/*!
 * Prostik — Custom Single Product Template
 * Every rule is scoped to #ps-product (.ps-product-page) so nothing leaks
 * into the site header, footer or other pages.
 */

/* ---------- Tokens + reset (scoped) ---------- */
#ps-product{
	--ps-blue:#00347A;
	--ps-blue-dark:#00285F;
	--ps-blue-mid:#0A3E8C;
	--ps-red:#E00015;
	--ps-red-dark:#B80011;
	--ps-gray:#5B6472;
	--ps-ink:#1A2233;
	--ps-line:#E6EAF0;
	--ps-line-strong:#C5CEDB;
	--ps-tint:#F1F5FB;
	--ps-grey-bg:#EEF0F4;
	--ps-container:1240px;
	--ps-font-heading:'Montserrat',Arial,Helvetica,sans-serif;
	--ps-font-body:'Source Sans 3',Arial,Helvetica,sans-serif;
	display:block;position:relative;margin:0;padding:0;
	font-family:var(--ps-font-body);font-size:16px;line-height:1.6;color:var(--ps-gray);
	background:#fff;text-align:left;-webkit-font-smoothing:antialiased;overflow-x:clip;
}
#ps-product *,#ps-product *::before,#ps-product *::after{box-sizing:border-box}
#ps-product [hidden]{display:none!important}
#ps-product img,#ps-product svg{max-width:100%}
#ps-product img{height:auto}
#ps-product a{color:inherit;text-decoration:none}
#ps-product h1,#ps-product h2,#ps-product h3,#ps-product h4{font-family:var(--ps-font-heading);margin:0;padding:0;text-transform:none}
#ps-product p,#ps-product ul,#ps-product ol{margin:0;padding:0}
#ps-product ul,#ps-product ol{list-style:none}
#ps-product li{margin:0}
#ps-product .ps-container{max-width:var(--ps-container);margin:0 auto;padding:0 24px;width:100%}
#ps-product .ps-visually-hidden,#ps-product .screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#ps-product a:focus-visible,#ps-product button:focus-visible,#ps-product input:focus-visible,#ps-product select:focus-visible,#ps-product textarea:focus-visible{outline:3px solid #FFB000;outline-offset:2px}

/* ---------- Section label + section title (matches homepage) ---------- */
#ps-product .ps-eyebrow{display:inline-block;font-family:var(--ps-font-heading);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ps-blue);padding-bottom:8px;position:relative;margin:0 0 14px}
#ps-product .ps-eyebrow::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--ps-red)}
#ps-product .ps-eyebrow a:hover{text-decoration:underline}
#ps-product .ps-section-title{font-family:var(--ps-font-heading);font-weight:700;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--ps-blue);line-height:1.3;padding-bottom:10px;margin:0 0 20px;position:relative}
#ps-product .ps-section-title::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--ps-red)}

/* ---------- Notices ---------- */
#ps-product .ps-notices .woocommerce-notices-wrapper:empty{display:none}
#ps-product .ps-notices .woocommerce-notices-wrapper:not(:empty){padding-top:16px}
#ps-product .woocommerce-message,#ps-product .woocommerce-info,#ps-product .woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:12px;list-style:none;margin:0 0 8px;padding:14px 18px;border:0;border-left:4px solid var(--ps-blue);background:var(--ps-tint);color:var(--ps-ink);font-size:15px}
#ps-product .woocommerce-error{border-left-color:var(--ps-red);background:#FDF0F1}
#ps-product .woocommerce-message::before,#ps-product .woocommerce-info::before,#ps-product .woocommerce-error::before{display:none}
#ps-product .woocommerce-message .button{order:2;margin:0 0 0 auto;float:none;background:var(--ps-blue);color:#fff;font-family:var(--ps-font-heading);font-weight:700;font-size:13px;padding:9px 16px;border-radius:0;line-height:1.2}
#ps-product .woocommerce-message .button:hover{background:var(--ps-blue-dark);color:#fff}

