:root{
  --bg:#ffffff; --ink:#0b0e19; --muted:#6b7280;
  --brand:#ff2d55; --brand-2:#6f3ef5; --brand-ink:#ffffff;
  --card:#ffffff; --card-alt:#faf7ff;
  --border:#e5e7eb; --shadow: 0 10px 30px rgba(2,6,23,.08);
}
:root[data-theme="dark"]{
  --bg:#0b1020; --ink:#e5e7f3; --muted:#a3a7b5;
  --brand:#ff4b6e; --brand-2:#8a6bff; --brand-ink:#0b1020;
  --card:#11162a; --card-alt:#0f1426; --border:#1f2438; --shadow: 0 10px 30px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);scroll-behavior:smooth}
img{max-width:100%;display:block}
a{color:inherit}
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;text-decoration:none}
.brand img{height:32px;width:32px;border-radius:50%}
.nav__links a{margin-left:18px;text-decoration:none;opacity:.9}
.nav__links a:hover{opacity:1}
.btn{display:inline-block;background:linear-gradient(45deg,var(--brand),var(--brand-2));color:var(--brand-ink);padding:.75rem 1.1rem;border-radius:12px;text-decoration:none;font-weight:700;border:0;cursor:pointer;box-shadow:var(--shadow)}
.btn.ghost{background:transparent;color:var(--brand);border:1px solid var(--brand)}
.btn.sm{padding:.45rem .8rem;font-size:.9rem}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.hero__gradient{position:absolute;inset:0;background:linear-gradient(120deg, #ff2d55 0%, #6f3ef5 100%);opacity:.95}
.hero__inner{position:relative;display:grid;grid-template-columns:1fr;gap:26px;align-items:center;padding:80px 0}
.hero__text{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:18px;padding:22px;max-width:760px;margin:0 auto;box-shadow:var(--shadow)}
:root[data-theme="dark"] .hero__text{background:rgba(16,20,40,.7)}
.hero h1{font-size:clamp(28px,5.2vw,48px);margin:0 0 10px;font-weight:800}
.lead{font-size:clamp(16px,2vw,20px);opacity:.95;margin:0 0 20px}
.badge-inline{display:inline-block;margin-top:10px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-weight:600;color:var(--ink)}
.section{padding:70px 0}
.section.alt{background:var(--card-alt)}
h2{font-size:clamp(22px,4.2vw,34px);margin:0 0 18px}
.about{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:18px;align-items:start}
@media (max-width:720px){.about{grid-template-columns:1fr}}
.portrait{width:100%;height:auto;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:980px){.grid3{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}
@media (max-width:640px){.grid3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:20px}
.value{font-size:28px;font-weight:800;background:linear-gradient(45deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.list{display:grid;gap:10px;margin:12px 0 0}
.list li{display:flex;gap:8px;align-items:flex-start}
.list li .dot{width:8px;height:8px;border-radius:50%;margin-top:8px;background:linear-gradient(45deg,var(--brand),var(--brand-2))}
.carousel{position:relative;margin:12px 0 26px;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow)}
.car-track{display:flex;transition:transform .5s ease}
.review{min-width:100%;padding:22px}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:var(--card);border-radius:999px;box-shadow:var(--shadow);width:42px;height:42px;cursor:pointer}
.car-btn.prev{left:10px}
.car-btn.next{right:10px}
.stars{letter-spacing:2px;color:#f59e0b}
.reviews-grid .review p{margin:.35rem 0 .4rem}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}
@media (max-width:980px){.contact{grid-template-columns:1fr}}
.form label{display:block;margin:10px 0;font-size:.95rem}
.form input,.form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--bg);color:var(--ink)}
.form button{margin-top:6px}
.footer{background:linear-gradient(180deg, var(--card-alt), var(--bg));border-top:1px solid var(--border);padding:26px 0;margin-top:20px}
.muted{color:var(--muted)}
.floating-cta{position:fixed;right:18px;bottom:18px;z-index:60;padding:.9rem 1.2rem;border-radius:999px;background:linear-gradient(45deg,var(--brand),var(--brand-2));color:var(--brand-ink);text-decoration:none;font-weight:800;box-shadow:var(--shadow)}
.reveal-up{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal-up.is-visible{opacity:1;transform:translateY(0)}
.bestseller{position:relative;border:2px solid #ff2d55}
.bestseller .badge{position:absolute;top:10px;right:10px;background:#ff2d55;color:#fff;font-weight:800;padding:4px 10px;border-radius:999px;font-size:12px}
.hidden{display:none}


/* V24: brand left + moon right; edge-safe padding */
.nav__inner.nav--bar{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center;
  padding-left: max(24px, env(safe-area-inset-left) + 16px);
  padding-right: max(24px, env(safe-area-inset-right) + 16px);
  gap:12px;
}
.brand{ gap:10px; }
.brand img{ width:36px; height:36px; display:block; border-radius:50%; }
.brand span{ font-weight:800; font-size:18px; }

/* Hide all buttons except the moon toggle */
.btn{ display:none !important; }
#themeToggle{ display:inline-block !important; border:1px solid var(--border); }

@media (max-width:380px){
  .brand span{ font-size:16px; }
  .nav__inner.nav--bar{ gap:8px; }
}


/* V25: show only hero CTAs + moon; keep others hidden */
.btn{ display:none !important; }
#themeToggle, #ctaBook, #ctaCall{ display:inline-block !important; }

/* CTA layout under hero heading */
.hero-cta-row{ margin: 10px 0 6px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }

/* Dark theme variables (ensure toggle does something) */
:root{
  --bg: #ffffff; --ink: #0b0e19; --muted:#6b7280;
  --card:#ffffff; --card-alt:#faf7ff; --border:#eaeaf0;
  --brand-1:#ff2d55; --brand-2:#6f3ef5;
}
:root[data-theme="dark"]{
  --bg:#0b1020; --ink:#e5e7f3; --muted:#a3a7b5;
  --card:#11162a; --card-alt:#0f1426; --border:#1f2438;
}
html,body{ background: var(--bg); color: var(--ink); }
.section.alt{ background: var(--card-alt); }
.card{ background: var(--card); border-color: var(--border); }


/* V26: compact moon button */
#themeToggle{
  width:36px; height:36px; padding:0; border-radius:50%;
  display:inline-grid !important; place-items:center;
  font-size:16px; line-height:1; cursor:pointer;
  background: var(--card); border:1px solid var(--border);
  box-shadow: var(--shadow);
}

/* smaller on very small phones */
@media (max-width:360px){
  #themeToggle{ width:34px; height:34px; font-size:15px; }
}

/* V26: wider desktop container only */
.container{ max-width: 1320px; }
@media (min-width: 1200px){
  .hero-card{ max-width: 900px; }
}


/* V27: stronger visual dark mode support */
.site-header{ background: color-mix(in srgb, var(--bg) 94%, transparent); border-bottom: 1px solid var(--border); backdrop-filter: saturate(120%) blur(8px); }
:root[data-theme="dark"] .site-header{ background: color-mix(in srgb, var(--bg) 70%, transparent); }

/* Cards & spacing unified */
.card{ border-radius:12px; padding:16px; background: var(--card); border:1px solid var(--border); display:flex; flex-direction:column; height:100%; }
.card h3{ margin: 0 0 6px; }
.card .value{ margin: 6px 0 10px; }
.card p{ margin: 0 0 12px; }
.grid2{ align-items: stretch; } /* ensure equal height columns */

/* Bestseller border back */
.bestseller{ position:relative; border:2px solid var(--brand-1) !important; }
.bestseller .tag{ position:absolute; top:10px; right:10px; background: var(--brand-1); color:#fff; font-weight:900; font-size:12px; padding:4px 10px; border-radius:999px; }

/* Moon button remains compact */
#themeToggle{
  width:36px; height:36px; padding:0; border-radius:50%;
  display:inline-grid !important; place-items:center;
  font-size:16px; line-height:1; cursor:pointer;
  background: var(--card); border:1px solid var(--border); box-shadow: var(--shadow);
}
@media (max-width:360px){ #themeToggle{ width:34px; height:34px; font-size:15px; } }

/* Desktop width comfort */
.container{ max-width: 1320px; }
@media (min-width: 1200px){ .hero-card{ max-width: 900px; } }


/* V28: Bestseller border guaranteed on all devices */
.bestseller{
  position:relative;
  border:2px solid var(--brand-1) !important;
  box-shadow: inset 0 0 0 2px var(--brand-1); /* fallback if some UA ignores border due to cascade */
}

/* Slightly raise moon to ensure it's clickable above header layers */
#themeToggle{ z-index: 1000; position: relative; }

#themeToggle, #ctaBook, #ctaCall, #sendBtn{ display:inline-block !important; }

/* Submit button in form (fallback selector) */
form button[type="submit"], form input[type="submit"]{ display:inline-block !important; }

/* Compact moon */
#themeToggle{
  width:36px; height:36px; padding:0; border-radius:50%;
  display:inline-grid !important; place-items:center;
  font-size:16px; line-height:1; cursor:pointer;
  background: var(--card); border:1px solid var(--border);
  box-shadow: var(--shadow); z-index:1000; position:relative;
}
@media (max-width:360px){ #themeToggle{ width:34px; height:34px; font-size:15px; } }


/* V30: show native submit & back-home on thank-you */
form button[type="submit"], form input[type="submit"]{ display:inline-block !important; }
#submitForm, #backHome{ display:inline-block !important; }
