/* IA Cookie Consent Pro: intentionally scoped; no theme layout changes. */
#iaccp-banner[hidden], #iaccp-backdrop[hidden] { display:none !important; }
.iaccp-banner,.iaccp-modal-backdrop,.iaccp-modal,.iaccp-modal *,.iaccp-banner * {box-sizing:border-box}
.iaccp-banner {position:fixed;inset:auto 16px 16px 16px;z-index:2147483000;background:#10243e;color:#d1e0f1;border:1px solid #4a6483;border-radius:15px;box-shadow:0 12px 55px rgba(6,15,30,.35);font-family:inherit}
.iaccp-banner-body {max-width:1260px;margin:auto;display:flex;gap:26px;align-items:center;padding:22px 25px}
.iaccp-banner-copy {flex:1;min-width:0}.iaccp-banner-copy strong {color:#fff;font-size:17px;font-weight:750}.iaccp-banner-copy p {font-size:14px;line-height:1.6;color:#d1e0f1;margin:8px 0 !important}
.iaccp-policy-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.iaccp-policy-links a{color:#a9ccff!important;font-size:13px;text-decoration:underline!important}
.iaccp-banner-actions {display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;max-width:560px;flex:1}
.iaccp-button {appearance:none;cursor:pointer;border:1px solid #8ea9cd!important;border-radius:8px!important;background:#214c85!important;color:#fff!important;padding:12px 14px!important;min-height:46px;font-family:inherit;font-size:13px!important;font-weight:700!important;line-height:1.35;text-align:center;box-shadow:none!important;transition:background .15s ease}
.iaccp-button:hover,.iaccp-button:focus-visible {background:#347af5!important;color:#fff!important;border-color:#9ac2ff!important}
.iaccp-button:focus-visible,.iaccp-close:focus-visible {outline:3px solid #94c4ff;outline-offset:3px}
.iaccp-modal-open{overflow:hidden}
.iaccp-modal-backdrop {position:fixed;inset:0;background:rgba(4,11,24,.72);z-index:2147483001;display:flex;align-items:center;justify-content:center;padding:18px}
.iaccp-modal {width:min(650px,100%);max-height:min(92vh,850px);overflow:auto;background:#fff;color:#142944;border-radius:16px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.34);font-family:inherit}
.iaccp-modal-top {display:flex;align-items:start;justify-content:space-between;gap:12px}
.iaccp-kicker {font-size:11px;font-weight:800;letter-spacing:.16em;color:#2867d7}
.iaccp-modal h2 {font-size:27px!important;line-height:1.3!important;margin:5px 0 14px!important;color:#10243e!important}
.iaccp-modal>p {font-size:14px;line-height:1.6;color:#536780;margin:0 0 16px}
.iaccp-close {border:0!important;border-radius:8px;background:#eaf1fd!important;color:#10243e!important;cursor:pointer;font-size:26px;line-height:1;width:38px;height:38px;flex-shrink:0}
.iaccp-choice {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #e3eaf3;color:#1b334f!important;cursor:pointer}
.iaccp-choice strong {font-size:15px;display:block}.iaccp-choice p,.iaccp-choice-desc {display:block;font-size:13px;line-height:1.5;color:#596e85;margin:6px 0 0}
.iaccp-choice input[type=checkbox]{accent-color:#2868de;width:20px;height:20px;flex-shrink:0;cursor:pointer}
.iaccp-always {color:#3568a6;background:#eaf1fd;font-size:11px;padding:6px 9px;border-radius:40px;white-space:nowrap}
.iaccp-modal-actions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 12px}.iaccp-modal-actions .iaccp-button{background:#2868de!important;border-color:#2868de!important}
.iaccp-modal .iaccp-policy-links a {color:#235db9!important}
@media(max-width:850px){.iaccp-banner-body{flex-direction:column;align-items:stretch;gap:14px}.iaccp-banner-actions{max-width:none}}
@media(max-width:600px){.iaccp-banner{inset:auto 8px 8px 8px}.iaccp-banner-body{padding:16px}.iaccp-banner-actions,.iaccp-modal-actions{grid-template-columns:1fr;gap:8px}.iaccp-modal{padding:20px}.iaccp-modal-backdrop{padding:8px}.iaccp-modal h2{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){.iaccp-button{transition:none}}

/* Phase 2: appearance is scoped and configurable with validated server-side colour values. */
.iaccp-banner{background:var(--iaccp-banner-bg,#10243e);color:var(--iaccp-banner-text,#d1e0f1)}
.iaccp-banner .iaccp-banner-copy strong{color:var(--iaccp-banner-text,#d1e0f1)}
.iaccp-banner .iaccp-banner-copy p{color:var(--iaccp-banner-text,#d1e0f1)}
.iaccp-button,.iaccp-modal-actions .iaccp-button{background:var(--iaccp-accent,#2868de)!important;color:var(--iaccp-button-text,#fff)!important;border-color:var(--iaccp-accent,#2868de)!important}
.iaccp-button:hover,.iaccp-modal-actions .iaccp-button:hover{filter:brightness(1.15);background:var(--iaccp-accent,#2868de)!important;color:var(--iaccp-button-text,#fff)!important}
.iaccp-choice input[type=checkbox]{accent-color:var(--iaccp-accent,#2868de)}
.iaccp-banner.iaccp-layout-top{inset:16px 16px auto 16px}
.iaccp-banner.iaccp-layout-bottom-left,.iaccp-banner.iaccp-layout-bottom-right{width:min(540px,calc(100% - 32px));inset:auto auto 16px 16px}
.iaccp-banner.iaccp-layout-bottom-right{inset:auto 16px 16px auto}
.iaccp-banner.iaccp-layout-bottom-left .iaccp-banner-body,.iaccp-banner.iaccp-layout-bottom-right .iaccp-banner-body,.iaccp-banner.iaccp-layout-center .iaccp-banner-body{flex-direction:column;align-items:stretch;gap:14px}
.iaccp-banner.iaccp-layout-bottom-left .iaccp-banner-actions,.iaccp-banner.iaccp-layout-bottom-right .iaccp-banner-actions,.iaccp-banner.iaccp-layout-center .iaccp-banner-actions{max-width:none;flex:auto}
.iaccp-banner.iaccp-layout-center{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(600px,calc(100% - 30px));max-height:90dvh;overflow:auto}
.iaccp-banner{max-height:90dvh;overflow:auto}
#iaccp-floating[hidden]{display:none!important}
.iaccp-floating{position:fixed;bottom:18px;z-index:2147482999;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--iaccp-accent,#2868de)!important;border-radius:30px!important;background:var(--iaccp-accent,#2868de)!important;color:var(--iaccp-button-text,#fff)!important;padding:10px 15px!important;font-family:inherit;font-weight:600;font-size:13px;line-height:1.3;box-shadow:0 4px 14px rgba(0,0,0,.23);cursor:pointer}
.iaccp-floating-bottom-left{left:18px}.iaccp-floating-bottom-right{right:18px}
.iaccp-floating:focus-visible{outline:3px solid #94c4ff;outline-offset:3px}
.iaccp-modal-backdrop{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));align-items:safe center;overflow-y:auto;overscroll-behavior:contain}
.iaccp-modal{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;margin:auto;flex-shrink:0}
@media(max-width:600px){.iaccp-banner.iaccp-layout-top{inset:8px 8px auto}.iaccp-banner.iaccp-layout-bottom-left,.iaccp-banner.iaccp-layout-bottom-right{width:calc(100% - 16px);inset:auto 8px 8px}.iaccp-banner.iaccp-layout-center{width:calc(100% - 16px)}.iaccp-modal-backdrop{align-items:flex-start}.iaccp-modal{max-height:calc(100dvh - 24px);margin:auto}}

/* Phase 5.1: embed consent card — scoped, responsive, theme-neutral. */
.iaccp-consent-embed {max-width:100%;width:100%;margin:1.25em 0;box-sizing:border-box}
.iaccp-consent-embed *, .iaccp-consent-embed *::before, .iaccp-consent-embed *::after {box-sizing:border-box}
.iaccp-consent-embed [hidden] {display:none!important}
.iaccp-consent-embed iframe {display:block;width:100%;max-width:100%;border:0;border-radius:12px;background:#111;aspect-ratio:16/9;min-height:160px}
.iaccp-embed-notice {width:100%;min-height:240px;display:flex;justify-content:center;align-items:center;padding:clamp(22px,5vw,44px);background:#f7f9fc;color:#1b3049;border:1px solid #cbd5e1;border-radius:14px;text-align:center;line-height:1.55;font-family:inherit}
.iaccp-embed-notice-inner{max-width:480px;margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px}
.iaccp-embed-symbol{width:52px;height:52px;border-radius:50%;background:#e5eefb;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}
.iaccp-embed-title{font-size:clamp(17px,2.5vw,21px);font-weight:700;color:#12253d;line-height:1.25}
.iaccp-embed-description{font-size:14px;line-height:1.65;color:#485c74;margin:0!important}
.iaccp-embed-manage{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:4px;padding:11px 20px!important;border:1px solid var(--iaccp-accent,#2868de)!important;border-radius:8px!important;background:var(--iaccp-accent,#2868de)!important;color:var(--iaccp-button-text,#fff)!important;font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.35!important;text-align:center;cursor:pointer}
.iaccp-embed-manage:hover{filter:brightness(1.1)}
.iaccp-embed-manage:focus-visible{outline:3px solid #173a71;outline-offset:3px}
@media(max-width:600px){.iaccp-embed-notice{padding:24px 18px;min-height:225px}.iaccp-embed-manage{width:100%}}
@media(prefers-reduced-motion:reduce){.iaccp-embed-manage{transition:none}}
