/*
Theme Name: Sharada
Theme URI: https://sharadasangha.com
Author: Silvana Berti
Author URI: https://sharadasangha.com
Description: Landing page per insegnante di yoga — Hatha & Vinyasa Barcelona. Design elegante con palette crema e rosa antico.
Version: 3.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sharada
*/

/* ── Tokens ─────────────────────────────────────────────────── */
:root {
  --cream:    #F3EDE3;
  --cream-50: #FAF7F2;
  --cream-200:#EDE4D8;
  --cream-300:#E0D3C2;
  --rose:     #C9A09B;
  --rose-lt:  #EDD8D5;
  --rose-dk:  #9A6A64;
  --brown:    #3B2A1E;
  --brown-lt: #4A3728;
  --ivory:    #F2E6D0;
  --ink:      #2A2520;
  --ink-muted:#5A524A;
  --border:   #E0D3C2;
  --max-w:    1060px;
}

/* ── Reset ──────────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Lora',Georgia,serif; background:var(--cream); color:var(--ink); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img  { display:block; max-width:100%; height:auto; }
a    { text-decoration:none; color:inherit; }
button { font-family:'Lora',serif; cursor:pointer; border:none; background:none; }
p    { line-height:1.9; }

/* ── Typography helpers ─────────────────────────────────────── */
.label   { font-family:'Lora',serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted); display:block; }
.label-lt{ color:rgba(242,230,208,.55); }
.inner   { max-width:var(--max-w); margin:0 auto; padding:0 48px; }