/* ---------- Breadcrumb ---------- */
#ps-product .ps-breadcrumb{padding:18px 0 22px}
#ps-product .ps-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:13px;line-height:1.4}
#ps-product .ps-breadcrumb li{display:inline-flex;align-items:center;color:var(--ps-gray)}
#ps-product .ps-breadcrumb li+li::before{content:"";width:5px;height:5px;margin:0 12px 0 10px;border-top:1.5px solid #9AA3B2;border-right:1.5px solid #9AA3B2;transform:rotate(45deg)}
#ps-product .ps-breadcrumb a:hover{color:var(--ps-blue);text-decoration:underline}
#ps-product .ps-breadcrumb li[aria-current="page"]{color:var(--ps-ink);font-weight:600}

/* ---------- Main grid ---------- */
#ps-product .ps-product-main{padding:0 0 56px}
#ps-product .ps-product-main__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:start}

/* ---------- Gallery ---------- */
#ps-product .ps-gallery{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:start;min-width:0}
#ps-product .ps-gallery.has-single{grid-template-columns:minmax(0,1fr)}
#ps-product .ps-gallery__thumbs{display:flex;flex-direction:column;gap:10px;align-self:stretch;overflow-y:auto;contain:size;padding:2px}
#ps-product .ps-gallery__thumbs li{flex:0 0 auto;list-style:none}
#ps-product .ps-gallery__thumb{display:block;width:100%;aspect-ratio:1/1;margin:0;padding:4px;background:#fff;border:1px solid var(--ps-line);border-radius:4px;cursor:pointer;box-shadow:none;transition:border-color .2s}
#ps-product .ps-gallery__thumb:hover,#ps-product .ps-gallery__thumb:focus{background:#fff;border-color:var(--ps-line-strong)}
#ps-product .ps-gallery__thumb.is-active{border-color:var(--ps-blue);box-shadow:inset 0 0 0 1px var(--ps-blue)}
#ps-product .ps-gallery__thumb img{display:block;width:100%;height:100%;object-fit:contain}
#ps-product .ps-gallery__main{position:relative;min-width:0}
#ps-product .ps-gallery__stage{display:block;position:relative;width:100%;aspect-ratio:1/1;margin:0;padding:0;background:#fff;border:1px solid var(--ps-line);border-radius:4px;overflow:hidden;cursor:zoom-in;box-shadow:none}
#ps-product .ps-gallery__stage:hover,#ps-product .ps-gallery__stage:focus{background:#fff;border-color:var(--ps-line)}
#ps-product .ps-gallery__stage[aria-disabled="true"]{cursor:default}
#ps-product .ps-gallery__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;display:block}
#ps-product .ps-gallery__nav,#ps-product .ps-carousel__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ps-blue);border:1px solid var(--ps-line-strong);border-radius:50%;cursor:pointer;box-shadow:none;transition:background .2s,color .2s,border-color .2s}
#ps-product .ps-gallery__nav svg,#ps-product .ps-carousel__btn svg{width:14px;height:14px}
#ps-product .ps-gallery__nav:hover,#ps-product .ps-gallery__nav:focus,#ps-product .ps-carousel__btn:hover,#ps-product .ps-carousel__btn:focus{background:var(--ps-blue);color:#fff;border-color:var(--ps-blue)}
#ps-product .ps-gallery__nav--prev{left:12px}
#ps-product .ps-gallery__nav--next{right:12px}

/* ---------- Product info ---------- */
#ps-product .ps-product-info{min-width:0}
#ps-product .ps-product-title{font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.12;letter-spacing:-.5px;color:var(--ps-blue);margin:0 0 10px}
#ps-product .ps-product-sku{font-size:15px;color:var(--ps-gray);margin:0 0 10px}
#ps-product .ps-rating{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px;font-size:15px}
#ps-product .ps-stars{position:relative;display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:19px;line-height:1;letter-spacing:2px;white-space:nowrap}
#ps-product .ps-stars__base{color:#D3D9E4}
#ps-product .ps-stars__fill{position:absolute;left:0;top:0;overflow:hidden;color:#F5A400}
#ps-product .ps-rating__text{color:var(--ps-gray)}
#ps-product a.ps-rating__text:hover{color:var(--ps-blue);text-decoration:underline}

