/* WordPress integration and responsive fixes layered over the original design. */
html { overflow-x: hidden; }
@supports (overflow: clip) { html { overflow-x: clip; } }
.bcl-site { width: 100%; }
.wrap { width: 100%; min-width: 0; }
.hero > .wrap { flex: 0 1 1200px; }
#bclBooking { position: relative; min-width: 0; }

/* Negative left values create a wide scrollable canvas in RTL. */
.bcl-honey {
  position: absolute !important;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 1px; height: 1px;
  padding: 0; margin: 0; border: 0;
  overflow: hidden; white-space: nowrap;
  clip: rect(0, 0, 0, 0); clip-path: inset(50%);
  pointer-events: none;
}
.bcl-skip {
  position: fixed; top: -100px; inset-inline-start: 20px;
  z-index: 100000; background: #fff; padding: 12px 18px; color: #0c0f13;
}
.bcl-skip:focus { top: 12px; }
.langbtn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.admin-bar header { top: 32px; }
.nav nav { min-width: 0; }
.lb:not(.open) { visibility: hidden; }
.lb img { min-height: 120px; }
.lb figure { min-width: 0; }
.lb figcaption { overflow-wrap: anywhere; }
.card[hidden] { display: none !important; }
button { font-family: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.bookgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
.row2, .grid2, .band .inner, .certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fleet, .grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.team { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.trust .wrap { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fgrid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); }
.bookgrid > *, .row2 > *, .grid2 > *, .grid3 > *, .fleet > *, .team > *,
.certs > *, .fgrid > *, .trust .wrap > *, .band .inner > * { min-width: 0; }
.field input, .field select, .field textarea { width: 100%; min-width: 0; max-width: 100%; }
.field textarea { resize: vertical; }
.field input[type="date"], .field input[type="time"] { min-height: 48px; }
.field input::-webkit-date-and-time-value { min-height: 1.5em; text-align: start; }
.hero h1, .lead, .card h3, .card p, .tile, .person, .pcol, .cert, footer { overflow-wrap: anywhere; }
.kv { flex-wrap: wrap; }
.hero .cta > * { max-width: 100%; }
html[dir="rtl"] .band li { padding-left: 0; padding-right: 20px; }
html[dir="rtl"] .band li:before { left: auto; right: 0; }
input[type="tel"], footer a[href^="tel:"], footer a[href^="mailto:"] { direction: ltr; unicode-bidi: isolate; }
footer .fgrid p { white-space: normal !important; }
.bcl-booking-notice { padding: 12px; border-inline-start: 3px solid var(--brass); background: var(--cream); }

@media (max-width: 1000px) {
  .nav nav, .nav.natural nav { display: none !important; }
  .nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto 44px;
    align-items: center; gap: 10px !important;
    padding: 10px 18px !important; width: 100%;
  }
  .nav .brandmark, html[dir="rtl"] .nav .brandmark { min-width: 0; margin: 0 !important; align-items: flex-start; }
  .nav .brandmark img { width: auto; max-width: 100%; height: 44px; object-fit: contain; }
  .nav .tagline { display: none; }
  header .nav > .btn.nav-solo, html[dir="rtl"] .nav > .btn.nav-solo {
    display: inline-flex !important;
    margin: 0 !important; height: auto !important; min-height: 44px;
    padding: 8px 12px !important; max-width: 100%;
    font-size: 13px !important; white-space: normal; text-align: center;
  }
  .nav .langbtn, html[dir="rtl"] .nav .langbtn {
    margin: 0 !important; padding: 0 12px; height: 44px !important;
    min-width: 0; font-size: 13px;
  }
  .nav .menubtn, html[dir="rtl"] .nav .menubtn { width: 44px; height: 44px; margin: 0 !important; }
  .mobmenu { max-height: calc(100vh - 74px); max-height: calc(100dvh - 74px); overscroll-behavior: contain; }
  .mobmenu a { overflow-wrap: anywhere; }
  .hero h1 { white-space: normal; }
  .hero > .wrap { flex-basis: 100%; }
  .fleet, .grid3, .team, .certs, .trust .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bookgrid, .band .inner, .grid2, .fgrid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 782px) { .admin-bar header { top: 46px; } }
@media (max-width: 700px) {
  .nav { padding: 8px 12px !important; gap: 8px !important; }
  .nav .brandmark img { width: 112px; height: 42px; }
  header .nav > .btn.nav-solo, html[dir="rtl"] .nav > .btn.nav-solo { padding: 8px 10px !important; font-size: 12px !important; }
  .nav .langbtn, html[dir="rtl"] .nav .langbtn { padding: 0 10px; font-size: 12px; }
  .hero .cta { width: 100%; }
  .hero .cta .btn { white-space: normal; overflow-wrap: anywhere; }
  .hero .wrap { padding-top: 72px; }
  html[dir="rtl"] section h2, html[dir="rtl"] .band h2 { line-height: 1.6; }
  .row2 { grid-template-columns: minmax(0, 1fr); }
  #bclBooking .row2.row2-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lb { padding: 64px 12px 78px; }
  .lb img { max-height: 72vh; max-height: calc(100dvh - 190px); }
  .lb .prev, .lb .next { top: auto; bottom: 15px; transform: none; }
}
@media (max-width: 640px) { .fleet, .grid3, .certs { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .admin-bar header { top: 0; } }
@media (max-width: 360px) {
  .nav { gap: 6px !important; padding-inline: 10px !important; }
  header .nav > .btn.nav-solo, html[dir="rtl"] .nav > .btn.nav-solo { padding: 8px 7px !important; font-size: 11px !important; }
  .nav .langbtn, html[dir="rtl"] .nav .langbtn { padding: 0 7px; font-size: 12px; }
  .nav .brandmark img { height: 38px; }
  #bclBooking .row2.row2-date { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .intro { display: none !important; }
  .heroshots img, .bandshots img, .chauf img { animation: none !important; transition: none !important; }
}
