/* Native WooCommerce gallery, variations and purchasing; scoped to product pages. */
.product-page{padding-top:24px}.product-page .woocommerce-breadcrumb{margin-bottom:18px;color:#5f7082}.woocommerce .product-page div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:56px;align-items:start}.woocommerce .product-page div.product::before,.woocommerce .product-page div.product::after{display:none}.woocommerce .product-page div.product div.images,.woocommerce .product-page div.product div.summary{float:none;width:100%;margin:0 0 40px;min-width:0}.product-page .woocommerce-product-gallery__wrapper{margin:0}.product-page .woocommerce-product-gallery__image{border-radius:14px;overflow:hidden;background:var(--surface-muted)}.product-page .woocommerce-product-gallery__image img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.woocommerce .product-page div.product div.images .flex-control-thumbs{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding:3px}.woocommerce .product-page div.product div.images .flex-control-thumbs li{float:none;flex:0 0 82px;width:82px;border-radius:9px;overflow:hidden}.woocommerce .product-page div.product div.images .flex-control-thumbs li img{width:82px;height:82px;object-fit:cover;border:1px solid transparent;border-radius:9px;opacity:.7}.woocommerce .product-page div.product div.images .flex-control-thumbs li img.flex-active{border:1px solid var(--ink);opacity:1}.product-page .onsale{display:none}.product-page .product-availability{font-size:12px;color:#2f7a4f;margin:5px 0 18px}.product-page .product-availability:before{content:'●';font-size:9px;margin-right:7px}.woocommerce .product-page div.product .product_title{margin:0 0 18px;color:var(--ink)}.product-page .woocommerce-product-details__short-description{font-size:15px;color:#5f7082;line-height:1.75;margin-bottom:24px}.product-page .woocommerce-product-details__short-description p{margin:0 0 12px}.woocommerce .product-page div.product p.price{font-size:30px;font-weight:700;line-height:1.4;color:var(--ink);border-top:1px solid var(--line);padding-top:22px;margin:0 0 22px}.product-page p.price ins{text-decoration:none}.product-page p.price del{font-size:19px}.product-page .purchase-offer{display:flex;align-items:center;gap:16px;background:var(--surface-muted);padding:17px 20px;border-radius:10px;margin-bottom:26px}.purchase-offer strong{display:block;font-size:15px;font-weight:650}.purchase-offer span:not(.offer-symbol){display:block;font-size:12px;margin-top:4px}.offer-symbol svg{width:24px;height:24px}.woocommerce .product-page div.product form.cart{margin:24px 0 12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.woocommerce .product-page div.product form.variations_form{display:block}.woocommerce .product-page div.product form.cart .quantity{float:none;margin:0;display:flex;align-items:center;border:1px solid #d7dee6;border-radius:30px;background:var(--surface-muted);height:50px;overflow:hidden;flex:0 0 136px}.product-page .quantity input.qty{width:48px;min-width:0;height:48px;border:0;background:transparent;padding:0;text-align:center;font-size:15px;font-weight:600;appearance:textfield;-moz-appearance:textfield;color:var(--ink);box-shadow:none}.product-page .qty::-webkit-inner-spin-button,.product-page .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}body .product-page button.quantity-step{width:43px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--ink);font-size:22px;border-radius:0;flex-shrink:0}body.woocommerce .product-page div.product form.cart .single_add_to_cart_button{float:none;flex:1;min-height:50px;padding:14px 24px;border-radius:30px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-weight:650;font-size:15px;line-height:1.3}body.woocommerce .product-page .single_add_to_cart_button:hover{background:#0067b0}body.woocommerce .product-page .single_add_to_cart_button.disabled{opacity:.5}.product-page .payment-note{text-align:center;font-size:12px;color:#5f7082;margin:12px 0 26px}.product-delivery{border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px}.product-delivery>div{display:flex;gap:12px;align-items:flex-start}.product-delivery>div+div{border-left:1px solid var(--line);padding-left:20px}.product-delivery small{display:block;color:#5f7082;font-size:11px;margin-top:4px}.woocommerce .product-page div.product .stock{background:none;padding:0;font-size:12px;color:#2f7a4f;margin:0 0 10px}.woocommerce .product-page div.product form.cart .variations{margin:0 0 14px;border:0}.product-page .variations th,.product-page .variations td{background:transparent;border:0;padding:0 0 12px;text-align:left}.product-page .variations label{font-size:13px;font-weight:650}.woocommerce .product-page div.product form.cart .variations select{padding:12px 36px 12px 14px;min-height:46px;border:1px solid #cad3dd;border-radius:9px;background-color:#fff;color:var(--ink);font-size:14px;max-width:100%;min-width:65%;margin-right:10px}.product-page .reset_variations{font-size:12px;text-decoration:underline;text-underline-offset:3px}.product-page .woocommerce-variation-add-to-cart{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.product-page .woocommerce-variation-price{margin:0 0 16px;font-size:22px;font-weight:650}.woocommerce .product-page div.product .woocommerce-tabs{grid-column:1/-1;margin-top:14px;min-width:0}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs{padding:0;display:flex;gap:32px;border-bottom:1px solid var(--line);margin:0 0 28px;overflow-x:auto}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs:before,.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li:before,.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li:after{display:none}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li{padding:0;margin:0;border:0;border-radius:0;background:transparent;white-space:nowrap}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a{font-size:14px;font-weight:500;color:#5f7082;padding:16px 0}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--ink)}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);font-weight:650}.product-page .woocommerce-Tabs-panel{font-size:15px;line-height:1.8;max-width:900px}.product-page .woocommerce-Tabs-panel h2{margin:0 0 18px}.product-page .related,.product-page .upsells{grid-column:1/-1;margin-top:36px}.product-page .related h2,.product-page .upsells h2{margin-bottom:24px}.product-page :is(button,input,select,a):focus-visible{outline:2px solid #0067b0;outline-offset:3px}.product-page input:focus-visible{outline-offset:-3px}.product-page .woocommerce-product-rating{font-size:13px}.product-page .summary .stock:not(.woocommerce-variation-availability .stock){display:none}
@media(max-width:1000px){.woocommerce .product-page div.product{gap:30px}.product-delivery{grid-template-columns:1fr;gap:14px}.product-delivery>div+div{border:0;padding:0}}
@media(max-width:700px){.product-page{padding-top:18px}.product-page .woocommerce-breadcrumb{font-size:11px!important;line-height:1.7;margin-bottom:18px}.woocommerce .product-page div.product{display:block}.woocommerce .product-page div.product div.images{margin-bottom:26px}.woocommerce .product-page div.product div.images .flex-control-thumbs li,.woocommerce .product-page div.product div.images .flex-control-thumbs li img{width:62px;height:62px;flex-basis:62px}.product-page .woocommerce-product-details__short-description{font-size:14px;margin-bottom:18px}.woocommerce .product-page div.product p.price{font-size:27px;padding-top:18px;margin-bottom:18px}.product-page .purchase-offer{padding:16px;margin-bottom:20px}.product-page .purchase-offer strong{font-size:14px}.product-page .purchase-offer span:not(.offer-symbol){font-size:12px}.woocommerce .product-page div.product form.cart{gap:10px}.woocommerce .product-page div.product form.cart .quantity{flex-basis:116px}.product-page .quantity input.qty{width:36px}body .product-page button.quantity-step{width:39px}body.woocommerce .product-page div.product form.cart .single_add_to_cart_button{font-size:18px;font-weight:700;padding:12px 8px}.product-page .product-delivery{grid-template-columns:1fr 1fr;font-size:11px;gap:14px}.product-delivery>div{gap:8px}.product-delivery svg{width:22px}.product-delivery small{font-size:10px}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs{gap:24px;margin-bottom:22px}.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a{font-size:13px}.product-page .woocommerce-Tabs-panel{font-size:14px}.product-page .variations th,.product-page .variations td{display:block}.product-page .variations select{width:100%}}
.product-page .variations select[hidden]{display:none!important}.variation-choices{display:flex;gap:10px;flex-wrap:wrap}body .product-page .variation-choices button{border:1px solid #ced7e0;background:#fff;color:var(--ink);border-radius:24px;padding:10px 22px;min-height:44px;font-size:13px;font-weight:550;box-shadow:none}body .product-page .variation-choices button[aria-pressed=true]{background:var(--surface-muted);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}body .product-page .variation-choices button:disabled{opacity:.4;cursor:not-allowed}.product-page .reset_variations{display:inline-block;margin-top:10px}.product-page .quantity:has(input[type=hidden]){display:none!important}.native-related .product-image{position:relative}.native-related .product-image img{padding:0;mix-blend-mode:normal}.woocommerce .product-page .native-related a.button.outline{background:white;color:var(--ink);border-color:#c6d4d6}.native-related .stock{display:inline-block!important}


/* Green primary purchase actions with dark, readable text. */
body.woocommerce .product-page div.product form.cart .single_add_to_cart_button{background:var(--green);border-color:var(--green);color:var(--ink)}
body.woocommerce .product-page div.product form.cart .single_add_to_cart_button:hover{background:#005694;border-color:#005694;color:var(--ink)}
/* Stable, shared purchase feedback. No injected link or plugin pseudo-spinner. */
body.purchase-feedback-ready .product-page .summary .added_to_cart{display:none!important}
body.purchase-feedback-ready .single_add_to_cart_button::after,body.purchase-feedback-ready .single_add_to_cart_button::before{display:none!important;content:none!important}
body.purchase-feedback-ready .single_add_to_cart_button{display:flex!important;align-items:center;justify-content:center;gap:10px;transition:background-color .18s ease,box-shadow .18s ease;position:relative;white-space:nowrap}
body.purchase-feedback-ready .single_add_to_cart_button.loading,body.purchase-feedback-ready button[data-purchase-state=loading]{opacity:1!important;background:#e0eef8!important;color:var(--ink)!important;cursor:progress;padding-right:24px!important}
body.purchase-feedback-ready button[data-purchase-state=success]{background:#e0eef8!important;color:var(--ink)!important}
body.purchase-feedback-ready button[data-purchase-state] svg{width:19px;height:19px;flex:none}
.purchase-spinner{display:inline-block;width:17px;height:17px;flex:none;border:2px solid #1c43532b;border-top-color:var(--ink);border-radius:50%;animation:purchase-turn .7s linear infinite}
@keyframes purchase-turn{to{transform:rotate(360deg)}}
.purchase-confirmation{position:fixed;right:28px;bottom:28px;z-index:95;display:flex;align-items:flex-start;gap:13px;width:min(390px,calc(100vw - 32px));padding:20px;background:white;border:1px solid #dce6df;border-radius:16px;box-shadow:0 10px 40px #183e5024;animation:purchase-enter .2s ease-out;color:var(--ink)}
.purchase-confirmation[hidden]{display:none}.confirmation-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:var(--surface-muted);color:#326749}.confirmation-icon svg{width:19px;height:19px}.confirmation-copy{flex:1;min-width:0}.confirmation-copy strong{display:block;font-size:14px;font-weight:700;line-height:1.4;padding-top:5px}.confirmation-copy p{font-size:12px;line-height:1.5;color:#5f7082;margin:7px 0 12px;overflow-wrap:anywhere}.confirmation-copy a{font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:4px;display:inline-flex;gap:10px;min-height:32px;align-items:center}body .confirmation-close{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#5f7082;font-size:23px;line-height:1}body .confirmation-close:hover{background:var(--surface-muted)}.purchase-confirmation :is(a,button):focus-visible{outline:2px solid #0067b0;outline-offset:3px}.purchase-confirmation[data-result=error] .confirmation-icon{background:#fff2df;color:#855f2c}
@keyframes purchase-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.purchase-confirmation{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:auto;padding:16px;gap:10px}body.purchase-feedback-ready .single_add_to_cart_button{gap:6px}body.purchase-feedback-ready button[data-purchase-state=loading]{padding-right:12px!important}}
@media(prefers-reduced-motion:reduce){.purchase-confirmation{animation:none}.purchase-spinner{animation:none;border-style:dotted}body.purchase-feedback-ready button{transition:none}}
body.purchase-feedback-ready .single_add_to_cart_button{min-width:0}body.search-open .purchase-confirmation{display:none}
/* Geometric icons avoid font-baseline offsets in compact controls. */
body .product-page button.quantity-step{line-height:1;padding:0;align-self:center}
body .product-page button.quantity-step svg{display:block;width:18px;height:18px;flex:none}
body .confirmation-close{display:flex;align-items:center;justify-content:center;line-height:1;padding:0;background:var(--surface-muted)}
body .confirmation-close svg{display:block;width:16px;height:16px;flex:none}
.confirmation-copy a,.confirmation-copy a:hover{text-decoration:none}
.confirmation-link-label{text-decoration:underline;text-underline-offset:4px}
.confirmation-copy a svg{display:block;width:18px;height:18px;flex:none}

/* Give the gallery more room, with desktop thumbnails alongside the photograph. */
@media(min-width:1001px){
 .woocommerce .product-page div.product{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);column-gap:48px}
 .woocommerce .product-page div.product div.images:has(.flex-control-thumbs){display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:start}
 .product-page .woocommerce-product-gallery .flex-viewport{grid-column:2;grid-row:1;min-width:0;width:100%}
 .woocommerce .product-page div.product div.images .flex-control-thumbs{grid-column:1;grid-row:1;flex-direction:column;gap:12px;margin:0;padding:2px;max-height:600px;max-height:min(600px,46vw);overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
 .woocommerce .product-page div.product div.images .flex-control-thumbs::-webkit-scrollbar{display:none}
 .woocommerce .product-page div.product div.images .flex-control-thumbs li{width:72px;flex:0 0 72px}
 .woocommerce .product-page div.product div.images .flex-control-thumbs li img{width:72px;height:72px}
}
.product-page .product-delivery{display:flex;flex-direction:column;gap:0;padding-top:0;margin-top:26px;font-size:13px}
.product-page .product-delivery>div{align-items:center;gap:14px;min-height:64px;padding:18px 0}
.product-page .product-delivery>div+div{border-left:0;border-top:1px solid var(--line);padding:18px 0}
.product-page .product-delivery svg{display:block;width:24px;height:24px;flex:0 0 24px}
@media(max-width:700px){.product-page .product-delivery{font-size:12px;margin-top:22px}.product-page .product-delivery>div{min-height:58px;padding:15px 0}.product-page .product-delivery>div+div{padding:15px 0}}

/* Align the stock marker geometrically with its label. */
.product-page .product-availability{display:flex;align-items:center;gap:8px}
.product-page .product-availability:before{content:'';display:block;width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:currentColor;margin:0}
.product-page .product-availability.is-in-stock:before{background:var(--green)}

/* Stock and delivery details share the same type scale and ink colour. */
.product-page .product-availability,.product-page .product-delivery{font-size:15px;color:var(--ink)}
@media(max-width:700px){.product-page .product-availability,.product-page .product-delivery{font-size:14px}}



.woocommerce .product-page div.product p.price{font-size:clamp(31px,2.7vw,37px)}


/* WooCommerce clearfix boxes otherwise occupy the first and last flex gaps. */
.woocommerce .product-page div.product form.cart::before,
.woocommerce .product-page div.product form.cart::after,
.product-page .woocommerce-variation-add-to-cart::before,
.product-page .woocommerce-variation-add-to-cart::after{content:none}

.product-page .summary:has(>.selected-pack-price) .woocommerce-variation-price{display:none}

body .product-page .variation-choices button{box-sizing:border-box;flex:0 0 auto;width:var(--choice-width,auto);max-width:100%;min-height:48px;padding:8px 6px;display:inline-grid;place-items:center;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.product-page .gallery-step{display:none}
@media(max-width:700px){
 .woocommerce .product-page div.product div.images .flex-control-thumbs{display:none}
 .product-page .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image ~ .woocommerce-product-gallery__image{display:none}
 .has-swipe-gallery .flex-viewport{overflow-x:auto!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:14px}
 .has-swipe-gallery .flex-viewport::-webkit-scrollbar{display:none}
 .has-swipe-gallery .woocommerce-product-gallery__wrapper{display:flex;width:100%!important;transform:none!important;transition:none!important}
 .has-swipe-gallery .woocommerce-product-gallery__image{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
 .product-page .has-swipe-gallery .gallery-step{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:var(--ink);cursor:pointer}
 .gallery-step.previous{left:6px}.gallery-step.next{right:6px}
 .gallery-step svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .gallery-step.previous svg{transform:rotate(180deg)}
 .gallery-step:disabled{visibility:hidden}
}

/* Mobile: the gallery runs edge to edge (no side margin or rounded corners); arrows and zoom keep a small inset. */
@media(max-width:700px){
 .woocommerce .product-page div.product div.images.woocommerce-product-gallery{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
 .product-page .woocommerce-product-gallery .flex-viewport,.has-swipe-gallery .flex-viewport,.product-page .woocommerce-product-gallery__image{border-radius:0}
 .gallery-step.previous{left:12px}
 .gallery-step.next{right:12px}
}

/* ===================== Refinement 7 Nov 2026 (previous version: backups/product-page-2026-11-07/) ===================== */
/* Pack size choice (separate products shown as one choice) */
.pp-family {margin:0 0 22px;}
.pp-family-label, .product-page .variations label {display:block;margin:0 0 10px;font-size:14px;font-weight:650;color:var(--ink);}
.pp-family-options {display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}
.pp-family-option {display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #ced7e0;border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;line-height:1.3;transition:border-color .15s,box-shadow .15s;}
body .product-page a.pp-family-option {color:var(--ink);text-decoration:none;}
@media (hover:hover) {body .product-page a.pp-family-option:hover {border-color:var(--ink);}}
.pp-family-option.is-current {border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface-muted);}
.pp-family-name {font-size:14px;font-weight:650;}
.pp-family-price {font-size:15px;font-weight:700;}
.pp-family-option small {color:#4f6378;font-size:12px;}

/* Quantity deal with the saving */

/* Size / colour: clear pills; no "Nullstill" link (the choice can simply be changed) */
body .product-page .variation-choices button {min-width:52px;min-height:46px;padding:10px 18px;border-radius:99px;font-size:15px;font-weight:600;}
.product-page .reset_variations, .product-page .reset_variations[style] {display:none !important;}
.product-page .variations th, .product-page .variations td {display:block;padding:0 0 10px;}

/* One quiet reassurance line under the button (as in the checkout) */
.product-page .pp-assure {display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none;color:#4f6378;font-size:14px;}
.pp-assure li {display:flex;align-items:center;gap:7px;}
.pp-assure svg {width:16px;height:16px;flex:none;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.woocommerce .product-page div.product p.price {border-top:0;padding-top:4px;}

/* Product information: one readable section + fold-outs (woocommerce/single-product/tabs/tabs.php) */
.woocommerce .product-page div.product .pp-info {grid-column:1/-1;margin-top:28px;padding-top:36px;border-top:1px solid var(--line);}
.pp-about {max-width:720px;}
.pp-about h2 {margin:0 0 16px;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.015em;}
.pp-about-text {font-size:17px;line-height:1.7;color:var(--ink);}
.pp-about-text p {margin:0 0 16px;}
.pp-about-text :is(h2,h3,h4) {margin:28px 0 10px;font-size:19px;line-height:1.3;}
.pp-about-text p > strong:only-child {display:block;margin-top:24px;font-size:18px;}
.pp-about-text ul, .pp-about-text ol {margin:0 0 18px;padding-left:22px;}
.pp-about-text li {margin:4px 0;}
.pp-folds {max-width:720px;margin-top:28px;border-top:1px solid var(--line);}
.pp-fold {border-bottom:1px solid var(--line);}
.pp-fold summary {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 2px;font-size:16px;font-weight:650;cursor:pointer;list-style:none;}
.pp-fold summary::-webkit-details-marker {display:none;}
.pp-fold summary::after {content:"";width:8px;height:8px;margin-right:4px;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s;}
.pp-fold[open] summary::after {transform:translateY(2px) rotate(225deg);}
.pp-fold-body {padding:0 2px 18px;font-size:16px;line-height:1.65;color:#2d4e5b;}
.pp-fold-body p {margin:0 0 10px;}
body .pp-fold-body a {color:var(--ink);}

/* Related products */
.product-page .related {padding-top:12px;}


/* Sticky buy bar (phones) */
.pp-sticky {display:none;}
@media (max-width:700px) {

 .pp-about-text {font-size:16px;}
 .pp-sticky {position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -10px 30px -18px rgba(16,46,60,.45);transform:translateY(110%);transition:transform .3s cubic-bezier(.32,.72,0,1);}
 .pp-sticky[hidden] {display:flex;visibility:hidden;}
 .pp-sticky.is-shown {transform:none;visibility:visible;}
 .pp-sticky-info {display:flex;flex-direction:column;min-width:0;flex:1;}
 .pp-sticky-name {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#4f6378;}
 .pp-sticky-price {font-size:18px;font-weight:800;color:var(--ink);}
 body .pp-sticky-button {flex:none;min-height:48px;padding:0 22px;border:0;border-radius:99px;background:var(--green);color:var(--ink);font:inherit;font-size:16px;font-weight:750;cursor:pointer;}
 body.pp-sticky-on .site-footer {padding-bottom:84px;}
}
@media (prefers-reduced-motion:reduce) {.pp-sticky, .pp-fold summary::after, .pp-family-option {transition:none;}}
/* Size pills fit their text (the older script sets a fixed --choice-width) */
body .product-page .variation-choices button {width:auto;white-space:nowrap;}
/* The reassurance line: one item per line in the narrow buy column on large screens, inline on phones */
@media (min-width:701px) {.product-page .pp-assure {flex-direction:column;gap:6px;}}

/* ===================== Description in the buy column + gallery stays in view (7 Nov 2026, after the product page study) ===================== */
.woocommerce .product-page div.product div.summary .pp-info {grid-column:auto;margin-top:26px;padding-top:24px;border-top:1px solid var(--line);}
.product-page .summary .pp-about {max-width:none;}
.product-page .summary .pp-about h2 {margin:0 0 10px;font-size:20px;letter-spacing:-.01em;}
.product-page .summary .pp-about-text {font-size:16px;line-height:1.65;}
.product-page .summary .pp-about-text :is(h2,h3,h4) {margin:20px 0 8px;font-size:17px;}
.product-page .summary .pp-about-text p > strong:only-child {margin-top:18px;font-size:16px;}
.product-page .summary .pp-folds {max-width:none;margin-top:18px;}
/* Long descriptions: first lines, then "Les mer" (assets/product.js) */
.pp-about-text.is-clamped {max-height:13.2em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);}
body .product-page .pp-more {display:inline-flex;align-items:center;gap:8px;margin:8px 0 0;padding:6px 0;border:0;background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:4px;cursor:pointer;}
@media (min-width:701px) {
 /* The gallery column stretches to the buy column's height and its contents stick inside it, so the image stays in view
    next to the description but scrolls away before "Mer fra …" (a sticky element stops at the end of its parent). */
 .woocommerce .product-page div.product div.images {position:relative;align-self:stretch;}
 /* !important: the gallery script (Flexslider) sets position:relative inline on .flex-viewport. */
 .woocommerce .product-page div.product div.images > :is(.flex-viewport,.flex-control-thumbs,.woocommerce-product-gallery__wrapper) {position:sticky !important;top:24px;align-self:start;}
 .woocommerce .product-page div.product div.summary {padding-bottom:12px;}
}

/* ---------- One text style in the buy column ----------
   Stock, short description, assurances and the description share one size, weight and colour (16px, regular, ink).
   Hierarchy comes only from the title, price, button and headings; no greys or in-between sizes. */
.product-page .summary :is(.product-availability,.woocommerce-product-details__short-description,.pp-assure,.pp-about-text) {font-size:16px;font-weight:400;line-height:1.65;color:var(--ink);}
.product-page .summary .pp-assure svg {stroke-width:2;}




/* ---------- Pack options: plain list (design B, 2026-11-07) ---------- */
.product-page .pp-family-options {display:block;margin:0;padding:0;list-style:none;}
.product-page .pp-family-options li {border-top:1px solid var(--line);}
.product-page .pp-family-options li:first-child {border-top:0;}
.product-page .pp-family-option {display:grid;grid-template-columns:22px 1fr auto;column-gap:16px;align-items:start;padding:16px 0;border:0;border-radius:0;background:none;box-shadow:none;}
.product-page .pp-family-option.is-current {border:0;box-shadow:none;background:none;}
.pp-family-dot {width:22px;height:22px;margin-top:1px;border:1.5px solid var(--ink);border-radius:50%;box-sizing:border-box;transition:border-width .15s;}
.is-current .pp-family-dot {border-width:7px;}
.pp-family-text {display:flex;flex-direction:column;gap:2px;min-width:0;}
.pp-family-note {font-size:16px;font-weight:400;line-height:1.4;}
@media (hover:hover) {body .product-page a.pp-family-option:hover .pp-family-name {text-decoration:underline;text-underline-offset:3px;}}
@media (prefers-reduced-motion:reduce) {.pp-family-dot {transition:none;}}


/* Until the gallery script starts, show only the first image. WooCommerce's own CSS shows the others as small
   thumbnails underneath, which the script then removes: on phones that moved everything below by ~200px while loading
   (a layout shift, bad for Google's CLS and for keeping the place when switching pack). */
.woocommerce .product-page div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n+2) {display:none;}

/* ---------- Product Bundles (the machines): compact rows like the cart lines ---------- */
.product-page .bundle_form {display:block;margin:8px 0 0;}
.product-page .bundle_form .bundled_product {display:grid !important;grid-template-columns:64px minmax(0,1fr);gap:0 16px;align-items:start;margin:0;padding:16px 0;border-top:1px solid var(--line);}
.product-page .bundle_form .bundled_product:first-of-type {border-top:0;padding-top:4px;}
.product-page .bundle_form .bundled_product_images {float:none !important;width:64px !important;margin:0 !important;}
.product-page .bundle_form .bundled_product_images figure {margin:0;border-radius:10px;overflow:hidden;background:var(--surface-muted);}
.product-page .bundle_form .bundled_product_images img {display:block;width:64px !important;height:64px !important;object-fit:contain;}
.product-page .bundle_form .details {float:none !important;width:auto !important;padding:0 !important;display:flex;flex-direction:column;gap:6px;min-width:0;}
body.woocommerce .product-page .bundle_form h4.bundled_product_title {margin:0 !important;font-size:16px !important;font-weight:650 !important;line-height:1.35 !important;letter-spacing:0 !important;}
.product-page .bundle_form .bundled_product_excerpt {display:none;}
.product-page .bundle_form .bundled_item_wrap, .product-page .bundle_form .bundled_item_cart_content {margin:0;padding:0;}
.product-page .bundle_form .bundled_item_cart_content {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;}
.product-page .bundle_form .bundled_item_cart_details .price, .product-page .bundle_form .bundled_item_cart_details .price * {font-size:14px !important;font-weight:400 !important;color:var(--ink) !important;}
.product-page .bundle_form .bundled_item_price_quantity {margin-left:4px;}
.woocommerce .product-page .bundle_form .quantity {height:36px !important;flex:none !important;border-radius:99px;}
.product-page .bundle_form .quantity .qty {height:34px !important;font-size:14px !important;}
body .product-page .bundle_form button.quantity-step {width:34px !important;height:34px !important;}
/* Optional item: a clear "Legg til" checkbox row */
.product-page .bundle_form label.bundled_product_optional_checkbox {display:inline-flex;align-items:center;gap:10px;width:fit-content;font-size:16px;font-weight:400;cursor:pointer;}
.product-page .bundle_form .bundled_product_checkbox {width:20px;height:20px;margin:0;accent-color:var(--ink);}
.product-page .bundle_form .bundled_item_optional:not(.bundled_item_selected) .bundled_item_cart_content {display:none;}
.product-page .bundle_form .variations {margin:4px 0 0 !important;}
/* Bundle total and button */
.product-page .bundle_form .bundle_data {margin-top:8px;padding-top:20px;border-top:1px solid var(--line);}
.product-page .bundle_form .bundle_price .price {font-size:28px !important;font-weight:700;margin:0 0 16px;}
.product-page .bundle_form .bundle_price .woocommerce-price-suffix {font-size:14px !important;font-weight:400;}
.product-page .bundle_form .bundle_button {display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.product-page .bundle_form .bundled_product {display:flex !important;gap:16px;}
.product-page .bundle_form .bundled_product_images {flex:none;}
.product-page .bundle_form .details {flex:1 1 auto;}
.product-page .bundle_form .bundled_product::before, .product-page .bundle_form .bundled_product::after {content:none !important;}
body .product-page .bundle_form .variation-choices button {width:auto !important;max-width:100%;white-space:normal;text-align:left;padding:8px 14px;min-height:40px;font-size:14px !important;}
.product-page .bundle_form .variations th, .product-page .bundle_form .variations td {padding-bottom:6px;}
.product-page .bundle_form .variations label {font-size:14px !important;}
.product-page .bundle_form .reset_variations {display:none !important;}
/* One kind of line between bundle rows (WooCommerce's and the plugin's own separators off). */
.product-page .bundle_form :is(.bundle_wrap, .bundled_item_wrap, .bundle_data)::before, .product-page .bundle_form :is(.bundle_wrap, .bundled_item_wrap)::after {content:none !important;}
.product-page .bundle_form .bundled_product {border-top:1px solid var(--line) !important;border-bottom:0 !important;}
.product-page .bundle_form .bundled_product:first-of-type {border-top:0 !important;}
.product-page .bundle_form hr, .product-page .bundle_form .bundled_item_cart_details + hr {display:none;}
.product-page .bundle_form .bundle_data {border-top:1px solid var(--line) !important;}
.product-page .bundle_form .bundle_data > *, .product-page .bundle_form .bundle_wrap {border:0 !important;}
.sk-add-error {margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#fbefed;color:#7a2f26;font-size:16px;line-height:1.45;}
.sk-add-error li {list-style:none;margin:0;}
.sk-add-error ul, .sk-add-error {padding-left:14px;}
/* WooCommerce's "Vis handlekurv" link inside the error: a plain text link after the message, not a floating button. */
html body .product-page .sk-add-error a.button, html body .product-page .sk-add-error a.wc-forward {all:unset;display:inline;margin-left:6px;color:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer;float:none;}
.sk-add-error li {display:block;}
/* WooCommerce puts the link before the message; show it after. */
.sk-add-error li:has(> a.wc-forward) {display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;}
html body .product-page .sk-add-error li > a.wc-forward {order:2;margin-left:0;}
