:root{--bg:#f7f4ed;--paper:#fffdf8;--ink:#24302b;--muted:#4f6259;--line:#ddd5c7;--accent:#226b4f;--accent-2:#b3532e;--soft:#e7eee6;--radius:8px}*{box-sizing:border-box}html{color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}body{margin:0;overflow-x:hidden}a{color:inherit}button,input,select{font:inherit}.site-header{display:grid;grid-template-columns:auto minmax(360px,760px) auto;gap:0.75rem 1rem;align-items:center;padding:1rem clamp(1rem,4vw,3rem) 0.85rem;border-bottom:1px solid rgba(36,48,43,0.08);background:rgba(255,253,248,0.9);box-shadow:0 0 0 rgba(36,48,43,0);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10;transition:padding 180ms ease,box-shadow 180ms ease,background 180ms ease}.is-scrolled .site-header{padding-top:0.7rem;padding-bottom:0.65rem;background:rgba(255,253,248,0.97);box-shadow:0 10px 28px rgba(36,48,43,0.09)}.brand,.top-nav,.search-shell,.activity-carousel,.activity-strip,.header-activity-dock{display:flex;align-items:center}.brand{gap:0.55rem;font-weight:800;text-decoration:none}.brand-mark{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;color:#fff;background:var(--accent)}.search-shell{justify-self:center;width:min(760px,100%);gap:0.5rem;padding:0.28rem;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 12px 35px rgba(36,48,43,0.08);transition:box-shadow 180ms ease,transform 180ms ease,padding 180ms ease}.is-scrolled .search-shell{padding:0.25rem;box-shadow:0 8px 22px rgba(36,48,43,0.07);transform:translateY(-1px)}.search-shell label{display:grid;gap:0.1rem;min-width:0;flex:1;padding:0.15rem 0.65rem}.search-shell span{color:var(--muted);font-size:0.75rem}.search-shell input,.search-shell select{min-width:0;border:0;background:transparent;color:var(--ink);outline:0;min-height:1.8rem}.search-shell button,.booking-panel button,.primary-link{border:0;border-radius:var(--radius);padding:0.75rem 1rem;color:#fff;background:var(--accent);font-weight:700;text-decoration:none;cursor:pointer}.search-shell button{border-radius:18px;padding-inline:1.15rem}.top-nav{gap:1rem;color:var(--muted);font-size:0.95rem;flex-wrap:wrap}.top-nav a{text-decoration:none}.language-switcher{position:relative;display:inline-flex;align-items:center}.language-toggle{display:inline-flex;align-items:center;gap:0.3rem;padding:0.45rem 0.55rem;border:1px solid var(--line);border-radius:999px;color:var(--accent);background:var(--paper);font-size:0.78rem;font-weight:800;cursor:pointer}.language-toggle svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.language-panel{position:absolute;top:calc(100%+0.55rem);right:0;display:grid;gap:0.25rem;min-width:190px;padding:0.45rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 16px 34px rgba(36,48,43,0.12);z-index:20}.language-panel[hidden]{display:none}.language-panel a{display:flex;align-items:center;gap:0.5rem;padding:0.55rem 0.6rem;border-radius:6px;color:var(--ink);text-decoration:none}.language-panel a.is-active{border-color:rgba(34,107,79,0.2);color:#fff;background:var(--accent)}.flag{width:1.15rem;height:0.78rem;border-radius:2px;box-shadow:0 0 0 1px rgba(36,48,43,0.12);overflow:hidden}.header-activity-dock{grid-column:1 / -1;justify-content:center;gap:0.45rem;max-height:0;overflow-x:auto;overflow-y:hidden;opacity:0;transform:translateY(-6px);transition:max-height 180ms ease,opacity 180ms ease,transform 180ms ease,padding-top 180ms ease}.header-activity-dock a{display:inline-flex;align-items:center;gap:0.35rem;flex:0 0 auto;padding:0.42rem 0.7rem;border:1px solid rgba(34,107,79,0.18);border-radius:999px;color:#fff;background:var(--accent);font-size:0.9rem;font-weight:700;text-decoration:none}.dock-icon{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem}.dock-icon svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.activities-docked .header-activity-dock{max-height:3rem;opacity:1;padding-top:0.35rem;transform:translateY(0)}main{width:min(1120px,calc(100% - 2rem));margin:0 auto}.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:end;min-height:62vh;padding:clamp(3rem,7vw,6rem) 0 2rem}.hero-immersive{position:relative;width:100vw;min-height:min(760px,calc(100vh - 4.5rem));margin-left:calc(50% - 50vw);padding:clamp(7rem,13vw,12rem) max(1rem,calc((100vw - 1120px) / 2)) 3rem;overflow:hidden;color:#fff;isolation:isolate}.hero-immersive::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(22,34,28,0.72),rgba(22,34,28,0.2) 52%,rgba(22,34,28,0.5)),linear-gradient(0deg,rgba(22,34,28,0.64),rgba(22,34,28,0.04) 45%)}.hero-media{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(34,107,79,0.08),rgba(179,83,46,0.12)),url("../images/hero/eco-lodge-nature-1200.webp") center / cover no-repeat;transform:scale(1.02)}@media (max-width:760px){.hero-media{background:linear-gradient(135deg,rgba(34,107,79,0.08),rgba(179,83,46,0.12)),url("../images/hero/eco-lodge-nature-768.webp") center / cover no-repeat}}@media (min-width:1280px){.hero-media{background:linear-gradient(135deg,rgba(34,107,79,0.08),rgba(179,83,46,0.12)),url("../images/hero/eco-lodge-nature-1536.webp") center / cover no-repeat}}.hero-immersive .hero-copy{align-self:center;text-shadow:0 2px 24px rgba(0,0,0,0.28)}.hero-immersive .eyebrow,.hero-immersive p{color:rgba(255,255,255,0.9)}.hero-immersive .hero-copy p:not(.eyebrow){color:rgba(255,255,255,0.84)}.hero h1,.page-heading h1,.detail-layout h1{max-width:760px;margin:0;font-size:clamp(2.2rem,6vw,5rem);line-height:0.98;letter-spacing:0}.hero p,.lead,.page-heading p{max-width:620px;color:var(--muted);font-size:1.08rem}.eyebrow{margin:0 0 0.75rem;color:#8f3f24;font-weight:800;text-transform:uppercase;font-size:0.78rem}.booking-panel,.account-grid article{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.metrics span{color:var(--muted)}.activity-carousel{display:block;width:100%;padding:0;position:relative;z-index:2}.activity-carousel-home{margin-top:-2rem;padding-bottom:2.5rem}.activity-strip{gap:0.6rem;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;transition:opacity 180ms ease,transform 180ms ease}.activity-strip::-webkit-scrollbar{display:none}.activities-docked .activity-strip{opacity:0.18;transform:translateY(-8px)}.activity-strip a{display:grid;place-items:center;gap:0.5rem;flex:0 0 150px;min-height:92px;padding:0.75rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,253,248,0.92);box-shadow:0 16px 34px rgba(36,48,43,0.1);font-weight:800;text-decoration:none;scroll-snap-align:center}.activity-strip a span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--soft);border:1px solid rgba(34,107,79,0.2)}.activity-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.activity-carousel-button{display:none;place-items:center;position:relative;z-index:4;flex:0 0 auto;width:2.35rem;height:2.35rem;border:1px solid rgba(34,107,79,0.2);border-radius:50%;color:#fff;background:var(--accent);box-shadow:0 12px 26px rgba(36,48,43,0.12);animation:carousel-button-float 2600ms ease-in-out infinite;transition:transform 160ms ease,opacity 160ms ease,box-shadow 160ms ease}.activity-carousel-button:hover,.activity-carousel-button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px rgba(36,48,43,0.16)}.activity-carousel-button svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.activity-carousel-button:disabled{color:var(--accent);background:var(--soft);opacity:0.55;animation:none}@keyframes carousel-button-float{0,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.eco-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,0.9fr);gap:1.5rem;align-items:end;padding:2rem 0;border-bottom:1px solid var(--line)}.eco-strip-muted{margin-top:1rem;padding-top:1.4rem;padding-bottom:1.4rem;border-top:1px solid var(--line);border-bottom:0}.eco-strip-muted h2{font-size:1.3rem}.eco-strip h2,.eco-strip p{margin:0}.eco-strip h2{max-width:620px;font-size:2rem;line-height:1.1}.eco-strip p{margin-top:0.65rem;max-width:680px;color:var(--muted)}.eco-strip dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.6rem;margin:0}.eco-strip dl div,.host-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.eco-strip dl div{padding:0.85rem}.eco-strip dt{color:var(--muted);font-size:0.78rem}.eco-strip dd{margin:0.2rem 0 0;font-size:1.25rem;font-weight:800}.section-block,.page-heading{padding:2.5rem 0}.host-cta-section{padding:3rem 0;border-top:1px solid var(--line);margin-top:2rem}.host-cta-section>.eyebrow{margin-bottom:1.25rem}.host-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.host-cta-card{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}.host-cta-card h2{margin:0;font-size:1.15rem;line-height:1.3}.host-cta-card p:not(.eyebrow){margin:0;font-size:.9rem;color:var(--muted);flex:1}.host-cta-card .primary-link{align-self:flex-start;margin-top:.5rem}.section-heading{margin-bottom:1rem}.section-heading h2{margin:0;font-size:1.8rem}.calendar-month-inline{font-size:.95rem;font-weight:500;color:var(--accent);letter-spacing:.04em;margin-left:.5rem;vertical-align:middle}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.host-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.host-card a{display:grid;color:inherit;text-decoration:none}.host-card-media{position:relative;min-height:230px;overflow:hidden;background:var(--soft)}.host-card-image{width:100%;height:230px;object-fit:cover;display:block}.host-card-mark{display:inline-grid;place-items:center;width:100%;height:230px;color:#fff;background:var(--accent);font-size:2.2rem;font-weight:900}.host-card-badge{position:absolute;left:0.8rem;bottom:0.8rem;padding:0.35rem 0.55rem;border-radius:999px;color:var(--ink);background:rgba(255,253,248,0.92);font-size:0.78rem;font-weight:900}.host-card-body{display:grid;gap:0.35rem;padding:1rem}.host-card p,.host-card h3{margin:0}.host-card p,.host-card span{color:var(--muted)}.host-card h3{font-size:1.25rem}.accommodation-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.accommodation-card a{color:inherit;text-decoration:none}.card-media-wrap{position:relative}.card-img-link{display:block}.card-body-link{display:block;padding:0}.card-media{min-height:150px;background:linear-gradient(135deg,var(--soft),#f4e2d3)}.card-media img{width:100%;height:170px;object-fit:cover;display:block}.card-media span{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;color:#fff;background:var(--accent);font-weight:800;margin:1rem}.card-body{display:grid;gap:0.45rem;padding:1rem}.card-body p,.card-body h3{margin:0}.card-body p,.card-body span{color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem;padding:4rem 0}.room-show-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,0.72fr);gap:1.4rem;align-items:stretch;padding:2.5rem 0 1.5rem}.room-show-media{min-height:560px;border-radius:var(--radius);overflow:hidden;background:var(--soft)}.room-show-media img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block}.room-show-copy{display:grid;align-content:end;padding:clamp(1.1rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.room-show-copy h1{margin:0;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1}.room-show-copy .lead{max-width:620px}.room-show-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.55rem;margin:1.4rem 0 0}.room-show-facts div{padding:0.75rem;border-radius:var(--radius);background:var(--soft)}.room-show-facts dt,.room-show-facts dd{margin:0}.room-show-facts dt{color:var(--muted);font-size:0.76rem;font-weight:800;text-transform:uppercase}.room-show-facts dd{margin-top:0.25rem;font-weight:900}.room-show-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start;padding:1.5rem 0 2rem}.room-show-description,.room-decision-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.room-show-description{padding:1.2rem}.room-show-description h2,.room-show-description p{max-width:760px}.room-show-description h2,.room-decision-panel strong{margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.room-show-description p:not(.eyebrow){color:var(--muted)}.room-decision-panel{position:sticky;top:6.5rem;display:grid;gap:0.8rem;padding:1rem}.room-decision-panel p{margin:0;color:var(--muted)}.room-host-link{color:var(--accent);font-weight:900;text-decoration:none}.room-activity-chips{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}.room-activity-chips span{display:inline-flex;align-items:center;gap:0.35rem;padding:0.45rem 0.7rem;border:1px solid rgba(34,107,79,0.18);border-radius:999px;color:var(--accent);background:var(--soft);font-weight:800}.room-activity-chips .activity-icon{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem}.room-eco-section{padding-top:1rem}.eco-detail-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:1rem;padding:2rem 0}.eco-detail-grid article{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.eco-detail-grid h2{margin:0}.eco-score-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.5rem;margin-top:1rem}.eco-score-list span{display:grid;gap:0.25rem;padding:0.75rem;border-radius:var(--radius);color:var(--muted);background:var(--soft)}.eco-score-list strong{color:var(--accent);font-size:1.45rem}.feature-list{display:grid;gap:0.5rem;margin:1rem 0 0;padding:0;list-style:none}.feature-list li{padding:0.65rem 0.75rem;border-radius:var(--radius);background:var(--soft)}.availability-grid-wide{max-width:720px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;margin-top:2rem}.metrics span{display:grid;gap:0.2rem;padding:0.8rem;border-top:1px solid var(--line)}.booking-panel{padding:1rem}.booking-panel h2{margin-top:0}.availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.35rem}.day{padding:0.45rem 0.25rem;border-radius:6px;text-align:center;font-size:0.85rem;background:var(--soft)}.day-reserve{color:#fff;background:var(--accent-2)}.day-ferme{background:#d9d2c5}.room-native-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(3rem,1fr));gap:0.35rem;padding:0.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.room-native-day{display:grid;place-items:center;min-height:3.2rem;padding:0.35rem 0.25rem;border-radius:6px;color:var(--accent);background:var(--soft);font-style:normal;text-align:center}.room-native-day small{color:var(--muted);font-size:0.62rem;font-weight:900;text-transform:uppercase}.room-native-day strong{font-size:0.9rem}.room-native-day-booked{color:#fff;background:var(--accent-2)}.room-native-day-booked small{color:rgba(255,255,255,0.82)}.room-native-day-closed{color:var(--ink);background:#d9d2c5}.room-availability-legend{margin-top:0.8rem}.room-availability-legend .room-native-day{width:1.2rem;height:1.2rem;min-height:1.2rem;padding:0}.room-calendar-nav{justify-content:flex-end;margin-top:0.8rem}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.traveler-schema-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.8rem}.room-list{display:grid;gap:0.8rem}.room-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.room-list h2,.room-list p{margin:0}.room-list p:not(.eyebrow){color:var(--muted)}.establishment-hero{position:relative;padding:2.5rem 0 1.5rem}.establishment-photo{min-height:560px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--soft)}.establishment-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,31,26,0.72),rgba(18,31,26,0.18) 58%,rgba(18,31,26,0.06)),linear-gradient(0deg,rgba(18,31,26,0.38),transparent 45%)}.establishment-photo img{width:100%;height:100%;min-height:560px;object-fit:cover}.establishment-intro{position:absolute;left:clamp(1rem,4vw,3rem);right:clamp(1rem,4vw,3rem);bottom:clamp(1rem,4vw,3rem);z-index:1;display:flex;flex-direction:column;justify-content:end;max-width:620px;color:#fff}.establishment-intro h1{margin:0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1}.establishment-intro .eyebrow,.establishment-intro .lead{color:rgba(255,255,255,0.9)}.establishment-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem;margin:1.25rem 0 0}.establishment-facts div{padding:0.75rem;border-radius:var(--radius);background:rgba(255,253,248,0.9);backdrop-filter:blur(10px)}.establishment-facts dt,.establishment-facts dd{margin:0}.establishment-facts dt{color:var(--muted);font-size:0.76rem;font-weight:800;text-transform:uppercase}.establishment-facts dd{margin-top:0.25rem;color:var(--ink);font-weight:900}.establishment-activities-sidebar{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-top:1.5rem}@media (min-width:1440px){.establishment-activities-sidebar{position:absolute;top:2.5rem;left:calc(100%+1.5rem);width:260px;margin-top:0;max-height:calc(100% - 2.5rem);overflow-y:auto}}.establishment-activities-sidebar h2{margin:0.3rem 0 1rem;font-size:1rem;line-height:1.35;color:var(--ink)}.activity-sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.3rem}.activity-sidebar-btn{display:flex;align-items:center;gap:0.6rem;width:100%;padding:0.6rem 0.7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);cursor:pointer;font-size:0.9rem;font-weight:800;text-align:left;color:var(--ink);transition:background 0.15s,border-color 0.15s,color 0.15s}.activity-sidebar-btn:hover,.activity-sidebar-btn.is-open{background:rgba(34,107,79,0.07);border-color:var(--accent);color:var(--accent)}.activity-sidebar-btn .activity-icon{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--paper);border:1px solid rgba(34,107,79,0.18);flex-shrink:0}.activity-sidebar-btn>span:not(.activity-icon){flex:1}.activity-sidebar-chevron{margin-left:auto;width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform 0.2s ease}.activity-sidebar-btn.is-open .activity-sidebar-chevron{transform:rotate(90deg)}.activity-providers-panel{display:flex;flex-direction:column;gap:0.2rem;padding:0.3rem 0 0.1rem 0.6rem}.activity-providers-panel[hidden]{display:none}.activity-provider-btn{display:grid;gap:0.1rem;width:100%;padding:0.5rem 0.65rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer;text-align:left;transition:border-color 0.15s,background 0.15s}.activity-provider-btn:hover{border-color:var(--accent);background:var(--soft)}.activity-provider-btn strong{font-size:0.88rem;color:var(--ink)}.activity-provider-btn span{font-size:0.75rem;font-weight:800;color:var(--muted)}.act-modal{margin:auto;padding:0;border:none;border-radius:var(--radius);width:min(580px,calc(100vw - 2rem));max-height:calc(100dvh - 4rem);overflow:hidden;box-shadow:0 24px 60px rgba(36,48,43,0.22)}.act-modal::backdrop{background:rgba(18,31,26,0.52);backdrop-filter:blur(4px)}.act-modal-inner{position:relative;display:grid;grid-template-rows:220px 1fr;overflow-y:auto;max-height:calc(100dvh - 4rem)}.act-modal-map{position:relative;background:var(--soft)}.act-modal-map iframe,.act-slippy-map{width:100%;height:100%;border:none;display:block}.act-slippy-map{position:relative;overflow:hidden;cursor:grab;touch-action:none;user-select:none}.act-slippy-map.is-dragging{cursor:grabbing}.act-map-tiles{position:absolute;inset:0}.act-map-tiles img{position:absolute;width:256px;height:256px;max-width:none}.act-map-markers{position:absolute;inset:0;pointer-events:none}.act-map-marker{position:absolute;display:grid;place-items:center;width:1.25rem;height:1.25rem;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 8px 18px rgba(36,48,43,0.26);transform:translate(-50%,-50%)}.act-map-marker-provider{background:var(--accent-2)}.act-map-marker span{position:absolute;left:50%;bottom:calc(100%+0.35rem);max-width:11rem;padding:0.25rem 0.45rem;border-radius:999px;color:var(--ink);background:rgba(255,253,248,0.94);box-shadow:0 8px 18px rgba(36,48,43,0.16);font-size:0.7rem;font-weight:900;line-height:1.15;text-align:center;white-space:nowrap;transform:translateX(-50%)}.act-map-attribution{position:absolute;right:0.4rem;bottom:0.35rem;z-index:2;padding:0.15rem 0.3rem;border-radius:0.25rem;color:var(--muted);background:rgba(255,253,248,0.88);font-size:0.66rem;font-weight:800;text-decoration:none}.act-modal-body{padding:1.4rem}.act-modal-body h3{margin:0.25rem 0 0.65rem;font-size:1.3rem}.act-modal-body p{margin:0 0 0.5rem;color:var(--muted);font-size:0.92rem}.act-modal-address{display:flex !important;align-items:center;gap:0.35rem;font-weight:800;color:var(--ink) !important}.act-modal-distance{display:inline-flex;width:fit-content;padding:0.3rem 0.55rem;border:1px solid rgba(34,107,79,0.18);border-radius:999px;color:var(--accent) !important;background:var(--soft);font-weight:900}.act-modal-distance[hidden]{display:none}.act-modal-close{position:absolute;top:0.65rem;right:0.65rem;z-index:10;display:grid;place-items:center;width:2rem;height:2rem;border:none;border-radius:50%;background:rgba(255,255,255,0.92);backdrop-filter:blur(4px);cursor:pointer;transition:background 0.15s}.act-modal-close:hover{background:#fff}.act-modal-close svg{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}.establishment-section{padding:2.5rem 0}.establishment-activity-carousel{margin-top:0}.establishment-activity-carousel .activity-strip a{flex-basis:180px}.establishment-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.8rem}.establishment-activity-grid article,.room-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.establishment-activity-grid article{display:grid;gap:0.55rem;padding:1rem}.establishment-activity-grid h3,.establishment-activity-grid p{margin:0}.establishment-activity-grid p{color:var(--muted);font-size:0.92rem}.room-carousel{display:flex;align-items:center;gap:0.65rem;width:100vw;margin-left:calc(50% - 50vw);padding-inline:1rem;box-sizing:border-box}.room-strip{flex:1;display:flex;gap:0.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.room-strip::-webkit-scrollbar{display:none}.room-card{flex:0 0 calc((100% - 1.6rem) / 3);min-width:280px;display:grid;grid-template-rows:auto 1fr auto;gap:0.9rem;padding:0.8rem;scroll-snap-align:start}.room-carousel-btn{flex:0 0 auto;display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid rgba(34,107,79,0.2);border-radius:50%;color:#fff;background:var(--accent);cursor:pointer;box-shadow:0 10px 24px rgba(36,48,43,0.12);animation:carousel-button-float 2600ms ease-in-out infinite;transition:transform 160ms ease,box-shadow 160ms ease,opacity 160ms ease}.room-carousel-btn:hover,.room-carousel-btn:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px rgba(36,48,43,0.16)}.room-carousel-btn:disabled{color:var(--accent);background:var(--soft);opacity:0.45;animation:none;box-shadow:none}.room-carousel-btn svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.establishment-room-photo{display:flex;align-items:end;min-height:220px;padding:0.8rem;border-radius:var(--radius);overflow:hidden;color:#fff;background:linear-gradient(180deg,rgba(36,48,43,0.04),rgba(36,48,43,0.58)),var(--room-img) center / cover no-repeat;text-decoration:none}.establishment-room-photo span{max-width:100%;padding:0.35rem 0.55rem;border-radius:999px;background:rgba(36,48,43,0.62);font-weight:900}.room-card h3,.room-card p{margin:0}.room-card p:not(.eyebrow){color:var(--muted)}.room-card footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:0.75rem;border-top:1px solid var(--line)}.room-card footer a{color:var(--accent);font-weight:900;text-decoration:none}.establishment-map-section{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(360px,1.1fr);gap:1.2rem;align-items:stretch}.establishment-description{display:grid;align-content:center;min-width:0;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.establishment-description h2{max-width:620px;margin:0;font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.05;overflow-wrap:anywhere}.establishment-description p:not(.eyebrow){max-width:620px;color:var(--muted);overflow-wrap:anywhere}.host-labels-list{display:flex;flex-wrap:wrap;gap:.4rem .6rem;list-style:none;padding:0;margin:.75rem 0 0}.host-labels-list li{font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:2rem;padding:.2rem .7rem}.host-hours-list{display:flex;gap:1.2rem;margin:.75rem 0 0;font-size:.88rem;color:var(--muted)}.host-hours-list div{display:flex;gap:.4rem}.host-hours-list dt{font-weight:600;color:var(--fg)}.host-languages{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .75rem;margin:.75rem 0 0}.host-languages-label{font-size:.8rem;color:var(--muted);font-weight:500;white-space:nowrap}.host-languages-list{display:flex;flex-wrap:wrap;gap:.35rem .6rem;list-style:none;padding:0;margin:0}.host-language-item{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--fg)}.host-language-item .flag{width:1.3rem;height:.88rem}.host-map-note{margin-top:1.25rem;font-size:.8rem !important;opacity:.6}.osm-preview{min-width:0;min-height:360px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;background:var(--soft)}.osm-preview iframe{width:100%;height:100%;min-height:360px;border:0;display:block}.osm-preview a{position:absolute;right:0.8rem;bottom:0.7rem;padding:0.42rem 0.65rem;border-radius:999px;color:var(--accent);background:rgba(255,253,248,0.9);font-weight:800;text-decoration:none}.calendar-note{margin:0.8rem 0 0;color:var(--muted)}.native-availability{display:flex;width:calc(100vw - clamp(2rem,8vw,100px));margin-left:calc(50% - 50vw+clamp(1rem,4vw,50px));border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.native-labels-col{flex-shrink:0;width:160px;border-right:1px solid var(--line);background:var(--paper)}.native-labels-spacer{display:flex;align-items:flex-end;padding:0.4rem 0.65rem 0.45rem;height:3.4rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:0.75rem;font-weight:900;text-transform:uppercase;letter-spacing:0.04em}.native-room-label{display:grid;align-content:center;height:3.6rem;padding:0.4rem 0.65rem;border-bottom:1px solid var(--line);background:var(--soft)}.native-room-label strong,.native-room-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.native-room-label span{color:var(--muted);font-size:0.75rem;font-weight:800}.native-days-scroll{flex:1;overflow-x:auto;min-width:0}.native-availability-head{display:flex;gap:0.3rem;padding:0.3rem 0.4rem;height:3.4rem;border-bottom:1px solid var(--line);align-items:center}.native-day-col{flex:0 0 38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.1rem}.native-day-abbr{color:var(--muted);font-size:0.62rem;font-weight:900;text-transform:uppercase;letter-spacing:0.04em}.native-day-col span:last-child{color:var(--muted);font-size:0.75rem;font-weight:900}.native-availability-row{display:flex;gap:0.3rem;padding:0.4rem;height:3.6rem;border-bottom:1px solid var(--line);align-items:center}.native-availability-row:nth-child(even) .native-day-available{background:#dce8dd}.native-availability-row:nth-child(even) .native-day-available.nd--range{background:#d0ecdf}.native-availability-row:nth-child(even) .native-day-available.nd--selected{background:var(--accent)}.native-day{flex:0 0 38px;height:2.6rem;border-radius:6px;background:var(--soft);font-style:normal}.native-day-booked{background:var(--accent-2)}.native-day-closed{background:#d9d2c5}.calendar-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;margin-top:0.9rem}.availability-legend{display:flex;flex-wrap:wrap;gap:0.65rem}.availability-legend span{display:inline-flex;align-items:center;gap:0.35rem;color:var(--muted);font-weight:800;font-size:0.82rem}.availability-legend .native-day{flex:none;width:1.2rem;height:1.2rem;border-radius:4px}.calendar-nav{display:flex;align-items:center;gap:0.75rem}.calendar-nav-month{font-size:0.9rem;font-weight:900;min-width:130px;text-align:center}.calendar-nav-btn{display:inline-flex;align-items:center;gap:0.3rem;padding:0.4rem 0.75rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:0.82rem;font-weight:900;text-decoration:none;transition:background 0.15s,border-color 0.15s}.calendar-nav-btn:hover{background:var(--soft);border-color:var(--accent);color:var(--accent)}.calendar-nav-btn svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.calendar-note a{color:var(--accent);font-weight:900}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:2rem;align-items:start;padding:4rem 0}.auth-layout h1{max-width:720px;margin:0;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1}.auth-layout p{max-width:620px;color:var(--muted)}.auth-card{display:grid;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.auth-card label{display:grid;gap:0.35rem}.auth-card label span{color:var(--muted);font-size:0.85rem;font-weight:700}.auth-card input{width:100%;min-height:2.8rem;padding:0.65rem 0.75rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.auth-card button{min-height:2.8rem;border:0;border-radius:var(--radius);color:#fff;background:var(--accent);font-weight:800}.form-alert{margin:0;padding:0.75rem;border-radius:var(--radius);color:#7d2d1b;background:#f7dfd4}.form-success{margin:0;padding:0.75rem;border-radius:var(--radius);color:#1b4d2b;background:#d4f0dc}.notice-banner{padding:0.75rem 1.5rem;font-size:0.9rem;border-left:4px solid transparent}.notice-banner.notice-info{color:#1a3a5c;background:#ddeeff;border-color:#3a7bd5;word-break:break-all}.notice-banner.notice-warning{color:#5c3a00;background:#fff3cd;border-color:#e6a800}.account-grid article{padding:1rem}.local-test-accounts,.linked-customers{padding:1.5rem 0}.test-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.8rem}.test-account-grid article,.linked-customers article{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.test-account-grid h3,.test-account-grid p{margin:0}.test-account-grid p{margin-top:0.45rem;color:var(--muted)}.test-account-grid strong{color:var(--ink)}.linked-customers{display:grid;gap:0.7rem}.booking-history{display:grid;gap:0.85rem}.booking-history article{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,0.8fr);gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.booking-history h3,.booking-history p,.booking-history dl{margin:0}.booking-history h3{font-size:1.25rem}.booking-history p:not(.eyebrow){color:var(--muted)}.booking-history dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.6rem}.booking-history dt{color:var(--muted);font-size:0.78rem;font-weight:700}.booking-history dd{margin:0.15rem 0 0;font-weight:800}.linked-customers article{display:flex;gap:0.75rem;align-items:center;justify-content:space-between}.linked-customers span{color:var(--muted)}.linked-customers em{padding:0.25rem 0.5rem;border-radius:999px;color:var(--accent);background:var(--soft);font-style:normal;font-weight:800}.traveler-schema-grid article{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.traveler-schema-grid h3,.traveler-schema-grid p{margin:0}.traveler-schema-grid strong{display:block;margin:0.6rem 0 0.35rem;color:var(--accent);font-size:2rem}.traveler-schema-grid p{color:var(--muted);font-size:0.92rem}.empty-state,.site-footer{color:var(--muted)}.site-footer{width:min(1120px,calc(100% - 2rem));margin:3rem auto 0;padding:1.5rem 0;border-top:1px solid var(--line)}.frame-agenda{width:100%}@media (max-width:860px){main{width:calc(100% - 2rem)}.site-header,.hero,.room-show-hero,.room-show-layout,.eco-detail-grid,.detail-layout,.establishment-map-section{grid-template-columns:1fr}.host-cta-grid{grid-template-columns:1fr}.act-modal{width:100vw;max-height:88dvh;border-radius:var(--radius) var(--radius) 0 0;margin:auto auto 0}.site-header{position:sticky;padding:0.85rem 1rem}.search-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.85fr);order:3;width:100%;border-radius:var(--radius);gap:0.25rem}.search-shell button{grid-column:1 / -1;min-width:0;width:100%;padding-inline:0.7rem;color:#fff}.search-shell label{padding-inline:0.45rem}.top-nav{justify-content:flex-start}.header-activity-dock{order:4}.hero-immersive{min-height:620px;padding:4rem 1rem 3rem}.activity-carousel{display:grid;grid-template-columns:1fr 1fr;gap:0.45rem;align-items:center}.activity-carousel-home{margin-top:-1.25rem}.activity-carousel-button{display:grid;margin-top:-0.25rem;grid-row:2}.activity-carousel-prev{justify-self:end}.activity-carousel-next{justify-self:start}.activity-strip{grid-column:1 / -1;grid-row:1;padding-inline:0;scroll-padding-inline:0}.activity-strip a{flex-basis:100%;min-height:142px;padding-block:1.15rem}.card-grid,.host-grid,.eco-strip,.account-grid,.traveler-schema-grid,.auth-layout,.test-account-grid,.metrics{grid-template-columns:1fr}.eco-strip dl{grid-template-columns:1fr}.room-list article{grid-template-columns:1fr}.room-show-media,.room-show-media img{min-height:420px}.room-show-facts{grid-template-columns:1fr}.room-decision-panel{position:static}.room-native-calendar{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible}.room-calendar-nav{justify-content:flex-start}.booking-history article,.booking-history dl,.eco-score-list{grid-template-columns:1fr}.establishment-photo,.establishment-photo img{min-height:620px}.establishment-facts,.establishment-activity-grid{grid-template-columns:1fr}.room-carousel-btn{display:none}.room-card{flex:0 0 82%;min-width:0}.establishment-intro{max-width:none}.establishment-intro h1{font-size:2.35rem}.establishment-intro .lead{font-size:1rem}.establishment-description{padding:1rem}.establishment-description h2{font-size:1.45rem;line-height:1.12}.establishment-description p:not(.eyebrow){font-size:0.95rem}.osm-preview{min-height:300px}}.calendar-hint{font-size:0.82rem;color:var(--muted);margin:0 0 0.5rem}.room-native-day[data-available="1"]:hover{background:#e6f4ee;border-color:var(--accent)}.room-native-day.rnd--range{background:#d0ecdf;border-color:#8ecfac;color:#1b5e36}.room-native-day.rnd--selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.native-day.nd--range{background:#d0ecdf;border-color:#8ecfac;color:#1b5e36}.native-day.nd--selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.native-day-col.nd--range{background:#d0ecdf;border-radius:6px;color:#1b5e36}.native-day-col.nd--selected{background:var(--accent);border-radius:6px;color:#fff}.native-day[data-available="1"]:hover{background:#e6f4ee;cursor:pointer}.booking-dates-summary{padding:0.6rem 1rem;background:#f0faf4;border-left:3px solid var(--accent);border-radius:var(--radius);font-size:0.9rem;font-weight:600;color:#1b5e36}.booking-clear-btn,.auth-card .booking-clear-btn{all:unset;cursor:pointer;font-size:0.8rem;color:var(--muted);text-decoration:underline;align-self:flex-start;min-height:unset;background:none;font-weight:400}.booking-clear-btn:hover,.auth-card .booking-clear-btn:hover{color:var(--text);background:none}.room-booking-split{display:grid;grid-template-columns:1fr 360px;grid-template-rows:auto 1fr;gap:0 3rem;align-items:start}.booking-split-header{grid-column:1 / -1;margin-bottom:1.25rem}.booking-split-header h2{margin:0;font-size:1.8rem}.booking-col-form{position:sticky;top:1.5rem}@media (max-width:960px){.room-booking-split{grid-template-columns:1fr;gap:2rem 0}.booking-col-form{position:static}}.host-booking-split .booking-col-form{max-width:680px;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line);position:static}.booking-request-section{max-width:680px}.booking-request-form{gap:1.25rem}.booking-request-dates{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-width:0}.booking-request-dates label{min-width:0}.booking-request-form textarea{width:100%;padding:0.65rem 0.8rem;border:1px solid #d1d5db;border-radius:var(--radius);font-family:inherit;font-size:0.95rem;resize:vertical}.booking-request-note{margin:0;font-size:0.82rem;color:var(--muted);text-align:center}.notice-banner.notice-success{color:#1b4d2b;background:#d4f0dc;border-color:#2e8a4a}.notice-banner.notice-error{color:#7d2d1b;background:#f7dfd4;border-color:#c0392b}@media (max-width:560px){.booking-request-dates{grid-template-columns:1fr}}.favorite-btn{position:absolute;top:0.6rem;right:0.6rem;z-index:2;display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:none;border-radius:50%;background:rgba(255,253,248,0.88);backdrop-filter:blur(6px);cursor:pointer;color:var(--muted);transition:color 160ms ease,transform 160ms ease,background 160ms ease}.favorite-btn svg{width:1.1rem;height:1.1rem;pointer-events:none}.favorite-btn:hover{background:var(--paper);color:var(--accent);transform:scale(1.1)}.favorite-btn.is-favorited{color:var(--accent)}.favorite-btn.is-favorited svg{fill:var(--accent);stroke:var(--accent)}.favorite-btn.is-loading{opacity:0.5;pointer-events:none}.account-body-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;align-items:start;padding-bottom:4rem}.account-main{display:grid;gap:2.5rem}.account-aside{display:grid;gap:1.5rem;position:sticky;top:5rem}.account-aside-card{display:grid;gap:0.9rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.account-aside-card .eyebrow{margin:0}.account-aside-card h2{margin:0;font-size:1.1rem}.account-aside-card p{margin:0;font-size:0.9rem;color:var(--muted)}.account-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;padding:2rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.account-empty-hint{font-size:0.88rem;color:var(--muted);margin:0}.booking-history{display:grid;gap:0.8rem}.booking-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.booking-card-status .eyebrow{margin:0}.booking-card-body h3{margin:0 0 0.2rem;font-size:1rem}.booking-card-body p{margin:0;font-size:0.88rem;color:var(--muted)}.booking-card-dates{display:flex;gap:1.5rem;margin:0;text-align:right}.booking-card-dates dt{font-size:0.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em}.booking-card-dates dd{margin:0;font-weight:700;font-size:0.92rem}.linked-customers-list{display:grid;gap:0.5rem;margin:0;padding:0;list-style:none}.linked-customers-list li{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;padding:0.5rem 0.7rem;border:1px solid var(--line);border-radius:var(--radius);font-size:0.88rem}.linked-customers-list span{color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-status{font-size:0.75rem;font-style:normal;font-weight:700;padding:0.15rem 0.5rem;border-radius:99px;background:var(--soft);color:var(--accent)}.link-status-pending{background:#fef3cd;color:#7d5a00}@media (max-width:900px){.account-body-layout{grid-template-columns:1fr}.account-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.account-aside{grid-template-columns:1fr}.booking-card{grid-template-columns:1fr}.booking-card-dates{text-align:left}}