
/* ============================================================
   GaBe Double Glazing — Deep Glass / Inner Gold Glow
   Header "Get a free quote" button
   ============================================================ */

#nav-v2 a[href$="contact.html"] {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;

  /* Very transparent multi-layer glass */
  background:
    linear-gradient(180deg,
      rgba(255,255,255,0.16) 0%,
      rgba(255,255,255,0.075) 14%,
      rgba(255,255,255,0.025) 48%,
      rgba(255,255,255,0.015) 100%) !important;

  border: 1px solid rgba(255,255,255,0.24) !important;
  border-radius: 12px !important;

  /* Slightly lighter, warmer text for better readability */
  color: #d9c8a5 !important;
  text-shadow:
    0 1px 1px rgba(0,0,0,0.72),
    0 0 4px rgba(255,235,180,0.08) !important;

  -webkit-backdrop-filter: blur(18px) saturate(155%);
  backdrop-filter: blur(18px) saturate(155%);

  /* Most of the light now stays INSIDE the glass */
  box-shadow:
    0 1px 0 rgba(255,255,255,0.55) inset,
    0 8px 17px rgba(255,255,255,0.055) inset,
    0 -1px 0 rgba(0,0,0,0.16) inset,
    0 -9px 18px rgba(0,0,0,0.08) inset,

    /* very subtle outer shadow only */
    0 4px 14px rgba(0,0,0,0.18),
    0 0 5px rgba(214,177,78,0.07) !important;

  transition:
    transform .20s cubic-bezier(.2,.75,.2,1),
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    color .22s ease,
    filter .22s ease !important;

  -webkit-font-smoothing: antialiased;
  transform: translateZ(0);
}

/* Upper curved glass highlight + internal gold reflection */
#nav-v2 a[href$="contact.html"]::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 3px;

  border-radius: 9px;

  background:
    /* top white glass reflection */
    linear-gradient(180deg,
      rgba(255,255,255,0.46) 0%,
      rgba(255,255,255,0.14) 20%,
      rgba(255,255,255,0.025) 42%,
      rgba(255,255,255,0) 54%),

    /* subtle warm light trapped in lower half */
    radial-gradient(ellipse at 50% 115%,
      rgba(218,177,70,0.13) 0%,
      rgba(190,136,34,0.065) 42%,
      rgba(190,136,34,0) 74%);

  border-top: 1px solid rgba(255,255,255,0.42);

  box-shadow:
    0 1px 0 rgba(255,255,255,0.18) inset,
    0 -8px 16px rgba(189,136,36,0.045) inset;

  opacity: .82;
  pointer-events: none;
}

/* Moving glass sheen */
#nav-v2 a[href$="contact.html"]::after {
  content: "";
  position: absolute;
  z-index: 2;
  pointer-events: none;

  top: -42%;
  bottom: -42%;
  left: -68%;
  width: 30%;

  transform: skewX(-18deg);

  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0.03) 18%,
      rgba(255,255,255,0.42) 49%,
      rgba(255,239,194,0.16) 64%,
      rgba(255,255,255,0) 100%);

  filter: blur(.25px);
  opacity: 0;
}

/* Hover: light comes mostly from INSIDE the glass */
#nav-v2 a[href$="contact.html"]:hover,
#nav-v2 a[href$="contact.html"]:focus-visible {
  color: #f1dca5 !important;
  border-color: rgba(221,181,76,0.76) !important;

  background:
    linear-gradient(180deg,
      rgba(255,255,255,0.20) 0%,
      rgba(255,248,222,0.105) 14%,
      rgba(211,174,73,0.055) 49%,
      rgba(211,174,73,0.03) 100%) !important;

  transform: translateY(-1px) scale(1.012);
  filter: brightness(1.04) saturate(1.04);

  box-shadow:
    /* glass surface */
    0 1px 0 rgba(255,255,255,0.70) inset,
    0 8px 20px rgba(255,255,255,0.08) inset,
    0 -1px 0 rgba(0,0,0,0.11) inset,

    /* strong INNER gold illumination */
    0 -7px 17px rgba(212,168,56,0.13) inset,
    0 0 12px rgba(240,204,111,0.17) inset,
    0 0 24px rgba(205,153,43,0.13) inset,

    /* only a faint halo outside */
    0 0 5px rgba(245,213,130,0.22),
    0 0 11px rgba(210,163,57,0.13),

    0 6px 18px rgba(0,0,0,0.21) !important;

  animation: gabe-inner-gold-breathe 1.55s ease-in-out infinite alternate;
}

#nav-v2 a[href$="contact.html"]:hover::before,
#nav-v2 a[href$="contact.html"]:focus-visible::before {
  opacity: 1;

  background:
    linear-gradient(180deg,
      rgba(255,255,255,0.55) 0%,
      rgba(255,255,255,0.18) 20%,
      rgba(255,255,255,0.035) 42%,
      rgba(255,255,255,0) 54%),

    radial-gradient(ellipse at 50% 112%,
      rgba(244,210,119,0.32) 0%,
      rgba(214,171,62,0.18) 34%,
      rgba(184,128,27,0.07) 58%,
      rgba(184,128,27,0) 78%);

  box-shadow:
    0 1px 0 rgba(255,255,255,0.24) inset,
    0 -9px 21px rgba(221,177,63,0.12) inset,
    0 0 18px rgba(232,193,88,0.08) inset;
}

