/* HorecaPodcast · spazi pubblicitari (modules/Ads/Serve). Brand: #CA0000 / #1E305A, Roboto Condensed + Montserrat. */
.hp-ad{box-sizing:border-box;width:100%;margin:0 auto;font-family:Roboto,Arial,sans-serif}
.hp-ad *,.hp-ad *::before,.hp-ad *::after{box-sizing:border-box}
.hp-ad template{display:none}
.hp-ad-row{box-sizing:border-box;width:100%;max-width:1320px;margin:0 auto;padding:16px clamp(14px,3vw,24px) 0}
.hp-ad-row--foot{padding:28px clamp(14px,3vw,24px)}
.hp-ad-row:empty,.hp-ad-sync:empty{display:none}
.hp-ad__label{display:block;font:700 10px/14px Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8a90a0;margin:0 0 4px}
.hp-ad[hidden],.hp-ad__v[hidden]{display:none !important}

/* display: dimensioni riservate dalla posizione (aspect-ratio desktop/mobile) */
.hp-ad--display{max-width:var(--ad-dw)}
.hp-ad__box{position:relative;width:100%;aspect-ratio:var(--ad-dar);background:#f3f4f7;border-radius:4px;overflow:hidden}
.hp-ad__item{display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.hp-ad__item picture{display:block;width:100%;height:100%}
.hp-ad__item img{display:block;width:100%;height:100%;object-fit:contain}
a.hp-ad__item:focus-visible,.hp-ad__house:focus-visible,.hp-adn:focus-visible,.hp-adc__item:focus-visible{outline:3px solid #CA0000;outline-offset:2px}
.hp-ad__frame{display:block;width:100%;height:100%;border:0}
.hp-ad__text{display:flex;flex-direction:column;justify-content:center;gap:4px;height:100%;padding:10px 16px;background:#fff;border:1px solid #d9dce4;border-left:5px solid #1E305A;border-radius:4px;color:#111;overflow:hidden}
.hp-ad__text b{font:800 clamp(16px,2vw,22px)/1.05 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase}
.hp-ad__text span{font-size:14px;line-height:1.4;color:#4a4f5c;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hp-ad__text u{text-decoration:none;font:700 12px Montserrat,Arial,sans-serif;color:#CA0000;letter-spacing:.04em}
.hp-ad__house{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 14px;height:var(--ad-fd,90px);padding:10px 16px;border:1px dashed #b9bfcc;border-radius:4px;background:#f7f8fa;color:#4a4f5c;font:500 14px/1.3 Roboto,Arial,sans-serif;text-align:center;text-decoration:none;transition:border-color .15s,background .15s}
.hp-ad__house b{font:700 13px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#CA0000}
.hp-ad__house:hover{border-color:#CA0000;background:#fff;color:#1E305A}
.hp-ad__v--m{display:none}
@media (max-width:1023px){
  .hp-ad--display{max-width:var(--ad-mw)}
  .hp-ad__box{aspect-ratio:var(--ad-mar)}
  .hp-ad__house{height:var(--ad-fm,90px)}
  .hp-ad__v--d{display:none}
  .hp-ad__v--m{display:block}
}
.hp-ad--archive-feed{grid-column:1/-1}
.hp-ad--episode-sidebar{max-width:300px}

/* nativo: card coerente con le card del magazine */
.hp-ad--native{max-width:none}
.hp-adn{display:flex;flex-direction:column;gap:10px;height:100%;color:#111;text-decoration:none}
.hp-adn__media{position:relative;display:block;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#eceef2}
.hp-adn__media img{display:block;width:100%;height:100%;object-fit:cover}
.hp-adn__media picture{display:block;width:100%;height:100%}
.hp-adn__badge{position:absolute;left:10px;bottom:10px;background:#fff;color:#1E305A;border:1px solid #1E305A;font:700 10px Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px}
.hp-adn__title{font:800 20px/1.05 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase}
.hp-adn__body{font-size:14px;line-height:1.5;color:#4a4f5c}
.hp-adn__by{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;font:600 12px Montserrat,Arial,sans-serif;color:#8a90a0}
.hp-adn__by u{text-decoration:none;color:#CA0000;font-weight:700}
.hp-adn:hover .hp-adn__title{color:#1E305A}
.hp-adn--house .hp-adn__media{background:repeating-linear-gradient(135deg,#f3f4f7 0 12px,#eceef2 12px 24px);border:1px dashed #b9bfcc}
.hp-ad--row .hp-adn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-rows:auto auto 1fr;column-gap:24px;row-gap:8px;align-items:start;border-top:1px solid #e6e8ee;padding-top:16px}
.hp-ad--row .hp-adn__media{grid-row:1/5}
.hp-ad--row .hp-adn__title{font-size:clamp(22px,2.4vw,30px)}
.hp-ad--row .hp-adn__by{margin-top:6px;justify-content:flex-start;gap:16px}
.hp-ad--row .hp-adn--house{display:flex;flex-direction:row;align-items:center;gap:16px}
.hp-ad--row .hp-adn--house .hp-adn__media{flex:0 0 160px;aspect-ratio:16/9}
@media (max-width:767px){.hp-ad--row .hp-adn{display:flex;flex-direction:column}.hp-ad--row .hp-adn--house{flex-direction:column;align-items:stretch}.hp-ad--row .hp-adn--house .hp-adn__media{flex:none}}

/* carosello loghi partner (sopra il footer) */
.hp-ad--carousel{background:#fff;border-top:1px solid #e6e8ee}
.hp-adc__in{max-width:1320px;margin:0 auto;padding:18px clamp(14px,3vw,24px) 22px;display:flex;flex-direction:column;gap:12px}
.hp-adc__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:3px solid #111;padding-bottom:6px}
.hp-adc__head b{font:800 18px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase}
.hp-adc__head .hp-ad__label{margin:0}
.hp-adc__vp{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent)}
.hp-adc__track{display:flex;gap:16px;width:max-content}
.hp-ad--carousel:not(.is-moving) .hp-adc__track{width:auto;flex-wrap:wrap}
.hp-ad--carousel:not(.is-moving) .hp-adc__vp{-webkit-mask-image:none;mask-image:none}
.hp-adc__dup{display:flex;gap:16px}
.is-moving .hp-adc__track{animation:hpadc calc(var(--n,6) * 4s) linear infinite}
.hp-ad--carousel:hover .hp-adc__track,.hp-ad--carousel:focus-within .hp-adc__track{animation-play-state:paused}
@keyframes hpadc{to{transform:translateX(calc(-50% - 8px))}}
.hp-adc__item{flex:none;width:160px;height:80px;display:grid;place-items:center;padding:8px;border:1px solid #e6e8ee;border-radius:6px;background:#fff;color:#111;text-decoration:none}
.hp-adc__item img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .2s,opacity .2s}
.hp-adc__item:hover img,.hp-adc__item:focus-visible img{filter:none;opacity:1}
.hp-adc__name{font:800 15px/1.1 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;text-align:center}
.hp-adc__house{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border-style:dashed;border-color:#b9bfcc;background:#f7f8fa;font:500 12px/1.2 Roboto,Arial,sans-serif;color:#4a4f5c;text-align:center}
.hp-adc__house b{font:700 12px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;color:#CA0000;letter-spacing:.04em}
.hp-adc__house:hover{border-color:#CA0000}
.hp-adc__item.hp-ad__v--m{display:none}
@media (max-width:1023px){.hp-adc__item{width:120px;height:64px}.hp-adc__item.hp-ad__v--d{display:none}.hp-adc__item.hp-ad__v--m{display:grid}}
@media (prefers-reduced-motion:reduce){
  .is-moving .hp-adc__track{animation:none}
  .hp-adc__vp{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .hp-adc__dup{display:none}
}

/* riga "Questa puntata è offerta da" */
.hp-ad-offer{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:8px 12px;border:1px solid #e6e8ee;border-left:4px solid #1E305A;border-radius:4px;background:#f7f8fa;font-size:15px;line-height:1.4;color:#4a4f5c}
.hp-ad-offer .hp-ad__label{margin:0}
.hp-ad-offer a,.hp-ad-offer b{color:#1E305A;font-weight:700}
.hp-ad-offer a:hover{color:#CA0000}

/* skin: sfondo cliccabile ai lati, solo desktop ≥1280px; contenuto centrale invariato */
.hp-skin{display:none}
@media (min-width:1280px){
  body:has(.hp-skin){--hp-skin-w:min(1320px,calc(100vw - 200px))}
  .hp-skin{display:block;position:fixed;inset:0;z-index:0;background:var(--skin-bg,#e6e8ee)}
  .hp-skin__side{position:absolute;top:0;bottom:0;width:calc((100% - var(--hp-skin-w)) / 2);background-repeat:no-repeat;background-size:auto;cursor:pointer}
  .hp-skin__side--l{left:0;background-position:right top}
  .hp-skin__side--r{right:0;background-position:left top}
  .hp-skin__label{position:absolute;left:8px;bottom:8px;max-width:calc((100% - var(--hp-skin-w)) / 2 - 16px);line-height:1.4;pointer-events:none;background:rgba(17,17,17,.6);color:#fff;font:700 10px Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:2px}
  body:has(.hp-skin) .hp-wrap{position:relative;z-index:1;max-width:var(--hp-skin-w);margin:0 auto;background:#fff;box-shadow:0 0 28px rgba(15,26,51,.28)}
}
@media (max-width:1279px){.hp-skin{display:none !important}}

/* punti di inserimento (Slot::at): più posizioni nella stessa ancora, una sotto l'altra */
.hp-anc{display:flex;flex-direction:column;gap:16px;width:100%;min-width:0}
.hp-anc--griglia{grid-column:1/-1}
.hp-anc--laterale .hp-ad--display{max-width:min(100%,var(--ad-dw))}
.hp-anc--colonna{align-items:center}
.hp-anc--colonna .hp-ad--native{align-self:stretch}

/* testata: banner a destra del logo, stessa altezza (il logo segue l'altezza del banner) */
.hp-brand__ad .hp-anc{gap:8px}
.hp-brand__ad .hp-ad{position:relative}
.hp-brand__ad .hp-ad--display{max-width:none}
.hp-brand__ad .hp-ad__label{position:absolute;right:0;top:-14px;margin:0;color:rgba(255,255,255,.6)}
.hp-brand__ad .hp-ad__house{height:auto;aspect-ratio:var(--ad-dar);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#dfe5f2}
.hp-brand__ad .hp-ad__house b{color:#ff8a83}
.hp-brand__ad .hp-ad__house:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
@media (max-width:1023px){
  .hp-brand__ad .hp-ad--display{max-width:var(--ad-mw)}
  .hp-brand__ad .hp-ad__label{position:static;color:#8a90a0;margin:0 0 4px}
  .hp-brand__ad .hp-ad__house{aspect-ratio:auto;height:auto;min-height:50px;background:#f7f8fa;border-color:#b9bfcc;color:#4a4f5c}
  .hp-brand__ad .hp-ad__house b{color:#CA0000}
}

/* modalità "mappa spazi" (solo staff): cornici dei punti di inserimento con le posizioni a misura reale */
.hp-admap{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 10px 10px;border:2px dashed #CA0000;border-radius:6px;background:rgba(202,0,0,.04)}
.hp-admap__tag{position:absolute;left:8px;top:4px;right:8px;display:flex;gap:8px;align-items:baseline;overflow:hidden;white-space:nowrap;font:700 11px Montserrat,Arial,sans-serif;color:#CA0000;letter-spacing:.02em}
.hp-admap__tag code{font:600 10px ui-monospace,Menlo,monospace;color:#8a90a0}
.hp-admap__pos{display:block;width:100%;max-width:var(--ad-dw,100%);text-decoration:none;color:#1E305A}
.hp-admap__box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;aspect-ratio:var(--ad-dar,auto);padding:6px 10px;border-radius:4px;background:repeating-linear-gradient(45deg,#fbe6e6 0 8px,#fff 8px 16px);border:2px solid #CA0000;text-align:center;overflow:hidden}
.hp-admap__box b{font:800 14px/1.1 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase}
.hp-admap__box span{font:700 12px Montserrat,Arial,sans-serif;color:#CA0000}
.hp-admap__box i{font:500 12px Roboto,Arial,sans-serif;color:#4a4f5c;font-style:normal}
.hp-admap__pos.is-sold .hp-admap__box{background:repeating-linear-gradient(45deg,#e6ecf8 0 8px,#fff 8px 16px);border-color:#1E305A}
.hp-admap__pos.is-off .hp-admap__box{opacity:.5;border-style:dashed;border-color:#8a90a0}
.hp-admap__pos:hover .hp-admap__box{box-shadow:0 0 0 4px rgba(202,0,0,.18)}
.hp-admap__pos--skin .hp-admap__box,.hp-admap__pos--carosello .hp-admap__box,.hp-admap__pos--nativo .hp-admap__box{aspect-ratio:auto;min-height:64px}
.hp-admap__empty{display:block;width:100%;padding:10px;text-align:center;font:500 13px Roboto,Arial,sans-serif;color:#4a4f5c;text-decoration:none;border-radius:4px;background:#fff}
.hp-admap__empty b{color:#CA0000}
.hp-brand .hp-admap{padding-top:22px;background:rgba(255,255,255,.08)}
.hp-brand .hp-admap__tag{color:#ff8a83}
@media (max-width:1023px){.hp-admap__pos{max-width:var(--ad-mw,100%)}.hp-admap__box{aspect-ratio:var(--ad-mar,auto)}.hp-brand .hp-admap{background:rgba(202,0,0,.04)}.hp-brand .hp-admap__tag{color:#CA0000}}
.hp-admap-bar{position:fixed;left:12px;bottom:12px;z-index:1500;max-width:min(560px,calc(100vw - 24px));display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 14px;background:#111;color:#fff;border-left:5px solid #CA0000;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,.35);font:500 13px/1.4 Roboto,Arial,sans-serif}
.hp-admap-bar b{font:800 14px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.hp-admap-bar span{flex:1 1 100%;color:#c9d2e8}
.hp-admap-bar a{color:#fff;font:700 12px Montserrat,Arial,sans-serif;text-decoration:underline}
.hp-admap-bar a.is-exit{color:#ff8a83}
@media (max-width:1023px){.hp-admap-bar{bottom:calc(76px + env(safe-area-inset-bottom))}}

/* colonna laterale della puntata: il formato in fondo resta visibile scorrendo (sticky) */
@media (min-width:1024px){.hpep-side [data-hp-anchor="puntata.laterale-basso"]{position:sticky;top:96px}}

/* fasce 1272 px (home: sotto il menu, sotto «Da dove iniziare», sotto «Ospiti», sopra il footer):
   Intero 1272×120 oppure Doppio = due banner autonomi 626×120 con 20 px di spazio, allineati al margine interno del
   contenuto (1272 px); su schermi più stretti scalano in proporzione. */
.hp-anc--fascia{width:100%;max-width:1272px;margin-inline:auto;align-items:stretch}
.hp-anc--fascia .hp-ad--display{max-width:none}
.hp-anc--fascia .hp-ad__house{height:auto;aspect-ratio:var(--ad-dar)}
.hp-anc__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;align-items:end;width:100%}
.hp-anc__cell{min-width:0;display:flex;flex-direction:column;gap:12px}
@media (max-width:1023px){.hp-anc--fascia .hp-ad--display{max-width:var(--ad-mw)}.hp-anc--fascia .hp-ad__house{aspect-ratio:auto;height:var(--ad-fm,90px)}}
/* Doppio: sempre affiancati (anche su telefono), 20 px di separazione, proporzioni 626×120 mantenute */
.hp-anc__split .hp-ad--display{max-width:none}
.hp-anc__split .hp-ad__box{aspect-ratio:var(--ad-dar)}
.hp-anc__split .hp-ad__house{height:auto;aspect-ratio:var(--ad-dar);padding:4px 8px;font-size:clamp(10px,1.1vw,14px);gap:2px 10px}
.hp-anc__split .hp-ad__house b{font-size:clamp(10px,1vw,13px)}
.hp-ad-row:has(.hp-anc--fascia){padding-top:20px}

/* BANNER A DESTRA DEL LOGO: 260×90 tra logo e banner della testata (solo desktop) */
.hp-brand__side .hp-anc{gap:0}
.hp-brand__side .hp-ad{position:relative}
.hp-brand__side .hp-ad--display{max-width:none}
.hp-brand__side .hp-ad__label{position:absolute;right:0;top:-14px;margin:0;color:rgba(255,255,255,.6)}
.hp-brand__side .hp-ad__house{height:auto;aspect-ratio:var(--ad-dar);padding:6px;font-size:12px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#dfe5f2}
.hp-brand__side .hp-ad__house b{color:#ff8a83;font-size:11px}
.hp-ad__box--own{background:transparent}
.hp-ad__box--own img{object-fit:cover}
/* BANNER A DESTRA DEL LOGO: mai la scritta «Pubblicità» (richiesta editoriale) */
.hp-brand__side .hp-ad__label{display:none !important}
/* spazi vuoti visibili solo allo staff loggato (i visitatori non li ricevono nemmeno nell'HTML) */
.hp-ad--staff{position:relative;outline:2px dashed #CA0000;outline-offset:3px}
.hp-ad__staff{position:absolute;z-index:3;top:-11px;right:8px;background:#CA0000;color:#fff;font:700 10px/1 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:3px;pointer-events:auto;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.hp-brand__ad .hp-ad__staff,.hp-brand__side .hp-ad__staff{top:2px;right:2px}
/* fine articolo: la colonna di testo è 760 px, il banner largo 836 esce di 38 px per lato (centrato) per restare intero */
@media (min-width:900px){[data-hp-anchor="articolo.fine"]{align-self:center;width:min(836px,calc(100vw - 48px));max-width:none}}
