/*
Theme Name: RistoLution
Theme URI: https://ghostwhite-bison-236675.hostingersite.com
Author: RistoLution
Description: Tema custom per RistoLution — ristorazione ed eventi, senza filtri.
Version: 1.0
Text Domain: ristolution
*/

:root{
  --ink:#211b16; --ink-soft:#4a4038;
  --paper:#ece3cf; --paper-dim:#e1d6ba; --paper-card:#f4ecd8;
  --wine:#6d1f2b; --wine-deep:#4a1520;
  --gold:#b3843c; --gold-soft:#d8b876;
  --sage:#535f3f; --slate:#3f5566; --rose:#9c5a52;
  --rule: rgba(33,27,22,0.16);
  --font-display:'Fraunces', serif; --font-body:'Inter', sans-serif; --font-mono:'JetBrains Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper); color:var(--ink); font-family:var(--font-body); line-height:1.6; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
.narrow{max-width:720px; margin:0 auto; padding:0 32px;}

/* Header */
.site-header{position:sticky; top:0; z-index:50; background:rgba(236,227,207,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--rule);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1220px; margin:0 auto; gap:48px;}
.wordmark{font-family:var(--font-display); font-weight:600; font-size:1.5rem; letter-spacing:-0.01em; color:var(--wine-deep); display:flex; align-items:center; gap:9px;}
.wordmark img{width:26px; height:26px; border-radius:50%;}
.wordmark em{font-style:italic; color:var(--gold);}
.site-header nav ul{list-style:none; display:flex; gap:24px; margin:0;}
.site-header nav a{font-size:0.82rem; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-soft); transition:color .2s;}
.site-header nav a:hover{color:var(--wine);}

/* Hero (front page) */
.hero{padding:96px 0 72px; position:relative; overflow:hidden;}
.eyebrow{font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--wine); margin-bottom:22px; display:flex; align-items:center; gap:10px;}
.eyebrow::before{content:"—"; color:var(--gold);}
.hero h1{font-family:var(--font-display); font-weight:500; font-size:clamp(2.4rem,5.4vw,4.4rem); line-height:1.04; letter-spacing:-0.01em; max-width:14ch; color:var(--wine-deep);}
.hero h1 em{font-style:italic; color:var(--wine); font-weight:500;}
.hero p.lede{margin-top:26px; font-size:1.14rem; color:var(--ink-soft); max-width:46ch; line-height:1.6;}
.hero-cta{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;}

.btn{font-family:var(--font-body); font-weight:600; font-size:0.92rem; padding:14px 26px; border-radius:2px; display:inline-flex; align-items:center; gap:8px; transition:transform .18s ease, background .18s ease;}
.btn-primary{background:var(--wine-deep); color:var(--paper-card);}
.btn-primary:hover{background:var(--wine); transform:translateY(-1px);}
.btn-ghost{border:1px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{border-color:var(--wine); color:var(--wine); transform:translateY(-1px);}

.cutlery-rule{display:flex; align-items:center; gap:10px; color:var(--gold); opacity:0.85;}
.cutlery-rule .line{flex:1; height:1px; background:var(--rule);}

section{padding:80px 0;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:44px; flex-wrap:wrap;}
.section-num{font-family:var(--font-mono); font-size:0.78rem; color:var(--gold); letter-spacing:0.1em; text-transform:uppercase;}
.section-head h2{font-family:var(--font-display); font-weight:500; font-size:clamp(1.8rem,3.2vw,2.6rem); color:var(--wine-deep);}

/* Menu list (pillars) */
.menu-list{border-top:1px solid var(--rule);}
.menu-item{display:grid; grid-template-columns:140px 1fr auto; gap:22px; align-items:start; padding:26px 0; border-bottom:1px solid var(--rule); transition:background .2s ease;}
.menu-item:hover{background:rgba(179,132,60,0.07);}
.menu-item .course{font-family:var(--font-mono); font-size:0.82rem; color:var(--gold); padding-top:4px;}
.menu-item h3{font-family:var(--font-display); font-weight:600; font-size:1.3rem; color:var(--ink); margin-bottom:6px;}
.menu-item p{color:var(--ink-soft); font-size:0.94rem;}

/* Cards (latest posts) */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.card{background:var(--paper-card); border:1px solid var(--rule); border-radius:2px; padding:28px 26px; display:flex; flex-direction:column; gap:14px; transition:transform .2s ease, box-shadow .2s ease;}
.card:hover{transform:translateY(-4px); box-shadow:0 14px 30px -18px rgba(33,27,22,0.35);}
.card .kicker{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--wine);}
.card h3{font-family:var(--font-display); font-weight:600; font-size:1.25rem; line-height:1.25;}
.card p{color:var(--ink-soft); font-size:0.92rem;}
.card .meta{margin-top:auto; padding-top:10px; border-top:1px solid var(--rule); font-family:var(--font-mono); font-size:0.74rem; color:var(--ink-soft); display:flex; justify-content:space-between;}

/* About / dark section */
.about{background:var(--wine-deep); color:var(--paper);}
.about .wrap{display:block; max-width:680px;}

.about .eyebrow{color:var(--gold-soft);}
.about h2{font-family:var(--font-display); font-weight:500; font-size:2.2rem; margin-bottom:20px; line-height:1.15;}
.about p{color:rgba(236,227,207,0.82); font-size:1.02rem; line-height:1.65; margin-bottom:16px;}
.about-figure{aspect-ratio:4/5; border:1px solid rgba(216,184,118,0.4); display:flex; align-items:center; justify-content:center;}
.about-figure img{width:65%;}