#nav-v2 a[href$="contact.html"]:hover::after,
#nav-v2 a[href$="contact.html"]:focus-visible::after {
  opacity: 1;
  animation: gabe-glass-gold-sweep-v2 1.18s cubic-bezier(.23,.75,.28,1) both;
}

#nav-v2 a[href$="contact.html"]:active {
  transform: translateY(1px) scale(.996);
  filter: brightness(.97);

  box-shadow:
    0 1px 0 rgba(255,255,255,0.43) inset,
    0 5px 12px rgba(0,0,0,0.12) inset,
    0 -5px 13px rgba(207,163,52,0.11) inset,
    0 0 7px rgba(215,170,61,0.12),
    0 3px 10px rgba(0,0,0,0.20) !important;
}

@keyframes gabe-inner-gold-breathe {
  from {
    box-shadow:
      0 1px 0 rgba(255,255,255,0.66) inset,
      0 8px 18px rgba(255,255,255,0.065) inset,
      0 -1px 0 rgba(0,0,0,0.11) inset,
      0 -7px 15px rgba(212,168,56,0.10) inset,
      0 0 10px rgba(240,204,111,0.13) inset,
      0 0 20px rgba(205,153,43,0.10) inset,
      0 0 4px rgba(245,213,130,0.16),
      0 0 9px rgba(210,163,57,0.10),
      0 6px 18px rgba(0,0,0,0.20);
  }

  to {
    box-shadow:
      0 1px 0 rgba(255,255,255,0.75) inset,
      0 9px 21px rgba(255,255,255,0.085) inset,
      0 -1px 0 rgba(0,0,0,0.10) inset,
      0 -8px 20px rgba(223,178,64,0.18) inset,
      0 0 15px rgba(245,211,117,0.22) inset,
      0 0 29px rgba(208,157,45,0.17) inset,
      0 0 6px rgba(247,218,141,0.27),
      0 0 13px rgba(214,166,60,0.14),
      0 6px 19px rgba(0,0,0,0.22);
  }
}

@keyframes gabe-glass-gold-sweep-v2 {
  0%   { left: -68%; opacity: 0; }
  18%  { opacity: .78; }
  72%  { opacity: .55; }
  100% { left: 136%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #nav-v2 a[href$="contact.html"],
  #nav-v2 a[href$="contact.html"]::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}





/* ============================================================
   GaBe Double Glazing — STABLE GLASS HEADER v12
   Ultra-clear luxury glass:
   - much higher transparency
   - no visible top strip / band
   - stronger lower-edge lens/refraction effect
   - premium thick-glass feel
   CSS-only: no Astro edits and no custom scroll JavaScript.
   ============================================================ */

:root {
  --gabe-header-radius: 26px;
  --gabe-glass-edge: 2px;
}

/* Geometry remains stable in every LocalCraft scroll state. */
#nav-v2,
#nav-v2.lg-bar,
#nav-v2.border-ink-600,
#nav-v2.border-transparent {
  top: 12px !important;
  left: 50% !important;
  right: auto !important;
  width: min(1480px, calc(100% - 28px)) !important;
  transform: translate3d(-50%,0,0) !important;

  background: transparent !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: var(--gabe-header-radius) !important;
  isolation: isolate;
  overflow: visible;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

  /* Premium floating slab shadow, intentionally restrained. */
  box-shadow:
    0 16px 34px rgba(0,0,0,.10),
    0 3px 9px rgba(0,0,0,.045) !important;
}

/* ------------------------------------------------------------
   MAIN GLASS BODY
   Almost clear optical glass:
   - very light internal tint
   - no strong top highlight band
   - subtle thickness around the perimeter
   ------------------------------------------------------------ */
#nav-v2::before,
#nav-v2.lg-bar::before,
#nav-v2.border-ink-600::before,
#nav-v2.border-transparent::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;

  background:
    /* Only a faint overall body tone – keep it almost like clean glass */
    linear-gradient(
      180deg,
      rgba(255,255,255,.014) 0%,
      rgba(255,255,255,.007) 42%,
      rgba(255,255,255,.003) 70%,
      rgba(255,255,255,0) 100%
    ),
    /* very soft lower-body bloom so the slab still feels physical */
    radial-gradient(
      150% 80% at 50% 118%,
      rgba(255,255,255,.040) 0%,
      rgba(255,255,255,.010) 40%,
      rgba(255,255,255,0) 68%
    ) !important;

  -webkit-backdrop-filter:
    blur(2.15px)
    saturate(164%)
    brightness(1.020)
    contrast(.995) !important;
  backdrop-filter:
    blur(2.15px)
    saturate(164%)
    brightness(1.020)
    contrast(.995) !important;

  border: var(--gabe-glass-edge) solid rgba(255,255,255,.14) !important;

  /* No thick top stripe; keep the top edge clean and understated. */
  box-shadow:
    0 0 0 1px rgba(255,255,255,.028) inset,
    0 1px 0 rgba(255,255,255,.18) inset,
    0 -1px 0 rgba(255,255,255,.045) inset,
    2px 0 2px rgba(255,255,255,.030) inset,
    -2px 0 2px rgba(255,255,255,.026) inset,
    0 0 0 1px rgba(0,0,0,.040) !important;

  clip-path: inset(.5px round calc(var(--gabe-header-radius) - .5px));
}

