/* ==========================================================================
   Shiatsu Holistic Bodywork — MODERN design system
   ------------------------------------------------------------------------
   Signature: a flowing ribbon line — echoing the gold sash/energy-stream
   in the studio's own commissioned logo illustration — used as a recurring
   section-divider motif, paired with a floating glass "detail card" over
   hero photography.
   Tokens: porcelain #F6F3ED · surface #FFFFFF · ink #221F1B · ink-soft #6E6759
           sage #66795A (primary) · sage-deep #2B3428 (dark sections)
           coral #E2703F (CTA/energy accent) · gold #C99A52 (signature line)
   Type: Manrope (display, 700/800) + Inter (body/UI)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root{
  --porcelain:  #F6F3ED;
  --porcelain-deep: #EDE8DC;
  --surface:    #FFFFFF;
  --ink:        #221F1B;
  --ink-soft:   #6E6759;
  --ink-faint:  #9B9284;
  --sage:       #66795A;
  --sage-deep:  #2B3428;
  --sage-soft:  #8B9B7E;
  --sage-mist:  #E7ECE2;
  --coral:      #E2703F;
  --coral-deep: #C25A2C;
  --coral-mist: #FBE3D6;
  --gold:       #C99A52;
  --line:       #E7E1D5;
  --white:      #FFFFFF;

  /* JS-generated inline styles reference these two var names directly —
     aliased to the modern palette so old dynamic markup stays on-brand */
  --indigo:     var(--sage-deep);
  --clay:       var(--coral);

  --font-display: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  --r-s: 10px; --r-m: 16px; --r-l: 26px; --r-pill: 999px;
  --shadow-card: 0 8px 30px -14px rgba(43,52,40,0.18);
  --shadow-lift: 0 20px 50px -18px rgba(43,52,40,0.30);
  --sp-1: 0.5rem; --sp-2: 1rem; --sp-3: 1.5rem; --sp-4: 2.5rem; --sp-5: 4rem; --sp-6: 6rem;
  --container: 1180px;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
body{ margin:0; background:var(--porcelain); color:var(--ink); font-family:var(--font-body); font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased; font-size:16.5px; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:800; letter-spacing:-0.02em; margin:0 0 0.7rem; line-height:1.1; color:var(--ink); }
p{ margin:0 0 1rem; color:var(--ink-soft); }
button{ font-family:inherit; }
:focus-visible{ outline:2px solid var(--sage-deep); outline-offset:3px; }

