.alan-cookie-banner,.alan-cookie-dialog,.alan-cookie-settings { box-sizing:border-box; font-family:'DM Sans',system-ui,sans-serif; color:#201e1d; }
.alan-cookie-banner[hidden],.alan-cookie-settings[hidden] { display:none; }
.alan-cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:64; display:flex; align-items:center; gap:20px; padding:16px clamp(16px,3vw,48px); background:#f3f2f2; border-top:2px solid #201e1d; box-shadow:0 -6px 28px #201e1d1a; max-height:45dvh; overflow:auto; }
.alan-cookie-banner > div:first-child { flex:1; }




.alan-cookie-cancel { margin-top:14px; min-height:44px; background:transparent; border:0; padding:8px; text-decoration:underline; cursor:pointer; font:inherit; }
.alan-cookie-banner h2,.alan-cookie-dialog h2 { font-size:24px; line-height:1.2; letter-spacing:-.03em; font-weight:800; margin:0 0 12px; }
.alan-cookie-banner p,.alan-cookie-dialog p { font-size:15px; line-height:1.6; margin:0; max-width:75ch; }
.alan-cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
.alan-cookie-actions button,.alan-cookie-settings { cursor:pointer; background:#f3f2f2; border:1px solid #201e1d; min-height:44px; padding:12px 16px; font:700 13px/1.4 'DM Sans',system-ui,sans-serif; }
.alan-cookie-actions button:first-child { background:#ec3013; color:#fff; border-color:#ec3013; }
.alan-cookie-actions button:hover { background:#e1dedc; color:#201e1d; }
.alan-cookie-actions button:first-child:hover { background:#bb220b; color:#fff; }
.alan-cookie-settings { position:fixed; bottom:16px; left:16px; z-index:45; font-size:12px; box-shadow:0 2px 10px #201e1d1a; }
.alan-cookie-dialog { width:min(600px,calc(100% - 32px)); max-height:85dvh; overflow:auto; background:#f3f2f2; padding:28px; border:2px solid #201e1d; }
.alan-cookie-dialog::backdrop { background:#201e1d99; }
.alan-cookie-category { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid #aaa7a6; font-size:16px; }
div.alan-cookie-category { display:block; }
.alan-cookie-category p,.alan-cookie-category span span { display:block; margin-top:8px; font-size:14px; line-height:1.5; }
.alan-cookie-category input { width:22px; height:22px; flex-shrink:0; accent-color:#ec3013; margin-top:4px; }
.alan-cookie-dialog .alan-cookie-note { font-size:13px; margin:20px 0; overflow-wrap:anywhere; }
.alan-cookie-dialog a { color:#ae1800; text-decoration:underline; }
.alan-cookie-banner a { color:#ae1800; text-decoration:underline; text-underline-offset:3px; }
.alan-cookie-banner :focus-visible,.alan-cookie-dialog :focus-visible,.alan-cookie-settings:focus-visible { outline:2px solid #ae1800; outline-offset:3px; }
.alan-cookie-banner h2 { font-size:16px; margin-bottom:6px; letter-spacing:0; }
.alan-cookie-banner p { font-size:13px; line-height:1.5; }
.alan-cookie-banner .alan-cookie-actions { flex-shrink:0; }
@media(max-width:1100px) { .alan-cookie-banner { flex-direction:column; align-items:stretch; gap:16px; }  }
@media(max-width:620px) { .alan-cookie-actions button { flex:1 1 auto; } .alan-cookie-dialog { padding:20px; } .alan-cookie-banner { padding:14px 16px; gap:12px; } .alan-cookie-banner .alan-cookie-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; } .alan-cookie-banner .alan-cookie-actions button { padding:8px 6px; font-size:12px; } }
