/* Biagio's demo — All'Antico Vinaio style: white/black/red, red italic logo,
   red bold-uppercase Montserrat headings, red-outline buttons, bordered cards.
   Modular sections for an easy Shopify Liquid port. */
:root{
  --red:#E21A22;
  --red-dark:#b3141b;
  --ink:#1a1a1a;
  --gray:#6e6e6e;
  --line:#e7e7e7;
  --bg:#ffffff;
  --bg-soft:#f6f4f1;
  --serif:"Libre Bodoni", Georgia, serif;
  --sans:"Montserrat", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;}

/* Buttons — All'Antico style: white plate, red text, red border (all say ORDER NOW) */
.btn{display:inline-block;font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:12px;padding:12px 22px;text-decoration:none;cursor:pointer;border:4px double var(--red);background:#fff;color:var(--red);transition:background .18s,color .18s,border-color .18s;}
.btn:hover{background:var(--red);color:#fff;border-color:#fff;}
.btn--lg{font-size:14px;padding:16px 34px;}
.btn--sm{font-size:11px;padding:9px 16px;}
.btn--white{border-color:#fff;}            /* on red backgrounds */
.btn--ghost{border-color:var(--ink);color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:#fff;}

/* Section title — red bold uppercase Montserrat (like "WHAT'S POPULAR") */
.section-title{font-family:var(--sans);font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(30px,5vw,50px);line-height:1.05;text-align:center;}
.section-title--red{color:var(--red);}

/* Announcement bar */
.announce{background:var(--red);color:#fff;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);}
.nav__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 28px;}
.nav__logo{font-family:var(--serif);font-style:italic;font-weight:600;font-size:30px;letter-spacing:.005em;text-decoration:none;color:var(--red);}
.nav__links{display:flex;gap:24px;}
.nav__links a{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--ink);transition:color .2s;}
.nav__links a:hover{color:var(--red);}
.nav__cta{flex-shrink:0;padding:10px 20px;}
@media(max-width:900px){.nav__links{display:none;} .nav__inner{padding:14px 18px;} .nav__logo{font-size:26px;}}

/* Hero */
.hero{position:relative;height:80vh;min-height:500px;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.5));}
.hero__content{position:relative;z-index:1;color:#fff;padding:24px;}
.hero__eyebrow{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3em;margin-bottom:18px;}
.hero__title{font-family:var(--serif);font-weight:500;font-size:clamp(40px,7vw,80px);line-height:1.04;margin-bottom:30px;text-shadow:0 2px 22px rgba(0,0,0,.35);}

/* Order Now (the All'Antico "What's Popular" layout) */
.order{max-width:1200px;margin:0 auto;padding:84px 28px;}
.order .section-title{margin-bottom:48px;}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cards{grid-template-columns:1fr;} .order{padding:56px 20px;}}
.card{display:block;border:2px solid var(--red);background:#fff;text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(226,26,34,.5);}
.card__media{aspect-ratio:1/1;overflow:hidden;border-bottom:2px solid var(--red);}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.card:hover .card__media img{transform:scale(1.05);}
.card__plate{padding:16px 12px 18px;text-align:center;display:flex;flex-direction:column;gap:7px;background:#fff;transition:background .18s;}
.card__name{color:var(--red);font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:16px;line-height:1.2;transition:color .18s;}
.card__cta{color:var(--red);font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;transition:color .18s;}
.card:hover .card__plate{background:var(--red);}
.card:hover .card__name,.card:hover .card__cta{color:#fff;}

/* About */
.about{background:var(--bg-soft);padding:90px 28px;}
.about__inner--split{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.about__eyebrow{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--ink);margin-bottom:14px;}
.about__title{font-family:var(--sans);font-weight:900;text-transform:uppercase;font-size:clamp(26px,3.4vw,40px);line-height:1.08;color:var(--red);}
.about__copy{color:var(--gray);font-size:16px;line-height:1.75;margin:18px 0 28px;}
@media(max-width:820px){.about{padding:60px 22px;} .about__inner--split{grid-template-columns:1fr;gap:28px;}}

/* Catering red band */
.catering{background:var(--red);color:#fff;padding:78px 28px;text-align:center;}
.catering__title{font-family:var(--sans);font-weight:900;text-transform:uppercase;font-size:clamp(28px,4vw,44px);}
.catering__text{font-size:16px;opacity:.95;margin:14px auto 28px;max-width:480px;}

/* Visit */
.visit{padding:72px 28px;}
.visit__inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center;}
@media(max-width:700px){.visit__inner{grid-template-columns:1fr;gap:28px;}}
.visit__label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--red);margin-bottom:12px;}
.visit__block p{font-size:15px;line-height:1.85;color:var(--ink);font-weight:500;}

/* Footer */
.footer{background:var(--ink);color:#fff;padding:52px 28px;text-align:center;}
.footer__logo{font-family:var(--serif);font-style:italic;font-weight:600;font-size:30px;color:var(--red);}
.footer__note{color:rgba(255,255,255,.6);font-size:13px;letter-spacing:.04em;margin:10px 0 18px;}
.footer__social{display:flex;gap:12px;justify-content:center;}
.footer__social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-decoration:none;color:#fff;transition:background .2s;}
.footer__social a:hover{background:var(--red);}

@media(prefers-reduced-motion:reduce){*{transition:none!important;}}
