.cookie-banner,.cookie-dialog { font-family:'Outfit',sans-serif; color:#322a22; background:#faf5ec; border:1px solid rgba(74,52,36,.2); box-shadow:0 12px 48px rgba(50,42,34,.18); border-radius:16px; }
.cookie-banner { position:fixed; z-index:10000; bottom:max(1rem,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(1000px,calc(100% - 2rem)); padding:1.5rem; display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:1.8rem; max-height:calc(100dvh - 2rem); overflow:auto; }
.cookie-banner[hidden] { display:none; }
.cookie-copy h2,.cookie-dialog h2 { font-family:'Fraunces',Georgia,serif; font-size:1.5rem; font-weight:400; line-height:1.2; margin:0 0 .7rem; color:#322a22; }
.cookie-copy p,.cookie-dialog p { font-size:.94rem; line-height:1.55; margin:0 0 .8rem; color:#514338; }
.cookie-banner a,.cookie-dialog a { color:#8c3b28; font-size:.88rem; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; flex-direction:column; gap:.6rem; }
.cookie-actions button { appearance:none; font:500 .93rem 'Outfit',sans-serif; line-height:1.2; padding:.8rem 1rem; border:1px solid #695444; border-radius:8px; background:#fff; color:#322a22; cursor:pointer; min-height:44px; }
.cookie-actions button:hover { background:#f3ebdd; }
.cookie-actions button:disabled { opacity:.6; cursor:wait; }
.cookie-actions .cookie-customize { border-color:transparent; background:transparent; text-decoration:underline; }
.cookie-dialog { padding:1.7rem; width:min(580px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); margin:auto; overflow:auto; }
.cookie-dialog::backdrop { background:rgba(30,25,20,.5); }
.cookie-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.cookie-close { font:2rem sans-serif; background:transparent; border:0; color:#322a22; cursor:pointer; min-width:44px; min-height:44px; margin:-.5rem -.5rem 0 0; }
.cookie-purpose { border-top:1px solid rgba(74,52,36,.2); padding:1rem 0; }
.cookie-purpose h3 { font-size:1rem; margin:0 0 .5rem; }
.cookie-purpose > span { font-size:.85rem; color:#514338; }
.cookie-toggle { display:flex; justify-content:space-between; gap:1rem; align-items:center; font-weight:500; margin-bottom:.5rem; }
.cookie-toggle input { width:22px; height:22px; accent-color:#8c3b28; }
.cookie-dialog .cookie-actions { margin:.7rem 0 1rem; }
.cookie-dialog .cookie-status { color:#8c3b28; }
.cookie-settings-link { appearance:none; padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.cookie-banner :focus-visible,.cookie-dialog :focus-visible,.cookie-settings-link:focus-visible { outline:3px solid #8c3b28; outline-offset:3px; }
@media(max-width:650px) {
 .cookie-banner { padding:1.1rem; gap:1rem; grid-template-columns:1fr; width:calc(100% - 1rem); bottom:max(.5rem,env(safe-area-inset-bottom)); }
 .cookie-actions { display:grid; grid-template-columns:1fr 1fr; }
 .cookie-actions .cookie-customize { grid-column:1/-1; }
 .cookie-dialog { padding:1.2rem; }
 .cookie-dialog .cookie-actions { grid-template-columns:1fr; }
}
