/* Banner consenso cookie e mappa bloccata – stessa palette e caratteri del sito */
.cc-banner{
  --cc-ink:var(--ink,#122525);--cc-cream:var(--cream,#f5f1e8);--cc-gold:var(--gold,#d8ab6a);
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  padding:0 max(1rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
  font-family:var(--sans,"DM Sans",Arial,sans-serif);color:#fff;pointer-events:none
}
.cc-banner[hidden]{display:none}
.cc-inner{
  position:relative;width:min(980px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;margin:0 auto;
  padding:1.6rem 1.8rem 1.5rem;background:var(--cc-ink);border:1px solid #ffffff26;box-shadow:0 18px 50px #0006;pointer-events:auto
}
.cc-title{margin:0 3rem .55rem 0;font:500 1.55rem/1.2 var(--serif,"Playfair Display",Georgia,serif);color:#fff}
.cc-title:focus{outline:none}
.cc-title:focus-visible{outline:2px solid var(--cc-gold);outline-offset:4px}
.cc-desc{margin:0;max-width:62rem;color:#dfe6e3;font-size:.95rem;line-height:1.65}
.cc-desc a{color:var(--cc-gold);text-decoration:underline;text-underline-offset:3px}
.cc-close{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
.cc-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.cc-close:hover{color:var(--cc-gold)}

/* Tre pulsanti identici: stessa forma, colore e dimensione (pari evidenza) */
.cc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.3rem}
.cc-btn{
  min-height:48px;padding:.75rem 1rem;border:1px solid var(--cc-cream);background:var(--cc-cream);color:var(--cc-ink);
  font:700 .82rem/1.2 var(--sans,"DM Sans",Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s
}
@media(hover:hover){.cc-btn:hover{background:var(--cc-gold);border-color:var(--cc-gold)}}
.cc-banner :focus-visible{outline:2px solid var(--cc-gold);outline-offset:3px}

/* Pannello "Personalizza" */
.cc-panel[hidden]{display:none}
.cc-fieldset{margin:1.2rem 0 0;padding:0;border:0}
.cc-fieldset legend{margin-bottom:.6rem;color:var(--cc-gold);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-cat{display:grid;grid-template-columns:22px 1fr;gap:.9rem;align-items:start;padding:.95rem 0;border-top:1px solid #ffffff1f}
.cc-cat input{width:22px;height:22px;margin:.15rem 0 0;accent-color:var(--cc-gold);cursor:pointer}
.cc-cat input:disabled{cursor:not-allowed}
.cc-cat label{cursor:pointer}
.cc-cat input:disabled+label{cursor:default}
.cc-cat strong{display:block;color:#fff;font-size:1rem}
.cc-cat strong em{margin-left:.5rem;color:var(--cc-gold);font-size:.75rem;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cc-cat span{display:block;margin-top:.2rem;color:#c9d3cf;font-size:.88rem;line-height:1.55}

@media(max-width:620px){
  .cc-banner{padding:0}
  .cc-inner{max-height:88vh;max-height:88dvh;padding:1.3rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom));border-width:1px 0 0}
  .cc-title{font-size:1.3rem}
  .cc-desc{font-size:.9rem}
  .cc-actions{grid-template-columns:1fr;gap:.6rem}
}
@media(prefers-reduced-motion:reduce){.cc-btn{transition:none}}

/* Mappa Google bloccata finché manca il consenso */
.cc-map{position:relative}
.cc-map iframe[hidden]{display:none}
.cc-map__placeholder{
  height:100%;min-height:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;
  padding:clamp(2rem,5vw,4.5rem);background:#e6dfd2;color:var(--ink,#122525)
}
.cc-map__placeholder[hidden]{display:none}
.cc-map__placeholder .cc-map__title{margin:0;font:500 clamp(1.5rem,2.6vw,2.2rem)/1.15 var(--serif,"Playfair Display",Georgia,serif)}
.cc-map__placeholder p{margin:0;max-width:34rem;color:#41504e;line-height:1.7}
.cc-map__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem;margin-top:.4rem}
.cc-map__actions .button{cursor:pointer}
.cc-map__actions a:not(.button){display:inline-flex;align-items:center;min-height:44px;color:var(--ink,#122525);font-weight:600;text-decoration:underline;text-underline-offset:4px}
