/*
Theme Name: JB Cosmetics
Theme URI: https://example.com/
Author: JB Cosmetics
Description: Editorial skincare storefront inspired by the supplied JB Cosmetics reference.
Version: 1.0.0
*/

:root { --gold:#b98b2d; --gold-dark:#8b651c; --cream:#fbf8f1; --ink:#2c2924; --line:#e7dfd0; --serif: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--sans); line-height:1.55; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px, calc(100% - 48px)); margin:auto; }
.announcement { background:linear-gradient(90deg,#e9ca7a,#c69a3d,#e9ca7a); color:#fff; text-align:center; letter-spacing:.14em; font-size:11px; padding:8px 16px; text-transform:uppercase; }
.site-header { border-bottom:1px solid #f0ece5; background:#fff; }
.header-inner { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { color:var(--gold-dark); text-align:center; width:150px; line-height:1; }
.brand-mark { font:56px/ .7 var(--serif); letter-spacing:-.16em; margin-right:10px; }
.brand-name { display:block; margin-top:15px; letter-spacing:.28em; font-size:10px; }
.brand-sub { display:block; letter-spacing:.32em; font-size:8px; margin-top:8px; }
.nav { display:flex; align-items:center; gap:38px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; }
.nav a { padding:42px 0 8px; border-bottom:2px solid transparent; }
.nav a:hover,.nav .current { color:var(--gold-dark); border-color:var(--gold); }
.header-actions { display:flex; gap:18px; font-size:24px; font-weight:300; }
.header-actions span { position:relative; }
.cart-count { position:absolute; top:-8px; right:-7px; background:var(--gold); color:#fff; border-radius:50%; width:15px; height:15px; font-size:9px; text-align:center; line-height:15px; }
.hero { min-height:525px; display:flex; align-items:center; background-image:linear-gradient(90deg,rgba(240,228,212,.97) 0%,rgba(247,239,228,.78) 43%,rgba(222,217,201,.08) 100%),url('assets/images/hero-skincare.png'); background-size:cover; background-position:center; }
.hero-content { max-width:520px; padding:82px 0; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:11px; color:var(--gold-dark); font-weight:700; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.05; color:var(--gold-dark); }
h1 { font-size:58px; margin:17px 0 18px; }
h2 { font-size:35px; margin:10px 0 18px; }
.hero p { max-width:390px; font-size:15px; }
.button { display:inline-block; background:var(--gold); color:#fff; padding:13px 25px; margin-top:16px; text-transform:uppercase; letter-spacing:.1em; font-size:11px; }
.button:hover { background:var(--gold-dark); }
.benefits { background:rgba(255,255,255,.72); border-top:1px solid rgba(185,139,45,.18); display:grid; grid-template-columns:repeat(3,1fr); padding:18px max(24px, calc((100vw - 1180px)/2)); gap:12px; }
.benefit { text-align:center; border-right:1px solid var(--line); color:var(--gold-dark); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.benefit:last-child { border:0; }.benefit strong { display:block; font-size:22px; margin-bottom:4px; font-weight:400; }
.feature { padding:78px 0; display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.feature-art { min-height:380px; background:radial-gradient(circle at 50% 60%,#f3e2b3 0 22%,transparent 23%), linear-gradient(135deg,#fff 50%,#f9f1e4); position:relative; display:grid; place-items:center; overflow:hidden; }
.bottle { width:145px; height:290px; background:linear-gradient(90deg,#7c180d,#d83d17 40%,#9b1b0d); border-radius:12px 12px 18px 18px; box-shadow:18px 20px 30px rgba(91,45,12,.18); position:relative; }
.bottle:before { content:''; position:absolute; width:70px; height:42px; left:38px; top:-39px; border:8px solid #c59c48; border-bottom:0; border-radius:8px 8px 0 0; }.bottle:after { content:'JB\A COSMETICS\A TOMATO\A SHOWER GEL'; white-space:pre; position:absolute; inset:82px 20px; border:1px solid #d9a954; color:#edc979; text-align:center; font:11px/1.5 var(--serif); padding-top:10px; }
.feature-copy ul { list-style:none; padding:0; margin:22px 0; }.feature-copy li { margin:9px 0; font-size:14px; }.feature-copy li:before { content:'✓'; color:var(--gold); border:1px solid var(--gold); border-radius:50%; display:inline-grid; place-items:center; width:17px; height:17px; margin-right:9px; font-size:10px; }
.catalog { padding:15px 0 75px; text-align:center; }.catalog-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:30px; text-align:left; }.product-card { border:1px solid var(--line); padding:18px; background:#fffdf9; }.product-swatch { height:160px; margin:-18px -18px 18px; background:radial-gradient(circle at 50% 45%,#cc4b28 0 26%,transparent 27%),linear-gradient(135deg,#f4ead9,#fffdf8); }.product-card h3 { font-size:22px; margin:8px 0; }.product-card p { font-size:13px; color:#70685d; min-height:60px; }.price { color:var(--gold-dark); display:block; margin-top:12px; }
.button-outline { background:transparent; color:var(--gold-dark); border:1px solid var(--gold); margin-left:6px; }.button-outline:hover { color:#fff; }
.product-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; align-items:stretch; }
.quantity-stepper { grid-column:1/-1; display:none; align-items:center; justify-content:space-between; height:38px; border:1px solid var(--line); background:#fff; border-radius:3px; overflow:hidden; animation:quantity-reveal .25s ease both; }
.quantity-stepper.is-visible { display:flex; }
@keyframes quantity-reveal { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
.quantity-stepper button { width:38px; height:100%; border:0; background:#fffaf0; color:var(--gold-dark); font-size:20px; cursor:pointer; transition:background .2s ease, color .2s ease; }
.quantity-stepper button:hover { background:var(--gold); color:#fff; }
.quantity-stepper input { width:52px; border:0; background:transparent; color:var(--ink); text-align:center; font:14px var(--sans); outline:0; -moz-appearance:textfield; }
.quantity-stepper input::-webkit-outer-spin-button, .quantity-stepper input::-webkit-inner-spin-button { margin:0; -webkit-appearance:none; }
.product-actions .button { display:flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; margin:0; padding:10px 9px; border:1px solid var(--gold); border-radius:3px; text-align:center; line-height:1.25; }
.product-actions .button:first-child { background:var(--gold); color:#fff; }
.product-actions .button:first-child:hover { background:var(--gold-dark); border-color:var(--gold-dark); }
.product-actions .button-outline { margin-left:0; background:#fffdf9; color:var(--gold-dark); }
.product-actions .button-outline:hover { background:var(--gold); color:#fff; }
.product-card { display:flex; flex-direction:column; min-height:100%; }
.product-card .price { margin-top:auto; padding-top:12px; }
.shop-page { padding:75px 0; min-height:480px; }.shop-page > h1 { margin-bottom:12px; }.shop-page .woocommerce { margin-top:28px; }.shop-page .woocommerce ul.products { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.shop-page .woocommerce ul.products li.product { width:auto; float:none; border:1px solid var(--line); padding:18px; background:#fffdf9; }.shop-page .woocommerce ul.products li.product a.button { background:var(--gold); color:#fff; }.shop-page .woocommerce form { border-color:var(--line); }
.shop-page .catalog-grid { align-items:stretch; }
.shop-page .product-card { min-height:100%; border:1px solid var(--line); background:#fffdf9; }
.shop-page .product-actions .button { display:flex !important; align-items:center; justify-content:center; min-height:44px; margin:0 !important; padding:10px 9px !important; border:1px solid var(--gold) !important; border-radius:3px !important; text-align:center; background:var(--gold) !important; color:#fff !important; box-shadow:none; }
.shop-page .product-actions .button:hover { background:var(--gold-dark) !important; border-color:var(--gold-dark) !important; color:#fff !important; }
.shop-page .product-actions .button-outline { background:#fffdf9 !important; color:var(--gold-dark) !important; }
.shop-page .product-actions .button-outline:hover { background:var(--gold) !important; color:#fff !important; }
.shop-page .quantity-stepper { display:none; }
.shop-page .quantity-stepper.is-visible { display:flex; }
.product-detail { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; max-width:980px; margin:0 auto; }
.product-detail-art { min-height:520px; position:relative; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 62%,#f3e2b3 0 25%,transparent 26%),linear-gradient(135deg,#fff 50%,#f9f1e4); border:1px solid var(--line); }
.product-detail-art .bottle { transform:scale(1.08); }
.product-detail-copy h1 { font-size:52px; margin:15px 0 12px; }
.product-detail-price { color:var(--gold-dark); font:24px var(--serif); margin-bottom:22px; }
.product-detail-description { color:#70685d; font-size:14px; line-height:1.7; }
.product-detail-cart .cart { display:flex; align-items:center; gap:10px; margin-top:28px; }
.product-detail-cart .quantity { display:flex; align-items:center; border:1px solid var(--gold); height:46px; }
.product-detail-cart .quantity input { width:52px; border:0; text-align:center; height:100%; }
.product-detail-cart .single_add_to_cart_button { min-height:46px; border:1px solid var(--gold); border-radius:3px; background:var(--gold); color:#fff; padding:0 24px; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.product-detail-cart .single_add_to_cart_button:hover { background:var(--gold-dark); }
.product-detail-points { display:grid; gap:9px; margin-top:25px; color:var(--gold-dark); font-size:12px; }
.results { background:var(--cream); padding:65px 0; text-align:center; }.results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px; }.result-card { border-radius:14px; overflow:hidden; background:#eee6da; }.result-img { height:170px; background:linear-gradient(110deg,#b78776 0 48%,#f3c5aa 49% 100%); }.result-card:nth-child(2) .result-img { background:linear-gradient(110deg,#a66d57 0 48%,#e3b99c 49% 100%); }.result-card:nth-child(3) .result-img { background:linear-gradient(110deg,#90644e 0 48%,#dcb09a 49% 100%); }.result-label { background:#fff; padding:8px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.ingredients { margin:0 auto; padding:24px 35px; background:linear-gradient(90deg,#bc8b2b,#e3c473,#fff8e8); display:grid; grid-template-columns:1.1fr repeat(4,1fr); align-items:center; gap:20px; color:#fff; }.ingredients h3 { color:#fff; font-size:22px; margin:0; }.ingredient { text-align:center; font-size:11px; }.ingredient strong { display:block; font-size:26px; font-weight:400; }
.testimonials { padding:60px 0 78px; text-align:center; }.quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:30px; }.quote { background:#fbf8f1; border:1px solid #f0e7d7; padding:28px; border-radius:5px; font:16px/1.5 var(--serif); }.stars { color:var(--gold); letter-spacing:.2em; font-family:var(--sans); font-size:13px; }.quote cite { display:block; margin-top:16px; font:12px var(--sans); color:#746b5d; }
.site-footer { border-top:1px solid var(--line); padding:40px 0 0; }.footer-grid { display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:35px; padding-bottom:36px; }.site-footer h4 { color:var(--gold-dark); text-transform:uppercase; letter-spacing:.1em; font-size:11px; margin:0 0 14px; }.site-footer p,.site-footer a { display:block; color:#686157; font-size:12px; margin:6px 0; }.copyright { background:linear-gradient(90deg,#e9ca7a,#c69a3d,#e9ca7a); color:#fff; text-align:center; padding:10px; font-size:11px; }
@media(max-width:800px) { .container { width:min(100% - 30px,600px); }.header-inner { min-height:82px; }.nav { display:none; }.header-actions { margin-left:auto; }.brand { width:120px; }.brand-mark { font-size:45px; } h1 { font-size:43px; }.hero { min-height:480px; }.feature,.footer-grid { grid-template-columns:1fr; gap:30px; }.results-grid,.quote-grid,.catalog-grid { grid-template-columns:1fr; }.ingredients { grid-template-columns:1fr 1fr; padding:24px 18px; }.ingredients h3 { grid-column:1/-1; }.benefits { padding:14px 8px; }.benefit { font-size:8px; }.feature-art { min-height:320px; } }

/* Refined icon system and the complete bestseller panel. */
.header-actions { align-items:center; gap:15px; }
.icon-button { position:relative; display:grid; place-items:center; width:28px; height:32px; padding:0; border:0; background:none; color:var(--ink); cursor:pointer; }
.icon-button svg, .benefit svg, .feature-note svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.icon-button:hover { color:var(--gold-dark); }
.cart-count { top:-2px; right:-5px; }
.benefit strong { color:var(--gold); height:27px; }
.benefit strong svg { width:25px; height:25px; }
.feature { grid-template-columns:1fr 1fr .78fr; gap:38px; }
.feature-art { min-height:410px; }
.feature-note { background:#fffaf0; border:1px solid #ead9b5; border-radius:12px; padding:22px 24px; }
.feature-note > div { display:grid; grid-template-columns:34px 1fr; gap:2px 10px; padding:13px 0; border-bottom:1px solid #eadfca; }
.feature-note > div:last-child { border-bottom:0; }
.feature-note strong { grid-row:1 / span 2; color:var(--gold); }
.feature-note b { color:var(--gold-dark); text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.feature-note p { margin:0; color:#70685d; font-size:12px; line-height:1.45; }
.tomato { position:absolute; display:block; width:62px; height:62px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#ef8d50 0 7%,transparent 8%), radial-gradient(circle at 50% 58%,#bd301b 0 58%,#8e1f13 60% 100%); box-shadow:inset 8px -8px 12px rgba(92,23,12,.18); }
.tomato:after { content:'✦'; position:absolute; left:24px; top:-12px; color:#5f8a3f; font-size:20px; }
.tomato-one { left:11%; bottom:35px; }.tomato-two { left:28%; bottom:15px; width:46px; height:46px; }
@media(max-width:1000px) { .feature { grid-template-columns:1fr 1fr; }.feature-note { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; } }
@media(max-width:800px) { .feature { grid-template-columns:1fr; }.feature-note { grid-template-columns:1fr; }.feature-note > div { grid-template-columns:34px 1fr; } }
@media(max-width:520px) { .product-actions { grid-template-columns:1fr; } }
.product-detail .tomato-one { left:12%; bottom:34px; }.product-detail .tomato-two { left:27%; bottom:16px; }
@media(max-width:800px) { .product-detail { grid-template-columns:1fr; gap:32px; }.product-detail-art { min-height:390px; }.product-detail-copy h1 { font-size:42px; } }
.product-card { cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.product-card:hover, .product-card:focus-within { border-color:var(--gold); box-shadow:0 14px 30px rgba(122,91,35,.14); transform:translateY(-4px); }
.product-card:hover .product-swatch { transform:scale(1.025); }
.product-swatch { transition:transform .2s ease; }
.jb-search-panel { position:fixed; inset:0; z-index:50; display:flex; align-items:flex-start; justify-content:center; padding:120px 20px 20px; background:rgba(44,41,36,.35); opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease; }
.jb-search-panel.is-open { opacity:1; visibility:visible; }
.jb-search-box { position:relative; width:min(620px,100%); padding:34px; background:#fffdf9; border:1px solid #ead9b5; box-shadow:0 20px 55px rgba(44,41,36,.2); transform:translateY(-14px); transition:transform .25s ease; }
.jb-search-panel.is-open .jb-search-box { transform:none; }
.jb-search-box form { display:flex; gap:10px; margin-top:16px; }
.jb-search-box input[type="search"] { flex:1; min-width:0; border:1px solid var(--line); padding:13px 14px; font:14px var(--sans); outline:0; }
.jb-search-box input[type="search"]:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(185,139,45,.12); }
.jb-search-box .button { margin:0; border:1px solid var(--gold); cursor:pointer; }
.jb-search-close { position:absolute; top:12px; right:16px; border:0; background:none; color:var(--gold-dark); font-size:28px; line-height:1; cursor:pointer; }
.search-summary { color:#70685d; }
@media(max-width:520px) { .jb-search-box { padding:30px 20px 22px; }.jb-search-box form { flex-direction:column; }.jb-search-box .button { width:100%; } }
.jb-chat-toggle { position:fixed; right:24px; bottom:24px; z-index:60; display:flex; align-items:center; gap:7px; border:1px solid #fff; border-radius:999px; padding:12px 17px; background:linear-gradient(135deg,#7b5310,#d7b35a 48%,#9c6e15); color:#fff; box-shadow:0 12px 28px rgba(67,43,4,.25); cursor:pointer; font:11px var(--sans); text-transform:uppercase; letter-spacing:.08em; transition:transform .2s ease, box-shadow .2s ease; }
.jb-chat-toggle:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(67,43,4,.32); }.jb-chat-toggle span { font-size:17px; }.jb-chat-toggle b { font-weight:700; }
.jb-chat-panel { position:fixed; right:24px; bottom:82px; z-index:60; display:flex; flex-direction:column; width:min(360px,calc(100vw - 30px)); height:520px; overflow:hidden; border:1px solid #ead9b5; border-radius:16px; background:#fffdf9; box-shadow:0 20px 55px rgba(44,41,36,.22); opacity:0; visibility:hidden; transform:translateY(14px) scale(.97); transform-origin:bottom right; transition:opacity .22s ease, visibility .22s ease, transform .22s ease; }
.jb-chat-panel.is-open { opacity:1; visibility:visible; transform:none; }.jb-chat-head { display:flex; align-items:center; justify-content:space-between; padding:17px 18px; background:linear-gradient(135deg,#2b1b08,#9b6e17); color:#fff; }.jb-chat-head strong,.jb-chat-head small { display:block; }.jb-chat-head strong { font:20px Georgia,serif; }.jb-chat-head small { margin-top:3px; color:#f5dfaa; font-size:10px; }.jb-chat-head button { border:0; background:none; color:#fff; font-size:25px; cursor:pointer; }
.jb-chat-messages { flex:1; overflow:auto; padding:16px; background:#fffaf0; }.jb-chat-message { max-width:86%; margin:0 0 10px; padding:10px 12px; border-radius:12px; font-size:12px; line-height:1.45; }.jb-chat-message.bot { background:#fff; border:1px solid #eadfca; color:#544b40; border-top-left-radius:3px; }.jb-chat-message.user { margin-left:auto; background:#b98b2d; color:#fff; border-top-right-radius:3px; }
.jb-chat-suggestions { display:flex; gap:6px; overflow:auto; padding:9px 12px; border-top:1px solid var(--line); background:#fff; }.jb-chat-suggestions button { flex:0 0 auto; border:1px solid #dec795; border-radius:999px; padding:7px 9px; background:#fffaf0; color:#80601f; font-size:10px; cursor:pointer; }.jb-chat-suggestions button:hover { background:#f0dfb4; }
.jb-chat-form { display:flex; gap:7px; padding:11px; border-top:1px solid var(--line); background:#fff; }.jb-chat-form input { flex:1; min-width:0; border:1px solid var(--line); border-radius:5px; padding:10px; outline:0; font-size:12px; }.jb-chat-form input:focus { border-color:var(--gold); }.jb-chat-form > button { width:38px; border:0; border-radius:5px; background:var(--gold); color:#fff; cursor:pointer; }
@media(max-width:520px) { .jb-chat-toggle { right:15px; bottom:15px; }.jb-chat-panel { right:15px; bottom:72px; height:calc(100vh - 100px); max-height:520px; } }
.luxury-home { --lux-black:#0d0a06; --lux-gold:#d7b35a; --lux-cream:#fff8ea; background:var(--lux-cream); color:#221b12; overflow:hidden; }
.lux-shell { width:min(1260px,92%); margin:0 auto; }
.lux-overline { color:#9d6f16; font-size:11px; font-weight:900; letter-spacing:.24em; text-transform:uppercase; }
.lux-hero { min-height:680px; padding:84px 0 100px; background:radial-gradient(circle at 75% 35%,rgba(222,184,89,.24),transparent 34%),linear-gradient(120deg,#fffdf7 0%,#fff6e4 52%,#f1dfb9 100%); }
.lux-hero-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.lux-hero-copy h1,.lux-section-title h2,.lux-story-copy h2,.lux-cta h2 { font-family:Georgia,'Times New Roman',serif; font-weight:500; line-height:.92; letter-spacing:-.04em; }
.lux-hero-copy h1 { font-size:clamp(58px,7vw,108px); margin:18px 0 24px; }.lux-hero-copy h1 em { color:#9d6f16; }
.lux-hero-copy p { max-width:520px; color:#73695b; font-size:17px; line-height:1.7; }.lux-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.lux-pill,.lux-outline { display:inline-flex; align-items:center; justify-content:center; padding:13px 22px; border-radius:999px; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.lux-pill { background:linear-gradient(135deg,#7b5310,#d7b35a 48%,#9c6e15); color:#fff; border:1px solid rgba(255,255,255,.42); box-shadow:0 14px 28px rgba(91,60,9,.24); }.lux-outline { border:1px solid rgba(157,111,22,.35); color:#7e5915; background:rgba(255,255,255,.65); }.lux-pill:hover,.lux-outline:hover { transform:translateY(-3px); box-shadow:0 12px 22px rgba(91,60,9,.18); }
.lux-hero-visual { min-height:500px; position:relative; background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(215,179,90,.22)); border-radius:190px 28px 28px 28px; box-shadow:0 30px 80px rgba(67,43,4,.18); overflow:hidden; }
.lux-hero-visual:before { content:''; position:absolute; inset:0; background:url('assets/images/hero-skincare.png') center/cover; opacity:.72; mix-blend-mode:multiply; }.lux-hero-bottle { position:absolute; z-index:1; width:150px; height:325px; right:22%; top:22%; border-radius:14px 14px 20px 20px; background:linear-gradient(90deg,#72170b,#d43d17 40%,#941b0d); box-shadow:18px 20px 30px rgba(91,45,12,.22); }.lux-hero-bottle:before { content:''; position:absolute; width:78px; height:45px; left:36px; top:-41px; border:8px solid #c59c48; border-bottom:0; border-radius:8px 8px 0 0; }.lux-wordmark { position:absolute; right:-2%; bottom:8%; color:rgba(139,95,13,.16); font:120px/.8 Georgia,serif; transform:rotate(-90deg); }.lux-spark { position:absolute; width:110px; height:110px; left:13%; top:12%; border:1px solid rgba(157,111,22,.4); transform:rotate(45deg); }
.lux-stats { position:relative; margin-top:-50px; z-index:3; }.lux-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); background:rgba(13,10,6,.96); color:#fff; border-radius:20px; overflow:hidden; box-shadow:0 22px 60px rgba(38,24,3,.28); }.lux-stats-grid div { padding:24px; text-align:center; border-right:1px solid rgba(255,255,255,.11); }.lux-stats-grid div:last-child { border:0; }.lux-stats-grid strong { display:block; color:#e4c471; font:27px Georgia,serif; }.lux-stats-grid span { color:#d9d0c0; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.lux-editorial { padding:105px 0; background:linear-gradient(180deg,#fffaf0,#f2e4c8); }.lux-section-title { max-width:740px; margin:0 auto 45px; text-align:center; }.lux-section-title h2 { font-size:clamp(44px,6vw,72px); margin:14px 0; }.lux-section-title p { color:#73695b; font-size:17px; line-height:1.7; }.lux-editorial-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:26px; }.lux-big-card,.lux-side-card { min-height:530px; position:relative; overflow:hidden; border-radius:30px; box-shadow:0 24px 68px rgba(72,48,7,.15); }.lux-card-stack { display:grid; grid-template-rows:1fr 1fr; gap:26px; }.lux-side-card { min-height:252px; }.lux-card-art,.lux-side-card { background:linear-gradient(135deg,#e7d2a4,#6f270e 70%,#1a0d06); }.lux-art-glow { background:radial-gradient(circle at 70% 35%,#f9dfa0 0 9%,transparent 10%),linear-gradient(135deg,#c49842,#2a180a 70%); }.lux-art-care { background:radial-gradient(circle at 30% 30%,#fff7dd 0 7%,transparent 8%),linear-gradient(135deg,#5e4730,#130d08 72%); }.lux-card-art:before { content:'JB'; position:absolute; right:12%; top:17%; color:rgba(255,240,186,.32); font:150px Georgia,serif; }.lux-card-copy { position:absolute; left:30px; right:30px; bottom:28px; z-index:2; color:#fff; }.lux-card-copy span { color:#f5d98c; font-size:10px; letter-spacing:.18em; text-transform:uppercase; font-weight:900; }.lux-card-copy h3 { color:#fff; font:38px Georgia,serif; margin:8px 0; }.lux-card-copy p { max-width:520px; color:#eee5d5; line-height:1.6; }
.lux-marquee { overflow:hidden; background:#0d0a06; color:#e7c66f; padding:18px 0; white-space:nowrap; }.lux-marquee div { display:inline-block; min-width:200%; animation:lux-scroll 22s linear infinite; font:24px Georgia,serif; letter-spacing:.08em; text-transform:uppercase; }.lux-marquee b { margin:0 26px; }.lux-shop { padding:105px 0; background:#0d0a06; color:#fff; }.lux-shop .lux-section-title p { color:#c9bead; }.lux-shop .lux-overline { color:#d9ba68; }.lux-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.lux-product { padding:0; border:1px solid rgba(215,179,90,.22); border-radius:24px; overflow:hidden; background:linear-gradient(180deg,#19140d,#100d08); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }.lux-product:hover { transform:translateY(-8px); border-color:rgba(215,179,90,.6); box-shadow:0 18px 35px rgba(0,0,0,.3); }.lux-product-art { height:260px; background:radial-gradient(circle at 50% 52%,#cc4b28 0 18%,transparent 19%),radial-gradient(circle at 50% 62%,rgba(215,179,90,.35),transparent 38%),linear-gradient(135deg,#33200d,#0d0a06); }.lux-product-info { padding:22px; }.lux-product-info small { color:#d9ba68; letter-spacing:.16em; text-transform:uppercase; font-weight:800; }.lux-product-info h3 { color:#fff; font:26px Georgia,serif; margin:8px 0; }.lux-product-info p { color:#bdb3a3; font-size:14px; line-height:1.55; min-height:55px; }.lux-product-info .price { color:#e3c36b; }.lux-product .product-actions { grid-template-columns:1fr 1fr; }.lux-product .product-actions .button { border-color:#d7b35a !important; }.lux-product .product-actions .button:first-child { background:#d7b35a; color:#0d0a06; }.lux-product .product-actions .button-outline { background:transparent !important; color:#e7c66f !important; }.lux-product .product-actions .button-outline:hover { background:#d7b35a !important; color:#0d0a06 !important; }
.lux-story { padding:110px 0; }.lux-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }.lux-story-visual { min-height:560px; position:relative; background:linear-gradient(135deg,#fff,#f0dfba); border-radius:28px; overflow:hidden; }.lux-story-bottle { position:absolute; width:145px; height:300px; top:23%; left:42%; background:linear-gradient(90deg,#72170b,#d43d17 40%,#941b0d); border-radius:14px 14px 20px 20px; box-shadow:18px 20px 30px rgba(91,45,12,.2); }.lux-story-orb { position:absolute; width:230px; height:230px; border-radius:50%; bottom:-55px; left:12%; background:radial-gradient(circle at 35% 30%,#ef8d50 0 8%,transparent 9%),#bc301b; box-shadow:0 20px 40px rgba(120,35,13,.2); }.lux-story-copy h2 { font-size:clamp(48px,6vw,74px); margin:15px 0 24px; color:#9d6f16; }.lux-story-copy p { color:#73695b; font-size:17px; line-height:1.75; }.lux-signature { margin-top:28px; padding:22px 24px; border-left:4px solid var(--lux-gold); background:linear-gradient(90deg,rgba(215,179,90,.17),rgba(255,255,255,.3)); border-radius:0 18px 18px 0; font:22px Georgia,serif; color:#503a13; }.lux-cta { padding:110px 0; color:#fff; background:linear-gradient(120deg,rgba(13,10,6,.96),rgba(56,35,8,.82)),radial-gradient(circle at 80% 30%,#c69a3d,transparent 30%); }.lux-cta h2 { max-width:760px; font-size:clamp(50px,7vw,84px); margin:15px 0; }.lux-cta p { max-width:650px; color:#e1d5c3; font-size:18px; line-height:1.7; }
@keyframes lux-scroll { to { transform:translateX(-50%); } }
.lux-product-image { width:100%; height:260px; object-fit:contain; padding:26px; background:linear-gradient(135deg,#fff8ea,#ead8ad); transition:transform .35s ease; }
.lux-product:hover .lux-product-image { transform:scale(1.06); }
.lux-hero-visual:before { background-image:url('assets/images/fire-luxury-03.jpeg'); opacity:.86; }
.lux-hero-bottle { display:none; }
.lux-art-tomato { background-image:linear-gradient(180deg,rgba(10,8,5,.05),rgba(10,8,5,.45)),url('assets/images/fire-luxury-07.jpeg'); background-size:cover; background-position:center; }
.lux-art-glow { background-image:linear-gradient(180deg,rgba(10,8,5,.08),rgba(10,8,5,.5)),url('assets/images/fire-luxury-04.jpeg'); background-size:cover; background-position:center; }
.lux-art-care { background-image:linear-gradient(180deg,rgba(10,8,5,.08),rgba(10,8,5,.5)),url('assets/images/fire-luxury-06.jpeg'); background-size:cover; background-position:center; }
.lux-product:nth-child(1) .lux-product-art { background-image:linear-gradient(180deg,rgba(13,10,6,.03),rgba(13,10,6,.28)),url('assets/images/fire-luxury-03.jpeg'); background-size:cover; background-position:center; }
.lux-product:nth-child(2) .lux-product-art { background-image:linear-gradient(180deg,rgba(13,10,6,.03),rgba(13,10,6,.28)),url('assets/images/fire-luxury-04.jpeg'); background-size:cover; background-position:center; }
.lux-product:nth-child(3) .lux-product-art { background-image:linear-gradient(180deg,rgba(13,10,6,.03),rgba(13,10,6,.28)),url('assets/images/fire-luxury-05.jpeg'); background-size:cover; background-position:center; }
.lux-product:nth-child(4) .lux-product-art { background-image:linear-gradient(180deg,rgba(13,10,6,.03),rgba(13,10,6,.28)),url('assets/images/fire-luxury-06.jpeg'); background-size:cover; background-position:center; }
@media(max-width:980px) { .lux-hero-grid,.lux-editorial-grid,.lux-story-grid { grid-template-columns:1fr; }.lux-hero-visual { min-height:500px; }.lux-product-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .lux-hero { padding:60px 0 90px; }.lux-hero-copy h1 { font-size:62px; }.lux-hero-visual { min-height:410px; }.lux-stats-grid,.lux-product-grid { grid-template-columns:1fr; }.lux-stats-grid div { border-right:0; border-bottom:1px solid rgba(255,255,255,.11); }.lux-stats-grid div:last-child { border-bottom:0; }.lux-editorial,.lux-shop,.lux-story { padding:75px 0; }.lux-card-copy h3 { font-size:32px; }.lux-story-visual { min-height:420px; }.lux-product .product-actions { grid-template-columns:1fr; } }
.jb-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease var(--reveal-delay), transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay); }
.jb-reveal.jb-visible { opacity:1; transform:none; }
.hero-content.jb-reveal { transform:translateX(-24px); }.hero-content.jb-reveal.jb-visible { transform:none; }
.benefit { transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; border-radius:6px; }
.benefit:hover { background:rgba(255,255,255,.9); color:var(--gold-dark); transform:translateY(-5px); box-shadow:0 10px 22px rgba(122,91,35,.1); }
.benefit strong svg { transition:transform .3s ease; }.benefit:hover strong svg { transform:scale(1.18) rotate(-6deg); }
.feature-art { transition:box-shadow .3s ease, border-color .3s ease; }.feature-art:hover { box-shadow:0 18px 34px rgba(122,91,35,.12); border-color:#ead9b5; }
.feature-note > div { transition:background .25s ease, padding-left .25s ease; border-radius:7px; }.feature-note > div:hover { background:#fff; padding-left:9px; }
.feature-note strong svg { transition:transform .3s ease; }.feature-note > div:hover strong svg { transform:scale(1.15); }
.result-card { transition:transform .3s ease, box-shadow .3s ease; }.result-card:hover { transform:translateY(-7px); box-shadow:0 14px 26px rgba(70,45,25,.15); }
.result-card .result-img { transition:transform .45s ease; }.result-card:hover .result-img { transform:scale(1.06); }
.ingredient { transition:transform .25s ease, color .25s ease; }.ingredient:hover { transform:translateY(-5px); color:#fff; }.ingredient strong { transition:transform .3s ease; }.ingredient:hover strong { transform:rotate(12deg) scale(1.15); }
.quote { transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }.quote:hover { transform:translateY(-6px); border-color:#ddc58f; box-shadow:0 13px 26px rgba(122,91,35,.1); }
.nav a, .icon-button, .button { transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .jb-reveal { opacity:1; transform:none; } }
.hero { min-height:520px; position:relative; align-items:flex-start; background-image:linear-gradient(90deg,rgba(245,234,219,.88) 0%,rgba(247,239,228,.58) 38%,rgba(222,217,201,.02) 72%),url('assets/images/hero-skincare.png'); background-position:center center; }
.hero-content { max-width:500px; padding:64px 0 120px; }
.hero .eyebrow { display:none; }
.hero h1 { font-size:56px; letter-spacing:.01em; margin:0 0 18px; color:#a87920; text-transform:uppercase; }
.hero p { max-width:360px; margin:0; color:#3f3a34; font-size:14px; line-height:1.65; }
.hero .button { margin-top:20px; border:1px solid #a9781c; box-shadow:0 5px 12px rgba(124,87,20,.15); }
.hero .button:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(124,87,20,.2); }
.benefits { position:relative; margin-top:-92px; min-height:92px; z-index:2; background:rgba(255,252,246,.74); backdrop-filter:blur(3px); }
.benefit { padding:4px 20px; }
@media(max-width:800px) { .hero { min-height:560px; background-position:62% center; }.hero-content { padding:50px 0 135px; }.hero h1 { font-size:43px; }.benefits { margin-top:-110px; } }
.cart-count { animation:cart-pop .35s ease both; }
@keyframes cart-pop { 0% { transform:scale(.7); opacity:.4; } 70% { transform:scale(1.18); } 100% { transform:scale(1); opacity:1; } }
.product-actions .button-outline.is-adding { opacity:.7; pointer-events:none; }
.product-actions .button-outline.is-added { background:#6f8b47; border-color:#6f8b47; color:#fff; }
.product-actions .button { transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.product-actions .button:active { transform:scale(.97); }
.lux-hero{min-height:860px;display:flex;align-items:center;position:relative;padding:0;background:radial-gradient(circle at 75% 35%,rgba(222,184,89,.24),transparent 34%),linear-gradient(120deg,#fffdf7 0%,#fff6e4 52%,#f1dfb9 100%)}.lux-hero:before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;left:-160px;bottom:-140px;border:1px solid rgba(215,179,90,.25);box-shadow:0 0 0 38px rgba(215,179,90,.07),0 0 0 78px rgba(215,179,90,.04);pointer-events:none}.lux-hero-copy h1{margin:18px 0 24px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(62px,8vw,118px);line-height:.86;font-weight:500;letter-spacing:-.055em}.lux-hero-copy h1 em{display:block;font-style:italic;background:linear-gradient(90deg,#8f6112,#e0c06d,#9b6e17);-webkit-background-clip:text;background-clip:text;color:transparent}.lux-hero-copy p{max-width:590px;color:#73695b;font-size:19px;line-height:1.75}.lux-hero-visual{min-height:580px}.lux-hero-visual:after{content:'JB COSMETICS';position:absolute;right:5%;bottom:8%;color:rgba(139,95,13,.22);font:700 14px/1 Arial,sans-serif;letter-spacing:.35em;transform:rotate(-90deg);transform-origin:right bottom}.lux-actions{margin-top:34px}.lux-pill,.lux-outline{border-radius:999px}.lux-pill{text-transform:none;font-size:12px}.lux-outline{text-transform:none;font-size:12px}@media(max-width:980px){.lux-hero{min-height:auto;padding:80px 0 100px}}@media(max-width:640px){.lux-hero{padding:64px 0 95px}.lux-hero-copy h1{font-size:62px}.lux-hero-visual{min-height:440px}}
.lux-hero-visual{border:1px solid rgba(255,255,255,.88);border-radius:220px 30px 30px 30px;background-color:#e7d6bd}.lux-hero-inset{position:absolute;z-index:3;left:-12%;bottom:2%;width:42%;aspect-ratio:1/1;border:12px solid rgba(255,255,255,.96);border-radius:28px 28px 90px 28px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(20,12,3,.08)),url('assets/images/fire-luxury-04.jpeg') center/cover;box-shadow:0 18px 28px rgba(67,43,4,.14)}.lux-spark{width:88px;height:88px;left:-14%;top:8%;border:0;transform:none}.lux-spark:before,.lux-spark:after{content:'';position:absolute;background:#bd8b27}.lux-spark:before{width:2px;height:180px;left:43px;top:-45px}.lux-spark:after{height:2px;width:180px;left:-45px;top:43px}@media(max-width:980px){.lux-hero-inset{left:4%;bottom:3%;width:38%}.lux-spark{left:6%}}@media(max-width:640px){.lux-hero-inset{left:3%;width:40%;border-width:8px}.lux-spark{display:none}}
.lux-hero-grid{position:relative}.lux-hero-inset{position:absolute;z-index:4;left:48%;bottom:34px;width:220px;height:190px;border:12px solid rgba(255,255,255,.96);border-radius:28px 28px 90px 28px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(20,12,3,.08)),url('assets/images/fire-luxury-04.jpeg') center/cover;box-shadow:0 18px 28px rgba(67,43,4,.18)}
@media(max-width:980px){.lux-hero-inset{left:4%;bottom:28px;width:210px;height:180px}}
@media(max-width:640px){.lux-hero-inset{position:relative;left:4%;bottom:auto;grid-column:1;width:40%;height:160px;margin-top:-160px;margin-bottom:34px;border-width:8px}}
.lux-hero-visual{min-height:620px;height:calc(100vh - 190px);max-height:740px;border-radius:210px 34px 34px 34px}.lux-hero-inset{left:42%;bottom:14px;width:250px;height:225px;border-radius:28px 28px 98px 28px}.lux-spark{left:-17%;top:10%}@media(max-width:980px){.lux-hero-visual{height:auto;min-height:480px}.lux-hero-inset{left:4%;width:200px;height:180px;bottom:20px}}@media(max-width:640px){.lux-hero-visual{min-height:360px;height:360px;border-radius:120px 20px 20px 20px}.lux-hero-inset{left:4%;width:36%;height:130px;bottom:auto}.lux-spark{display:none}}
.lux-hero-visual,.lux-hero-inset{background-size:cover;background-repeat:no-repeat;background-position:center}.lux-hero-visual{overflow:hidden}.lux-hero-inset{overflow:hidden;box-sizing:border-box}.lux-product-art{height:260px;overflow:hidden;display:flex;align-items:center;justify-content:center}.lux-product-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:30px;box-sizing:border-box}.lux-product-info{min-width:0}.lux-product-info h3,.lux-product-info p{overflow-wrap:anywhere}
.lux-hero-visual{overflow:visible}.lux-hero-visual:before{border-radius:inherit}
.lux-hero-visual:before{background-size:86% auto;background-repeat:no-repeat;background-position:center}
@media(max-width:640px){.lux-hero-visual:before{background-size:92% auto}}
.luxury-home{scroll-behavior:smooth}.lux-product-grid,.lux-editorial-grid,.lux-story-grid{content-visibility:auto;contain-intrinsic-size:700px}.lux-product,.lux-big-card,.lux-side-card{will-change:transform}.lux-product:focus-within,.lux-big-card:focus-within,.lux-side-card:focus-within{outline:2px solid #d7b35a;outline-offset:4px}.lux-pill:focus-visible,.lux-outline:focus-visible,.button:focus-visible{outline:3px solid rgba(215,179,90,.45);outline-offset:3px}.lux-product-art{background-color:#f7ead0}.lux-product-image{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s ease}.lux-product:hover .lux-product-image{transform:scale(1.035);filter:saturate(1.06)}.lux-product-info h3{transition:color .25s ease}.lux-product:hover .lux-product-info h3{color:#e5c36f}.lux-section-title h2{ text-wrap:balance }.lux-hero-copy p,.lux-section-title p{ text-wrap:pretty }
.lux-hero-visual{transform:scale(.88);transform-origin:center right}.lux-hero-inset{transform:scale(.9);transform-origin:center bottom}@media(max-width:640px){.lux-hero-visual{transform:scale(.94);transform-origin:center center}.lux-hero-inset{transform:scale(.92)}}
.lux-hero-visual{width:84%;justify-self:end}@media(max-width:980px){.lux-hero-visual{width:92%}}@media(max-width:640px){.lux-hero-visual{width:100%}}
.lux-hero-visual:before{background-size:cover;background-position:center}.lux-hero-inset{left:51%;bottom:14px}@media(max-width:980px){.lux-hero-inset{left:6%}}@media(max-width:640px){.lux-hero-inset{left:4%}}
.lux-hero-copy h1{line-height:.98;padding-bottom:.08em;overflow:visible}
.lux-hero-visual{z-index:2}.lux-hero-inset{z-index:3}
.lux-hero-visual:before{z-index:1}.lux-spark{z-index:0;opacity:.78}
.cart-count-updated{animation:cart-count-refresh .35s ease both}@keyframes cart-count-refresh{0%{transform:scale(.72);opacity:.45}70%{transform:scale(1.22)}100%{transform:scale(1);opacity:1}}
.brand-logo{display:block;width:118px;height:82px;object-fit:contain;mix-blend-mode:multiply}.brand{overflow:hidden}.brand-mark,.brand-name,.brand-sub{display:none}@media(max-width:800px){.brand-logo{width:104px;height:74px}}
.brand{border:0!important;padding:0;background:transparent}.brand-logo{border:0;outline:0;box-shadow:none}
.shop-page{width:100%;max-width:none!important;margin:0;padding:105px max(24px,calc((100vw - 1260px)/2)) 120px;background:linear-gradient(180deg,#fffaf0 0%,#f3e5c9 100%);min-height:620px}.shop-page>.eyebrow,.shop-page>h1,.shop-page>p,.shop-page>article:not(.product-detail){max-width:1260px;margin-left:auto;margin-right:auto}.shop-page>.eyebrow{display:block;text-align:center}.shop-page>h1{text-align:center;font:500 clamp(48px,7vw,82px)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:#21180e;margin-top:15px;margin-bottom:18px}.shop-page>p{text-align:center;color:#73695b;font-size:17px}.shop-page .catalog-grid{max-width:1260px;margin:48px auto 0;grid-template-columns:repeat(4,1fr);gap:22px}.shop-page .product-card{border:1px solid rgba(157,111,22,.34);border-radius:20px;padding:18px;background:linear-gradient(180deg,#19140d,#100d08);color:#fff;box-shadow:0 18px 40px rgba(71,44,3,.14);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.shop-page .product-card:hover{transform:translateY(-7px);border-color:#d7b35a;box-shadow:0 25px 48px rgba(71,44,3,.24)}.shop-page .product-card h3{color:#fff}.shop-page .product-card p{color:#c5b9a7}.shop-page .product-card .eyebrow{color:#d9ba68}.shop-page .product-swatch{border-radius:14px;background:radial-gradient(circle at 50% 45%,#cc4b28 0 24%,transparent 25%),linear-gradient(135deg,#ead6a7,#2a180a)}.shop-page .price{color:#e3c36b}.shop-page .button{border-radius:999px}.shop-page .button-outline{border-color:#d7b35a;background:transparent;color:#e7c66f}.shop-page>article:not(.product-detail){padding:42px 0}.shop-page>article:not(.product-detail) h1{font:500 clamp(48px,7vw,82px)/.95 Georgia,'Times New Roman',serif;text-align:center;color:#21180e}.product-detail{max-width:1260px;margin:0 auto;grid-template-columns:1fr 1fr;gap:90px}.product-detail-art{min-height:610px;border:1px solid rgba(157,111,22,.3);border-radius:34px 34px 140px 34px;background:linear-gradient(135deg,#ead6a7,#fff8ea);box-shadow:0 24px 60px rgba(71,44,3,.16)}.product-detail-copy h1{font:500 clamp(48px,6vw,82px)/.95 Georgia,'Times New Roman',serif;color:#21180e}.product-detail-description{font-size:16px;color:#73695b}.product-detail-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.product-detail-points span{padding:10px 14px;border:1px solid rgba(157,111,22,.3);border-radius:999px;color:#80601c;background:rgba(255,255,255,.5)}.site-footer{background:#fffaf0}.site-footer .brand{display:block;width:118px}.site-footer .brand-logo{width:118px;height:82px}.site-footer .button{border-radius:999px}.woocommerce-page .shop-page{background:linear-gradient(180deg,#fffaf0,#f3e5c9)}.woocommerce-page .woocommerce{max-width:1260px;margin:45px auto 0}.woocommerce-page .woocommerce table.shop_table,.woocommerce-page .woocommerce form.checkout,.woocommerce-page .woocommerce form.login,.woocommerce-page .woocommerce form.register{border:1px solid rgba(157,111,22,.25);border-radius:18px;background:rgba(255,255,255,.7);padding:22px}.woocommerce-page .woocommerce a.button,.woocommerce-page .woocommerce button.button,.woocommerce-page .woocommerce input.button{border:1px solid #d7b35a;border-radius:999px;background:#b98b2d;color:#fff}.woocommerce-page .woocommerce a.button:hover,.woocommerce-page .woocommerce button.button:hover,.woocommerce-page .woocommerce input.button:hover{background:#8b651c;color:#fff}@media(max-width:980px){.shop-page .catalog-grid{grid-template-columns:repeat(2,1fr)}.product-detail{gap:40px}}@media(max-width:640px){.shop-page{padding:70px 18px 80px}.shop-page .catalog-grid{grid-template-columns:1fr;margin-top:32px}.product-detail{grid-template-columns:1fr;gap:35px}.product-detail-art{min-height:430px}.shop-page>h1,.shop-page>article:not(.product-detail) h1{font-size:54px}.shop-page .product-actions{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr!important;gap:28px}}
.announcement{background:#171108;color:#f4d992;padding:10px 16px;font-size:11px;font-weight:700;letter-spacing:.18em}.announcement span{color:#c69a3d;padding:0 7px}.site-header{background:#fffaf0;border-bottom:1px solid rgba(185,139,45,.28)}.header-inner{width:min(100% - 72px,1360px);min-height:148px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:34px}.brand{width:132px;justify-self:center;color:#ad7c1f;padding:12px 10px;border-left:1px solid rgba(185,139,45,.15);border-right:1px solid rgba(185,139,45,.15)}.brand-mark{font-size:58px}.nav{gap:34px;font-size:13px;font-weight:800;letter-spacing:.16em}.nav a{padding:16px 0;border:0;white-space:nowrap}.nav a:hover,.nav .current{color:#946817;border:0}.header-right{display:flex;justify-content:flex-end;align-items:center;gap:25px}.nav-right{justify-content:flex-end}.header-shop{display:inline-flex!important;align-items:center;justify-content:center;padding:17px 32px!important;border-radius:999px;background:linear-gradient(135deg,#9c6d15,#d6ae52,#9c6d15);color:#fff!important;box-shadow:0 12px 24px rgba(122,83,13,.2);transition:transform .25s ease,box-shadow .25s ease!important}.header-shop:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(122,83,13,.3)}.header-actions{gap:11px;font-size:19px}.header-actions .icon-button{width:25px;height:28px}.header-actions .cart-count{top:-6px;right:-5px}.site-header .icon-button svg{width:19px;height:19px}@media(max-width:1120px){.header-inner{width:min(100% - 36px,1180px);gap:20px}.nav{gap:20px;font-size:11px}.header-right{gap:14px}.header-shop{padding:14px 20px!important}.header-actions{gap:6px}}@media(max-width:800px){.announcement{font-size:9px;letter-spacing:.1em}.header-inner{min-height:92px;grid-template-columns:1fr auto 1fr;gap:8px}.nav-left,.nav-right{display:none}.header-right{justify-self:end}.header-actions{display:flex}.brand{width:112px}.brand-mark{font-size:46px}.brand-name{font-size:8px}.brand-sub{font-size:7px}.header-actions .icon-button{width:23px}}

/* Footer refinement: airy luxury layout with a clearer hierarchy and responsive columns. */
.site-footer{position:relative;padding:76px 0 0;border-top:1px solid rgba(157,111,22,.18);background:radial-gradient(circle at 10% 18%,rgba(215,179,90,.14),transparent 25%),linear-gradient(180deg,#fffaf0 0%,#f8eedb 100%)}
.site-footer .footer-grid{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.35fr .9fr 1.2fr 1.05fr 1.25fr;gap:44px;padding-bottom:62px}
.site-footer .footer-grid>div{min-width:0}.site-footer .footer-grid>div:first-child{padding-right:24px}.site-footer .footer-grid>div:first-child .brand{margin:0 0 17px}.site-footer .footer-grid>div:first-child p{max-width:245px;font-size:13px;line-height:1.72}
.site-footer .brand-logo{width:118px;height:82px;object-fit:contain;mix-blend-mode:multiply}.site-footer h4{position:relative;padding-bottom:12px;margin:0 0 18px;color:#8f6417;font-size:12px;letter-spacing:.16em}.site-footer h4:after{content:"";position:absolute;left:0;bottom:0;width:29px;height:2px;border-radius:2px;background:#c79a3c}
.site-footer p,.site-footer a{font-size:13px;line-height:1.55;color:#70675b}.site-footer a{transition:color .2s ease,transform .2s ease}.site-footer a:hover{color:#9b6e17;transform:translateX(3px)}
.site-footer input[type=email]{box-sizing:border-box;width:100%;height:46px;border:1px solid #ddcda9;border-radius:999px;padding:0 16px;background:#fffdf9;color:#3a3022;outline:0;transition:border-color .2s ease,box-shadow .2s ease}.site-footer input[type=email]:focus{border-color:#b98b2d;box-shadow:0 0 0 4px rgba(185,139,45,.14)}
.site-footer .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:10px;background:linear-gradient(135deg,#9c6d15,#d6ae52,#9c6d15);color:#fff;border:1px solid rgba(255,255,255,.3);letter-spacing:.12em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.site-footer .button:hover{background:#8b651c;color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(122,83,13,.2)}
.site-footer .copyright{padding:14px 180px 14px 24px;background:linear-gradient(90deg,#d6ae52,#b98b2d,#e6c66f);font-size:12px;letter-spacing:.03em}
@media(max-width:1000px){.site-footer .footer-grid{grid-template-columns:repeat(3,1fr);gap:36px}.site-footer .footer-grid>div:first-child{grid-column:1/-1;padding-right:0}}
@media(max-width:640px){.site-footer{padding-top:58px}.site-footer .footer-grid{width:min(calc(100% - 36px),540px);grid-template-columns:1fr;gap:30px;padding-bottom:42px}.site-footer .footer-grid>div:first-child{grid-column:auto}.site-footer .footer-grid>div:first-child p{max-width:300px}.site-footer .copyright{padding:12px 16px;font-size:10px}}

/* Cross-page responsive hardening for desktop, tablet, iPad and Safari. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video,iframe{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;max-width:100%}
.container,.lux-shell,.shop-page,.site-footer .footer-grid{max-width:100%}
.lux-shell{box-sizing:border-box}
.woocommerce-page .woocommerce{width:min(1260px,calc(100% - 48px));max-width:100%;box-sizing:border-box}
.woocommerce-page .woocommerce *{max-width:100%}
.woocommerce-page .woocommerce table.shop_table{width:100%;}
.woocommerce-page .woocommerce form.checkout .form-row,.woocommerce-page .woocommerce form.login .form-row,.woocommerce-page .woocommerce form.register .form-row{max-width:100%}
.woocommerce-page .woocommerce input[type=text],.woocommerce-page .woocommerce input[type=email],.woocommerce-page .woocommerce input[type=tel],.woocommerce-page .woocommerce input[type=number],.woocommerce-page .woocommerce input[type=password],.woocommerce-page .woocommerce select,.woocommerce-page .woocommerce textarea{box-sizing:border-box;max-width:100%}
.jb-chat-panel{max-width:calc(100vw - 30px)}
@media(max-width:1100px){
  .header-inner{width:min(calc(100% - 36px),1180px)}
  .nav{gap:22px}
  .feature{grid-template-columns:1fr 1fr;gap:36px}
  .feature-note{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .lux-hero-grid,.lux-editorial-grid,.lux-story-grid{gap:36px}
  .lux-hero-copy h1{font-size:clamp(56px,8vw,92px)}
}
@media(max-width:800px){
  .container{width:calc(100% - 30px)}
  .header-inner{width:calc(100% - 30px);min-height:92px}
  .header-actions{gap:7px}
  .hero{min-height:500px;background-position:62% center}
  .hero-content{padding:54px 0 130px}
  .benefits{grid-template-columns:1fr 1fr;gap:0;padding:14px 8px}
  .benefit{padding:8px 5px}
  .benefit:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
  .feature,.feature-note{grid-template-columns:1fr}
  .feature-note{display:grid}
  .catalog-grid,.results-grid,.quote-grid{grid-template-columns:repeat(2,1fr)}
  .ingredients{grid-template-columns:1fr 1fr;padding:24px 18px}
  .ingredients h3{grid-column:1/-1}
  .lux-hero{padding:70px 0 95px}
  .lux-hero-grid,.lux-editorial-grid,.lux-story-grid{grid-template-columns:1fr}
  .lux-hero-visual{order:2;width:100%;min-height:480px;height:auto}
  .lux-hero-copy{order:1}
  .lux-product-grid{grid-template-columns:repeat(2,1fr)}
  .lux-story-visual{min-height:460px}
  .shop-page .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .product-detail{grid-template-columns:1fr;gap:36px}
  .product-detail-art{min-height:430px}
  .woocommerce-page .woocommerce{width:calc(100% - 30px);margin-top:30px}
  .woocommerce-page .woocommerce .col2-set,.woocommerce-page .woocommerce-page .col2-set{width:100%}
  .woocommerce-page .woocommerce .col2-set .col-1,.woocommerce-page .woocommerce .col2-set .col-2{width:100%;float:none}
  .woocommerce-page .woocommerce table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .woocommerce-page .woocommerce table.shop_table th,.woocommerce-page .woocommerce table.shop_table td{white-space:nowrap}
  .woocommerce-page .woocommerce .cart-collaterals .cart_totals{width:100%;float:none}
}
@media(max-width:560px){
  .announcement{padding:8px 10px;font-size:8px;letter-spacing:.08em;white-space:nowrap;overflow:hidden}
  .header-inner{gap:5px}
  .header-actions .icon-button{width:24px;height:28px}
  .header-actions .icon-button svg{width:18px;height:18px}
  .hero h1,.lux-hero-copy h1{font-size:clamp(44px,14vw,62px);line-height:.96}
  .hero p,.lux-hero-copy p{font-size:15px}
  .hero-content{padding:45px 0 125px}
  .benefits,.catalog-grid,.results-grid,.quote-grid,.lux-product-grid,.shop-page .woocommerce ul.products{grid-template-columns:1fr}
  .benefit:last-child{grid-column:auto}
  .feature{padding:58px 0;gap:30px}
  .feature-note{padding:18px}
  .product-actions,.lux-product .product-actions{grid-template-columns:1fr}
  .button,.product-actions .button{width:100%;margin-left:0}
  .button-outline{margin-left:0}
  .ingredients{grid-template-columns:1fr 1fr;gap:12px;padding:20px 12px}
  .ingredients h3{font-size:18px}
  .ingredient strong{font-size:21px}
  .lux-hero-visual{min-height:360px;height:360px;border-radius:120px 20px 20px 20px}
  .lux-hero-inset{width:38%;height:125px;bottom:10px;border-width:8px}
  .lux-card-copy{left:20px;right:20px;bottom:20px}
  .lux-card-copy h3{font-size:28px}
  .lux-product-art{height:220px}
  .lux-product-info{padding:18px}
  .product-detail-art{min-height:350px}
  .product-detail-copy h1{font-size:42px}
  .product-detail-cart .cart{align-items:stretch;flex-direction:column}
  .product-detail-cart .quantity,.product-detail-cart .single_add_to_cart_button{width:100%;height:46px}
  .woocommerce-page .woocommerce{width:calc(100% - 24px);padding:0}
  .woocommerce-page .woocommerce table.shop_table,.woocommerce-page .woocommerce form.checkout,.woocommerce-page .woocommerce form.login,.woocommerce-page .woocommerce form.register{padding:15px;border-radius:12px}
  .woocommerce-page .woocommerce .form-row-first,.woocommerce-page .woocommerce .form-row-last{width:100%;float:none}
  .jb-search-panel{padding:90px 15px 15px}
  .jb-search-box{padding:24px 18px}
  .jb-search-box form{flex-direction:column}
  .jb-search-box .button{width:100%;margin-left:0}
  .jb-chat-toggle{right:15px;bottom:15px;padding:11px 14px}
  .jb-chat-panel{right:15px;bottom:70px;width:calc(100vw - 30px);height:calc(100vh - 95px);height:calc(100dvh - 95px)}
}
@supports (-webkit-touch-callout:none){
  .lux-hero-visual,.feature-art,.product-detail-art{isolation:isolate}
  .site-footer input[type=email],.jb-chat-form input{-webkit-appearance:none}
  .woocommerce-page .woocommerce table.shop_table{overflow-x:auto}
}

/* Cart page: polished editorial layout for both the WooCommerce block and classic cart markup. */
.woocommerce-cart .shop-page{padding-top:78px;padding-bottom:110px;background:linear-gradient(180deg,#fffaf0 0%,#f3e5c9 100%)}
.woocommerce-cart .shop-page>h1{margin-bottom:34px}
.woocommerce-cart .wp-block-woocommerce-cart{max-width:1180px;margin:0 auto}
.woocommerce-cart .wc-block-cart__main,.woocommerce-cart .wc-block-cart__sidebar{min-width:0}
.woocommerce-cart .wc-block-cart-items{overflow:hidden;border:1px solid rgba(157,111,22,.22);border-radius:22px;background:rgba(255,255,255,.75);box-shadow:0 20px 55px rgba(71,44,3,.08)}
.woocommerce-cart .wc-block-cart-items__row{border-color:#eadfca;padding:30px 24px}
.woocommerce-cart .wc-block-cart-items__row:last-child{border-bottom:0}
.woocommerce-cart .wc-block-cart-item__image img{width:100px;height:100px;object-fit:contain;border-radius:14px;background:linear-gradient(135deg,#fff8ea,#ead8ad);padding:10px}
.woocommerce-cart .wc-block-cart-item__product{padding-left:18px}
.woocommerce-cart .wc-block-components-product-name{color:#2b2115;font:500 23px/1.15 Georgia,'Times New Roman',serif;text-decoration:none}
.woocommerce-cart .wc-block-components-product-name:hover{color:#9b6e17}
.woocommerce-cart .wc-block-components-product-metadata{color:#756b5d;font-size:12px}
.woocommerce-cart .wc-block-cart-item__prices{color:#9b6e17;font-weight:700}
.woocommerce-cart .wc-block-cart-item__product,.woocommerce-cart .wc-block-cart-item__total{min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
.woocommerce-cart .wc-block-cart-item__total{padding-left:12px;text-align:right;white-space:normal;overflow-wrap:anywhere}
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount{white-space:nowrap;display:inline-block;max-width:100%;font-size:clamp(12px,1.2vw,16px)}
.woocommerce-cart .wc-block-cart-item__quantity{margin-top:12px}
.woocommerce-cart .wc-block-components-quantity-selector{height:40px;border:1px solid #d7b35a;border-radius:999px;background:#fffdf9;overflow:hidden}
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{height:38px;color:#4a3921;font-weight:700}
.woocommerce-cart .wc-block-components-quantity-selector button{color:#9b6e17;background:#fffaf0;transition:background .2s ease,color .2s ease}
.woocommerce-cart .wc-block-components-quantity-selector button:hover{background:#d7b35a;color:#fff}
.woocommerce-cart .wc-block-cart-item__remove-link{color:#97702a;text-decoration:underline;font-size:11px}
.woocommerce-cart .wc-block-cart__sidebar{border:1px solid rgba(157,111,22,.25);border-radius:22px;padding:24px;background:linear-gradient(145deg,#fffdf8,#f8eedb);box-shadow:0 20px 55px rgba(71,44,3,.1)}
.woocommerce-cart .wc-block-cart__main{border:1px solid rgba(157,111,22,.22);border-radius:26px;padding:32px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,250,240,.78));box-shadow:0 22px 60px rgba(71,44,3,.1)}
.woocommerce-cart .wc-block-cart__main .wc-block-cart-items{border:0;box-shadow:none;background:transparent}
.woocommerce-cart .wc-block-cart__sidebar{position:sticky;top:24px;min-height:320px;padding:34px}
.woocommerce-cart .wc-block-cart__sidebar:before{content:'Estimated cost';display:block;margin:0 0 24px;color:#8f6417;font:500 30px/1.1 Georgia,'Times New Roman',serif}
.woocommerce-cart .wc-block-cart__sidebar h2,.woocommerce-cart .wc-block-components-totals-wrapper h2{color:#8f6417;font:500 28px/1.1 Georgia,'Times New Roman',serif}
.woocommerce-cart .wc-block-cart__sidebar:before{font-size:clamp(28px,3vw,42px)!important;line-height:1.08!important;margin-bottom:24px!important}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper h2{font-size:clamp(22px,2.5vw,32px)!important;line-height:1.12!important;margin:0 0 20px!important}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper{margin-top:0;padding-top:0}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon{margin:0;padding:18px 0;border-top:1px solid #eadfca;border-bottom:1px solid #eadfca}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item{padding:20px 0;font-size:18px;line-height:1.35}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-container{margin-top:4px;padding-top:22px;border-top:1px solid #d9cdb7}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-button{width:100%;box-sizing:border-box;min-height:54px;padding:14px 20px!important;line-height:1.2}

/* Keep only the cart layout fixed; other site pages remain responsive. */
@media(max-width:781px){
  .woocommerce-cart .shop-page{overflow-x:auto}
  .woocommerce-cart .wp-block-woocommerce-cart,.woocommerce-cart .wp-block-woocommerce-cart.alignwide{display:grid!important;grid-template-columns:minmax(520px,1.9fr) minmax(300px,.9fr)!important;column-gap:28px!important;width:860px!important;max-width:none!important;margin:0!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{grid-column:1!important;width:auto!important;margin:0!important;padding:22px!important;border-radius:26px!important}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{grid-column:2!important;width:auto!important;margin:0!important;padding:24px!important;border-radius:26px!important}
}

/* Restore a visible, natural mobile cart flow; desktop remains two-column. */
@media(max-width:781px){
  .woocommerce-cart .shop-page{overflow-x:visible!important}
  .woocommerce-cart .wp-block-woocommerce-cart,.woocommerce-cart .wp-block-woocommerce-cart.alignwide{display:block!important;width:100%!important;max-width:100%!important;margin:0!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main,.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{display:block!important;grid-column:auto!important;width:100%!important;min-width:0!important;margin:0 0 28px!important;padding:18px!important;border-radius:26px!important}
}
.woocommerce-cart .wc-block-components-totals-wrapper{border-color:#eadfca}
.woocommerce-cart .wc-block-components-totals-item{color:#6e655a;font-size:13px}
.woocommerce-cart .wc-block-components-totals-item__value{color:#2b2115;font-weight:700}
.woocommerce-cart .wc-block-components-totals-coupon{border-color:#eadfca}
.woocommerce-cart .wc-block-components-totals-coupon input{border:1px solid #ddcda9;border-radius:999px;background:#fffdf9;padding:11px 14px;min-height:44px}
.woocommerce-cart .wc-block-components-totals-coupon button,.woocommerce-cart .wc-block-cart__submit-button,.woocommerce-cart .wc-block-components-button{border:1px solid #d7b35a;border-radius:999px;background:linear-gradient(135deg,#9c6d15,#d6ae52,#9c6d15);color:#fff;min-height:46px;font-weight:700;letter-spacing:.08em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.woocommerce-cart .wc-block-components-totals-coupon button:hover,.woocommerce-cart .wc-block-cart__submit-button:hover,.woocommerce-cart .wc-block-components-button:hover{background:#8b651c;color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(122,83,13,.2)}
.woocommerce-cart .wc-block-cart__empty-cart__title{color:#2b2115;font:500 clamp(40px,5vw,68px)/1 Georgia,'Times New Roman',serif;margin:18px auto 32px}
.woocommerce-cart .wc-block-cart__empty-cart__title:before{content:'✦';display:block;margin-bottom:12px;color:#bd8b27;font:24px Arial,sans-serif}
.woocommerce-cart .wc-block-cart__empty-cart{padding:54px 24px 22px;text-align:center}
.woocommerce-cart .wc-block-cart__empty-cart .wc-block-cart__empty-cart__title{max-width:720px}
.woocommerce-cart .wc-block-grid{margin:76px auto 0;padding:52px 0 18px;border-top:1px solid rgba(157,111,22,.2)}
.woocommerce-cart .wc-block-grid__products{gap:28px}
.woocommerce-cart .wc-block-grid__product{border:1px solid rgba(157,111,22,.22);border-radius:18px;background:#fffdf9;padding:20px;box-shadow:0 12px 30px rgba(71,44,3,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.woocommerce-cart .wc-block-grid__product:hover{transform:translateY(-5px);border-color:#d7b35a;box-shadow:0 18px 36px rgba(71,44,3,.14)}
.woocommerce-cart .wc-block-grid__product-image img{height:190px;object-fit:contain;background:linear-gradient(135deg,#fff8ea,#ead8ad);border-radius:12px;padding:12px}
.woocommerce-cart .wc-block-grid__product-title{color:#2b2115;font:500 21px/1.2 Georgia,'Times New Roman',serif}
.woocommerce-cart .wc-block-grid__product-price{color:#9b6e17;font-weight:700}
.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link{width:100%;border-radius:999px;background:#b98b2d;color:#fff;padding:12px 16px;font-size:11px;letter-spacing:.08em}
.woocommerce-cart .woocommerce-cart-form{border:1px solid rgba(157,111,22,.22);border-radius:22px;background:rgba(255,255,255,.75);padding:24px;box-shadow:0 20px 55px rgba(71,44,3,.08)}
.woocommerce-cart .woocommerce-cart-form table.shop_table{border:0;background:transparent;padding:0}
.woocommerce-cart .cart-collaterals .cart_totals{border:1px solid rgba(157,111,22,.25);border-radius:22px;padding:24px;background:linear-gradient(145deg,#fffdf8,#f8eedb);width:100%}
.woocommerce-cart .cart-collaterals .cart_totals h2{color:#8f6417;font:500 28px Georgia,'Times New Roman',serif}
@media(min-width:782px){.woocommerce-cart .wp-block-woocommerce-cart{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:42px;align-items:start}.woocommerce-cart .wc-block-cart__empty-cart{grid-column:1/-1}}
@media(max-width:781px){.woocommerce-cart .shop-page{padding-top:58px;padding-bottom:80px}.woocommerce-cart .wp-block-woocommerce-cart{width:100%}.woocommerce-cart .wc-block-cart__main{padding:18px}.woocommerce-cart .wc-block-cart-items__row{padding:24px 14px}.woocommerce-cart .wc-block-cart-item__image img{width:76px;height:76px}.woocommerce-cart .wc-block-cart-item__product{padding-left:10px}.woocommerce-cart .wc-block-components-product-name{font-size:18px}.woocommerce-cart .wc-block-cart__sidebar{margin-top:36px;padding:26px}.woocommerce-cart .wc-block-grid{margin-top:54px;padding-top:38px}.woocommerce-cart .wc-block-grid__products{grid-template-columns:1fr 1fr;gap:22px}.woocommerce-cart .wc-block-grid__product-image img{height:150px}}
@media(max-width:480px){.woocommerce-cart .wc-block-cart-items__row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px}.woocommerce-cart .wc-block-cart-item__image{grid-row:1 / span 2}.woocommerce-cart .wc-block-cart-item__product{padding:0}.woocommerce-cart .wc-block-cart-item__total{grid-column:2;text-align:left}.woocommerce-cart .wc-block-grid__products{grid-template-columns:1fr;gap:20px}.woocommerce-cart .wc-block-grid__product-image img{height:190px}.woocommerce-cart .wc-block-components-totals-coupon form{display:flex;flex-direction:column;gap:8px}.woocommerce-cart .wc-block-components-totals-coupon form>*{width:100%}}

/* Give the cart totals sidebar a deliberate left offset beside the main cart card. */
@media(min-width:782px){
  .woocommerce-cart .wc-block-components-sidebar{padding-left:28px}
  .woocommerce-cart .wc-block-cart__sidebar{margin-left:8px}
  .woocommerce-cart .wp-block-woocommerce-cart-totals-block{padding-left:8px}
}
@media(max-width:781px){
  .woocommerce-cart .wc-block-components-sidebar{padding-left:0}
  .woocommerce-cart .wc-block-cart__sidebar{margin-left:0}
  .woocommerce-cart .wp-block-woocommerce-cart-totals-block{padding-left:0}
}

/* Keep the cart-items and cart-totals blocks side by side with a visible gutter. */
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)!important;column-gap:56px!important;align-items:start}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{grid-column:1;min-width:0}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{grid-column:2;min-width:0;margin-left:0;padding-left:0}
  .woocommerce-cart .wp-block-woocommerce-cart-totals-block{padding-left:0}
}
@media(max-width:781px){
  .woocommerce-cart .wp-block-woocommerce-cart{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;align-items:start}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main,.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{width:100%;min-width:0;margin-left:0}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{padding:14px}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{padding:16px}
  .woocommerce-cart .wc-block-cart__sidebar:before{font-size:22px}
}

/* Final cart spacing pass: spacious desktop columns, comfortable mobile stacking. */
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart{grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr)!important;column-gap:76px!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{padding:32px}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{padding:32px;margin-left:0}
}
@media(max-width:781px){
  .woocommerce-cart .wp-block-woocommerce-cart{display:block!important;width:100%!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{width:100%;padding:18px;margin:0 0 38px}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{width:100%;padding:24px;margin:38px 0 0}
  .woocommerce-cart .wc-block-cart-items__row{padding:24px 14px}
  .woocommerce-cart .wc-block-grid{margin-top:54px;padding-top:38px}
}

/* Use the available desktop width and create a visible gutter between both cards. */
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart{width:min(1400px,calc(100% - 80px))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;grid-template-columns:minmax(0,1.9fr) minmax(360px,.9fr)!important;column-gap:36px!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main,.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{margin-left:0!important;margin-right:0!important}
}

/* WooCommerce can place these blocks inside an inner cart wrapper. Force the exact named blocks into columns. */
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar),
  .woocommerce-cart .wc-block-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.46fr)!important;column-gap:48px!important;align-items:start!important;width:min(1400px,calc(100% - 80px))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{grid-column:1!important;width:auto!important;min-width:0!important;flex:1 1 0!important;margin:0!important}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{grid-column:2!important;width:auto!important;min-width:0!important;flex:0 0 auto!important;margin:0!important;padding-left:0!important}
}

/* Let the populated cart use the full content area instead of sitting in a narrow left column. */
.woocommerce-cart .shop-page{padding-left:clamp(28px,6vw,120px)!important;padding-right:clamp(28px,6vw,120px)!important}
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart,.woocommerce-cart .wp-block-woocommerce-cart.alignwide,.woocommerce-cart .wc-block-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
  .woocommerce-cart .wp-block-woocommerce-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar),.woocommerce-cart .wc-block-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar){grid-template-columns:minmax(0,2.1fr) minmax(380px,.95fr)!important;column-gap:48px!important}
}

/* Final alignment: remove the outer gutter so both cart cards meet cleanly. */
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar),.woocommerce-cart .wc-block-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar){grid-template-columns:minmax(0,2.1fr) minmax(380px,.95fr)!important;column-gap:0!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{border-radius:26px 0 0 26px}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{border-radius:0 26px 26px 0;grid-column:2!important;justify-self:end!important;width:100%!important;margin-left:auto!important;margin-right:0!important}
}

/* Keep the two cart sections visually independent with a clear center gap. */
@media(min-width:782px){
  .woocommerce-cart .wp-block-woocommerce-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar),.woocommerce-cart .wc-block-cart:has(.wc-block-components-main.wc-block-cart__main):has(.wc-block-components-sidebar.wc-block-cart__sidebar){column-gap:28px!important}
  .woocommerce-cart .wc-block-components-main.wc-block-cart__main{border-radius:26px!important}
  .woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{border-radius:26px!important}
}
