    :root {
      --font-serif: 'Cormorant Garamond', Georgia, serif;
      --font-sans: 'Montserrat', -apple-system, sans-serif;
      --bg-primary: #F7F3ED;
      --bg-secondary: #EDE7DE;
      --bg-warm: #E8E0D4;
      --bg-card: #FFFEFA;
      --text-primary: #2A2623;
      --text-secondary: #6B6259;
      --text-muted: #9B9085;
      --accent-gold: #C9A96E;
      --accent-gold-light: #D9BC8B;
      --accent-gold-dark: #A8884D;
      --accent-rose: #C4A19D;
      --border-light: #DDD5C8;
      --border-medium: #C9C0B1;
      --color-ivory: #F5F0E8;
      --color-cream: #EDE7DE;
      --color-graphite: #2A2623;
      --glass-bg: rgba(247,243,237,0.88);
      --glass-border: rgba(201,169,110,0.22);
      --shadow-soft: 0 4px 24px rgba(44,40,37,0.07);
      --shadow-medium: 0 8px 40px rgba(44,40,37,0.11);
      --shadow-gold: 0 4px 24px rgba(201,169,110,0.18);
      --transition-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);
      --radius: 14px;
      --radius-sm: 8px;
    }

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--font-sans);
      background: var(--bg-primary);
      color: var(--text-primary);
      line-height: 1.6;
      font-weight: 400;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    /* ===== CINEMATIC PAGE LOAD ===== */
    @keyframes fadeSlideUp {
      0% { opacity:0; transform:translateY(28px); filter:blur(4px); }
      100% { opacity:1; transform:translateY(0); filter:blur(0); }
    }
    @keyframes fadeSlideDown {
      0% { opacity:0; transform:translateY(-16px); }
      100% { opacity:1; transform:translateY(0); }
    }
    .load-d1 { opacity:0; animation:fadeSlideDown 1s var(--transition-smooth) 0.2s forwards; }
    .load-d2 { opacity:0; animation:fadeSlideUp 1s var(--transition-smooth) 0.5s forwards; }
    .load-d3 { opacity:0; animation:fadeSlideUp 1s var(--transition-smooth) 0.8s forwards; }
    .load-d4 { opacity:0; animation:fadeSlideUp 1s var(--transition-smooth) 1.0s forwards; }

    /* ===== SCROLL REVEAL ===== */
    .reveal { opacity:0; transform:translateY(40px); transition:opacity 0.8s var(--transition-smooth), transform 0.8s var(--transition-smooth); }
    .reveal.visible { opacity:1; transform:translateY(0); }
    .reveal-scale { opacity:0; transform:scale(0.95); transition:opacity 0.8s var(--transition-smooth), transform 0.8s var(--transition-smooth); }
    .reveal-scale.visible { opacity:1; transform:scale(1); }

    /* ===== HEADER ===== */
    .header {
      position:fixed; top:0; left:0; right:0;
      z-index:1000; padding:22px 0;
      transition:all 0.45s ease;
    }
    .header.scrolled {
      background:var(--glass-bg);
      backdrop-filter:blur(20px) saturate(1.2);
      -webkit-backdrop-filter:blur(20px) saturate(1.2);
      border-bottom:1px solid var(--glass-border);
      padding:12px 0;
    }
    .header-inner { max-width:1280px; margin:0 auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; }
    .header--hero {
      background:linear-gradient(180deg, rgba(30,24,19,0.32) 0%, rgba(30,24,19,0) 100%);
    }
    .header--hero .logo, .header--hero .nav-links a {
      color:var(--color-ivory);
      text-shadow:0 2px 12px rgba(26,22,18,0.55);
    }
    .header--hero .logo span { color:#e4c586; }
    .header--hero .lang-toggle { background:rgba(38,30,24,0.24); border-color:rgba(255,255,255,0.28); }
    .header--hero .lang-btn { color:rgba(245,240,232,0.82); }
    .header--hero .lang-btn.active { background:rgba(201,169,110,0.9); color:#fff; }
    .header--hero .mobile-menu-btn span { background:var(--color-ivory); }

    .logo { font-family:var(--font-serif); font-size:1.4rem; font-weight:500; letter-spacing:4px; text-transform:uppercase; color:var(--text-primary); text-decoration:none; transition:color 0.3s ease; }
    .logo span { color:var(--accent-gold); font-weight:600; }
    .header.scrolled .logo { font-size:1.2rem; color:var(--text-primary); }
    .nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
    .nav-links a { font-family:var(--font-sans); font-size:0.78rem; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-secondary); text-decoration:none; position:relative; transition:color 0.3s ease; }
    .nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--accent-gold); transition:width 0.3s ease; }
    .nav-links a:hover { color:var(--text-primary); }
    .nav-links a:hover::after { width:100%; }
    .lang-toggle { display:flex; gap:3px; align-items:center; background:var(--bg-secondary); border-radius:20px; padding:3px; border:1px solid var(--border-light); }
    .lang-btn { font-family:var(--font-sans); font-size:0.75rem; font-weight:600; letter-spacing:1px; padding:6px 14px; border-radius:17px; border:none; cursor:pointer; background:transparent; color:var(--text-muted); transition:all 0.3s ease; }
    .lang-btn.active { background:var(--accent-gold); color:#fff; }
    .lang-btn:not(.active):hover { color:var(--text-secondary); }
    .mobile-menu-btn { display:none; background:none; border:none; cursor:pointer; width:32px; height:32px; flex-direction:column; gap:5px; justify-content:center; }
    .mobile-menu-btn span { display:block; width:24px; height:1.5px; background:var(--text-primary); transition:all 0.3s ease; }

    /* ===== CART ICON ===== */
    .cart-trigger {
      position:relative;
      width:40px; height:40px; border-radius:50%;
      background:rgba(247,243,237,0.12);
      border:1px solid rgba(201,169,110,0.25);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; transition:all 0.3s ease;
      color:var(--color-ivory);
      flex-shrink:0; margin-left:16px;
    }
    .cart-trigger:hover { background:rgba(201,169,110,0.25); border-color:var(--accent-gold); }
    .cart-icon { color:currentColor; }
    .header.scrolled .cart-trigger { background:var(--bg-warm); border-color:var(--border-light); color:var(--text-primary); }
    .cart-count {
      position:absolute; top:-3px; right:-3px;
      width:18px; height:18px; border-radius:50%;
      background:var(--accent-gold); color:#fff;
      font-family:var(--font-sans); font-size:0.7rem; font-weight:600;
      display:flex; align-items:center; justify-content:center;
      opacity:0; transform:scale(0); transition:all 0.3s ease;
    }
    .cart-count.visible { opacity:1; transform:scale(1); }

    /* ===== HERO ===== */
    .hero {
      position:relative; width:100%; min-height:100vh; min-height:100svh;
      overflow:hidden; display:flex; align-items:flex-end; justify-content:center;
    }
    .hero__bg {
      position:absolute; inset:0;
      background:url('../images/hero-sss-desktop.webp') no-repeat center center/cover;
      filter:brightness(1.02) saturate(1.01);
    }
    .hero__overlay--vignette {
      position:absolute; inset:0; pointer-events:none;
      background:radial-gradient(ellipse 75% 60% at 50% 40%, transparent 0%, rgba(26,22,18,0.12) 46%, rgba(26,22,18,0.42) 100%);
    }
    .hero__overlay--bottom {
      position:absolute; inset:0; pointer-events:none;
      background:linear-gradient(180deg, rgba(26,22,18,0.08) 0%, rgba(26,22,18,0.22) 45%, rgba(26,22,18,0.58) 100%);
    }
    .hero__overlay--top {
      position:absolute; inset:0; pointer-events:none;
      background:linear-gradient(180deg, rgba(26,22,18,0.36) 0%, rgba(26,22,18,0.08) 38%, transparent 62%);
    }
    .hero__content {
      position:relative; z-index:2; width:100%; max-width:800px;
      padding:0 28px 80px; text-align:center;
      isolation:isolate;
    }
    .hero__content::before {
      content:'';
      position:absolute; left:50%; bottom:34px;
      width:min(760px, calc(100% - 24px)); height:270px;
      transform:translateX(-50%);
      border-radius:999px;
      background:radial-gradient(ellipse at center, rgba(42,28,18,0.42) 0%, rgba(42,28,18,0.22) 48%, transparent 74%);
      filter:blur(20px);
      pointer-events:none;
      z-index:-1;
      display:none;
    }
    .hero__headline {
      font-family:var(--font-serif);
      font-size:clamp(3rem, 8vw, 5.8rem);
      font-weight:300; line-height:1.05; letter-spacing:0.015em;
      color:#fff0d2; margin-bottom:10px;
      text-shadow:0 5px 28px rgba(28,20,14,0.72), 0 1px 2px rgba(28,20,14,0.9);
    }
    .hero__subtitle {
      font-family:var(--font-sans);
      font-size:clamp(0.82rem, 1.4vw, 0.95rem);
      font-weight:500; letter-spacing:2.4px;
      text-transform:uppercase;
      color:rgba(255,242,218,0.96); margin-bottom:38px;
      text-shadow:0 3px 18px rgba(28,20,14,0.72), 0 1px 2px rgba(28,20,14,0.86);
    }
    .hero__cta {
      display:inline-flex; align-items:center; gap:10px;
      font-family:var(--font-sans); font-size:0.8rem; font-weight:500;
      letter-spacing:2.5px; text-transform:uppercase;
      color:var(--color-graphite); background:var(--color-cream);
      padding:18px 42px; border:none; border-radius:50px;
      text-decoration:none; cursor:pointer;
      box-shadow:0 4px 24px rgba(0,0,0,0.25);
      transition:background 0.4s var(--transition-smooth), color 0.4s var(--transition-smooth), box-shadow 0.4s var(--transition-smooth), transform 0.4s var(--transition-smooth);
      will-change:transform;
    }
    .hero__cta:hover { background:var(--accent-gold); color:#fff; box-shadow:0 8px 32px rgba(201,169,110,0.38); transform:translateY(-2px); }
    .hero__cta:active { transform:translateY(0); }

    .hero__scroll { display:none; }
    .hero__scroll-text { font-family:var(--font-sans); font-size:0.6rem; font-weight:400; letter-spacing:3px; text-transform:uppercase; color:rgba(76,59,42,0.58); }
    .hero__scroll-line { width:1px; height:26px; background:linear-gradient(180deg, rgba(76,59,42,0.38) 0%, transparent 100%); animation:scrollPulse 2.2s ease-in-out infinite; }
    @keyframes scrollPulse { 0%,100%{opacity:0.25;transform:scaleY(0.55);transform-origin:top} 50%{opacity:0.9;transform:scaleY(1);transform-origin:top} }

    /* ===== SECTION COMMON ===== */
    .section { padding:100px 24px; max-width:1280px; margin:0 auto; scroll-margin-top:88px; }
    .section--full { max-width:100%; }
    .section--consultant { padding-top:40px; }
    .section-header { text-align:center; margin-bottom:64px; }
    .section-header--collection { max-width:1280px; margin:0 auto 48px; padding:0 24px; }
    .section-label { font-family:var(--font-sans); font-size:0.72rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--accent-gold); margin-bottom:16px; }
    .section-title { font-family:var(--font-serif); font-size:clamp(2.1rem, 4.2vw, 3.2rem); font-weight:400; line-height:1.15; color:var(--text-primary); margin-bottom:16px; }
    .section-desc { font-family:var(--font-sans); font-size:1rem; font-weight:300; color:var(--text-secondary); max-width:600px; margin:0 auto; line-height:1.7; }
    .divider { width:60px; height:1px; background:var(--accent-gold); margin:0 auto 24px; opacity:0.45; }
    .divider-left { margin:0 0 24px 0; }

    /* ===== HOW IT WORKS ===== */
    .how-shell { position:relative; }
    .how-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
    .how-card { text-align:center; padding:28px 18px; background:var(--bg-card); border-radius:var(--radius); border:1px solid var(--border-light); transition:all 0.4s ease; }
    .how-card:hover { border-color:var(--accent-gold-light); box-shadow:var(--shadow-soft); transform:translateY(-4px); }
    .how-step { font-family:var(--font-serif); font-size:2rem; font-weight:300; color:var(--accent-gold); margin-bottom:12px; line-height:1; }
    .how-title { font-family:var(--font-serif); font-size:1.05rem; font-weight:500; color:var(--text-primary); margin-bottom:7px; }
    .how-desc { font-family:var(--font-sans); font-size:0.76rem; font-weight:300; color:var(--text-secondary); line-height:1.55; }
    .process-arrow {
      display:none; position:absolute; top:50%; transform:translateY(-50%);
      width:36px; height:36px; border-radius:50%;
      background:rgba(247,243,237,0.92); backdrop-filter:blur(8px);
      border:1px solid var(--border-light);
      align-items:center; justify-content:center;
      cursor:pointer; z-index:10; font-size:0.9rem; color:var(--text-secondary);
      transition:all 0.3s ease; box-shadow:0 2px 12px rgba(0,0,0,0.1);
    }
    .process-arrow.visible { display:none; }
    .process-arrow:hover, .process-arrow:active { background:var(--accent-gold); color:#fff; border-color:var(--accent-gold); }
    .process-arrow.prev { left:2px; }
    .process-arrow.next { right:2px; }

    /* ===== COLLECTION ===== */
    .collection-scroll-wrapper { position:relative; margin:0 -24px; }
    .collection-scroll {
      display:flex; gap:24px;
      overflow-x:auto; overflow-y:hidden;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;
      padding:0 24px 24px;
    }
    .collection-scroll::-webkit-scrollbar { display:none; }

    /* ===== BOUQUET CARD ===== */
    .bouquet-card {
      flex:0 0 310px; scroll-snap-align:center;
      background:var(--bg-card); border-radius:var(--radius); overflow:hidden;
      box-shadow:var(--shadow-soft); transition:all 0.5s var(--transition-smooth);
      border:1px solid var(--border-light);
    }
    .bouquet-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-medium); border-color:var(--accent-gold-light); }

    /* Inner image slider */
    .card-slider { position:relative; overflow:hidden; aspect-ratio:3/4; touch-action:pan-y pinch-zoom; }
    .card-slider-track { display:flex; transition:transform 0.4s var(--transition-smooth); height:100%; }
    .card-slider-track .slide-img { min-width:100%; height:100%; object-fit:cover; }
    .card-slider-dots { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:2; }
    .card-slider-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.4); transition:all 0.3s ease; cursor:pointer; }
    .card-slider-dot.active { background:rgba(255,255,255,0.9); width:18px; border-radius:3px; }

    .bouquet-overlay { position:absolute; inset:0; opacity:0; transition:opacity 0.4s ease; background:linear-gradient(0deg, rgba(42,38,35,0.5) 0%, transparent 55%); display:flex; align-items:flex-end; padding:20px; z-index:1; }
    .bouquet-card:hover .bouquet-overlay { opacity:1; }
    .bouquet-overlay-text { font-family:var(--font-sans); font-size:0.72rem; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:#fff; }
    .bouquet-info { padding:20px; }
    .bouquet-name { font-family:var(--font-serif); font-size:1.25rem; font-weight:500; color:var(--text-primary); margin-bottom:6px; }
    .bouquet-desc { font-family:var(--font-sans); font-size:0.84rem; font-weight:300; color:var(--text-secondary); line-height:1.5; margin-bottom:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .bouquet-price-row { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
    .price-primary { font-family:var(--font-serif); font-size:1.4rem; font-weight:600; color:var(--text-primary); }
    .price-primary .currency { font-size:0.82rem; font-weight:400; margin-left:2px; }
    .price-secondary { font-family:var(--font-sans); font-size:0.8rem; font-weight:400; color:var(--text-secondary); }
    .price-old { font-family:var(--font-sans); font-size:0.76rem; color:var(--text-muted); text-decoration:line-through; text-decoration-thickness:1px; }
    .deal-badge {
      position:absolute; top:12px; left:12px; z-index:3;
      font-family:var(--font-sans); font-size:0.62rem; font-weight:700;
      letter-spacing:1.4px; text-transform:uppercase;
      color:#fff; background:rgba(154,74,64,0.92);
      padding:7px 10px; border-radius:999px;
      box-shadow:0 6px 18px rgba(80,45,34,0.18);
    }
    .placeholder-frame {
      min-width:100%; height:100%; display:flex; align-items:center; justify-content:center;
      background:linear-gradient(135deg, #f4eee5 0%, #e8d8c4 100%);
      color:rgba(91,72,54,0.55); font-family:var(--font-serif); font-size:1.1rem;
    }
    .price-divider { color:var(--border-medium); font-size:0.7rem; }
    .bouquet-meta { display:flex; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--border-light); flex-wrap:wrap; }
    .meta-item { font-family:var(--font-sans); font-size:0.76rem; font-weight:500; letter-spacing:0.3px; color:var(--text-secondary); display:flex; align-items:center; gap:6px; }
    .meta-dot { width:5px; height:5px; border-radius:50%; background:var(--accent-rose); }
    .collection-group { max-width:100%; margin-bottom:64px; }
    .collection-group:last-child { margin-bottom:0; }
    .collection-group-title {
      max-width:1280px; margin:0 auto 24px; padding:0 24px;
      font-family:var(--font-serif); font-size:clamp(1.55rem, 3vw, 2.1rem);
      font-weight:400; color:var(--text-primary); text-align:center;
    }
    .variant-switcher {
      display:flex; gap:6px;
      margin:14px 0 4px; padding:4px;
      background:var(--bg-secondary); border:1px solid var(--border-light);
      border-radius:var(--radius-sm);
    }
    .variant-btn {
      flex:1 1 0; min-width:0;
      border:0; border-radius:6px; padding:8px 4px;
      font-family:var(--font-sans); font-size:0.74rem; font-weight:500;
      letter-spacing:0.6px; text-transform:uppercase;
      color:var(--text-secondary); background:transparent; cursor:pointer;
      transition:background 0.25s ease, color 0.25s ease;
    }
    .variant-btn.active { background:var(--bg-card); color:var(--text-primary); box-shadow:0 1px 8px rgba(44,40,37,0.06); }
    .variant-btn:hover { color:var(--text-primary); }
    .mix-flowers {
      margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--border-light);
      list-style:none; display:flex; flex-direction:column; gap:5px;
    }
    .bouquet-card .mix-flowers,
    .mobile-card .mix-flowers { display:none; }
    .mix-flowers li {
      font-family:var(--font-sans); font-size:0.78rem; font-weight:300;
      color:var(--text-secondary); line-height:1.35;
    }

    /* Buy button */
    .buy-btn {
      display:block; width:100%; margin-top:12px;
      font-family:var(--font-sans); font-size:0.8rem; font-weight:600;
      letter-spacing:2px; text-transform:uppercase;
      color:var(--text-primary); background:var(--bg-warm);
      padding:12px 0; border:1px solid var(--border-light);
      border-radius:var(--radius-sm); cursor:pointer;
      transition:all 0.35s ease; text-align:center;
    }
    .buy-btn:hover { background:var(--accent-gold); color:#fff; border-color:var(--accent-gold); }

    /* Scroll arrows */
    .scroll-arrow {
      position:absolute; top:50%; transform:translateY(-50%);
      width:40px; height:40px; border-radius:50%;
      background:rgba(247,243,237,0.7); backdrop-filter:blur(8px);
      border:1px solid var(--border-light);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; z-index:10; font-size:1rem; color:var(--text-secondary);
      transition:all 0.3s ease; opacity:0.7;
    }
    .scroll-arrow:hover { opacity:1; background:rgba(247,243,237,0.95); }
    .scroll-arrow.prev { left:8px; }
    .scroll-arrow.next { right:8px; }

    /* ===== CART DRAWER ===== */
    .cart-overlay {
      position:fixed; inset:0; background:rgba(42,38,35,0.4);
      z-index:2000; opacity:0; pointer-events:none;
      transition:opacity 0.4s ease;
    }
    .cart-overlay.open { opacity:1; pointer-events:all; }
    .cart-drawer {
      position:fixed; top:0; right:0; bottom:0;
      width:100%; max-width:420px;
      background:var(--bg-primary);
      z-index:2001;
      transform:translateX(100%);
      transition:transform 0.45s var(--transition-smooth);
      display:flex; flex-direction:column;
    }
    .cart-drawer.open { transform:translateX(0); }
    .cart-drawer-header {
      display:flex; align-items:center; justify-content:space-between;
      padding:24px 28px; border-bottom:1px solid var(--border-light);
    }
    .cart-drawer-header h3 {
      font-family:var(--font-serif); font-size:1.4rem; font-weight:400; color:var(--text-primary);
    }
    .cart-close {
      width:36px; height:36px; border-radius:50%;
      background:var(--bg-secondary); border:1px solid var(--border-light);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; font-size:1rem; color:var(--text-secondary);
      transition:all 0.3s ease;
    }
    .cart-close:hover { background:var(--accent-gold); color:#fff; border-color:var(--accent-gold); }
    .cart-drawer-body { flex:1; overflow-y:auto; padding:24px 28px; }
    .cart-empty {
      text-align:center; padding:60px 20px;
      font-family:var(--font-sans); font-size:0.9rem; font-weight:300;
      color:var(--text-muted);
    }
    .cart-item {
      display:grid; grid-template-columns:64px 1fr auto; gap:16px; align-items:center;
      padding:16px 0; border-bottom:1px solid var(--border-light);
    }
    .cart-item-img { width:64px; height:80px; border-radius:var(--radius-sm); object-fit:cover; flex-shrink:0; }
    .cart-item-info { flex:1; }
    .cart-item-name { font-family:var(--font-serif); font-size:1rem; font-weight:500; color:var(--text-primary); margin-bottom:4px; }
    .cart-item-price { font-family:var(--font-sans); font-size:0.86rem; font-weight:400; color:var(--text-secondary); line-height:1.5; }
    .cart-item-qty { display:flex; align-items:center; gap:10px; margin-top:8px; }
    .qty-btn {
      width:32px; height:32px; border-radius:50%;
      background:var(--bg-secondary); border:1px solid var(--border-light);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; font-size:0.9rem; color:var(--text-secondary);
      transition:all 0.2s ease;
    }
    .qty-btn:hover { background:var(--accent-gold); color:#fff; border-color:var(--accent-gold); }
    .qty-val { font-family:var(--font-sans); font-size:0.95rem; font-weight:500; color:var(--text-primary); min-width:16px; text-align:center; }
    .cart-item-remove {
      font-family:var(--font-sans); font-size:0.76rem; font-weight:500;
      letter-spacing:1px; text-transform:uppercase;
      color:var(--text-muted); background:none; border:none;
      cursor:pointer; padding:4px; transition:color 0.2s ease;
    }
    .cart-item-remove:hover { color:var(--accent-rose); }
    .cart-drawer-footer {
      padding:24px 28px; border-top:1px solid var(--border-light);
      background:var(--bg-secondary);
    }
    .is-hidden { display:none; }
    .cart-total { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
    .cart-total-label { font-family:var(--font-sans); font-size:0.9rem; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:var(--text-secondary); }
    .cart-total-value { font-family:var(--font-sans); font-size:1rem; font-weight:400; color:var(--text-primary); text-align:right; line-height:1.5; }
    .cart-checkout {
      display:block; width:100%;
      font-family:var(--font-sans); font-size:0.9rem; font-weight:600;
      letter-spacing:2px; text-transform:uppercase;
      color:#fff; background:var(--text-primary);
      padding:16px; border:none; border-radius:50px;
      cursor:pointer; transition:all 0.4s ease; text-align:center;
    }
    .cart-checkout:hover { background:var(--accent-gold); }

    /* ===== CONSULTANT ===== */
    .consultant { background:var(--bg-secondary); border-radius:var(--radius); padding:80px 48px; }
    .consultant-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
    .consultant-img-wrap { position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-medium); }
    .consultant-img { width:100%; aspect-ratio:4/5; object-fit:cover; }
    .consultant-badge { position:absolute; bottom:24px; left:24px; background:rgba(247,243,237,0.92); backdrop-filter:blur(16px); border:1px solid var(--glass-border); border-radius:var(--radius-sm); padding:12px 20px; }
    .consultant-badge-text { font-family:var(--font-sans); font-size:0.7rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--accent-gold); }
    .consultant-content .section-header { text-align:left; margin-bottom:36px; }
    .service-list { list-style:none; display:flex; flex-direction:column; gap:28px; }
    .service-item { position:relative; padding-left:20px; }
    .service-item::before { content:'\2022'; position:absolute; left:0; top:-2px; font-size:1.4rem; color:var(--accent-gold); line-height:1; }
    .service-item h4 { font-family:var(--font-serif); font-size:1.15rem; font-weight:500; color:var(--text-primary); margin-bottom:6px; }
    .service-item p { font-family:var(--font-sans); font-size:0.85rem; font-weight:300; color:var(--text-secondary); line-height:1.65; }
    .consultant-cta-row { display:flex; gap:14px; margin-top:36px; flex-wrap:wrap; }
    .consultant-cta {
      display:inline-flex; align-items:center; gap:8px;
      font-family:var(--font-sans); font-size:0.75rem; font-weight:600;
      letter-spacing:2px; text-transform:uppercase;
      color:var(--text-primary); background:var(--bg-warm);
      padding:14px 28px; border-radius:50px;
      text-decoration:none; border:1px solid var(--border-light);
      transition:all 0.4s ease;
    }
    .consultant-cta:hover, .consultant-cta:active { color:#fff; transform:translateY(-2px); }
    .consultant-cta--whatsapp:hover, .consultant-cta--whatsapp:active { background:#176f49; border-color:#176f49; box-shadow:0 8px 28px rgba(23,111,73,0.24); }
    .consultant-cta--telegram:hover, .consultant-cta--telegram:active { background:#1b6f96; border-color:#1b6f96; box-shadow:0 8px 28px rgba(27,111,150,0.24); }
    .consultant-cta--max:hover, .consultant-cta--max:active { background:#51307d; border-color:#51307d; box-shadow:0 8px 28px rgba(81,48,125,0.24); }

    /* ===== FOOTER ===== */
    .footer { background:var(--text-primary); padding:80px 24px 32px; }
    .footer-inner { max-width:1280px; margin:0 auto; }
    .footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
    .footer-brand .logo { color:var(--color-ivory); margin-bottom:16px; display:inline-block; }
    .footer-brand p { font-family:var(--font-sans); font-size:0.85rem; font-weight:300; color:var(--text-muted); line-height:1.7; max-width:280px; }
    .footer-col h4 { font-family:var(--font-sans); font-size:0.7rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--accent-gold); margin-bottom:20px; }
    .footer-col ul { list-style:none; }
    .footer-col li { margin-bottom:10px; }
    .footer-col a { font-family:var(--font-sans); font-size:0.8rem; font-weight:300; color:var(--text-muted); text-decoration:none; transition:color 0.3s ease; }
    .footer-col a:hover { color:var(--color-ivory); }
    .footer-contact-item { display:flex; align-items:center; gap:10px; font-family:var(--font-sans); font-size:0.8rem; font-weight:300; color:var(--text-muted); margin-bottom:12px; }
    .footer-social { display:flex; gap:12px; margin-top:20px; }
    .social-btn { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:var(--text-muted); text-decoration:none; font-size:0.85rem; transition:all 0.3s ease; }
    .social-btn--wide { width:auto; min-width:58px; border-radius:999px; padding:0 14px; font-family:var(--font-sans); font-size:0.68rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
    .social-btn:hover { background:var(--accent-gold); border-color:var(--accent-gold); color:#fff; }
    .footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:24px; display:flex; justify-content:space-between; align-items:center; }
    .footer-copy { font-family:var(--font-sans); font-size:0.7rem; font-weight:300; color:var(--text-muted); letter-spacing:0.5px; }
    .footer-legal { display:flex; gap:24px; }
    .footer-legal a { font-family:var(--font-sans); font-size:0.7rem; font-weight:300; color:var(--text-muted); text-decoration:none; transition:color 0.3s ease; }
    .footer-legal a:hover { color:var(--color-ivory); }

    /* Payment methods */
    .payment-methods {
      border-top:1px solid rgba(255,255,255,0.04);
      padding:20px 0;
      margin-top:0;
    }
    .payment-methods-inner {
      display:flex; align-items:center; justify-content:center; gap:24px;
      flex-wrap:wrap;
    }
    .payment-methods-label {
      font-family:var(--font-sans); font-size:0.6rem; font-weight:500;
      letter-spacing:2px; text-transform:uppercase;
      color:rgba(245,240,232,0.25);
    }
    .payment-method {
      font-family:var(--font-sans); font-size:0.65rem; font-weight:300;
      color:rgba(245,240,232,0.3);
      display:flex; align-items:center; gap:6px;
    }
    .payment-dot {
      width:3px; height:3px; border-radius:50%;
      background:rgba(201,169,110,0.3);
    }

    /* ===== BOUQUET MODAL ===== */
    .bouquet-modal {
      position:fixed; inset:0; z-index:3000;
      display:flex; align-items:flex-end; justify-content:center;
      opacity:0; pointer-events:none;
      transition:opacity 0.4s ease;
    }
    .bouquet-modal.open { opacity:1; pointer-events:all; }
    .bouquet-modal-overlay {
      position:absolute; inset:0; background:rgba(42,38,35,0.5);
    }
    .bouquet-modal-content {
      position:relative; width:100%; max-width:480px; max-height:92vh;
      background:var(--bg-primary); border-radius:var(--radius) var(--radius) 0 0;
      overflow-y:auto; overflow-x:hidden;
      transform:translateY(100%);
      transition:transform 0.45s var(--transition-smooth);
    }
    .bouquet-modal.open .bouquet-modal-content { transform:translateY(0); }
    .bouquet-modal-close {
      position:absolute; top:16px; right:16px; z-index:10;
      width:36px; height:36px; border-radius:50%;
      background:rgba(247,243,237,0.9); backdrop-filter:blur(8px);
      border:1px solid var(--border-light);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; font-size:0.9rem; color:var(--text-secondary);
      transition:all 0.3s ease;
    }
    .bouquet-modal-close:hover { background:var(--accent-gold); color:#fff; border-color:var(--accent-gold); }
    .modal-gallery { position:relative; overflow:hidden; aspect-ratio:3/4; }
    .modal-gallery-track { display:flex; transition:transform 0.4s var(--transition-smooth); height:100%; }
    .modal-gallery-img { min-width:100%; height:100%; object-fit:cover; }
    .modal-gallery-nav {
      position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between;
      padding:0 12px; pointer-events:none;
    }
    .modal-gallery-arrow {
      width:36px; height:36px; border-radius:50%;
      background:rgba(247,243,237,0.85); backdrop-filter:blur(8px);
      border:1px solid var(--border-light);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; pointer-events:auto;
      font-size:0.9rem; color:var(--text-secondary);
      transition:all 0.3s ease;
    }
    .modal-gallery-arrow:hover { background:var(--accent-gold); color:#fff; }
    .modal-gallery-counter {
      position:absolute; top:16px; left:50%; transform:translateX(-50%);
      font-family:var(--font-sans); font-size:0.75rem; font-weight:500;
      letter-spacing:2px; text-transform:uppercase;
      color:rgba(245,240,232,0.85); background:rgba(42,38,35,0.4);
      padding:4px 12px; border-radius:20px; z-index:5;
    }
    .modal-gallery-dots {
      position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
      display:flex; gap:6px; z-index:5;
    }
    .modal-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.4); transition:all 0.3s ease; }
    .modal-dot.active { background:rgba(255,255,255,0.95); width:18px; border-radius:3px; }
    .bouquet-modal-body { padding:28px 24px 40px; }
    .modal-name { font-family:var(--font-serif); font-size:clamp(1.45rem, 4.8vw, 1.85rem); font-weight:500; color:var(--text-primary); margin-bottom:8px; line-height:1.16; }
    .modal-desc { font-family:var(--font-sans); font-size:0.95rem; font-weight:300; color:var(--text-secondary); line-height:1.6; margin-bottom:16px; }
    .modal-price-row { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
    .modal-inside { margin-bottom:24px; }
    .modal-inside-title { font-family:var(--font-serif); font-size:1.1rem; font-weight:500; color:var(--text-primary); margin-bottom:12px; }
    .modal-inside-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .modal-inside-list li {
      display:flex; align-items:center; gap:10px;
      font-family:var(--font-sans); font-size:0.94rem; font-weight:300;
      color:var(--text-secondary); padding:8px 0;
      border-bottom:1px solid var(--border-light);
    }
    .modal-inside-list li:last-child { border-bottom:none; }
    .modal-inside-list .check { color:var(--accent-gold); font-size:0.9rem; }
    .modal-delivery-item { color:var(--text-primary); }
    .modal-delivery-icon {
      width:30px; height:30px; flex:0 0 30px;
      display:inline-flex; align-items:center; justify-content:center;
      color:var(--accent-gold);
      background:rgba(201,169,110,0.12);
      border:1px solid rgba(201,169,110,0.28);
      border-radius:50%;
    }
    .modal-delivery-icon svg { width:20px; height:20px; display:block; }
    .buy-btn.modal-buy {
      position:sticky; bottom:0; z-index:6;
      margin-top:0; box-shadow:0 -10px 24px rgba(247,243,237,0.92);
    }

    /* ===== RESPONSIVE ===== */
    /* ===== MOBILE COLLECTION SLIDER ===== */
    .collection-mobile-shell { display:none; position:relative; overflow:visible; }
    .collection-mobile-slider {
      display:none; position:relative;
      overflow-x:auto; overflow-y:visible;
      scroll-snap-type:x mandatory;
      scroll-behavior:smooth;
      overscroll-behavior-x:contain;
      scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
    }
    .collection-mobile-slider::-webkit-scrollbar { display:none; }
    .collection-mobile-track { display:flex; gap:14px; align-items:stretch; }
    .mobile-card {
      flex:0 0 78vw;
      scroll-snap-align:center;
      scroll-snap-stop:always;
      background:var(--bg-card); border-radius:var(--radius); overflow:hidden;
      box-shadow:var(--shadow-soft); border:1px solid var(--border-light);
      opacity:0.72;
      transition:opacity 0.45s var(--transition-smooth), box-shadow 0.45s var(--transition-smooth);
      cursor:pointer;
    }
    .mobile-card.active { opacity:1; box-shadow:var(--shadow-medium); }
    /* Photo zone — changes image on click */
    .mobile-card .card-slider { pointer-events:auto; }
    .mobile-card .card-slider { touch-action:pan-x pan-y; }
    /* Text zone — opens modal */
    .mobile-card .bouquet-info { pointer-events:auto; }
    .mobile-arrow {
      position:absolute; top:40%; transform:translateY(-50%);
      width:36px; height:36px; border-radius:50%;
      background:rgba(247,243,237,0.9); backdrop-filter:blur(8px);
      border:1px solid var(--border-light);
      display:none; align-items:center; justify-content:center;
      cursor:pointer; z-index:10; font-size:0.9rem; color:var(--text-secondary);
      transition:all 0.3s ease;
      box-shadow:0 2px 12px rgba(0,0,0,0.1);
    }
    .mobile-arrow.visible { display:flex; }
    .mobile-arrow:hover, .mobile-arrow:active { background:var(--accent-gold); color:#fff; border-color:var(--accent-gold); }
    .mobile-arrow.prev { left:2px; }
    .mobile-arrow.next { right:2px; }
    .swipe-hint {
      display:none; text-align:center; margin-top:24px;
      font-family:var(--font-sans); font-size:0.72rem; font-weight:400;
      letter-spacing:3px; text-transform:uppercase;
      color:var(--text-muted);
      animation:swipeHintPulse 2.5s ease-in-out infinite;
    }
    .swipe-hint.visible { display:block; }
    @keyframes swipeHintPulse { 0%,100%{opacity:0.25} 50%{opacity:0.55} }

    @media (max-width:768px) {
      .nav-links { display:none; }
      .mobile-menu-btn { display:flex; }
      .header { padding:18px 0; }
      .header-inner { padding:0 24px; }
      .logo { font-size:1.28rem; letter-spacing:3.2px; }
      .header--hero .cart-trigger {
        background:rgba(34,28,23,0.22);
        border-color:rgba(255,255,255,0.32);
      }
      .hero { min-height:100svh; height:100svh; }
      .hero__bg {
        background-image:url('../images/hero-flowers.jpg');
        filter:brightness(1.04) saturate(1.02);
      }
      .hero__overlay--top { background:linear-gradient(180deg, rgba(24,19,16,0.48) 0%, rgba(24,19,16,0.16) 36%, transparent 62%); }
      .hero__overlay--bottom { background:linear-gradient(180deg, rgba(26,22,18,0.02) 0%, rgba(26,22,18,0.28) 45%, rgba(26,22,18,0.68) 100%); }
      .hero__content::before {
        display:block;
        bottom:24px;
        height:230px;
        background:radial-gradient(ellipse at center, rgba(42,28,18,0.42) 0%, rgba(42,28,18,0.24) 48%, transparent 74%);
      }
      .hero__content { padding:0 22px 56px; }
      .hero__headline {
        font-size:clamp(2.45rem, 11vw, 3.65rem);
        letter-spacing:0;
        color:#fff0cf;
        text-shadow:0 4px 24px rgba(36,26,18,0.62), 0 1px 2px rgba(36,26,18,0.76);
      }
      .hero__subtitle {
        font-size:clamp(0.84rem, 3.2vw, 1rem);
        letter-spacing:2.2px;
        color:rgba(255,247,230,0.98);
        text-shadow:0 3px 16px rgba(36,26,18,0.58), 0 1px 2px rgba(36,26,18,0.72);
      }
      .section { padding:60px 20px; }
      .section { scroll-margin-top:78px; }
      .collection-group { margin-bottom:52px; }
      .collection-group-title { padding:0 20px; margin-bottom:20px; }
      .bouquet-info { padding:22px 20px 20px; }
      .bouquet-name { font-size:1.42rem; line-height:1.18; }
      .bouquet-desc { font-size:0.96rem; color:var(--text-secondary); }
      .price-primary { font-size:1.45rem; }
      .price-secondary { font-size:0.9rem; }
      .price-divider { font-size:0.9rem; }
      .buy-btn { min-height:48px; }
      .collection-scroll .bouquet-card { flex:0 0 calc(100vw - 48px); }
      .scroll-arrow { display:flex; opacity:0.85; width:36px; height:36px; font-size:0.9rem; }
      .how-shell { margin:0 -20px; overflow:visible; }
      .how-grid {
        display:flex; gap:14px; overflow-x:auto; overflow-y:visible;
        scroll-snap-type:x mandatory; scroll-behavior:smooth;
        overscroll-behavior-x:contain; scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        padding:4px calc((100vw - 74vw) / 2) 20px;
      }
      .how-grid::-webkit-scrollbar { display:none; }
      .how-card {
        flex:0 0 74vw; min-height:210px;
        scroll-snap-align:center; scroll-snap-stop:always;
        padding:24px 18px; opacity:0.74;
        transition:opacity 0.45s var(--transition-smooth), box-shadow 0.45s var(--transition-smooth);
        display:flex; flex-direction:column; justify-content:center;
      }
      .how-card.active { opacity:1; box-shadow:var(--shadow-medium); }
      .how-card:hover { transform:none; }
      .how-step { font-size:2.05rem; margin-bottom:10px; }
      .how-title { font-size:1.08rem; }
      .how-desc { font-size:0.75rem; line-height:1.52; }
      .process-arrow.visible { display:flex; }
      .consultant { padding:48px 24px; }
      .consultant-grid { grid-template-columns:1fr; gap:40px; }
      .consultant-img-wrap { order:-1; }
      .footer-top { grid-template-columns:1fr; gap:40px; }
      .footer-bottom { flex-direction:column; gap:16px; text-align:center; }
      .cart-drawer { max-width:100%; }
      .cart-drawer-header { padding:28px 28px 22px; }
      .cart-close { width:48px; height:48px; font-size:1.25rem; }
      .cart-drawer-body { padding:24px 28px 18px; }
      .cart-item { grid-template-columns:72px 1fr; gap:16px; align-items:start; }
      .cart-item-img { width:72px; height:88px; }
      .cart-item-remove { grid-column:2; justify-self:start; padding:8px 0; }
      .cart-drawer-footer { padding:22px 28px 28px; }
      .cart-checkout { min-height:56px; }
      .modal-gallery-counter { font-size:0.76rem; }
      .bouquet-modal-body { padding:26px 24px 28px; }
      .modal-price-row { gap:9px; margin-bottom:20px; }
      .scroll-arrow { display:none; }
      /* Desktop collection hidden, mobile slider shown */
      .collection-scroll-wrapper { display:none; }
      .collection-mobile-shell { display:block; }
      .collection-mobile-slider { display:block; padding:0 calc((100vw - 78vw) / 2); }
      .swipe-hint.visible { display:block; }
    }
    @media (min-width:769px) and (max-width:1024px) {
      .collection-scroll .bouquet-card { flex:0 0 300px; }
      .how-grid { grid-template-columns:repeat(2, 1fr); }
      .consultant-grid { grid-template-columns:1fr; gap:40px; }
      .consultant-img-wrap { order:-1; max-width:500px; margin:0 auto; width:100%; }
      .footer-top { grid-template-columns:1fr 1fr; }
    }
    @media (min-width:768px) {
      .hero { align-items:center; }
      .hero__content { padding:0 40px; margin-top:-2vh; }
      .hero__cta { padding:20px 48px; font-size:0.85rem; letter-spacing:3px; }
      .hero__scroll { bottom:30px; }
      .hero__scroll-line { height:34px; }
    }
    @media (min-width:1200px) {
      .hero__content { max-width:820px; }
      .hero__headline { font-size:6.5rem; }
    }