/* ── Reveal on scroll ───────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.vis { opacity:1; transform:none; }

/* ════════════════════════════════════════════════════════════ */
/*  NAV                                                         */
/* ════════════════════════════════════════════════════════════ */
.sh-nav {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 48px;
  background:rgba(243,237,227,0);
  border-bottom:1px solid transparent;
  transition:background .5s, backdrop-filter .5s, padding .4s, border-color .5s;
}
.sh-nav.scrolled {
  background:rgba(243,237,227,.96);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-color:var(--border);
  padding:14px 48px;
}
.sh-nav-logo {
  font-family:'Cormorant Garamond',serif; font-size:22px;
  letter-spacing:.06em; color:var(--ivory); transition:color .4s;
}
.sh-nav.scrolled .sh-nav-logo { color:var(--ink); }
.sh-nav-logo em { font-style:italic; color:var(--rose); }
/* wp_nav_menu() genera <ul><li><a> — reset e layout compatibile */
.sh-nav-links { display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.sh-nav-links > li { list-style:none; }
.sh-nav-links a {
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(242,230,208,.75); transition:color .25s;
}
.sh-nav.scrolled .sh-nav-links a { color:var(--ink-muted); }
.sh-nav-links a:hover { color:var(--ivory); }
.sh-nav.scrolled .sh-nav-links a:hover { color:var(--ink); }
.sh-nav-cta {
  background:var(--rose); color:var(--cream-50);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:10px 22px; border-radius:2px; transition:background .25s;
}
.sh-nav-cta:hover { background:var(--rose-dk); }
.sh-burger { display:none; flex-direction:column; gap:5px; padding:4px; }
.sh-burger span { width:22px; height:1.5px; background:var(--ivory); display:block; transition:.3s; }
.sh-nav.scrolled .sh-burger span { background:var(--ink); }

/* Mobile menu */
.sh-mmenu {
  display:none; position:fixed; inset:0; z-index:10000;
  background:var(--cream-50);
  flex-direction:column; align-items:center; justify-content:center; gap:32px;
}
.sh-mmenu.open { display:flex; }
.sh-mmenu a { font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:300; font-style:italic; color:var(--ink); }
.sh-mmenu a:hover { color:var(--rose); }
.sh-mmenu-cta {
  background:var(--rose); color:var(--cream-50);
  font-family:'Lora',serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:14px 36px; border-radius:2px; margin-top:8px;
}
.sh-mmenu-close {
  position:fixed; top:20px; right:24px;
  width:40px; height:40px; border-radius:50%;
  background:var(--cream-50); border:1px solid var(--border);
  font-size:22px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(42,37,32,.1);
}

/* ── Language switcher ──────────────────────────────────── */
.lang-switcher { position:relative; }
.lang-btn {
  display:flex; align-items:center; gap:6px;
  background:none; border:1px solid rgba(242,230,208,.25); border-radius:3px;
  padding:5px 10px; cursor:pointer;
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(242,230,208,.75); transition:color .25s, border-color .25s;
}
.lang-btn:hover { color:var(--ivory); border-color:rgba(242,230,208,.5); }
.sh-nav.scrolled .lang-btn { color:var(--ink-muted); border-color:rgba(59,42,30,.25); }
.sh-nav.scrolled .lang-btn:hover { color:var(--ink); border-color:rgba(59,42,30,.5); }
.lang-btn img { border-radius:2px; display:block; }
.lang-chevron { width:8px; flex-shrink:0; transition:transform .2s; }
.lang-switcher.open .lang-chevron { transform:rotate(180deg); }
.lang-dropdown {
  display:none; position:absolute; top:calc(100% + 8px); right:0;
  background:var(--brown); border:1px solid rgba(242,230,208,.12);
  border-radius:4px; min-width:130px;
  list-style:none; padding:4px 0; margin:0;
  box-shadow:0 8px 24px rgba(0,0,0,.25); z-index:200;
}
.lang-switcher.open .lang-dropdown { display:block; }
.lang-dropdown li { list-style:none; }
.lang-dropdown a {
  display:flex; align-items:center; gap:9px; padding:10px 14px;
  font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(242,230,208,.65); text-decoration:none;
  transition:color .15s, background .15s;
}
.lang-dropdown a:hover { color:var(--ivory); background:rgba(242,230,208,.08); }
.lang-dropdown img { border-radius:2px; }

/* Mobile: tutte le lingue visibili in riga sotto i link */
.lang-switcher-mobile {
  display:flex; gap:20px; margin-top:8px;
  padding-top:24px; border-top:1px solid rgba(59,42,30,.1);
}
.lang-mob-item {
  display:flex; align-items:center; gap:7px;
  font-family:'Cormorant Garamond',serif; font-size:20px;
  font-weight:300; font-style:italic;
  color:var(--ink-muted); text-decoration:none; transition:color .2s;
}
.lang-mob-item img { border-radius:2px; }
.lang-mob-item:hover { color:var(--ink); }
.lang-mob-active { color:var(--rose) !important; }

/* ════════════════════════════════════════════════════════════ */
/*  BUTTONS                                                     */
/* ════════════════════════════════════════════════════════════ */
.btn-rose {
  background:var(--rose); color:var(--cream-50);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:15px 34px; border-radius:2px; transition:background .25s; display:inline-block;
}
.btn-rose:hover { background:var(--rose-dk); }
.btn-ghost {
  background:transparent; color:var(--ivory);
  border:1px solid rgba(242,230,208,.3);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:14px 28px; border-radius:2px; transition:all .25s; display:inline-block;
}
.btn-ghost:hover { border-color:rgba(242,230,208,.65); background:rgba(242,230,208,.07); }
.btn-dark {
  background:var(--ink); color:var(--cream);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:14px 32px; border-radius:2px; transition:background .25s; display:inline-block;
}
.btn-dark:hover { background:#1A120D; }
.btn-outline {
  background:transparent; border:1px solid var(--border); color:var(--ink-muted);
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  padding:10px 18px; border-radius:2px; transition:all .25s; display:inline-block;
}
.btn-outline:hover { background:var(--ink); color:var(--cream); border-color:var(--ink); }

/* ════════════════════════════════════════════════════════════ */
/*  HERO                                                        */
/* ════════════════════════════════════════════════════════════ */
.hero {
  min-height:100vh; background:var(--brown);
  display:flex; align-items:center; position:relative; overflow:hidden;
}
.hero-art { position:absolute; inset:0; pointer-events:none; color:var(--ivory); }
.hero-art svg { width:100%; height:100%; }
.hero-content {
  max-width:var(--max-w); margin:0 auto;
  padding:120px 48px 100px;
  display:grid; grid-template-columns:1fr 480px; gap:80px; align-items:center;
  position:relative; z-index:1; width:100%;
}
.hero-eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--rose); margin-bottom:28px; }
.hero-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.6vw,68px); font-weight:300;
  line-height:1.08; letter-spacing:-.015em; color:var(--ivory); margin-bottom:32px;
}
.hero-title em { font-style:italic; color:var(--rose); }
.hero-body { font-size:17px; line-height:1.85; color:rgba(242,230,208,.72); margin-bottom:44px; max-width:420px; }
.hero-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.hero-visual { position:relative; }
.hero-frame {
  width:100%; aspect-ratio:3/4; border-radius:2px; overflow:hidden;
  background:var(--brown-lt);
}
.hero-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-badge {
  position:absolute; bottom:-18px; left:-18px;
  background:var(--cream); padding:18px 22px; border-radius:2px;
  box-shadow:0 6px 32px rgba(42,37,32,.2);
}
.hero-badge .b-num { font-family:'Cormorant Garamond',serif; font-size:38px; font-weight:300; color:var(--ink); line-height:1; }
.hero-badge .b-txt { font-size:10px; letter-spacing:.08em; color:var(--ink-muted); margin-top:4px; line-height:1.4; }
.hero-scroll {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  color:rgba(242,230,208,.4); font-size:9px; letter-spacing:.2em; text-transform:uppercase;
}
.scroll-line { width:1px; height:36px; background:rgba(242,230,208,.25); animation:scrollLine 2s ease-in-out infinite; }
@keyframes scrollLine { 0%,100%{transform:scaleY(1);opacity:.4} 50%{transform:scaleY(.5);opacity:.15} }

