    :root {
      --cream: #fff8ef;
      --ivory: #fffdf8;
      --beige: #eadcc8;
      --tea: #d9a7a2;
      --tea-dark: #b77d78;
      --gold: #c9a15b;
      --gold-soft: #ead8af;
      --brown: #7a5a43;
      --choco: #4a3529;
      --blue: #d9ebf5;
      --text: #392b24;
      --muted: #7d6b5f;
      --white: #ffffff;
      --shadow: 0 24px 70px rgba(var(--shadow-rgb), .13);
      --shadow-soft: 0 16px 40px rgba(var(--shadow-rgb), .08);
      --radius-xl: 32px;
      --radius-lg: 24px;
      --radius-md: 16px;
      --max: 1180px;
      --gold-rgb: 201,161,91;
      --tea-rgb: 217,167,162;
      --blue-rgb: 217,235,245;
      --choco-rgb: 74,53,41;
      --nav-text-rgb: 57,43,36;
      --dark-overlay-rgb: 45,30,21;
      --shadow-rgb: 88,58,37;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', sans-serif;
      color: var(--text);
      background: radial-gradient(circle at 10% 10%, rgba(var(--tea-rgb),.22), transparent 32%), radial-gradient(circle at 90% 0%, rgba(var(--blue-rgb),.5), transparent 34%), var(--cream);
      line-height: 1.7;
      overflow-x: hidden;
    }
    body.menu-open { overflow: hidden; }

    body[data-theme="claro-premium"] {
      color-scheme: light;
    }

    body[data-theme="azul-premium"] {
      color-scheme: light;
      --cream: #eef7ff;
      --ivory: #f9fcff;
      --beige: #d8e9f8;
      --tea: #8abfe5;
      --tea-dark: #2f78b7;
      --gold: #1f75bc;
      --gold-soft: #cde8fb;
      --brown: #315d82;
      --choco: #173a59;
      --blue: #d7ecfb;
      --text: #1d3448;
      --muted: #5b758d;
      --white: #ffffff;
      --shadow: 0 24px 70px rgba(23, 58, 89, .14);
      --shadow-soft: 0 16px 40px rgba(23, 58, 89, .09);
      --gold-rgb: 31,117,188;
      --tea-rgb: 138,191,229;
      --blue-rgb: 215,236,251;
      --choco-rgb: 23,58,89;
      --nav-text-rgb: 29,52,72;
      --dark-overlay-rgb: 17,42,65;
      --shadow-rgb: 23,58,89;
    }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }
    button, input, textarea, select { font: inherit; }

    .container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
    .section { padding: 110px 0; position: relative; }
    .eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 9px 14px; border: 1px solid rgba(var(--gold-rgb),.34);
      border-radius: 999px; color: var(--brown); background: rgba(255,255,255,.48);
      backdrop-filter: blur(14px); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
    }
    .eyebrow::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(var(--gold-rgb),.14); }
    .section-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.3rem, 5vw, 4.4rem);
      line-height: 1.03; letter-spacing: -.04em; color: var(--choco); margin-top: 18px;
    }
    .section-lead { max-width: 720px; margin-top: 20px; color: var(--muted); font-size: 1.08rem; }
    .btn {
      border: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
      padding: 15px 22px; border-radius: 999px; font-weight: 800; transition: transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease;
    }
    .btn:hover { transform: translateY(-3px); }
    .btn-primary { color: #fff; background: linear-gradient(135deg, var(--choco), var(--tea-dark)); box-shadow: 0 16px 36px rgba(var(--choco-rgb),.22); }
    .btn-primary:hover { box-shadow: 0 22px 46px rgba(var(--choco-rgb),.28); }
    .btn-ghost { color: var(--choco); background: rgba(255,255,255,.7); border: 1px solid rgba(var(--gold-rgb),.35); backdrop-filter: blur(14px); }

    .navbar {
      position: fixed; inset: 18px 0 auto 0; z-index: 1000; transition: all .32s ease;
    }
    .nav-shell {
      width: min(1230px, calc(100% - 34px)); margin: 0 auto; min-height: 74px;
      border: 1px solid rgba(255,255,255,.46); border-radius: 999px;
      background: rgba(255,255,255,.38); backdrop-filter: blur(24px); box-shadow: 0 18px 50px rgba(72,47,31,.08);
      display: flex; align-items: center; justify-content: space-between; padding: 10px 13px 10px 24px;
    }
    .navbar.scrolled { inset-top: 10px; }
    .navbar.scrolled .nav-shell { background: rgba(255,253,248,.84); box-shadow: 0 16px 48px rgba(72,47,31,.14); }
    .brand { display: flex; align-items: center; gap: 12px; font-weight: 900; color: var(--choco); }
    .brand-mark {
      width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
      background: linear-gradient(135deg, #fff, var(--gold-soft)); color: var(--tea-dark); box-shadow: inset 0 0 0 1px rgba(var(--gold-rgb),.24);
      font-family: 'Playfair Display', serif; font-size: 1.45rem;
    }
    .brand small { display: block; font-weight: 600; color: var(--muted); font-size: .72rem; margin-top: -4px; letter-spacing: .12em; text-transform: uppercase; }

    .theme-switcher {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 6px 8px 6px 14px; border-radius: 999px;
      background: rgba(255,255,255,.62); border: 1px solid rgba(var(--gold-rgb),.24);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
      color: var(--choco); white-space: nowrap;
    }
    .theme-switcher label { font-size: .86rem; font-weight: 900; letter-spacing: -.01em; }
    .theme-switcher select {
      min-width: 150px; border: 0; outline: 0; cursor: pointer; appearance: auto;
      border-radius: 999px; padding: 9px 12px; color: var(--choco); font-weight: 800;
      background: rgba(255,255,255,.78);
      box-shadow: 0 8px 22px rgba(var(--shadow-rgb),.08), inset 0 0 0 1px rgba(var(--gold-rgb),.18);
    }
    .theme-switcher select:focus { box-shadow: 0 0 0 4px rgba(var(--gold-rgb),.16), inset 0 0 0 1px rgba(var(--gold-rgb),.34); }
    .nav-links { display: flex; align-items: center; gap: 24px; font-size: .92rem; font-weight: 700; color: rgba(var(--nav-text-rgb),.8); }
    .nav-links a { position: relative; }
    .nav-links a::after { content: ''; position: absolute; left: 0; bottom: -8px; width: 0; height: 2px; border-radius: 2px; background: var(--gold); transition: width .26s ease; }
    .nav-links a:hover::after { width: 100%; }
    .nav-actions { display: flex; align-items: center; gap: 10px; }
    .menu-btn { display: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(var(--gold-rgb),.28); background: rgba(255,255,255,.62); color: var(--choco); cursor: pointer; }

    .hero {
      min-height: 100vh; display: grid; align-items: center; position: relative; overflow: hidden; padding: 150px 0 80px;
    }
    .hero-bg { position: absolute; inset: 0; background: url('../images/hero_doceria.jpeg') center/cover no-repeat; transform: scale(1.05); will-change: transform; }
    .hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--dark-overlay-rgb),.70) 0%, rgba(var(--choco-rgb),.44) 44%, rgba(255,248,239,.08) 100%); z-index: 1; }
    .hero::after { content: ''; position: absolute; inset: auto 0 0 0; height: 160px; background: linear-gradient(to top, var(--cream), transparent); z-index: 2; }
    .hero-content { position: relative; z-index: 3; color: #fff; max-width: 760px; animation: fadeUp .9s ease both .2s; }
    .hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(3rem, 7vw, 6.7rem); line-height: .95; letter-spacing: -.06em; margin: 24px 0; }
    .hero p { font-size: clamp(1.05rem, 2vw, 1.35rem); color: rgba(255,255,255,.84); max-width: 650px; }
    .hero .eyebrow { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.26); }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
    .hero .btn-primary { background: linear-gradient(135deg, #d5a948, #a97839); color:#fff; border-color: rgba(255,255,255,.42); box-shadow: 0 18px 45px rgba(66,43,22,.34), inset 0 1px 0 rgba(255,255,255,.28); }
    .hero .btn-primary:hover { background: linear-gradient(135deg, #e0b95b, #b6813f); box-shadow: 0 24px 58px rgba(66,43,22,.42); }
    .hero .btn-ghost { color: #fff; background: rgba(59,39,29,.38); border-color: rgba(255,255,255,.58); box-shadow: 0 14px 36px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.18); }
    .hero .btn-ghost:hover { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.78); }
    .hero-points { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
    .hero-point { padding: 12px 14px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(var(--dark-overlay-rgb),.28); backdrop-filter: blur(18px); color: rgba(255,255,255,.94); font-size: .9rem; box-shadow: 0 10px 24px rgba(0,0,0,.12); }

    .about-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 58px; align-items: center; }
    .about-image { position: relative; min-height: 620px; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow); }
    .about-image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
    .floating-card { position: absolute; right: 24px; bottom: 24px; width: min(310px, calc(100% - 48px)); padding: 22px; border-radius: 24px; background: rgba(255,255,255,.72); backdrop-filter: blur(20px); box-shadow: var(--shadow-soft); border: 1px solid rgba(255,255,255,.6); }
    .floating-card strong { font-family: 'Playfair Display', serif; font-size: 1.7rem; color: var(--choco); }
    .values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 34px; }
    .mini-card { padding: 22px; border-radius: 24px; background: rgba(255,255,255,.56); border: 1px solid rgba(var(--gold-rgb),.16); box-shadow: var(--shadow-soft); transition: transform .28s ease; }
    .mini-card:hover { transform: translateY(-6px); }
    .mini-card i { color: var(--gold); font-size: 1.35rem; margin-bottom: 14px; }
    .mini-card h3 { font-family: 'Playfair Display', serif; color: var(--choco); font-size: 1.35rem; margin-bottom: 8px; }
    .mini-card p { color: var(--muted); font-size: .92rem; }

    .section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
    .products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .product-card { position: relative; overflow: hidden; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-soft); border: 1px solid rgba(var(--gold-rgb),.14); transition: transform .32s ease, box-shadow .32s ease; }
    .product-card:hover { transform: translateY(-10px); box-shadow: var(--shadow); }
    .product-media { height: 310px; overflow: hidden; position: relative; }
    .product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
    .product-card:hover .product-media img { transform: scale(1.08); }
    .tag { position: absolute; top: 18px; left: 18px; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.78); color: var(--brown); font-size: .73rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(14px); }
    .product-body { padding: 24px; }
    .product-body h3 { font-family: 'Playfair Display', serif; font-size: 1.55rem; color: var(--choco); }
    .product-body p { color: var(--muted); margin: 10px 0 18px; font-size: .95rem; }
    .price-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .price { color: var(--tea-dark); font-weight: 900; }
    .small-link { color: var(--choco); font-weight: 900; font-size: .9rem; display: inline-flex; align-items: center; gap: 8px; }

    .editorial { background: linear-gradient(135deg, rgba(255,255,255,.52), rgba(234,216,175,.18)); }
    .editorial-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 42px; align-items: stretch; }
    .editorial-copy { padding: 50px; border-radius: var(--radius-xl); background: rgba(255,255,255,.58); border: 1px solid rgba(var(--gold-rgb),.18); box-shadow: var(--shadow-soft); position: relative; overflow: hidden; height: 100%; display: flex; flex-direction: column; justify-content: center; }
    .editorial-copy::after { content: ''; position: absolute; width: 220px; height: 220px; border: 1px solid rgba(var(--gold-rgb),.28); border-radius: 50%; right: -80px; top: -70px; }
    .editorial-image { min-height: 620px; height: 100%; border-radius: 42px; overflow: hidden; position: relative; box-shadow: var(--shadow); }
    .editorial-image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
    .overlay-note { position: absolute; left: 24px; bottom: 24px; max-width: 350px; padding: 22px; border-radius: 24px; background: rgba(255,255,255,.74); backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,.55); box-shadow: var(--shadow-soft); }

    .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .feature-card, .occasion-card { padding: 28px; border-radius: var(--radius-lg); background: rgba(255,255,255,.62); border: 1px solid rgba(var(--gold-rgb),.14); box-shadow: var(--shadow-soft); transition: transform .28s ease, background .28s ease; }
    .feature-card { min-height: 100%; display: flex; flex-direction: column; justify-content: flex-start; }
    .feature-card:hover, .occasion-card:hover { transform: translateY(-7px); background: rgba(255,255,255,.84); }
    .icon-box { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(var(--tea-rgb),.34), rgba(234,216,175,.46)); color: var(--choco); margin-bottom: 18px; box-shadow: 0 12px 26px rgba(var(--shadow-rgb),.08); }
    .icon-box svg { width: 25px; height: 25px; stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; display: block; }
    .feature-card h3, .occasion-card h3 { font-family: 'Playfair Display', serif; color: var(--choco); font-size: 1.35rem; margin-bottom: 8px; }
    .feature-card p, .occasion-card p { color: var(--muted); font-size: .95rem; }

    .occasions { background: linear-gradient(180deg, rgba(var(--blue-rgb),.26), rgba(255,248,239,0)); }
    .occasions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

    .gallery-grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 220px; gap: 16px; }
    .gallery-item { position: relative; overflow: hidden; border-radius: 26px; box-shadow: var(--shadow-soft); }
    .gallery-item:nth-child(1), .gallery-item:nth-child(6) { grid-column: span 2; grid-row: span 2; }
    .gallery-item:nth-child(2), .gallery-item:nth-child(3), .gallery-item:nth-child(4), .gallery-item:nth-child(5) { grid-column: span 2; }
    .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s ease; }
    .gallery-overlay { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; background: linear-gradient(180deg, rgba(var(--choco-rgb),.08), rgba(var(--choco-rgb),.58)); transition: opacity .32s ease; color: #fff; text-align: center; font-weight: 800; }
    .gallery-overlay i { font-size: 1.6rem; display: block; margin-bottom: 10px; }
    .gallery-item:hover img { transform: scale(1.08); }
    .gallery-item:hover .gallery-overlay { opacity: 1; }

    .testimonials { background: radial-gradient(circle at 50% 0%, rgba(var(--tea-rgb),.20), transparent 38%), var(--ivory); }
    .testimonial-shell { max-width: 860px; margin: 46px auto 0; position: relative; }
    .testimonial-card { display: none; padding: 44px; border-radius: 34px; background: rgba(255,255,255,.62); backdrop-filter: blur(18px); border: 1px solid rgba(var(--gold-rgb),.16); box-shadow: var(--shadow); text-align: center; animation: fadeUp .5s ease both; }
    .testimonial-card.active { display: block; }
    .client-photo { width: 86px; height: 86px; border-radius: 50%; object-fit: cover; margin: 0 auto 18px; border: 4px solid rgba(234,216,175,.9); }
    .stars { color: var(--gold); letter-spacing: 2px; margin-bottom: 18px; }
    .testimonial-card blockquote { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.45rem, 3vw, 2.25rem); line-height: 1.25; color: var(--choco); }
    .testimonial-card cite { display: block; margin-top: 18px; color: var(--muted); font-style: normal; font-weight: 800; }
    .slider-controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; }
    .slider-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(var(--gold-rgb),.42); background: linear-gradient(135deg, var(--choco), var(--tea-dark)); color: #fff; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease; display: inline-flex; align-items: center; justify-content: center; font-size: 1.45rem; line-height: 1; box-shadow: 0 14px 30px rgba(var(--choco-rgb),.18); }
    .slider-btn:hover { transform: translateY(-3px); }
    .dots { display: flex; gap: 8px; }
    .dot { width: 10px; height: 10px; border-radius: 999px; border: 0; background: rgba(122,90,67,.24); cursor: pointer; transition: width .26s ease, background .26s ease; }
    .dot.active { width: 30px; background: var(--gold); }

    .cta-final { min-height: 520px; display: grid; place-items: center; text-align: center; color: #fff; position: relative; overflow: hidden; }
    .cta-final::before { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(50,35,27,.74), rgba(50,35,27,.68)), url('../images/doces_finos.jpeg') center/cover no-repeat; transform: scale(1.03); }
    .cta-inner { position: relative; z-index: 2; max-width: 820px; padding: 0 20px; }
    .cta-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(2.5rem, 5vw, 5rem); line-height: 1; letter-spacing: -.05em; margin-bottom: 20px; }
    .cta-inner p { color: rgba(255,255,255,.83); font-size: 1.15rem; margin-bottom: 28px; }

    .contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 34px; align-items: stretch; }
    .contact-info, .contact-form { padding: 34px; border-radius: 34px; background: rgba(255,255,255,.62); border: 1px solid rgba(var(--gold-rgb),.16); box-shadow: var(--shadow-soft); height: 100%; }
    .contact-form { display: flex; flex-direction: column; justify-content: flex-start; }
    .contact-list { list-style: none; margin-top: 24px; display: grid; gap: 16px; }
    .contact-list li { display: flex; gap: 14px; align-items: center; color: var(--muted); }
    .contact-list i { color: var(--gold); margin-top: 5px; }
    .form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .field.full { grid-column: 1 / -1; }
    label { display: block; font-weight: 800; color: var(--choco); font-size: .88rem; margin-bottom: 8px; }
    input, textarea, select { width: 100%; border: 1px solid rgba(var(--gold-rgb),.23); border-radius: 18px; padding: 14px 16px; background: rgba(255,253,248,.82); outline: none; color: var(--text); transition: border .2s ease, box-shadow .2s ease; }
    textarea { min-height: 260px; resize: vertical; }
    input:focus, textarea:focus, select:focus { border-color: var(--gold); box-shadow: 0 0 0 5px rgba(var(--gold-rgb),.13); }
    .form-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
    .form-message { margin-top: 16px; padding: 12px 14px; border-radius: 16px; background: rgba(var(--blue-rgb),.42); color: var(--choco); display: none; font-weight: 700; }
    .img-loading { background: linear-gradient(135deg, rgba(var(--tea-rgb),.18), rgba(var(--blue-rgb),.22)); }
    .social-inline { color: var(--choco); font-weight: 600; }
    .social-inline a { color: var(--brown); border-bottom: 1px solid rgba(var(--gold-rgb),.36); }
    .social-inline a:hover { color: var(--tea-dark); border-color: var(--tea-dark); }
    .icon-badge {
      flex: 0 0 42px; width: 42px; height: 42px; display: inline-grid; place-items: center;
      border-radius: 15px; color: #fff;
      background: linear-gradient(135deg, var(--tea-dark), var(--gold));
      box-shadow: 0 12px 26px rgba(122,90,67,.16), inset 0 1px 0 rgba(255,255,255,.28);
    }
    .icon-badge svg { width: 20px; height: 20px; display:block; fill: currentColor; }
    .contact-list li { align-items:center; }
    .contact-list li .icon-badge { margin-top: 0; flex: 0 0 42px; }

    .form-message.show { display: block; }
    .map-wrap { overflow: hidden; border-radius: 34px; box-shadow: var(--shadow); border: 1px solid rgba(var(--gold-rgb),.16); }

    footer { background: #33251e; color: rgba(255,255,255,.76); padding: 70px 0 26px; }
    .footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 34px; }
    footer h3, footer h4 { color: #fff; font-family: 'Playfair Display', serif; margin-bottom: 16px; }
    footer ul { list-style: none; display: grid; gap: 9px; }
    footer a:hover { color: var(--gold-soft); }
    .socials { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
    .socials a {
      width: 128px; min-width: 128px; height: 46px; padding: 0 14px; display: inline-flex; align-items:center; justify-content:center; gap:9px;
      border-radius: 999px; background: rgba(255,255,255,.13); color: #fff; border: 1px solid rgba(255,255,255,.16);
      transition: transform .24s ease, background .24s ease, border-color .24s ease;
    }
    .socials a:hover { transform: translateY(-3px); background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.32); }
    .socials svg { width: 18px; height: 18px; fill: currentColor; display:block; }
    .socials .social-label { font-size: .86rem; font-weight: 700; }
    @media (max-width: 520px) { .socials .social-label { display:none; } .socials a { width:46px; min-width:46px; padding:0; } }
    .copyright { margin-top: 44px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: .9rem; }

    .reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

    @media (max-width: 1060px) {
      .theme-switcher { order: 2; padding: 5px 7px 5px 12px; }
      .theme-switcher select { min-width: 132px; }
      .nav-links { display: none; position: fixed; top: 94px; left: 18px; right: 18px; padding: 24px; border-radius: 28px; background: rgba(255,253,248,.95); backdrop-filter: blur(22px); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; color: var(--choco); }
      .nav-links.open { display: flex; }
      .nav-links a { padding: 8px; }
      .menu-btn { display: grid; place-items: center; }
      .nav-actions .btn { display: none; }
      .products-grid, .features-grid, .occasions-grid { grid-template-columns: repeat(2, 1fr); }
      .about-grid, .editorial-grid, .contact-grid { grid-template-columns: 1fr; }
      .about-image, .editorial-image { min-height: 520px; }
      .footer-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 720px) {
      .container { width: min(100% - 28px, var(--max)); }
      .section { padding: 82px 0; }
      .brand span { font-size: .9rem; }
      .brand small { display: none; }
      .nav-shell { padding-left: 14px; gap: 8px; }
      .theme-switcher label { display: none; }
      .theme-switcher select { min-width: 118px; max-width: 128px; font-size: .82rem; padding: 8px 9px; }
      .hero { padding-top: 130px; }
      .hero-actions, .hero-points, .form-actions { flex-direction: column; align-items: stretch; }
      .section-head { display: block; }
      .products-grid, .features-grid, .occasions-grid, .values-grid, .footer-grid, .form-grid { grid-template-columns: 1fr; }
      .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 280px; }
      .gallery-item, .gallery-item:nth-child(1), .gallery-item:nth-child(6), .gallery-item:nth-child(2), .gallery-item:nth-child(3), .gallery-item:nth-child(4), .gallery-item:nth-child(5) { grid-column: auto; grid-row: auto; }
      .editorial-copy, .contact-info, .contact-form, .testimonial-card { padding: 26px; }
      .copyright { display: block; }
    }