/* ------------------------------------------------------------
   LOWER-EDGE LENS / REFRACTION LAYER
   This is where the luxury "thick glass" look lives.
   It is deliberately concentrated into the bottom zone so:
   - the top stays clean (no unwanted strip)
   - the bottom edge bends/brightens the background more strongly
   - slight chromatic separation appears mainly near the lower edge
   ------------------------------------------------------------ */
#nav-v2::after,
#nav-v2.lg-bar::after,
#nav-v2.border-ink-600::after,
#nav-v2.border-transparent::after {
  content: "";
  position: absolute !important;
  z-index: -1;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none;

  background:
    /* strong lower optical bloom / caustic line */
    radial-gradient(
      140% 130% at 50% 112%,
      rgba(255,255,255,.34) 0%,
      rgba(255,255,255,.16) 13%,
      rgba(255,255,255,.055) 28%,
      rgba(255,255,255,0) 48%
    ),
    /* restrained spectrum, focused to the lower arc only */
    conic-gradient(
      from 180deg at 50% 120%,
      rgba(24,190,255,.34) 0deg,
      rgba(65,110,255,.25) 20deg,
      rgba(154,84,255,.20) 38deg,
      rgba(255,73,159,.18) 56deg,
      rgba(255,184,61,.17) 76deg,
      rgba(255,184,61,.17) 104deg,
      rgba(255,73,159,.18) 124deg,
      rgba(154,84,255,.20) 142deg,
      rgba(65,110,255,.25) 160deg,
      rgba(24,190,255,.34) 180deg,
      rgba(0,0,0,0) 180deg 360deg
    ),
    /* bright bottom edge highlight */
    linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 66%,
      rgba(255,255,255,.022) 76%,
      rgba(255,255,255,.090) 88%,
      rgba(255,255,255,.19) 96%,
      rgba(255,255,255,.24) 100%
    ) !important;

  /* stronger blur here creates the optical "bending" feel */
  -webkit-backdrop-filter:
    blur(6.8px)
    saturate(186%)
    brightness(1.060)
    contrast(1.010) !important;
  backdrop-filter:
    blur(6.8px)
    saturate(186%)
    brightness(1.060)
    contrast(1.010) !important;

  /* Show this layer only in the bottom zone. */
  -webkit-mask:
    linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 60%,
      rgba(0,0,0,.05) 68%,
      rgba(0,0,0,.34) 76%,
      rgba(0,0,0,.82) 88%,
      rgba(0,0,0,1) 100%
    );
  mask:
    linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 60%,
      rgba(0,0,0,.05) 68%,
      rgba(0,0,0,.34) 76%,
      rgba(0,0,0,.82) 88%,
      rgba(0,0,0,1) 100%
    );

  box-shadow:
    0 -1px 0 rgba(255,255,255,.18) inset,
    0 -6px 12px rgba(255,255,255,.055) inset,
    0 -18px 28px rgba(255,255,255,.022) inset !important;

  opacity: .98;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Crisp navigation content above the glass. */
#nav-v2 > * {
  position: relative;
  z-index: 2;
}

/* Keep the approved text treatment. */
#nav-v2 nav > a,
#nav-v2 nav button {
  color: rgba(250,247,241,.98) !important;
  font-weight: 600 !important;
  text-shadow:
    0 1px 1px rgba(0,0,0,.92),
    0 2px 4px rgba(0,0,0,.40),
    0 0 7px rgba(0,0,0,.18) !important;
}

#nav-v2 [data-dropdown-menu] a,
#nav-v2 [data-dropdown-menu] p {
  text-shadow: none;
}

#nav-v2 img {
  filter:
    drop-shadow(0 1px 1px rgba(0,0,0,.28))
    drop-shadow(0 2px 4px rgba(0,0,0,.12));
}

/* Prevent LocalCraft state classes from altering the appearance. */
#nav-v2.lg-bar,
#nav-v2.border-ink-600 {
  background: transparent !important;
  border: 0 !important;
  border-color: transparent !important;
}

