/* ==========================================================================
   Zero2Three Theme — soft, parent-friendly homepage styling.
   Scoped entirely under body.theme-zero2three so it never leaks into other
   themes or admin pages. Colors are read from CSS custom properties set in
   master.blade.php (admin-customizable via Templates > Customize).
   ========================================================================== */

@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

body.theme-zero2three {
    --z23-purple: #4E4670;
    --z23-violet: #6B5BC4;
    --z23-pink: #FADCF3;
    --z23-blue: #C9EEF2;
    --z23-green: #E1F5C8;
    --z23-cream: #FDF6E3;
    --z23-text: #2E2A3D;
    --z23-muted: #918AAE;
    --z23-border: #F2E6EF;
    --z23-addcart-bg: #FFF1F4;
    background: #ffffff !important;
    color: var(--z23-text);
    /* Nested Bootstrap .row negative margins (e.g. shop/category sorting bars) bleed a
       few px past the viewport on mobile, causing rubber-band horizontal scroll. Clip it
       rather than hunting every nested row — no visible layout is meant to rely on it. */
    overflow-x: hidden;
}

body.theme-zero2three .z23-heading {
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    color: var(--z23-text);
}
body.theme-zero2three .z23-body {
    font-family: 'Inter', sans-serif;
    color: var(--z23-muted);
}
body.theme-zero2three a { text-decoration: none; }

