:root{--ink:#17221c;--muted:#667168;--green:#1d6b47;--green-dark:#124a33;--cream:#f5f2ea;--line:#e3e7e3;--white:#fff;--radius:22px;--shadow:0 18px 50px rgba(23,34,28,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif}body.cart-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1580px,calc(100% - 40px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.announcement{background:var(--ink);color:#fff;font-size:12px;letter-spacing:.035em}.announcement .shell{min-height:36px;display:flex;align-items:center;gap:28px}.announcement a{color:#cce4d5;margin-left:auto;font-weight:700}.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:9px;font-size:25px;font-weight:800;letter-spacing:-.04em}.brand-logo{height:36px;width:auto;flex:none;display:block}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:650}.nav a{padding:12px 0}.nav a:hover{color:var(--green)}.cart-button{border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:13px;font-weight:700}.cart-button span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;border-radius:50%;background:var(--green);color:#fff;font-size:11px}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;margin:5px auto;background:var(--ink)}

.hero{overflow:hidden;background:linear-gradient(125deg,#eef5ed 0%,#f8f4eb 55%,#f1e9db 100%);min-height:650px;display:grid;align-items:center;position:relative}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;opacity:.55}.hero:before{width:440px;height:440px;background:#d9eadb;right:-80px;top:-180px}.hero:after{width:240px;height:240px;border:1px solid rgba(29,107,71,.2);left:-100px;bottom:-100px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;padding-block:80px;position:relative;z-index:1}.eyebrow,.kicker{display:inline-block;color:var(--green);font-size:12px;line-height:1;font-weight:800;letter-spacing:.14em}.hero-copy h1{margin:22px 0 20px;font-family:Fraunces,Georgia,"Times New Roman",serif;font-size:clamp(52px,6.1vw,86px);line-height:.97;letter-spacing:-.055em;font-weight:500}.hero-copy>p{color:var(--muted);max-width:570px;margin:0;font-size:17px;line-height:1.8}.actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 25px;border-radius:999px;font-size:14px;font-weight:750;transition:.2s ease}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--green);transform:translateY(-2px)}.button-light{background:#fff;color:var(--ink)}.text-link{border-bottom:1px solid currentColor;font-size:14px;font-weight:750}.proof{display:flex;gap:28px;padding-top:42px;margin-top:42px;border-top:1px solid rgba(23,34,28,.12)}.proof div{display:flex;flex-direction:column;gap:4px}.proof strong{font-size:16px}.proof span{color:var(--muted);font-size:11px}.hero-visual{min-height:500px;position:relative;display:flex;align-items:center;justify-content:center;gap:26px}.hero-card{background:rgba(255,255,255,.9);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8)}.hero-main{width:300px;min-height:420px;border-radius:180px 180px 30px 30px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;transform:rotate(2deg)}.hero-main-alt{transform:rotate(-2deg) translateY(14px)}.hero-main>img{width:90%;height:230px;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(18,74,51,.18));transition:opacity .32s ease,transform .32s ease}.hero-main>small{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.14em}.hero-meta{width:100%;display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:16px;transition:opacity .32s ease,transform .32s ease}.hero-meta span{color:var(--muted);font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}.hero-meta strong{color:var(--ink);font-size:16px}.hero-main.hero-swap>img,.hero-main.hero-swap .hero-meta{opacity:0;transform:translateY(8px)}.floating-product,.floating-note{position:absolute;border-radius:18px;padding:14px;z-index:2}.floating-product{left:-20px;top:60px}.floating-product img{width:85px;height:68px;object-fit:contain}.floating-product span,.floating-note span{display:block;color:var(--muted);font-size:11px}.floating-note{right:-20px;bottom:70px;padding:20px 24px}

.trustbar{border-bottom:1px solid var(--line)}.trust-grid{min-height:106px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.trust-grid>div{display:flex;align-items:center;gap:14px;min-height:54px;padding-inline:24px;border-right:1px solid var(--line)}.trust-grid>div:first-child{padding-left:0}.trust-grid>div:last-child{border-right:0}.trust-grid i{width:36px;height:36px;border-radius:50%;background:#edf5ef;color:var(--green);display:grid;place-items:center;font-size:18px;font-style:normal}.trust-grid p{margin:0;display:flex;flex-direction:column;gap:3px}.trust-grid strong{font-size:13px}.trust-grid p span{color:var(--muted);font-size:11px}

.section{padding:100px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-head h2{margin:12px 0 0;font-family:Fraunces,Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-.035em;font-weight:500}.section-head p{color:var(--muted);margin:12px 0 0}.section-head>a{border-bottom:1px solid currentColor;padding-bottom:4px;font-size:13px;font-weight:750;white-space:nowrap}.centered{text-align:center;justify-content:center}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.category-card{min-height:360px;padding:28px 26px 22px;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.category-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.category-card>span{font-family:Fraunces,Georgia,serif;font-size:25px}.category-card img{width:100%;height:220px;margin:auto 0;object-fit:contain;transition:transform .25s ease}.category-card:hover img{transform:scale(1.06) rotate(-2deg)}.category-card b{font-size:12px}.mint{background:#e9f1e8}.peach{background:#f6eae0}.blue{background:#e8eff3}.lilac{background:#eee9f1}

.products-section{background:#fafafa}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-image{display:block;position:relative;background:#f2f4f1}.product-image img{display:block;width:100%;aspect-ratio:1/.82;object-fit:contain;padding:25px}.badge{position:absolute;z-index:2;left:14px;top:14px;padding:6px 9px;border-radius:99px;background:var(--green-dark);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em}.product-info{padding:20px}.product-category{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.product-info h3{min-height:44px;margin:9px 0 15px;font-size:16px;line-height:1.4}.product-row{display:flex;align-items:end;justify-content:space-between}.price{display:flex;align-items:center;gap:8px}.price del{color:#9aa09c;font-size:11px}.price strong{color:var(--green);font-size:16px}.product-row button{width:38px;height:38px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:21px;cursor:pointer;transition:.2s}.product-row button:hover{background:var(--green);transform:rotate(90deg)}

.promos{padding-top:0;background:#fafafa}.promo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.promo{min-height:390px;padding:52px;border-radius:26px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;position:relative}.promo>div{position:relative;z-index:2;max-width:360px}.promo>div>span{font-size:10px;font-weight:800;letter-spacing:.13em;opacity:.75}.promo h2{margin:16px 0;font-family:Fraunces,Georgia,serif;font-size:39px;line-height:1.08;font-weight:500;letter-spacing:-.025em}.promo p{opacity:.75}.promo a{display:inline-block;margin-top:20px;border-bottom:1px solid;font-size:12px;font-weight:800}.promo img{width:43%;height:260px;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(0,0,0,.14))}.promo-dark{background:var(--green-dark);color:#fff}.promo-light{background:#efe7db;padding:44px 36px}.promo-light h2{font-size:33px}

.recommended{background:#fff}.reviews{background:var(--cream)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-grid blockquote{margin:0;padding:34px;border-radius:20px;background:#fff;border:1px solid rgba(23,34,28,.08)}.stars{color:#d18d2a;letter-spacing:.15em;font-size:13px}.review-grid blockquote>p{min-height:110px;margin:24px 0;font-family:Fraunces,Georgia,serif;font-size:21px;line-height:1.65}.review-grid footer{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:20px}.review-grid footer strong{font-size:13px}.review-grid footer span{color:var(--muted);font-size:11px}

.why{background:var(--green-dark);color:#fff}.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.why .kicker{color:#b8d7c3}.why-grid>div:first-child h2{margin:18px 0;font-family:Fraunces,Georgia,serif;font-size:50px;line-height:1.06;font-weight:500;letter-spacing:-.035em}.why-grid>div:first-child p{color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:30px}.why-list article{display:grid;grid-template-columns:50px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}.why-list article:first-child{border-top:1px solid rgba(255,255,255,.16)}.why-list article>span{color:#b8d7c3;font-family:Fraunces,Georgia,serif;font-size:20px}.why-list h3{margin:0 0 8px;font-size:19px}.why-list p{margin:0;color:rgba(255,255,255,.68);line-height:1.7}

.newsletter{padding:76px 0;background:#dfebdf}.newsletter-inner{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:80px}.newsletter h2{margin:12px 0 8px;font-family:Fraunces,Georgia,serif;font-size:42px;font-weight:500}.newsletter p{color:var(--muted);margin:0}.signup{display:flex;padding:7px;border-radius:999px;background:#fff;box-shadow:0 12px 32px rgba(23,34,28,.06)}.signup input{min-width:0;flex:1;border:0;outline:0;padding:0 20px;background:transparent;font-size:13px}.signup button{border:0;border-radius:999px;padding:15px 24px;background:var(--ink);color:#fff;font-weight:750;cursor:pointer}

.footer{background:#101712;color:#fff;padding:78px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:70px}.footer-grid h3{margin:0 0 22px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-grid a,.footer-grid button{border:0;padding:0;background:none;color:rgba(255,255,255,.68);font-size:13px;cursor:pointer}.footer-grid a:hover,.footer-grid button:hover{color:#fff}.footer-brand>a{color:#fff;font-size:25px;font-weight:800}.footer-brand p{max-width:320px;color:rgba(255,255,255,.58);line-height:1.7;font-size:13px}.socials{display:flex;gap:9px;margin-top:22px}.socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:65px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.45);font-size:11px}

.cart-overlay{position:fixed;inset:0;z-index:99;background:rgba(10,15,12,.48);opacity:0;visibility:hidden;transition:.25s}.cart-overlay.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;z-index:100;right:0;top:0;width:min(440px,100%);height:100%;padding:30px;background:#fff;box-shadow:-20px 0 70px rgba(0,0,0,.14);transform:translateX(105%);transition:transform .28s ease;display:flex;flex-direction:column}.cart-drawer.open{transform:none}.cart-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.cart-head span{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.14em}.cart-head h2{margin:7px 0 0;font-family:Fraunces,Georgia,serif;font-size:34px;font-weight:500}.cart-head button{border:0;background:none;font-size:30px;cursor:pointer}.cart-items{overflow:auto}.cart-line{display:grid;grid-template-columns:80px 1fr 25px;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-line>img{width:80px;height:80px;padding:7px;border-radius:12px;background:#f2f4f1;object-fit:contain}.cart-line>div{display:flex;flex-direction:column;gap:7px}.cart-line strong{font-size:13px}.cart-line span{color:var(--green);font-size:12px;font-weight:700}.quantity{display:flex;align-items:center;gap:9px}.quantity button,.remove{border:0;background:#eef1ee;cursor:pointer}.quantity button{width:24px;height:24px;border-radius:50%}.quantity b{font-size:12px}.remove{width:24px;height:24px;border-radius:50%;color:#777}.cart-empty{margin:auto;text-align:center}.cart-empty>span{display:block;color:var(--green);font-size:44px}.cart-empty h3{font-family:Fraunces,Georgia,serif;font-size:24px}.cart-empty p{color:var(--muted);font-size:13px}.cart-empty button{border:0;border-bottom:1px solid;background:none;font-weight:700;cursor:pointer}.cart-summary{margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}.cart-summary>div{display:flex;justify-content:space-between;font-size:18px}.cart-summary p{color:var(--muted);font-size:11px}.cart-summary>button{width:100%;min-height:50px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:750;cursor:pointer}.toast{position:fixed;z-index:110;left:50%;bottom:28px;padding:13px 20px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.actions,.proof{justify-content:center}.hero-visual{min-height:440px}.trust-grid,.category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.promo-grid,.why-grid,.newsletter-inner{grid-template-columns:1fr}.why-grid{gap:50px}.review-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{display:none}}
@media(max-width:700px){.shell{width:min(100% - 28px,1180px)}.announcement .shell{justify-content:center}.announcement span:nth-child(2),.announcement a{display:none}.site-header{position:relative}.header-inner{min-height:68px}.menu-toggle{display:block;order:3}.cart-button{margin-left:auto}.nav{position:absolute;left:0;right:0;top:68px;padding:20px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 25px rgba(0,0,0,.08)}.menu-open .nav{display:flex}.nav a{padding:13px}.hero{min-height:auto}.hero-grid{padding-block:58px}.hero-copy h1{font-size:48px}.actions{flex-direction:column;gap:18px}.proof{gap:14px;justify-content:space-between}.proof strong{font-size:13px}.proof span{font-size:9px}.hero-visual{min-height:auto;gap:12px}.hero-main{width:48%;min-height:280px;padding:18px;border-radius:150px 150px 24px 24px}.hero-main>img{height:130px}.hero-main-alt{transform:rotate(-2deg) translateY(8px)}.floating-product{left:0;top:10px}.floating-note{right:0;bottom:20px}.trust-grid{grid-template-columns:1fr 1fr;padding-block:12px}.trust-grid>div{padding:12px 10px;border-right:0}.section{padding:68px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:30px}.section-head h2{font-size:39px}.category-grid,.product-grid{grid-template-columns:1fr 1fr;gap:12px}.category-card{min-height:245px;padding:20px 16px}.category-card>span{font-size:19px}.category-card img{height:145px}.product-image img{padding:13px}.product-info{padding:13px}.product-info h3{font-size:14px}.product-row{align-items:center}.price{align-items:flex-start;flex-direction:column;gap:1px}.product-row button{width:34px;height:34px}.promo{min-height:430px;padding:34px 26px;align-items:flex-start}.promo h2,.promo-light h2{font-size:34px}.promo img{position:absolute;width:210px;height:180px;right:15px;bottom:20px}.why-grid>div:first-child h2{font-size:41px}.newsletter-inner{gap:34px}.newsletter h2{font-size:35px}.signup{border-radius:16px;flex-direction:column}.signup input{min-height:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px 25px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;margin-top:45px}}
@media(max-width:390px){.brand{font-size:21px}.cart-button{font-size:0}.cart-button span{font-size:11px}.hero-copy h1{font-size:42px}.category-grid,.product-grid{grid-template-columns:1fr}.category-card{min-height:290px}.category-card img{height:190px}}

.fly-dot{position:fixed;left:0;top:0;z-index:1000;width:46px;height:46px;pointer-events:none;object-fit:cover;background:#fff;border-radius:12px;box-shadow:0 14px 34px rgba(23,34,28,.25);will-change:left,top,transform,opacity}
@keyframes cart-bump{0%{transform:scale(1)}35%{transform:scale(1.18) rotate(-4deg)}70%{transform:scale(.96)}100%{transform:scale(1)}}
.cart-button.cart-bump{animation:cart-bump .42s cubic-bezier(.2,.7,.3,1.2)}

/* Element UI style custom select */
.ui-select{position:relative;display:inline-block;flex:0 0 auto;vertical-align:middle}
.ui-select-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}
.ui-select__trigger{display:flex;align-items:center;position:relative;width:100%;background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer;padding:0 34px 0 14px;outline:0;transition:border-color .18s,box-shadow .18s;user-select:none}
.ui-select__trigger:hover{border-color:var(--green)}
.ui-select.open .ui-select__trigger{border-color:var(--green);box-shadow:0 0 0 3px rgba(29,107,71,.1)}
.ui-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-select__value.placeholder{color:#9ca59e}
.ui-select__arrow{position:absolute;right:14px;top:50%;width:7px;height:7px;margin-top:-5px;border-right:1.6px solid #9aa39c;border-bottom:1.6px solid #9aa39c;transform:rotate(45deg);transition:transform .2s,border-color .2s,margin-top .2s}
.ui-select.open .ui-select__arrow{margin-top:-2px;transform:rotate(225deg);border-color:var(--green)}
.ui-select__dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(23,34,28,.14);padding:6px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s,transform .16s,visibility .16s}
.ui-select.open .ui-select__dropdown{opacity:1;visibility:visible;transform:none}
.ui-select__list{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto}
.ui-select__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:7px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}
.ui-select__item:hover,.ui-select__item.active{background:#f4f7f4}
.ui-select__item.selected{color:var(--green);font-weight:700}
.ui-select__check{color:var(--green);font-weight:800;opacity:0}
.ui-select__item.selected .ui-select__check{opacity:1}
.ui-select:has(.ui-select-native.invalid) .ui-select__trigger{border-color:#c35840;box-shadow:0 0 0 3px rgba(195,88,64,.1)}

.field .ui-select:has(.ui-select-native.invalid) + .field-error{display:block}

/* ===== Premium product cards (added) ===== */
.product-card{transition:transform .22s ease,box-shadow .22s ease}
.product-card:hover{transform:translateY(-6px);box-shadow:0 28px 52px rgba(23,34,28,.13)}
.product-image img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:26px;transition:transform .4s ease}
.product-card:hover .product-image img{transform:scale(1.05)}
.product-info h3{margin:9px 0 11px;font-size:15px;line-height:1.38;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:41px}
.rating-row{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.rating-row .stars{color:#e8a200;font-size:12px;letter-spacing:.5px}
.rating-row em{font-style:normal;color:var(--muted);font-size:11px}
.badge-sale{background:#c0392b !important}
.product-row button{width:34px;height:34px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:17px;cursor:pointer;transition:transform .2s,background .2s}
.product-row button:hover{background:var(--green);transform:scale(1.08)}
.price strong{font-size:17px;font-weight:800}

/* Shared image loading state */
[data-image-loading]{position:relative;overflow:hidden}
[data-image-loading]::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(105deg,#edf1ed 8%,#f8faf8 18%,#edf1ed 33%);background-size:220% 100%;animation:image-skeleton 1.35s ease-in-out infinite;transition:opacity .24s ease}
[data-image-loading].is-loaded::before,[data-image-loading].is-error::before{opacity:0;animation:none}
[data-image-loading].is-error img{opacity:.65}
@keyframes image-skeleton{0%{background-position:200% 0}100%{background-position:-20% 0}}
.variant-required-message{margin:10px 0 0;color:#b44732;font-size:12px;font-weight:700;text-align:right}
.variant-needs-selection .variant-choice:not(.active){animation:variant-pulse .45s ease-in-out}
.needs-selection-focus{outline:3px solid rgba(180,71,50,.5);outline-offset:3px;box-shadow:0 0 0 5px rgba(180,71,50,.12)!important}
@keyframes variant-pulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 3px rgba(180,71,50,.22)}}
.price del{color:var(--muted);font-size:12px}
/* ===== Fly-to-cart parabola animation ===== */
.fly-cart{position:fixed;z-index:9999;width:56px;height:56px;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18);pointer-events:none;will-change:left,top,transform,opacity}
@keyframes fiberra-bump{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
.cart-button.bump{animation:fiberra-bump .32s ease}
.reviews-carousel{position:relative;padding:0 56px}
.reviews-viewport{overflow:hidden}
.reviews-track{display:flex;gap:22px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.review-card{flex:0 0 calc((100% - 44px)/3);min-width:0;margin:0;padding:34px;border-radius:20px;background:#fff;border:1px solid rgba(23,34,28,.08);box-sizing:border-box}
.review-card .stars{color:#d18d2a;letter-spacing:.15em;font-size:13px}
.review-card>p{min-height:110px;margin:24px 0;font-family:Fraunces,Georgia,serif;font-size:21px;line-height:1.65}
.review-card footer{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:20px}
.review-card footer strong{font-size:13px}
.review-card footer span{color:var(--muted);font-size:11px}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow);transition:.2s}
.carousel-arrow:hover{background:var(--green);color:#fff;border-color:var(--green)}
.carousel-arrow.prev{left:0}
.carousel-arrow.next{right:0}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}
.carousel-dots button{width:9px;height:9px;border-radius:99px;border:0;background:#c9d3cd;cursor:pointer;padding:0;transition:.2s}
.carousel-dots button.active{width:26px;background:var(--green)}
@media(max-width:900px){.review-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:700px){.reviews-carousel{padding:0 40px}.review-card{flex-basis:100%}.carousel-arrow{width:36px;height:36px;font-size:18px}}
.brand-logo{height:30px;width:30px}
.nav a{display:inline-flex;align-items:center;gap:7px}
.nav-icon{width:22px;height:22px;flex:none}.cart-button .nav-icon{width:27px;height:27px}
.cart-button{display:inline-flex;align-items:center;gap:7px}


.variant-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,15,12,.52);display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}
.variant-dialog{background:#fff;color:var(--ink);border-radius:20px;max-width:640px;width:100%;max-height:90vh;overflow-x:hidden;overflow-y:auto;padding:28px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.variant-close{position:absolute;top:12px;right:14px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}
.variant-dialog h3{font-family:'Fraunces',serif;margin:0 32px 16px 0;font-size:19px;line-height:1.3}
.variant-group{margin:16px 0}
.variant-label{display:block;font-weight:700;margin-bottom:8px;font-size:14px}
.variant-choices{display:flex;flex-wrap:wrap;gap:8px}
.variant-choice{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;font-size:14px;color:var(--ink);font-weight:600}
.variant-choice:hover{border-color:var(--green)}
.variant-choice.active{border-color:var(--green);background:var(--green);color:#fff}
.variant-choice.sold-out{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.variant-choice em{font-style:normal;font-size:11px;font-weight:500}
.variant-thumb{width:24px;height:24px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
.variant-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.variant-price{font-weight:800;font-size:18px}
.variant-confirm{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:700;font-size:14px;cursor:pointer}
.variant-confirm:hover{background:var(--green)}
.variant-confirm:disabled{opacity:.5;cursor:not-allowed}
.cart-line-opts{display:block;color:var(--muted);font-size:12px;margin-top:2px}

.variant-preview{position:relative;display:block;width:min(100%,480px);height:400px;overflow:visible;border:1px solid var(--line);border-radius:16px;background:#f7f7f5;margin:2px auto 14px;cursor:default;padding:0;isolation:isolate}
.variant-preview::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(246,246,243,.72));box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 12px 30px rgba(0,0,0,.06);pointer-events:none;z-index:-1}
.variant-preview img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit;background:transparent}
.variant-focus{position:absolute;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(0,0,0,.12),0 6px 18px rgba(0,0,0,.18),0 0 0 6px rgba(0,0,0,.04);pointer-events:none;opacity:0;transform:scale(.5);transition:opacity .22s ease,transform .22s cubic-bezier(.34,1.56,.64,1);z-index:2;will-change:left,top,transform}
.variant-focus.show{opacity:1;transform:scale(1)}
.variant-lens{position:absolute;width:224px;height:224px;border-radius:22px;background-repeat:no-repeat;background-color:#fff;pointer-events:none;opacity:0;transform:scale(.62) rotate(-6deg);transition:opacity .3s cubic-bezier(.22,.61,.36,1),transform .3s cubic-bezier(.22,.61,.36,1);z-index:3;will-change:left,top,background-position,background-size,transform;box-shadow:0 20px 46px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05),0 0 0 7px rgba(255,255,255,.16)}
.variant-lens::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),inset 0 0 44px rgba(0,0,0,.05);pointer-events:none}
.variant-lens.show{opacity:1;transform:scale(1) rotate(0deg)}
.variant-choices{display:flex;flex-wrap:wrap;gap:10px}
.variant-choice{display:inline-flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px;cursor:pointer;font-size:13px;color:var(--ink);font-weight:600;min-width:78px}
.variant-choice:hover{border-color:var(--green)}
.variant-choice.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(29,107,71,.18)}
.variant-choice.sold-out{opacity:.45;cursor:not-allowed}
.variant-choice em{font-style:normal;font-size:11px;font-weight:500;color:#b3261e}
.variant-img-wrap{position:relative;display:block}
.variant-img{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