/* ── Intro quote ────────────────────────────────────────────── */
.intro { background:var(--cream-50); padding:110px 0; }
.intro-inner { max-width:700px; margin:0 auto; padding:0 40px; text-align:center; }
.intro-inner .label { margin-bottom:22px; }
.intro-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(26px,3.8vw,42px); font-weight:300; font-style:italic;
  line-height:1.38; color:var(--ink); margin-bottom:32px;
}
.intro-body { font-size:16px; line-height:1.9; color:var(--ink-muted); }

/* ── About ──────────────────────────────────────────────────── */
.about { padding:110px 0; background:var(--cream); }
.about-grid {
  max-width:var(--max-w); margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.about-img { width:100%; aspect-ratio:4/5; border-radius:2px; overflow:hidden; }
.about-img img { width:100%; height:100%; object-fit:cover; display:block; }
.about-content .label { margin-bottom:16px; }
.about-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(30px,3.8vw,50px); font-weight:300; color:var(--ink);
  line-height:1.15; margin-bottom:24px;
}
.about-body { font-size:16px; line-height:1.9; color:var(--ink-muted); margin-bottom:18px; }
.credentials { display:flex; gap:20px; margin-top:36px; flex-wrap:wrap; }
.cred {
  padding:16px 18px; background:var(--cream-50);
  border-top:2px solid var(--rose); border-radius:0 0 2px 2px; min-width:110px;
}
.cred-num { font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:300; color:var(--ink); line-height:1; }
.cred-txt { font-size:10px; letter-spacing:.05em; color:var(--ink-muted); margin-top:4px; line-height:1.5; }

/* ── Classes ────────────────────────────────────────────────── */
.classes { padding:110px 0; background:var(--cream-200); }
.section-header { text-align:center; margin-bottom:56px; }
.section-header .label { margin-bottom:16px; }
.section-header h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,4vw,52px); font-weight:400; color:var(--ink);
}
.cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.class-card {
  background:var(--cream-50); border-radius:2px; overflow:hidden;
  box-shadow:0 2px 12px rgba(42,37,32,.07);
  transition:transform .4s, box-shadow .4s; display:flex; flex-direction:column;
}
.class-card:hover { transform:translateY(-5px); box-shadow:0 10px 40px rgba(42,37,32,.13); }
.card-top { height:120px; display:flex; align-items:center; justify-content:center; }
.card-top.dark  { background:var(--brown); }
.card-top.rose  { background:var(--rose-lt); }
.card-top.mid   { background:var(--cream-300); }
.card-art { font-family:'Cormorant Garamond',serif; font-size:36px; font-style:italic; }
.dark .card-art { color:rgba(242,230,208,.45); }
.rose .card-art, .mid .card-art { color:var(--rose); }
.card-body { padding:22px 20px; flex:1; display:flex; flex-direction:column; }
.card-body h3 { font-family:'Cormorant Garamond',serif; font-size:24px; color:var(--ink); margin-bottom:8px; }
.card-body p  { font-size:13px; line-height:1.7; color:var(--ink-muted); flex:1; }
.card-tag {
  display:inline-block; margin-top:14px;
  background:var(--rose-lt); color:var(--rose-dk);
  font-size:9px; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px; border-radius:1px;
}
.card-meta { font-size:11px; color:var(--ink-muted); margin-top:8px; letter-spacing:.03em; }