/* ---------- Hero (slider) ---------- */
body.theme-zero2three .z23-hero {
    padding: 56px 24px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
body.theme-zero2three .z23-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    background: linear-gradient(120deg, #FBEFE9 0%, #F7E3EC 55%, #EFE6F5 100%);
    background-size: cover;
    background-position: center;
    transition: opacity .8s ease;
    z-index: 0;
}
body.theme-zero2three .z23-hero-slide::after {
    content: '';
    position: absolute; inset: 0;
    background: inherit;
    filter: none;
}
body.theme-zero2three .z23-hero-slide.is-active { opacity: 1; z-index: 1; }
body.theme-zero2three .z23-hero-slide[data-slide="1"] { background-image: linear-gradient(120deg, #FBEFE9 0%, #F7E3EC 55%, #EFE6F5 100%); }
body.theme-zero2three .z23-hero-slide[data-slide="2"] { background-image: linear-gradient(120deg, #E9F3FB 0%, #E3EEF7 55%, #E6F5F0 100%); }
body.theme-zero2three .z23-hero-slide[data-slide="3"] { background-image: linear-gradient(120deg, #EDF7E4 0%, #F2F7E3 55%, #FDF6E3 100%); }
body.theme-zero2three .z23-hero-content { position: relative; z-index: 2; }
body.theme-zero2three .z23-hero-copy { display: none; }
body.theme-zero2three .z23-hero-copy.is-active { display: block; animation: z23fadeup .5s ease; }
@keyframes z23fadeup { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
body.theme-zero2three .z23-hero-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255,255,255,.85);
    color: var(--z23-purple);
    border: none;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    z-index: 3;
    font-size: 16px;
    box-shadow: 0 2px 10px rgba(78,70,112,.15);
}
body.theme-zero2three .z23-hero-arrow.z23-prev { left: 16px; }
body.theme-zero2three .z23-hero-arrow.z23-next { right: 16px; }
body.theme-zero2three .z23-hero-dots {
    position: relative; z-index: 2;
    display: flex; justify-content: center; gap: 6px;
    margin-top: 26px;
}
body.theme-zero2three .z23-hero-dot {
    width: 8px; height: 8px; border-radius: 999px;
    background: #D8D2E6;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: width .2s ease, background .2s ease;
}
body.theme-zero2three .z23-hero-dot.is-active { width: 26px; background: var(--z23-purple); }

/* Photo-mode hero: real admin slider banners, no text overlay.
   Ratio matches the documented upload size (Homepage Hero Slider, 1060x395)
   at every breakpoint — these are text-bearing graphics, so a mismatched
   ratio here means object-fit:cover crops off the text, not just background. */
body.theme-zero2three .z23-hero-photo {
    padding: 0;
    width: 100%;
    aspect-ratio: 1060 / 395;
}
body.theme-zero2three .z23-hero-slide-photo {
    display: block;
    background-size: cover;
    background-position: center;
}
body.theme-zero2three .z23-hero-dots-photo {
    position: absolute; left: 0; right: 0; bottom: 16px;
    z-index: 3;
    margin-top: 0;
}
body.theme-zero2three .z23-hero-dots-photo .z23-hero-dot { background: rgba(255,255,255,.6); }
body.theme-zero2three .z23-hero-dots-photo .z23-hero-dot.is-active { background: #fff; }

body.theme-zero2three .z23-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--z23-green);
    color: #4E6B27;
    border-radius: 999px;
    padding: 7px 16px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    margin-bottom: 18px;
}
body.theme-zero2three .z23-hero-badge::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #4E6B27;
    display: inline-block;
}
body.theme-zero2three .z23-hero h1 {
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    font-size: clamp(30px, 5.5vw, 46px);
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--z23-purple);
    margin-bottom: 14px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}
body.theme-zero2three .z23-hero p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--z23-text);
    opacity: .8;
    max-width: 460px;
    margin: 0 auto 26px;
}
body.theme-zero2three .z23-hero-actions {
    display: flex; justify-content: center; gap: 12px; flex-wrap: wrap;
    margin-bottom: 30px;
}
body.theme-zero2three .z23-btn-primary {
    background: var(--z23-purple);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 15px 30px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 15px;
    display: inline-block;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}
body.theme-zero2three .z23-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(78,70,112,.28);
    color: #fff;
}
body.theme-zero2three .z23-btn-secondary {
    background: #fff;
    color: var(--z23-purple);
    border: none;
    border-radius: 999px;
    padding: 15px 28px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 15px;
    display: inline-block;
    box-shadow: 0 2px 8px rgba(78,70,112,.1);
    transition: transform .15s ease;
}
body.theme-zero2three .z23-btn-secondary:hover { transform: translateY(-2px); color: var(--z23-purple); }
body.theme-zero2three .z23-hero-trust {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--z23-muted);
}
body.theme-zero2three .z23-hero-trust b { color: #E8A33D; }

/* ---------- Section shells & eyebrows ---------- */
body.theme-zero2three .z23-section { padding: 56px 0; }
body.theme-zero2three .z23-section-blue { background: linear-gradient(180deg, #E6F7FB 0%, #F6FDFE 62%, #ffffff 100%); }
body.theme-zero2three .z23-section-cream { background: linear-gradient(180deg, #FFF7DE 0%, #FFFDF6 60%, #ffffff 100%); }
body.theme-zero2three .z23-section-green { background: linear-gradient(180deg, #F1FBE2 0%, #FBFEF6 66%, #ffffff 100%); }
body.theme-zero2three .z23-section-peach { background: #FBEFE9; }
body.theme-zero2three .z23-section-pink { background: #FCEEF6; }
body.theme-zero2three .z23-section-lavender { background: #F2EFFA; }
body.theme-zero2three .z23-section-mint { background: #DFF3EE; }

body.theme-zero2three .z23-eyebrow {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    color: var(--z23-violet);
    text-transform: uppercase;
    margin-bottom: 6px;
}
body.theme-zero2three .z23-eyebrow.z23-dotted::before {
    content: '';
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #E8A33D;
    margin-right: 8px;
}
body.theme-zero2three .z23-section-title {
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    font-size: 32px;
    color: var(--z23-text);
    margin-top: 0;
    margin-bottom: 6px;
}
body.theme-zero2three .z23-section-sub {
    font-family: 'Inter', sans-serif;
    color: var(--z23-muted);
    font-size: 14.5px;
}
body.theme-zero2three .z23-section-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    margin-bottom: 26px;
}
body.theme-zero2three .z23-section-link {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: var(--z23-text);
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}
body.theme-zero2three .z23-section-link:hover { color: var(--z23-violet); }
body.theme-zero2three .z23-center { text-align: center; }

/* ---------- Decorative section icons ---------- */
body.theme-zero2three .z23-section { position: relative; }
body.theme-zero2three .z23-section > .container { position: relative; z-index: 1; }
body.theme-zero2three .z23-deco { position: absolute; pointer-events: none; z-index: 0; }
body.theme-zero2three .z23-deco-rainbow {
    top: 14px; right: 6%;
    width: 100px; height: 50px;
}
body.theme-zero2three .z23-deco-rainbow span {
    position: absolute; left: 50%; bottom: 0;
    border-style: solid;
    border-bottom: none;
    border-radius: 999px 999px 0 0;
    transform: translateX(-50%);
}
body.theme-zero2three .z23-deco-rainbow span:nth-child(1) { width: 98px; height: 49px; border-width: 7px; border-color: #F5715F; }
body.theme-zero2three .z23-deco-rainbow span:nth-child(2) { width: 70px; height: 35px; border-width: 7px; border-color: #F4B44A; }
body.theme-zero2three .z23-deco-rainbow span:nth-child(3) { width: 42px; height: 21px; border-width: 7px; border-color: #9FE0E8; }

/* Shop by Age — extra scattered decorations (sun ring, cloud, flower, bubbles, balloon, dots) */
body.theme-zero2three .z23-deco-sun {
    top: 47px; left: 8%;
    width: 70px; height: 70px;
    border-radius: 999px;
    background: rgba(244,148,64,.2);
    border: 8px dashed #F49440;
    opacity: .65;
}
body.theme-zero2three .z23-deco-cloud1 {
    top: 70px; left: 5%;
    width: 86px; height: 34px;
    border-radius: 999px;
    background: #fff;
    opacity: .7;
}
body.theme-zero2three .z23-deco-cloud1::after {
    content: '';
    position: absolute; top: -14px; left: 18px;
    width: 44px; height: 44px;
    border-radius: 999px;
    background: #fff;
}
body.theme-zero2three .z23-deco-cloud2 {
    top: 55px; right: 22.5%;
    width: 69px; height: 27px;
    border-radius: 999px;
    background: #fff;
    opacity: .7;
}
body.theme-zero2three .z23-deco-cloud2::after {
    content: '';
    position: absolute; top: -9px; left: 33px;
    width: 35px; height: 35px;
    border-radius: 999px;
    background: #fff;
}
body.theme-zero2three .z23-deco-flower {
    top: 350px; left: 4.5%;
    width: 40px; height: 30px;
}
body.theme-zero2three .z23-deco-flower span {
    position: absolute;
    width: 24px; height: 26px;
    background: #F1C2E6;
}
body.theme-zero2three .z23-deco-flower span:nth-child(1) { left: 0; border-radius: 60% 40% 50% 50%; transform: rotate(-18deg); }
body.theme-zero2three .z23-deco-flower span:nth-child(2) { left: 16px; border-radius: 40% 60% 50% 50%; transform: rotate(18deg); }
body.theme-zero2three .z23-deco-flower span:nth-child(3) { left: 18px; top: 5px; width: 3px; height: 16px; background: rgba(78,70,112,.35); border-radius: 999px; }
body.theme-zero2three .z23-deco-bubbles {
    top: 250px; right: 5.5%;
    width: 24px; height: 30px;
}
body.theme-zero2three .z23-deco-bubbles span { position: absolute; border-radius: 999px; border: 2px solid #9FE0E8; }
body.theme-zero2three .z23-deco-bubbles span:nth-child(1) { width: 18px; height: 18px; left: 6px; top: 8px; }
body.theme-zero2three .z23-deco-bubbles span:nth-child(2) { width: 14px; height: 14px; left: 0; top: 0; }
body.theme-zero2three .z23-deco-bubbles span:nth-child(3) { width: 10px; height: 10px; left: 3px; top: 17px; }
body.theme-zero2three .z23-deco-balloon {
    top: 95px; right: 26%;
    width: 34px; height: 60px;
}
body.theme-zero2three .z23-deco-balloon span:nth-child(1) {
    position: absolute; top: 0; left: 0;
    width: 34px; height: 42px;
    background: #FADCF3;
    border-radius: 999px 999px 60% 60%;
    opacity: .65;
}
body.theme-zero2three .z23-deco-balloon span:nth-child(2) {
    position: absolute; top: 42px; left: 16px;
    width: 1px; height: 34px;
    background: rgba(78,70,112,.25);
}
body.theme-zero2three .z23-deco-dot-orange1 { top: 256px; left: 3%; width: 14px; height: 14px; background: #F4B44A; }
body.theme-zero2three .z23-deco-dot-green { top: 514px; left: 23%; width: 10px; height: 10px; background: #B9E894; }
body.theme-zero2three .z23-deco-dot-purple { top: 386px; right: 5%; width: 10px; height: 10px; background: #C6B7F5; }
body.theme-zero2three .z23-deco-dot-square { top: 434px; right: 15%; width: 20px; height: 20px; background: #F4B44A; opacity: .7; }
body.theme-zero2three .z23-deco-star { top: 400px; right: 3%; font-size: 22px; color: #F4B44A; }
body.theme-zero2three .z23-deco-molecule { top: 235px; right: 1%; width: 30px; height: 30px; }
body.theme-zero2three .z23-deco-molecule span { position: absolute; width: 8px; height: 8px; border-radius: 999px; background: rgba(78,70,112,.18); }
body.theme-zero2three .z23-deco-molecule span:nth-child(1) { top: 0; left: 8px; }
body.theme-zero2three .z23-deco-molecule span:nth-child(2) { top: 12px; left: 0; }
body.theme-zero2three .z23-deco-molecule span:nth-child(3) { top: 12px; left: 18px; }
body.theme-zero2three .z23-deco-bear {
    top: 8px; left: 4%;
    width: 90px; height: 90px;
}

/* Shop by Category — soft circles, sparkle flower, teardrop, bear, dots */
body.theme-zero2three .z23-deco-circle { border-radius: 999px; }
body.theme-zero2three .z23-deco-circle-yellow { top: 40px; left: 4%; width: 150px; height: 150px; background: rgba(255,239,180,.6); }
body.theme-zero2three .z23-deco-circle-blue { top: 229px; right: 4%; width: 210px; height: 210px; background: rgba(198,238,244,.45); }
body.theme-zero2three .z23-deco-circle-pink { top: 498px; left: 14%; width: 120px; height: 120px; background: rgba(252,214,238,.45); }
body.theme-zero2three .z23-deco-sparkle { top: 75px; left: 7%; width: 26px; height: 26px; }
body.theme-zero2three .z23-deco-sparkle span { position: absolute; width: 13px; height: 13px; border-radius: 999px; background: #FADCF3; }
body.theme-zero2three .z23-deco-sparkle span:nth-child(1) { top: 0; left: 13px; }
body.theme-zero2three .z23-deco-sparkle span:nth-child(2) { top: 13px; left: 0; }
body.theme-zero2three .z23-deco-sparkle span:nth-child(3) { top: 13px; left: 13px; background: #FFF3C4; }
body.theme-zero2three .z23-deco-sparkle span:nth-child(4) { top: 27px; left: 3px; }
body.theme-zero2three .z23-deco-sparkle span:nth-child(5) { top: 27px; left: 17px; }
body.theme-zero2three .z23-deco-teardrop { top: 420px; left: 15%; width: 22px; height: 24px; }
body.theme-zero2three .z23-deco-teardrop span { position: absolute; background: #F5715F; }
body.theme-zero2three .z23-deco-teardrop span:nth-child(1) { top: 6px; left: 6px; width: 16px; height: 16px; border-radius: 4px; transform: rotate(45deg); }
body.theme-zero2three .z23-deco-teardrop span:nth-child(2) { top: 0; left: 0; width: 16px; height: 16px; border-radius: 999px; }
body.theme-zero2three .z23-deco-dot-green-sm { top: 108px; right: 26%; width: 14px; height: 14px; background: #B9E894; }
body.theme-zero2three .z23-deco-dot-green-sq { top: 202px; right: 18%; width: 18px; height: 18px; background: #B9E894; opacity: .7; }
body.theme-zero2three .z23-deco-dot-peach { top: 520px; right: 13%; width: 18px; height: 18px; background: #FBD0AE; }
body.theme-zero2three .z23-deco-dot-violet { top: 350px; left: 8%; width: 10px; height: 10px; background: #C6B7F5; }

/* Best Sellers — soft circle, rainbow (left this time), dots, star, molecule */
body.theme-zero2three .z23-deco-soft-circle { border-radius: 999px; background: rgba(255,255,255,.5); }
body.theme-zero2three .z23-deco-circle-soft-left { top: 40px; left: 4%; width: 120px; height: 120px; }
body.theme-zero2three .z23-deco-circle-soft-right { top: 300px; right: 3%; width: 170px; height: 170px; background: rgba(255,255,255,.42); }
body.theme-zero2three .z23-section-bestsellers .z23-deco-rainbow { top: 10px; left: 6%; right: auto; }
body.theme-zero2three .z23-deco-dot-square-orange { top: 165px; right: 8%; width: 16px; height: 16px; background: #F4B44A; opacity: .7; }
body.theme-zero2three .z23-deco-dot-coral { top: 195px; right: 22%; width: 12px; height: 12px; background: #F5715F; }
body.theme-zero2three .z23-deco-dot-pink-bs { top: 350px; left: 12%; width: 12px; height: 12px; background: #FADCF3; }
body.theme-zero2three .z23-section-bestsellers .z23-deco-star { top: 165px; right: 4%; }
body.theme-zero2three .z23-section-bestsellers .z23-deco-molecule { top: 420px; right: 2%; }
body.theme-zero2three .z23-section-bestsellers .z23-deco-bubbles { top: 415px; left: 18%; }
body.theme-zero2three .z23-section-cream .z23-deco-bear { top: auto; bottom: 8px; left: auto; right: 4%; }
body.theme-zero2three .z23-section-cream .z23-deco-bear .z23-bear-halo { display: none; }
body.theme-zero2three .z23-deco-bear .z23-bear-halo {
    position: absolute; left: 0; top: 10px;
    width: 90px; height: 90px;
    border-radius: 999px;
    background: rgba(221,245,190,.55);
}
body.theme-zero2three .z23-deco-bear .z23-bear-head {
    position: absolute; left: 25px; top: 34px;
    width: 40px; height: 40px;
    border-radius: 999px;
    background: #D9B892;
}
body.theme-zero2three .z23-deco-bear .z23-bear-ear {
    position: absolute; top: 22px;
    width: 17px; height: 17px;
    border-radius: 999px;
    background: #D9B892;
}
body.theme-zero2three .z23-deco-bear .z23-bear-ear.z23-ear-l { left: 18px; }
body.theme-zero2three .z23-deco-bear .z23-bear-ear.z23-ear-r { left: 57px; }
body.theme-zero2three .z23-deco-bear .z23-bear-eye {
    position: absolute; top: 48px;
    width: 5px; height: 5px;
    border-radius: 999px;
    background: rgba(78,70,112,.5);
}
body.theme-zero2three .z23-deco-bear .z23-bear-eye.z23-eye-l { left: 36px; }
body.theme-zero2three .z23-deco-bear .z23-bear-eye.z23-eye-r { left: 49px; }
body.theme-zero2three .z23-deco-dot { position: absolute; border-radius: 999px; }

/* ---------- Reviews / Guides / Newsletter — shared extra decorations ---------- */
body.theme-zero2three .z23-deco-moon { border-radius: 999px; }
body.theme-zero2three .z23-deco-moon-back { width: 38px; height: 38px; background: #C6B7F5; }
body.theme-zero2three .z23-deco-moon-front { width: 38px; height: 38px; background: #fff; }

body.theme-zero2three .z23-deco-moon-back-orange { background: #F4B44A; }

/* Value props section */
body.theme-zero2three .z23-deco-moon-values { top: 48px; right: 10%; }
body.theme-zero2three .z23-deco-sparkle-values { top: 208px; left: 6%; }
body.theme-zero2three .z23-deco-sparkle-values span { background: #B9E894; }
body.theme-zero2three .z23-deco-sparkle-values span:nth-child(3) { background: #FFF3C4; }
body.theme-zero2three .z23-deco-heart-values { top: 105px; left: 20%; }
body.theme-zero2three .z23-deco-cloud-values { top: 42px; left: 18%; }
body.theme-zero2three .z23-deco-circle-green-lg { top: 42px; left: 4%; width: 120px; height: 120px; background: rgba(194,236,160,.5); }
body.theme-zero2three .z23-deco-circle-blue-values { top: 115px; right: 4%; width: 150px; height: 150px; background: rgba(198,238,244,.45); }
body.theme-zero2three .z23-deco-dot-coral-values { top: 90px; right: 20%; width: 14px; height: 14px; background: #F5715F; }
body.theme-zero2three .z23-deco-dot-purple-values { top: 211px; left: 20%; width: 12px; height: 12px; background: #C6B7F5; }

body.theme-zero2three .z23-deco-heart { width: 20px; height: 20px; }
body.theme-zero2three .z23-deco-heart span { position: absolute; background: #F5715F; }
body.theme-zero2three .z23-deco-heart span:nth-child(1) { top: 4px; left: 4px; width: 16px; height: 16px; }
body.theme-zero2three .z23-deco-heart span:nth-child(2) { top: 0; left: 0; width: 16px; height: 16px; border-radius: 999px; }
body.theme-zero2three .z23-deco-heart span:nth-child(3) { top: 8px; left: 0; width: 16px; height: 16px; border-radius: 999px; }

body.theme-zero2three .z23-deco-balloon-orange span:nth-child(1) { background: #F4B44A; }
body.theme-zero2three .z23-deco-balloon-coral span:nth-child(1) { background: #F5715F; }

/* Reviews section */
body.theme-zero2three .z23-section-pink .z23-deco-flower { top: 177px; right: 27%; left: auto; }
body.theme-zero2three .z23-section-pink .z23-deco-flower span:nth-child(1),
body.theme-zero2three .z23-section-pink .z23-deco-flower span:nth-child(2) { background: #9FE0E8; }
body.theme-zero2three .z23-section-pink .z23-deco-sparkle { top: 355px; right: 10%; left: auto; }
body.theme-zero2three .z23-section-pink .z23-deco-sparkle span:nth-child(3) { background: #FFF3C4; }
body.theme-zero2three .z23-deco-heart-reviews { top: 65px; left: 8%; }
body.theme-zero2three .z23-deco-circle-pink-lg { top: 47px; right: 4%; width: 140px; height: 140px; background: rgba(252,214,238,.6); }
body.theme-zero2three .z23-section-pink .z23-deco-cloud1 { top: 65px; left: 20%; }
body.theme-zero2three .z23-section-pink .z23-deco-dotgrid { top: 40%; right: 15%; }
body.theme-zero2three .z23-deco-dot-orange-rev { top: 296px; left: 22%; width: 15px; height: 15px; background: #F4B44A; opacity: .7; }
body.theme-zero2three .z23-deco-dot-orange-rev2 { top: 122px; left: 12%; width: 12px; height: 12px; background: #F4B44A; }
body.theme-zero2three .z23-deco-dot-cyan-rev { top: 389px; right: 22%; width: 16px; height: 16px; background: #9FE0E8; }

/* Guides section */
body.theme-zero2three .z23-deco-moon-guides { top: 67px; right: 11%; }
body.theme-zero2three .z23-deco-circle-purple-lg { top: 46px; left: 4%; width: 130px; height: 130px; background: rgba(203,188,251,.45); }
body.theme-zero2three .z23-deco-circle-yellow-lg { top: 351px; right: 4%; width: 170px; height: 170px; background: rgba(255,239,180,.4); }
body.theme-zero2three .z23-section-lavender .z23-deco-cloud2 { top: 92px; right: 12%; }
body.theme-zero2three .z23-section-lavender .z23-deco-balloon { top: 127px; left: 26%; }
body.theme-zero2three .z23-deco-dot-orange-guides { top: 446px; left: 8%; width: 17px; height: 17px; background: #F49440; opacity: .7; }
body.theme-zero2three .z23-deco-dot-coral-guides { top: 393px; left: 18%; width: 12px; height: 12px; background: #F5715F; }
body.theme-zero2three .z23-section-lavender .z23-deco-bubbles { top: 255px; left: 20%; }

/* Newsletter section */
body.theme-zero2three .z23-newsletter-wrap { position: relative; }
body.theme-zero2three .z23-deco-sun-nl { top: 41px; right: 12%; width: 64px; height: 64px; background: rgba(244,148,64,.2); opacity: .65; }
body.theme-zero2three .z23-deco-bear-nl { bottom: 4px; left: 8%; top: auto; }
body.theme-zero2three .z23-deco-bear-nl .z23-bear-halo { display: none; }
body.theme-zero2three .z23-deco-flower-nl { top: 161px; left: 24%; }
body.theme-zero2three .z23-deco-heart-nl { top: 255px; right: 8%; }
body.theme-zero2three .z23-deco-dot-green-nl { top: 81px; left: 14%; width: 14px; height: 14px; background: #B9E894; opacity: .7; }
body.theme-zero2three .z23-deco-dot-green-nl2 { top: 281px; left: 20%; width: 12px; height: 12px; background: #B9E894; }
body.theme-zero2three .z23-deco-cloud-nl1 { top: 36px; left: 6%; }
body.theme-zero2three .z23-deco-cloud-nl2 { top: 296px; right: 6%; }
body.theme-zero2three .z23-deco-balloon-nl { top: 89px; right: 22%; }
body.theme-zero2three .z23-deco-dot-pink-nl { top: 124px; right: 25%; width: 16px; height: 16px; background: #FADCF3; }
body.theme-zero2three .z23-deco-dotgrid-nl { top: 20%; left: 2%; }

@media (max-width: 767px) { body.theme-zero2three .z23-deco { display: none; } }

/* ---------- Shop by Age ---------- */
body.theme-zero2three .z23-age-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; position: relative; z-index: 1; }
@media (max-width: 767px) { body.theme-zero2three .z23-age-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
@media (max-width: 480px) { body.theme-zero2three .z23-age-grid { grid-template-columns: 1fr; } }
body.theme-zero2three .z23-age-card {
    position: relative;
    border-radius: 28px;
    padding: 26px;
    display: block;
    text-decoration: none;
    color: var(--z23-text);
    transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
body.theme-zero2three .z23-age-card:nth-child(3n+1) { background: var(--z23-blue); }
body.theme-zero2three .z23-age-card:nth-child(3n+2) { background: #FFE1CB; }
body.theme-zero2three .z23-age-card:nth-child(3n+3) { background: var(--z23-green); }
body.theme-zero2three .z23-age-card:hover {
    transform: translateY(-8px) scale(1.035) rotate(-1deg);
    color: var(--z23-text);
    box-shadow: 0 16px 30px rgba(78,70,112,.2);
}
body.theme-zero2three .z23-age-card:active {
    transform: translateY(-3px) scale(.97) rotate(0deg);
    transition-duration: .12s;
}
body.theme-zero2three .z23-age-card img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    margin-bottom: 18px;
    transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
body.theme-zero2three .z23-age-card:hover img { transform: scale(1.07) rotate(1deg); }
body.theme-zero2three .z23-age-card-body { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
body.theme-zero2three .z23-age-card strong {
    font-family: 'Satoshi', sans-serif; font-weight: 800; font-size: clamp(15px, 3.6vw, 20px); display: block;
}
body.theme-zero2three .z23-age-card span {
    font-family: 'Inter', sans-serif; font-size: 13px; opacity: .75;
}
@media (max-width: 767px) {
    body.theme-zero2three .z23-age-card { padding: 16px; border-radius: 20px; }
    body.theme-zero2three .z23-age-card img { border-radius: 14px; margin-bottom: 12px; }
    body.theme-zero2three .z23-age-card span { font-size: 11.5px; }
}
body.theme-zero2three .z23-age-arrow {
    width: 42px; height: 42px; border-radius: 50%;
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    transition: transform .35s cubic-bezier(.34,1.56,.64,1), background .25s ease, color .25s ease;
}
body.theme-zero2three .z23-age-card:hover .z23-age-arrow {
    transform: translateX(5px) rotate(-12deg) scale(1.12);
    background: var(--z23-purple);
    color: #fff;
}

/* ---------- Shop by Category ---------- */
body.theme-zero2three .z23-cat-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; position: relative; z-index: 1; }
@media (max-width: 991px) { body.theme-zero2three .z23-cat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { body.theme-zero2three .z23-cat-grid { grid-template-columns: repeat(2, 1fr); } }
body.theme-zero2three .z23-cat-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    display: block;
    aspect-ratio: 1 / 1;
    opacity: .92;
    transition: opacity .2s ease, transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
}
body.theme-zero2three .z23-cat-card:hover {
    opacity: 1;
    transform: translateY(-8px) scale(1.05) rotate(1deg);
    box-shadow: 0 16px 28px rgba(78,70,112,.22);
}
body.theme-zero2three .z23-cat-card:active {
    transform: translateY(-2px) scale(.95) rotate(0deg);
    transition-duration: .12s;
}
body.theme-zero2three .z23-cat-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
body.theme-zero2three .z23-cat-card:hover img { transform: scale(1.14) rotate(-1deg); }
body.theme-zero2three .z23-cat-label {
    position: absolute; left: 16px; top: 16px;
    background: #fff;
    color: var(--z23-text);
    font-family: 'Satoshi', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 8px 18px;
    border-radius: 999px;
    transition: transform .3s cubic-bezier(.34,1.56,.64,1), background .25s ease, color .25s ease;
}
body.theme-zero2three .z23-cat-card:hover .z23-cat-label {
    transform: translateY(-3px) scale(1.06);
    background: var(--z23-violet);
    color: #fff;
}

body.theme-zero2three .z23-brand-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 18px;
}
body.theme-zero2three .z23-brand-card {
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 16px;
    padding: 24px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, border-color .25s ease;
}
body.theme-zero2three .z23-brand-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 26px rgba(78,70,112,.14);
    border-color: transparent;
}
body.theme-zero2three .z23-brand-card img {
    max-width: 100%;
    max-height: 56px;
    width: auto;
    object-fit: contain;
}
@media (max-width: 575px) {
    body.theme-zero2three .z23-brand-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Best Sellers white card wrapper ---------- */
body.theme-zero2three .z23-bestsellers-card {
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,.72);
    border-radius: 32px;
    padding: 36px;
}
@media (max-width: 767px) { body.theme-zero2three .z23-bestsellers-card { padding: 22px; border-radius: 24px; } }

/* ---------- Product grid ---------- */
body.theme-zero2three .z23-product-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}
@media (max-width: 1199px) { body.theme-zero2three .z23-product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { body.theme-zero2three .z23-product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { body.theme-zero2three .z23-product-grid { grid-template-columns: 1fr; } }

body.theme-zero2three .z23-loadmore-wrap { text-align: center; margin-top: 32px; }
body.theme-zero2three .z23-loadmore-wrap .z23-btn-primary:disabled { opacity: .7; cursor: default; transform: none; }

body.theme-zero2three .z23-product-card {
    background: #fff;
    border-radius: 24px;
    border: 1px solid var(--z23-border);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform .15s ease, box-shadow .15s ease;
}
body.theme-zero2three .z23-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(78,70,112,.12);
}
body.theme-zero2three .z23-product-media { position: relative; }
body.theme-zero2three .z23-product-img {
    aspect-ratio: 1 / 1;
    background: var(--z23-cream);
    display: block;
    width: 100%;
    object-fit: cover;
}
body.theme-zero2three .z23-product-badge {
    position: absolute; top: 12px; left: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 10.5px;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--z23-purple);
    padding: 4px 9px;
    border-radius: 999px;
}
body.theme-zero2three .z23-badge-bestseller { background: var(--z23-green); }
body.theme-zero2three .z23-badge-new { background: var(--z23-blue); }
body.theme-zero2three .z23-badge-sale { background: var(--z23-pink); }
body.theme-zero2three .z23-product-wishlist {
    position: absolute; top: 10px; right: 10px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    display: flex; align-items: center; justify-content: center;
    font-size: 14px;
    color: var(--z23-purple);
    border: none;
    cursor: pointer;
}
body.theme-zero2three .z23-product-wishlist svg { width: 16px; height: 16px; }
body.theme-zero2three .z23-product-wishlist.is-active { color: #ef4444; }
body.theme-zero2three .z23-product-wishlist.is-active svg { fill: #ef4444; }
body.theme-zero2three .z23-product-agetag {
    position: absolute; left: 12px; bottom: 12px;
    background: rgba(46,42,61,.75);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
}
body.theme-zero2three .z23-product-body { padding: 16px; flex: 1; display: flex; flex-direction: column; }
body.theme-zero2three .z23-product-cat {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 10.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--z23-violet);
    margin-bottom: 4px;
}
body.theme-zero2three .z23-product-name {
    font-family: 'Satoshi', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: var(--z23-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 8px;
}
body.theme-zero2three .z23-product-rating {
    font-family: 'Inter', sans-serif;
    font-size: 12.5px;
    color: var(--z23-muted);
    margin-bottom: 10px;
}
body.theme-zero2three .z23-product-rating b { color: #E8A33D; letter-spacing: 1px; }
body.theme-zero2three .z23-price-row { margin-bottom: 12px; margin-top: auto; }
body.theme-zero2three .z23-price-new {
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    color: var(--z23-text);
    font-size: 17px;
}
body.theme-zero2three .z23-price-old {
    font-family: 'Inter', sans-serif;
    color: #B7B0C9;
    text-decoration: line-through;
    font-size: 13px;
    margin-left: 6px;
}
body.theme-zero2three .z23-add-cart {
    display: block;
    width: 100%;
    background: var(--z23-addcart-bg);
    color: var(--z23-purple);
    border: none;
    border-radius: 999px;
    padding: 11px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13.5px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s ease;
}
body.theme-zero2three .z23-add-cart:hover { background: var(--z23-pink); color: var(--z23-purple); }

/* ---------- Value props ---------- */
body.theme-zero2three .z23-values-card {
    background: #fff;
    border-radius: 28px;
    padding: 36px 28px;
    box-shadow: 0 10px 30px rgba(78,70,112,.06);
}
body.theme-zero2three .z23-values-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px 24px; position: relative; z-index: 1; }
@media (max-width: 991px) { body.theme-zero2three .z23-values-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { body.theme-zero2three .z23-values-grid { grid-template-columns: repeat(2, 1fr); } }
body.theme-zero2three .z23-value-icon {
    width: 40px; height: 40px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 14px;
}
body.theme-zero2three .z23-value-icon .lucide { width: 20px; height: 20px; }
body.theme-zero2three .z23-value-item:nth-child(5n+1) .z23-value-icon { background: #C9EEF2; color: #2F6F78; }
body.theme-zero2three .z23-value-item:nth-child(5n+2) .z23-value-icon { background: #FADCF3; color: #8A4A82; }
body.theme-zero2three .z23-value-item:nth-child(5n+3) .z23-value-icon { background: #E1F5C8; color: #55762C; }
body.theme-zero2three .z23-value-item:nth-child(5n+4) .z23-value-icon { background: #FFEFC0; color: #85723A; }
body.theme-zero2three .z23-value-item:nth-child(5n+5) .z23-value-icon { background: #E2D9FB; color: #57497C; }
body.theme-zero2three .z23-value-item strong {
    display: block;
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    color: var(--z23-text);
    margin-bottom: 4px;
    font-size: 16px;
}
body.theme-zero2three .z23-value-item p {
    font-family: 'Inter', sans-serif;
    font-size: 13.5px;
    color: var(--z23-muted);
    margin: 0;
}

/* ---------- Ways to Play ---------- */
body.theme-zero2three .z23-play-panel {
    background: var(--z23-green);
    border-radius: 28px;
    padding: 30px;
    position: relative;
}
body.theme-zero2three .z23-play-panel .z23-play-grid { position: relative; z-index: 1; }
body.theme-zero2three .z23-play-panel .z23-deco-bear { z-index: 2; top: -18px; left: 12px; }
body.theme-zero2three .z23-deco-dotgrid {
    top: 40%; right: 2%;
    width: 132px; height: 132px;
    background-image: radial-gradient(#C6B7F5 1.6px, transparent 1.6px);
    background-size: 16px 16px;
    opacity: .6;
}
body.theme-zero2three .z23-play-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 991px) { body.theme-zero2three .z23-play-grid { grid-template-columns: repeat(2, 1fr); } }
body.theme-zero2three .z23-play-tile {
    background: #fff;
    border-radius: 16px;
    padding: 8px 8px 14px;
    box-shadow: 0 6px 16px rgba(78,70,112,.1);
}
body.theme-zero2three .z23-play-media { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 3/4; }
body.theme-zero2three .z23-play-tile video { width: 100%; height: 100%; object-fit: cover; display: block; }
body.theme-zero2three .z23-play-mute {
    position: absolute; left: 10px; bottom: 10px;
    width: 34px; height: 34px;
    background: rgba(255,255,255,.92);
    color: var(--z23-purple);
    border: none;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    font-size: 13px;
}
body.theme-zero2three .z23-play-caption {
    display: block;
    text-align: center;
    font-family: 'Satoshi', sans-serif;
    font-weight: 700;
    font-size: 13.5px;
    color: var(--z23-text);
    margin-top: 10px;
}

/* ---------- Promo banners (vibrant tile style) ---------- */
body.theme-zero2three .z23-promo-row-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    margin-bottom: 22px;
}
body.theme-zero2three .z23-promo-row-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 900px) {
    body.theme-zero2three .z23-promo-row-2,
    body.theme-zero2three .z23-promo-row-3 { grid-template-columns: 1fr; }
}
body.theme-zero2three .z23-promo-tile {
    position: relative;
    z-index: 1;
    border-radius: 28px;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    min-height: 320px;
    text-decoration: none;
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
}
body.theme-zero2three .z23-promo-tile-lg { min-height: 360px; }
@media (max-width: 500px) { body.theme-zero2three .z23-promo-tile-lg { min-height: 280px; } }
body.theme-zero2three .z23-promo-tile:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 32px rgba(0,0,0,.16);
    color: inherit;
}
body.theme-zero2three .z23-promo-tile-amber { background: #F0A94E; }
body.theme-zero2three .z23-promo-tile-rose { background: #E8607D; }
body.theme-zero2three .z23-promo-tile-blue { background: #4FA3D9; }
body.theme-zero2three .z23-promo-tile-green { background: #2E6B5A; }
body.theme-zero2three .z23-promo-tile-coral { background: #E8735E; }
body.theme-zero2three .z23-promo-tile-text {
    position: relative;
    z-index: 2;
    padding: 32px 24px 32px 32px;
    max-width: 60%;
    text-shadow: 0 2px 10px rgba(0,0,0,.35), 0 1px 3px rgba(0,0,0,.3);
}
body.theme-zero2three .z23-promo-tile-text h3 {
    font-family: 'Satoshi', sans-serif; font-weight: 800; font-size: 22px; color: #fff; margin-bottom: 22px; line-height: 1.25;
}
body.theme-zero2three .z23-promo-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
@media (max-width: 500px) {
    body.theme-zero2three .z23-promo-tile { min-height: 280px; }
    body.theme-zero2three .z23-promo-tile-text { max-width: 70%; padding: 24px 12px 24px 20px; }
}
body.theme-zero2three .z23-btn-white {
    display: inline-block;
    background: #fff;
    color: var(--z23-purple);
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 12px 24px;
    border-radius: 999px;
    text-shadow: none;
    transition: transform .15s ease;
}
body.theme-zero2three .z23-promo-tile:hover .z23-btn-white { transform: translateY(-2px); }

body.theme-zero2three .z23-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.theme-zero2three .z23-btn-link .lucide {
    width: 26px;
    height: 26px;
    padding: 5px;
    border: 1.5px solid #fff;
    border-radius: 50%;
    transition: transform .2s ease;
}
body.theme-zero2three .z23-promo-tile:hover .z23-btn-link .lucide { transform: translate(2px, -2px); }

/* Featured Collection — bottle, star, big circle, dots, dot-grid */
body.theme-zero2three .z23-deco-bottle { top: 370px; right: 1%; width: 26px; height: 50px; }
body.theme-zero2three .z23-deco-bottle span { position: absolute; background: #FBD0AE; left: 50%; transform: translateX(-50%); }
body.theme-zero2three .z23-deco-bottle span:nth-child(1) { top: 0; width: 10px; height: 8px; border-radius: 6px 6px 2px 2px; }
body.theme-zero2three .z23-deco-bottle span:nth-child(2) { top: 7px; width: 16px; height: 5px; border-radius: 4px; }
body.theme-zero2three .z23-deco-bottle span:nth-child(3) { top: 11px; width: 24px; height: 42px; border-radius: 8px; }
body.theme-zero2three .z23-deco-circle-peach { top: 57px; right: 4%; width: 150px; height: 150px; background: rgba(255,207,166,.5); }
body.theme-zero2three .z23-deco-dot-blue-fc { top: 205px; left: 13%; width: 12px; height: 12px; background: #9FE0E8; }
body.theme-zero2three .z23-deco-dot-orange-sq { top: 91px; left: 9%; width: 18px; height: 18px; background: #F4B44A; opacity: .7; }
body.theme-zero2three .z23-promo-grid .z23-deco-star { top: -30px; left: 9%; right: auto; }
body.theme-zero2three .z23-promo-grid .z23-deco-bubbles { top: 220px; right: 25%; }
body.theme-zero2three .z23-promo-grid .z23-deco-dotgrid { top: 42%; right: 24%; opacity: .5; }

/* ---------- Reviews ---------- */
body.theme-zero2three .z23-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 991px) { body.theme-zero2three .z23-review-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 650px) { body.theme-zero2three .z23-review-grid { grid-template-columns: 1fr; } }
body.theme-zero2three .z23-review-card {
    background: #fff;
    border-radius: 22px;
    padding: 26px;
    text-align: left;
}
body.theme-zero2three .z23-review-stars { color: #E8A33D; letter-spacing: 2px; margin-bottom: 14px; font-size: 14px; }
body.theme-zero2three .z23-review-quote {
    font-family: 'Inter', sans-serif;
    color: var(--z23-text);
    font-size: 14.5px;
    line-height: 1.6;
    margin-bottom: 18px;
}
body.theme-zero2three .z23-review-person { display: flex; align-items: center; gap: 12px; }
body.theme-zero2three .z23-review-avatar {
    width: 42px; height: 42px; border-radius: 50%;
    background: var(--z23-blue);
    flex-shrink: 0;
}
body.theme-zero2three .z23-review-name { font-family: 'Satoshi', sans-serif; font-weight: 700; font-size: 14px; color: var(--z23-text); }
body.theme-zero2three .z23-review-role { font-family: 'Inter', sans-serif; font-size: 12.5px; color: var(--z23-muted); }

/* ---------- Guides / Blog ---------- */
body.theme-zero2three .z23-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: start; }
@media (max-width: 900px) { body.theme-zero2three .z23-guide-grid { grid-template-columns: 1fr; } }
body.theme-zero2three .z23-guide-card {
    display: block; color: var(--z23-text);
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(78,70,112,.08);
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
}
body.theme-zero2three .z23-guide-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 30px rgba(78,70,112,.16);
}
body.theme-zero2three .z23-guide-card img {
    width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block;
}
body.theme-zero2three .z23-guide-card-body { padding: 18px 20px 22px; }
body.theme-zero2three .z23-guide-meta {
    font-family: 'Inter', sans-serif; font-weight: 700; font-size: 11.5px;
    letter-spacing: .04em; text-transform: uppercase; color: var(--z23-violet); margin-bottom: 6px;
}
body.theme-zero2three .z23-guide-title {
    font-family: 'Satoshi', sans-serif; font-weight: 800; font-size: 17px; color: var(--z23-text); margin-bottom: 6px;
}
body.theme-zero2three .z23-guide-excerpt {
    font-family: 'Inter', sans-serif; font-size: 13.5px; color: var(--z23-muted); margin-bottom: 12px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
body.theme-zero2three .z23-guide-link {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'Inter', sans-serif; font-weight: 700; font-size: 13.5px; color: var(--z23-text);
    text-decoration: underline; text-underline-offset: 3px;
}
body.theme-zero2three .z23-guide-link .lucide {
    width: 24px; height: 24px; padding: 5px; border: 1.5px solid var(--z23-text); border-radius: 50%;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
body.theme-zero2three .z23-guide-card:hover .z23-guide-link { color: var(--z23-violet); }
body.theme-zero2three .z23-guide-card:hover .z23-guide-link .lucide {
    transform: translate(2px, -2px);
    background: var(--z23-violet); border-color: var(--z23-violet); color: #fff;
}

/* ---------- Blog article page ---------- */
body.theme-zero2three .z23-article { padding: 40px 0 70px; }
body.theme-zero2three .z23-article-breadcrumb {
    font-family: 'Inter', sans-serif; font-size: 13.5px; color: var(--z23-muted);
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 26px;
}
body.theme-zero2three .z23-article-breadcrumb a { color: var(--z23-muted); text-decoration: none; }
body.theme-zero2three .z23-article-breadcrumb a:hover { color: var(--z23-violet); }
body.theme-zero2three .z23-article-breadcrumb strong { color: var(--z23-text); font-weight: 600; }

body.theme-zero2three .z23-article-header { max-width: 760px; margin: 0 auto 28px; text-align: center; }
body.theme-zero2three .z23-article-title {
    font-family: 'Satoshi', sans-serif; font-weight: 800; font-size: 38px; line-height: 1.2;
    color: var(--z23-text); margin: 10px 0 14px;
}
body.theme-zero2three .z23-article-meta {
    font-family: 'Inter', sans-serif; font-size: 13.5px; color: var(--z23-muted);
    display: flex; align-items: center; justify-content: center; gap: 10px;
}
body.theme-zero2three .z23-article-meta-dot { color: var(--z23-violet); }

body.theme-zero2three .z23-article-hero {
    max-width: 980px; margin: 0 auto 40px; border-radius: 26px; overflow: hidden;
    box-shadow: 0 10px 34px rgba(78,70,112,.14);
}
body.theme-zero2three .z23-article-hero img { width: 100%; max-height: 480px; object-fit: cover; display: block; }

body.theme-zero2three .z23-article-layout {
    max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 48px;
}
@media (max-width: 900px) { body.theme-zero2three .z23-article-layout { grid-template-columns: 1fr; } }

body.theme-zero2three .z23-article-body {
    font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.8; color: var(--z23-text);
}
body.theme-zero2three .z23-article-body p { margin: 0 0 18px; }
body.theme-zero2three .z23-article-body h1,
body.theme-zero2three .z23-article-body h2 {
    font-weight: 800; font-size: 24px; color: var(--z23-purple);
    margin: 38px 0 14px; text-wrap: balance;
}
body.theme-zero2three .z23-article-body h3,
body.theme-zero2three .z23-article-body h4,
body.theme-zero2three .z23-article-body h5,
body.theme-zero2three .z23-article-body h6 {
    font-weight: 700; font-size: 18.5px; color: var(--z23-text);
    margin: 26px 0 10px;
}
body.theme-zero2three .z23-article-body h1:first-child,
body.theme-zero2three .z23-article-body h2:first-child {
    margin-top: 0;
}
body.theme-zero2three .z23-article-body ul { margin: 0 0 18px; padding-left: 4px; list-style: none; }
body.theme-zero2three .z23-article-body ul li {
    position: relative; padding-left: 22px; margin-bottom: 9px;
}
body.theme-zero2three .z23-article-body ul li::before {
    content: ''; position: absolute; left: 2px; top: 9px; width: 7px; height: 7px;
    border-radius: 50%; background: var(--z23-violet);
}
body.theme-zero2three .z23-article-body ul.checklist li::before { display: none; }
body.theme-zero2three .z23-article-body ul.checklist li { padding-left: 4px; color: var(--z23-muted); }
body.theme-zero2three .z23-article-body a { color: var(--z23-violet); text-decoration: underline; text-underline-offset: 2px; }
body.theme-zero2three .z23-article-body strong { color: var(--z23-text); font-weight: 700; }
body.theme-zero2three .z23-article-body blockquote {
    border-left: 3px solid var(--z23-violet); margin: 24px 0; padding: 4px 0 4px 20px;
    color: var(--z23-muted); font-style: italic; font-size: 16.5px;
}

body.theme-zero2three .z23-article-gallery-label {
    font-family: 'Inter', sans-serif; font-weight: 700; font-size: 11.5px; letter-spacing: .06em;
    text-transform: uppercase; color: var(--z23-violet); margin: 32px 0 12px;
}
body.theme-zero2three .z23-article-gallery {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 12px 0 10px;
}
body.theme-zero2three .z23-article-gallery img {
    width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; display: block;
}

body.theme-zero2three .z23-article-sidebar-title {
    font-family: 'Inter', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .06em;
    text-transform: uppercase; color: var(--z23-muted); margin: 0 0 16px;
}
body.theme-zero2three .z23-article-sidebar-list { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 20px; }
body.theme-zero2three .z23-article-sidebar-list .z23-guide-card img { aspect-ratio: 16/10; }
body.theme-zero2three .z23-article-sidebar-empty { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--z23-muted); }

@media (max-width: 575px) {
    body.theme-zero2three .z23-article-title { font-size: 27px; }
    body.theme-zero2three .z23-article-hero img { max-height: 260px; }
    body.theme-zero2three .z23-article-gallery { grid-template-columns: 1fr 1fr; gap: 10px; }
}

/* ---------- Static info pages (About, policies, etc.) ---------- */
body.theme-zero2three .z23-page-nav {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 36px;
}
body.theme-zero2three .z23-page-nav a {
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13.5px;
    color: var(--z23-text); background: #fff; border: 1px solid var(--z23-border);
    padding: 9px 20px; border-radius: 999px; text-decoration: none;
    box-shadow: 0 2px 8px rgba(78,70,112,.05); transition: all .2s ease;
}
body.theme-zero2three .z23-page-nav a:hover,
body.theme-zero2three .z23-page-nav a.is-active {
    background: var(--z23-violet); color: #fff; border-color: var(--z23-violet); transform: translateY(-2px);
}
body.theme-zero2three .z23-page-card {
    max-width: 860px; margin: 0 auto; background: #fff; border-radius: 26px;
    padding: 44px 52px; box-shadow: 0 10px 34px rgba(78,70,112,.08); border: 1px solid var(--z23-border);
}
body.theme-zero2three .z23-page-title { font-size: 32px; }
@media (max-width: 575px) {
    body.theme-zero2three .z23-page-card { padding: 30px 22px; border-radius: 20px; }
    body.theme-zero2three .z23-page-title { font-size: 26px; }
}

/* ---------- Newsletter ---------- */
body.theme-zero2three .z23-newsletter {
    background: #DFF3EE;
    border-radius: 28px;
    padding: 44px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
body.theme-zero2three .z23-newsletter-text { flex: 1; min-width: 260px; }
body.theme-zero2three .z23-newsletter h3 {
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    font-size: 26px;
    color: var(--z23-text);
    margin-bottom: 8px;
}
body.theme-zero2three .z23-newsletter p {
    font-family: 'Inter', sans-serif;
    color: var(--z23-muted);
    margin-bottom: 18px;
    font-size: 14.5px;
}
body.theme-zero2three .z23-newsletter-form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
body.theme-zero2three .z23-newsletter-form input[type="email"] {
    flex: 1;
    min-width: 220px;
    border-radius: 999px;
    border: none;
    padding: 13px 20px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
}
body.theme-zero2three .z23-newsletter-form button {
    background: var(--z23-purple);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 13px 28px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
body.theme-zero2three .z23-newsletter-note {
    font-family: 'Inter', sans-serif; font-size: 12px; color: var(--z23-muted); margin-top: 10px; margin-bottom: 0;
}
body.theme-zero2three .z23-newsletter-art {
    width: 120px; height: 120px;
    border-radius: 50%;
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 52px;
    flex-shrink: 0;
}

@media (max-width: 767px) {
    body.theme-zero2three .z23-hero { padding: 40px 16px 32px; }
    body.theme-zero2three .z23-section { padding: 40px 0; }
    body.theme-zero2three .z23-promo-full-text { padding: 30px 22px 24px; }
    body.theme-zero2three .z23-values-card { padding: 26px 20px; }
    body.theme-zero2three .z23-newsletter { padding: 32px 24px; justify-content: center; text-align: center; }
    body.theme-zero2three .z23-newsletter-form { justify-content: center; }
    body.theme-zero2three .z23-newsletter-art { display: none; }

    /* iOS Safari auto-zooms the whole page when a focused input's font is under 16px —
       force every form field to 16px on mobile so tapping search/checkout/login fields
       doesn't jolt the viewport. */
    body.theme-zero2three input,
    body.theme-zero2three textarea,
    body.theme-zero2three select {
        font-size: 16px !important;
    }
}

/* ---------- Empty state (no products / no results) ---------- */
.z23-empty-state {
    text-align: center;
    padding: 70px 20px;
    max-width: 420px;
    margin: 0 auto;
}
.z23-empty-state-art {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    margin-bottom: 22px;
    background: #FADCF3;
    border-radius: 50%;
}
.z23-empty-state-art i {
    font-size: 44px;
    color: #6B5BC4;
}
.z23-empty-state-emoji {
    position: absolute;
    top: -8px;
    right: -6px;
    font-size: 36px;
    transform: rotate(12deg);
}
.z23-empty-state-star {
    position: absolute;
    color: #E8A33D;
    font-size: 16px;
}
.z23-empty-state-star-1 { top: 6px; left: -10px; color: #6B5BC4; font-size: 22px; }
.z23-empty-state-star-2 { bottom: 10px; right: -16px; color: #E1F5C8; font-size: 28px; }
.z23-empty-state-star-3 { bottom: -10px; left: 24px; font-size: 14px; }
.z23-empty-state-title {
    font-family: 'Satoshi', sans-serif;
    font-weight: 800;
    font-size: 21px;
    color: #2E2A3D;
    margin-bottom: 8px;
}
.z23-empty-state-sub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #918AAE;
    margin-bottom: 26px;
}
.z23-empty-state-btn {
    display: inline-block;
    background: #6B5BC4;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 13px 32px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .15s ease, transform .15s ease;
}
.z23-empty-state-btn:hover {
    background: #4E4670;
    transform: translateY(-2px);
    color: #fff !important;
}

/* ============================================================
   MAIN MENU — font size bump + hover animation (lift + glow + arrow flip)
   ============================================================ */
body.theme-zero2three li.cat_bar > a {
    font-size: 16.5px;
}
body.theme-zero2three li.cat_bar > a .cat_head {
    display: inline-block;
    transition: transform .25s ease, text-shadow .25s ease;
}
body.theme-zero2three li.cat_bar:hover > a .cat_head {
    transform: translateY(-2px);
    text-shadow: 0 2px 10px rgba(255,255,255,.5);
}
body.theme-zero2three li.cat_bar > a .cat_down {
    display: inline-block;
    transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
body.theme-zero2three li.cat_bar:hover > a .cat_down {
    transform: rotate(180deg);
}

/* ============================================================
   LUCIDE ICON SIZING — a leftover vendor rule (svg{width:16px;
   height:16px}) was flattening every icon to the same 16px
   regardless of context. Restore sensible, context-aware sizing.
   ============================================================ */
.lucide { width: 18px; height: 18px; }
.header-list-items ul li .lucide { width: 20px; height: 20px; }
.z23-hero-arrow .lucide { width: 18px; height: 18px; }
.z23-age-arrow .lucide { width: 18px; height: 18px; }
li.cat_bar .cat_down.lucide { width: 14px; height: 14px; }
