/* ===== TIFFANIA — Commerce layer (header, product cards, shop, product page, deals) ===== */
:root{ --sale:#D9453F; --sale-soft:#FDECEA; --star:#E0A526; }

/* ---------- Top bar + Header ---------- */
.topbar{background:linear-gradient(90deg,var(--primary-darker),var(--primary-dark)); color:rgba(255,255,255,.92); font-size:.78rem; text-align:center; padding:7px 16px;}
.topbar b{color:var(--gold-light); font-weight:700;}

.site-header{position:sticky; top:0; z-index:40; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--border); transition:box-shadow .25s ease;}
.site-header.scrolled{box-shadow:0 6px 24px rgba(42,38,32,.09);}
.header-row{display:flex; align-items:center; gap:22px; padding-block:12px;}
.brand{display:flex; align-items:center; gap:10px; font-size:1.45rem; font-weight:800; flex-shrink:0;}
.brand svg{width:36px; height:36px;}
.brand .latin{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:.8rem; color:var(--gold-dark); display:block; letter-spacing:.08em; font-weight:500; line-height:1;}

.hd-search{flex:1; max-width:640px; position:relative; margin-inline:auto;}
.hd-search input{width:100%; height:46px; padding-inline:48px 16px; border-radius:14px; border:1px solid var(--border); background:var(--mint-50); font-family:inherit; font-size:.9rem; color:var(--text); transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;}
.hd-search input::placeholder{color:#8a857a;}
.hd-search input:focus{outline:none; background:#fff; border-color:var(--primary); box-shadow:0 0 0 4px rgba(10,186,181,.14);}
.hd-search button{position:absolute; inset-inline-start:5px; top:5px; width:36px; height:36px; border:none; background:none; color:var(--primary-dark); display:flex; align-items:center; justify-content:center; border-radius:10px;}
.hd-search button:hover{background:rgba(10,186,181,.12);}
.hd-search svg{width:20px; height:20px;}

.header-actions{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.icon-btn{width:46px; height:46px; border-radius:14px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; background:#fff; position:relative; color:var(--text); transition:border-color .2s ease, transform .2s ease, color .2s ease;}
.icon-btn:hover{border-color:var(--primary); color:var(--primary-dark); transform:translateY(-1px);}
.icon-btn svg{width:22px; height:22px;}
.icon-btn .badge{position:absolute; top:-6px; inset-inline-end:-6px; background:var(--sale); color:#fff; font-size:.68rem; font-weight:700; border-radius:999px; min-width:20px; height:20px; padding-inline:5px; display:flex; align-items:center; justify-content:center; border:2px solid #fff;}
.nav-toggle{display:none; align-items:center; justify-content:center; width:46px; height:46px; background:#fff; border:1px solid var(--border); border-radius:14px; font-size:1.3rem; color:var(--text);}

.subnav{border-top:1px solid var(--border);}
.subnav-row{display:flex; align-items:center; gap:26px; min-height:46px;}
.cat-menu{position:relative;}
.cat-menu-btn{display:flex; align-items:center; gap:8px; background:none; border:none; font-size:.92rem; font-weight:700; color:var(--text); padding:10px 0; height:46px;}
.cat-menu-btn svg{width:18px; height:18px; color:var(--primary-dark);}
.cat-menu-panel{position:absolute; top:100%; inset-inline-start:-14px; min-width:250px; background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 18px 44px rgba(42,38,32,.16); padding:10px; display:none; z-index:60;}
.cat-menu:hover .cat-menu-panel,.cat-menu.open .cat-menu-panel,.cat-menu:focus-within .cat-menu-panel{display:block;}
.cat-menu-panel a{display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:10px; font-size:.9rem; color:var(--text);}
.cat-menu-panel a:hover{background:var(--mint-50); color:var(--primary-dark);}
.cat-menu-panel a.all{font-weight:700; color:var(--primary-dark); border-bottom:1px solid var(--border); border-radius:10px 10px 0 0; margin-block-end:4px;}
.main-nav{display:flex; gap:26px; font-size:.92rem; font-weight:500;}
.main-nav a{position:relative; padding-block:12px; color:var(--text);}
.main-nav a::after{content:""; position:absolute; inset-inline:0; bottom:4px; height:2px; background:var(--primary); transform:scaleX(0); transition:transform .2s ease;}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1);}
.main-nav a.hot{color:var(--sale); font-weight:700;}
.main-nav a.hot::after{background:var(--sale);}
.subnav-note{margin-inline-start:auto; font-size:.78rem; color:var(--text-soft);}
.mnav-cats{display:none;}

/* ---------- Product card ---------- */
.grid-products{display:grid; grid-template-columns:repeat(auto-fill,minmax(228px,1fr)); gap:18px;}
.p-card{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:16px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; position:relative;}
.p-card:hover{transform:translateY(-4px); box-shadow:0 16px 34px rgba(10,186,181,.16); border-color:var(--primary-light);}
.p-thumb{aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.p-thumb svg{width:50%; opacity:.92; transition:transform .35s ease;}
.p-thumb img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.p-card:hover .p-thumb svg,.p-card:hover .p-thumb img{transform:scale(1.05);}
.p-thumb.soldout svg,.p-thumb.soldout img{opacity:.35; filter:grayscale(.6);}
.p-soldout-tag{position:absolute; inset:auto 0 42% 0; margin-inline:auto; width:max-content; background:rgba(42,38,32,.82); color:#fff; font-size:.78rem; font-weight:700; padding:5px 16px; border-radius:999px;}
.p-badges{position:absolute; top:10px; inset-inline-start:10px; display:flex; flex-direction:column; gap:6px; align-items:flex-start; z-index:2;}
.b-off{background:var(--sale); color:#fff; font-weight:800; font-size:.8rem; padding:3px 10px; border-radius:999px; box-shadow:0 4px 10px rgba(217,69,63,.3);}
.b-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:#3a2c10; font-weight:700; font-size:.7rem; padding:3px 10px; border-radius:999px;}
.p-body{padding:13px 15px 15px; display:flex; flex-direction:column; gap:5px; flex:1;}
.p-cat{font-size:.7rem; color:var(--gold-dark); font-weight:700;}
.p-name{font-weight:700; font-size:.95rem; line-height:1.55; min-height:2.9em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.p-meta{display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:.75rem; color:var(--text-soft); min-height:1.4em;}
.p-rating{color:var(--text); font-weight:600; display:inline-flex; align-items:center; gap:3px;}
.p-rating i{font-style:normal; color:var(--star);}
.p-low{color:var(--sale); font-weight:700;}
.p-price-block{margin-top:auto; padding-top:8px; display:flex; flex-direction:column; align-items:flex-end; gap:1px; min-height:3.4em; justify-content:flex-end;}
.p-old{text-decoration:line-through; color:#9b958a; font-size:.78rem; font-variant-numeric:tabular-nums;}
.p-price{font-weight:800; font-size:1.08rem; color:var(--text); font-variant-numeric:tabular-nums;}
.p-price small{font-size:.7rem; font-weight:500; color:var(--text-soft); margin-inline-start:3px;}
.p-price.is-sale{color:var(--sale);}
.p-na{color:var(--text-soft); font-size:.85rem; font-weight:600;}

/* ---------- Trust strip + deals band ---------- */
.trust-strip{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-block-start:34px;}
.trust-item{display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--border); border-radius:16px; padding:14px 16px;}
.trust-ic{width:42px; height:42px; border-radius:12px; background:var(--mint-50); color:var(--primary-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.trust-ic svg{width:22px; height:22px;}
.trust-item b{display:block; font-size:.88rem;}
.trust-item span{font-size:.76rem; color:var(--text-soft);}

.deals-band{border-radius:26px; padding:22px; background:radial-gradient(circle at 8% 100%, rgba(230,211,168,.32), transparent 45%), linear-gradient(120deg,var(--primary-darker) 0%, var(--primary-dark) 48%, var(--primary) 100%); box-shadow:0 20px 44px rgba(8,127,123,.28); position:relative; overflow:hidden; display:grid; grid-template-columns:250px minmax(0,1fr); gap:22px; align-items:stretch;}
.deals-panel{color:#fff; display:flex; flex-direction:column; justify-content:center; gap:12px; padding:10px 8px;}
.deals-kicker{font-size:.74rem; letter-spacing:.06em; color:var(--gold-light); font-weight:700;}
.deals-panel h2{color:#fff; font-size:1.75rem; line-height:1.4;}
.deals-panel h2 em{font-style:normal; color:var(--gold-light);}
.deals-panel p{color:rgba(255,255,255,.82); font-size:.86rem;}
.deals-more{align-self:flex-start; color:#fff; border:1px solid rgba(255,255,255,.6); border-radius:999px; padding:9px 20px; font-size:.86rem; font-weight:700; transition:background .2s ease; margin-block-start:4px;}
.deals-more:hover{background:rgba(255,255,255,.18);}
.deals-row{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x proximity; padding-block-end:6px; -webkit-overflow-scrolling:touch; min-width:0;}
.deals-row::-webkit-scrollbar{height:6px;}
.deals-row::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35); border-radius:6px;}
.deals-row .p-card{flex:0 0 212px; scroll-snap-align:start;}

.countdown{display:inline-flex; align-items:center; gap:6px; direction:ltr; font-variant-numeric:tabular-nums;}
.countdown .cd-box{min-width:38px; padding:5px 7px; border-radius:9px; background:rgba(255,255,255,.16); color:#fff; font-weight:800; font-size:1rem; text-align:center; line-height:1.2;}
.countdown .cd-sep{color:rgba(255,255,255,.8); font-weight:700;}
.countdown .cd-days{color:#fff; font-size:.8rem; margin-inline-start:6px; direction:rtl; font-weight:700;}
.countdown.on-light .cd-box{background:var(--sale-soft); color:var(--sale);}
.countdown.on-light .cd-sep{color:var(--sale);}
.countdown.on-light .cd-days{color:var(--sale);}
.countdown.ended{opacity:.55;}

/* ---------- Shop ---------- */
.shop-hero{margin-block-start:14px;}
.shop-hero h1{font-size:1.6rem;}
.shop-hero p{font-size:.88rem; margin-block-start:4px;}
.shop-layout{display:grid; grid-template-columns:270px minmax(0,1fr); gap:26px; align-items:start; margin-block-start:18px;}
.filter-box{background:#fff; border:1px solid var(--border); border-radius:18px; padding:6px 18px 18px; }
.filter-head{display:flex; align-items:center; justify-content:space-between; padding-block:14px 8px;}
.filter-head h4{font-size:1rem;}
.filter-clear{font-size:.78rem; color:var(--sale); font-weight:600;}
.filter-close{display:none; background:none; border:none; font-size:1.3rem; color:var(--text-soft);}
.filter-group{padding-block:14px; border-top:1px solid var(--border);}
.filter-group:first-of-type{border-top:none;}
.fg-title{font-size:.86rem; font-weight:700; margin-block-end:10px; display:flex; align-items:center; justify-content:space-between;}
.f-link{display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:.86rem; padding:6px 8px; margin-inline:-8px; border-radius:8px; color:var(--text-soft); transition:background .15s ease, color .15s ease;}
.f-link:hover{background:var(--mint-50); color:var(--primary-dark);}
.f-link.on{background:var(--mint-50); color:var(--primary-dark); font-weight:700;}
.f-link .cnt{font-size:.72rem; color:#9b958a; font-variant-numeric:tabular-nums;}
.f-switch{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.86rem; padding-block:7px; color:var(--text); cursor:pointer;}
.f-switch .sw{width:40px; height:22px; border-radius:999px; background:#d6d1c6; position:relative; transition:background .2s ease; flex-shrink:0;}
.f-switch .sw::after{content:""; position:absolute; top:3px; inset-inline-start:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:inset-inline-start .2s ease;}
.f-switch.on .sw{background:var(--primary);}
.f-switch.on .sw::after{inset-inline-start:21px;}
.price-form{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.price-form label{font-size:.72rem; color:var(--text-soft); display:block; margin-block-end:3px;}
.price-form input{width:100%; padding:9px 10px; border-radius:10px; border:1px solid var(--border); font-family:inherit; font-size:.85rem; background:var(--bg); direction:ltr; text-align:right;}
.price-form button{grid-column:1/-1;}
.price-hint{font-size:.7rem; color:#9b958a; margin-block-start:6px;}

.shop-toolbar{display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:#fff; border:1px solid var(--border); border-radius:14px; padding:6px 14px; margin-block-end:14px;}
.sort-label{font-size:.82rem; color:var(--text-soft); display:flex; align-items:center; gap:6px;}
.sort-label svg{width:16px; height:16px;}
.sort-row{display:flex; gap:2px; flex-wrap:wrap;}
.sort-row a{font-size:.84rem; padding:9px 12px; color:var(--text-soft); border-radius:10px; position:relative; transition:color .15s ease;}
.sort-row a:hover{color:var(--primary-dark);}
.sort-row a.on{color:var(--primary-dark); font-weight:800;}
.sort-row a.on::after{content:""; position:absolute; inset-inline:12px; bottom:2px; height:2px; background:var(--primary); border-radius:2px;}
.result-count{margin-inline-start:auto; font-size:.8rem; color:var(--text-soft);}
.filter-open{display:none; align-items:center; gap:6px; background:var(--mint-50); border:1px solid var(--primary-light); color:var(--primary-dark); border-radius:10px; padding:8px 14px; font-size:.84rem; font-weight:700;}
.filter-open svg{width:16px; height:16px;}
.chips{display:flex; gap:8px; flex-wrap:wrap; margin-block-end:14px;}
.chip{display:inline-flex; align-items:center; gap:8px; background:var(--mint-50); border:1px solid var(--primary-light); color:var(--primary-darker); font-size:.8rem; padding:5px 12px; border-radius:999px;}
.chip i{font-style:normal; color:var(--sale); font-weight:800;}
.chip.clear{background:transparent; border-color:var(--border); color:var(--sale);}
.filter-backdrop{display:none;}
.empty-state{padding:56px 20px; text-align:center; background:#fff; border:1px dashed var(--border); border-radius:18px;}
.empty-state b{display:block; font-size:1.05rem; margin-block-end:6px;}

.pagination{display:flex; gap:8px; justify-content:center; margin-block-start:34px; flex-wrap:wrap;}
.pagination a,.pagination span{min-width:42px; height:42px; padding-inline:8px; border-radius:12px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); font-size:.86rem; background:#fff; transition:transform .15s ease, background .15s ease, border-color .15s ease;}
.pagination a:hover{transform:translateY(-2px); border-color:var(--primary);}
.pagination a.active{background:var(--primary); color:#fff; border-color:var(--primary); font-weight:700;}
.pagination span{border-color:transparent; background:none; color:var(--text-soft);}

/* ---------- Product page ---------- */
.pd-wrap{display:grid; grid-template-columns:minmax(0,430px) minmax(0,1fr) 330px; gap:28px; align-items:start; margin-block-start:18px;}
.pd-gallery{position:sticky; top:138px;}
.gallery-main{aspect-ratio:1/1; border-radius:22px; background:linear-gradient(150deg,var(--mint-50),var(--mint-100)); display:flex; align-items:center; justify-content:center; border:1px solid var(--border); overflow:hidden; position:relative;}
.gallery-main svg{width:46%;}
.gallery-main img{width:100%; height:100%; object-fit:cover;}
.gallery-main .b-off{position:absolute; top:14px; inset-inline-start:14px; font-size:.95rem; padding:5px 13px;}
.gallery-thumbs{display:flex; gap:10px; margin-block-start:12px;}
.g-thumb{width:68px; height:68px; border-radius:14px; background:var(--mint-50); border:2px solid var(--border); display:flex; align-items:center; justify-content:center; overflow:hidden; padding:0; transition:border-color .15s ease;}
.g-thumb:hover{border-color:var(--primary-light);}
.g-thumb.active{border-color:var(--primary);}
.g-thumb svg{width:58%;}
.g-thumb img{width:100%; height:100%; object-fit:cover;}

.pd-info .pd-cat{font-size:.8rem; color:var(--gold-dark); font-weight:700;}
.pd-title{font-size:1.65rem; line-height:1.45; margin-block:6px 10px;}
.pd-meta-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:.84rem; color:var(--text-soft); padding-block-end:14px; border-bottom:1px solid var(--border);}
.pd-meta-row .rate{display:inline-flex; align-items:center; gap:5px; color:var(--text); font-weight:700;}
.pd-meta-row .rate i{font-style:normal; color:var(--star);}
.pd-meta-row a{color:var(--primary-dark);}
.pd-desc{margin-block:16px 6px; line-height:1.95; color:var(--text);}
.pd-feat{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-block:16px 0;}
.pd-feat div{background:var(--mint-50); border-radius:12px; padding:11px 14px; font-size:.84rem;}
.pd-feat span{display:block; font-size:.72rem; color:var(--text-soft);}
.pd-feat b{font-weight:700;}
.pd-trust{display:flex; flex-direction:column; gap:9px; margin-block-start:18px; font-size:.84rem; color:var(--text-soft);}
.pd-trust span{display:flex; align-items:center; gap:8px;}
.pd-trust svg{width:18px; height:18px; color:var(--primary-dark); flex-shrink:0;}

.buybox{background:#fff; border:1px solid var(--border); border-radius:20px; padding:20px; position:sticky; top:138px; box-shadow:0 10px 30px rgba(42,38,32,.06);}
.bb-row{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.84rem; color:var(--text-soft); padding-block:8px; border-bottom:1px dashed var(--border);}
.bb-row:last-of-type{border-bottom:none;}
.bb-row b{color:var(--text);}
.bb-price{margin-block:14px 6px; display:flex; flex-direction:column; align-items:flex-end; gap:4px;}
.bb-old-row{display:flex; align-items:center; gap:8px;}
.bb-old{text-decoration:line-through; color:#9b958a; font-size:.9rem;}
.bb-final{font-size:1.7rem; font-weight:800; color:var(--text); font-variant-numeric:tabular-nums; line-height:1.2;}
.bb-final small{font-size:.82rem; font-weight:500; color:var(--text-soft); margin-inline-start:4px;}
.bb-final.is-sale{color:var(--sale);}
.bb-deal{background:linear-gradient(120deg,var(--sale-soft),#fff); border:1px solid #f4c9c5; border-radius:12px; padding:10px 12px; display:flex; flex-direction:column; align-items:center; gap:7px; margin-block-end:10px; font-size:.82rem; font-weight:700; color:var(--sale);}
.bb-deal .countdown{flex-wrap:nowrap; white-space:nowrap;}
.bb-deal .cd-box{min-width:34px; font-size:.95rem;}
.bb-stock-low{color:var(--sale); font-size:.82rem; font-weight:700; margin-block-end:6px;}
.qty-row{display:flex; align-items:center; gap:12px; margin-block:12px 0;}
.qty-box{display:flex; align-items:center; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:#fff; flex-shrink:0;}
.qty-box button{background:none; border:none; width:38px; height:44px; font-size:1.15rem; transition:background .15s ease;}
.qty-box button:hover{background:var(--mint-50);}
.qty-box input[type="number"]{width:38px; text-align:center; border:none; background:none; font-family:inherit; font-size:1rem; color:var(--text); font-variant-numeric:tabular-nums; -moz-appearance:textfield;}
.qty-box input[type="number"]::-webkit-outer-spin-button,.qty-box input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.qty-row .btn{flex:1; justify-content:center; border-radius:12px; padding-inline:14px;}
.bb-out{margin-block-start:12px; padding:12px; text-align:center; border-radius:12px; background:#f3f0ea; color:var(--text-soft); font-weight:700;}

.pd-tabs{display:flex; gap:4px; border-bottom:1px solid var(--border); margin-block-start:50px; overflow-x:auto; position:sticky; top:118px; background:var(--bg); z-index:5;}
.tab-btn{padding:14px 20px; font-size:.92rem; font-weight:600; color:var(--text-soft); border-bottom:3px solid transparent; background:none; border-top:none; border-inline:none; white-space:nowrap;}
.tab-btn:hover{color:var(--primary-dark);}
.tab-btn.active{color:var(--primary-dark); border-color:var(--primary); font-weight:800;}
.tab-panel{padding-block:26px; display:none;}
.tab-panel.active{display:block;}
.ing-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:12px;}
.ing-item{background:var(--mint-50); border-radius:14px; padding:13px 16px; font-size:.88rem;}
.spec-table{width:100%; max-width:680px; border-collapse:collapse; font-size:.9rem;}
.spec-table th,.spec-table td{padding:13px 16px; border-bottom:1px solid var(--border); text-align:right; vertical-align:top;}
.spec-table th{width:34%; color:var(--text-soft); font-weight:600; background:var(--mint-50);}
.spec-table td{background:#fff;}

.rv-layout{display:grid; grid-template-columns:300px minmax(0,1fr); gap:32px; align-items:start;}
.rv-summary{background:#fff; border:1px solid var(--border); border-radius:18px; padding:22px; position:sticky; top:180px;}
.rv-avg{display:flex; align-items:baseline; gap:8px;}
.rv-avg b{font-size:2.4rem; font-weight:800; line-height:1;}
.rv-avg span{color:var(--text-soft); font-size:.85rem;}
.stars-row{color:var(--star); letter-spacing:2px; font-size:1.05rem;}
.stars-row .off{color:#d8d3c8;}
.rv-bars{display:flex; flex-direction:column; gap:7px; margin-block-start:16px;}
.rv-bar{display:grid; grid-template-columns:28px 1fr 26px; align-items:center; gap:8px; font-size:.78rem; color:var(--text-soft);}
.rv-bar .track{height:8px; background:#efece5; border-radius:8px; overflow:hidden;}
.rv-bar .fill{display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--star)); border-radius:8px;}
.review-item{background:#fff; border:1px solid var(--border); border-radius:16px; padding:18px 20px; margin-block-end:12px;}
.review-top{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-block-end:8px; flex-wrap:wrap;}
.review-top b{font-size:.92rem;}
.review-top time{font-size:.76rem; color:var(--text-soft);}
.review-item p{color:var(--text); line-height:1.9; font-size:.92rem;}
.review-reply{margin-block-start:12px; background:var(--mint-50); border-inline-start:3px solid var(--primary); border-radius:10px; padding:11px 14px; font-size:.86rem;}
.review-reply b{display:block; color:var(--primary-darker); font-size:.8rem; margin-block-end:3px;}
.rv-form{background:#fff; border:1px solid var(--border); border-radius:18px; padding:22px; margin-block-start:22px;}
.rv-form h3{font-size:1.02rem; margin-block-end:14px;}
.rv-form .field{display:flex; flex-direction:column; gap:6px; margin-block-end:14px;}
.rv-form label{font-size:.82rem; font-weight:600; color:var(--text-soft);}
.rv-form input[type=text],.rv-form textarea{padding:11px 14px; border-radius:12px; border:1px solid var(--border); background:var(--bg); font-family:inherit; font-size:.9rem; color:var(--text);}
.rv-form textarea{min-height:110px; resize:vertical;}
.rv-form input:focus,.rv-form textarea:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(10,186,181,.13);}
.star-input{display:inline-flex; flex-direction:row-reverse; gap:3px; align-self:flex-start;}
.star-input input{position:absolute; opacity:0; pointer-events:none;}
.star-input label{font-size:1.9rem; line-height:1; color:#d8d3c8; cursor:pointer; transition:color .12s ease, transform .12s ease; padding:0 1px;}
.star-input label:hover,.star-input label:hover ~ label,.star-input input:checked ~ label{color:var(--star);}
.star-input label:hover{transform:scale(1.12);}
.star-input input:focus-visible + label{outline:2px solid var(--primary); border-radius:6px;}
.hp-field{position:absolute; inset-inline-start:-9999px; width:1px; height:1px; overflow:hidden;}
.notice{border-radius:12px; padding:12px 16px; font-size:.88rem; margin-block-end:16px;}
.notice.ok{background:#E6F4EA; color:#2f7048;}
.notice.warn{background:#FBF0DE; color:#8a6420;}
.notice.err{background:#FBE7E3; color:var(--error);}

.buy-bar{display:none;}

/* ---------- Cart bits ---------- */
.coupon-form{display:flex; gap:8px; margin-block:14px 4px;}
.coupon-form input{flex:1; min-width:0; padding:11px 14px; border-radius:12px; border:1px solid var(--border); background:var(--bg); font-family:inherit; font-size:.88rem; direction:ltr; text-align:right; text-transform:uppercase;}
.coupon-form input::placeholder{text-transform:none; direction:rtl;}
.coupon-note{font-size:.8rem; margin-block:6px 0;}
.coupon-note.ok{color:#2f7048;}
.coupon-note.err{color:var(--error);}
.ship-bar{margin-block:14px 4px; font-size:.8rem; color:var(--text-soft);}
.ship-bar .track{height:7px; background:#efece5; border-radius:8px; overflow:hidden; margin-block-start:7px;}
.ship-bar .fill{display:block; height:100%; background:linear-gradient(90deg,var(--primary-light),var(--primary)); border-radius:8px; transition:width .4s ease;}
.summary-row.save{color:var(--sale); font-weight:700;}
.summary-row.save-ok{color:#2f7048; font-weight:700;}
.cart-thumb img{width:100%; height:100%; object-fit:cover; border-radius:12px;}
.cart-old{text-decoration:line-through; color:#9b958a; font-size:.78rem; margin-inline-start:6px;}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .pd-wrap{grid-template-columns:minmax(0,1fr) 320px;}
  .pd-gallery{grid-column:1; grid-row:1; position:static;}
  .pd-info{grid-column:1; grid-row:2;}
  .buybox{grid-column:2; grid-row:1 / span 2;}
}
.cat-card .ci{width:74px; height:74px; border-radius:50%; background:var(--mint-50); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; transition:background .2s ease, transform .2s ease;}
.cat-card .ci svg{height:46px; width:auto; max-width:64%;}
.cat-row{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:700px){.cat-row{grid-template-columns:repeat(2,minmax(0,1fr));}}
.cat-card:hover .ci{background:var(--mint-100); transform:scale(1.05);}

@media (max-width:900px){
  .deals-band{grid-template-columns:1fr; padding:18px 14px 20px;}
  .deals-panel{padding:4px;}
  .deals-panel h2{font-size:1.4rem;}
  .topbar{font-size:.72rem; padding:6px 10px;}
  .header-row{flex-wrap:wrap; gap:10px 12px; padding-block:10px;}
  .brand{font-size:1.25rem; margin-inline-end:auto;}
  .brand svg{width:32px; height:32px;}
  .hd-search{order:3; flex-basis:100%; max-width:none;}
  .nav-toggle{display:flex;}
  .subnav{border-top:none; height:0; overflow:visible;}
  .subnav-row{display:block; min-height:0;}
  .cat-menu,.subnav-note{display:none;}
  .main-nav{display:none;}
  .main-nav.open{display:flex; flex-direction:column; gap:0; position:absolute; top:100%; inset-inline:0; background:#fff; border-bottom:1px solid var(--border); padding:8px 20px 18px; box-shadow:0 18px 36px rgba(42,38,32,.14); max-height:70vh; overflow-y:auto; z-index:39;}
  .main-nav.open a{padding-block:12px; border-bottom:1px solid var(--border);}
  .main-nav.open a::after{display:none;}
  .mnav-cats{display:block; padding-block:10px 4px;}
  .main-nav.open .mnav-cats{display:block;}
  .mnav-cats b{display:block; font-size:.78rem; color:var(--gold-dark); margin-block:6px;}
  .mnav-cats a{display:inline-block; border:1px solid var(--border); border-radius:999px; padding:6px 13px; margin:0 0 8px 8px; font-size:.82rem;}

  .shop-layout{grid-template-columns:minmax(0,1fr);}
  .shop-layout > div{min-width:0;}
  .shop-toolbar{overflow:hidden;}
  .filter-open{display:inline-flex;}
  .filter-box{position:fixed; inset-block:0; inset-inline-start:0; width:min(340px,88vw); max-height:none; border-radius:0; z-index:80; transform:translateX(100%); transition:transform .3s cubic-bezier(.22,.61,.36,1); padding-block-end:90px;}
  .filter-box.open{transform:translateX(0);}
  .filter-close{display:block;}
  .filter-backdrop{display:block; position:fixed; inset:0; background:rgba(5,40,38,.5); opacity:0; visibility:hidden; transition:opacity .25s ease; z-index:79;}
  .filter-backdrop.open{opacity:1; visibility:visible;}
  .sort-row{overflow-x:auto; flex-wrap:nowrap; max-width:100%;}
  .sort-row a{white-space:nowrap;}
  .result-count{width:100%; margin:0; padding-block-end:6px;}
  .shop-toolbar{gap:8px;}

  .pd-wrap{grid-template-columns:1fr;}
  .pd-gallery,.pd-info,.buybox{grid-column:1; grid-row:auto; position:static;}
  .pd-tabs{top:104px;}
  .rv-layout{grid-template-columns:1fr;}
  .rv-summary{position:static;}
  .deals-band{border-radius:20px;}
  .deals-row .p-card{flex-basis:176px;}
  .buy-bar{display:flex; position:fixed; inset-inline:0; bottom:0; z-index:45; background:#fff; border-top:1px solid var(--border); box-shadow:0 -8px 24px rgba(42,38,32,.1); padding:10px 16px; align-items:center; justify-content:space-between; gap:12px;}
  .buy-bar .bb-final{font-size:1.15rem;}
  .buy-bar .btn{border-radius:12px; padding-inline:22px;}
  body.has-buy-bar{padding-bottom:76px;}
}
@media (max-width:520px){
  .grid-products{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .p-body{padding:11px 11px 13px;}
  .p-name{font-size:.86rem;}
  .p-price{font-size:.98rem;}
  .container{padding-inline:14px;}
  .pd-title{font-size:1.35rem;}
  .pd-feat{grid-template-columns:1fr;}
  .trust-strip{grid-template-columns:1fr 1fr; gap:10px;}
  .trust-item{padding:11px 12px; gap:9px;}
  .trust-ic{width:36px; height:36px;}
}
@media (prefers-reduced-motion: reduce){
  .p-card,.p-thumb svg,.p-thumb img,.filter-box{transition:none;}
}

/* category image inside the round icon holder */
.cat-card .ci.has-img{width:84px; height:84px; padding:0; overflow:hidden; border:2px solid #fff; box-shadow:0 8px 20px rgba(8,127,123,.2);}
.cat-card .ci.has-img img{width:100%; height:100%; object-fit:cover; display:block;}
.a-thumb img{display:block;}

/* category page: SEO/guide text under the products */
.cat-seo-text{margin-block-start:44px; background:#fff; border:1px solid var(--border); border-radius:20px; padding:26px 30px;}
.cat-seo-text h2{font-size:1.35rem; margin-block:0 12px;}
.cat-seo-text h3{font-size:1.1rem; margin-block:22px 8px;}
.cat-seo-text p,.cat-seo-text li{color:var(--text); line-height:2; font-size:.97rem;}
.cat-seo-text ul,.cat-seo-text ol{padding-inline-start:22px; margin-block:0 14px;}
.cat-seo-text a{color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px;}
@media (max-width:600px){.cat-seo-text{padding:20px 18px;}}
