/* Oakwood header — shipped as a real stylesheet file.
   Values resolved from the Elementor kit: primary #FFFFFF, accent #1E0E02,
   secondary #000000, button background #FFFFFF00 (transparent). */

.ow-header { background:#AA201A; box-shadow:0 0 10px 0 rgba(0,0,0,0.5); position:relative; z-index:10; font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
/* align-items:stretch so the logo column is as tall as the nav + booking rows
   together, letting the logo sit centred across both. */
.ow-header-inner { max-width:1326px; margin:0 auto; display:flex; align-items:stretch; justify-content:space-between; gap:16px; padding:0 20px; }

.ow-logo { flex:0 0 auto; display:flex; align-items:center; justify-content:center; padding:6px 10px; }
.ow-logo img { display:block; width:auto; height:auto; max-height:104px; max-width:200px; margin:0; object-fit:contain; }

.ow-mid { flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; min-width:0; }

.ow-nav { display:flex; justify-content:center; align-items:center; }
.ow-menu { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; list-style:none; margin:0; padding:0; }
.ow-menu li { position:relative; margin:0; list-style:none; }
.ow-menu > li > a { display:block; padding:10px 15px; color:#FFFFFF; font-weight:600; text-decoration:none; }
.ow-menu > li > a:hover, .ow-menu > li > a:focus { color:#424242; }
.ow-menu > li.current-menu-item > a, .ow-menu > li.current-menu-ancestor > a { color:#1E0E02; }

.ow-menu .sub-menu { display:none; position:absolute; left:0; top:100%; min-width:220px; background:#FFFFFF; padding:10px 0; margin:0; list-style:none; box-shadow:0 6px 18px rgba(0,0,0,0.18); z-index:20; }
.ow-menu li:hover > .sub-menu, .ow-menu li:focus-within > .sub-menu { display:block; }
.ow-menu .sub-menu a { display:block; padding:15px 30px; color:#000000; font-size:1rem; line-height:1.4em; text-decoration:none; white-space:nowrap; }
.ow-menu .sub-menu a:hover, .ow-menu .sub-menu a:focus { color:#1E0E02; background:#ECECEC; }
.ow-menu .sub-menu .sub-menu { left:100%; top:0; }

/* Book now sits on the same baseline as Check Availability: the booking row has
   10px of bottom padding, so matching it here lines the two buttons up. */
.ow-cta { flex:0 0 auto; display:flex; align-items:flex-end; padding-bottom:10px; }
.ow-book-btn { display:inline-flex; align-items:center; justify-content:center; height:42px; background:transparent; border:1px solid #FFFFFF; color:#FFFFFF; padding:0 22px; border-radius:6px; font-weight:600; text-decoration:none; white-space:nowrap; }
.ow-book-btn:hover, .ow-book-btn:focus { background:#FFFFFF; color:#000000; }

.ow-burger { display:none; background:transparent; border:none; color:#FFFFFF; font-size:24px; line-height:1; padding:8px; cursor:pointer; }
.ow-header a:focus-visible, .ow-header button:focus-visible { outline:2px solid #FFFFFF; outline-offset:2px; }

/* Booking bar — preserved from the original custom-HTML widget. */
/* Centred rather than stretched: the fields size to their content and the whole
   group sits in the middle of the row, under the centred nav above it. */
.bw-wrap { background:#AA201A; padding:10px 0; display:flex; align-items:center; justify-content:center; gap:12px; width:100%; margin:0; box-sizing:border-box; }
.bw-wrap *, .bw-wrap *::before, .bw-wrap *::after { box-sizing:border-box; }
.bw-field { display:flex; flex-direction:column; gap:3px; flex:0 1 auto; }
.bw-field--dates { width:300px; max-width:100%; }
.bw-field--guests { width:118px; }
.bw-field--guests select { text-overflow:ellipsis; }
.bw-field label { font-size:11px; color:#f5c0bc; text-transform:uppercase; letter-spacing:0.05em; font-weight:500; }
.bw-field input, .bw-field select { background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25); border-radius:6px; padding:8px 10px; color:#fff; font-size:14px; outline:none; width:100%; cursor:pointer; }
.bw-field input::placeholder { color:rgba(255,255,255,0.6); }
.bw-field select option { color:#111; background:#fff; }
.bw-divider { width:1px; height:40px; background:rgba(255,255,255,0.2); flex-shrink:0; }
/* Same 42px height as .ow-book-btn so the two sit level. */
.bw-btn { display:inline-flex; align-items:center; justify-content:center; height:42px; background:#fff !important; border:none !important; color:#AA201A !important; font-size:14px; font-weight:600; padding:0 22px; border-radius:6px; cursor:pointer; white-space:nowrap; flex-shrink:0; text-decoration:none; align-self:flex-end; }
.bw-btn:hover { background:#f0f0f0 !important; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange { background:#AA201A !important; border-color:#AA201A !important; }
.flatpickr-day.inRange { background:#e8a09d !important; border-color:#e8a09d !important; box-shadow:-5px 0 0 #e8a09d,5px 0 0 #e8a09d !important; }
.bw-mobile { display:none; }

@media (max-width:1024px) {
  .ow-menu > li > a { padding:10px; font-size:0.9rem; }
}

@media (max-width:767px) {
  .ow-header-inner { flex-wrap:wrap; gap:8px; }
  .ow-logo { width:auto; min-width:0; flex:0 0 44%; }
  .ow-logo img { height:auto; max-width:60%; margin:0 auto; object-fit:contain; }
  .ow-mid { flex:1 1 100%; order:3; }
  .ow-cta { order:2; }
  .ow-burger { display:block; }
  .ow-menu { display:none; flex-direction:column; align-items:stretch; width:100%; background:#FFFFFF; padding:8px 0; }
  .ow-menu.is-open { display:flex; }
  .ow-menu > li > a { color:#000000; }
  .ow-menu .sub-menu { display:block; position:static; box-shadow:none; padding:0 0 0 16px; min-width:0; }
  .bw-field, .bw-divider, .bw-desktop-btn { display:none; }
  .bw-mobile { display:flex; width:100%; justify-content:center; }
  .bw-mobile .bw-btn { width:100%; text-align:center; padding:12px; }
}
