/* GiftMore UX 2026-10-09: isolated overrides; existing theme/content stay editable. */
#gm-site-contact-dock {
  position: fixed !important; left: 24px !important; right: auto !important;
  bottom: 28px !important; z-index: 99980 !important;
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  width: 330px !important; gap: 8px !important; padding: 8px !important;
  background: rgba(255,255,255,.98) !important; border: 1px solid #d5e5f5 !important;
  border-radius: 18px !important; box-shadow: 0 8px 26px rgba(15,48,95,.15) !important;
  pointer-events: auto !important;
}
#gm-site-contact-dock .cta-btn {
  display: flex !important; align-items: center !important; justify-content: center !important;
  min-width: 0 !important; min-height: 46px !important; width: 100% !important;
  margin: 0 !important; padding: 0 10px !important; gap: 8px !important;
  border-radius: 12px !important; font-size: 13px !important; font-weight: 700 !important;
  line-height: 1.3 !important; box-shadow: none !important; text-transform: none !important;
}
#gm-site-contact-dock .cta-icon {width: 30px !important; height: 30px !important; flex: 0 0 30px !important; animation: none !important;}
#gm-site-contact-dock svg {width: 19px; height: 19px; fill: currentColor;}
#gm-site-contact-dock a:focus-visible {outline: 3px solid #f6c744; outline-offset: 3px;}
#gmsl-widget .gmsl-launcher {margin: 0 !important; right: 20px !important; bottom: 28px !important;}
#gmsl-widget .gmsl-teaser {bottom: 104px !important;}
body.gm-ux-menu-open #gm-site-contact-dock,
body.gm-ux-menu-open #gmsl-widget {visibility: hidden !important; pointer-events: none !important;}
body.gm-ux-menu-open #gmsl-widget * {visibility: hidden !important; pointer-events: none !important;}
body.gmsl-input-active #gm-site-contact-dock {display: none !important;}

/* Catalogue: remove stacked outer gutters and padding inside the photograph. */
body.woocommerce.archive #main .category-page-row {width: calc(100% - 40px) !important; max-width: 1440px !important;}
body.woocommerce.archive #main .shop-container {width: 100% !important; margin: 0 !important; padding: 20px !important; border-radius: 20px !important;}
body.woocommerce.archive #main .shop-container > .products.row > .product-small > .col-inner {padding: 0 !important; border-radius: 14px !important;}
body.woocommerce.archive #main .shop-container > .products.row .product-small.box {padding: 0 !important; border-radius: 0 !important;}
body.woocommerce.archive #main .shop-container > .products.row .box-image,
body.woocommerce.archive #main .shop-container > .products.row .box-image a,
body.woocommerce.archive #main .shop-container > .products.row .image-fade_in_back {border-radius: 0 !important; aspect-ratio: 1;}
body.woocommerce.archive #main .shop-container > .products.row .box-image img {width: 100% !important; height: 100% !important; padding: 0 !important; border-radius: 0 !important; object-fit: contain !important;}
body.woocommerce.archive #main .shop-container > .products.row .box-text-products {padding: 12px !important; min-height: 0 !important;}
body.woocommerce.archive #main .shop-container > .products.row .product-title {height: auto !important; min-height: 0 !important; margin: 0 0 10px !important; overflow: visible !important;}
body.woocommerce.archive #main .shop-container > .products.row .product-title a {display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; min-height: 4.35em !important; max-height: none !important; font-size: 14px !important; line-height: 1.45 !important; overflow: hidden !important;}
body.woocommerce.archive #main .giftmore-b2b-price-loop {padding: 8px !important; margin: 0 !important;}
body.woocommerce.archive #main .giftmore-b2b-price-loop-label {font-size: 10px !important; line-height: 1.4 !important;}
body.woocommerce.archive #main .giftmore-b2b-price-loop-main {font-size: 13px !important; line-height: 1.55 !important; white-space: normal !important;}
body.woocommerce.archive #main .giftmore-b2b-price-loop-main .amount {display: inline-block; font-size: inherit !important; white-space: nowrap;}

