/* ==========================================================================
   Delhi Golden Doodle — Global site shell
   Header, primary navigation, dropdown, mobile drawer, footer, floating CTA.

   All custom properties and class names are namespaced (--dgd-* / .dgd-hdr,
   .dgd-nav, .dgd-ftr) so this file can sit alongside the per-page stylesheets
   that already exist on the service pages without any collision.
   ========================================================================== */

:root {
  /* Brand palette — taken from the existing homepage design system */
  --dgd-gold:          #C8871E;
  --dgd-gold-light:    #F4C86A;
  --dgd-gold-dark:     #70480F;
  --dgd-gold-contrast: #FFE08A;
  --dgd-gold-pale:     #FFF8EA;
  --dgd-cream:         #FFFCF4;
  --dgd-brown-dark:    #2A211B;
  --dgd-teal:          #136F63;
  --dgd-teal-dark:     #0E4C46;
  --dgd-teal-pale:     #EAF7F4;
  --dgd-ink:           #241B15;
  --dgd-ink-2:         #46372D;
  --dgd-ink-3:         #69584A;
  --dgd-wa:            #20D365;
  --dgd-wa-dark:       #0B7435;
  --dgd-wa-ink:        #062C16;
  --dgd-line:          #E4D5BC;
  --dgd-white:         #FFFFFF;
  --dgd-focus:         #1E5BB8;

  --dgd-shadow-sm: 0 2px 8px rgba(61,43,31,.08);
  --dgd-shadow-md: 0 6px 24px rgba(61,43,31,.12);
  --dgd-shadow-lg: 0 18px 44px rgba(61,43,31,.18);

  --dgd-r-sm: 8px;
  --dgd-r-md: 14px;
  --dgd-r-lg: 22px;

  --dgd-serif: Georgia, "Times New Roman", serif;
  --dgd-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --dgd-shell: 1140px;
  /* The header carries logo + five nav items + three CTAs on one row, so it
     runs wider than the 1140px content measure used by the page body/footer. */
  --dgd-shell-wide: 1340px;
  --dgd-gutter: 24px;
  --dgd-header-h: 86px;
}

/* Header height is used for scroll offset so sticky nav never covers an H1 */
html { scroll-padding-top: calc(var(--dgd-header-h) + 16px); }

/* Two pages scope their reset to an inner wrapper, which would leave the
   browser's default 8px body margin and break the full-bleed header/footer.
   Declared in the linked stylesheet so any page-level <style> still wins. */
body { margin: 0; }

/* --------------------------------------------------------------------------
   Shared shell primitives
   -------------------------------------------------------------------------- */
/* Several existing pages scope their CSS reset to their own wrapper, so the
   global shell cannot assume border-box is already set. Declare it locally. */
.dgd-hdr, .dgd-hdr *, .dgd-hdr *::before, .dgd-hdr *::after,
.dgd-ftr, .dgd-ftr *, .dgd-ftr *::before, .dgd-ftr *::after,
.dgd-skip, .dgd-wa-float, .dgd-wa-float * { box-sizing: border-box; }
/* Every margin/padding inside the shell is declared explicitly on its own
   component below, so no element-level reset is needed (and none is used —
   an element-level rule here would out-specify those component rules). */

.dgd-shell {
  max-width: var(--dgd-shell);
  margin: 0 auto;
  padding-left: var(--dgd-gutter);
  padding-right: var(--dgd-gutter);
  width: 100%;
}

.dgd-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 2000;
  background: var(--dgd-brown-dark);
  color: var(--dgd-cream);
  font: 600 15px/1.2 var(--dgd-sans);
  padding: 14px 22px;
  border-radius: 0 0 var(--dgd-r-sm) 0;
  text-decoration: none;
}
.dgd-skip:focus { left: 0; }

