/* Superflies v2 — 50-product.css (plan.md §10; design: product.html, product-added.html, m-product.html)
   grid, gallery, buy box, tiers, attrs/chips, note, qty + CTA, trust row, about cards, meta,
   related, reviews, interstitial, bundle, WDR table hidden, mobile rules. */

/* ---- moved from inc/custom-hooks.php (M0-21): WC gallery thumbs, bundles, WDR table ---- */
.wdr_bulk_table_msg{display:none!important}
.reset_bundled_variations{display:none!important}

/* ---- layout ---- */
.sf-single .sf-product{position:relative}
.sf-product__grid{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:40px;align-items:start}
.sf-product__left{min-width:0}
.sf-product__buy{background:var(--sf-white);border:1px solid var(--sf-border);border-radius:var(--sf-r-12);padding:28px;display:flex;flex-direction:column;gap:18px;align-self:start;position:sticky;top:calc(var(--sf-header-h,0px) + 24px)}
.sf-product__after{margin-top:44px}
.sf-product__reviews{margin-top:36px}

/* ---- gallery (WooCommerce flexslider kept) ---- */
.sf-product__gallery{position:relative}
/* before flexslider initialises (or if it never does) only the first image shows */
.woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__image:not(:first-child){display:none}
.sf-product__gallery .sf-badge{top:12px;left:12px;z-index:3}
.sf-product__gallery .sf-badge+.sf-badge{top:42px}
.sf-product__gallery .woocommerce-product-gallery{position:relative;width:100%!important;float:none;margin:0;opacity:1!important}
.woocommerce-product-gallery__wrapper{margin:0;padding:0;list-style:none;background:var(--sf-white);border:1px solid var(--sf-border);border-radius:var(--sf-r-12);overflow:hidden;position:relative}
.woocommerce-product-gallery__image{aspect-ratio:3/2;overflow:hidden;max-width:100%}
.woocommerce-product-gallery__image a{display:block}
/* the img carries its own 3:2 box so flexslider's smoothHeight never measures the natural image height (bug report P7) */
.woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.sf-product__gallery .flex-viewport{overflow:hidden;max-height:none}
.woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:4;width:36px;height:36px;border-radius:50%;background:var(--sf-white);border:1px solid var(--sf-border);display:grid;place-content:center;text-indent:-9999px;overflow:hidden;box-shadow:var(--sf-shadow-card);text-decoration:none}
.woocommerce-product-gallery__trigger::before{content:"";width:12px;height:12px;border:2px solid var(--sf-navy);border-radius:50%;display:block;position:absolute;left:10px;top:9px;text-indent:0}
.woocommerce-product-gallery__trigger::after{content:"";width:2px;height:8px;background:var(--sf-navy);position:absolute;left:23px;top:20px;transform:rotate(-45deg)}
.woocommerce-product-gallery__trigger img{display:none}
.sf-product__gallery .flex-viewport{border-radius:var(--sf-r-12)}
.sf-product__gallery .flex-direction-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 8px;list-style:none;margin:0;pointer-events:none;z-index:3}
.sf-product__gallery .flex-direction-nav a{pointer-events:auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--sf-border);display:grid;place-content:center;color:var(--sf-ink);text-decoration:none;opacity:0;transition:opacity .15s;font-size:0}
.sf-product__gallery:hover .flex-direction-nav a{opacity:1}
.sf-product__gallery .flex-direction-nav a::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:3px}
.sf-product__gallery .flex-direction-nav a.flex-next::before{transform:rotate(-135deg);margin:0 3px 0 0}
.flex-control-thumbs{display:flex;gap:8px;margin:10px 0 0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
.flex-control-thumbs::-webkit-scrollbar{display:none}
.flex-control-thumbs li{flex:none;width:76px;height:52px;margin:0}
.flex-control-thumbs img{width:76px;height:52px;object-fit:cover;border-radius:var(--sf-r-6);border:2px solid var(--sf-border-2);cursor:pointer;opacity:1;display:block}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{border-color:var(--sf-navy)}
.sf-gallery__label,.sf-gallery__counter{position:absolute;bottom:12px;background:rgba(15,28,46,.85);color:var(--sf-white);font-size:12px;font-weight:500;padding:5px 10px;border-radius:var(--sf-r-6);z-index:3;pointer-events:none}
.sf-gallery__label{left:12px}
.sf-gallery__counter{right:12px;display:none}
.sf-product__gallery.has-thumbs .sf-gallery__label,.sf-product__gallery.has-thumbs .sf-gallery__counter{bottom:74px}

/* ---- about block (left column) ---- */
.sf-product__about{margin-top:32px}
.sf-product__about-title{margin:0 0 10px;font-size:20px;font-weight:700}
.sf-product__desc{font-size:15px;line-height:1.6;color:var(--sf-text)}
.sf-product__desc p{margin:0 0 10px}
.sf-product__desc .showmore,.sf-product__desc .showless{color:var(--sf-link);font-weight:500}
.sf-product__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.sf-product__card{background:var(--sf-white);border:1px solid var(--sf-border);border-radius:var(--sf-r-10);padding:14px;display:flex;flex-direction:column;gap:4px}
.sf-product__card .sf-eyebrow{font-size:11px}
.sf-product__card-value{font-size:14px;font-weight:600;color:var(--sf-ink)}
.sf-product__card--link .sf-product__card-value{color:var(--sf-link);text-decoration:none}
.sf-product__also-link{display:none;margin-top:10px;font-weight:600;font-size:13px}

/* ---- buy box: title, rating, usps, price ---- */
.sf-product__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sf-product__title{margin:0;font-size:30px;font-weight:700;line-height:1.1}
.sf-product__rating{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;font-size:13px;color:var(--sf-muted)}
.sf-product__rating .sf-stars{font-size:14px}
.sf-rating__avg{color:var(--sf-ink);font-weight:700}
.sf-product__stock{display:inline-flex;align-items:center;gap:4px;font-weight:500}
.sf-product__stock--in{color:var(--sf-green)}
.sf-product__stock--out{color:var(--sf-warning)}
.sf-product__usps{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:13px;color:var(--sf-text)}
.sf-product__usps span{display:inline-flex;align-items:center;gap:5px}
.sf-product__usps svg{color:var(--sf-green)}
.sf-product__buy>.sf-product__title-row+.sf-product__rating{margin-top:-10px}
.sf-product__buy>.sf-product__rating+.sf-product__usps,.sf-product__buy>.sf-product__title-row+.sf-product__usps{margin-top:-6px}
.sf-product__price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sf-product__price{margin:0;font-size:28px;font-weight:700;line-height:1.1}
.sf-product__price .woocommerce-Price-amount{font-weight:700}
.sf-product__price del{font-size:18px;font-weight:400;color:var(--sf-muted);margin-right:6px}
.sf-product__price ins{text-decoration:none}
.sf-product__price-note{font-size:13px;color:var(--sf-muted)}
.woocommerce-variation-price,.woocommerce-variation-availability,.woocommerce-variation-description{display:none}

/* ---- tiers ---- */
.sf-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sf-tier{display:block;width:100%;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;border:1.5px solid var(--sf-border-2);background:var(--sf-white);border-radius:var(--sf-r-8);padding:10px 12px;text-align:center;transition:border-color .12s,background-color .12s}
.sf-tier:hover{border-color:var(--sf-navy)}
.sf-tier:focus-visible{outline:2px solid var(--sf-navy);outline-offset:2px}
.sf-tier.is-active{border-color:var(--sf-navy);background:var(--sf-surface-2)}
.sf-tier__label{font-size:12px;color:var(--sf-muted)}
.sf-tier__price{font-size:15px;font-weight:700;margin-top:2px}
.sf-tier__price .woocommerce-Price-amount{font-weight:700}
.sf-tier__save{font-size:11px;color:var(--sf-green);font-weight:600;min-height:14px}
.sf-product__hint{margin:0;font-size:12px;color:var(--sf-muted);line-height:1.5}
.sf-product__hint .woocommerce-Price-amount{font-weight:600;color:var(--sf-ink)}

/* ---- variations: attrs + chips (selects stay in the DOM) ---- */
.sf-variations{display:flex;flex-direction:column;gap:18px}
.sf-attr__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;font-weight:600;margin-bottom:8px}
.sf-attr__head label{font-weight:600;cursor:default}
.sf-attr__value{font-weight:400;color:var(--sf-muted)}
.sf-attr__chips{display:flex;flex-wrap:wrap;gap:6px}
.sf-attr__chips:empty{display:none}
.sf-attr__chips .sf-chip{border-width:1.5px;padding:5px 10px;font-weight:600;color:var(--sf-ink);min-height:36px;justify-content:center;text-align:center}
.sf-attr__chips .sf-chip.is-selected{background:var(--sf-surface-2);border-color:var(--sf-navy);padding:5px 10px}
.sf-attr__chips .sf-chip.is-disabled{color:var(--sf-muted-2);text-decoration:line-through}
.sf-attr__chips .sf-chip.is-hidden{display:none}
.sf-attr--pa_color .sf-attr__chips .sf-chip{padding:5px 10px 5px 5px;gap:8px;min-height:40px}
.sf-chip__img{width:28px;height:28px;object-fit:cover;border-radius:var(--sf-r-4);flex:none;display:block}
.sf-chip__swatch{width:28px;height:28px;border-radius:var(--sf-r-4);border:1px solid rgba(0,0,0,.12);background:var(--swatch,#94a3b8);flex:none;display:block}
.sf-attr--pa_size .sf-attr__chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.sf-attr--pa_size .sf-attr__chips .sf-chip{flex-direction:column;gap:1px;padding:8px 4px;line-height:1.2}
.sf-attr--pa_size .sf-attr__chips .sf-chip small,.sf-chip__sub{display:block;font-size:11px;font-weight:400;color:var(--sf-muted)}
.sf-attr--pa_hook .sf-attr__chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-attr--pa_hook .sf-attr__chips .sf-chip{justify-content:flex-start;text-align:left;padding:9px 12px;flex-direction:column;align-items:flex-start;gap:1px}
.sf-attr--pa_hook .sf-attr__chips .sf-chip b{font-weight:700}
.sf-attr__select{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.sf-attr__select select{width:1px;height:1px;opacity:0}
.sf-attr__select:focus-within{position:static;width:auto;height:auto;clip:auto;clip-path:none;margin-top:6px}
.sf-attr__select:focus-within select{width:100%;height:auto;opacity:1}
.sf-attr{position:relative}
.sf-attr__note{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:var(--sf-text);background:var(--sf-surface);border-radius:var(--sf-r-6);padding:8px 10px}
.sf-attr__note-stock{font-weight:600;white-space:nowrap;color:var(--sf-green)}
.sf-attr__note-stock.is-out{color:var(--sf-warning)}
.sf-attr__reset{margin-top:6px;font-size:12px}
.sf-attr__reset .reset_variations{font-size:12px}
.sf-product__note{font-size:13px;line-height:1.45}
.sf-product__note b{font-weight:700}

/* ---- qty + CTA ---- */
.woocommerce-variation-add-to-cart,.sf-single form.cart:not(.variations_form):not(.bundle_form){display:flex;gap:10px;align-items:stretch}
.woocommerce-variation-add-to-cart .quantity,.sf-single form.cart .quantity{flex:none}
.single_add_to_cart_button{flex:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 18px;min-height:54px;font-size:15px;font-weight:600;border:0;border-radius:var(--sf-r-8);background:var(--sf-green);color:var(--sf-white);cursor:pointer;transition:background-color .15s}
.single_add_to_cart_button:hover{background:var(--sf-green-hover)}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.55;cursor:not-allowed}
.single_add_to_cart_button.wc-variation-is-unavailable{opacity:.55}
.sf-atc__price{font-weight:700}
.sf-atc__price:empty{display:none}
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{opacity:.55}
.sf-product__trust{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--sf-text-2);border-top:1px solid var(--sf-border-4);padding-top:14px}
.sf-product__meta{font-size:12px;color:var(--sf-muted);display:flex;flex-direction:column;gap:4px}
.sf-product__meta a{color:var(--sf-muted)}
.sf-product__meta .posted_in,.sf-product__meta .tagged_as{display:block}

/* ---- simple products: WC default form.cart ---- */
.sf-single form.cart:not(.variations_form):not(.bundle_form){margin:0}

/* ---- bundles (Product Bundles plugin markup; its single-product.css loads after ours → theme selectors carry .sf-single) ---- */
.sf-single .sf-bundle .bundled_product{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 12px;align-items:start;padding:14px 0!important;margin:0;border-bottom:1px solid var(--sf-border-3);text-align:left}
.sf-single .sf-bundle .bundled_product:last-of-type{border-bottom:0}
.sf-single .sf-bundle .bundled_product_images{float:none!important;width:56px!important;max-width:none;margin:0;grid-row:1/3}
.sf-single .sf-bundle .bundled_product_images figure,.sf-single .sf-bundle .bundled_product_images a{margin:0;display:block}
.sf-single .sf-bundle .bundled_product_images img{width:56px;height:37px;object-fit:cover;border-radius:var(--sf-r-6);padding:0!important;border:1px solid var(--sf-border-3)!important;background:var(--sf-white)}
.sf-single .sf-bundle .bundled_product .details{float:none!important;width:auto!important;min-width:0;margin:0;padding:0}
.sf-single .sf-bundle .bundled_product_title{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:14px;line-height:1.3}
.sf-single .sf-bundle .bundled_product_title_inner{font-size:14px!important;font-weight:600;color:var(--sf-ink)}
.sf-single .sf-bundle .bundled_product_title_link{margin:0;line-height:0}
.sf-single .sf-bundle .bundled_product_permalink{color:var(--sf-muted-2)}
.sf-single .sf-bundle .bundled_product_excerpt{font-size:12px;color:var(--sf-muted);margin:0 0 6px}
.sf-single .sf-bundle .bundled_item_cart_content{margin:0;padding:0}
/* variations table → one row: label · select · Clear */
.sf-single .sf-bundle .bundled_item_cart_content table.variations,.sf-single .sf-bundle .bundled_item_cart_content table.variations tbody,.sf-single .sf-bundle .bundled_item_cart_content table.variations tr,.sf-single .sf-bundle .bundled_item_cart_content table.variations td{display:block;border:0;padding:0;margin:0;width:auto}
.sf-single .sf-bundle .bundled_item_cart_content table.variations{width:100%}
.sf-single .sf-bundle .bundled_item_cart_content table.variations tr{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 8px}
.sf-single .sf-bundle .bundled_item_cart_content table.variations td.label{padding:0!important;font-size:13px;font-weight:600;color:var(--sf-text);flex:none;min-width:40px}
.sf-single .sf-bundle .bundled_item_cart_content table.variations td.label abbr{color:var(--sf-warning);text-decoration:none;border:0}
.sf-single .sf-bundle .bundled_item_cart_content table.variations td.value{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.sf-single .sf-bundle .bundled_item_cart_content select{width:auto;flex:1;min-width:120px;max-width:220px;margin:0!important;padding:8px 32px 8px 10px;font:inherit;font-size:13px;line-height:1.3;color:var(--sf-ink);background:var(--sf-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f1c2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--sf-border-2);border-radius:var(--sf-r-6);-webkit-appearance:none;appearance:none}
.sf-single .sf-bundle .bundled_item_cart_content select:focus{outline:2px solid var(--sf-navy);outline-offset:1px}
.sf-single .sf-bundle .reset_bundled_variations_fixed{flex:none}
.sf-single .sf-bundle .reset_bundled_variations_fixed a.reset_variations{margin:0!important;display:inline-block;font-size:12px;color:var(--sf-muted);text-decoration:underline}
/* variation price / stock + quantity */
.sf-single .sf-bundle .bundled_item_wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sf-single .sf-bundle .bundled_item_cart_details{flex:1;min-width:0;font-size:13px;color:var(--sf-text-2)}
.sf-single .sf-bundle .bundled_item_cart_details:empty{display:none}
.sf-single .sf-bundle .bundled_item_cart_details .price,.sf-single .sf-bundle .bundled_item_cart_details p.stock,.sf-single .sf-bundle .bundled_product p.stock{font-size:13px;margin:0;color:var(--sf-text-2);display:block}
.sf-single .sf-bundle .bundled_item_cart_details .price del{color:var(--sf-muted-2);margin-right:4px}
.sf-single .sf-bundle .bundled_item_cart_details .price ins{text-decoration:none;font-weight:600;color:var(--sf-ink)}
.sf-single .sf-bundle .bundled_item_cart_details .bundled_item_price_quantity{color:var(--sf-muted)}
.sf-single .sf-bundle .bundled_item_cart_details p.stock.sf-hidden{display:none}
.sf-single .sf-bundle .bundled_item_button{margin:0;flex:none}
.sf-single .sf-bundle .bundled_item_button .sf-qty{height:36px}
.sf-single .sf-bundle .bundled_item_button .sf-qty__btn{width:32px;font-size:15px}
.sf-single .sf-bundle .bundled_item_button .sf-qty__input{width:38px;font-size:14px}
.sf-single .sf-bundle .bundled_item_optional_checkbox{font-size:13px;display:flex;align-items:center;gap:8px;margin:0 0 6px}
.sf-single .sf-bundle .bundled_item_unavailable{font-size:12px;color:var(--sf-warning);margin:0}
/* bundle totals + button */
.sf-single .sf-bundle .bundle_wrap{margin-top:8px}
.sf-single .sf-bundle .bundle_button{display:flex;gap:10px;align-items:stretch;margin:0 0 18px}
.sf-single .sf-bundle .bundle_price{font-size:20px;font-weight:700;margin:12px 0}
.sf-single .sf-bundle .bundle_price .woocommerce-Price-amount{font-weight:700}
.sf-single .sf-bundle .bundle_price .bundle_price_prefix,.sf-single .sf-bundle .bundle_price .price_suffix{font-size:13px;font-weight:400;color:var(--sf-muted)}
.sf-single .sf-bundle .bundle_availability,.sf-single .sf-bundle .bundle_error{font-size:13px}
.sf-single .sf-bundle .bundle_error .woocommerce-info{margin:0 0 10px}

/* ---- related / upsells ---- */
.sf-related .sf-section__head,.up-sells .sf-section__head{align-items:baseline}
.up-sells h2{font-size:24px;margin-bottom:16px}
.up-sells .products.sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0}
.sf-related__grid .sf-card__actions{padding:0 12px 12px}

/* ---- reviews ---- */
.sf-reviews__summary{display:flex;align-items:center;gap:28px;padding:20px 24px;border-radius:var(--sf-r-12)}
.sf-reviews__score{display:flex;align-items:baseline;gap:10px}
.sf-reviews__avg{font-size:36px;font-weight:700;line-height:1}
.sf-reviews__count{font-size:13px;color:var(--sf-muted);line-height:1.4}
.sf-reviews__count .woocommerce-Reviews-title{margin:0;font-size:13px;font-weight:700;color:var(--sf-ink)}
.sf-reviews__quote{flex:1;margin:0;font-size:14px;color:var(--sf-text);font-style:italic;border-left:1px solid var(--sf-border);padding-left:24px}
.sf-reviews__by{font-style:normal;color:var(--sf-muted);font-size:12px}
.sf-reviews__toggle{white-space:nowrap;padding:10px 18px;font-size:14px}
.sf-reviews__body{margin-top:16px}
.sf-reviews__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sf-review{padding:16px;margin:0}
.sf-review .star-rating{position:relative;display:inline-block;width:5.25em;font-size:13px;line-height:1.2;letter-spacing:1px;color:var(--sf-border-2);white-space:nowrap;overflow:visible;font-family:var(--sf-font);margin-bottom:6px}
.sf-review .star-rating::before{content:"★★★★★";position:static;color:var(--sf-border-2)}
.sf-review .star-rating>span{position:absolute;left:0;top:0;overflow:hidden;color:var(--sf-star);white-space:nowrap;padding-top:0}
.sf-review .star-rating>span::before{content:"★★★★★";position:static;color:var(--sf-star)}
.sf-review .star-rating .sf_review_count{display:none}
.sf-review .meta{margin:0 0 6px;font-size:13px;color:var(--sf-muted)}
.sf-review .meta .woocommerce-review__author{font-weight:600;color:var(--sf-ink)}
.sf-review .meta .woocommerce-review__verified{display:inline-block;font-size:11px;font-weight:600;background:var(--sf-green-bg);color:var(--sf-green);border-radius:var(--sf-r-pill);padding:1px 8px;font-style:normal;margin-left:4px}
.sf-review .meta .woocommerce-review__dash{display:none}
.sf-review .description{font-size:14px;line-height:1.55;color:var(--sf-text)}
.sf-review .description p{margin:0 0 6px}
.sf-review .review-images{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.sf-review .review-images img{width:100px;height:auto;border-radius:var(--sf-r-6)}
.sf-reviews__form{padding:20px;margin-top:16px}
.sf-reviews__form .comment-reply-title{display:block;font-size:18px;font-weight:700;margin-bottom:12px}
.sf-reviews__form .comment-form{display:flex;flex-direction:column;gap:12px}
.sf-reviews__form .sf-field{margin:0}
.sf-reviews__form .comment-form-author,.sf-reviews__form .comment-form-email{margin:0}
.sf-reviews__form .required{color:var(--sf-warning)}
.sf-reviews__form .comment-notes{font-size:12px;color:var(--sf-muted);margin:0}
.sf-upload,.product-review-block{border:1.5px dashed var(--sf-border-2);border-radius:var(--sf-r-8);padding:14px;text-align:center;font-size:13px;color:var(--sf-muted);background:var(--sf-surface)}
.sf-upload input[type=file]{font-size:13px}
.sf-reviews__form .form-submit{margin:0}
.sf-reviews__form .form-submit .submit{width:auto}

/* ---- interstitial ---- */
.sf-modal--interstitial .sf-modal__dialog{display:flex;flex-direction:column;gap:18px}
.sf-interstitial__added{display:flex;align-items:center;gap:12px;font-size:15px;padding-right:32px}
.sf-interstitial__check{width:28px;height:28px;border-radius:50%;background:var(--sf-green);color:var(--sf-white);display:grid;place-content:center;flex:none}
.sf-interstitial__head{border-top:1px solid var(--sf-border);padding-top:18px}
.sf-interstitial__head h3{margin:0 0 4px;font-size:20px;font-weight:700}
.sf-interstitial__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sf-interstitial__item{border:1px solid var(--sf-border);border-radius:var(--sf-r-10);padding:12px;display:flex;gap:12px;align-items:center}
.sf-interstitial__thumb{width:56px;height:56px;border-radius:var(--sf-r-8);overflow:hidden;background:#dde3ea;flex:none}
.sf-interstitial__thumb img{width:100%;height:100%;object-fit:cover}
.sf-interstitial__info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.sf-interstitial__name{font-size:14px;font-weight:600}
.sf-interstitial__desc{font-size:12px;color:var(--sf-muted)}
.sf-interstitial__price{font-size:14px;font-weight:700}
.sf-interstitial__item .added_to_cart{display:none}
.sf-interstitial__item .sf-btn.added{background:var(--sf-navy)}
.sf-interstitial__foot{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sf-interstitial__continue{font-size:14px}


/* ---- mobile (m-product.html) ---- */
@media (max-width:767px){
  .sf-single .sf-page{padding-top:0;padding-bottom:96px}
  .sf-product__grid{display:flex;flex-direction:column;gap:0}
  .sf-product__left{display:contents}
  .sf-product__gallery{order:1;margin:0 -16px}
  .sf-product__buy{order:2;border:0;border-radius:0;padding:16px 0 0;position:static;gap:14px;background:transparent}
  .sf-product__about{order:3;margin-top:8px;border-top:1px solid var(--sf-border);padding-top:18px}
  .sf-product__after{order:4}
  .woocommerce-product-gallery__wrapper{border:0;border-radius:0}
  .sf-product__gallery .flex-viewport{border-radius:0}
  .flex-control-thumbs{display:none}
  .sf-product__gallery.has-thumbs .sf-gallery__label,.sf-product__gallery.has-thumbs .sf-gallery__counter{bottom:10px}
  .sf-gallery__label{left:16px;bottom:10px}
  .sf-gallery__counter{display:block;right:16px;bottom:10px}
  .woocommerce-product-gallery__trigger{display:none}
  .sf-product__title{font-size:24px}
  .sf-product__rating{font-size:12px;gap:8px;margin-top:6px}
  .sf-product__price{font-size:24px}
  .sf-product__price-note{font-size:12px}
  .sf-product__usps{display:none}
  .sf-tiers{gap:6px}
  .sf-tier{padding:8px 6px}
  .sf-tier__label{font-size:11px}
  .sf-tier__price{font-size:14px}
  .sf-tier__save{font-size:10px}
  .sf-chip__img,.sf-chip__swatch{width:26px;height:26px}
  .sf-attr__note{background:var(--sf-white);border:1px solid var(--sf-border)}
  .sf-product__note{font-size:12px}
  .sf-product__trust{display:none}
  .sf-product__about-title{font-size:18px}
  .sf-product__cards{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .sf-product__card{padding:10px 12px;border-radius:var(--sf-r-8)}
  .sf-product__card .sf-eyebrow{font-size:10px}
  .sf-product__card-value{font-size:13px}
  .sf-product__card--link{display:none}
  .sf-product__also-link{display:inline-block}
  .sf-product__desc{font-size:14px;line-height:1.55}
  .sf-product__after{margin-top:24px}
  .sf-related__grid,.up-sells .products.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sf-reviews__summary{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}
  .sf-reviews__quote{border-left:0;padding-left:0}
  .sf-reviews__toggle{width:100%}
  .sf-reviews__list{grid-template-columns:1fr}
  .sf-interstitial__grid{grid-template-columns:1fr}
  .sf-interstitial__foot{flex-direction:column-reverse;align-items:stretch;text-align:center}
  /* sticky CTA (§10.10): the real add-to-cart block stays inside form.cart (selector contract §17)
     and is fixed to the bottom with CSS only — no ancestor has a transform, so position:fixed works */
  .sf-product .woocommerce-variation-add-to-cart,.sf-product form.cart:not(.variations_form):not(.bundle_form),.sf-product .bundle_button{position:fixed;left:0;right:0;bottom:0;z-index:900;margin:0;background:var(--sf-white);border-top:1px solid var(--sf-border);padding:12px 16px 18px;box-shadow:0 -8px 30px rgba(15,28,46,.12);display:flex;gap:10px;align-items:stretch}
  .sf-product.outofstock .woocommerce-variation-add-to-cart,.sf-product.outofstock form.cart:not(.variations_form):not(.bundle_form){display:none}
  .sf-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,.sf-product form.cart .single_add_to_cart_button{min-height:48px;padding:0 16px}
  .sf-product .woocommerce-variation-add-to-cart .quantity.sf-qty,.sf-product form.cart .quantity.sf-qty{height:48px}
  .sf-product .woocommerce-variation-add-to-cart .sf-qty__btn,.sf-product form.cart .sf-qty__btn{width:44px;min-width:44px}
  .sf-product .woocommerce-variation-add-to-cart .sf-qty__input,.sf-product form.cart .sf-qty__input{width:36px;min-width:36px}
}
@media (min-width:768px) and (max-width:991px){
  .sf-product__grid{grid-template-columns:minmax(0,1fr) 380px;gap:24px}
  .sf-product__buy{padding:20px}
  .sf-product__title{font-size:26px}
  .sf-attr--pa_size .sf-attr__chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}
