/* SafetyVestSource complete client-numbered product page. */
body.svs-full-product-page { background:#fbfaf8; color:#252525; }
.svs-full-product-page .site-main,
.svs-full-product-page .woocommerce-notices-wrapper,
.svs-full-product-page .svs-fpp-product { width:min(1180px,calc(100% - 40px)); margin-left:auto; margin-right:auto; }
.svs-full-product-page .sw-topbar { background:#ffc928!important; color:#111!important; }
.svs-full-product-page .svs-fpp-callbar-text { display:block; text-align:right; font-weight:900; }

.svs-fpp-product-intro { padding:46px 0 22px; border-bottom:1px solid #ddd8d1; }
.svs-fpp-product-intro h1 { max-width:900px; margin:0 0 14px; font-size:clamp(30px,4vw,48px); line-height:1.06; font-weight:900; letter-spacing:-.03em; }
.svs-fpp-product-intro ul { display:grid; gap:8px; margin:0 0 18px; padding:0; list-style:none; }
.svs-fpp-product-intro li { position:relative; padding-left:22px; color:#555; font-size:16px; font-weight:700; }
.svs-fpp-product-intro li:before { position:absolute; left:0; color:#f3b800; content:'✓'; font-weight:900; }
.svs-fpp-header-assurances { display:flex; flex-wrap:wrap; gap:8px; }
.svs-fpp-header-assurances span { display:flex; min-height:42px; align-items:center; gap:9px; border:1px solid #e0d4bd; border-radius:5px; padding:8px 12px; background:#fff9e9; font-size:12px; font-weight:800; }
.svs-fpp-header-assurances b { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; background:#262626; color:#fff; font-size:11px; }

.svs-fpp-product-main { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); gap:48px; align-items:start; padding:34px 0 0; }
.svs-full-product-page .woocommerce div.product div.images,
.svs-full-product-page .woocommerce div.product div.summary { float:none!important; width:100%!important; margin:0!important; }
.svs-fpp-gallery-column { min-width:0; }
.svs-full-product-page .woocommerce-product-gallery__wrapper { border:1px solid #e5e1dc; background:#fff; }
.svs-full-product-page .woocommerce-product-gallery__image a { display:flex; min-height:560px; align-items:center; justify-content:center; }
.svs-full-product-page .woocommerce-product-gallery__image img { width:100%!important; max-height:560px; object-fit:contain; }
.svs-full-product-page .flex-control-thumbs { display:grid!important; grid-template-columns:repeat(4,minmax(70px,1fr)); gap:8px; margin-top:10px!important; }
.svs-full-product-page .flex-control-thumbs li { width:auto!important; margin:0!important; border:1px solid #ded9d2; background:#fff; }
.svs-full-product-page .flex-control-thumbs img { height:96px; object-fit:contain; opacity:1!important; }
.svs-fpp-single-image-gallery .flex-control-thumbs { display:none!important; }

.svs-fpp-summary-column { min-width:0; padding-top:2px; }
.svs-full-product-page div.product p.price,
.svs-full-product-page div.product span.price { margin:0 0 8px!important; color:#222!important; font-size:28px!important; font-weight:900!important; }
.svs-full-product-page .woocommerce-product-rating { display:flex; align-items:center; gap:8px; margin:0 0 18px!important; }
.svs-full-product-page .star-rating,.svs-full-product-page .star-rating span:before { color:#f6b800; }
.svs-full-product-page .woocommerce-review-link { color:#343434; font-weight:700; }

/* Section 3 customizer and WooCommerce purchase form. */
.svs-full-product-page form.cart { display:block!important; margin:0!important; }
.svs-full-product-page .svs-customizer { margin:0 0 18px; border:1px solid #dfe3e7; border-radius:6px; padding:18px; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.svs-full-product-page .svs-customizer-heading { display:flex!important; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:16px; border-bottom:1px solid #e5e5e5; padding-bottom:14px; }
.svs-full-product-page .svs-customizer-heading h3 { margin:2px 0 0; font-size:22px; line-height:1.1; }
.svs-full-product-page .svs-kicker { color:#aa7800; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.svs-full-product-page .svs-turnaround { border-radius:14px; padding:6px 9px; background:#fff3c8; color:#6c5100; font-size:10px; font-weight:900; text-align:center; }
.svs-full-product-page .svs-customizer-field { margin-bottom:13px; }
.svs-full-product-page .svs-customizer-field>label,
.svs-full-product-page .variations th.label label { display:block; margin:0 0 6px; font-size:13px; font-weight:900; }
.svs-full-product-page .svs-customizer select,
.svs-full-product-page .svs-customizer input[type=text],
.svs-full-product-page .svs-customizer input[type=file],
.svs-full-product-page .variations select { width:100%; min-height:44px; border:1px solid #ccd2d8!important; border-radius:4px!important; padding:9px 12px!important; background:#fff!important; }
.svs-full-product-page .svs-customizer small { color:#667085; }
.svs-full-product-page .svs-logo-options { margin-top:14px; }
.svs-full-product-page .svs-placement-options { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 16px; border:0; padding:0; }
.svs-full-product-page .svs-placement-options legend { grid-column:1/-1; margin-bottom:8px; font-size:15px; font-weight:900; }
.svs-full-product-page .svs-placement-options label { cursor:pointer; }
.svs-full-product-page .svs-placement-options input { position:absolute; opacity:0; pointer-events:none; }
.svs-full-product-page .svs-placement-options span { display:flex; min-height:110px; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px solid #d2d2d2; border-radius:4px; padding:12px 6px; background:#f8f8f8; color:#222; font-weight:900; text-align:center; }
.svs-full-product-page .svs-placement-options span b { font-size:32px; }
.svs-full-product-page .svs-placement-options span small { font-size:10px; font-weight:700; }
.svs-full-product-page .svs-placement-options input:checked+span { border-color:#595959; background:linear-gradient(#777,#4e4e4e); color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.13); }
.svs-full-product-page .svs-placement-options input:checked+span small { color:#fff; }
.svs-full-product-page .svs-customizer-summary { display:grid; gap:0; margin-top:14px; border-top:1px solid #dedede; }
.svs-full-product-page .svs-customizer-summary>div { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid #dedede; padding:11px 0; font-size:15px; }
.svs-full-product-page .svs-customizer-summary strong { font-size:18px; }
.svs-full-product-page .svs-customizer-summary .svs-estimated-total { font-size:19px; }
.svs-full-product-page .svs-customizer-summary .svs-estimated-total strong { font-size:25px; }
.svs-full-product-page .svs-customizer-summary>small { margin-top:9px; }
.svs-full-product-page .svs-save-kit-line { display:flex!important; align-items:center; gap:8px; margin-top:12px; font-size:12px; font-weight:700; }
.svs-full-product-page .svs-kit-name:not([hidden]) { display:block!important; margin-top:9px; }
.svs-fpp-hidden-duplicate-logo { display:none!important; }

.svs-full-product-page table.variations { width:100%; margin:0 0 14px!important; border:0!important; }
.svs-full-product-page table.variations tbody,.svs-full-product-page table.variations tr,.svs-full-product-page table.variations th,.svs-full-product-page table.variations td { display:block; width:100%; border:0; padding:0; }
.svs-full-product-page table.variations tr { margin-bottom:14px; }
.svs-fpp-native-select { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; }
.svs-fpp-color-swatches,.svs-fpp-size-options { display:flex; flex-wrap:wrap; gap:8px; }
.svs-fpp-color-swatch { display:inline-flex; min-width:54px; flex-direction:column; align-items:center; gap:4px; border:0; padding:0; background:transparent; cursor:pointer; }
.svs-fpp-color-chip { display:block; width:48px; height:34px; border:2px solid transparent; box-shadow:inset 0 0 0 1px rgba(0,0,0,.15); }
.svs-fpp-color-swatch.is-selected .svs-fpp-color-chip { border-color:#222; }
.svs-fpp-color-swatch small { font-size:10px; font-weight:800; }
.svs-fpp-size-options button { min-width:44px; height:40px; border:1px solid #c8c8c8; padding:0 11px; background:#fff; color:#222; font-weight:800; cursor:pointer; }
.svs-fpp-size-options button.is-selected { border-color:#222; background:#222; color:#fff; }
.svs-fpp-color-swatches button:disabled,.svs-fpp-size-options button:disabled { opacity:.35; cursor:not-allowed; }
.svs-full-product-page .reset_variations { display:inline-block; margin-top:8px; color:#555; font-size:12px; }

.svs-full-product-page .woocommerce-variation-add-to-cart,
.svs-full-product-page form.cart:not(.variations_form) { display:flex!important; flex-wrap:wrap; align-items:center; gap:10px; }
.svs-full-product-page form.cart:not(.variations_form)>.svs-customizer { flex:0 0 100%; }
.svs-full-product-page .quantity { float:none!important; margin:0!important; }
.svs-full-product-page .quantity .qty { width:78px!important; height:54px!important; border:1px solid #c8c8c8!important; border-radius:4px!important; }
.svs-full-product-page .single_add_to_cart_button { min-height:54px!important; flex:1 1 260px; border-radius:4px!important; padding:0 20px!important; background:#c91f2c!important; color:#fff!important; font-size:16px!important; font-weight:900!important; text-transform:none; }
.svs-full-product-page .single_add_to_cart_button:hover { background:#a91823!important; }
.svs-fpp-inline-quote { min-height:54px; border:0; padding:0 8px; background:transparent; color:#255b8c; font-size:14px; font-weight:900; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.svs-fpp-original-quote-toggle { display:none!important; }
.svs-full-product-page .svs-product-quote { margin-top:12px; }
.svs-full-product-page .svs-quote-form { border:1px solid #dfe3e7; border-radius:5px; padding:18px; background:#fff; }
.svs-full-product-page .svs-tier-price-notice,.svs-full-product-page .product_meta { display:none!important; }

/* Section 1 lower banners. */
.svs-fpp-cert-banners { display:grid; grid-template-columns:1fr; margin:24px 0 0; border:1px solid #dfdbd4; }
.svs-fpp-cert-banners>div { display:flex; min-height:70px; align-items:center; gap:16px; padding:14px 22px; background:#fff; }
.svs-fpp-cert-banners .svs-fpp-cert-primary { background:#ffc928; }
.svs-fpp-cert-banners strong,.svs-fpp-cert-banners small { display:block; }
.svs-fpp-cert-banners strong { font-size:17px; text-transform:uppercase; }
.svs-fpp-cert-banners small { margin-top:2px; font-size:12px; }
.svs-fpp-shield,.svs-fpp-stack { display:grid; width:44px; height:44px; flex:0 0 44px; place-items:center; border:2px solid #222; border-radius:12px; font-weight:900; }

/* Numbered section visual system (numbers are annotations in the client's document, not live UI). */
.svs-fpp-section { padding-top:44px; }
.svs-fpp-section-heading { display:flex; align-items:center; margin-bottom:18px; background:linear-gradient(90deg,#2a2a2a 0,#676767 36%,rgba(255,255,255,0) 75%); }
.svs-fpp-section-heading:before { width:10px; align-self:stretch; background:#ffc928; content:''; }
.svs-fpp-section-heading span { padding:10px 18px; color:#fff; font-size:22px; font-weight:900; }

/* Section 2 sizing. */
.svs-fpp-sizing-card { border:1px solid #dfdbd4; background:#fff; }
.svs-fpp-sizing-benefits { display:flex; flex-wrap:wrap; gap:25px; border-bottom:1px solid #e5e1dc; padding:16px 22px; }
.svs-fpp-sizing-benefits>span { display:flex; align-items:center; gap:10px; }
.svs-fpp-sizing-benefits b { display:grid; width:36px; height:36px; place-items:center; border:2px solid #222; border-radius:50%; }
.svs-fpp-sizing-benefits strong,.svs-fpp-sizing-benefits small { display:block; }
.svs-fpp-sizing-benefits small { color:#666; font-size:10px; }
.svs-fpp-size-content { display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:start; padding:24px; }
.svs-fpp-size-content>img { max-width:320px; max-height:300px; object-fit:contain; }
.svs-fpp-size-content h3 { margin-top:0; }
.svs-fpp-available-sizes { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.svs-fpp-available-sizes span { min-width:46px; border:1px solid #ccc; padding:8px 10px; background:#f8f8f8; font-weight:800; text-align:center; }

/* Section 4 trust. */
.svs-fpp-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.svs-fpp-trust-grid article { display:flex; min-height:95px; align-items:center; gap:13px; border:1px solid #dedbd5; padding:15px; background:#fff; }
.svs-fpp-trust-grid article:nth-child(even) { background:#fff6d7; }
.svs-fpp-trust-grid b { display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border:2px solid #222; border-radius:50%; font-size:19px; }
.svs-fpp-trust-grid strong,.svs-fpp-trust-grid small { display:block; }
.svs-fpp-trust-grid strong { font-size:13px; text-transform:uppercase; }
.svs-fpp-trust-grid small { margin-top:3px; color:#666; font-size:10px; }

/* Section 5 tabs and standardization. */
.svs-fpp-details-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:28px; align-items:start; }
.svs-full-product-page .woocommerce-tabs { margin:0!important; }
.svs-full-product-page .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; margin:0 0 20px!important; border-bottom:1px solid #cfcac3; padding:0!important; }
.svs-full-product-page .woocommerce-tabs ul.tabs:before,.svs-full-product-page .woocommerce-tabs ul.tabs li:before,.svs-full-product-page .woocommerce-tabs ul.tabs li:after { display:none!important; }
.svs-full-product-page .woocommerce-tabs ul.tabs li { margin:0!important; border:1px solid #cfcac3!important; border-bottom:0!important; border-radius:0!important; background:#fff!important; }
.svs-full-product-page .woocommerce-tabs ul.tabs li.active { border-color:#222!important; background:#222!important; }
.svs-full-product-page .woocommerce-tabs ul.tabs li a { padding:12px 18px!important; color:#555!important; font-size:13px; font-weight:800!important; }
.svs-full-product-page .woocommerce-tabs ul.tabs li.active a { color:#fff!important; }
.svs-full-product-page .woocommerce-tabs .panel { padding:0!important; color:#3d3d3d; line-height:1.75; }
.svs-full-product-page .woocommerce-tabs .panel>h2:first-child { margin:0 0 15px; border-bottom:1px solid #ddd; padding-bottom:12px; font-size:24px; }
.svs-fpp-standardize-card { border:1px solid #ddd8d2; padding:18px; background:#fff; }
.svs-fpp-standardize-card>h2 { margin:0 0 14px; font-size:23px; }
.svs-fpp-standardize-copy { border:1px solid #e2ded8; padding:16px; background:#fcfbf9; }
.svs-fpp-standardize-copy h3 { margin:0 0 8px; font-size:18px; }
.svs-fpp-standardize-copy ul { margin:12px 0 0; padding-left:19px; }
.svs-fpp-yellow-button,.svs-fpp-red-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; border-radius:3px; padding:10px 16px; font-weight:900; text-align:center; text-decoration:none!important; }
.svs-fpp-yellow-button { margin-top:14px; background:#ffc928; color:#1d1d1d!important; }
.svs-fpp-red-button { background:#c91f2c; color:#fff!important; }

/* Section 6 bundles. */
.svs-fpp-bundles-intro { margin-bottom:20px; text-align:center; }
.svs-fpp-bundles-intro h2 { margin:0 0 7px; font-size:27px; }
.svs-fpp-bundles-intro p { margin:0; color:#666; }
.svs-fpp-bundle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svs-fpp-bundle-card { overflow:hidden; border:1px solid #ddd9d2; background:#fff; }
.svs-fpp-bundle-image { display:flex; min-height:230px; align-items:center; justify-content:center; background:#f7f5f1; }
.svs-fpp-bundle-image img { width:100%; height:230px; object-fit:contain; }
.svs-fpp-bundle-body { padding:17px; }
.svs-fpp-bundle-body h3 { min-height:48px; margin:0 0 10px; font-size:19px; }
.svs-fpp-bundle-body h3 a { color:#222; text-decoration:none; }
.svs-fpp-bundle-body ul { min-height:94px; margin:0 0 12px; padding-left:18px; font-size:12px; }
.svs-fpp-bundle-price { margin:10px 0; font-size:24px; font-weight:900; }
.svs-fpp-bundle-actions { display:grid; gap:8px; }
.svs-fpp-bundle-actions .svs-fpp-yellow-button { margin-top:0; }
.svs-fpp-empty-bundles { border:1px solid #ddd9d2; padding:25px; background:#fff; text-align:center; }

/* Section 7 reviews and FAQ. */
.svs-fpp-reviews-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; }
.svs-fpp-review-column h2,.svs-fpp-faq-column h2 { margin:0 0 15px; font-size:26px; }
.svs-fpp-review-card { margin-bottom:12px; border:1px solid #ddd9d2; padding:18px; background:#fff; }
.svs-fpp-stars { color:#f5b400; letter-spacing:2px; }
.svs-fpp-review-card blockquote { margin:10px 0; color:#444; }
.svs-fpp-review-card strong,.svs-fpp-review-card small { display:block; }
.svs-fpp-review-card small { margin-top:3px; color:#777; }
.svs-fpp-faq-list { border:1px solid #ddd9d2; background:#fff; }
.svs-fpp-faq-list details { border-bottom:1px solid #e1ded9; }
.svs-fpp-faq-list details:last-child { border-bottom:0; }
.svs-fpp-faq-list summary { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:15px; padding:13px 18px; font-size:15px; cursor:pointer; list-style:none; }
.svs-fpp-faq-list summary::-webkit-details-marker { display:none; }
.svs-fpp-faq-list summary span { font-size:28px; transition:transform .2s; }
.svs-fpp-faq-list details[open] summary span { transform:rotate(90deg); }
.svs-fpp-faq-list details>div { padding:0 18px 16px; color:#555; line-height:1.65; }

/* Sections 8 and 9. */
.svs-fpp-serving-contractors,.svs-fpp-footer-trust { width:100vw; margin-left:calc(50% - 50vw); }
.svs-fpp-serving-contractors { display:grid; grid-template-columns:1.35fr .8fr .8fr; align-items:center; margin-top:46px; padding:20px max(24px,calc((100vw - 1180px)/2)); border-top:1px solid #ddd9d2; background:#f7f5f1; }
.svs-fpp-serving-contractors>div,.svs-fpp-serving-contractors>a { display:flex; min-height:58px; align-items:center; gap:12px; padding:8px 16px; color:#333; text-decoration:none; }
.svs-fpp-serving-main>span { color:#d91f2d; font-size:34px; }
.svs-fpp-serving-contractors b { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid #222; border-radius:50%; }
.svs-fpp-serving-contractors strong,.svs-fpp-serving-contractors small { display:block; }
.svs-fpp-serving-contractors small { margin-top:2px; color:#666; font-size:10px; }
.svs-fpp-footer-trust { display:grid; grid-template-columns:repeat(3,1fr); padding:0 max(24px,calc((100vw - 1180px)/2)); background:#222; color:#fff; }
.svs-fpp-footer-trust>div { display:flex; min-height:92px; align-items:center; justify-content:center; gap:13px; padding:18px; }
.svs-fpp-footer-trust>div>span { display:grid; width:44px; height:44px; flex:0 0 44px; place-items:center; border:2px solid #fff; border-radius:50%; font-size:20px; }
.svs-fpp-footer-trust strong,.svs-fpp-footer-trust small { display:block; }
.svs-fpp-footer-trust strong { font-size:13px; text-transform:uppercase; }
.svs-fpp-footer-trust small { margin-top:3px; color:#ddd; font-size:10px; }
.svs-full-product-page .sw-site-footer { display:none!important; }
.svs-full-product-page .related.products,.svs-full-product-page .upsells.products,.svs-full-product-page .svs-product-contractors { display:none!important; }

@media (max-width:980px) {
  .svs-fpp-product-main,.svs-fpp-details-grid,.svs-fpp-reviews-faq-grid { grid-template-columns:1fr; }
  .svs-fpp-trust-grid,.svs-fpp-bundle-grid { grid-template-columns:repeat(2,1fr); }
  .svs-fpp-serving-contractors { grid-template-columns:1fr; }
  .svs-fpp-serving-contractors>div,.svs-fpp-serving-contractors>a { border-bottom:1px solid #ddd; }
  .svs-full-product-page .sw-header-actions { display:none!important; }
}

@media (max-width:640px) {
  .svs-full-product-page .site-main,.svs-full-product-page .woocommerce-notices-wrapper,.svs-full-product-page .svs-fpp-product { width:min(100% - 24px,1180px); }
  .svs-fpp-product-intro { padding-top:28px; }
  .svs-fpp-product-intro h1 { font-size:31px; }
  .svs-fpp-product-main { gap:26px; padding-top:22px; }
  .svs-full-product-page .woocommerce-product-gallery__image a { min-height:360px; }
  .svs-full-product-page .woocommerce-product-gallery__image img { max-height:360px; }
  .svs-fpp-header-assurances { display:grid; }
  .svs-fpp-header-assurances span { width:100%; }
  .svs-full-product-page .svs-placement-options { grid-template-columns:1fr; }
  .svs-full-product-page .svs-placement-options span { min-height:82px; }
  .svs-full-product-page .single_add_to_cart_button,.svs-fpp-inline-quote { flex:0 0 100%; width:100%; }
  .svs-fpp-section { padding-top:34px; }
  .svs-fpp-section-heading span { font-size:19px; }
  .svs-fpp-size-content { grid-template-columns:1fr; padding:16px; }
  .svs-fpp-size-content>img { width:100%; max-width:none; }
  .svs-fpp-trust-grid,.svs-fpp-bundle-grid { grid-template-columns:1fr; }
  .svs-full-product-page .woocommerce-tabs ul.tabs { overflow-x:auto; flex-wrap:nowrap; }
  .svs-full-product-page .woocommerce-tabs ul.tabs li { flex:0 0 auto; }
  .svs-fpp-footer-trust { grid-template-columns:1fr; }
  .svs-fpp-footer-trust>div { justify-content:flex-start; border-bottom:1px solid #444; }
  .svs-fpp-serving-contractors { padding-left:12px; padding-right:12px; }
}

/* v2.0.1 placement option card correction: match compact three-card client layout */
.svs-full-product-page .svs-placement-options { gap: 14px; }
.svs-full-product-page .svs-placement-options label { display:block; position:relative; }
.svs-full-product-page .svs-placement-options label > span {
  display:flex;
  min-height:126px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:2px solid #d7d7d7;
  border-radius:6px;
  padding:16px 10px 14px;
  background:#f3f3f3;
  color:#1c1c1c;
  font-size:18px;
  font-weight:900;
  line-height:1.1;
  text-align:center;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.svs-full-product-page .svs-placement-options label > span b {
  display:block;
  margin:0;
  font-size:50px;
  line-height:1;
  font-weight:700;
}
.svs-full-product-page .svs-placement-options label > span small { display:none !important; }
.svs-full-product-page .svs-placement-options label > span .woocommerce-Price-amount,
.svs-full-product-page .svs-placement-options label > span .woocommerce-Price-currencySymbol { display:none !important; }
.svs-full-product-page .svs-placement-options input:checked + span {
  border-color:#8b8b8b;
  background:linear-gradient(180deg,#9a9a9a 0%, #707070 100%);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.svs-full-product-page .svs-placement-options input:checked + span b { color:#fff; }
.svs-full-product-page .svs-placement-options label:first-of-type > span { background:#fbfbfb; }
.svs-full-product-page .svs-placement-options label:nth-of-type(3) > span { background:#efefef; }
@media (max-width: 767px) {
  .svs-full-product-page .svs-placement-options { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .svs-full-product-page .svs-placement-options label > span { min-height:100px; font-size:15px; padding:12px 6px; gap:8px; }
  .svs-full-product-page .svs-placement-options label > span b { font-size:34px; }
}

/* v2.0.2 placement image cards: use user-provided artwork for Left Chest, Full Back, Both */
.svs-full-product-page .svs-placement-options label > span {
  position: relative;
  min-height: 196px;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 10px 16px;
  overflow: hidden;
}
.svs-full-product-page .svs-placement-options label > span::before {
  content: "";
  display: block;
  width: 100%;
  height: 108px;
  margin: 0 auto 2px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: saturate(.95) contrast(1.02);
}
.svs-full-product-page .svs-placement-options label:nth-of-type(1) > span::before {
  background-image: url('../images/placements/left-chest.jpg');
}
.svs-full-product-page .svs-placement-options label:nth-of-type(2) > span::before {
  background-image: url('../images/placements/full-back.png');
}
.svs-full-product-page .svs-placement-options label:nth-of-type(3) > span::before {
  background-image: url('../images/placements/both.webp');
}
.svs-full-product-page .svs-placement-options label > span b {
  display: none !important;
}
.svs-full-product-page .svs-placement-options label > span {
  font-size: 17px;
}
.svs-full-product-page .svs-placement-options label > span small {
  display: none !important;
}
.svs-full-product-page .svs-placement-options input:checked + span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(60,60,60,.22) 0%, rgba(20,20,20,.10) 100%);
  pointer-events: none;
}
.svs-full-product-page .svs-placement-options input:checked + span::before,
.svs-full-product-page .svs-placement-options input:checked + span strong,
.svs-full-product-page .svs-placement-options input:checked + span {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .svs-full-product-page .svs-placement-options label > span {
    min-height: 132px;
    padding: 10px 6px 12px;
    font-size: 14px;
  }
  .svs-full-product-page .svs-placement-options label > span::before {
    height: 64px;
  }
}

/* v2.0.3 placement card correction: swap Left Chest/Both images and normalize visual size */
.svs-full-product-page .svs-placement-options label:nth-of-type(1) > span::before {
  background-image: url('../images/placements/both.webp');
  background-size: 76% auto;
  background-position: center 12px;
}
.svs-full-product-page .svs-placement-options label:nth-of-type(2) > span::before {
  background-image: url('../images/placements/full-back.png');
  background-size: 58% auto;
  background-position: center 8px;
}
.svs-full-product-page .svs-placement-options label:nth-of-type(3) > span::before {
  background-image: url('../images/placements/left-chest.jpg');
  background-size: 86% auto;
  background-position: center 10px;
}
.svs-full-product-page .svs-placement-options label > span::before {
  height: 112px;
}
@media (max-width: 767px) {
  .svs-full-product-page .svs-placement-options label:nth-of-type(1) > span::before {
    background-size: 74% auto;
    background-position: center 8px;
  }
  .svs-full-product-page .svs-placement-options label:nth-of-type(2) > span::before {
    background-size: 56% auto;
    background-position: center 6px;
  }
  .svs-full-product-page .svs-placement-options label:nth-of-type(3) > span::before {
    background-size: 84% auto;
    background-position: center 7px;
  }
  .svs-full-product-page .svs-placement-options label > span::before {
    height: 68px;
  }
}

/* v2.0.4 restore the real SafetyWest theme footer on product pages. */
.svs-full-product-page .sw-site-footer {
  display: block !important;
  width: 100%;
  clear: both;
}
/* Section 9 already supplies the product-page trust bar, so avoid a duplicate trust row inside the theme footer. */
.svs-full-product-page .sw-site-footer .svs-footer-trust {
  display: none !important;
}

/* v2.0.5 final placement artwork update: use new uniform 800x800 images and keep theme footer restored */
.svs-full-product-page .svs-placement-options label:nth-of-type(1) > span::before {
  background-image: url('../images/placements/left-chest-uniform.jpg');
  background-size: 70% auto;
  background-position: center 10px;
}
.svs-full-product-page .svs-placement-options label:nth-of-type(2) > span::before {
  background-image: url('../images/placements/full-back-uniform.jpg');
  background-size: 70% auto;
  background-position: center 10px;
}
.svs-full-product-page .svs-placement-options label:nth-of-type(3) > span::before {
  background-image: url('../images/placements/both-uniform.jpg');
  background-size: 88% auto;
  background-position: center 10px;
}
.svs-full-product-page .svs-placement-options label > span::before {
  height: 114px;
  filter: none;
}
@media (max-width: 767px) {
  .svs-full-product-page .svs-placement-options label:nth-of-type(1) > span::before,
  .svs-full-product-page .svs-placement-options label:nth-of-type(2) > span::before {
    background-size: 72% auto;
    background-position: center 8px;
  }
  .svs-full-product-page .svs-placement-options label:nth-of-type(3) > span::before {
    background-size: 92% auto;
    background-position: center 8px;
  }
  .svs-full-product-page .svs-placement-options label > span::before {
    height: 70px;
  }
}

/* v2.0.6: preserve WooCommerce Colour/Size controls and remove the legacy duplicate logo attribute row. */
.svs-full-product-page .variations tr.svs-fpp-hidden-duplicate-logo,
.svs-full-product-page .svs-fpp-hidden-duplicate-logo {
  display: none !important;
}
.svs-full-product-page form.variations_form .variations {
  order: 1;
}
.svs-full-product-page form.variations_form .single_variation_wrap {
  order: 2;
}
.svs-full-product-page .variations tr:not(.svs-fpp-hidden-duplicate-logo) {
  display: block !important;
}

/* v2.0.7 hard removal of the separate legacy product-addon logo block. */
.svs-full-product-page .svs-fpp-hidden-duplicate-logo,
.svs-full-product-page [data-svs-legacy-disabled="1"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* v2.0.8 Colour and Size controls for simple/non-variable products. */
.svs-full-product-page .svs-fpp-simple-options {
  display:grid;
  gap:14px;
  margin:0 0 18px;
  border-bottom:1px solid #e2e2e2;
  padding:0 0 18px;
}
.svs-full-product-page .svs-fpp-simple-option-group {
  margin:0;
  border:0;
  padding:0;
}
.svs-full-product-page .svs-fpp-simple-option-group legend {
  margin:0 0 8px;
  color:#222;
  font-size:14px;
  font-weight:900;
}
.svs-full-product-page .svs-fpp-simple-colour-list,
.svs-full-product-page .svs-fpp-simple-size-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.svs-full-product-page .svs-fpp-simple-colour,
.svs-full-product-page .svs-fpp-simple-size {
  cursor:pointer;
}
.svs-full-product-page .svs-fpp-simple-colour {
  display:inline-flex;
  min-width:54px;
  flex-direction:column;
  align-items:center;
  gap:4px;
  border:0;
  padding:0;
  background:transparent;
  color:#222;
}
.svs-full-product-page .svs-fpp-simple-colour-chip {
  display:block;
  width:48px;
  height:34px;
  border:2px solid transparent;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
}
.svs-full-product-page .svs-fpp-simple-colour small {
  font-size:10px;
  font-weight:800;
}
.svs-full-product-page .svs-fpp-simple-colour.is-selected .svs-fpp-simple-colour-chip {
  border-color:#222;
}
.svs-full-product-page .svs-fpp-simple-size {
  min-width:44px;
  height:40px;
  border:1px solid #c8c8c8;
  padding:0 12px;
  background:#fff;
  color:#222;
  font-weight:850;
}
.svs-full-product-page .svs-fpp-simple-size.is-selected {
  border-color:#222;
  background:#222;
  color:#fff;
}


/* v2.1.0 client-approved product logic and top-page structure */
.svs-full-product-page .svs-fpp-decoration-choice {
  margin:0 0 12px;
}
.svs-full-product-page .svs-fpp-decoration-choice label {
  display:block;
  margin:0 0 5px;
  font-size:13px;
  font-weight:900;
}
.svs-full-product-page .svs-fpp-decoration-choice select {
  width:100%;
  min-height:42px;
  border:1px solid #c9c9c9;
  border-radius:2px;
  padding:8px 38px 8px 10px;
  background:#fff;
  font-size:13px;
}
.svs-full-product-page .svs-fpp-client-options {
  display:grid;
  gap:10px;
  margin:0 0 12px;
  border:0;
  padding:0;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-option-group {
  display:grid;
  grid-template-columns:48px 1fr;
  align-items:center;
  gap:8px;
}
.svs-full-product-page .svs-fpp-client-options legend {
  margin:0;
  font-size:13px;
  font-weight:900;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour-list,
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size-list {
  gap:4px;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour {
  min-width:38px;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour-chip {
  width:38px;
  height:24px;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour small {
  display:none;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size {
  min-width:34px;
  height:30px;
  padding:0 8px;
  font-size:12px;
}
.svs-full-product-page table.variations {
  margin:0 0 12px!important;
}
.svs-full-product-page table.variations tr {
  display:grid!important;
  grid-template-columns:70px minmax(0,1fr);
  align-items:center;
  gap:8px;
  margin-bottom:9px;
}
.svs-full-product-page table.variations th.label,
.svs-full-product-page table.variations td.value {
  display:block!important;
  width:auto!important;
}
.svs-full-product-page table.variations th.label label {
  margin:0;
}
.svs-full-product-page .svs-fpp-top-purchase-row {
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 14px;
}
.svs-full-product-page .svs-fpp-top-quantity-slot {
  flex:0 0 auto;
}
.svs-full-product-page .svs-fpp-top-button-slot {
  display:flex;
  flex:1 1 auto;
  align-items:center;
  gap:10px;
}
.svs-full-product-page .svs-fpp-top-button-slot .single_add_to_cart_button {
  width:100%;
  min-height:48px!important;
  flex:1 1 auto;
  text-transform:uppercase;
}
.svs-full-product-page .svs-fpp-top-button-slot .svs-fpp-inline-quote {
  white-space:nowrap;
}
.svs-full-product-page .svs-fpp-client-customizer {
  margin:20px 0 0;
  border:1px solid #d7d2cc;
  border-radius:0;
  padding:0;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
}
.svs-full-product-page .svs-fpp-client-customizer[hidden] {
  display:none!important;
}
.svs-full-product-page .svs-fpp-config-product-head {
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:18px;
  align-items:center;
  border-bottom:1px solid #e1ddd8;
  padding:18px 20px;
  background:#fbfaf8;
}
.svs-full-product-page .svs-fpp-config-thumb {
  display:flex;
  width:92px;
  height:112px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.svs-full-product-page .svs-fpp-config-thumb img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.svs-full-product-page .svs-fpp-config-product-copy h3 {
  margin:0 0 3px;
  font-size:22px;
  line-height:1.15;
}
.svs-full-product-page .svs-fpp-selected-variation {
  margin:0 0 14px;
  color:#666;
  font-size:12px;
}
.svs-full-product-page .svs-fpp-config-product-copy ul {
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.svs-full-product-page .svs-fpp-config-product-copy li {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
}
.svs-full-product-page .svs-fpp-status-icon {
  display:grid;
  width:25px;
  height:25px;
  place-items:center;
  border:1px solid #333;
  border-radius:50%;
  font-weight:900;
}
.svs-full-product-page .svs-fpp-colour-dots {
  display:flex;
  gap:5px;
}
.svs-full-product-page .svs-fpp-colour-dots i {
  width:18px;
  height:18px;
  border-radius:3px;
  background:#f47a18;
}
.svs-full-product-page .svs-fpp-colour-dots i+ i {
  background:#9fd331;
}
.svs-full-product-page .svs-fpp-customization-body {
  padding:18px 20px 0;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-placement-options {
  gap:14px;
  margin:0 0 16px;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-placement-options legend {
  margin-bottom:10px;
  font-size:18px;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-placement-options label > span {
  min-height:150px;
  border:1px solid #cecece;
  border-radius:3px;
  padding:12px 8px 14px;
  background:#f4f4f4;
  font-size:17px;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-placement-options label > span::before {
  height:88px;
  margin:0 auto 7px;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-placement-options input:checked+span {
  border-color:#777;
  background:linear-gradient(#9b9b9b,#747474);
  color:#fff;
}
.svs-full-product-page .svs-fpp-price-line,
.svs-full-product-page .svs-fpp-client-customizer .svs-customizer-summary>div {
  display:flex;
  min-height:52px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid #ddd8d2;
  border-bottom:0;
  padding:10px 0;
  font-size:18px;
}
.svs-full-product-page .svs-fpp-price-line strong,
.svs-full-product-page .svs-fpp-client-customizer .svs-customizer-summary strong {
  font-size:22px;
}
.svs-full-product-page .svs-fpp-artwork-panel {
  margin:0;
  border-top:1px solid #e5e0da;
  padding:13px 0;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-customizer-summary {
  margin:0;
  border-top:0;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-estimated-total {
  min-height:66px!important;
  font-size:22px!important;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-estimated-total strong {
  display:flex;
  align-items:baseline;
  gap:7px;
  font-size:31px!important;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-estimated-total strong small {
  font-size:15px;
  font-weight:800;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-customizer-summary em {
  display:inline-grid;
  width:18px;
  height:18px;
  margin-left:5px;
  place-items:center;
  border-radius:50%;
  background:#aaa;
  color:#fff;
  font-size:11px;
  font-style:normal;
}
.svs-full-product-page .svs-fpp-customizer-button-slot {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:15px 0 12px;
}
.svs-full-product-page .svs-fpp-customizer-button-slot .single_add_to_cart_button {
  width:100%;
  min-height:58px!important;
  flex:1 1 100%;
  border-radius:3px!important;
  font-size:20px!important;
}
.svs-full-product-page .svs-fpp-customizer-button-slot .svs-fpp-inline-quote {
  width:100%;
  min-height:34px;
}
.svs-full-product-page .svs-fpp-logo-reorder-note {
  margin:0 -20px;
  padding:13px 20px;
  background:#f0efed;
  color:#444;
  font-size:14px;
  text-align:center;
}
.svs-full-product-page .svs-fpp-client-customizer .svs-save-kit-line {
  margin:0 -20px;
  padding:12px 20px;
  background:#fff;
}
.svs-full-product-page .svs-fpp-actual-logo-source,
.svs-full-product-page .svs-fpp-hidden-method,
.svs-full-product-page .svs-fpp-hidden-decoration-total {
  display:none!important;
}
@media (max-width:767px) {
  .svs-full-product-page .svs-fpp-config-product-head {
    grid-template-columns:70px minmax(0,1fr);
    gap:12px;
    padding:14px;
  }
  .svs-full-product-page .svs-fpp-config-thumb {
    width:70px;
    height:88px;
  }
  .svs-full-product-page .svs-fpp-config-product-copy h3 {
    font-size:18px;
  }
  .svs-full-product-page .svs-fpp-client-customizer .svs-placement-options {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .svs-full-product-page .svs-fpp-client-customizer .svs-placement-options label > span {
    min-height:112px;
    padding:8px 4px 10px;
    font-size:13px;
  }
  .svs-full-product-page .svs-fpp-client-customizer .svs-placement-options label > span::before {
    height:58px;
  }
  .svs-full-product-page .svs-fpp-top-purchase-row {
    align-items:stretch;
  }
  .svs-full-product-page .svs-fpp-top-button-slot {
    flex-wrap:wrap;
  }
}

/* v2.1.1 professional top product option layout */
.svs-full-product-page .svs-fpp-decoration-choice {
  margin: 0 0 16px;
}
.svs-full-product-page .svs-fpp-decoration-choice label {
  margin: 0 0 8px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}
.svs-full-product-page .svs-fpp-decoration-choice select {
  min-height: 56px;
  border: 1px solid #d7d2cb;
  border-radius: 14px;
  padding: 10px 44px 10px 16px;
  box-shadow: 0 1px 0 rgba(17,24,39,.02);
  color: #111827;
  font-size: 16px;
  font-weight: 700;
}

.svs-full-product-page .svs-fpp-client-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
  margin: 0 0 18px;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-option-group {
  display: block;
  min-height: 116px;
  border: 1px solid #e5dfd8;
  border-radius: 18px;
  padding: 14px 14px 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(15,23,42,.04);
}
.svs-full-product-page .svs-fpp-client-options legend {
  display: block;
  margin: 0 0 10px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour-list,
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour {
  min-width: 52px;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour-chip {
  width: 46px;
  height: 34px;
  border: 2px solid #d0d5dd;
  border-radius: 8px;
  box-shadow: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour:hover .svs-fpp-simple-colour-chip,
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour:focus-visible .svs-fpp-simple-colour-chip {
  border-color: #111827;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(15,23,42,.08);
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colour.is-selected .svs-fpp-simple-colour-chip {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(255,201,40,.32);
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size {
  min-width: 54px;
  height: 42px;
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  padding: 0 14px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  font-weight: 800;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size:hover,
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size:focus-visible {
  border-color: #111827;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(15,23,42,.08);
}
.svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-size.is-selected {
  border-color: #111827;
  background: #111827;
  color: #fff;
  box-shadow: 0 0 0 3px rgba(255,201,40,.22);
}

.svs-full-product-page .svs-fpp-top-purchase-row {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 18px;
  align-items: end;
  margin: 0 0 18px;
}
.svs-full-product-page .svs-fpp-top-quantity-slot {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.svs-full-product-page .svs-fpp-top-quantity-slot::before {
  content: 'Qty:';
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}
.svs-full-product-page .svs-fpp-top-quantity-slot .quantity {
  width: 100%;
}
.svs-full-product-page .svs-fpp-top-quantity-slot .qty {
  width: 100% !important;
  height: 56px !important;
  border: 1px solid #d7d2cb !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #111827;
  font-size: 18px;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(15,23,42,.04);
}
.svs-full-product-page .svs-fpp-top-button-slot {
  display: flex;
  align-items: center;
  gap: 12px;
}
.svs-full-product-page .svs-fpp-top-button-slot:empty {
  display: none;
}
.svs-full-product-page .svs-fpp-top-button-slot .single_add_to_cart_button {
  min-height: 56px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  letter-spacing: .02em;
  box-shadow: 0 10px 22px rgba(201,31,44,.18);
}
.svs-full-product-page .svs-fpp-top-button-slot .svs-fpp-inline-quote {
  min-height: 56px;
  padding: 0 14px;
  color: #17466f;
  font-size: 14px;
  text-decoration: none;
}
.svs-full-product-page .svs-fpp-top-button-slot .svs-fpp-inline-quote:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-colours,
  .svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-sizes {
    align-self: start;
  }
}
@media (max-width: 767px) {
  .svs-full-product-page .svs-fpp-client-options {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .svs-full-product-page .svs-fpp-client-options .svs-fpp-simple-option-group {
    min-height: auto;
    padding: 12px;
    border-radius: 14px;
  }
  .svs-full-product-page .svs-fpp-decoration-choice select {
    min-height: 52px;
    border-radius: 12px;
    font-size: 15px;
  }
  .svs-full-product-page .svs-fpp-top-purchase-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .svs-full-product-page .svs-fpp-top-quantity-slot {
    max-width: 132px;
  }
}

/* v2.2.0 responsive professional product option console */
.svs-full-product-page .svs-fpp-option-console {
  --svs-console-border:#e6e0d9;
  --svs-console-ink:#111827;
  --svs-console-muted:#667085;
  --svs-console-gold:#f7c948;
  margin:18px 0 20px;
  border:1px solid var(--svs-console-border);
  border-radius:16px;
  padding:14px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.svs-full-product-page .svs-fpp-option-console-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.svs-full-product-page .svs-fpp-option-card {
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  align-items:center;
  gap:16px;
  min-width:0;
  border-bottom:1px solid #eee9e3;
  padding:14px 4px;
  background:#fff;
}
.svs-full-product-page .svs-fpp-option-card:last-child { border-bottom:0; }
.svs-full-product-page .svs-fpp-option-card-head {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.svs-full-product-page .svs-fpp-option-card-head h3 {
  margin:0;
  color:var(--svs-console-ink);
  font-size:15px;
  font-weight:900;
  line-height:1.2;
}
.svs-full-product-page .svs-fpp-option-step {
  display:grid;
  width:29px;
  height:29px;
  flex:0 0 29px;
  place-items:center;
  border-radius:50%;
  background:#ffe5a5;
  color:#3d2b00;
  font-size:13px;
  font-weight:900;
}
.svs-full-product-page .svs-fpp-option-card-body { min-width:0; }
.svs-full-product-page .svs-fpp-console-native-label { display:none!important; }
.svs-full-product-page .svs-fpp-console-consumed { display:none!important; }
.svs-full-product-page .svs-fpp-console-source-row { display:none!important; }
.svs-full-product-page .svs-fpp-client-options:empty,
.svs-full-product-page .svs-fpp-client-options:not(:has(.svs-fpp-simple-option-group)) { display:none!important; }

.svs-full-product-page .svs-fpp-console-decoration-control { margin:0!important; }
.svs-full-product-page .svs-fpp-console-decoration-control select {
  width:100%;
  min-height:50px;
  border:1px solid #d8d2cb!important;
  border-radius:10px!important;
  padding:10px 42px 10px 14px!important;
  background-color:#fff!important;
  color:var(--svs-console-ink)!important;
  font-size:15px!important;
  font-weight:700!important;
  box-shadow:none!important;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.svs-full-product-page .svs-fpp-console-decoration-control select:hover {
  border-color:#c6a94c!important;
}
.svs-full-product-page .svs-fpp-console-decoration-control select:focus {
  border-color:#d4a900!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(247,201,72,.22)!important;
}
.svs-full-product-page .svs-fpp-option-helper {
  margin:8px 0 0;
  color:var(--svs-console-muted);
  font-size:12px;
  line-height:1.45;
}

.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-option-group {
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatches,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-size-options,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour-list,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-size-list {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatch,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour {
  position:relative;
  display:inline-grid;
  min-width:44px!important;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid transparent!important;
  border-radius:9px;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-chip,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour-chip {
  display:block;
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(15,23,42,.18)!important;
  border-radius:7px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatch small,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour small { display:none!important; }
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatch:hover,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour:hover {
  border-color:#e0b52d!important;
  background:#fffaf0!important;
  box-shadow:0 0 0 3px rgba(247,201,72,.16)!important;
  transform:none!important;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatch:focus-visible,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour:focus-visible {
  outline:2px solid #111827;
  outline-offset:2px;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatch.is-selected,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour.is-selected {
  border-color:#16213a!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(247,201,72,.35)!important;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-color-swatch.is-selected::after,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-colour.is-selected::after {
  content:'✓';
  position:absolute;
  top:-5px;
  right:-5px;
  display:grid;
  width:19px;
  height:19px;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:#1f2937;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.svs-full-product-page .svs-fpp-option-console .svs-fpp-size-options button,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-size {
  min-width:48px!important;
  height:42px!important;
  border:1px solid #d6d2cc!important;
  border-radius:8px!important;
  padding:0 13px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
  transform:none!important;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-size-options button:hover,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-size:hover {
  border-color:#d5a900!important;
  background:#fffaf0!important;
  color:#111827!important;
  box-shadow:0 0 0 3px rgba(247,201,72,.14)!important;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-size-options button:focus-visible,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-size:focus-visible {
  outline:2px solid #111827;
  outline-offset:2px;
}
.svs-full-product-page .svs-fpp-option-console .svs-fpp-size-options button.is-selected,
.svs-full-product-page .svs-fpp-option-console .svs-fpp-simple-size.is-selected {
  border-color:#111827!important;
  background:#111827!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(247,201,72,.25)!important;
}
.svs-full-product-page .svs-fpp-option-console button:disabled { opacity:.35!important; cursor:not-allowed!important; }
.svs-full-product-page .svs-fpp-console-choice-list.is-collapsed .svs-fpp-console-extra-choice { display:none!important; }
.svs-full-product-page .svs-fpp-choice-toggle,
.svs-full-product-page .svs-fpp-size-guide-link {
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:10px;
  border:0;
  padding:0;
  background:transparent;
  color:#465467;
  font-size:12px;
  font-weight:750;
  text-decoration:none;
  cursor:pointer;
}
.svs-full-product-page .svs-fpp-choice-toggle:hover,
.svs-full-product-page .svs-fpp-size-guide-link:hover { color:#111827; text-decoration:underline; }
.svs-full-product-page .svs-fpp-size-guide-link::before { content:'▣'; font-size:11px; }
.svs-full-product-page .svs-fpp-option-unavailable {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  margin:0;
  border:1px solid #d6d2cc;
  border-radius:8px;
  padding:0 14px;
  background:#f8f8f7;
  color:#344054;
  font-size:14px;
  font-weight:750;
}

.svs-full-product-page .svs-fpp-option-console .quantity {
  display:block!important;
  width:auto!important;
  margin:0!important;
}
.svs-full-product-page .svs-fpp-qty-control {
  display:grid;
  grid-template-columns:42px 58px 42px;
  width:max-content;
  overflow:hidden;
  border:1px solid #d6d2cc;
  border-radius:9px;
  background:#fff;
}
.svs-full-product-page .svs-fpp-qty-button {
  display:grid;
  height:44px;
  place-items:center;
  border:0;
  background:#fff;
  color:#344054;
  font-size:20px;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.svs-full-product-page .svs-fpp-qty-button:hover { background:#fff7df; color:#111827; }
.svs-full-product-page .svs-fpp-qty-button:focus-visible { outline:2px solid #111827; outline-offset:-2px; }
.svs-full-product-page .svs-fpp-option-console .qty {
  width:58px!important;
  height:44px!important;
  border:0!important;
  border-right:1px solid #ece8e2!important;
  border-left:1px solid #ece8e2!important;
  border-radius:0!important;
  padding:0!important;
  background:#fff!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:850!important;
  text-align:center!important;
  box-shadow:none!important;
  appearance:textfield;
}
.svs-full-product-page .svs-fpp-option-console .qty::-webkit-inner-spin-button,
.svs-full-product-page .svs-fpp-option-console .qty::-webkit-outer-spin-button { margin:0; appearance:none; }
.svs-full-product-page .svs-fpp-stock-note {
  margin:8px 0 0;
  color:#15803d;
  font-size:12px;
  font-weight:800;
}

.svs-full-product-page .svs-fpp-option-console-actions {
  display:grid;
  grid-template-columns:minmax(180px,.65fr) minmax(240px,1.35fr);
  gap:12px;
  align-items:center;
  margin-top:14px;
  border-top:1px solid #eee9e3;
  padding-top:14px;
}
.svs-full-product-page .svs-fpp-option-console-actions.is-empty { display:none!important; }
.svs-full-product-page .svs-fpp-option-console-actions .svs-fpp-top-button-slot {
  display:contents!important;
}
.svs-full-product-page .svs-fpp-option-console-actions .svs-fpp-inline-quote {
  order:1;
  min-height:52px;
  border:1px solid #d8d2cb;
  border-radius:9px;
  padding:0 18px;
  background:#fff;
  color:#111827;
  font-size:14px;
  font-weight:850;
  text-decoration:none;
}
.svs-full-product-page .svs-fpp-option-console-actions .svs-fpp-inline-quote:hover {
  border-color:#b9b0a5;
  background:#faf9f7;
  text-decoration:none;
}
.svs-full-product-page .svs-fpp-option-console-actions .single_add_to_cart_button {
  order:2;
  width:100%;
  min-height:52px!important;
  border-radius:9px!important;
  box-shadow:0 10px 20px rgba(201,31,44,.16)!important;
  font-size:16px!important;
}

/* Medium console: two balanced columns. */
.svs-full-product-page .svs-fpp-option-console.is-medium .svs-fpp-option-console-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.svs-full-product-page .svs-fpp-option-console.is-medium .svs-fpp-option-card {
  display:block;
  border:1px solid var(--svs-console-border);
  border-radius:12px;
  padding:14px;
}
.svs-full-product-page .svs-fpp-option-console.is-medium .svs-fpp-option-card-head { margin-bottom:12px; }

/* Wide console: follows the approved four-step desktop composition. */
.svs-full-product-page .svs-fpp-option-console.is-wide .svs-fpp-option-console-grid {
  grid-template-columns:minmax(210px,1.05fr) minmax(310px,1.7fr) minmax(310px,1.7fr) minmax(160px,.8fr);
  gap:8px;
}
.svs-full-product-page .svs-fpp-option-console.is-wide .svs-fpp-option-card {
  display:block;
  border:1px solid var(--svs-console-border);
  border-radius:12px;
  padding:14px;
}
.svs-full-product-page .svs-fpp-option-console.is-wide .svs-fpp-option-card-head { margin-bottom:12px; }

@media (max-width:560px) {
  .svs-full-product-page .svs-fpp-option-console { margin:14px 0 18px; border-radius:12px; padding:10px 12px; }
  .svs-full-product-page .svs-fpp-option-card { grid-template-columns:108px minmax(0,1fr); gap:10px; padding:13px 0; }
  .svs-full-product-page .svs-fpp-option-step { width:26px; height:26px; flex-basis:26px; }
  .svs-full-product-page .svs-fpp-option-card-head h3 { font-size:13px; }
  .svs-full-product-page .svs-fpp-console-decoration-control select { min-height:46px; font-size:14px!important; }
  .svs-full-product-page .svs-fpp-option-helper { display:none; }
  .svs-full-product-page .svs-fpp-option-console-actions { grid-template-columns:1fr; }
  .svs-full-product-page .svs-fpp-option-console-actions .svs-fpp-inline-quote,
  .svs-full-product-page .svs-fpp-option-console-actions .single_add_to_cart_button { width:100%; }
}