#ps-product .ps-prose{font-size:17px;line-height:1.7;color:#3B4556}
#ps-product .ps-prose>*:first-child{margin-top:0}
#ps-product .ps-prose>*:last-child{margin-bottom:0}
#ps-product .ps-prose p{margin:0 0 1em}
#ps-product .ps-prose h2,#ps-product .ps-prose h3,#ps-product .ps-prose h4{color:var(--ps-blue);margin:1.4em 0 .5em;line-height:1.25}
#ps-product .ps-prose h2{font-size:22px}
#ps-product .ps-prose h3{font-size:19px}
#ps-product .ps-prose h4{font-size:16px}
#ps-product .ps-prose ul,#ps-product .ps-prose ol{margin:0 0 1em;padding-left:1.4em}
#ps-product .ps-prose ul{list-style:disc}
#ps-product .ps-prose ol{list-style:decimal}
#ps-product .ps-prose li{margin:0 0 .35em}
#ps-product .ps-prose a{color:var(--ps-blue);text-decoration:underline}
#ps-product .ps-prose img{max-width:100%;height:auto}
#ps-product .ps-prose iframe,#ps-product .ps-prose video{max-width:100%}
#ps-product .ps-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
#ps-product .ps-short-description{margin:0 0 22px}

#ps-product .ps-price{margin:0 0 20px;font-family:var(--ps-font-heading);font-weight:800;font-size:30px;line-height:1.15;letter-spacing:-.3px;color:var(--ps-blue)}
#ps-product .ps-price .price{color:inherit;font-size:inherit;font-weight:inherit}
#ps-product .ps-price del{color:var(--ps-gray);font-weight:600;font-size:.62em;opacity:.8;margin-right:6px}
#ps-product .ps-price ins{text-decoration:none;color:var(--ps-red)}
#ps-product .ps-price .woocommerce-price-suffix{font-size:.4em;font-weight:600;color:var(--ps-gray)}

/* ---------- Buy box (native WooCommerce forms) ---------- */
#ps-product .ps-buybox{margin:0;padding-top:22px;border-top:1px solid var(--ps-line)}
#ps-product .ps-buybox form.cart{margin:0;padding:0;display:block}
#ps-product .ps-buybox form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
#ps-product .ps-buybox .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}

/* Variations: table -> stacked groups */
#ps-product .ps-buybox table.variations,#ps-product .ps-buybox table.variations tbody,#ps-product .ps-buybox table.variations tr,#ps-product .ps-buybox table.variations th,#ps-product .ps-buybox table.variations td{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;text-align:left}
#ps-product .ps-buybox table.variations{margin:0 0 18px}
#ps-product .ps-buybox table.variations tr{margin:0 0 18px}
#ps-product .ps-buybox table.variations th.label{margin:0 0 9px;line-height:1.3}
#ps-product .ps-buybox table.variations th.label label{display:inline;margin:0;font-family:var(--ps-font-heading);font-weight:700;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ps-blue)}
#ps-product .ps-select-native{display:none}
#ps-product .ps-swatches{display:flex;flex-wrap:wrap;gap:10px}
#ps-product .ps-swatch{min-height:44px;margin:0;padding:9px 18px;background:#fff;color:var(--ps-blue);border:1.5px solid var(--ps-line-strong);border-radius:0;font-family:var(--ps-font-heading);font-weight:600;font-size:14px;line-height:1.2;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;transition:border-color .2s,background .2s,color .2s}
#ps-product .ps-swatch:hover,#ps-product .ps-swatch:focus{background:#fff;color:var(--ps-blue);border-color:var(--ps-blue)}
#ps-product .ps-swatch.is-selected,#ps-product .ps-swatch.is-selected:hover,#ps-product .ps-swatch.is-selected:focus{background:var(--ps-blue);color:#fff;border-color:var(--ps-blue)}
#ps-product .ps-swatch.is-unavailable:not(.is-selected){color:#9AA3B2;border-color:var(--ps-line);border-style:dashed;text-decoration:line-through;cursor:not-allowed;background:#fff}
#ps-product .ps-buybox a.reset_variations{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--ps-red);text-decoration:underline}
#ps-product .ps-buybox a.reset_variations:hover{color:var(--ps-red-dark)}

