/* GMS Commerce 3.0: readable controls and one responsive storefront. */
.gms-commerce-site [hidden] { display:none !important; }
.gms-commerce-site :focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.gms-commerce-site button, .gms-commerce-site input, .gms-commerce-site select, .gms-commerce-site textarea { max-width:100%; }
.gms-commerce-site :is(h1,h2,h3,p,a,td,address) { overflow-wrap:break-word; }
.gms-commerce-site :is(h1,h2,h3) { font-weight:750; }
.gms-main:focus { outline:0; }
.gms-header { backdrop-filter:none; }
.gms-header__main { grid-template-columns:180px minmax(240px,1fr) auto; gap:24px; }
.gms-logo { max-width:180px; }
.gms-header-actions .gms-cart-count { display:grid; line-height:1; font-size:11px; }
.gms-nav__inner { position:relative; }
.gms-catalog-nav { position:static; }
.gms-mega-menu { top:100%; left:0; width:100%; max-height:70vh; overflow:auto; }
.gms-primary-menu { flex-wrap:wrap; height:auto; gap:0; }
.gms-primary-menu a { padding-inline:12px; }
.gms-nav-highlight { margin-left:12px; }
.gms-search-results { max-height:min(440px,65dvh); overflow-y:auto; overscroll-behavior:contain; }
.gms-search-result[aria-selected="true"] { background:#eef3f0; outline:2px solid #303e35; outline-offset:-2px; }
.gms-search-result { grid-template-columns:52px minmax(0,1fr); min-height:72px; }
.gms-search-result img { grid-row:span 2; }
.gms-search-result span { grid-column:2; }
.gms-mobile-links { margin:0; padding:0; list-style:none; }
.gms-mobile-links a { display:flex; align-items:center; min-height:46px; padding:8px 10px; font-size:15px; border-bottom:1px solid #edf0ee; }
.gms-category-node__row { display:flex; align-items:stretch; border-bottom:1px solid #e8ece9; }
.gms-category-node__row a { flex:1; min-width:0; display:flex; align-items:center; min-height:48px; padding:10px; font-size:14px; line-height:1.4; }
.gms-category-expand { width:48px; flex:none; display:grid; place-items:center; border:0; border-left:1px solid #edf0ee; background:#f4f6f5; cursor:pointer; }
.gms-category-expand[aria-expanded="true"] svg { transform:rotate(180deg); }
.gms-category-children { padding-left:12px; border-left:2px solid #e31e24; margin:0 0 8px 10px; }
.gms-hero-dot { min-height:44px; }
.gms-filter-panel { clear:both; margin-bottom:24px; border:1px solid var(--gms-line); border-radius:12px; background:var(--gms-soft); }
.gms-filter-panel summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; min-height:48px; padding:12px 18px; font-weight:700; list-style:none; }
.gms-filter-panel summary::-webkit-details-marker { display:none; }
.gms-filter-panel[open] summary svg { transform:rotate(180deg); }
.gms-catalog-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); align-items:end; gap:12px; border:0; margin:0; padding:0 18px 18px; }
.gms-catalog-filters label { min-width:0; display:grid; gap:5px; font-size:14px; }
.gms-catalog-filters select { min-height:46px; width:100%; border:1px solid #cbd5cf; border-radius:8px; background:white; padding:8px; font-size:16px; }
.gms-filter-reset { display:grid; min-height:46px; place-items:center; text-decoration:underline !important; }
.gms-commerce-site .woocommerce :is(a.button,button.button,input.button), .gms-commerce-site .wc-block-components-button { min-height:46px; padding:12px 18px; border-radius:9px; font-size:15px; line-height:1.4; font-weight:700; text-decoration:none; }
.gms-commerce-site .woocommerce :is(a.button.alt,button.button.alt,input.button.alt), .gms-commerce-site .wc-block-components-checkout-place-order-button { color:#fff; background:var(--gms-red); }
.gms-commerce-site :is(button:disabled,.button.disabled) { cursor:not-allowed; opacity:.55; }
.gms-commerce-site ul.products li.product .button { min-height:46px; font-size:14px !important; white-space:normal; text-align:center; line-height:1.35; }
.gms-commerce-site ul.products li.product .woocommerce-loop-product__title { font-size:15px !important; min-height:64px; }
.gms-commerce-site ul.products li.product .price { margin-bottom:4px !important; }
.gms-commerce-site ul.products li.product .star-rating { margin:10px 18px 0; }
.gms-commerce-site ul.products li.product .added_to_cart { margin:10px 18px 0; min-height:44px; display:grid; place-items:center; text-decoration:underline; }
.gms-product-brand { max-width:calc(100% - 26px); font-size:10px; }
.gms-shop-shell { padding-block:30px 60px; }
.gms-shop-shell .woocommerce-breadcrumb { display:block; font-size:13px; padding:12px 0 24px; }
.gms-shop-shell div.product .product_title { font-size:clamp(26px,3.5vw,40px); line-height:1.18; }
.gms-shop-shell .woocommerce-product-details__short-description { font-size:16px; line-height:1.7; }
.gms-commerce-site div.product form.cart { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.gms-commerce-site div.product form.variations_form { display:block; }
.gms-commerce-site .variations { width:100%; }
.gms-commerce-site .variations th { text-align:left; padding:8px; }
.gms-commerce-site .variations td { padding:8px; }
.gms-commerce-site .variations select { width:100%; min-height:46px; background:#fff; border:1px solid #ccd5cf; border-radius:8px; padding:8px; font-size:16px; }
.gms-commerce-site .quantity .qty { min-height:46px; width:80px; border:1px solid #ccd5cf; border-radius:8px; font-size:16px; }
.gms-commerce-site .woocommerce-tabs ul.tabs { display:flex; gap:8px; overflow-x:auto; }
.gms-commerce-site .woocommerce-tabs ul.tabs li { flex:none; }
.gms-commerce-site .woocommerce-tabs ul.tabs a { padding:12px 16px; min-height:46px; }
.gms-commerce-site .woocommerce table.shop_attributes th { width:38%; }
.gms-source-note svg { width:16px; height:16px; vertical-align:middle; }
.gms-commerce-site .woocommerce form .form-row label { font-size:15px; }
.gms-commerce-site .woocommerce form .form-row input.input-text { font-size:16px; }
.gms-commerce-site .woocommerce :is(.col2-set,.cart-collaterals)::after { content:""; display:table; clear:both; }
.gms-commerce-site .woocommerce-MyAccount-navigation { width:25%; float:left; }
.gms-commerce-site .woocommerce-MyAccount-content { width:72%; float:right; min-height:280px; }
.gms-commerce-site .woocommerce-MyAccount-navigation a { min-height:48px; font-size:14px; text-decoration:none; }
.gms-commerce-site .woocommerce-MyAccount-navigation a:focus-visible { outline-offset:-3px; }
.gms-commerce-site .woocommerce-checkout #payment { background:#f5f7f5; }
.gms-commerce-site .woocommerce-checkout #payment .payment_methods label { display:inline; }
.gms-commerce-site .woocommerce-terms-and-conditions-wrapper a, .gms-commerce-site .gms-contract-row a { text-decoration:underline; }
.gms-commerce-site .woocommerce-error { border-top-color:#b51c25 !important; }
.gms-checkout-steps { display:flex; align-items:center; gap:12px; list-style:none; margin:0 0 24px; padding:0; font-size:14px; }
.gms-checkout-steps li+li::before { content:"/"; margin-right:12px; color:#76847a; }
.gms-checkout-steps [aria-current="step"] { font-weight:750; color:var(--gms-red); }
.gms-page-shell--commerce { padding-block:32px 64px; }
.gms-page-shell--commerce h1 { font-size:clamp(28px,4vw,40px); margin:0 0 24px; }
.gms-contact-form :is(label,.gms-contact-form__head p) { font-size:14px; }
.gms-contact-form :is(input,textarea) { font-size:16px; }
.gms-contact-form__privacy label { display:block; }
.gms-contact-form__privacy input { vertical-align:middle; margin:0 8px 0 0; }
.gms-footer__grid { gap:24px; }
.gms-footer__column h2 { font-size:16px; }
.gms-footer__column li a { display:inline-flex; align-items:center; min-height:42px; font-size:13px; }
.gms-footer__contactline, .gms-footer address { overflow-wrap:anywhere; }
.gms-footer__brand > strong { display:block; font-size:12px; color:#abb6ae; }
.gms-footer__brand p { font-size:14px; }
.gms-cookie { z-index:1100; max-width:min(460px,calc(100vw - 24px)); bottom:20px; }
.gms-cookie p { font-size:14px; }
.gms-cookie button { min-height:44px; min-width:80px; }
.gms-commerce-site .wc-block-components-form .wc-block-components-text-input :is(input,label) { font-size:16px; }
.gms-commerce-site .wc-block-components-sidebar-layout { gap:24px; }
.gms-commerce-site .wc-block-components-sidebar { border:1px solid var(--gms-line); border-radius:12px; padding:18px; }
@media(min-width:991px) { .gms-nav__inner { height:auto; min-height:52px; }.gms-catalog-trigger { height:100%; min-height:52px; }.gms-nav-highlight { display:none; } }
@media(max-width:1100px) and (min-width:991px) { .gms-header-action--quote { display:none; }.gms-header__main { gap:18px; } }
@media(max-width:990px) {
 .gms-header__main { grid-template-columns:44px minmax(0,1fr) auto; gap:0 10px; }
 .gms-header-actions .gms-header-action--quote { display:none; }
 .gms-header-actions .gms-account-link,.gms-header-actions .gms-cart-link { display:flex; }
 .gms-mobile-toggle,.gms-mobile-close { width:44px; height:44px; }
 .gms-mobile-panel { z-index:1300; height:100dvh; width:min(390px,92vw); padding-bottom:env(safe-area-inset-bottom); }
 .gms-mobile-overlay { z-index:1250; }
 .gms-mobile-panel__body { min-height:0; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
 .gms-mobile-panel__label { font-size:12px; color:#58645d; }
 body.gms-menu-open { position:fixed; left:0; right:0; width:100%; overflow:hidden; }
 .gms-mobile-panel__contact { padding-bottom:16px; }
 .gms-search input[type="search"] { font-size:16px; }
 .gms-commerce-site .woocommerce-MyAccount-navigation { width:100%; float:none; margin-bottom:22px; }
 .gms-commerce-site .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gms-commerce-site .woocommerce-MyAccount-content { width:100%; float:none; }
 .gms-page-shell--contact,.gms-page-shell--legal { grid-template-columns:1fr; }
 .gms-legal-nav { position:static; }
 .gms-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gms-footer__brand { grid-column:1/-1; }
 .gms-footer__column:nth-child(4),.gms-footer__contact { grid-column:auto; }
}
@media(max-width:700px) {
 body.gms-commerce-site { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
 .gms-header { position:sticky; top:0; }
 .admin-bar .gms-header { top:0; }
 .gms-header__main { grid-template-rows:64px auto; }
 .gms-logo { width:min(136px,100%); }
 .gms-header-actions { gap:3px; }
 .gms-header-action { min-width:40px; min-height:44px; padding:4px; }
 .gms-utility__message { font-size:11px; }
 .gms-search-results { position:absolute; top:calc(100% + 8px); left:0; right:0; }
 .gms-search button { min-width:48px; }
 .gms-hero__track,.gms-hero__content { min-height:660px; }
 .gms-hero__copy h1,.gms-hero__copy h2 { font-size:34px; line-height:1.1; }
 .gms-hero__copy > p { font-size:15px; line-height:1.6; }
 .gms-hero__copy .gms-btn { font-size:13px; min-height:46px; }
 .gms-hero__brand b { font-size:10px; }
 .gms-hero__content { padding-top:255px; padding-bottom:72px; }
 .gms-quickfinder__links { flex-wrap:wrap; overflow:visible; }
 .gms-quickfinder__links a { min-height:42px; display:flex; align-items:center; font-size:12px; }
 .gms-commerce-site ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; }
 .gms-commerce-site ul.products li.product .woocommerce-loop-product__title { font-size:14px !important; line-height:1.5 !important; padding:0 12px !important; min-height:64px; }
 .gms-commerce-site ul.products li.product .button { margin:12px 10px 0 !important; font-size:13px !important; padding:10px 6px !important; }
 .gms-commerce-site ul.products li.product .price { margin-inline:12px !important; font-size:15px !important; }
 .gms-category-card strong { font-size:14px; }.gms-category-card small { font-size:12px; }
 .gms-shop-hero,.gms-page-hero { padding:30px 0; }
 .gms-shop-hero h1 { font-size:28px; }.gms-shop-hero p { font-size:14px; }
 .gms-catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 12px 12px; }
 .gms-commerce-site div.product div.images,.gms-commerce-site div.product div.summary { width:100%; float:none; }
 .gms-commerce-site .woocommerce :is(.col2-set .col-1,.col2-set .col-2,.cart-collaterals .cart_totals) { width:100%; float:none; }
 .gms-commerce-site .woocommerce :is(.form-row-first,.form-row-last) { width:100%; float:none; }
 .gms-commerce-site :is(.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-additional-fields,.woocommerce-MyAccount-content) { padding:14px; }
 .gms-commerce-site .woocommerce table.shop_table td,.gms-commerce-site .woocommerce table.shop_table th { padding:12px 8px !important; font-size:14px; }
 .gms-commerce-site .woocommerce-cart-form .coupon { display:flex; gap:8px; width:100%; flex-wrap:wrap; }
 .gms-commerce-site .woocommerce-cart-form #coupon_code { width:100%; min-height:46px; font-size:16px; }
 .gms-commerce-site .woocommerce-cart-form .coupon button { width:100%; }
 .gms-commerce-site .woocommerce table.shop_table .product-remove a { width:44px; height:44px; display:inline-grid; place-items:center; }
 .gms-page__content .woocommerce .button { color:#fff; background:var(--gms-ink); text-decoration:none; }
 .gms-checkout-steps { gap:8px; flex-wrap:wrap; }
 .gms-footer__grid { gap:22px; }.gms-footer__column li a { font-size:13px; min-height:44px; }
 .gms-footer__contact { grid-column:1/-1; }.gms-footer__column h2 { font-size:15px; }
 .gms-mobile-dock { height:calc(64px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); z-index:1050; }
 .gms-mobile-dock > :is(a,button) { min-height:60px; flex:1; font-size:11px; }
 .gms-mobile-dock [aria-current="page"] { color:var(--gms-red); }
 .gms-mobile-dock .gms-cart-count { top:5px; right:calc(50% - 23px); }
 .gms-floating-whatsapp { bottom:calc(80px + env(safe-area-inset-bottom)); }
 .gms-cookie { bottom:calc(76px + env(safe-area-inset-bottom)); left:12px; right:12px; width:auto; }
 .gms-contact-form { grid-template-columns:1fr; }
 .gms-commerce-site .wc-block-components-sidebar-layout { display:block; }
 .gms-commerce-site .wc-block-components-sidebar-layout :is(.wc-block-components-main,.wc-block-components-sidebar) { width:100%; padding:12px; }
}
@media(max-width:359px) { .gms-header-actions .gms-account-link { display:none; }.gms-hero__copy h1,.gms-hero__copy h2 { font-size:30px; }.gms-hero__track,.gms-hero__content { min-height:690px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.gms-commerce-site * { transition:none !important; animation:none !important; } }

.gms-nav-item { display:flex; align-items:stretch; }
.gms-nav-item > a,.gms-nav-item > span { flex:1; min-width:0; }
.gms-nav-item > span { display:flex; align-items:center; padding:12px; }
.gms-menu-expand { display:grid; place-items:center; min-width:44px; min-height:44px; border:0; background:transparent; color:inherit; cursor:pointer; }
.gms-menu-expand svg { width:16px; }
.gms-menu-expand[aria-expanded="true"] svg { transform:rotate(180deg); }
.gms-nav-submenu { list-style:none; margin:0; padding:8px; background:#fff; border:1px solid var(--gms-line); border-radius:10px; }
.gms-primary-menu .gms-has-submenu { position:relative; }
.gms-primary-menu .gms-nav-submenu { position:absolute; top:100%; left:0; min-width:230px; box-shadow:var(--gms-shadow); z-index:20; }
.gms-primary-menu .gms-nav-submenu a { height:auto; min-height:44px; line-height:1.4; padding:12px; }
.gms-primary-menu .gms-nav-submenu .gms-nav-submenu { position:static; min-width:0; box-shadow:none; border-width:0 0 0 2px; border-radius:0; }
.gms-mobile-links .gms-nav-submenu { border:0; border-left:2px solid var(--gms-red); border-radius:0; margin-left:12px; }

@media(max-width:700px) { .gms-mobile-dock { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:1fr; } }