/* Mobile navigation sits above the header, dock and chat. */
.mfp-bg.off-canvas {z-index: 120010 !important; background: #0d2449; opacity: .55 !important;}
.mfp-wrap.off-canvas {z-index: 120011 !important;}
.off-canvas #main-menu {background: #fff !important; min-height: 100dvh; padding: 0 0 22px !important;}
.off-canvas:has(#main-menu) .mfp-content {width: min(360px, calc(100vw - 48px)) !important; background: #fff !important; max-height: 100dvh; overflow-y: auto !important; overscroll-behavior: contain;}
.off-canvas:has(#main-menu) .mfp-close {display: none !important;}
.gm-ux-menu-head {position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: 17px 16px; background: #f2f8ff; border-bottom: 1px solid #dfeafa;}
.gm-ux-menu-head strong {display: block; color: #075cb4; font-size: 23px; letter-spacing: -.7px; line-height: 1.2;}
.gm-ux-menu-head small {display: block; margin-top: 5px; color: #526784; font-size: 10px; font-weight: 600; letter-spacing: .5px;}
.gm-ux-menu-close {display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; min-height: 42px; margin: 0; padding: 0; border-radius: 12px; border: 1px solid #d2e3f4; background: #fff; color: #173b82; font-size: 27px; line-height: 1;}
#main-menu .sidebar-menu {padding: 12px 12px 0 !important;}
#main-menu .header-search-form {display: block !important; padding: 0 0 12px !important; border: 0 !important;}
#main-menu input.search-field {min-height: 46px !important; padding: 0 12px !important; background: #f6f9fe !important; border: 1px solid #dce7f4 !important; border-radius: 10px 0 0 10px !important; font-size: 16px !important;}
#main-menu .ux-search-submit {min-width: 46px !important; min-height: 46px !important; border-radius: 0 10px 10px 0 !important;}
#main-menu .nav-sidebar > li {border: 0 !important; margin: 2px 0 !important;}
#main-menu .nav-sidebar.nav-vertical > li > a {min-height: 48px !important; padding: 13px 12px !important; font-size: 14px !important; font-weight: 650 !important; line-height: 1.5 !important; border-radius: 10px !important; color: #17385f !important;}
#main-menu .nav-sidebar > li.has-child > a {padding-right: 52px !important;}
#main-menu .nav-sidebar > li.active > a,
#main-menu .nav-sidebar a[aria-current="page"] {background: #eaf4ff !important; color: #0769ce !important;}
#main-menu .nav-sidebar > li > .toggle {width: 44px !important; min-height: 44px !important; right: 4px !important; top: 2px !important; margin: 0 !important; padding: 0 !important; border-radius: 9px !important; opacity: 1 !important; color: #487099 !important;}
#main-menu .nav-sidebar .sub-menu {position: static !important; inset: auto !important; width: calc(100% - 10px) !important; flex-basis: calc(100% - 10px) !important; max-width: none !important; height: auto !important; min-height: 0 !important; transform: none !important; opacity: 1 !important; visibility: visible !important; margin: 0 0 8px 10px !important; padding: 4px 0 4px 10px !important; border: 0 !important; border-left: 2px solid #d5e8fc !important; background: #f8fbff !important; box-shadow: none !important; display: none !important;}
#main-menu .nav-sidebar li.active > .sub-menu {display: block !important;}
#main-menu .sub-menu a {min-height: 44px !important; display: flex !important; align-items: center; padding: 10px 10px !important; font-size: 13px !important; line-height: 1.5 !important; color: #365575 !important; text-transform: none !important;}
#main-menu .header-newsletter-item, #main-menu .header-social-icons {display: none !important;}
.gm-ux-menu-contact {display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px 12px 0; padding-top: 16px; border-top: 1px solid #e1eaf5;}
.gm-ux-menu-contact a {display: flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid #c9e0fa; border-radius: 10px; font-size: 13px; font-weight: 700; background: #edf6ff; color: #0867bd;}
.gm-ux-menu-contact a:last-child {background: #173b82; color: #fff; border-color: #173b82;}

@media (max-width: 849px) {
  body {padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;}
  #gm-site-contact-dock {left: 10px !important; right: 10px !important; bottom: calc(16px + env(safe-area-inset-bottom)) !important; width: auto !important; padding: 7px !important;}
  #gmsl-widget .gmsl-launcher {bottom: calc(96px + env(safe-area-inset-bottom)) !important; right: 14px !important;}
  #gmsl-widget .gmsl-teaser {bottom: calc(164px + env(safe-area-inset-bottom)) !important;}
  #gmsl-widget .gmsl-panel {bottom: calc(88px + env(safe-area-inset-bottom)) !important; height: min(560px, calc(var(--gmsl-vh,100dvh) - 110px - env(safe-area-inset-bottom))) !important;}
  body.gmsl-panel-open #gmsl-widget .gmsl-launcher {visibility: hidden !important;}
  body.gmsl-input-active #gmsl-widget .gmsl-panel {bottom: 6px !important; height: min(520px, calc(var(--gmsl-vh,100dvh) - 12px)) !important;}
  body.woocommerce.archive #main {padding: 14px 0 30px !important;}
  body.woocommerce.archive #main .category-page-row {width: calc(100% - 20px) !important; margin: 0 auto !important; padding-top: 0 !important;}
  body.woocommerce.archive #main .category-page-row > .col {padding: 0 !important;}
  body.woocommerce.archive #main .shop-container {width: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; overflow: visible !important;}
  body.woocommerce.archive #main .shop-container::before,
  body.woocommerce.archive #main .shop-container::after {display: none !important;}
  body.woocommerce.archive #main .shop-container > .products.row {width: 100% !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; margin: 16px 0 0 !important;}
  body.woocommerce.archive #main .shop-container > .products.row > .product-small.col {padding: 0 !important; min-width: 0 !important;}
  body.woocommerce.archive #main .shop-container > .products.row .box-text-products {padding: 11px 10px 12px !important;}
  body.woocommerce.archive #main .qtg-category-content-top {padding: 18px 16px !important; margin-bottom: 16px !important; border-radius: 14px !important;}
  body.woocommerce.archive #main .qtg-category-content-top h1 {font-size: clamp(24px,6.5vw,30px) !important; line-height: 1.3 !important; text-align: left !important;}
}
@media (prefers-reduced-motion: reduce) {#gm-site-contact-dock .cta-btn {transition: none !important;}}
@media (min-width: 850px) {
  body.woocommerce.archive #main .shop-container > .products.row .product-title a {font-size: 16px !important;}
  body.woocommerce.archive #main .giftmore-b2b-price-loop-main {font-size: 15px !important;}
}

/* v1.1: category mega menu and desktop contact placement. */
#header #menu-item-7475 > ul.nav-dropdown {display: none !important;}
#header #menu-item-7475 > .gm-product-mega {
  position: fixed !important; left: 16px !important; right: 16px !important;
  top: var(--gm-mega-top,90px) !important; width: calc(100vw - 32px) !important;
  max-width: 1320px !important; min-width: 0 !important; margin: 0 auto !important;
  padding: 20px !important; border-radius: 0 0 20px 20px !important;
  max-height: calc(100dvh - var(--gm-mega-top,90px) - 20px) !important;
  overflow: auto !important; overscroll-behavior: contain;
  background: #fff !important; border: 1px solid #d8e6f5 !important;
  box-shadow: 0 20px 48px rgba(13,44,88,.18) !important;
  transform: none !important; opacity: 0 !important; visibility: hidden !important;
  pointer-events: none !important; transition: opacity .14s ease, visibility .14s !important;
  text-align: left !important;
}
#header #menu-item-7475:hover > .gm-product-mega,
#header #menu-item-7475:focus-within > .gm-product-mega,
#header #menu-item-7475.gm-mega-open > .gm-product-mega {opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;}
#header #menu-item-7475::after {content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 60px;}
#header #menu-item-7475.gm-mega-open::after {pointer-events: auto !important;}
.gm-product-mega, .gm-product-mega *, .gm-product-mega *::before {box-sizing: border-box;}
.gm-product-mega-top {display: flex; align-items: center; gap: 24px; padding-bottom: 17px; margin-bottom: 16px; border-bottom: 1px solid #e1ebf6;}
.gm-product-mega-top strong {display: block; color: #15386b; font-size: 20px; line-height: 1.3;}
.gm-product-mega-top > div > span {display: block; margin-top: 4px; color: #647892; font-size: 12px; line-height: 1.5;}
.gm-product-mega-search {display: flex; flex: 1; max-width: 440px; margin: 0 0 0 auto !important;}
.gm-product-mega-search input {width: 100%; min-width: 0; height: 44px !important; margin: 0 !important; border: 1px solid #d4e3f4 !important; border-radius: 10px 0 0 10px !important; background: #f6f9ff !important; font-size: 14px !important; box-shadow: none !important;}
.gm-product-mega-search button {display: grid; place-items: center; width: 46px; min-width: 46px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0 10px 10px 0; background: #0878e3; color: #fff; font-size: 25px; line-height: 1;}
.gm-product-mega .gm-product-mega-all {display: flex !important; align-items: center; gap: 8px; min-height: 44px; font-size: 13px !important; font-weight: 700; color: #0870ce !important; white-space: nowrap; padding: 0 !important;}
.gm-product-shortcuts {display: none;}
.gm-product-mega-grid {display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px;}
.gm-product-group {min-width: 0; border: 1px solid #e3edf7; border-radius: 12px; padding: 10px; background: #fafdff;}
.gm-product-group-head {display: flex; align-items: center; gap: 6px; padding-bottom: 8px; margin-bottom: 5px; border-bottom: 1px solid #e3edf7;}
.gm-product-mega .gm-product-group-head > a {display: flex !important; align-items: center; gap: 8px; flex: 1; min-height: 40px; color: #123c75 !important; font-size: 14px !important; font-weight: 750 !important; white-space: normal !important; padding: 0 !important; text-transform: none !important;}
.gm-product-group-icon {display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 9px; background: #e9f4ff; color: #0879df;}
.gm-product-group-icon svg {width: 21px; height: 21px;}
.gm-product-group-toggle {display: none;}
.gm-product-mega .gm-product-group-all {display: none !important;}
.gm-product-group-links {display: block !important; position: static !important; margin: 0 !important; padding: 0 !important; list-style: none; width: 100% !important;}
.gm-product-group-links > li {margin: 0 !important; border: 0 !important; padding: 0 !important;}
#header .gm-product-mega .gm-product-group-links a,
.gm-product-mega .gm-product-group-links a {display: flex !important; align-items: center; min-height: 38px; padding: 8px 6px !important; border-radius: 7px; font-size: 13px !important; font-weight: 500 !important; line-height: 1.4 !important; color: #355574 !important; text-transform: none !important; white-space: normal !important;}
.gm-product-mega .gm-product-group-links a:hover,
.gm-product-mega .gm-product-group-head > a:hover {background: #e8f3ff !important; color: #0769c4 !important;}
.gm-product-mega a:focus-visible, .gm-product-mega button:focus-visible {outline: 2px solid #0878e3; outline-offset: 2px;}
@media(min-width:850px) {
  #gm-site-contact-dock {left: auto !important; right: 12px !important; bottom: 104px !important; width: 154px !important; grid-template-columns: 1fr !important; padding: 6px !important; gap: 7px !important; border-radius: 15px !important;}
  #gm-site-contact-dock .cta-btn {min-height: 44px !important; justify-content: flex-start !important; padding: 0 10px !important;}
  #gmsl-widget .gmsl-launcher {right: 16px !important; bottom: 24px !important;}
  #gmsl-widget .gmsl-teaser {right: 184px !important; bottom: 24px !important;}
  #gmsl-widget .gmsl-panel {right: 184px !important; bottom: 24px !important; height: min(590px,calc(100dvh - 124px)) !important;}
}
@media(min-width:850px) and (max-width:1179px) {
  .gm-product-mega-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
}
@media(max-width:849px) {
  #main-menu .menu-item-7475 {display: block !important; padding: 0 !important; margin: 0 0 15px !important;}
  #main-menu .menu-item-7475 > a, #main-menu .menu-item-7475 > .toggle, #main-menu .menu-item-7475 > ul {display: none !important;}
  #main-menu .menu-item-7475 > .gm-product-mega {display: block !important; position: static !important; inset: auto !important; width: 100% !important; min-width: 0 !important; max-width: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important;}
  #main-menu .gm-product-mega-top {display: flex; gap: 8px; padding: 0; margin-bottom: 10px; border: 0;}
  #main-menu .gm-product-mega-top strong {font-size: 16px;}
  #main-menu .gm-product-mega-top > div > span, #main-menu .gm-product-mega-search {display: none !important;}
  #main-menu .gm-product-mega .gm-product-mega-all {margin-left: auto; font-size: 11px !important;}
  #main-menu .gm-product-shortcuts {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-bottom: 12px;}
  #main-menu .gm-product-shortcuts a {display: flex !important; align-items: center; justify-content: center; min-height: 40px; padding: 7px 5px !important; border: 1px solid #d5e7fa; border-radius: 9px; background: #eff7ff; color: #075dab !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.4; text-align: center;}
  #main-menu .gm-product-mega-grid {display: grid; grid-template-columns: 1fr; gap: 7px;}
  #main-menu .gm-product-group {padding: 0; border-color: #e0eaf5; background: #fff; overflow: hidden;}
  #main-menu .gm-product-group-head {padding: 0 6px 0 10px; border: 0; margin: 0; gap: 4px;}
  #main-menu .gm-product-group-head > a {min-height: 48px; font-size: 13px !important; background: transparent !important;}
  #main-menu .gm-product-group-toggle {display: grid; place-items: center; flex: 0 0 44px; width: 44px; min-height: 44px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 8px; color: #486d96; background: transparent; font-size: 22px; line-height: 1;}
  #main-menu .gm-product-group.is-expanded .gm-product-group-head {background: #f2f8ff;}
  #main-menu .gm-product-group.is-expanded .gm-product-group-toggle span {transform: rotate(180deg);}
  #main-menu .gm-product-group-body {display: none; padding: 2px 10px 10px 12px; border-top: 1px solid #e4edf7;}
  #main-menu .gm-product-group.is-expanded .gm-product-group-body {display: block;}
  #main-menu .gm-product-mega .gm-product-group-all {display: flex !important; min-height: 44px; align-items: center; gap: 6px; padding: 6px !important; color: #0968bd !important; font-size: 12px !important; font-weight: 650 !important;}
  #main-menu .gm-product-mega .gm-product-group-links a {min-height: 44px; padding: 9px 8px !important; font-size: 13px !important;}
  #main-menu .gm-product-mega .gm-product-group-links > li {display: block !important; border: 0 !important;}
}
#header #menu-item-7475.gm-mega-dismissed > .gm-product-mega {visibility: hidden !important; opacity: 0 !important; pointer-events: none !important;}
#header .gm-product-mega .gm-product-mega-search button {width: 46px !important; min-width: 46px !important; height: 44px !important; min-height: 44px !important; border-radius: 0 10px 10px 0 !important; padding: 0 !important; margin: 0 !important;}
#header .gm-product-mega .gm-product-mega-search input {height: 44px !important; min-height: 44px !important; border-radius: 10px 0 0 10px !important;}
.gm-product-mega-search button svg {width: 19px; height: 19px;}
@media(max-width:849px) {
  #main-menu .menu-item-7475 > .gm-product-mega {height: auto !important; max-height: none !important; overflow: visible !important; white-space: normal !important;}
}
#header #menu-item-7475 > div.gm-product-mega {display: block !important; min-height: 0 !important; height: auto !important; overflow-x: hidden !important; overflow-y: auto !important;}

/* v1.2: product-first mobile catalogue and native quote form shortcuts. */
.gm-category-controls {display: none;}
.gm-quick-quote {
  display: flex !important; align-items: center; justify-content: center; gap: 6px;
  width: 100%; min-height: 44px; margin: 9px 0 0 !important; padding: 8px 5px !important;
  border: 1px solid #bddcfa !important; border-radius: 9px !important;
  background: #eaf5ff !important; color: #0866bb !important;
  font-size: 13px !important; font-weight: 700; line-height: 1.3; text-transform: none;
  letter-spacing: 0; box-shadow: none !important;
}
.gm-quick-quote svg {flex: 0 0 17px; width: 17px; height: 17px;}
.gm-quick-quote:hover {background: #0873d5 !important; color: #fff !important; border-color: #0873d5 !important;}
.gm-quick-quote:focus-visible {outline: 2px solid #075baf; outline-offset: 2px;}
#gmqf2-quote-modal .gmqf2-modal-head {position: sticky; top: 0; z-index: 2;}
#gmqf2-quote-modal .gmqf2-close {width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0;}
#gmqf2-product-note > strong {display: block; margin-bottom: 4px; font-size: 11px; color: #6882a2;}
#gmqf2-product-note > span {display: block; font-weight: 650;}
#gmqf2-quote-modal .gm-quote-more {grid-column: 1 / -1; border-top: 1px solid #e2ecf6; padding-top: 4px;}
#gmqf2-quote-modal .gm-quote-more summary {min-height: 40px; padding: 10px 0; color: #1869b5; font-size: 13px; font-weight: 600; cursor: pointer;}
#gmqf2-quote-modal .gm-quote-more .gmqf2-field {margin-top: 10px;}
body.gmqf2-modal-open #gm-site-contact-dock,
body.gmqf2-modal-open #gmsl-widget {visibility: hidden !important; pointer-events: none !important;}
body.gmqf2-modal-open #gmsl-widget * {visibility: hidden !important; pointer-events: none !important;}
@media(max-width:849px) {
  body.woocommerce.archive #header #top-bar {height: 26px !important; min-height: 26px !important;}
  body.woocommerce.archive #header #masthead,
  body.woocommerce.archive #header #masthead .header-inner {height: 58px !important; min-height: 58px !important;}
  body.woocommerce.archive #header #logo {height: 58px !important;}
  body.woocommerce.archive #header #logo img {max-height: 56px !important; width: auto !important; padding: 0 !important;}
  body.woocommerce.archive #main .qtg-category-content-top {padding: 12px 13px !important; margin: 10px 0 10px !important; scroll-margin-top: 96px;}
  body.woocommerce.archive #main .qtg-category-content-top h1 {font-size: clamp(20px,5.9vw,24px) !important; line-height: 1.28 !important; margin: 0 0 8px !important;}
  body.woocommerce.archive #main .gm-category-description {font-size: 14px !important; line-height: 1.6 !important;}
  body.woocommerce.archive #main .gm-category-description p {font-size: inherit !important; line-height: inherit !important; margin: 0 0 12px !important;}
  body.woocommerce.archive #main .gm-category-compact:not(.gm-category-expanded) .gm-category-description {max-height: 4.8em; overflow: hidden;}
  body.woocommerce.archive #main .gm-category-controls {display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 5px;}
  body.woocommerce.archive #main .gm-category-toggle,
  body.woocommerce.archive #main .gm-category-jump {display: flex; align-items: center; min-height: 40px; padding: 6px 0 !important; margin: 0 !important; border: 0; background: transparent !important; color: #0869c4; font-size: 13px; font-weight: 650; text-transform: none; letter-spacing: 0; line-height: 1.4; box-shadow: none;}
  body.woocommerce.archive #main .bgcn-wrap {padding: 8px 0 !important; margin: 8px 0 !important;}
  body.woocommerce.archive #main .bgcn-inner {padding: 0 !important;}
  body.woocommerce.archive #main .bgcn-list {padding: 0 !important; gap: 8px !important;}
  body.woocommerce.archive #main .bgcn-link {min-height: 0 !important; gap: 5px !important; padding: 0 !important;}
  body.woocommerce.archive #main .bgcn-thumb {width: 48px !important; height: 48px !important; padding: 4px !important;}
  body.woocommerce.archive #main .bgcn-image {width: 38px !important; height: 38px !important;}
  body.woocommerce.archive #main .bgcn-name {margin-top: 0 !important; font-size: 11px !important; line-height: 1.35 !important;}
  body.woocommerce.archive #main .shop-container > .products.row {margin-top: 10px !important; scroll-margin-top: 96px;}
  #gm-site-contact-dock {transition: transform .2s ease, opacity .2s ease, visibility .2s !important;}
  body.gm-contact-collapsed #gm-site-contact-dock {transform: translateY(calc(100% + 40px)); opacity: 0; visibility: hidden; pointer-events: none !important;}
  body.gm-contact-collapsed #gmsl-widget .gmsl-launcher {bottom: calc(16px + env(safe-area-inset-bottom)) !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; border-radius: 15px !important;}
  body.gm-contact-collapsed #gmsl-widget .gmsl-teaser {visibility: hidden !important; pointer-events: none !important;}
  body.gmsl-panel-open #gm-site-contact-dock {visibility: hidden !important; pointer-events: none !important;}
  #gmqf2-quote-modal {padding: 8px !important; align-items: center !important;}
  #gmqf2-quote-modal .gmqf2-modal-box {max-height: calc(100dvh - 16px) !important; border-radius: 18px; overscroll-behavior: contain;}
  #gmqf2-quote-modal .gmqf2-modal-head {padding: 14px; border-radius: 18px 18px 0 0; gap: 8px;}
  #gmqf2-quote-modal .gmqf2-modal-head span {font-size: 10px; margin-bottom: 4px;}
  #gmqf2-quote-modal .gmqf2-modal-head h3 {font-size: 20px; line-height: 1.25;}
  #gmqf2-quote-modal .gmqf2-modal-head p {font-size: 12px; line-height: 1.45; margin: 7px 0 0;}
  #gmqf2-quote-modal .gmqf2-form {padding: 13px;}
  #gmqf2-quote-modal .gmqf2-grid {grid-template-columns: 1fr; gap: 10px;}
  #gmqf2-quote-modal .gmqf2-product-note {margin-bottom: 12px; padding: 9px 10px; font-size: 13px;}
  #gmqf2-quote-modal .gmqf2-field {gap: 4px;}
  #gmqf2-quote-modal input {font-size: 16px !important; min-height: 42px; margin: 0;}
  #gmqf2-quote-modal textarea {font-size: 16px !important;}
  #gmqf2-quote-modal .gmqf2-actions {margin-top: 10px; gap: 8px;}
  #gmqf2-quote-modal .gmqf2-submit {min-height: 44px; padding: 10px; font-size: 14px;}
  #gmqf2-quote-modal .gmqf2-call {min-height: 36px; padding: 6px; font-size: 13px;}
  #gmqf2-quote-modal .gmqf2-privacy {font-size: 11px; margin-top: 9px;}
}
@media(prefers-reduced-motion:reduce) {#gm-site-contact-dock {transition: none !important;}}

/* v1.3: show the selected product, then just phone and quantity. */
#gmqf2-quote-modal .gm-quote-selected {align-items: center; gap: 14px;}
#gmqf2-quote-modal .gm-quote-product-image {flex: 0 0 112px; width: 112px; height: 112px; object-fit: contain; background: #fff; border: 1px solid #e1ebf6; border-radius: 10px;}
#gmqf2-quote-modal .gm-quote-product-text {min-width: 0; flex: 1;}
#gmqf2-quote-modal .gm-quote-product-text strong {display: block; margin-bottom: 6px; color: #6882a2; font-size: 11px;}
#gmqf2-quote-modal .gm-quote-product-text span {display: block; color: #123e7b; font-size: 15px; font-weight: 650; line-height: 1.5;}
@media(max-width:849px) {
  #gmqf2-quote-modal .gm-quote-selected {gap: 10px;}
  #gmqf2-quote-modal .gm-quote-product-image {flex-basis: 88px; width: 88px; height: 88px;}
  #gmqf2-quote-modal .gm-quote-product-text span {font-size: 13px; line-height: 1.45;}
}

/* Product detail: override the legacy unconditional 50% columns on small screens.
   Builder rows are identified from their gallery and title, not generated IDs. */
body.single-product #main .product-main > .row.content-row,
body.single-product #main .gm-product-layout {align-items: flex-start !important;}
body.single-product #main .product_title {overflow-wrap: anywhere;}
body.single-product.gm-product-dock-overlap #gm-site-contact-dock,
body.single-product.gm-product-chat-overlap #gmsl-widget .gmsl-launcher,
body.single-product.gm-product-chat-overlap #gmsl-widget .gmsl-teaser {visibility: hidden !important; pointer-events: none !important;}
@media(max-width:849px) {
  body.single-product #header #top-bar {height: 26px !important; min-height: 26px !important;}
  body.single-product #header #masthead,
  body.single-product #header #masthead .header-inner {height: 58px !important; min-height: 58px !important;}
  body.single-product #header #logo {height: 58px !important;}
  body.single-product #header #logo img {max-height: 56px !important; width: auto !important; padding: 0 !important;}
  body.single-product #main .product-main {width: calc(100% - 20px) !important; max-width: 720px !important; margin: 0 auto !important; padding: 14px 0 24px !important;}
  body.single-product #main .product-main > .row.content-row,
  body.single-product #main .gm-product-layout {flex-direction: column !important; flex-wrap: wrap !important; width: 100% !important; margin: 0 !important; gap: 14px !important;}
  body.single-product #main .product-main > .row.content-row > .col,
  body.single-product #main .gm-product-layout > .col {flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; margin: 0 !important;}
  body.single-product #main .product-gallery {padding: 10px !important; border-radius: 18px !important;}
  body.single-product #main .product-summary {padding: 13px !important; border-radius: 18px !important;}
  body.single-product #main .product_title {font-size: clamp(21px,5.8vw,26px) !important; line-height: 1.3 !important; min-height: 0 !important; margin: 0 0 12px !important; letter-spacing: -.025em !important;}
  body.single-product #main .product-title-container {padding: 0 !important; margin: 0 !important;}
  body.single-product #main .product-gallery-slider .flickity-viewport {height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important;}
  body.single-product #main .product-gallery-slider .woocommerce-product-gallery__image,
  body.single-product #main .product-gallery-slider .woocommerce-product-gallery__image > a {width: 100% !important; height: 100% !important;}
  body.single-product #main .product-gallery-slider img {width: 100% !important; height: 100% !important; object-fit: contain !important;}
  body.single-product #main .gmpq-product-info-card {padding: 13px !important; border-radius: 16px !important;}
  body.single-product #main .gmpq-price-main {font-size: 21px !important; line-height: 1.4 !important;}
  body.single-product #main .gmpq-contact-actions {grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important;}
  body.single-product #main .gmpq-contact-actions > :first-child {grid-column: 1 / -1;}
  body.single-product #main .gmpq-contact-actions .gmpq-btn {min-height: 44px !important; padding: 10px 6px !important; font-size: 13px !important; white-space: normal !important;}
  body.single-product #main .gmpq-quick-benefits {grid-template-columns: 1fr !important; gap: 6px !important;}
  body.single-product #main .gmpq-quick-benefits > div {padding: 9px 10px !important; min-height: 44px !important; display: flex !important; align-items: center; gap: 9px; text-align: left !important;}
  body.single-product #main .gmpq-quick-benefits > div i {margin: 0 !important;}
  body.single-product #main .gm-product-layout {max-width: 720px !important; margin-left: auto !important; margin-right: auto !important;}
  body.single-product #main .gm-product-gallery-col:not(.product-gallery),
  body.single-product #main .gm-product-summary-col:not(.product-summary) {padding: 0 !important;}
}
@media(min-width:700px) and (max-width:849px) {
  body.single-product #main .product-main,
  body.single-product #main .gm-product-layout {max-width: none !important;}
  body.single-product #main .product-main > .row.content-row,
  body.single-product #main .gm-product-layout {display: grid !important; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr) !important; gap: 14px !important;}
  body.single-product #main .product_title {font-size: 22px !important;}
}
