*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#161616;background:#fff}.topbar{background:linear-gradient(90deg,#f41467,#ff8a00);color:#fff;padding:10px 5%;display:flex;justify-content:space-between;font-size:14px}.header-main{height:92px;display:flex;align-items:center;gap:30px;padding:12px 4%;border-bottom:1px solid #eee}.brand img{width:190px;height:75px;object-fit:contain}.search{flex:1;display:flex;max-width:650px}.search input{width:100%;padding:15px 18px;border:1px solid #ddd;border-radius:28px 0 0 28px;font-size:15px}.search button{width:60px;border:0;border-radius:0 28px 28px 0;background:#f41467;color:#fff;font-size:25px}.head-actions{margin-left:auto;display:flex;gap:10px}.head-actions button,nav button,.section-head button{border:0;background:none;cursor:pointer;font-size:15px}nav{display:flex;justify-content:center;gap:10px;padding:10px;border-bottom:1px solid #eee}nav button{padding:10px 17px;border-radius:20px;font-weight:600}.nav-active,nav button:hover{background:#f41467!important;color:#fff}.hero{margin:0 auto;max-width:1400px;min-height:430px;padding:55px 7%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#ffe0ee,#fff3f8 50%,#d9f5ff);overflow:hidden}.hero h1{font-size:55px;line-height:1.02;margin:8px 0}.hero h1 strong{color:#f41467}.eyebrow{font-weight:800;color:#f41467;letter-spacing:2px}.hero p{font-size:20px}.hero>img{width:48%;max-width:560px;height:auto;aspect-ratio:1/1;object-fit:cover;flex-shrink:0;border-radius:25px;mix-blend-mode:multiply}.primary{background:#f41467;color:white;border:0;border-radius:10px;padding:15px 28px;font-size:18px;font-weight:bold;cursor:pointer}.benefits{display:flex;gap:25px;margin-top:30px;font-size:14px}.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:24px 4%;max-width:1400px;margin:auto}.categories>div{text-align:center;padding:20px;border-radius:18px;cursor:pointer}.cat{height:120px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:55px}.blue{background:#dff3ff}.pink{background:#ffe1ef}.yellow{background:#fff0b8}.booties{background:#e8e0ff}.green{background:#ddf7d8}.categories h3{margin:12px 0 5px}.categories p{margin:0}.trust{display:grid;grid-template-columns:repeat(4,1fr);background:#fafafa;padding:20px 6%;gap:20px;text-align:center}.trust div{font-size:22px}.trust b{font-size:15px;display:inline-block;margin-left:5px}.trust small{display:block;font-size:12px;color:#666;margin-top:5px}main{padding:40px 4%;max-width:1450px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2{font-size:34px;margin:0}.section-head p{margin-top:5px;color:#666}.section-head button{border:1px solid #f41467;color:#f41467;padding:10px 18px;border-radius:20px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid #eee;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #0000000a}.card-img{width:100%;height:260px;object-fit:contain;background:#fff}.card-body{padding:14px}.card h3{font-size:16px;min-height:42px;margin:0 0 8px}.price{font-size:21px;font-weight:800}.mrp{text-decoration:line-through;color:#888;font-size:14px;margin-left:7px}.off{background:#f41467;color:white;padding:5px 8px;border-radius:5px;font-size:12px;margin-left:8px}.dots{display:flex;gap:6px;margin:12px 0}.dot{width:18px;height:18px;border-radius:50%;border:1px solid #aaa}.rating{color:#ff9900;font-size:14px}.add{width:100%;margin-top:12px;background:#f41467;color:white;border:0;border-radius:8px;padding:12px;cursor:pointer;font-weight:bold}.promo{margin:10px auto 45px;max-width:1380px;border-radius:18px;background:#fff0bd;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.promo img{height:220px;width:350px;object-fit:contain}.promo h2{font-size:36px;margin:0}.promo p{font-size:18px}footer{text-align:center;background:#fafafa;padding:30px;color:#666}footer img{width:150px;height:60px;object-fit:contain}.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.hidden{display:none}.panel{background:#fff;border-radius:18px;width:min(900px,100%);max-height:90vh;overflow:auto;padding:25px}.close{float:right;border:0;background:#eee;border-radius:50%;width:35px;height:35px;cursor:pointer}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form input,.form select,.form textarea{padding:12px;border:1px solid #ddd;border-radius:8px;width:100%}.form textarea{grid-column:1/-1;min-height:90px}.full{grid-column:1/-1}.admin-list{margin-top:25px;border-top:1px solid #eee}.admin-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.admin-row img{width:55px;height:55px;object-fit:contain}.danger{border:0;background:#fee;color:#c00;padding:8px;border-radius:6px;cursor:pointer}.cart-item{display:flex;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.cart-item img{width:80px;height:80px;object-fit:contain}.cart-total{font-size:22px;font-weight:bold;text-align:right;margin-top:20px}.checkout{margin-top:15px;width:100%;padding:14px;background:#f41467;color:#fff;border:0;border-radius:8px;font-weight:bold}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.categories,.trust{grid-template-columns:repeat(2,1fr)}.hero{padding:35px 5%;}.hero h1{font-size:38px}.hero>img{width:45%}.header-main{gap:8px;flex-wrap:wrap;height:auto;padding:10px 12px}.brand img{width:104px}.search{order:3;flex-basis:100%;width:100%;max-width:none;margin-top:8px}}@media(max-width:600px){.topbar{font-size:11px;gap:7px}.topbar span:nth-child(2){display:none}.head-actions{gap:4px}.head-actions button{font-size:14px;white-space:nowrap}nav{overflow:auto;justify-content:flex-start}.hero{display:block;text-align:center}.hero>img{display:block;width:100%;max-width:420px;height:auto;margin:22px auto 0}.benefits{justify-content:center;gap:10px;font-size:11px}.grid{grid-template-columns:1fr 1fr;gap:10px}.card-img{height:180px}.card h3{font-size:13px}.promo img{width:45%}.promo h2{font-size:25px}.form{grid-template-columns:1fr}.full{grid-column:auto}}
.text-page{max-width:900px;margin:40px auto;padding:25px;line-height:1.7}.text-page h1{margin-top:20px}.text-page h2{margin-top:28px}

