.locale-control{display:inline-flex;align-items:center;gap:8px;min-width:0;position:relative;color:var(--ink,#25312d);font:500 13px/1.4 Figtree,system-ui,sans-serif}
.locale-control-field{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.locale-control-picker{display:inline-flex;position:relative;min-width:0;max-width:100%;flex:1}.locale-control-globe{position:absolute;left:10px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted,#60716d);pointer-events:none;z-index:1}.locale-control-globe svg{display:block;width:16px;height:16px}
.locale-control-label{flex:none}
.locale-control-compact .locale-control-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.public-site-nav{flex-wrap:wrap;row-gap:8px}
.public-site-nav>[data-locale-control]{flex:0 0 184px}
.public-site-nav>.public-home-link,.public-site-nav>a,.public-site-nav>details>summary{white-space:nowrap}
.locale-control-compact select{width:184px;min-width:184px;max-width:184px}
.public-mobile-language{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line,#dce2dd)}
.public-mobile-language:empty{display:none}
.locale-control select{box-sizing:border-box;min-height:44px;max-width:190px;margin:0;padding:8px 28px 8px 34px;border:1px solid var(--line,#dce2dd);border-radius:8px;background-color:var(--surface,#fff);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%2360716d' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px;color:inherit;font:inherit;cursor:pointer;appearance:none}
.locale-control select:focus-visible{outline:2px solid var(--teal-dark,#31644c);outline-offset:3px}
.locale-control select:disabled{cursor:progress;opacity:.7}
.locale-control-status:empty{display:none}
.locale-control-status{position:absolute;top:100%;right:0;z-index:5;width:min(280px,75vw);padding:10px;background:var(--surface,#fff);border:1px solid var(--line,#dce2dd);border-radius:8px;font-size:12px;box-shadow:0 4px 12px #15271b12}
@media(max-width:760px){.locale-control{justify-content:space-between;flex-wrap:wrap;width:100%}.locale-control select{max-width:100%;flex:1;min-width:120px}.locale-control-status{position:static;flex-basis:100%;box-shadow:none}}
@media(max-width:1100px){html[data-locale] .public-mobile-beta-trigger{display:none!important}}
html[data-locale] .product-feature>.product-copy,html[data-locale] .product-feature>.product-demo{min-width:0}
/* Full product names need room to wrap in public landing-page actions. */
html[data-locale] body.product-landing .product-hero-copy,
html[data-locale] body.product-landing .product-hero-actions{min-width:0}
html[data-locale] body.product-landing .product-hero-actions a,
html[data-locale] body.product-landing .product-final-cta>.primary-button{box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
@media(max-width:700px){html[data-locale] body.product-landing .product-hero-actions{grid-template-columns:minmax(0,1fr)}}
html[data-locale] body.product-landing .product-section-heading,
html[data-locale] body.product-landing .connected-workspace-anchor>*{box-sizing:border-box;min-width:0;max-width:100%}
html[data-locale] body.product-landing :is(.product-section-heading,.connected-workspace-anchor) :is(h2,h3,p,li){min-width:0;overflow-wrap:anywhere;hyphens:auto}
html[data-locale] body.product-landing .product-platform-grid article{align-content:start}
html[data-locale] body.product-landing .product-platform-grid strong{min-width:0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;line-height:1.35}
html[data-locale] body.product-landing .analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-locale] body.product-landing .analytics-kpis>span{display:flex;flex-direction:column;min-width:0}
html[data-locale] body.product-landing .analytics-kpis small{min-width:0;overflow-wrap:anywhere;hyphens:auto}
html[data-locale] body.product-landing .analytics-kpis strong{display:block;margin-top:auto}
/* These text-rich illustrations must grow with the selected language. */
html[data-locale] body.product-landing :is(.search-stage,.links-stage){display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding:50px 28px 100px}
html[data-locale] body.product-landing :is(.search-stage,.links-stage) .stage-window{position:relative;inset:auto;flex:none;box-sizing:border-box;width:100%}
html[data-locale] body.product-landing .search-sources{flex-wrap:wrap}
html[data-locale] body.product-landing .search-sources>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
/* Forms uses a padded section anchor; the shared header controller refines this
   no-JavaScript fallback from the actual heading inset and header height. */
html[data-locale] #formsMarketing #capabilities{scroll-margin-top:60px}
@media(max-width:720px){html[data-locale] #formsMarketing #capabilities{scroll-margin-top:30px}}
@media(max-width:760px){
  html[data-locale] #formsBuilder .forms-builder-appbar :is(.gp-appnav button,.gp-appactions .gp-button){white-space:normal;overflow-wrap:anywhere;hyphens:auto}
}
html[data-locale] #formsShareDialog #copyEmbedCode{height:auto;min-height:44px;padding:10px 8px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){html[data-locale] body.product-landing :is(.search-stage,.links-stage){padding:42px 15px 100px}}
html[data-locale] body.product-landing .product-section{scroll-margin-top:var(--product-header-offset,128px)}
@media(max-width:1100px){html[data-locale] body.product-landing .product-section{scroll-margin-top:var(--product-header-offset,82px)}}
html[data-locale] .product-detail-link{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding-block:8px;line-height:1.35}
html[data-locale] .product-detail-link::before,html[data-locale] .product-detail-link::after{flex-shrink:0}
@media(max-width:1100px){html[data-locale] .product-feature{grid-template-columns:minmax(0,1fr)}}
html[data-locale] .library-detail-identity h1{text-wrap:balance}
html[data-locale] .library-detail-identity h1:is(:lang(ja),:lang(ko),:lang(zh-Hans),:lang(zh-Hant)){word-break:keep-all;overflow-wrap:anywhere}
html[data-locale] .account-settings-shell,html[data-locale] .account-settings-shell>*{box-sizing:border-box;min-width:0;max-width:100%}
html[data-locale] .account-settings-shell>header>div,html[data-locale] .preferences-note p{min-width:0;overflow-wrap:anywhere}
html[data-locale] .account-settings-shell>header>.icon-button{flex-shrink:0}
html[data-locale] .account-settings-shell :is(.primary-button,.secondary-button,.danger-button,.text-button){box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:540px){html[data-locale] .product-order-footer{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){html[data-locale] .product-order-footer>button:first-child{grid-column:1/-1}}
html[data-locale] #organizationDialog :is(.organization-overview-card,.organization-team-section,.organization-danger-zone)>*{box-sizing:border-box;min-width:0;max-width:100%}
html[data-locale] #organizationDialog :is(label,input,select){box-sizing:border-box;min-width:0;max-width:100%}
html[data-locale] #organizationDialog :is(input,select){width:100%}
html[data-locale] #organizationDialog .section-heading>div{min-width:0}
html[data-locale] #organizationDialog .organization-delete-confirmation>div{flex-wrap:wrap}
html[data-locale] #organizationDialog .danger-outline-button{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){html[data-locale] #organizationDialog :is(.organization-overview-card form,.organization-invite-form,.organization-danger-zone){grid-template-columns:minmax(0,1fr)}html[data-locale] #organizationDialog .section-heading{flex-wrap:wrap}html[data-locale] #organizationDialog .section-heading>div{flex:1 1 100%}}
@media(max-width:540px){html[data-locale] #organizationDialog .organization-member-row{grid-template-columns:36px minmax(0,1fr)}html[data-locale] #organizationDialog .organization-member-row>.account-avatar{grid-column:1;grid-row:1}html[data-locale] #organizationDialog .organization-member-identity{grid-column:2;grid-row:1}html[data-locale] #organizationDialog .organization-member-identity :is(strong,small){white-space:normal;overflow-wrap:anywhere}html[data-locale] #organizationDialog .organization-member-row>:is(select,.pill){grid-column:2;justify-self:start;width:auto;max-width:100%}html[data-locale] #organizationDialog .organization-member-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:420px){html[data-locale] #organizationDialog .organization-member-access{grid-template-columns:minmax(0,1fr)}}
/* Localized billing captions can span two lines inside the cycle controls. */
html[data-locale] .billing-cadence button {
  min-width: 0;
  white-space: normal;
}
html[data-locale] .billing-cadence button > strong,
html[data-locale] .billing-cadence button > small {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}
.locale-control-field{display:inline-flex;align-items:center;gap:8px;min-width:0}
.locale-control-apply{min-height:44px;padding:8px 12px;border:1px solid var(--line,#dce2dd);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit;cursor:pointer;white-space:normal}
.locale-control-apply:focus-visible{outline:2px solid var(--teal-dark,#31644c);outline-offset:3px}
.locale-control[data-deferred]{flex-wrap:wrap}
.locale-control[data-deferred] .locale-control-status{position:static;flex-basis:100%;width:auto;padding:8px 0;border:0;box-shadow:none}
html[data-locale] .locale-control-personal{width:100%;flex-wrap:wrap}
html[data-locale] .locale-control-personal .locale-control-field{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-width:0}
html[data-locale] .locale-preferences>p{margin:0;color:var(--muted,#65746f);font-size:12px;line-height:1.5}
@media(max-width:760px){.locale-control-field{width:100%}}
.locale-control-apply[hidden],.locale-preferences[hidden]{display:none!important}
.auth-language[hidden]{display:none!important}
.auth-language{display:flex;justify-content:flex-end;margin-bottom:16px;min-width:0}
.auth-language>.locale-control,.auth-language>.locale-control>.locale-control-field{max-width:100%}
.auth-language .locale-control-status{width:auto;position:static;flex-basis:100%;box-shadow:none}
.auth-language .locale-control{flex-wrap:wrap;justify-content:flex-end}
html[data-locale] #accountSettingsDialog .profile-avatar-options img{display:block;width:100%;max-width:62px;height:auto;min-width:0;aspect-ratio:1;object-fit:contain}
@media(max-width:420px){html[data-locale] #accountSettingsDialog .profile-avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-locale] #accountSettingsDialog .profile-avatar-options button{min-height:64px}}
@media(max-width:540px){html[data-locale] #accountSettingsDialog .account-settings-actions{display:grid;grid-template-columns:minmax(0,1fr)}html[data-locale] #accountSettingsDialog .account-settings-actions>button{width:100%;justify-content:center;overflow-wrap:normal;word-break:normal}}
@media(max-width:540px){html[data-locale] #accountSettingsDialog .profile-photo-field{grid-template-columns:minmax(0,1fr);align-items:start}}
html:lang(de)[data-locale] .account-settings-shell>header h2{hyphens:auto;overflow-wrap:break-word}
html[data-locale] .tool-title h1{min-width:0;hyphens:auto;overflow-wrap:anywhere}
.locale-switch-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid var(--line,#dce2dd);border-radius:16px;background:var(--surface,#fff);color:var(--text,var(--ink,#25312d));font:inherit;box-shadow:0 18px 60px #13251e33}
.locale-switch-dialog::backdrop{background:#14261e66}
.locale-switch-dialog h2{margin:0 0 20px;font-size:18px;font-weight:650;line-height:1.45}
.locale-switch-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.locale-switch-actions button{min-height:44px;max-width:100%;padding:9px 14px;border:1px solid var(--line,#dce2dd);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit;white-space:normal;cursor:pointer}
.locale-switch-actions .locale-switch-continue{background:#31644c;border-color:#31644c;color:#fff}
.locale-switch-actions button:focus-visible{outline:2px solid var(--teal-dark,#31644c);outline-offset:3px}

/* Recovery actions can be longer than the original English label. */
body[data-page="auth"] .auth-form { min-width: 0; grid-template-columns: minmax(0, 1fr); }
body[data-page="auth"] .auth-form > * { min-width: 0; max-width: 100%; }
body[data-page="auth"] .auth-form .primary-button { white-space: normal; }

/* Keep full localized counters intact and let desktop columns fit their content. */
html[data-locale] .analytics-websites-table.seo-websites-table { table-layout: auto; }
html[data-locale] .seo-websites-table .seo-website-metric strong { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
@media (min-width: 621px) {
  html[data-locale] .analytics-websites-table-shell { overflow-x: auto; }
}
@media (max-width: 620px) {
  html[data-locale] .seo-websites-table .seo-website-metric strong { max-inline-size: 100%; overflow-x: auto; }
}

/* Keep the creation actions inside the scrollable wizard on narrow screens. */
@media (max-width: 540px) {
  html[data-locale] #searchProjectWizard .search-project-wizard > footer { bottom: 0; flex-wrap: wrap; padding-block-end: 12px; }
  html[data-locale] #searchProjectWizard .search-project-wizard > footer > div { min-width: 0; max-width: 100%; flex-wrap: wrap; justify-content: flex-end; }
  html[data-locale] #searchProjectWizard .search-project-wizard > footer button { max-inline-size: 100%; white-space: normal; }
}

/* Native labels may wrap; keep every action inside a long setup dialog. */
html[data-locale] #searchProjectWizard .search-project-wizard > footer { bottom: 0; padding-block-end: 12px; }
html[data-locale] #searchProjectWizard .search-prompt-generator > button { height: auto; min-height: 44px; padding-block: 10px; white-space: normal; line-height: 1.4; }
html[data-locale] #searchProjectWizard .search-prompt-generator > button svg { flex: 0 0 15px; }
html[data-locale] #searchProjectWizard .search-prompt-generator > button > span { min-width: 0; overflow-wrap: anywhere; }

/* Keep Korean setup words together; long owner-provided tokens may still wrap. */
html[data-locale="ko"] #searchProjectWizard .search-project-wizard { word-break: keep-all; overflow-wrap: anywhere; }

/* Keep archive columns readable and scroll within their own table region. */
html[data-locale] .seo-research-archive,
html[data-locale] .seo-research-archive :is(#seoArchiveList, #seoArchiveDetail, .analytics-table-wrap) { min-inline-size: 0; max-inline-size: 100%; }
html[data-locale] #seoArchiveDetail .analytics-table-wrap { overflow-x: auto; }
html[data-locale] #seoArchiveDetail .seo-results-table { table-layout: auto; }
html[data-locale] #seoArchiveDetail .seo-results-table :is(th, td) { min-inline-size: 7.5rem; vertical-align: top; }
html[data-locale] #seoArchiveDetail .seo-results-table :is(th, td):first-child { min-inline-size: 14rem; }

/* Preserve Japanese heading boundaries and Korean words in public content. */
html[data-locale]:lang(ja) body.free-tools-page .tool-title h1 {
  text-wrap: balance;
  line-break: strict;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
}
html[data-locale]:lang(ja) body.free-tools-page :is(h2,h3) {
  text-wrap: balance;
  line-break: strict;
  word-break: normal;
  overflow-wrap: normal;
}
html[data-locale]:lang(ko) :is(body.free-tools-page main,.library-resource-page) :is(h1,h2,h3,p,li,dt,dd,button,summary,label,a) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* Keep Korean words and Japanese punctuation together in public entry content. */
html[data-locale]:lang(ko) :is(.about-main,.marketplace-hero,.marketplace-shell,.marketplace-how) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
html[data-locale]:lang(ja) :is(.about-main,.marketplace-hero,.marketplace-shell,.marketplace-how) {
  line-break: strict;
  word-break: normal;
}
html[data-locale]:lang(ja) :is(.about-main h1,.about-main h2,.about-main h3,.marketplace-hero h1,.marketplace-shell h2,.marketplace-how h2,.marketplace-how h3) {
  text-wrap: balance;
  overflow-wrap: normal;
  hyphens: manual;
}

/* Native text boundaries in the Forms and Sign public marketing content. */
html[data-locale]:lang(ko) :is(#formsMarketingMain,#signMarketing .product-page-main) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
html[data-locale]:lang(ja) :is(#formsMarketingMain,#signMarketing .product-page-main) {
  line-break: strict;
  word-break: normal;
}
html[data-locale]:lang(ja) :is(#formsMarketingMain,#signMarketing .product-page-main) :is(h1,h2,h3) {
  text-wrap: balance;
  overflow-wrap: normal;
  hyphens: manual;
}
