.broston-cookies[hidden], .broston-cookies [hidden] { display:none !important; }
.broston-cookies { position:fixed; inset:auto 0 0; z-index:999999; display:flex; justify-content:center; align-items:flex-end; padding:16px; color:var(--bc-fg); font:16px/1.5 system-ui,sans-serif; pointer-events:none; }
.broston-cookies[data-position="center"] { inset:0; align-items:center; background:rgba(0,0,0,.55); pointer-events:auto; }
.broston-cookies[data-position="bottom-wide"] { padding:0; }
.broston-cookies[data-position="bottom-left"],.broston-cookies[data-position="top-left"] { justify-content:flex-start; }
.broston-cookies[data-position="bottom-right"],.broston-cookies[data-position="top-right"] { justify-content:flex-end; }
.broston-cookies[data-position="top-left"],.broston-cookies[data-position="top-right"] { inset:0 0 auto; align-items:flex-start; }
.broston-cookies__panel { box-sizing:border-box; pointer-events:auto; display:flex; flex-direction:column; width:min(100%,var(--bc-width)); min-height:var(--bc-min-height); max-height:calc(100vh - 32px); overflow:auto; padding:var(--bc-panel-padding); margin:0; background:var(--bc-bg); color:var(--bc-fg); border-radius:var(--bc-radius); box-shadow:0 8px 40px rgba(0,0,0,.25); }
[data-position="bottom-wide"] .broston-cookies__panel { width:100%; max-height:90vh; border-radius:0; }
.broston-cookies h2 { color:var(--bc-title-color); font-family:var(--bc-title-font); font-size:var(--bc-title-size); font-weight:var(--bc-title-weight); line-height:1.3; margin:0 0 var(--bc-title-margin); }
.broston-cookies p { color:var(--bc-text-color); font-family:var(--bc-text-font); font-size:var(--bc-text-size); line-height:var(--bc-text-line-height); margin:0 0 var(--bc-text-margin); }
.broston-cookies__choices { display:flex; flex-wrap:wrap; gap:10px 18px; margin:16px 0; }
.broston-cookies__choices label { display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.broston-cookies__footer { display:flex; flex-direction:column; }
.broston-cookies__links { display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 0 14px; font-size:var(--bc-links-size); }
.broston-cookies[data-links-position="after"] .broston-cookies__links { margin:14px 0 0; order:2; }
.broston-cookies[data-links-position="after"] .broston-cookies__actions { order:1; }
.broston-cookies[data-links-position="right"] .broston-cookies__footer { flex-direction:row; align-items:center; gap:18px; }
.broston-cookies[data-links-position="right"] .broston-cookies__links { order:2; margin:0; flex:0 1 38%; }
.broston-cookies[data-links-position="right"] .broston-cookies__actions { order:1; flex:1 1 62%; }
.broston-cookies__links a { color:var(--bc-links-color); text-decoration:underline; }
.broston-cookies[data-has-links="0"] .broston-cookies__links { display:none; }
.broston-cookies[data-has-links="0"] .broston-cookies__actions { flex:1 1 auto; }
.broston-cookies__actions { display:flex; flex-wrap:wrap; gap:10px; }
.broston-cookies__actions button { box-sizing:border-box; background:var(--bc-secondary); border:1px solid color-mix(in srgb,var(--bc-fg) 10%,transparent); border-radius:7px; color:var(--bc-fg); cursor:pointer; font:inherit; padding:9px 15px; }
.broston-cookies__actions [data-bc-action="accept"] { width:var(--bc-accept-width); border-radius:var(--bc-accept-radius); font-size:var(--bc-accept-size); }
.broston-cookies__actions [data-bc-action="reject"] { width:var(--bc-reject-width); border-radius:var(--bc-reject-radius); font-size:var(--bc-reject-size); background:var(--bc-reject-bg); color:var(--bc-reject-fg); }
.broston-cookies__actions [data-bc-action="customize"] { width:var(--bc-customize-width); border-radius:var(--bc-customize-radius); font-size:var(--bc-customize-size); background:var(--bc-customize-bg); color:var(--bc-customize-fg); }
.broston-cookies__actions [data-bc-action="save"] { order:0; background:var(--bc-accent); color:var(--bc-accent-text); }
.broston-cookies__actions button:hover { filter:brightness(.94); }
.broston-cookies__actions .broston-cookies__primary { background:var(--bc-accent); border-color:var(--bc-accent); color:var(--bc-accent-text); font-weight:700; }
.broston-cookies[data-button-layout="equal"] .broston-cookies__actions button { flex:1 1 0; min-width:0; }
.broston-cookies__actions button:focus-visible,.broston-cookies__reopen:focus-visible { outline:3px solid var(--bc-accent); outline-offset:3px; }
.broston-cookies__reopen[hidden] { display:none !important; }
.broston-cookies__reopen { appearance:none; position:fixed; z-index:999998; left:30px; bottom:30px; display:grid; place-items:center; width:32px; height:32px; min-width:32px; min-height:32px; padding:0; border:1px solid #d1d5db; border-radius:50%; background:#fff; color:#596270; box-shadow:0 2px 8px rgba(15,23,42,.10); cursor:pointer; transition:background-color .15s ease,color .15s ease,box-shadow .15s ease; }
.broston-cookies__reopen:hover { background:#f3f4f6; color:#303843; box-shadow:0 3px 12px rgba(15,23,42,.16); }
.broston-cookies__reopen svg { display:block; width:18px; height:18px; pointer-events:none; }
.broston-cookies__reopen-label { display:none; }
.broston-cookies-frame-placeholder,.broston-cookies-embed { padding:24px; border:1px solid #ccd4df; border-radius:8px; background:#f4f6f9; color:#20252d; text-align:center; }
.broston-cookies-embed iframe { width:100%; min-height:320px; border:0; }
@media(max-width:600px) { .broston-cookies { padding:10px; } .broston-cookies__panel { max-height:calc(100vh - 20px); } .broston-cookies__actions button { max-width:100%; } .broston-cookies[data-button-layout="equal"] .broston-cookies__actions button { flex:1 1 100%; } .broston-cookies[data-links-position="right"] .broston-cookies__footer { flex-direction:column; align-items:stretch; } .broston-cookies[data-links-position="right"] .broston-cookies__actions,.broston-cookies[data-links-position="right"] .broston-cookies__links { flex:auto; } .broston-cookies[data-position="bottom-wide"] { padding:0; } .broston-cookies__reopen { position:static; display:flex; align-items:center; gap:6px; width:max-content; height:auto; min-width:0; min-height:0; margin:12px auto 18px; padding:6px 10px; border-radius:16px; background:#f3f4f6; color:#4b5563; box-shadow:none; font:12px/1.3 system-ui,sans-serif; } .broston-cookies__reopen svg { width:15px; height:15px; } .broston-cookies__reopen-label { display:inline; } }
