/*
Theme Name: Orrori da Gustare
Theme URI: https://orroridagustare.com/
Author: Akyase SRL
Description: Tema editoriale dark, responsive e bilingue per Orrori da Gustare.
Version: 1.2.1
Text Domain: orrori-da-gustare
*/
:root{--bg:#080808;--panel:#111;--panel2:#181818;--text:#f4efe8;--muted:#aaa39b;--accent:#ff4b2b;--gold:#ffb347;--line:#2a2a2a;--ok:#6fd08c;--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto;border-radius:14px}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(8,8,8,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;align-items:center;gap:26px}.brand{font-weight:900;text-decoration:none;letter-spacing:-.04em;font-size:1.35rem}.brand b{color:var(--accent)}.menu{display:flex;gap:20px;align-items:center;margin-left:auto}.menu a{text-decoration:none;color:#ddd;font-weight:700;font-size:.92rem}.menu a:hover{color:white}.lang{border:1px solid var(--line);border-radius:999px;padding:7px 11px}.hero{padding:84px 0 54px;background:radial-gradient(circle at 80% 10%,rgba(255,75,43,.19),transparent 30%),radial-gradient(circle at 20% 30%,rgba(255,179,71,.09),transparent 28%)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--gold);font-weight:900}.hero h1{font-size:clamp(3rem,8vw,7rem);line-height:.88;letter-spacing:-.065em;max-width:940px;margin:14px 0 24px}.hero h1 span{color:var(--accent)}.hero p{font-size:1.2rem;color:#cbc5bd;max-width:750px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;border-radius:999px;padding:13px 20px;text-decoration:none;font-weight:900;background:var(--accent);color:#fff;border:1px solid var(--accent)}.btn.secondary{background:transparent;border-color:#555}.btn:hover{transform:translateY(-1px)}.section{padding:58px 0}.section h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em;margin:0 0 12px}.lede{color:var(--muted);max-width:780px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.card{background:linear-gradient(180deg,#151515,#0f0f0f);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden}.card:hover{border-color:#444}.card .kicker{color:var(--gold);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.card h3{font-size:1.45rem;line-height:1.15;margin:8px 0 10px}.card p{color:#b8b1a9}.card a.stretch:after{content:"";position:absolute;inset:0}.badge{display:inline-flex;border:1px solid #3b3b3b;background:#171717;border-radius:999px;padding:5px 9px;font-size:.78rem;color:#ddd}.article{width:min(860px,calc(100% - 32px));margin:55px auto}.article h1{font-size:clamp(2.6rem,7vw,5.4rem);line-height:.96;letter-spacing:-.05em}.article h2{font-size:2rem;margin-top:42px}.article p,.article li{font-size:1.07rem}.article .meta{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 30px}.callout{border-left:4px solid var(--accent);background:#141414;padding:18px 20px;border-radius:0 14px 14px 0;margin:24px 0}.safe{border-left-color:var(--gold)}.recipe-steps{counter-reset:step;list-style:none;padding:0}.recipe-steps li{counter-increment:step;margin:18px 0;padding-left:52px;position:relative}.recipe-steps li:before{content:counter(step);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-weight:900}.formbox{background:#111;border:1px solid var(--line);padding:26px;border-radius:var(--radius);margin:28px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-weight:800}input,textarea,select{width:100%;background:#090909;color:#fff;border:1px solid #3a3a3a;border-radius:10px;padding:12px 13px;font:inherit}textarea{min-height:140px}button{cursor:pointer}.notice{border:1px solid #3a3a3a;border-radius:12px;padding:14px;background:#101010}.success{border-color:#2e7645;color:#c6f6d5}.error{border-color:#8b3636;color:#ffd0d0}.stars{display:flex;gap:6px}.stars label{font-size:1.55rem;color:var(--gold)}.restaurant-card{display:grid;grid-template-columns:180px 1fr;gap:20px}.restaurant-card img{width:180px;height:150px;object-fit:cover}.rating{color:var(--gold);font-weight:900}.video-consent{aspect-ratio:16/9;background:linear-gradient(135deg,#161616,#292929);display:grid;place-items:center;text-align:center;border-radius:16px;border:1px solid #353535;padding:28px}.video-consent button{border:0;background:#fff;color:#111;border-radius:999px;padding:12px 18px;font-weight:900}.site-footer{border-top:1px solid var(--line);padding:48px 0;color:#aaa}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid a{display:block;color:#bbb;margin:7px 0;text-decoration:none}.legal-note{font-size:.85rem;color:#817b75}.searchbar{display:flex;gap:10px;margin:22px 0}.searchbar input{flex:1}.archive-title{padding:52px 0 16px}.pagination{margin:30px 0}.wp-block-image figcaption{color:#999}.odg-score{font-size:2.2rem;font-weight:900;color:var(--accent)}
@media(max-width:820px){.menu{display:none}.grid{grid-template-columns:1fr}.hero{padding-top:56px}.formgrid,.footer-grid{grid-template-columns:1fr}.restaurant-card{grid-template-columns:1fr}.restaurant-card img{width:100%;height:220px}.article{margin-top:35px}}
.nav-toggle{display:none;margin-left:auto;background:transparent;color:#fff;border:1px solid #444;border-radius:10px;padding:8px 11px;font-size:1.25rem}
@media(max-width:820px){.nav-toggle{display:block}.menu.open{display:flex;position:absolute;left:16px;right:16px;top:68px;flex-direction:column;align-items:stretch;background:#111;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.45)}.menu.open a{padding:6px 2px}}

/* Visual editorial system — 1.2 */
body{background:radial-gradient(circle at 15% 8%,rgba(255,75,43,.055),transparent 24%),var(--bg)}
.hero-visual{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;padding:100px 0}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;filter:saturate(.9) contrast(1.05);transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.88) 34%,rgba(5,5,5,.38) 66%,rgba(5,5,5,.16) 100%),linear-gradient(0deg,rgba(5,5,5,.76),transparent 45%)}.hero-copy{position:relative;z-index:2}.hero-copy h1{max-width:780px;text-shadow:0 8px 34px rgba(0,0,0,.5)}.hero-copy p{max-width:650px;color:#e3ddd5}
.section-featured{background:linear-gradient(180deg,#080808,#0d0d0d)}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:28px}.section-head .lede{margin:0 0 8px}
.odg-recipe-grid{gap:22px}.odg-recipe-card{padding:0;min-height:440px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.odg-recipe-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(0,0,0,.34)}.odg-card-media{height:230px;overflow:hidden;background:#151515}.odg-card-media img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .55s ease,filter .35s ease}.odg-recipe-card:hover .odg-card-media img{transform:scale(1.055);filter:saturate(1.12)}.odg-card-body{padding:20px 22px 24px}.odg-card-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 70% 25%,rgba(255,75,43,.32),transparent 32%),linear-gradient(135deg,#21110d,#111)}.odg-card-placeholder span{font-size:4rem;color:rgba(255,255,255,.17)}
.visual-split{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.visual-panel{position:relative;min-height:650px;overflow:hidden}.visual-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .7s ease}.visual-panel:hover>img{transform:scale(1.035)}.visual-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,3,3,.96),rgba(3,3,3,.08) 72%)}.visual-overlay{position:absolute;z-index:2;left:clamp(24px,5vw,76px);right:clamp(24px,5vw,76px);bottom:58px}.visual-overlay h2{font-size:clamp(2.2rem,4vw,4rem);line-height:.96;letter-spacing:-.045em;margin:10px 0 16px}.visual-overlay p{max-width:520px;color:#d3cec7;font-size:1.08rem}
.trust-strip{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.trust-grid>div{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.1em;color:#9d958c;font-size:.78rem}.trust-grid span{color:#fff;font-weight:900;font-size:2.4rem;letter-spacing:-.05em;line-height:1}
.page-title{margin-bottom:28px}.page-visual,.single-visual{margin:0 0 38px;overflow:hidden;border-radius:22px;border:1px solid #292929}.page-visual img,.single-visual img{display:block;width:100%;height:clamp(320px,48vw,570px);object-fit:cover;border-radius:0}
.odg-dish-gallery{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:repeat(2,minmax(220px,1fr));gap:12px;margin:30px 0 42px}.odg-gallery-item{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#151515;min-height:250px}.odg-gallery-item:first-child{grid-row:1/3}.odg-gallery-item a{display:block;width:100%;height:100%}.odg-gallery-item img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block;transition:transform .45s ease,filter .3s ease}.odg-gallery-item:hover img{transform:scale(1.035);filter:saturate(1.08)}.odg-gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 13px 10px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:.7rem;color:#d4cec7;opacity:0;transition:opacity .25s}.odg-gallery-item:hover figcaption,.odg-gallery-item:focus-within figcaption{opacity:1}.odg-gallery-item figcaption a{display:inline;color:#fff;text-decoration:underline}
.odg-dish-gallery.odg-gallery-fallback{display:block;grid-template:none}.odg-gallery-fallback .odg-gallery-item,.odg-gallery-fallback .odg-gallery-item:first-child{height:clamp(320px,52vw,570px);min-height:320px}.odg-gallery-fallback .odg-gallery-item figcaption{opacity:1}
.odg-lightbox{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:42px;cursor:zoom-out}.odg-lightbox img{max-width:min(1500px,96vw);max-height:88vh;object-fit:contain;border-radius:14px;box-shadow:0 30px 90px #000}.odg-lightbox button{position:absolute;top:18px;right:24px;border:0;background:transparent;color:#fff;font-size:3rem;line-height:1}.odg-no-scroll{overflow:hidden}
.restaurant-card{padding:0}.restaurant-card img{border-radius:16px 0 0 16px}.article{width:min(960px,calc(100% - 32px))}.article>p,.article>ul,.article>ol,.article>h2,.article>.callout,.article>.meta,.article>.odg-score,.article>.lede,.article>.formbox{max-width:820px;margin-left:auto;margin-right:auto}.article>.page-title{max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.hero-visual{min-height:650px}.hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.52)),linear-gradient(0deg,rgba(5,5,5,.75),transparent)}.section-head{grid-template-columns:1fr;gap:10px}.visual-split{grid-template-columns:1fr}.visual-panel{min-height:560px}.odg-dish-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px}.odg-gallery-item:first-child{grid-column:1/3;grid-row:auto}.trust-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.hero-visual{min-height:610px;padding:76px 0}.hero-bg{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.66)),linear-gradient(0deg,rgba(5,5,5,.85),transparent)}.visual-panel{min-height:520px}.odg-dish-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.odg-gallery-item,.odg-gallery-item:first-child{flex:0 0 88%;height:370px;min-height:370px;scroll-snap-align:center}.odg-gallery-item figcaption{opacity:1}.trust-grid{grid-template-columns:1fr}.trust-grid>div{padding:8px 0;border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.odg-recipe-card,.odg-card-media img,.visual-panel>img,.odg-gallery-item img{transition:none}.odg-recipe-card:hover{transform:none}}
