/** Territorio singolo — layout editoriale BikeFVG. */
.bikefvg-territory-main{box-sizing:border-box;width:100%;max-width:none;margin:0!important;padding:0!important}
/* Lo shortcode puo essere preceduto da un paragrafo vuoto generato da wpautop: nella
 * pagina Territorio non deve mai creare una fascia fra header e hero. */
.bikefvg-territory-main>p,.bikefvg-territory-main>br{display:none!important}
.bikefvg-territory-main>*{margin-block-start:0!important;margin-block-end:0}
.bikefvg-territory-main>.wp-block-shortcode{display:block;width:100%;max-width:none;margin:0!important;padding:0!important}
.bikefvg-territory-main>.wp-block-shortcode>.bikefvg-territory-page{width:100%;margin:0!important}
.bikefvg-territory-page{width:100%;margin:0!important;overflow:clip}
.bikefvg-territory-page>.bikefvg-section{padding-block:clamp(2.6rem,3.6vw,4rem)}

/* Hero ------------------------------------------------------------------- */
.bikefvg-territory-hero{position:relative;display:grid;align-items:center;min-height:clamp(22rem,28vw,28rem);background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper);overflow:hidden}
.bikefvg-territory-hero:not(.has-media){min-height:clamp(16rem,20vw,18.5rem)}
.bikefvg-territory-hero__media{position:absolute;inset:0;overflow:hidden}
.bikefvg-territory-hero__media picture{display:block;width:100%;height:100%}
.bikefvg-territory-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,28,24,.82) 0%,rgba(20,28,24,.58) 38%,rgba(20,28,24,.18) 72%,rgba(20,28,24,.06) 100%);z-index:1}
.bikefvg-territory-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--bfvg-territory-hero-x,50%) var(--bfvg-territory-hero-y,50%);transform:scale(var(--bfvg-territory-hero-zoom,1));transform-origin:var(--bfvg-territory-hero-x,50%) var(--bfvg-territory-hero-y,50%)}
.bikefvg-territory-hero__content{position:relative;z-index:2;width:min(var(--bfvg-content),calc(100% - 2 * var(--bfvg-gutter)));margin-inline:auto;padding-block:clamp(2.1rem,2.7vw,3.15rem)}
.bikefvg-territory-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 clamp(1.35rem,2vw,2rem);font-size:.78rem;font-weight:650;color:rgba(255,255,255,.75)}
.bikefvg-territory-breadcrumb a{color:inherit;text-decoration:none}
.bikefvg-territory-breadcrumb a:hover{text-decoration:underline;text-underline-offset:.2em}
.bikefvg-territory-breadcrumb [aria-current="page"]{color:#fff}
.bikefvg-territory-hero h1{max-width:18ch;margin:.3rem 0 .7rem;font-size:clamp(2.65rem,4.15vw,4.1rem);line-height:1}
.bikefvg-territory-hero .bikefvg-lead{max-width:42rem;margin:0;color:inherit;font-size:var(--wp--custom--type--lead);line-height:1.5}
.bikefvg-territory-hero__stats{display:flex;flex-wrap:wrap;gap:1rem clamp(1.5rem,3vw,2.7rem);margin-top:1.4rem}
.bikefvg-territory-hero__stats span{display:grid;gap:.12rem;min-width:6.2rem;color:rgba(255,255,255,.86);font-size:.84rem}
.bikefvg-territory-hero__stats strong{font-size:1.28rem;line-height:1;color:#fff}

/* Orientamento + mappa ---------------------------------------------------- */
.bikefvg-territory-overview{background:var(--wp--preset--color--paper)}
.bikefvg-territory-overview__grid{display:grid;gap:clamp(2rem,3.6vw,3.5rem);align-items:start}
.bikefvg-territory-overview__copy h2{max-width:19ch;margin:.3rem 0 1rem;font-size:clamp(2rem,2.75vw,2.8rem);line-height:1.06}
.bikefvg-territory-overview__copy>.bikefvg-lead{max-width:42rem;margin:0 0 1.45rem;font-size:1rem;line-height:1.55}
.bikefvg-territory-reasons{display:grid;gap:0;border-block:1px solid var(--bfvg-line)}
.bikefvg-territory-reason{padding:.9rem 0;border-bottom:1px solid var(--bfvg-line)}
.bikefvg-territory-reason:last-child{border-bottom:0}
.bikefvg-territory-reason h3{margin:0 0 .3rem;font-size:.74rem;line-height:1.25;text-transform:uppercase;letter-spacing:.075em}
.bikefvg-territory-reason p{margin:0;color:var(--wp--preset--color--ink-secondary);font-size:.9rem;line-height:1.48}
.bikefvg-territory-overview__map{min-width:0}
.bikefvg-territory-overview__map-head{display:flex;align-items:baseline;justify-content:flex-end;gap:1rem;margin:0 0 .7rem}
.bikefvg-territory-overview__map-head h3{margin:0;font-size:1rem}
.bikefvg-territory-overview__map-head .bikefvg-text-link{flex:0 0 auto;font-size:.82rem}
.bikefvg-territory-overview__map .bfvg-territory-map__svg{height:clamp(20rem,27vw,26rem);box-sizing:border-box;border:1px solid var(--bfvg-line);border-radius:var(--bfvg-card-radius,16px)}
.bikefvg-territory-overview__map .bfvg-territory-map__canvas{height:clamp(20rem,27vw,26rem);border:1px solid var(--bfvg-line);border-radius:var(--bfvg-card-radius,16px)}
.bikefvg-territory-overview__map .bfvg-territory-map__credit{margin-top:.18rem!important;padding:.08rem 0 0;background:transparent;font-size:.66rem;line-height:1.4}

/* Sezioni itinerari / servizi -------------------------------------------- */
#territory-routes{background:color-mix(in srgb,var(--wp--preset--color--panel) 42%,var(--wp--preset--color--paper))}
#territory-services{background:color-mix(in srgb,var(--wp--preset--color--panel) 42%,var(--wp--preset--color--paper))}
.bikefvg-territory-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.15rem;padding:0;overflow:visible}
.bikefvg-territory-filter{display:inline-flex;align-items:center;min-height:2.55rem;padding:.46rem .8rem;border:1px solid var(--wp--preset--color--surface-alt);border-radius:var(--wp--custom--radius--control,12px);text-decoration:none;white-space:nowrap;color:var(--wp--preset--color--ink);background:var(--wp--preset--color--paper)}
.bikefvg-territory-filter.is-active{border-color:var(--wp--preset--color--ink);background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper)}
.bikefvg-territory-filter:focus-visible{outline:3px solid var(--wp--preset--color--focus);outline-offset:2px}

