/* Cookie consent banner and blocked-content placeholders (see consent.js).
   Uses the site color variables, so it follows palette and dark mode.
   z-index stays below the privacy dialog (9000), which can open from the banner. */

.cc-banner{position:fixed; left:16px; right:16px; bottom:16px; z-index:8500; display:flex; justify-content:center; pointer-events:none}
.cc-inner{position:relative; pointer-events:auto; width:100%; max-width:720px; background:var(--card, #fff); color:var(--ink, #1d2a26); border:1px solid var(--line, #d0d7cf); border-radius:24px; padding:22px 24px 20px; box-shadow:0 24px 60px -20px rgba(0,0,0,0.35); font-size:15px; line-height:1.5; max-height:calc(100vh - 32px); overflow-y:auto}
.cc-title{font-size:20px; font-weight:500; line-height:1.2; padding-right:36px; outline:none}
.cc-text{margin-top:8px; color:var(--ink-soft, #4a564f)}
.cc-link{background:none; border:0; padding:0; font:inherit; color:var(--teal-dark, #346d69); text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.cc-close{position:absolute; top:12px; right:12px; width:40px; height:40px; border-radius:50%; border:0; background:var(--bg, #eef0eb); color:var(--ink, #1d2a26); font-size:22px; line-height:1; cursor:pointer}
.cc-prefs{display:grid; gap:10px; margin-top:14px}
.cc-prefs[hidden]{display:none}
.cc-opt{display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line, #d0d7cf); border-radius:14px; font-size:14px; color:var(--ink-soft, #4a564f)}
.cc-opt strong{display:block; color:var(--ink, #1d2a26); font-size:15px}
.cc-opt input{width:20px; height:20px; margin-top:2px; flex-shrink:0; accent-color:var(--teal-dark, #346d69)}
.cc-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; justify-content:flex-end}
.cc-btn{font:inherit; font-size:15px; font-weight:600; padding:11px 20px; border-radius:999px; border:1px solid var(--ink, #1d2a26); background:var(--ink, #1d2a26); color:var(--bg, #eef0eb); cursor:pointer}
.cc-btn:hover{background:var(--teal-dark, #346d69); border-color:var(--teal-dark, #346d69); color:#fff}
.cc-btn-ghost{background:transparent; color:var(--ink, #1d2a26); border-color:var(--line, #d0d7cf)}
.cc-btn-ghost:hover{background:var(--bg, #eef0eb); color:var(--ink, #1d2a26); border-color:var(--line, #d0d7cf)}
.cc-btn[hidden]{display:none}
.cc-banner :focus-visible{outline:2px solid var(--teal-dark, #346d69); outline-offset:2px}
@media (max-width:560px){
  .cc-banner{left:8px; right:8px; bottom:8px}
  .cc-inner{padding:18px 16px 16px; font-size:14px}
  .cc-actions{justify-content:stretch}
  .cc-btn{flex:1 1 auto}
}

/* Blocked iframe (Google Maps): placeholder until consent or click */
.consent-frame iframe:not([src]){display:none}
.consent-placeholder{position:relative; z-index:2; max-width:320px; margin:24px; text-align:center; display:grid; gap:12px; justify-items:center; font-size:14px; color:var(--ink-soft, #4a564f)}
.consent-frame.is-loaded .consent-placeholder{display:none}

/* AddToAny share buttons only with consent for external content */
html:not(.consent-ext) .addtoany_share_save_container{display:none}