/* Ajustes premium do cabeçalho e novos temas */
body[data-theme="rosa-premium"] {
  color-scheme: light;
  --cream: #fff3f8;
  --ivory: #fffafd;
  --beige: #f3dbe8;
  --tea: #f1a8c6;
  --tea-dark: #c85587;
  --gold: #c986a5;
  --gold-soft: #f7d7e5;
  --brown: #8a4664;
  --choco: #54283a;
  --blue: #fde7f0;
  --text: #442b35;
  --muted: #856271;
  --gold-rgb: 201,134,165;
  --tea-rgb: 241,168,198;
  --blue-rgb: 253,231,240;
  --choco-rgb: 84,40,58;
  --nav-text-rgb: 68,43,53;
  --dark-overlay-rgb: 65,27,42;
  --shadow-rgb: 84,40,58;
}

body[data-theme="vermelho-premium"] {
  color-scheme: light;
  --cream: #fff5f2;
  --ivory: #fffaf8;
  --beige: #f1d4cc;
  --tea: #dc8b7f;
  --tea-dark: #a83b32;
  --gold: #b9634f;
  --gold-soft: #f0c7bc;
  --brown: #873f34;
  --choco: #4b211d;
  --blue: #fde0d9;
  --text: #3d2926;
  --muted: #80615b;
  --gold-rgb: 185,99,79;
  --tea-rgb: 220,139,127;
  --blue-rgb: 253,224,217;
  --choco-rgb: 75,33,29;
  --nav-text-rgb: 61,41,38;
  --dark-overlay-rgb: 71,24,21;
  --shadow-rgb: 75,33,29;
}

body[data-theme="champagne-premium"] {
  color-scheme: light;
  --cream: #fbf5ea;
  --ivory: #fffdf7;
  --beige: #e7dac2;
  --tea: #d7b88f;
  --tea-dark: #977047;
  --gold: #b99855;
  --gold-soft: #eadbb7;
  --brown: #705338;
  --choco: #3c2d22;
  --blue: #eee4cf;
  --text: #352b24;
  --muted: #75675d;
  --gold-rgb: 185,152,85;
  --tea-rgb: 215,184,143;
  --blue-rgb: 238,228,207;
  --choco-rgb: 60,45,34;
  --nav-text-rgb: 53,43,36;
  --dark-overlay-rgb: 45,34,25;
  --shadow-rgb: 60,45,34;
}

.navbar { inset: 14px 0 auto 0; }
.nav-shell {
  width: min(1240px, calc(100% - 48px));
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(185px, 210px) auto minmax(430px, 1fr) auto;
  gap: 16px;
  justify-content: initial;
  padding: 10px 14px 10px 22px;
  background: rgba(255, 253, 248, .78);
  border-color: rgba(255,255,255,.72);
  box-shadow: 0 18px 46px rgba(var(--shadow-rgb), .12), inset 0 1px 0 rgba(255,255,255,.68);
}
.navbar.scrolled .nav-shell { background: rgba(255,253,248,.92); }
.brand { min-width: 0; }
.brand > span:last-child { line-height: 1.15; }
.theme-switcher {
  min-height: 50px;
  padding: 5px 6px 5px 14px;
  background: rgba(255,255,255,.72);
  border-color: rgba(var(--gold-rgb), .20);
  box-shadow: 0 10px 26px rgba(var(--shadow-rgb), .06), inset 0 1px 0 rgba(255,255,255,.72);
}
.theme-switcher label {
  display: inline-flex;
  align-items: center;
  margin: 0;
  color: var(--brown);
  font-size: .78rem;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.theme-switcher select {
  min-width: 154px;
  height: 40px;
  padding: 0 14px;
  background: rgba(255,255,255,.92);
  color: var(--choco);
}
.nav-links {
  justify-content: center;
  gap: clamp(14px, 1.35vw, 22px);
  min-width: 0;
  color: rgba(var(--nav-text-rgb), .76);
}
.nav-links a { white-space: nowrap; }
.nav-actions { justify-content: flex-end; }
.nav-actions .btn {
  min-width: 184px;
  height: 54px;
  padding: 0 22px;
  white-space: nowrap;
  flex: 0 0 auto;
}

@media (max-width: 1180px) {
  .nav-shell { grid-template-columns: minmax(170px, 1fr) auto auto; }
  .nav-links { display: none; position: fixed; top: 92px; left: 24px; right: 24px; padding: 24px; border-radius: 28px; background: rgba(255,253,248,.96); backdrop-filter: blur(22px); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; color: var(--choco); }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 8px; }
  .menu-btn { display: grid; place-items: center; }
  .nav-actions .btn { display: none; }
}

