/* Photo edition · local assets, accessible controls, no automatic carousel. */
.hero{min-height:670px}.hero-content{padding-top:82px;padding-bottom:175px}.hero-image{object-position:65% 50%}.hero-shade{background:linear-gradient(90deg,#14221ced 0%,#14221cab 33%,#14221c10 72%),linear-gradient(0deg,#14221cad 0%,transparent 45%)}
.hero-photo-controls{position:absolute;right:max(32px,calc((100vw - 1248px)/2));bottom:72px;display:flex;flex-direction:column;align-items:flex-end;gap:14px;max-width:calc(100% - 64px)}.hero-switcher{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.hero-unit{background:#1e302473;border:1px solid #ffffff66;color:#fffefa;min-height:40px;border-radius:5px;padding:8px 12px;font-size:11px;backdrop-filter:blur(8px)}.hero-unit[aria-pressed=true]{background:#fffefa;color:var(--green-dark);border-color:#fffefa}.hero-property-link{border:0;background:transparent;color:white;font-size:13px;display:flex;align-items:center;gap:9px;padding:0;min-height:32px}.hero-caption{left:max(32px,calc((100vw - 1248px)/2));bottom:73px;font-size:10px;max-width:310px;background:#18291fde}
.photo-count{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:5px;background:#203325de;color:#fffefa;font-size:11px;display:flex;align-items:center;gap:6px;backdrop-filter:blur(4px)}.photo-count .icon{width:15px;height:15px}.cabin-image{aspect-ratio:4/3}.cabin-copy>p{font-size:13px}.cabin-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.cabin-tags span{font-size:10px;padding:5px 7px;border-radius:4px;background:var(--sand);color:#495347;line-height:1.4}.pause-photo{aspect-ratio:4/3}.pause-photo img{object-position:center}.image-label{font-size:10px}.tour-visual{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:28px 30px;background:#dce5d6;position:relative}.tour-symbol{width:58px;height:58px;color:#405a43}.visual-title{font-size:25px;line-height:1.16;letter-spacing:-.02em;color:#304937}.tour-water{background:#dfe8e7}.tour-water .tour-symbol,.tour-water .visual-title{color:#3b5d59}.tour-visual .category{left:auto;right:18px;top:18px;bottom:auto;font-size:9px;background:#fffcf288}.tour-image.botanical{min-height:235px}.botanical-word{font-size:25px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.gallery-filter{min-height:43px;padding:10px 15px;font-size:12px;background:transparent;border:1px solid var(--line);border-radius:24px;color:var(--green-dark)}.gallery-filter span{opacity:.65;font-size:10px;margin-left:7px}.gallery-filter[aria-pressed=true]{color:#fffefa;background:var(--green);border-color:var(--green)}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}.gallery-card{margin:0;min-width:0}.gallery-item{aspect-ratio:4/3;width:100%;display:block}.gallery-card figcaption{padding:12px 0 0;display:flex;flex-direction:column;gap:2px}.gallery-card figcaption strong{font-size:12px;font-weight:600;color:var(--green-dark)}.gallery-card figcaption span{font-size:11px;color:var(--muted)}.gallery-zoom{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fffdf0eb;color:#354936}.gallery-zoom .icon{height:17px;width:17px}.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px}.gallery-footer .fineprint{margin:0}
.content-dialog{max-width:min(840px,calc(100% - 28px));width:840px}.detail-cover{display:block;position:relative;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--sand)}.detail-cover>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.detail-cover .photo-count{font-size:12px}.detail-meta .icon{height:15px;width:15px;vertical-align:middle}.detail-booking-info{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0;border-block:1px solid var(--line);margin-top:25px}.detail-booking-info>div{display:flex;flex-direction:column;gap:7px;font-size:12px}.detail-booking-info span{color:var(--muted)}.tag-list .tag{display:flex;gap:6px;align-items:center}.tag .icon{width:14px;height:14px}.detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-gallery>button{display:block;border:0;background:transparent;text-align:left;padding:0;min-width:0}.detail-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.detail-gallery span{font-size:11px;line-height:1.4;color:var(--muted);display:block;padding:7px 1px}.share-cabin{display:flex;align-items:center;gap:8px;margin-top:23px}
.lightbox{padding:68px 78px 110px;background:#14211aed;max-width:100vw;max-height:100dvh;inset:0;margin:0}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{max-width:100%;max-height:100%;display:flex;flex-direction:column;margin:0;width:100%;min-height:0}.lightbox #lightbox-image{display:block;width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 234px);object-fit:contain;margin:auto;touch-action:pan-y pinch-zoom;border-radius:5px}.lightbox figcaption{font-size:12px;line-height:1.5;margin-top:15px;min-height:22px;color:#f5f3e9}.lightbox-thumbs{position:absolute;bottom:20px;left:78px;right:78px;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:5px 2px;scrollbar-width:thin;scrollbar-color:#c3cbb6 transparent}.lightbox-thumbs button{flex-shrink:0;width:84px;height:63px;background:none;border:2px solid transparent;border-radius:5px;padding:2px;opacity:.55}.lightbox-thumbs button[aria-pressed=true]{border-color:#e2ebcf;opacity:1}.lightbox-thumbs button img{width:100%;height:100%;max-height:100%;margin:0;object-fit:cover;border-radius:3px}.lightbox-prev,.lightbox-next{width:42px;height:42px;top:45%}.lightbox-close{z-index:3}.lightbox .icon-button:hover{background:#ffffff35}
@media(max-width:1000px){.hero-caption{bottom:53px}.hero-photo-controls{bottom:89px}.hero-content{padding-bottom:175px}.cabin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cabin-copy>p{font-size:14px}.cabin-copy h3{font-size:23px}.cabin-meta{font-size:12px;min-height:auto;margin-bottom:12px}.cabin-copy .button{font-size:13px;min-height:46px}.cabin-bottom .text-link,.cabin-bottom .text-button{font-size:12px}}
@media(max-width:760px){.hero{min-height:660px}.hero-content{padding-top:70px;padding-bottom:185px}.hero-photo-controls{left:22px;right:22px;align-items:flex-start;bottom:97px;max-width:calc(100% - 44px);gap:9px}.hero-switcher{justify-content:flex-start;gap:6px}.hero-unit{font-size:10px;min-height:37px;padding:7px 9px}.hero-caption{left:22px;bottom:65px;max-width:calc(100% - 44px)}.hero-shade{background:linear-gradient(90deg,#12231ae8,#14231a7d),linear-gradient(0deg,#14231a77,transparent)}.hero-image{object-position:61% 50%}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.gallery-filters{gap:7px}.gallery-filter{font-size:11px;padding:8px 12px}.content-dialog{padding:38px 22px 28px}.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-booking-info{grid-template-columns:1fr}.lightbox{padding:72px 13px 125px}.lightbox figure{max-width:100%}.lightbox #lightbox-image{max-height:calc(100dvh - 260px);border-radius:3px}.lightbox figcaption{font-size:11px;padding-inline:8px;min-height:35px}.lightbox-thumbs{left:14px;right:14px;bottom:20px}.lightbox-thumbs button{width:72px;height:54px}.lightbox-prev,.lightbox-next{top:auto;bottom:89px;z-index:2;width:36px;height:36px}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-close{top:20px;right:16px}.gallery-footer .button{font-size:12px;padding:10px 13px}.pause-copy h2{font-size:34px}}
@media(max-width:480px){.cabin-grid{grid-template-columns:1fr}.cabin-copy{padding:23px}.cabin-image{aspect-ratio:4/3}.hero h1{font-size:49px}.hero-description{font-size:15px;line-height:1.65}.hero-content{padding-top:53px}.hero{min-height:650px}.hero .actions{gap:10px}.hero .button{min-width:0;padding:13px 16px;font-size:12px}.hero-unit{font-size:9px}.hero-photo-controls{bottom:104px}.hero-caption{bottom:72px}.hero-property-link{font-size:12px}.gallery-card figcaption span{font-size:10px}.gallery-card figcaption strong{font-size:11px}.gallery-filter{font-size:10px;padding:8px 10px}.gallery-filter span{margin-left:4px}.gallery-footer{align-items:flex-start}.detail-cover .photo-count{font-size:10px}.content-dialog h2{font-size:29px}.detail-meta{gap:7px}.tour-image.botanical{min-height:220px}}
@media(prefers-reduced-motion:reduce){.hero-image,.gallery-item img,.cabin-image img{transition:none}}
/* Let grid children wrap on very narrow phones without hiding content. */
.faq-section>div,.faq-list,.tour-card{min-width:0}.faq-list summary{overflow-wrap:anywhere}.faq-list summary span{flex-shrink:0}
@media(max-width:720px){.faq-section,.tour-grid{grid-template-columns:minmax(0,1fr)}.tour-image.botanical{width:100%;gap:14px;padding-inline:18px}.botanical-icon{width:86px;flex:0 0 86px}.botanical-word{min-width:0;font-size:23px}.faq-section .eyebrow{letter-spacing:.13em;overflow-wrap:anywhere}}
@media(max-width:720px){.faq-section h2{font-size:clamp(36px,10vw,48px);overflow-wrap:anywhere}}

/* Keep the gallery and signature hero controls as comfortable as the rest of the mobile UI. */
@media(max-width:760px){.hero-property-link,.hero-unit,.gallery-filter{min-height:44px}.hero-switcher{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.hero-unit{padding-inline:5px;line-height:1.2}}

/* Cabin dossier · a compact decision view instead of a long page inside a modal. */
.content-dialog.cabin-dialog{width:min(1120px,calc(100vw - 48px));max-width:1120px;max-height:min(740px,calc(100dvh - 48px));padding:0;overflow:hidden;border-radius:15px;background:#fffefa}
.cabin-dialog .dialog-close{right:18px;top:18px;z-index:5;background:#fffef4e8;border-color:#d7d9cf;box-shadow:0 4px 18px #20302112;backdrop-filter:blur(8px)}
.cabin-dialog .dialog-close:hover{background:#fffefa}
.cabin-dossier{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(370px,.82fr);height:min(740px,calc(100dvh - 48px));min-height:590px;overflow:hidden}
.dossier-media{min-width:0;padding:22px;background:#ebe9e0;display:flex;flex-direction:column;gap:12px}
.dossier-cover{position:relative;display:block;width:100%;min-height:0;flex:1;padding:0;border:0;border-radius:9px;overflow:hidden;background:#d9dbd0}
.dossier-cover>img{width:100%;height:100%;object-fit:cover}
.dossier-cover:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,#17271e75);pointer-events:none}
.dossier-image-note,.dossier-photo-action{position:absolute;z-index:1;bottom:13px;color:#fffefa;font-size:10px;line-height:1.2;letter-spacing:.035em}
.dossier-image-note{left:14px}
.dossier-photo-action{right:14px;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #ffffff7a;border-radius:5px;background:#1d3025a8;backdrop-filter:blur(6px);font-weight:600}
.dossier-photo-action .icon{width:15px;height:15px}
.dossier-filmstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;height:84px}
.dossier-filmstrip button{min-width:0;height:84px;padding:0;border:1px solid transparent;border-radius:6px;overflow:hidden;background:#d8d9cf}
.dossier-filmstrip button:hover{border-color:#758a70}
.dossier-filmstrip img{width:100%;height:100%;object-fit:cover}
.dossier-photo-note{margin:0!important;color:#737970!important;font-size:9px!important;line-height:1.35!important;text-align:center;letter-spacing:.025em}
.dossier-summary{min-width:0;overflow-y:auto;padding:50px 42px 30px;scrollbar-width:thin;scrollbar-color:#c6cbbf transparent}
.dossier-summary .eyebrow{font-size:9px;letter-spacing:.19em;margin:0 0 12px}
.content-dialog .dossier-summary h2{font-size:39px;margin:0 0 13px;padding:0 34px 0 0}
.content-dialog .dossier-location{display:flex;align-items:center;gap:7px;margin:0 0 22px;color:#59645b;font-size:11px;line-height:1.5}
.dossier-location .icon{width:15px;height:15px;color:var(--green)}
.content-dialog .dossier-description{margin:0 0 23px;color:#505950;font-size:13px;line-height:1.72}
.dossier-facts{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin-bottom:23px}
.dossier-facts>div{padding:15px 12px 15px 0;min-width:0}
.dossier-facts>div+div{padding-left:18px;border-left:1px solid var(--line)}
.dossier-facts span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.dossier-facts .icon{width:14px;height:14px;color:var(--green)}
.dossier-facts strong{display:block;font-size:12px;line-height:1.45;font-weight:600}
.content-dialog .dossier-amenities h3{font:600 11px/1.4 var(--font);letter-spacing:.02em;margin:0 0 11px}
.dossier-amenities .tag-list{gap:6px;margin:0 0 24px}
.dossier-amenities .tag{gap:5px;padding:6px 8px;border-radius:4px;background:#f2f1ea;border:0;color:#566056;font-size:10px;line-height:1.35}
.dossier-amenities .tag .icon{width:12px;height:12px}
.dossier-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dossier-actions .button{min-height:46px;padding:11px 13px;gap:8px;font-size:11px}
.dossier-actions .icon{width:16px;height:16px}
.content-dialog .dossier-reassurance{margin:9px 0 16px;color:#7b8179;font-size:9px;line-height:1.5;text-align:center}
.dossier-more{border-top:1px solid var(--line)}
.dossier-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:14px 0;color:var(--green);font-size:11px;font-weight:600}
.dossier-more summary::-webkit-details-marker{display:none}
.dossier-more summary span{font-size:19px;font-weight:300;transition:transform .18s ease}
.dossier-more[open] summary span{transform:rotate(45deg)}
.dossier-more>div{padding:0 0 8px}
.content-dialog .dossier-more p{font-size:11px;line-height:1.65;margin-bottom:10px}
.dossier-summary .share-cabin{margin-top:10px;font-size:10px;text-decoration:none}
.dossier-summary .share-cabin .icon{width:14px;height:14px}
body.modal-open .mobile-booking,body.modal-open .floating-whatsapp{opacity:0;pointer-events:none}

@media(max-width:880px){
  .content-dialog.cabin-dialog{width:min(680px,calc(100vw - 24px));max-height:92dvh;overflow:auto}
  .cabin-dossier{display:block;height:auto;min-height:0;overflow:visible}
  .dossier-media{padding:14px;gap:9px}
  .dossier-cover{height:clamp(260px,54vw,390px);flex:none}
  .dossier-filmstrip{height:70px;gap:7px}
  .dossier-filmstrip button{height:70px}
  .dossier-summary{overflow:visible;padding:32px 28px 27px}
  .content-dialog .dossier-summary h2{font-size:35px}
}

@media(max-width:520px){
  .content-dialog.cabin-dialog{width:calc(100vw - 24px);max-width:none;max-height:94dvh;border-radius:12px}
  .cabin-dialog .dialog-close{position:absolute;right:12px;top:12px;width:38px;height:38px}
  .dossier-media{padding:8px 8px 10px}
  .dossier-cover{height:min(245px,62vw);border-radius:7px}
  .dossier-filmstrip{height:59px;gap:6px}
  .dossier-filmstrip button{height:59px;border-radius:4px}
  .dossier-image-note{display:none}
  .dossier-photo-action{right:10px;bottom:10px;font-size:9px;padding:7px 9px}
  .dossier-photo-note{font-size:8px!important}
  .dossier-summary{padding:28px 20px 23px}
  .dossier-summary .eyebrow{font-size:8px;margin-bottom:10px}
  .content-dialog .dossier-summary h2{font-size:31px;padding-right:32px;margin-bottom:10px}
  .content-dialog .dossier-location{margin-bottom:17px}
  .content-dialog .dossier-description{font-size:12px;line-height:1.68;margin-bottom:19px}
  .dossier-facts{margin-bottom:19px}
  .dossier-facts>div{padding-block:12px}
  .dossier-facts>div+div{padding-left:13px}
  .dossier-facts strong{font-size:11px}
  .dossier-amenities .tag-list{margin-bottom:20px}
  .dossier-actions{grid-template-columns:1fr}
  .dossier-actions .button{width:100%;font-size:12px}
}