.dgd-hdr :focus-visible,
.dgd-ftr :focus-visible,
.dgd-skip:focus-visible,
.dgd-wa-float:focus-visible {
  outline: 3px solid var(--dgd-focus);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Buttons used inside the global shell only */
.dgd-gbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: 600 14.5px/1.2 var(--dgd-sans);
  letter-spacing: .002em;
  padding: 11px 20px;
  min-height: 44px;
  border: 1.5px solid transparent;
  border-radius: var(--dgd-r-pill);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition: background-color var(--dgd-t-fast) var(--dgd-ease),
              color var(--dgd-t-fast) var(--dgd-ease),
              border-color var(--dgd-t-fast) var(--dgd-ease),
              box-shadow var(--dgd-t-fast) var(--dgd-ease),
              transform var(--dgd-t-fast) var(--dgd-ease);
}
.dgd-gbtn--gold {
  background: linear-gradient(180deg, #D89B2E 0%, var(--dgd-gold) 100%);
  color: #1F1509;
  border-color: rgba(107,69,14,.22);
  box-shadow: 0 1px 2px rgba(60,42,28,.12), inset 0 1px 0 rgba(255,255,255,.34);
}
.dgd-gbtn--gold:hover {
  /* #986612 rather than a lighter gold: it holds 4.95:1 against white text */
  background: linear-gradient(180deg, var(--dgd-gold) 0%, #986612 100%);
  color: #FFFFFF;
  border-color: rgba(107,69,14,.4);
  transform: translateY(-2px);
  box-shadow: var(--dgd-shadow-gold);
}
.dgd-gbtn--wa {
  background: linear-gradient(180deg, #2ADE72 0%, var(--dgd-wa) 100%);
  color: var(--dgd-wa-ink);
  border-color: rgba(11,116,53,.22);
  box-shadow: 0 1px 2px rgba(60,42,28,.12), inset 0 1px 0 rgba(255,255,255,.3);
}
.dgd-gbtn--wa:hover {
  background: linear-gradient(180deg, #16B855 0%, var(--dgd-wa-dark) 100%);
  color: var(--dgd-white);
  border-color: rgba(11,116,53,.45);
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(15,143,67,.32);
}
.dgd-gbtn--ghost {
  background: var(--dgd-white);
  color: var(--dgd-forest-deep);
  border-color: var(--dgd-line);
  box-shadow: 0 1px 2px rgba(60,42,28,.05);
}
.dgd-gbtn--ghost:hover {
  background: var(--dgd-forest-pale);
  border-color: var(--dgd-forest);
  color: var(--dgd-forest-deep);
  transform: translateY(-2px);
  box-shadow: var(--dgd-shadow-md);
}
.dgd-gbtn:active { transform: translateY(0); }

.dgd-ico { flex: 0 0 auto; width: 17px; height: 17px; fill: currentColor; }

/* Privacy note shown under every inquiry form. Colour is inherited from the
   surrounding card so contrast stays correct on light and dark form panels. */
.dgd-form-privacy {
  box-sizing: border-box;
  margin: 12px 0 0;
  font-family: var(--dgd-sans);
  font-size: 12.8px;
  line-height: 1.6;
  text-align: center;
  opacity: .92;
}
.dgd-form-privacy a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dgd-form-privacy a:focus-visible { outline: 3px solid var(--dgd-focus); outline-offset: 3px; }

/* --------------------------------------------------------------------------
   HEADER
   -------------------------------------------------------------------------- */
.dgd-hdr {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(253,251,246,.97);
  border-bottom: 1px solid var(--dgd-line-soft);
  font-family: var(--dgd-sans);
  transition: box-shadow var(--dgd-t) var(--dgd-ease),
              background-color var(--dgd-t) var(--dgd-ease),
              border-color var(--dgd-t) var(--dgd-ease);
}
@supports (backdrop-filter: blur(8px)) {
  .dgd-hdr { background: rgba(253,251,246,.82); backdrop-filter: saturate(180%) blur(14px); }
}
/* Once scrolled, the bar reads as a floating pane rather than a page edge */
.dgd-hdr.is-stuck {
  box-shadow: 0 1px 0 rgba(231,218,196,.9), 0 10px 30px rgba(60,42,28,.09);
  border-bottom-color: transparent;
}

.dgd-hdr__bar {
  /* Left: brand · Centre: nav · Right: CTAs. Never wraps to a second row. */
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 24px;
  max-width: var(--dgd-shell-wide);
  min-height: var(--dgd-header-h);
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Brand ---------------------------------------------------------------- */
/* The supplied logo is a wide lockup (350x137) that already contains the
   business name, so no separate text wordmark is rendered — the accessible
   name comes from the image alt text instead. */
.dgd-hdr__brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none;
  color: var(--dgd-ink);
}
/* height + width:auto together preserve the 350x137 aspect ratio, so the
   lockup can never stretch however the row is sized. */
.dgd-hdr__logo {
  display: block;
  height: 62px;
  width: auto;
  border-radius: 6px;
}

/* Primary navigation --------------------------------------------------- */
/* Takes the free space between brand and CTAs and centres the list in it. */
.dgd-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}
.dgd-nav__list {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dgd-nav__link,
.dgd-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  /* nowrap is what keeps "Goldendoodle" and "Locations" on one line — the
     row tightens at the breakpoints below rather than breaking a label. */
  white-space: nowrap;
  font: 600 16px/1.2 var(--dgd-sans);
  color: var(--dgd-ink-2);
  background: none;
  border: 0;
  padding: 10px 14px;
  min-height: 46px;
  border-radius: var(--dgd-r-pill);
  text-decoration: none;
  cursor: pointer;
  position: relative;
  transition: color var(--dgd-t-fast) var(--dgd-ease),
              background-color var(--dgd-t-fast) var(--dgd-ease);
}
.dgd-nav__link:hover,
.dgd-nav__trigger:hover { color: var(--dgd-gold-dark); background: var(--dgd-gold-pale); }

/* Active state: colour + weight + underline bar (never colour alone) */
.dgd-nav__link[aria-current="page"],
.dgd-nav__item--active > .dgd-nav__trigger {
  color: var(--dgd-teal-dark);
  font-weight: 700;
}
.dgd-nav__link[aria-current="page"]::after,
.dgd-nav__item--active > .dgd-nav__trigger::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 5px;
  height: 3px;
  border-radius: 2px;
  background: var(--dgd-gold);
}

/* flex:0 0 auto stops the caret shrinking, and the small nudge optically
   centres it against the cap height of the label beside it. */
.dgd-nav__caret {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
  margin-top: 1px;
  fill: currentColor;
  transition: transform .2s ease;
}
.dgd-nav__trigger[aria-expanded="true"] .dgd-nav__caret { transform: rotate(180deg); }

/* Dropdown (vertical panel) -------------------------------------------- */
.dgd-nav__item { position: relative; }
.dgd-nav__panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 20;
  min-width: 296px;
  max-width: min(340px, calc(100vw - 2 * var(--dgd-gutter)));
  background: var(--dgd-white);
  border: 1px solid var(--dgd-line-soft);
  border-radius: var(--dgd-r-lg);
  box-shadow: var(--dgd-shadow-xl);
  padding: 10px;
  margin: 0;
  list-style: none;
  display: none;
}
.dgd-nav__panel--flip { left: auto; right: 0; }
/* Sixteen locations in one column would overrun the viewport, so this variant
   opens as two columns on desktop. The drawer override below returns it to one. */
.dgd-nav__panel--wide {
  min-width: 470px;
  max-width: min(540px, calc(100vw - 2 * var(--dgd-gutter)));
}
.dgd-nav__trigger[aria-expanded="true"] + .dgd-nav__panel { display: block; }
.dgd-nav__trigger[aria-expanded="true"] + .dgd-nav__panel--wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 6px;
}
.dgd-nav__panel a {
  display: block;
  padding: 11px 14px;
  min-height: 44px;
  border-radius: var(--dgd-r-sm);
  font: 600 14.2px/1.35 var(--dgd-sans);
  color: var(--dgd-ink-2);
  text-decoration: none;
  transition: background-color var(--dgd-t-fast) var(--dgd-ease),
              color var(--dgd-t-fast) var(--dgd-ease),
              transform var(--dgd-t-fast) var(--dgd-ease);
}
@media (prefers-reduced-motion: no-preference) {
  .dgd-nav__panel a:hover { transform: translateX(3px); }
}
.dgd-nav__panel a small {
  display: block;
  font: 400 12.2px/1.4 var(--dgd-sans);
  color: var(--dgd-ink-3);
  margin-top: 2px;
}
.dgd-nav__panel a:hover { background: var(--dgd-gold-pale); color: var(--dgd-gold-dark); }
.dgd-nav__panel a:hover small { color: var(--dgd-ink-2); }
.dgd-nav__panel a[aria-current="page"] {
  background: var(--dgd-teal-pale);
  color: var(--dgd-teal-dark);
  font-weight: 700;
  box-shadow: inset 3px 0 0 var(--dgd-gold);
}

