/* SH11.13.1 — UI-only corrections on the SH10-compatible SH11.13 source.
   Kept separate from historical styles so the patch is reviewable and reversible. */
:root { --focus-ring:#0D3885; --muted:#53647b; --danger:#a52727; }
html { scroll-padding-top:160px; }
body { font-size:16px; line-height:1.6; }
[hidden] { display:none!important; }
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:where(h1,h2,h3,h4,p,li,a,code,th,td) { overflow-wrap:anywhere; }
h1 { font-size:clamp(1.875rem,3.5vw,2.625rem); line-height:1.18; }
h2 { line-height:1.25; }
:where(.section,.auth-shell,.dashboard,.submission-shell) { min-width:0; }
:where(.section-head,.dashboard-head,.panel-head,.submission-head,.submission-actions,.report-actions) { flex-wrap:wrap; gap:16px; }
:where(.form-grid,.grid,.metric-grid,.asset-grid,.media-contact-grid,.newsroom-filter-bar,.footer-grid,.submission-grid) > * { min-width:0; }
.small,.input-help,.package-meta,.badge,.eyebrow,.newsroom-story-meta,.newsroom-feed-head,.newsroom-pagination { font-size:.875rem; }
:where(.form,.card,.submit-card,.newsroom-filter-bar) label { font-size:.9375rem; line-height:1.5; }
:where(input,select,textarea) { font:inherit; font-size:16px!important; font-weight:400; max-width:100%; border-radius:10px; }
:where(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #8297b1; background:#fff; color:var(--text); }
:where(.form,.card,.submit-card) input[type=checkbox], :where(.form,.card,.submit-card) input[type=radio] { width:20px; min-height:20px; height:20px; flex:0 0 20px; accent-color:var(--p); }
input::placeholder,textarea::placeholder { color:#5b6b80; opacity:1; }
input:disabled,select:disabled,textarea:disabled { background:#edf1f6!important; color:#53647b!important; cursor:not-allowed; }
input[type=file] { overflow:hidden; }
input[type=file]::file-selector-button { padding:9px 11px; margin-right:8px; border:1px solid #8297b1; border-radius:7px; color:var(--d); background:var(--pale); font:inherit; cursor:pointer; }
:where(.btn,button,[role=button]) { min-height:44px; min-width:44px; font-size:1rem; line-height:1.35; white-space:normal; text-align:center; }
.btn.small-btn,button.small-btn { min-height:44px; font-size:.875rem; }
:where(a,button,input,select,textarea,summary,[tabindex],[contenteditable=true]):focus-visible { outline:3px solid var(--focus-ring)!important; outline-offset:3px; }
:where(input,select,textarea):focus-visible { border-color:var(--focus-ring)!important; box-shadow:0 0 0 2px white!important; }
.btn:focus-visible,button:focus-visible { outline-color:#0d3885!important; box-shadow:0 0 0 2px white!important; }
:where(button,.btn):disabled, :where(button,.btn)[aria-disabled=true] { cursor:wait; opacity:.8; transform:none!important; }
.form-feedback { margin-top:12px; font-size:.9375rem; color:var(--d); }
.form-error-summary { padding:16px; margin:0 0 18px; border:2px solid #a52727; border-radius:10px; background:#fff6f6; color:#7d1e1e; }
.form-error-summary ul { margin:8px 0 0; padding-left:22px; }
.form-error-summary a { color:#7d1e1e; text-decoration:underline; }
.field-validation-message { color:#a52727; font-size:.9375rem; margin-top:7px; }
.flash[role=alert] { max-width:min(100% - 32px,1100px); margin:12px auto; padding:14px 17px; background:#fff6f6; border:1px solid #a52727; color:#7d1e1e; }
.ui-empty,.submission-save-note { border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--pale2); }
.ui-empty p:last-child { margin-bottom:0; }
/* Desktop navigation gets its own row instead of pushing actions off screen. */
.site-header-inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:auto auto; height:auto; min-height:76px; gap:4px 24px; padding:12px 24px 4px; }
.brand { grid-column:1; grid-row:1; }
.brand img { width:154px; }
.actions { grid-column:3; grid-row:1; justify-content:flex-end; min-width:0; flex-wrap:wrap; }
.actions .user-name { font-size:.875rem; }
.actions .login-link { display:inline-flex; align-items:center; min-height:44px!important; padding:8px!important; font-size:.9375rem!important; }
.actions .inline-logout { display:flex; }
.site-nav { grid-column:1/-1; grid-row:2; display:flex; flex-wrap:wrap; gap:4px 24px; min-width:0; width:100%; }
.site-nav > a,.site-nav .nav-dropdown-toggle { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; font-size:.9375rem; }
.nav-dropdown-toggle { gap:8px; }
.site-nav .nav-mobile-account,.site-nav .nav-mobile-logout { display:none!important; }
.mobile-menu { display:none; }
.nav-fallback { display:block; font-weight:700; }
.nav-dropdown-toggle { display:none; }
.nav-dropdown-menu { position:static; display:grid!important; width:auto; box-shadow:none; }
.prw-ui-ready .nav-fallback { display:none; }
.prw-ui-ready .nav-dropdown-toggle { display:inline-flex; }
.prw-ui-ready .nav-dropdown-menu { position:absolute; width:300px; box-shadow:var(--shadow); }
.prw-ui-ready .site-nav .nav-dropdown:not(.open) .nav-dropdown-menu,
.prw-ui-ready .site-nav .nav-dropdown .nav-dropdown-menu[hidden] { display:none!important; }
.prw-ui-ready .site-nav .nav-dropdown.open .nav-dropdown-menu:not([hidden]) { display:grid!important; }
.nav-dropdown-menu a { min-height:52px; display:block; }
.nav-dropdown-menu small { display:block; font-size:.875rem; color:#53647b; white-space:normal; }
.site-nav a[aria-current=page],.sidebar a[aria-current=page] { color:var(--d); text-decoration:underline; text-underline-offset:5px; }
.sidebar { min-width:0; }
.sidebar a { min-height:44px; font-size:.9375rem; }
.sidebar h3 { color:#53647b; }
/* Account, release and checkout layouts. */
.auth-shell { gap:40px; }
.auth-promo { background:var(--pale); border:1px solid var(--border); color:var(--text); }
.auth-promo h2 { color:var(--d); font-size:clamp(1.5rem,3vw,2rem); }
.auth-promo p,.auth-promo .eyebrow,.auth-promo .report-point { color:#254564!important; }
.auth-card h1 { font-size:clamp(1.875rem,4vw,2.125rem)!important; }
.auth-card .card { padding:24px!important; }
.auth-card .small a { display:inline-block; padding:5px 2px; text-decoration:underline; }
.submission-main,.submission-side { min-width:0; }
.submission-grid { grid-template-columns:minmax(0,1fr) 280px; }
.submission-head-actions,.submission-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.submit-card { padding:24px; }
.rich-toolbar { flex-wrap:wrap; gap:6px; padding:10px; }
.rich-toolbar button { min-width:44px; min-height:44px; font-size:.9375rem; padding:8px 12px; }
.rich-editor-area { min-height:300px; padding:16px; font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
.rich-editor textarea { min-height:300px; }
.rich-editor .input-help,.rich-editor .field-validation-message { padding-inline:12px; }
.rich-editor-foot { display:flex; flex-wrap:wrap; gap:8px; font-size:.875rem; }
.check-stack label { display:flex; align-items:flex-start; gap:12px; min-height:44px; }
.check-stack input { margin-top:3px; }
.submit-side-card.sticky { position:static; }
.checkout-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
.checkout-options .card { display:flex; flex-direction:column; align-items:flex-start; }
.checkout-options .card > button { margin-top:auto; }
.checkout-options .card form { max-width:100%; }
.checkout-status { width:100%; font-size:.9375rem; min-height:1.6em; margin-top:12px; }
.checkout-status[data-state=error],.checkout-status[data-state=uncertain] { color:#a52727; }
.report-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.report-actions form { display:inline-flex; margin:0; }
/* Keep wide data inside a labelled keyboard-scrollable region, not the page. */
.table-wrap,.table-responsive { min-width:0; max-width:100%; overflow:auto; scrollbar-width:auto; }
.table-wrap table { width:100%; }
.table-wrap th,.table-wrap td { font-size:.9375rem; line-height:1.5; max-width:400px; }
.table-wrap th { color:#334861; }
.table-wrap td .btn,.table-wrap td button { white-space:normal; }
.table-scroll-hint { color:#53647b; font-size:.875rem; margin:8px 0; }
.article-rich-body { font-size:1rem; line-height:1.8; }
.article-rich-body pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.article-rich-body table,.migrated-html table { max-width:100%; }
.article-rich-body a,.article-media-contact a { text-decoration:underline; text-underline-offset:3px; }
.newsroom-story-meta,.newsroom-story-meta span,.newsroom-story-meta time { font-size:.875rem; line-height:1.5; }
.newsroom-story-main h2 { font-size:1.125rem; line-height:1.4; }
.newsroom-story-main p { font-size:1rem; line-height:1.65; }
.newsroom-story-action a { display:inline-flex; align-items:center; min-height:44px; padding:8px; font-size:.9375rem; }
.newsroom-feed-head { flex-wrap:wrap; gap:12px; }
.newsroom-search-field input,.newsroom-filter-bar input { font-size:16px; }
.package-card.featured:before { position:static; display:inline-block; margin-bottom:12px; font-size:.75rem; }
.package-card h2 { clear:both; }
.whatsapp-btn { background:#137a3b; border-color:#137a3b; color:#fff; }
.whatsapp-btn:hover { background:#0c612d; border-color:#0c612d; }
/* Retain the logo and brand blue; increase contrast on common supporting text. */
footer { background:#f6faff; color:var(--text); border-top:1px solid var(--border); }
.footer-brand img { filter:none; opacity:1; }
.footer-brand p,.footer-col a,.footer-bottom { color:#455b76; font-size:.9375rem; }
.footer-col h4 { color:var(--d); font-size:.9375rem; }
.footer-col a { padding:8px 0; min-height:40px; margin:0; }
.footer-col a:hover { color:var(--d); text-decoration:underline; }
.footer-col a.footer-whatsapp { color:#0e6631!important; }
.footer-bottom { border-top-color:var(--border); }
.country-toc { scrollbar-width:auto; }
.country-toc::-webkit-scrollbar { display:initial; }
.country-toc a,.country-sticky-submit { min-height:44px; display:inline-flex; align-items:center; font-size:.875rem; }
.country-anchor-inner { flex-wrap:wrap; }
.country-source-label,.content-source-label { flex-wrap:wrap; }
@media(max-width:1100px) {
 html { scroll-padding-top:20px; }
 .site-header { position:relative; }
 .site-header-inner { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; padding:10px 16px; gap:8px 12px; }
 .brand { grid-column:1; grid-row:1; }
 .mobile-menu { grid-column:2; grid-row:1; min-width:44px; min-height:44px; width:44px; height:44px; }
 .prw-ui-ready .mobile-menu { display:inline-flex; }
 .actions { grid-column:1/-1; grid-row:2; width:100%; }
 .actions .user-name,.actions .inline-logout,.actions .login-link,.actions .header-whatsapp { display:none!important; }
 .actions > .btn { width:100%; font-size:.9375rem; min-height:44px; padding:10px 12px; }
 .site-nav { position:static; grid-column:1/-1; grid-row:3; width:100%; display:flex; flex-direction:column; align-items:stretch; gap:0; max-height:none; padding:8px; box-shadow:none; }
 .prw-ui-ready .site-nav:not(.open) { display:none; }
 .prw-ui-ready .site-nav.open { display:flex; max-height:70vh; overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--border); border-radius:12px; }
 .site-nav > a,.site-nav .nav-dropdown-toggle { display:flex; width:100%; min-height:44px; padding:10px 8px; font-size:1rem; }
 .site-nav .nav-mobile-account { display:flex!important; }
 .site-nav .nav-mobile-logout { display:block!important; margin:4px 0; }
 .nav-mobile-logout button { background:#fff; color:var(--d); border:1px solid var(--border); width:100%; }
 .prw-ui-ready .nav-dropdown-menu { position:static; width:100%; border:0; border-left:2px solid var(--pale); box-shadow:none; padding:0 8px; }
 .nav-dropdown-menu a { padding:12px!important; white-space:normal; }
 .submission-grid { grid-template-columns:minmax(0,1fr); }
 .submission-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .submission-side .submit-side-card { margin:0; }
 .country-anchor-shell { position:static; }
}
@media(max-width:820px) {
 .section,.section.alt { padding:40px 20px; }
 .section-head,.dashboard-head,.submission-head { align-items:flex-start; flex-direction:column; }
 .auth-shell { padding:32px 20px; gap:24px; }
 .form-grid,.media-contact-grid,.asset-grid,.checkout-options { grid-template-columns:minmax(0,1fr)!important; }
 .dashboard { padding:24px 20px 40px; }
 .sidebar { flex-wrap:wrap; overflow:visible; }
 .sidebar a { white-space:normal; }
 .sidebar h3 { display:block; width:100%; }
 .dashboard-panel { padding:16px; }
 .report-actions > * { max-width:100%; }
 .submission-side { grid-template-columns:minmax(0,1fr); }
 .newsroom-story-meta { flex-wrap:wrap; }
 .newsroom-filter-actions { flex-wrap:wrap; }
 .newsroom-pagination { flex-wrap:wrap; gap:12px; }
}
@media(max-width:520px) {
 .site-header-inner { padding:10px 16px; }
 .brand img { width:140px; max-width:100%; }
 .section,.section.alt,.submission-shell { padding-inline:16px; }
 .auth-shell { padding:28px 16px; }
 .auth-card .card,.submit-card { padding:18px!important; }
 .form.card { padding:20px; }
 .submission-head-actions,.submission-actions { flex-direction:column; align-items:stretch; }
 .submission-actions > * { width:100%; }
 .hero h1,.country-hero h1 { font-size:2rem; }
 .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .metric-card { padding:16px; }
 .newsroom-story-row { grid-template-columns:72px minmax(0,1fr); gap:12px; }
 .newsroom-story-thumb { width:72px; min-width:72px; min-height:72px; height:72px; }
 .newsroom-story-action { grid-column:2; }
 .newsroom-story-main h2 { font-size:1.0625rem; }
 .newsroom-story-meta span,.newsroom-story-meta time { font-size:.875rem; }
 .newsroom-archive-head { flex-direction:column; align-items:flex-start; gap:16px; }
 .newsroom-story-main p { display:block; }
 .country-anchor-inner { padding-inline:16px; }
 .country-toc { flex-basis:100%; order:3; }
 .footer-grid { gap:24px; }
 .footer-bottom { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { html,* { scroll-behavior:auto!important; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media(forced-colors:active) { :where(button,.btn,input,select,textarea,.form-error-summary,.ui-empty) { border:1px solid ButtonText!important; } :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid Highlight!important; } }
@media print { .table-scroll-hint,.form-feedback,.skip-link,.site-header,footer { display:none!important; } .table-wrap { overflow:visible; } }
/* Explicit selectors override the legacy 43px button rule (a zero-specificity :where cannot). */
.btn,button,[role=button] { min-height:44px; min-width:44px; }

.metric-label,.submit-card-head p,.submit-checklist li,.submit-side-card .small,.side-steps li,.quality-preview small,.workflow-step span,.workflow-step strong,.hero-stat span,.trust-item span,.package-meta,.newsroom-story-category { font-size:.875rem; line-height:1.5; }
.nav-dropdown-menu strong { font-size:.9375rem; }
/* The pre-SH11.13 mobile rule used !important; preserve a usable no-script navigation. */
html:not(.prw-ui-ready) .site-nav .nav-dropdown .nav-dropdown-menu { display:grid!important; }
html:not(.prw-ui-ready) .site-nav .nav-dropdown-toggle { display:none!important; }
/* Immediate scrolling in long forms prevents focus jumping while errors are being revealed. */
html:has(.submission-shell),html:has(.auth-shell) { scroll-behavior:auto; }
/* Focus and validation should be immediate, not animated through partial visibility. */
html { scroll-behavior:auto; }
:focus-visible { transition:none!important; }
.newsroom-filter-actions button,.newsroom-filter-actions .btn { min-height:44px; }
.newsroom-story-meta,.newsroom-story-meta span,.newsroom-story-meta time { color:#53647b; }
