/* UNIONE™ Engine 2.1.0 · accessibility fixes, home doors, Council, consent, call-back */

/* Contrast: muted text at 4.5:1 or better on ivory and white (was #55706a, 3.9:1 on ivory). */
:root{--mute:#3f5650}
.lbl,.note,.meta,small,.foot .legal,.hint{color:var(--mute)}
.foot.dark .legal,.foot.dark .legal a,.foot.dark .note{color:#c9dcd6}

/* Skip link and focus. */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100000;background:#0a322c;color:#fff;padding:10px 16px;border-radius:6px;font-weight:600;text-decoration:none;transition:top .15s}
.skip-link:focus{top:12px;outline:3px solid #9fdcca;outline-offset:2px}
:focus-visible{outline:3px solid #2da58e;outline-offset:2px}
#app:focus{outline:none}

/* Touch targets: at least 24 × 24 px everywhere, 44 px for the header icons. */
a.pill,button.pill,.chip,.desig-tile,.icobtn,.ulink,input[type=search],#worldQ,.regionrow .pill{min-height:24px;min-width:24px}
@media (max-width:900px){
  .nav .act > .icobtn,.nav .act .umenu .icobtn{min-width:44px;height:44px}
  /* The round header icons get a visible label underneath. */
  .nav .act > .icobtn#openSearch,.umenu > a.icobtn{position:relative;padding-bottom:10px}
  .nav .act > .icobtn#openSearch::after{content:"Search";position:absolute;bottom:2px;left:0;right:0;font:600 9px/1 var(--body,system-ui);text-align:center}
  .umenu > a.icobtn::after{content:"Sign in";position:absolute;bottom:2px;left:0;right:0;font:600 9px/1 var(--body,system-ui);text-align:center}
}

/* Footer cookie button */
.foot .legal nav .consent-open{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0;min-height:24px}

/* Home: three doors */
.doors3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,22px)}
.door3{position:relative;border-radius:8px;overflow:hidden;background:#0a322c;color:#fff;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.door3 .ph{position:absolute;inset:0;margin:0;z-index:-1;opacity:.42}
.door3 .ph img{width:100%;height:100%;object-fit:cover}
.door3 .d3in{padding:clamp(18px,2vw,28px);background:linear-gradient(180deg,rgba(6,30,25,0) 0%,rgba(6,30,25,.88) 36%)}
.door3 .lbl{color:#aee4d4}
.door3 h3{font-size:clamp(24px,2.2vw,32px);margin:8px 0 8px;color:#fff}
.door3 p{color:#d6ebe4;font-size:14px;line-height:1.5;margin:0 0 12px}
.door3 ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}
.door3 ul a{color:#eaf5f1;font-size:14px;text-decoration:none;border-bottom:1px solid rgba(234,245,241,.25)}
.door3 ul a:hover{border-color:#9fdcca}
@media (max-width:900px){.doors3{grid-template-columns:1fr}.door3{min-height:0}}

/* EOI: optional details */
.eoi-more{border:1px solid var(--line,#dce4e1);border-radius:8px;padding:10px 14px;margin:6px 0 4px}
.eoi-more summary{cursor:pointer;font-weight:600;min-height:24px}
.eoi-more[open] summary{margin-bottom:10px}

/* Global Council */
.v21-council{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;margin:12px 0 4px}
.v21-seat{margin:0;background:#fff;border:1px solid var(--line,#dce4e1);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.v21-seat img{width:100%;aspect-ratio:5/6;object-fit:cover;display:block;background:#0a322c}
.v21-seat figcaption{padding:12px 14px 14px;display:grid;gap:3px}
.v21-seat b{font-size:15.5px;color:var(--ink,#0a1f1b)}
.v21-seat i{font-style:normal;font-size:13px;color:#0f6e6b;font-weight:600}
.v21-seat span{font-size:12.5px;color:var(--mute)}
.v21-seat small{font-size:12.5px;line-height:1.45;color:#2f4440}
.v21-seat a{font-size:12.5px}
.v21-ph{display:inline-block;justify-self:start;font-size:11px!important;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7a5a12!important;background:#fbf1d6;border:1px solid #e8d9b0;border-radius:999px;padding:2px 8px;margin-bottom:4px}

/* Consent banner */
.v21-consent{position:fixed;left:16px;right:16px;bottom:16px;max-width:620px;margin:0 auto;z-index:99999;background:#0a322c;color:#eaf5f1;border-radius:12px;padding:16px 18px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:grid;gap:12px;font:14px/1.5 var(--body,system-ui)}
.v21-consent p{margin:0;color:#eaf5f1}
.v21-consent a{color:#9fdcca}
.v21-consent div{display:flex;gap:10px;flex-wrap:wrap}
.v21-consent .btn{min-height:44px}
.v21-consent .btn-line{color:#eaf5f1;border-color:#8fb5ab}

/* Call-back and WhatsApp dock */
.v21-dock{position:fixed;left:16px;bottom:16px;z-index:9990;display:flex;gap:8px}
.v21-dockbtn{background:#fff;color:#0a322c;border:1px solid #0a322c;border-radius:999px;padding:10px 16px;font:600 13px/1 var(--body,system-ui);min-height:44px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);text-decoration:none;display:inline-flex;align-items:center}
.v21-dockbtn.wa{background:#1f8f4e;color:#fff;border-color:#1f8f4e}
#unione-consent ~ .v21-dock{bottom:150px}
.v21-modal{position:fixed;inset:0;z-index:100001;background:rgba(6,20,17,.55);display:grid;place-items:center;padding:16px}
.v21-card{background:#fff;border-radius:12px;padding:22px;max-width:440px;width:100%;display:grid;gap:10px;max-height:92vh;overflow:auto}
.v21-card h3{margin:0}
.v21-card label{display:grid;gap:4px;font-weight:600;font-size:13.5px}
.v21-card input,.v21-card textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #c6d8d2;border-radius:8px;min-height:44px}
.v21-card .row{display:flex;gap:10px;flex-wrap:wrap}
.v21-card .err{color:#a3261b;margin:0}
.v21-card .hp,.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Application helpers (pre-check, AI disclosure, account cards) */
.v21-cvnote{font-size:12.5px;color:#0f6e6b;font-weight:500;margin:6px 0 0}
.uap-ai{margin:14px 0;padding:14px 16px;border:1px solid #afd8c9;border-left:4px solid #2da58e;border-radius:10px;background:#f4fbf8}
.uap-ai h5{margin:0 0 6px;font-size:14px}
.uap-ai ul{margin:6px 0 0;padding-left:18px}
.uap-ai .score{font-weight:700;color:#0f6e6b}
.uap-disclose{font-size:12.5px;color:var(--mute);margin:8px 0 0}
.uap-guide{margin:10px 0;padding:10px 14px;border-radius:8px;background:#f7f2e8;border:1px solid #e8d9b0;font-size:13.5px}
.uap-kit textarea{width:100%;font:13px/1.45 var(--body,system-ui);padding:8px;border:1px solid #c6d8d2;border-radius:6px}
.ust-first{margin-top:14px}