@media (min-width: 768px) {
  #nav-v2 > .max-w-content {
    min-height: 76px;
    height: 76px !important;
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 767px) {
  #nav-v2,
  #nav-v2.lg-bar,
  #nav-v2.border-ink-600,
  #nav-v2.border-transparent {
    top: 8px !important;
    width: calc(100% - 16px) !important;
    border-radius: 20px !important;
  }

  #nav-v2 > .max-w-content {
    height: 66px !important;
    min-height: 66px;
    padding-left: 16px;
    padding-right: 12px;
  }

  #nav-v2::before {
    -webkit-backdrop-filter:
      blur(2px)
      saturate(160%)
      brightness(1.016) !important;
    backdrop-filter:
      blur(2px)
      saturate(160%)
      brightness(1.016) !important;
  }

  #nav-v2::after {
    -webkit-backdrop-filter:
      blur(5.8px)
      saturate(180%)
      brightness(1.05) !important;
    backdrop-filter:
      blur(5.8px)
      saturate(180%)
      brightness(1.05) !important;
  }
}


/* ============================================================
   GaBe v13 — SCROLL COMPOSITING FIX
   Root cause:
   the original LocalCraft .lg-bar scroll state can apply its own
   backdrop-filter to #nav-v2. A filtered parent becomes a new
   backdrop root, so the child glass pseudo-elements can no longer
   sample the real page behind them while scrolling.
   We keep the parent optically neutral in every scroll state.
   ============================================================ */

#nav-v2,
#nav-v2.lg-bar,
#nav-v2.border-ink-600,
#nav-v2.border-transparent,
#nav-v2[data-at-top="true"],
#nav-v2[data-at-top="false"] {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  background: transparent !important;
}

/* Force both glass layers to remain active and composited while scrolling. */
#nav-v2::before,
#nav-v2::after,
#nav-v2.lg-bar::before,
#nav-v2.lg-bar::after,
#nav-v2.border-ink-600::before,
#nav-v2.border-ink-600::after,
#nav-v2[data-at-top="true"]::before,
#nav-v2[data-at-top="true"]::after,
#nav-v2[data-at-top="false"]::before,
#nav-v2[data-at-top="false"]::after {
  display: block !important;
  visibility: visible !important;
  animation: none !important;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Re-assert the main clear-glass backdrop during and after scrolling. */
#nav-v2.lg-bar::before,
#nav-v2.border-ink-600::before,
#nav-v2[data-at-top="false"]::before {
  -webkit-backdrop-filter:
    blur(2.15px)
    saturate(164%)
    brightness(1.020)
    contrast(.995) !important;
  backdrop-filter:
    blur(2.15px)
    saturate(164%)
    brightness(1.020)
    contrast(.995) !important;
}

/* Re-assert the stronger lower-edge optical refraction during scroll. */
#nav-v2.lg-bar::after,
#nav-v2.border-ink-600::after,
#nav-v2[data-at-top="false"]::after {
  -webkit-backdrop-filter:
    blur(6.8px)
    saturate(186%)
    brightness(1.060)
    contrast(1.010) !important;
  backdrop-filter:
    blur(6.8px)
    saturate(186%)
    brightness(1.060)
    contrast(1.010) !important;
  opacity: .98 !important;
}

/* Avoid a scroll-state transition between the two visual systems. */
#nav-v2 {
  transition:
    top .28s ease,
    width .28s ease,
    box-shadow .28s ease,
    transform .28s ease !important;
}


/* ============================================================
   GaBe v14 — FINAL STABLE GLASS
   The animated / refractive lower lens layer is removed completely.
   This prevents the scroll-time jump to the top edge.
   The clear-glass body and premium thickness remain.
   ============================================================ */

/* Disable the unstable optical/refraction pseudo-layer in ALL states. */
#nav-v2::after,
#nav-v2.lg-bar::after,
#nav-v2.border-ink-600::after,
#nav-v2.border-transparent::after,
#nav-v2[data-at-top="true"]::after,
#nav-v2[data-at-top="false"]::after {
  content: none !important;
  display: none !important;
  background: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* Keep the clean-glass body, but give the lower edge a static,
   physically believable thickness that cannot jump during scroll. */
#nav-v2::before,
#nav-v2.lg-bar::before,
#nav-v2.border-ink-600::before,
#nav-v2.border-transparent::before,
#nav-v2[data-at-top="true"]::before,
#nav-v2[data-at-top="false"]::before {
  -webkit-backdrop-filter:
    blur(2.15px)
    saturate(164%)
    brightness(1.020)
    contrast(.995) !important;
  backdrop-filter:
    blur(2.15px)
    saturate(164%)
    brightness(1.020)
    contrast(.995) !important;

  box-shadow:
    /* clean outer glass definition */
    0 0 0 1px rgba(255,255,255,.026) inset,
    0 1px 0 rgba(255,255,255,.14) inset,

    /* lower glass thickness */
    0 -1px 0 rgba(255,255,255,.055) inset,
    0 -3px 6px rgba(255,255,255,.020) inset,
    0 -7px 12px rgba(0,0,0,.040) inset,

    /* side wall thickness */
    2px 0 2px rgba(255,255,255,.026) inset,
    -2px 0 2px rgba(255,255,255,.024) inset,

    /* subtle separation from the background */
    0 0 0 1px rgba(0,0,0,.038) !important;
}