/* Header actions ------------------------------------------------------- */
.dgd-hdr__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
/* One height, one radius, one baseline across all three buttons. */
.dgd-hdr__actions .dgd-gbtn {
  height: 46px;
  min-height: 46px;
  padding: 0 18px;
  border-radius: var(--dgd-r-sm);
  font-size: 15px;
  white-space: nowrap;
}

/* Below the 1340px shell the row has no slack left, so spacing tightens in two
   steps rather than letting anything wrap or overflow. The WhatsApp button
   collapses to its icon first — it carries an aria-label in the markup, so the
   accessible name survives; the phone button keeps its visible number. */
@media (max-width: 1339px) {
  .dgd-hdr__bar { gap: 14px; }
  .dgd-nav__list { gap: 2px; }
  .dgd-nav__link,
  .dgd-nav__trigger { padding: 10px 10px; font-size: 15.2px; }
  .dgd-nav__link[aria-current="page"]::after,
  .dgd-nav__item--active > .dgd-nav__trigger::after { left: 10px; right: 10px; }
  .dgd-hdr__actions { gap: 8px; }
  .dgd-hdr__actions .dgd-gbtn { padding: 0 14px; font-size: 14.6px; }
  .dgd-hdr__actions .dgd-gbtn--wa { padding: 0 13px; }
  .dgd-hdr__actions .dgd-gbtn--wa span { display: none; }
}
/* Narrowest desktop band. Both contact buttons are now icons — each carries an
   aria-label in the markup — which leaves the full nav and the primary
   "Check Availability" CTA comfortably on one line down to 1081px, where the
   hamburger drawer takes over. */
