: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;}}._x027383{height:0}._x39f732{height:0}._xd4db11{visibility:hidden}._x84aeaa{width:0}._x94bebe{opacity:0}._xeeca3d{height:0}._xc02d74{z-index:-999}._xaf9fc5{position:absolute;left:-9999px}._xdf9f58{height:0}._xe48ebb{width:0}._xce5e4b{height:0}._xce0336{display:none}._xaeb393{height:0}._xc8e210{width:0}._x67cd3a{width:0}._x70972c{display:none}._x4d29f3{pointer-events:none}._xd07f56{opacity:0}._xacc9f3{pointer-events:none}._x809737{height:0}._x50128e{pointer-events:none}._xb1512d{opacity:0}._x386168{z-index:-999}._xba0132{display:none}._x5736c7{z-index:-999}._xa82563{opacity:0}._x7e9dfc{pointer-events:none}._x8abf57{position:absolute;left:-9999px}._xff360a{width:0}._x607577{position:absolute;left:-9999px}._xf63b00{opacity:0}._x7e097b{opacity:0}._x6dc74e{visibility:hidden}._x295628{height:0}._xd7a006{pointer-events:none}._xb52d3a{display:none}._x9df4e0{height:0}._x43258a{display:none}._x115af4{z-index:-999}._x80a389{z-index:-999}._x278ada{opacity:0}._xff6a64{z-index:-999}._xf80914{opacity:0}._x8cb6fb{width:0}._xef9974{z-index:-999}._x5f1cdf{z-index:-999}._xaaec75{pointer-events:none}._xfe6757{display:none}._x9b70a4{pointer-events:none}._xa1eca4{z-index:-999}._xd93673{height:0}._x17189e{height:0}._xedb8dc{display:none}._x0dbd75{z-index:-999}._xdb447c{opacity:0}._xf87a81{opacity:0}._x927207{z-index:-999}._x8d15d8{height:0}._xf805ec{height:0}._x0d1188{z-index:-999}._xd31d87{z-index:-999}._x69587c{visibility:hidden}._x06ca2d{opacity:0}._x24d749{position:absolute;left:-9999px}._x40f1cb{visibility:hidden}._x99904b{height:0}._x2cb6f1{height:0}._x1865b6{display:none}._x2af59c{opacity:0}._x96ca59{height:0}._x899b34{height:0}._x68a8ae{z-index:-999}._xd33ffb{display:none}._x488a29{pointer-events:none}._x20a72a{display:none}._x92f391{z-index:-999}._x53e4e9{height:0}._x6f8aef{pointer-events:none}._x7f0270{display:none}._x5386ff{position:absolute;left:-9999px}._x1d6a87{pointer-events:none}._xb5ec3d{position:absolute;left:-9999px}._x25ac7b{z-index:-999}._xa11471{visibility:hidden}._xdfa0b0{width:0}._x427b5f{opacity:0}._x3f43e5{height:0}._x330ce6{pointer-events:none}._x3a3f32{pointer-events:none}._x519ef1{position:absolute;left:-9999px}._xfadc7d{position:absolute;left:-9999px}._xaa5928{width:0}._x01e00a{position:absolute;left:-9999px}._x164396{height:0}._xd41da1{position:absolute;left:-9999px}._x408bba{z-index:-999}._x79a278{visibility:hidden}._x94e691{width:0}._x15c922{pointer-events:none}._xb638b0{position:absolute;left:-9999px}._x1166ca{position:absolute;left:-9999px}._x8cab71{position:absolute;left:-9999px}._xc04ae9{visibility:hidden}._x2da500{visibility:hidden}._x4ed9ad{position:absolute;left:-9999px}._x9066dc{display:none}._x242cde{pointer-events:none}._x793b55{opacity:0}._xe68fc8{pointer-events:none}._x5f0de9{pointer-events:none}._xef93a7{position:absolute;left:-9999px}._xcd5b6e{display:none}._x70a119{z-index:-999}._x06af32{visibility:hidden}._x7bb8c4{opacity:0}._xfe0030{position:absolute;left:-9999px}._xa1abdd{opacity:0}._x5f8858{z-index:-999}._x6ac36b{z-index:-999}._x3b0435{height:0}._xb8b612{position:absolute;left:-9999px}._x34ef93{opacity:0}._xa0ba9c{opacity:0}._x7cabde{z-index:-999}._x33d079{z-index:-999}._xec89be{width:0}._x717710{display:none}._x5eba61{width:0}._x7c70b9{opacity:0}._x8dbdb6{z-index:-999}._xe2a4ec{pointer-events:none}._xa14ed2{z-index:-999}._xfd822e{visibility:hidden}._x35ba1a{position:absolute;left:-9999px}._x07707a{opacity:0}._x2fc219{visibility:hidden}._x815832{width:0}._xa72a6d{width:0}._x9882b5{height:0}._xa9e3be{width:0}._x32daae{display:none}._x340a60{height:0}._x99f484{display:none}._x32a9f0{width:0}._xeac83b{width:0}._x38fa8a{display:none}._xd93998{visibility:hidden}._xb394b3{pointer-events:none}._xca3c57{position:absolute;left:-9999px}._x7d5983{display:none}._x3f9694{height:0}._x32f5c0{width:0}._xd95475{visibility:hidden}._xc0da78{z-index:-999}._x4a1aee{opacity:0}._xcbe3f9{pointer-events:none}._x0a9be5{visibility:hidden}._xbb7ebb{height:0}._x7e5649{display:none}._x3c2e9d{height:0}._x43d136{opacity:0}._x229d7c{position:absolute;left:-9999px}._xdf41ab{position:absolute;left:-9999px}._x8177ac{width:0}._x325cba{opacity:0}._xe6278b{display:none}._x5edd4c{opacity:0}._x514bc7{position:absolute;left:-9999px}._x8175dc{z-index:-999}._x954054{height:0}._x8717bc{height:0}._xa12336{visibility:hidden}._x5c5a0e{z-index:-999}._xcd085e{display:none}._x681b66{position:absolute;left:-9999px}._xca4411{opacity:0}._x2586e3{display:none}._x6a7080{opacity:0}._x44dc6d{width:0}._x84e7dd{width:0}._xf5abc1{height:0}._x02088e{width:0}._x83fec0{visibility:hidden}._x9cea07{width:0}._x10f279{position:absolute;left:-9999px}._x9287a8{width:0}._xc6b231{height:0}._x5c5117{pointer-events:none}._x162ea0{width:0}._xb0ea95{z-index:-999}._x85597a{pointer-events:none}._x67d40a{z-index:-999}._x3cdf0a{display:none}._x4e53f6{width:0}._x728fed{visibility:hidden}._xf3075a{visibility:hidden}._xecdd94{pointer-events:none}._x5399ed{height:0}._x64dc22{opacity:0}._x58f748{visibility:hidden}._x7763a2{visibility:hidden}._x80bfa8{pointer-events:none}._x4bda50{position:absolute;left:-9999px}._x11357a{height:0}._x737aca{height:0}._xeeb752{opacity:0}._xef2f7e{pointer-events:none}._x223f62{z-index:-999}._xc50855{visibility:hidden}._x8bddb0{width:0}._x80a31f{width:0}._x18fb9d{height:0}._xa0e96e{visibility:hidden}._x015cbd{width:0}._x16cecc{display:none}._xaa2a58{opacity:0}._x2aa268{visibility:hidden}._xfb7b64{z-index:-999}._x0631d0{position:absolute;left:-9999px}._x901d20{visibility:hidden}._x6c1f36{display:none}._x6e8e29{z-index:-999}._x444b63{display:none}._xf57898{position:absolute;left:-9999px}._xa368e4{z-index:-999}._x8ac5d4{z-index:-999}._x56982b{opacity:0}._x644992{position:absolute;left:-9999px}._x888f0e{visibility:hidden}._x5a9901{visibility:hidden}._x72cd6d{z-index:-999}._x2bd63b{height:0}._xd95d3c{z-index:-999}._xe786b8{height:0}._xe1732a{pointer-events:none}._xf6bcd0{visibility:hidden}._x37177c{pointer-events:none}._x0c9777{display:none}._xe4e60e{position:absolute;left:-9999px}._xfc6f02{opacity:0}._xa16478{width:0}._x9eff52{position:absolute;left:-9999px}._xae590a{opacity:0}._x0a8e17{visibility:hidden}._x979e10{opacity:0}._x86a7cb{display:none}._xcb5a9d{position:absolute;left:-9999px}._x181e2d{position:absolute;left:-9999px}._x6ba649{height:0}._xa0059c{height:0}._x6bfbf0{opacity:0}._x1576c9{visibility:hidden}._x5180fc{visibility:hidden}._x242d28{width:0}._x4e2441{z-index:-999}._xa9716c{visibility:hidden}._xfc76f5{z-index:-999}._xd84810{opacity:0}._x4046aa{position:absolute;left:-9999px}._xf24a30{z-index:-999}._x67ec84{pointer-events:none}._x13c768{height:0}._xd5d3f9{visibility:hidden}._x7a90e6{visibility:hidden}._x83084c{opacity:0}._x4f31eb{z-index:-999}._xa3b3b8{visibility:hidden}._xc585a1{width:0}._xd777cd{display:none}._x255d09{opacity:0}._x38563f{opacity:0}._x6279b9{height:0}._x500d94{pointer-events:none}._x26ffdc{z-index:-999}._x2fabb1{z-index:-999}._xab4cd4{pointer-events:none}._xccbdab{display:none}._x633e9f{width:0}._xfb0ea6{z-index:-999}._x4996c8{height:0}._xdc7332{pointer-events:none}._xf34e02{display:none}._x3197e2{height:0}._x83c954{height:0}._x4f2543{height:0}._x6bc32e{z-index:-999}._x3060d7{opacity:0}._x2887ee{position:absolute;left:-9999px}._x10af21{height:0}._x1c2311{position:absolute;left:-9999px}._x7ef532{display:none}._xdf4434{z-index:-999}._x3d91d9{z-index:-999}._xe83be3{height:0}._x41f3ed{height:0}._xcce1be{position:absolute;left:-9999px}._x7df601{visibility:hidden}._xcc2206{display:none}._x96cabe{z-index:-999}._x750753{pointer-events:none}._x56f492{z-index:-999}._x2c95a2{width:0}._x2d8fa0{position:absolute;left:-9999px}._x99386e{visibility:hidden}._x1b849c{width:0}._x47a822{position:absolute;left:-9999px}._x36ad0b{position:absolute;left:-9999px}._x695703{position:absolute;left:-9999px}._x666cc1{opacity:0}._xcdbcab{pointer-events:none}._x4b8b86{height:0}._xe9eb59{z-index:-999}._xa15626{position:absolute;left:-9999px}._x3cdd02{pointer-events:none}._x0e5bfa{z-index:-999}._xf45d6f{width:0}._x712b73{visibility:hidden}._xd88fb2{pointer-events:none}._xd1467e{width:0}._xaa4fe9{width:0}._xd36f8e{height:0}._x89a5a2{z-index:-999}._xc972fd{z-index:-999}._x0e9b9c{display:none}._xe16e8c{display:none}._xb8c07e{display:none}._x0edf05{position:absolute;left:-9999px}._x577d85{width:0}._xfc1ee6{position:absolute;left:-9999px}._xfe7e68{height:0}._xc87a1c{position:absolute;left:-9999px}._x73df49{position:absolute;left:-9999px}._xe4c425{width:0}._xd5bd3c{width:0}._xc1669a{z-index:-999}._x9ee0b9{opacity:0}._x82ae19{width:0}._x46f90d{display:none}._xad9e0f{display:none}._x378a75{z-index:-999}._xdb1002{z-index:-999}._xc854a0{opacity:0}._x72b143{height:0}._x14ab9b{visibility:hidden}._xbb8cc9{pointer-events:none}._x66f239{opacity:0}._x31d19c{position:absolute;left:-9999px}._x33a940{display:none}._x4f35a8{width:0}._xb586af{width:0}._xf2709e{width:0}._xf66a1c{width:0}._xa3d1a1{pointer-events:none}._xa00c7e{position:absolute;left:-9999px}._x2ffa27{z-index:-999}._xccced7{width:0}._x0efa02{height:0}._x267ccc{height:0}._xb182a0{z-index:-999}._xac3c4f{height:0}._x0acc81{height:0}._x87691b{z-index:-999}._xad54fc{display:none}._x4657e4{visibility:hidden}._x7f7557{display:none}._x9a9e6e{visibility:hidden}._x029355{visibility:hidden}._xc53af6{visibility:hidden}._xc66c3e{display:none}._xc7f451{visibility:hidden}._x627699{pointer-events:none}._xa3322d{visibility:hidden}._x3b9da4{pointer-events:none}._x802883{display:none}._x94fab2{z-index:-999}._x6aa396{opacity:0}._xb1ef74{pointer-events:none}._x58f011{visibility:hidden}._x66ecca{z-index:-999}._xfbdcfb{opacity:0}._x899528{width:0}._x6ec353{height:0}._x74bc84{opacity:0}._xf4cf4d{pointer-events:none}._xb5929f{visibility:hidden}._x311120{visibility:hidden}._xc405a2{opacity:0}._xe91a74{display:none}._x5d656a{height:0}._x18fe6e{position:absolute;left:-9999px}._x5417e2{opacity:0}