.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-guests{border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem .9rem;margin-bottom:var(--space-sm)}.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)}
