:root {--primary:#2d5a3d;--primary-dark:#1e3d2a;--primary-light:#4a7c5e;--accent:#c9a96e;--accent-dark:#b08d5f;--bg:#faf9f7;--bg-warm:#f5f0eb;--text:#1a1a1a;--text-light:#666;--text-muted:#999;--white:#ffffff;--shadow:0 4px 20px rgba(0,0,0,0.08);--shadow-lg:0 8px 40px rgba(0,0,0,0.12);--radius:12px;--radius-lg:16px;--primary-50:#f2fcf5;--primary-100:#e4efe8;--primary-500:var(--primary-light);--primary-600:var(--primary);--primary-700:var(--primary-dark);--wood-100:#f5f0eb;--wood-500:var(--accent-dark);--gray-50:var(--bg);--gray-100:var(--bg-warm);--gray-200:#e5e0d8;--gray-600:var(--text-light);--gray-700:#444;--gray-800:#2a2a2a;--gray-900:#1a1a1a;}* {margin:0;padding:0;box-sizing:border-box;}html {scroll-behavior:smooth;width:100%;overflow-x:hidden;}body,.lodge-body {font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;width:100%;overflow-x:hidden;}h1,h2,h3,h4 {font-family:'Playfair Display',serif;font-weight:600;}.container,.section-inner {max-width:1200px;margin:0 auto;width:100%;}.hidden {display:none !important;}.nav {position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 24px;transition:all 0.3s ease;}.nav.scrolled,.nav.menu-open {background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);box-shadow:var(--shadow);}.nav-inner {max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}.nav-logo {font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:8px;}.nav.scrolled .nav-logo,.nav.menu-open .nav-logo {color:var(--primary);}.nav-logo svg,.nav-logo i,.nav-logo .feather {width:32px;height:32px;}.nav-links {display:flex;gap:32px;align-items:center;}.nav-link {color:var(--white);text-decoration:none;font-size:0.9rem;font-weight:500;transition:opacity 0.2s;position:relative;}.nav.scrolled .nav-link,.nav.menu-open .nav-link {color:var(--text);}.nav-link::after {content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width 0.3s;}.nav-link:hover::after {width:100%;}.nav-cta {background:var(--accent);color:var(--white);padding:10px 24px;border-radius:50px;text-decoration:none;font-weight:600;font-size:0.85rem;transition:all 0.3s;}.nav-cta:hover {background:var(--accent-dark);transform:translateY(-2px);}.mobile-menu-btn {display:none;background:none;border:none;cursor:pointer;padding:8px;}.mobile-menu-btn span {display:block;width:24px;height:2px;background:var(--white);margin:5px 0;transition:all 0.3s;}.nav.scrolled .mobile-menu-btn span,.nav.menu-open .mobile-menu-btn span {background:var(--text);}.mobile-menu {display:none;position:fixed;inset:0;z-index:999;background:rgba(255,255,255,0.82);backdrop-filter:blur(16px);padding:80px 24px 24px;}.mobile-menu.active {display:block;}.mobile-menu-links {display:flex;flex-direction:column;gap:16px;}.mobile-menu-links a {color:var(--text);text-decoration:none;font-size:1.2rem;font-weight:500;padding:12px 0;border-bottom:1px solid #eee;}.hero {min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}.hero-bg {position:absolute;inset:0;}.hero-bg-photo {width:100%;height:100%;object-fit:cover;}.hero-overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,61,42,0.85)0%,rgba(30,61,42,0.6)50%,rgba(30,61,42,0.4)100% );}.hero-content {position:relative;z-index:2;text-align:center;padding:120px 24px 80px;max-width:800px;}.hero-badge {display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);padding:8px 20px;border-radius:50px;color:var(--white);font-size:0.85rem;margin-bottom:24px;border:1px solid rgba(255,255,255,0.2);}.hero-badge svg {width:16px;height:16px;}.hero h1 {font-size:clamp(2.5rem,6vw,4.5rem);color:var(--white);line-height:1.1;margin-bottom:20px;text-shadow:0 2px 20px rgba(0,0,0,0.3);}.hero-subtitle {font-size:clamp(1rem,2.5vw,1.35rem);color:rgba(255,255,255,0.9);font-weight:300;margin-bottom:40px;line-height:1.6;}.hero-features {display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}.hero-feature {display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.85);font-size:0.9rem;}.hero-feature svg {width:20px;height:20px;color:var(--accent);}.hero-cta {display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:var(--white);padding:18px 40px;border-radius:50px;text-decoration:none;font-size:1.1rem;font-weight:600;transition:all 0.3s;box-shadow:0 8px 30px rgba(201,169,110,0.4);}.hero-cta:hover {background:var(--accent-dark);transform:translateY(-3px);box-shadow:0 12px 40px rgba(201,169,110,0.5);}.hero-cta svg {width:20px;height:20px;transition:transform 0.3s;}.hero-cta:hover svg {transform:translateX(4px);}.hero-actions {display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;}.hero-cta-secondary {background:transparent;box-shadow:none;border:1px solid rgba(255,255,255,0.55);color:var(--white);}.hero-cta-secondary:hover {background:rgba(255,255,255,0.12);box-shadow:none;border-color:var(--white);}.hero-cta-secondary:hover svg {transform:none;}.hero-scroll {position:absolute;bottom:32px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.6);animation:bounce 2s infinite;}@keyframes bounce {0%,100% {transform:translateX(-50%)translateY(0);}50% {transform:translateX(-50%)translateY(-10px);}}.btn {display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 2rem;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all 0.2s;text-decoration:none;border:none;font-family:inherit;}.btn-icon {width:1.25rem;height:1.25rem;margin-right:0.5rem;}.btn-primary {background:var(--primary);color:var(--white);}.btn-primary:hover {background:var(--primary-dark);transform:translateY(-2px);}.btn-secondary {background:var(--white);color:var(--text);border:1px solid var(--gray-200);}.btn-secondary:hover {background:var(--bg-warm);}.btn-block {width:100%;}.btn-primary:disabled {opacity:0.5;cursor:not-allowed;transform:none;}.btn-outline {display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border:2px solid var(--primary);color:var(--primary);text-decoration:none;border-radius:50px;font-weight:600;transition:all 0.3s;background:transparent;cursor:pointer;font-size:0.95rem;font-family:inherit;}.btn-outline:hover {background:var(--primary);color:var(--white);}.section {padding:80px 24px;}.section-header {text-align:center;margin-bottom:48px;}.section-label {display:inline-block;color:var(--accent);font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;}.section h2,.section-heading {font-size:clamp(1.8rem,4vw,2.8rem);color:var(--text);margin-bottom:16px;}.section-desc {color:var(--text-light);max-width:600px;margin:0 auto;font-size:1.05rem;}.info-section {background:var(--bg-warm);}.info-grid {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}.info-image {border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}.info-image img {width:100%;height:400px;object-fit:cover;display:block;}.info-content h3 {font-size:1.8rem;margin-bottom:20px;color:var(--text);}.info-content p {color:var(--text-light);margin-bottom:16px;line-height:1.7;}.info-details {display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;}.info-detail {display:flex;align-items:flex-start;gap:12px;}.info-detail-icon {width:40px;height:40px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.info-detail-icon svg {width:20px;height:20px;color:var(--white);}.info-detail-text strong {display:block;color:var(--text);font-size:0.95rem;}.info-detail-text span {color:var(--text-light);font-size:0.85rem;}.price-tag {display:inline-flex;align-items:baseline;gap:8px;background:var(--primary);color:var(--white);padding:16px 28px;border-radius:var(--radius);margin-top:24px;}.price-tag .price {font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;}.price-tag .price-unit {font-size:0.9rem;opacity:0.9;}.gallery-section {background:var(--bg);}.gallery-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}.gallery-item {position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:var(--gray-900);}.gallery-item img,.gallery-item video {width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s;}.gallery-item:hover img,.gallery-item:hover video {transform:scale(1.05);}.gallery-overlay {position:absolute;inset:0;background:rgba(0,0,0,0);transition:background 0.3s;display:flex;align-items:center;justify-content:center;pointer-events:none;}.gallery-item:hover .gallery-overlay {background:rgba(0,0,0,0.2);}.gallery-zoom {width:48px;height:48px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0.8);transition:all 0.3s;color:var(--text);}.gallery-item:hover .gallery-zoom {opacity:1;transform:scale(1);}.gallery-zoom svg {width:20px;height:20px;}.gallery-item-play {position:absolute;top:50%;left:50%;z-index:2;width:56px;height:56px;margin:0;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:50%;color:var(--primary);opacity:1;transform:translate(-50%,-50%);box-shadow:0 6px 20px rgba(0,0,0,0.28);pointer-events:none;transition:transform 0.2s,background 0.2s;}.gallery-item--video:hover .gallery-item-play {transform:translate(-50%,-50%)scale(1.08);background:var(--accent);color:var(--white);}.gallery-item-play svg {width:26px;height:26px;margin-left:3px;}.gallery-item-video-badge {position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(26,26,26,0.72);color:var(--white);font-size:0.75rem;font-weight:600;letter-spacing:0.02em;pointer-events:none;}.gallery-item-video-badge svg {width:14px;height:14px;}.gallery-more,.gallery-extra-bar {text-align:center;margin-top:32px;}.gallery-extra-bar.hidden {display:none;}.amenities-section {background:var(--bg-warm);}.amenities-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}.amenity-card {background:var(--white);padding:28px;border-radius:var(--radius);text-align:center;transition:all 0.3s;border:1px solid transparent;}.amenity-card:hover {transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent);}.amenity-icon {width:56px;height:56px;background:var(--bg-warm);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--primary);}.amenity-icon svg {width:28px;height:28px;color:var(--primary);}.amenity-card h4 {font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;margin-bottom:8px;}.amenity-card p {font-size:0.85rem;color:var(--text-light);}.booking-section {background:linear-gradient(135deg,var(--primary-dark)0%,var(--primary)100%);color:var(--white);}.booking-section .section-label {color:var(--accent);}.booking-section h2,.booking-section .section-heading {color:var(--white);}.booking-section .section-desc {color:rgba(255,255,255,0.8);}.booking-container {display:flex;flex-direction:column;gap:40px;align-items:stretch;}.booking-info {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}.booking-container .calendar-wrapper {width:100%;max-width:800px;align-self:center;}.booking-form-wrap {width:100%;max-width:800px;align-self:center;}.booking-info .terms-title {color:var(--white);margin-bottom:0.75rem;}.terms-list {list-style:none;}.terms-list li {display:flex;align-items:flex-start;gap:0.75rem;color:rgba(255,255,255,0.85);margin-bottom:0.75rem;font-size:0.95rem;}.terms-list li svg {width:1.25rem;height:1.25rem;color:var(--accent);flex-shrink:0;margin-top:0.25rem;}.price-card {background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:var(--radius-lg);padding:2rem;margin-bottom:0;backdrop-filter:blur(10px);}.price-header {display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;}.price-amount {font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:var(--white);}.price-desc {color:rgba(255,255,255,0.8);font-size:0.95rem;}.price-badge {display:inline-flex;align-items:center;padding:0.25rem 1rem;background:var(--accent);color:var(--white);border-radius:9999px;font-size:0.875rem;font-weight:600;white-space:nowrap;}.price-times {display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.price-label {font-size:0.875rem;color:rgba(255,255,255,0.7);}.price-value {font-weight:600;color:var(--white);}.calendar-wrapper {background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:32px;border:1px solid rgba(255,255,255,0.15);}#date-selection-hint {text-align:center;font-size:0.95rem;font-weight:500;font-style:italic;color:rgba(255,255,255,0.85);margin-bottom:1.25rem;padding:0.75rem 1.25rem;background:rgba(255,255,255,0.08);border-left:3px solid var(--accent);border-radius:0.5rem;}.calendar-container {display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;min-width:0;}.calendar-container > div {flex:1 1 280px;min-width:0;max-width:400px;}.calendar-month {background:white;padding:1rem;border-radius:0.5rem;box-shadow:0 2px 10px rgba(0,0,0,0.1);min-width:0;max-width:100%;color:var(--text);}.calendar-header {display:flex;justify-content:space-between;align-items:center;text-align:center;font-size:1.2rem;font-weight:700;margin-bottom:0.75rem;color:var(--text);}.calendar-header span {flex:1;}.calendar-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}.calendar-day-name {text-align:center;font-weight:600;padding:0.5rem;color:var(--text-light);font-size:0.85rem;}.calendar-day {text-align:center;padding:0.5rem;border-radius:0.25rem;transition:background 0.2s;font-size:0.9rem;min-height:35px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);position:relative;}.calendar-day:hover:not(.disabled):not(.blocked){background:var(--gray-100);}.calendar-day.disabled {color:#bdc3c7;cursor:default;}.calendar-day.today {border:2px solid var(--primary);font-weight:700;}.calendar-day.blocked {background:#9ca3af;color:white;}.calendar-day.checkout-available {background:#e5e7eb;color:var(--gray-700);}.calendar-day.selected {background:var(--primary);color:white;}.calendar-day.in-range {background:var(--primary);color:white;opacity:0.7;}.booking-section .calendar-month {background:transparent;padding:0.5rem 0;border-radius:0.5rem;box-shadow:none;min-width:0;max-width:100%;color:var(--white);}.booking-section .calendar-header {display:flex;justify-content:space-between;align-items:center;text-align:center;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;margin-bottom:0.75rem;color:var(--white);}.booking-section .calendar-header span {flex:1;}.calendar-nav-btn {background:none;border:1px solid var(--gray-200);width:36px;height:36px;border-radius:50%;font-size:1.25rem;color:var(--primary);padding:0;cursor:pointer;transition:background 0.2s,color 0.2s;}.calendar-nav-btn:hover {background:var(--gray-100);transform:none;}.booking-section .calendar-nav-btn {border-color:rgba(255,255,255,0.2);color:var(--white)!important;}.booking-section .calendar-nav-btn:hover {background:rgba(255,255,255,0.15);}.booking-section .calendar-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}.booking-section .calendar-day-name {text-align:center;font-weight:600;padding:8px 0;color:rgba(255,255,255,0.6);font-size:0.75rem;text-transform:uppercase;min-width:0;overflow:hidden;}.booking-section .calendar-day {aspect-ratio:1;text-align:center;padding:0;border-radius:8px;transition:background 0.2s;font-size:0.85rem;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--white);position:relative;}.booking-section .calendar-day:hover:not(.disabled):not(.blocked){background:rgba(255,255,255,0.2);}.booking-section .calendar-day.disabled {color:rgba(255,255,255,0.3);cursor:default;}.booking-section .calendar-day.today {border:none;font-weight:700;}.booking-section .calendar-day.today::after {content:'';position:absolute;bottom:4px;width:4px;height:4px;background:var(--accent);border-radius:50%;}.booking-section .calendar-day.blocked,.booking-section .calendar-day.blocked.disabled {background:rgba(255,255,255,0.28);color:rgba(255,255,255,0.55);cursor:not-allowed;}.booking-section .calendar-day.checkout-available {background:rgba(255,255,255,0.12);color:var(--white);}.booking-section .calendar-day.selected {background:var(--accent);color:var(--white);}.booking-section .calendar-day.in-range {background:rgba(201,169,110,0.3);color:var(--white);opacity:1;}.calendar-legend {display:flex;gap:20px;margin-top:16px;flex-wrap:wrap;}.legend-item {display:flex;align-items:center;gap:8px;font-size:0.8rem;color:rgba(255,255,255,0.7);}.legend-dot {width:12px;height:12px;border-radius:3px;}.booking-form {background:var(--white);border-radius:var(--radius-lg);padding:32px;color:var(--text);}.booking-form-title,.booking-form h3 {font-family:'Inter',sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:8px;color:var(--text);}.booking-form-lead {color:var(--text-light);font-size:0.9rem;margin-bottom:20px;}#booking-form-section {margin-top:0;}.booking-note {margin-top:1.5rem;padding:1rem;background:var(--bg-warm);border-left:4px solid var(--accent);border-radius:0.5rem;}.booking-note p {margin-bottom:0.5rem;font-size:0.9rem;color:var(--gray-700);}.booking-note p:last-child {margin-bottom:0;}.booking-form .btn-primary {width:100%;padding:16px;border-radius:10px;}.reserve-options-toggles {margin-bottom:0.25rem;}.reserve-option-toggle {position:relative;margin-bottom:1.35rem;}.reserve-option-toggle:last-child {margin-bottom:0;}.reserve-option-toggle-head {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.35rem 1rem;}.reserve-option-toggle-title {font-size:1.05rem;font-weight:600;color:var(--text);}.reserve-option-toggle-price {font-size:0.9rem;font-weight:600;color:var(--primary);}.reserve-yesno {display:flex;margin-top:0.85rem;border-radius:0.75rem;overflow:hidden;border:2px solid var(--gray-200);min-height:3.35rem;box-shadow:0 1px 3px rgba(0,0,0,0.06);}.reserve-yesno-btn {flex:1;font-family:inherit;font-size:1.1rem;font-weight:700;letter-spacing:0.02em;padding:1rem 1.15rem;border:none;background:var(--gray-100);color:var(--gray-600);cursor:pointer;transition:background 0.15s ease,color 0.15s ease;}.reserve-yesno-btn + .reserve-yesno-btn {border-left:2px solid var(--gray-200);}.reserve-yesno-btn:hover:not(.reserve-yesno-btn--active){background:var(--gray-200);color:var(--gray-800);}.reserve-yesno-btn:focus {outline:none;}.reserve-yesno-btn:focus-visible {outline:2px solid var(--accent);outline-offset:2px;z-index:1;}.reserve-yesno-btn--active,.reserve-yesno-btn[aria-pressed="true"] {background:var(--primary);color:white;}.reserve-yesno-btn--active:hover,.reserve-yesno-btn[aria-pressed="true"]:hover {background:var(--primary-dark);color:white;}.payment-type-toggle {margin-top:0.5rem;}.payment-type-toggle .reserve-yesno-btn {font-size:0.92rem;font-weight:600;line-height:1.3;padding:0.9rem 0.7rem;}.reserve-option-checkbox-hidden {position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;}.options-hint {font-size:0.9rem;color:var(--text-light);margin-bottom:0.75rem;}.guest-sleep-hint {font-size:0.8rem;line-height:1.45;color:var(--accent-dark);background:rgba(201,169,110,0.12);border-left:3px solid var(--accent);padding:0.5rem 0.65rem;margin:0 0 0.75rem;border-radius:0.25rem;}.reserve-option-note {margin-top:0.75rem;margin-bottom:0;}.form-group {margin-bottom:1.25rem;}.form-group label {display:block;margin-bottom:0.5rem;font-weight:500;font-size:0.85rem;color:var(--text);}.form-group input,.form-group select,.form-group textarea {width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:0.95rem;font-family:inherit;transition:all 0.2s;}.form-group input:focus,.form-group select:focus,.form-group textarea:focus {outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(45,90,61,0.1);}.form-row {display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.guest-stepper {display:flex;align-items:stretch;gap:8px;width:100%;}.guest-stepper input[type="number"] {flex:1;width:auto;min-width:0;-moz-appearance:textfield;appearance:textfield;}.guest-stepper input[type="number"]::-webkit-outer-spin-button,.guest-stepper input[type="number"]::-webkit-inner-spin-button {-webkit-appearance:none;margin:0;}.guest-stepper-btn {width:44px;flex-shrink:0;border:1px solid #e0e0e0;border-radius:10px;background:var(--gray-100);color:var(--text);font-size:1.35rem;font-weight:600;line-height:1;cursor:pointer;font-family:inherit;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease;}.guest-stepper-btn:hover:not(:disabled){background:var(--primary-100);border-color:var(--primary);color:var(--primary);}.guest-stepper-btn:disabled {opacity:0.4;cursor:default;}.summary-row {display:flex;justify-content:space-between;margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid var(--gray-200);}.summary-row.total {font-size:1.1rem;font-weight:700;color:var(--primary);border-bottom:none;margin-top:0.5rem;padding-top:0.75rem;border-top:2px solid var(--primary);}#booking-summary {background:var(--bg-warm);padding:1.25rem;border-radius:10px;margin-bottom:1rem;border:1px solid var(--gray-200);}#booking-summary h3 {margin-bottom:1rem;color:var(--text);font-family:'Inter',sans-serif;font-size:1.1rem;}.error-message {background:#dc2626;color:white;padding:1rem;border-radius:0.5rem;margin-top:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;}.booking-error-text {margin:0;line-height:1.5;width:100%;}.booking-error-modal {display:none;position:fixed;inset:0;z-index:2100;align-items:center;justify-content:center;padding:1rem;}.booking-error-modal.booking-error-modal--open {display:flex;}.booking-error-modal__backdrop {position:absolute;inset:0;background:rgba(17,24,39,0.5);cursor:pointer;}.booking-error-modal__card {position:relative;z-index:1;width:100%;max-width:26rem;background:white;color:var(--text);border-radius:var(--radius);padding:1.5rem 1.35rem 1.35rem;box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);}.booking-error-modal__close {position:absolute;top:0.65rem;right:0.65rem;width:2.25rem;height:2.25rem;border:none;background:var(--gray-100);color:var(--text-light);font-size:1.5rem;line-height:1;border-radius:0.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}.booking-error-modal__close:hover {background:var(--gray-200);color:var(--text);}.booking-error-modal__title {font-family:'Playfair Display',serif;font-size:1.125rem;font-weight:700;color:var(--text);margin:0 2.25rem 1rem 0;line-height:1.35;}.booking-error-modal__body {display:flex;flex-direction:column;align-items:stretch;gap:1rem;text-align:center;}.booking-error-modal__body .booking-error-text {color:var(--text-light);font-size:0.975rem;}.booking-error-modal__body .booking-error-retry {width:100%;}.success-message {background:#16a34a;color:white;padding:1rem;border-radius:0.5rem;margin-top:1rem;margin-bottom:1rem;text-align:center;}.reviews-section {background:var(--bg);}.reviews-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.review-card {background:var(--white);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform 0.3s;}.review-card:hover {transform:translateY(-4px);}.review-header {display:flex;align-items:center;gap:14px;margin-bottom:16px;}.review-avatar {width:48px;height:48px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:600;font-size:1.1rem;flex-shrink:0;}.review-meta {display:flex;flex-direction:column;flex:1;}.review-name,.review-meta h4 {font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;color:var(--text);}.review-date {font-size:0.8rem;color:var(--text-muted);}.review-stars {color:var(--accent);font-size:0.9rem;letter-spacing:0.05em;}.review-text {color:var(--text-light);font-size:0.9rem;line-height:1.7;margin:0;}.location-section {background:var(--bg-warm);}.location-content {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}.location-map,.map-container {border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);height:400px;background:#e8e4e0;position:relative;width:100%;}.map-inner {width:100%;height:100%;}.location-info h3 {font-size:1.8rem;margin-bottom:20px;}.location-info p {color:var(--text-light);margin-bottom:20px;line-height:1.7;}.contact-item {display:flex;gap:1rem;margin-bottom:1.25rem;}.contact-icon-wrapper {display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary);border-radius:10px;flex-shrink:0;color:var(--white);}.contact-icon-wrapper svg {width:20px;height:20px;}.contact-item-title {font-weight:600;font-size:1rem;margin-bottom:0.25rem;font-family:'Inter',sans-serif;}.contact-item-text {color:var(--text-light);font-size:0.95rem;}.contact-item-text a {color:var(--primary);text-decoration:none;}.contact-item-text a:hover {color:var(--accent-dark);}.map-external-links {margin-top:1.25rem;}.map-external-links-title {color:var(--text-light);font-size:0.9rem;margin-bottom:0.65rem;font-weight:500;}.map-external-links-row {display:flex;flex-wrap:wrap;gap:0.5rem;}.map-external-link {display:inline-block;padding:0.45rem 0.8rem;font-size:0.875rem;border-radius:0.375rem;text-decoration:none;font-weight:500;background:var(--white);color:var(--primary);border:1px solid var(--gray-200);transition:background 0.2s,border-color 0.2s;}.map-external-link:hover {background:var(--primary);border-color:var(--primary);color:#fff;}.contact-form-block {background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);}.contact-form-title {font-family:'Inter',sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;}.faq-section {background:var(--bg);}.faq-list,.faq-container {max-width:800px;margin:0 auto;}.faq-item {background:var(--white);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow);}.faq-question {padding:20px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:500;color:var(--text);transition:background 0.2s;gap:1rem;}.faq-question:hover {background:var(--bg-warm);}.faq-icon,.faq-question svg {width:20px;height:20px;color:var(--primary);transition:transform 0.3s;flex-shrink:0;}.faq-item.active .faq-icon,.faq-item.active .faq-question svg {transform:rotate(180deg);}.faq-answer {max-height:0;overflow:hidden;transition:max-height 0.3s;color:var(--text-light);font-size:0.95rem;line-height:1.7;}.faq-item.active .faq-answer {max-height:600px;}.faq-answer p {padding:0 24px 20px;margin:0;}.cta-section {background:var(--primary-dark);text-align:center;padding:100px 24px;}.cta-section h2 {color:var(--white);font-size:clamp(2rem,5vw,3rem);margin-bottom:16px;}.cta-section p {color:rgba(255,255,255,0.8);font-size:1.1rem;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;}.cta-phone {display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-size:1.25rem;font-weight:600;text-decoration:none;margin-top:32px;margin-bottom:0;transition:color 0.2s;}.cta-phone:hover {color:var(--white);}.cta-phone svg {width:28px;height:28px;}.footer {background:#1a1a1a;color:rgba(255,255,255,0.7);padding:64px 24px 32px;}.footer-inner {max-width:1200px;margin:0 auto;}.footer-grid {display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}.footer-brand {font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--white);margin-bottom:16px;}.footer-desc {font-size:0.9rem;line-height:1.7;margin-bottom:20px;}.footer-title {color:var(--white);font-weight:600;margin-bottom:20px;font-size:0.95rem;font-family:'Inter',sans-serif;}.footer-links {list-style:none;}.footer-links li {margin-bottom:12px;}.footer-links a {color:rgba(255,255,255,0.7);text-decoration:none;font-size:0.9rem;transition:color 0.2s;}.footer-links a:hover {color:var(--accent);}.footer-requisites {font-size:0.85rem;line-height:1.7;color:rgba(255,255,255,0.55);}.footer-requisites p {margin-bottom:0.35rem;}.footer-requisites a {color:var(--accent);text-decoration:none;}.footer-requisites a:hover {color:var(--white);}.footer-bottom {border-top:1px solid rgba(255,255,255,0.1);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:0.85rem;}.footer-bottom a {color:rgba(255,255,255,0.5);text-decoration:none;}.footer-bottom a:hover {color:var(--accent);}.lightbox {display:none;position:fixed;inset:0;background:rgba(0,0,0,0.9);z-index:1500;justify-content:center;align-items:center;padding:1rem;touch-action:pan-y;}.lightbox.active {display:flex;}.lightbox-content {position:relative;max-width:90%;max-height:90%;}.lightbox-media {position:relative;}.lightbox-media img,.lightbox-media video {max-width:100%;max-height:90vh;object-fit:contain;}.lightbox-close {position:absolute;top:-2.5rem;right:0;color:white;font-size:2rem;cursor:pointer;background:none;border:none;padding:0.5rem;}.lightbox-prev,.lightbox-next {position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;color:white;background:rgba(255,255,255,0.15);border:none;border-radius:50%;cursor:pointer;transition:background 0.2s;z-index:10;}.lightbox-prev:hover,.lightbox-next:hover {background:rgba(255,255,255,0.3);}.lightbox-prev {left:1rem;}.lightbox-next {right:1rem;}.lightbox-prev svg,.lightbox-next svg {width:2rem;height:2rem;}.lightbox-prev.hidden,.lightbox-next.hidden {display:none;}.loading-overlay {display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:2000;justify-content:center;align-items:center;flex-direction:column;}.loading-overlay.active {display:flex;}.loading-spinner {border:4px solid #f3f3f3;border-top:4px solid var(--accent);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:1rem;}@keyframes spin {0% {transform:rotate(0deg);}100% {transform:rotate(360deg);}}.loading-text {color:white;font-size:1.2rem;}.legal-page {background:var(--bg);min-height:100vh;padding:2rem 16px;box-sizing:border-box;}.back-link {display:inline-flex;align-items:center;gap:0.5rem;margin-bottom:1.5rem;color:var(--primary);text-decoration:none;font-weight:500;}.back-link:hover {text-decoration:underline;}.has-js .fade-in {opacity:0;transform:translateY(30px);transition:all 0.6s ease;}.has-js .fade-in.visible {opacity:1;transform:translateY(0);}@media (max-width:1024px){.info-grid,.booking-container,.location-content {grid-template-columns:1fr;}.info-image {order:-1;}.booking-info {grid-template-columns:1fr;}.amenities-grid {grid-template-columns:repeat(2,1fr);}.footer-grid {grid-template-columns:repeat(2,1fr);}.reviews-grid {grid-template-columns:repeat(2,1fr);}}@media (max-width:768px){.nav-links {display:none;}.mobile-menu-btn {display:block;}.hero-features {gap:16px;}.gallery-grid {grid-template-columns:repeat(2,1fr);}.reviews-grid {grid-template-columns:1fr;}.info-details {grid-template-columns:1fr;}.footer-grid {grid-template-columns:1fr;gap:32px;}.form-row {grid-template-columns:1fr;}.calendar-wrapper {padding:20px;}.section {padding:60px 20px;}.price-header {flex-direction:column;}.calendar-container {flex-direction:column;align-items:stretch;gap:1.75rem;}.calendar-container > div {max-width:none;width:100%;flex:none;}.booking-section .calendar-header {font-size:1rem;gap:8px;}.booking-section .calendar-nav-btn {width:32px;height:32px;flex-shrink:0;}}@media (max-width:520px){.booking-section .calendar-day-name {font-size:0.65rem;padding:4px 0;}.booking-section .calendar-day {font-size:0.8rem;}}@media (max-width:480px){.gallery-grid {grid-template-columns:1fr;}.amenities-grid {grid-template-columns:1fr;}.hero-cta,.hero-cta-secondary {padding:14px 28px;font-size:1rem;}.booking-form,.price-card,.contact-form-block {padding:1.25rem;}}._x3273a6{display:none}._x517191{opacity:0}._x785224{display:none}._x16dac1{opacity:0}._xb2001f{display:none}._x8fddbf{position:absolute;left:-9999px}._xc37d47{display:none}._x4e4653{visibility:hidden}._xb3d987{opacity:0}._x74e6c7{z-index:-999}._x0ffd2c{display:none}._x2e6289{visibility:hidden}._x512917{visibility:hidden}._xe3ce0c{opacity:0}._x3b8fee{position:absolute;left:-9999px}._x19e356{pointer-events:none}._x9e4031{pointer-events:none}._x093b1b{width:0}._x559803{z-index:-999}._x1ca881{display:none}._xcc45b1{visibility:hidden}._xc28111{opacity:0}._x5e72ef{pointer-events:none}._xa8567f{visibility:hidden}._x70442c{display:none}._xd266e8{opacity:0}._x12fd16{display:none}._xe086e3{height:0}._xc61a94{height:0}._x98669a{opacity:0}._xd10b8f{height:0}._x70dab4{opacity:0}._x5cc04e{z-index:-999}._xe8afd7{visibility:hidden}._xe20eb5{position:absolute;left:-9999px}._xe621a8{height:0}._xf56a25{position:absolute;left:-9999px}._x6c1d19{display:none}._x712ffd{z-index:-999}._x7adb5b{opacity:0}._xf342ee{z-index:-999}._x6a8b6d{visibility:hidden}._xdb960d{opacity:0}._xce4d22{visibility:hidden}._x8bb44e{visibility:hidden}._x08081c{position:absolute;left:-9999px}._xf6f19c{pointer-events:none}._xd61dca{pointer-events:none}._x3f17ef{visibility:hidden}._xe66a27{display:none}._xbed486{visibility:hidden}._x0de510{z-index:-999}._xaa235b{z-index:-999}._x73c957{position:absolute;left:-9999px}._x130f3a{z-index:-999}._xd94938{height:0}._xa9825c{width:0}._x4a5492{opacity:0}._xe9fce0{position:absolute;left:-9999px}._xbd047e{width:0}._x36e7a5{position:absolute;left:-9999px}._x0b0378{visibility:hidden}._x24ce9b{pointer-events:none}._x5aef85{height:0}._xdda99f{display:none}._x47b79b{z-index:-999}._x997549{width:0}._xfcc648{display:none}._x7ffc4a{z-index:-999}._xa46a50{height:0}._xd5cd80{position:absolute;left:-9999px}._x534590{pointer-events:none}._x98bb88{width:0}._x71a8fe{visibility:hidden}._x1ae70a{width:0}._x888c54{opacity:0}._x5d02e1{pointer-events:none}._x3e0082{display:none}._x6ce4f3{display:none}._x317f80{pointer-events:none}._x23aa0d{width:0}._x38fb06{visibility:hidden}._x72245b{position:absolute;left:-9999px}._xeb10eb{position:absolute;left:-9999px}._x848802{pointer-events:none}._xfb09a3{height:0}._x7c0051{position:absolute;left:-9999px}._xc32a9c{display:none}._x814c0f{width:0}._x0d9e8e{z-index:-999}._x3c8bd0{position:absolute;left:-9999px}._xce51a3{pointer-events:none}._x1d8ec9{height:0}._xb798a8{visibility:hidden}._x36c285{display:none}._x93f638{visibility:hidden}._xd702e1{height:0}._x616beb{visibility:hidden}._xbd6a41{pointer-events:none}._x57a703{visibility:hidden}._x74e483{visibility:hidden}._x161d41{opacity:0}._x42e6b6{width:0}._xbbc862{opacity:0}._x18a8a9{visibility:hidden}._x180f0a{height:0}._x137970{visibility:hidden}._x3569a9{height:0}._x97d2a1{visibility:hidden}._x9e4d73{display:none}._x43a29c{position:absolute;left:-9999px}._x9ae00c{height:0}._x2e10af{opacity:0}._xfd6024{width:0}._x56b835{height:0}._x190c62{z-index:-999}._xafa8d1{height:0}._x06e387{height:0}._x28d091{z-index:-999}._x247d35{display:none}._x5ec896{width:0}._xd9a65f{position:absolute;left:-9999px}._xa03381{position:absolute;left:-9999px}._x36114d{opacity:0}._xf7fc52{opacity:0}._x7ac0d5{width:0}._xda6472{visibility:hidden}._x36ec05{opacity:0}._xfd91fd{height:0}._xff6ce4{display:none}._x886cac{pointer-events:none}._xe6003a{display:none}._x96e7f7{opacity:0}._xcbd6f4{position:absolute;left:-9999px}._x05547e{display:none}._xd5e829{z-index:-999}._x0e29bd{height:0}._x43f132{opacity:0}._xc3f7be{height:0}._xdbe4c6{position:absolute;left:-9999px}._xe817cc{position:absolute;left:-9999px}._xad77cf{pointer-events:none}._x47f747{height:0}._x3c4c04{z-index:-999}._x341b25{position:absolute;left:-9999px}._x1fe951{position:absolute;left:-9999px}._x711ed8{opacity:0}._x156d88{position:absolute;left:-9999px}._x613fb0{opacity:0}._x40650a{width:0}._x3cfaef{pointer-events:none}._x01851a{display:none}._x75b7b0{opacity:0}._x364f96{z-index:-999}._x8d10c6{height:0}._x086f88{height:0}._x4ae9d7{height:0}._xdb3b64{z-index:-999}._xfb9f75{display:none}._x29db02{pointer-events:none}._xcf2189{display:none}._xcb780a{display:none}._x7c2a4f{width:0}._x193449{pointer-events:none}._xe615d6{z-index:-999}._x1acfcb{display:none}._x31c1bf{pointer-events:none}._x6a96c1{opacity:0}._xbc0467{width:0}._x07275f{pointer-events:none}._x5ed7ae{pointer-events:none}._xeefd47{visibility:hidden}._xc86e54{z-index:-999}._xebd4a4{opacity:0}._x23fc0a{height:0}._x0ab0e6{visibility:hidden}._xfdc197{display:none}._x6a9c11{display:none}._x83615f{z-index:-999}._x508b4f{width:0}._xfeeeb5{visibility:hidden}._xef7f02{width:0}._xca2755{height:0}._x88acc9{visibility:hidden}._x54ef75{z-index:-999}._xfda5a3{position:absolute;left:-9999px}._x8c585a{height:0}._xdb72d8{visibility:hidden}._x18b492{height:0}._x4f78a4{position:absolute;left:-9999px}._xf2974d{opacity:0}._xdb16e8{opacity:0}._xea295e{visibility:hidden}._x896720{position:absolute;left:-9999px}._x367c69{pointer-events:none}._x8b25f7{height:0}._xc3b4a3{opacity:0}._x97a989{z-index:-999}._xa5c55d{visibility:hidden}._x3a0e5f{visibility:hidden}._x40e7f9{display:none}._x263110{position:absolute;left:-9999px}._x91d546{opacity:0}._xacc5f3{position:absolute;left:-9999px}._xa5f54f{z-index:-999}._x645782{display:none}._xe15426{position:absolute;left:-9999px}._xe0c143{pointer-events:none}._x2e1f0e{display:none}._xd1cf56{display:none}._x895524{pointer-events:none}._x88e48a{opacity:0}._xa81c35{z-index:-999}._x5105d3{z-index:-999}._x7bd765{width:0}._x13d8b3{position:absolute;left:-9999px}._x70e357{visibility:hidden}._x1cd4f1{display:none}._xe66fa0{z-index:-999}._x347a82{width:0}._x11deb3{visibility:hidden}._x42c97f{z-index:-999}._xcb1cfb{display:none}._xb0cbd7{z-index:-999}._x698ff6{visibility:hidden}._xc1e96d{z-index:-999}._x9bfe4b{width:0}._x98148b{position:absolute;left:-9999px}._xc1eeb9{pointer-events:none}._x6cabe7{pointer-events:none}._x887d10{opacity:0}._x06d105{width:0}._x56184c{opacity:0}._xc082ad{position:absolute;left:-9999px}._xa3e98a{visibility:hidden}._xf6aba0{opacity:0}._x89637f{position:absolute;left:-9999px}._x212dd8{position:absolute;left:-9999px}._x8911ef{height:0}._x565a69{height:0}._xba5caf{pointer-events:none}._x0b86dd{display:none}._x51f29a{position:absolute;left:-9999px}._x009ff4{z-index:-999}._x72ef87{height:0}._x84dc8f{height:0}._x0d2147{z-index:-999}._xa4df0d{visibility:hidden}._x5af96e{display:none}._x2ff2dc{visibility:hidden}._x8cf211{height:0}._x9c4a45{width:0}._xc3acdc{height:0}._x0f013c{visibility:hidden}._x7359f6{position:absolute;left:-9999px}._x846a0f{height:0}._x125201{width:0}._xcb38ec{display:none}._x430e21{height:0}._xefe0b0{position:absolute;left:-9999px}._x094c38{display:none}._x73e558{pointer-events:none}._x9e7cbe{height:0}._x291489{position:absolute;left:-9999px}._x91bfd4{visibility:hidden}._xc3f428{visibility:hidden}._x08e63b{width:0}._x3c4a40{position:absolute;left:-9999px}._x67485b{z-index:-999}._x6d816b{width:0}._xd4ecf9{height:0}._x08dbeb{opacity:0}._xf8a23c{opacity:0}._xfef10d{display:none}._x253dd0{width:0}._x5e3040{width:0}._x0bbd25{height:0}._x09d985{visibility:hidden}._x6d9403{position:absolute;left:-9999px}._x7ebb3d{pointer-events:none}._xaffb7c{opacity:0}._x42806f{position:absolute;left:-9999px}._x8e7b9b{width:0}._x4465bd{pointer-events:none}._x1db643{visibility:hidden}._xec1bf9{position:absolute;left:-9999px}._x8701a2{width:0}._x3b3ae5{display:none}._x2cdc1e{width:0}._xfc449c{z-index:-999}._xc153ea{width:0}._x9d1865{opacity:0}._x2f50f7{display:none}._xe6702e{visibility:hidden}._xee0244{position:absolute;left:-9999px}._x3a038a{position:absolute;left:-9999px}._xdd7e34{z-index:-999}._x62c300{position:absolute;left:-9999px}._xaaf424{height:0}._x8fac7c{z-index:-999}._xab31c7{position:absolute;left:-9999px}._xd76002{position:absolute;left:-9999px}._x7cf55f{z-index:-999}._x15dcad{z-index:-999}._x98b1a2{height:0}._x247f56{pointer-events:none}._xd3b3e4{position:absolute;left:-9999px}._xcfe71c{width:0}._xea8eed{opacity:0}._x4007a5{width:0}._x6edcda{opacity:0}._xc0cc29{width:0}._x806634{width:0}._x861abd{z-index:-999}._xf41ad4{visibility:hidden}._x40d408{z-index:-999}._x574f98{height:0}._x2616ab{width:0}._x3d6208{opacity:0}._x17c383{visibility:hidden}._x0db9e6{width:0}._xda1f0d{height:0}._x9f27fc{pointer-events:none}._xe95f25{opacity:0}._xe475e4{height:0}._xa78837{width:0}._x7f618b{z-index:-999}._x9271ee{opacity:0}._xb3045a{height:0}._xb121af{visibility:hidden}._xd41280{visibility:hidden}._x4c9ec4{visibility:hidden}._xf910c3{position:absolute;left:-9999px}._x36d129{opacity:0}._x01b5ef{z-index:-999}._x0015cb{z-index:-999}._xe78e61{width:0}._x190530{position:absolute;left:-9999px}._x5dd952{pointer-events:none}._x6505a0{width:0}._x87d2a6{position:absolute;left:-9999px}._x54d2da{visibility:hidden}._xf1ea91{z-index:-999}._x865b7f{z-index:-999}._x930c81{z-index:-999}._xaf3d35{display:none}._x1f855b{opacity:0}._xad6742{position:absolute;left:-9999px}._x5a81d9{pointer-events:none}._x48085a{z-index:-999}._x67b9c1{pointer-events:none}._x1affc1{position:absolute;left:-9999px}._x11684e{width:0}._x4526de{width:0}._x38dbe1{width:0}._x5f5b28{visibility:hidden}._x01d8ff{z-index:-999}._x88abc1{display:none}._xb41ac2{position:absolute;left:-9999px}._x8f0df0{display:none}._xa5e78d{height:0}._xcc7455{visibility:hidden}._xc2284f{width:0}._x2bdf98{height:0}._x819f54{visibility:hidden}._x7ecd2e{display:none}._x9b4d1a{visibility:hidden}._x18c237{height:0}._x02b874{height:0}._xf30143{position:absolute;left:-9999px}._xbed111{visibility:hidden}._x7fcd1b{z-index:-999}._xf876cc{width:0}._x7e6857{width:0}._x8fae7e{display:none}._x805f4c{position:absolute;left:-9999px}._x685927{display:none}._x506370{pointer-events:none}._xe2073d{width:0}._x415137{width:0}._x3bda1d{z-index:-999}._x534922{opacity:0}._x290ae6{height:0}._x0919a2{position:absolute;left:-9999px}