/* Variation info / stock */
#ps-product .ps-buybox .single_variation_wrap{margin:0}
#ps-product .ps-buybox .woocommerce-variation{margin:0 0 14px}
#ps-product .ps-buybox .woocommerce-variation-price{display:none}
#ps-product .ps-buybox .woocommerce-variation-description{font-size:15px;color:#3B4556;margin:0 0 8px}
#ps-product .ps-buybox .woocommerce-variation-description p{margin:0 0 .5em}
#ps-product .ps-buybox .stock{margin:0 0 14px;font-size:14px;font-weight:600;color:#1E7B3A}
#ps-product .ps-buybox .woocommerce-variation-availability .stock{margin:0 0 4px}
#ps-product .ps-buybox .stock.out-of-stock{color:var(--ps-red)}
#ps-product .ps-buybox .stock.available-on-backorder{color:#A96500}

/* Quantity */
#ps-product .quantity{display:inline-flex;align-items:stretch;height:52px;margin:0;background:#fff;border:1.5px solid var(--ps-line-strong)}
#ps-product .quantity .ps-qty-btn{width:44px;margin:0;padding:0;background:#fff;color:var(--ps-blue);border:0;border-radius:0;font-family:var(--ps-font-heading);font-size:20px;font-weight:600;line-height:1;cursor:pointer;box-shadow:none;transition:background .2s}
#ps-product .quantity .ps-qty-btn:hover,#ps-product .quantity .ps-qty-btn:focus{background:var(--ps-tint);color:var(--ps-blue)}
#ps-product .quantity input.qty{width:56px;height:auto;margin:0;padding:0;background:#fff;border:0;border-left:1px solid var(--ps-line);border-right:1px solid var(--ps-line);border-radius:0;box-shadow:none;text-align:center;font-family:var(--ps-font-heading);font-weight:700;font-size:16px;color:var(--ps-blue);-moz-appearance:textfield;appearance:textfield}
#ps-product .quantity input.qty::-webkit-outer-spin-button,#ps-product .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#ps-product .quantity.hidden{display:none}

/* Add to cart button */
#ps-product .ps-buybox .single_add_to_cart_button.button{flex:1 1 220px;max-width:340px;min-height:52px;margin:0;padding:0 32px;display:inline-flex;align-items:center;justify-content:center;background:var(--ps-red);color:#fff;border:2px solid var(--ps-red);border-radius:0;font-family:var(--ps-font-heading);font-weight:700;font-size:14.5px;line-height:1.2;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;box-shadow:none;transition:background .3s,border-color .3s}
#ps-product .ps-buybox .single_add_to_cart_button.button:hover,#ps-product .ps-buybox .single_add_to_cart_button.button:focus{background:var(--ps-red-dark);border-color:var(--ps-red-dark);color:#fff}
#ps-product .ps-buybox .single_add_to_cart_button.button.disabled,#ps-product .ps-buybox .single_add_to_cart_button.button:disabled{opacity:.45;cursor:not-allowed;background:var(--ps-red);border-color:var(--ps-red)}
#ps-product .ps-buybox .single_add_to_cart_button.button.loading{opacity:.7}
#ps-product .ps-buybox .single_add_to_cart_button.button::after,#ps-product .ps-buybox .single_add_to_cart_button.button::before{display:none}

/* Contact button (products not sold directly) */
#ps-product .ps-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;width:100%;max-width:340px;margin:0;padding:0 32px;background:var(--ps-red);color:#fff;border:2px solid var(--ps-red);border-radius:0;font-family:var(--ps-font-heading);font-weight:700;font-size:14.5px;line-height:1.2;letter-spacing:.6px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,border-color .3s}
#ps-product .ps-contact-btn svg{width:20px;height:20px;flex:0 0 auto}
#ps-product .ps-contact-btn:hover,#ps-product .ps-contact-btn:focus{background:var(--ps-red-dark);border-color:var(--ps-red-dark);color:#fff}

