/* Product-only refinement. Header, footer and archive pages are deliberately untouched. */
body.single-product.ahp-product-layout{--ahp-ink:#101b3f;--ahp-blue:#065fff;--ahp-line:#dce6f2;--ahp-soft:#e7f1ff;background:#f4f9fd}
body.ahp-product-layout .summary,body.ahp-product-layout .woocommerce-product-gallery,body.ahp-product-layout .woocommerce-tabs{box-sizing:border-box;min-width:0}
body.ahp-product-layout .summary .product_title{color:var(--ahp-ink);font-size:clamp(24px,2.2vw,32px);line-height:1.23;letter-spacing:-.6px;margin:8px 0 14px!important}
body.ahp-product-layout .ahp-product-category{display:block;color:var(--ahp-blue);font-size:12px;font-weight:700;text-transform:uppercase;text-decoration:none}
body.ahp-product-layout .summary .price{font-size:30px!important;line-height:1.25;color:var(--ahp-ink);font-weight:700!important;margin:14px 0!important}
body.ahp-product-layout .summary .woocommerce-product-rating{margin:8px 0 12px;font-size:14px}
body.ahp-product-layout .summary .star-rating{color:#ffa500}
body.ahp-product-layout .summary .product_meta{display:grid;gap:10px;background:#f3f7fb;border:1px solid var(--ahp-line);border-radius:8px;padding:16px!important;margin:18px 0 0!important;font-size:12px;line-height:1.5;color:#526282}
body.ahp-product-layout .summary .product_meta>span{display:block;margin:0!important}
body.ahp-product-layout .summary .product_meta a{color:inherit}
body.ahp-product-layout .ahp-product-reassurance{display:flex!important;gap:16px;border-top:1px solid var(--ahp-line);padding:18px 0!important;margin:18px 0 0!important}
body.ahp-product-layout .ahp-reassurance-item{flex:1;min-width:0;font-size:12px;line-height:1.4}
body.ahp-product-layout .ahp-product-reassurance svg{width:24px;height:24px;flex-shrink:0;color:var(--ahp-blue)}
body.ahp-product-layout .woocommerce-product-gallery{position:relative;padding:16px!important;background:#fff;border:1px solid var(--ahp-line);border-radius:10px;box-shadow:none!important}
body.ahp-product-layout .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;max-height:480px;object-fit:contain!important;object-position:center}
body.ahp-product-layout .woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;margin:14px 0 0!important;padding:0!important}
body.ahp-product-layout .woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important;padding:0!important}
body.ahp-product-layout .woocommerce-product-gallery .flex-control-thumbs img{width:100%!important;aspect-ratio:1.25;object-fit:contain;background:#f5f8fc;border:1px solid var(--ahp-line);border-radius:6px;box-sizing:border-box;padding:5px;opacity:1}
body.ahp-product-layout .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--ahp-blue)}
body.ahp-product-layout .ahp-gallery-arrow{position:absolute;top:42%;z-index:5;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--ahp-line);border-radius:50%;background:#f4f8fd;color:var(--ahp-ink);font-size:26px;cursor:pointer}
body.ahp-product-layout .ahp-gallery-arrow.is-prev{left:10px}body.ahp-product-layout .ahp-gallery-arrow.is-next{right:10px}
body.ahp-product-layout .woocommerce-tabs{clear:both;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:28px 0!important;width:100%!important;max-width:100%!important}
body.ahp-product-layout .woocommerce-tabs ul.tabs{justify-content:flex-start!important;gap:28px!important;border-bottom:1px solid var(--ahp-line)!important;margin:0 0 20px!important}
body.ahp-product-layout .woocommerce-tabs ul.tabs li a{font-size:15px!important;text-transform:none!important;font-weight:500!important;padding:0!important}
body.ahp-product-layout .woocommerce-tabs .woocommerce-Tabs-panel{background:#fff;border:1px solid var(--ahp-line);border-radius:10px;padding:22px!important;margin:0!important;box-sizing:border-box;width:100%;font-size:16px;line-height:1.6;color:#53617e}
body.ahp-product-layout .woocommerce-tabs h2{font-size:24px;line-height:1.3;color:var(--ahp-ink);margin:0 0 16px}
body.ahp-product-layout .ahp-product-section,body.ahp-product-layout .ahp-product-intro,body.ahp-product-layout .ahp-product-extra{margin:0;border:0}
body.ahp-product-layout .ahp-product-section{border:1px solid var(--ahp-line);border-radius:6px;margin:0 0 6px;overflow:hidden}
body.ahp-product-layout .woocommerce-tabs details>summary{position:relative;list-style:none;cursor:pointer;padding:13px 40px 13px 16px;color:var(--ahp-ink);font-size:16px;font-weight:600;line-height:1.3}
body.ahp-product-layout .woocommerce-tabs details>summary::-webkit-details-marker{display:none}
body.ahp-product-layout .woocommerce-tabs details>summary:after{content:'›';position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:23px;color:#506486}
body.ahp-product-layout .woocommerce-tabs details[open]>summary:after{transform:translateY(-50%) rotate(90deg)}
body.ahp-product-layout .ahp-product-section summary h2,body.ahp-product-layout .ahp-product-section summary h3{font-size:inherit!important;line-height:inherit!important;margin:0!important;font-weight:inherit!important}
body.ahp-product-layout .ahp-section-content{padding:16px;font-size:15px;line-height:1.6}
body.ahp-product-layout .ahp-section-content>:last-child{margin-bottom:0}
body.ahp-product-layout .ahp-description-label{display:none}
body.ahp-product-layout .ahp-product-section .woocommerce-product-details__short-description{display:block!important;margin:0!important}
/* Mouse clicks must not leave a persistent blue frame around an accordion. Keep a clear,
   keyboard-only focus indicator on the actual interactive control. */
body.ahp-product-layout .ahp-product-section:focus-within{outline:0!important;border-color:var(--ahp-line)!important}
body.ahp-product-layout .woocommerce-tabs summary:focus-visible,body.ahp-product-layout button:focus-visible,body.ahp-product-layout a:focus-visible{outline:2px solid var(--ahp-blue);outline-offset:2px}
/* Every opened information box receives the same blue active state. */
body.ahp-product-layout .woocommerce-tabs details[open].ahp-product-section,
body.ahp-product-layout .woocommerce-tabs details[open].ahp-product-extra,
body.ahp-product-layout .woocommerce-tabs details[open].ahp-product-intro{border-color:var(--ahp-blue)!important;box-shadow:0 0 0 1px rgba(6,95,255,.12)!important}
body.ahp-product-layout .woocommerce-tabs details[open]>summary{color:var(--ahp-blue)}
.ahp-desktop-buy-template[hidden]{display:none!important}
.ahp-buy-icon{display:inline-block;width:20px;height:20px;margin-right:8px;vertical-align:middle}
body.ahp-product-layout .summary .ahp-product-buy-now:before{content:none!important}
.ahp-quick-icon{width:22px;height:22px;flex-shrink:0}
body.ahp-product-layout .activenso-product-reassurance .ahp-reassurance-icon{width:24px!important;height:24px!important;display:block}
body.ahp-product-layout .activenso-product-reassurance>div:first-child .ahp-reassurance-icon{color:#ff7a00}
/* Blocksy uses its own gallery, cart wrapper and constrained containers. */
body.single-product.ahp-product-layout #main>.ct-container-full[data-vertical-spacing]{padding-top:24px!important;padding-bottom:28px!important}
body.single-product.ahp-product-layout #main .hero-section{padding-block:0!important;margin-bottom:20px!important;min-height:0!important}
body.single-product.ahp-product-layout #main .hero-section .entry-header{margin:0!important;padding:0!important}
body.single-product.ahp-product-layout .summary.entry-summary-items{--product-element-spacing:14px}
body.single-product.ahp-product-layout .summary .product_title,body.single-product.ahp-product-layout .woocommerce-tabs h2{font-weight:700!important}
body.single-product.ahp-product-layout .summary .ct-product-divider{display:none!important}
body.single-product.ahp-product-layout .summary .ct-product-add-to-cart{margin:0!important;padding:0!important;border:0!important}
body.single-product.ahp-product-layout .summary .activenso-product-reassurance{margin:16px 0!important;padding:16px 0 0!important;border-bottom:0!important}
body.single-product.ahp-product-layout .summary .product_meta{margin-top:12px!important}
body.single-product.ahp-product-layout .woocommerce-tabs{width:var(--theme-container-width,calc(100% - 40px))!important;max-width:var(--theme-normal-container-max-width,1200px)!important;margin:24px auto 0!important}
body.single-product.ahp-product-layout .woocommerce-tabs>.is-width-constrained{width:100%!important;max-width:none!important}
body.single-product.ahp-product-layout .woocommerce-tabs .is-layout-constrained>*{max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-product-gallery-container{width:100%!important;max-width:100%!important;min-height:0!important}
body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-media-container{display:grid!important;place-items:center;aspect-ratio:auto!important;margin:0!important;padding:0!important;min-height:0!important;background:#fff}
body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-media-container>img{display:block!important;position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;height:clamp(320px,38vw,480px)!important;min-height:0!important;max-height:480px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-media-container .zoomImg{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(min-width:768px){
 /* Blocksy stretches both columns to the height of the tallest one. The cards must instead
    stop directly after their own content, as in the reference desktop layout. */
 body.single-product.ahp-product-layout .product-entry-wrapper{align-items:flex-start!important}
 body.single-product.ahp-product-layout .product-entry-wrapper>.woocommerce-product-gallery,body.single-product.ahp-product-layout .product-entry-wrapper>.summary{align-self:flex-start!important;height:auto!important;min-height:0!important}
 body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-product-gallery-container,body.single-product.ahp-product-layout .summary.entry-summary-items{height:auto!important;min-height:0!important}
 body.single-product.ahp-product-layout .summary .ct-cart-actions.ahp-purchase-controls{display:grid!important;grid-template-columns:116px minmax(0,1fr)!important;align-items:stretch;gap:10px!important;width:100%!important;margin:0!important}
 body.single-product.ahp-product-layout .summary .ct-cart-actions>.quantity{order:0!important}
 body.single-product.ahp-product-layout .summary .ct-cart-actions>.single_add_to_cart_button{order:1!important}
 body.single-product.ahp-product-layout .summary .ct-cart-actions>[data-ahp-desktop-buy]{grid-column:1 / -1;order:2!important}
 body.single-product.ahp-product-layout .summary form.ahp-simple-cart .quantity[data-type="type-2"]{display:block!important;position:relative!important;width:116px!important}
 body.single-product.ahp-product-layout .summary form.ahp-simple-cart .quantity[data-type="type-2"] input.qty{width:100%!important;padding-inline:32px!important}
 body.single-product.ahp-product-layout .summary .quantity .ct-increase,body.single-product.ahp-product-layout .summary .quantity .ct-decrease{width:32px!important;height:100%!important;top:0!important;border:0!important}
 body.single-product.ahp-product-layout .summary .quantity .ct-increase{right:0!important;left:auto!important}
 body.single-product.ahp-product-layout .summary .quantity .ct-decrease{left:0!important;right:auto!important}
 body.single-product.ahp-product-layout .summary .quantity[data-type="type-2"] .ct-increase:before{content:'+'!important;font-family:inherit!important;font-size:18px!important;transform:none!important;color:var(--ahp-ink)}
 body.single-product.ahp-product-layout .summary .quantity[data-type="type-2"] .ct-decrease:before{content:'−'!important;font-family:inherit!important;font-size:18px!important;transform:none!important;color:var(--ahp-ink)}
 body.ahp-product-layout .summary{padding:24px!important;border-radius:10px;box-shadow:none!important}
 body.ahp-product-layout .summary .ahp-product-stock-threshold{padding:0;border:0;margin:12px 0 16px;font-size:15px;font-weight:500}
 body.ahp-product-layout .ahp-product-stock-threshold b{height:9px}
 body.ahp-product-layout .summary form.ahp-simple-cart{display:flex!important;flex-wrap:wrap;gap:10px;align-items:stretch;border:0!important;padding:0!important;margin:0!important}
 body.ahp-product-layout .summary form.ahp-simple-cart .quantity{flex:0 0 116px;display:flex!important;align-items:center;height:48px!important;margin:0!important;border:1px solid var(--ahp-line);border-radius:7px;overflow:hidden;float:none!important}
 body.ahp-product-layout .summary form.ahp-simple-cart .quantity input.qty{width:40px!important;min-width:0;padding:0!important;border:0!important;background:#fff;height:100%;text-align:center;appearance:textfield}
 body.ahp-product-layout .summary .quantity input::-webkit-inner-spin-button{appearance:none}
 body.ahp-product-layout .summary .quantity button,body.ahp-product-layout .summary .quantity .minus,body.ahp-product-layout .summary .quantity .plus{flex:1;padding:0!important;min-width:30px;height:100%;border:0;background:#fff;color:var(--ahp-ink);font-size:18px}
 body.ahp-product-layout .summary form.ahp-simple-cart .single_add_to_cart_button{flex:1;float:none!important;min-width:130px;margin:0!important;min-height:48px;background:var(--ahp-blue)!important;border-radius:7px;font-size:15px;padding:10px 14px}
 body.ahp-product-layout .summary form.ahp-simple-cart .ahp-product-buy-now{display:flex!important;align-items:center;justify-content:center;gap:10px;flex:0 0 100%;width:100%;min-height:48px;margin:0!important;padding:10px 14px;box-sizing:border-box;background:var(--ahp-soft)!important;border:1px solid #c3dcff;color:var(--ahp-blue)!important;font-size:15px;line-height:1.3}
 body.ahp-product-layout .summary .ahp-product-buy-now:before{content:'ϟ';font-size:26px;line-height:1}
 body.ahp-product-layout .ahp-product-intro>summary,body.ahp-product-layout .ahp-product-extra>summary{display:none}
 body.ahp-product-layout .ahp-product-intro>.ahp-section-content{padding:0 0 24px}
}
@media(max-width:767px){
 body.single-product.ahp-product-layout #main>.ct-container-full[data-vertical-spacing]{padding-top:16px!important;padding-bottom:20px!important}
 body.single-product.ahp-product-layout #main .hero-section{margin-bottom:14px!important}
 body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-media-container{overflow:hidden!important;aspect-ratio:1 / 1!important;height:auto!important}
 body.single-product.ahp-product-layout .woocommerce-product-gallery .ct-media-container>img{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:290px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
 body.single-product.ahp-product-layout .summary .activenso-product-reassurance{padding:8px 0!important;margin:8px 0 12px!important}
 body.single-product.ahp-product-layout .summary .activenso-product-reassurance>div{margin:0!important}
 body.single-product.ahp-product-layout .summary .ct-cart-actions.ahp-purchase-controls{margin:0!important;padding:0!important;gap:0!important;min-height:0!important}
 body.single-product.ahp-product-layout{padding-bottom:calc(var(--ahp-sticky-height,150px) + 18px)!important}
 body.ahp-product-layout .summary{float:none!important;width:100%!important;padding:0!important;background:transparent;border:0;box-shadow:none;margin:18px 0!important}
 body.ahp-product-layout .summary .product_title{font-size:24px!important;line-height:1.24!important;margin:6px 0 14px!important}
 body.ahp-product-layout .woocommerce-product-gallery{width:100%!important;margin-bottom:16px!important;float:none!important;padding:10px!important}
 body.ahp-product-layout .woocommerce-product-gallery__image img{max-height:310px!important}
 body.ahp-product-layout .woocommerce-product-gallery .flex-control-thumbs{gap:8px}
 body.ahp-product-layout .woocommerce-tabs .woocommerce-Tabs-panel{display:block!important;border:0;border-radius:0;padding:0!important;background:transparent}
 body.ahp-product-layout .woocommerce-tabs ul.tabs{display:none!important}
 body.ahp-product-layout .ahp-product-intro,body.ahp-product-layout .ahp-product-extra{border:1px solid var(--ahp-line);border-radius:6px;background:#fff;margin-bottom:6px}
 body.ahp-product-layout .ahp-product-section{background:#fff}
 body.ahp-product-layout .woocommerce-tabs details>summary{font-size:15px;padding:12px 32px 12px 12px}
 body.ahp-product-layout .ahp-section-content{font-size:15px;padding:12px}
 /* The review form is injected by WooCommerce and needs explicit width constraints on phones. */
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews,body.ahp-product-layout .woocommerce-Tabs-panel--reviews #reviews,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-respond,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-respond{padding:12px!important;overflow:hidden!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-author,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-email,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-rating,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-comment,body.ahp-product-layout .woocommerce-Tabs-panel--reviews #commentform>p[class^=comment-form-]{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0 0 12px!important;float:none!important;clear:both!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews label{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews input:not([type=checkbox]):not([type=radio]),body.ahp-product-layout .woocommerce-Tabs-panel--reviews select,body.ahp-product-layout .woocommerce-Tabs-panel--reviews textarea{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-cookies-consent{display:flex!important;align-items:flex-start!important;gap:7px!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-cookies-consent input{width:auto!important;flex:none!important;margin-top:4px!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews #review_form_wrapper,body.ahp-product-layout .woocommerce-Tabs-panel--reviews #review_form,body.ahp-product-layout .woocommerce-Tabs-panel--reviews #respond{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews #commentform textarea,body.ahp-product-layout .woocommerce-Tabs-panel--reviews #commentform input[type=text],body.ahp-product-layout .woocommerce-Tabs-panel--reviews #commentform input[type=email],body.ahp-product-layout .woocommerce-Tabs-panel--reviews #commentform select{min-width:0!important;margin:4px 0 0!important;padding:10px!important;line-height:1.4!important;overflow-wrap:anywhere!important}
 body.ahp-product-layout .woocommerce-Tabs-panel--reviews #reply-title,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-notes,body.ahp-product-layout .woocommerce-Tabs-panel--reviews .comment-form-cookies-consent label{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
 body.ahp-product-layout .ahp-product-reassurance{flex-direction:column;gap:16px;padding:16px 0!important;margin:0!important;border:0}
 body.ahp-product-layout .ahp-reassurance-item{font-size:14px;flex:auto}
 body.ahp-product-layout .summary .product_meta{font-size:12px;margin-top:16px!important}
 body.ahp-product-sticky-enabled .summary .price,body.ahp-product-sticky-enabled .summary .ahp-product-stock-threshold{display:none!important}
 body.ahp-product-sticky-enabled .summary form.ahp-simple-cart{padding:0!important;margin:0!important;border:0!important;min-height:0!important}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-actions{grid-template-columns:92px minmax(0,1fr) minmax(0,1fr);gap:6px}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-quantity{width:92px;box-sizing:border-box}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-quantity input{width:30px;font-size:15px}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-button,body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-buy{font-size:13px!important;white-space:normal;line-height:1.25;padding:8px 6px;box-sizing:border-box;min-width:0;min-height:48px}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-buy{background:var(--ahp-soft);color:var(--ahp-blue);border:1px solid #c3dcff}
 body.ahp-product-sticky-enabled .ahp-mobile-product-stock{white-space:normal;font-size:12px}
 body.ahp-product-sticky-enabled .ahp-mobile-product-stock-bar{height:6px}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-info:has(.stock-green) .ahp-mobile-product-stock-bar b{background:#159447}
 body.ahp-product-sticky-enabled .ahp-mobile-product-sticky-info:has(.stock-red) .ahp-mobile-product-stock-bar b{background:#d52e39}
}
