/* Inward Action — styles shared by the day-activity pages (activities.html and the three
   activity pages) and the booking widget in activities.js. Kept as plain CSS because Tailwind's
   CDN build can't style classes that activities.js generates at runtime. */
body { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.eyebrow { display:flex; align-items:center; justify-content:center; gap:0.9rem;
  font-size:0.7rem; letter-spacing:0.28em; text-transform:uppercase; }
.eyebrow::before, .eyebrow::after { content:''; height:1px; width:2.25rem; background:currentColor; opacity:0.35; }
.fluid-hero { font-size: clamp(2.1rem, 5vw + 1rem, 3.75rem); }
.fluid-h2 { font-size: clamp(1.85rem, 4vw + 1rem, 2.75rem); }
img { max-width: 100%; height: auto; }
.lift-on-hover { transition: transform .25s ease, box-shadow .25s ease; }
.lift-on-hover:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(31,42,30,.35); }

/* Booking widget */
.field { display:block; font-size:13px; color:#1F2A1E; margin-top:14px; border:0; padding:0; min-width:0; }
.field legend { padding:0; font-size:13px; }
.field input, .field select { display:block; width:100%; margin-top:4px; border:1px solid #D0E4D0; border-radius:10px; padding:10px 12px; font-size:14px; font-family:'Inter',sans-serif; box-sizing:border-box; background:#fff; color:#1F2A1E; }
.field input:focus, .field select:focus { outline:none; box-shadow:0 0 0 2px #C9A464; }
.field small { color:#1F2A1E80; font-size:11px; }
.bk-dates { display:grid; gap:8px; }
.bk-dates input[hidden] { display:none; }
.bk-add-date { margin-top:8px; background:none; border:0; padding:0; color:#0B600E; font-size:12px; font-weight:500; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.bk-add-date[hidden] { display:none; }
.mode-toggle { display:grid; grid-template-columns:1fr 1fr; gap:4px; background:#F3EEE1; border:1px solid #E4DDC9; border-radius:999px; padding:4px; margin-bottom:6px; }
.mode-btn { border:0; background:transparent; border-radius:999px; padding:9px 8px; font-size:12px; font-weight:500; color:#1F2A1E; cursor:pointer; font-family:'Inter',sans-serif; }
.mode-btn[aria-pressed="true"] { background:#0B600E; color:#fff; }
.bk-mode-note { font-size:12px; color:#1F2A1E99; margin:8px 0 0; line-height:1.5; }
.bk-confirm { background:#F3EEE1; border:1px solid #E4DDC9; border-radius:14px; padding:18px; font-size:13px; line-height:1.6; color:#1F2A1E; }
.bk-confirm strong { font-family:'Playfair Display',serif; font-size:16px; display:block; margin-bottom:6px; }
.stepper { display:inline-flex; align-items:center; gap:12px; margin-top:4px; }
.stepper button { width:32px; height:32px; border-radius:50%; border:1px solid #D0E4D0; background:#fff; font-size:16px; cursor:pointer; line-height:1; color:#1F2A1E; }
.stepper button:disabled { opacity:.35; cursor:not-allowed; }
.stepper output { font-family:'Playfair Display',serif; font-size:18px; min-width:20px; text-align:center; }
.bk-total { display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding-top:12px; border-top:1px solid #E4DDC9; font-size:14px; gap:12px; }
.bk-total strong { font-family:'Playfair Display',serif; font-size:20px; color:#0B600E; }
.bk-error { color:#DC2626; font-size:13px; margin-top:8px; min-height:1px; }
.hp { position:absolute; left:-9999px; }
[hidden] { display:none !important; }
