/* Q76 module: shop and guided Bella, using the existing typography/grid tokens. */
.q76-shop-header-link{font-size:.86rem;font-weight:700;padding:14px 18px;border:1px solid var(--petrol,#096773);color:var(--petrol,#096773);display:flex;align-items:center;justify-content:center}
.q76-shop .q76-content-fallback{padding:48px 0 72px;background:white}
.q76-shop .q76-content-fallback__inner{padding:0;border:0}
.q76-shop .woocommerce-products-header{margin-bottom:28px}
.q76-shop .q76-content-fallback .page-title{max-width:26ch}
body:has(#coming-soon-footer-banner) .q76-bella-launch{bottom:90px}
.q76-shop h1,.q76-shop .product_title{font-size:var(--type-page-title);font-weight:300;letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}
.q76-shop h2{font-size:var(--type-section-compact);font-weight:300;line-height:var(--leading-heading)}
.q76-shop-nav{display:flex;gap:8px 24px;align-items:center;flex-wrap:wrap;border-block:1px solid var(--line,#ccd8d9);padding:16px 0;margin:0 0 28px;font-size:.94rem}
.q76-shop-nav a,.q76-shop-nav button{color:var(--petrol,#096773);font-weight:700}
.q76-shop-nav button{background:transparent;border:0;padding:0;cursor:pointer;text-align:left}
.q76-shop-lead{font-size:var(--type-lead);max-width:65ch}
.q76-shop .woocommerce-product-search{display:flex;flex-wrap:wrap;gap:10px;max-width:660px;margin:24px 0}
.q76-shop .woocommerce-product-search input{flex:1;min-width:180px}
.q76-shop .woocommerce-product-search label{width:1px}
.q76-shop-categories{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.q76-shop-categories a{border:1px solid var(--line,#ccd8d9);padding:10px 16px}
.q76-shop .woocommerce-result-count{float:left;margin:12px 0 24px}
.q76-shop .woocommerce-ordering{float:right;margin-bottom:24px}
.q76-shop ul.products{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;clear:both;margin:32px 0}
.q76-shop ul.products::before,.q76-shop ul.products::after{display:none}
.q76-shop ul.products li.product{border:1px solid var(--line,#ccd8d9);padding:24px;display:flex;flex-direction:column;min-width:0;position:relative}
.q76-shop ul.products li.product img{width:100%;aspect-ratio:1;object-fit:contain;margin-bottom:20px}
.q76-shop ul.products li.product h2{font-size:var(--type-card-title);line-height:var(--leading-card);font-weight:400;margin:0 0 16px}
.q76-shop ul.products li.product .price{display:block;font-size:1.22rem;margin-bottom:22px;color:var(--petrol,#096773)}
.q76-shop ul.products li.product>.button{margin-top:auto}
.q76-shop a.button,.q76-shop button.button,.q76-shop input.button,.q76-shop button[type=submit],.q76-shop .single_add_to_cart_button{background:var(--petrol,#096773);color:#fff;border:1px solid var(--petrol,#096773);border-radius:0;cursor:pointer;font-weight:700;padding:14px 20px;min-height:48px;line-height:1.3}
.q76-shop .woocommerce .button:hover,.q76-shop button[type=submit]:hover{background:var(--ink,#102f36)}
.q76-shop button:disabled{opacity:.5;cursor:not-allowed}
.q76-shop input:not([type=checkbox]):not([type=radio]):not([type=submit]),.q76-shop select,.q76-shop textarea{border:1px solid #8fa9ad;background:#fff;color:var(--ink,#102f36);padding:12px;min-height:48px;border-radius:0;font:inherit;max-width:100%}
.q76-shop .quantity{display:inline-flex;align-items:center;margin-right:12px}
.q76-shop .quantity input{width:80px}
.q76-shop div.product{position:relative}
.q76-shop div.product>.woocommerce-product-gallery{width:46%;float:left;margin-bottom:40px}
.q76-shop div.product>.summary{width:49%;float:right;margin-bottom:40px}
.q76-shop .woocommerce-product-gallery__wrapper{margin:0}
.q76-shop .woocommerce-product-gallery img{width:100%;height:auto;object-fit:contain}
.q76-shop .flex-control-thumbs{display:flex;list-style:none;gap:12px;padding:0}
.q76-shop .flex-control-thumbs li{width:22%}
.q76-shop .price{font-size:1.5rem;color:var(--petrol,#096773)}
.q76-shop .product_meta{border-top:1px solid var(--line,#ccd8d9);padding-top:20px;font-size:.94rem}
.q76-shop .product_meta>span{display:block;margin:6px 0}
.q76-shop .woocommerce-tabs,.q76-shop .related{clear:both;padding-top:30px}
.q76-shop .woocommerce-tabs ul.tabs{display:flex;list-style:none;padding:0;gap:24px;border-bottom:1px solid var(--line,#ccd8d9);flex-wrap:wrap}
.q76-shop .woocommerce-tabs ul.tabs li{padding:12px 0}
.q76-shop .woocommerce-tabs ul.tabs li.active{border-bottom:3px solid var(--petrol,#096773)}
.q76-shop-compatibility{border:1px solid var(--line,#ccd8d9);padding:20px;margin:24px 0;font-size:.95rem}
.q76-shop-compatibility p{margin:8px 0 12px}
.q76-shop-compatibility a{text-decoration:underline;text-underline-offset:3px}
.q76-shop table{border-collapse:collapse;width:100%;margin:20px 0 28px}
.q76-shop th,.q76-shop td{padding:16px 12px;border-bottom:1px solid var(--line,#ccd8d9);text-align:left;vertical-align:middle}
.q76-shop th{font-weight:700;background:#f3f6f5}
.q76-shop .product-thumbnail{width:100px}
.q76-shop .product-thumbnail img{width:72px;height:72px;object-fit:contain}
.q76-shop .remove{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--line,#ccd8d9);font-size:1.6rem}
.q76-shop .cart-collaterals{display:flex;justify-content:flex-end}
.q76-shop .cart_totals{width:min(100%,480px);padding:24px;border:1px solid var(--line,#ccd8d9)}
.q76-shop .checkout-button{display:flex!important;width:100%}
.q76-shop form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 48px}
.q76-shop #customer_details{grid-row:1 / 5}
.q76-shop #order_review_heading{margin:0}
.q76-shop .form-row{margin:0 0 18px}
.q76-shop .form-row label{display:block;font-weight:700;margin:0 0 6px}
.q76-shop .form-row input.input-text,.q76-shop .form-row select,.q76-shop .form-row textarea{width:100%}
.q76-shop .form-row input[type=checkbox]{margin-right:8px}
.q76-shop .woocommerce-billing-fields h3,.q76-shop #ship-to-different-address{font-size:var(--type-card-title)}
.q76-shop .woocommerce-checkout-payment{padding:24px;border:1px solid var(--line,#ccd8d9);background:#f3f6f5}
.q76-shop .woocommerce-error,.q76-shop .woocommerce-message,.q76-shop .woocommerce-info,.q76-shop-notice{list-style:none;margin:20px 0;padding:20px 24px;background:#edf5f5;border-left:4px solid var(--petrol,#096773);clear:both}
.q76-shop .woocommerce-error{background:#fff1ee;border-color:#a44436}
.q76-shop .woocommerce-message .button{margin:0 16px 10px 0}
.q76-shop .woocommerce-pagination ul{display:flex;gap:12px;list-style:none;padding:0}
.q76-shop .woocommerce-pagination a,.q76-shop .woocommerce-pagination span{display:block;padding:10px 16px;border:1px solid var(--line,#ccd8d9)}
.q76-shop-empty{padding:40px;border:1px solid var(--line,#ccd8d9);background:#f3f6f5;margin:24px 0}
.q76-shop-empty p{max-width:62ch}
.q76-shop .onsale{background:var(--petrol,#096773);color:white;padding:6px 12px;display:inline-block;font-size:.86rem}
.q76-shop .woocommerce-breadcrumb{font-size:.9rem;color:#526b70;margin-bottom:24px}
.q76-shop .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.q76-shop .required{color:#a44436}
.q76-shop .woocommerce-Price-currencySymbol{margin-left:.2em}
.q76-bella-launch{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 18px 8px 8px;background:var(--ink,#102f36);border:1px solid #66bbc0;box-shadow:0 4px 22px #102f3626;color:#fff;font-weight:700;font-size:.95rem;cursor:pointer}
.q76-bella-launch>span{display:grid;place-items:center;width:34px;height:34px;background:var(--accent,#50d8cf);color:var(--ink,#102f36);font-size:1.3rem;font-weight:400}
.q76-bella-dialog{position:fixed;inset:auto 24px 24px auto;width:min(480px,calc(100vw - 32px));max-width:none;max-height:min(780px,calc(100dvh - 48px));padding:0;margin:0;border:1px solid #87b7bb;background:#fff;color:var(--ink,#102f36);box-shadow:0 20px 80px #061d3455;overflow:auto}
.q76-bella-dialog::backdrop{background:rgba(6,24,28,.4)}
.q76-bella-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 28px;background:var(--ink,#102f36);color:white;position:sticky;top:0;z-index:1}
.q76-bella-dialog header p{font-size:var(--type-label,.72rem);font-weight:700;letter-spacing:.08em;color:#a9e5e5;margin:0 0 10px}
.q76-bella-dialog header h2{font-size:var(--type-card-title,1.6rem);font-weight:400;line-height:1.2;margin:0}
.q76-bella-dialog [data-bella-close]{background:transparent;color:white;border:1px solid #77979c;min-width:40px;min-height:40px;font-size:1.5rem;cursor:pointer}
.q76-bella-body{padding:26px 28px}
.q76-bella-welcome{font-size:var(--type-body,1rem);line-height:1.6;margin-bottom:10px}
.q76-bella-mode{font-size:.85rem;color:#536e73;margin:0 0 24px}
.q76-bella-choices{display:grid;gap:10px;margin-bottom:24px}
.q76-bella-choices button{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #b3c9cd;background:#f3f6f5;min-height:50px;padding:12px 16px;text-align:left;cursor:pointer;font-size:1rem;font-weight:700}
.q76-bella-choices button:hover{background:#e4f1f0;border-color:#277c83}
.q76-bella-search label{display:block;font-size:.94rem;font-weight:700;margin:0 0 8px}
.q76-bella-search>div{display:flex;gap:8px}
.q76-bella-search input{width:100%;min-width:0;min-height:48px;border:1px solid #8fa9ad;padding:12px;border-radius:0;background:white;color:var(--ink,#102f36);font-size:1rem}
.q76-bella-search button{background:var(--petrol,#096773);border:1px solid var(--petrol,#096773);color:white;padding:12px 16px;cursor:pointer;font-weight:700}
.q76-bella-results:not(:empty){margin-top:24px;border-top:1px solid #c1d2d4;padding-top:20px}
.q76-bella-results p{font-size:.96rem;line-height:1.55}
.q76-bella-results h3{font-size:1rem;font-weight:700;margin:20px 0 10px}
.q76-bella-result{display:block;border:1px solid #b3c9cd;margin-top:8px;padding:12px 14px;font-size:.96rem;color:var(--petrol,#096773);font-weight:700}
.q76-bella-result:hover{background:#edf5f5}
.q76-bella-privacy{border-top:1px solid #c1d2d4;padding-top:16px;margin-top:24px;font-size:.86rem;line-height:1.55;color:#4b656b}
.q76-bella-privacy summary{cursor:pointer;font-weight:700}
.q76-bella-privacy p{margin:12px 0 0}
.q76-bella :focus-visible,.q76-shop :focus-visible{outline:3px solid #e3a330;outline-offset:3px}
@media(max-width:900px){.q76-shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.q76-shop div.product>.woocommerce-product-gallery,.q76-shop div.product>.summary{float:none;width:100%}.q76-shop form.checkout{grid-template-columns:1fr}.q76-shop #customer_details{grid-row:auto}.q76-shop-header-link{padding:12px}}
@media(max-width:680px){.q76-shop .q76-content-fallback__inner{padding-block:32px 48px}.q76-shop ul.products{grid-template-columns:1fr;gap:18px}.q76-shop ul.products li.product{padding:20px}.q76-shop .woocommerce-result-count,.q76-shop .woocommerce-ordering{float:none}.q76-shop-empty{padding:24px}.q76-shop table.shop_table_responsive thead{display:none}.q76-shop table.shop_table_responsive tr{display:block;padding:14px 0;border-bottom:1px solid #ccd8d9}.q76-shop table.shop_table_responsive td{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border:0;width:auto}.q76-shop table.shop_table_responsive td::before{content:attr(data-title);font-weight:700}.q76-shop table.shop_table_responsive .product-thumbnail{display:none}.q76-shop table.shop_table_responsive .actions{justify-content:flex-end}.q76-shop .cart_totals{padding:20px}.q76-shop-header-link{font-size:.8rem;padding:10px;border:0}.q76-bella-launch{right:16px;bottom:16px;min-height:48px;font-size:.86rem}.q76-bella-dialog{inset:auto 8px 8px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.q76-bella-dialog>header{padding:20px}.q76-bella-body{padding:22px 20px}.q76-bella-dialog header h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.q76-bella *, .q76-shop *{scroll-behavior:auto!important;transition:none!important}}
@media print{.q76-bella{display:none}}
.woocommerce-cart .q76-bella-launch,.woocommerce-checkout .q76-bella-launch{display:none}
.q76-shop .select2-container .select2-selection--single{height:48px;border:1px solid #8fa9ad;border-radius:0}
.q76-shop .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-inline:12px}
.q76-shop .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
@media(max-width:680px){.q76-shop .q76-content-fallback{padding:32px 0 48px}.q76-shop .q76-content-fallback__inner{padding:0}body:has(#coming-soon-footer-banner) .q76-bella-launch{bottom:140px}}

.q76-bella-result-group button.q76-bella-result{width:100%;text-align:left;background:#edf5f5;cursor:pointer;font-family:inherit}

@media(max-width:680px){
.q76-shop .cart_totals table,.q76-shop .cart_totals tbody{display:block;width:100%;max-width:100%}
.q76-shop .cart_totals th{display:none}
.q76-shop .cart_totals table.shop_table_responsive td{display:block;width:100%;max-width:100%;overflow-wrap:anywhere}
.q76-shop .cart_totals td::before{display:block;margin-bottom:8px}
.q76-shop .cart_totals .includes_tax{display:block;margin-top:6px}
.q76-shop .woocommerce-shipping-methods{list-style:none;padding:0;margin:0 0 12px}
.q76-shop .woocommerce-checkout-review-order-table{table-layout:fixed;width:100%}
.q76-shop .woocommerce-checkout-review-order-table th,.q76-shop .woocommerce-checkout-review-order-table td{overflow-wrap:anywhere}
}

/* Shop entry in the existing lower-left menu service row. */
#site-menu .menu-service a.q76-menu-shop{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#b1e4e3;color:#173137;border:1px solid #b1e4e3;border-radius:8px;text-decoration:none;min-height:72px;transition:background .15s,border-color .15s}
#site-menu .q76-menu-shop>svg{flex:0 0 24px}
#site-menu .q76-menu-shop .q76-menu-shop-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;color:inherit}
#site-menu .q76-menu-shop strong{font-family:"Roboto Condensed",Arial,sans-serif;font-size:18px;font-weight:650;line-height:1.2;letter-spacing:0}
#site-menu .q76-menu-shop small{font-family:"Roboto Condensed",Arial,sans-serif;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:0;color:#24494f}
#site-menu .q76-menu-shop .q76-menu-shop-arrow{margin-left:auto;color:inherit;flex:0 0 auto}
#site-menu .menu-service a.q76-menu-shop:hover{background:#d4f2ef;border-color:#d4f2ef}
#site-menu .menu-service a.q76-menu-shop:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){#site-menu .menu-service a.q76-menu-shop{transition:none}}

#site-menu .menu-service{align-items:end}
#site-menu .q76-menu-commerce{min-width:0;display:flex;flex-direction:column;gap:8px}
#site-menu .menu-service a.q76-menu-cart{min-height:44px;justify-content:flex-start;padding:8px 12px;border:0;background:transparent;color:#c1e3e2;font-size:13px;font-weight:400;gap:9px}
#site-menu .q76-menu-cart svg{width:18px;height:18px;flex:0 0 18px}
#site-menu .menu-service a.q76-menu-cart:hover{color:#fff;background:#ffffff0a}
#site-menu .menu-service a.q76-menu-cart:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Keep the header CTA inside the existing bottom rule. */
.site-header .header-contact{height:calc(100% - 1px);align-self:flex-start;border-bottom:0;box-sizing:border-box}

/* One permanent, keyboard-accessible entry to the existing CMP. */
.q76-privacy-settings{appearance:none;display:inline-block;border:0;border-radius:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:normal;text-align:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
.q76-privacy-settings:hover{opacity:.8}
.q76-privacy-settings:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.video-lightbox__consent .q76-privacy-settings{margin-top:12px;font-size:15px}
.frs-site-footer__socket-nav{flex-wrap:wrap}

/* Mobile navigation: headings retain hierarchy above the product links. */
@media(max-width:600px){
  #site-menu .menu-overlay-inner{gap:28px;padding-block:24px 32px}
  #site-menu .menu-kicker{margin-bottom:12px}
  #site-menu .menu-primary>a{min-height:48px;font-size:18px;line-height:1.3}
  #site-menu .menu-groups{gap:28px}
  #site-menu .menu-group-heading{border-top-width:2px;min-height:0;padding:16px 0 12px}
  #site-menu .menu-group-heading h2{margin:0;font-size:24px;line-height:1.2;letter-spacing:0}
  #site-menu .menu-group-heading h2 a{min-height:0;padding:0;font-size:inherit;font-weight:500;line-height:inherit;letter-spacing:inherit}
  #site-menu .menu-group-heading p{margin:8px 0 0;font-size:13px;line-height:1.45}
  #site-menu .menu-group li>a{min-height:44px;padding:10px 0;font-size:15px;line-height:1.35}
  #site-menu .menu-service{gap:16px;padding-top:24px}
}
