/* Catalog, purchase flow and WooCommerce's public classic markup. No old-theme overrides. */
.spc-site .spc-product .spc-product-summary form.spc-purchase-form { margin: 0; }
.spc-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-block:20px 24px; color:var(--spc-muted); font-size:13px; line-height:1.8; }
.spc-breadcrumb a { text-decoration:none; }
.spc-breadcrumb a:hover { color:var(--spc-blue); }
.spc-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.spc-product-card { --card-bg:var(--spc-blush); display:flex; flex-direction:column; min-inline-size:0; }
.spc-tone-blue { --card-bg:#e9edff; }
.spc-tone-green { --card-bg:#e8ede7; }
.spc-product-card__media { position:relative; display:block; aspect-ratio:1.08; overflow:hidden; border-radius:18px; background:var(--card-bg); }
.spc-product-card__media > img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
@media(hover:hover) { .spc-product-card__media:hover > img { transform:scale(1.035); } }
.spc-card-arrow { position:absolute; inset-inline-end:16px; inset-block-end:16px; display:grid; place-items:center; width:42px; height:42px; background:var(--spc-white); border-radius:50%; box-shadow:0 3px 12px #02043f0c; }
.spc-badge { position:absolute; inset-block-start:16px; inset-inline-start:16px; background:var(--spc-navy); color:white; border-radius:30px; padding:7px 13px; font-size:13px; font-weight:500; line-height:1.5; }
.spc-badge--stock { background:#54505d; }
.spc-product-card__body { display:flex; flex:1; flex-direction:column; padding:20px 2px 0; }
.spc-product-card h3 { font-size:23px; line-height:1.5; font-weight:600; margin:0 0 7px; }
.spc-product-card h3 a { text-decoration:none; }
.spc-product-card h3 a:hover { color:var(--spc-blue); }
.spc-product-card__brief { color:var(--spc-muted); font-size:15px; margin:0 0 8px; min-height:48px; }
.spc-card-swatches { display:flex; flex-wrap:wrap; align-items:center; margin-inline-start:-7px; margin-block:0 6px; min-height:44px; gap:0; }
.spc-color-link { display:grid; place-items:center; width:42px; height:44px; border-radius:9px; }
.spc-color-link span { width:24px; height:24px; border-radius:50%; background:var(--swatch); border:1px solid #02043f33; box-shadow:0 0 0 3px white; }
.spc-color-link:hover span { box-shadow:0 0 0 3px white, 0 0 0 4px var(--spc-navy); }
.spc-swatches-caption { color:var(--spc-muted); font-size:12px; margin-inline-start:6px; }
.spc-card-price-row { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-block:8px 16px; margin-block-start:auto; padding-block-start:10px; }
.spc-price { font-size:22px; font-weight:600; }
.spc-price del, .spc-product-price del { color:var(--spc-muted); font-size:.72em; font-weight:400; margin-inline-end:7px; }
.spc-price ins, .spc-product-price ins { background:none; text-decoration:none; }
.spc-separate { font-size:13px; color:var(--spc-muted); }
.spc-card-form { margin:0; }
.spc-form-status { margin-block-start:10px; font-size:14px; color:var(--spc-royal); line-height:1.75; }
.spc-form-status:empty { display:none; }
.spc-form-status.is-error { color:#a21729; }
.spc-card-form .spc-form-status { margin-block-end:0; }
.spc-product-card--bundle { display:grid; grid-template-columns:1fr 1.02fr; gap:24px; background:var(--spc-white); border:1px solid var(--spc-line); border-radius:18px; padding:18px; }
.spc-product-card--bundle .spc-product-card__media { aspect-ratio:auto; min-height:280px; border-radius:12px; }
.spc-product-card--bundle .spc-product-card__body { padding:5px 0; }
.spc-product-card--bundle h3 { font-size:22px; }
.spc-product-card--bundle .spc-product-card__brief { min-height:0; font-size:14px; }
.spc-bundle-parts { list-style:none; padding:0; margin:8px 0 12px; font-size:13px; }
.spc-bundle-parts li { display:flex; align-items:center; gap:6px; }
.spc-bundle-parts li + li { margin-block-start:7px; }
.spc-bundle-parts .spc-icon { flex-basis:18px; width:18px; height:18px; color:var(--spc-royal); }
.spc-product-card--bundle .spc-card-price-row { gap:4px; }
.spc-product-card--bundle .spc-badge { inset:10px 10px auto auto; font-size:12px; padding:6px 10px; }
.spc-product-card--bundle .spc-card-arrow { display:none; }
.spc-collection-nav { display:flex; flex-wrap:wrap; gap:10px; margin-block:20px 32px; }
.spc-collection-nav a { border:1px solid var(--spc-line); border-radius:30px; padding:10px 22px; text-decoration:none; font-size:15px; min-height:46px; }
.spc-collection-nav a[aria-current], .spc-collection-nav a:hover { background:var(--spc-navy); color:white; border-color:var(--spc-navy); }
.spc-catalog-heading { margin-block:36px 24px; }
.spc-catalog-heading h2 { font-size:28px; }
.spc-catalog-group + .spc-catalog-group { margin-block-start:48px; }
.spc-catalog-group > h2 { margin-block-end:24px; font-size:28px; }
.spc-site .page-numbers { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; list-style:none; padding:0; margin-block:36px 0; }
.spc-site a.page-numbers, .spc-site span.page-numbers { min-height:44px; min-width:44px; padding:8px; margin:0; border:1px solid var(--spc-line); border-radius:8px; }
.spc-site .page-numbers.current { color:white; background:var(--spc-blue); }
/* Product detail: balanced columns, radio options and touch-sized controls. */
.spc-product-top { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; align-items:start; }
.spc-gallery { min-width:0; position:sticky; top:110px; }
.spc-gallery__main { position:relative; display:block; aspect-ratio:1.04; background:var(--spc-blush); border-radius:20px; overflow:hidden; }
.spc-gallery__image { width:100%; height:100%; object-fit:contain; }
.spc-gallery__zoom { position:absolute; inset-block-end:16px; inset-inline-end:16px; display:grid; place-items:center; width:44px; height:44px; background:white; border:1px solid var(--spc-line); border-radius:50%; }
.spc-gallery__thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-block-start:14px; }
.spc-gallery__thumb { display:block; min-width:0; padding:3px; aspect-ratio:1; border:1px solid var(--spc-line); border-radius:12px; background:white; overflow:hidden; }
.spc-gallery__thumb[aria-pressed="true"] { border:2px solid var(--spc-blue); padding:2px; }
.spc-gallery__thumb img { height:100%; width:100%; object-fit:cover; border-radius:8px; }
.spc-gallery__caption { color:var(--spc-muted); font-size:12px; margin-block:10px 0; }
.spc-product-summary { min-width:0; padding-block-start:8px; }
.spc-product-summary h1 { font-size:clamp(28px,3.05vw,40px); line-height:1.4; letter-spacing:0; margin-block:0 14px; }
.spc-product-summary .spc-eyebrow { margin-block-end:8px; }
.spc-product-lead { font-size:16px; line-height:1.95; color:var(--spc-muted); margin-block:0 17px; }
.spc-product-price { font-weight:600; font-size:29px; line-height:1.6; margin-block:0 15px; }
.spc-savings { display:flex; gap:12px; flex-wrap:wrap; align-items:center; font-size:14px; margin-block:0 20px; }
.spc-savings > span { color:var(--spc-muted); }
.spc-savings > strong { color:var(--spc-royal); background:var(--spc-ice); border-radius:30px; padding:5px 12px; }
/* Fixed-price bundle choices: separate attributes for each component. */
.spc-bundle-options { margin-block:0 20px; min-inline-size:0; }
.spc-bundle-options .spc-bundle-options__title { font-size:18px; line-height:1.6; margin:0 0 4px; }
.spc-bundle-options__hint { color:var(--spc-muted); font-size:13px; margin:0 0 14px; }
.spc-bundle-part { border:1px solid var(--spc-line); border-radius:14px; padding:16px; margin-block:0 12px; background:var(--spc-white,#fff); min-inline-size:0; }
.spc-bundle-part__head { display:flex; align-items:center; gap:12px; margin-block-end:12px; }
.spc-bundle-part__head h3 { font-size:16px; margin:0 0 3px; line-height:1.5; }
.spc-bundle-part__head span { color:var(--spc-muted); font-size:12px; }
.spc-bundle-part__image { inline-size:60px; block-size:60px; flex:0 0 60px; border-radius:10px; overflow:hidden; }
.spc-bundle-part__image img { inline-size:100%; block-size:100%; object-fit:contain; }
.spc-bundle-part .spc-option { margin-block:0 8px; }
.spc-bundle-part .spc-swatches { gap:10px; }
.spc-bundle-part__status { min-block-size:0; margin:6px 0 0; font-size:13px; color:var(--spc-muted); }
.spc-bundle-part__status:empty { display:none; }
.spc-bundle-part__status.is-error { color:#a11928; }
@media(max-width:380px) {
  .spc-bundle-part { padding:12px; }
  .spc-bundle-part .spc-swatches { gap:8px; }
}
.spc-option { margin:0 0 16px; padding:0; border:none; min-width:0; }
.spc-option legend { padding:0; margin-block-end:9px; font-weight:500; font-size:15px; }
.spc-selected-label { display:inline-block; color:var(--spc-muted); font-size:14px; font-weight:400; margin-inline-start:10px; }
.spc-swatches { display:flex; flex-wrap:wrap; gap:10px; }
.spc-swatch { display:flex; flex-direction:column; align-items:center; position:relative; min-width:52px; cursor:pointer; gap:5px; padding:4px; border-radius:10px; }
.spc-swatch input { position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; z-index:1; }
.spc-swatch__circle { width:35px; height:35px; border-radius:50%; background:var(--swatch); border:1px solid #02043f44; box-shadow:0 0 0 3px white,0 0 0 4px var(--spc-line); }
.spc-swatch__name { font-size:12px; color:var(--spc-muted); }
.spc-swatch input:checked + .spc-swatch__circle { box-shadow:0 0 0 3px white,0 0 0 5px var(--spc-royal); }
.spc-swatch input:checked ~ .spc-swatch__name { color:var(--spc-royal); font-weight:600; }
.spc-swatch:has(input:focus-visible) { outline:3px solid var(--spc-blue); outline-offset:3px; }
.spc-swatch input:disabled { cursor:not-allowed; }
.spc-swatch input:disabled + .spc-swatch__circle { opacity:.38; background-image:linear-gradient(135deg,transparent 47%,#02043f 48%,#02043f 52%,transparent 53%); }
.spc-swatch input:disabled ~ .spc-swatch__name { text-decoration:line-through; }
.spc-reset-options { padding:4px 0; background:none; border:none; min-height:44px; color:var(--spc-muted); font-size:13px; text-decoration:underline; margin-block:-4px 8px; }
.spc-buy-row { display:flex; align-items:stretch; gap:12px; margin-block:8px 0; }
.spc-buy-button { flex:1; min-width:0; }
.spc-quantity { display:flex; flex:0 0 132px; align-items:center; border:1px solid var(--spc-line); border-radius:10px; overflow:hidden; min-height:50px; background:white; direction:ltr; }
.spc-quantity .spc-qty-step { display:grid; place-items:center; flex:0 0 42px; width:42px; height:48px; min-height:44px; padding:8px; border:0; background:white; color:var(--spc-navy); }
.spc-quantity .spc-qty-step:hover { background:var(--spc-ice); }
.spc-quantity .spc-qty-step .spc-icon { width:18px; height:18px; }
.spc-quantity input, .spc-site .spc-quantity input.qty { width:46px; min-width:0; flex:1; height:48px; border:0; border-radius:0; padding:0; background:white; box-shadow:none; text-align:center; font-size:16px; color:var(--spc-navy); appearance:textfield; -moz-appearance:textfield; }
.spc-quantity input::-webkit-inner-spin-button, .spc-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.spc-availability { color:var(--spc-muted); font-size:13px; }
.spc-availability .stock { margin-block:8px 0; }
.spc-availability .out-of-stock, .spc-stock-message { color:#a21729; }
.spc-delivery-note { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.9; padding-block:16px; margin:0; }
.spc-delivery-note .spc-icon { margin-block-start:2px; }
.spc-product-upsell { display:flex; align-items:flex-start; gap:12px; padding:18px; background:var(--spc-blush); border:1px solid #e3d3df; border-radius:14px; margin-block-start:6px; }
.spc-upsell-mark { width:34px; height:34px; display:grid; place-items:center; color:var(--spc-royal); background:white; border-radius:50%; flex-shrink:0; }
.spc-product-upsell strong { font-size:16px; }
.spc-product-upsell p { font-size:14px; color:var(--spc-muted); margin-block:5px 4px; }
.spc-product-upsell a { font-size:13px; }
.spc-sticky-buy { position:fixed; z-index:80; inset:auto 0 0; background:#fffffff7; border-block-start:1px solid var(--spc-line); padding-block:10px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -5px 24px #02043f0a; }
.spc-sticky-buy > div { display:flex; align-items:center; justify-content:space-between; gap:18px; max-width:1000px; }
.spc-sticky-buy > div > div { display:flex; gap:16px; align-items:center; }
.spc-sticky-buy strong { font-size:16px; }
.spc-sticky-buy [data-spc-sticky-price] { color:var(--spc-royal); font-weight:600; font-size:18px; }
.spc-sticky-buy .spc-button { min-width:220px; }
.spc-product-page .spc-footer { padding-block-end:100px; }
/* Session-owned cart drawer. */
.spc-drawer { inset:0 auto 0 0; margin:0; width:min(480px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; border:0; border-radius:0; overflow:hidden; padding:0; }
.spc-drawer[open] { display:flex; flex-direction:column; }
.spc-drawer .spc-dialog__head { padding:20px 22px 16px; flex-shrink:0; border-block-end:1px solid var(--spc-line); }
.spc-drawer .spc-dialog__head h2 { font-size:23px; }
.spc-drawer .spc-dialog__head h2 span { font-size:13px; padding:3px 8px; border-radius:20px; background:var(--spc-ice); margin-inline-start:6px; }
.spc-drawer__status { flex-shrink:0; padding:0 22px; font-size:13px; color:var(--spc-royal); }
.spc-drawer__status:not(:empty) { padding-block:8px; background:var(--spc-ice); }
.spc-drawer__content { padding:8px 22px 24px; overflow-y:auto; overscroll-behavior:contain; flex:1; }
.spc-cart-items { list-style:none; margin:0; padding:0; }
.spc-cart-item { display:grid; grid-template-columns:80px minmax(0,1fr) 32px; gap:13px; border-block-end:1px solid var(--spc-line); padding-block:18px; align-items:start; }
.spc-cart-item__image { border-radius:10px; overflow:hidden; aspect-ratio:1; background:var(--spc-blush); }
.spc-cart-item__image img { width:100%; height:100%; object-fit:cover; }
.spc-cart-item h3 { font-size:16px; line-height:1.6; margin:0 0 4px; }
.spc-cart-item h3 a { text-decoration:none; }
.spc-cart-item dl.variation { margin:0; display:flex; flex-wrap:wrap; gap:3px 6px; font-size:12px; color:var(--spc-muted); }
.spc-cart-item dt, .spc-cart-item dd, .spc-cart-item dd p { margin:0; }
.spc-cart-item__bottom { display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap; margin-block-start:10px; }
.spc-cart-item__bottom > strong { font-size:15px; }
.spc-quantity--small { min-height:42px; flex-basis:110px; }
.spc-quantity--small .spc-qty-step { width:36px; height:42px; min-height:42px; flex-basis:36px; }
.spc-quantity--small input { height:42px; width:36px; }
.spc-cart-remove { margin-inline-end:-6px; margin-block-start:-6px; width:38px; height:44px; padding:9px; }
.spc-cart-remove .spc-icon { width:19px; height:19px; }
.spc-cart-offer { background:var(--spc-blush); border-radius:12px; padding:18px; margin-block:20px; }
.spc-cart-offer strong { font-size:17px; }
.spc-cart-offer p { font-size:13px; color:var(--spc-muted); margin-block:6px; }
.spc-cart-offer .spc-text-link { font-size:14px; }
.spc-cart-summary { border-block-start:1px solid var(--spc-line); padding-block-start:20px; margin-block-start:18px; }
.spc-cart-subtotal { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:18px; }
.spc-cart-summary p { font-size:12px; color:var(--spc-muted); margin-block:10px 18px; }
.spc-cart-summary > a + a { margin-block-start:8px; }
.spc-cart-view-link { display:flex; justify-content:center; align-items:center; min-height:44px; font-size:14px; }
.spc-cart-empty { padding-block:55px; text-align:center; }
.spc-cart-empty > .spc-icon { width:56px; height:56px; color:var(--spc-blue); margin-block-end:24px; }
.spc-cart-empty h3 { font-size:25px; }
.spc-cart-empty p { color:var(--spc-muted); font-size:15px; margin-block:12px 26px; }
.spc-cart-loading { text-align:center; padding-block:36px; color:var(--spc-muted); }
/* Native WooCommerce classic cart, checkout and account are not rebuilt in JavaScript. */
.spc-commerce-page { max-width:1160px; margin-inline:auto; }
.spc-site .woocommerce { color:var(--spc-navy); }
.spc-site .woocommerce form .form-row { margin:0 0 18px; padding:0; }
.spc-site .woocommerce form .form-row label { line-height:1.7; font-size:14px; font-weight:500; margin-block-end:7px; }
.spc-site .woocommerce form .form-row input.input-text, .spc-site .woocommerce form .form-row textarea, .spc-site .woocommerce form .form-row select { box-sizing:border-box; width:100%; min-height:50px; padding:11px 14px; border:1px solid var(--spc-line); border-radius:9px; background:white; font:400 16px/1.7 var(--spc-font); color:var(--spc-navy); box-shadow:none; }
.spc-site .woocommerce form .form-row textarea { min-height:110px; }
.spc-site .woocommerce form .form-row input[type="checkbox"], .spc-site .woocommerce form .form-row input[type="radio"] { min-height:20px; min-width:20px; accent-color:var(--spc-blue); vertical-align:middle; margin-inline-end:8px; }
.spc-site .woocommerce .col2-set .col-1, .spc-site .woocommerce .col2-set .col-2 { float:none; width:100%; }
.spc-site .woocommerce .col2-set .col-2:empty { display:none; }
.spc-site .woocommerce .woocommerce-billing-fields h3, .spc-site .woocommerce #order_review_heading, .spc-site .woocommerce .woocommerce-additional-fields h3 { font-size:24px; margin-block:0 20px; }
.spc-site .woocommerce .woocommerce-additional-fields { margin-block-start:22px; }
.spc-site .woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:0 52px; align-items:start; }
.spc-site .woocommerce form.checkout > .woocommerce-NoticeGroup { grid-column:1/-1; }
.spc-site .woocommerce form.checkout #customer_details { grid-column:1; grid-row:1/span 3; width:auto; }
.spc-site .woocommerce form.checkout #order_review_heading { grid-column:2; margin-block-end:16px; }
.spc-site .woocommerce form.checkout #order_review { grid-column:2; background:var(--spc-ice); border-radius:14px; padding:24px; }
.spc-site .woocommerce table.shop_table { border:1px solid var(--spc-line); border-radius:12px; border-collapse:separate; margin-block:0 24px; overflow:hidden; text-align:start; font-size:15px; }
.spc-site .woocommerce table.shop_table th { font-weight:600; padding:15px; }
.spc-site .woocommerce table.shop_table td { padding:16px 15px; border-block-start:1px solid var(--spc-line); line-height:1.8; }
.spc-site .woocommerce table.shop_table td.product-thumbnail img { width:76px; border-radius:8px; }
.spc-site .woocommerce table.shop_table td.product-remove a { display:grid; place-items:center; width:40px; height:44px; font-size:25px; color:#a21729; }
.spc-site .woocommerce .quantity .qty { min-height:44px; border:1px solid var(--spc-line); border-radius:8px; width:72px; padding:7px; }
.spc-site .woocommerce .coupon { display:flex; flex-wrap:wrap; gap:10px; }
.spc-site .woocommerce .coupon .input-text { width:170px; min-height:50px; padding:10px; border:1px solid var(--spc-line); border-radius:8px; font-size:16px; }
.spc-site .woocommerce .cart-collaterals .cart_totals { width:48%; padding:24px; background:var(--spc-ice); border-radius:14px; }
.spc-site .woocommerce .cart_totals > h2 { font-size:25px; margin-block:0 20px; }
.spc-site .woocommerce .cart_totals table, .spc-site .woocommerce #order_review table { border:0; background:none; }
.spc-site .woocommerce .cart_totals table th, .spc-site .woocommerce .cart_totals table td, .spc-site .woocommerce #order_review table th, .spc-site .woocommerce #order_review table td { padding:13px 0; }
.spc-site .woocommerce #order_review table td.product-total, .spc-site .woocommerce #order_review table tfoot td { text-align:end; padding-inline-start:16px; }
.spc-site .woocommerce #order_review .order-total { font-size:19px; }
.spc-site .woocommerce #payment { background:none; border-radius:0; }
.spc-site .woocommerce #payment ul.payment_methods { padding:0 0 20px; border-block-end:1px solid var(--spc-line); list-style:none; }
.spc-site .woocommerce #payment ul.payment_methods li { line-height:1.9; font-size:15px; }
.spc-site .woocommerce #payment div.payment_box { padding:12px; margin:10px 0 0; background:white; color:var(--spc-muted); border-radius:8px; font-size:13px; }
.spc-site .woocommerce #payment div.payment_box::before { border-bottom-color:white; }
.spc-site .woocommerce #payment div.form-row { padding:18px 0 0; }
.spc-site .woocommerce #payment #place_order { width:100%; float:none; margin-block-start:16px; }
.spc-site .woocommerce .woocommerce-privacy-policy-text { color:var(--spc-muted); font-size:12px; }
.spc-site .woocommerce .woocommerce-terms-and-conditions-wrapper a { text-decoration:underline; }
.spc-site .woocommerce .woocommerce-form-login, .spc-site .woocommerce .woocommerce-form-coupon { border:1px solid var(--spc-line); border-radius:12px; }
.spc-site .woocommerce-error, .spc-site .woocommerce-info, .spc-site .woocommerce-message { background:var(--spc-ice); color:var(--spc-navy); border-radius:10px; padding:18px 48px 18px 20px; font-size:14px; line-height:1.9; margin-block:0 24px; }
.spc-site .woocommerce-error { border-top-color:#a21729; background:#fceef0; }
.spc-site .woocommerce-message { border-top-color:#244e3e; background:var(--spc-mint); }
.spc-site .woocommerce-info { border-top-color:var(--spc-blue); }
.spc-site .woocommerce-error::before, .spc-site .woocommerce-info::before, .spc-site .woocommerce-message::before { inset-inline-start:18px; inset-inline-end:auto; }
.spc-site .select2-container .select2-selection--single { height:50px; border:1px solid var(--spc-line); border-radius:9px; }
.spc-site .select2-container .select2-selection--single .select2-selection__rendered { line-height:48px; padding-inline:14px 35px; font-size:16px; }
.spc-site .select2-container .select2-selection--single .select2-selection__arrow { top:12px; }
.spc-site .woocommerce-order > p { margin-block-end:24px; }
.spc-site .woocommerce-order h2 { font-size:25px; margin-block:24px 16px; }
.spc-site .woocommerce ul.order_details { padding:20px; background:var(--spc-ice); border-radius:12px; display:flex; flex-wrap:wrap; gap:20px; margin-block:0 28px; }
.spc-site .woocommerce ul.order_details li { float:none; margin:0; padding:0; border:none; font-size:12px; }
.spc-site .woocommerce ul.order_details li strong { font-size:17px; }
@media(max-width:1180px) {
  .spc-product-card--bundle { grid-template-columns:1fr; }
  .spc-product-card--bundle .spc-product-card__media { aspect-ratio:1.5; min-height:0; }
  .spc-product-card--bundle .spc-product-card__body { padding:0 4px 4px; }
  .spc-product-top { gap:36px; }
}
@media(max-width:860px) {
  .spc-product-grid { gap:18px; }
  .spc-product-card h3 { font-size:20px; }
  .spc-product-card__brief { font-size:14px; }
  .spc-color-link { width:36px; height:40px; }
  .spc-product-top { gap:28px; }
  .spc-product-summary h1 { font-size:29px; }
  .spc-product-lead { font-size:15px; }
  .spc-gallery { top:96px; }
  .spc-gallery__thumbs { gap:6px; }
  .spc-swatches { gap:5px; }
  .spc-site .woocommerce form.checkout { gap:0 28px; }
  .spc-site .woocommerce form.checkout #order_review { padding:18px; }
}
@media(max-width:700px) {
  .spc-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
  .spc-product-grid > .spc-product-card:last-child:nth-child(odd) { grid-column:1/-1; display:grid; grid-template-columns:1fr 1.05fr; gap:16px; }
  .spc-product-grid > .spc-product-card:last-child:nth-child(odd) .spc-product-card__media { aspect-ratio:auto; min-height:218px; }
  .spc-product-grid > .spc-product-card:last-child:nth-child(odd) .spc-product-card__body { padding-block:8px; }
  .spc-product-card__media { border-radius:13px; aspect-ratio:1; }
  .spc-product-card__body { padding-block-start:14px; }
  .spc-product-card h3 { font-size:19px; }
  .spc-product-card__brief { font-size:13px; min-height:46px; margin-block-end:7px; }
  .spc-product-card .spc-button { font-size:14px; gap:6px; padding-inline:10px; }
  .spc-product-card .spc-button > .spc-icon { width:19px; height:19px; flex-basis:19px; }
  .spc-card-arrow { width:34px; height:34px; inset-inline-end:10px; inset-block-end:10px; }
  .spc-card-arrow .spc-icon { width:20px; height:20px; }
  .spc-card-swatches { margin-inline-start:-4px; gap:0; }
  .spc-color-link { width:30px; height:40px; }
  .spc-color-link span { width:19px; height:19px; }
  .spc-swatches-caption { width:100%; margin-block-start:0; font-size:11px; padding-inline-start:4px; }
  .spc-price { font-size:20px; }
  .spc-card-price-row { padding-block-start:7px; margin-block-end:12px; }
  .spc-product-card--bundle { display:grid; grid-template-columns:1fr 1.05fr; gap:16px; padding:14px; }
  .spc-product-card--bundle .spc-product-card__media { aspect-ratio:auto; min-height:255px; }
  .spc-product-card--bundle .spc-product-card__body { padding:2px 0; }
  .spc-product-card--bundle h3 { font-size:20px; }
  .spc-product-card--bundle .spc-product-card__brief { font-size:13px; }
  .spc-product-card--bundle .spc-separate { font-size:11px; }
  .spc-bundle-parts { font-size:12px; }
  .spc-breadcrumb { padding-block:16px 20px; font-size:12px; gap:8px; }
  .spc-product-top { grid-template-columns:1fr; gap:22px; }
  .spc-gallery { position:static; }
  .spc-gallery__main { aspect-ratio:1.08; border-radius:16px; }
  .spc-gallery__thumbs { gap:9px; margin-block-start:10px; }
  .spc-gallery__caption { font-size:11px; }
  .spc-product-summary { padding:0; }
  .spc-product-summary h1 { font-size:30px; margin-block-end:10px; }
  .spc-product-lead { font-size:15px; margin-block-end:14px; }
  .spc-product-price { font-size:27px; }
  .spc-swatches { gap:10px; }
  .spc-sticky-buy > div { gap:14px; }
  .spc-sticky-buy > div > div { flex-direction:column; align-items:flex-start; gap:0; }
  .spc-sticky-buy strong { font-size:12px; max-width:150px; line-height:1.6; }
  .spc-sticky-buy [data-spc-sticky-price] { font-size:16px; }
  .spc-sticky-buy .spc-button { min-width:0; min-height:48px; font-size:13px; padding:10px 14px; }
  .spc-site .woocommerce form.checkout { display:block; }
  .spc-site .woocommerce form.checkout #order_review_heading { margin-block:28px 18px; }
  .spc-site .woocommerce .cart-collaterals .cart_totals { width:100%; float:none; padding:20px; }
  .spc-site .woocommerce table.shop_table_responsive tr td { padding:14px; text-align:end; }
  .spc-site .woocommerce .coupon { width:100%; float:none; margin-block-end:14px; }
  .spc-site .woocommerce .coupon .input-text { flex:1; width:100px; }
  .spc-site .woocommerce .coupon .button { flex:0 0 auto; width:auto; font-size:14px; }
  .spc-site .woocommerce table.shop_table td.actions > .button { width:100%; }
  .spc-site .woocommerce form .form-row-first, .spc-site .woocommerce form .form-row-last { float:none; width:100%; }
}
@media(max-width:380px) {
  .spc-product-grid { gap:24px 12px; }
  .spc-product-card h3 { font-size:17px; }
  .spc-product-card .spc-button { font-size:13px; }
  .spc-color-link { width:28px; height:38px; }
  .spc-color-link span { width:17px; height:17px; }
  .spc-product-card--bundle { grid-template-columns:1fr; }
  .spc-product-card--bundle .spc-product-card__media { min-height:0; aspect-ratio:1.4; }
  .spc-product-card--bundle h3 { font-size:21px; }
  .spc-swatches { gap:6px; }
  .spc-swatch { min-width:46px; }
  .spc-quantity { flex-basis:120px; }
  .spc-quantity .spc-qty-step { flex-basis:38px; width:38px; }
  .spc-buy-row { gap:8px; }
  .spc-buy-button { font-size:14px; padding-inline:10px; }
  .spc-drawer .spc-dialog__head { padding-inline:16px; }
  .spc-drawer .spc-dialog__head h2 { font-size:21px; }
  .spc-drawer__content { padding-inline:16px; }
  .spc-cart-item { grid-template-columns:62px minmax(0,1fr) 28px; gap:9px; }
  .spc-cart-item h3 { font-size:15px; }
  .spc-cart-item__bottom { gap:7px; }
  .spc-cart-item .spc-quantity--small { flex-basis:108px; }
}
.spc-option select { width:100%; min-height:50px; padding:10px 14px; border:1px solid var(--spc-line); border-radius:9px; background:white; color:var(--spc-navy); }
.spc-site .woocommerce .cart-collaterals::after { content:""; display:block; clear:both; }
.spc-site .woocommerce table.shop_table { width:100%; }
@media(max-width:700px) {
  .spc-site .woocommerce table.shop_table_responsive thead { display:none; }
  .spc-site .woocommerce table.shop_table_responsive tbody, .spc-site .woocommerce table.shop_table_responsive tr { display:block; }
  .spc-site .woocommerce table.shop_table_responsive td { display:block; width:100%; }
  .spc-site .woocommerce table.shop_table_responsive td::before { content:attr(data-title) ": "; float:right; font-weight:600; }
  .spc-site .woocommerce table.shop_table_responsive td.product-remove::before, .spc-site .woocommerce table.shop_table_responsive td.actions::before { display:none; }
  .spc-site .woocommerce table.shop_table_responsive td.product-thumbnail { display:none; }
  .spc-site .woocommerce table.shop_table_responsive td::after { content:""; display:block; clear:both; }
}