/* ── Testimonials ───────────────────────────────────────────── */
.testimonials { background:var(--brown); padding:110px 0; overflow:hidden; }
.testimonials-inner { max-width:860px; margin:0 auto; padding:0 48px; }
.test-label { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--rose); margin-bottom:48px; display:block; text-align:center; }
.test-track { overflow:hidden; }
.test-slides { display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); }
.test-slide  { min-width:100%; text-align:center; padding:0 24px; }
.test-quote  { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,3.2vw,38px); font-style:italic; font-weight:300; color:var(--ivory); line-height:1.45; margin-bottom:28px; }
.test-attr   { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(242,230,208,.45); }
.test-meta   { display:flex; flex-direction:column; align-items:center; gap:4px; margin-top:10px; }
.test-luogo  { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rose); }
.test-data   { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(242,230,208,.3); font-style:italic; }
.test-dots   { display:flex; gap:8px; justify-content:center; margin-top:40px; }
.test-dot    { width:6px; height:6px; border-radius:50%; background:rgba(242,230,208,.2); cursor:pointer; transition:background .3s, transform .3s; border:none; }
.test-dot.active { background:var(--rose); transform:scale(1.3); }

/* ── Schedule ───────────────────────────────────────────────── */
.schedule { padding:110px 0; background:var(--cream-50); }
.sched-table { max-width:800px; margin:0 auto; padding:0 48px; }
.sched-row {
  display:grid; grid-template-columns:110px 1fr auto;
  align-items:center; gap:28px; padding:22px 0;
  border-bottom:1px solid var(--border);
}
.sched-row:last-child { border-bottom:none; }
.s-day  { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--rose); white-space:nowrap; }
.s-name { font-family:'Cormorant Garamond',serif; font-size:24px; color:var(--ink); }
.s-sub  { font-size:12px; color:var(--ink-muted); margin-top:3px; }
.s-price { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--ink-muted); text-align:right; white-space:nowrap; margin-right:16px; }
.sched-actions { display:flex; align-items:center; gap:12px; }
.s-book {
  background:transparent; border:1px solid var(--ink); color:var(--ink);
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  padding:9px 20px; border-radius:2px; transition:all .25s; white-space:nowrap;
}
.s-book:hover { background:var(--ink); color:var(--cream); }

/* ── Contact ────────────────────────────────────────────────── */
.contact { padding:110px 0; background:var(--cream); }
.contact-grid {
  max-width:var(--max-w); margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.contact-left .label { margin-bottom:16px; }
.contact-left h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,3.8vw,50px); font-weight:300; color:var(--ink);
  line-height:1.1; margin-bottom:24px;
}
.contact-left p { font-size:15px; line-height:1.9; color:var(--ink-muted); margin-bottom:32px; }
.contact-details { display:flex; flex-direction:column; gap:14px; }
.contact-item { font-size:13px; color:var(--ink-muted); }
.contact-item strong { color:var(--ink); font-weight:500; }
.contact-item a:hover { color:var(--rose); }
/* contact brand (destra sezione contact — al posto del form) */
.contact-brand {
  display:flex; align-items:center; justify-content:center;
  min-height:280px;
}
.contact-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(45px,5.6vw,76px);
  font-weight:300; letter-spacing:.03em;
  color:var(--brown); text-decoration:none;
  display:block; text-align:center; line-height:1.0;
}
.contact-logo span { display:block; }
.contact-logo em   { display:block; font-style:italic; color:var(--rose); }

.contact-form { display:flex; flex-direction:column; gap:16px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-muted); }
.field input, .field textarea, .field select {
  background:var(--cream-50); border:1px solid var(--border); border-radius:2px;
  padding:12px 14px; font-family:'Lora',serif; font-size:14px; color:var(--ink);
  outline:none; transition:border-color .25s; width:100%;
}
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--rose); }
.field textarea { height:90px; resize:vertical; }
.field select { appearance:none; cursor:pointer; }
.field input.invalid, .field textarea.invalid { border-color:#c0392b; }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-success {
  display:none; font-family:'Cormorant Garamond',serif;
  font-size:22px; font-style:italic; color:var(--rose); padding:24px 0;
}

