/* Theme: Boutique — warm classic (cream + burgundy, serif, centered hero) */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap");

body.theme-boutique {
  --background: #f7f1e8;
  --foreground: #2a1618;
  --card: #fffaf3;
  --primary: #6b1e2a;
  --primary-foreground: #f7f1e8;
  --secondary: #efe4d4;
  --muted: #efe6da;
  --muted-foreground: #6e5754;
  --border: #e2d3c0;
  --gold: #a67c2d;
  --gold-foreground: #2a1618;
  --gold-soft: rgba(166, 124, 45, 0.14);
  --shadow-soft: 0 6px 24px -10px rgba(107, 30, 42, 0.28);
  --shadow-card: 0 3px 14px -4px rgba(107, 30, 42, 0.12);
  --radius: 0.35rem;
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-sans: "Source Sans 3", "Inter", Georgia, serif;
  font-family: var(--font-sans);
}

body.theme-boutique h1,
body.theme-boutique h2,
body.theme-boutique h3,
body.theme-boutique h4,
body.theme-boutique .logo-text strong,
body.theme-boutique .logo-mark,
body.theme-boutique .service-card h3,
body.theme-boutique .rating-banner .big {
  font-family: var(--font-display);
  letter-spacing: 0.01em;
}

body.theme-boutique .topbar { background: #4d1420; }
body.theme-boutique .site-header {
  background: rgba(247, 241, 232, 0.92);
  border-bottom-color: var(--border);
}
body.theme-boutique .logo-mark {
  background: var(--primary);
  border-radius: 0.25rem;
  font-size: 1.05rem;
}
body.theme-boutique .btn-gold {
  background: var(--primary);
  color: var(--primary-foreground) !important;
  border: 1px solid var(--primary);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
body.theme-boutique .btn-gold:hover { background: #4d1420; }
body.theme-boutique .feature-icon { color: var(--gold); }

/* Centered framed hero */
body.theme-boutique.layout-centered .hero {
  min-height: auto;
  background: var(--secondary);
  color: var(--foreground);
  padding: 2rem 0 2.5rem;
}
body.theme-boutique.layout-centered .hero-frame {
  position: relative;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
body.theme-boutique.layout-centered .hero-bg {
  position: relative;
  inset: auto;
  height: 14rem;
}
body.theme-boutique.layout-centered .hero-overlay {
  background: linear-gradient(180deg, rgba(42,22,24,.15), rgba(42,22,24,.55));
}
body.theme-boutique.layout-centered .hero-content {
  position: relative;
  z-index: 1;
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
  padding: 2.25rem 1.5rem 2.75rem;
  color: var(--foreground);
}
body.theme-boutique.layout-centered .hero h1 {
  color: var(--foreground);
  font-size: clamp(2.1rem, 4.5vw, 3.2rem);
}
body.theme-boutique.layout-centered .hero .lead {
  color: var(--muted-foreground);
  margin-left: auto;
  margin-right: auto;
}
body.theme-boutique.layout-centered .hero-actions { justify-content: center; }
body.theme-boutique.layout-centered .btn-outline {
  background: transparent;
  color: var(--primary) !important;
  border-color: var(--border);
}
body.theme-boutique.layout-centered .hero-rating {
  justify-content: center;
  color: var(--muted-foreground);
}
body.theme-boutique.layout-centered .pill {
  border-color: rgba(166,124,45,.4);
  color: var(--primary);
  background: var(--gold-soft);
}

@media (min-width: 768px) {
  body.theme-boutique.layout-centered .hero { padding: 3rem 0 3.5rem; }
  body.theme-boutique.layout-centered .hero-bg { height: 18rem; }
  body.theme-boutique.layout-centered .hero-content { padding: 2.75rem 2rem 3.25rem; }
}

body.theme-boutique .features {
  background: var(--card);
  border-bottom: 1px solid var(--border);
}
body.theme-boutique .feature {
  border-right: 1px solid var(--border);
}
body.theme-boutique .feature:last-child { border-right: 0; }
body.theme-boutique .service-card,
body.theme-boutique .review-card,
body.theme-boutique .info-panel {
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: none;
}
body.theme-boutique .section-title {
  text-align: center;
}
body.theme-boutique .services .eyebrow,
body.theme-boutique .reviews .eyebrow,
body.theme-boutique .visit .eyebrow,
body.theme-boutique .faq-block .eyebrow {
  text-align: center;
  display: block;
}
body.theme-boutique .services .wrap > .muted,
body.theme-boutique .reviews .wrap > .section-title + *,
body.theme-boutique .services .wrap > p.muted {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
body.theme-boutique .cta-inner {
  background: var(--primary);
  border: 1px solid #4d1420;
  border-radius: 0.35rem;
}
body.theme-boutique .site-footer { background: #4d1420; }
body.theme-boutique .mobile-callbar { background: var(--primary); }
