.woocommerce ul.products[class*="columns-"], .woocommerce-page ul.products[class*="columns-"], ul.products.lovesilver-grid {
 display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:var(--sp-block) var(--sp-gap) !important; list-style:none; padding:0 !important; margin:0 !important;
}
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,ul.products li.product-card {
 float:none !important; clear:none !important; width:100% !important; min-width:0; margin:0 !important; padding:0; background:transparent; border:0; border-radius:0; display:block; position:relative;
}
ul.products li.product-card .media { position:relative; aspect-ratio:1; overflow:hidden; border-radius:var(--radius-lg); background:var(--c-surface); }
ul.products li.product-card .media-link { display:block; width:100%; height:100%; }
.woocommerce ul.products li.product .media img { width:100%; height:100%; object-fit:cover; margin:0; border-radius:0; transition:transform .25s ease; }
ul.products li.product-card .quick-add { position:absolute; inset:auto var(--sp-gap-xs) var(--sp-gap-xs); width:auto !important; min-height:var(--control-size); display:flex !important; align-items:center; justify-content:center; padding:var(--sp-gap-xs) !important; margin:0 !important; border:1px solid var(--c-text); border-radius:var(--radius-full) !important; background:var(--c-text) !important; color:#fff !important; text-decoration:none; font:var(--fw-ui) var(--fs-small)/var(--lh-small) var(--font-sans); opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .18s ease,transform .18s ease,background .18s ease; }
ul.products li.product-card:focus-within .quick-add,ul.products li.product-card.ls-actions-always .quick-add,ul.products li.product-card .quick-add.loading { opacity:1; pointer-events:auto; transform:none; }
@media(hover:hover) { ul.products li.product-card:hover .quick-add { opacity:1; pointer-events:auto; transform:none; } }
ul.products li.product-card .quick-add:hover { background:var(--c-brand-dark) !important; }
ul.products li.product-card .badge-sale { position:absolute; inset:var(--sp-gap-xs) var(--sp-gap-xs) auto auto; }
.woocommerce ul.products li.product .title,.woocommerce ul.products li.product .woocommerce-loop-product__title { display:block; font:var(--fw-ui) var(--fs-body)/1.42 var(--font-sans) !important; color:var(--c-text) !important; padding:0 !important; margin:var(--sp-gap-sm) 0 6px !important; text-decoration:none; overflow-wrap:anywhere; }
.woocommerce ul.products li.product .price { padding:0 !important; margin:0 0 6px !important; color:var(--c-sale) !important; font:400 var(--fs-body-lg)/var(--lh-small) var(--font-serif) !important; font-variant-numeric:tabular-nums; }
.woocommerce ul.products li.product .price del { font:400 var(--fs-small)/var(--lh-small) var(--font-sans); margin-right:6px; color:var(--c-text-2); }
.woocommerce ul.products li.product .price ins { color:var(--c-sale); background:none; text-decoration:none; }
ul.products li.product-card .saving { color:var(--c-text); font-size:var(--fs-small); margin-bottom:6px; }
ul.products li.product-card .rating { display:flex; gap:8px; align-items:center; font-size:var(--fs-small); color:var(--c-text-2); }
ul.products li.product-card .swatches { display:flex; gap:8px; margin-top:8px; }
ul.products li.product-card .swatch { width:16px; height:16px; border-radius:var(--radius-full); border:1px solid var(--c-border); }
ul.products li.product-card .added_to_cart { display:inline-flex; align-items:center; min-height:var(--control-size); font-size:var(--fs-small); margin-top:8px; }
.collection-head.collection-head--media { display:grid; grid-template-columns:1.02fr .98fr; gap:var(--sp-block); align-items:center; padding:var(--sp-gap) 0 var(--sp-block); }
.collection-head--media .body-lg { margin-top:var(--sp-gap-sm); font-size:var(--fs-body); color:var(--c-text-2); }
/* Covers arrive in mixed aspect ratios. Category covers and product photos read
 * best cropped to the box; the shop hero is a square model shot, so it uses
 * `contain` with a tinted backdrop to keep the subject whole. */
.collection-hero-media { background:var(--c-brand-tint); border-radius:var(--radius-lg); overflow:hidden; }
.collection-hero-media img { display:block; width:100%; max-height:340px; object-fit:cover; border-radius:var(--radius-lg); }
.collection-hero-media--contain { display:flex; align-items:center; justify-content:center; }
.collection-hero-media--contain img { object-fit:contain; }
.site-main .crumbs { padding-top:var(--sp-gap); }
.listing-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:var(--sp-block); padding:var(--sp-block) 0 var(--sp-section); align-items:start; }
.listing-main { min-width:0; }
.toolbar-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-gap-sm); padding-bottom:var(--sp-gap); border-bottom:var(--divider); }
.toolbar-inner .meta,.toolbar-inner .controls { display:flex; align-items:center; flex-wrap:wrap; gap:var(--sp-gap-sm); min-width:0; }
.toolbar-inner .meta { font-size:var(--fs-small); color:var(--c-text-2); }
.toolbar-inner .chip-group { display:flex; flex-wrap:wrap; gap:8px; }
.chip,.metal-pill,button.cgkit-swatch { display:inline-flex; align-items:center; justify-content:center; min-height:var(--control-size) !important; height:auto !important; padding:8px var(--sp-gap-sm) !important; font:var(--fw-ui) var(--fs-small)/var(--lh-small) var(--font-sans) !important; background:#fff !important; color:var(--c-text) !important; border:1px solid var(--c-border) !important; border-radius:var(--radius-full); text-decoration:none; transition:background .18s ease,color .18s ease,border-color .18s ease; }
:is(.chip,.metal-pill):hover,button.cgkit-swatch:hover { border-color:var(--c-brand-dark) !important; }
.chip.active,.metal-pill.active,button.cgkit-swatch.selected,button.cgkit-swatch.cgkit-swatch-selected,button.cgkit-swatch[aria-pressed="true"],button.cgkit-swatch[aria-checked="true"] { background:var(--c-text) !important; border-color:var(--c-text) !important; color:#fff !important; }
button.cgkit-swatch:disabled,button.cgkit-swatch.disabled { opacity:.45; cursor:not-allowed; }
.sort-select { max-width:100%; min-height:var(--control-size); padding:8px var(--sp-gap-sm); border:1px solid var(--c-border); border-radius:var(--radius-full); background:#fff; color:var(--c-text); font:inherit; }
.filter-toggle { display:none; }
.filter-panel-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-gap-xs); }
.filter-panel .filter-group { padding:var(--sp-gap) 0; border:0; border-bottom:var(--divider); min-width:0; margin:0; }
.filter-panel legend { font:500 var(--fs-body)/var(--lh-small) var(--font-sans); }
.filter-panel .check-list { list-style:none; margin:0; padding:0; }
.filter-panel .check-list a { display:flex; align-items:center; gap:8px; min-height:var(--control-size); color:var(--c-text-2); font-size:var(--fs-small); text-decoration:none; }
.filter-panel .check-list a:hover { color:var(--c-brand-dark); }
.filter-panel .check-list a.is-active { color:var(--c-brand-dark); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.filter-panel .check-list .count { margin-left:auto; }
.filter-panel .filter-reset { margin-top:var(--sp-gap); }
.filter-close { min-width:var(--control-size); min-height:var(--control-size); border:1px solid var(--c-border); border-radius:var(--radius-full); background:#fff; color:var(--c-text); font-size:var(--fs-h3); }
.no-products { padding:var(--sp-block); background:var(--c-brand-tint); border-radius:var(--radius-md); }
.ls-product-search { display:flex; gap:var(--sp-gap-xs); margin-top:var(--sp-gap); }
.ls-product-search input { min-width:0; flex:1; }
.pdp-columns { display:grid; grid-template-columns:1.2fr 1fr; align-items:start; gap:64px; padding-block:var(--sp-block) var(--sp-section); }
.pdp-columns > * { min-width:0; }
.pdp-page .pdp-columns > .pdp-info.summary { float:none; width:auto; margin:0; }
.pdp-columns > .ls-product-gallery-area { min-width:0; }
.pdp-info > * + * { margin-top:var(--sp-gap-sm); }
.pdp-info h1 { font-size:clamp(30px,3vw,var(--fs-display-2)); line-height:var(--lh-heading); overflow-wrap:anywhere; }
.pdp-info .pdp-subline { color:var(--c-text-2); line-height:var(--lh-body); }
.pdp-info .rating { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:var(--fs-small); color:var(--c-text-2); }
.pdp-info .price-row { margin-block:var(--sp-gap); font:400 var(--fs-h2)/var(--lh-heading) var(--font-serif); color:var(--c-sale); }
.pdp-info .price-row del { font:400 var(--fs-body-lg)/var(--lh-small) var(--font-sans); margin-right:8px; }
.pdp-info .price-row ins { background:none; text-decoration:none; }
.pdp-info table.variations,.pdp-info table.variations tbody,.pdp-info table.variations tr,.pdp-info table.variations th.label,.pdp-info table.variations td.value { display:block; width:auto; padding:0; margin:0; text-align:left; }
.pdp-info table.variations { flex:1 1 100%; }
.pdp-info table.variations th.label { margin-bottom:8px; font-size:var(--fs-small); font-weight:500; }
.pdp-info table.variations td.value { margin-bottom:var(--sp-gap-sm); }
.pdp-info .cgkit-chosen-attribute { color:var(--c-text-2); }
.pdp-info .cgkit-attribute-swatches { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; }
.pdp-info .cgkit-attribute-swatch { list-style:none; margin:0 !important; }
.pdp-info .reset_variations { display:inline-flex; align-items:center; min-height:var(--control-size); font-size:var(--fs-small); }
.pdp-info form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-gap-sm); margin:0; }
.pdp-info form.cart .single_variation_wrap { width:100%; }
.pdp-info .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-gap-sm); }
.pdp-info .quantity { display:inline-flex; margin:0 !important; }
.pdp-info .quantity input.qty { width:72px; text-align:center; }
.pdp-info .single_add_to_cart_button { min-height:var(--control-size); flex:1 1 180px; }
.pdp-info .ls-price-synchronised .woocommerce-variation-price { display:none; }
.pdp-info .woocommerce-variation-price .price { font:400 var(--fs-h2)/var(--lh-heading) var(--font-serif); color:var(--c-sale); }
.pdp-info .woocommerce-variation-availability { color:var(--c-text-2); font-size:var(--fs-small); margin-bottom:var(--sp-gap-sm); }
.ls-delivery-box { padding:var(--sp-gap); border-radius:var(--radius-md); background:var(--c-brand-tint); font-size:var(--fs-small); line-height:var(--lh-body); }
.ls-delivery-ship-to { margin:0 0 12px; font-weight:600; color:var(--c-text); }
.ls-delivery-calc { display:flex; align-items:center; gap:10px; }
.ls-calc-item { display:flex; flex:1 1 0; align-items:center; gap:8px; min-width:0; }
.ls-calc-icon { flex:none; width:22px; height:22px; color:var(--c-brand-dark); }
.ls-calc-icon svg { display:block; width:100%; height:100%; }
.ls-calc-text { display:flex; flex-direction:column; min-width:0; }
.ls-calc-label { font-size:var(--fs-eyebrow); line-height:1.2; color:var(--c-text-2); }
.ls-calc-line { align-self:stretch; margin:3px 0; border-top:1px dashed var(--c-text-3); }
.ls-calc-value { font-size:var(--fs-small); line-height:1.3; font-weight:600; color:var(--c-text); }
.ls-calc-operator { flex:none; font-size:var(--fs-body); font-weight:700; color:var(--c-brand-dark); }
.ls-delivery-links { margin:12px 0 0; color:var(--c-text-2); }
.ls-delivery-links a { color:var(--c-brand-dark); text-decoration:underline; text-underline-offset:2px; }
@media (max-width:1080px) {
  .ls-delivery-calc { flex-direction:column; align-items:stretch; gap:8px; }
  .ls-calc-item { flex:none; }
  .ls-calc-operator { align-self:center; }
}
.gallery-main { cursor:zoom-in; }
.gallery-main img { transition:transform .25s ease; }
.gallery-thumbs .thumb { flex-shrink:0; transition:border-color .18s ease; }
.gallery-thumbs .thumb img { width:100%; height:100%; object-fit:cover; }
.ls-lightbox { position:fixed; inset:0; z-index:var(--z-dialog); display:grid; place-items:center; padding:var(--sp-gap); background:rgba(18,18,20,.92); }
.ls-lightbox img { max-width:100%; max-height:calc(100dvh - 2 * var(--control-size)); object-fit:contain; border-radius:var(--radius-sm); }
.ls-lightbox-close { position:absolute; top:var(--sp-gap-sm); right:var(--sp-gap-sm); width:var(--control-size); height:var(--control-size); display:grid; place-items:center; border:1px solid var(--c-border); border-radius:var(--radius-full); background:#fff; color:var(--c-text); cursor:pointer; }
.woocommerce .product .woocommerce-tabs ul.tabs,.pdp-tabs-wrap .woocommerce-tabs ul.tabs { display:flex; flex-wrap:nowrap; gap:var(--sp-gap); overflow-x:auto; scrollbar-width:thin; margin:0 0 var(--sp-block); padding:0; border-bottom:var(--divider); list-style:none; }
.woocommerce .product .woocommerce-tabs ul.tabs::before,.woocommerce .product .woocommerce-tabs ul.tabs li::before,.woocommerce .product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce .product .woocommerce-tabs ul.tabs li { flex:none; border:0; border-radius:0; padding:0; margin:0; background:transparent; }
.woocommerce .product .woocommerce-tabs ul.tabs li a { display:inline-flex; align-items:center; min-height:var(--control-size); padding:12px 2px; font:500 var(--fs-body)/var(--lh-small) var(--font-sans); color:var(--c-text-2); text-decoration:none; border-bottom:2px solid transparent; box-shadow:none; }
.woocommerce .product .woocommerce-tabs ul.tabs li.active a,.woocommerce .product .woocommerce-tabs ul.tabs a[aria-selected="true"] { color:var(--c-text); border-bottom-color:var(--c-brand-dark); }
.woocommerce .product .woocommerce-tabs ul.tabs a:hover { color:var(--c-brand-dark); }
.woocommerce .product .woocommerce-tabs ul.tabs a:focus-visible { outline-offset:-3px; }
.pdp-tabs-wrap .woocommerce-Tabs-panel { padding:0 0 var(--sp-block); margin:0; overflow-wrap:anywhere; }
.pdp-tabs-wrap .woocommerce-Tabs-panel > * { max-width:760px; }
.pdp-tabs-wrap .woocommerce-Tabs-panel h2 { font-size:var(--fs-h2); margin:0 0 var(--sp-gap); }
.pdp-tabs-wrap .woocommerce-Tabs-panel h3 { font-size:var(--fs-h3); margin:var(--sp-block) 0 var(--sp-gap-xs); }
.pdp-tabs-wrap .woocommerce-Tabs-panel p,.pdp-tabs-wrap .woocommerce-Tabs-panel li { color:var(--c-text-2); font-size:var(--fs-body-lg); line-height:1.7; }
.pdp-tabs-wrap .woocommerce-Tabs-panel p { margin-bottom:var(--sp-gap-sm); }
.pdp-tabs-wrap .woocommerce-Tabs-panel img { max-width:100%; height:auto; }
.pdp-tabs-wrap table.shop_attributes { border:1px solid var(--c-border); border-collapse:collapse; width:100%; max-width:100%; }
.pdp-tabs-wrap table.shop_attributes th,.pdp-tabs-wrap table.shop_attributes td { padding:var(--sp-gap-sm); border-bottom:var(--divider); text-align:left; font-size:var(--fs-small); background:transparent; }
.pdp-tabs-wrap table.shop_attributes td p { font-size:var(--fs-small); margin:0; }
.pdp-tabs-wrap .related.products > h2,.pdp-tabs-wrap .upsells.products > h2 { margin:var(--sp-section-tight) 0 var(--sp-block); font-size:var(--fs-h2); }
.pdp-tabs-wrap .related.products { padding-bottom:var(--sp-section); }
@media(min-width:901px) { .filter-close { display:none; } }
@media(max-width:1024px) { .woocommerce ul.products[class*="columns-"],.woocommerce-page ul.products[class*="columns-"],ul.products.lovesilver-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }  }
@media(max-width:960px) { .pdp-columns { grid-template-columns:1fr; gap:var(--sp-block); padding-block:var(--sp-gap) var(--sp-section); } }
@media(max-width:900px) {
 .collection-head.collection-head--media { grid-template-columns:1fr; gap:var(--sp-gap); }
 .collection-hero-media img { max-height:240px; }
 .listing-layout { grid-template-columns:minmax(0,1fr); gap:var(--sp-gap); }
 .toolbar-inner .controls { width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,150px); gap:var(--sp-gap-xs); align-items:start; }
 /* Chips wrap onto extra rows instead of scrolling sideways: nothing is cut
    off, no scrollbar, and every quick filter stays reachable on a phone. */
 .toolbar-inner .chip-group { min-width:0; display:flex; flex-wrap:wrap; overflow:visible; padding-bottom:0; }
 .toolbar-inner .chip-group .chip { flex-shrink:0; white-space:nowrap; }
 .toolbar-inner .sort-select { width:100%; min-width:0; font-size:var(--fs-small); }
 .filter-toggle { display:inline-flex; align-items:center; gap:8px; min-height:var(--control-size); padding:8px var(--sp-gap-sm); border:1px solid var(--c-border); border-radius:var(--radius-full); background:#fff; color:var(--c-text); }
 .filter-panel { position:fixed; top:0; left:0; z-index:var(--z-drawer); width:min(85vw,340px); height:100dvh; padding:var(--sp-gap); overflow-y:auto; background:#fff; transform:translateX(-100%); visibility:hidden; transition:transform .18s ease; }
 .filter-panel .filter-close { display:inline-flex; align-items:center; justify-content:center; }
 .filter-panel.open { transform:none; visibility:visible; box-shadow:var(--shadow-float); }
 .pdp-page .gallery { grid-template-columns:minmax(0,1fr); gap:var(--sp-gap-sm); min-width:0; }
 .pdp-page .gallery-main { grid-row:1; }
 .pdp-page .gallery-thumbs { grid-row:2; display:flex; flex-direction:row; gap:var(--sp-gap-xs); overflow-x:auto; padding:4px; min-width:0; }
 .pdp-page .gallery-thumbs .thumb { flex:0 0 64px; width:64px; height:64px; }
}

/* Phone PDP: cap the gallery so the title, price and Add to Bag all reach the
 * first screen. A full-width square photo pushed the price ~1120px down, which
 * is below the fold on a 844px-tall viewport. */
@media(max-width:640px) {
 .pdp-page .pdp-columns { gap:var(--sp-gap-sm); padding-block:8px var(--sp-section); }
 .pdp-page .gallery-main img { max-height:min(52vh, 340px); width:100%; object-fit:contain; }
 .pdp-page .gallery-thumbs .thumb { flex:0 0 52px; width:52px; height:52px; }
 .pdp-page .bread.container { padding-top:8px; }
 .pdp-page .pdp-info h1 { font-size:var(--fs-h3); line-height:1.25; }
}
@media(max-width:560px) { .woocommerce ul.products[class*="columns-"],.woocommerce-page ul.products[class*="columns-"],ul.products.lovesilver-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .ls-product-search { flex-wrap:wrap; } .ls-product-search input { flex-basis:100%; } .ls-product-search button { width:100%; } }
@media(hover:hover) and (pointer:fine) { ul.products li.product-card .media:hover img { transform:scale(1.035); } }
@media(prefers-reduced-motion:reduce) { .gallery-main img,.gallery-thumbs .thumb,.quick-add,.filter-panel,.chip,button.cgkit-swatch { transition:none !important; } }
.toolbar-inner .chip-group { background:transparent; border-radius:0; padding:0; gap:8px; }
.toolbar-inner .chip-group .chip { border:1px solid var(--c-border) !important; background:#fff !important; box-shadow:none; }
.toolbar-inner .chip-group .chip.active { border-color:var(--c-text) !important; background:var(--c-text) !important; color:#fff !important; box-shadow:none; }
.filter-panel { padding:var(--sp-gap-sm); border:var(--divider); border-radius:var(--radius-lg); background:#fff; }
.filter-panel-head { padding:0 0 var(--sp-gap-sm); margin:0; border-bottom:var(--divider); }
.filter-panel .filter-group { padding:var(--sp-gap-sm) 0; }
.filter-panel .filter-group legend { margin:0 0 var(--sp-gap-xs); padding:0; }
.filter-panel .check-list li { display:block; margin:0; padding:0; }
.filter-panel .check-list a { min-height:var(--control-size); padding:8px 10px; border-radius:var(--radius-sm); gap:10px; line-height:1.35; }
.filter-panel .check-list a.is-active { background:var(--c-brand-tint); color:var(--c-text); text-decoration:none; box-shadow:inset 3px 0 var(--c-brand-dark); }
.filter-panel .check-list a.is-active::after { content:'✓'; margin-left:auto; color:var(--c-brand-dark); font-weight:700; }
.active-filter-list { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:var(--sp-gap-xs) 0; font-size:var(--fs-small); color:var(--c-text-2); }
.active-filter-list a { display:inline-flex; align-items:center; min-height:36px; gap:8px; padding:4px 12px; border:1px solid var(--c-border); border-radius:var(--radius-full); background:var(--c-brand-tint); color:var(--c-text); text-decoration:none; }
.active-filter-list a:hover { border-color:var(--c-brand-dark); }
.active-filter-list a.clear { background:transparent; text-decoration:underline; border-color:transparent; }
.pdp-page .bread.container { display:flex; flex-wrap:wrap; align-items:center; gap:8px; max-width:var(--container); margin:0 auto; padding:var(--sp-gap) 24px 0; text-transform:none; letter-spacing:0; font-size:var(--fs-small); font-weight:400; }
.pdp-page .bread [aria-current="page"] { color:var(--c-text); }
.pdp-page .bread > span[aria-hidden] { color:var(--c-text-2); }
.pdp-info table.variations tr { padding:0 0 var(--sp-gap-sm); }
.pdp-info table.variations select { width:min(100%,380px); min-height:var(--control-size); padding:10px 14px; border:1px solid var(--c-border); border-radius:var(--radius-sm); background:#fff; color:var(--c-text); font:inherit; }
.pdp-page .pdp-columns .pdp-info form.cart table.variations select { box-sizing:border-box; min-width:0; max-width:100%; margin:0; }
.pdp-info table.variations tr.is-selected select { border-color:var(--c-brand-dark); background:var(--c-brand-tint); box-shadow:0 0 0 2px var(--c-brand-tint); }
.pdp-info table.variations tr.is-selected .cgkit-chosen-attribute { color:var(--c-text); font-weight:700; }
.pdp-info .ls-selected-options { font-size:var(--fs-small); }
button.cgkit-swatch[aria-pressed="true"]::after { content:"✓"; margin-left:8px; font-weight:700; }
@media(max-width:900px) { .filter-panel { border:0; border-radius:0; } .pdp-page .bread.container { padding-inline:var(--sp-gap-sm); } }
.gallery.is-loading .gallery-main::after { content:''; position:absolute; inset:auto 16px 16px auto; width:18px; height:18px; border:2px solid var(--c-border); border-top-color:var(--c-brand-dark); border-radius:50%; animation:ls-spin .65s linear infinite; }
@keyframes ls-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .gallery.is-loading .gallery-main::after { animation:none; } }
.ls-cart-backdrop:not([hidden]) { position:fixed; inset:0; z-index:calc(var(--z-dialog) - 1); background:var(--c-scrim); }
.ls-cart-drawer { position:fixed; inset:0 0 0 auto; z-index:var(--z-dialog); width:min(420px,100vw); height:100dvh; display:flex; flex-direction:column; padding:var(--sp-gap); background:#fff; box-shadow:var(--shadow-float); transform:translateX(105%); visibility:hidden; transition:transform .22s ease; }
.ls-cart-drawer.open { transform:none; visibility:visible; }
.ls-cart-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-gap); padding-bottom:var(--sp-gap-sm); border-bottom:var(--divider); }
.ls-cart-drawer-head h2 { margin:0; font:400 var(--fs-h2)/var(--lh-heading) var(--font-serif); }
.ls-cart-drawer-close { display:grid; place-items:center; width:var(--control-size); height:var(--control-size); border:1px solid var(--c-border); border-radius:50%; background:#fff; color:var(--c-text); font-size:26px; cursor:pointer; }
.ls-cart-drawer-content { flex:1; min-height:0; overflow-y:auto; padding-top:var(--sp-gap-sm); }
.ls-cart-drawer .woocommerce-mini-cart { list-style:none; padding:0; margin:0; }
.ls-cart-drawer .woocommerce-mini-cart-item { display:grid; grid-template-columns:minmax(0,1fr) var(--control-size); gap:6px 8px; align-items:start; padding:var(--sp-gap-sm) 0; border-bottom:var(--divider); }
.ls-cart-drawer .woocommerce-mini-cart-item img { float:none !important; width:64px !important; height:64px !important; margin:0 !important; object-fit:cover; border-radius:var(--radius-sm); }
.ls-cart-drawer .woocommerce-mini-cart-item a { color:var(--c-text); text-decoration:none; }
.ls-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) { grid-column:1; grid-row:1; display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; font-weight:500; line-height:1.4; }
.ls-cart-drawer .woocommerce-mini-cart-item > :is(.quantity,.variation) { grid-column:1; padding-left:76px; font-size:var(--fs-small); }
.ls-cart-drawer .woocommerce-mini-cart-item a.remove { grid-column:2; grid-row:1; display:flex; align-items:center; justify-content:center; width:var(--control-size); height:var(--control-size); background:transparent !important; color:var(--c-text-2) !important; font-size:24px; }
.ls-cart-drawer .woocommerce-mini-cart__total { padding:var(--sp-gap-sm) 0; border-bottom:var(--divider); }
.ls-cart-drawer .woocommerce-mini-cart__buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:var(--sp-gap-sm); padding-top:0; }
.ls-cart-drawer .woocommerce-mini-cart__buttons a { display:inline-flex; align-items:center; justify-content:center; flex:1; min-height:var(--control-size); padding:8px 12px; border:1px solid var(--c-text); border-radius:var(--radius-full); text-decoration:none; text-align:center; background:#fff !important; color:var(--c-text) !important; }
.ls-cart-drawer .woocommerce-mini-cart__buttons a.checkout { background:var(--c-text) !important; color:#fff !important; }
@media(prefers-reduced-motion:reduce) { .ls-cart-drawer { transition:none; } }

.ls-cart-drawer .mini_cart_item dl.variation { display:flex; flex-wrap:wrap; gap:4px; border:0 !important; margin:0 !important; padding-left:76px !important; color:var(--c-text-2); }
.ls-cart-drawer .mini_cart_item dl.variation :is(dt,dd) { float:none; margin:0; padding:0; font-size:var(--fs-small); }
.ls-cart-drawer .mini_cart_item dl.variation p { margin:0; }

.pdp-info button.cgkit-swatch :is(span,b,strong) { font-family:inherit !important; font-size:inherit !important; font-weight:inherit !important; }

@media(max-width:900px) {
 .toolbar-inner .controls { grid-template-columns:minmax(0,1fr) 160px; }
 .toolbar-inner .chip-group { padding-block:0; }
}

.pdp-info .product_meta { display:grid; gap:var(--sp-gap-xs); padding-top:var(--sp-gap-sm); border-top:var(--divider); color:var(--c-text-2); font:400 var(--fs-small)/var(--lh-body) var(--font-sans); }
.pdp-info .product_meta a { color:var(--c-brand-dark); text-underline-offset:3px; }
.pdp-info .product_meta .sku { color:var(--c-text); }
.pdp-info .woocommerce-product-details__short-description { color:var(--c-text-2); font-size:var(--fs-body); line-height:var(--lh-body); }
.pdp-info .woocommerce-product-details__short-description > :last-child { margin-bottom:0; }
.pdp-info .woocommerce-product-details__short-description :is(ul,ol) { padding-inline-start:1.4em; }
.pdp-info .woocommerce-product-sharing { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-gap-xs); padding-block:var(--sp-gap-sm); font:400 var(--fs-small)/var(--lh-body) var(--font-sans); }
.pdp-info .woocommerce-product-sharing > a { display:inline-flex; align-items:center; justify-content:center; min-width:var(--control-size); min-height:var(--control-size); border:1px solid var(--c-border); border-radius:var(--radius-full); color:var(--c-text); }
ul.products li.product-card .woocommerce-loop-product__link { text-decoration:none; }

.pdp-tabs-wrap #reviews :is(.woocommerce-Reviews-title,.comment-reply-title) { display:block; font-family:var(--font-serif); font-size:var(--fs-h3); font-weight:400; line-height:1.3; margin:0 0 var(--sp-gap-sm); }
.pdp-tabs-wrap #reviews :is(.comment-text,.description,.comment-notes,.comment-form-comment,.comment-form-rating,.comment-form-author,.comment-form-email,.comment-form-cookies-consent) { font-size:var(--fs-body); line-height:var(--lh-body); }
.pdp-tabs-wrap #reviews :is(.comment-text p,.comment-text .meta) { font-size:var(--fs-small); line-height:var(--lh-body); }
.pdp-tabs-wrap #reviews :is(label,.comment-form-rating label) { font-family:var(--font-sans); font-size:var(--fs-small); font-weight:500; }
.pdp-tabs-wrap #reviews :is(input[type="text"],input[type="email"],textarea) { box-sizing:border-box; max-width:100%; padding:var(--sp-gap-xs); border:1px solid var(--c-border); border-radius:var(--radius-sm); background:#fff; color:var(--c-text); font:inherit; }
.pdp-tabs-wrap #reviews :is(input,textarea):focus-visible { outline:2px solid var(--c-brand-dark); outline-offset:2px; }
.pdp-tabs-wrap table.woocommerce-product-attributes :is(th,td) { font-family:var(--font-sans); font-size:var(--fs-small); line-height:var(--lh-body); }
.pdp-info .customizen-variant-options .customizen-label { font-family:var(--font-sans); font-size:var(--fs-body); }
.pdp-info .customizen-variant-options .customizen-choice-buttons > button.customizen-choice[role="radio"] { display:inline-flex; align-items:center; justify-content:center; min-height:var(--control-size) !important; padding:8px var(--sp-gap-sm) !important; border-radius:var(--radius-full) !important; font-family:var(--font-sans) !important; font-size:var(--fs-small) !important; font-weight:var(--fw-ui) !important; line-height:var(--lh-small) !important; }
.pdp-info .customizen-variant-options .customizen-choice-buttons:not([aria-invalid="true"]) > button.customizen-choice[role="radio"]:not(:disabled):not([aria-disabled="true"]) { background:#fff !important; color:var(--c-text) !important; border:1px solid var(--c-border) !important; }
.pdp-info .customizen-variant-options .customizen-choice-buttons:not([aria-invalid="true"]) > button.customizen-choice[role="radio"][aria-checked="true"]:not(:disabled):not([aria-disabled="true"]) { background:var(--c-text) !important; color:#fff !important; border-color:var(--c-text) !important; }
.pdp-info .customizen-variant-options .customizen-choice-buttons > button.customizen-choice[role="radio"] :is(.customizen-option-text,.customizen-option-text span) { font:inherit !important; color:inherit !important; }
.pdp-tabs-wrap .woocommerce-Tabs-panel :where(ul:not(.tabs):not(.products):not(.commentlist):not(.children),ol:not(.commentlist)) { padding-inline-start:1.4em; margin-block:0 var(--sp-gap-sm); }
.pdp-tabs-wrap .woocommerce-Tabs-panel :where(ul:not(.tabs):not(.products):not(.commentlist):not(.children) > li,ol:not(.commentlist) > li) { margin-block:0 var(--sp-gap-xs); }
:is(.pdp-page,.cart-page,.checkout-page,.account-page) .wc-block-components-notice-banner { font-family:var(--font-sans); font-size:var(--fs-body); line-height:var(--lh-body); }
@media(max-width:600px) { .pdp-info .h-1 { font-size:calc(var(--fs-h2) * .75); } }

@keyframes ls-cart-bump {
	0% { transform: scale(1); }
	35% { transform: scale(1.35); }
	70% { transform: scale(0.92); }
	100% { transform: scale(1); }
}
@keyframes ls-cart-wiggle {
	0%, 100% { transform: rotate(0); }
	25% { transform: rotate(-8deg); }
	75% { transform: rotate(8deg); }
}
.ls-cart-count.is-bump { animation: ls-cart-bump .55s cubic-bezier(.2,.8,.2,1); }
.ls-cart-link.is-bump svg { animation: ls-cart-wiggle .5s ease; transform-origin: 50% 50%; }
@media (prefers-reduced-motion: reduce) {
	.ls-cart-count.is-bump,
	.ls-cart-link.is-bump svg { animation: none; }
}

/* WCAG 2.2 AA (2.5.8) target size: the customizer's "I confirm the spelling"
 * checkbox rendered 13x13px because the plugin ships a bare input. Grow the
 * control to the 24px minimum and give the label a matching tap area. */
.customizen-boolean-checkbox { display:flex; align-items:flex-start; gap:10px; min-height:var(--control-size); padding:10px 0; line-height:var(--lh-body); cursor:pointer; }
.customizen-boolean-checkbox > input[type="checkbox"] { flex:0 0 auto; width:24px; height:24px; margin:2px 0 0; accent-color:var(--c-brand-dark); cursor:pointer; }
.customizen-boolean-checkbox > input[type="checkbox"]:focus-visible { outline:2px solid var(--c-brand-dark); outline-offset:2px; }

/* Classic WooCommerce checkout controls (checkbox/radio) ship with the browser
 * default accent, which painted the "Ship to a different address" toggle purple
 * from WC's --wc-primary default. Brand-tint them and lift the 13px control to
 * the WCAG 2.2 target size. */
.woocommerce form .form-row .input-checkbox,
.woocommerce-form__input-checkbox,
.woocommerce form .woocommerce-form__input-checkbox {
	width:20px; height:20px;
	margin:0 8px 0 0;
	vertical-align:-4px;
	accent-color:var(--c-text);
	cursor:pointer;
}
.woocommerce-form__label-for-checkbox { display:inline-flex; align-items:center; min-height:28px; gap:2px; cursor:pointer; }
.woocommerce-form__label-for-checkbox:focus-within { outline:2px solid var(--c-brand-dark); outline-offset:3px; border-radius:var(--radius-xs); }

/* Empty-cart mark: WooCommerce draws a generic plastic-bag mask in near-black.
 * Swap it for a jewelry-friendly shopping bag outline in the brand tone and
 * drop the heavy 30px gap so the empty state sits with the page rhythm. */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8h15l-1.1 11.2a2 2 0 0 1-2 1.8H7.6a2 2 0 0 1-2-1.8L4.5 8Z'/%3E%3Cpath d='M8.8 10.5V6.7a3.2 3.2 0 0 1 6.4 0v3.8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8h15l-1.1 11.2a2 2 0 0 1-2 1.8H7.6a2 2 0 0 1-2-1.8L4.5 8Z'/%3E%3Cpath d='M8.8 10.5V6.7a3.2 3.2 0 0 1 6.4 0v3.8'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: var(--c-brand-dark) !important;
	width: 56px;
	height: 56px;
	margin: 0 auto 20px !important;
}
