:root{--ink:#17352e;--accent:#a44729;--soft:#f4f0e9;--line:#d9d1c6;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#24332f;line-height:1.65;background:var(--white)}
a{color:inherit}.wrap{width:min(1080px,calc(100% - 40px));margin:auto}.top{padding:20px 0;border-bottom:1px solid var(--line)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-weight:800;color:var(--ink);text-decoration:none}
.back{color:var(--accent);font-weight:700}.hero{background:var(--ink);color:#fff;padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.ey{color:#e9b29f;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05;margin:.2em 0}
.hero img,.content img{width:100%;height:auto;border-radius:18px;display:block}.btn{display:inline-block;margin-top:18px;padding:13px 20px;background:var(--accent);color:#fff;text-decoration:none;border-radius:8px;font-weight:800}
.section{padding:64px 0}.soft{background:var(--soft)}h2{color:var(--ink);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.15}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.facts{list-style:none;padding:0}.facts li{padding:8px 0;border-bottom:1px solid var(--line)}
.activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:28px 0}.activity{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.activity h3{margin-top:0;color:var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:800;color:var(--ink)}.faq details p{margin-bottom:0}
.links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.links a{padding:10px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:700}
footer{background:var(--ink);color:#fff;padding:30px 0}@media(max-width:760px){.hero-grid,.grid,.activity-grid{grid-template-columns:1fr}.hero{padding:48px 0}.top .wrap{align-items:flex-start;flex-direction:column}}
.share-panel{padding:40px 0;background:#fff}.share-box{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--soft)}.share-box h2{font-size:clamp(1.35rem,2.4vw,1.8rem);margin:0 0 8px}.share-box p{margin:0}.share-button{margin-top:16px;padding:11px 16px;border:0;border-radius:8px;background:var(--ink);color:#fff;font:inherit;font-weight:800;cursor:pointer}.share-button:hover,.share-button:focus-visible{background:var(--accent)}.share-status{display:inline-block;margin-left:12px;color:var(--ink);font-weight:700}

.booking-cta{padding:48px 0;background:var(--ink);color:#fff}.booking-cta-box{display:flex;align-items:center;justify-content:space-between;gap:32px}.booking-cta h2{color:#fff;margin:0 0 8px}.booking-cta p{max-width:720px;margin:0}.booking-cta .btn{flex:0 0 auto;margin:0;background:var(--accent)}.booking-cta .btn:hover,.booking-cta .btn:focus-visible{background:#be5734}@media(max-width:760px){.booking-cta-box{align-items:flex-start;flex-direction:column}.booking-cta .btn{width:100%;text-align:center}}

.availability-preview{padding:52px 0;background:var(--soft)}.availability-preview h2{margin:0 0 20px}.availability-eyebrow{margin:0 0 6px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.availability-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0}.availability-periods li{display:flex;flex-direction:column;gap:4px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px}.availability-periods strong{color:var(--ink)}.availability-periods span,.availability-note{color:#52635e}.availability-note{font-size:.92rem;margin:18px 0 0}.availability-link{display:inline-block;margin-top:18px;color:var(--accent);font-weight:800}@media(max-width:760px){.availability-periods{grid-template-columns:1fr}}

.availability-period-link{display:inline-block;margin-top:10px;color:var(--accent);font-weight:800}.availability-period-link:hover,.availability-period-link:focus-visible{color:var(--ink)}

.last-minute-label{display:inline-flex;align-self:flex-start;margin-top:6px;padding:5px 9px;border-radius:999px;background:#a44729;color:#fff;font-size:.86rem;font-weight:800;line-height:1.25}

.availability-period-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}.availability-period-actions .availability-period-link{margin-top:0}.availability-period-share{padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.availability-period-share:hover,.availability-period-share:focus-visible{color:var(--accent)}.availability-period-status{min-height:1.4em;color:#52635e;font-size:.88rem;font-weight:700}


/* Keep the bold hero title on one line on every information page. */
.hero h1 {
  font-size: clamp(1.05rem, 2.65vw, 2.25rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  white-space: nowrap;
}

/* Accommodation topics remain readable in narrow cards and on mobile. */
.activity h2{font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.3;margin-top:0;overflow-wrap:anywhere}