/* No legacy scroll state may add any top line or colour band. */
#nav-v2,
#nav-v2.lg-bar,
#nav-v2.border-ink-600,
#nav-v2.border-transparent,
#nav-v2[data-at-top="true"],
#nav-v2[data-at-top="false"] {
  border-top: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}


/* ============================================================
   GaBe v15 — Luxury finishing / larger logo
   - slightly larger logo, still safely inside the glass frame
   - premium logo presence
   - subtle luxury refinement for text and CTA
   - fully stable; no scroll-sensitive optical layers reintroduced
   ============================================================ */

/* Slightly larger logo without touching the glass border */
#nav-v2 > div > a[aria-label*="GaBe"] img,
#nav-v2 > div > a[href$="index.html"] img {
  height: 46px !important;
  width: auto !important;
  max-height: 46px !important;
  object-fit: contain !important;
  filter:
    brightness(1.06)
    saturate(1.05)
    drop-shadow(0 1px 0 rgba(255,255,255,.08))
    drop-shadow(0 4px 12px rgba(180,130,65,.14)) !important;
  transform: translateY(.5px);
}

@media (min-width: 640px) {
  #nav-v2 > div > a[aria-label*="GaBe"] img,
  #nav-v2 > div > a[href$="index.html"] img {
    height: 56px !important;
    max-height: 56px !important;
  }
}

/* Add a very subtle luxury aura around the logo anchor */
#nav-v2 > div > a[aria-label*="GaBe"],
#nav-v2 > div > a[href$="index.html"] {
  position: relative !important;
  padding-right: 4px !important;
}

#nav-v2 > div > a[aria-label*="GaBe"]::after,
#nav-v2 > div > a[href$="index.html"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  width: 118% !important;
  height: 82% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at center,
      rgba(179, 140, 72, .085) 0%,
      rgba(179, 140, 72, .042) 32%,
      rgba(179, 140, 72, .018) 55%,
      rgba(179, 140, 72, 0) 78%) !important;
  filter: blur(10px) !important;
  opacity: .85 !important;
}

/* Crisper, more premium nav typography without changing wording */
#nav-v2 nav button,
#nav-v2 nav a {
  text-shadow:
    0 1px 0 rgba(255,255,255,.06),
    0 0 14px rgba(255,215,160,.02) !important;
  letter-spacing: .135em !important;
}

/* Refined CTA: premium depth, slightly more jewel-like */
#nav-v2 a[href$="contact.html"] {
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 1px 0 rgba(255,255,255,.20) inset,
    0 -10px 18px rgba(90,55,18,.12) inset,
    0 10px 28px rgba(0,0,0,.16),
    0 0 22px rgba(171,125,67,.10) !important;
}

#nav-v2 a[href$="contact.html"]::before {
  opacity: .92 !important;
}

#nav-v2 a[href$="contact.html"]:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 1px 0 rgba(255,255,255,.24) inset,
    0 -10px 18px rgba(90,55,18,.15) inset,
    0 14px 32px rgba(0,0,0,.18),
    0 0 28px rgba(171,125,67,.14) !important;
}

/* Slightly more premium overall glass edge definition */
#nav-v2::before,
#nav-v2.lg-bar::before,
#nav-v2.border-ink-600::before,
#nav-v2.border-transparent::before,
#nav-v2[data-at-top="true"]::before,
#nav-v2[data-at-top="false"]::before {
  box-shadow:
    0 0 0 1px rgba(255,255,255,.030) inset,
    0 1px 0 rgba(255,255,255,.16) inset,
    0 -1px 0 rgba(255,255,255,.060) inset,
    0 -3px 6px rgba(255,255,255,.024) inset,
    0 -7px 12px rgba(0,0,0,.040) inset,
    2px 0 2px rgba(255,255,255,.026) inset,
    -2px 0 2px rgba(255,255,255,.024) inset,
    0 0 0 1px rgba(0,0,0,.040),
    0 12px 36px rgba(0,0,0,.09) !important;
}


/* ============================================================
   GaBe v16 — ULTRA LUXURY FINISH
   Stable, premium refinement only:
   - richer logo presentation
   - boutique navigation spacing
   - jewel-like quote button
   - subtle premium glass depth
   - no unstable scroll-sensitive lens effects
   ============================================================ */

/* -------------------------
   LOGO: stronger premium presence
   ------------------------- */
#nav-v2 > div > a[aria-label*="GaBe"] img,
#nav-v2 > div > a[href$="index.html"] img {
  height: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  object-fit: contain !important;

  filter:
    brightness(1.09)
    contrast(1.02)
    saturate(1.07)
    drop-shadow(0 1px 0 rgba(255,255,255,.09))
    drop-shadow(0 2px 4px rgba(0,0,0,.18))
    drop-shadow(0 8px 22px rgba(175,128,63,.13)) !important;

  transform: translateY(.5px);
}

