/* Scoped single-product presentation. */
.sf-product-main [hidden],.sf-purchase-bar[hidden]{display:none!important}
.single-product .sf-commerce{width:min(1360px,calc(100% - 64px));max-width:none;margin:0 auto;padding:24px 0 48px;overflow:visible}
.single-product .woocommerce-breadcrumb{font-size:12px;line-height:1.6;margin:0 0 26px;color:var(--muted)}
.single-product .sf-product-main{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;margin:0 0 64px}
.single-product .sf-product-main::before,.single-product .sf-product-main::after{display:none}
.single-product div.product .sf-product-main .summary{float:none;width:auto;margin:0;min-width:0}
.single-product div.product .sf-product-main .woocommerce-product-gallery{float:none;width:100%;min-width:0;margin:0;position:sticky!important;top:116px;background:#fff;border:1px solid #e8e6df;border-radius:4px;overflow:hidden}
/* Paint the native image immediately instead of waiting for gallery JavaScript to fade it in. */
.single-product .sf-product-main .woocommerce-product-gallery{opacity:1!important}
.single-product .sf-product-main .woocommerce-product-gallery img{object-fit:contain}
.single-product .sf-product-main .woocommerce-product-gallery__wrapper{margin:0}
.single-product .sf-product-main .woocommerce-product-gallery .flex-viewport{max-height:70vh}
.single-product .sf-product-main .woocommerce-product-gallery .flex-viewport img{max-height:70vh}
.single-product .sf-product-main .flex-control-thumbs{padding:8px;display:flex;gap:8px;background:var(--canvas)}
.single-product .sf-product-main .flex-control-thumbs li{width:64px!important;float:none!important}
.single-product .sf-product-main .flex-control-thumbs img{max-height:64px}
.single-product .sf-product-main .sf-product-type{color:#796021;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.single-product .sf-product-main .product_title{font-size:clamp(28px,2.7vw,42px);line-height:1.12;letter-spacing:-.035em;margin:0 0 14px}
.single-product .sf-product-main .summary>.price{font-size:24px;font-weight:600;color:var(--deep);margin:0 0 16px}
.single-product .sf-product-main .woocommerce-product-details__short-description{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.single-product .sf-product-main .woocommerce-product-details__short-description p{margin:0 0 10px}
.sf-product-included{font-size:13px;line-height:1.5;border-left:3px solid var(--gold);padding:9px 12px;background:#efece3;margin:0 0 16px}
.sf-product-included strong,.sf-product-included span{display:block}.sf-product-included strong{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.sf-product-facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 18px;font-size:13px;line-height:1.5}.sf-product-facts div{min-width:70px}.sf-product-facts dt{color:var(--muted);font-size:11px}.sf-product-facts dd{margin:0;font-weight:600}
.sf-product-image-note,.sf-compatible{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 18px}.sf-compatible a{text-decoration:underline;text-underline-offset:3px}
.single-product .sf-product-main form.cart{padding-top:20px;border-top:1px solid var(--line);margin:0 0 20px}
.sf-picker-intro{font-size:13px;font-weight:650;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 20px}.sf-picker-intro a{font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.single-product .sf-product-main table.variations{margin:0;border:0;background:none;width:100%}.single-product .sf-product-main table.variations tbody,.single-product .sf-product-main table.variations tr,.single-product .sf-product-main table.variations td,.single-product .sf-product-main table.variations th{display:block;width:100%;background:none;border:0;text-align:left;padding:0}
.single-product .sf-product-main table.variations th{font-size:14px;font-weight:650;margin:0 0 10px;line-height:1.5}.single-product .sf-product-main table.variations td{margin:0 0 20px}
.sf-guided .sf-native-select{display:none}.sf-swatches{display:grid;gap:8px}.sf-materials{grid-template-columns:repeat(4,minmax(0,1fr))}.sf-colours{grid-template-columns:repeat(5,minmax(0,1fr))}
.sf-swatch{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;justify-content:flex-start;width:100%;padding:7px 5px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);cursor:pointer;line-height:1.25;min-height:48px;min-width:0}
.sf-swatch img{width:100%;height:38px;object-fit:cover;border-radius:1px}.sf-swatch span:not(.sf-swatch-check){font-size:10px;text-align:center;overflow-wrap:anywhere}.sf-materials .sf-swatch span:not(.sf-swatch-check){font-size:12px;font-weight:650}.sf-materials .sf-swatch img{height:36px}
.sf-swatch:hover{border-color:#8e938a;background:#fbfaf6}.sf-swatch[aria-pressed=true]{border:2px solid var(--deep);padding:6px 4px;background:#f0eee6}.sf-swatch-check{display:none;position:absolute;right:3px;top:3px;border-radius:50%;width:18px;height:18px;background:var(--deep);color:white;font-size:11px;line-height:18px;text-align:center}.sf-swatch[aria-pressed=true] .sf-swatch-check{display:block}
.sf-colour-hint{font-size:13px;line-height:1.5;padding:15px;background:#efede6;color:var(--muted);border:1px dashed #d2cfc2}.sf-selection-status{font-size:12px;line-height:1.5;margin:10px 0;color:var(--muted)}
.single-product .sf-product-main .reset_variations{display:inline-block;font-size:11px;margin-top:10px;text-decoration:underline}
.sf-mini-preview{display:none}.single-product .sf-product-main .woocommerce-variation-price{font-size:24px;font-weight:600;margin:14px 0 12px;color:var(--deep)}
.single-product .sf-product-main .woocommerce-variation-add-to-cart,.single-product .sf-product-main form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.single-product .sf-product-main form.cart div.quantity{float:none;margin:0;flex:none}
.single-product .sf-product-main .quantity.sf-quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:3px;background:#fff;height:50px;overflow:hidden}
.single-product .sf-product-main .quantity .qty{width:54px;min-width:54px;height:48px;padding:8px 2px!important;border:0;font-size:16px;line-height:1;text-align:center;appearance:textfield;-moz-appearance:textfield;color:var(--ink);background:white;box-shadow:none}
.single-product .sf-product-main .qty::-webkit-inner-spin-button,.single-product .sf-product-main .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.sf-quantity button{width:40px;height:48px;padding:0;border:0;background:#fff;font-size:21px;cursor:pointer;color:var(--ink)}.sf-quantity button:disabled{opacity:.35;cursor:default}.sf-quantity button:not(:disabled):hover{background:var(--sand)}
.single-product .sf-product-main .single_add_to_cart_button{flex:1;float:none;min-height:50px;padding:14px 20px;font-size:14px;line-height:1.4;border-radius:3px;background:var(--gold);color:#182c30;font-weight:650;border:1px solid var(--gold)}
.sf-product-help{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:20px;padding-top:6px}.sf-product-help a{display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:10px 0;gap:14px;font-size:14px;font-weight:600}.sf-product-help a:hover{text-decoration:underline;text-underline-offset:4px}.sf-compatible{margin-top:14px}
.single-product .sf-product-main .soliday-product-enquiry{margin-top:20px}.single-product .sf-product-main .soliday-product-enquiry a{min-width:200px;justify-content:center}
.sf-product-details{max-width:960px;margin:0 auto 64px}.sf-product-details details{border-top:1px solid var(--line)}.sf-product-details details:last-of-type{border-bottom:1px solid var(--line)}
.sf-product-details summary{font-size:20px;font-weight:600;line-height:1.3;cursor:pointer;padding:22px 40px 22px 0;position:relative;list-style:none}.sf-product-details summary::-webkit-details-marker{display:none}.sf-product-details summary::after{content:'+';position:absolute;right:8px;top:22px;font-size:23px;font-weight:400}.sf-product-details details[open]>summary::after{content:'−'}
.sf-detail-body{font-size:15px;line-height:1.75;padding:0 0 26px}.sf-detail-body h2:first-child{display:none}.sf-detail-body h2,.sf-detail-body h3,.sf-detail-body h4,.sf-detail-body h5{font-size:21px!important;line-height:1.35!important;margin:24px 0 12px!important;letter-spacing:-.02em!important}.sf-detail-body p{margin:0 0 16px}.sf-detail-body li{margin:5px 0}.sf-detail-body a{text-decoration:underline;text-underline-offset:3px}.sf-detail-body figure{margin:18px 0}.sf-detail-body table{width:100%;border-collapse:collapse;font-size:14px}.sf-detail-body td,.sf-detail-body th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}
.sf-fabric-links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.sf-fabric-links a{border:1px solid var(--line);padding:9px 16px;min-height:44px;text-decoration:none;font-size:13px}.sf-fabric-links a:hover{background:var(--sand)}.sf-product-sku{font-size:12px;color:var(--muted);margin-top:20px}
.sf-recommendations{margin:0 0 56px}.single-product .sf-recommendations h2{font-size:30px;line-height:1.2;margin:0 0 24px}.single-product .sf-recommendations ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:0}.single-product .sf-recommendations ul.products::before,.single-product .sf-recommendations ul.products::after{display:none}.single-product .sf-recommendations ul.products li.product{float:none;width:auto!important;margin:0!important;display:flex;flex-direction:column;min-width:0}.single-product .sf-recommendations ul.products li.product img{aspect-ratio:1/1;object-fit:contain;background:#fff;border:1px solid #e8e6df}.single-product .sf-recommendations ul.products li.product h2{font-size:16px;line-height:1.4;letter-spacing:-.01em;padding:14px 0 8px;margin:0}.single-product .sf-recommendations .price{font-size:14px;color:var(--ink)}.single-product .sf-recommendations .button{align-self:flex-start;font-size:12px;padding:12px 15px;margin-top:auto}
.sf-purchase-bar{display:none}.sf-product-main input:focus-visible,.sf-product-main select:focus-visible{outline:3px solid #17687d;outline-offset:3px}
.single-product .sf-product-main .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
.sf-product-main .sf-swatch span:not(.sf-swatch-check){font-size:11px}.sf-product-main .sf-materials .sf-swatch span:not(.sf-swatch-check){font-size:12px}
@media(max-width:960px){
 .single-product .sf-commerce{width:calc(100% - 40px)}.single-product .sf-product-main{gap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}.sf-colours{grid-template-columns:repeat(4,minmax(0,1fr))}.sf-materials{gap:5px}.sf-materials .sf-swatch span:not(.sf-swatch-check){font-size:11px}
}
@media(max-width:760px){
 .single-product .sf-commerce{width:calc(100% - 32px);padding-top:16px}.single-product .woocommerce-breadcrumb{font-size:11px;margin-bottom:16px}.single-product .sf-product-main{display:block;margin-bottom:38px}
 .single-product div.product .sf-product-main .woocommerce-product-gallery{position:relative!important;top:auto;margin:0 0 24px;width:100%}
 .single-product .sf-product-main .woocommerce-product-gallery .flex-viewport,.single-product .sf-product-main .woocommerce-product-gallery .flex-viewport img{max-height:390px}
 .single-product .sf-product-main .summary>.price{font-size:22px;margin-bottom:12px}.single-product .sf-product-main .product_title{font-size:30px;margin-bottom:10px}.sf-product-facts{gap:8px 18px;margin-bottom:14px}.sf-product-included{margin-bottom:12px}
 .single-product .sf-product-main form.cart{padding-top:0;border-top:0}.sf-picker-intro{margin:16px 0 18px}.sf-mini-preview:not([hidden]){position:sticky;z-index:10;top:76px;display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:14px;background:#f7f5f0f7;border:1px solid var(--line);padding:8px;margin-bottom:18px;box-shadow:0 4px 8px #263b4208;backdrop-filter:blur(8px)}
 .admin-bar .sf-mini-preview{top:calc(76px + var(--wp-admin--admin-bar--height,46px))}.sf-preview-open{border:0;padding:0;cursor:pointer;background:white}.sf-mini-preview img{width:86px;height:86px;object-fit:contain;background:white}.sf-selection-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sf-selection-value{font-size:12px;font-weight:600;line-height:1.45;margin:3px 0}.sf-preview-price{font-size:16px;font-weight:600}
 .sf-materials{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sf-colours{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.sf-swatch img{height:40px}.sf-swatch span:not(.sf-swatch-check){font-size:10px}.sf-materials .sf-swatch span:not(.sf-swatch-check){font-size:12px}
 .sf-product-details{margin-bottom:40px}.sf-product-details summary{font-size:18px;padding:20px 30px 20px 0}.sf-detail-body{font-size:14px}.sf-recommendations{margin-bottom:40px}.single-product .sf-recommendations h2{font-size:25px}.single-product .sf-recommendations ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
 .sf-has-purchase-bar{padding-bottom:132px}.sf-purchase-bar:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:19;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -4px 18px #263b420a}
 .sf-purchase-bar>div{flex:1;min-width:0}.sf-bar-selection{display:block;font-size:10px;line-height:1.35;max-height:28px;overflow:hidden;color:var(--muted)}.sf-bar-price{display:block;font-size:17px;line-height:1.4;font-weight:650;color:var(--deep)}.sf-bar-action{display:flex;justify-content:center;align-items:center;min-height:48px;max-width:50%;flex-shrink:0;border:1px solid var(--gold);border-radius:3px;padding:10px 14px;background:var(--gold);color:#182c30;font-size:12px;line-height:1.4;font-weight:650;text-align:center;cursor:pointer}.sf-bar-action:disabled{opacity:.55;cursor:default}.sf-menu-visible .sf-purchase-bar{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.sf-swatch,.sf-bar-action{transition:none}}
@media(max-width:760px){
 .sf-bar-question{display:flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px;line-height:1.3}
 .sf-has-purchase-bar .sf-lab-notice{bottom:calc(124px + env(safe-area-inset-bottom))!important;font-size:9px!important;padding:3px 5px!important}
}