/* .253 — itinerary cards and their grid use the archive styles without local variants. */
.bikefvg-territory-service-grid{display:grid;gap:1rem}
.bikefvg-territory-service-grid>.bikefvg-service-archive__card{min-width:0}
.bikefvg-territory-service-grid .bikefvg-service-archive__partner-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* Eventi e Diario --------------------------------------------------------- */
.bikefvg-territory-stories{background:var(--wp--preset--color--paper)}
.bikefvg-territory-stories .bikefvg-section__head p:last-child{max-width:48rem;margin:.35rem 0 0;color:var(--wp--preset--color--ink-secondary)}
.bikefvg-territory-editorial-grid{display:grid;gap:1rem}
.bikefvg-territory-editorial-card{overflow:hidden;border:1px solid var(--bfvg-line);border-radius:var(--bfvg-card-radius,16px);background:var(--wp--preset--color--paper)}
.bikefvg-territory-editorial-card__media{display:block;aspect-ratio:16/9;overflow:hidden}
.bikefvg-territory-editorial-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.bikefvg-territory-editorial-card__body{padding:1rem}
.bikefvg-territory-editorial-card__body .bikefvg-eyebrow{margin:0 0 .35rem}
.bikefvg-territory-editorial-card h3{margin:0;font-size:1.08rem}
.bikefvg-territory-editorial-card h3 a{color:inherit;text-decoration:none}
.bikefvg-territory-editorial-card__body>p:last-child{margin:.45rem 0 0;color:var(--wp--preset--color--ink-secondary)}

