/* ==========================================================
   inner.css — loaded on every page except index.html.
   1) Same header + mobile menu as the homepage
   2) Same typefaces as the homepage
   ========================================================== */

/* ---------- 1) Header (identical markup/behaviour to index) ---------- */
.page-editorial .premium-home-header{position:fixed;inset:0 0 auto;z-index:90;height:auto;color:#fff;background:rgba(33,28,23,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.08);transition:background .35s ease,box-shadow .35s ease}
.page-editorial .premium-home-header::before{display:none}
.page-editorial .premium-home-header.scrolled{background:rgba(33,28,23,.92);color:#fff}
.premium-nav-shell{width:min(1450px,calc(100% - 72px));min-height:76px;margin:0 auto;display:grid;grid-template-columns:minmax(240px,360px) 1fr auto;gap:34px;align-items:center}
.premium-brand{display:flex;align-items:center;gap:16px;color:#fff;min-width:0;text-decoration:none}
.premium-brand-mark{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 5px 18px rgba(33,28,23,.12))}
.premium-brand-copy{display:flex;flex-direction:column;min-width:0;color:#fff;text-shadow:0 1px 12px rgba(33,28,23,.22)}
.premium-brand-copy strong{font:300 22px/1 Arial,sans-serif;letter-spacing:.34em;margin-right:-.34em}
.premium-brand-copy small{display:none}
.premium-desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,1.9vw,34px);white-space:nowrap}
.premium-desktop-nav a{position:relative;color:#fff;font:400 clamp(14px,1vw,16px)/1.2 'Cormorant Garamond',Georgia,serif;text-decoration:none;text-shadow:0 1px 12px rgba(33,28,23,.24);opacity:.93;padding:12px 0}
.premium-desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:#d5b879;transition:right .28s ease}
.premium-desktop-nav a:hover::after,.premium-desktop-nav a.is-active::after{right:0}
.premium-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.premium-social{width:38px;height:38px;display:grid;place-items:center;color:#fff;text-decoration:none}
.premium-social svg{width:20px;height:20px}
.premium-book{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:1px solid rgba(255,244,217,.7);border-radius:999px;background:rgba(151,102,39,.68);color:#fff9ee;font:400 15px/1 'Cormorant Garamond',Georgia,serif;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .3s ease,transform .3s ease}
.premium-book:hover{background:#a9793c;transform:translateY(-1px)}
.page-editorial .home-menu-toggle{color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%}

@media(max-width:1250px){.premium-nav-shell{width:calc(100% - 48px);grid-template-columns:240px 1fr auto;gap:22px}.premium-desktop-nav{gap:18px}.premium-desktop-nav a{font-size:14px}.premium-book{padding-inline:20px}}
@media(max-width:1010px){.premium-desktop-nav,.premium-social,.premium-book{display:none}.premium-nav-shell{grid-template-columns:1fr auto;width:calc(100% - 42px)}.page-editorial .home-menu-toggle:not([hidden]){display:block;width:46px;height:46px}}
@media(max-width:720px){.premium-nav-shell{width:calc(100% - 32px);min-height:70px}.premium-brand{gap:10px}.premium-brand-mark{width:46px;height:46px}.premium-brand-copy strong{font-size:18px;letter-spacing:.28em}}
@media(max-width:430px){.premium-brand-copy strong{font-size:17px}}

/* ---------- 2) Typefaces (same as the homepage) ----------
   body/UI text  -> EB Garamond
   headings      -> Cormorant Garamond
   page titles   -> Playfair Display                             */
.page-editorial{--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'EB Garamond',Georgia,serif;font-family:'EB Garamond',Georgia,serif;font-size-adjust:.44}
.page-editorial :is(h1,h2,h3,h4,h5,h6){font-size-adjust:none}
.page-editorial h1{font-family:'Playfair Display','Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;text-transform: capitalize;}
.page-editorial :is(button,input,select,textarea){font-family:inherit}

/* ---------- 3) Organic edge fades: services, categories and our story ---------- */
.page-editorial :is(
  .experience-hero-photo,
  .experience-grid .card-image,
  .variant-grid .card-image,
  .story-lead-image .photo-frame,
  .story-interlude,
  .horse-media,
  .gallop-aerial-image
) {
  --photo-edge-mask:
    linear-gradient(180deg,
      transparent 0%, rgba(33,28,23,.48) 1.5%, #211C17 5.5%,
      #211C17 94.5%, rgba(33,28,23,.48) 98.5%, transparent 100%),
    radial-gradient(ellipse 22% 6% at 37% 0%, transparent 8%, rgba(33,28,23,.64) 40%, #211C17 94%),
    radial-gradient(ellipse 26% 6% at 68% 100%, transparent 8%, rgba(33,28,23,.64) 40%, #211C17 94%),
    linear-gradient(90deg,
      transparent 0%, rgba(33,28,23,.18) 2%, rgba(33,28,23,.68) 5%,
      #211C17 11%, #211C17 89%, rgba(33,28,23,.68) 95%,
      rgba(33,28,23,.18) 98%, transparent 100%),
    radial-gradient(ellipse 14% 25% at 0% 24%, transparent 22%, rgba(33,28,23,.42) 48%, #211C17 92%),
    radial-gradient(ellipse 10% 21% at 1% 77%, transparent 12%, rgba(33,28,23,.56) 48%, #211C17 94%),
    radial-gradient(ellipse 13% 30% at 100% 42%, transparent 20%, rgba(33,28,23,.44) 48%, #211C17 92%),
    radial-gradient(ellipse 9% 17% at 99% 88%, transparent 10%, rgba(33,28,23,.54) 46%, #211C17 94%);
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  -webkit-mask-image: var(--photo-edge-mask);
  mask-image: var(--photo-edge-mask);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* Remove the geometric frame and tinted overlays; keep the photo's colours. */
.page-editorial :is(.experience-hero-photo, .horse-media)::after {
  content: none;
}

@media (max-width: 680px) {
  .page-editorial :is(
    .experience-hero-photo,
    .experience-grid .card-image,
    .variant-grid .card-image,
    .story-lead-image .photo-frame,
    .story-interlude,
    .horse-media,
    .gallop-aerial-image
  ) {
    --photo-edge-mask:
      linear-gradient(180deg, transparent, rgba(33,28,23,.55) 1%, #211C17 4%, #211C17 96%, rgba(33,28,23,.55) 99%, transparent),
      radial-gradient(ellipse 24% 4% at 40% 0%, transparent 8%, #211C17 95%),
      radial-gradient(ellipse 24% 4% at 65% 100%, transparent 8%, #211C17 95%),
      linear-gradient(90deg, transparent, rgba(33,28,23,.55) 3%, #211C17 8%, #211C17 92%, rgba(33,28,23,.55) 97%, transparent),
      radial-gradient(ellipse 10% 24% at 0% 27%, transparent 15%, #211C17 95%),
      radial-gradient(ellipse 10% 27% at 100% 66%, transparent 15%, #211C17 95%);
  }
}

/* ---------- 4) Service options: compact, readable editorial inset ---------- */
.page-editorial .photo-offer .photo-options {
  position: relative;
  margin: 26px 0 8px;
  padding: 27px 30px;
  background: linear-gradient(115deg, #f3ead9, rgba(243,234,217,.38));
  border: 1px solid rgba(169,121,60,.19);
  border-left: 3px solid #a9793c;
  border-radius: 3px 12px 12px 3px;
  color: #211C17;
}
.page-editorial .photo-offer .photo-options h3 {
  margin: 0 0 10px;
  padding: 0;
  color: #211C17;
  font: 500 clamp(1.35rem, 1.8vw, 1.7rem)/1.2 var(--serif);
  letter-spacing: -.015em;
}
.page-editorial .photo-offer .photo-options p {
  margin: 0;
  max-width: 54ch;
  color: #211C17;
  font-size: 1rem;
  line-height: 1.65;
  text-wrap: pretty;
}
.page-editorial .photo-offer .photo-options p + p {
  margin-top: 14px;
  font-size: .9rem;
  line-height: 1.6;
  font-style: italic;
}
.page-editorial .photo-offer .photo-options h3:not(:first-child) {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(169,121,60,.24);
}
.page-editorial .photo-offer .photo-options + .pill-btn {
  margin-top: 22px;
}
@media (max-width: 680px) {
  .page-editorial .photo-offer .photo-options {
    margin-top: 22px;
    padding: 22px 20px;
  }
  .page-editorial .photo-offer .photo-options p {
    font-size: 1rem;
  }
}

/* ---------- 5) Distinct service columns and aligned actions ---------- */
.page-editorial .experience-grid {
  column-gap: 80px;
  row-gap: 72px;
}
.page-editorial .experience-grid > .experience-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(169,121,60,.28);
}
.page-editorial .experience-grid > .experience-card:nth-child(odd):not(:last-child)::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 32px;
  right: -40px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(169,121,60,.32) 12%, rgba(169,121,60,.32) 88%, transparent);
  pointer-events: none;
}
.page-editorial .experience-grid .card-image {
  flex-shrink: 0;
}
.page-editorial .experience-grid .card-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  padding-top: 28px;
}
.page-editorial .experience-grid .card-copy > .underlink {
  margin-top: auto;
  padding: 11px 18px;
  border: 1px solid rgba(169,121,60,.5);
  border-radius: 999px;
  color: #211C17;
  background: rgba(243,234,217,.35);
  transition: background .2s ease, border-color .2s ease;
}
.page-editorial .experience-grid .card-copy > .underlink:hover,
.page-editorial .experience-grid .card-copy > .underlink:focus-visible {
  background: #f3ead9;
  border-color: #a9793c;
}
@media (max-width: 680px) {
  .page-editorial .experience-grid { row-gap: 42px; }
  .page-editorial .experience-grid > .experience-card { padding-bottom: 28px; }
  .page-editorial .experience-grid > .experience-card::after { display: none; }
}

/* ---------- 6) Gold service-image arrow on hover and keyboard focus ---------- */
.page-editorial :is(.experience-grid, .variant-grid) .card-image .image-arrow {
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.page-editorial :is(.experience-grid, .variant-grid) .card-image:hover .image-arrow,
.page-editorial :is(.experience-grid, .variant-grid) .card-image:focus-visible .image-arrow {
  background-color: #A9793C;
  border-color: #A9793C;
  color: #211C17;
}

/* ---------- 7) Subtle motion across the whole service card ---------- */
@media (hover: hover) and (pointer: fine) {
  .page-editorial .experience-grid > .experience-card {
    transition: transform .8s cubic-bezier(.22,.61,.36,1);
  }
  .page-editorial .experience-grid > .experience-card .card-image img {
    transition: transform 1.4s cubic-bezier(.22,.61,.36,1), filter .8s ease;
  }
  .page-editorial .experience-grid > .experience-card:hover,
  .page-editorial .experience-grid > .experience-card:focus-within {
    transform: translateY(-3px);
  }
  .page-editorial .experience-grid > .experience-card:hover .card-image img,
  .page-editorial .experience-grid > .experience-card:focus-within .card-image img {
    transform: scale(1.025);
    filter: saturate(.9);
  }
  .page-editorial .experience-grid > .experience-card:hover .image-arrow,
  .page-editorial .experience-grid > .experience-card:focus-within .image-arrow {
    background-color: #A9793C;
    border-color: #A9793C;
    color: #211C17;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-editorial .experience-grid > .experience-card,
  .page-editorial .experience-grid > .experience-card .card-image img {
    transition: none;
    transform: none;
  }
  .page-editorial .experience-grid > .experience-card:is(:hover, :focus-within),
  .page-editorial .experience-grid > .experience-card:is(:hover, :focus-within) .card-image img {
    transform: none;
  }
}

/* ---------- 8) Soft gold surround on the complete service card ---------- */
.page-editorial .experience-grid > .experience-card::before {
  content: "";
  position: absolute;
  inset: -20px -20px -12px;
  border: 1px solid rgba(169,121,60,.17);
  border-radius: 24px;
  background: rgba(243,234,217,.16);
  box-shadow: 0 12px 32px rgba(169,121,60,.18), 0 3px 12px rgba(169,121,60,.10);
  opacity: 0;
  pointer-events: none;
  transition: opacity .65s ease;
}
.page-editorial .experience-grid > .experience-card > * {
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .page-editorial .experience-grid > .experience-card:hover::before,
  .page-editorial .experience-grid > .experience-card:focus-within::before {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-editorial .experience-grid > .experience-card::before { transition: none; }
}

/* ---------- 9) Gallop emblem replaces the service-image arrow ---------- */
.page-editorial :is(.experience-grid, .variant-grid) .card-image .image-arrow,
.page-editorial :is(.experience-grid, .variant-grid) .card-image:is(:hover, :focus-visible) .image-arrow,
.page-editorial .experience-grid > .experience-card:is(:hover, :focus-within) .image-arrow {
  width: 54px;
  height: 54px;
  right: 22px;
  bottom: 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.page-editorial :is(.experience-grid, .variant-grid) .card-image .image-arrow::before,
.page-editorial :is(.experience-grid, .variant-grid) .card-image .image-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: opacity .65s ease;
}
.page-editorial :is(.experience-grid, .variant-grid) .card-image .image-arrow::before {
  background-color: #211C17;
  -webkit-mask: url('assets/images/gallop-emblem.png') center / contain no-repeat;
  mask: url('assets/images/gallop-emblem.png') center / contain no-repeat;
}
.page-editorial :is(.experience-grid, .variant-grid) .card-image .image-arrow::after {
  background: url('assets/images/gallop-emblem.png') center / contain no-repeat;
  opacity: 0;
}
.page-editorial .experience-grid > .experience-card:is(:hover, :focus-within) .image-arrow::before,
.page-editorial .variant-grid .card-image:is(:hover, :focus-visible) .image-arrow::before { opacity: 0; }
.page-editorial .experience-grid > .experience-card:is(:hover, :focus-within) .image-arrow::after,
.page-editorial .variant-grid .card-image:is(:hover, :focus-visible) .image-arrow::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .page-editorial :is(.experience-grid, .variant-grid) .image-arrow::before,
  .page-editorial :is(.experience-grid, .variant-grid) .image-arrow::after { transition: none; }
}

/* Menu background: fade on the bottom edge only. */
.page-editorial .premium-home-header,
.page-editorial .premium-home-header.scrolled,
.home-brief .premium-home-header,
.home-brief .premium-home-header.scrolled {
  background: transparent;
  box-shadow: none;
  border: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  overflow: visible;
  isolation: isolate;
}
.page-editorial .premium-home-header::before,
.home-brief .premium-home-header::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 -16px;
  z-index: 0;
  pointer-events: none;
  background: rgba(33,28,23,.94);
  /* A short, smooth fade below the navigation. */
  -webkit-mask-image: linear-gradient(to bottom, #211C17 0, #211C17 calc(100% - 22px), rgba(33,28,23,.85) calc(100% - 17px), rgba(33,28,23,.42) calc(100% - 10px), rgba(33,28,23,.12) calc(100% - 4px), transparent 100%);
  mask-image: linear-gradient(to bottom, #211C17 0, #211C17 calc(100% - 22px), rgba(33,28,23,.85) calc(100% - 17px), rgba(33,28,23,.42) calc(100% - 10px), rgba(33,28,23,.12) calc(100% - 4px), transparent 100%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 1;
  transition: opacity .4s ease;
}
.home-brief .premium-home-header:not(.scrolled)::before { opacity: 0; }
.home-brief .premium-home-header.scrolled::before { opacity: 1; }
.page-editorial .premium-home-header > .premium-nav-shell,
.home-brief .premium-home-header > .premium-nav-shell {
  position: relative;
  z-index: 1;
}
/* Desktop only: approximately 20% shorter, with proportional logo/button heights. */
@media (min-width: 1011px) {
  .home-brief .premium-home-header .premium-nav-shell { min-height: 86px; }
  .home-brief .premium-home-header.scrolled .premium-nav-shell,
  .page-editorial .premium-home-header .premium-nav-shell { min-height: 61px; }
  .home-brief .premium-home-header .premium-brand-mark { width: 62px; height: 62px; }
  .home-brief .premium-home-header.scrolled .premium-brand-mark,
  .page-editorial .premium-home-header .premium-brand-mark { width: 45px; height: 45px; }
  .home-brief .premium-home-header .premium-book,
  .page-editorial .premium-home-header .premium-book { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-editorial .premium-home-header::before,
  .home-brief .premium-home-header::before { transition: none; }
}

/* A shorter fade on mobile, with the existing navigation height. */
@media (max-width: 1010px) {
  .page-editorial .premium-home-header::before,
  .home-brief .premium-home-header::before {
    inset: 0 0 -12px;
    -webkit-mask-image: linear-gradient(to bottom, #211C17 0, #211C17 calc(100% - 18px), rgba(33,28,23,.8) calc(100% - 13px), rgba(33,28,23,.3) calc(100% - 6px), transparent 100%);
    mask-image: linear-gradient(to bottom, #211C17 0, #211C17 calc(100% - 18px), rgba(33,28,23,.8) calc(100% - 13px), rgba(33,28,23,.3) calc(100% - 6px), transparent 100%);
  }
}

/* Mobile menu: soft panel entrance and staggered navigation. */
@media (max-width: 1010px) {
  :is(.home-brief, .page-editorial) .mobile-menu[open] {
    animation: gallop-menu-panel .58s cubic-bezier(.22,1,.36,1) both;
  }
  :is(.home-brief, .page-editorial) .mobile-menu[open]::backdrop {
    animation: gallop-menu-backdrop .45s ease-out both;
  }
  :is(.home-brief, .page-editorial) .mobile-menu[open] .mobile-menu-top,
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a,
  :is(.home-brief, .page-editorial) .mobile-menu[open] > .pill-btn,
  :is(.home-brief, .page-editorial) .mobile-menu[open] > .mobile-social {
    animation: gallop-menu-item .5s cubic-bezier(.22,1,.36,1) both;
    animation-delay: .1s;
  }
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a:nth-child(1) { animation-delay: .14s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a:nth-child(2) { animation-delay: .19s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a:nth-child(3) { animation-delay: .24s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a:nth-child(4) { animation-delay: .29s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a:nth-child(5) { animation-delay: .34s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] > .pill-btn { animation-delay: .39s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] > .mobile-social { animation-delay: .44s; }
  :is(.home-brief, .page-editorial) .mobile-menu[open] [data-close-menu] {
    animation: gallop-menu-close .58s cubic-bezier(.22,1,.36,1) both;
  }
  :is(.home-brief, .page-editorial) .home-menu-toggle span {
    transition: transform .35s cubic-bezier(.22,1,.36,1);
    transform-origin: center;
  }
  :is(.home-brief, .page-editorial) .home-menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }
  :is(.home-brief, .page-editorial) .home-menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }
}
@keyframes gallop-menu-panel {
  from { opacity: 0; transform: translateX(32px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes gallop-menu-backdrop {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes gallop-menu-item {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes gallop-menu-close {
  from { transform: rotate(-65deg) scale(.85); }
  to { transform: rotate(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.home-brief, .page-editorial) .mobile-menu[open],
  :is(.home-brief, .page-editorial) .mobile-menu[open]::backdrop,
  :is(.home-brief, .page-editorial) .mobile-menu[open] .mobile-menu-top,
  :is(.home-brief, .page-editorial) .mobile-menu[open] nav > a,
  :is(.home-brief, .page-editorial) .mobile-menu[open] > .pill-btn,
  :is(.home-brief, .page-editorial) .mobile-menu[open] > .mobile-social,
  :is(.home-brief, .page-editorial) .mobile-menu[open] [data-close-menu] {
    animation: none;
  }
  :is(.home-brief, .page-editorial) .home-menu-toggle span { transition: none; }
}

/* Touch opening focuses the close button automatically: keep only its original circle. */
@media (hover: none) and (pointer: coarse) {
  :is(.home-brief, .page-editorial) .mobile-menu [data-close-menu]:is(:focus, :focus-visible, :hover, :active) {
    outline: none;
    box-shadow: none;
    background: transparent;
    color: #211C17;
  }
  /* Preserve a clear keyboard indicator without the extra gold ring. */
  :is(.home-brief, .page-editorial) .mobile-menu [data-close-menu]:focus-visible {
    border-color: #211C17;
    border-width: 2px;
  }
}

/* Original gold emblem in the opened mobile navigation. */
@media (max-width: 1010px) {
  :is(.home-brief, .page-editorial) .mobile-menu-top > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #211C17;
  }
  :is(.home-brief, .page-editorial) .mobile-menu-top > span::before {
    content: "";
    display: block;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    background: url('assets/images/gallop-emblem.png') center / contain no-repeat;
  }
}
@media (max-width: 360px) {
  :is(.home-brief, .page-editorial) .mobile-menu-top > span { gap: 10px; }
  :is(.home-brief, .page-editorial) .mobile-menu-top > span::before {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }
}

/* Contact: flexible fields prevent native controls from widening the mobile page. */
.page-editorial .contact-editorial-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.1fr); }
.page-editorial :is(.contact-details, .booking-panel, .booking-panel form, .booking-panel .field, .message-preview) { min-width: 0; max-width: 100%; }
.page-editorial .booking-panel .form-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-editorial .booking-panel :is(input,select,textarea) { min-width: 0; max-width: 100%; box-sizing: border-box; }
.page-editorial .booking-panel input[type="date"] { display: block; }
.page-editorial .booking-panel input[type="date"]::-webkit-date-and-time-value { text-align: left; min-width: 0; }
.page-editorial .booking-panel :is(label, .form-note, .micro),
.page-editorial .message-preview { overflow-wrap: anywhere; }
.page-editorial .message-preview pre { min-width: 0; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.page-editorial .message-send-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.page-editorial .message-send-actions .pill-btn { width: 100%; margin: 0; min-width: 0; padding: 13px 16px; font-size: 1rem; }
.page-editorial .message-send-actions .message-email { background: transparent; color: #211C17; border: 1px solid #211C17; }
.page-editorial .message-send-actions .message-email:hover { background: #F3EAD9; }
/* Facebook is measured after the hidden container becomes visible. */
.page-editorial .widget-output { min-width: 0; max-width: 100%; }
.page-editorial [data-facebook-output]:not(:empty),
.page-editorial [data-facebook-output].is-loading { display: grid; justify-items: center; padding: 16px; border-top: 1px solid rgba(168,146,122,.3); background: #F3EAD9; }
.page-editorial [data-facebook-output] iframe { max-width: 100%; height: 520px; background: #F3EAD9; }
.page-editorial .widget-copy :is(.pill-btn,a) { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .page-editorial .contact-editorial-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
  .page-editorial .booking-panel .form-row,
  .page-editorial .message-send-actions { grid-template-columns: minmax(0,1fr); }
  .page-editorial .booking-panel :is(input,select,textarea) { font-size: 16px; }
  .page-editorial [data-facebook-output]:not(:empty),
  .page-editorial [data-facebook-output].is-loading { padding: 12px; }
}

/* Facebook + Instagram next to the booking action */
.gallop-header-socials{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.gallop-header-socials .premium-social{width:34px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:#f7f1e6;transition:color .2s ease,opacity .2s ease}
.gallop-header-socials .premium-social svg{width:19px;height:19px;display:block}
.gallop-header-socials .premium-social:hover{color:#d5b879}
.gallop-header-socials .premium-social:focus-visible{outline:2px solid #d5b879;outline-offset:2px;border-radius:4px}
.gallop-mobile-socials{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.gallop-mobile-socials .mobile-social{margin-top:28px}
@media(max-width:1010px){.gallop-header-socials{display:none}}
@media(prefers-reduced-motion:reduce){.gallop-header-socials .premium-social{transition:none}}