@media (min-width: 640px) {
  #nav-v2 > div > a[aria-label*="GaBe"] img,
  #nav-v2 > div > a[href$="index.html"] img {
    height: 58px !important;
    max-height: 58px !important;
  }
}

/* Controlled warm aura behind logo */
#nav-v2 > div > a[aria-label*="GaBe"]::after,
#nav-v2 > div > a[href$="index.html"]::after {
  width: 128% !important;
  height: 88% !important;
  background:
    radial-gradient(
      ellipse at center,
      rgba(197,150,76,.11) 0%,
      rgba(197,150,76,.052) 34%,
      rgba(197,150,76,.018) 58%,
      rgba(197,150,76,0) 80%
    ) !important;
  filter: blur(12px) !important;
  opacity: .92 !important;
}

/* -------------------------
   NAVIGATION: boutique luxury spacing
   ------------------------- */
#nav-v2 nav {
  gap: 2.15rem !important;
}

#nav-v2 nav > a,
#nav-v2 nav button {
  letter-spacing: .145em !important;
  font-weight: 600 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.05),
    0 1px 2px rgba(0,0,0,.48),
    0 0 12px rgba(0,0,0,.12) !important;
}

/* Refined underline behaviour */
#nav-v2 nav > a::after,
#nav-v2 nav button::after {
  box-shadow:
    0 0 7px rgba(196,149,76,.14) !important;
}

/* -------------------------
   QUOTE BUTTON: jewel-like premium glass
   ------------------------- */
#nav-v2 a[href$="contact.html"] {
  border-color: rgba(255,255,255,.17) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.115) 0%,
      rgba(255,255,255,.050) 24%,
      rgba(255,255,255,.020) 52%,
      rgba(139,94,37,.045) 100%
    ) !important;

  color: #ead8af !important;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.050) inset,
    0 1px 0 rgba(255,255,255,.26) inset,
    0 7px 12px rgba(255,255,255,.025) inset,
    0 -10px 18px rgba(90,55,18,.105) inset,
    0 8px 26px rgba(0,0,0,.17),
    0 0 18px rgba(173,128,66,.080) !important;

  backdrop-filter: blur(9px) saturate(145%);
  -webkit-backdrop-filter: blur(9px) saturate(145%);
}

/* Fine internal glass highlight */
#nav-v2 a[href$="contact.html"]::before {
  opacity: .95 !important;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.42) 0%,
      rgba(255,255,255,.12) 34%,
      rgba(255,255,255,.022) 72%,
      rgba(255,255,255,0) 100%
    ) !important;
}

/* Sophisticated hover: warm inner glow, restrained outer glow */
#nav-v2 a[href$="contact.html"]:hover {
  color: #f1dfb8 !important;
  border-color: rgba(212,168,86,.42) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.135) 0%,
      rgba(255,246,219,.060) 24%,
      rgba(198,149,72,.040) 58%,
      rgba(111,70,25,.060) 100%
    ) !important;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.07) inset,
    0 1px 0 rgba(255,255,255,.31) inset,
    0 8px 15px rgba(255,255,255,.030) inset,
    0 -12px 21px rgba(118,73,20,.13) inset,
    0 11px 30px rgba(0,0,0,.18),
    0 0 11px rgba(222,180,102,.12),
    0 0 24px rgba(173,128,66,.10) !important;

  transform: translateY(-1px) scale(1.006) !important;
}

/* -------------------------
   HEADER GLASS: final luxury depth
   ------------------------- */
#nav-v2,
#nav-v2.lg-bar,
#nav-v2.border-ink-600,
#nav-v2.border-transparent,
#nav-v2[data-at-top="true"],
#nav-v2[data-at-top="false"] {
  box-shadow:
    0 18px 42px rgba(0,0,0,.085),
    0 4px 12px rgba(0,0,0,.045),
    0 0 26px rgba(171,126,61,.020) !important;
}

/* Slight optical depth, without reintroducing the unstable lens layer */
#nav-v2::before,
#nav-v2.lg-bar::before,
#nav-v2.border-ink-600::before,
#nav-v2.border-transparent::before,
#nav-v2[data-at-top="true"]::before,
#nav-v2[data-at-top="false"]::before {
  border-color: rgba(255,255,255,.145) !important;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.028) inset,
    0 1px 0 rgba(255,255,255,.17) inset,
    0 6px 14px rgba(255,255,255,.016) inset,
    0 -1px 0 rgba(255,255,255,.056) inset,
    0 -4px 8px rgba(255,255,255,.018) inset,
    0 -8px 14px rgba(0,0,0,.038) inset,
    2px 0 2px rgba(255,255,255,.026) inset,
    -2px 0 2px rgba(255,255,255,.024) inset,
    0 0 0 1px rgba(0,0,0,.038) !important;
}

/* -------------------------
   MOBILE: keep it elegant and uncluttered
   ------------------------- */