h1{ font-size:clamp(2.5rem,4.8vw,4.2rem); line-height:1.06; }
h2{ font-size:clamp(1.9rem,3.3vw,2.7rem); }
h3{ font-size:1.3rem; font-weight:800; }
h4{ font-size:1rem; letter-spacing:0.01em; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 1.5rem; }
@media (min-width:640px){ .container{ padding:0 2.5rem; } }
section{ padding:var(--sp-5) 0; }
@media (min-width:900px){ section{ padding:var(--sp-6) 0; } }
.section-alt{ background:var(--porcelain-deep); }
.section-dark{ background:var(--sage-deep); color:#fff; }
.section-dark p{ color:#C8D0C2; }
.section-dark h2,.section-dark h3{ color:#fff; }

.eyebrow{ display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-display); font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--coral); margin-bottom:1rem; }
.eyebrow::before{ content:''; width:20px; height:2px; background:var(--coral); border-radius:2px; flex:none; }
.section-dark .eyebrow{ color:#F0A97D; }
.section-dark .eyebrow::before{ background:#F0A97D; }

/* signature: flowing ribbon divider */
.ribbon-divider{ display:block; width:100%; height:48px; opacity:0.85; }
.ribbon-divider path{ stroke:var(--gold); stroke-width:2; fill:none; stroke-linecap:round; }

.hr-soft{ border:none; border-top:1px solid var(--line); margin:var(--sp-4) 0; }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; padding:1rem 1.9rem; border-radius:var(--r-pill); font-family:var(--font-display); font-weight:700; font-size:0.94rem; border:1.5px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease; white-space:nowrap; }
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--coral); color:#fff; box-shadow:0 10px 26px -10px rgba(226,112,63,0.55); }
.btn-primary:hover{ background:var(--coral-deep); }
.btn-secondary{ background:var(--surface); color:var(--sage-deep); border-color:var(--line); }
.btn-secondary:hover{ border-color:var(--sage); }
.btn-on-dark{ background:var(--porcelain); color:var(--sage-deep); }
.btn-on-dark:hover{ background:#fff; }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-block{ width:100%; }
.btn-sm{ padding:0.6rem 1.1rem; font-size:0.82rem; }
.btn[disabled]{ opacity:0.4; cursor:not-allowed; transform:none; }

/* ---------- floating pill nav ---------- */
.nav-wrap{ position:sticky; top:14px; z-index:200; padding:0 1rem; }
.nav-pill{ max-width:var(--container); margin:0 auto; background:rgba(255,255,255,0.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,0.6); border-radius:var(--r-pill); box-shadow:var(--shadow-card); padding:0.55rem 0.6rem 0.55rem 1.3rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand{ display:flex; align-items:center; gap:0.6rem; font-family:var(--font-display); font-weight:800; font-size:1rem; color:var(--sage-deep); flex:none; }
.brand img.mark{ width:32px; height:32px; border-radius:50%; object-fit:cover; flex:none; }
.brand small{ display:none; }

.nav-desktop{ display:none; }
@media (min-width:1040px){
  .nav-desktop{ display:flex; align-items:center; gap:1.6rem; }
  .nav-links{ display:flex; align-items:center; gap:1.5rem; }
  .nav-links > li{ position:relative; }
  .nav-links a.nav-link{ font-family:var(--font-body); font-size:0.92rem; font-weight:600; color:var(--ink-soft); padding:0.3rem 0; }
  .nav-links a.nav-link:hover, .nav-links .active > a.nav-link{ color:var(--sage-deep); }
  .has-dropdown > .nav-link::after{ content:'▾'; font-size:0.7em; margin-left:0.3em; opacity:0.6; }
  .dropdown{ position:absolute; top:100%; left:50%; transform:translateX(-50%); padding-top:14px; min-width:230px; opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease; }
  .dropdown-inner{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-m); box-shadow:var(--shadow-lift); padding:0.5rem; }
  .has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
  .dropdown a{ display:block; padding:0.6rem 0.8rem; border-radius:var(--r-s); font-size:0.9rem; color:var(--ink-soft); font-weight:500; }
  .dropdown a:hover{ background:var(--sage-mist); color:var(--sage-deep); }
}
.nav-cta{ display:none; }
@media (min-width:1040px){ .nav-cta{ display:inline-flex; padding:0.75rem 1.4rem; } }

.nav-toggle{ display:inline-flex; flex-direction:column; gap:5px; background:var(--sage-mist); border:none; border-radius:50%; width:40px; height:40px; align-items:center; justify-content:center; cursor:pointer; padding:0; flex:none; }
@media (min-width:1040px){ .nav-toggle{ display:none; } }
.nav-toggle span{ width:16px; height:2px; background:var(--sage-deep); display:block; border-radius:2px; }

.mobile-drawer{ position:fixed; inset:0; z-index:300; visibility:hidden; pointer-events:none; }
.mobile-drawer.open{ visibility:visible; pointer-events:auto; }
.mobile-drawer-backdrop{ position:absolute; inset:0; background:rgba(43,52,40,0.45); opacity:0; transition:opacity .25s ease; }
.mobile-drawer.open .mobile-drawer-backdrop{ opacity:1; }
.mobile-drawer-panel{ position:absolute; top:0; right:0; height:100%; width:min(84vw,360px); background:var(--porcelain); padding:1.6rem; overflow-y:auto; transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column; gap:0.3rem; border-radius:24px 0 0 24px; }
.mobile-drawer.open .mobile-drawer-panel{ transform:translateX(0); }
.mobile-drawer-close{ align-self:flex-end; background:var(--surface); border:none; width:36px; height:36px; border-radius:50%; font-size:1.3rem; cursor:pointer; color:var(--ink); margin-bottom:1rem; }
.mobile-drawer a.nav-link{ display:block; padding:0.7rem 0; font-family:var(--font-display); font-weight:700; font-size:1.05rem; border-bottom:1px solid var(--line); color:var(--ink); }
.mobile-drawer .sub-links a{ font-family:var(--font-body); font-weight:500; font-size:0.92rem; padding:0.5rem 0 0.5rem 1rem; color:var(--ink-soft); border-bottom:none; }
@media (min-width:1040px){ .mobile-drawer{ display:none; } }

/* ---------- hero ---------- */
.hero-modern{ padding:var(--sp-5) 0 var(--sp-4); }
.hero-modern-grid{ display:grid; gap:var(--sp-4); align-items:center; }
@media (min-width:980px){ .hero-modern-grid{ grid-template-columns:1.05fr 0.95fr; gap:var(--sp-5); } }
.hero-modern p.lead{ font-size:1.14rem; max-width:480px; }
.hero-modern-actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.6rem; }
.hero-photo-wrap{ position:relative; }
.hero-photo{ border-radius:var(--r-l); overflow:hidden; box-shadow:var(--shadow-lift); aspect-ratio:4/5; background:var(--sage-mist); }
.hero-photo.square{ aspect-ratio:1/1; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.floating-card{ position:absolute; left:-1.1rem; bottom:-1.1rem; background:rgba(255,255,255,0.85); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,0.7); border-radius:var(--r-m); box-shadow:var(--shadow-lift); padding:1rem 1.3rem; max-width:230px; }
@media (max-width:600px){ .floating-card{ left:0.6rem; bottom:-1rem; padding:0.8rem 1.05rem; max-width:190px; } }
.floating-card .num{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--sage-deep); display:block; }
.floating-card .label{ font-size:0.76rem; color:var(--ink-soft); }
.trust-row{ display:flex; gap:var(--sp-4); flex-wrap:wrap; margin-top:var(--sp-4); padding-top:var(--sp-3); border-top:1px solid var(--line); }
.trust-row div strong{ display:block; font-family:var(--font-display); font-size:1.5rem; color:var(--sage-deep); }
.trust-row div span{ font-size:0.8rem; color:var(--ink-faint); }
.trust-strip{ display:flex; flex-wrap:wrap; gap:var(--sp-4); justify-content:center; align-items:center; opacity:0.75; }
.trust-strip span{ font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-faint); font-weight:700; font-family:var(--font-display); }

