
/* Ricette Regionali: integrazione ristoranti Abruzzo - componente indipendente */
:root{--r-green:#2d624f;--r-dark:#203932;--r-cream:#f8f6ef;--r-muted:#586960;--r-line:#e3e7df}
.restaurant-section{margin:50px 0 22px;padding:36px;background:linear-gradient(140deg,#f5f8f3,#fffdf8);border:1px solid #e2e9df;border-radius:24px}
.restaurant-section .eyebrow,.restaurant-kicker{color:#277454;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.79rem}
.restaurant-section .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 24px}
.restaurant-section .section-head p{max-width:470px}
.restaurant-section h2{margin:.35em 0;color:#183d31;font-size:clamp(1.65rem,2.8vw,2.45rem)}
.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.restaurant-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--r-line);border-radius:18px;box-shadow:0 9px 28px rgba(20,50,32,.05);transition:transform .2s ease,box-shadow .2s ease}
.restaurant-card:hover{transform:translateY(-5px);box-shadow:0 15px 34px rgba(20,50,32,.12)}
.restaurant-card__cover{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#e6e2d6}
.restaurant-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.restaurant-card:hover img{transform:scale(1.035)}

.restaurant-card__body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.restaurant-card__tag{color:#326d52;text-transform:uppercase;letter-spacing:.07em;font-size:.73rem;font-weight:800;margin:0 0 8px}
.restaurant-card h3{font-size:1.42rem;line-height:1.18;margin:0 0 8px;color:#1d382e}
.restaurant-card h3 a{text-decoration:none;color:inherit}
.restaurant-card__place{font-size:.87rem;font-weight:750;margin:0 0 13px;color:#56665d}
.restaurant-card__desc{color:#40534b;line-height:1.6;font-size:.94rem;margin:0 0 18px}
.restaurant-card__cta{display:inline-flex;align-items:center;gap:8px;color:#216144;font-weight:800;text-decoration:none;margin-top:auto}
.restaurant-disclaimer{font-size:.79rem;color:#62726a;line-height:1.6;margin:22px 0 0}
/* Hero delle schede ristorante: stessa identita visiva delle pagine Tradizione. */
.restaurant-detail-page .restaurant-hero{
 position:relative;isolation:isolate;overflow:hidden;
 display:flex;align-items:center;
 min-height:clamp(250px,27vw,330px);
 padding:38px 0 48px;
 background:#f4ead8;color:#2b2118;
}
.restaurant-detail-page .restaurant-hero::before{
 content:"";position:absolute;inset:0;z-index:-1;
 background:linear-gradient(90deg, rgba(250, 246, 237, .88) 0%, rgba(250, 246, 237, .72) 38%, rgba(250, 246, 237, .20) 72%, rgba(250, 246, 237, 0) 100%);
}
.restaurant-detail-page .restaurant-hero .container{position:relative;z-index:1}
.restaurant-detail-page .restaurant-hero .kicker{
 margin:0 0 12px;color:#8e4930;
 font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
}
.restaurant-detail-page .restaurant-hero h2,
.restaurant-detail-page .restaurant-hero h1{
 max-width:760px;margin:0;color:#2b2118;
 font-family:Georgia,'Times New Roman',serif;
 font-size:clamp(1.8rem,3.8vw,2.8rem);
 font-weight:700;line-height:.98;letter-spacing:-.045em;text-wrap:balance;
}
.restaurant-detail-page .restaurant-hero p:not(.kicker){
 max-width:600px;margin:14px 0 0;color:#5c5042;
 font-size:clamp(1rem,2vw,1.2rem);line-height:1.6;
}
.restaurant-detail-page .restaurant-hero p.restaurant-hero__note{
 margin-top:10px;color:#5c5042;opacity:1;
 font-size:.75rem;line-height:1.5;
}
.restaurant-detail-wrap{padding:36px 0 75px;background:linear-gradient(#fff,#f9faf7)}
.restaurant-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:32px;align-items:start}
.restaurant-main h2,.restaurant-sidebar h2{font-size:1.8rem;color:var(--r-dark);margin:0 0 16px}
.restaurant-intro{font-size:1.13rem;line-height:1.85;color:#384f43;margin:0 0 28px}
.restaurant-panel{background:white;border:1px solid var(--r-line);border-radius:18px;padding:27px;margin:0 0 25px;box-shadow:0 6px 20px #163f2608}
.restaurant-panel p{line-height:1.75;color:#45554d}
.restaurant-panel ul{padding-left:20px;line-height:1.75}
.restaurant-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.restaurant-dish{background:#f9faf6;border:1px solid #e5ebe2;border-radius:14px;overflow:hidden}
.restaurant-dish img{display:block;width:100%;height:365px;max-height:365px;object-fit:cover;object-position:center}
.restaurant-dish__body{padding:15px}
.restaurant-dish h3{font-size:1.05rem;line-height:1.3;color:#223d31;margin:0 0 7px}
.restaurant-dish p{margin:0;font-size:.88rem;line-height:1.55;color:#55645c}
.restaurant-sidebar{position:sticky;top:110px}
.restaurant-sidebar .restaurant-panel{padding:23px}
.restaurant-facts{list-style:none;padding:0!important;margin:0}
.restaurant-facts li{border-bottom:1px solid var(--r-line);padding:12px 0;word-break:break-word;line-height:1.6}
.restaurant-facts li:last-child{border-bottom:0}
.restaurant-facts strong{display:block;font-size:.74rem;color:#77877a;text-transform:uppercase;letter-spacing:.08em}
.restaurant-facts a,.restaurant-main a{color:#25634a;overflow-wrap:anywhere}
.restaurant-action{display:block;text-align:center;background:#2e684d;color:#fff!important;text-decoration:none;border-radius:12px;padding:13px 15px;margin-top:13px;font-weight:750}
.restaurant-action--secondary{background:#edf4ee!important;color:#2e684d!important}
.restaurant-note{padding:13px 15px;background:#f2f6eb;border-radius:12px;font-size:.84rem!important;line-height:1.65!important}
.restaurant-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:28px}
.restaurant-navigation a{border:1px solid var(--r-line);border-radius:14px;padding:16px;text-decoration:none;background:white}
.restaurant-navigation span{display:block;font-size:.72rem;color:#637d70}
.restaurant-navigation strong{display:block;margin-top:5px}
.restaurant-sources{font-size:.83rem}
.restaurant-sources li{margin-bottom:8px}
.restaurant-footer-note{font-size:.78rem;color:#66776c}
@media(max-width:1000px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-detail-grid{grid-template-columns:minmax(0,1fr) 280px}.restaurant-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.restaurant-section{padding:23px 15px;margin:30px 0}.restaurant-section .section-head{display:block}.restaurant-grid{grid-template-columns:1fr}.restaurant-detail-grid{display:block}.restaurant-sidebar{position:static}.restaurant-menu{grid-template-columns:1fr 1fr}.restaurant-panel{padding:20px}.restaurant-navigation{grid-template-columns:1fr}}
@media(max-width:460px){.restaurant-menu{grid-template-columns:1fr}.restaurant-dish{display:grid;grid-template-columns:110px minmax(0,1fr)}.restaurant-dish img{height:100%;aspect-ratio:1}.restaurant-dish__body{padding:12px}}

.restaurant-detail-page .restaurant-hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}


/* Piatti simbolo Abruzzo: composizione editoriale coerente con il box vini.
 * Classi esclusive per evitare conflitti con le classi icon-card del tema. */
.tradition-shell .symbol-dishes{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0 0 28px}
.tradition-shell .symbol-dish{display:grid;grid-template-columns:minmax(0,35%) minmax(0,65%);min-height:272px;overflow:hidden;background:#f8f4eb;border:1px solid #e5dace;border-radius:20px;box-shadow:0 8px 24px rgba(50,39,20,.075)}
.tradition-shell .symbol-dish__photo{position:relative;display:block;min-height:272px;overflow:hidden;background:#e8ded0}
.tradition-shell .symbol-dish__photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tradition-shell .symbol-dish__content{padding:26px 34px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.tradition-shell .symbol-dish__eyebrow{margin:0 0 9px;color:#994229;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tradition-shell .symbol-dish__content h3{margin:0 0 11px;color:#271d19;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.15}
.tradition-shell .symbol-dish__content h3 a{color:inherit;text-decoration:none}
.tradition-shell .symbol-dish__content h3 a:hover{text-decoration:underline}
.tradition-shell .symbol-dish__content>p:not(.symbol-dish__eyebrow){margin:0;color:#62584e;font-size:.94rem;line-height:1.7}
.tradition-shell .symbol-dish__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
.tradition-shell .symbol-dish__button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:24px;background:#415e49;color:#fff!important;text-decoration:none;font-size:.84rem;font-weight:750;line-height:1.35}
.tradition-shell .symbol-dish__button:hover{background:#304d3a}
.tradition-shell .symbol-dish__recipe{font-size:.85rem;font-weight:700;color:#7d3826;text-decoration:none}
.tradition-shell .symbol-dish__recipe:hover{text-decoration:underline}
@media(max-width:720px){
 .tradition-shell .symbol-dish{grid-template-columns:1fr;min-height:0}
 .tradition-shell .symbol-dish__photo{min-height:0;height:210px}
 .tradition-shell .symbol-dish__content{padding:21px 23px 24px}
 .tradition-shell .symbol-dish__content h3{font-size:1.65rem}
}

/* Basilicata: fotografie dei piatti compatte come nell’Abruzzo validato */
.restaurant-menu .restaurant-dish img{height:185px;max-height:185px;aspect-ratio:auto;object-fit:cover;object-position:center}
@media(max-width:460px){.restaurant-menu .restaurant-dish img{height:130px;max-height:130px}}

/* Dimensioni e leggibilita della hero su tablet e smartphone. */
@media(max-width:800px){
 .restaurant-detail-page .restaurant-hero{min-height:300px;padding:34px 0 40px}
}
@media(max-width:560px){
 .restaurant-detail-page .restaurant-hero{min-height:280px;padding:34px 0 44px}
 .restaurant-detail-page .restaurant-hero h2,
 .restaurant-detail-page .restaurant-hero h1{font-size:clamp(1.65rem,8vw,2.3rem)}
 .restaurant-detail-page .restaurant-hero p:not(.kicker){font-size:.98rem}
}

/* Adjusted restaurant visuals */
.restaurant-hero::before{background:linear-gradient(90deg,rgba(250,246,237,.88) 0%,rgba(250,246,237,.72) 38%,rgba(250,246,237,.20) 72%,rgba(250,246,237,0) 100%)!important}.restaurant-hero .container,.restaurant-hero h2,.restaurant-hero .kicker{color:#2b2118!important;text-shadow:none!important}.restaurant-hero h2{font-size:clamp(1.8rem,3.8vw,2.8rem)!important;line-height:1.05!important}.restaurant-hero .container>p:not(.kicker):not(.restaurant-hero__note){font-size:clamp(1rem,1.7vw,1.1rem)!important;color:#5c5042!important}.restaurant-hero .restaurant-hero__note{font-size:.76rem!important;max-width:620px!important;color:#5c5042!important}
.tradition-symbol-rows{display:grid;grid-template-columns:1fr;gap:18px;margin-block:18px 36px}.tradition-symbol{display:grid;grid-template-columns:minmax(200px,34%) 1fr;max-height:none;min-height:240px;overflow:hidden;background:#f8f3ea;border-radius:20px;box-shadow:0 8px 26px rgba(47,38,28,.10)}.tradition-symbol img{height:100%;width:100%;max-height:290px;object-fit:cover}.tradition-symbol__body{padding:26px 30px}.tradition-symbol__body h3{font-family:Georgia,serif;font-size:1.7rem;line-height:1.1;margin:8px 0 12px}.tradition-symbol__body p{font-size:.95rem;line-height:1.65}.tradition-symbol__body a{color:#772a20;font-weight:800}@media(max-width:650px){.tradition-symbol{display:block}.tradition-symbol img{height:180px}.tradition-symbol__body{padding:20px}.tradition-symbol__body h3{font-size:1.45rem}}

/* Fix fotografie, campione Emilia-Romagna: evita stretch anche con CSS di tema */
.restaurant-card__cover img,.restaurant-hero__photo,.restaurant-dish img,.tradition-symbol img,.symbol-dish__photo img{object-fit:cover !important;object-position:center !important;}
.restaurant-card__cover img{aspect-ratio:auto !important;}
.restaurant-dish img{max-width:100%;}

/* Sezione piatti simbolo: stesso modello approvato in Abruzzo */
.tradition-shell .symbol-dishes{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0 0 28px}
.tradition-shell .symbol-dish{display:grid;grid-template-columns:minmax(0,35%) minmax(0,65%);min-height:272px;overflow:hidden;background:#f8f4eb;border:1px solid #e5dace;border-radius:20px;box-shadow:0 8px 24px rgba(50,39,20,.075)}
.tradition-shell .symbol-dish__photo{position:relative;display:block;min-height:272px;overflow:hidden;background:#e8ded0}
.tradition-shell .symbol-dish__photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tradition-shell .symbol-dish__content{padding:26px 34px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.tradition-shell .symbol-dish__eyebrow{margin:0 0 9px;color:#994229;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tradition-shell .symbol-dish__content h3{margin:0 0 11px;color:#271d19;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.15}
.tradition-shell .symbol-dish__content h3 a{color:inherit;text-decoration:none}
.tradition-shell .symbol-dish__content h3 a:hover{text-decoration:underline}
.tradition-shell .symbol-dish__content>p:not(.symbol-dish__eyebrow){margin:0;color:#62584e;font-size:.94rem;line-height:1.7}
.tradition-shell .symbol-dish__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
.tradition-shell .symbol-dish__button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:24px;background:#415e49;color:#fff!important;text-decoration:none;font-size:.84rem;font-weight:750;line-height:1.35}
.tradition-shell .symbol-dish__button:hover{background:#304d3a}
.tradition-shell .symbol-dish__recipe{font-size:.85rem;font-weight:700;color:#7d3826;text-decoration:none}
.tradition-shell .symbol-dish__recipe:hover{text-decoration:underline}
@media(max-width:720px){
 .tradition-shell .symbol-dish{grid-template-columns:1fr;min-height:0}
 .tradition-shell .symbol-dish__photo{min-height:0;height:210px}
 .tradition-shell .symbol-dish__content{padding:21px 23px 24px}
 .tradition-shell .symbol-dish__content h3{font-size:1.65rem}
}

.tradition-shell .symbol-dish__photo amp-img img{object-fit:cover;object-position:center}


/* Introduzione ristorante: foto esistente a sinistra, testo a destra. */
.restaurant-intro-feature{display:grid;grid-template-columns:minmax(205px,275px) minmax(0,1fr);gap:23px;align-items:center;padding:16px;margin:0 0 28px;background:linear-gradient(115deg,#f7f7f2,#fff);border:1px solid #e3e7df;border-radius:18px;box-shadow:0 5px 15px rgba(22,63,38,.035)}
.restaurant-intro-feature__media{position:relative;display:block;min-width:0;margin:0;overflow:hidden;aspect-ratio:4/3;border-radius:13px;background:#e8e3d7}
.restaurant-intro-feature__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.restaurant-intro-feature__media figcaption{position:absolute;left:9px;bottom:9px;padding:4px 8px;border-radius:8px;background:rgba(22,40,33,.78);color:#fff;font-size:.68rem;font-weight:650;line-height:1.3}
.restaurant-intro-feature__text{min-width:0}
.restaurant-intro-feature .restaurant-intro{margin:0;font-size:1.075rem;line-height:1.75;color:#384f43}
@media(max-width:680px){.restaurant-intro-feature{grid-template-columns:1fr;gap:15px;padding:13px 13px 17px}.restaurant-intro-feature__media{aspect-ratio:16/9}.restaurant-intro-feature .restaurant-intro{font-size:1rem;line-height:1.7}}


.restaurant-ad-slot{margin:24px 0;min-height:120px;clear:both;max-width:100%;}
.restaurant-ad-slot--amp{max-width:360px;margin:24px auto;min-height:250px;}


/* Correzioni approvate: non rimuovere container o nomi classe del modello. */
.tradition-shell .restaurant-section {margin:28px 0 10px;padding:1em}
.restaurant-action {display:block;margin-top:10px;padding:13px 16px;text-align:center;font-family:inherit;font-size:.92rem;line-height:1.35;font-weight:750;border-radius:11px;background:#286344;color:#fff;text-decoration:none;box-sizing:border-box}
.restaurant-action--secondary {background:#edf4ee;color:#286344}
.restaurant-intro-feature {display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%);gap:22px;align-items:center}
.restaurant-intro-feature__media {margin:0;min-width:0;overflow:hidden;border-radius:14px}
.restaurant-intro-feature__media img {display:block;width:100%;height:100%;object-fit:cover}
.restaurant-menu {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.restaurant-dish img {width:100%;aspect-ratio:1;object-fit:cover}
.restaurant-card__cover img {object-fit:cover}
.restaurant-disclaimer,.restaurant-hero__note {line-height:1.5}
@media(max-width:760px){.restaurant-intro-feature{grid-template-columns:1fr}.restaurant-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.tradition-shell .restaurant-section{padding:1em}}
@media(max-width:520px){.restaurant-menu{grid-template-columns:1fr}}

/* Puglia - correzioni approvate, applicate senza rinominare classi */
.tradition-shell .restaurant-section{margin:28px 0 10px;padding:1em}
.restaurant-action{display:block;margin-top:10px;padding:13px 16px;text-align:center;font-family:inherit;font-size:.92rem;line-height:1.35;font-weight:750;border-radius:11px;background:#286344;color:#fff;text-decoration:none;box-sizing:border-box}
.restaurant-action--secondary{background:#edf4ee;color:#286344}
.restaurant-intro-feature{display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%);gap:22px;align-items:center}
.restaurant-intro-feature__media{min-width:0;margin:0;overflow:hidden;border-radius:14px}
.restaurant-intro-feature__media img{display:block;width:100%;height:100%;object-fit:cover}
.restaurant-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.restaurant-dish img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:760px){.restaurant-intro-feature{grid-template-columns:1fr}.tradition-shell .restaurant-section{padding:1em}}
@media(max-width:520px){.restaurant-menu{grid-template-columns:1fr}}

/* Segnalazione immagine originale da collegare, senza foto inventate */
.symbol-dish__photo--missing{display:flex;align-items:center;justify-content:center;min-height:210px;padding:1.5em;box-sizing:border-box;background:#f5f1e9;color:#634b3c;text-align:center;font-weight:600;}

/* Segnalazione immagine originale da collegare, senza foto inventate */
.symbol-dish__photo--missing{display:flex;align-items:center;justify-content:center;min-height:210px;padding:1.5em;box-sizing:border-box;background:#f5f1e9;color:#634b3c;text-align:center;font-weight:600;}