@media (max-width: 767px) {
  #nav-v2 > div > a[aria-label*="GaBe"] img,
  #nav-v2 > div > a[href$="index.html"] img {
    height: 44px !important;
    max-height: 44px !important;
  }

  #nav-v2 > div > a[aria-label*="GaBe"]::after,
  #nav-v2 > div > a[href$="index.html"]::after {
    opacity: .62 !important;
  }
}

/* =====================================================================
   GaBe v46 — site-wide optical luxury glass buttons
   Matches the approved v45 hero CTA style across all real CTA buttons.
   Intentionally excludes navigation dropdown toggles, gallery controls,
   colour swatches and product/accordion cards.
   ===================================================================== */

/* Real CTA buttons across the site */
a.rounded-md.font-semibold,
button.rounded-md.font-semibold[type="submit"],
a.lg-pill {
  --gabe-btn-gold: 224, 183, 84;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  color: #f2c969 !important;
  background:
    radial-gradient(140% 115% at 14% -20%, rgba(255,255,255,.16) 0%, rgba(255,255,255,.055) 24%, transparent 48%),
    radial-gradient(120% 100% at 95% 120%, rgba(var(--gabe-btn-gold),.075) 0%, transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.018) 20%, rgba(14,13,12,.19) 58%, rgba(7,7,7,.34) 100%),
    linear-gradient(135deg, rgba(47,42,38,.26), rgba(11,10,10,.25)) !important;
  -webkit-backdrop-filter: blur(24px) saturate(185%) brightness(1.08) contrast(1.06);
  backdrop-filter: blur(24px) saturate(185%) brightness(1.08) contrast(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.23),
    inset 0 10px 22px rgba(255,255,255,.022),
    inset 0 -1px 0 rgba(var(--gabe-btn-gold),.055),
    inset 1px 0 0 rgba(255,255,255,.06),
    inset -1px 0 0 rgba(255,255,255,.018),
    inset 0 -14px 24px rgba(0,0,0,.10),
    0 10px 26px rgba(0,0,0,.25),
    0 1px 6px rgba(0,0,0,.18) !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.38);
  transform: translateZ(0);
  transition:
    transform .32s cubic-bezier(.2,.75,.2,1),
    box-shadow .32s ease,
    background .32s ease,
    border-color .32s ease,
    color .32s ease,
    -webkit-backdrop-filter .32s ease,
    backdrop-filter .32s ease !important;
}

/* Moving polished-glass reflection */
a.rounded-md.font-semibold::before,
button.rounded-md.font-semibold[type="submit"]::before,
a.lg-pill::before {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  top: -30%;
  bottom: -30%;
  left: -52%;
  width: 48%;
  border-radius: 50%;
  background: linear-gradient(110deg,
    transparent 0%,
    rgba(255,255,255,.02) 20%,
    rgba(255,255,255,.23) 44%,
    rgba(255,255,255,.08) 58%,
    transparent 82%);
  filter: blur(5px);
  transform: skewX(-18deg) translateX(0);
  opacity: .34;
  mix-blend-mode: screen;
  transition: transform .72s cubic-bezier(.2,.75,.2,1), opacity .32s ease;
}

/* Broken optical edge reflections, not a hard outline */
a.rounded-md.font-semibold::after,
button.rounded-md.font-semibold[type="submit"]::after,
a.lg-pill::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(58% 22% at 18% 0%, rgba(255,255,255,.24), transparent 68%),
    radial-gradient(34% 14% at 82% 100%, rgba(var(--gabe-btn-gold),.14), transparent 72%),
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.11) 9%, transparent 22%, transparent 75%, rgba(255,245,218,.07) 91%, transparent 100%) top/100% 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(var(--gabe-btn-gold),.05) 18%, rgba(255,229,166,.12) 48%, rgba(255,255,255,.055) 62%, transparent 100%) bottom/100% 1px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 18%, transparent 82%, rgba(var(--gabe-btn-gold),.035));
  opacity: .76;
  transition: opacity .32s ease, transform .48s ease;
}

/* Primary CTAs: champagne optical glass */
a.rounded-md.font-semibold.bg-gold-400,
button.rounded-md.font-semibold.bg-gold-400[type="submit"] {
  color: #1a1309 !important;
  border-color: rgba(255,248,229,.075) !important;
  background:
    radial-gradient(145% 115% at 13% -18%, rgba(255,255,248,.31) 0%, rgba(255,244,214,.11) 28%, transparent 51%),
    radial-gradient(115% 105% at 100% 120%, rgba(246,192,73,.15) 0%, transparent 54%),
    linear-gradient(180deg, rgba(250,230,181,.11) 0%, rgba(218,171,72,.19) 48%, rgba(123,83,18,.28) 100%),
    linear-gradient(135deg, rgba(226,184,91,.27), rgba(112,73,15,.25)) !important;
  -webkit-backdrop-filter: blur(22px) saturate(190%) brightness(1.11) contrast(1.04);
  backdrop-filter: blur(22px) saturate(190%) brightness(1.11) contrast(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255,255,247,.38),
    inset 0 10px 24px rgba(255,255,255,.035),
    inset 0 -1px 0 rgba(101,65,10,.17),
    inset 1px 0 0 rgba(255,255,255,.085),
    inset -1px 0 0 rgba(255,255,255,.018),
    inset 0 -14px 22px rgba(92,56,8,.075),
    0 10px 26px rgba(0,0,0,.23),
    0 2px 14px rgba(var(--gabe-btn-gold),.065) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.09), 0 2px 8px rgba(0,0,0,.16);
}