@media (max-width: 760px) {
  .navbar { inset: 10px 0 auto 0; }
  .nav-shell {
    width: min(100% - 22px, 1240px);
    min-height: 66px;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    padding: 8px 9px 8px 12px;
  }
  .brand-mark { width: 40px; height: 40px; font-size: 1.25rem; }
  .theme-switcher { min-height: 44px; padding: 4px; }
  .theme-switcher select { min-width: 128px; max-width: 136px; height: 36px; font-size: .82rem; }
  .menu-btn { width: 44px; height: 44px; }
}

@media (max-width: 520px) {
  .nav-shell { grid-template-columns: 1fr auto; border-radius: 30px; }
  .theme-switcher { grid-column: 1 / -1; justify-self: stretch; order: 3; }
  .theme-switcher select { max-width: none; width: 100%; }
}

/* FIX3 — cabeçalho premium compacto + temas realmente globais */
body[data-theme="claro-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(217,167,162,.24), transparent 34%), radial-gradient(circle at 88% 2%, rgba(234,216,175,.34), transparent 32%), linear-gradient(180deg, #fff8ef 0%, #fffdf8 42%, #fbf0e5 100%);
  --nav-bg: rgba(255,253,248,.88);
  --nav-border: rgba(255,255,255,.72);
  --hero-overlay: linear-gradient(90deg, rgba(45,30,21,.76) 0%, rgba(74,53,41,.48) 48%, rgba(255,248,239,.12) 100%);
  --hero-filter: saturate(1.04) contrast(1.02) brightness(.93);
  --footer-bg: linear-gradient(135deg, #33251e, #4a3529);
}
body[data-theme="azul-premium"] {
  --page-bg: radial-gradient(circle at 10% 8%, rgba(84,170,222,.28), transparent 34%), radial-gradient(circle at 92% 4%, rgba(185,223,248,.72), transparent 38%), linear-gradient(180deg, #eef7ff 0%, #f9fcff 42%, #e4f2fb 100%);
  --nav-bg: rgba(245,251,255,.9);
  --nav-border: rgba(205,232,251,.9);
  --hero-overlay: linear-gradient(90deg, rgba(10,38,64,.78) 0%, rgba(24,74,116,.52) 48%, rgba(238,247,255,.12) 100%);
  --hero-filter: saturate(1.12) hue-rotate(8deg) contrast(1.04) brightness(.9);
  --footer-bg: linear-gradient(135deg, #12304a, #235f92);
}
body[data-theme="rosa-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(241,168,198,.34), transparent 35%), radial-gradient(circle at 90% 2%, rgba(255,214,232,.78), transparent 36%), linear-gradient(180deg, #fff3f8 0%, #fffafd 42%, #fbe4ef 100%);
  --nav-bg: rgba(255,249,252,.9);
  --nav-border: rgba(247,215,229,.9);
  --hero-overlay: linear-gradient(90deg, rgba(72,24,43,.76) 0%, rgba(142,68,99,.52) 48%, rgba(255,243,248,.13) 100%);
  --hero-filter: saturate(1.12) hue-rotate(-8deg) contrast(1.02) brightness(.92);
  --footer-bg: linear-gradient(135deg, #432233, #8a4664);
}
body[data-theme="vermelho-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(220,139,127,.34), transparent 35%), radial-gradient(circle at 90% 4%, rgba(255,214,206,.72), transparent 37%), linear-gradient(180deg, #fff5f2 0%, #fffaf8 42%, #fae1da 100%);
  --nav-bg: rgba(255,249,247,.9);
  --nav-border: rgba(240,199,188,.9);
  --hero-overlay: linear-gradient(90deg, rgba(73,24,20,.78) 0%, rgba(140,48,40,.54) 48%, rgba(255,245,242,.12) 100%);
  --hero-filter: saturate(1.18) hue-rotate(-14deg) contrast(1.05) brightness(.9);
  --footer-bg: linear-gradient(135deg, #421f1c, #873f34);
}
body[data-theme="champagne-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(215,184,143,.34), transparent 35%), radial-gradient(circle at 90% 3%, rgba(238,228,207,.74), transparent 38%), linear-gradient(180deg, #fbf5ea 0%, #fffdf7 42%, #efe3cc 100%);
  --nav-bg: rgba(255,252,246,.9);
  --nav-border: rgba(234,219,183,.9);
  --hero-overlay: linear-gradient(90deg, rgba(55,39,27,.76) 0%, rgba(112,83,56,.50) 48%, rgba(251,245,234,.14) 100%);
  --hero-filter: sepia(.10) saturate(1.06) contrast(1.02) brightness(.92);
  --footer-bg: linear-gradient(135deg, #35291f, #705338);
}

body { background: var(--page-bg); }
.navbar { inset: 10px 0 auto 0; }
.nav-shell {
  width: min(1256px, calc(100% - 40px));
  min-height: 72px;
  display: grid;
  grid-template-columns: 174px 178px minmax(0, 1fr) 176px;
  align-items: center;
  gap: 12px;
  padding: 8px 10px 8px 18px;
  overflow: hidden;
  background: var(--nav-bg);
  border: 1px solid var(--nav-border);
  box-shadow: 0 18px 48px rgba(var(--shadow-rgb), .12), inset 0 1px 0 rgba(255,255,255,.78);
}
.navbar.scrolled .nav-shell { background: color-mix(in srgb, var(--nav-bg) 94%, white 6%); }
.brand { gap: 10px; min-width: 0; overflow: hidden; }
.brand-mark { width: 42px; height: 42px; flex: 0 0 42px; }
.brand > span:last-child { font-size: .96rem; line-height: 1.05; white-space: normal; }
.brand small { font-size: .62rem; letter-spacing: .18em; margin-top: 0; }
.theme-switcher {
  min-width: 0;
  min-height: 46px;
  gap: 7px;
  padding: 4px 5px 4px 12px;
  justify-content: space-between;
  background: rgba(255,255,255,.74);
}
.theme-switcher label { font-size: .68rem; letter-spacing: .10em; white-space: nowrap; }
.theme-switcher select {
  min-width: 0;
  width: 118px;
  height: 38px;
  padding: 0 9px;
  font-size: .86rem;
  text-overflow: ellipsis;
}
.nav-links {
  width: 100%;
  justify-content: center;
  gap: clamp(8px, .78vw, 13px);
  font-size: clamp(.74rem, .82vw, .86rem);
  font-weight: 800;
  overflow: hidden;
}
.nav-links a { white-space: nowrap; letter-spacing: -.015em; }
.nav-actions { min-width: 0; }
.nav-actions .btn {
  min-width: 0;
  width: 100%;
  height: 52px;
  padding: 0 14px;
  white-space: nowrap;
  font-size: .88rem;
  letter-spacing: .01em;
}
.hero-bg { filter: var(--hero-filter); }
.hero::before { background: var(--hero-overlay); }
.hero::after { height: 190px; background: linear-gradient(to top, var(--cream), rgba(255,255,255,0)); }
.cta-final::before { background: var(--hero-overlay), url('../images/doces_finos.jpeg') center/cover no-repeat; filter: var(--hero-filter); }
footer { background: var(--footer-bg); }
.product-card, .feature-card, .occasion-card, .testimonial-card, .contact-info, .contact-form, .mini-card {
  background: color-mix(in srgb, var(--ivory) 72%, white 28%);
  border-color: rgba(var(--gold-rgb), .20);
}
.price-row, .editorial-copy, .map-wrap { border-color: rgba(var(--gold-rgb), .20); }

@media (max-width: 1320px) {
  .nav-shell { grid-template-columns: 168px 168px minmax(0, 1fr) 168px; width: min(1238px, calc(100% - 34px)); gap: 10px; }
  .theme-switcher select { width: 108px; }
  .nav-links { gap: 8px; font-size: .76rem; }
  .nav-actions .btn { font-size: .84rem; }
}
@media (max-width: 1180px) {
  .nav-shell { grid-template-columns: minmax(170px, 1fr) 178px auto; overflow: visible; }
  .nav-links { display: none; position: fixed; top: 92px; left: 24px; right: 24px; padding: 24px; border-radius: 28px; background: var(--nav-bg); backdrop-filter: blur(22px); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; color: var(--choco); font-size: .98rem; }
  .nav-links.open { display: flex; }
  .nav-actions { width: 48px; }
  .menu-btn { display: grid; place-items: center; }
  .nav-actions .btn { display: none; }
}
@media (max-width: 760px) {
  .nav-shell { grid-template-columns: minmax(0, 1fr) 144px 46px; width: min(100% - 22px, 1240px); min-height: 66px; padding: 8px 9px 8px 12px; }
  .brand > span:last-child { font-size: .88rem; }
  .brand small { display: none; }
  .theme-switcher { min-height: 42px; padding: 4px; }
  .theme-switcher label { display: none; }
  .theme-switcher select { width: 136px; height: 36px; font-size: .8rem; }
}
@media (max-width: 520px) {
  .nav-shell { grid-template-columns: 1fr 46px; border-radius: 30px; }
  .theme-switcher { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
  .theme-switcher select { width: 100%; max-width: none; }
}


/* FIX4 — marca simplificada + navegação proporcional + transições de fundo contínuas */
body[data-theme="claro-premium"] {
  --section-wash-1: rgba(255, 248, 239, .96);
  --section-wash-2: rgba(255, 253, 248, .94);
  --section-accent: rgba(234, 216, 175, .34);
}
body[data-theme="azul-premium"] {
  --section-wash-1: rgba(238, 247, 255, .98);
  --section-wash-2: rgba(249, 252, 255, .96);
  --section-accent: rgba(185, 223, 248, .50);
}
body[data-theme="rosa-premium"] {
  --section-wash-1: rgba(255, 243, 248, .98);
  --section-wash-2: rgba(255, 250, 253, .96);
  --section-accent: rgba(247, 215, 229, .54);
}
body[data-theme="vermelho-premium"] {
  --section-wash-1: rgba(255, 245, 242, .98);
  --section-wash-2: rgba(255, 250, 248, .96);
  --section-accent: rgba(240, 199, 188, .50);
}
body[data-theme="champagne-premium"] {
  --section-wash-1: rgba(251, 245, 234, .98);
  --section-wash-2: rgba(255, 253, 247, .96);
  --section-accent: rgba(234, 219, 183, .52);
}

html, body, main { min-height: 100%; }
main {
  background:
    radial-gradient(circle at 12% 18%, rgba(var(--tea-rgb), .16), transparent 34%),
    radial-gradient(circle at 88% 28%, rgba(var(--blue-rgb), .34), transparent 38%),
    var(--page-bg);
}

.navbar { inset: 10px 0 auto 0; }
.nav-shell {
  width: min(1360px, calc(100% - 48px));
  min-height: 68px;
  grid-template-columns: 228px 192px minmax(520px, 1fr) 214px;
  gap: 14px;
  padding: 8px 12px 8px 18px;
  border-radius: 999px;
  overflow: hidden;
}
.brand {
  min-width: 0;
  gap: 11px;
  color: var(--choco);
}
.brand-mark {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  font-size: 1.38rem;
}
.brand-name {
  display: block;
  max-width: 150px;
  font-size: 1rem;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.02em;
  white-space: normal;
}
.brand small { display: none !important; }
.theme-switcher {
  height: 44px;
  min-height: 44px;
  padding: 4px 5px 4px 12px;
  border-color: rgba(var(--gold-rgb), .18);
}
.theme-switcher label {
  font-size: .67rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .86;
}
.theme-switcher select {
  width: 124px;
  height: 36px;
  font-size: .84rem;
  border-radius: 999px;
}
.nav-links {
  gap: clamp(11px, 1vw, 18px);
  font-size: clamp(.78rem, .78vw, .88rem);
  justify-content: center;
  min-width: 0;
}
.nav-links a { line-height: 1; }
.nav-actions { width: 100%; }
.nav-actions .btn {
  height: 48px;
  width: 100%;
  padding: 0 20px;
  font-size: .9rem;
  border-radius: 999px;
  white-space: nowrap;
}

.hero::after {
  height: 180px;
  background: linear-gradient(to top, var(--section-wash-1), rgba(255,255,255,0));
}
.section {
  background: transparent;
  position: relative;
}
#boutique.section {
  background:
    radial-gradient(circle at 8% 20%, rgba(var(--tea-rgb), .14), transparent 36%),
    linear-gradient(180deg, var(--section-wash-1) 0%, var(--section-wash-2) 100%);
}
#colecoes.section {
  padding-bottom: 98px;
  background:
    radial-gradient(circle at 88% 8%, var(--section-accent), transparent 38%),
    linear-gradient(180deg, var(--section-wash-2) 0%, color-mix(in srgb, var(--blue) 38%, var(--ivory) 62%) 100%);
}
.editorial.section {
  padding-top: 98px;
  background:
    radial-gradient(circle at 14% 6%, rgba(var(--gold-rgb), .12), transparent 34%),
    radial-gradient(circle at 88% 30%, rgba(var(--blue-rgb), .28), transparent 38%),
    linear-gradient(180deg, color-mix(in srgb, var(--blue) 38%, var(--ivory) 62%) 0%, var(--section-wash-2) 100%);
}
#colecoes.section + .editorial.section::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: color-mix(in srgb, var(--blue) 38%, var(--ivory) 62%);
}
#diferenciais.section {
  background:
    radial-gradient(circle at 90% 12%, rgba(var(--tea-rgb), .13), transparent 34%),
    linear-gradient(180deg, var(--section-wash-2), var(--section-wash-1));
}
.occasions.section,
.testimonials.section,
#galeria.section,
#contato.section {
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--tea-rgb), .14), transparent 36%),
    linear-gradient(180deg, var(--section-wash-1), var(--section-wash-2));
}
.editorial {
  background: inherit;
}
.editorial-copy,
.floating-card,
.overlay-note,
.product-card,
.feature-card,
.occasion-card,
.testimonial-card,
.contact-info,
.contact-form,
.mini-card {
  background: color-mix(in srgb, var(--ivory) 74%, white 26%);
  border-color: rgba(var(--gold-rgb), .20);
}
input, textarea, select {
  background: color-mix(in srgb, var(--ivory) 82%, white 18%);
}

