/* Albacore Adventure responsive photo and booking refinements. Desktop photo treatment is preserved. */
.mobile-booking-bar { display:none; }
@media (max-width: 900px) {
  html, body { max-width:100%; overflow-x:clip; }
  .hero { height:auto; min-height:0; display:flex; flex-direction:column; align-items:stretch; overflow:hidden; background:var(--deep); }
  .hero > img { position:relative; inset:auto; display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; background:var(--deep); margin-top:76px; }
  .hero-shade { display:none; }
  .hero-content { max-width:none; padding:1.6rem 1.2rem 2rem; background:var(--deep); }
  .hero-content h1 { font-size:clamp(2.5rem, 9vw, 4.2rem); }
  .hero-content .actions { display:grid; grid-template-columns:1fr; gap:.7rem; }
  .hero-content .actions .button { width:100%; }
  .hero-stats { position:relative; inset:auto; width:100%; padding:1rem 1.1rem; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .hero-stats div { padding:.35rem; margin:0; border:0; }
  .hero-stats div:last-child { border:0; }
  .hero .gallery-more { position:relative; padding:1.1rem 1rem 1.6rem; background:var(--deep); }
  .feature-split, .feature-split.reverse { min-height:0; }
  .feature-image { height:auto; min-height:0; }
  .feature-image img { display:block; width:100%; height:auto; min-height:0; object-fit:contain; object-position:center; }
  .photo-grid figure, .photo-grid figure.wide { height:auto; min-height:0; aspect-ratio:4/3; }
  .photo-grid img { position:relative; inset:auto; display:block; width:100%; height:100%; object-fit:contain; object-position:center; background:var(--deep); }
  .location > img { width:100%; height:auto; min-height:0; max-height:none; object-fit:contain; object-position:center; }
  .inner-hero { height:auto; min-height:0; padding:0; display:flex; flex-direction:column; align-items:stretch; background:var(--deep); }
  .inner-hero > img { position:relative; inset:auto; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; }
  .inner-hero:after { display:none; }
  .inner-hero > div { max-width:none; padding:1.7rem 1.2rem 2.7rem; background:var(--deep); }
  .booking-cta { min-height:0; display:flex; flex-direction:column; padding:0; background:var(--deep); }
  .booking-cta > img { position:relative; inset:auto; display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; filter:brightness(.7); }
  .booking-cta > div { max-width:none; padding:2rem 1.2rem 2.7rem; background:var(--deep); }
  .mobile-booking-bar { display:grid; grid-template-columns:1fr 1fr; gap:8px; position:fixed; z-index:70; left:0; right:0; bottom:0; padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right)); background:#071f20; box-shadow:0 -4px 18px #0005; }
  .mobile-booking-bar a { display:flex; justify-content:center; align-items:center; min-height:46px; padding:9px 10px; background:#78cfc5; color:#071f20; text-align:center; text-transform:uppercase; font-weight:800; font-size:.72rem; line-height:1.15; }
  .mobile-booking-bar a:last-child { background:#fff; }
  footer { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
}
@media (min-width:901px) and (max-width:1120px) {
  .site-header nav { display:none; position:absolute; top:75px; right:1rem; left:1rem; padding:1.2rem; border-radius:16px; background:#fff; color:var(--ink); flex-direction:column; align-items:stretch; box-shadow:var(--shadow); }
  .site-header nav.open { display:flex; }
  .menu-toggle { display:block; }
}
