:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111;--muted:#717171;--line:#ddd;--surface:#fff;--panel:#fff;--accent:#ff385c;--accent-dark:#e31c5f;--accent-soft:#fff1f4;--danger:#d70466;--sage:#f7f7f7;--sky:#f2f2f2;--shadow:#0000001a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--surface);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:0 32px;display:flex;position:sticky;top:0}.admin-page{background:var(--surface);min-height:100vh;padding:40px 20px}.admin-shell{width:min(980px,100%);margin:0 auto}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:28px;display:flex}.admin-header span{color:var(--muted);text-transform:uppercase;font-weight:800}.admin-header h1{margin:8px 0 0;font-size:clamp(2.4rem,7vw,4.5rem);line-height:.95}.admin-header a{border:1px solid var(--line);border-radius:8px;align-items:center;min-height:42px;padding:0 14px;font-weight:800;display:inline-flex}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-session-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:28px;padding:16px;display:grid}.admin-session-panel div{gap:8px;display:grid}.admin-session-panel span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-session-panel strong{overflow-wrap:anywhere}.admin-session-panel button,.admin-actions button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:0 16px;font-weight:800}.admin-session-panel button:disabled,.admin-actions button:disabled{cursor:not-allowed;opacity:.6}.admin-session-panel .secondary-button{background:var(--ink)}.admin-message{background:var(--panel);color:var(--muted);border-radius:8px;margin:18px 0 0;padding:12px;font-weight:700}.admin-view-toggle{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:8px;margin-top:16px;padding:4px;display:inline-flex}.admin-view-toggle button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-weight:800}.admin-view-toggle button.active{background:var(--ink);color:#fff}.admin-booking-list{gap:12px;margin-top:18px;display:grid}.admin-booking-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px;display:grid}.admin-booking-card span{color:var(--accent);text-transform:uppercase;font-size:.78rem;font-weight:800}.admin-booking-card h2{margin:6px 0;font-size:1.2rem}.admin-booking-card p{color:var(--muted);margin:0}.admin-actions{gap:8px;display:flex}.admin-actions .danger-button{background:var(--ink)}.admin-pricing-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.admin-pricing-summary article,.admin-pricing-card{border:1px solid var(--line);background:var(--panel);border-radius:8px}.admin-pricing-summary article{gap:8px;padding:18px;display:grid}.admin-pricing-summary span,.admin-pricing-card span,.admin-section-heading span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-pricing-summary strong{font-size:2rem}.admin-pricing-section{margin-top:32px}.admin-section-heading h2{margin:6px 0 0;font-size:1.7rem}.admin-pricing-list{gap:12px;margin-top:16px;display:grid}.admin-pricing-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.admin-pricing-card h3{margin:6px 0;font-size:1.1rem}.admin-pricing-card p{color:var(--muted);margin:0}.admin-pricing-card>strong{color:var(--accent);font-size:1.6rem}.brand{color:var(--ink);font-size:1.35rem;font-weight:800}.header-actions{align-items:center;gap:10px;display:flex}.language-switcher{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 10px;display:inline-flex}.language-switcher select{max-width:92px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;outline:0;font-size:.82rem;font-weight:800}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-action{background:var(--ink);min-height:40px;color:var(--surface);border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-size:.95rem;font-weight:800;display:inline-flex}.hero-section{background:var(--surface);align-items:end;min-height:calc(100vh - 72px);padding:48px;display:grid;position:relative;overflow:hidden}.hero-image{cursor:pointer;border:0;border-radius:8px;width:calc(100% - 24px);padding:0;position:absolute;inset:12px;overflow:hidden}.cover-image{object-fit:cover}.hero-copy{z-index:1;color:#fffdf7;text-shadow:0 2px 16px #0000006b;max-width:760px;position:relative}.hero-copy p{text-transform:uppercase;letter-spacing:0;margin:0 0 14px;font-weight:700}.hero-copy h1{letter-spacing:0;margin:0;font-size:clamp(3rem,8vw,6.8rem);line-height:.95}.hero-copy span{color:#f4eee8;margin-top:24px;font-size:1.05rem;display:inline-block}.gallery-preview{width:min(1180px,100% - 40px);margin:10px auto 0;padding:0 0 48px}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;display:grid}.gallery-tile{cursor:pointer;background:#111;border:0;border-radius:8px;min-height:210px;padding:0;position:relative;overflow:hidden}.gallery-more-count{z-index:1;color:#fff;text-align:center;background:#00000085;place-items:center;padding:16px;font-size:1.25rem;font-weight:800;display:grid;position:absolute;inset:0}.gallery-photo-button{border:1px solid var(--line);background:var(--panel);width:fit-content;min-height:46px;color:var(--ink);box-shadow:0 8px 24px var(--shadow);border-radius:8px;justify-content:center;align-items:center;margin:18px auto 0;padding:0 18px;font-weight:800;display:flex}.gallery-photo-button:hover{border-color:var(--ink)}.hero-image img,.gallery-tile img{transition:transform .22s}.hero-image:hover img,.gallery-tile:hover img{transform:scale(1.03)}.gallery-tile:first-child,.gallery-tile:nth-child(6){grid-column:span 2}.gallery-tile:nth-child(2),.gallery-tile:nth-child(3),.gallery-tile:nth-child(4),.gallery-tile:nth-child(5){grid-column:span 1}.photo-lightbox{z-index:50;background:#000;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.lightbox-shell{z-index:1;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(1120px,100%);height:min(820px,100vh - 56px);display:grid;position:relative}.lightbox-toolbar,.lightbox-controls{color:#fffdf7;justify-content:space-between;align-items:center;gap:16px;display:flex}.lightbox-controls{flex-wrap:wrap}.lightbox-toolbar span{font-weight:800}.lightbox-toolbar button,.lightbox-controls button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:8px;min-height:42px;padding:0 16px;font-weight:800}.lightbox-toolbar button:hover,.lightbox-controls button:hover{background:#ffffff38}.lightbox-image-wrap{touch-action:pan-y;background:#000;border-radius:8px;min-height:0;position:relative;overflow:hidden}.lightbox-image{object-fit:contain}.lightbox-arrow{z-index:2;color:#fff;cursor:pointer;background:#00000080;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:background .16s,transform .16s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#000000b8;transform:translateY(-50%)scale(1.04)}.lightbox-arrow svg{width:28px;height:28px}.lightbox-arrow.previous{left:18px}.lightbox-arrow.next{right:18px}.lightbox-controls p{color:#f4eee8;text-align:center;width:100%;margin:0}.photo-tour-page{color:#fff;background:#000;min-height:100vh}.photo-tour-header{z-index:20;background:#000000eb;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:24px;padding:20px 32px;display:flex;position:sticky;top:0}.photo-tour-header p,.photo-room-heading p{color:#ffffffad;margin:0}.photo-tour-header h1{letter-spacing:0;margin:4px 0 0;font-size:2rem}.photo-tour-header .language-switcher{color:#fff;background:#111;border-color:#ffffff3d}.photo-tour-header .language-switcher select{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.back-link{border:1px solid #ffffff47;border-radius:8px;align-items:center;min-height:42px;padding:0 14px;font-weight:800;display:inline-flex}.room-tabs{z-index:19;background:#000;border-bottom:1px solid #ffffff1f;gap:10px;padding:14px 32px;display:flex;position:sticky;top:85px;overflow-x:auto}.room-tabs a{white-space:nowrap;color:#ffffffd1;border:1px solid #fff3;border-radius:8px;padding:10px 14px;font-weight:800}.photo-room-list{gap:72px;width:min(1180px,100% - 40px);margin:48px auto 80px;display:grid}.photo-room{scroll-margin-top:150px}.photo-room-heading{gap:8px;margin-bottom:20px;display:grid}.photo-room-heading h2{letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.photo-room-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.photo-card{cursor:pointer;background:#111;border:0;border-radius:8px;min-height:340px;margin:0;padding:0;position:relative;overflow:hidden}.photo-card.featured{grid-area:span 2/span 2;min-height:690px}.photo-card span{color:#fff;text-align:left;background:linear-gradient(#0000,#000000b8);padding:18px;font-weight:800;position:absolute;bottom:0;left:0;right:0}.content-section{background:var(--surface);width:100%;color:var(--ink);grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:56px;margin:0;padding:64px max(20px,50vw - 590px);display:grid}.property-details h2{letter-spacing:0;margin:28px 0 16px;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.property-details p{max-width:680px;color:var(--muted);font-size:1.08rem;line-height:1.7}.summary-line{color:var(--muted);flex-wrap:wrap;gap:10px;display:flex}.summary-line span,.amenities-grid span{border:1px solid var(--line);background:var(--panel);border-radius:8px}.summary-line span{padding:9px 12px}.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.amenities-grid span{align-items:center;gap:12px;padding:16px;font-weight:700;display:flex}.amenities-grid svg{color:var(--accent);flex:none}.booking-panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 40px var(--shadow);border-radius:8px;padding:22px;position:sticky;top:96px}.price-row{align-items:baseline;gap:8px;margin-bottom:18px;display:flex}.price-row strong{font-size:2rem}.price-row span{color:var(--muted)}.booking-fields{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.date-field{background:var(--panel);min-height:72px;color:var(--muted);cursor:pointer;text-align:left;text-transform:uppercase;border:0;gap:8px;padding:12px;font-size:.75rem;font-weight:800;display:grid}.date-field:first-child{border-right:1px solid var(--line)}.date-field:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.date-field strong{color:var(--ink);text-transform:none;font-size:1rem;font-weight:600}.date-field small{color:var(--muted);text-transform:none;font-size:.82rem;font-weight:700}.booking-fields label{color:var(--muted);text-transform:uppercase;gap:8px;padding:12px;font-size:.75rem;font-weight:800;display:grid}.booking-fields label:focus-within{border-color:var(--ink)}.booking-fields input{min-height:30px;color:var(--ink);text-transform:none;outline:0;font-size:1rem;font-weight:600;line-height:1.2}.booking-fields label:first-child{border-right:1px solid var(--line)}.calendar-popover{border:1px solid var(--line);background:var(--panel);box-shadow:0 18px 40px var(--shadow);border-radius:8px;gap:16px;margin-top:12px;padding:18px;display:grid}.calendar-toolbar{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px;display:grid}.calendar-toolbar button,.calendar-footer button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;font-weight:800;display:inline-grid}.calendar-toolbar button:hover{border-color:var(--accent);color:var(--accent)}.calendar-toolbar div{text-align:center;gap:3px;display:grid}.calendar-toolbar span,.calendar-footer span{color:var(--muted);font-size:.82rem}.calendar-months{grid-template-columns:minmax(0,1fr);display:grid}.calendar-month h3{margin:0 0 14px;font-size:1.08rem}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-weekdays{color:var(--muted);text-align:center;margin-bottom:4px;font-size:.72rem;font-weight:800}.calendar-grid span,.calendar-day{aspect-ratio:1;min-width:0}.calendar-day{width:100%;min-height:38px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:.92rem;font-weight:700;line-height:1;display:grid}.calendar-day:hover:not(:disabled){background:var(--accent-soft);color:var(--danger)}.calendar-day.in-range{background:var(--accent-soft);color:var(--danger);border-radius:999px}.calendar-day.selected{background:var(--accent);color:#fff}.calendar-day.blocked{color:#b0b0b0;text-decoration:line-through}.calendar-day:disabled{cursor:not-allowed;opacity:.38}.calendar-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.calendar-footer button{border-color:var(--accent);background:var(--accent);color:#fff;min-width:82px;padding:0 14px}.calendar-footer button:hover{background:var(--accent-dark)}.guest-field{border-top:1px solid var(--line);grid-column:1/-1}.guest-breakdown{border:1px solid var(--line);border-radius:8px;gap:12px;margin-top:16px;padding:16px;display:grid}.guest-breakdown-header,.guest-stepper{justify-content:space-between;align-items:center;gap:18px;display:flex}.guest-breakdown-header span,.guest-stepper span{color:var(--muted)}.guest-stepper{border-top:1px solid var(--line);padding-top:12px}.guest-stepper>div:first-child{gap:4px;display:grid}.stepper-controls{align-items:center;gap:12px;display:flex}.stepper-controls button{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;display:inline-grid}.stepper-controls button:disabled{cursor:not-allowed;opacity:.4}.stepper-controls>span{min-width:20px;color:var(--ink);text-align:center;font-weight:800}.guest-details{gap:10px;margin-top:16px;display:grid}.guest-details label{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;border-radius:8px;gap:6px;padding:14px;font-size:.75rem;font-weight:800;display:grid}.guest-details label:focus-within{border-color:var(--ink)}.guest-details input{min-height:30px;color:var(--ink);text-transform:none;outline:0;font-size:1rem;font-weight:600;line-height:1.2}.guest-details input::placeholder{color:var(--muted);opacity:1}input,select,button{font:inherit}input,select{width:100%;color:var(--ink);background:0 0;border:0;font-size:1rem;font-weight:700}.primary-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;min-height:52px;margin-top:16px;font-weight:800}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.65}.qr-action{border:1px solid var(--ink);color:var(--ink);background:0 0;margin-top:10px}.qr-action:hover{background:var(--ink);color:#fff}.status{border-radius:8px;gap:4px;margin:14px 0 0;padding:12px;font-weight:700;display:grid}.status span{color:var(--muted);font-size:.82rem;font-weight:400}.status.open{background:var(--sage);color:var(--ink)}.status.checking{background:var(--sage);color:var(--muted)}.status.blocked{background:var(--accent-soft);color:var(--danger)}.qr-payment-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:116px 1fr;align-items:center;gap:14px;margin-top:14px;padding:12px;display:grid}.qr-payment-card img{border-radius:8px;width:116px;height:116px}.qr-payment-card div{gap:6px;display:grid}.qr-payment-card span{color:var(--muted);line-height:1.35}.payment-details-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.payment-details-card div{gap:3px;display:grid}.payment-details-card span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.payment-details-card strong{overflow-wrap:anywhere}.cost-breakdown{gap:14px;margin-top:22px;display:grid}.cost-breakdown div{color:var(--muted);justify-content:space-between;gap:18px;display:flex}.cost-breakdown .total-row{border-top:1px solid var(--line);color:var(--ink);margin-top:4px;padding-top:18px;font-weight:800}.mobile-booking-bar{z-index:30;border-top:1px solid var(--line);box-shadow:0 -14px 30px var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-booking-bar div{gap:2px;display:grid}.mobile-booking-bar strong{font-size:1.2rem}.mobile-booking-bar span{color:var(--muted);font-size:.86rem}.mobile-booking-bar a{background:var(--accent);color:#fff;border-radius:8px;align-items:center;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}@media (max-width:820px){.site-header{padding:0 18px}.header-action{min-height:38px;padding:0 14px}.hero-section{min-height:78vh;padding:32px 20px}.hero-image{width:calc(100% - 16px);inset:8px}.gallery-preview{width:min(100% - 24px,1180px);padding-bottom:32px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-tile,.gallery-tile:first-child,.gallery-tile:nth-child(6),.gallery-tile:nth-child(2),.gallery-tile:nth-child(3),.gallery-tile:nth-child(4),.gallery-tile:nth-child(5){grid-column:span 1;min-height:180px}.content-section{grid-template-columns:1fr;gap:32px;margin:0;padding:42px 20px}.admin-pricing-summary{grid-template-columns:1fr}.booking-panel{position:static}.mobile-booking-bar{display:flex}.content-section{padding-bottom:112px}.photo-tour-header{flex-direction:column;align-items:flex-start;padding:16px 20px}.room-tabs{padding:12px 20px;top:126px}.photo-room{scroll-margin-top:190px}.photo-room-grid{grid-template-columns:repeat(2,1fr)}.photo-card,.photo-card.featured{grid-area:span 1/span 1;min-height:260px}.photo-lightbox{padding:14px 14px calc(18px + env(safe-area-inset-bottom))}.lightbox-shell{height:calc(100dvh - 32px - env(safe-area-inset-bottom));min-height:0}.lightbox-controls{padding-bottom:env(safe-area-inset-bottom);justify-content:center}.lightbox-controls p{font-size:.95rem;line-height:1.35}.lightbox-arrow{width:44px;height:44px}.lightbox-arrow.previous{left:10px}.lightbox-arrow.next{right:10px}}@media (max-width:520px){.site-header{gap:10px;min-height:64px;padding:12px 18px}.brand{font-size:1rem;line-height:1.1}.header-actions{gap:6px}.language-switcher{min-height:38px;padding:0 8px}.language-switcher select{width:42px}.photo-tour-header{flex-wrap:wrap;gap:12px}.photo-tour-header>div{order:3;width:100%}.hero-copy h1{font-size:3.1rem}.hero-section{min-height:72vh}.amenities-grid,.booking-fields{grid-template-columns:1fr}.date-field:first-child{border-right:0;border-bottom:1px solid var(--line)}.calendar-months{grid-template-columns:1fr}.booking-fields label:first-child{border-right:0;border-bottom:1px solid var(--line)}.photo-room-list{width:min(100% - 24px,1180px);margin-top:32px}.photo-room-grid{grid-template-columns:1fr}.photo-card,.photo-card.featured{min-height:420px}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f7f7f7;--muted:#ffffffb3;--line:#ffffff24;--surface:#050505;--panel:#171717;--accent-soft:#ff385c2e;--danger:#ffb3c2;--sage:#1f1f1f;--sky:#151515;--shadow:#0000005c}body,.admin-page,.hero-section,.gallery-grid,.content-section{background:var(--surface);color:var(--ink)}.site-header{border-bottom-color:var(--line);background:#050505eb}.brand{color:var(--ink)}.header-action{background:var(--ink);color:var(--surface)}.admin-header,.booking-fields,.date-field:first-child,.booking-fields label:first-child,.guest-field,.guest-stepper,.calendar-footer,.cost-breakdown .total-row{border-color:var(--line)}.admin-session-panel,.admin-message,.admin-view-toggle,.admin-booking-card,.admin-pricing-summary article,.admin-pricing-card,.summary-line span,.amenities-grid span,.booking-panel,.date-field,.calendar-popover,.calendar-toolbar button,.calendar-footer button,.guest-breakdown,.guest-details label,.stepper-controls button,.qr-payment-card,.payment-details-card{background:var(--panel);border-color:var(--line);color:var(--ink)}.property-details p,.summary-line,.price-row span,.booking-fields label,.date-field,.calendar-toolbar span,.calendar-footer span,.calendar-weekdays,.guest-breakdown-header span,.guest-stepper span,.guest-details label,.qr-payment-card span,.payment-details-card span,.cost-breakdown div,.mobile-booking-bar span{color:var(--muted)}input,select,.date-field strong,.calendar-month h3,.calendar-day,.stepper-controls>span,.cost-breakdown .total-row,.guest-details input,.booking-fields input{color:var(--ink)}.booking-panel,.calendar-popover{box-shadow:none}.mobile-booking-bar{border-top-color:var(--line);color:var(--ink);background:#0f0f0ff5}.calendar-day.blocked{color:#ffffff6b}}