/* Keep button contents above optical layers */
a.rounded-md.font-semibold > *,
button.rounded-md.font-semibold[type="submit"] > *,
a.lg-pill > * {
  position: relative;
  z-index: 3;
}

/* Hover: the light moves over the glass, not a colour-block swap */
a.rounded-md.font-semibold:hover,
button.rounded-md.font-semibold[type="submit"]:hover,
a.lg-pill:hover {
  transform: translateY(-2px) scale(1.004);
  border-color: rgba(255,255,255,.085) !important;
  color: #ffda85 !important;
  -webkit-backdrop-filter: blur(25px) saturate(195%) brightness(1.10) contrast(1.07);
  backdrop-filter: blur(25px) saturate(195%) brightness(1.10) contrast(1.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.29),
    inset 0 10px 24px rgba(255,255,255,.03),
    inset 0 -1px 0 rgba(var(--gabe-btn-gold),.065),
    inset 1px 0 0 rgba(255,255,255,.075),
    inset -1px 0 0 rgba(255,255,255,.024),
    inset 0 -14px 24px rgba(0,0,0,.09),
    0 15px 32px rgba(0,0,0,.29),
    0 2px 16px rgba(var(--gabe-btn-gold),.035) !important;
}

a.rounded-md.font-semibold:hover::before,
button.rounded-md.font-semibold[type="submit"]:hover::before,
a.lg-pill:hover::before {
  transform: skewX(-18deg) translateX(345%);
  opacity: .52;
}

a.rounded-md.font-semibold:hover::after,
button.rounded-md.font-semibold[type="submit"]:hover::after,
a.lg-pill:hover::after {
  opacity: .94;
}

/* Primary hover remains champagne, never flat yellow */
a.rounded-md.font-semibold.bg-gold-400:hover,
button.rounded-md.font-semibold.bg-gold-400[type="submit"]:hover {
  color: #171006 !important;
  border-color: rgba(255,248,229,.095) !important;
  background:
    radial-gradient(145% 115% at 13% -18%, rgba(255,255,248,.35) 0%, rgba(255,244,214,.13) 28%, transparent 51%),
    radial-gradient(115% 105% at 100% 120%, rgba(246,192,73,.17) 0%, transparent 54%),
    linear-gradient(180deg, rgba(250,230,181,.125) 0%, rgba(220,174,76,.205) 48%, rgba(126,86,20,.285) 100%),
    linear-gradient(135deg, rgba(230,188,95,.285), rgba(115,76,17,.255)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,247,.44),
    inset 0 10px 24px rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(101,65,10,.18),
    inset 1px 0 0 rgba(255,255,255,.095),
    inset -1px 0 0 rgba(255,255,255,.02),
    inset 0 -14px 22px rgba(92,56,8,.075),
    0 15px 32px rgba(0,0,0,.25),
    0 3px 18px rgba(var(--gabe-btn-gold),.085) !important;
}

a.rounded-md.font-semibold:active,
button.rounded-md.font-semibold[type="submit"]:active,
a.lg-pill:active {
  transform: translateY(0) scale(.995);
}

/* Preserve accessibility */
a.rounded-md.font-semibold:focus-visible,
button.rounded-md.font-semibold[type="submit"]:focus-visible,
a.lg-pill:focus-visible {
  outline: 2px solid rgba(255,222,139,.72) !important;
  outline-offset: 4px !important;
}

/* Do not turn text fields, navigation dropdown controls, swatches or cards into glass CTAs. */
button[data-dropdown-btn],
button.fcs-swatch,
button.rounded-xl,
button.absolute,
input.rounded-md,
textarea.rounded-md,
select.rounded-md {
  /* deliberately untouched */
}

@media (max-width: 640px) {
  a.rounded-md.font-semibold,
  button.rounded-md.font-semibold[type="submit"] {
    border-radius: 15px !important;
    -webkit-backdrop-filter: blur(18px) saturate(180%) brightness(1.08);
    backdrop-filter: blur(18px) saturate(180%) brightness(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  a.rounded-md.font-semibold,
  button.rounded-md.font-semibold[type="submit"],
  a.lg-pill,
  a.rounded-md.font-semibold::before,
  button.rounded-md.font-semibold[type="submit"]::before,
  a.lg-pill::before,
  a.rounded-md.font-semibold::after,
  button.rounded-md.font-semibold[type="submit"]::after,
  a.lg-pill::after {
    transition: none !important;
  }
}
