/* Site design. Everything is namespaced so it can't leak into the booking widgets. */
:root { --navy:#14213d; --gold:#c9a24b; --bg:#f6f4ef; --card:#fff; --text:#222; --muted:#6b7280; }

* { box-sizing: border-box; }
body { margin:0; font-family:"Segoe UI", system-ui, sans-serif; background:var(--bg); color:var(--text); line-height:1.5; }

.site-header { background:var(--navy); color:#fff; padding:18px 24px; display:flex; justify-content:space-between; align-items:center; }
.site-header .brand { color:#fff; text-decoration:none; font-size:1.25rem; font-weight:700; letter-spacing:.04em; }
.site-header .brand span { color:var(--gold); }

.hero { background:linear-gradient(rgba(20,33,61,.75), rgba(20,33,61,.75)), var(--navy); color:#fff; text-align:center; padding:56px 20px 80px; }
.hero h1, .hero h2 { margin:0 0 8px; font-size:2rem; }
.hero p { margin:0; color:#d5d9e3; }

/* Container the widgets sit in; negative margin overlaps the hero */
.page-wrap { max-width:1100px; margin:-44px auto 40px; padding:0 16px; position:relative; z-index:5; }
.widget-card { background:var(--card); border-radius:12px; padding:24px; box-shadow:0 4px 18px rgba(0,0,0,.08); }
.widget-card + .widget-card { margin-top:24px; }
.widget-card__title { margin:0 0 12px; font-size:1.1rem; }

.back-link { display:inline-block; margin-bottom:12px; color:var(--navy); font-weight:600; text-decoration:none; }
.back-link:hover { color:var(--gold); }

.site-footer { text-align:center; color:var(--muted); padding:20px; font-size:.85rem; }
