/* ============================================================
   web-themes.css — Visual Templates for Public Web
   SaaS FujiSystem

   Each template overrides CSS custom properties defined in web.css
   AND targets structural classes to create fundamentally different
   visual experiences per business type.

   Applied via body class: body.web-theme-{templateId}

   Template Registry:
   ---------------------------------------------------------
   Business Type       Template 1              Template 2
   ---------------------------------------------------------
   Peluqueria/Barb.    salon-elegant           salon-fresh
   Spa/Estetica        spa-zen                 spa-luxury
   Taller Mecanico     taller-industrial       taller-modern
   Consultorio/Salud   health-clinical         health-warm
   Supermercado        super-vibrant           super-clean
   Restaurante         resto-warm              resto-modern
   Tienda/Boutique     boutique-chic           boutique-minimal
   General             default (no class)
   ---------------------------------------------------------
   ============================================================ */


/* ================================================================
   PELUQUERIA / BARBERIA
   ================================================================ */

/* ── salon-elegant ──────────────────────────────────────────────
   Inspired by Club Varsovia: dark cinematic, gold accents,
   serif headings, heavy glassmorphism, photo-driven, minimal
   ─────────────────────────────────────────────────────────────── */
body.web-theme-salon-elegant {
  --web-primary: #c8a97e;
  --web-secondary: #a17e4e;
  --web-bg: #0a0a14;
  --web-bg-alt: #12121e;
  --web-text: #eaeaea;
  --web-text-muted: #8a8a9e;
  --web-border: #1e1e32;
  --web-card: #141422;
  --web-card-shadow: 0 4px 24px rgba(0, 0, 0, 0.6), 0 1px 4px rgba(200, 169, 126, 0.08);
  --web-radius: 8px;
  --web-radius-sm: 6px;
  --web-accent-gradient: linear-gradient(135deg, #c8a97e, #e8d5b7, #c8a97e);
  --web-glow-primary: 0 0 32px rgba(200, 169, 126, 0.25);
}

/* Typography: Serif, elegant letter-spacing */
body.web-theme-salon-elegant {
  font-family: 'Inter', -apple-system, sans-serif;
  letter-spacing: 0.01em;
  line-height: 1.7;
}
body.web-theme-salon-elegant h1,
body.web-theme-salon-elegant h2,
body.web-theme-salon-elegant h3,
body.web-theme-salon-elegant .web-hero-title,
body.web-theme-salon-elegant .web-section-title {
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: 0.02em;
  font-weight: 700;
}

/* Navigation: heavy blur, semi-transparent dark */
body.web-theme-salon-elegant .web-header-scrolled {
  background: rgba(10, 10, 20, 0.85);
  backdrop-filter: blur(28px) saturate(1.6);
  -webkit-backdrop-filter: blur(28px) saturate(1.6);
  border-bottom: 1px solid rgba(200, 169, 126, 0.12);
  box-shadow: 0 2px 32px rgba(0, 0, 0, 0.5);
}
body.web-theme-salon-elegant .web-nav-link {
  font-family: Georgia, serif;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.web-theme-salon-elegant .web-nav-link::after {
  background: var(--web-accent-gradient);
  height: 1px;
}

/* Hero: tall, cinematic, heavy overlay, large glass card */
body.web-theme-salon-elegant .web-hero {
  min-height: 85vh;
}
body.web-theme-salon-elegant .web-hero::before {
  background: linear-gradient(
    180deg,
    rgba(10, 10, 20, 0.75) 0%,
    rgba(10, 10, 20, 0.40) 40%,
    rgba(10, 10, 20, 0.80) 100%
  );
}
body.web-theme-salon-elegant .web-hero::after {
  background: radial-gradient(circle, rgba(200, 169, 126, 0.12) 0%, transparent 70%);
}
body.web-theme-salon-elegant .web-hero-content {
  background: rgba(10, 10, 20, 0.55);
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  border: 1px solid rgba(200, 169, 126, 0.18);
  border-radius: 12px;
  max-width: 800px;
  padding: 56px clamp(28px, 6vw, 64px);
}
body.web-theme-salon-elegant .web-hero-title {
  background: linear-gradient(90deg, #c8a97e 0%, #e8d5b7 40%, #c8a97e 80%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2.2rem, 6.5vw, 3.6rem);
}
body.web-theme-salon-elegant .web-hero-subtitle {
  color: rgba(234, 234, 234, 0.75);
  font-family: Georgia, serif;
  font-style: italic;
}

/* Buttons: sharp (4px), gold gradient */
body.web-theme-salon-elegant .web-btn {
  border-radius: 4px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.85rem;
}
body.web-theme-salon-elegant .web-btn-primary {
  background: linear-gradient(135deg, #c8a97e, #a17e4e);
  color: #0a0a14;
  font-weight: 700;
  box-shadow: 0 4px 20px rgba(200, 169, 126, 0.3);
}
body.web-theme-salon-elegant .web-btn-primary:hover {
  background: linear-gradient(135deg, #e8d5b7, #c8a97e);
  box-shadow: 0 6px 32px rgba(200, 169, 126, 0.45);
}
body.web-theme-salon-elegant .web-btn-secondary {
  border-color: rgba(200, 169, 126, 0.4);
  color: #c8a97e;
}
body.web-theme-salon-elegant .web-btn-outline {
  border-color: #c8a97e;
  color: #c8a97e;
  border-radius: 4px;
}

/* Product cards: minimal, dark bg, subtle gold border on hover */
body.web-theme-salon-elegant .web-product-card {
  background: #141422;
  border: 1px solid rgba(200, 169, 126, 0.06);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
body.web-theme-salon-elegant .web-product-card:hover {
  border-color: rgba(200, 169, 126, 0.25);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5), 0 0 20px rgba(200, 169, 126, 0.1);
  transform: translateY(-4px);
}
body.web-theme-salon-elegant .web-product-img {
  border-radius: 6px 6px 0 0;
}
body.web-theme-salon-elegant .web-product-name {
  font-family: Georgia, serif;
  letter-spacing: 0.01em;
}
body.web-theme-salon-elegant .web-product-price {
  color: #c8a97e;
  font-weight: 700;
}

/* Sections: generous spacing, thin gold dividers */
body.web-theme-salon-elegant .web-section {
  padding: clamp(56px, 8vw, 100px) clamp(16px, 4vw, 32px);
}
body.web-theme-salon-elegant .web-section + .web-section::before,
body.web-theme-salon-elegant .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.2), transparent);
}
body.web-theme-salon-elegant .web-section-title::after {
  background: linear-gradient(90deg, #c8a97e, #e8d5b7, #c8a97e);
  height: 2px;
  width: 60px;
}

/* Contact: dark card, gold icons */
body.web-theme-salon-elegant .web-contact-info {
  background: #141422;
  border: 1px solid rgba(200, 169, 126, 0.1);
}
body.web-theme-salon-elegant .web-contact-icon {
  background: rgba(200, 169, 126, 0.12);
  color: #c8a97e;
}

/* Footer: pure black, gold gradient top border */
body.web-theme-salon-elegant .web-footer {
  background: #000000;
}
body.web-theme-salon-elegant .web-footer::before {
  background: linear-gradient(90deg, transparent, #c8a97e, transparent);
  height: 1px;
}


/* ── salon-fresh ────────────────────────────────────────────────
   Inspired by Alvaro Roman: lavender/pink, editorial serif,
   large rounded corners, soft shadows, modern editorial
   ─────────────────────────────────────────────────────────────── */
body.web-theme-salon-fresh {
  --web-primary: #7c5cbf;
  --web-secondary: #5a3d99;
  --web-bg: #f8f4ff;
  --web-bg-alt: #f0eafc;
  --web-text: #2a1f4e;
  --web-text-muted: #7a6da0;
  --web-border: #e4daf5;
  --web-card: #ffffff;
  --web-card-shadow: 0 4px 24px rgba(124, 92, 191, 0.08), 0 1px 4px rgba(124, 92, 191, 0.04);
  --web-radius: 20px;
  --web-radius-sm: 14px;
  --web-accent-gradient: linear-gradient(135deg, #7c5cbf, #b794e8, #e4b8f9);
  --web-glow-primary: 0 0 28px rgba(124, 92, 191, 0.2);
}

/* Typography: Editorial serif headings, generous line-height */
body.web-theme-salon-fresh {
  line-height: 1.75;
}
body.web-theme-salon-fresh h1,
body.web-theme-salon-fresh h2,
body.web-theme-salon-fresh h3,
body.web-theme-salon-fresh .web-hero-title,
body.web-theme-salon-fresh .web-section-title {
  font-family: Georgia, 'Palatino Linotype', 'Book Antiqua', serif;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Navigation: light, airy, rounded links */
body.web-theme-salon-fresh .web-header-scrolled {
  background: rgba(248, 244, 255, 0.88);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border-bottom: 1px solid rgba(124, 92, 191, 0.1);
}
body.web-theme-salon-fresh .web-nav-link {
  border-radius: 20px;
  font-weight: 500;
}
body.web-theme-salon-fresh .web-nav-link::after {
  border-radius: 2px;
  height: 3px;
  background: var(--web-accent-gradient);
}

/* Hero: softer overlay, rounded content card, generous padding */
body.web-theme-salon-fresh .web-hero {
  min-height: clamp(380px, 65vw, 75vh);
}
body.web-theme-salon-fresh .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(42, 31, 78, 0.55) 0%,
    rgba(124, 92, 191, 0.25) 50%,
    rgba(42, 31, 78, 0.50) 100%
  );
}
body.web-theme-salon-fresh .web-hero::after {
  background: radial-gradient(circle, rgba(183, 148, 232, 0.2) 0%, transparent 70%);
}
body.web-theme-salon-fresh .web-hero-content {
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 26px;
  padding: 48px clamp(28px, 6vw, 56px);
}
body.web-theme-salon-fresh .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #e4b8f9, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Buttons: pill shape (40px radius), soft gradient */
body.web-theme-salon-fresh .web-btn {
  border-radius: 40px;
  padding: 14px 36px;
  font-weight: 600;
}
body.web-theme-salon-fresh .web-btn-primary {
  background: linear-gradient(135deg, #7c5cbf, #b794e8);
  box-shadow: 0 4px 20px rgba(124, 92, 191, 0.25);
}
body.web-theme-salon-fresh .web-btn-primary:hover {
  background: linear-gradient(135deg, #9370db, #c9a8f0);
  box-shadow: 0 6px 28px rgba(124, 92, 191, 0.35);
}
body.web-theme-salon-fresh .web-btn-secondary {
  border-radius: 40px;
  border-color: rgba(255, 255, 255, 0.5);
}
body.web-theme-salon-fresh .web-btn-outline {
  border-radius: 40px;
}

/* Product cards: large radius, generous padding, soft shadows */
body.web-theme-salon-fresh .web-product-card {
  border-radius: 20px;
  border: 1px solid rgba(124, 92, 191, 0.08);
  box-shadow: 0 4px 24px rgba(124, 92, 191, 0.06);
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
body.web-theme-salon-fresh .web-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(124, 92, 191, 0.14);
}
body.web-theme-salon-fresh .web-product-img {
  border-radius: 20px 20px 0 0;
}
body.web-theme-salon-fresh .web-product-info {
  padding: 20px;
}
body.web-theme-salon-fresh .web-product-name {
  font-family: Georgia, serif;
}
body.web-theme-salon-fresh .web-product-price {
  color: #7c5cbf;
  font-weight: 700;
}

/* Sections: generous spacing */
body.web-theme-salon-fresh .web-section {
  padding: clamp(52px, 8vw, 96px) clamp(16px, 4vw, 32px);
}
body.web-theme-salon-fresh .web-section-title::after {
  background: var(--web-accent-gradient);
  height: 3px;
  border-radius: 4px;
  width: 56px;
}

/* Contact: rounded card, lavender accents */
body.web-theme-salon-fresh .web-contact-info {
  border-radius: 20px;
  border: 1px solid rgba(124, 92, 191, 0.1);
}
body.web-theme-salon-fresh .web-contact-icon {
  border-radius: 14px;
  background: rgba(124, 92, 191, 0.08);
  color: #7c5cbf;
}

/* Footer: deep purple, gradient top border */
body.web-theme-salon-fresh .web-footer {
  background: #1a1230;
}
body.web-theme-salon-fresh .web-footer::before {
  background: linear-gradient(90deg, transparent, #7c5cbf, #b794e8, transparent);
}


/* ================================================================
   SPA / ESTETICA
   ================================================================ */

/* ── spa-zen ────────────────────────────────────────────────────
   Nature-inspired: sage green, white space, very airy,
   minimal glassmorphism, centered simple text, borderless cards
   ─────────────────────────────────────────────────────────────── */
body.web-theme-spa-zen {
  --web-primary: #6b8f71;
  --web-secondary: #4a6e50;
  --web-bg: #fafcfa;
  --web-bg-alt: #f0f5f0;
  --web-text: #2d3b2d;
  --web-text-muted: #6b7e6b;
  --web-border: #dce8dc;
  --web-card: #ffffff;
  --web-card-shadow: 0 2px 16px rgba(107, 143, 113, 0.06);
  --web-radius: 16px;
  --web-radius-sm: 10px;
  --web-accent-gradient: linear-gradient(135deg, #6b8f71, #a3c9a8, #d4e8d4);
  --web-glow-primary: 0 0 24px rgba(107, 143, 113, 0.15);
}

/* Typography: Light, airy, ample line-height */
body.web-theme-spa-zen {
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.01em;
}
body.web-theme-spa-zen h1,
body.web-theme-spa-zen h2,
body.web-theme-spa-zen h3,
body.web-theme-spa-zen .web-section-title {
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.web-theme-spa-zen .web-hero-title {
  font-weight: 700;
}

/* Navigation: minimal, light */
body.web-theme-spa-zen .web-header-scrolled {
  background: rgba(250, 252, 250, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(107, 143, 113, 0.1);
  box-shadow: 0 1px 16px rgba(107, 143, 113, 0.04);
}
body.web-theme-spa-zen .web-nav-link {
  font-weight: 400;
  letter-spacing: 0.03em;
}

/* Hero: tall, minimal overlay, NO glassmorphism card */
body.web-theme-spa-zen .web-hero {
  min-height: 80vh;
}
body.web-theme-spa-zen .web-hero::before {
  background: linear-gradient(
    180deg,
    rgba(45, 59, 45, 0.35) 0%,
    rgba(45, 59, 45, 0.15) 50%,
    rgba(45, 59, 45, 0.45) 100%
  );
}
body.web-theme-spa-zen .web-hero::after {
  background: radial-gradient(circle, rgba(107, 143, 113, 0.1) 0%, transparent 70%);
  animation-duration: 18s;
}
body.web-theme-spa-zen .web-hero-content {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  border-radius: 0;
  padding: 40px clamp(20px, 5vw, 48px);
  max-width: 680px;
}
body.web-theme-spa-zen .web-hero-title {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: #ffffff;
  color: #ffffff;
  font-size: clamp(2rem, 5.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -0.02em;
}
body.web-theme-spa-zen .web-hero-subtitle {
  font-weight: 300;
  letter-spacing: 0.02em;
}

/* Buttons: soft rounded, gentle */
body.web-theme-spa-zen .web-btn {
  border-radius: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
body.web-theme-spa-zen .web-btn-primary {
  background: linear-gradient(135deg, #6b8f71, #5a7d60);
  box-shadow: 0 4px 16px rgba(107, 143, 113, 0.2);
}
body.web-theme-spa-zen .web-btn-primary:hover {
  background: linear-gradient(135deg, #7da382, #6b8f71);
  box-shadow: 0 6px 24px rgba(107, 143, 113, 0.3);
}

/* Product cards: borderless, shadow only, clean */
body.web-theme-spa-zen .web-product-card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(107, 143, 113, 0.06);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
body.web-theme-spa-zen .web-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(107, 143, 113, 0.1);
}
body.web-theme-spa-zen .web-product-img {
  border-radius: 16px 16px 0 0;
}
body.web-theme-spa-zen .web-product-info {
  padding: 20px 22px;
}

/* Sections: extra large padding, thin natural dividers */
body.web-theme-spa-zen .web-section {
  padding: clamp(64px, 10vw, 120px) clamp(16px, 4vw, 32px);
}
body.web-theme-spa-zen .web-section + .web-section::before,
body.web-theme-spa-zen .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(107, 143, 113, 0.15), transparent);
}
body.web-theme-spa-zen .web-section-title {
  font-weight: 600;
}
body.web-theme-spa-zen .web-section-title::after {
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, #a3c9a8, #6b8f71, #a3c9a8);
}

/* Contact: clean, airy card */
body.web-theme-spa-zen .web-contact-info {
  border: none;
  box-shadow: 0 2px 20px rgba(107, 143, 113, 0.06);
  border-radius: 16px;
}
body.web-theme-spa-zen .web-contact-icon {
  background: rgba(107, 143, 113, 0.08);
  color: #6b8f71;
  border-radius: 12px;
}

/* Footer: deep forest green */
body.web-theme-spa-zen .web-footer {
  background: #1a2e1a;
}
body.web-theme-spa-zen .web-footer::before {
  background: linear-gradient(90deg, transparent, rgba(163, 201, 168, 0.3), transparent);
}


/* ── spa-luxury ─────────────────────────────────────────────────
   Luxury hotel: deep purple/amethyst + gold hints, dark bg,
   serif headings, full-height hero, glass card with thick border
   ─────────────────────────────────────────────────────────────── */
body.web-theme-spa-luxury {
  --web-primary: #9b59b6;
  --web-secondary: #7d3c98;
  --web-bg: #0e0818;
  --web-bg-alt: #180f28;
  --web-text: #e8daf0;
  --web-text-muted: #9a80b4;
  --web-border: #2e1a4a;
  --web-card: #160e28;
  --web-card-shadow: 0 4px 28px rgba(155, 89, 182, 0.12), 0 1px 4px rgba(0, 0, 0, 0.4);
  --web-radius: 12px;
  --web-radius-sm: 8px;
  --web-accent-gradient: linear-gradient(135deg, #9b59b6, #c9a0dc, #d4a5e8);
  --web-glow-primary: 0 0 36px rgba(155, 89, 182, 0.28);
}

/* Typography: Serif headings, regal feel */
body.web-theme-spa-luxury {
  letter-spacing: 0.01em;
  line-height: 1.7;
}
body.web-theme-spa-luxury h1,
body.web-theme-spa-luxury h2,
body.web-theme-spa-luxury h3,
body.web-theme-spa-luxury .web-hero-title,
body.web-theme-spa-luxury .web-section-title {
  font-family: Georgia, 'Palatino Linotype', serif;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Navigation: dark blur, purple accent */
body.web-theme-spa-luxury .web-header-scrolled {
  background: rgba(14, 8, 24, 0.88);
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border-bottom: 1px solid rgba(155, 89, 182, 0.15);
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}
body.web-theme-spa-luxury .web-nav-link {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.82rem;
}
body.web-theme-spa-luxury .web-nav-link::after {
  background: var(--web-accent-gradient);
}

/* Hero: nearly full height, glass card with thick border */
body.web-theme-spa-luxury .web-hero {
  min-height: 90vh;
}
body.web-theme-spa-luxury .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(14, 8, 24, 0.80) 0%,
    rgba(14, 8, 24, 0.40) 45%,
    rgba(14, 8, 24, 0.75) 100%
  );
}
body.web-theme-spa-luxury .web-hero::after {
  background: radial-gradient(circle, rgba(155, 89, 182, 0.15) 0%, transparent 70%);
}
body.web-theme-spa-luxury .web-hero-content {
  background: rgba(22, 14, 40, 0.5);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border: 2px solid rgba(155, 89, 182, 0.25);
  border-radius: 16px;
  max-width: 780px;
  padding: 52px clamp(28px, 6vw, 60px);
}
body.web-theme-spa-luxury .web-hero-title {
  background: linear-gradient(90deg, #e8daf0, #d4a5e8, #ffffff, #c9a0dc);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2.2rem, 6.5vw, 3.4rem);
}
body.web-theme-spa-luxury .web-hero-subtitle {
  font-family: Georgia, serif;
  font-style: italic;
  color: rgba(232, 218, 240, 0.8);
}

/* Buttons: gradient purple, moderate radius */
body.web-theme-spa-luxury .web-btn {
  border-radius: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
}
body.web-theme-spa-luxury .web-btn-primary {
  background: linear-gradient(135deg, #9b59b6, #7d3c98);
  box-shadow: 0 4px 24px rgba(155, 89, 182, 0.3);
}
body.web-theme-spa-luxury .web-btn-primary:hover {
  background: linear-gradient(135deg, #b370cf, #9b59b6);
  box-shadow: 0 6px 32px rgba(155, 89, 182, 0.45);
}
body.web-theme-spa-luxury .web-btn-secondary {
  border-color: rgba(155, 89, 182, 0.4);
  color: #d4a5e8;
}

/* Product cards: dark, purple glow on hover */
body.web-theme-spa-luxury .web-product-card {
  background: #160e28;
  border: 1px solid rgba(155, 89, 182, 0.08);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}
body.web-theme-spa-luxury .web-product-card:hover {
  border-color: rgba(155, 89, 182, 0.2);
  box-shadow: 0 8px 36px rgba(0, 0, 0, 0.4), 0 0 24px rgba(155, 89, 182, 0.1);
  transform: translateY(-4px);
}
body.web-theme-spa-luxury .web-product-name {
  font-family: Georgia, serif;
}
body.web-theme-spa-luxury .web-product-price {
  color: #d4a5e8;
}

/* Sections */
body.web-theme-spa-luxury .web-section {
  padding: clamp(56px, 8vw, 100px) clamp(16px, 4vw, 32px);
}
body.web-theme-spa-luxury .web-section-title::after {
  background: var(--web-accent-gradient);
  width: 56px;
}
body.web-theme-spa-luxury .web-section + .web-section::before,
body.web-theme-spa-luxury .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(155, 89, 182, 0.15), transparent);
}

/* Contact */
body.web-theme-spa-luxury .web-contact-info {
  background: #160e28;
  border: 1px solid rgba(155, 89, 182, 0.1);
  border-radius: 12px;
}
body.web-theme-spa-luxury .web-contact-icon {
  background: rgba(155, 89, 182, 0.12);
  color: #d4a5e8;
}

/* Footer: very dark purple */
body.web-theme-spa-luxury .web-footer {
  background: #060410;
}
body.web-theme-spa-luxury .web-footer::before {
  background: linear-gradient(90deg, transparent, #9b59b6, #d4a5e8, transparent);
  height: 1px;
}


/* ================================================================
   TALLER MECANICO
   ================================================================ */

/* ── taller-industrial ──────────────────────────────────────────
   Rugged, mechanical: dark charcoal, orange accents, sharp
   corners, bold condensed typography, thick borders
   ─────────────────────────────────────────────────────────────── */
body.web-theme-taller-industrial {
  --web-primary: #e67e22;
  --web-secondary: #d35400;
  --web-bg: #141414;
  --web-bg-alt: #1e1e1e;
  --web-text: #e5e5e5;
  --web-text-muted: #8a8a8a;
  --web-border: #333333;
  --web-card: #1a1a1a;
  --web-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
  --web-radius: 4px;
  --web-radius-sm: 2px;
  --web-accent-gradient: linear-gradient(135deg, #e67e22, #f39c12, #e67e22);
  --web-glow-primary: 0 0 28px rgba(230, 126, 34, 0.3);
}

/* Typography: Bold condensed, industrial feel */
body.web-theme-taller-industrial {
  letter-spacing: 0.005em;
  line-height: 1.6;
}
body.web-theme-taller-industrial h1,
body.web-theme-taller-industrial h2,
body.web-theme-taller-industrial h3,
body.web-theme-taller-industrial .web-hero-title,
body.web-theme-taller-industrial .web-section-title {
  font-family: 'Impact', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Navigation: dark, sharp, orange accent */
body.web-theme-taller-industrial .web-header-scrolled {
  background: rgba(20, 20, 20, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 2px solid rgba(230, 126, 34, 0.3);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
}
body.web-theme-taller-industrial .web-nav-link {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  border-radius: 2px;
}
body.web-theme-taller-industrial .web-nav-link::after {
  height: 3px;
  background: #e67e22;
  border-radius: 0;
}

/* Hero: dark with stark contrast, sharp card */
body.web-theme-taller-industrial .web-hero {
  min-height: clamp(360px, 60vw, 75vh);
}
body.web-theme-taller-industrial .web-hero::before {
  background: linear-gradient(
    180deg,
    rgba(20, 20, 20, 0.80) 0%,
    rgba(20, 20, 20, 0.50) 50%,
    rgba(20, 20, 20, 0.85) 100%
  );
}
body.web-theme-taller-industrial .web-hero::after {
  background: radial-gradient(circle, rgba(230, 126, 34, 0.12) 0%, transparent 70%);
}
body.web-theme-taller-industrial .web-hero-content {
  background: rgba(20, 20, 20, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 2px solid rgba(230, 126, 34, 0.3);
  border-radius: 4px;
  padding: 44px clamp(24px, 5vw, 52px);
}
body.web-theme-taller-industrial .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #f39c12, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2.2rem, 7vw, 3.6rem);
}
body.web-theme-taller-industrial .web-hero-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: clamp(0.9rem, 2.5vw, 1.1rem);
}

/* Buttons: sharp corners, bold */
body.web-theme-taller-industrial .web-btn {
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-size: 0.85rem;
}
body.web-theme-taller-industrial .web-btn-primary {
  background: linear-gradient(135deg, #e67e22, #d35400);
  box-shadow: 0 4px 20px rgba(230, 126, 34, 0.35);
}
body.web-theme-taller-industrial .web-btn-primary:hover {
  background: linear-gradient(135deg, #f39c12, #e67e22);
  box-shadow: 0 6px 28px rgba(230, 126, 34, 0.5);
}
body.web-theme-taller-industrial .web-btn-secondary {
  border-color: rgba(230, 126, 34, 0.5);
  color: #e67e22;
}

/* Product cards: thick border, squared, industrial */
body.web-theme-taller-industrial .web-product-card {
  border: 2px solid #333333;
  border-radius: 4px;
  background: #1a1a1a;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}
body.web-theme-taller-industrial .web-product-card:hover {
  border-color: rgba(230, 126, 34, 0.4);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 16px rgba(230, 126, 34, 0.15);
  transform: translateY(-3px);
}
body.web-theme-taller-industrial .web-product-img {
  border-radius: 2px 2px 0 0;
}
body.web-theme-taller-industrial .web-product-name {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}
body.web-theme-taller-industrial .web-product-price {
  color: #e67e22;
  font-weight: 800;
}

/* Sections: angular dividers */
body.web-theme-taller-industrial .web-section + .web-section::before,
body.web-theme-taller-industrial .web-section-alt + .web-section::before {
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(230, 126, 34, 0.3), transparent);
}
body.web-theme-taller-industrial .web-section-title::after {
  background: #e67e22;
  height: 4px;
  width: 50px;
  border-radius: 0;
}

/* Contact: dark card, thick border */
body.web-theme-taller-industrial .web-contact-info {
  background: #1a1a1a;
  border: 2px solid #333333;
  border-radius: 4px;
}
body.web-theme-taller-industrial .web-contact-icon {
  background: rgba(230, 126, 34, 0.12);
  color: #e67e22;
  border-radius: 4px;
}

/* Footer: deep black, orange border */
body.web-theme-taller-industrial .web-footer {
  background: #0a0a0a;
}
body.web-theme-taller-industrial .web-footer::before {
  background: linear-gradient(90deg, transparent, #e67e22, transparent);
  height: 2px;
}


/* ── taller-modern ──────────────────────────────────────────────
   Clean professional: steel blue on light gray, moderate radius,
   clean shadows, no gradients on cards, corporate feel
   ─────────────────────────────────────────────────────────────── */
body.web-theme-taller-modern {
  --web-primary: #3b82f6;
  --web-secondary: #2563eb;
  --web-bg: #f4f6f9;
  --web-bg-alt: #e9ecf2;
  --web-text: #1a2332;
  --web-text-muted: #5a6b80;
  --web-border: #d1d9e6;
  --web-card: #ffffff;
  --web-card-shadow: 0 2px 12px rgba(59, 130, 246, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
  --web-radius: 10px;
  --web-radius-sm: 6px;
  --web-accent-gradient: linear-gradient(135deg, #3b82f6, #60a5fa, #93c5fd);
  --web-glow-primary: 0 0 20px rgba(59, 130, 246, 0.18);
}

/* Typography: Clean, professional sans-serif */
body.web-theme-taller-modern {
  line-height: 1.65;
}
body.web-theme-taller-modern h1,
body.web-theme-taller-modern h2,
body.web-theme-taller-modern h3,
body.web-theme-taller-modern .web-section-title {
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Navigation: clean, professional */
body.web-theme-taller-modern .web-header-scrolled {
  background: rgba(244, 246, 249, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(59, 130, 246, 0.08);
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.04);
}
body.web-theme-taller-modern .web-nav-link {
  font-weight: 500;
}

/* Hero: moderate height, clean overlay */
body.web-theme-taller-modern .web-hero {
  min-height: clamp(340px, 55vw, 65vh);
}
body.web-theme-taller-modern .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(26, 35, 50, 0.60) 0%,
    rgba(26, 35, 50, 0.30) 50%,
    rgba(26, 35, 50, 0.55) 100%
  );
}
body.web-theme-taller-modern .web-hero-content {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
}
body.web-theme-taller-modern .web-hero-title {
  font-weight: 800;
}

/* Buttons: moderate radius, clean */
body.web-theme-taller-modern .web-btn {
  border-radius: 8px;
  font-weight: 600;
}
body.web-theme-taller-modern .web-btn-primary {
  background: #3b82f6;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.2);
}
body.web-theme-taller-modern .web-btn-primary:hover {
  background: #2563eb;
  box-shadow: 0 4px 20px rgba(59, 130, 246, 0.3);
}

/* Product cards: clean, no gradients, professional shadow */
body.web-theme-taller-modern .web-product-card {
  border: 1px solid var(--web-border);
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
body.web-theme-taller-modern .web-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.2);
}
body.web-theme-taller-modern .web-product-price {
  color: #3b82f6;
  font-weight: 700;
}

/* Sections */
body.web-theme-taller-modern .web-section-title::after {
  background: #3b82f6;
  width: 48px;
  height: 3px;
}

/* Contact */
body.web-theme-taller-modern .web-contact-info {
  border: 1px solid var(--web-border);
  border-radius: 10px;
}
body.web-theme-taller-modern .web-contact-icon {
  background: rgba(59, 130, 246, 0.08);
  color: #3b82f6;
  border-radius: 8px;
}

/* Footer */
body.web-theme-taller-modern .web-footer {
  background: #0d1b2a;
}
body.web-theme-taller-modern .web-footer::before {
  background: linear-gradient(90deg, transparent, #3b82f6, transparent);
}


/* ================================================================
   CONSULTORIO / SALUD
   ================================================================ */

/* ── health-clinical ────────────────────────────────────────────
   Medical trust: sky blue + white, very clean, white hero overlay
   instead of dark, blue text, thin fonts, professional
   ─────────────────────────────────────────────────────────────── */
body.web-theme-health-clinical {
  --web-primary: #0ea5e9;
  --web-secondary: #0284c7;
  --web-bg: #ffffff;
  --web-bg-alt: #f0f9ff;
  --web-text: #0c4a6e;
  --web-text-muted: #5b8faa;
  --web-border: #bae6fd;
  --web-card: #ffffff;
  --web-card-shadow: 0 1px 8px rgba(14, 165, 233, 0.06), 0 1px 2px rgba(0, 0, 0, 0.02);
  --web-radius: 12px;
  --web-radius-sm: 8px;
  --web-accent-gradient: linear-gradient(135deg, #0ea5e9, #38bdf8, #7dd3fc);
  --web-glow-primary: 0 0 20px rgba(14, 165, 233, 0.15);
}

/* Typography: Thin, professional, clinical precision */
body.web-theme-health-clinical {
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.005em;
}
body.web-theme-health-clinical h1,
body.web-theme-health-clinical h2,
body.web-theme-health-clinical h3,
body.web-theme-health-clinical .web-section-title {
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* Navigation: very clean, white */
body.web-theme-health-clinical .web-header-scrolled {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(14, 165, 233, 0.1);
  box-shadow: 0 1px 12px rgba(14, 165, 233, 0.04);
}
body.web-theme-health-clinical .web-nav-link {
  font-weight: 400;
}

/* Hero: WHITE overlay instead of dark, blue text */
body.web-theme-health-clinical .web-hero {
  min-height: clamp(340px, 55vw, 65vh);
}
body.web-theme-health-clinical .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.80) 0%,
    rgba(240, 249, 255, 0.65) 50%,
    rgba(255, 255, 255, 0.75) 100%
  );
}
body.web-theme-health-clinical .web-hero::after {
  background: radial-gradient(circle, rgba(14, 165, 233, 0.08) 0%, transparent 70%);
}
body.web-theme-health-clinical .web-hero-content {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(14, 165, 233, 0.12);
  border-radius: 14px;
  color: #0c4a6e;
}
body.web-theme-health-clinical .web-hero-title {
  background: linear-gradient(90deg, #0c4a6e, #0ea5e9, #0c4a6e);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
}
body.web-theme-health-clinical .web-hero-subtitle {
  color: #0c4a6e;
  opacity: 0.75;
  text-shadow: none;
}
body.web-theme-health-clinical .web-hero-actions .web-btn-secondary {
  color: #0c4a6e;
  border-color: rgba(12, 74, 110, 0.3);
}

/* Buttons: clean, professional */
body.web-theme-health-clinical .web-btn {
  border-radius: 10px;
  font-weight: 500;
}
body.web-theme-health-clinical .web-btn-primary {
  background: linear-gradient(135deg, #0ea5e9, #0284c7);
  box-shadow: 0 2px 12px rgba(14, 165, 233, 0.2);
}
body.web-theme-health-clinical .web-btn-primary:hover {
  background: linear-gradient(135deg, #38bdf8, #0ea5e9);
  box-shadow: 0 4px 20px rgba(14, 165, 233, 0.3);
}

/* Product cards: very subtle border, clinical clean */
body.web-theme-health-clinical .web-product-card {
  border: 1px solid rgba(14, 165, 233, 0.08);
  border-radius: 12px;
  box-shadow: 0 1px 8px rgba(14, 165, 233, 0.04);
}
body.web-theme-health-clinical .web-product-card:hover {
  border-color: rgba(14, 165, 233, 0.15);
  box-shadow: 0 4px 20px rgba(14, 165, 233, 0.08);
  transform: translateY(-3px);
}
body.web-theme-health-clinical .web-product-price {
  color: #0ea5e9;
}

/* Sections: thin dividers, clean spacing */
body.web-theme-health-clinical .web-section + .web-section::before,
body.web-theme-health-clinical .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.12), transparent);
}
body.web-theme-health-clinical .web-section-title::after {
  background: linear-gradient(90deg, #0ea5e9, #7dd3fc);
  width: 48px;
  height: 2px;
}

/* Contact: clean white card */
body.web-theme-health-clinical .web-contact-info {
  border: 1px solid rgba(14, 165, 233, 0.1);
  border-radius: 12px;
  background: #ffffff;
}
body.web-theme-health-clinical .web-contact-icon {
  background: rgba(14, 165, 233, 0.06);
  color: #0ea5e9;
  border-radius: 10px;
}

/* Footer: dark blue */
body.web-theme-health-clinical .web-footer {
  background: #082f49;
}
body.web-theme-health-clinical .web-footer::before {
  background: linear-gradient(90deg, transparent, #0ea5e9, transparent);
}


/* ── health-warm ────────────────────────────────────────────────
   Friendly medical: warm beige/cream + emerald accents,
   rounded corners, soft shadows, approachable
   ─────────────────────────────────────────────────────────────── */
body.web-theme-health-warm {
  --web-primary: #059669;
  --web-secondary: #047857;
  --web-bg: #fefcf3;
  --web-bg-alt: #f5f0e4;
  --web-text: #1a3a2a;
  --web-text-muted: #5a7a6a;
  --web-border: #d8e8d0;
  --web-card: #ffffff;
  --web-card-shadow: 0 2px 16px rgba(5, 150, 105, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
  --web-radius: 16px;
  --web-radius-sm: 10px;
  --web-accent-gradient: linear-gradient(135deg, #059669, #34d399, #6ee7b7);
  --web-glow-primary: 0 0 24px rgba(5, 150, 105, 0.15);
}

/* Typography: Warm, friendly, readable */
body.web-theme-health-warm {
  line-height: 1.75;
}
body.web-theme-health-warm h1,
body.web-theme-health-warm h2,
body.web-theme-health-warm h3,
body.web-theme-health-warm .web-section-title {
  font-weight: 700;
  letter-spacing: -0.01em;
}
body.web-theme-health-warm .web-hero-title {
  font-weight: 800;
}

/* Navigation: warm, cream tones */
body.web-theme-health-warm .web-header-scrolled {
  background: rgba(254, 252, 243, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(5, 150, 105, 0.08);
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.03);
}
body.web-theme-health-warm .web-nav-link {
  font-weight: 500;
}

/* Hero: soft warm overlay */
body.web-theme-health-warm .web-hero {
  min-height: clamp(360px, 60vw, 70vh);
}
body.web-theme-health-warm .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(26, 58, 42, 0.50) 0%,
    rgba(26, 58, 42, 0.25) 50%,
    rgba(26, 58, 42, 0.45) 100%
  );
}
body.web-theme-health-warm .web-hero::after {
  background: radial-gradient(circle, rgba(5, 150, 105, 0.1) 0%, transparent 70%);
}
body.web-theme-health-warm .web-hero-content {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
}
body.web-theme-health-warm .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #6ee7b7, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Buttons: rounded, friendly */
body.web-theme-health-warm .web-btn {
  border-radius: 14px;
  font-weight: 600;
}
body.web-theme-health-warm .web-btn-primary {
  background: linear-gradient(135deg, #059669, #047857);
  box-shadow: 0 4px 16px rgba(5, 150, 105, 0.2);
}
body.web-theme-health-warm .web-btn-primary:hover {
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 6px 24px rgba(5, 150, 105, 0.3);
}

/* Product cards: rounded, soft, warm */
body.web-theme-health-warm .web-product-card {
  border: 1px solid rgba(5, 150, 105, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(5, 150, 105, 0.04);
}
body.web-theme-health-warm .web-product-card:hover {
  box-shadow: 0 8px 28px rgba(5, 150, 105, 0.1);
  transform: translateY(-4px);
}
body.web-theme-health-warm .web-product-img {
  border-radius: 16px 16px 0 0;
}
body.web-theme-health-warm .web-product-price {
  color: #059669;
  font-weight: 700;
}

/* Sections: warm spacing */
body.web-theme-health-warm .web-section {
  padding: clamp(52px, 8vw, 96px) clamp(16px, 4vw, 32px);
}
body.web-theme-health-warm .web-section-title::after {
  background: var(--web-accent-gradient);
  width: 48px;
  height: 3px;
}

/* Contact: warm card */
body.web-theme-health-warm .web-contact-info {
  border: 1px solid rgba(5, 150, 105, 0.08);
  border-radius: 16px;
  background: #ffffff;
}
body.web-theme-health-warm .web-contact-icon {
  background: rgba(5, 150, 105, 0.06);
  color: #059669;
  border-radius: 12px;
}

/* Footer: deep green */
body.web-theme-health-warm .web-footer {
  background: #052e16;
}
body.web-theme-health-warm .web-footer::before {
  background: linear-gradient(90deg, transparent, #059669, #34d399, transparent);
}


/* ================================================================
   SUPERMERCADO / MINIMARKET
   ================================================================ */

/* ── super-vibrant ──────────────────────────────────────────────
   Bold retail: red/yellow energy, white bg, promo-style badges,
   bold pricing, high contrast hero
   ─────────────────────────────────────────────────────────────── */
body.web-theme-super-vibrant {
  --web-primary: #dc2626;
  --web-secondary: #b91c1c;
  --web-bg: #ffffff;
  --web-bg-alt: #fffbeb;
  --web-text: #1c1917;
  --web-text-muted: #78716c;
  --web-border: #fde68a;
  --web-card: #ffffff;
  --web-card-shadow: 0 2px 12px rgba(220, 38, 38, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
  --web-radius: 10px;
  --web-radius-sm: 6px;
  --web-accent-gradient: linear-gradient(135deg, #dc2626, #f59e0b, #eab308);
  --web-glow-primary: 0 0 24px rgba(220, 38, 38, 0.2);
}

/* Typography: Bold, energetic, retail */
body.web-theme-super-vibrant {
  line-height: 1.6;
}
body.web-theme-super-vibrant h1,
body.web-theme-super-vibrant h2,
body.web-theme-super-vibrant h3,
body.web-theme-super-vibrant .web-section-title {
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* Navigation: white bg, red accent */
body.web-theme-super-vibrant .web-header-scrolled {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 2px solid rgba(220, 38, 38, 0.12);
  box-shadow: 0 2px 16px rgba(220, 38, 38, 0.06);
}
body.web-theme-super-vibrant .web-nav-link {
  font-weight: 600;
}
body.web-theme-super-vibrant .web-nav-link::after {
  background: #dc2626;
  height: 3px;
}

/* Hero: bright red/yellow overlay, high contrast */
body.web-theme-super-vibrant .web-hero {
  min-height: clamp(340px, 55vw, 65vh);
}
body.web-theme-super-vibrant .web-hero::before {
  background: linear-gradient(
    135deg,
    rgba(220, 38, 38, 0.65) 0%,
    rgba(245, 158, 11, 0.35) 50%,
    rgba(220, 38, 38, 0.60) 100%
  );
}
body.web-theme-super-vibrant .web-hero::after {
  background: radial-gradient(circle, rgba(245, 158, 11, 0.2) 0%, transparent 70%);
}
body.web-theme-super-vibrant .web-hero-content {
  background: rgba(220, 38, 38, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px;
}
body.web-theme-super-vibrant .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #fde68a, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
  font-size: clamp(2.2rem, 7vw, 3.8rem);
}

/* Buttons: bold red gradient, energetic */
body.web-theme-super-vibrant .web-btn {
  border-radius: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.web-theme-super-vibrant .web-btn-primary {
  background: linear-gradient(135deg, #dc2626, #ea580c);
  box-shadow: 0 4px 16px rgba(220, 38, 38, 0.3);
}
body.web-theme-super-vibrant .web-btn-primary:hover {
  background: linear-gradient(135deg, #ef4444, #f97316);
  box-shadow: 0 6px 24px rgba(220, 38, 38, 0.4);
}

/* Product cards: sale-badge-ready, bold pricing */
body.web-theme-super-vibrant .web-product-card {
  border: 1px solid rgba(220, 38, 38, 0.06);
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
body.web-theme-super-vibrant .web-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(220, 38, 38, 0.1);
  border-color: rgba(220, 38, 38, 0.15);
}
body.web-theme-super-vibrant .web-product-price {
  color: #dc2626;
  font-weight: 900;
  font-size: 1.15em;
}
body.web-theme-super-vibrant .web-product-name {
  font-weight: 700;
}
body.web-theme-super-vibrant .web-product-tag {
  background: #dc2626;
  color: #ffffff;
  font-weight: 700;
  border-radius: 4px;
}

/* Sections */
body.web-theme-super-vibrant .web-section-title::after {
  background: linear-gradient(90deg, #dc2626, #f59e0b);
  width: 56px;
  height: 4px;
}
body.web-theme-super-vibrant .web-section + .web-section::before,
body.web-theme-super-vibrant .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(220, 38, 38, 0.15), rgba(245, 158, 11, 0.15), transparent);
}

/* Contact: bright, energetic */
body.web-theme-super-vibrant .web-contact-info {
  border: 1px solid rgba(220, 38, 38, 0.08);
  border-radius: 10px;
}
body.web-theme-super-vibrant .web-contact-icon {
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
  border-radius: 8px;
}

/* Footer: dark, high contrast */
body.web-theme-super-vibrant .web-footer {
  background: #1c1917;
}
body.web-theme-super-vibrant .web-footer::before {
  background: linear-gradient(90deg, transparent, #dc2626, #f59e0b, transparent);
  height: 2px;
}


/* ── super-clean ────────────────────────────────────────────────
   Organic grocery: green + white, fresh feel, rounded cards,
   clean organic aesthetics, nature-forward
   ─────────────────────────────────────────────────────────────── */
body.web-theme-super-clean {
  --web-primary: #16a34a;
  --web-secondary: #15803d;
  --web-bg: #f8fcf8;
  --web-bg-alt: #ecf7ec;
  --web-text: #14532d;
  --web-text-muted: #4d7c5a;
  --web-border: #c6e8c6;
  --web-card: #ffffff;
  --web-card-shadow: 0 2px 12px rgba(22, 163, 74, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
  --web-radius: 16px;
  --web-radius-sm: 10px;
  --web-accent-gradient: linear-gradient(135deg, #16a34a, #4ade80, #86efac);
  --web-glow-primary: 0 0 20px rgba(22, 163, 74, 0.15);
}

/* Typography: Fresh, clean */
body.web-theme-super-clean {
  line-height: 1.7;
}
body.web-theme-super-clean h1,
body.web-theme-super-clean h2,
body.web-theme-super-clean h3,
body.web-theme-super-clean .web-section-title {
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Navigation: white, green accent */
body.web-theme-super-clean .web-header-scrolled {
  background: rgba(248, 252, 248, 0.93);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(22, 163, 74, 0.08);
  box-shadow: 0 1px 12px rgba(22, 163, 74, 0.04);
}
body.web-theme-super-clean .web-nav-link::after {
  background: #16a34a;
}

/* Hero: fresh green overlay */
body.web-theme-super-clean .web-hero {
  min-height: clamp(340px, 55vw, 68vh);
}
body.web-theme-super-clean .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(20, 83, 45, 0.55) 0%,
    rgba(20, 83, 45, 0.25) 50%,
    rgba(20, 83, 45, 0.50) 100%
  );
}
body.web-theme-super-clean .web-hero::after {
  background: radial-gradient(circle, rgba(22, 163, 74, 0.12) 0%, transparent 70%);
}
body.web-theme-super-clean .web-hero-content {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 18px;
}
body.web-theme-super-clean .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #86efac, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Buttons: rounded, green */
body.web-theme-super-clean .web-btn {
  border-radius: 14px;
  font-weight: 600;
}
body.web-theme-super-clean .web-btn-primary {
  background: linear-gradient(135deg, #16a34a, #15803d);
  box-shadow: 0 4px 16px rgba(22, 163, 74, 0.2);
}
body.web-theme-super-clean .web-btn-primary:hover {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  box-shadow: 0 6px 24px rgba(22, 163, 74, 0.3);
}

/* Product cards: rounded, organic feel */
body.web-theme-super-clean .web-product-card {
  border: 1px solid rgba(22, 163, 74, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(22, 163, 74, 0.04);
}
body.web-theme-super-clean .web-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(22, 163, 74, 0.1);
}
body.web-theme-super-clean .web-product-img {
  border-radius: 16px 16px 0 0;
}
body.web-theme-super-clean .web-product-price {
  color: #16a34a;
  font-weight: 700;
}
body.web-theme-super-clean .web-product-tag {
  background: #dcfce7;
  color: #15803d;
  border-radius: 10px;
  font-weight: 600;
}

/* Sections */
body.web-theme-super-clean .web-section {
  padding: clamp(52px, 8vw, 96px) clamp(16px, 4vw, 32px);
}
body.web-theme-super-clean .web-section-title::after {
  background: var(--web-accent-gradient);
  width: 48px;
  height: 3px;
}
body.web-theme-super-clean .web-section + .web-section::before,
body.web-theme-super-clean .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(22, 163, 74, 0.12), transparent);
}

/* Contact: green accents */
body.web-theme-super-clean .web-contact-info {
  border: 1px solid rgba(22, 163, 74, 0.08);
  border-radius: 16px;
}
body.web-theme-super-clean .web-contact-icon {
  background: rgba(22, 163, 74, 0.06);
  color: #16a34a;
  border-radius: 12px;
}

/* Footer: deep green */
body.web-theme-super-clean .web-footer {
  background: #052e16;
}
body.web-theme-super-clean .web-footer::before {
  background: linear-gradient(90deg, transparent, #16a34a, #4ade80, transparent);
}


/* ================================================================
   RESTAURANTE
   ================================================================ */

/* ── resto-warm ─────────────────────────────────────────────────
   Classic restaurant: burgundy + cream, serif headings,
   elegant spacing, warm overlay, border accents
   ─────────────────────────────────────────────────────────────── */
body.web-theme-resto-warm {
  --web-primary: #9f1239;
  --web-secondary: #881337;
  --web-bg: #fefaf0;
  --web-bg-alt: #faf0d8;
  --web-text: #451a03;
  --web-text-muted: #7a5428;
  --web-border: #e8d4a8;
  --web-card: #fffdf5;
  --web-card-shadow: 0 2px 16px rgba(159, 18, 57, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
  --web-radius: 8px;
  --web-radius-sm: 6px;
  --web-accent-gradient: linear-gradient(135deg, #9f1239, #e11d48, #fb7185);
  --web-glow-primary: 0 0 24px rgba(159, 18, 57, 0.18);
}

/* Typography: Serif, elegant, warm */
body.web-theme-resto-warm {
  line-height: 1.7;
}
body.web-theme-resto-warm h1,
body.web-theme-resto-warm h2,
body.web-theme-resto-warm h3,
body.web-theme-resto-warm .web-hero-title,
body.web-theme-resto-warm .web-section-title {
  font-family: Georgia, 'Palatino Linotype', 'Book Antiqua', serif;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Navigation: cream bg, burgundy accent */
body.web-theme-resto-warm .web-header-scrolled {
  background: rgba(254, 250, 240, 0.93);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(159, 18, 57, 0.1);
  box-shadow: 0 1px 12px rgba(159, 18, 57, 0.04);
}
body.web-theme-resto-warm .web-nav-link {
  font-family: Georgia, serif;
  font-size: 0.88rem;
  letter-spacing: 0.03em;
}
body.web-theme-resto-warm .web-nav-link::after {
  background: #9f1239;
}

/* Hero: warm overlay, elegant serif hero text */
body.web-theme-resto-warm .web-hero {
  min-height: clamp(380px, 65vw, 78vh);
}
body.web-theme-resto-warm .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(69, 26, 3, 0.65) 0%,
    rgba(159, 18, 57, 0.30) 50%,
    rgba(69, 26, 3, 0.60) 100%
  );
}
body.web-theme-resto-warm .web-hero::after {
  background: radial-gradient(circle, rgba(159, 18, 57, 0.1) 0%, transparent 70%);
}
body.web-theme-resto-warm .web-hero-content {
  background: rgba(69, 26, 3, 0.25);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(232, 212, 168, 0.2);
  border-radius: 10px;
  padding: 48px clamp(28px, 6vw, 56px);
}
body.web-theme-resto-warm .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #fde68a, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 6.5vw, 3.4rem);
}
body.web-theme-resto-warm .web-hero-subtitle {
  font-family: Georgia, serif;
  font-style: italic;
  letter-spacing: 0.02em;
}

/* Buttons: burgundy, elegant */
body.web-theme-resto-warm .web-btn {
  border-radius: 6px;
  font-family: Georgia, serif;
  letter-spacing: 0.03em;
}
body.web-theme-resto-warm .web-btn-primary {
  background: linear-gradient(135deg, #9f1239, #881337);
  box-shadow: 0 4px 16px rgba(159, 18, 57, 0.25);
}
body.web-theme-resto-warm .web-btn-primary:hover {
  background: linear-gradient(135deg, #be123c, #9f1239);
  box-shadow: 0 6px 24px rgba(159, 18, 57, 0.35);
}

/* Product cards: warm tone, elegant borders */
body.web-theme-resto-warm .web-product-card {
  border: 1px solid rgba(232, 212, 168, 0.3);
  border-radius: 8px;
  background: #fffdf5;
  box-shadow: 0 2px 12px rgba(159, 18, 57, 0.04);
}
body.web-theme-resto-warm .web-product-card:hover {
  border-color: rgba(159, 18, 57, 0.2);
  box-shadow: 0 8px 28px rgba(159, 18, 57, 0.08);
  transform: translateY(-4px);
}
body.web-theme-resto-warm .web-product-name {
  font-family: Georgia, serif;
}
body.web-theme-resto-warm .web-product-price {
  color: #9f1239;
  font-weight: 700;
}

/* Sections: elegant dividers with gold tint */
body.web-theme-resto-warm .web-section {
  padding: clamp(52px, 8vw, 96px) clamp(16px, 4vw, 32px);
}
body.web-theme-resto-warm .web-section + .web-section::before,
body.web-theme-resto-warm .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(232, 212, 168, 0.4), transparent);
}
body.web-theme-resto-warm .web-section-title::after {
  background: linear-gradient(90deg, #9f1239, #e11d48, #9f1239);
  width: 52px;
  height: 2px;
}

/* Contact: warm card, burgundy icons */
body.web-theme-resto-warm .web-contact-info {
  background: #fffdf5;
  border: 1px solid rgba(232, 212, 168, 0.3);
  border-radius: 8px;
}
body.web-theme-resto-warm .web-contact-icon {
  background: rgba(159, 18, 57, 0.06);
  color: #9f1239;
  border-radius: 8px;
}

/* Footer: dark burgundy/brown */
body.web-theme-resto-warm .web-footer {
  background: #1a0808;
}
body.web-theme-resto-warm .web-footer::before {
  background: linear-gradient(90deg, transparent, #9f1239, rgba(232, 212, 168, 0.4), transparent);
}


/* ── resto-modern ───────────────────────────────────────────────
   Trendy restaurant: dark bg + orange accents, sharp modern
   typography, industrial chic
   ─────────────────────────────────────────────────────────────── */
body.web-theme-resto-modern {
  --web-primary: #ea580c;
  --web-secondary: #c2410c;
  --web-bg: #111111;
  --web-bg-alt: #1a1a1a;
  --web-text: #fafafa;
  --web-text-muted: #999999;
  --web-border: #2e2e2e;
  --web-card: #1a1a1a;
  --web-card-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
  --web-radius: 6px;
  --web-radius-sm: 4px;
  --web-accent-gradient: linear-gradient(135deg, #ea580c, #f97316, #fb923c);
  --web-glow-primary: 0 0 32px rgba(234, 88, 12, 0.3);
}

/* Typography: Sharp, modern sans-serif, tight leading */
body.web-theme-resto-modern {
  line-height: 1.6;
  letter-spacing: 0.005em;
}
body.web-theme-resto-modern h1,
body.web-theme-resto-modern h2,
body.web-theme-resto-modern h3,
body.web-theme-resto-modern .web-section-title {
  font-weight: 800;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}
body.web-theme-resto-modern .web-hero-title {
  font-weight: 900;
  text-transform: uppercase;
}

/* Navigation: dark, orange accent, sharp */
body.web-theme-resto-modern .web-header-scrolled {
  background: rgba(17, 17, 17, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(234, 88, 12, 0.15);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}
body.web-theme-resto-modern .web-nav-link {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
}
body.web-theme-resto-modern .web-nav-link::after {
  background: #ea580c;
  height: 2px;
}

/* Hero: dark with orange glow */
body.web-theme-resto-modern .web-hero {
  min-height: clamp(360px, 65vw, 80vh);
}
body.web-theme-resto-modern .web-hero::before {
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0.78) 0%,
    rgba(17, 17, 17, 0.35) 50%,
    rgba(17, 17, 17, 0.80) 100%
  );
}
body.web-theme-resto-modern .web-hero::after {
  background: radial-gradient(circle, rgba(234, 88, 12, 0.15) 0%, transparent 70%);
}
body.web-theme-resto-modern .web-hero-content {
  background: rgba(17, 17, 17, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(234, 88, 12, 0.2);
  border-radius: 6px;
}
body.web-theme-resto-modern .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #fb923c, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2.2rem, 7vw, 3.8rem);
}

/* Buttons: sharp, orange gradient */
body.web-theme-resto-modern .web-btn {
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 0.85rem;
}
body.web-theme-resto-modern .web-btn-primary {
  background: linear-gradient(135deg, #ea580c, #c2410c);
  box-shadow: 0 4px 20px rgba(234, 88, 12, 0.3);
}
body.web-theme-resto-modern .web-btn-primary:hover {
  background: linear-gradient(135deg, #f97316, #ea580c);
  box-shadow: 0 6px 28px rgba(234, 88, 12, 0.45);
}
body.web-theme-resto-modern .web-btn-secondary {
  border-color: rgba(234, 88, 12, 0.4);
  color: #fb923c;
}

/* Product cards: dark, sharp, orange hover glow */
body.web-theme-resto-modern .web-product-card {
  background: #1a1a1a;
  border: 1px solid #2e2e2e;
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
body.web-theme-resto-modern .web-product-card:hover {
  border-color: rgba(234, 88, 12, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 16px rgba(234, 88, 12, 0.1);
  transform: translateY(-3px);
}
body.web-theme-resto-modern .web-product-name {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
body.web-theme-resto-modern .web-product-price {
  color: #fb923c;
  font-weight: 800;
}

/* Sections: orange accent dividers */
body.web-theme-resto-modern .web-section + .web-section::before,
body.web-theme-resto-modern .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(234, 88, 12, 0.2), transparent);
}
body.web-theme-resto-modern .web-section-title::after {
  background: #ea580c;
  width: 48px;
  height: 3px;
  border-radius: 0;
}

/* Contact: dark card, orange icons */
body.web-theme-resto-modern .web-contact-info {
  background: #1a1a1a;
  border: 1px solid #2e2e2e;
  border-radius: 6px;
}
body.web-theme-resto-modern .web-contact-icon {
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
  border-radius: 4px;
}

/* Footer: near-black */
body.web-theme-resto-modern .web-footer {
  background: #070707;
}
body.web-theme-resto-modern .web-footer::before {
  background: linear-gradient(90deg, transparent, #ea580c, transparent);
  height: 1px;
}


/* ================================================================
   TIENDA / BOUTIQUE
   ================================================================ */

/* ── boutique-chic ──────────────────────────────────────────────
   Fashion store: rose/pink + serif headings, large hero images,
   editorial layout, fashion-style spacing
   ─────────────────────────────────────────────────────────────── */
body.web-theme-boutique-chic {
  --web-primary: #be185d;
  --web-secondary: #9d174d;
  --web-bg: #fffafb;
  --web-bg-alt: #fef1f3;
  --web-text: #4c0519;
  --web-text-muted: #9a3a5c;
  --web-border: #fad2dc;
  --web-card: #ffffff;
  --web-card-shadow: 0 2px 16px rgba(190, 24, 93, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
  --web-radius: 14px;
  --web-radius-sm: 10px;
  --web-accent-gradient: linear-gradient(135deg, #be185d, #ec4899, #f9a8d4);
  --web-glow-primary: 0 0 24px rgba(190, 24, 93, 0.18);
}

/* Typography: Editorial serif, fashion-forward */
body.web-theme-boutique-chic {
  line-height: 1.7;
  letter-spacing: 0.01em;
}
body.web-theme-boutique-chic h1,
body.web-theme-boutique-chic h2,
body.web-theme-boutique-chic h3,
body.web-theme-boutique-chic .web-hero-title,
body.web-theme-boutique-chic .web-section-title {
  font-family: Georgia, 'Palatino Linotype', 'Book Antiqua', serif;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Navigation: light, rose accents */
body.web-theme-boutique-chic .web-header-scrolled {
  background: rgba(255, 250, 251, 0.93);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(190, 24, 93, 0.08);
  box-shadow: 0 1px 12px rgba(190, 24, 93, 0.03);
}
body.web-theme-boutique-chic .web-nav-link {
  font-family: Georgia, serif;
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
body.web-theme-boutique-chic .web-nav-link::after {
  background: #be185d;
  height: 1px;
}

/* Hero: large, editorial, fashion photography focus */
body.web-theme-boutique-chic .web-hero {
  min-height: clamp(400px, 70vw, 85vh);
}
body.web-theme-boutique-chic .web-hero::before {
  background: linear-gradient(
    160deg,
    rgba(76, 5, 25, 0.50) 0%,
    rgba(76, 5, 25, 0.20) 50%,
    rgba(76, 5, 25, 0.55) 100%
  );
}
body.web-theme-boutique-chic .web-hero::after {
  background: radial-gradient(circle, rgba(190, 24, 93, 0.1) 0%, transparent 70%);
}
body.web-theme-boutique-chic .web-hero-content {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  max-width: 720px;
  padding: 52px clamp(28px, 6vw, 60px);
}
body.web-theme-boutique-chic .web-hero-title {
  background: linear-gradient(90deg, #ffffff, #f9a8d4, #ffffff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 6.5vw, 3.4rem);
}
body.web-theme-boutique-chic .web-hero-subtitle {
  font-family: Georgia, serif;
  font-style: italic;
  letter-spacing: 0.03em;
}

/* Buttons: elegant, moderate radius */
body.web-theme-boutique-chic .web-btn {
  border-radius: 10px;
  font-family: Georgia, serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
}
body.web-theme-boutique-chic .web-btn-primary {
  background: linear-gradient(135deg, #be185d, #9d174d);
  box-shadow: 0 4px 16px rgba(190, 24, 93, 0.2);
}
body.web-theme-boutique-chic .web-btn-primary:hover {
  background: linear-gradient(135deg, #db2777, #be185d);
  box-shadow: 0 6px 24px rgba(190, 24, 93, 0.3);
}

/* Product cards: fashion-style spacing, editorial layout */
body.web-theme-boutique-chic .web-product-card {
  border: 1px solid rgba(190, 24, 93, 0.05);
  border-radius: 14px;
  box-shadow: 0 2px 16px rgba(190, 24, 93, 0.04);
  overflow: hidden;
}
body.web-theme-boutique-chic .web-product-card:hover {
  box-shadow: 0 8px 32px rgba(190, 24, 93, 0.1);
  transform: translateY(-5px);
}
body.web-theme-boutique-chic .web-product-img {
  aspect-ratio: 3 / 4;
  border-radius: 14px 14px 0 0;
}
body.web-theme-boutique-chic .web-product-info {
  padding: 20px 22px;
}
body.web-theme-boutique-chic .web-product-name {
  font-family: Georgia, serif;
  font-size: 1rem;
  letter-spacing: 0.01em;
}
body.web-theme-boutique-chic .web-product-brand {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
}
body.web-theme-boutique-chic .web-product-price {
  color: #be185d;
  font-weight: 700;
}

/* Sections: generous fashion spacing */
body.web-theme-boutique-chic .web-section {
  padding: clamp(56px, 9vw, 104px) clamp(16px, 4vw, 32px);
}
body.web-theme-boutique-chic .web-section-title {
  font-family: Georgia, serif;
}
body.web-theme-boutique-chic .web-section-title::after {
  background: linear-gradient(90deg, #be185d, #ec4899, #be185d);
  width: 48px;
  height: 1px;
}
body.web-theme-boutique-chic .web-section + .web-section::before,
body.web-theme-boutique-chic .web-section-alt + .web-section::before {
  background: linear-gradient(90deg, transparent, rgba(190, 24, 93, 0.1), transparent);
}

/* Contact: elegant rose card */
body.web-theme-boutique-chic .web-contact-info {
  border: 1px solid rgba(190, 24, 93, 0.06);
  border-radius: 14px;
}
body.web-theme-boutique-chic .web-contact-icon {
  background: rgba(190, 24, 93, 0.05);
  color: #be185d;
  border-radius: 10px;
}

/* Footer: dark rose-black */
body.web-theme-boutique-chic .web-footer {
  background: #1a0510;
}
body.web-theme-boutique-chic .web-footer::before {
  background: linear-gradient(90deg, transparent, #be185d, #ec4899, transparent);
  height: 1px;
}


/* ── boutique-minimal ───────────────────────────────────────────
   Editorial fashion: pure black+white, ultra clean, no radius,
   square everything, Helvetica/system sans, minimal shadows,
   grid-focused, editorial
   ─────────────────────────────────────────────────────────────── */
body.web-theme-boutique-minimal {
  --web-primary: #111111;
  --web-secondary: #333333;
  --web-bg: #ffffff;
  --web-bg-alt: #f7f7f7;
  --web-text: #111111;
  --web-text-muted: #666666;
  --web-border: #e0e0e0;
  --web-card: #ffffff;
  --web-card-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  --web-radius: 0px;
  --web-radius-sm: 0px;
  --web-accent-gradient: linear-gradient(135deg, #111111, #444444, #111111);
  --web-glow-primary: none;
}

/* Typography: System sans-serif, clean, editorial */
body.web-theme-boutique-minimal {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  letter-spacing: 0.01em;
}
body.web-theme-boutique-minimal h1,
body.web-theme-boutique-minimal h2,
body.web-theme-boutique-minimal h3,
body.web-theme-boutique-minimal .web-section-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.web-theme-boutique-minimal .web-hero-title {
  font-weight: 200;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* Navigation: ultra clean, no blur, just white */
body.web-theme-boutique-minimal .web-header-scrolled {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: none;
}
body.web-theme-boutique-minimal .web-nav-link {
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  border-radius: 0;
}
body.web-theme-boutique-minimal .web-nav-link::after {
  background: #111111;
  height: 1px;
  border-radius: 0;
  bottom: 6px;
}
body.web-theme-boutique-minimal .web-nav-active {
  background: transparent;
  font-weight: 600;
}

/* Hero: minimal, clean overlay, no glass card feel */
body.web-theme-boutique-minimal .web-hero {
  min-height: clamp(400px, 70vw, 85vh);
}
body.web-theme-boutique-minimal .web-hero::before {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.10) 50%,
    rgba(0, 0, 0, 0.40) 100%
  );
}
body.web-theme-boutique-minimal .web-hero::after {
  display: none;
}
body.web-theme-boutique-minimal .web-hero-content {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  border-radius: 0;
  padding: 40px clamp(20px, 5vw, 48px);
}
body.web-theme-boutique-minimal .web-hero-title {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: #ffffff;
  color: #ffffff;
  font-size: clamp(2.4rem, 7vw, 4rem);
  font-weight: 200;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  animation: none;
}
body.web-theme-boutique-minimal .web-hero-subtitle {
  font-weight: 300;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: clamp(0.85rem, 2vw, 1rem);
}

/* Buttons: square, no radius, minimal */
body.web-theme-boutique-minimal .web-btn {
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 0.8rem;
  padding: 16px 40px;
}
body.web-theme-boutique-minimal .web-btn-primary {
  background: #111111;
  box-shadow: none;
  border: 1px solid #111111;
}
body.web-theme-boutique-minimal .web-btn-primary:hover {
  background: #333333;
  box-shadow: none;
  animation: none;
}
body.web-theme-boutique-minimal .web-btn-secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.6);
  color: #ffffff;
  backdrop-filter: none;
}
body.web-theme-boutique-minimal .web-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
}
body.web-theme-boutique-minimal .web-btn-outline {
  border-color: #111111;
  border-radius: 0;
}

/* Product cards: square, no radius, minimal shadow, grid-focused */
body.web-theme-boutique-minimal .web-product-card {
  border-radius: 0;
  border: 1px solid #e0e0e0;
  box-shadow: none;
  transition: opacity 0.3s ease;
}
body.web-theme-boutique-minimal .web-product-card:hover {
  box-shadow: none;
  transform: none;
  opacity: 0.85;
}
body.web-theme-boutique-minimal .web-product-img {
  border-radius: 0;
  aspect-ratio: 3 / 4;
}
body.web-theme-boutique-minimal .web-product-info {
  padding: 16px 18px;
}
body.web-theme-boutique-minimal .web-product-name {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.85rem;
}
body.web-theme-boutique-minimal .web-product-brand {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.68rem;
  font-weight: 400;
}
body.web-theme-boutique-minimal .web-product-price {
  color: #111111;
  font-weight: 400;
  letter-spacing: 0.02em;
}

/* Sections: clean, no decorative underlines */
body.web-theme-boutique-minimal .web-section {
  padding: clamp(56px, 9vw, 104px) clamp(16px, 4vw, 32px);
}
body.web-theme-boutique-minimal .web-section-title {
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  margin-bottom: 48px;
}
body.web-theme-boutique-minimal .web-section-title::after {
  display: none;
}
body.web-theme-boutique-minimal .web-section + .web-section::before,
body.web-theme-boutique-minimal .web-section-alt + .web-section::before {
  background: #e0e0e0;
  width: 100%;
  height: 1px;
}

/* Contact: ultra clean */
body.web-theme-boutique-minimal .web-contact-info {
  border: 1px solid #e0e0e0;
  border-radius: 0;
}
body.web-theme-boutique-minimal .web-contact-icon {
  background: #f7f7f7;
  color: #111111;
  border-radius: 0;
}
body.web-theme-boutique-minimal .web-contact-row a {
  letter-spacing: 0.02em;
}

/* Footer: true black, no gradient */
body.web-theme-boutique-minimal .web-footer {
  background: #000000;
}
body.web-theme-boutique-minimal .web-footer::before {
  background: #333333;
  height: 1px;
}
body.web-theme-boutique-minimal .web-footer-copy {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.7rem;
}