/* Grouped products table */
#ps-product .ps-buybox table.group_table{width:100%;margin:0 0 16px;border-collapse:collapse}
#ps-product .ps-buybox table.group_table td{padding:10px 8px;border:0;border-bottom:1px solid var(--ps-line);background:transparent;vertical-align:middle}
#ps-product .ps-buybox table.group_table .woocommerce-grouped-product-list-item__label a{font-weight:600;color:var(--ps-blue)}
#ps-product .ps-buybox table.group_table .quantity{height:44px}

/* ---------- Feature blocks (second section: full-width strip) ---------- */
#ps-product .ps-features{display:grid;grid-template-columns:repeat(var(--ps-feature-count,4),minmax(0,1fr));gap:1px;margin:0 0 40px;padding:0;background:var(--ps-line);border:1px solid var(--ps-line)}
#ps-product .ps-feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;min-width:0;padding:30px 20px;background:var(--ps-tint)}
#ps-product .ps-feature__icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;background:#fff;border:2px solid var(--ps-blue);border-radius:50%;color:var(--ps-blue)}
#ps-product .ps-feature__icon .ps-icon{width:32px;height:32px}
#ps-product .ps-feature__icon .ps-feature__img{width:36px;height:36px;object-fit:contain}
#ps-product .ps-feature__title{font-family:var(--ps-font-heading);font-weight:700;font-size:13px;line-height:1.3;letter-spacing:.4px;text-transform:uppercase;color:var(--ps-blue);overflow-wrap:anywhere}
#ps-product .ps-feature__text{font-size:14.5px;line-height:1.45;color:var(--ps-gray)}

/* ---------- Key features (second section: two-column checklist card) ---------- */
#ps-product .ps-key-features{margin:0 0 48px;padding:30px 34px 34px;background:#fff;border:1px solid var(--ps-line);border-top:3px solid var(--ps-red)}
#ps-product .ps-key-features .ps-section-title{margin-bottom:22px}
#ps-product .ps-key-features ul{display:grid;grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--ps-kf-rows,1),auto);gap:14px 48px}
#ps-product .ps-key-features li{position:relative;padding-left:32px;font-size:17px;line-height:1.45;color:#3B4556}
#ps-product .ps-key-features li::before{content:"";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:var(--ps-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.2l2.2 2.2 4.6-4.9' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat}

/* ---------- Description + specification ---------- */
#ps-product .ps-product-details{padding:56px 0;border-top:1px solid var(--ps-line)}
#ps-product .ps-product-details__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
#ps-product .ps-product-details__grid.is-single{grid-template-columns:minmax(0,760px)}
#ps-product table.ps-spec{width:100%;margin:0;border-collapse:collapse;border:0;background:transparent;font-size:15px}
#ps-product table.ps-spec tbody,#ps-product table.ps-spec tr{background:transparent;border:0}
#ps-product table.ps-spec th,#ps-product table.ps-spec td{padding:10px 8px;border:0;border-bottom:1px solid var(--ps-line);background:transparent;vertical-align:top;text-align:left;line-height:1.45}
#ps-product table.ps-spec tr:first-child th,#ps-product table.ps-spec tr:first-child td{border-top:1px solid var(--ps-line)}
#ps-product table.ps-spec th{width:34%;font-family:var(--ps-font-body);font-weight:700;color:var(--ps-ink)}
#ps-product table.ps-spec td{color:var(--ps-gray);overflow-wrap:anywhere}