/* Partner — volutamente discreti e compatti. ------------------------------ */
.bikefvg-territory-partners{padding-block:clamp(1.9rem,2.6vw,2.8rem)!important;border-top:1px solid var(--bfvg-line);background:var(--wp--preset--color--paper)}
.bikefvg-territory-partners .bikefvg-section__head{margin-bottom:1rem}
.bikefvg-territory-partners .bikefvg-section__head h2{font-size:clamp(1.7rem,2.1vw,2.15rem)}
.bikefvg-territory-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),20rem));justify-content:start;gap:.8rem}
.bikefvg-territory-partner-card{overflow:hidden;border:1px solid var(--bfvg-line);border-radius:var(--bfvg-card-radius,16px);background:var(--wp--preset--color--paper)}
.bikefvg-territory-partner-card__media{display:block;aspect-ratio:16/7;overflow:hidden;background:var(--wp--preset--color--surface-alt)}
.bikefvg-territory-partner-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.bikefvg-territory-partner-card__body{padding:.85rem .9rem .95rem}
.bikefvg-territory-partner-card__kicker{margin:0 0 .3rem;color:var(--wp--preset--color--accent);font-size:var(--bfvg-font-meta);font-weight:700;letter-spacing:.01em}
.bikefvg-territory-partner-card h3{margin:0;font-size:1.05rem;line-height:1.15}
.bikefvg-territory-partner-card h3 a{color:inherit;text-decoration:none}
.bikefvg-territory-partner-card__meta,.bikefvg-territory-partner-card__place{margin:.35rem 0 0;color:var(--wp--preset--color--ink-secondary);font-size:.78rem;line-height:1.35}
.bikefvg-territory-partner-card .bikefvg-text-link{margin-top:.45rem;font-size:.78rem;min-height:2rem}

/* Continua a esplorare ---------------------------------------------------- */
.bikefvg-territory-related{padding-block:clamp(2rem,2.6vw,2.75rem)!important;background:color-mix(in srgb,var(--wp--preset--color--panel) 66%,var(--wp--preset--color--paper))}
/* Flex, non Grid: evita qualsiasi vecchia regola di grid-column che possa
 * sopravvivere in CSS personalizzato/cache e garantisce una sola riga ordinata. */
.bikefvg-territory-related__grid{display:flex!important;flex-flow:row nowrap!important;gap:clamp(.85rem,1.25vw,1.15rem);align-items:stretch!important;justify-content:flex-start!important;width:100%}
.bikefvg-territory-related__card{display:flex!important;flex:1 1 0!important;flex-direction:column!important;align-self:stretch!important;min-width:0!important;max-width:none!important;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;grid-column:auto!important;grid-row:auto!important;transform:none;border:1px solid var(--bfvg-line);border-radius:var(--bfvg-card-radius,16px);background:var(--wp--preset--color--paper);overflow:hidden;text-decoration:none;color:var(--wp--preset--color--ink);line-height:normal;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
/* WordPress può introdurre br/p di formattazione nel risultato di shortcode.
 * In una card flex diventano veri elementi e producono le fasce vuote viste a video. */
.bikefvg-territory-related__card>br,.bikefvg-territory-related__card>p:empty{display:none!important}
.bikefvg-territory-related__card>p{margin:0!important;padding:0!important}
.bikefvg-territory-related__media{display:block!important;flex:0 0 auto;width:100%;aspect-ratio:16/7.25;overflow:hidden;background:var(--wp--preset--color--surface-alt)}
.bikefvg-territory-related__media>br,.bikefvg-territory-related__media>p:empty{display:none!important}
.bikefvg-territory-related__media img{display:block!important;width:100%;height:100%;margin:0!important;object-fit:cover;transition:transform .28s ease}
.bikefvg-territory-related__body{display:flex!important;flex:1 1 auto;align-items:center;justify-content:space-between;gap:1rem;min-height:4.8rem!important;margin:0!important;padding:.88rem 1rem .92rem}
.bikefvg-territory-related__body>br,.bikefvg-territory-related__body>p:empty{display:none!important}
.bikefvg-territory-related__body>span{display:grid;gap:.16rem;min-width:0}
.bikefvg-territory-related__body strong{font-size:1.02rem;line-height:1.18}
.bikefvg-territory-related__body small{color:var(--wp--preset--color--ink-secondary);font-size:.74rem;line-height:1.3}
.bikefvg-territory-related__payoff{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:34ch;margin-top:.08rem}
.bikefvg-territory-related__meta{margin-top:.04rem}
.bikefvg-territory-related__body b{display:grid;place-items:center;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;border-radius:999px;font-size:1rem;line-height:1;color:var(--wp--preset--color--accent);font-weight:500;transition:background .18s ease,transform .18s ease}
/* Senza foto la card deve sembrare una voce di navigazione, non un grande
 * placeholder vuoto. */
.bikefvg-territory-related__card:not(.has-media) .bikefvg-territory-related__body{min-height:5.25rem!important}
.bikefvg-territory-related__card:hover{border-color:var(--wp--preset--color--accent);box-shadow:0 8px 24px rgba(30,36,32,.07);transform:translateY(-2px)}
.bikefvg-territory-related__card:hover .bikefvg-territory-related__media img{transform:scale(1.018)}
.bikefvg-territory-related__card:hover .bikefvg-territory-related__body b{background:color-mix(in srgb,var(--wp--preset--color--accent) 10%,transparent);transform:translateX(2px)}



/* 0.7.0-test.180 — testate sezione coerenti con il sistema BikeFVG.
 * Eyebrow e link archivio condividono la stessa riga; il titolo resta sotto. */
.bikefvg-territory-section-head{margin-bottom:var(--wp--preset--spacing--30)}
.bikefvg-territory-section-head__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1rem}
.bikefvg-territory-section-head__top .bikefvg-eyebrow{margin:0}
.bikefvg-territory-section-head__top .bikefvg-text-link{margin-left:auto;min-height:2rem;font-family:var(--wp--preset--font-family--body);font-size:.875rem;font-weight:700;line-height:1.25}
.bikefvg-territory-section-head>h2{margin:0}

