/* Spazi sponsor visivi. Proporzione fissa (niente scatti di layout), etichetta "Sponsor" sempre visibile. */
.ad-slot{margin-inline:auto;width:100%;max-width:100%;text-align:center}
.ad-slot[hidden]{display:none}
.ad-band{padding-block:clamp(18px,3vw,32px)}
.ad-tag{display:inline-block;margin-bottom:6px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ad-frame{position:relative;margin-inline:auto;border-radius:var(--r-sm);overflow:hidden;background:var(--cream);box-shadow:var(--shadow)}
.ad-frame .ad-item,.ad-frame img{display:block;width:100%;height:100%}
.ad-frame img{object-fit:cover}
.ad-item{text-decoration:none}
.ad-item:focus-visible{outline-offset:-3px}
.ad-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.ad-grid .ad-frame{margin:0}
.ad-operators{padding-block:clamp(20px,4vw,40px)}
.ad-operators h2{text-align:center}
.ad-op{display:flex;flex-direction:column;gap:8px;align-items:center;width:min(100%,160px);text-decoration:none;color:var(--ink);font-size:.9rem}
.ad-op .ad-frame{width:160px;max-width:100%}
.ad-op strong{color:var(--navy);line-height:1.25}
.ad-strip{padding-block:clamp(18px,3vw,30px);border-top:1px solid var(--line)}
.ad-strip .ad-tag{display:block;text-align:center}
.ad-native .ad-frame{box-shadow:var(--shadow-lg)}

/* rotazione: un banner alla volta, tutti raggiungibili con i punti */
.ad-carousel{position:relative}
.ad-carousel .ad-slide[hidden]{display:none}
.ad-dots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.ad-dots button{width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.ad-dots button::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--line);box-shadow:inset 0 0 0 1px rgba(11,60,93,.25);transition:background .2s,transform .2s}
.ad-dots button[aria-current="true"]::before{background:var(--navy);transform:scale(1.25)}
.ad-fade{animation:ad-in .5s ease both}
@keyframes ad-in{from{opacity:0}to{opacity:1}}

/* modalità "mostra gli spazi" (?spazi=1): cornice incavata con il prezzo e il collegamento per prenotare */
.ad-empty{position:relative;margin-inline:auto;border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;
  background:linear-gradient(180deg,#eee7d6,#f6f1e4);border:2px dashed rgba(11,60,93,.4);color:var(--navy);text-decoration:none;
  box-shadow:inset 0 4px 12px rgba(11,60,93,.18),inset 0 -2px 0 rgba(255,255,255,.7);overflow:hidden}
.ad-empty strong{font-family:var(--font-head);font-size:clamp(1rem,2.4vw,1.35rem)}
.ad-empty span{font-size:.85rem;color:var(--muted)}
.ad-empty .ad-cta{margin-top:4px;padding:6px 14px;border-radius:999px;background:var(--coral);color:var(--ink);font-weight:700;font-size:.82rem}
.ad-empty:hover{border-color:var(--coral)}
.ad-empty::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-100%);animation:ad-shine 3.2s ease-in-out infinite}
@keyframes ad-shine{60%,100%{transform:translateX(100%)}}
.ad-reveal-note{position:fixed;inset-inline:0;bottom:0;z-index:150;background:var(--navy);color:#fff;text-align:center;padding:10px 16px;font-size:.92rem}
.ad-reveal-note a{color:var(--sand);font-weight:600}
@media (prefers-reduced-motion:reduce){.ad-empty::after{display:none}.ad-fade{animation:none}}
.ad-empty-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-inline:auto}
.ad-empty{container-type:inline-size;padding:4px}
.ad-empty strong{font-size:clamp(.7rem,9cqw,1.35rem);line-height:1.1;text-align:center}
.ad-empty-cap{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;width:max-content;max-width:min(92vw,420px)}
.ad-empty-cap span{font-size:.85rem;color:var(--muted)}
.ad-empty-cap .ad-cta{display:inline-block;margin:0;padding:8px 16px;border-radius:999px;background:var(--coral);color:var(--ink);font-weight:700;font-size:.85rem;text-decoration:none}
.ad-empty-cap .ad-cta:hover{background:#ef8266}

/* pulsante rapido "Pubblicizzati qui" sopra il piè di pagina */
.ad-cta-bar{background:var(--cream);border-top:1px solid var(--line);padding-block:18px}
.ad-cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.ad-cta-in p{margin:0;font-weight:600;color:var(--navy)}
.ad-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.ad-cta-main{display:inline-block;padding:11px 22px;border-radius:999px;background:var(--coral);color:var(--ink);font-weight:700;text-decoration:none}
.ad-cta-main:hover{background:#ef8266}
.ad-cta-see{display:inline-block;padding-block:10px;color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.ad-cta-in,.ad-cta-actions{flex-direction:column;align-items:stretch;text-align:center}.ad-cta-main{text-align:center}}

/* spazio scelto (arrivo con ?spazi=1&slot=): etichetta e contorno che pulsa */
.ad-target{scroll-margin-block:90px;border-radius:var(--r-sm);outline:3px solid var(--coral);outline-offset:6px;animation:ad-pulse 1.6s ease-in-out 3}
.ad-mine{display:inline-block;margin-bottom:8px;padding:4px 12px;border-radius:999px;background:var(--coral);color:var(--ink);font-size:.78rem;font-weight:700}
@keyframes ad-pulse{50%{outline-offset:12px;outline-color:rgba(232,111,81,.35)}}
@media (prefers-reduced-motion:reduce){.ad-target{animation:none}}