/* ════════════════════════════════════════════════════════════ */
/*  BOOKING MODAL                                               */
/* ════════════════════════════════════════════════════════════ */
.modal-overlay {
  position:fixed; inset:0; z-index:99999;
  background:rgba(42,37,32,.65); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; pointer-events:none; transition:opacity .4s;
}
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal {
  background:var(--cream-50); border-radius:2px; width:100%; max-width:560px;
  box-shadow:0 24px 80px rgba(42,37,32,.25);
  transform:translateY(24px) scale(.98); transition:transform .4s;
  max-height:90vh; overflow-y:auto;
}
.modal-overlay.open .modal { transform:none; }
.modal-header { background:var(--brown); padding:32px 36px 28px; position:relative; }
.modal-close  { position:absolute; top:20px; right:24px; color:rgba(242,230,208,.5); font-size:22px; transition:color .2s; padding:4px; }
.modal-close:hover { color:var(--ivory); }
.modal-step-label { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rose); margin-bottom:8px; }
.modal-title    { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:var(--ivory); line-height:1.2; }
.modal-subtitle { font-size:13px; color:rgba(242,230,208,.55); margin-top:6px; }
.modal-progress { display:flex; gap:4px; margin-top:20px; }
.prog-step { flex:1; height:2px; background:rgba(242,230,208,.15); border-radius:1px; transition:background .4s; }
.prog-step.done   { background:var(--rose); }
.prog-step.active { background:rgba(201,160,155,.6); }
.booking-step { display:none; }
.booking-step.active { display:block; }
.modal-body { padding:28px 36px 0; }
.class-options { display:flex; flex-direction:column; gap:10px; }
.class-opt {
  display:flex; align-items:center; gap:16px; padding:16px 18px;
  border:1px solid var(--border); border-radius:2px; cursor:pointer;
  background:var(--cream); transition:border-color .25s, background .25s;
}
.class-opt:hover   { border-color:var(--rose); background:var(--cream-50); }
.class-opt.selected{ border-color:var(--rose); background:var(--rose-lt); }
.class-opt-check {
  width:18px; height:18px; border-radius:50%; border:1.5px solid var(--border);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; background:white;
}
.class-opt.selected .class-opt-check { background:var(--rose); border-color:var(--rose); }
.class-opt-name { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--ink); }
.class-opt-meta { font-size:11px; color:var(--ink-muted); margin-top:2px; }
.class-opt-price{ font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--ink-muted); margin-left:auto; }
.date-section-title { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:12px; margin-top:24px; }
.date-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:4px; }
.date-btn { padding:12px 6px; text-align:center; border:1px solid var(--border); border-radius:2px; background:var(--cream); cursor:pointer; transition:all .2s; }
.date-btn:hover    { border-color:var(--rose); }
.date-btn.selected { background:var(--rose); border-color:var(--rose); color:white; }
.date-btn.disabled { opacity:.35; pointer-events:none; }
.date-day { font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-muted); }
.date-btn.selected .date-day, .date-btn.selected .date-num { color:white; }
.date-num { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--ink); line-height:1.2; }
.time-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.time-btn { padding:10px; text-align:center; border:1px solid var(--border); border-radius:2px; background:var(--cream); cursor:pointer; font-size:13px; color:var(--ink); transition:all .2s; }
.time-btn:hover      { border-color:var(--rose); }
.time-btn.selected   { background:var(--rose); border-color:var(--rose); color:white; }
.time-btn.unavailable{ opacity:.3; pointer-events:none; text-decoration:line-through; }
.confirm-box { background:var(--cream); border:1px solid var(--border); border-radius:2px; padding:24px; }
.confirm-row { display:flex; justify-content:space-between; align-items:baseline; padding:8px 0; border-bottom:1px solid var(--border); }
.confirm-row:last-child { border-bottom:none; }
.c-label { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-muted); }
.c-val   { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--ink); }
.modal-footer { display:flex; align-items:center; justify-content:space-between; padding:24px 36px 28px; border-top:1px solid var(--border); margin-top:24px; }
.modal-back { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-muted); background:none; border:none; cursor:pointer; }
.modal-next { background:var(--ink); color:var(--cream); font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:14px 32px; border-radius:2px; transition:background .25s; }
.modal-next:hover    { background:#1A120D; }
.modal-next:disabled { opacity:.45; pointer-events:none; }
.msg-note { font-size:12px; color:var(--ink-muted); line-height:1.6; background:var(--cream-200); padding:12px 14px; border-radius:2px; margin-top:16px; }
.success-state { text-align:center; padding:48px 36px; }
.success-icon  { width:60px; height:60px; border-radius:50%; background:var(--rose-lt); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.success-icon svg { width:28px; height:28px; stroke:var(--rose); stroke-width:2; fill:none; }
.success-title { font-family:'Cormorant Garamond',serif; font-size:32px; color:var(--ink); margin-bottom:12px; }
.success-body  { font-size:14px; color:var(--ink-muted); line-height:1.8; }

/* ════════════════════════════════════════════════════════════ */
/*  FOOTER                                                      */
/* ════════════════════════════════════════════════════════════ */
.site-footer {
  background:var(--brown); padding:48px;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px;
}
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--ivory); letter-spacing:.06em; }
.footer-logo em { font-style:italic; color:var(--rose); }
.footer-links { display:flex; gap:24px; justify-content:center; flex-wrap:wrap; }
.footer-links a { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,230,208,.45); transition:color .25s; }
.footer-links a:hover { color:var(--ivory); }
.footer-right { text-align:right; }
.footer-copy  { font-size:10px; color:rgba(242,230,208,.3); letter-spacing:.05em; }