/* 0.7.0-test.179 — separazione cromatica Orientarsi/Pedala e mappa semplificata.
 * Mantiene la struttura della .176: nessuna barra breadcrumb autonoma,
 * nessuna summary strip e nessun layout alternato delle card correlate. */
@media (min-width:48rem){
 .bikefvg-territory-hero__stats{flex-wrap:nowrap}
 .bikefvg-territory-related__grid{align-items:stretch!important}
 .bikefvg-territory-related__card{height:auto!important}
}
@media (min-width:48rem){
 .bikefvg-territory-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bikefvg-territory-editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:70rem){
 .bikefvg-territory-overview__grid{grid-template-columns:minmax(0,1.08fr) minmax(27rem,.92fr)}
 .bikefvg-territory-overview__map{position:sticky;top:calc(var(--bfvg-header-sticky-offset,5rem) + 1rem);align-self:start}
 /* test.408 — le tre motivazioni restano tre righe anche su desktop: più leggibili
    e coerenti con l'altezza della mappa, senza effetto tabella a tre colonne. */
 .bikefvg-territory-reasons{grid-template-columns:1fr}
 .bikefvg-territory-reason{padding:1.05rem 0;border-right:0;border-bottom:1px solid var(--bfvg-line)}
 .bikefvg-territory-reason:last-child{border-bottom:0}
 .bikefvg-territory-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:47.99rem){
 .bikefvg-territory-hero{min-height:22rem}
 .bikefvg-territory-hero:not(.has-media){min-height:16rem}
 .bikefvg-territory-hero__media img{object-position:var(--bfvg-territory-hero-mobile-x,var(--bfvg-territory-hero-x,50%)) var(--bfvg-territory-hero-mobile-y,var(--bfvg-territory-hero-y,50%));transform:scale(var(--bfvg-territory-hero-mobile-zoom,var(--bfvg-territory-hero-zoom,1)));transform-origin:var(--bfvg-territory-hero-mobile-x,var(--bfvg-territory-hero-x,50%)) var(--bfvg-territory-hero-mobile-y,var(--bfvg-territory-hero-y,50%))}
 .bikefvg-territory-hero__content{padding-block:1.7rem 2rem}
 .bikefvg-territory-breadcrumb{margin-bottom:1.2rem;font-size:.72rem}
 .bikefvg-territory-hero__stats{gap:1rem 1.5rem}
 .bikefvg-territory-hero__stats span{min-width:5.5rem}
 .bikefvg-territory-overview__map{margin-top:.5rem}
 .bikefvg-territory-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:.35rem}
 .bikefvg-territory-related__grid{flex-direction:column!important}
}


/* 0.7.0-test.181 — alternanza dinamica delle sezioni Territorio.
 * La hero resta indipendente; tutte le sezioni contenuto alternano Paper/Panel
 * anche quando Storie o Partner non sono presenti nel singolo territorio. */