@media (max-width: 1360px) {
  .nav-shell {
    width: min(1260px, calc(100% - 40px));
    grid-template-columns: 205px 178px minmax(440px, 1fr) 198px;
    gap: 10px;
  }
  .brand-name { max-width: 130px; font-size: .96rem; }
  .nav-links { gap: 10px; font-size: .78rem; }
  .nav-actions .btn { font-size: .84rem; padding-inline: 14px; }
  .theme-switcher select { width: 112px; }
}
@media (max-width: 1180px) {
  .nav-shell {
    width: min(100% - 32px, 1180px);
    grid-template-columns: minmax(190px, 1fr) 190px 48px;
    overflow: visible;
  }
  .nav-links {
    display: none;
    position: fixed;
    top: 92px;
    left: 24px;
    right: 24px;
    padding: 24px;
    border-radius: 28px;
    background: var(--nav-bg);
    backdrop-filter: blur(22px);
    box-shadow: var(--shadow);
    flex-direction: column;
    align-items: stretch;
    color: var(--choco);
    font-size: .98rem;
  }
  .nav-links.open { display: flex; }
  .nav-actions { width: 48px; }
  .nav-actions .btn { display: none; }
  .menu-btn { display: grid; place-items: center; }
}
@media (max-width: 760px) {
  .nav-shell {
    grid-template-columns: minmax(0, 1fr) 144px 46px;
    width: min(100% - 22px, 760px);
    min-height: 64px;
    padding: 8px 9px 8px 12px;
  }
  .brand-name { max-width: 120px; font-size: .9rem; }
  .brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
  .theme-switcher { min-height: 40px; height: 40px; padding: 4px; }
  .theme-switcher label { display: none; }
  .theme-switcher select { width: 136px; height: 34px; font-size: .8rem; }
}
@media (max-width: 520px) {
  .nav-shell { grid-template-columns: 1fr 46px; border-radius: 30px; }
  .theme-switcher { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; width: 100%; }
  .theme-switcher select { width: 100%; max-width: none; }
}

/* FIX5 — fundo contínuo: remove degradês independentes por seção
   Agora cada tema aplica um único fundo global do topo ao fim da página. */