@media (max-width: 1199px) {
  .dgd-hdr__logo { height: 52px; }
  .dgd-nav__link,
  .dgd-nav__trigger { padding: 10px 8px; font-size: 14.6px; }
  .dgd-nav__link[aria-current="page"]::after,
  .dgd-nav__item--active > .dgd-nav__trigger::after { left: 8px; right: 8px; }
  .dgd-hdr__actions .dgd-gbtn { padding: 0 12px; }
  .dgd-hdr__actions .dgd-gbtn--ghost { padding: 0 13px; }
  .dgd-hdr__actions .dgd-gbtn--ghost span { display: none; }
  .dgd-hdr__actions .dgd-gbtn .dgd-ico { width: 18px; height: 18px; }
}

/* Mobile toggle -------------------------------------------------------- */
.dgd-hdr__toggle {
  display: none;
  align-items: center;
  gap: 9px;
  margin-left: auto;
  background: var(--dgd-white);
  border: 1.5px solid var(--dgd-line);
  border-radius: var(--dgd-r-sm);
  padding: 10px 14px;
  min-height: 44px;
  font: 600 14px/1 var(--dgd-sans);
  color: var(--dgd-ink);
  cursor: pointer;
}
.dgd-hdr__burger { position: relative; width: 18px; height: 12px; flex: 0 0 18px; }
.dgd-hdr__burger i {
  position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px;
  background: var(--dgd-ink); transition: transform .22s ease, opacity .18s ease;
}
.dgd-hdr__burger i:nth-child(1) { top: 0; }
.dgd-hdr__burger i:nth-child(2) { top: 5px; }
.dgd-hdr__burger i:nth-child(3) { top: 10px; }
.dgd-hdr__toggle[aria-expanded="true"] .dgd-hdr__burger i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.dgd-hdr__toggle[aria-expanded="true"] .dgd-hdr__burger i:nth-child(2) { opacity: 0; }
.dgd-hdr__toggle[aria-expanded="true"] .dgd-hdr__burger i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

.dgd-hdr__scrim { display: none; }

/* --------------------------------------------------------------------------
   HEADER — tablet / mobile drawer
   -------------------------------------------------------------------------- */