.bikefvg-territory-page>section.bikefvg-section:nth-of-type(even){
 background:var(--wp--preset--color--paper)!important;
}
.bikefvg-territory-page>section.bikefvg-section:nth-of-type(odd){
 background:color-mix(in srgb,var(--wp--preset--color--panel) 48%,var(--wp--preset--color--paper))!important;
}


/* 0.7.0-test.184 — disclosure nativa e deterministica.
 * I primi 6 elementi sono renderizzati nella griglia principale; tutti gli altri
 * vivono dentro <details>, quindi restano chiusi anche se JavaScript non parte. */
.bikefvg-territory-more{
 margin-top:1.15rem;
 padding-top:1rem;
 border-top:1px solid var(--bfvg-line);
}
.bikefvg-territory-more>summary{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:1rem;
 min-height:2.75rem;
 list-style:none;
 cursor:pointer;
 color:var(--wp--preset--color--ink);
}
.bikefvg-territory-more>summary::-webkit-details-marker{display:none}
.bikefvg-territory-more>summary::marker{content:""}
.bikefvg-territory-more__status{
 color:var(--wp--preset--color--ink-secondary);
 font-size:.82rem;
 line-height:1.35;
}
.bikefvg-territory-more__action{
 display:inline-flex;
 align-items:center;
 gap:.45rem;
 min-height:2.55rem;
 padding:.5rem .85rem;
 border:1px solid var(--wp--preset--color--surface-alt);
 border-radius:var(--wp--custom--radius--control,12px);
 background:var(--wp--preset--color--paper);
 color:var(--wp--preset--color--ink);
 font:700 .875rem/1.2 var(--wp--preset--font-family--body);
 transition:border-color .18s ease,color .18s ease,background .18s ease;
}
.bikefvg-territory-more>summary:hover .bikefvg-territory-more__action{
 border-color:var(--wp--preset--color--accent);
 color:var(--wp--preset--color--accent);
}
.bikefvg-territory-more>summary:focus-visible{
 outline:3px solid var(--wp--preset--color--focus);
 outline-offset:4px;
 border-radius:var(--wp--custom--radius--control,12px);
}
.bikefvg-territory-more__open{display:none}
.bikefvg-territory-more[open] .bikefvg-territory-more__closed{display:none}
.bikefvg-territory-more[open] .bikefvg-territory-more__open{display:inline}
.bikefvg-territory-more__arrow{display:inline-block;transition:transform .18s ease}
.bikefvg-territory-more[open] .bikefvg-territory-more__arrow{transform:rotate(180deg)}
.bikefvg-territory-more__grid{margin-top:1rem}
@media (max-width:40rem){
 .bikefvg-territory-more>summary{align-items:flex-start;flex-direction:column}
}


/* 0.7.0-test.410 — Orientarsi come cartolina territoriale + credito mappa realmente aderente.
 * Il trattamento riprende l'atlante-cartolina di /territori/: carta, grana, bordo e ombra,
 * senza timbro. Nel contesto single la legenda della mappa non esiste: il credito passa
 * quindi esplicitamente alla seconda riga della griglia, subito sotto il canvas, invece
 * di restare nella terza riga prevista dal componente generico. */
.bikefvg-territory-overview__grid{
 box-sizing:border-box;
 padding:clamp(1rem,.82rem + .9vw,1.75rem);
 border:1px solid var(--bfvg-line);
 background-color:var(--wp--preset--color--paper);
 background-image:url('../images/diary-paper-grain.svg');
 background-repeat:repeat;
 background-size:180px 180px;
 box-shadow:
  0 3px 6px color-mix(in srgb,var(--wp--preset--color--ink) 8%,transparent),
  0 20px 30px -20px color-mix(in srgb,var(--wp--preset--color--ink) 40%,transparent);
}
.bikefvg-territory-overview__map .bfvg-territory-map--single{
 grid-template-rows:auto auto;
 row-gap:0;
}
.bikefvg-territory-overview__map .bfvg-territory-map--single .bfvg-territory-map__legend{
 display:none!important;
}
.bikefvg-territory-overview__map .bfvg-territory-map--single .bfvg-territory-map__credit{
 grid-area:2 / 1;
 margin:.24rem 0 0!important;
 padding:0!important;
 background:transparent!important;
 font-size:.66rem;
 line-height:1.35;
}
@media (forced-colors:active){
 .bikefvg-territory-overview__grid{background-image:none;box-shadow:none}
}
