/*
 * Product page. Loaded on single product pages only, after site.css.
 *
 * The page's own markup (content-single-product.php) carries the design's inline styles and pd- classes;
 * site.css lays those out on tablet and phone. This file styles what WooCommerce and plugins print inside
 * that layout: the gallery, the add-to-cart form of every product type, the attributes table, the reviews.
 * It is written to hold with or without WooCommerce's own stylesheets on the page, which is why some rules
 * carry extra weight (!important, or .pd-buy / .pd-gallery in front).
 *
 * Widths: phone up to 699px, tablet 700 to 1079px, desktop 1080px and up.
 */

/* ---------- notices (added to cart, errors): the look is woo.css's; this is only where they sit ---------- */
.pd-notices .woocommerce-notices-wrapper:empty{display:none}
.pd-notices .woocommerce-notices-wrapper{margin-top:16px}
.pd-notices .woocommerce-notices-wrapper>:last-child{margin-bottom:0}
/* WooCommerce moves focus to the notice so it is read out; it is not a control, so no focus ring */
.pd-notices :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):focus{outline:0;box-shadow:none}
.pd-password form{max-width:480px}
.pd-password input[type="password"]{box-sizing:border-box;height:48px;padding:0 12px;border:1px solid #8796A5;border-radius:4px;font:inherit}
.pd-password input[type="submit"]{height:48px;padding:0 18px;border:0;border-radius:4px;background:#003050;color:#FFFFFF;font:inherit;font-weight:700;cursor:pointer}

/* ---------- gallery: WooCommerce's own (zoom, lightbox, thumbnail slider, variation image swap) ---------- */
.pd-gallery{position:relative}
/* WooCommerce keeps the gallery invisible until its slider is set up. With one photo there is nothing to set
   up, so show it at once; with several, let it fade in as usual, and show it anyway if its script never runs. */
@keyframes pd-gallery-show{to{opacity:1}}
.pd-gallery .woocommerce-product-gallery{position:relative;float:none!important;width:100%!important;min-width:0;margin:0!important;display:flex;flex-direction:column;gap:12px;animation:pd-gallery-show 0s 3s forwards}
.pd-gallery .woocommerce-product-gallery:not(:has(.woocommerce-product-gallery__image:nth-child(2))){opacity:1!important}
/* the white photo frame: the slider's window when there are several photos, the wrapper when there is one */
.pd-gallery .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper,
.pd-gallery .woocommerce-product-gallery>.flex-viewport{background:#FFFFFF;border:1px solid #DCE2E8;border-radius:6px}
.pd-gallery .woocommerce-product-gallery__wrapper{margin:0!important;padding:0!important}
/* The space around a photo is on the link inside the slide, not on the slide: the slider measures slides
   by their content box, and WooCommerce sets the window's height from the slide's content height. */
.pd-gallery .woocommerce-product-gallery__image>a,
.pd-gallery .woocommerce-product-gallery__image--placeholder{display:block;padding:28px}
/* before the slider starts, show the first photo only (the slider then sets every slide visible itself;
   the repeated class outweighs WooCommerce's own rule for a gallery without the slider) */
.pd-gallery.pd-gallery.pd-gallery .woocommerce-product-gallery .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:nth-child(n+2){display:none;width:auto}
/* and keep the room the thumbnails will take, so the page does not jump when they arrive */
.pd-gallery .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs))::after{content:"";display:block;width:96px;aspect-ratio:1 / 1}
.pd-gallery .woocommerce-product-gallery__image img:not(.zoomImg),
.pd-gallery .woocommerce-product-gallery__image--placeholder img{display:block;width:100%;max-width:560px;height:auto;aspect-ratio:1 / 1;object-fit:contain;margin:0 auto;box-shadow:none}
.pd-gallery .woocommerce-product-gallery__image--placeholder{border:0!important}
.pd-gallery .zoomImg{background:#FFFFFF}
/* open full screen */
.pd-gallery .woocommerce-product-gallery__trigger{position:absolute;top:12px!important;right:12px!important;left:auto;z-index:9;box-sizing:border-box;width:44px!important;height:44px!important;padding:0;border:1px solid #DCE2E8!important;border-radius:50%!important;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003050' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.6-3.6'/%3E%3C/svg%3E") center / 20px 20px no-repeat!important;font-size:0!important;line-height:0;text-indent:0;overflow:hidden;text-decoration:none}
.pd-gallery .woocommerce-product-gallery__trigger::before,
.pd-gallery .woocommerce-product-gallery__trigger::after{content:none!important;display:none!important}
.pd-gallery .woocommerce-product-gallery__trigger>*{display:none!important}
.pd-gallery .woocommerce-product-gallery__trigger:hover{border-color:#003050!important}
.pd-gallery .woocommerce-product-gallery--without-images .woocommerce-product-gallery__trigger{display:none!important}
/* thumbnails */
.pd-gallery .flex-control-thumbs{list-style:none;margin:0!important;padding:0!important;overflow:visible;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}
.pd-gallery .flex-control-thumbs li{float:none!important;clear:none!important;width:auto!important;margin:0!important;list-style:none}
.pd-gallery .flex-control-thumbs img{box-sizing:border-box;display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;margin:0;padding:6px;background:#FFFFFF;border:2px solid #C5CED7;border-radius:6px;cursor:pointer;opacity:1!important}
.pd-gallery .flex-control-thumbs img:hover{border-color:#8796A5}
.pd-gallery .flex-control-thumbs img.flex-active{border-color:#003050}
/* sale flag */
.pd-gallery .onsale{position:absolute;top:12px;left:12px;right:auto;z-index:9;min-width:0;min-height:0;margin:0;padding:4px 10px;border-radius:4px;background:#003050;color:#FFFFFF;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}

/* ---------- title block ---------- */
.pd-sku:hover{border-color:#003050!important}
.pd-copy-ok{display:none}
.pd-sku[data-copied] .pd-copy-ic{display:none}
.pd-sku[data-copied] .pd-copy-ok{display:block}
.pd-short>*{margin:0}
.pd-short>*+*{margin-top:10px}
/* the fit line for the saved crawler is filled in by script; until then it takes no room at any width */
.pd-fit[hidden]{display:none!important}

/* ---------- buy card ---------- */
.pd-buy .pd-price{color:#003050}
.pd-buy .pd-price .price{color:inherit!important;font-size:inherit!important}
.pd-buy .pd-price del{font-size:.5em;font-weight:500;color:#566574;opacity:1;vertical-align:middle}
.pd-buy .pd-price ins{background:none;text-decoration:none;font-weight:700}
.pd-buy .pd-price small,.pd-buy .pd-price .woocommerce-price-suffix{font-size:15px;font-weight:400;color:#566574}
.pd-stock-in{color:#17794A}
.pd-stock-back{color:#8A5A00}
.pd-stock-out{color:#B3261E}
.pd-stock-out>svg,.pd-stock-back>svg{display:none}
/* the stock line of a simple product is already beside the price */
.pd-buy>p.stock{display:none}
.pd-buy .pd-callfor a{color:#0F5C9A}
.pd-buy .pd-meta-more{font-size:14px;color:#566574}

/* WooCommerce's form, any product type */
.pd-buy form.cart{margin:0!important;padding:0;border:0}
.pd-buy form.cart::before,.pd-buy form.cart::after{content:none!important;display:none!important}
/* the box that holds the quantity and the buttons: the form itself, or the inner box of a variable or bundle form */
.pd-buy form.cart,
.pd-buy .woocommerce-variation-add-to-cart,
.pd-buy .bundle_button,
.pd-buy .composite_button{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;align-items:start}
.pd-buy form.cart>*,
.pd-buy .woocommerce-variation-add-to-cart>*,
.pd-buy .bundle_button>*,
.pd-buy .composite_button>*{grid-column:1 / -1;min-width:0}
.pd-buy form.variations_form,.pd-buy form.bundle_form,.pd-buy form.composite_form{display:block}
.pd-buy form.cart .button{float:none!important}

/* quantity: a plain field until product.js turns it into the stepper (same box, so nothing moves) */
.pd-buy .pd-lbl{display:block}
.pd-buy .pd-qty:has(input[type="hidden"]){display:none!important}
.pd-buy .quantity{float:none!important;box-sizing:border-box;display:flex;width:154px;height:48px;margin:0!important}
.pd-buy .quantity .qty{box-sizing:border-box;flex:1 1 auto;min-width:0;width:100%;height:100%;margin:0;padding:0 6px;border:1px solid #8796A5;border-radius:4px;background:#FFFFFF;color:#0E1B26;font:inherit;font-size:18px;font-weight:600;line-height:1;text-align:center}
.pd-buy .quantity.pd-stepper{border:1px solid #8796A5;border-radius:4px;overflow:hidden;background:#FFFFFF}
.pd-buy .quantity.pd-stepper .qty{flex:0 0 auto;width:60px;border:0;border-left:1px solid #C5CED7;border-right:1px solid #C5CED7;border-radius:0;-moz-appearance:textfield;appearance:textfield}
.pd-buy .quantity.pd-stepper .qty::-webkit-outer-spin-button,
.pd-buy .quantity.pd-stepper .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pd-buy .quantity.pd-stepper .qty:focus-visible{outline-offset:-2px;box-shadow:none}
.pd-step{flex:0 0 auto;width:46px;padding:0;border:0;background:#F4F6F8;color:#0E1B26;font:inherit;font-size:22px;line-height:1;cursor:pointer}
.pd-step:hover{background:#E9EDF1}
.pd-step:focus-visible{outline-offset:-2px;box-shadow:none}
.pd-step:disabled{color:#8796A5;cursor:default;background:#F4F6F8}
.pd-set:hover{border-color:#003050!important}

/* buttons: add to cart (amber) and the quote plugin's button (outlined), at the size the design gives them here.
   woo.css and plugins.css hold their general look; these selectors outweigh both. */
.tg-page .pd-buy .single_add_to_cart_button{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px!important;margin:0!important;padding:8px 16px!important;border:0!important;border-radius:4px!important;background:#FFB81C!important;color:#0E1B26!important;font:inherit;font-weight:700!important;font-size:18px!important;line-height:1.2!important;text-align:center;text-decoration:none!important;text-transform:none;letter-spacing:0;cursor:pointer;opacity:1;transition:background-color .14s ease-out}
.tg-page .pd-buy .single_add_to_cart_button:hover{background:#F2AB0D!important;color:#0E1B26!important}
.tg-page .pd-buy .single_add_to_cart_button:active{background:#E19F0C!important}
.tg-page .pd-buy .single_add_to_cart_button.disabled,
.tg-page .pd-buy .single_add_to_cart_button:disabled{opacity:.55!important;cursor:not-allowed}
.tg-page .pd-buy .single_add_to_cart_button:not(.afrfqbt_single_page)::before{content:"";flex:0 0 22px;width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.5'/%3E%3Ccircle cx='17' cy='19.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.5'/%3E%3Ccircle cx='17' cy='19.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat}
.tg-page .pd-buy .afrfqbt_single_page,
.tg-page .pd-buy .afrfqbt_single_page.single_add_to_cart_button{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:54px!important;margin:0!important;padding:8px 16px!important;border:2px solid #003050!important;border-radius:4px!important;background:#FFFFFF!important;color:#003050!important;font:inherit;font-weight:700!important;font-size:18px!important;line-height:1.2!important;text-align:center;text-decoration:none!important;cursor:pointer;opacity:1}
.tg-page .pd-buy .afrfqbt_single_page:hover,
.tg-page .pd-buy .afrfqbt_single_page.single_add_to_cart_button:hover{background:#E9EDF1!important;color:#003050!important}
/* the two buttons side by side when both are there (stacked on a phone, and where :has is not understood) */
@media (min-width:700px){
  .pd-buy form.cart:has(>.afrfqbt_single_page)>.single_add_to_cart_button,
  .pd-buy .woocommerce-variation-add-to-cart:has(>.afrfqbt_single_page)>.single_add_to_cart_button,
  .pd-buy .bundle_button:has(>.afrfqbt_single_page)>.single_add_to_cart_button,
  .pd-buy .composite_button:has(>.afrfqbt_single_page)>.single_add_to_cart_button{grid-column:auto}
}

/* variable products: WooCommerce's options table, one option per row, label over the field */
.pd-buy table.variations{display:block;width:100%;margin:0 0 16px!important;border:0!important;border-collapse:collapse}
.pd-buy table.variations tbody{display:flex;flex-direction:column;gap:12px}
.pd-buy table.variations tr{display:flex;flex-direction:column;gap:6px}
.pd-buy table.variations th,.pd-buy table.variations td{display:block;padding:0!important;border:0!important;background:none!important;text-align:left;line-height:1.3!important}
.pd-buy table.variations label{font-size:13px;font-weight:600;color:#36454F}
.pd-buy table.variations select{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0!important;height:48px;margin:0!important;padding:0 40px 0 12px;border:1px solid #8796A5;border-radius:4px;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B26' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 18px 18px no-repeat;color:#0E1B26;font:inherit;font-size:16px;-webkit-appearance:none;appearance:none}
/* "Clear": WooCommerce hides it with visibility until something is chosen; here it then takes no room either */
.pd-buy .reset_variations{display:none;align-items:center;min-height:32px;margin-top:6px;font-size:14px!important;font-weight:600}
.pd-buy .reset_variations[style*="visible"]{display:inline-flex}
.pd-buy .single_variation_wrap{display:block}
.pd-buy .pd-need{margin:0 0 16px;font-size:14px;color:#566574}
.pd-buy .pd-need[hidden]{display:none}
.pd-buy .single_variation{margin:0;font-size:15px;color:#36454F}
.pd-buy .single_variation>p{margin:0 0 16px}
.pd-buy .woocommerce-variation-description:empty,.pd-buy .woocommerce-variation-price:empty,.pd-buy .woocommerce-variation-availability:empty{display:none}
.pd-buy .woocommerce-variation-description>*{margin:0 0 12px}
.pd-buy .woocommerce-variation-price{margin:0 0 12px;font-size:22px;font-weight:700;color:#003050}
.pd-buy .woocommerce-variation-price .price{color:inherit;font-size:inherit}
.pd-buy .woocommerce-variation-availability .stock{margin:0 0 12px;font-size:15px;font-weight:600;color:#17794A}
.pd-buy .woocommerce-variation-availability .stock.out-of-stock{color:#B3261E}
/* with script on, the chosen variation's price and stock are shown in the price row at the top of the card */
.pd-js .pd-buy .woocommerce-variation-price,.pd-js .pd-buy .woocommerce-variation-availability{display:none}

/* grouped products: WooCommerce's table of parts */
.pd-buy table.group_table{width:100%;margin:0!important;border:0!important;border-collapse:collapse;font-size:15px}
.pd-buy table.group_table td{padding:10px 8px 10px 0!important;border:0!important;border-bottom:1px solid #E9EDF1!important;vertical-align:middle!important;background:none!important}
.pd-buy table.group_table tr:last-child td{border-bottom:0!important}
.pd-buy table.group_table .quantity{width:84px;height:44px}
.pd-buy table.group_table .woocommerce-grouped-product-list-item__price{text-align:right;font-weight:700;color:#003050;white-space:nowrap;padding-right:0!important}
.pd-buy table.group_table .stock{margin:0;font-size:13px;font-weight:600}

/* ---------- sections under the buy card ---------- */
.pd-desc>*,.pd-tab-body>*{margin:0}
.pd-desc>*+*,.pd-tab-body>*+*{margin-top:14px}
.pd-desc :is(h2,h3,h4),.pd-tab-body :is(h2,h3,h4){margin-top:26px;font-family:'Barlow Condensed',Barlow,sans-serif;font-weight:700;line-height:1.25;color:#003050}
.pd-desc h2,.pd-tab-body h2{font-size:24px}
.pd-desc h3,.pd-tab-body h3{font-size:21px}
.pd-desc h4,.pd-tab-body h4{font-size:18px}
.pd-desc>:first-child,.pd-tab-body>:first-child{margin-top:0}
.pd-desc :is(ul,ol),.pd-tab-body :is(ul,ol){padding-left:22px}
.pd-desc li+li,.pd-tab-body li+li{margin-top:6px}
.pd-desc :is(img,video,iframe),.pd-tab-body :is(img,video,iframe){max-width:100%}
.pd-desc img,.pd-tab-body img{height:auto}
.pd-desc table,.pd-tab-body table{width:100%;border-collapse:collapse;font-size:15px}
.pd-desc :is(th,td),.pd-tab-body :is(th,td){padding:8px 10px;border:1px solid #DCE2E8;text-align:left;vertical-align:top}
.pd-tab-body{max-width:960px;font-size:17px;line-height:1.6;color:#1D2A35}

/* specifications: WooCommerce's attributes table in the design's dress */
.pd-acc-specs table.shop_attributes{width:100%;margin:0!important;border-collapse:collapse;background:#FFFFFF;border:1px solid #DCE2E8!important;font-size:15px}
.pd-acc-specs table.shop_attributes th{width:44%;padding:11px 14px!important;border:0!important;border-bottom:1px solid #DCE2E8!important;background:#F4F6F8!important;color:#36454F;font-weight:600;font-style:normal;line-height:1.5;text-align:left;vertical-align:top}
.pd-acc-specs table.shop_attributes td{padding:11px 14px!important;border:0!important;border-bottom:1px solid #DCE2E8!important;background:#FFFFFF!important;font-style:normal!important;line-height:1.5;vertical-align:top}
.pd-acc-specs table.shop_attributes tr:last-child :is(th,td){border-bottom:0!important}
.pd-acc-specs table.shop_attributes td p{margin:0!important;padding:0!important}

/* reviews: WooCommerce's template (the reviews plugin styles its own) */
.pd-rev-write[hidden]{display:none!important}
.pd-acc-reviews .woocommerce-Reviews-title{display:none}
.pd-acc-reviews #comments ol.commentlist{list-style:none;width:auto;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px}
.pd-acc-reviews #comments ol.commentlist::before,.pd-acc-reviews #comments ol.commentlist::after{content:none!important;display:none!important}
.pd-acc-reviews #comments ol.commentlist li{box-sizing:border-box;margin:0!important;padding:22px 24px!important;border:0!important;border-radius:6px;background:#F4F6F8!important;list-style:none}
.pd-acc-reviews #comments ol.commentlist li .comment_container{height:100%}
.pd-acc-reviews #comments ol.commentlist li .comment-text::before,.pd-acc-reviews #comments ol.commentlist li .comment-text::after{content:none!important;display:none!important}
.pd-acc-reviews #comments ol.commentlist li .comment-text{height:100%;margin:0!important;padding:0!important;border:0!important;border-radius:0;display:flex;flex-direction:column;gap:10px}
.pd-acc-reviews #comments ol.commentlist li .comment-text p{margin:0!important}
.pd-acc-reviews #comments ol.commentlist li .description{order:2;color:#1D2A35}
.pd-acc-reviews #comments ol.commentlist li .description p+p{margin-top:10px!important}
.pd-acc-reviews #comments ol.commentlist li p.meta{order:3;margin-top:auto!important;padding-top:2px;font-size:14px!important;color:#566574!important}
.pd-acc-reviews #comments ol.commentlist li p.meta strong{color:#0E1B26}
.pd-acc-reviews #comments ol.commentlist li p.meta em{font-style:normal}
.pd-acc-reviews #comments ol.commentlist ul.children{list-style:none;margin:12px 0 0;padding:0}
.pd-acc-reviews .woocommerce-noreviews{margin:0;color:#36454F}
.pd-acc-reviews .woocommerce-pagination{margin-top:20px}
/* stars, drawn here so they do not depend on WooCommerce's icon font */
.pd-acc-reviews .star-rating{order:1;float:none!important;position:relative;display:block;flex:0 0 auto;overflow:hidden;width:90px!important;height:18px!important;margin:0!important;font-size:0!important;line-height:0!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C5CED7'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") 0 0 / 18px 18px repeat-x}
.pd-acc-reviews .star-rating::before,.pd-acc-reviews .star-rating span::before{content:none!important}
.pd-acc-reviews .star-rating span{position:absolute!important;top:0;left:0;float:none!important;height:18px;padding:0!important;overflow:hidden;text-indent:-999em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C98A00'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") 0 0 / 18px 18px repeat-x}
/* the form */
.pd-acc-reviews #review_form_wrapper{max-width:720px;margin-top:32px;scroll-margin-top:24px}
.pd-acc-reviews #review_form #respond{position:static;width:auto;margin:0;padding:0;border:0;background:none}
.pd-acc-reviews .comment-reply-title{display:block;margin:0 0 12px;font-size:20px;font-weight:700;line-height:1.3;color:#0E1B26}
.pd-acc-reviews .comment-form{display:flex;flex-direction:column;gap:14px;margin:0}
.pd-acc-reviews .comment-form p{margin:0!important}
.pd-acc-reviews .comment-form .comment-notes{font-size:14px;color:#566574}
.pd-acc-reviews .comment-form label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:#36454F}
.pd-acc-reviews .comment-form :is(input[type="text"],input[type="email"],input[type="url"],textarea,select){box-sizing:border-box;display:block;width:100%;margin:0;padding:10px 12px;border:1px solid #8796A5;border-radius:4px;background:#FFFFFF;color:#0E1B26;font:inherit;font-size:16px}
.pd-acc-reviews .comment-form :is(input[type="text"],input[type="email"],input[type="url"],select){height:48px;padding-top:0;padding-bottom:0}
.pd-acc-reviews .comment-form select{max-width:240px}
.pd-acc-reviews .comment-form textarea{min-height:140px;resize:vertical}
.pd-acc-reviews .comment-form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px}
.pd-acc-reviews .comment-form .comment-form-cookies-consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0}
.pd-acc-reviews .comment-form .comment-form-cookies-consent label{margin:0;font-size:14px;font-weight:400}
.pd-acc-reviews .comment-form .form-submit :is(input,button){left:auto;min-height:48px;padding:0 22px!important;border:0!important;border-radius:4px!important;background:#003050!important;color:#FFFFFF!important;font:inherit;font-weight:700!important;font-size:16px!important;line-height:1!important;cursor:pointer}
.pd-acc-reviews .comment-form .form-submit :is(input,button):hover{background:#114575!important}
.pd-acc-reviews p.stars{margin:0!important;line-height:1}
.pd-acc-reviews p.stars span{display:inline-flex;gap:2px}
.pd-acc-reviews p.stars a{position:relative;display:inline-block;width:40px!important;height:40px!important;overflow:hidden;font-size:0;text-indent:-999em;text-decoration:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566574' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") center / 30px 30px no-repeat}
.pd-acc-reviews p.stars a::before{content:none!important}
.pd-acc-reviews p.stars.selected a,
.pd-acc-reviews p.stars:hover a,
.pd-acc-reviews p.stars.selected:hover a.active~a{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C98A00'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}
.pd-acc-reviews p.stars.selected:not(:hover) a.active~a,
.pd-acc-reviews p.stars:hover a:hover~a,
.pd-acc-reviews p.stars.selected:hover a:hover~a{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566574' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}

/* ---------- related products and up-sells ---------- */
/* position: so text for screen readers inside the cards stays inside the swipe row and cannot widen the page */
.pd-more .pd-related{position:relative}
.pd-more .pd-related>*{min-width:0}

/* ---------- phone buy bar ---------- */
.pd-bar-stock.pd-stock-in{color:#17794A}
.pd-bar-stock.pd-stock-back{color:#8A5A00}
.pd-bar-stock.pd-stock-out{color:#B3261E}
.pd-bar-cart-call{background:#003050!important;color:#FFFFFF!important}

/* ---------- tablet and phone ---------- */
@media (max-width:1079px){
  .pd-buy .quantity{height:52px}
}

/* ---------- tablet ---------- */
@media (min-width:700px) and (max-width:1079px){
  /* the photo frame stretches so the gallery column ends level with the buy card */
  .pd-gallery .woocommerce-product-gallery{flex:1 1 auto}
  .pd-gallery .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{flex:1 1 auto;display:flex;align-items:center;justify-content:center}
  .pd-gallery .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper>*{flex:1 1 auto;min-width:0}
  .pd-gallery .woocommerce-product-gallery>.flex-viewport{flex:1 1 auto;display:flex;align-items:center}
  .pd-gallery .flex-viewport>.woocommerce-product-gallery__wrapper{flex:0 0 auto}
  .pd-gallery .woocommerce-product-gallery__image>a,.pd-gallery .woocommerce-product-gallery__image--placeholder{padding:20px}
  .pd-gallery .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs))::after{width:80px}
  .pd-gallery .flex-control-thumbs{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}
  .pd-buy .quantity{width:142px}
  .pd-buy .quantity.pd-stepper .qty{width:52px}
  .pd-acc-specs table.shop_attributes{max-width:720px}
  .pd-acc-reviews #comments ol.commentlist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-acc-reviews #comments ol.commentlist>li:last-child:nth-child(odd){grid-column:1 / -1}
}

/* ---------- phone ---------- */
@media (max-width:699px){
  .pd-notices .woocommerce-notices-wrapper{margin-top:8px}

  /* gallery: one photo per view; WooCommerce's slider swipes */
  .pd-gallery .woocommerce-product-gallery{gap:8px}
  .pd-gallery .woocommerce-product-gallery__image>a,.pd-gallery .woocommerce-product-gallery__image--placeholder{padding:12px}
  .pd-gallery .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs))::after{width:52px}
  .pd-gallery .woocommerce-product-gallery__image img:not(.zoomImg),
  .pd-gallery .woocommerce-product-gallery__image--placeholder img{height:212px!important;aspect-ratio:auto;max-width:none}
  .pd-gallery .woocommerce-product-gallery__trigger{top:8px!important;right:8px!important}
  .pd-gallery .flex-control-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
  .pd-gallery .flex-control-thumbs::-webkit-scrollbar{display:none}
  .pd-gallery .flex-control-thumbs li{flex:0 0 52px}
  .pd-gallery .flex-control-thumbs img{height:52px!important;padding:3px}

  /* buy card: full-width stepper, buttons stacked */
  .pd-buy .quantity{width:100%}
  .pd-buy .quantity.pd-stepper .qty{flex:1 1 auto;width:auto;font-size:20px}
  .pd-buy .quantity:not(.pd-stepper) .qty{font-size:20px}
  .pd-buy form.cart,
  .pd-buy .woocommerce-variation-add-to-cart,
  .pd-buy .bundle_button,
  .pd-buy .composite_button{gap:10px}
  .pd-buy .pd-opts{margin-bottom:4px}
  .tg-page .pd-buy .afrfqbt_single_page,
  .tg-page .pd-buy .afrfqbt_single_page.single_add_to_cart_button{min-height:52px!important}
  .pd-buy table.group_table .quantity{width:76px}

  /* sections that open with a tap: the phone layout for what WooCommerce prints inside them */
  [data-tab="closed"] .pd-acc-body{display:none!important}
  .pd-tab-body{font-size:16px;line-height:1.55}
  .pd-specs-wrap{padding:0 16px 24px!important}
  .pd-acc-specs table.shop_attributes{border:0!important;background:transparent;font-size:16px}
  .pd-acc-specs table.shop_attributes th{width:40%;padding:12px 12px 12px 0!important;background:transparent!important;font-size:15px}
  .pd-acc-specs table.shop_attributes td{padding:12px 0!important;background:transparent!important}
  .pd-acc-specs table.shop_attributes tr:first-child :is(th,td){border-top:1px solid #DCE2E8!important}
  .pd-acc-specs table.shop_attributes tr:last-child :is(th,td){border-bottom:1px solid #DCE2E8!important}
  .pd-rev-write{width:100%;min-height:48px!important}
  .pd-acc-reviews #comments ol.commentlist{grid-template-columns:minmax(0,1fr);gap:12px}
  .pd-acc-reviews #comments ol.commentlist li{padding:16px!important}
  .pd-acc-reviews #comments ol.commentlist li p.meta{font-size:15px!important}
  .pd-acc-reviews #review_form_wrapper{margin-top:20px}
  .pd-acc-reviews .comment-form .form-submit :is(input,button){width:100%}
  .pd-more-up{padding-bottom:0!important}
}
