/* Shared chrome overrides page-family styles; navigation works without JS. */
.global-header { padding: 14px 22px; }
.global-shell { width: min(1320px,100%); min-height: 68px; margin: auto; padding: 10px 14px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; border: 1px solid #dfe4eb; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 12px 35px #12253f14; pointer-events: auto; }
.global-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 20px; }
.global-nav a,.global-menu nav a { color:#4f5865; font-size:.84rem; font-weight:680; }
.global-actions { display:flex; align-items:center; gap:8px; min-width:0; }
.global-actions .language-control select { width:160px; min-width:0; max-width:100%; }
.global-actions .nav-cta { display:flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; }
.global-header a[aria-current] { color:#0758aa; text-decoration:underline; text-underline-offset:5px; }
.global-menu { display:none; }
.global-header :is(a,select,summary):focus-visible,.global-footer a:focus-visible { outline:3px solid #0a73d9; outline-offset:4px; }
.resource-page .resource-main { padding-top:150px; }
.global-footer { padding:52px 24px 0; background:#11151b; color:#fff; }
.global-footer-shell { max-width:1180px; margin:auto; display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(0,1fr)); gap:32px; padding-bottom:36px; }
.global-footer .footer-brand p { max-width:330px; color:#abb5c3; font-size:.95rem; line-height:1.65; }
.global-footer-group { display:flex; flex-direction:column; gap:14px; align-items:flex-start; min-width:0; }
.global-footer-group p { margin:0 0 4px; font-weight:750; color:#fff; }
.global-footer-group a { color:#c1c9d4; line-height:1.5; font-size:.88rem; overflow-wrap:anywhere; }
.global-footer a:hover { color:#80c3ff; }
.global-footer .analytics-preferences { max-width:1180px; margin:auto; padding:20px 0; color:#c1c9d4; border-color:#ffffff25; background:transparent; }
.global-footer .analytics-preferences a { color:#c1c9d4; }
.global-footer .analytics-options button { color:#e8eef6; border-color:#647084; background:transparent; }
.global-footer .analytics-options button[aria-pressed="true"] { background:#eaf4ff; color:#0758aa; border-color:#80c3ff; }
.global-footer .locale-navigation { color:#fff; }
.discovery-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:18px; margin:28px 0 24px; }
.home-resources .discovery-card { display:flex; flex-direction:column; padding:28px; border:1px solid #dfe4eb; border-radius:24px; background:#fff; color:#11151b; text-decoration:none; }
.home-resources .discovery-featured { background:#eaf4ff; border-color:#cfe4f9; }
.discovery-label { color:#0758aa; font-size:.78rem; font-weight:750; }
.discovery-card h3 { font-size:clamp(1.3rem,2vw,1.7rem); margin:24px 0 0; line-height:1.2; letter-spacing:-.03em; }
.home-resources .discovery-card p { font-size:.95rem; line-height:1.6; margin:16px 0 24px; }
.discovery-arrow { margin-top:auto; font-size:1.6rem; color:#0758aa; }
.discovery-card:hover { border-color:#0a73d9; box-shadow:0 8px 24px #12253f12; }
.discovery-card:focus-visible { outline:3px solid #0a73d9; outline-offset:4px; }
.directory-links { line-height:1.7; }
.directory-links a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1100px) {
 .global-shell { grid-template-columns:minmax(0,1fr) auto auto; gap:10px; }
 .global-nav { display:none; }
 .global-menu { display:block; position:relative; }
 .global-menu summary { display:grid; place-items:center; width:42px; height:42px; cursor:pointer; border:1px solid #dfe4eb; border-radius:11px; list-style:none; }
 .global-menu summary::-webkit-details-marker { display:none; }
 .global-menu nav { position:absolute; right:0; top:52px; width:min(340px,calc(100vw - 48px)); padding:16px; border:1px solid #dfe4eb; border-radius:16px; background:#fff; box-shadow:0 18px 40px #12253f25; display:flex; flex-direction:column; align-items:stretch; gap:4px; max-height:65vh; overflow:auto; }
 .global-menu nav a { padding:12px; border-radius:8px; }
 .global-menu nav a:hover { background:#eaf4ff; }
 .global-footer-shell { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 .global-header { padding:10px 12px; }
 .global-shell { padding:8px 10px; }
 .global-actions .language-control select { width:110px; font-size:.78rem; }
 .global-actions .nav-cta { width:42px; height:42px; padding:0; }
 .global-actions .nav-cta > span:first-child { display:none; }
 .discovery-grid { grid-template-columns:1fr; }
 .global-footer { padding:36px 24px 0; }
 .global-footer-shell { gap:30px 22px; }
 .global-footer .footer-brand { grid-column:1/-1; }
 .global-footer-group:last-child { grid-column:1/-1; }
}
@media(max-width:360px) {
 .global-footer-shell { grid-template-columns:1fr; }
 .global-footer-group { grid-column:1/-1; }
}
@media print { .global-header,.global-footer { display:none; } .resource-page .resource-main { padding-top:0; } }

.discovery-grid.discovery-single { grid-template-columns:1fr; }
.global-footer .analytics-options button[aria-pressed="true"] { color:#0758aa !important; }

.country-filters {display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 32px;}
.country-filters a {border:1px solid #d5e0ec;border-radius:30px;padding:9px 14px;color:#2a496a;font-size:.85rem;}
.country-filters a[aria-current] {background:#0758aa;border-color:#0758aa;color:#fff;}
.language-notice,.article-note {background:#eef5fc;border-left:3px solid #0a73d9;border-radius:4px;padding:18px 22px;line-height:1.7;}
.article-note {margin:24px 0;}
.resource-article .article-note p {margin:8px 0 0;}
.table-wrap {overflow-x:auto;margin:24px 0;max-width:100%;}
.resource-article table {border-collapse:collapse;min-width:560px;width:100%;font-size:.9rem;line-height:1.6;}
.resource-article caption {text-align:left;font-weight:700;margin-bottom:12px;color:#263c57;}
.resource-article th,.resource-article td {padding:12px 14px;border:1px solid #d6e0eb;vertical-align:top;text-align:left;}
.resource-article thead th {background:#edf4fc;}
.resource-article tbody th {font-weight:600;}
.empty-country {border:1px solid #d5e0ec;border-radius:18px;padding:30px;line-height:1.7;}
.empty-country a {color:#0758aa;text-decoration:underline;}
@media(max-width:720px) {.global-shell {gap:7px;}.global-header .brand {gap:7px;}.global-header .brand span {font-size:.95rem;}.resource-article table {font-size:.82rem;}}
.global-shell {position:relative;}

/* A short, optional language suggestion. No modal and no automatic redirect. */
.locale-suggestion {display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin:8px auto 0;padding:4px 7px 4px 12px;border:1px solid #cfe4f9;border-radius:11px;background:#eaf4ff;color:#182b43;box-shadow:0 5px 16px #12253f0a;pointer-events:auto;}
.locale-suggestion[hidden] {display:none;}
.locale-suggestion>span {min-width:0;font-size:.8rem;line-height:1.4;}
.locale-suggestion>a {display:flex;align-items:center;min-height:32px;padding:5px 10px;border:1px solid #c5dcf3;border-radius:7px;background:#fff;color:#0758aa;font-size:.78rem;font-weight:650;white-space:nowrap;}
.locale-suggestion>button {display:grid;place-items:center;flex-shrink:0;width:32px;min-height:32px;padding:0;border:0;border-radius:7px;background:transparent;color:#405976;font-size:1.15rem;cursor:pointer;}
.locale-suggestion>a:hover,.locale-suggestion>button:hover {background:#dbeeff;}
.locale-suggestion :is(a,button):focus-visible {outline:3px solid #0a73d9;outline-offset:2px;}
.has-locale-suggestion .hero {padding-top:180px;}
.regional-examples {scroll-margin-top:110px;max-width:1180px;margin:0 auto;padding:12px 24px 0;color:#536478;font-size:.8rem;}
.regional-examples details {width:fit-content;max-width:100%;}
.regional-examples summary {cursor:pointer;list-style:none;line-height:1.7;}
.regional-examples summary::-webkit-details-marker {display:none;}
.regional-examples summary>span {margin-left:8px;color:#0758aa;text-decoration:underline;text-underline-offset:3px;}
.regional-examples nav {display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;}
.regional-examples nav a {display:flex;align-items:center;min-height:36px;padding:6px 10px;border:1px solid #d5e0ec;border-radius:8px;background:#fff;color:#0758aa;}
.regional-examples nav a[aria-current] {background:#eaf4ff;border-color:#cfe4f9;}
.regional-examples :is(a,summary):focus-visible {outline:3px solid #0a73d9;outline-offset:3px;}

@media(pointer:coarse) {.locale-suggestion>a,.locale-suggestion>button {min-height:40px;}.locale-suggestion>button {width:40px;}.regional-examples summary,.regional-examples nav a {min-height:44px;}}
@media print {.locale-suggestion,.regional-examples {display:none!important;}}

/* A flag-sized trigger on phones, with full language/region names in the list. */
.mobile-language {display:none;}
.locale-flag {font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.35rem;line-height:1;}
@media(max-width:720px) {
 .global-actions .language-control {display:none;}
 .mobile-language {display:block;}
 .mobile-language summary {display:grid;place-items:center;width:44px;height:44px;border:1px solid #dfe4eb;border-radius:11px;background:#fff;cursor:pointer;list-style:none;}
 .mobile-language summary::-webkit-details-marker {display:none;}
 .mobile-language[open] summary {border-color:#0a73d9;background:#eaf4ff;}
 .mobile-language-panel {position:fixed;top:94px;right:12px;width:min(320px,calc(100vw - 24px));max-height:min(70vh,480px);max-height:min(70dvh,480px);overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #dfe4eb;border-radius:16px;background:#fff;box-shadow:0 18px 40px #12253f25;}
 .mobile-language-panel a {display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border-radius:10px;font-size:.9rem;line-height:1.4;color:#182b43;white-space:normal;overflow-wrap:anywhere;}
 .mobile-language-panel .locale-flag {flex-shrink:0;}
 .mobile-language-panel a[aria-current],.mobile-language-panel a:hover {background:#eaf4ff;color:#0758aa;text-decoration:none;}
 .mobile-language-panel a>span:nth-child(2) {flex:1;}
 .locale-check {color:#0758aa;font-weight:700;}
}
