/*
Theme Name: Modulab Ristorante Standard
Theme URI: https://modulabweb.com
Author: Modulab
Description: Sito ristorante con contenuti personalizzabili, layout standard, 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:#f4f1e9;--ink:#263222;--muted:#687363;--accent:#627245;--border:#dadbd0}
.site-header{background:var(--bg)}.brand{font-family:Georgia,serif;font-size:27px;font-weight:500}
.nav-cta{background:var(--ink);color:#fff;border:0}.hero{padding:65px 0 85px;display:grid;grid-template-columns:43% 57%;gap:12px;min-height:700px}
.hero-type{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px 8% 35px 0}
.hero h1{font:400 clamp(60px,6vw,96px)/1.04 Georgia,serif;letter-spacing:-.06em;margin:24px 0}
.hero .lead{font-size:19px;line-height:1.72;max-width:410px}.hero .button{margin-top:22px;background:var(--ink);border-color:var(--ink)}
.round-stamp{font-size:10px;color:var(--accent);letter-spacing:.18em;border-radius:100%;width:104px;height:104px;border:1px solid var(--accent);display:flex;align-items:center;text-align:center;line-height:1.9;transform:rotate(-13deg);margin-top:52px}
.hero-mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:80% 20%;gap:12px}
.img-big{grid-row:1/3}.img-big img{width:100%;height:100%;border-radius:230px 230px 5px 5px}
.img-small img{width:100%;height:100%;border-radius:5px 135px 5px 5px}
.mosaic-caption{background:#e2e7d7;padding:25px;display:flex;flex-direction:column;justify-content:space-between;gap:15px;font-size:13px}
.mosaic-caption span{font-size:10px;letter-spacing:.15em}
.ribbon{background:#384a32;color:#e8eace;padding:23px 0}
.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;font-size:11px;font-weight:700;letter-spacing:.17em}
.ribbon i{font-style:normal;color:#aab893}
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:10%;align-items:end;padding:130px 0 82px}
.story h2{font:400 clamp(55px,6vw,94px)/1.06 Georgia,serif;letter-spacing:-.06em;margin:16px 0 0}
.story-details p{font-size:20px;line-height:1.75}.story-details .text-link{margin:25px 0 5px}
.discover{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center;padding-bottom:125px}
.discover-photo img{width:100%;height:540px;border-radius:16px 190px 16px 16px}
.discover-list{padding-left:20px}.discover-item{display:grid;grid-template-columns:42px 1fr;gap:15px;border-top:1px solid #c6cbbe;padding:30px 0}
.discover-item>span{font-size:12px;color:var(--accent);font-weight:800}
.discover-item h3{font:400 29px/1.1 Georgia,serif;margin-bottom:10px}
.discover-item p{font-size:14px;margin:0}.menu-section{background:#dfe5d5;padding:128px 0}
.menu-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:90px}
.menu-intro h2{font:400 clamp(48px,5vw,76px)/1.08 Georgia,serif;margin:20px 0 22px}
.menu-intro p{max-width:320px;font-size:17px}.menu-intro .button{margin-top:20px;background:var(--ink);border-color:var(--ink)}
.dish{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid #bdc6b5}
.dish h3{font:400 29px/1.2 Georgia,serif;margin-bottom:9px}
.dish p{font-size:13px;margin:0}.dish strong{font-weight:600;font-size:14px;white-space:nowrap}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-type{padding:12px 0 35px}.round-stamp{display:none}.hero-mosaic{height:450px}.story{padding:80px 0}.discover{gap:25px}.menu-layout{gap:30px}}
@media(max-width:650px){.hero{padding:30px 0 55px}.hero h1{font-size:clamp(49px,11vw,74px)}.hero-mosaic{grid-template-columns:1.25fr .75fr;height:320px}.img-big img{border-radius:120px 120px 4px 4px}.mosaic-caption{padding:12px;font-size:11px}.ribbon .wrap{justify-content:center}.story{display:block;padding:75px 0 45px}.story-details p{font-size:17px;margin-top:27px}.discover{display:block;padding-bottom:75px}.discover-photo img{height:310px;margin-bottom:20px}.discover-list{padding:0}.menu-section{padding:75px 0}.menu-layout{display:block}.menu-list{margin-top:32px}.dish h3{font-size:24px}}