/* ---------- Reviews (native WooCommerce markup) ---------- */
#ps-product .ps-product-reviews{padding:0 0 56px}
#ps-product .ps-product-reviews #reviews{border-top:1px solid var(--ps-line);padding-top:48px}
#ps-product .ps-product-reviews .woocommerce-Reviews-title{font-family:var(--ps-font-heading);font-weight:700;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--ps-blue);margin:0 0 22px}
#ps-product .ps-product-reviews #comments ol.commentlist{list-style:none;margin:0 0 24px;padding:0}
#ps-product .ps-product-reviews #comments ol.commentlist li{margin:0 0 20px;padding:0;list-style:none}
#ps-product .ps-product-reviews #comments ol.commentlist li .comment_container{display:flex;gap:16px;align-items:flex-start}
#ps-product .ps-product-reviews #comments ol.commentlist li img.avatar{position:static;float:none;width:48px;height:48px;border-radius:50%;padding:0;border:0;background:var(--ps-grey-bg)}
#ps-product .ps-product-reviews #comments ol.commentlist li .comment-text{flex:1;margin:0;padding:16px 18px;border:1px solid var(--ps-line);border-radius:4px;font-size:16px;color:#3B4556}
#ps-product .ps-product-reviews #comments ol.commentlist li .comment-text p{margin:0 0 .5em}
#ps-product .ps-product-reviews #comments ol.commentlist li .comment-text .meta{margin:0 0 8px;font-size:14px;color:var(--ps-gray)}
#ps-product .ps-product-reviews #review_form_wrapper{max-width:720px}
#ps-product .ps-product-reviews #reply-title{display:block;font-family:var(--ps-font-heading);font-weight:700;font-size:16px;color:var(--ps-blue);margin:0 0 12px}
#ps-product .ps-product-reviews #commentform label{display:block;font-weight:600;color:var(--ps-ink);margin:0 0 6px}
#ps-product .ps-product-reviews #commentform input[type="text"],#ps-product .ps-product-reviews #commentform input[type="email"],#ps-product .ps-product-reviews #commentform textarea{width:100%;padding:12px 14px;background:#fff;border:1.5px solid var(--ps-line-strong);border-radius:0;font-family:var(--ps-font-body);font-size:16px;color:var(--ps-ink);box-shadow:none}
#ps-product .ps-product-reviews #commentform p{margin:0 0 16px}
#ps-product .ps-product-reviews #commentform p.comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start}
#ps-product .ps-product-reviews #commentform p.comment-form-cookies-consent label{display:inline;font-weight:400;margin:0}
#ps-product .ps-product-reviews #commentform input#submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;background:var(--ps-red);color:#fff;border:2px solid var(--ps-red);border-radius:0;font-family:var(--ps-font-heading);font-weight:700;font-size:14px;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;box-shadow:none}
#ps-product .ps-product-reviews #commentform input#submit:hover,#ps-product .ps-product-reviews #commentform input#submit:focus{background:var(--ps-red-dark);border-color:var(--ps-red-dark);color:#fff}

/* ---------- Related products ---------- */
#ps-product .ps-related{background:var(--ps-grey-bg);padding:48px 0 56px}
#ps-product .ps-carousel{position:relative}
#ps-product .ps-carousel__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:2px 2px 6px;scrollbar-width:thin}
#ps-product .ps-carousel__btn--prev{left:-8px}
#ps-product .ps-carousel__btn--next{right:-8px}
#ps-product .ps-card{flex:0 0 calc((100% - 64px) / 5);min-width:0;scroll-snap-align:start;list-style:none}
#ps-product .ps-card__link{display:flex;flex-direction:column;height:100%;padding:14px 14px 16px;background:#fff;border:1px solid var(--ps-line);border-radius:4px;transition:border-color .2s}
#ps-product .ps-card__link:hover{border-color:var(--ps-line-strong)}
#ps-product .ps-card__media{display:block;aspect-ratio:1/1;margin:0 0 12px;background:#fff}
#ps-product .ps-card__media img{display:block;width:100%;height:100%;object-fit:contain}
#ps-product .ps-card__title{font-family:var(--ps-font-heading);font-weight:700;font-size:14.5px;line-height:1.3;color:var(--ps-blue);margin:0 0 4px}
#ps-product .ps-card__link:hover .ps-card__title{text-decoration:underline}
#ps-product .ps-card__sku{font-size:13.5px;color:var(--ps-gray)}
#ps-product .ps-card__price{margin-top:auto;padding-top:8px;font-family:var(--ps-font-heading);font-weight:700;font-size:14px;color:var(--ps-ink)}
#ps-product .ps-card__price del{font-weight:500;color:var(--ps-gray);opacity:.8;margin-right:4px}
#ps-product .ps-card__price ins{text-decoration:none;color:var(--ps-red)}

