/* Local header and mobile contact controls. Existing contents and form stay intact. */
.gdb-contact-widget { display: none; }
.gdb-contact-widget[hidden],
body.gdb-contact-destination .gdb-contact-widget { display: none !important; }
.gdb-mobile-contact-page > .gdb-mobile-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--paper, #f6f3ec);
  border-bottom: 1px solid var(--line, #d8d6cd);
  box-shadow: 0 3px 12px #28292409;
  transition: transform 180ms ease;
}
.gdb-contact-style-reveal > .gdb-mobile-header.gdb-header-away { transform: translateY(-110%); }
.gdb-contact-style-reveal > .gdb-mobile-header:focus-within { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .gdb-mobile-contact-page > .gdb-mobile-header { transition: none; }
}
@media (max-width: 850px) {
  body.gdb-mobile-contact-page:not(.gdb-contact-destination) { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  .gdb-mobile-contact-page > .gdb-mobile-header { padding-top: env(safe-area-inset-top, 0px); }
  .gdb-mobile-header .header { min-height: 64px; }
  .gdb-contact-widget {
    display: flex;
    align-items: center;
    gap: 12px;
    position: fixed;
    z-index: 80;
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    max-width: calc(100% - 32px);
  }
  .gdb-contact-prompt { display: none; }
  .gdb-contact-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid var(--orange);
    border-radius: 9px;
    background: var(--orange);
    color: var(--ink, #282924);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 5px 20px #28292420;
    -webkit-tap-highlight-color: transparent;
  }
  .gdb-contact-link svg { flex: 0 0 16px; width: 16px; height: 16px; }
  .gdb-contact-link:hover { background: var(--orange); }
  .gdb-contact-link:focus-visible { outline: 3px solid var(--ink, #282924); outline-offset: 4px; }
  .gdb-contact-style-bar .gdb-contact-widget {
    left: 0;
    right: 0;
    bottom: 0;
    max-width: none;
    justify-content: space-between;
    gap: 10px;
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    border-top: 1px solid var(--line, #d8d6cd);
    background: var(--white, #fffefb);
    box-shadow: 0 -4px 16px #28292409;
  }
  .gdb-contact-style-bar .gdb-contact-prompt {
    display: block;
    max-width: 105px;
    margin: 0;
    color: var(--muted, #62635c);
    font-size: 12px;
    line-height: 1.35;
  }
  .gdb-contact-style-bar .gdb-contact-link {
    min-height: 44px;
    padding: 11px 13px;
    gap: 8px;
    font-size: 13px;
    border-radius: 6px;
    box-shadow: none;
  }
}

/* Desktop header remains visible; mobile retains its approved scroll behaviour. */
@media(min-width:1051px){
 .gdb-mobile-contact-page > .gdb-mobile-header,
 .gdb-contact-style-reveal > .gdb-mobile-header.gdb-header-away{
  position:sticky;top:0;transform:none;transition:none;
 }
}

/* Keep the desktop address beside the enquiry button. */
@media(min-width:1051px){
 .gdb-mobile-header .header .desktopnav{margin-left:auto;margin-right:auto}
 .gdb-mobile-header .header .header-address{margin-left:0;margin-right:0}
}

/* The fixed mobile enquiry action replaces duplicate hero actions. */
@media(max-width:850px){
 body.gdb-mobile-contact-page:not(.gdb-contact-destination) main :is(.hero,.editorial-hero,.gallery-heading,.area-hero) a[href*="contact-us"],
 body.gdb-mobile-contact-page:not(.gdb-contact-destination) main .home-services-mobile-heading a[href*="contact-us"]{display:none!important}
 body.gdb-mobile-contact-page:not(.gdb-contact-destination) main .hero-actions:not(:has(a:not([href*="contact-us"]))){display:none!important}
}