/* Newsletter */
.riserva{text-align:center;}
.riserva h2{font-family:var(--font-display); font-weight:500; font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--wine-deep); margin-bottom:14px;}
.riserva p{color:var(--ink-soft); max-width:50ch; margin:0 auto 30px;}
.riserva form{display:flex; justify-content:center; gap:10px; max-width:460px; margin:0 auto; flex-wrap:wrap;}
.riserva input[type=email]{flex:1; min-width:220px; padding:14px 16px; border:1px solid var(--ink); background:var(--paper-card); font-family:var(--font-body); font-size:0.95rem; border-radius:2px;}

/* Article */
.article-hero{padding:56px 0 40px;}
.breadcrumb{font-family:var(--font-mono); font-size:0.76rem; color:var(--ink-soft); margin-bottom:18px;}
.breadcrumb a{color:var(--wine);}
.kicker-badge{display:inline-block; font-family:var(--font-mono); font-size:0.76rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--wine); background:var(--paper-card); border:1px solid var(--rule); padding:4px 10px; border-radius:2px; margin-bottom:18px;}
.article-hero h1{font-family:var(--font-display); font-weight:600; font-size:clamp(2rem,4.6vw,3.2rem); line-height:1.1; color:var(--wine-deep); max-width:22ch;}
.dek{margin-top:20px; font-size:1.15rem; color:var(--ink-soft); max-width:60ch; line-height:1.6;}
.byline{display:flex; align-items:center; gap:14px; margin-top:32px; padding-top:24px; border-top:1px solid var(--rule);}
.avatar{width:38px; height:38px; border-radius:50%; flex-shrink:0; object-fit:cover;}
.byline-text{font-size:0.88rem; color:var(--ink-soft);}
.byline-text b{color:var(--ink); font-weight:600;}
.byline-meta{margin-left:auto; font-family:var(--font-mono); font-size:0.76rem; color:var(--ink-soft); display:flex; gap:14px;}

.prose p{font-size:1.06rem; color:var(--ink); margin-bottom:20px; line-height:1.75;}
.prose h2{font-family:var(--font-display); font-weight:600; font-size:1.6rem; color:var(--wine-deep); margin:44px 0 18px;}
.prose h3{font-family:var(--font-display); font-weight:600; font-size:1.25rem; color:var(--wine-deep); margin:32px 0 14px;}
.prose ul{margin:0 0 20px 22px;}
.prose li{font-size:1.02rem; color:var(--ink); margin-bottom:8px; line-height:1.6;}
.prose blockquote{font-family:var(--font-display); font-style:italic; font-weight:500; font-size:1.5rem; line-height:1.4; color:var(--wine); border-left:3px solid var(--gold); padding:4px 0 4px 26px; margin:36px 0;}
.prose strong{color:var(--wine);}

.author-box{margin-top:44px; padding:28px; background:var(--paper-card); border:1px solid var(--rule); border-radius:2px; display:flex; gap:18px; align-items:flex-start;}
.author-box .avatar{width:52px; height:52px;}
.author-box h4{font-family:var(--font-display); font-weight:600; font-size:1.1rem; color:var(--wine-deep); margin-bottom:6px;}
.author-box p{font-size:0.92rem; color:var(--ink-soft);}

/* Category archive rows */
.row{display:grid; grid-template-columns:140px 1fr auto; gap:24px; align-items:start; padding:28px 0; border-bottom:1px solid var(--rule); transition:background .2s;}
.row:hover{background:rgba(179,132,60,0.06);}
.row .k{font-family:var(--font-mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--wine); padding-top:4px;}
.row h3{font-family:var(--font-display); font-weight:600; font-size:1.25rem; color:var(--ink); margin-bottom:6px; line-height:1.3;}
.row p{color:var(--ink-soft); font-size:0.94rem;}
.row .meta{font-family:var(--font-mono); font-size:0.74rem; color:var(--ink-soft); white-space:nowrap; padding-top:6px; text-align:right;}

/* Page (Chi siamo, generic) */
.page-hero{padding:80px 0 56px;}
.page-hero h1{font-family:var(--font-display); font-weight:500; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.08; color:var(--wine-deep); max-width:16ch;}
.page-lede{margin-top:22px; font-size:1.1rem; color:var(--ink-soft); max-width:60ch; line-height:1.65;}

/* Footer */
.site-footer{background:var(--ink); color:var(--paper-dim); padding:40px 0;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; font-size:0.8rem; color:rgba(236,227,207,0.5); flex-wrap:wrap; gap:12px;}
.footer-bottom img{width:20px; height:20px; border-radius:50%;}
.site-footer a{color:var(--gold-soft);}

@media (max-width:820px){
  .about .wrap, .card-grid{grid-template-columns:1fr;}
  .site-header nav ul{display:none;}
  .menu-item, .row{grid-template-columns:1fr;}
}

/* Stile del modulo newsletter MailPoet, coerente col brand */
.riserva-form .mailpoet_form,
.riserva-form form {
  max-width: 460px;
  margin: 0 auto;
}
.riserva-form input[type="text"],
.riserva-form input[type="email"] {
  padding: 14px 16px;
  border: 1px solid var(--ink);
  background: var(--paper-card);
  font-family: var(--font-body);
  font-size: 0.95rem;
  border-radius: 2px;
  width: 100%;
  margin-bottom: 10px;
}
.riserva-form input[type="submit"],
.riserva-form button {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.92rem;
  padding: 14px 26px;
  border-radius: 2px;
  background: var(--wine-deep) !important;
  color: var(--paper-card) !important;
  border: none;
  cursor: pointer;
  width: 100%;
}
.riserva-form input[type="submit"]:hover,
.riserva-form button:hover {
  background: var(--wine) !important;
}
.riserva-form .mailpoet_message {
  color: var(--sage);
  margin-top: 12px;
  font-size: 0.9rem;
}
.riserva-form p {
  margin-bottom: 10px;
}