/* ============================================================
   GRIDWORKS — FULL Additional CSS (replace everything with this)
   Fixes: unclosed @media block that swallowed the Woo skin.
   ============================================================ */

/* ---------- Sticky Elementor header (Home 2026) ---------- */
#gw-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background-color: #FFFFFF;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
#gw-header > .elementor-container {
    min-height: 72px;
    align-items: center;
}
.elementor-element:has(> .hero-section) {
    padding-top: 72px;
}
body.admin-bar #gw-header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar #gw-header {
        top: 46px;
    }
} /* ← this closing brace was missing */

/* ---------- Header nav links ---------- */
.gw-nav p { margin: 0; }
.gw-nav a {
    color: #4A4A4A;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    margin-left: 26px;
    transition: color 0.2s;
}
.gw-nav a:first-child { margin-left: 0; }
.gw-nav a:hover { color: #0DA3C4 !important; }
.gw-nav a.gw-phone {
    color: #0DA3C4;
    font-weight: 700;
    margin-left: 40px;
}

/* ============================================================
   Deep Sea — WooCommerce skin
   ============================================================ */

/* Load Barlow on non-Elementor pages (Woo archives + products) */
body.woocommerce-page, body.single-product, body.tax-product_cat {
  background: #04303c;
  font-family: 'Barlow', sans-serif;
  color: #b7ccd2;
}
.woocommerce-page h1, .woocommerce-page h2,
.single-product h1, .single-product h2 {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #fff;
}
.woocommerce-page a, .single-product a { color: #5fcadd; }
.woocommerce-page a:hover, .single-product a:hover { color: #9fe0ec; }

/* Theme header hidden on Woo pages — replaced by the Deep Sea header (output by the snippet) */
.woocommerce-page .site-header, .single-product .site-header { display: none; }

/* Top utility bar (matches Home 2026) */
.gw-topbar {
  background: #021f28; color: #b7ccd2;
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 48px;
  font: 400 13.5px 'Barlow', sans-serif;
}
.gw-topbar a { color: #b7ccd2; text-decoration: none; }
.gw-topbar a:hover { color: #5fcadd; }
.gw-topbar-tag { color: #0DA3C4; font-weight: 600; letter-spacing: 0.12em; font-size: 11.5px; }

/* White sticky header (matches Home 2026) */
.gw-siteheader {
  position: sticky; top: 0; z-index: 999;
  background: #fff; border-bottom: 1px solid rgba(0,0,0,0.08);
  display: flex; justify-content: space-between; align-items: center;
  min-height: 72px; padding: 8px 48px;
}
body.admin-bar .gw-siteheader { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .gw-siteheader { top: 46px; }
}
.gw-logo img { height: 48px; width: auto; display: block; }
.gw-sitenav { display: flex; align-items: center; gap: 26px; font: 500 15px 'Barlow', sans-serif; }
.gw-sitenav a { color: #4A4A4A; text-decoration: none; white-space: nowrap; transition: color 0.2s; }
.gw-sitenav a:hover { color: #0DA3C4; }
.gw-sitenav a.gw-phone { color: #0DA3C4; font-weight: 700; }
.gw-sitenav a.gw-enquire {
  background: #0DA3C4; color: #fff !important; font-weight: 600;
  padding: 10px 22px; border-radius: 6px; margin-left: 8px;
}
.gw-sitenav a.gw-enquire:hover { background: #0b8ba7; }

/* Theme footer nav on Woo pages */
.woocommerce-page .site-footer, .single-product .site-footer {
  background: #04303c;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.woocommerce-page .site-footer a, .single-product .site-footer a { color: #9dbac2; }
.woocommerce-page .site-footer a:hover, .single-product .site-footer a:hover { color: #5fcadd; }

/* Page title */
.woocommerce-products-header__title.page-title {
  font: 800 46px 'Barlow Semi Condensed', sans-serif;
  color: #fff;
  margin: 40px 0 8px;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  font: 400 14px 'Barlow', sans-serif;
  color: #9dbac2 !important;
  margin: 20px 0 !important;
}
.woocommerce-breadcrumb a { color: #9dbac2 !important; }
.woocommerce-breadcrumb a:hover { color: #5fcadd !important; }

/* Category chips (output by the snippet) */
.gw-cat-chips {
  display: flex; flex-wrap: wrap; gap: 10px;
  padding: 14px 0 28px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 36px;
}
.gw-cat-chips a {
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 999px;
  padding: 8px 18px;
  font: 600 14px 'Barlow', sans-serif;
  color: #d3f0f5;
  text-decoration: none;
}
.gw-cat-chips a:hover { border-color: #5fcadd; color: #5fcadd; }
.gw-cat-chips a.is-active { background: #0096bd; border-color: #0096bd; color: #fff; }

/* Product cards */
.woocommerce ul.products li.product {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 10px;
  overflow: hidden;
  padding-bottom: 18px;
  transition: border-color .15s;
}
.woocommerce ul.products li.product:hover { border-color: #5fcadd; }
.woocommerce ul.products li.product img {
  border-radius: 0;
  background: #08323f;
  margin-bottom: 12px;
}
.gw-brand {
  font: 600 12px 'Barlow', sans-serif;
  color: #5fcadd;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 18px 4px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font: 700 18px 'Barlow Semi Condensed', sans-serif;
  color: #fff;
  padding: 0 18px;
}

/* Single product */
.single-product div.product .product_title {
  font: 800 40px/1.1 'Barlow Semi Condensed', sans-serif;
  color: #fff;
  margin-bottom: 14px;
}
.single-product div.product .gw-brand { margin: 0 0 6px; }
.single-product div.product .woocommerce-product-details__short-description {
  font: 400 16px/1.65 'Barlow', sans-serif;
  color: #b7ccd2;
}
.single-product div.product div.images img {
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 10px;
  background: #08323f;
}

/* Action buttons (output by the snippet) */
.gw-actions { display: flex; gap: 14px; margin: 24px 0; flex-wrap: wrap; }
.gw-btn-primary {
  background: #0096bd; color: #fff !important;
  font: 600 16px 'Barlow', sans-serif;
  padding: 14px 28px; border-radius: 6px; text-decoration: none;
}
.gw-btn-primary:hover { background: #0086ac; }
.gw-btn-ghost {
  border: 1px solid rgba(255,255,255,0.28); color: #d3f0f5 !important;
  font: 600 16px 'Barlow', sans-serif;
  padding: 14px 28px; border-radius: 6px; text-decoration: none;
}
.gw-btn-ghost:hover { border-color: #5fcadd; color: #5fcadd !important; }
.gw-btn-ghost.is-disabled { opacity: .5; cursor: default; }
.gw-help {
  background: rgba(255,255,255,0.06); border-radius: 10px;
  padding: 18px 20px; display: flex; gap: 14px; align-items: center;
  font: 400 14.5px/1.5 'Barlow', sans-serif; color: #b7ccd2;
}
.gw-diamond { width: 10px; height: 10px; background: #5fcadd; transform: rotate(45deg); flex: 0 0 auto; }

/* Spec table (Additional information tab) */
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #d3f0f5; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #5fcadd; }
.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td {
  border-color: rgba(255,255,255,0.1);
  color: #b7ccd2;
  font-family: 'Barlow', sans-serif;
}
.woocommerce table.woocommerce-product-attributes th { background: rgba(255,255,255,0.06); color: #fff; }

/* Contact Form 7 enquiry form */
/* Enquire page canvas (body.gw-dark added by the snippet) */
body.gw-dark {
  background: #04303c;
  font-family: 'Barlow', sans-serif;
  color: #b7ccd2;
}
body.gw-dark .site-header { display: none; }
body.gw-dark h1, body.gw-dark h2 {
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: #fff;
}
body.gw-dark .entry-title { font: 800 46px 'Barlow Semi Condensed', sans-serif; color: #fff; }
body.gw-dark a { color: #5fcadd; }
body.gw-dark a:hover { color: #9fe0ec; }
body.gw-dark .site-footer { background: #04303c; border-top: 1px solid rgba(255,255,255,0.1); }
body.gw-dark .site-footer a { color: #9dbac2; }
body.gw-dark .site-footer a:hover { color: #5fcadd; }

/* Quantity + enquiry basket */
.gw-opt-row { display: flex; align-items: center; gap: 14px; margin: 20px 0 0; }
.gw-opt-row label { font: 600 14px 'Barlow', sans-serif; color: #fff; min-width: 70px; }
.gw-opt-row select {
  background: #0a3b48; border: 1px solid rgba(255,255,255,0.2); border-radius: 6px;
  color: #fff; padding: 10px 12px; font: 400 15px 'Barlow', sans-serif; min-width: 220px;
}
.gw-qty-row label { min-width: 70px; }
.gw-qty-row { display: flex; align-items: center; gap: 14px; margin: 20px 0 0; }
.gw-qty-row label { font: 600 14px 'Barlow', sans-serif; color: #fff; }
.gw-qty-row input {
  width: 90px; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.2); border-radius: 6px;
  color: #fff; padding: 10px 12px; font: 400 15px 'Barlow', sans-serif;
}
.gw-added {
  margin: -10px 0 24px; font: 400 14.5px 'Barlow', sans-serif; color: #5fcadd;
}
.gw-enquiry-list { margin-bottom: 36px; }
.gw-enquiry-list h2 { font: 700 26px 'Barlow Semi Condensed', sans-serif; color: #fff; margin: 0 0 16px; }
.gw-empty { font: 400 15px 'Barlow', sans-serif; color: #b7ccd2; }
.gw-item {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.14);
  border-radius: 10px; padding: 14px 18px; margin-bottom: 10px;
}
.gw-item-name { display: flex; flex-direction: column; gap: 2px; }
.gw-item-name strong { font: 700 16px 'Barlow Semi Condensed', sans-serif; color: #fff; }
.gw-item-name span { font: 400 12.5px 'Barlow', sans-serif; color: #9dbac2; }
.gw-item-ctl { display: flex; align-items: center; gap: 14px; }
.gw-item-ctl input {
  width: 70px; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.2); border-radius: 6px;
  color: #fff; padding: 8px 10px; font: 400 14px 'Barlow', sans-serif;
}
.gw-item-ctl a { font: 400 13.5px 'Barlow', sans-serif; }
/* hidden CF7 field carrying the basket contents */
.wpcf7-form-control-wrap[data-name="enquiry-items"] { display: none; }

.wpcf7 { max-width: 640px; }
.wpcf7 form { display: flex; flex-direction: column; gap: 16px; }
.wpcf7 form .wpcf7-response-output {
  margin: 8px 0 0; padding: 12px 16px;
  border: 1px solid #5fcadd; border-radius: 6px; color: #d3f0f5;
}
.wpcf7 label { font: 600 14px 'Barlow', sans-serif; color: #fff; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
  width: 100%; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.2); border-radius: 6px;
  color: #fff; padding: 12px 14px; font: 400 15px 'Barlow', sans-serif;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { border-color: #5fcadd; outline: none; }
.wpcf7 input[type="submit"] {
  background: #0096bd; color: #fff; border: 0; border-radius: 6px;
  font: 600 16px 'Barlow', sans-serif; padding: 14px 32px; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: #0086ac; }
.woocommerce ul.products li.product .count {
    display: none;
}.woocommerce ul.products li.product-category > a {
    display: block;
    overflow: hidden;
    border-radius: 6px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    padding: 20px 16px !important;
    margin: 0 !important;
    background: #0B2A32 !important;
    line-height: 1.3 !important;
}

.woocommerce ul.products li.product-category:hover > a {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.woocommerce ul.products li.product-category:hover h2.woocommerce-loop-category__title {
    background: #0DA3C4 !important;
}
/* ============================================================
   GRIDWORKS POLISH PASS — append BELOW your existing CSS
   (plus: delete the old .gw-brand{} logo-wall rules at the
   bottom of your current CSS — see instructions)
   ============================================================ */

/* ---------- 0. Logo wall (renamed from .gw-brand → .gw-logo-tile
   to stop it clobbering product-card brand labels) ---------- */
.gw-logo-tile {
  background: #fff; border-radius: 8px; height: 112px;
  box-sizing: border-box; overflow: hidden;
  display: flex !important; align-items: center; justify-content: center;
  padding: 20px 28px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.gw-logo-tile img {
  max-height: 60px !important; max-width: 100% !important;
  width: auto !important; height: auto !important; object-fit: contain;
}
.gw-logo-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.3); }

/* ---------- 1. Spacing scale ----------
   Add ONE of these classes to each section (Advanced → CSS Classes)
   and zero out the section's own padding in the panel. */
.gw-sec        { padding-top: 96px !important; padding-bottom: 96px !important; }
.gw-sec--tight { padding-top: 56px !important; padding-bottom: 56px !important; }
.gw-sec--hero  { padding-top: 0 !important;    padding-bottom: 0 !important; }
.gw-sec--big   { padding-top: 128px !important; padding-bottom: 128px !important; }
@media (max-width: 1024px) {
  .gw-sec        { padding-top: 64px !important; padding-bottom: 64px !important; }
  .gw-sec--tight { padding-top: 40px !important; padding-bottom: 40px !important; }
  .gw-sec--big   { padding-top: 80px !important; padding-bottom: 80px !important; }
}

/* ---------- 2. Section rhythm: two backgrounds + hairlines ---------- */
.gw-bg-deep   { background-color: #04303C !important; }  /* standard */
.gw-bg-ink    { background-color: #021F28 !important; }  /* compressor / feature */
.gw-hairline-top    { border-top: 1px solid rgba(255,255,255,.08) !important; }
.gw-hairline-bottom { border-bottom: 1px solid rgba(255,255,255,.08) !important; }

/* ---------- 3. Typographic hierarchy ----------
   Class the widgets: eyebrow → gw-eyebrow, H2 → gw-h2, intro → gw-lede */
.gw-eyebrow .elementor-heading-title, .gw-eyebrow {
  font: 600 12px/1 'Barlow', sans-serif !important;
  letter-spacing: .2em !important; text-transform: uppercase !important;
  color: #0DA3C4 !important; margin-bottom: 14px;
}
.gw-h2 .elementor-heading-title, .gw-h2 {
  font-family: 'Barlow Semi Condensed', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(34px, 3.4vw, 46px) !important;
  line-height: 1.08 !important; color: #fff !important;
  text-wrap: balance;
}
.gw-lede, .gw-lede p {
  font: 400 18px/1.6 'Barlow', sans-serif !important;
  color: #B7CCD2 !important; max-width: 62ch;
}
/* Value-prop trio: smaller heads, diamond anchor, tighter copy */
.gw-value h2, .gw-value h3, .gw-value .elementor-heading-title {
  font: 700 20px/1.2 'Barlow Semi Condensed', sans-serif !important;
  color: #fff !important; margin-bottom: 8px;
}
.gw-value .elementor-heading-title::before {
  content: ''; display: block; width: 10px; height: 10px;
  background: #0DA3C4; transform: rotate(45deg);
  margin: 0 auto 16px;
}
.gw-value p { font: 400 15.5px/1.55 'Barlow', sans-serif; color: #9DBAC2; }

/* ---------- 4. Category tiles — catalogue look (current assets) ----------
   Add class gw-tile to each card's container. */
.gw-tile {
  background: #fff !important; border-radius: 10px; overflow: hidden;
  padding: 0 !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
.gw-tile .elementor-widget-image { width: 100%; }
.gw-tile .elementor-widget-image img {
  width: 100% !important; height: 200px !important;
  object-fit: contain; padding: 26px; box-sizing: border-box;
  background: #fff;
}
.gw-tile .elementor-heading-title, .gw-tile h2, .gw-tile h3 {
  background: #0B2A32; color: #fff !important;
  font: 600 16px/1.3 'Barlow', sans-serif !important;
  letter-spacing: .08em; text-transform: uppercase;
  text-align: center; padding: 18px 16px !important; margin: 0 !important;
  transition: background .2s ease;
  display: block; width: 100%;
}
.gw-tile:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(0,0,0,.35); }
.gw-tile:hover .elementor-heading-title { background: #0DA3C4; }
.gw-tile a { text-decoration: none; }

/* Photography variant — enable when all six tiles have field shots:
.gw-tile--photo .elementor-widget-image img {
  height: 260px !important; object-fit: cover; padding: 0;
}
.gw-tile--photo .elementor-widget-image { position: relative; }
.gw-tile--photo .elementor-widget-image::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4,48,60,0) 40%, rgba(2,31,40,.85) 100%);
}
*/

/* ---------- 5. Product Ecosystem — hero moment ---------- */
.gw-eco-frame {
  position: relative; background: #fff; border-radius: 14px;
  padding: 24px; box-shadow: 0 32px 80px rgba(0,0,0,.5);
}
.gw-eco-frame > img { width: 100%; display: block; }
/* cyan corner ticks — quiet "technical drawing" cue */
.gw-eco-frame::before, .gw-eco-frame::after {
  content: ''; position: absolute; width: 26px; height: 26px; pointer-events: none;
}
.gw-eco-frame::before { top: -8px; left: -8px; border-top: 3px solid #0DA3C4; border-left: 3px solid #0DA3C4; }
.gw-eco-frame::after  { bottom: -8px; right: -8px; border-bottom: 3px solid #0DA3C4; border-right: 3px solid #0DA3C4; }

/* Pulsing hotspots (markup in the HTML widget) */
.gw-dot {
  position: absolute; width: 16px; height: 16px; border-radius: 50%;
  background: #0DA3C4; border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.35);
  cursor: pointer; padding: 0; display: block;
}
.gw-dot::before {
  content: ''; position: absolute; inset: -8px; border-radius: 50%;
  border: 2px solid #0DA3C4; opacity: 0;
  animation: gw-pulse 2.6s ease-out infinite;
}
.gw-dot:nth-child(odd)::before { animation-delay: 1.3s; }
@keyframes gw-pulse {
  0% { transform: scale(.5); opacity: .9; }
  70% { transform: scale(1.5); opacity: 0; }
  100% { opacity: 0; }
}
.gw-dot .gw-dot-label {
  position: absolute; left: 50%; bottom: calc(100% + 10px);
  transform: translateX(-50%) translateY(4px);
  background: #021F28; color: #fff; white-space: nowrap;
  font: 600 13px/1 'Barlow', sans-serif; letter-spacing: .04em;
  padding: 8px 12px; border-radius: 6px;
  opacity: 0; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.gw-dot:hover .gw-dot-label, .gw-dot:focus .gw-dot-label {
  opacity: 1; transform: translateX(-50%) translateY(0);
}

/* ---------- 6. Section entry motion — progressive enhancement ---------- */
@supports (animation-timeline: view()) {
  .gw-reveal {
    animation: gw-rise both;
    animation-timeline: view();
    animation-range: entry 0% entry 36%;
  }
  @keyframes gw-rise {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: none; }
  }
}
@media (prefers-reduced-motion: reduce) {
  .gw-reveal { animation: none !important; }
  .gw-dot::before { animation: none !important; }
  .gw-tile, .gw-logo-tile { transition: none !important; }
}
/* ============================================================
   GRIDWORKS — Woo archive/product FIX patch
   1) DELETE from your Additional CSS the two blocks near the
      bottom that start:
         .gw-brand { background: #FFFFFF; ... }
         .gw-brand img { max-height: 80px !important; ... }
      (they were meant for the homepage logo wall — the logo wall
      uses .gw-logo-tile from the polish CSS instead)
   2) PASTE everything below at the end.
   ============================================================ */

/* Restore the brand label to what it should be — a small cyan
   eyebrow above the product title (cards + single product) */
.gw-brand {
  background: none !important; border-radius: 0 !important;
  height: auto !important; padding: 0 !important;
  display: block !important; overflow: visible !important;
  font: 600 12px/1 'Barlow', sans-serif !important;
  color: #5fcadd !important;
  text-transform: uppercase; letter-spacing: .12em;
  text-align: left;
  margin: 0 18px 6px !important;
}
.single-product div.product .gw-brand { margin: 0 0 8px !important; }

/* ---------- Archive cards: uniform image geometry ----------
   Every card image: fixed 230px white band, contained, padded —
   same rule for product photos and category tiles, so studio
   shots and field shots align. */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product-category img {
  width: 100% !important; height: 230px !important;
  object-fit: contain !important;
  background: #fff !important;
  padding: 22px !important; box-sizing: border-box;
  margin-bottom: 0 !important;
}
/* Placeholder images: keep them quiet, not giant */
.woocommerce ul.products li.product img.woocommerce-placeholder {
  object-fit: contain !important; padding: 60px !important; opacity: .35;
}

/* Category tile label bars: consistent height and colour whether
   the title wraps to one or two lines (fixes Connectors & Fittings
   looking different from its neighbours) */
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
  min-height: 64px;
  display: flex !important; align-items: center; justify-content: center;
}

/* Product cards: title area breathing room + consistent bottom */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 14px 18px 0 !important;
  min-height: 58px;
}
.woocommerce ul.products li.product { padding-bottom: 20px !important; }
.woocommerce ul.products li.product .gw-brand { margin-top: 14px !important; }

/* Single product: brand label sits above the title, no white box */
.single-product div.product summary .gw-brand,
.single-product .gw-brand { width: auto !important; }

/* Single product tabs: fix the unreadable inactive tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important; border: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #9dbac2 !important;
  font: 600 15px 'Barlow', sans-serif !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #5fcadd !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

/* "Need help specifying?" panel: keep the link inline */
.gw-help { display: block !important; }
.gw-help .gw-diamond { display: inline-block; margin-right: 10px; vertical-align: middle; }
.gw-sec--nb { padding-bottom: 0 !important; }
.gw-sec--nt { padding-top: 0 !important; }
.gw-lede, .gw-lede p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}
.gw-tile {
    padding-bottom: 0 !important;
}
/* Horizontal padding for all classed sections */
.gw-sec,
.gw-sec--tight,
.gw-sec--big,
.gw-bg-deep,
.gw-bg-ink {
    padding-left: 48px !important;
    padding-right: 48px !important;
}

/* Restore hero spacing */
.gw-hero-fix {
    padding: 100px 48px !important;
}

/* Centre the intro paragraphs */
.gw-lede,
.gw-lede p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

/* Kill the white strip under tile labels */
.gw-tile {
    padding-bottom: 0 !important;
}

/* Footer inset */
.gw-hairline-top {
    padding-left: 48px !important;
    padding-right: 48px !important;
}

/* ============================================================
   GRIDWORKS — CATEGORY TILE FIX  (append to Additional CSS)
   ------------------------------------------------------------
   Fixes the pale strip under the category tile labels and the
   uneven tile heights on the Home 2026 product grid.

   Why it was happening:
   • The homepage tiles are Elementor IMAGE BOX widgets, but the
     existing polish CSS styles ".gw-tile .elementor-widget-image img"
     — an IMAGE widget selector — so none of the white-band rules
     were reaching them.
   • The pale band (#EEF5F6) and a 20px bottom padding sit on the
     widget container, which is set per-widget in Elementor, so a
     plain rule loses on specificity. Hence the !important flags
     below — they are deliberate, not lazy.
   • Labels wrapping to two lines ("OVERHEAD NETWORKS",
     "COMPENSATED NETWORKS") made those cards 8px taller than the
     rest, so the dark bands didn't line up across the row.
   ============================================================ */

/* Card stretches to fill its column */
.gw-tile {
  display: flex !important;
  flex: 1 1 auto;
  transition: transform .25s ease, box-shadow .25s ease;
}

.gw-tile > .elementor-widget-container {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: #EEF5F6 !important;
  padding: 0 !important;          /* <- removes the pale strip under the label */
  border-radius: 10px;
  overflow: hidden;
}

.gw-tile .elementor-image-box-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

/* Pale image band — full width, image contained and centred */
.gw-tile .elementor-image-box-img {
  width: 100% !important;
  margin: 0 !important;
  flex: 1 1 auto;
  min-height: 150px;
  padding: 22px 22px 14px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gw-tile .elementor-image-box-img a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.gw-tile .elementor-image-box-img img {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 104px;
  object-fit: contain;
  transition: transform .3s ease;
}

/* Dark label band — flush to the bottom edge, uniform height */
.gw-tile .elementor-image-box-content {
  margin: 0;
  width: 100%;
}

.gw-tile .elementor-image-box-title {
  margin: 0 !important;
  min-height: 78px !important;    /* fits two lines, so every band aligns */
  padding: 14px 18px;
  background: #0B2A32;
  color: #fff;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: background .25s ease;
}

.gw-tile .elementor-image-box-title a {
  color: inherit;
  text-decoration: none;
  display: block;
  width: 100%;
}

.gw-tile:hover .elementor-image-box-title,
.gw-tile:focus-within .elementor-image-box-title {
  background: #0096BD;
}

.gw-tile:hover .elementor-image-box-img img {
  transform: scale(1.04);
}

@media (max-width: 767px) {
  .gw-tile .elementor-image-box-img { min-height: 128px; padding: 18px 18px 12px; }
  .gw-tile .elementor-image-box-img img { max-height: 88px; }
  .gw-tile .elementor-image-box-title { min-height: 64px !important; }
}

/* ============================================================
   GRIDWORKS — FOOTER LOCATION MAP
   Styles the Elementor Google Maps widget that carries the
   CSS class "gw-map" in the Home 2026 footer.
   ============================================================ */

.gw-map {
  width: 100%;
  max-width: 260px;
}

.gw-map .elementor-widget-container {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: #0B2A32;
}

.gw-map iframe {
  display: block;
  filter: grayscale(.25) contrast(1.03);
}

@media (max-width: 767px) {
  .gw-map { max-width: 100%; }
}

/* ============================================================
   GRIDWORKS — ECOSYSTEM SECTION, STACKED LAYOUT
   ------------------------------------------------------------
   Centres the eyebrow, heading, paragraph and button now that
   they sit above the diagram instead of beside it, and stops the
   paragraph running the full width of the section.

   5f5c2370 is Elementor's own id for that section. It survives
   deleting a column, but it would change if the section were
   ever rebuilt from scratch — if the centring stops working one
   day, that's why.
   ============================================================ */

.elementor-element-5f5c2370 .elementor-heading-title,
.elementor-element-5f5c2370 .elementor-widget-heading,
.elementor-element-5f5c2370 .elementor-widget-button {
  text-align: center !important;
}

.elementor-element-5f5c2370 .elementor-widget-text-editor {
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}

.elementor-element-5f5c2370 .elementor-widget-button {
  margin-bottom: 40px;
}
/* ── ARCHIVE CARD CONSISTENCY ── */

/* Both card types: colour band flush to the bottom edge */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category {
  padding-bottom: 0 !important;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}

.woocommerce ul.products li.product > a.woocommerce-loop-product__link,
.woocommerce ul.products li.product-category > a {
  border-radius: 0 !important;
}

/* Both card types: the whole card lifts */
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within,
.woocommerce ul.products li.product-category:hover,
.woocommerce ul.products li.product-category:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,.28);
}

.woocommerce ul.products li.product-category:hover > a {
  transform: none !important;
  box-shadow: none !important;
}

/* Product tiles: the band and the cyan hover they were missing */
.woocommerce ul.products li.product > a.woocommerce-loop-product__link {
  display: block;
  background: #0B2A32;
  padding-bottom: 18px;
  transition: background .25s ease;
}

.woocommerce ul.products li.product:hover > a.woocommerce-loop-product__link,
.woocommerce ul.products li.product:focus-within > a.woocommerce-loop-product__link {
  background: #0DA3C4;
}

.woocommerce ul.products li.product:hover .gw-brand,
.woocommerce ul.products li.product:focus-within .gw-brand {
  color: rgba(255,255,255,.9);
}