@media (max-width: 1080px) {
  .dgd-hdr__toggle { display: inline-flex; }
  .dgd-hdr__actions { display: none; }

  .dgd-nav {
    /* resets the desktop centring flex container back to a stacked drawer */
    display: block;
    position: fixed;
    top: var(--dgd-header-h);
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    background: var(--dgd-cream);
    border-top: 1px solid var(--dgd-line);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px var(--dgd-gutter) 40px;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    z-index: 1001;
  }
  .dgd-nav.is-open { transform: none; opacity: 1; visibility: visible; }

  .dgd-hdr__scrim {
    display: block;
    position: fixed;
    inset: var(--dgd-header-h) 0 0;
    background: rgba(42,33,27,.42);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s;
    z-index: 999;
  }
  .dgd-hdr__scrim.is-open { opacity: 1; visibility: visible; }

  .dgd-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .dgd-nav__item { position: static; }

  .dgd-nav__link,
  .dgd-nav__trigger {
    width: 100%;
    justify-content: space-between;
    padding: 15px 4px;
    min-height: 52px;
    font-size: 16px;
    border-radius: 0;
    border-bottom: 1px solid var(--dgd-line);
  }
  .dgd-nav__link:hover,
  .dgd-nav__trigger:hover { background: transparent; }
  .dgd-nav__link[aria-current="page"]::after,
  .dgd-nav__item--active > .dgd-nav__trigger::after {
    left: 4px; right: auto; bottom: 10px; width: 26px;
  }

  /* Dropdown becomes an in-flow accordion */
  .dgd-nav__panel {
    position: static;
    display: none;
    min-width: 0;
    max-width: none;
    border: 0;
    border-bottom: 1px solid var(--dgd-line);
    border-radius: 0;
    box-shadow: none;
    background: var(--dgd-gold-pale);
    padding: 6px 4px 10px;
  }
  .dgd-nav__panel a { padding: 12px 12px; min-height: 48px; font-size: 15px; }
  /* The two-column locations panel collapses back to a single accordion column */
  .dgd-nav__panel--wide { min-width: 0; max-width: none; }
  .dgd-nav__trigger[aria-expanded="true"] + .dgd-nav__panel--wide {
    display: block;
    grid-template-columns: none;
  }

  .dgd-nav__cta {
    display: grid;
    gap: 10px;
    margin-top: 22px;
  }
  .dgd-nav__cta .dgd-gbtn { width: 100%; min-height: 50px; font-size: 15.5px; }
  .dgd-nav__note {
    margin: 16px 0 0;
    font: 400 13px/1.6 var(--dgd-sans);
    color: var(--dgd-ink-3);
  }
}

/* The in-drawer CTA block is only for small screens */
@media (min-width: 1081px) { .dgd-nav__cta, .dgd-nav__note { display: none; } }

@media (max-width: 1080px) {
  html.dgd-nav-open, html.dgd-nav-open body { overflow: hidden; }
}

@media (max-width: 480px) {
  :root { --dgd-gutter: 16px; --dgd-header-h: 66px; }
  .dgd-hdr__logo { height: 44px; }
  .dgd-hdr__toggle { padding: 9px 11px; }
  .dgd-hdr__label { display: none; }
  .dgd-ftr__brand { padding: 8px 12px; }
  .dgd-ftr__logo { height: 46px; }
}

/* 320px safeguard */
@media (max-width: 360px) {
  .dgd-hdr__logo { height: 38px; }
  .dgd-hdr__bar { gap: 10px; }
}

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
.dgd-ftr {
  position: relative;
  background:
    radial-gradient(120% 90% at 12% 0%, rgba(196,136,31,.16) 0%, transparent 58%),
    radial-gradient(90% 80% at 100% 100%, rgba(196,136,31,.12) 0%, transparent 60%),
    linear-gradient(152deg, #0F2E25 0%, #1C2A23 42%, #35271C 78%, #4A3520 100%);
  color: var(--dgd-cream);
  font-family: var(--dgd-sans);
  padding: clamp(56px, 6vw, 78px) 0 0;
  margin-top: 0;
}
/* Hairline of brand gold along the top edge */
.dgd-ftr::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--dgd-gold) 0%, var(--dgd-gold-light) 45%, var(--dgd-forest) 100%);
}
.dgd-ftr__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
  gap: 44px 36px;
}
/* The logo has no alpha channel, so on the dark footer it is presented on a
   light chip rather than floating as a pale rectangle. */
