.coast-cookie-surface{box-sizing:border-box;background:var(--coast-paper);color:var(--coast-text);font:16px/1.5 var(--coast-font-body);padding:var(--coast-space-6);border:1px solid var(--coast-line);border-radius:var(--coast-radius-card)}
.coast-cookie-surface [hidden],#coast-consent [hidden],.coast-video [hidden]{display:none!important}
.coast-cookie-surface h2{font:700 var(--coast-h3)/var(--coast-leading-h3) var(--coast-font-heading);color:var(--coast-ink);margin:0 0 var(--coast-space-3)}
.coast-cookie-surface h3{font:700 18px/1.4 var(--coast-font-heading);margin:var(--coast-space-6) 0 var(--coast-space-2);color:var(--coast-ink)}
.coast-cookie-surface p{margin:0 0 var(--coast-space-3)}.coast-cookie-surface a{color:var(--coast-primary);text-decoration:underline}.coast-cookie-surface .coast-cookie-small{font-size:14px}
.coast-cookie-banner{position:fixed;z-index:10000;bottom:var(--coast-space-4);left:var(--coast-space-4);right:var(--coast-space-4);max-width:var(--coast-content-max);margin:auto;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 4px 24px color-mix(in srgb,var(--coast-ink) 18%,transparent)}
.coast-cookie-actions{display:flex;flex-wrap:wrap;gap:var(--coast-space-3);margin-top:var(--coast-space-4)}
.coast-cookie-surface button,.coast-video button{font:700 16px/1.4 var(--coast-font-heading);padding:var(--coast-space-3) var(--coast-space-4);min-height:48px;cursor:pointer;border:1px solid var(--coast-primary);border-radius:var(--coast-radius-control);background:var(--coast-primary);color:var(--coast-paper)}
.coast-cookie-actions button{flex:1 1 180px}.coast-cookie-surface button:hover,.coast-video button:hover{background:var(--coast-primary-hover)}
.coast-cookie-surface :focus-visible,.coast-video :focus-visible{outline:3px solid var(--coast-focus);outline-offset:3px}
#coast-cookie-dialog{width:calc(100% - 32px);max-width:var(--coast-reading-max);max-height:calc(100dvh - 32px);margin:auto;overflow:auto}#coast-cookie-dialog::backdrop{background:color-mix(in srgb,var(--coast-ink) 55%,transparent)}
.coast-cookie-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:var(--coast-space-4)}.coast-cookie-dialog-head button{background:var(--coast-paper);color:var(--coast-primary)}.coast-cookie-dialog-head button:hover{color:var(--coast-paper)}
.coast-cookie-list dt{font-weight:700;overflow-wrap:anywhere}.coast-cookie-list dd{margin:0 0 var(--coast-space-4)}.coast-cookie-check{display:flex;align-items:center;gap:var(--coast-space-3);min-height:48px}.coast-cookie-check input{width:24px;height:24px;min-height:24px;accent-color:var(--coast-primary)}
.coast-cookie-status{position:fixed;z-index:10001;bottom:var(--coast-space-4);left:var(--coast-space-4);right:var(--coast-space-4);max-width:var(--coast-reading-max);margin:auto;pointer-events:none}
.coast-video{padding:var(--coast-space-6);background:var(--coast-soft);border-radius:var(--coast-radius-card);margin:var(--coast-space-6) 0}.coast-video iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}.coast-video [data-cookie-open]{margin-top:var(--coast-space-4)}
@media(max-width:600px){.coast-cookie-surface{padding:var(--coast-space-4)}.coast-cookie-dialog-head{flex-wrap:wrap}.coast-cookie-actions{gap:var(--coast-space-2)}.coast-cookie-actions button{flex-basis:100%}}
@media print{#coast-consent{display:none}}

/* Shared modal entry: acceptance remains at the right edge on every screen size. */
.coast-cookie-banner{top:auto;width:calc(100% - 32px)}
.coast-cookie-banner::backdrop{background:color-mix(in srgb,var(--coast-ink) 55%,transparent)}
html:has(#coast-consent dialog[open]){overflow:hidden}
.coast-cookie-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#coast-cookie-dialog .coast-cookie-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.coast-cookie-actions button{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){
 .coast-cookie-actions,#coast-cookie-dialog .coast-cookie-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .coast-cookie-banner .coast-cookie-actions [data-cookie-open]{grid-column:1 / -1}
}

#coast-cookie-heading:focus,#coast-cookie-dialog-title:focus{outline:none}