body[data-theme="claro-premium"] {
  --page-bg: linear-gradient(180deg, #fff8ef 0%, #fffdf8 45%, #f7efe1 100%);
}
body[data-theme="azul-premium"] {
  --page-bg: linear-gradient(180deg, #eaf6ff 0%, #f7fcff 46%, #dceefb 100%);
}
body[data-theme="rosa-premium"] {
  --page-bg: linear-gradient(180deg, #fff1f7 0%, #fffafd 46%, #f9dfeb 100%);
}
body[data-theme="vermelho-premium"] {
  --page-bg: linear-gradient(180deg, #fff2ef 0%, #fff9f7 46%, #f8ddd5 100%);
}
body[data-theme="champagne-premium"] {
  --page-bg: linear-gradient(180deg, #faf1e2 0%, #fffdf7 46%, #ecdec3 100%);
}

html { background: var(--page-bg); }
body {
  background: var(--page-bg);
  background-attachment: fixed;
}
main {
  background: transparent !important;
}
.section,
#boutique.section,
#colecoes.section,
.editorial.section,
#diferenciais.section,
.occasions.section,
.testimonials.section,
#galeria.section,
#contato.section {
  background: transparent !important;
}
.hero::after {
  height: 170px;
  background: linear-gradient(to top, rgba(255,255,255,0), rgba(255,255,255,0)) !important;
}
#colecoes.section + .editorial.section::before {
  display: none !important;
}
.editorial {
  background: transparent !important;
}


/* FIX6 — novos temas premium para doceria artesanal.
   As variáveis abaixo mantêm um fundo global contínuo e atualizam botões,
   textos, bordas, cards e destaques por tema. */
body[data-theme="lavanda-premium"] {
  color-scheme: light;
  --cream: #f6f0ff;
  --ivory: #fffaff;
  --beige: #e8dcfb;
  --tea: #c8a8f0;
  --tea-dark: #8261c9;
  --gold: #9a78d6;
  --gold-soft: #eadfff;
  --brown: #6d5a92;
  --choco: #40315f;
  --blue: #ebe4ff;
  --text: #392f50;
  --muted: #746885;
  --white: #ffffff;
  --gold-rgb: 154,120,214;
  --tea-rgb: 200,168,240;
  --blue-rgb: 235,228,255;
  --choco-rgb: 64,49,95;
  --nav-text-rgb: 57,47,80;
  --dark-overlay-rgb: 48,37,76;
  --shadow-rgb: 76,54,108;
  --shadow: 0 24px 70px rgba(76,54,108,.13);
  --shadow-soft: 0 16px 40px rgba(76,54,108,.08);
  --page-bg: linear-gradient(180deg, #f6f0ff 0%, #fffaff 46%, #eadfff 100%);
}

body[data-theme="menta-premium"] {
  color-scheme: light;
  --cream: #effcf7;
  --ivory: #fbfffd;
  --beige: #d9f3ea;
  --tea: #9ddfc9;
  --tea-dark: #3f9f86;
  --gold: #2f927b;
  --gold-soft: #ccefe6;
  --brown: #4e7f72;
  --choco: #234f46;
  --blue: #dbf6ee;
  --text: #263f3a;
  --muted: #66837c;
  --white: #ffffff;
  --gold-rgb: 47,146,123;
  --tea-rgb: 157,223,201;
  --blue-rgb: 219,246,238;
  --choco-rgb: 35,79,70;
  --nav-text-rgb: 38,63,58;
  --dark-overlay-rgb: 28,67,60;
  --shadow-rgb: 37,86,74;
  --shadow: 0 24px 70px rgba(37,86,74,.13);
  --shadow-soft: 0 16px 40px rgba(37,86,74,.08);
  --page-bg: linear-gradient(180deg, #effcf7 0%, #fbfffd 46%, #d9f3ea 100%);
}

body[data-theme="coral-premium"] {
  color-scheme: light;
  --cream: #fff3ee;
  --ivory: #fffaf7;
  --beige: #ffe1d6;
  --tea: #ffb39f;
  --tea-dark: #df715b;
  --gold: #e46f5a;
  --gold-soft: #ffd8cd;
  --brown: #9a6256;
  --choco: #65392f;
  --blue: #ffe8df;
  --text: #4a302b;
  --muted: #82645e;
  --white: #ffffff;
  --gold-rgb: 228,111,90;
  --tea-rgb: 255,179,159;
  --blue-rgb: 255,232,223;
  --choco-rgb: 101,57,47;
  --nav-text-rgb: 74,48,43;
  --dark-overlay-rgb: 82,43,36;
  --shadow-rgb: 111,64,54;
  --shadow: 0 24px 70px rgba(111,64,54,.13);
  --shadow-soft: 0 16px 40px rgba(111,64,54,.08);
  --page-bg: linear-gradient(180deg, #fff3ee 0%, #fffaf7 46%, #ffe1d6 100%);
}

body[data-theme="baunilha-premium"] {
  color-scheme: light;
  --cream: #fff8da;
  --ivory: #fffef8;
  --beige: #f4e6b5;
  --tea: #f0cc72;
  --tea-dark: #b98524;
  --gold: #c9902f;
  --gold-soft: #f5e2a2;
  --brown: #8a6a32;
  --choco: #5b421c;
  --blue: #fff1bd;
  --text: #44351f;
  --muted: #7e6c4a;
  --white: #ffffff;
  --gold-rgb: 201,144,47;
  --tea-rgb: 240,204,114;
  --blue-rgb: 255,241,189;
  --choco-rgb: 91,66,28;
  --nav-text-rgb: 68,53,31;
  --dark-overlay-rgb: 76,53,23;
  --shadow-rgb: 92,64,26;
  --shadow: 0 24px 70px rgba(92,64,26,.12);
  --shadow-soft: 0 16px 40px rgba(92,64,26,.08);
  --page-bg: linear-gradient(180deg, #fff8da 0%, #fffef8 46%, #f5e5b0 100%);
}

body[data-theme="jardim-premium"] {
  color-scheme: light;
  --cream: #f8fff0;
  --ivory: #fefffb;
  --beige: #e4f4ce;
  --tea: #b9dd8c;
  --tea-dark: #719c47;
  --gold: #78a84d;
  --gold-soft: #dcefc5;
  --brown: #66844e;
  --choco: #354f2a;
  --blue: #eaf7d8;
  --text: #2f4229;
  --muted: #6b8060;
  --white: #ffffff;
  --gold-rgb: 120,168,77;
  --tea-rgb: 185,221,140;
  --blue-rgb: 234,247,216;
  --choco-rgb: 53,79,42;
  --nav-text-rgb: 47,66,41;
  --dark-overlay-rgb: 45,68,37;
  --shadow-rgb: 58,85,45;
  --shadow: 0 24px 70px rgba(58,85,45,.13);
  --shadow-soft: 0 16px 40px rgba(58,85,45,.08);
  --page-bg: linear-gradient(180deg, #f8fff0 0%, #fefffb 46%, #e4f4ce 100%);
}

/* FIX6A — aplica os novos temas com a mesma profundidade dos 5 primeiros.
   Além das cores básicas, agora também mudam navbar, overlay do hero,
   filtro das imagens, rodapé, cards e fundo global contínuo. */
body[data-theme="lavanda-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(200,168,240,.38), transparent 35%), radial-gradient(circle at 90% 2%, rgba(235,228,255,.82), transparent 38%), linear-gradient(180deg, #f6f0ff 0%, #fffaff 43%, #eadfff 100%);
  --nav-bg: rgba(252,248,255,.91);
  --nav-border: rgba(230,216,255,.92);
  --hero-overlay: linear-gradient(90deg, rgba(48,37,76,.78) 0%, rgba(96,70,145,.54) 48%, rgba(246,240,255,.13) 100%);
  --hero-filter: saturate(1.12) hue-rotate(18deg) contrast(1.03) brightness(.91);
  --footer-bg: linear-gradient(135deg, #33284d, #6d5a92);
}

body[data-theme="menta-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(157,223,201,.40), transparent 35%), radial-gradient(circle at 90% 4%, rgba(219,246,238,.84), transparent 38%), linear-gradient(180deg, #effcf7 0%, #fbfffd 43%, #d9f3ea 100%);
  --nav-bg: rgba(247,255,252,.91);
  --nav-border: rgba(204,239,230,.92);
  --hero-overlay: linear-gradient(90deg, rgba(28,67,60,.78) 0%, rgba(57,126,108,.52) 48%, rgba(239,252,247,.13) 100%);
  --hero-filter: saturate(1.12) hue-rotate(70deg) contrast(1.03) brightness(.91);
  --footer-bg: linear-gradient(135deg, #1f433c, #4e7f72);
}

body[data-theme="coral-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(255,179,159,.40), transparent 35%), radial-gradient(circle at 90% 4%, rgba(255,232,223,.82), transparent 38%), linear-gradient(180deg, #fff3ee 0%, #fffaf7 43%, #ffe1d6 100%);
  --nav-bg: rgba(255,250,247,.91);
  --nav-border: rgba(255,216,205,.92);
  --hero-overlay: linear-gradient(90deg, rgba(82,43,36,.78) 0%, rgba(176,88,72,.54) 48%, rgba(255,243,238,.13) 100%);
  --hero-filter: saturate(1.2) hue-rotate(-18deg) contrast(1.04) brightness(.91);
  --footer-bg: linear-gradient(135deg, #4a2b26, #9a6256);
}

body[data-theme="baunilha-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(240,204,114,.38), transparent 35%), radial-gradient(circle at 90% 3%, rgba(255,241,189,.78), transparent 38%), linear-gradient(180deg, #fff8da 0%, #fffef8 43%, #f5e5b0 100%);
  --nav-bg: rgba(255,253,244,.92);
  --nav-border: rgba(245,226,162,.94);
  --hero-overlay: linear-gradient(90deg, rgba(76,53,23,.78) 0%, rgba(149,106,37,.52) 48%, rgba(255,248,218,.14) 100%);
  --hero-filter: sepia(.12) saturate(1.14) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #443016, #8a6a32);
}

body[data-theme="jardim-premium"] {
  --page-bg: radial-gradient(circle at 12% 8%, rgba(185,221,140,.40), transparent 35%), radial-gradient(circle at 90% 3%, rgba(234,247,216,.82), transparent 38%), linear-gradient(180deg, #f8fff0 0%, #fefffb 43%, #e4f4ce 100%);
  --nav-bg: rgba(250,255,246,.92);
  --nav-border: rgba(220,239,197,.94);
  --hero-overlay: linear-gradient(90deg, rgba(45,68,37,.78) 0%, rgba(98,132,70,.52) 48%, rgba(248,255,240,.14) 100%);
  --hero-filter: saturate(1.16) hue-rotate(42deg) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #2b4324, #66844e);
}

/* Reforço visual comum para garantir que todos os temas, inclusive os novos,
   atinjam a página inteira e não apenas textos/botões. */
.nav-shell,
.navbar.scrolled .nav-shell {
  background: var(--nav-bg) !important;
  border-color: var(--nav-border) !important;
}
.hero::before {
  background: var(--hero-overlay) !important;
}
.hero-bg,
.cta-final::before {
  filter: var(--hero-filter) !important;
}
footer {
  background: var(--footer-bg) !important;
}
.hero .btn-primary,
.btn-primary,
.slider-btn {
  background: linear-gradient(135deg, var(--gold), var(--tea-dark)) !important;
}
.hero .btn-ghost {
  background: rgba(var(--dark-overlay-rgb), .36) !important;
}

/* FIX7 — preserva as cores originais das 2 imagens grandes.
   O tema continua alterando página, navbar, cards, botões e rodapé,
   mas não aplica filtro colorido nem overlay temático no Hero e no CTA final. */
.hero-bg {
  filter: saturate(1.02) contrast(1.02) brightness(.93) !important;
}
.hero::before {
  background: linear-gradient(90deg, rgba(42,31,24,.70) 0%, rgba(42,31,24,.42) 48%, rgba(255,248,239,.08) 100%) !important;
}
.cta-final::before {
  background:
    linear-gradient(rgba(50,35,27,.68), rgba(50,35,27,.62)),
    url('../images/doces_finos.jpeg') center/cover no-repeat !important;
  filter: saturate(1.02) contrast(1.02) brightness(.96) !important;
}


/* FIX8 — mais 5 temas premium para doceria artesanal.
   Mantém o mesmo comportamento do FIX7: tema aplicado globalmente,
   porém preservando as cores naturais das duas imagens grandes. */
body[data-theme="ceu-algodao-premium"] {
  color-scheme: light;
  --cream: #eef9ff;
  --ivory: #fbfeff;
  --beige: #d9eef8;
  --tea: #a9d9f1;
  --tea-dark: #4f99c8;
  --gold: #5aaad6;
  --gold-soft: #d6f0fb;
  --brown: #547f9a;
  --choco: #294e66;
  --blue: #dff4ff;
  --text: #2c4352;
  --muted: #657f8e;
  --white: #ffffff;
  --gold-rgb: 90,170,214;
  --tea-rgb: 169,217,241;
  --blue-rgb: 223,244,255;
  --choco-rgb: 41,78,102;
  --nav-text-rgb: 44,67,82;
  --dark-overlay-rgb: 34,60,78;
  --shadow-rgb: 43,86,112;
  --shadow: 0 24px 70px rgba(43,86,112,.13);
  --shadow-soft: 0 16px 40px rgba(43,86,112,.08);
  --page-bg: radial-gradient(circle at 12% 8%, rgba(169,217,241,.38), transparent 35%), radial-gradient(circle at 90% 4%, rgba(223,244,255,.84), transparent 38%), linear-gradient(180deg, #eef9ff 0%, #fbfeff 43%, #d9eef8 100%);
  --nav-bg: rgba(247,253,255,.92);
  --nav-border: rgba(214,240,251,.94);
  --hero-overlay: linear-gradient(90deg, rgba(34,60,78,.78) 0%, rgba(77,144,186,.52) 48%, rgba(238,249,255,.14) 100%);
  --hero-filter: saturate(1.12) hue-rotate(165deg) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #26485f, #547f9a);
}

body[data-theme="pessego-suave-premium"] {
  color-scheme: light;
  --cream: #fff4ea;
  --ivory: #fffaf6;
  --beige: #ffe2cb;
  --tea: #ffc29a;
  --tea-dark: #d9854f;
  --gold: #e09355;
  --gold-soft: #ffd9bd;
  --brown: #9a6541;
  --choco: #603a25;
  --blue: #ffeadb;
  --text: #493328;
  --muted: #82685b;
  --white: #ffffff;
  --gold-rgb: 224,147,85;
  --tea-rgb: 255,194,154;
  --blue-rgb: 255,234,219;
  --choco-rgb: 96,58,37;
  --nav-text-rgb: 73,51,40;
  --dark-overlay-rgb: 79,45,30;
  --shadow-rgb: 106,65,43;
  --shadow: 0 24px 70px rgba(106,65,43,.13);
  --shadow-soft: 0 16px 40px rgba(106,65,43,.08);
  --page-bg: radial-gradient(circle at 12% 8%, rgba(255,194,154,.40), transparent 35%), radial-gradient(circle at 90% 4%, rgba(255,234,219,.82), transparent 38%), linear-gradient(180deg, #fff4ea 0%, #fffaf6 43%, #ffe2cb 100%);
  --nav-bg: rgba(255,250,246,.92);
  --nav-border: rgba(255,217,189,.94);
  --hero-overlay: linear-gradient(90deg, rgba(79,45,30,.78) 0%, rgba(174,102,62,.52) 48%, rgba(255,244,234,.14) 100%);
  --hero-filter: sepia(.1) saturate(1.16) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #4d2f20, #9a6541);
}

body[data-theme="lilas-bala-premium"] {
  color-scheme: light;
  --cream: #fbf0ff;
  --ivory: #fffaff;
  --beige: #f0d8fb;
  --tea: #daa5ef;
  --tea-dark: #9a5dc5;
  --gold: #b577dc;
  --gold-soft: #efd8fb;
  --brown: #7e5b91;
  --choco: #4f315f;
  --blue: #f3e2ff;
  --text: #432e50;
  --muted: #796586;
  --white: #ffffff;
  --gold-rgb: 181,119,220;
  --tea-rgb: 218,165,239;
  --blue-rgb: 243,226,255;
  --choco-rgb: 79,49,95;
  --nav-text-rgb: 67,46,80;
  --dark-overlay-rgb: 61,37,78;
  --shadow-rgb: 85,54,105;
  --shadow: 0 24px 70px rgba(85,54,105,.13);
  --shadow-soft: 0 16px 40px rgba(85,54,105,.08);
  --page-bg: radial-gradient(circle at 12% 8%, rgba(218,165,239,.40), transparent 35%), radial-gradient(circle at 90% 4%, rgba(243,226,255,.84), transparent 38%), linear-gradient(180deg, #fbf0ff 0%, #fffaff 43%, #efd8fb 100%);
  --nav-bg: rgba(254,249,255,.92);
  --nav-border: rgba(239,216,251,.94);
  --hero-overlay: linear-gradient(90deg, rgba(61,37,78,.78) 0%, rgba(137,82,178,.52) 48%, rgba(251,240,255,.14) 100%);
  --hero-filter: saturate(1.12) hue-rotate(25deg) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #422955, #7e5b91);
}

body[data-theme="aquarela-premium"] {
  color-scheme: light;
  --cream: #f1fbfa;
  --ivory: #fbfffe;
  --beige: #d8f1ef;
  --tea: #a6dfdc;
  --tea-dark: #4caaa6;
  --gold: #4fb8b3;
  --gold-soft: #d4f2ef;
  --brown: #558885;
  --choco: #275a58;
  --blue: #ddf7f5;
  --text: #2b4443;
  --muted: #678381;
  --white: #ffffff;
  --gold-rgb: 79,184,179;
  --tea-rgb: 166,223,220;
  --blue-rgb: 221,247,245;
  --choco-rgb: 39,90,88;
  --nav-text-rgb: 43,68,67;
  --dark-overlay-rgb: 32,72,70;
  --shadow-rgb: 43,91,89;
  --shadow: 0 24px 70px rgba(43,91,89,.13);
  --shadow-soft: 0 16px 40px rgba(43,91,89,.08);
  --page-bg: radial-gradient(circle at 12% 8%, rgba(166,223,220,.40), transparent 35%), radial-gradient(circle at 90% 4%, rgba(221,247,245,.84), transparent 38%), linear-gradient(180deg, #f1fbfa 0%, #fbfffe 43%, #d8f1ef 100%);
  --nav-bg: rgba(248,255,254,.92);
  --nav-border: rgba(212,242,239,.94);
  --hero-overlay: linear-gradient(90deg, rgba(32,72,70,.78) 0%, rgba(70,148,145,.52) 48%, rgba(241,251,250,.14) 100%);
  --hero-filter: saturate(1.12) hue-rotate(92deg) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #244d4b, #558885);
}

body[data-theme="morango-creme-premium"] {
  color-scheme: light;
  --cream: #fff0f2;
  --ivory: #fffafb;
  --beige: #ffd8df;
  --tea: #f5a2b3;
  --tea-dark: #cb5872;
  --gold: #d96b83;
  --gold-soft: #ffd5dd;
  --brown: #935564;
  --choco: #5b2d38;
  --blue: #ffe3e8;
  --text: #472e35;
  --muted: #80636a;
  --white: #ffffff;
  --gold-rgb: 217,107,131;
  --tea-rgb: 245,162,179;
  --blue-rgb: 255,227,232;
  --choco-rgb: 91,45,56;
  --nav-text-rgb: 71,46,53;
  --dark-overlay-rgb: 70,34,43;
  --shadow-rgb: 96,50,62;
  --shadow: 0 24px 70px rgba(96,50,62,.13);
  --shadow-soft: 0 16px 40px rgba(96,50,62,.08);
  --page-bg: radial-gradient(circle at 12% 8%, rgba(245,162,179,.40), transparent 35%), radial-gradient(circle at 90% 4%, rgba(255,227,232,.84), transparent 38%), linear-gradient(180deg, #fff0f2 0%, #fffafb 43%, #ffd8df 100%);
  --nav-bg: rgba(255,248,250,.92);
  --nav-border: rgba(255,213,221,.94);
  --hero-overlay: linear-gradient(90deg, rgba(70,34,43,.78) 0%, rgba(167,76,96,.52) 48%, rgba(255,240,242,.14) 100%);
  --hero-filter: saturate(1.14) hue-rotate(-8deg) contrast(1.03) brightness(.92);
  --footer-bg: linear-gradient(135deg, #4a2730, #935564);
}


/* FIX10 — tipografia mais legível e hero mais premium.
   As imagens grandes continuam com cores naturais; o reforço é feito por overlay neutro
   e sombra tipográfica, não por tingimento do tema. */
body {
  font-family: 'Nunito Sans', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 500;
  letter-spacing: .002em;
}
.section-title,
.hero h1,
.cta-inner h2,
.product-card h3,
.feature-card h3,
.occasion-card h3,
.testimonial-card blockquote,
.floating-card strong {
  font-family: 'Fraunces', 'Playfair Display', Georgia, serif !important;
}

.hero-bg {
  filter: saturate(1.04) contrast(1.08) brightness(.86) !important;
}
.hero::before {
  background:
    radial-gradient(circle at 34% 44%, rgba(0,0,0,.10) 0%, rgba(0,0,0,.06) 24%, transparent 48%),
    linear-gradient(90deg, rgba(18,16,14,.86) 0%, rgba(28,24,20,.70) 42%, rgba(20,20,18,.34) 74%, rgba(20,20,18,.22) 100%) !important;
}
.hero::after {
  height: 190px;
  background: linear-gradient(to top, var(--cream) 0%, rgba(255,255,255,0) 100%) !important;
}
.hero-content {
  max-width: 790px;
  color: #fff;
}
.hero-content::before {
  content: '';
  position: absolute;
  inset: -28px -34px -30px -34px;
  border-radius: 36px;
  background: linear-gradient(135deg, rgba(18,16,14,.18), rgba(18,16,14,.04));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 30px 90px rgba(0,0,0,.20);
  z-index: -1;
  pointer-events: none;
}
.hero h1 {
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: .96;
  color: #fff;
  text-wrap: balance;
  text-shadow:
    0 3px 10px rgba(0,0,0,.46),
    0 16px 46px rgba(0,0,0,.42);
}
.hero p {
  color: rgba(255,255,255,.96) !important;
  font-weight: 650;
  letter-spacing: .01em;
  text-shadow: 0 2px 10px rgba(0,0,0,.48), 0 10px 28px rgba(0,0,0,.34);
}
.hero .eyebrow {
  color: rgba(255,255,255,.98) !important;
  background: rgba(24,22,20,.46) !important;
  border-color: rgba(255,255,255,.34) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.12);
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.hero .btn-primary {
  font-weight: 900;
  text-shadow: 0 1px 8px rgba(0,0,0,.18);
}
.hero .btn-ghost,
.hero-point {
  background: rgba(22,20,18,.50) !important;
  border-color: rgba(255,255,255,.42) !important;
  color: rgba(255,255,255,.98) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.38);
}
.brand,
.nav-links,
.theme-switcher,
.btn {
  font-family: 'Nunito Sans', 'Inter', system-ui, sans-serif !important;
}
.nav-links {
  font-weight: 800;
}
.nav-actions .btn,
.theme-switcher select {
  font-weight: 900;
}
.cta-final::before {
  filter: saturate(1.03) contrast(1.06) brightness(.88) !important;
  background: linear-gradient(rgba(26,24,22,.72), rgba(26,24,22,.68)), url('../images/doces_finos.jpeg') center/cover no-repeat !important;
}
.cta-inner h2,
.cta-inner p {
  text-shadow: 0 3px 12px rgba(0,0,0,.45), 0 14px 36px rgba(0,0,0,.34);
}

@media (max-width: 760px) {
  .hero-content::before { inset: -20px -18px -22px -18px; border-radius: 28px; }
  .hero h1 { font-size: clamp(2.85rem, 15vw, 5rem); }
  .hero p { font-size: 1.05rem; }
}

/* FIX11 — hero sem moldura e sem aspecto embaçado.
   Mantém somente um escurecimento leve com toque do tema selecionado. */
.hero-bg {
  filter: saturate(1.03) contrast(1.03) brightness(.96) !important;
  transform: scale(1.015) !important;
}
.hero::before {
  background:
    linear-gradient(90deg, rgba(0,0,0,.46) 0%, rgba(0,0,0,.30) 42%, rgba(0,0,0,.16) 72%, rgba(0,0,0,.10) 100%),
    linear-gradient(90deg, rgba(var(--gold-rgb), .18) 0%, rgba(var(--tea-rgb), .10) 48%, rgba(255,255,255,.02) 100%) !important;
}
.hero-content::before {
  display: none !important;
}
.hero-content {
  max-width: 780px;
}
.hero h1 {
  text-shadow: 0 3px 12px rgba(0,0,0,.48), 0 16px 42px rgba(0,0,0,.28);
}
.hero p {
  text-shadow: 0 2px 10px rgba(0,0,0,.42), 0 10px 24px rgba(0,0,0,.24);
}
.hero .eyebrow {
  background: rgba(20,18,16,.34) !important;
  border-color: rgba(255,255,255,.28) !important;
}
.hero .btn-ghost,
.hero-point {
  background: rgba(20,18,16,.34) !important;
  border-color: rgba(255,255,255,.36) !important;
}
.hero::after {
  height: 120px !important;
  background: linear-gradient(to top, var(--cream) 0%, rgba(255,255,255,0) 100%) !important;
}
.cta-final::before {
  filter: saturate(1.02) contrast(1.03) brightness(.94) !important;
  background:
    linear-gradient(rgba(0,0,0,.38), rgba(0,0,0,.34)),
    linear-gradient(90deg, rgba(var(--gold-rgb), .14), rgba(var(--tea-rgb), .08)),
    url('../images/doces_finos.jpeg') center/cover no-repeat !important;
}

/* FIX12 — escurecimento um pouco mais presente nas imagens principais.
   Mantém a imagem natural, sem moldura e sem blur, apenas reforçando
   levemente o contraste para melhorar a leitura. */
.hero::before {
  background:
    linear-gradient(90deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.06) 100%),
    var(--hero-overlay) !important;
}
.cta-final::before {
  background:
    linear-gradient(90deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.10) 52%, rgba(0,0,0,.06) 100%),
    var(--hero-overlay),
    url('../images/doces_finos.jpeg') center/cover no-repeat !important;
}


/* FIX13 — replicação do olho de temas, WhatsApp no envio e ajustes mobile da navbar. */
.theme-switcher {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.theme-switcher select {
  min-width: 0;
}
.theme-visibility-btn,
.menu-btn {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.theme-visibility-btn {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--gold-rgb), .28);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  color: var(--choco);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(var(--choco-rgb), .08);
}
.theme-visibility-btn svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  display: block;
}
.theme-switcher .icon-eye-closed { display: none; }
.theme-switcher.theme-hidden label,
.theme-switcher.theme-hidden select { display: none !important; }
.theme-switcher.theme-hidden .icon-eye-open { display: none; }
.theme-switcher.theme-hidden .icon-eye-closed { display: block; }
.theme-switcher.theme-hidden {
  padding: 4px !important;
  width: auto !important;
  justify-self: end;
}
.menu-btn svg {
  width: 24px;
  height: 24px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contact-form {
  min-height: 100%;
}
.contact-form .form-grid {
  flex: 1 1 auto;
}
.contact-form textarea {
  min-height: 310px;
  height: 100%;
}
.contact-form .field.full:has(textarea) {
  display: flex;
  flex-direction: column;
}
.contact-form .field.full:has(textarea) textarea {
  flex: 1 1 auto;
}
.form-actions .btn[type="submit"] {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1180px) {
  .nav-shell {
    grid-template-columns: minmax(170px, 1fr) auto 46px !important;
  }
  .theme-switcher {
    justify-self: end;
  }
}

@media (max-width: 680px) {
  .nav-shell {
    grid-template-columns: minmax(0, 1fr) auto 46px !important;
    gap: 8px !important;
  }
  .theme-switcher:not(.theme-hidden) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
    width: 100% !important;
  }
  .theme-switcher:not(.theme-hidden) select {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 auto;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .theme-visibility-btn {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .contact-form textarea {
    min-height: 260px;
  }
}

@media (max-width: 440px) {
  .brand-name { max-width: 145px; }
  .theme-switcher:not(.theme-hidden) {
    gap: 6px;
  }
}

/* FIX14: seletor de modelos no mesmo padrão da barbearia, sem texto visível e com toque robusto */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.theme-switcher label { display: none !important; }
.theme-switcher {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.theme-switcher select {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
}
.theme-visibility-btn {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 42px !important;
  position: relative !important;
  z-index: 20 !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  pointer-events: auto !important;
}
.theme-visibility-btn svg { pointer-events: none !important; }
.theme-switcher.theme-hidden {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 4px !important;
  width: auto !important;
  min-width: 50px !important;
  justify-self: end !important;
}
.theme-switcher.theme-hidden select,
.theme-switcher.theme-hidden label { display: none !important; }
.theme-switcher .icon-eye-open { display: block !important; }
.theme-switcher .icon-eye-closed { display: none !important; }
.theme-switcher.theme-hidden .icon-eye-open { display: none !important; }
.theme-switcher.theme-hidden .icon-eye-closed { display: block !important; }
@media (max-width: 680px) {
  .theme-switcher:not(.theme-hidden) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    justify-self: stretch !important;
    width: 100% !important;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .theme-visibility-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex-basis: 44px !important;
  }
}


/* FIX15: comportamento mobile do seletor de temas igual ao projeto Barbearia */
.theme-switcher {
  order: 2 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.theme-switcher label,
.theme-switcher .icon-eye-open,
.theme-switcher .icon-eye-closed {
  display: none !important;
}
.theme-switcher select {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.theme-visibility-btn {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  flex: 0 0 44px !important;
  display: inline-grid !important;
  place-items: center !important;
  position: relative !important;
  z-index: 30 !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  pointer-events: auto !important;
}
.theme-visibility-btn i,
.theme-visibility-btn svg,
.theme-visibility-btn * {
  pointer-events: none !important;
}
.theme-switcher.theme-hidden {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  min-width: 52px !important;
  padding: 4px !important;
  justify-self: end !important;
}
.theme-switcher.theme-hidden select,
.theme-switcher.theme-hidden label {
  display: none !important;
}

@media (max-width: 680px) {
  .nav-shell {
    grid-template-columns: minmax(0, 1fr) auto 48px !important;
    align-items: center !important;
  }
  .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }
  .brand-name {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .menu-btn {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 2 !important;
  }
  .theme-switcher:not(.theme-hidden) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    order: 4 !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    width: 100% !important;
    justify-self: stretch !important;
  }
  .theme-switcher:not(.theme-hidden) select {
    width: 100% !important;
    max-width: none !important;
  }
  .theme-visibility-btn {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }
}

/* FIX16 — seletor de temas/modelos com o mesmo padrão visual do projeto Barbearia. */
.theme-switcher {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  align-self: center !important;
}
.theme-switcher label {
  display: none !important;
}
.theme-switcher select {
  min-height: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  padding: 0 44px 0 16px !important;
  border: 1px solid rgba(var(--gold-rgb), .18) !important;
  background-color: rgba(255, 255, 255, .88) !important;
  color: var(--text) !important;
  box-shadow: 0 14px 30px rgba(var(--shadow-rgb), .08) !important;
  outline: none !important;
}
.theme-switcher select:focus {
  box-shadow: 0 0 0 4px rgba(var(--gold-rgb), .16), 0 14px 30px rgba(var(--shadow-rgb), .08) !important;
}
.theme-visibility-btn {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  flex: 0 0 46px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(var(--gold-rgb), .22) !important;
  background: rgba(255, 255, 255, .72) !important;
  color: var(--brown) !important;
  box-shadow: 0 12px 26px rgba(var(--shadow-rgb), .09) !important;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease !important;
}
.theme-visibility-btn:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(var(--gold-rgb), .42) !important;
  background: rgba(255, 255, 255, .9) !important;
}
.theme-switcher.theme-hidden {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 0 !important;
  min-width: 46px !important;
  width: auto !important;
}
.theme-switcher.theme-hidden .theme-visibility-btn {
  background: linear-gradient(135deg, var(--gold-soft), var(--gold)) !important;
  color: #15100a !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(var(--gold-rgb), .24) !important;
}
.theme-switcher.theme-hidden select,
.theme-switcher.theme-hidden label {
  display: none !important;
}
.theme-visibility-btn i,
.theme-visibility-btn svg,
.theme-visibility-btn * {
  pointer-events: none !important;
}

@media (max-width: 1180px) {
  .nav-shell {
    overflow: visible !important;
  }
}

@media (max-width: 680px) {
  .nav-shell {
    grid-template-columns: minmax(0, 1fr) auto 48px !important;
    gap: 8px !important;
  }
  .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: calc(100vw - 150px) !important;
  }
  .menu-btn {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
  }
  .theme-switcher:not(.theme-hidden) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    justify-self: stretch !important;
    padding-top: 2px !important;
  }
  .theme-switcher:not(.theme-hidden) .theme-visibility-btn {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .theme-switcher:not(.theme-hidden) select {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 520px) {
  .nav-shell {
    width: calc(100% - 16px) !important;
    padding: 9px !important;
    border-radius: 22px !important;
  }
  .brand {
    max-width: calc(100vw - 152px) !important;
  }
  .brand-name {
    font-size: .84rem !important;
    line-height: 1.05 !important;
  }
  .theme-visibility-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .theme-switcher:not(.theme-hidden) {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }
  .theme-switcher select {
    min-height: 44px !important;
    height: 44px !important;
  }
}

/* FIX17 — refinamento do componente de exibir/ocultar modelos no padrão visual da Barbearia.
   Mantém conteúdo intacto e corrige o excesso de arredondamento no mobile. */
@media (max-width: 680px) {
  .nav-shell {
    border-radius: 28px !important;
  }

  .theme-visibility-btn {
    border-radius: 18px !important;
    background: rgba(255, 253, 248, .86) !important;
    color: var(--brown) !important;
    border: 1px solid rgba(var(--gold-rgb), .24) !important;
    box-shadow: 0 12px 26px rgba(var(--shadow-rgb), .09), inset 0 1px 0 rgba(255,255,255,.52) !important;
  }

  .theme-switcher.theme-hidden .theme-visibility-btn {
    border-radius: 18px !important;
    background: linear-gradient(135deg, var(--gold-soft), var(--gold)) !important;
    color: #1b1308 !important;
    border-color: rgba(var(--gold-rgb), .38) !important;
    box-shadow: 0 14px 28px rgba(var(--gold-rgb), .24), inset 0 1px 0 rgba(255,255,255,.32) !important;
  }

  .theme-switcher:not(.theme-hidden) .theme-visibility-btn {
    border-radius: 18px !important;
  }

  .theme-switcher select {
    border-radius: 18px !important;
  }

  .theme-switcher:not(.theme-hidden) select {
    border-radius: 18px !important;
  }
}

@media (max-width: 520px) {
  .nav-shell {
    border-radius: 28px !important;
  }

  .theme-visibility-btn,
  .theme-switcher.theme-hidden .theme-visibility-btn,
  .theme-switcher:not(.theme-hidden) .theme-visibility-btn,
  .theme-switcher select,
  .theme-switcher:not(.theme-hidden) select {
    border-radius: 18px !important;
  }
}

/* FIX18 — aproxima marca, nome e ícone de modelos do padrão visual da Barbearia. */
.brand {
  flex: 0 1 auto !important;
  overflow: visible !important;
}
.brand-mark {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold)) !important;
  color: #1a1208 !important;
  box-shadow: 0 12px 24px rgba(var(--gold-rgb), .18) !important;
  border: 0 !important;
  font-size: 0 !important;
}
.brand-mark svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  fill: currentColor !important;
}
.brand-name {
  display: block !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  max-width: 138px !important;
  line-height: 1.08 !important;
}
.theme-visibility-btn {
  color: var(--brown) !important;
  font-size: 0 !important;
}
.theme-visibility-btn .theme-eye-svg {
  width: 19px !important;
  height: 19px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.05 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  pointer-events: none !important;
}
.theme-switcher.theme-hidden .theme-visibility-btn .theme-eye-svg {
  color: #1b1308 !important;
}

@media (max-width: 680px) {
  .nav-shell {
    grid-template-columns: minmax(0, 1fr) 46px 46px !important;
    align-items: center !important;
  }
  .brand {
    max-width: calc(100vw - 132px) !important;
    gap: 10px !important;
  }
  .brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    border-radius: 15px !important;
  }
  .brand-mark svg {
    width: 20px !important;
    height: 20px !important;
  }
  .brand-name {
    max-width: 112px !important;
    font-size: .82rem !important;
    line-height: 1.02 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
  }
  .menu-btn {
    grid-column: 3 !important;
  }
  .theme-visibility-btn {
    border-radius: 15px !important;
  }
  .theme-switcher:not(.theme-hidden) {
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }
}

@media (max-width: 380px) {
  .brand-name {
    max-width: 96px !important;
    font-size: .78rem !important;
  }
  .brand {
    gap: 8px !important;
  }
}

/* FIX19 — restaura o layout da navbar e alinha o componente de temas ao padrão da Barbearia.
   Ajuste visual/responsivo apenas; conteúdo preservado. */
.nav-shell {
  width: min(1460px, calc(100% - 48px)) !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: minmax(170px, 218px) minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 12px 8px 18px !important;
  overflow: visible !important;
  border-radius: 999px !important;
}
.brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  max-width: 218px !important;
  justify-self: start !important;
}
.brand-name {
  max-width: 148px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.08 !important;
}
.nav-links {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: clamp(8px, .85vw, 16px) !important;
  font-size: clamp(.76rem, .72vw, .88rem) !important;
  overflow: hidden !important;
}
.nav-links a {
  white-space: nowrap !important;
  line-height: 1.1 !important;
}
.nav-actions {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  justify-self: end !important;
  width: auto !important;
  min-width: 0 !important;
}
.nav-actions .btn {
  width: auto !important;
  min-width: 220px !important;
  height: 48px !important;
  padding: 0 22px !important;
  white-space: nowrap !important;
}
.theme-switcher {
  grid-column: 4 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  order: initial !important;
  display: grid !important;
  grid-template-columns: 44px minmax(132px, 164px) !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
}
.theme-switcher select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
.theme-switcher.theme-hidden {
  grid-template-columns: 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  justify-self: end !important;
  padding: 0 !important;
}
.theme-visibility-btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  flex: 0 0 44px !important;
}
.menu-btn {
  display: none !important;
}

@media (max-width: 1380px) {
  .nav-shell {
    width: min(1280px, calc(100% - 34px)) !important;
    grid-template-columns: minmax(166px, 206px) minmax(0, 1fr) auto auto !important;
    gap: 9px !important;
  }
  .brand { max-width: 206px !important; }
  .brand-name { max-width: 132px !important; font-size: .9rem !important; }
  .nav-links { gap: 8px !important; font-size: .76rem !important; }
  .nav-actions .btn { min-width: 188px !important; padding-inline: 16px !important; font-size: .84rem !important; }
  .theme-switcher { grid-template-columns: 42px minmax(118px, 144px) !important; }
  .theme-visibility-btn { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; }
}

@media (max-width: 1180px) {
  .nav-shell {
    width: calc(100% - 24px) !important;
    grid-template-columns: minmax(0, 1fr) auto 48px !important;
    gap: 10px !important;
    padding: 9px 10px 9px 14px !important;
    overflow: visible !important;
  }
  .brand {
    grid-column: 1 !important;
    max-width: calc(100vw - 180px) !important;
  }
  .nav-links {
    grid-column: auto !important;
    display: none !important;
    position: fixed !important;
    top: 92px !important;
    left: 24px !important;
    right: 24px !important;
    padding: 22px !important;
    border-radius: 26px !important;
    background: var(--nav-bg, rgba(255,253,248,.96)) !important;
    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;
    box-shadow: var(--shadow) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    color: var(--choco) !important;
    font-size: .98rem !important;
    overflow: auto !important;
    max-height: calc(100dvh - 118px) !important;
  }
  .nav-links.open {
    display: flex !important;
  }
  .nav-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    width: 48px !important;
  }
  .nav-actions .btn {
    display: none !important;
  }
  .menu-btn {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    justify-self: end !important;
  }
  .theme-switcher {
    grid-column: 2 !important;
    grid-row: 1 !important;
    grid-template-columns: 44px minmax(118px, 148px) !important;
    justify-self: end !important;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
  }
}

@media (max-width: 760px) {
  .navbar {
    inset: 10px 0 auto 0 !important;
  }
  .nav-shell {
    width: calc(100% - 16px) !important;
    min-height: 64px !important;
    grid-template-columns: minmax(0, 1fr) 46px 46px !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 28px !important;
  }
  .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: calc(100vw - 150px) !important;
    gap: 9px !important;
  }
  .brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    border-radius: 15px !important;
  }
  .brand-name {
    max-width: 112px !important;
    font-size: .82rem !important;
    line-height: 1.02 !important;
    white-space: normal !important;
  }
  .nav-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 46px !important;
  }
  .menu-btn {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
  }
  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 44px !important;
    min-width: 44px !important;
    justify-self: end !important;
  }
  .theme-switcher:not(.theme-hidden) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    justify-self: stretch !important;
    padding-top: 2px !important;
  }
  .theme-switcher:not(.theme-hidden) .theme-visibility-btn {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .theme-switcher:not(.theme-hidden) select {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 18px !important;
  }
  .theme-visibility-btn,
  .theme-switcher.theme-hidden .theme-visibility-btn,
  .theme-switcher:not(.theme-hidden) .theme-visibility-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 18px !important;
  }
  .nav-links {
    top: 104px !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
  }
}

@media (max-width: 380px) {
  .brand-name {
    max-width: 96px !important;
    font-size: .78rem !important;
  }
}

/* FIX20 — refinamento solicitado: botão do olho redondo como o menu e tom diferenciado no Claro Premium. */
.theme-visibility-btn,
.theme-switcher.theme-hidden .theme-visibility-btn,
.theme-switcher:not(.theme-hidden) .theme-visibility-btn {
  border-radius: 999px !important;
}

@media (max-width: 760px) {
  .theme-visibility-btn,
  .theme-switcher.theme-hidden .theme-visibility-btn,
  .theme-switcher:not(.theme-hidden) .theme-visibility-btn {
    border-radius: 999px !important;
  }
}

body[data-theme="claro-premium"] .theme-switcher select {
  background:
    linear-gradient(135deg, rgba(245, 220, 179, .96), rgba(255, 247, 233, .94)) !important;
  border-color: rgba(var(--gold-rgb), .30) !important;
  color: #2b2117 !important;
  box-shadow: 0 14px 30px rgba(var(--shadow-rgb), .09), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

body[data-theme="claro-premium"] .theme-switcher select:focus {
  box-shadow: 0 0 0 4px rgba(var(--gold-rgb), .18), 0 14px 30px rgba(var(--shadow-rgb), .09), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

/* FIX21 — ajuste visual do seletor "Claro premium": remove aparência bege/cobre e usa tom claro neutro/perolado. */
body[data-theme="claro-premium"] .theme-switcher select {
  background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(246, 248, 250, .96)) !important;
  border-color: rgba(30, 41, 59, .10) !important;
  color: #171717 !important;
  box-shadow: 0 14px 30px rgba(var(--shadow-rgb), .08), inset 0 1px 0 rgba(255,255,255,.78) !important;
}

body[data-theme="claro-premium"] .theme-switcher select:focus {
  border-color: rgba(205, 170, 94, .36) !important;
  box-shadow: 0 0 0 4px rgba(205, 170, 94, .14), 0 14px 30px rgba(var(--shadow-rgb), .08), inset 0 1px 0 rgba(255,255,255,.78) !important;
}

@media (max-width: 760px) {
  body[data-theme="claro-premium"] .theme-switcher select {
    background: linear-gradient(135deg, rgba(255, 255, 255, .99), rgba(248, 249, 250, .97)) !important;
  }
}


/* Ajuste visual específico — logo/ícone da Doceria sem alterar o modelo do cabeçalho. */
.brand-mark {
  background: radial-gradient(circle at 30% 22%, #fff8dc 0%, #f2cf82 42%, #c68a35 100%) !important;
  color: var(--choco) !important;
  box-shadow: 0 14px 28px rgba(var(--shadow-rgb), .14), inset 0 0 0 1px rgba(255, 255, 255, .52) !important;
  border: 1px solid rgba(var(--gold-rgb), .22) !important;
}
.brand-mark img {
  width: 31px !important;
  height: 31px !important;
  display: block !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 3px rgba(var(--shadow-rgb), .16));
}

/* FIX LOGO TEMÁTICA — o ícone da marca agora herda as variáveis do tema ativo. */
.brand-mark .brand-logo-svg {
  width: 29px !important;
  height: 29px !important;
  display: block !important;
  overflow: visible !important;
}
.brand-mark .logo-frosting {
  fill: var(--tea) !important;
}
.brand-mark .logo-cup {
  fill: var(--choco) !important;
}
.brand-mark .logo-cream {
  fill: var(--gold-soft) !important;
}
.brand-mark .logo-lines {
  fill: none !important;
  stroke: var(--ivory) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  opacity: .82 !important;
}
.brand-mark .logo-cherry {
  fill: var(--tea-dark) !important;
}
.brand-mark .logo-leaf {
  fill: none !important;
  stroke: var(--brown) !important;
  stroke-width: 2.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.brand-mark .logo-sparkles {
  fill: var(--gold-soft) !important;
}
body[data-theme="azul-premium"] .brand-mark .logo-frosting,
body[data-theme="ceu-algodao-premium"] .brand-mark .logo-frosting {
  fill: var(--blue) !important;
}
body[data-theme="menta-premium"] .brand-mark .logo-frosting,
body[data-theme="jardim-premium"] .brand-mark .logo-frosting {
  fill: var(--tea) !important;
}
body[data-theme="vermelho-premium"] .brand-mark .logo-cherry,
body[data-theme="morango-creme-premium"] .brand-mark .logo-cherry,
body[data-theme="coral-premium"] .brand-mark .logo-cherry {
  fill: var(--gold) !important;
}
@media (max-width: 680px) {
  .brand-mark .brand-logo-svg {
    width: 27px !important;
    height: 27px !important;
  }
}

/* FIX LOGO — fundo do ícone acompanha o tema; o doce mantém identidade visual.
   O doce só recebe pequenos ajustes de contraste por contorno/sombra para não sumir
   quando o fundo do tema fica próximo das cores do desenho. */
.brand-mark {
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .88) 22%, var(--gold-soft) 56%, var(--gold) 100%) !important;
  color: var(--choco) !important;
  border-color: rgba(var(--gold-rgb), .32) !important;
  box-shadow:
    0 14px 28px rgba(var(--shadow-rgb), .14),
    inset 0 0 0 1px rgba(255, 255, 255, .56),
    inset 0 -10px 18px rgba(var(--choco-rgb), .08) !important;
}
.brand-mark .brand-logo-svg {
  filter: drop-shadow(0 2px 3px rgba(var(--shadow-rgb), .18)) !important;
}
.brand-mark .logo-frosting {
  fill: #fff2df !important;
  stroke: rgba(96, 58, 37, .18) !important;
  stroke-width: 1.15 !important;
  stroke-linejoin: round !important;
}
.brand-mark .logo-cup {
  fill: #8a5630 !important;
  stroke: rgba(63, 38, 23, .18) !important;
  stroke-width: .9 !important;
  stroke-linejoin: round !important;
}
.brand-mark .logo-cream {
  fill: #f0bd86 !important;
}
.brand-mark .logo-lines {
  fill: none !important;
  stroke: #fff8ef !important;
  stroke-width: 2.35 !important;
  stroke-linecap: round !important;
  opacity: .9 !important;
}
.brand-mark .logo-cherry {
  fill: #c94f58 !important;
  stroke: rgba(91, 45, 56, .16) !important;
  stroke-width: .9 !important;
}
.brand-mark .logo-leaf {
  fill: none !important;
  stroke: #4f8a55 !important;
  stroke-width: 2.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.brand-mark .logo-sparkles {
  fill: #f2c766 !important;
  stroke: rgba(91, 66, 28, .12) !important;
  stroke-width: .6 !important;
}
body[data-theme="baunilha-premium"] .brand-mark,
body[data-theme="champagne-premium"] .brand-mark,
body[data-theme="pessego-suave-premium"] .brand-mark {
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .98) 0%, rgba(255, 250, 236, .88) 22%, var(--gold-soft) 54%, var(--tea-dark) 100%) !important;
}
body[data-theme="claro-premium"] .brand-mark,
body[data-theme="baunilha-premium"] .brand-mark,
body[data-theme="champagne-premium"] .brand-mark {
  /* Temas mais claros recebem apenas mais contorno no doce, sem trocar a paleta principal. */
}
body[data-theme="claro-premium"] .brand-mark .logo-frosting,
body[data-theme="baunilha-premium"] .brand-mark .logo-frosting,
body[data-theme="champagne-premium"] .brand-mark .logo-frosting {
  stroke: rgba(74, 53, 41, .24) !important;
}

/* FIX22 — hero inicial mais largo, seguindo a proporção do modelo de referência.
   Ajuste visual restrito ao bloco inicial: mantém componentes, conteúdo, temas e estrutura geral. */
.hero > .container.hero-content {
  width: min(var(--max), calc(100% - 48px)) !important;
  max-width: min(var(--max), calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero h1 {
  max-width: 980px !important;
}
.hero p {
  max-width: 760px !important;
}
.hero-actions,
.hero-points {
  max-width: 900px !important;
}

@media (min-width: 1381px) {
  .hero > .container.hero-content {
    width: min(1220px, calc(100% - 96px)) !important;
    max-width: min(1220px, calc(100% - 96px)) !important;
  }
  .hero h1 {
    max-width: 1040px !important;
  }
}

@media (max-width: 760px) {
  .hero > .container.hero-content {
    width: min(100% - 28px, var(--max)) !important;
    max-width: min(100% - 28px, var(--max)) !important;
  }
  .hero h1,
  .hero p,
  .hero-actions,
  .hero-points {
    max-width: 100% !important;
  }
}


/* FIX23 — usa o ícone SVG enviado pelo cliente, mantendo o doce estável e o fundo integrado aos temas. */
.brand-mark {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  overflow: visible !important;
}
.brand-mark .gemini-doceria-logo {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  fill: initial !important;
  overflow: visible !important;
  filter: drop-shadow(0 10px 18px rgba(var(--gold-rgb), .16)) !important;
}
.brand-mark .logo-user-bg {
  fill: var(--gold-soft) !important;
}
body[data-theme="claro-premium"] .brand-mark .logo-user-bg {
  fill: #D2EBE1 !important;
}
.brand-mark .logo-user-cup {
  fill: #D2A479 !important;
}
.brand-mark .logo-user-cup-line {
  fill: none !important;
  stroke: #B38459 !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}
.brand-mark .logo-user-frosting {
  fill: #2D937A !important;
}
.brand-mark .logo-user-highlight {
  fill: #FFFFFF !important;
  opacity: .4 !important;
}
.brand-mark .logo-user-cherry {
  fill: #E63946 !important;
}
.brand-mark .logo-user-stem {
  fill: none !important;
  stroke: #4A5568 !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}
.brand-mark .logo-user-sparkle {
  fill: #F4A261 !important;
}
@media (max-width: 680px) {
  .brand-mark .gemini-doceria-logo {
    width: 40px !important;
    height: 40px !important;
  }
}

/* FIX24 — ícone enviado pelo cliente sem vazamento de cor interna.
   Mantém o componente de marca no padrão do site: o fundo do badge acompanha o tema,
   enquanto o desenho do doce permanece com paleta própria. */
.brand-mark {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.96) 0%, rgba(255,255,255,.72) 20%, var(--gold-soft) 56%, var(--gold) 100%) !important;
  border: 1px solid rgba(var(--gold-rgb), .22) !important;
  box-shadow:
    0 12px 24px rgba(var(--gold-rgb), .15),
    inset 0 0 0 1px rgba(255,255,255,.38) !important;
  color: var(--choco) !important;
}

.brand-mark .gemini-doceria-logo {
  width: 29px !important;
  height: 29px !important;
  display: block !important;
  overflow: visible !important;
  filter: drop-shadow(0 2px 3px rgba(var(--shadow-rgb), .16)) !important;
}

.brand-mark .logo-user-bg {
  display: none !important;
  fill: transparent !important;
}

body[data-theme="claro-premium"] .brand-mark,
body[data-theme="baunilha-premium"] .brand-mark,
body[data-theme="champagne-premium"] .brand-mark,
body[data-theme="pessego-suave-premium"] .brand-mark {
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.98) 0%, rgba(255,250,242,.86) 24%, var(--gold-soft) 58%, var(--tea-dark) 100%) !important;
}

body[data-theme="morango-creme-premium"] .brand-mark,
body[data-theme="vermelho-premium"] .brand-mark,
body[data-theme="coral-premium"] .brand-mark {
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.96) 0%, rgba(255,236,242,.80) 24%, var(--gold-soft) 58%, var(--tea-dark) 100%) !important;
}

@media (max-width: 680px) {
  .brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    border-radius: 15px !important;
  }
  .brand-mark .gemini-doceria-logo {
    width: 27px !important;
    height: 27px !important;
  }
}