/* ---------- Lightbox ---------- */
html.ps-lb-open{overflow:hidden}
#ps-product .ps-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(0,24,58,.94);padding:56px 16px}
#ps-product .ps-lightbox__stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
#ps-product .ps-lightbox__stage img{max-width:min(94vw,1100px);max-height:100%;width:auto;height:auto;object-fit:contain;background:#fff}
#ps-product .ps-lightbox__btn{position:absolute;z-index:2;width:44px;height:44px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ps-blue);border:0;border-radius:50%;cursor:pointer;box-shadow:none}
#ps-product .ps-lightbox__btn:hover,#ps-product .ps-lightbox__btn:focus{background:var(--ps-red);color:#fff}
#ps-product .ps-lightbox__btn svg{width:16px;height:16px}
#ps-product .ps-lightbox__close{top:12px;right:12px}
#ps-product .ps-lightbox__nav{top:50%;transform:translateY(-50%)}
#ps-product .ps-lightbox__nav--prev{left:12px}
#ps-product .ps-lightbox__nav--next{right:12px}

/* ---------- Tablet ---------- */
@media (max-width:1080px){
	#ps-product .ps-product-main__grid{gap:32px}
	#ps-product .ps-gallery{grid-template-columns:72px minmax(0,1fr);gap:12px}
	#ps-product .ps-product-details__grid{gap:40px}
	#ps-product .ps-card{flex-basis:calc((100% - 32px) / 3)}
	#ps-product .ps-feature{padding:26px 14px}
	#ps-product .ps-feature__icon{width:60px;height:60px}
	#ps-product .ps-feature__icon .ps-icon{width:28px;height:28px}
}

/* ---------- Mobile / stacked ---------- */
@media (max-width:860px){
	#ps-product .ps-container{padding:0 18px}
	#ps-product .ps-breadcrumb{padding:14px 0 16px}
	#ps-product .ps-product-main{padding-bottom:40px}
	#ps-product .ps-product-main__grid{grid-template-columns:minmax(0,1fr);gap:26px}
	#ps-product .ps-gallery{grid-template-columns:minmax(0,1fr);gap:12px}
	#ps-product .ps-gallery__main{order:1}
	#ps-product .ps-gallery__thumbs{order:2;flex-direction:row;overflow-x:auto;overflow-y:hidden;contain:none;align-self:auto;padding:2px 2px 6px;-webkit-overflow-scrolling:touch}
	#ps-product .ps-gallery__thumbs li{flex:0 0 68px}
	#ps-product .ps-product-details{padding:40px 0}
	#ps-product .ps-features{margin-bottom:32px}
	#ps-product .ps-key-features{margin-bottom:36px;padding:24px 22px 26px}
	#ps-product .ps-key-features ul{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:12px}
	#ps-product .ps-product-details__grid,#ps-product .ps-product-details__grid.is-single{grid-template-columns:minmax(0,1fr);gap:36px}
	#ps-product .ps-related{padding:40px 0 44px}
	#ps-product .ps-carousel__track{margin:0 -18px;padding:2px 18px 8px;scroll-padding-left:18px}
	#ps-product .ps-card{flex-basis:44%}
	#ps-product .ps-carousel__btn{display:none}
	#ps-product .ps-product-reviews #comments ol.commentlist li img.avatar{display:none}
}

@media (max-width:560px){
	#ps-product .ps-product-title{font-size:28px}
	#ps-product .ps-price{font-size:26px}
	#ps-product .ps-features{grid-template-columns:repeat(2,minmax(0,1fr))}
	#ps-product .ps-feature:last-child:nth-child(odd){grid-column:1/-1}
	#ps-product .ps-feature{padding:22px 12px}
	#ps-product .ps-contact-btn{max-width:none}
	#ps-product .ps-buybox .single_add_to_cart_button.button{flex:1 1 100%;max-width:none}
	#ps-product .ps-buybox .woocommerce-variation-add-to-cart,#ps-product .ps-buybox form.cart:not(.variations_form){gap:10px}
	#ps-product .ps-swatch{flex:1 1 auto;text-align:center}
	#ps-product .ps-card{flex-basis:62%}
	#ps-product table.ps-spec th{width:40%}
	#ps-product .ps-gallery__nav{width:36px;height:36px}
}

@media (prefers-reduced-motion:reduce){
	#ps-product *{transition:none!important;scroll-behavior:auto!important}
}