/* simple sub-page hero (no photo) */
.hero-simple{ padding:var(--sp-5) 0 var(--sp-4); }
.hero-simple .lead{ font-size:1.1rem; max-width:560px; }
.breadcrumb{ font-size:0.8rem; color:var(--ink-faint); margin-bottom:1.2rem; }
.breadcrumb a{ color:var(--ink-faint); } .breadcrumb a:hover{ color:var(--sage-deep); }

/* ---------- bento services grid ---------- */
.bento{ display:grid; gap:1.1rem; grid-template-columns:1fr; }
@media (min-width:760px){
  .bento{ grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; }
  .bento .card-big{ grid-column:span 2; grid-row:span 2; }
  .bento .card-reg{ grid-column:span 2; grid-row:span 1; }
}
.bento-card{ position:relative; border-radius:var(--r-l); padding:1.8rem; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; box-shadow:var(--shadow-card); transition:transform .2s ease, box-shadow .2s ease; min-height:190px; }
.bento-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.bento-card.dark{ background:linear-gradient(155deg, var(--sage-deep), #1D251A); color:#fff; }
.bento-card.dark h3{ color:#fff; }
.bento-card.dark p{ color:#C8D0C2; }
.bento-card.light{ background:var(--surface); border:1px solid var(--line); }
.bento-card.coral{ background:linear-gradient(155deg, var(--coral), var(--coral-deep)); color:#fff; }
.bento-card.coral h3{ color:#fff; }
.bento-card.coral p{ color:#FADFD1; }
.bento-card h3{ margin-bottom:0.35rem; }
.bento-card p{ margin-bottom:0; font-size:0.94rem; }
.bento-card .price-pill{ position:absolute; top:1.3rem; right:1.3rem; background:rgba(255,255,255,0.18); backdrop-filter:blur(6px); padding:0.32rem 0.75rem; border-radius:var(--r-pill); font-size:0.76rem; font-weight:700; font-family:var(--font-display); }
.bento-card.light .price-pill{ background:var(--sage-mist); color:var(--sage-deep); }

/* ---------- generic cards (also used by content-loader.js) ---------- */
.grid{ display:grid; gap:1.2rem; }
.grid.cols-2{ grid-template-columns:1fr; } .grid.cols-3{ grid-template-columns:1fr; } .grid.cols-4{ grid-template-columns:1fr; }
@media (min-width:640px){ .grid.cols-2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:800px){ .grid.cols-3{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px){ .grid.cols-4{ grid-template-columns:repeat(4,1fr); } }
.grid.auto-fit{ grid-template-columns:1fr; }
@media (min-width:900px){ .grid.auto-fit{ grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); } }

.card{ background:var(--surface); border-radius:var(--r-l); padding:var(--sp-4); box-shadow:var(--shadow-card); }

.service-card{ background:var(--surface); border-radius:var(--r-l); padding:var(--sp-4); box-shadow:var(--shadow-card); display:flex; flex-direction:column; height:100%; transition:transform .2s ease, box-shadow .2s ease; }
.service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.service-card h3{ margin-bottom:0.4rem; }
.service-card p{ flex-grow:1; font-size:0.95rem; }
.service-card .price-tag{ font-family:var(--font-display); font-weight:800; color:var(--sage-deep); font-size:1.1rem; margin-top:0.6rem; display:block; }
.service-card a.link-arrow{ margin-top:0.7rem; font-weight:700; color:var(--coral); font-size:0.88rem; display:inline-flex; align-items:center; gap:0.3rem; font-family:var(--font-display); }

/* booking service-select cards (foglalas.html — Cal.com service picker) */
.service-select-card{
  display:block; width:100%; text-align:left; cursor:pointer; font-family:var(--font-body);
  background:var(--surface); border:1.5px solid var(--line); border-radius:var(--r-l);
  padding:var(--sp-4); box-shadow:var(--shadow-card);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-select-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); border-color:var(--sage); }
.service-select-card h3{ margin-bottom:0.3rem; font-size:1.2rem; }
.service-select-card p{ margin-bottom:0; }

.tag{ display:inline-block; background:var(--sage-mist); color:var(--sage-deep); font-size:0.72rem; font-weight:700; letter-spacing:0.03em; padding:0.3rem 0.75rem; border-radius:var(--r-pill); text-transform:uppercase; font-family:var(--font-display); }
.tag.clay{ background:var(--coral-mist); color:var(--coral-deep); }
.tag.indigo{ background:var(--sage-mist); color:var(--sage-deep); }

.price-tag{ font-family:var(--font-display); font-weight:800; color:var(--sage-deep); }

/* price rows / tables (JS-generated on Árak + hours) */
.price-row{ display:flex; justify-content:space-between; align-items:baseline; padding:0.9rem 0; border-bottom:1px solid var(--line); gap:1rem; }
.price-row > div:first-child, .price-row > span:first-child{ flex:1 1 auto; min-width:0; }
.price-row .name{ font-family:var(--font-display); font-weight:700; font-size:1.02rem; }
.price-row .desc{ font-size:0.82rem; color:var(--ink-faint); margin-top:0.15rem; }
.price-row .amount{ font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:var(--sage-deep); white-space:nowrap; flex:0 0 auto; }
.price-table-card{ background:var(--surface); border-radius:var(--r-l); padding:var(--sp-4); box-shadow:var(--shadow-card); }
.pricing-highlight{ border:2px solid var(--coral); position:relative; }
.pricing-highlight .tag{ position:absolute; top:-13px; left:var(--sp-4); }

/* ---------- testimonials ---------- */
.testimonial{ background:var(--surface); border-radius:var(--r-l); padding:var(--sp-4); box-shadow:var(--shadow-card); }
.testimonial-stars{ color:var(--gold); letter-spacing:2px; margin-bottom:0.6rem; }
.testimonial-who{ display:flex; align-items:center; gap:0.7rem; margin-top:1.1rem; }
.avatar-ring{ width:40px; height:40px; border-radius:50%; background:var(--sage-mist); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; color:var(--sage-deep); flex:none; }

blockquote.quote{ font-family:var(--font-display); font-weight:700; font-style:normal; font-size:1.3rem; color:var(--sage-deep); border-left:3px solid var(--coral); padding-left:var(--sp-3); margin:var(--sp-4) 0; }

/* ---------- process steps (real sequence -> numbers) ---------- */
.steps{ display:grid; gap:1.1rem; grid-template-columns:1fr; }
@media (min-width:800px){ .steps{ grid-template-columns:repeat(4,1fr); } }
.step{ background:var(--surface); border-radius:var(--r-m); padding:1.6rem; box-shadow:var(--shadow-card); }
.step .step-index{ font-family:var(--font-display); font-weight:800; font-size:1.7rem; color:var(--coral); display:block; margin-bottom:0.5rem; }
.step h3{ font-size:1.05rem; margin-bottom:0.3rem; }
.step p{ font-size:0.92rem; margin-bottom:0; }

/* ---------- forms ---------- */
.field{ margin-bottom:var(--sp-3); }
.field label{ display:block; font-size:0.85rem; font-weight:700; margin-bottom:0.45rem; color:var(--ink); font-family:var(--font-display); }
.field .hint{ font-size:0.78rem; color:var(--ink-faint); margin-top:0.35rem; }
.hint{ font-size:0.85rem; color:var(--ink-faint); }
input[type=text], input[type=email], input[type=tel], input[type=date], input[type=password], textarea, select{
  width:100%; padding:0.85rem 1.1rem; border-radius:var(--r-s); border:1.5px solid var(--line);
  background:var(--surface); font-family:var(--font-body); font-size:0.96rem; color:var(--ink);
  transition:border-color .18s ease, box-shadow .18s ease;
}
input:focus, textarea:focus, select:focus{ border-color:var(--sage); box-shadow:0 0 0 3px var(--sage-mist); outline:none; }
textarea{ min-height:120px; resize:vertical; }
.checkbox-row{ display:flex; gap:0.7rem; align-items:flex-start; font-size:0.86rem; color:var(--ink-soft); }
.checkbox-row input{ margin-top:3px; width:auto; }
.form-card{ background:var(--surface); border-radius:var(--r-l); padding:var(--sp-4); box-shadow:var(--shadow-card); }

/* ---------- success box ---------- */
.success-box{ text-align:center; padding:var(--sp-4) var(--sp-3); }
.success-box .seal, .success-box .mark-circle{ width:56px; height:56px; margin:0 auto var(--sp-3); background:var(--sage-mist); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--sage-deep); font-size:1.6rem; }

/* ---------- FAQ accordion (main.js toggles .open) ---------- */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; text-align:left; background:none; border:none; padding:1.25rem 0; display:flex; justify-content:space-between; gap:1rem; align-items:center; cursor:pointer; font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--ink); }
.faq-q .plus{ font-size:1.4rem; color:var(--coral); transition:transform .2s ease; flex:none; }
.faq-item.open .faq-q .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-item.open .faq-a{ max-height:420px; }
.faq-a p{ padding-bottom:1.2rem; }

/* ---------- cookie consent (main.js toggles .show) ---------- */
#cookie-banner{ position:fixed; left:var(--sp-2); right:var(--sp-2); bottom:var(--sp-2); z-index:500; max-width:620px; margin:0 auto; background:var(--surface); border-radius:var(--r-l); box-shadow:var(--shadow-lift); padding:var(--sp-3); display:none; }
#cookie-banner.show{ display:block; }
#cookie-banner p{ font-size:0.87rem; margin-bottom:var(--sp-2); }
.cookie-actions{ display:flex; gap:0.6rem; flex-wrap:wrap; }
.cookie-settings-panel{ display:none; margin-top:var(--sp-2); padding-top:var(--sp-2); border-top:1px solid var(--line); }
.cookie-settings-panel.show{ display:block; }
.cookie-toggle-row{ display:flex; justify-content:space-between; align-items:center; padding:0.6rem 0; border-bottom:1px solid var(--line); font-size:0.86rem; }
.switch{ position:relative; width:40px; height:22px; flex:none; }
.switch input{ opacity:0; width:0; height:0; }
.switch .slider{ position:absolute; inset:0; background:var(--line); border-radius:20px; cursor:pointer; transition:.2s; }
.switch .slider::before{ content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:var(--surface); border-radius:50%; transition:.2s; }
.switch input:checked + .slider{ background:var(--sage); }
.switch input:checked + .slider::before{ transform:translateX(18px); }
.switch input:disabled + .slider{ background:var(--sage-soft); opacity:0.6; cursor:not-allowed; }

/* ---------- dark CTA band ---------- */
.cta-band{ background:var(--sage-deep); border-radius:var(--r-l); padding:var(--sp-5) var(--sp-4); color:#fff; text-align:center; }
.cta-band .eyebrow{ color:#F0A97D; }
.cta-band .eyebrow::before{ background:#F0A97D; }
.cta-band h2{ color:#fff; }
.cta-band p{ color:#C8D0C2; max-width:520px; margin-left:auto; margin-right:auto; }

/* ---------- blog ---------- */
.blog-card{ background:var(--surface); border-radius:var(--r-l); overflow:hidden; display:flex; flex-direction:column; height:100%; box-shadow:var(--shadow-card); transition:transform .2s ease, box-shadow .2s ease; }
.blog-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.blog-card .blog-thumb{ aspect-ratio:16/10; background:linear-gradient(135deg,var(--sage-deep),var(--sage)); position:relative; }
.blog-card .blog-body{ padding:var(--sp-3); display:flex; flex-direction:column; gap:0.5rem; flex-grow:1; }
.blog-meta{ font-size:0.74rem; color:var(--coral); text-transform:uppercase; letter-spacing:0.04em; font-weight:700; font-family:var(--font-display); }
.blog-article h2{ margin-top:var(--sp-4); }
.blog-article p, .blog-article li{ font-size:1.02rem; }
.blog-article ul{ list-style:disc; padding-left:1.4rem; margin-bottom:1rem; }
.blog-article ul li{ margin-bottom:0.4rem; color:var(--ink-soft); }

/* ---------- footer ---------- */
.site-footer{ background:var(--sage-deep); color:#C8D0C2; padding:var(--sp-5) 0 var(--sp-3); border-radius:40px 40px 0 0; margin-top:var(--sp-5); }
.site-footer h4{ color:#fff; font-family:var(--font-display); font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:1rem; }
.site-footer a{ color:#C8D0C2; opacity:0.9; font-size:0.92rem; }
.site-footer a:hover{ opacity:1; color:#fff; }
.footer-grid{ display:grid; gap:2rem; grid-template-columns:1.3fr repeat(3,1fr); }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid li{ margin-bottom:0.6rem; font-size:0.92rem; }
.footer-brand .brand{ color:#fff; }
.footer-bottom{ margin-top:var(--sp-5); padding-top:var(--sp-3); border-top:1px solid rgba(255,255,255,0.14); display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:0.8rem; opacity:0.75; }

/* ---------- admin panel ---------- */
.admin-shell{ display:flex; min-height:100vh; background:var(--porcelain); }
.admin-sidebar{ width:230px; background:var(--sage-deep); color:#fff; flex:none; padding:var(--sp-3) 1.2rem; display:flex; flex-direction:column; gap:0.3rem; }
.admin-sidebar a{ display:flex; align-items:center; gap:0.6rem; padding:0.75rem 0.9rem; border-radius:var(--r-s); color:#C8D0C2; font-size:0.92rem; font-weight:600; font-family:var(--font-display); }
.admin-sidebar a:hover, .admin-sidebar a.active{ background:rgba(255,255,255,0.1); color:#fff; }
.admin-main{ flex-grow:1; padding:var(--sp-4); max-width:100%; overflow-x:hidden; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--sp-4); flex-wrap:wrap; gap:1rem; }
.stat-card{ background:var(--surface); border-radius:var(--r-l); padding:var(--sp-3); box-shadow:var(--shadow-card); }
.stat-card .num{ font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--sage-deep); }
.stat-card .label{ font-size:0.8rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.03em; }
.admin-table{ width:100%; border-collapse:collapse; background:var(--surface); border-radius:var(--r-l); overflow:hidden; box-shadow:var(--shadow-card); }
.admin-table th{ text-align:left; font-size:0.74rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-faint); padding:0.9rem 1rem; background:var(--porcelain-deep); font-family:var(--font-display); }
.admin-table td{ padding:0.9rem 1rem; border-top:1px solid var(--line); font-size:0.9rem; vertical-align:middle; }
.status-pill{ display:inline-block; padding:0.25rem 0.7rem; border-radius:var(--r-pill); font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; font-family:var(--font-display); }
.status-pill.pending{ background:#FBEBD4; color:#8A5A12; }
.status-pill.confirmed{ background:var(--sage-mist); color:var(--sage-deep); }
.status-pill.rejected{ background:#F6DCD6; color:#A13A2A; }
.admin-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--sage-deep); padding:var(--sp-3); }
.admin-login-card{ background:var(--porcelain); border-radius:var(--r-l); padding:var(--sp-5) var(--sp-4); max-width:400px; width:100%; box-shadow:var(--shadow-lift); }

/* ---------- utility (also used by JS-generated markup) ---------- */
.text-center{ text-align:center; }
.max-w{ max-width:640px; }
.mx-auto{ margin-left:auto; margin-right:auto; }
.mt-1{margin-top:var(--sp-1);} .mt-2{margin-top:var(--sp-2);} .mt-3{margin-top:var(--sp-3);} .mt-4{margin-top:var(--sp-4);} .mt-5{margin-top:var(--sp-5);}
.mb-0{margin-bottom:0;}
.flex{ display:flex; } .items-center{ align-items:center; } .justify-between{ justify-content:space-between; } .gap-2{ gap:1rem; } .flex-wrap{ flex-wrap:wrap; }
.section-head{ max-width:680px; margin-bottom:var(--sp-4); }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.skip-link{ position:absolute; left:-999px; top:0; background:var(--sage-deep); color:#fff; padding:0.7rem 1rem; z-index:999; border-radius:0 0 var(--r-s) 0; }
.skip-link:focus{ left:0; }
.tag-pill{ display:inline-block; background:var(--sage-mist); color:var(--sage-deep); font-size:0.76rem; font-weight:700; padding:0.3rem 0.8rem; border-radius:var(--r-pill); text-transform:uppercase; letter-spacing:0.03em; font-family:var(--font-display); }

@media (max-width:640px){
  .hero-modern, .hero-simple{ padding-top:var(--sp-4); }
  section{ padding:var(--sp-4) 0; }
  .trust-row{ gap:var(--sp-3); }
}