/* ════════════════════════════════════════════════════════════ */
/*  BLOG — PAGE HEADER                                          */
/* ════════════════════════════════════════════════════════════ */
.blog-header {
  background:var(--brown); padding:140px 48px 80px;
  position:relative; overflow:hidden; text-align:center;
}
.blog-header-inner { position:relative; z-index:1; max-width:600px; margin:0 auto; }
.blog-header .label { color:var(--rose); margin-bottom:20px; }
.blog-header h1 {
  font-family:'Cormorant Garamond',serif; font-size:clamp(40px,6vw,72px);
  font-weight:300; color:var(--ivory); line-height:1.05; margin-bottom:20px;
}
.blog-header p { font-size:16px; color:rgba(242,230,208,.65); line-height:1.8; }

/* ── Post grid ──────────────────────────────────────────────── */
.posts-section { background:var(--cream); padding:80px 0 110px; }
.posts-grid {
  max-width:var(--max-w); margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:repeat(2,1fr); gap:40px;
}
.post-card {
  background:var(--cream-50); border-radius:2px; overflow:hidden;
  box-shadow:0 2px 12px rgba(42,37,32,.06);
  transition:transform .4s, box-shadow .4s; display:flex; flex-direction:column;
}
.post-card:hover { transform:translateY(-4px); box-shadow:0 10px 36px rgba(42,37,32,.12); }
.post-card-thumb { aspect-ratio:16/9; overflow:hidden; background:var(--cream-200); display:block; }
.post-card-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.post-card:hover .post-card-thumb img { transform:scale(1.04); }
.post-card-body { padding:28px 28px 24px; flex:1; display:flex; flex-direction:column; }
.post-card-meta {
  display:flex; align-items:center; gap:16px; margin-bottom:14px;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-muted);
}
.post-card-cat { color:var(--rose); }
.post-card-title {
  font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:300;
  color:var(--ink); line-height:1.25; margin-bottom:12px; transition:color .2s;
}
.post-card:hover .post-card-title { color:var(--rose-dk); }
.post-card-excerpt { font-size:14px; line-height:1.8; color:var(--ink-muted); flex:1; }
.post-card-link {
  display:inline-flex; align-items:center; gap:8px; margin-top:20px;
  font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--rose);
  transition:gap .2s;
}
.post-card:hover .post-card-link { gap:14px; }
.posts-empty { max-width:var(--max-w); margin:0 auto; padding:40px 48px; text-align:center; color:var(--ink-muted); }

/* Pagination */
.pagination { display:flex; justify-content:center; gap:8px; padding:48px 0 0; }
.pagination a, .pagination span {
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border); border-radius:2px;
  font-size:13px; color:var(--ink-muted); transition:all .2s;
}
.pagination a:hover { background:var(--ink); color:var(--cream); border-color:var(--ink); }
.pagination .current { background:var(--rose); border-color:var(--rose); color:white; }

