
/* Theme overrides – subtle improvements without changing layout */
html { scroll-behavior: smooth; }
body { line-height: 1.6; }

/*
  IMPORTANT:
  Header should scroll away naturally (NOT sticky).
  A sticky header on mobile ends up occupying a large part of the screen while scrolling.
*/
header { position: static; top: auto; z-index: auto; backdrop-filter: none; }

/* If you ever add a dedicated sticky navigation bar, use .navbar (not the <header>) */
/* .navbar { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(180%) blur(6px); } */
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.btn, button, input[type="submit"] { transition: transform .15s ease, box-shadow .15s ease; }
.btn:hover, button:hover, input[type="submit"]:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.card, .box, .panel { box-shadow: 0 6px 18px rgba(0,0,0,.06); border-radius: 12px; }

/* Prevent mobile overflow of long <select> values (booking widget).
   On some mobiles, grid items keep a large min-content width and can spill out of the container.
*/
#booking-widget > div { width: 100%; max-width: 520px; }
#booking-widget select,
#booking-widget input,
#booking-widget button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#booking-widget select {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Safer default for form controls */
input, textarea, select, button { box-sizing: border-box; }
