/* 4u2Stay destination layout — based on supplied mobile reference image. */
:root {
  --teal-950:#075a56; --teal-900:#0b6661; --teal-800:#126e68;
  --teal-100:#dcefeb; --ivory:#f7f4e9; --white:#fff;
  --ink:#173c3a; --muted:#65706b; --line:rgba(255,255,255,.45);
  --card-line:#dfe2d8; --radius-lg:20px; --radius-md:14px;
  --content-width:1080px; --font-sans:Arial,Helvetica,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.55}
a{color:inherit}
.site-header,.top{color:var(--white);background:var(--teal-900)}
.site-header{min-height:225px}
.site-header__bar,.bar{max-width:var(--content-width);min-height:56px;margin:0 auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-size:21px;font-weight:800;letter-spacing:-.3px}.logo a{color:inherit;text-decoration:none}
.site-header__context,.tag{font-size:11px;color:rgba(255,255,255,.86);text-align:right}
.site-header__body,.inner{max-width:var(--content-width);margin:0 auto;padding:0 18px}
.site-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.nav-select,.filter{position:relative;color:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);background:transparent}
.nav-select summary,.filter summary{min-height:44px;padding:11px 16px;cursor:pointer;list-style:none;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
.nav-select summary::-webkit-details-marker,.filter summary::-webkit-details-marker{display:none}
.nav-select summary::after,.filter summary::after{content:"▼";float:right;font-size:12px;line-height:1.2}
.nav-select[open] summary,.filter[open] summary{background:rgba(255,255,255,.08);border-radius:var(--radius-md) var(--radius-md) 0 0}
.menu{position:absolute;z-index:20;left:0;right:0;padding:8px;background:var(--white);border:1px solid var(--card-line);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.menu a{display:block;padding:10px 12px;color:var(--ink);font-size:13px;text-decoration:none;border-radius:8px}
.menu a:hover,.menu a:focus{background:var(--teal-100)}
.header-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.header-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;color:var(--teal-900)!important;background:var(--white);border:1px solid rgba(255,255,255,.7);border-radius:9px;font-size:11px;font-weight:800;text-align:center;text-decoration:none}
.header-action:hover{background:var(--teal-100)}
main,.main{background:var(--ivory)}
.main,.content{max-width:var(--content-width);margin:0 auto;padding:0 18px 64px}
.crumb,.breadcrumb{padding:18px 0 34px;color:var(--muted);font-size:11px}
.destination-intro,.panel{margin-bottom:42px}
.eyebrow{margin:0 0 9px;color:var(--teal-800);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
h1,.panel h1{margin:0;color:var(--teal-800);font-size:clamp(34px,7vw,54px);line-height:1.05;letter-spacing:-1.2px}
h2,.section-title{margin:0 0 16px;color:var(--teal-800);font-size:clamp(25px,4vw,34px);line-height:1.15;letter-spacing:-.6px}
.destination-intro>p,.panel>p{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:16px}
.section{margin-top:38px}.section-lead{max-width:760px;color:var(--muted)}
.card-grid,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{padding:24px 20px;background:var(--white);border:1px solid var(--card-line);border-radius:var(--radius-lg);box-shadow:0 2px 8px rgba(25,60,58,.03)}
.card h3,.card h2{margin:0 0 12px;font-size:21px}.card p{margin:0;color:var(--muted)}
.card-link{display:block;text-decoration:none;transition:transform .16s ease,border-color .16s ease}.card-link:hover{border-color:var(--teal-800);transform:translateY(-2px)}
.enquiries{margin-top:30px;padding:22px;background:#fff4d9;border:1px solid #eadbb6;border-radius:var(--radius-lg)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.button{display:inline-block;padding:12px 16px;color:var(--white)!important;background:var(--teal-800);border-radius:8px;font-size:12px;font-weight:800;text-decoration:none}.button:hover{background:var(--teal-950)}
/* Footer from supplied reference layout */
footer,.site-footer{padding:25px 24px 27px;color:var(--white);background:var(--teal-900);font-size:12px;line-height:1.65}
footer>div,.site-footer__inner{max-width:var(--content-width);margin:0 auto}
.footer-brand,.site-footer__brand{display:block;margin:0 0 1px;font-size:13px;font-weight:800}
.footer-tagline,.site-footer__tagline{display:block;margin:0 0 2px;color:rgba(255,255,255,.94)}
.footer-links,.site-footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.footer-links a,.site-footer__links a{color:var(--white);text-decoration:underline;text-underline-offset:2px}
.footer-links a:hover,.site-footer__links a:hover{color:var(--teal-100)}
footer small{display:block;margin-top:6px;color:rgba(255,255,255,.65)}
@media(max-width:650px){.site-header,.top{min-height:340px}.site-header__bar,.bar{min-height:68px;padding-inline:18px}.site-header__context,.tag{max-width:150px}.site-nav{grid-template-columns:1fr;margin-top:30px}.main,.content{padding-inline:18px}.crumb,.breadcrumb{padding-top:18px;padding-bottom:34px}.card-grid,.grid{grid-template-columns:1fr}.destination-intro>p,.panel>p{font-size:15px}}

/* Shared chrome polish (draft): crumb links, linked footer social, copyright/contact */
.crumb a,.breadcrumb a{color:var(--muted);text-decoration:none}
.crumb a:hover,.breadcrumb a:hover{color:var(--teal-800);text-decoration:underline;text-underline-offset:2px}
.footer-social{margin:4px 0 0}
.footer-social a{color:var(--white);text-decoration:underline;text-underline-offset:2px;margin-right:.35em}
.footer-social a:hover{color:var(--teal-100)}
.footer-social a:last-child{margin-right:0}
.site-footer__copy,.footer-copy{display:block;margin-top:10px;color:rgba(255,255,255,.72);font-size:11px}
.site-footer__contact,.footer-contact{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:11px}
.site-footer__contact a,.footer-contact a{color:var(--white);text-decoration:underline;text-underline-offset:2px}
.site-footer__contact a:hover,.footer-contact a:hover{color:var(--teal-100)}
@media(max-width:650px){
  .header-actions{grid-template-columns:1fr}
}

/* Photo carousel demo — CSS scroll-snap, mobile-first */
.photo-carousel-section{margin-top:38px}
.photo-carousel-section .section-lead{margin:0 0 16px}
.photo-carousel{
  position:relative;
  --carousel-gap:12px;
  --slide-width:88%;
}
.photo-carousel__viewport{
  overflow:hidden;
  border-radius:var(--radius-lg);
}
.photo-carousel__track{
  display:flex;
  gap:var(--carousel-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:2px;
}
.photo-carousel__track::-webkit-scrollbar{display:none}
.photo-carousel__slide{
  flex:0 0 var(--slide-width);
  scroll-snap-align:center;
  scroll-snap-stop:always;
  min-height:220px;
  border-radius:var(--radius-lg);
  border:1px solid var(--card-line);
  background:
    linear-gradient(145deg, rgba(11,102,97,.92) 0%, rgba(7,90,86,.75) 45%, rgba(247,244,233,.95) 100%),
    linear-gradient(160deg, var(--teal-900), var(--teal-800));
  color:var(--white);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px 20px;
  box-shadow:0 2px 8px rgba(25,60,58,.06);
  position:relative;
  overflow:hidden;
}
.photo-carousel__slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 15%, rgba(247,244,233,.28), transparent 45%),
    radial-gradient(ellipse at 85% 80%, rgba(7,90,86,.35), transparent 50%);
  pointer-events:none;
}
.photo-carousel__slide--cradle{
  background:
    linear-gradient(145deg, #0b6661 0%, #126e68 40%, #f7f4e9 100%);
}
.photo-carousel__slide--coast{
  background:
    linear-gradient(155deg, #075a56 0%, #0b6661 35%, #a8d4cf 70%, #f7f4e9 100%);
}
.photo-carousel__slide--wildlife{
  background:
    linear-gradient(150deg, #064e4a 0%, #0b6661 45%, #dcefeb 85%, #f7f4e9 100%);
}
.photo-carousel__slide--mountains{
  background:
    linear-gradient(160deg, #0b6661 0%, #1a7a74 50%, #f7f4e9 100%);
}
.photo-carousel__slide--estuary{
  background:
    linear-gradient(140deg, #0b6661 10%, #2a8f88 55%, #f7f4e9 100%);
}
.photo-carousel__caption{
  position:relative;
  z-index:1;
  margin:0;
}
.photo-carousel__caption strong{
  display:block;
  font-size:clamp(20px,4vw,26px);
  font-weight:800;
  letter-spacing:-.4px;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.photo-carousel__caption span{
  display:block;
  margin-top:6px;
  font-size:13px;
  color:rgba(255,255,255,.92);
  max-width:36ch;
  text-shadow:0 1px 2px rgba(0,0,0,.2);
}
.photo-carousel__controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:14px;
}
.photo-carousel__btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid var(--card-line);
  border-radius:999px;
  background:var(--white);
  color:var(--teal-900);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 1px 4px rgba(25,60,58,.06);
}
.photo-carousel__btn:hover,
.photo-carousel__btn:focus-visible{
  background:var(--teal-100);
  border-color:var(--teal-800);
  outline:none;
}
.photo-carousel__btn:focus-visible{
  box-shadow:0 0 0 3px rgba(11,102,97,.35);
}
.photo-carousel__dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.photo-carousel__dot{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(11,102,97,.28);
  cursor:pointer;
  transition:background .16s ease, transform .16s ease;
}
.photo-carousel__dot[aria-current="true"],
.photo-carousel__dot.is-active{
  background:var(--teal-900);
  transform:scale(1.15);
}
.photo-carousel__dot:focus-visible{
  outline:2px solid var(--teal-800);
  outline-offset:2px;
}
@media(min-width:651px){
  .photo-carousel{
    --slide-width:62%;
    --carousel-gap:16px;
  }
  .photo-carousel__slide{min-height:280px;padding:28px 26px}
  .photo-carousel__btn{display:inline-flex}
}
@media(min-width:900px){
  .photo-carousel{
    --slide-width:48%;
    --carousel-gap:18px;
  }
  .photo-carousel__slide{min-height:320px}
}
@media(min-width:1200px){
  .photo-carousel{
    --slide-width:42%;
  }
  .photo-carousel__slide{min-height:340px}
}