/* ════════════════════════════════════════════════════════════ */
/*  SINGLE POST                                                 */
/* ════════════════════════════════════════════════════════════ */
.post-hero {
  background:var(--brown); padding:140px 48px 80px;
  text-align:center; position:relative; overflow:hidden;
}
.post-meta {
  display:flex; justify-content:center; align-items:center; gap:20px;
  font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(242,230,208,.5); margin-bottom:24px;
}
.post-cat { color:var(--rose); }
.post-title {
  font-family:'Cormorant Garamond',serif; font-size:clamp(36px,5.5vw,68px);
  font-weight:300; color:var(--ivory); line-height:1.08; max-width:800px; margin:0 auto 28px;
}
.post-excerpt { font-size:16px; color:rgba(242,230,208,.6); max-width:600px; margin:0 auto; line-height:1.8; }
.post-featured-img { max-height:520px; overflow:hidden; }
.post-featured-img img { width:100%; height:100%; object-fit:cover; display:block; }
.post-content-wrap { max-width:720px; margin:0 auto; padding:72px 48px 90px; }
.post-content { font-size:17px; line-height:1.9; color:var(--ink); }
.post-content h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3.5vw,42px); font-weight:300; color:var(--ink); margin:56px 0 20px; line-height:1.2; }
.post-content h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,2.5vw,30px); font-weight:300; color:var(--ink); margin:40px 0 16px; line-height:1.3; }
.post-content p  { margin-bottom:24px; }
.post-content ul, .post-content ol { margin:0 0 24px 24px; }
.post-content li { margin-bottom:8px; line-height:1.8; }
.post-content blockquote { border-left:3px solid var(--rose); margin:40px 0; padding:20px 32px; font-family:'Cormorant Garamond',serif; font-size:clamp(22px,2.8vw,32px); font-style:italic; font-weight:300; color:var(--ink); line-height:1.4; background:var(--cream-50); }
.post-content img { border-radius:2px; margin:32px 0; }
.post-content a { color:var(--rose-dk); text-decoration:underline; text-underline-offset:3px; }
.post-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:40px; padding-top:32px; border-top:1px solid var(--border); }
.post-tag  { font-size:10px; letter-spacing:.12em; text-transform:uppercase; padding:6px 14px; border:1px solid var(--border); border-radius:2px; color:var(--ink-muted); transition:all .2s; }
.post-tag:hover { background:var(--rose); border-color:var(--rose); color:white; }
.author-box { background:var(--cream-50); border-top:2px solid var(--rose); padding:36px 40px; display:flex; gap:28px; align-items:center; margin:48px 0; }
.author-avatar { width:72px; height:72px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.author-avatar img { width:100%; height:100%; object-fit:cover; }
.author-name { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--ink); margin-bottom:8px; }
.author-bio  { font-size:14px; color:var(--ink-muted); line-height:1.7; }
.post-nav { display:flex; justify-content:space-between; gap:24px; padding:32px 0; border-top:1px solid var(--border); margin-top:8px; }
.post-nav-prev, .post-nav-next { display:flex; flex-direction:column; gap:6px; max-width:45%; }
.post-nav-next { align-items:flex-end; text-align:right; }
.post-nav span { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--rose); }
.post-nav a { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--ink); transition:color .2s; }
.post-nav a:hover { color:var(--rose-dk); }
.related-posts { background:var(--cream-200); padding:72px 0; }
.related-inner { max-width:var(--max-w); margin:0 auto; padding:0 48px; }
.related-title { font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:300; color:var(--ink); margin-bottom:40px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.related-card { background:var(--cream-50); border-radius:2px; overflow:hidden; }
.related-thumb { aspect-ratio:16/9; overflow:hidden; background:var(--cream-200); display:block; }
.related-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.related-card:hover .related-thumb img { transform:scale(1.04); }
.related-card-body { padding:20px; }
.related-card-body h3 { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:300; color:var(--ink); line-height:1.3; transition:color .2s; }
.related-card:hover .related-card-body h3 { color:var(--rose-dk); }
.related-card-body time { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-muted); margin-top:8px; display:block; }

/* ════════════════════════════════════════════════════════════ */
/*  ARCHIVE / CATEGORY                                          */
/* ════════════════════════════════════════════════════════════ */
.archive-header { background:var(--brown); padding:140px 48px 80px; text-align:center; position:relative; overflow:hidden; }
.archive-tag { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--rose); margin-bottom:16px; display:block; }
.archive-title { font-family:'Cormorant Garamond',serif; font-size:clamp(40px,6vw,72px); font-weight:300; color:var(--ivory); }
.archive-header p { font-size:15px; color:rgba(242,230,208,.55); max-width:500px; margin:16px auto 0; line-height:1.8; }

/* ════════════════════════════════════════════════════════════ */
/*  STATIC PAGE                                                 */
/* ════════════════════════════════════════════════════════════ */
.page-header {
  background:var(--brown); padding:140px 48px 80px; text-align:center;
  position:relative; overflow:hidden;
}
.page-header--image {
  background-size:cover; background-position:center;
}
.page-header--image::before {
  content:''; position:absolute; inset:0;
  background:rgba(42,37,32,.6);
}
.page-header-inner { position:relative; z-index:1; }
.page-title { font-family:'Cormorant Garamond',serif; font-size:clamp(36px,5vw,64px); font-weight:300; color:var(--ivory); }
.page-content-wrap { max-width:720px; margin:0 auto; padding:72px 48px 90px; }
.page-content      { font-size:17px; line-height:1.9; color:var(--ink); }
.page-content h2   { font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:300; color:var(--ink); margin:48px 0 18px; }
.page-content h3   { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:300; color:var(--ink); margin:36px 0 14px; }
.page-content p    { margin-bottom:22px; }
.page-content ul, .page-content ol { margin:0 0 22px 24px; }
.page-content li   { margin-bottom:8px; line-height:1.8; }
.page-content a    { color:var(--rose-dk); text-decoration:underline; text-underline-offset:3px; }
.page-content blockquote { border-left:3px solid var(--rose); padding:16px 24px; margin:32px 0; font-family:'Cormorant Garamond',serif; font-size:clamp(20px,2.5vw,28px); font-style:italic; color:var(--ink); background:var(--cream-50); }

