:root{--accent: #e85d2c;--accent-hover: #d14f22;--accent-soft: #fff4ef;--ink: #111111;--ink-soft: #4b5563;--muted: #6b7280;--line: #e8e8e8;--surface: #ffffff;--surface-soft: #f7f7f5;--danger: #b42318;--radius-sm: 12px;--radius-md: 20px;--radius-pill: 999px;--shadow-soft: 0 18px 50px rgba(17, 17, 17, .08);--shadow-bar: 0 12px 40px rgba(17, 17, 17, .12);--font-sans: "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-serif: var(--font-sans);--header-height: 84px}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1240px,calc(100% - 40px));margin:0 auto}.site-main{min-height:50vh}.muted{color:var(--muted)}.luxury-header{position:absolute;inset:0 0 auto;z-index:20;height:var(--header-height);display:flex;align-items:center}.site-header-dark .luxury-header{position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.site-header-light .luxury-header{background:linear-gradient(180deg,rgba(0,0,0,.45),transparent)}.luxury-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.luxury-brand{display:flex;align-items:center;gap:14px}.brand-logo{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.brand-logo--sm{width:40px;height:40px}.brand-logo--lg{width:58px;height:58px}.luxury-brand--logo-only{gap:0}.luxury-brand-text--compact strong{display:block;font-size:.92rem;letter-spacing:.06em;text-transform:none}.site-header-light .brand-logo,.luxury-footer .brand-logo{box-shadow:0 0 0 1px #ffffff26}.site-header-dark .brand-logo{box-shadow:0 0 0 1px var(--line)}.admin-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700}.lang-switch{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-pill);background:#121614d1;border:1px solid rgba(255,255,255,.28);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000002e}.lang-switch-btn{border:0;background:transparent;color:#ffffffd1;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:6px 11px;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s,color .15s}.lang-switch-btn:hover{color:#fff}.lang-switch-btn.is-active{background:#ffffff38;color:#fff}.site-header-dark .lang-switch{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:none}.site-header-dark .lang-switch-btn{color:var(--muted)}.site-header-dark .lang-switch-btn:hover{color:var(--ink)}.site-header-dark .lang-switch-btn.is-active{background:var(--ink);color:#fff}.luxury-brand-text--header strong{font-family:var(--font-sans);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;text-transform:none;line-height:1.2}.site-header-light .luxury-brand-text--header strong{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45)}.site-header-dark .luxury-brand-text--header strong{color:var(--ink)}.luxury-nav-tools{display:flex;align-items:center;gap:14px}.luxury-brand-mark{display:none}.luxury-brand-text strong{display:block;font-size:.92rem;font-weight:700;letter-spacing:-.01em;text-transform:none}.luxury-brand-text small{display:block;margin-top:2px;font-size:.78rem;opacity:.75}.site-header-light .luxury-brand,.site-header-light .luxury-nav a{color:#fff}.site-header-dark .luxury-brand,.site-header-dark .luxury-nav a{color:var(--ink)}.luxury-nav{display:flex;align-items:center;gap:28px;font-size:.92rem;font-weight:600}.luxury-nav a{opacity:.92;transition:opacity .2s}.luxury-nav a:hover{opacity:1}.luxury-nav-admin{padding:10px 18px;border:1px solid currentColor;border-radius:var(--radius-pill)}.luxury-hero,.property-hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;background:#2f3a32 center/cover no-repeat}.property-hero{min-height:min(70vh,620px);align-items:flex-end;justify-content:stretch}.luxury-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000006b,#00000047,#00000085)}.luxury-hero-content{position:relative;z-index:1;width:100%;min-height:100svh;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;padding:var(--header-height) 0 32px;box-sizing:border-box}.luxury-hero-center{grid-row:2;width:100%;display:flex;justify-content:center;align-items:center}.booking-bar--hero{width:min(920px,calc(100% - 24px));margin:0 auto}.luxury-hero-copy{grid-row:3;align-self:end;justify-self:center;padding-bottom:24px}.property-hero-content{position:relative;z-index:1;width:100%;padding:calc(var(--header-height) + 32px) 0 48px;min-height:auto;display:block}.luxury-hero-copy,.property-hero-copy{max-width:760px;color:#fff;text-align:center}.luxury-hero-copy{margin-top:0}.property-hero-copy{text-align:left;margin-top:0}.luxury-badge{display:inline-block;padding:8px 16px;border-radius:var(--radius-pill);background:#ffffff24;border:1px solid rgba(255,255,255,.25);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.luxury-badge--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.luxury-hero-copy h1,.property-hero-copy h1{margin:18px 0 14px;font-family:var(--font-sans);font-size:clamp(2rem,5vw,3.25rem);line-height:1.2;font-weight:700;letter-spacing:-.02em}.luxury-hero-copy h1 em,.property-hero-copy h1 em{font-style:normal;font-weight:600;color:#ffffffeb}.luxury-hero-copy p,.property-hero-copy p{margin:0 auto;max-width:560px;font-size:1.0625rem;line-height:1.65;color:#ffffffe6}.property-hero-meta{margin-top:10px!important;font-weight:600}.booking-bar{display:flex;align-items:stretch;gap:0;width:min(920px,100%);background:#fff;border-radius:var(--radius-pill);box-shadow:var(--shadow-bar);overflow:hidden}.booking-bar--elevated{width:100%;border-radius:var(--radius-md)}.booking-field{flex:1;display:grid;align-content:center;gap:4px;padding:16px 22px;min-width:0}.booking-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.booking-field input{border:0;padding:0;font:inherit;font-size:.98rem;font-weight:600;color:var(--ink);background:transparent;min-width:0}.booking-field input:focus{outline:none}.booking-divider{width:1px;background:var(--line);margin:14px 0}.booking-submit{margin:8px;padding:0 28px;border:0;border-radius:var(--radius-pill);background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s}.booking-submit:hover:not(:disabled){background:var(--accent-hover)}.booking-submit:disabled{opacity:.7;cursor:wait}.section{padding:72px 0}.luxury-hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.section--soft{background:var(--surface-soft)}.hero-admin-preview{max-width:720px}.hero-admin-preview img,.hero-admin-video{width:100%;border-radius:var(--radius-md);max-height:320px;object-fit:cover}.section--featured{display:none}.section--destinations{background:var(--surface)}.section--booking-sticky{padding:0;margin-top:-34px;position:relative;z-index:5}.section--rooms{background:var(--surface-soft)}.section-intro{margin-bottom:32px}.section-intro--center{text-align:center}.section-title{margin:0;font-family:var(--font-sans);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.25;letter-spacing:-.02em}.section-subtitle{margin:10px 0 0;color:var(--muted);font-size:1.0625rem;line-height:1.6}.page-hero{padding:calc(var(--header-height) + 48px) 0 32px;background:var(--surface-soft)}.page-hero--compact{padding-bottom:0}.page-loading{padding:120px 0;text-align:center}.loader{width:36px;height:36px;margin:0 auto 16px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.featured-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.property-card{display:flex;flex-direction:column;gap:18px;transition:transform .25s ease}.property-card:hover{transform:translateY(-4px)}.property-card-media{aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;background:#ddd}.property-card--featured .property-card-media{aspect-ratio:16 / 10}.property-card-media img,.property-card-placeholder{width:100%;height:100%;object-fit:cover}.property-card-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d8ddd3,#eef0ea);color:var(--ink-soft);font-family:var(--font-sans);font-size:1.25rem;font-weight:600}.property-eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.property-card-body h3{margin:8px 0 10px;font-family:var(--font-sans);font-size:1.25rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}.property-card-body p{margin:0;color:var(--ink-soft);line-height:1.55;font-size:.95rem}.property-meta{margin:0;color:var(--ink-soft);line-height:1.6;font-size:.95rem}.property-price{margin-top:10px;font-weight:700;color:var(--ink)}.property-cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.92rem;font-weight:700;color:var(--accent)}.property-card--skeleton{min-height:360px;border-radius:var(--radius-md);background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.result-grid{display:grid;gap:16px}.result-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.result-card h3{margin:6px 0 0;font-family:var(--font-sans);font-size:1.2rem;font-weight:700;line-height:1.35}.result-card-actions{display:flex;gap:10px;flex-wrap:wrap}.gallery-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-masonry img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.gallery-masonry-feature{grid-column:span 2;grid-row:span 2}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.room-card{padding:24px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line)}.room-card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.room-number{font-family:var(--font-sans);font-size:1.5rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}.room-price{font-size:.88rem;font-weight:700;color:var(--ink-soft)}.room-name{margin:12px 0 0;color:var(--muted);font-size:.92rem}.contact-luxury-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-luxury-card{padding:28px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--line)}.contact-luxury-card--wide{grid-column:span 2}.contact-icon{font-size:1.4rem}.contact-luxury-card h3{margin:14px 0 8px;font-family:var(--font-sans);font-size:1.125rem;font-weight:700}.contact-luxury-card a,.contact-luxury-card span{color:var(--ink-soft);line-height:1.6}.contact-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:var(--radius-pill);border:0;font:inherit;font-weight:700;cursor:pointer;transition:.2s}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-outline:hover{border-color:var(--ink)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#eef0ee;color:var(--ink)}.luxury-footer{background:var(--ink);color:#ffffffd1;margin-top:24px}.luxury-footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1.3fr;gap:40px;padding:64px 0 40px;align-items:start}.luxury-footer .luxury-brand{color:#fff}.luxury-footer h4{margin:0 0 14px;color:#fff;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.luxury-footer-grid>div:last-child{display:grid;gap:10px;align-content:start}.luxury-footer-grid a{display:block;margin-bottom:8px}.luxury-footer-copy{margin:14px 0 0;line-height:1.7;max-width:360px}.luxury-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 28px;font-size:.88rem;color:#ffffff8c}.footer-contact h4{margin:0 0 10px;color:#fff;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.footer-contact-note{margin:0 0 18px;line-height:1.6;color:#ffffffb8;font-size:.95rem}.footer-contact-icons{display:flex;flex-wrap:wrap;gap:12px}.footer-contact-icon{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;transition:background .2s,border-color .2s,transform .15s}.footer-contact-icon:hover{background:#ffffff1f;border-color:#ffffff59;transform:translateY(-1px)}.footer-contact-icon-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffffff1a;flex-shrink:0}.footer-contact-icon-label{font-size:.88rem;font-weight:600;line-height:1.2;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn--footer{margin-top:8px;width:fit-content}.breadcrumb{display:flex;gap:8px;color:var(--muted);margin-bottom:20px;font-size:.92rem}.breadcrumb--light{color:#ffffffbf}.breadcrumb--light a{color:#fff}.alert{padding:14px 16px;border-radius:var(--radius-sm);margin-bottom:16px}.alert-error{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.alert-success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.site--admin{background:var(--surface-soft)}.admin-topbar{background:#fff;border-bottom:1px solid var(--line)}.admin-topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.admin-brand{font-weight:700}.admin-topbar-nav{display:flex;gap:16px}.admin-dashboard,.admin-login{max-width:760px}.admin-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.admin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:20px}.admin-card:hover{border-color:var(--accent)}.admin-card span{display:block;margin-top:8px;color:var(--muted);font-size:.92rem}.admin-login-form,.admin-form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:20px}.admin-form label,.admin-login-form label{display:grid;gap:8px}.admin-form input,.admin-form textarea,.admin-form select,.admin-login-form input,.calendar-toolbar input,.modal-card input,.modal-card select{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit}.checkbox-row{display:flex!important;align-items:center;gap:8px}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.gallery-item,.image-preview{display:grid;gap:8px}.image-preview img,.gallery-item img{border-radius:var(--radius-sm)}.file-upload input{display:none}.calendar-toolbar{margin-bottom:16px}.calendar-toolbar input{width:min(360px,100%)}.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md)}.calendar-scroll{overflow:auto;max-height:70vh}.calendar-grid{border-collapse:separate;border-spacing:0;min-width:max-content}.calendar-grid th,.calendar-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:4px;text-align:center;font-size:.78rem}.calendar-sticky-col{position:sticky;left:0;z-index:2;background:#fff;min-width:180px;text-align:left!important;padding:8px!important}.calendar-cell{width:34px;height:34px;border:0;border-radius:8px;cursor:pointer;font-size:.7rem}.calendar-cell.available{background:#d1fadf}.calendar-cell.airbnb-booked{background:#fda29b}.calendar-cell.manual-booking{background:#fdb022}.calendar-cell.manual-blocked{background:#98a2b3;color:#fff}.calendar-cell.unknown{background:#eaecf0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;display:grid;place-items:center;padding:16px;z-index:50}.modal-card{width:min(420px,100%);background:#fff;border-radius:var(--radius-md);padding:20px;display:grid;gap:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.match-actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 960px){.featured-row,.property-grid,.contact-luxury-grid,.luxury-footer-grid{grid-template-columns:1fr 1fr}.gallery-masonry,.gallery-masonry-feature{grid-column:auto;grid-row:auto}.gallery-masonry{grid-template-columns:1fr 1fr}.contact-luxury-card--wide{grid-column:span 1}}@media (max-width: 720px){.luxury-nav{display:none}.booking-bar,.booking-bar--elevated{flex-direction:column;border-radius:var(--radius-md)}.booking-divider{width:auto;height:1px;margin:0 16px}.booking-submit{margin:0 8px 8px;width:calc(100% - 16px);padding:14px}.featured-row,.property-grid,.contact-luxury-grid,.luxury-footer-grid,.gallery-masonry{grid-template-columns:1fr}.result-card,.section-head{flex-direction:column;align-items:stretch}}
