:root{
  --bg:#FFFFFF; --soft:#F6F5F7; --ink:#1E1A1C; --muted:#6F676B; --line:#ECE8EC; --surface:#FFFFFF;
  --pink:#F27BB3; --pink-deep:#E0569A; --blush:#FDE3EF; --on-pink:#2A1320; --ok:#1F8A5B; --err:#C2263F;
  --font:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --shadow:0 24px 50px -32px rgba(30,20,40,.4);
  --ease:cubic-bezier(.16,1,.3,1);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121113; --soft:#1B1A1D; --ink:#F4F0F3; --muted:#B3ACB1; --line:#2B282C; --surface:#18171A;
  --pink:#FF8DC3; --pink-deep:#FF77B6; --blush:#3A2030; --on-pink:#2A1320; --ok:#4CC38A; --err:#FF6B81;
  --shadow:0 24px 50px -32px rgba(0,0,0,.75); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#121113; --soft:#1B1A1D; --ink:#F4F0F3; --muted:#B3ACB1; --line:#2B282C; --surface:#18171A;
  --pink:#FF8DC3; --pink-deep:#FF77B6; --blush:#3A2030; --on-pink:#2A1320; --ok:#4CC38A; --err:#FF6B81;
  --shadow:0 24px 50px -32px rgba(0,0,0,.75); color-scheme:dark }
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font-family:inherit;color:inherit}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{margin:0;font-weight:800;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
.hl{color:var(--pink-deep)}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:800;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.btn:hover{transform:scale(1.03);box-shadow:0 14px 28px -14px var(--pink)}
.btn-pink{background:var(--pink);color:var(--on-pink)}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn-ghost{border-color:var(--line);background:var(--surface)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bar{background:var(--soft);font-size:.8rem;text-align:center;padding:8px 16px;font-weight:600}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:70px}
.logo{display:flex;flex-direction:column;line-height:1}
.logo b{font-size:1.55rem;font-weight:800;letter-spacing:-.04em}
.logo b i{font-style:normal;color:var(--pink-deep)}
.logo small{font-size:.56rem;font-weight:700;letter-spacing:.14em;color:var(--pink-deep);margin-top:3px;white-space:nowrap}
.links{display:flex;gap:24px;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.links>a,.dd>a{position:relative;display:block;padding-block:24px}
.links>a::after,.dd>a::after{content:"";position:absolute;left:0;bottom:18px;height:2px;width:100%;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.links>a:hover::after,.dd:hover>a::after,.dd:focus-within>a::after{transform:scaleX(1)}
.tools{display:flex;gap:8px;align-items:center}
.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:transparent;border:0;color:var(--ink);cursor:pointer;position:relative;transition:transform .6s var(--ease),background .4s}
.icon-btn:hover{transform:scale(1.1);background:var(--soft)}
.icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1000px){.links{display:none}}
.js .reveal{opacity:.001;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;height:40px}
.qty button{width:36px;height:100%;border:0;background:none;font-size:1.1rem;cursor:pointer}
.qty span{min-width:24px;text-align:center;font-weight:800}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trust span{display:flex;align-items:center;gap:8px;background:var(--soft);border-radius:14px;padding:10px 12px;font-size:.8rem;font-weight:700}
.trust svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--pink-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
footer{border-top:1px solid var(--line);padding-block:26px;font-size:.84rem;color:var(--muted);margin-top:60px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* shared: brand logo + menu */
body{margin:0}
.logo{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:3px}
.logo .lg{display:block;height:30px;width:auto}
.logo .lg-d{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .lg-l{display:none}:root:not([data-theme="light"]) .logo .lg-d{display:block}}
:root[data-theme="dark"] .logo .lg-l{display:none}:root[data-theme="dark"] .logo .lg-d{display:block}
.logo small{font-size:.5rem!important;font-weight:700;letter-spacing:.16em;color:#2D8FD5!important;margin:0!important;white-space:nowrap}
@media (max-width:520px){.logo .lg{height:24px}}
.links{align-items:center}
.links .dd{position:relative;display:flex;align-items:center}
.links .dd>a{display:block}
.links .menu{position:absolute;top:100%;left:-18px;min-width:220px;background:var(--surface,#fff);border:1px solid var(--line,#eee);border-radius:18px;box-shadow:0 24px 50px -30px rgba(40,20,40,.38);padding:10px;display:grid;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .4s,transform .5s,visibility .4s;text-transform:none;letter-spacing:0;font-size:.92rem;font-weight:500;z-index:60}
.links .dd:hover .menu,.links .dd:focus-within .menu{opacity:1;visibility:visible;transform:none}
.links .menu a{display:flex!important;align-items:center;gap:10px;padding:9px 12px!important;border-radius:10px;transition:background .3s}
.links .menu a::after{display:none!important}
.links .menu a:hover{background:var(--soft,#f6f4f6)}
.links .menu a[aria-current]{font-weight:700;color:var(--pink-deep)}
.links .menu i{width:10px;height:10px;border-radius:50%;flex:none}
.links>a[aria-current]::after,.links .dd>a[aria-current]::after{transform:scaleX(1)}

/* ---------- generic pages: content, WooCommerce blocks ---------- */
.sb-main{padding-block:clamp(28px,5vw,64px);min-height:50vh}
.sb-main h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:900;margin-bottom:22px}
.sb-main h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:30px 0 10px}
.sb-main p,.sb-main li{color:color-mix(in srgb,var(--ink) 82%,transparent)}
.sb-main p+p{margin-top:12px}
.sb-main a{color:var(--pink-deep);text-decoration:underline;text-underline-offset:3px}
.sb-main .entry{max-width:780px}
.sb-main .entry.wide{max-width:none}
.bar{background:var(--soft)}
.icon-btn .count,.icon-btn .sbc-badge{position:absolute;top:2px;right:0}
footer.sb-foot{border-top:1px solid var(--line);padding-block:34px 28px;margin-top:40px;font-size:.88rem;color:var(--muted)}
footer.sb-foot .cols{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer.sb-foot nav{display:flex;gap:18px;flex-wrap:wrap}
footer.sb-foot nav a:hover{color:var(--pink-deep)}
/* WooCommerce (blocks + classic) in brand colors */
body{--wp--preset--color--contrast:var(--ink)}
.sb-main .wc-block-components-button:not(.is-link),.sb-main .wp-element-button,.sb-main .button,.sb-main button.button,.sb-main .single_add_to_cart_button,.sb-main .checkout-button{background:var(--pink)!important;color:var(--on-pink)!important;border:0!important;border-radius:999px!important;font-weight:800!important;font-family:var(--font)!important;padding:14px 26px!important;text-decoration:none!important;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sb-main .wc-block-components-button:not(.is-link):hover,.sb-main .button:hover{transform:scale(1.02);box-shadow:0 14px 28px -14px var(--pink)}
.sb-main .wc-block-components-text-input input,.sb-main .wc-block-components-combobox input,.sb-main .wc-blocks-components-select select,.sb-main input.input-text,.sb-main select,.sb-main textarea{border-radius:14px!important;border:1.5px solid var(--line)!important;font-family:var(--font)!important}
.sb-main .wc-block-components-text-input.is-active input:focus,.sb-main input:focus{border-color:var(--pink-deep)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--pink) 22%,transparent)!important;outline:0}
.sb-main .wc-block-components-sidebar,.sb-main .wp-block-woocommerce-checkout-order-summary-block,.sb-main .wc-block-cart__sidebar{background:var(--soft);border-radius:24px;padding:20px!important}
.sb-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.sb-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-weight:900;font-size:1.15rem}
.sb-main .wc-block-components-product-name{font-weight:800;color:var(--ink)!important;text-decoration:none!important}
.sb-main .wc-block-components-product-badge,.sb-main .wc-block-components-sale-badge{background:var(--blush)!important;color:var(--pink-deep)!important;border:0!important;border-radius:999px!important;font-weight:800}
.sb-main .wc-block-cart-item__image img,.sb-main .wc-block-components-order-summary-item__image img{border-radius:14px}
.sb-main .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{width:100%;height:58px;font-size:1.05rem}
.sb-main .woocommerce-message,.sb-main .woocommerce-info,.sb-main .wc-block-components-notice-banner{border-radius:16px}
.sb-main .woocommerce-breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.sb-main .woocommerce-breadcrumb .sep{margin:0 8px}
.sb-main div.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px)}
.sb-main div.product .woocommerce-product-gallery{border-radius:24px;overflow:hidden;background:var(--soft)}
.sb-main div.product .product_title{font-size:clamp(1.8rem,4vw,2.6rem)}
.sb-main div.product p.price{font-size:1.5rem;font-weight:800;color:var(--ink);margin:10px 0 16px}
.sb-main div.product p.price del{color:var(--muted);font-weight:500;font-size:1.05rem}
.sb-main div.product p.price ins{text-decoration:none}
.sb-main div.product form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}
.sb-main div.product .woocommerce-tabs,.sb-main div.product .related,.sb-main div.product .upsells{grid-column:1/-1}
.sb-main ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;padding:0}
.sb-main ul.products li.product img{border-radius:18px;background:var(--soft)}
.sb-main ul.products li.product .woocommerce-loop-product__title{font-size:1rem;font-weight:700;margin-top:10px}
.sb-main .variations select{min-width:180px;padding:10px 12px}
@media (max-width:820px){.sb-main div.product{grid-template-columns:1fr}.sb-main ul.products{grid-template-columns:1fr 1fr}}
.sb-main .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.sb-main .woocommerce-MyAccount-navigation a{display:block;padding:8px 14px;border-radius:999px;background:var(--soft);text-decoration:none;color:var(--ink)}
.sb-main .woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:var(--bg)}
.sb-main .wc-block-components-product-metadata__description{display:none}
.sb-main .wc-block-components-product-details__value,.sbc-meta{text-transform:capitalize}
.sb-main .wc-block-cart-items__row .wc-block-components-product-metadata__description{display:none}
.sb-main .wc-block-cart .wc-block-cart__empty-cart__title{font-size:1.4rem}
.sb-main .entry a:not(.wc-block-components-button):not(.button){text-decoration:underline}
.sb-main .wc-block-grid__product-link,.sb-main .wc-block-grid__product-title{text-decoration:none!important;color:var(--ink)!important}