/* Full-width template — rimuove il padding laterale imposto dal tema */
.site-main--full { width:100%; }

/* Social links */
.social-links { display:flex; gap:16px; margin-top:28px; }
.social-link {
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--border); color:var(--ink-muted);
  transition:background .25s, color .25s, border-color .25s;
}
.social-link svg { width:18px; height:18px; }
.social-link:hover { background:var(--rose); color:var(--cream-50); border-color:var(--rose); }

/* ── Gutenberg block compatibility ──────────────────────────── */
.entry-content .wp-block-image img { border-radius:2px; }
.entry-content .wp-block-quote { border-left:3px solid var(--rose); padding:16px 24px; font-family:'Cormorant Garamond',serif; font-size:clamp(20px,2.5vw,28px); font-style:italic; color:var(--ink); background:var(--cream-50); margin:32px 0; }
.entry-content .wp-block-button__link { background:var(--rose); color:var(--cream-50); border-radius:2px; padding:14px 28px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }

/* ── Cookie notice ──────────────────────────────────────────── */
.cookie-notice {
  position:fixed; bottom:0; left:0; right:0; z-index:99999;
  background:var(--brown); border-top:1px solid rgba(242,230,208,.12);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:16px 48px;
  transform:translateY(110%);
  transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.cookie-notice.visible { transform:translateY(0); }
.cookie-notice p {
  margin:0; font-size:12px; line-height:1.7; letter-spacing:.03em;
  color:rgba(242,230,208,.55); max-width:780px;
}
.cookie-ok {
  flex-shrink:0;
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rose); background:none;
  border:1px solid rgba(201,160,155,.5); border-radius:2px;
  padding:7px 18px; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.cookie-ok:hover { background:var(--rose); color:var(--cream); border-color:var(--rose); }
@media (max-width:640px) {
  .cookie-notice { flex-direction:column; align-items:flex-start; padding:20px 24px; gap:14px; }
  .cookie-ok { align-self:stretch; text-align:center; }
}

/* ════════════════════════════════════════════════════════════ */
/*  RESPONSIVE                                                  */
/* ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px) {
  .sh-nav { padding:16px 20px; }
  .sh-nav.scrolled { padding:12px 20px; }
  .sh-nav-links, .sh-nav-cta { display:none; }
  .sh-burger { display:flex; }

  .hero-content { grid-template-columns:1fr; gap:44px; padding:90px 24px 70px; }
  .hero-visual { order:-1; }
  .hero-frame { aspect-ratio:4/3; }
  .hero-badge { left:0; bottom:-14px; }

  .about-grid { grid-template-columns:1fr; gap:40px; padding:0 24px; }
  .cards-grid { grid-template-columns:1fr; padding:0 24px; }
  .sched-table { padding:0 24px; }
  .sched-row { grid-template-columns:80px 1fr; }
  .sched-actions { flex-direction:column; align-items:flex-start; }
  .s-price { display:none; }
  .contact-grid { grid-template-columns:1fr; gap:48px; padding:0 24px; }
  .site-footer { grid-template-columns:1fr; gap:20px; padding:32px 24px; }
  .footer-right { text-align:left; }
  .testimonials-inner { padding:0 24px; }

  .posts-grid  { grid-template-columns:1fr; padding:0 24px; }
  .related-grid{ grid-template-columns:1fr; }
  .post-content-wrap { padding:48px 24px 70px; }
  .author-box  { flex-direction:column; padding:28px 24px; }
  .blog-header, .archive-header, .post-hero, .page-header { padding:120px 24px 60px; }
  .inner { padding:0 24px; }
  .form-row-2 { grid-template-columns:1fr; }
  .date-grid{ grid-template-columns:repeat(3,1fr); }
  .modal-body { padding:22px 24px 0; }
  .modal-header { padding:24px 24px 20px; }
  .modal-footer { padding:20px 24px 24px; }
}
