.nav{background:var(--color-forest)!important;box-shadow:var(--shadow-md)}.property-hero-gallery{margin-top:var(--nav-height);display:grid;grid-template-columns:2fr 1fr;grid-template-rows:300px 200px;gap:4px;height:508px}.gallery-main{grid-row:1 / 3;overflow:hidden;position:relative}.gallery-thumb{overflow:hidden;position:relative}.gallery-main img,.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-main:hover img,.gallery-thumb:hover img{transform:scale(1.03)}.gallery-thumb:last-child .gallery-more{position:absolute;inset:0;background:#1b2a16a6;display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:1rem;font-weight:700;cursor:pointer}.gallery-main,.gallery-thumb{cursor:pointer}.gallery-mobile-hint{display:none}@media (max-width: 900px){.gallery-mobile-hint{display:flex;align-items:center;gap:5px;position:absolute;bottom:10px;right:10px;background:#0000008c;color:#fff;font-size:.78rem;font-weight:600;padding:5px 10px;border-radius:var(--radius-pill);pointer-events:none}}.property-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-xl);align-items:start;padding:var(--space-lg) 0 var(--space-2xl)}.booking-card{background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);position:sticky;top:calc(var(--nav-height) + 1rem);box-shadow:var(--shadow-lg)}.booking-card-price .amount{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--color-forest)}.booking-card-price .unit{font-size:.9rem;color:var(--color-text-muted)}.booking-form-dates{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin:var(--space-sm) 0}.min-nights-notice{margin:calc(var(--space-sm) * -1 + 2px) 0 var(--space-sm);padding:.55rem .7rem;background:var(--color-gold-light);color:var(--color-brown);border-radius:var(--radius-md);font-size:.8rem;line-height:1.35}.booking-form-field{padding:.6rem .9rem}.booking-form-field:first-child{border-right:1px solid var(--color-border)}.booking-form-field label,.booking-guests label{display:block;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-forest);margin-bottom:2px}.booking-form-field input,.booking-form-field select,.booking-guests select{border:none;outline:none;font-size:.9rem;width:100%;background:transparent}.booking-form-field select,.booking-guests select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%234A6A72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 0 center;padding-right:18px}.booking-guests{border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem .9rem;margin-bottom:var(--space-sm)}.booking-coupon{margin-bottom:.4rem}.coupon-check{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--color-text);cursor:pointer;user-select:none}.coupon-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--color-border);border-radius:4px;background:var(--color-white);display:inline-grid;place-content:center;cursor:pointer;transition:background .12s ease,border-color .12s ease}.coupon-check input[type=checkbox]:hover{border-color:var(--color-forest-mid)}.coupon-check input[type=checkbox]:checked{background:var(--color-gold);border-color:var(--color-gold)}.coupon-check input[type=checkbox]:checked:after{content:"";width:10px;height:10px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:contain;background-repeat:no-repeat}.coupon-panel{margin-top:.75rem}.bc-sublabel{display:block;font-size:.85rem;color:var(--color-text);margin-bottom:.35rem}.coupon-row{display:flex;gap:.5rem;align-items:center}.coupon-row input{flex:1;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:.55rem .7rem;font-size:.95rem;font-family:inherit;text-transform:uppercase;letter-spacing:.04em;background:var(--color-white);outline:none;min-width:0}.coupon-row input:focus{border-color:var(--color-forest-mid)}.coupon-apply{background:none;border:none;padding:0 .25rem;color:#2962d3;font-weight:600;font-size:.95rem;cursor:pointer;font-family:inherit}.coupon-apply:hover{color:#1e4aa3;text-decoration:underline}.coupon-clear{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1.2rem;line-height:1;padding:0 .25rem}.coupon-clear:hover{color:var(--color-text)}.coupon-hint{margin-top:.4rem;font-size:.78rem;color:var(--color-text-muted)}.coupon-status{font-size:.78rem;margin-top:.25rem}.coupon-status:empty{margin-top:0}.coupon-status.ok{color:var(--color-olive)}.coupon-status.err{color:#b3261e}.cancellation-policy{margin-bottom:.6rem}.cancellation-collapsible>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:.92rem;color:var(--color-text)}.cancellation-collapsible>summary::-webkit-details-marker{display:none}.cancellation-collapsible .bc-chevron{color:var(--color-text-muted);transition:transform .15s ease;flex-shrink:0}.cancellation-collapsible[open] .bc-chevron{transform:rotate(180deg)}.cancellation-collapsible .cp-body{padding:.55rem 0 .65rem;font-size:.85rem;line-height:1.45;color:var(--color-text-muted)}.price-collapsible{margin-bottom:.4rem}.price-collapsible>summary{list-style:none;cursor:pointer;align-items:center;margin-bottom:0}.price-collapsible>summary::-webkit-details-marker{display:none}.price-collapsible .pc-head{display:inline-flex;align-items:center;gap:.3rem}.price-collapsible .bc-chevron{color:var(--color-text-muted);transition:transform .15s ease}.price-collapsible[open] .bc-chevron{transform:rotate(180deg)}.price-collapsible .pc-body{margin-top:.35rem;margin-bottom:.5rem}.price-line.sub-item{padding-left:0;font-size:.85rem;color:var(--color-text-muted);margin-bottom:.3rem}.price-line.subtotal-top{color:var(--color-text);font-weight:600;font-size:.95rem;margin-bottom:.2rem}.price-line.nights-note{font-size:.75rem;color:var(--color-text-muted);margin-top:-.15rem;margin-bottom:.6rem}.price-line.discount{color:var(--color-olive);font-weight:500}.price-breakdown{border-top:1px solid var(--color-border);margin-top:var(--space-sm);padding-top:var(--space-sm)}.price-line{display:flex;justify-content:space-between;font-size:.88rem;margin-bottom:.4rem;color:var(--color-text-muted)}.price-line.total{font-weight:700;color:var(--color-text);font-size:.95rem;border-top:1px solid var(--color-border);padding-top:.5rem;margin-top:.5rem}.price-line.subtotal{color:var(--color-text);font-weight:500;border-top:1px dashed var(--color-border);padding-top:.4rem;margin-top:.2rem}.price-line.tax-item span:first-child{padding-left:1rem;font-size:.82rem}.booking-note{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin-top:.5rem}.property-section{border-bottom:1px solid var(--color-border);padding:var(--space-md) 0}.property-section:last-child{border-bottom:none}.property-section h2{color:var(--color-forest);margin-bottom:var(--space-sm);font-size:1.25rem}.amenity-group{margin-bottom:var(--space-md)}.amenity-group:last-child{margin-bottom:0}.amenity-group-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-forest);margin:0 0 var(--space-xs)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}@media (max-width: 480px){.amenities-grid{grid-template-columns:1fr 1fr}}.amenity-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted)}.amenity-item .check{color:var(--color-forest);font-weight:700}.reviews-list{display:flex;flex-direction:column;gap:var(--space-sm)}.review-item{padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.review-item:last-child{border-bottom:none}.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.review-author{font-weight:600;font-size:.9rem}.review-date{font-size:.78rem;color:var(--color-text-muted)}.review-text{font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.reviews-layout{display:grid;grid-template-columns:210px 1fr;gap:var(--space-lg);align-items:start}.reviews-breakdown{background:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.reviews-agg-score{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;color:var(--color-text);line-height:1}.reviews-agg-stars{font-size:1.1rem;color:var(--color-gold);margin:4px 0 2px;letter-spacing:.05em}.reviews-agg-label{font-size:.78rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.star-widget{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;line-height:1;margin-top:.35rem}.star-widget .sw-score{font-weight:700;color:var(--color-forest)}.star-widget .sw-stars{position:relative;display:inline-block;color:#d0d0d0;font-size:.95rem;letter-spacing:1px;line-height:1}.star-widget .sw-fill{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--color-gold)}.star-widget .sw-count{color:var(--color-text-muted);font-size:.8rem}.star-widget .sw-count a{color:inherit;text-decoration:underline}.star-bar-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.star-bar-label{font-size:.75rem;color:var(--color-forest);text-decoration:none;white-space:nowrap;width:38px;flex-shrink:0}.star-bar-track{flex:1;height:10px;background:#e8e8e8;border-radius:5px;overflow:hidden}.star-bar-fill{height:100%;background:var(--color-gold);border-radius:5px;transition:width .4s}.star-bar-pct{font-size:.72rem;color:var(--color-text-muted);width:28px;text-align:right;flex-shrink:0}.review-hidden{display:none}.reviews-list-col h3{font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}@media (max-width: 700px){.reviews-layout{grid-template-columns:1fr}}.map-embed{display:block;width:100%;aspect-ratio:16 / 9;max-height:480px;border:0;border-radius:var(--radius-md)}.lightbox{display:none;position:fixed;inset:0;z-index:1000;background:#000000f5;flex-direction:column;align-items:center;justify-content:space-between}.lightbox.open{display:flex}.lightbox-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;flex-shrink:0}.lightbox-counter{color:#fff9;font-size:.85rem;font-weight:500}.lightbox-close{background:none;border:none;color:var(--color-white);font-size:1.75rem;line-height:1;cursor:pointer;padding:4px 8px;opacity:.8;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-stage{flex:1;width:100%;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:0 3.5rem}.lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);user-select:none}.lightbox-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:none;color:var(--color-white);font-size:1.75rem;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-btn:hover{background:#ffffff40}.lightbox-btn.prev{left:.5rem}.lightbox-btn.next{right:.5rem}.lightbox-btn:disabled{opacity:.25;cursor:default}.lightbox-thumbs-wrap{width:100%;flex-shrink:0;padding:.75rem 1rem;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.lightbox-thumbs{display:flex;gap:6px;width:max-content}.lightbox-thumb{width:72px;height:52px;flex-shrink:0;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.55;transition:opacity .2s,border-color .2s}.lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lightbox-thumb.active{border-color:var(--color-gold);opacity:1}.lightbox-thumb:hover{opacity:.9}.cal-widget{user-select:none}.cal-banner{display:flex;align-items:stretch;background:var(--color-forest);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.cal-banner-labels{flex:1;display:grid;grid-template-columns:repeat(3,1fr)}.cal-banner-labels span{text-align:center;color:var(--color-white);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:9px 4px}.cal-nav-btn{background:none;border:none;color:var(--color-white);font-size:1.4rem;line-height:1;padding:0 12px;cursor:pointer;opacity:.8;transition:opacity .15s;display:flex;align-items:center}.cal-nav-btn:hover:not(:disabled){opacity:1}.cal-nav-btn:disabled{opacity:.25;cursor:default}.cal-months{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--space-md);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:0 var(--space-sm) var(--space-xs)}.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr)}.cal-dow{font-size:.65rem;font-weight:700;color:var(--color-text-muted);text-align:center;padding:7px 0 4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--color-border)}.cal-day{font-size:.78rem;text-align:center;padding:5px 2px;color:var(--color-text);font-weight:600}.cal-day.empty{background:transparent}.cal-day.past{color:#ccc;font-weight:400}.cal-day.booked{background:#e8e8e8;color:#aaa;font-weight:400}.cal-day.checkin{background:linear-gradient(to bottom right,#fff 50%,#e8e8e8 50%);color:var(--color-text-muted);font-weight:400}.cal-day.checkout{background:linear-gradient(to bottom right,#e8e8e8 50%,#fff 50%);color:var(--color-text-muted);font-weight:400}.cal-day.today{color:var(--color-forest);font-weight:800;text-decoration:underline;text-underline-offset:2px}.cal-legend{display:flex;gap:var(--space-md);margin-top:var(--space-sm);font-size:.75rem;color:var(--color-text-muted);flex-wrap:wrap}.cal-legend-item{display:flex;align-items:center;gap:5px}.cal-legend-swatch{width:14px;height:14px;border-radius:2px;border:1px solid var(--color-border);flex-shrink:0}.cal-legend-swatch.available{background:#fff}.cal-legend-swatch.checkin-out{background:linear-gradient(to bottom right,#fff 50%,#e8e8e8 50%)}.cal-legend-swatch.booked{background:#e8e8e8}@media (max-width: 700px){.cal-months{grid-template-columns:1fr;gap:0}.cal-month:not(:first-child){display:none}.cal-banner-labels{grid-template-columns:1fr}.cal-banner-labels span:not(:first-child){display:none}}@media (max-width: 900px){.property-hero-gallery{grid-template-columns:1fr;grid-template-rows:280px;height:280px}.gallery-thumb{display:none}.gallery-main{grid-row:auto}.property-layout{grid-template-columns:1fr;padding-top:var(--space-sm);gap:var(--space-sm)}.booking-card{position:static}.property-layout>div:first-child{order:2}.property-layout>div:last-child{order:1}.breadcrumb{margin-top:0!important;margin-bottom:var(--space-xs)}}.mobile-book-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-top:2px solid var(--color-border);padding:12px var(--space-md);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 24px #11283024;z-index:500;align-items:center;justify-content:space-between;gap:var(--space-sm);transform:translateY(105%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-book-bar.is-shown{transform:translateY(0)}@media (max-width: 900px){.mobile-book-bar{display:flex}}.mbb-price{display:flex;flex-direction:column}.mbb-label{font-size:.7rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.mbb-amount{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-forest);line-height:1.1}.mbb-unit{font-size:.8rem;color:var(--color-text-muted)}