/* FIX25 — borda da logo/ícone mais suave entre todos os temas.
   Remove o contorno duplo/duro do badge, mantém o fundo integrado ao tema
   e deixa o cupcake com paleta própria sem vazamentos visuais. */
.brand-mark {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--gold-soft) 58%, #ffffff 42%),
      color-mix(in srgb, var(--gold) 38%, #ffffff 62%)
    ) !important;
  border: 0 !important;
  outline: 1px solid rgba(255, 255, 255, .50) !important;
  outline-offset: -1px !important;
  box-shadow:
    0 10px 22px rgba(var(--shadow-rgb), .08),
    0 1px 0 rgba(255,255,255,.48) inset !important;
}

.brand-mark .gemini-doceria-logo {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  overflow: visible !important;
  filter: drop-shadow(0 1px 2px rgba(var(--shadow-rgb), .12)) !important;
}

.brand-mark .logo-user-bg {
  display: none !important;
  fill: transparent !important;
  opacity: 0 !important;
}

body[data-theme="claro-premium"] .brand-mark,
body[data-theme="baunilha-premium"] .brand-mark,
body[data-theme="champagne-premium"] .brand-mark,
body[data-theme="pessego-suave-premium"] .brand-mark {
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--gold-soft) 48%, #ffffff 52%),
      color-mix(in srgb, var(--tea-dark) 24%, #ffffff 76%)
    ) !important;
  box-shadow:
    0 10px 22px rgba(var(--shadow-rgb), .075),
    0 1px 0 rgba(255,255,255,.58) inset !important;
}

