/*
Theme Name: Modulab Ristorante Premium
Theme URI: https://modulabweb.com
Author: Modulab
Description: Sito ristorante con contenuti personalizzabili, layout premium, pronto per il collaudo WordPress.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: modulab-rest
License: GPL-2.0-or-later
*/
/* Modulab Restaurant Theme 1.0 — CSS responsive e senza dipendenze */
:root{--bg:#f7f4ec;--ink:#26231e;--muted:#6b6963;--accent:#c84a32;--border:#d9d5ca;--paper:#fff}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
img{max-width:100%;display:block;object-fit:cover}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:10px;z-index:999}
.skip:focus{top:10px}.site-header{position:relative;z-index:20}
.nav{display:flex;min-height:95px;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:22px;font-weight:800;letter-spacing:-.05em;line-height:1.1;max-width:280px}
.brand img{max-height:54px;width:auto}.navlinks{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}
.menu-list{display:flex;align-items:center;gap:32px;padding:0;list-style:none}
.nav-cta{border:1px solid var(--ink);padding:12px 17px;font-size:12px;font-weight:700;white-space:nowrap}
.nav-cta span{margin-left:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--accent);color:#fff;padding:15px 22px;font-size:13px;font-weight:750;line-height:1.4;border:1px solid var(--accent);transition:transform .22s ease,background .22s ease}
.button:hover{transform:translateY(-2px);filter:brightness(.94)}
.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.17em;line-height:1.55;text-transform:uppercase;color:var(--accent)}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.05em}p{color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:6px}
.site-footer{background:#211e1b;color:#fff;padding:85px 0 26px}
.footer-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding-bottom:80px}
.site-footer .eyebrow{color:#e1bb7d}.site-footer h2{font-size:clamp(32px,4vw,60px);margin:18px 0}.site-footer p{color:#c6c3be}
.footer-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.footer-meta b{font-size:10px;letter-spacing:.16em}.footer-meta p{font-size:13px;margin-top:12px}
.footer-meta a:hover{text-decoration:underline}.foot-bottom{border-top:1px solid #48433d;padding-top:20px;display:flex;justify-content:space-between;color:#bbb4aa;font-size:12px}
.inner-page{padding:100px 0 160px;min-height:60vh}.inner-page h1{font-size:clamp(44px,7vw,92px)}.wp-content{max-width:850px}.wp-content img{height:auto}
.post-card{border-bottom:1px solid var(--border);padding:24px 0}.post-card h2{font-size:24px}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.nav{min-height:74px;flex-wrap:wrap;padding:15px 0}.brand{font-size:19px}.navlinks{order:3;width:100%;justify-content:center;gap:24px;font-size:12px}.navlinks .menu-list{justify-content:center;gap:20px;flex-wrap:wrap}.nav-cta{padding:9px 11px;font-size:11px}.nav-cta span{display:none}.footer-grid{grid-template-columns:1fr;gap:40px;padding-bottom:50px}.footer-meta{gap:18px}.site-footer{padding-top:60px}}
@media(max-width:520px){.footer-meta{grid-template-columns:1fr}.foot-bottom{gap:15px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

:root{--bg:#181a19;--ink:#eee9df;--muted:#b7b4ab;--accent:#bea47d;--border:#4e4e4a}
body{background:var(--bg);color:var(--ink);font-family:Arial,sans-serif}
.site-header{position:absolute;left:0;right:0;top:0;color:white;border-bottom:1px solid #fff5}
.brand{font:400 29px/1.2 Georgia,serif;letter-spacing:.02em}
.nav-cta{color:#fff;border-color:#ffffff70}.eyebrow{color:var(--accent)}
.hero{height:min(920px,100svh);min-height:650px;position:relative;background-image:var(--hero-image);background-size:cover;background-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.50),rgba(13,13,13,.18) 40%,rgba(13,13,13,.75))}
.hero-inner{height:100%;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding-top:80px}
.hero h1{font:400 clamp(80px,10vw,156px)/.94 Georgia,serif;letter-spacing:-.075em;max-width:930px;margin:27px 0 22px}
.hero-inner p{font-size:19px;max-width:525px;line-height:1.75;color:#f0eae1}
.button-light{background:#e1cfad;color:#1d1e1b;border-color:#e1cfad;margin-top:18px;letter-spacing:.04em}
.hero-bottom{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;font-weight:750;letter-spacing:.12em;z-index:2}
.story{display:grid;grid-template-columns:1fr 1.18fr;gap:10%;padding-top:155px;padding-bottom:150px;min-height:720px}
.story-copy{padding-top:100px}.story h2{font:400 clamp(65px,7vw,105px)/1.06 Georgia,serif;margin:25px 0;letter-spacing:-.07em}
.story-copy p{font-size:19px;line-height:1.9;max-width:425px}
.signature{font:italic 32px Georgia,serif;color:var(--accent);margin-top:52px}
.story-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}
.story-gallery .portrait{width:100%;height:610px}.story-gallery .landscape{width:100%;height:335px;transform:translateY(105px)}
.ritual{background:#252723;border-top:1px solid #40423c;border-bottom:1px solid #40423c;padding:92px 0 110px}
.ritual-inner>.eyebrow{text-align:center}
.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:58px}
.ritual-grid article{border-top:1px solid #777669;padding-top:18px}
.ritual-grid article span{font-size:12px;color:var(--accent)}.ritual h3{font:400 30px Georgia,serif;letter-spacing:-.03em;margin:25px 0 16px}
.ritual-grid p{font-size:14px;line-height:1.8}
.menu-section{text-align:center;padding-top:145px;padding-bottom:150px}
.menu-section h2{font:400 clamp(65px,7vw,110px)/1.1 Georgia,serif;letter-spacing:-.065em;margin:25px 0}
.menu-lead{max-width:470px;margin:0 auto;font-size:17px;line-height:1.8}
.menu-items{max-width:810px;margin:75px auto 55px;border-top:1px solid #56544d}
.dish{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0;border-bottom:1px solid #56544d}
.dish h3{font:400 29px Georgia,serif;margin:0 0 7px}
.dish p{font-size:13px;margin:0}.dish span{color:#ddc7a1;font-size:14px;white-space:nowrap}
.button-outline{background:transparent;color:var(--ink);border:1px solid var(--accent)}
.closing{background:#d4c4a6;color:#292824;text-align:center;padding:110px 0 125px}
.closing .eyebrow{color:#63503b}.closing h2{font:400 clamp(48px,6vw,90px)/1.1 Georgia,serif;max-width:750px;margin:20px auto 35px}
.closing a{display:inline-block;border-bottom:1px solid;padding-bottom:6px}
.site-footer{background:#101210}.site-footer h2{font-weight:400;font-family:Georgia,serif}
@media(max-width:900px){.hero{min-height:650px;height:760px}.hero h1{font-size:clamp(70px,11vw,120px)}.story{gap:5%;padding:100px 0}.story-gallery .portrait{height:430px}.story-gallery .landscape{height:230px}.hero-bottom span:last-child{display:none}}
@media(max-width:650px){.site-header .navlinks{color:#fff}.hero{height:700px;min-height:620px}.hero-inner{padding-top:125px}.hero h1{font-size:clamp(62px,14vw,95px)}.hero-inner p{font-size:16px}.hero-bottom{bottom:25px}.hero-bottom span{display:none}.hero-bottom a{margin:auto}.story{display:block;padding:65px 0}.story-copy{padding:0 0 45px}.story h2{font-size:70px}.story-gallery .portrait{height:330px}.story-gallery .landscape{height:170px;transform:translateY(50px)}.ritual{padding:70px 0}.ritual-grid{grid-template-columns:1fr;gap:15px;margin-top:40px}.menu-section{padding:90px 0}.menu-section h2{font-size:67px}.menu-items{margin:45px auto}.dish h3{font-size:22px}.closing{padding:80px 0}.closing h2{font-size:52px}}