.dgd-ftr__brand {
  display: inline-block;
  background: var(--dgd-cream);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 12px;
  padding: 10px 14px;
  margin-bottom: 18px;
  text-decoration: none;
  line-height: 0;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.dgd-ftr__brand:hover { border-color: var(--dgd-gold-light); box-shadow: 0 6px 20px rgba(0,0,0,.22); }
.dgd-ftr__logo { display: block; height: 52px; width: auto; max-width: 100%; }
.dgd-ftr__about {
  font: 400 14.4px/1.75 var(--dgd-sans);
  color: rgba(255,253,247,.88);
  margin: 0 0 20px;
  max-width: 44ch;
}
.dgd-ftr h2 {
  font: 600 17px/1.3 var(--dgd-serif);
  color: var(--dgd-gold-light);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  letter-spacing: -.005em;
}
.dgd-ftr ul { list-style: none; margin: 0; padding: 0; }
.dgd-ftr__links li { margin-bottom: 2px; }
.dgd-ftr__links a {
  display: inline-block;
  padding: 7px 0;
  font: 400 14.2px/1.5 var(--dgd-sans);
  color: rgba(255,253,247,.9);
  text-decoration: none;
  transition: color var(--dgd-t-fast) var(--dgd-ease),
              transform var(--dgd-t-fast) var(--dgd-ease);
}
@media (prefers-reduced-motion: no-preference) {
  .dgd-ftr__links a:hover { transform: translateX(4px); }
}
.dgd-ftr__links a:hover { color: var(--dgd-gold-contrast); text-decoration: underline; text-underline-offset: 3px; }
.dgd-ftr__links a[aria-current="page"] {
  color: var(--dgd-gold-contrast);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dgd-ftr__contact { list-style: none; margin: 0 0 20px; padding: 0; }
.dgd-ftr__contact li {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 8px 0;
  font: 400 14.2px/1.65 var(--dgd-sans);
  color: rgba(255,253,247,.9);
}
.dgd-ftr__contact .dgd-ico { margin-top: 3px; width: 16px; height: 16px; color: var(--dgd-gold-light); }
.dgd-ftr__contact a { color: rgba(255,253,247,.95); text-decoration: underline; text-underline-offset: 3px; }
.dgd-ftr__contact a:hover { color: var(--dgd-gold-contrast); }
.dgd-ftr__contact strong { color: #FFFDF7; font-weight: 700; }

.dgd-ftr__cta { display: flex; flex-wrap: wrap; gap: 10px; }

.dgd-ftr__bottom {
  margin-top: 48px;
  border-top: 1px solid rgba(255,255,255,.17);
  padding: 22px 0 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 28px;
}
.dgd-ftr__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.dgd-ftr__legal a {
  font: 600 13.4px/1.5 var(--dgd-sans);
  color: rgba(255,253,247,.88);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dgd-ftr__legal a:hover { color: var(--dgd-gold-contrast); }
.dgd-ftr__legal a[aria-current="page"] { color: var(--dgd-gold-contrast); font-weight: 700; }
.dgd-ftr__copy { font: 400 13.2px/1.65 var(--dgd-sans); color: rgba(255,253,247,.82); margin: 0; }
.dgd-ftr__copy b { color: #FFFDF7; font-weight: 700; }
.dgd-ftr__pledge {
  width: 100%;
  margin: 0;
  font: 400 12.8px/1.7 var(--dgd-sans);
  color: rgba(255,253,247,.78);
}

@media (max-width: 980px) {
  .dgd-ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 28px; }
  .dgd-ftr__col--brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .dgd-ftr { padding-top: 46px; }
  .dgd-ftr__grid { grid-template-columns: 1fr; gap: 32px; }
  .dgd-ftr__cta .dgd-gbtn { width: 100%; }
  .dgd-ftr__bottom { flex-direction: column; align-items: flex-start; margin-top: 34px; }
}

/* Keep the footer clear of the existing fixed mobile call/WhatsApp bars */
html.dgd-has-mobilebar .dgd-ftr__bottom { padding-bottom: 30px; }
@media (max-width: 768px) {
  html.dgd-has-mobilebar .dgd-ftr__bottom { padding-bottom: 92px; }
}

/* --------------------------------------------------------------------------
   Floating WhatsApp action (global)
   -------------------------------------------------------------------------- */
.dgd-wa-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 980;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--dgd-wa-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 26px rgba(15,143,67,.45);
  transition: transform .2s ease, box-shadow .2s ease;
}
.dgd-wa-float svg { width: 29px; height: 29px; fill: #fff; }
.dgd-wa-float:hover { transform: scale(1.07); box-shadow: 0 12px 34px rgba(15,143,67,.58); }
@media (max-width: 768px) {
  html.dgd-has-mobilebar .dgd-wa-float { bottom: 86px; }
}
@media (max-width: 420px) {
  .dgd-wa-float { right: 14px; bottom: 14px; width: 50px; height: 50px; }
  .dgd-wa-float svg { width: 26px; height: 26px; }
}

/* --------------------------------------------------------------------------
   Motion preferences
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .dgd-hdr *, .dgd-nav *, .dgd-ftr *, .dgd-wa-float, .dgd-hdr__scrim {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