body[data-theme="rosa-premium"] .brand-mark,
body[data-theme="morango-creme-premium"] .brand-mark,
body[data-theme="vermelho-premium"] .brand-mark,
body[data-theme="coral-premium"] .brand-mark {
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--gold-soft) 52%, #ffffff 48%),
      color-mix(in srgb, var(--tea-dark) 20%, #ffffff 80%)
    ) !important;
}

body[data-theme="menta-premium"] .brand-mark,
body[data-theme="jardim-premium"] .brand-mark,
body[data-theme="ceu-algodao-premium"] .brand-mark {
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--gold-soft) 45%, #ffffff 55%),
      color-mix(in srgb, var(--gold) 28%, #ffffff 72%)
    ) !important;
}

@supports not (background: color-mix(in srgb, #fff, #000)) {
  .brand-mark {
    background: linear-gradient(135deg, rgba(255,255,255,.94), var(--gold-soft)) !important;
  }
}

@media (max-width: 680px) {
  .brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    border-radius: 15px !important;
  }
  .brand-mark .gemini-doceria-logo {
    width: 27px !important;
    height: 27px !important;
  }
}

/* FIX26 — borda suave no botão do olho quando a lista de temas está oculta.
   Remove o contorno duro/halo colorido do estado oculto e mantém o botão redondo,
   discreto e integrado ao tema ativo, sem alterar o modelo geral da navbar. */