/* RSMART V4 additions */
.live-products{max-width:1380px;margin:34px auto 20px;padding:0 3%}.live-carousel{display:flex;align-items:center;gap:10px}.top-product-track{display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;flex:1;padding:5px 2px 14px}.top-product-track::-webkit-scrollbar{display:none}.top-card{flex:0 0 calc(25% - 14px);min-width:0}.top-card .card-img{height:220px}.slide-btn{width:42px;height:42px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:30px;line-height:1;cursor:pointer;flex:0 0 auto;box-shadow:0 4px 12px #00000010}.slide-btn:hover{transform:scale(1.05)}.card-actions{display:flex;align-items:center;gap:8px}.card-actions .add{flex:1}.view{font-size:13px;text-decoration:none;font-weight:600;color:#111}.brand-banner{max-width:1380px;margin:30px auto;padding:0 3%}.brand-banner img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 6px 20px #00000012}.cert-section{max-width:1380px;margin:45px auto;padding:0 3%}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cert-card{border:1px solid #eee;background:#fff;border-radius:16px;padding:15px;cursor:pointer;text-align:center;box-shadow:0 5px 18px #0000000a}.cert-card img{width:100%;height:360px;object-fit:contain;border-radius:10px;background:#fafafa}.cert-card strong{display:block;margin-top:12px;font-size:18px}.cert-card span{display:block;color:#777;font-size:13px;margin-top:5px}.certificate-view{background:#fff;border-radius:16px;padding:20px;max-width:900px;max-height:94vh;overflow:auto;position:relative}.certificate-view img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain}.muted{color:#777;font-size:13px}.info-body{background:linear-gradient(135deg,#fff4f8 0%,#fff 45%,#f5f7ff 100%);min-height:100vh}.info-top{max-width:1100px;margin:0 auto;padding:20px 25px;display:flex;align-items:center;justify-content:space-between}.info-top a{font-weight:700;text-decoration:none;color:#111}.info-top img{width:135px;height:55px;object-fit:contain}.themed-page{background:linear-gradient(145deg,#ffffff,#fff8fb);border:1px solid #f2dce7;border-radius:24px;box-shadow:0 10px 35px #0000000b;min-height:420px}.themed-page h1{font-size:36px}.themed-page h2{color:#f41467}.themed-page .lead{font-size:17px;color:#555}.page-badge{display:inline-block;background:#f41467;color:#fff;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:800;letter-spacing:.08em}footer a{color:#333;text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:900px){.top-card{flex-basis:calc(33.333% - 12px)}.cert-grid{grid-template-columns:1fr 1fr}.cert-card img{height:300px}}@media(max-width:600px){.live-products{padding:0 4%}.top-card{flex-basis:calc(50% - 9px)}.top-card .card-img{height:180px}.slide-btn{width:34px;height:34px;font-size:24px}.cert-grid{grid-template-columns:1fr}.cert-card img{height:330px}.brand-banner{padding:0 4%}.themed-page h1{font-size:28px}.info-top{padding:14px 16px}.info-top img{width:110px}}

.chat-float{position:fixed;right:20px;bottom:20px;z-index:20;background:#25d366;color:#fff;text-decoration:none;padding:13px 18px;border-radius:30px;font-weight:700;box-shadow:0 5px 18px #0003}.chat-float:hover{transform:translateY(-2px)}@media(max-width:600px){.chat-float{right:12px;bottom:12px;padding:11px 14px;font-size:13px}}
.order-panel{max-width:720px!important}.order-panel form{display:grid;gap:12px}.notify-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.notify-actions a{text-decoration:none;display:inline-block}.order-card{border:1px solid #ddd;border-radius:12px;padding:14px;margin:12px 0}.order-status{font-size:12px;background:#eee;padding:4px 8px;border-radius:999px;margin-left:8px}

.checkout-form{display:grid;gap:12px}.checkout-form input,.checkout-form select,.checkout-form textarea{padding:12px;border:1px solid #ddd;border-radius:8px;width:100%;font:inherit}.checkout-form .checkout{cursor:pointer;position:relative;z-index:30;pointer-events:auto}

#placeOrderBtn{cursor:pointer;pointer-events:auto;position:relative;z-index:100;}

.order-serial{display:inline-block;font-size:18px;font-weight:800;margin-right:8px}.order-datetime{margin:6px 0 10px;padding:7px 10px;border-radius:8px;background:#f3f4f6;font-weight:600}.order-item-row{display:flex;gap:10px;align-items:center;margin:8px 0;padding:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.order-item-thumb{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#f8fafc;border:1px solid #e5e7eb}.orders-list-panel{background:linear-gradient(180deg,#fff7fb 0%,#fff 100%)}

.order-item-thumb{display:block;flex:0 0 64px}.order-img-fallback{object-fit:contain}
.shipping-box{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:8px;padding:10px 12px;font-size:14px}.shipping-box.error{background:#fff1f1;border-color:#f3c2c2;color:#a40000}.ship-option{display:flex;gap:8px;align-items:flex-start;margin-top:8px;cursor:pointer}.ship-option input{width:auto;margin-top:3px}.checkout-msg{color:#b00020;font-weight:600;min-height:18px}.checkout[disabled]{opacity:.6;cursor:wait}
.addr-pick{align-items:flex-start}.addr-pick small{color:#666}.save-addr{display:flex;gap:8px;align-items:center;font-size:14px;margin:4px 0 2px}.save-addr input{width:auto}.hidden{display:none}

/* ---- phone sizing: comfortable tap targets, no zoom-on-focus ---- */
@media(max-width:700px){
  nav button{padding:11px 14px;font-size:15px;min-height:44px}
  .head-actions{gap:2px}
  .head-actions button{min-height:44px;padding:8px 6px;font-size:13px}
  .search input{min-height:44px;font-size:16px}
  .search button{min-width:48px}
  .card-actions .add,.card-actions .view{min-height:44px;display:flex;align-items:center;justify-content:center}
  .choice{min-height:44px;padding:11px 14px}
  .checkout-form input,.checkout-form textarea,.checkout-form select{font-size:16px;min-height:46px}
  .checkout,.smallbtn{min-height:46px}
  .modal .panel{max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ship-option{min-height:44px;align-items:center}
  footer a{display:inline-block;padding:6px 0}
}
/* Product page: keep Add to Cart reachable while scrolling on a phone */
@media(max-width:800px){
  .buy-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #e6e6ea;padding:10px 0 12px;display:flex;gap:8px;z-index:9}
  .buy-bar .addcart{flex:1;min-height:48px;padding:14px 10px;margin:0}
}
/* ---- Latest Products carousel: arrows live in the heading row, the product row uses the full width ---- */
.live-products{width:min(1380px,94%);max-width:none;margin:34px auto 20px;padding:0}
.section-head{gap:12px 16px;flex-wrap:wrap}
.head-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.section-head .slide-btn{width:42px;height:42px;padding:0;border-radius:50%;border:1px solid #ddd;background:#fff;color:#111;font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000010}
.section-head .slide-btn:hover{border-color:#f41467;color:#f41467;transform:none}
.section-head .shop-all{border:1px solid #f41467;color:#f41467;background:none;padding:10px 18px;border-radius:20px;font-size:15px;cursor:pointer}
.top-product-track{gap:16px;padding:6px 0 14px}
.top-card{flex:0 0 calc((100% - 48px)/4)}
/* Product photos are square: keep them square at every width instead of a fixed height. */
.card-img,.top-card .card-img{height:auto;aspect-ratio:1/1;object-fit:contain}
@media(max-width:900px){.top-card{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:600px){
  .live-products{width:90vw}
  .section-head h2{font-size:26px}
  .section-head>div:first-child{flex:1 1 100%}
  .head-tools{width:100%}
  .head-tools .shop-all{margin-left:auto;padding:9px 14px}
  .section-head .slide-btn{width:44px;height:44px}
  .top-product-track{gap:12px}
  .top-card{flex-basis:calc((100% - 12px)/2)}
}
/* Small text-style buttons get a comfortable tap area on phones (IDs/classes beat the pages' own inline styles). */
@media(max-width:700px){
  #switchBtn{padding:11px 6px;min-height:40px}
  .size-help .chart-btn{padding:11px 4px;min-height:40px}
}
/* Product cards on narrow screens: full-width buttons stacked, never squeezed into a thin column. */
.card-actions .add{margin-top:0}
.card-actions .view{white-space:nowrap}
@media(max-width:600px){
  .card-body{padding:10px}
  .card-actions{flex-direction:column;align-items:stretch;gap:6px;margin-top:10px}
  .card-actions .add{font-size:14px;padding:10px 8px}
  .card-actions .view{border:1px solid #e3e3e8;border-radius:8px;font-size:13px}
  /* The WhatsApp button becomes a round icon so it covers less of the page. */
  .chat-float{width:52px;height:52px;padding:0;border-radius:50%;font-size:0;display:flex;align-items:center;justify-content:center}
  .chat-float::before{content:"💬";font-size:24px}
  footer{padding-bottom:80px}
}
.section-head .slide-btn[hidden]{display:none}
/* Discounts: % off badge, cart nudges, coupon box and price summary */
.card-media{position:relative;display:block}.off-badge{position:absolute;top:10px;left:10px;z-index:1;background:#0a8a3a;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;letter-spacing:.2px}
.qty-row{display:inline-flex;align-items:center;gap:0;margin-top:8px;border:1px solid #ddd;border-radius:8px;overflow:hidden}.qty-row button{width:36px;height:36px;border:0;background:#f6f6f6;font-size:18px;cursor:pointer}.qty-row span{min-width:34px;text-align:center;font-weight:700}
.remove-btn{border:1px solid #e3e3e8;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;min-height:40px;align-self:flex-start}
.price-summary{margin-top:14px;display:grid;gap:10px}
.nudge{background:#fff7e8;border:1px solid #ffd99a;border-radius:10px;padding:10px 12px;font-size:14px}.nudge.ok{background:#eafaf0;border-color:#b7e4c7;color:#0a6b2e}
.nudge-track{height:6px;background:#ffe3b0;border-radius:6px;margin-top:8px;overflow:hidden}.nudge-track span{display:block;height:100%;background:linear-gradient(90deg,#ff8a00,#f41467);border-radius:6px}
.coupon-box{display:flex;gap:8px}.coupon-box input{flex:1;min-width:0;padding:11px 12px;border:1px dashed #f41467;border-radius:8px;font:inherit;text-transform:uppercase}.coupon-box button{border:0;background:#111;color:#fff;border-radius:8px;padding:0 18px;font-weight:700;cursor:pointer;min-height:44px}
.coupon-applied{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#eafaf0;border:1px dashed #0a8a3a;border-radius:8px;padding:10px 12px;font-size:14px;color:#0a6b2e}
.coupon-error{color:#a40000;font-size:13px}.link-btn{border:0;background:none;color:#f41467;font-weight:700;cursor:pointer;padding:6px 4px;font:inherit;font-weight:700}
.coupon-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.coupon-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px dashed #f41467;background:#fff5f9;border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left;max-width:230px}.coupon-chip b{color:#f41467;font-size:13px}.coupon-chip span{font-size:12px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sum-lines{border-top:1px solid #eee;padding-top:8px}.sum-line{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:15px}.sum-line.save{color:#0a8a3a}.sum-line .free{color:#0a8a3a}.sum-line.grand{font-size:19px;border-top:1px dashed #ddd;margin-top:4px;padding-top:9px}
.you-save,.save-text{color:#0a8a3a;font-weight:700;font-size:14px}.you-save{text-align:right}
@media(max-width:600px){.off-badge{top:6px;left:6px;font-size:11px;padding:3px 6px}.cart-item{align-items:flex-start;gap:10px}.cart-item img{width:64px;height:64px}.sum-line{font-size:14px}.sum-line.grand{font-size:17px}}
.coupon-box input::placeholder{text-transform:none}
.pin-check{display:grid;gap:6px}.pin-check label{font-size:13px;font-weight:700;color:#444}
.price-summary{grid-template-columns:minmax(0,1fr)}.price-summary>*{min-width:0}

/* ---------- Product page (product.html) ---------- */
nav a.nav-link{padding:10px 17px;border-radius:20px;font-weight:600;font-size:15px;color:#161616;text-decoration:none;white-space:nowrap}
nav a.nav-link:hover{background:#f41467;color:#fff}
.pdp{width:min(1240px,94%);margin:18px auto 40px}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 16px;font-size:13px;color:#777}
.crumbs li+li::before{content:"›";margin-right:6px;color:#bbb}.crumbs a{color:#777;text-decoration:none}.crumbs a:hover{color:#f41467}
.crumbs [aria-current]{color:#161616;font-weight:600;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:start}
.pdp-gallery{position:sticky;top:12px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px}
.pdp-main{grid-column:2;grid-row:1;position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#fff5f9,#fff);border:1px solid #f3e3ea}
.pdp-main img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.pdp-main .off-badge{top:14px;left:14px;font-size:13px}
.pdp-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #eee;background:#fffe;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 12px #0001;display:flex;align-items:center;justify-content:center}
.pdp-arrow.prev{left:12px}.pdp-arrow.next{right:12px}.pdp-arrow:hover{color:#f41467;border-color:#f41467}
.pdp-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px}
.pdp-thumbs button{padding:3px;border:2px solid #eee;border-radius:12px;background:#fff;cursor:pointer;width:78px;height:78px}
.pdp-thumbs button.on{border-color:#f41467}.pdp-thumbs img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.pdp-eyebrow{color:#f41467;font-weight:800;letter-spacing:1.5px;font-size:12px;margin:0 0 8px}
.pdp-info h1{font-size:30px;line-height:1.2;margin:0 0 6px}
.pdp-sku{color:#888;font-size:13px}
.pdp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:16px 0 2px}
.pdp-price .now{font-size:32px;font-weight:800}.pdp-price .was{color:#888;text-decoration:line-through;font-size:17px}
.off-pct{display:inline-block;background:#0a8a3a;color:#fff;font-size:13px;font-weight:700;padding:3px 8px;border-radius:6px}
.pdp-tax{color:#0a8a3a;font-size:13px;font-weight:600;margin-bottom:14px}
.offers-box{border:1px solid #f3d3e1;background:#fff8fb;border-radius:14px;padding:12px 14px;margin:6px 0 4px}
.offers-box ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.offers-box li{display:flex;gap:8px;font-size:14px;line-height:1.4}
.offers-box li b.code{border:1px dashed #f41467;color:#f41467;padding:1px 6px;border-radius:5px;font-size:13px;white-space:nowrap}
.pdp-block{margin:20px 0}
.pdp-label{font-size:15px;font-weight:700;margin-bottom:10px}.pdp-label b{font-weight:600;color:#555}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-opt{min-height:44px;padding:9px 16px;border:1.5px solid #ddd;border-radius:24px;background:#fff;cursor:pointer;font-size:14px;font-weight:600;color:#222}
.chip-opt:hover{border-color:#f41467}.chip-opt.on{border-color:#f41467;background:#fff0f6;color:#f41467;box-shadow:0 0 0 2px #f4146722}
.chip-opt.out{opacity:.45;text-decoration:line-through;cursor:not-allowed}.chip-opt.out.on{opacity:1;text-decoration:none}
.stock-note{margin-top:10px;font-size:13px;font-weight:700}.stock-note.ok{color:#0a8a3a}.stock-note.low{color:#d35400}.stock-note.out{color:#a40000}
.pdp-qty{display:flex;align-items:center;gap:16px}.pdp-qty .pdp-label{margin:0}.pdp-qty .qty-row{margin:0}
.pdp-actions{display:flex;gap:12px;margin:22px 0 8px}
.pdp-add,.pdp-buy{flex:1;min-height:52px;border-radius:12px;font-size:16px;font-weight:800;cursor:pointer}
.pdp-add{background:#fff;color:#f41467;border:2px solid #f41467}.pdp-add:hover{background:#fff0f6}
.pdp-buy{background:linear-gradient(90deg,#f41467,#ff5a36);color:#fff;border:0;box-shadow:0 6px 16px #f4146740}.pdp-buy:hover{filter:brightness(1.05)}
.pdp-add:disabled,.pdp-buy:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.pdp-deliver .coupon-box{max-width:380px}.pin-result{margin-top:8px;font-size:14px}.pin-result.ok{color:#0a6b2e}.pin-result.error{color:#a40000}
.pdp-trust{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pdp-trust li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;font-size:12px;font-weight:600;background:#fafafa;border:1px solid #f0f0f0;border-radius:12px;padding:10px 6px}.pdp-trust span{font-size:22px}
.pdp-acc{border-top:1px solid #eee;padding:4px 0}.pdp-acc:last-of-type{border-bottom:1px solid #eee}
.pdp-acc summary{cursor:pointer;font-weight:700;font-size:16px;padding:12px 0;list-style:none;display:flex;justify-content:space-between}
.pdp-acc summary::-webkit-details-marker{display:none}.pdp-acc summary::after{content:"+";color:#f41467;font-size:22px;line-height:1}.pdp-acc[open] summary::after{content:"−"}
.pdp-desc{color:#444;line-height:1.7;padding-bottom:12px;white-space:pre-line}.pdp-desc a{color:#f41467}
.pdp-related{margin-top:44px}
.pdp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eee;box-shadow:0 -6px 18px #0000000f}
.pdp-sticky>div{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdp-sticky b{font-size:18px}.pdp-sticky small{color:#666}
.pdp-sticky .pdp-buy{flex:0 0 auto;min-height:46px;padding:0 22px}
.pdp-missing{display:block}.pdp-missing .pdp-gallery{display:none}
.site-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:60;display:flex;align-items:center;gap:14px;background:#161616;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 10px 30px #0004;font-size:14px;max-width:calc(100vw - 32px);transition:transform .25s ease;pointer-events:none}
.site-toast.show{transform:translate(-50%,0);pointer-events:auto}.site-toast button{border:0;background:#f41467;color:#fff;font-weight:700;border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap}
@media(max-width:900px){
  .pdp-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .pdp-gallery{position:static;grid-template-columns:minmax(0,1fr);gap:10px}
  .pdp-main,.pdp-thumbs{grid-column:1}.pdp-thumbs{grid-row:2;flex-direction:row;overflow-x:auto;padding-bottom:4px}
  .pdp-thumbs button{flex:0 0 64px;width:64px;height:64px}
  .pdp-info h1{font-size:23px}.pdp-price .now{font-size:28px}
  .pdp-sticky.show{display:flex}
  .pdp-body footer{padding-bottom:90px}
  .pdp-body .chat-float{bottom:84px}
  .pdp-actions.buy-bar{position:static;border:0;padding:0;background:none}
}
@media(max-width:600px){
  .pdp{width:90vw;margin-top:12px}
  .pdp-trust{grid-template-columns:repeat(2,1fr)}
  .pdp-arrow{width:38px;height:38px;font-size:22px}
  .pdp-deliver .coupon-box{max-width:none}
  .site-toast{bottom:84px}
}
.crumbs{flex-wrap:nowrap}.crumbs li{flex:0 0 auto;white-space:nowrap}.crumbs li[aria-current]{flex:1 1 auto;min-width:0;max-width:none}

/* Loading placeholders: reserve the space products will take so nothing jumps (CLS) */
.sk{display:block;background:linear-gradient(90deg,#f1f1f4 25%,#e6e6eb 37%,#f1f1f4 63%);background-size:400% 100%;animation:skShine 1.3s ease infinite;border-radius:8px}
@keyframes skShine{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}
.card.skeleton{pointer-events:none}.card.skeleton .sk-img{width:100%;aspect-ratio:1/1;border-radius:0}
.card.skeleton .card-body{min-height:167px;display:grid;gap:10px;align-content:start}
.sk-line{height:14px;width:100%}.sk-line.w60{width:60%}.sk-line.w40{width:40%}.sk-btn{height:38px;margin-top:8px}
.sk-pill{display:inline-block;width:64px;height:44px;border-radius:24px}
.chips{min-height:44px}.stock-note{min-height:18px}
@media(max-width:600px){.card.skeleton .card-body{min-height:225px}#productGrid .card.skeleton:nth-child(n+3){display:none}}

/* Colour dots (combinations such as Black-White are split circles) */
.swatch{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #00000026;box-shadow:inset 0 0 0 1px #ffffff55;vertical-align:-4px;margin-right:7px;flex:0 0 auto}
.swatch.sm{width:14px;height:14px;margin-right:0}
.card-colors{display:flex;align-items:center;gap:4px;font-size:13px;color:#555;min-height:18px}.card-colors span:last-child{margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip-opt{display:inline-flex;align-items:center}
/* Menu: scroll sideways inside itself when it does not fit, never widen the page; centred when it fits */
nav{overflow-x:auto;justify-content:safe center;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav::-webkit-scrollbar{display:none}
nav>button,nav>a{flex:0 0 auto}

/* Variant chips (colour dot + name, size) in the cart and order views */
.vchips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.vchip{display:inline-flex;align-items:center;gap:6px;border:1px solid #e3e3e8;background:#fafafa;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:#333;white-space:nowrap}
.placed-items{display:grid;gap:8px;margin:10px 0;padding:10px 12px;background:#fafafa;border:1px solid #eee;border-radius:10px}
.offers-more{display:block;margin-top:6px;padding:4px 0;font-size:14px;min-height:28px}
.offers-box li[hidden],.offers-more[hidden]{display:none}

/* Checkout: who is ordering */
.co-who{margin:4px 0 12px}
.co-note{background:#fff7e8;border:1px solid #ffd99a;border-radius:10px;padding:10px 12px;font-size:14px;margin:4px 0 12px;line-height:1.5}
.co-note a,.co-who a{color:#f41467;font-weight:700}

.pdp-specs{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:14px}.pdp-specs th{width:42%;text-align:left;font-weight:600;color:#666;padding:8px 10px 8px 0;border-bottom:1px solid #f0f0f0;vertical-align:top}.pdp-specs td{padding:8px 0;border-bottom:1px solid #f0f0f0}
/* Colour strip on the product page: small photo swatches, so many colours stay compact */
.chips.sw{gap:8px}
.sw-opt{width:52px;height:52px;padding:2px;border:2px solid #e3e3e8;border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.sw-opt img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.sw-opt:hover{border-color:#f4146780}
.sw-opt.on{border-color:#f41467;box-shadow:0 0 0 2px #f4146733}
.sw-opt.out{opacity:.45}
.sw-opt.out::after{content:"";position:absolute}
@media(max-width:600px){.sw-opt{width:46px;height:46px}}
.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{color:#f41467}
/* Product photo frame: shimmer until the first picture is painted, so the page never looks broken */
.pdp-main.loading{background:linear-gradient(90deg,#f6f2f4 25%,#efe7ec 37%,#f6f2f4 63%);background-size:400% 100%;animation:skShine 1.3s ease infinite}
.pdp-main.loading img{opacity:0}
.pdp-main img{transition:opacity .2s ease}
/* About page: the four "in-house" cards and the closing button */
.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 6px}
.about-card{border:1px solid #f2dce7;background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 5px 18px #0000000a}
.about-card span{font-size:24px;line-height:1}
.about-card strong{display:block;margin:8px 0 4px;font-size:17px}
.about-card p{margin:0;color:#555;font-size:14.5px;line-height:1.6}
.about-cta{display:inline-block;background:#f41467;color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:12px 22px;box-shadow:0 6px 18px #f4146733}
.about-cta:hover{background:#d30f57}
@media(max-width:700px){.about-cards{grid-template-columns:1fr}}
/* Delivery: what paying online saves over cash on delivery */
.pin-save{display:inline-block;margin-top:6px;color:#0a7d33;background:#eafaef;border:1px solid #bfe9cd;border-radius:8px;padding:5px 9px;font-size:13px;font-weight:600}
.pin-note{display:inline-block;margin-top:5px;color:#666;font-size:12.5px}
.sum-note{margin:-2px 0 8px;padding:7px 10px;background:#eafaef;border:1px solid #bfe9cd;border-radius:8px;color:#0a7d33;font-size:12.5px}
/* Checkout: choosing how to pay, with what each choice costs */
.pay-picker{border:1px solid var(--line,#eee);border-radius:12px;padding:12px;margin-top:10px}
.pay-picker>b{display:block;margin-bottom:8px;font-size:14px}
.pay-opt{align-items:flex-start}
.pay-opt small{display:block;color:#666;font-size:12.5px;line-height:1.5}
.pay-hint{margin-top:4px;font-weight:700;font-size:12.5px}
.pay-hint.save{color:#0a7d33}
.pay-hint.cost{color:#b3261e}
.pay-hint:empty{display:none}
.pay-fee{margin-top:4px;font-weight:700;color:#111;font-size:13px}
.pay-fee:empty{display:none}
.sum-note.warn{background:#fff6e5;border-color:#f3d9a4;color:#8a5a00}
.field-hint{margin:-4px 0 8px;font-size:12.5px}
/* Order cards: has this been paid, or is the courier collecting? */
.pay-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.pay-badge.paid{background:#e8f7ed;color:#0a7d33;border:1px solid #bfe9cd}
.pay-badge.cod{background:#fff4e5;color:#9a5b00;border:1px solid #f3d9a4}
.pay-badge.due{background:#fdecec;color:#b3261e;border:1px solid #f5c6c2}
.pay-badge.refunded{background:#eef0f4;color:#4a4a55;border:1px solid #dcdfe6}
/* Platform fee: a visible line with a plain-English explanation behind the "i" */
.info-dot{width:16px;height:16px;line-height:14px;padding:0;margin-left:5px;border-radius:50%;border:1px solid #9a9aa6;background:#fff;color:#555;font-size:11px;font-weight:700;font-style:italic;cursor:pointer;vertical-align:middle}
.info-dot:hover{border-color:#f41467;color:#f41467}
.fee-explain{margin:4px 0 8px;padding:10px 12px;background:#f7f7fa;border:1px solid #e4e4ec;border-radius:10px;font-size:13px;line-height:1.55}
.fee-explain b{display:block;margin-bottom:4px}
.fee-explain p{margin:0 0 6px}
.fee-explain p:last-child{margin-bottom:0;font-size:12.5px}

/* ---------- Marketing banners ---------- */
/* Built from the same pink, radii and shadows as the rest of the site. The slot reserves its height
   from the placement's aspect ratio before the image arrives, so nothing jumps as it loads. */
.mb{position:relative;overflow:hidden;border-radius:16px;background:#f6f2f4;box-shadow:0 6px 20px #00000012;margin:30px auto;max-width:1380px;width:94%}
.mb-track{display:flex;transition:transform .45s ease;will-change:transform}
.mb-slide{position:relative;flex:0 0 100%;aspect-ratio:var(--mb-ratio,3.2)}
.mb-slide picture,.mb-link{display:block;height:100%}
.mb-slide img{width:100%;height:100%;display:block}
.mb-slide.mb-broken{display:none}
/* A slot with nothing for this width is hidden, not removed, so turning the phone can bring it back.
   Said here rather than left to the browser: a class with a display would quietly win otherwise. */
[data-banner][hidden]{display:none}
.mb-link{text-decoration:none;color:inherit}

/* Text over a photo needs something behind it or it disappears on a light banner. */
.mb-text{position:absolute;max-width:min(560px,70%);padding:14px 18px;border-radius:14px;background:linear-gradient(180deg,#00000059,#00000026);color:#fff;text-shadow:0 1px 3px #0000005e}
.mb-offer{display:inline-block;background:#f41467;color:#fff;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:800;letter-spacing:.04em;margin-bottom:8px}
.mb-head{margin:0;font-size:30px;line-height:1.15;font-weight:800}
.mb-sub{margin:7px 0 0;font-size:15px;line-height:1.5}

.mb-cta{position:absolute;background:#f41467;color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:12px 24px;border-radius:999px;box-shadow:0 6px 18px #f4146740;white-space:nowrap}
.mb-cta:hover{background:#d30f57}

/* Nine positions, shared by the text block and the button. */
.pos-top_left{top:7%;left:5%}.pos-top_center{top:7%;left:50%;transform:translateX(-50%)}.pos-top_right{top:7%;right:5%}
.pos-center_left{top:50%;left:5%;transform:translateY(-50%)}.pos-center{top:50%;left:50%;transform:translate(-50%,-50%)}.pos-center_right{top:50%;right:5%;transform:translateY(-50%)}
.pos-bottom_left{bottom:7%;left:5%}.pos-bottom_center{bottom:7%;left:50%;transform:translateX(-50%)}.pos-bottom_right{bottom:7%;right:5%}
.mb-text.pos-center,.mb-text.pos-top_center,.mb-text.pos-bottom_center{text-align:center}
.mb-text.pos-top_right,.mb-text.pos-center_right,.mb-text.pos-bottom_right{text-align:right}

.mb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid #ffffff6b;background:#ffffffd9;color:#111;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 12px #00000026}
.mb-arrow:hover{background:#fff}
.mb-arrow.prev{left:12px}.mb-arrow.next{right:12px}
.mb-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:7px}
.mb-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#ffffff8c;cursor:pointer}
.mb-dots button.on{background:#f41467;width:22px;border-radius:999px}

@media(max-width:900px){.mb-head{font-size:23px}.mb-sub{font-size:14px}}
@media(max-width:600px){
  .mb{border-radius:12px;margin:20px auto}
  .mb-text{max-width:84%;padding:10px 13px}
  .mb-head{font-size:19px}.mb-sub{font-size:13px;margin-top:5px}
  .mb-offer{font-size:11px;padding:4px 10px}
  .mb-cta{font-size:13px;padding:10px 18px}
  .mb-arrow{width:32px;height:32px;font-size:21px}
}
/* A viewer who has asked for less motion gets no sliding. */
@media(prefers-reduced-motion:reduce){.mb-track{transition:none}}
/* With a slider, keep the overlay clear of the arrows and dots. */
.mb-has-controls .mb-text.pos-top_left,.mb-has-controls .mb-text.pos-center_left,.mb-has-controls .mb-text.pos-bottom_left,
.mb-has-controls .mb-cta.pos-top_left,.mb-has-controls .mb-cta.pos-center_left,.mb-has-controls .mb-cta.pos-bottom_left{left:64px}
.mb-has-controls .mb-text.pos-top_right,.mb-has-controls .mb-text.pos-center_right,.mb-has-controls .mb-text.pos-bottom_right,
.mb-has-controls .mb-cta.pos-top_right,.mb-has-controls .mb-cta.pos-center_right,.mb-has-controls .mb-cta.pos-bottom_right{right:64px}
.mb-has-controls .mb-text.pos-bottom_left,.mb-has-controls .mb-text.pos-bottom_center,.mb-has-controls .mb-text.pos-bottom_right,
.mb-has-controls .mb-cta.pos-bottom_left,.mb-has-controls .mb-cta.pos-bottom_center,.mb-has-controls .mb-cta.pos-bottom_right{bottom:38px}
@media(max-width:600px){
  .mb-has-controls .mb-text.pos-top_left,.mb-has-controls .mb-text.pos-center_left,.mb-has-controls .mb-text.pos-bottom_left,
  .mb-has-controls .mb-cta.pos-top_left,.mb-has-controls .mb-cta.pos-center_left,.mb-has-controls .mb-cta.pos-bottom_left{left:48px}
  .mb-has-controls .mb-text.pos-top_right,.mb-has-controls .mb-text.pos-center_right,.mb-has-controls .mb-text.pos-bottom_right,
  .mb-has-controls .mb-cta.pos-top_right,.mb-has-controls .mb-cta.pos-center_right,.mb-has-controls .mb-cta.pos-bottom_right{right:48px}
}

/* ---------- Reviews ---------- */
/* Review form (review.html) */
.rv-product{display:flex;gap:14px;align-items:flex-start;border:1px solid #f2dce7;background:#fff;border-radius:14px;padding:14px;margin:4px 0 18px}
.rv-product img{border-radius:10px;object-fit:cover;background:#faf7f9}
.rv-verified{display:inline-block;margin-top:7px;background:#e8f7ed;color:#0a7d33;border:1px solid #bfe9cd;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}
.rv-form .f{display:block;margin:14px 0 5px;font-weight:700;font-size:14px}
.rv-form input[type=text],.rv-form input:not([type]),.rv-form textarea{width:100%;padding:11px 13px;border:1px solid #ddd;border-radius:10px;font:inherit}
.rv-form textarea{resize:vertical}
.rv-stars{display:flex;align-items:center;gap:4px}
.rv-stars button{background:none;border:0;padding:0 2px;font-size:34px;line-height:1;color:#f0a500;cursor:pointer}
.rv-stars .muted{margin-left:10px;font-size:14px}
.rv-thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.rv-thumbs span{position:relative}
.rv-thumbs img{width:68px;height:68px;object-fit:cover;border-radius:10px;border:1px solid #eee}
.rv-thumbs button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:#111;color:#fff;font-size:11px;cursor:pointer}
.rv-msg{min-height:20px;margin:12px 0 4px;color:#b3261e;font-size:13.5px}
.rv-done{text-align:center;padding:18px 0}
.rv-done-stars{font-size:34px;color:#f0a500;letter-spacing:3px}

/* Reviews on the product page */
.pdp-reviews{max-width:1380px;margin:40px auto;padding:0 3%}
.rv-summary{display:flex;gap:30px;flex-wrap:wrap;align-items:flex-start;border:1px solid #eee;border-radius:16px;padding:18px;background:#fff}
.rv-big{text-align:center;min-width:150px}
.rv-big b{display:block;font-size:40px;line-height:1.1}
.rv-big .rv-set{color:#f0a500;font-size:19px;letter-spacing:2px}
.rv-bars{flex:1;min-width:240px}
.rv-bar{display:flex;align-items:center;gap:9px;font-size:13px;margin:4px 0}
.rv-bar i{font-style:normal;width:34px;color:#666}
.rv-bar span{flex:1;height:8px;border-radius:999px;background:#f0eef1;overflow:hidden}
.rv-bar span b{display:block;height:100%;background:#f0a500;font-size:0}
.rv-bar em{font-style:normal;width:42px;text-align:right;color:#666}
.rv-sorts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}
.rv-sorts button{border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}
.rv-sorts button.on{border-color:#f41467;color:#f41467;font-weight:700}
.rv-list{display:grid;gap:14px}
.rv-card{border:1px solid #eee;border-radius:14px;padding:15px;background:#fff}
.rv-card .rv-set{color:#f0a500;letter-spacing:2px}
.rv-card h4{margin:6px 0 4px;font-size:16px}
.rv-card p{margin:0;line-height:1.6;white-space:pre-line}
.rv-who{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px;font-size:13px;color:#666}
.rv-tag{background:#e8f7ed;color:#0a7d33;border:1px solid #bfe9cd;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}
.rv-tag.plain{background:#f3f3f6;color:#5a5a66;border-color:#e2e2ea}
.rv-photos{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.rv-photos img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid #eee;cursor:zoom-in}
.rv-reply{margin-top:11px;padding:10px 12px;background:#fff6fa;border-left:3px solid #f41467;border-radius:0 10px 10px 0;font-size:13.5px}
.rv-reply b{display:block;margin-bottom:3px}
.rv-empty{border:1px dashed #e2d7dd;border-radius:14px;padding:22px;text-align:center;color:#666;background:#fffafc}
.rv-more{margin-top:14px;text-align:center}
@media(max-width:600px){.rv-big b{font-size:32px}.rv-summary{gap:16px;padding:14px}.rv-stars button{font-size:30px}}
.rv-warn{margin:8px 0 0;padding:10px 12px;background:#fff6e5;border:1px solid #f3d9a4;border-radius:10px;color:#8a5a00;font-size:13.5px;line-height:1.55}
.about-cta[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Announcement bar ---------- */
/* A single line above everything, in the brand gradient the topbar already uses. */
.announce-bar{background:linear-gradient(90deg,#f41467,#ff8a00);color:#fff}
.ab-in{max-width:1380px;margin:auto;padding:9px 3%;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:14px;position:relative}
.ab-whole{display:contents;color:inherit;text-decoration:none}
.ab-offer{background:#ffffff2e;border:1px solid #ffffff5c;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:800;letter-spacing:.03em}
.ab-text{font-weight:700}
.ab-sub{opacity:.92}
.ab-cta{background:#fff;color:#c20d53;text-decoration:none;font-weight:800;font-size:13px;border-radius:999px;padding:6px 15px;white-space:nowrap}
.ab-cta:hover{background:#fff4f8}
.ab-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:#ffffffc7;font-size:20px;line-height:1;cursor:pointer;padding:2px 6px}
.ab-close:hover{color:#fff}
@media(max-width:600px){
  .ab-in{padding:8px 34px 8px 12px;gap:7px;font-size:13px}
  .ab-sub{display:none}
  .ab-cta{padding:5px 12px;font-size:12.5px}
}

/* ---------- Each placement laid out for where it sits ---------- */
/* The hero runs edge to edge like a cover; the strips are slim; a mid-page pair sits side by side. */
.mb[data-place="homepage_hero"]{width:100%;max-width:none;margin:0 0 6px;border-radius:0;box-shadow:none}
.mb[data-place="homepage_middle"],.mb[data-place="homepage_bottom"]{margin:26px auto}
.mb[data-place="product_page"]{max-width:1380px;margin:26px auto 0}
.mb[data-place="category_top"]{margin:18px auto 26px}
@media(min-width:901px){
  /* Two mid-page banners read as a pair rather than a slideshow nobody waits through. */
  .mb[data-place="homepage_middle"].mb-pair,.mb[data-place="homepage_promo"].mb-pair{overflow:visible;background:none;box-shadow:none}
  .mb-pair .mb-track{gap:18px}
  .mb-pair .mb-slide{flex:0 0 calc(50% - 9px);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px #00000012}
  .mb-pair .mb-arrow,.mb-pair .mb-dots{display:none}
}

/* ---------- Collection pages ---------- */
.coll{max-width:1380px;margin:0 auto;padding:0 3% 60px}
.coll-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:6px 0 18px}
.coll-head h1{margin:0 0 4px;font-size:30px}
.coll-head .muted{margin:0;font-size:14px}
.coll-sort{display:flex;align-items:center;gap:8px;font-size:14px}
.coll-sort select{padding:9px 12px;border:1px solid #ddd;border-radius:10px;font:inherit;background:#fff}
.coll-body{display:grid;grid-template-columns:232px 1fr;gap:26px;align-items:start}
.coll-filters{position:sticky;top:14px;border:1px solid #eee;border-radius:14px;background:#fff;padding:14px}
.cf-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #eee;margin-bottom:6px}
.cf-clear{font-size:12.5px;color:#f41467;text-decoration:none;font-weight:700}
.cf-group{border-bottom:1px solid #f1f1f4;padding:9px 0}
.cf-group:last-child{border-bottom:0}
.cf-group summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none;padding:3px 0}
.cf-group summary::-webkit-details-marker{display:none}
.cf-group summary::after{content:"＋";float:right;color:#9a9aa6;font-weight:400}
.cf-group[open] summary::after{content:"－"}
.cf-list{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-height:252px;overflow:auto;scrollbar-width:thin}
.cf-opt{display:flex;align-items:center;gap:9px;padding:6px 4px;border-radius:8px;text-decoration:none;color:#333;font-size:13.5px}
.cf-opt:hover{background:#faf6f8}
.cf-opt em{margin-left:auto;font-style:normal;color:#9a9aa6;font-size:12px}
.cf-box{width:17px;height:17px;flex:0 0 17px;border:1px solid #ccc;border-radius:5px;display:grid;place-items:center;font-size:11px;color:#fff;background:#fff}
.cf-opt.on .cf-box{background:#f41467;border-color:#f41467}
.cf-opt.on{font-weight:700;color:#111}
.cf-toggle{display:none;width:100%;margin-bottom:14px;padding:11px;border:1px solid #ddd;border-radius:10px;background:#fff;font:inherit;font-weight:700;cursor:pointer}
.coll-empty{border:1px dashed #e2d7dd;border-radius:14px;padding:30px;text-align:center;background:#fffafc}
.coll-pages{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:26px;font-size:14px}
.coll-pages a{color:#f41467;text-decoration:none;font-weight:700}
.card-rating{font-size:13px;color:#8a6d00;font-weight:700;margin:2px 0}
.card-rating span{color:#999;font-weight:400}
.soldout-badge{position:absolute;top:10px;right:10px;background:#5a5a66;color:#fff;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}
@media(max-width:900px){
  .coll-body{grid-template-columns:1fr}
  .coll-filters{position:static;display:none}
  .coll-filters.open{display:block;margin-bottom:16px}
  .cf-toggle{display:block}
  .coll-head h1{font-size:23px}
}
.coll-blurb{margin:0 0 4px;color:#555;font-size:14.5px;max-width:62ch}