.theme-switcher.theme-hidden .theme-visibility-btn {
  border: 0 !important;
  outline: 1px solid rgba(255, 255, 255, .48) !important;
  outline-offset: -1px !important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--gold-soft) 38%, #ffffff 62%),
      color-mix(in srgb, var(--gold) 16%, #ffffff 84%)
    ) !important;
  color: var(--choco) !important;
  box-shadow:
    0 10px 22px rgba(var(--shadow-rgb), .075),
    0 1px 0 rgba(255, 255, 255, .58) inset !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.theme-switcher.theme-hidden .theme-visibility-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, 0));
  pointer-events: none;
  z-index: 0;
}

.theme-switcher.theme-hidden .theme-visibility-btn svg {
  position: relative !important;
  z-index: 1 !important;
  width: 18px !important;
  height: 18px !important;
  opacity: .86 !important;
}

.theme-switcher.theme-hidden .theme-visibility-btn:hover {
  transform: translateY(-1px) !important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--gold-soft) 45%, #ffffff 55%),
      color-mix(in srgb, var(--gold) 20%, #ffffff 80%)
    ) !important;
  box-shadow:
    0 12px 24px rgba(var(--shadow-rgb), .09),
    0 1px 0 rgba(255, 255, 255, .64) inset !important;
}

@supports not (background: color-mix(in srgb, #fff, #000)) {
  .theme-switcher.theme-hidden .theme-visibility-btn {
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(var(--gold-rgb), .18)) !important;
  }
}

/* FIX27 — reposiciona o seletor de temas para o mesmo alinhamento do modelo Barbearia.
   Ordem desktop: marca → olho/seletor de tema → menu central → CTA.
   Ajuste restrito ao cabeçalho; mobile/tablet permanece com o padrão responsivo atual. */
@media (min-width: 1181px) {
  .nav-shell {
    grid-template-columns: minmax(170px, 214px) minmax(184px, 220px) minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }

  .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }

  .theme-switcher {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    order: initial !important;
    grid-template-columns: 44px minmax(132px, 164px) !important;
  }

  .theme-switcher.theme-hidden {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    grid-template-columns: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
  }

  .nav-links {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: center !important;
  }

  .nav-actions {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }
}

@media (min-width: 1181px) and (max-width: 1380px) {
  .nav-shell {
    grid-template-columns: minmax(160px, 202px) minmax(170px, 196px) minmax(0, 1fr) auto !important;
    gap: 9px !important;
  }

  .theme-switcher {
    grid-template-columns: 42px minmax(112px, 138px) !important;
  }
}
