.admin-login{background:var(--charcoal);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:#fff;border-radius:8px;width:100%;max-width:380px;padding:2.5rem;box-shadow:0 8px 40px #00000026}.login-brand{font-family:var(--font-display);color:var(--charcoal);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:.3rem;font-size:1.3rem}.login-card h2{text-align:center;color:var(--text-soft);letter-spacing:.05em;margin-bottom:2rem;font-size:.85rem;font-weight:400}.login-field{margin-bottom:1rem}.login-field label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.3rem;font-size:.65rem;font-weight:500;display:block}.login-field input{border:1px solid #e0ddd8;border-radius:3px;outline:none;width:100%;padding:.7rem .9rem;font-size:.85rem;transition:border-color .3s}.login-field input:focus{border-color:var(--gold)}.login-error{color:#a32d2d;text-align:center;background:#fdedec;border-radius:3px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.78rem}.login-btn{background:var(--charcoal);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;border-radius:3px;width:100%;margin-top:.5rem;padding:.8rem;font-size:.75rem;font-weight:500;transition:background .3s}.login-btn:hover{background:#2d3239}.login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-layout{background:#f4f3f0;min-height:100vh;display:flex}.admin-sidebar{background:var(--charcoal);color:#fff;flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:1.5rem 0;display:flex;position:fixed;overflow-y:auto}.sidebar-brand{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);padding:0 1.5rem .3rem;font-size:1.1rem}.sidebar-label{letter-spacing:.2em;text-transform:uppercase;color:#ffffff40;padding:0 1.5rem 1.5rem;font-size:.55rem}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 .8rem;display:flex}.sidebar-nav button{color:#ffffff80;text-align:left;cursor:pointer;width:100%;font-size:.8rem;font-family:var(--font-body);background:0 0;border:none;border-radius:4px;align-items:center;gap:.7rem;padding:.7rem .8rem;transition:all .2s;display:flex}.sidebar-nav button:hover{color:#fffc;background:#ffffff0f}.sidebar-nav button.active{color:#fff;background:#ffffff1a}.nav-icon{text-align:center;width:20px;font-size:1rem}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding:1rem 1.2rem}.admin-user{align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.admin-avatar{background:var(--gold);width:32px;height:32px;color:var(--charcoal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.admin-name{color:#fffc;font-size:.78rem}.admin-email{color:#ffffff59;font-size:.65rem}.logout-btn{color:#fff6;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;width:100%;font-size:.65rem;font-family:var(--font-body);background:0 0;border:1px solid #ffffff26;border-radius:3px;padding:.5rem;transition:all .3s}.logout-btn:hover{color:#ffffffb3;border-color:#ffffff4d}.admin-main{flex:1;max-width:1100px;margin-left:240px;padding:2rem 2.5rem}.admin-title{font-family:var(--font-display);color:var(--charcoal);margin-bottom:1.5rem;font-size:1.8rem;font-weight:400}.admin-loading{text-align:center;color:var(--text-soft);padding:3rem;font-size:.85rem}.empty-state{text-align:center;color:var(--text-soft);background:#fff;border:1px dashed #ddd;border-radius:6px;padding:3rem;font-size:.85rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:#fff;border-top:3px solid #ddd;border-radius:6px;padding:1.3rem 1.2rem;box-shadow:0 1px 8px #0000000a}.stat-value{font-family:var(--font-display);color:var(--charcoal);font-size:1.8rem;font-weight:400}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin-top:.2rem;font-size:.7rem}.stat-sub{color:var(--moss);margin-top:.3rem;font-size:.7rem}.admin-section{margin-bottom:2rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2{font-family:var(--font-display);color:var(--charcoal);font-size:1.2rem;font-weight:400}.admin-link{color:var(--wood);cursor:pointer;font-size:.78rem;font-family:var(--font-body);background:0 0;border:none}.admin-link:hover{text-decoration:underline}.bookings-table{background:#fff;border-radius:6px;overflow-x:auto;box-shadow:0 1px 8px #0000000a}.bookings-table table{border-collapse:collapse;width:100%;font-size:.8rem}.bookings-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);background:var(--cream);border-bottom:1px solid #e8e5e0;padding:.8rem 1rem;font-size:.65rem;font-weight:500}.bookings-table td{vertical-align:top;border-bottom:1px solid #f0eeea;padding:.8rem 1rem}.bookings-table tr:hover td{background:#f5f2ed80}.text-muted{color:var(--text-soft);font-size:.7rem}.text-gold{color:var(--wood);font-weight:500}.detail-btn{cursor:pointer;color:var(--text-soft);background:0 0;border:1px solid #ddd;border-radius:3px;padding:.3rem .7rem;font-size:.68rem;transition:all .2s}.detail-btn:hover{border-color:var(--charcoal);color:var(--charcoal)}.status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:.2rem .6rem;font-size:.62rem;font-weight:500;display:inline-block}.status-confirmed{color:#0f6e56;background:#eafaf1}.status-pending{color:#854f0b;background:#fef9e7}.status-cancelled{color:#a32d2d;background:#fdedec}.status-refunded{color:#185fa5;background:#e6f1fb}.filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.filter-btn{color:var(--text-soft);cursor:pointer;font-size:.7rem;font-family:var(--font-body);background:#fff;border:1px solid #e0ddd8;border-radius:20px;padding:.45rem 1rem;transition:all .2s}.filter-btn:hover{border-color:var(--charcoal);color:var(--charcoal)}.filter-btn.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:8px;width:100%;max-width:550px;max-height:85vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 16px 60px #0003}.modal-close{color:var(--text-soft);cursor:pointer;background:0 0;border:none;font-size:1.5rem;position:absolute;top:.8rem;right:1rem}.modal-card h2{font-family:var(--font-display);margin-bottom:1.2rem;padding-right:2rem;font-size:1.3rem;font-weight:400}.detail-grid{color:var(--text-soft);grid-template-columns:1fr 1fr;gap:.6rem;font-size:.82rem;line-height:1.6;display:grid}.detail-grid strong{color:var(--text)}.detail-actions{border-top:1px solid #eee;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn-confirm-action{color:#fff;letter-spacing:.06em;cursor:pointer;background:#1d9e75;border:none;border-radius:3px;padding:.5rem 1.2rem;font-size:.72rem}.btn-cancel-action{color:#a32d2d;letter-spacing:.06em;cursor:pointer;background:#fff;border:1px solid #a32d2d;border-radius:3px;padding:.5rem 1.2rem;font-size:.72rem}.btn-refund-action{color:#185fa5;letter-spacing:.06em;cursor:pointer;background:#fff;border:1px solid #185fa5;border-radius:3px;padding:.5rem 1.2rem;font-size:.72rem}.quick-actions{gap:1rem;display:flex}.action-btn{color:var(--text);cursor:pointer;font-size:.8rem;font-family:var(--font-body);background:#fff;border:1px solid #e0ddd8;border-radius:6px;padding:.8rem 1.5rem;transition:all .2s}.action-btn:hover{border-color:var(--charcoal);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cal-nav button{cursor:pointer;color:var(--text-soft);font-size:.78rem;font-family:var(--font-body);background:0 0;border:1px solid #ddd;border-radius:3px;padding:.4rem 1rem}.cal-nav button:hover{border-color:var(--charcoal);color:var(--charcoal)}.cal-nav h3{font-family:var(--font-display);color:var(--charcoal);font-size:1.3rem;font-weight:400}.cal-legend{flex-wrap:wrap;gap:1.2rem;margin-bottom:1.5rem;display:flex}.legend-item{color:var(--text-soft);align-items:center;gap:.4rem;font-size:.7rem;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.dot-free{background:#eafaf1;border:1px solid #1d9e75}.dot-booked{background:#fdedec;border:1px solid #a32d2d}.dot-pending{background:#fef9e7;border:1px solid #854f0b}.dot-blocked{background:#e6e6e6;border:1px solid #888}.dot-selected{background:#e6f1fb;border:1px solid #2e86c1}.cal-grid{background:#fff;border-radius:6px;grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden;box-shadow:0 1px 8px #0000000a}.cal-header{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);background:var(--cream);padding:.6rem;font-size:.65rem;font-weight:500}.cal-cell{text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:48px;padding:.7rem .5rem;font-size:.82rem;transition:all .15s;display:flex;position:relative}.cal-cell.empty{cursor:default}.cal-cell.free{color:var(--text);background:#fff}.cal-cell.free:hover{background:#eafaf1}.cal-cell.booked{color:#a32d2d;cursor:default;background:#fdedec}.cal-cell.pending{color:#854f0b;background:#fef9e7}.cal-cell.blocked{color:#888;background:#e6e6e6}.cal-cell.selected{color:#185fa5;background:#d4e8f9;font-weight:500;box-shadow:inset 0 0 0 2px #2e86c1}.cal-cell.today{box-shadow:inset 0 -2px 0 var(--gold);font-weight:600}.cal-cell.past{opacity:.4;cursor:default}.cal-dot{opacity:.5;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.cal-actions{background:#fff;border-radius:6px;margin-top:1rem;padding:1rem;box-shadow:0 1px 8px #0000000a}.cal-actions p{color:var(--text-soft);margin-bottom:.8rem;font-size:.82rem}.cal-action-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.block-input{min-width:150px;font-size:.78rem;font-family:var(--font-body);border:1px solid #ddd;border-radius:3px;outline:none;flex:1;padding:.45rem .7rem}.block-input:focus{border-color:var(--gold)}.btn-block{background:var(--charcoal);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:.45rem 1rem;font-size:.7rem}.btn-unblock{color:var(--charcoal);border:1px solid var(--charcoal);cursor:pointer;background:#fff;border-radius:3px;padding:.45rem 1rem;font-size:.7rem}.btn-clear{color:var(--text-soft);cursor:pointer;background:0 0;border:none;padding:.45rem 1rem;font-size:.7rem;text-decoration:underline}@media (width<=900px){.admin-sidebar{flex-flow:wrap;width:100%;height:auto;padding:.8rem 1rem;position:relative}.sidebar-brand{margin-right:auto;padding:0}.sidebar-label{display:none}.sidebar-nav{flex-direction:row;width:100%;margin-top:.5rem;padding:0;overflow-x:auto}.sidebar-footer{display:none}.admin-main{margin-left:0;padding:1.2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--slate:#3a3f47;--wood:#b8845c;--cream:#f5f2ed;--charcoal:#1e2126;--moss:#6b7c5e;--gold:#c9a96e;--light:#faf9f7;--text:#2c2c2c;--text-soft:#6b6b6b;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"DM Sans",Helvetica,sans-serif;--radius:3px;--shadow:0 2px 20px #0000000f;--transition:all .35s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:var(--light);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;cursor:pointer;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}.loader{background:var(--charcoal);z-index:9999;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;transition:opacity .8s;display:flex;position:fixed;inset:0}.loader.hidden{opacity:0;pointer-events:none}.loader-text{font-family:var(--font-display);color:var(--cream);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(1.4rem,3.5vw,2.4rem);animation:1.6s infinite loaderPulse}.loader-line{background:var(--gold);width:60px;height:1px;animation:1.6s infinite loaderExpand}@keyframes loaderPulse{0%,to{opacity:.2}50%{opacity:1}}@keyframes loaderExpand{0%,to{opacity:.3;width:30px}50%{opacity:1;width:80px}}.navbar{z-index:100;width:100%;height:64px;transition:var(--transition);justify-content:space-between;align-items:center;padding:0 clamp(1.5rem,4vw,3.5rem);display:flex;position:fixed;top:0}.navbar.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1e2126f0;box-shadow:0 1px 30px #00000026}.nav-brand{font-family:var(--font-display);color:#fff;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:1.2rem;font-weight:300}.nav-brand b{font-weight:600}.nav-center{gap:0;height:100%;list-style:none;display:flex}.nav-center a{color:#fff9;letter-spacing:.1em;text-transform:uppercase;height:64px;transition:var(--transition);align-items:center;padding:0 1.2rem;font-size:.7rem;font-weight:400;display:flex;position:relative}.nav-center a:hover,.nav-center a.active{color:#fff}.nav-center a.active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:0;left:1.2rem;right:1.2rem}.nav-right{align-items:center;gap:1rem;display:flex}.lang-switch{gap:3px;display:flex}.lang-btn{color:#ffffff80;letter-spacing:.06em;text-transform:uppercase;transition:var(--transition);background:0 0;border:1px solid #fff3;border-radius:2px;padding:4px 8px;font-size:.6rem}.lang-btn.active{color:#fff;background:#ffffff1f;border-color:#fff6}.lang-btn:hover{color:#fff;border-color:#ffffff80}.hamburger{z-index:200;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;padding:0;display:none}.hamburger span{width:100%;height:1.5px;transition:var(--transition);transform-origin:50%;background:#fff;display:block}.hamburger.open span:first-child{transform:translateY(9.25px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-9.25px)rotate(-45deg)}.mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:150;opacity:0;visibility:hidden;transition:var(--transition);background:#1e2126f7;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:none;position:fixed;inset:0}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu a{font-family:var(--font-display);color:#ffffffb3;transition:var(--transition);font-size:1.8rem}.mobile-menu a:hover,.mobile-menu a.active{color:#fff}@media (width<=900px){.nav-center{display:none}.hamburger,.mobile-menu{display:flex}}.hero{align-items:flex-end;height:100vh;min-height:550px;max-height:900px;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#1e212640 0%,#1e212666 50%,#1e2126cc 100%);position:absolute;inset:0}.hero-content{z-index:3;width:100%;max-width:850px;padding:0 clamp(1.5rem,5vw,4.5rem) clamp(3rem,8vh,6rem);position:relative}.hero-tag{letter-spacing:.3em;color:#fff;text-shadow:0 1px 8px #0006;font-size:.72rem}.hero h1{font-family:var(--font-display);color:#fff;margin-bottom:1.2rem;font-size:clamp(2.4rem,6.5vw,4.8rem);font-weight:300;line-height:1.08}.hero h1 em{color:var(--gold);font-style:italic}.hero-tagline{font-size:clamp(1.1rem,2vw,1.4rem);font-family:var(--serif);color:#fffffff2;text-shadow:0 1px 10px #00000080;margin-bottom:.6rem;font-style:italic}.hero-sub{color:#ffffffd9;text-shadow:0 1px 10px #0006;font-size:1rem}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.btn-primary{background:var(--gold);color:var(--charcoal);letter-spacing:.15em;text-transform:uppercase;transition:var(--transition);border-radius:var(--radius);border:none;align-items:center;padding:.85rem 2.2rem;font-size:.72rem;font-weight:500;display:inline-flex}.btn-primary:hover{background:#d4b478;transform:translateY(-1px);box-shadow:0 6px 20px #c9a96e4d}.btn-outline{color:#fffc;letter-spacing:.15em;text-transform:uppercase;transition:var(--transition);border-radius:var(--radius);background:0 0;border:1px solid #ffffff4d;align-items:center;padding:.85rem 2.2rem;font-size:.72rem;display:inline-flex}.btn-outline:hover{color:#fff;background:#ffffff0f;border-color:#ffffffb3}.scroll-hint{z-index:3;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(#0000,#fff6);width:1px;height:32px;animation:2.2s infinite scrollAnim}@keyframes scrollAnim{0%{opacity:0;transform-origin:top;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}to{opacity:0;transform-origin:bottom;transform:scaleY(0)}}.container{max-width:1300px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}.section-pad{padding:clamp(3.5rem,8vw,6rem) 0}.section-cream{background:var(--cream)}.section-tag{letter-spacing:.28em;text-transform:uppercase;color:var(--moss);margin-bottom:.6rem;font-size:.6rem;font-weight:500;display:block}.section-title{font-family:var(--font-display);color:var(--charcoal);margin-bottom:1.5rem;font-size:clamp(1.8rem,4vw,3rem);font-weight:300;line-height:1.15}.section-title em{color:var(--wood);font-style:italic}.body-text{color:var(--text-soft);margin-bottom:1rem;font-size:.88rem;font-weight:300;line-height:1.85}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.home-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.home-img{border-radius:var(--radius);overflow:hidden}.home-img img{object-fit:cover;width:100%;height:420px;transition:transform .7s}.home-img:hover img{transform:scale(1.03)}.features-strip{grid-template-columns:repeat(7,1fr);align-items:stretch;gap:1.2rem;margin-top:3.5rem;display:grid}.feat-card{text-align:center;background:var(--cream);border-radius:var(--radius);transition:var(--transition);flex-direction:column;justify-content:flex-start;align-items:center;height:100%;padding:1.8rem 1rem;display:flex}.feat-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.feat-icon{margin-bottom:.8rem;font-size:1.4rem;display:block}.feat-card h4{font-family:var(--font-display);color:var(--charcoal);margin-bottom:.4rem;font-size:.95rem;font-weight:400}.feat-card p{color:var(--text-soft);font-size:.7rem;font-weight:300;line-height:1.6}@media (width<=900px){.home-grid{grid-template-columns:1fr}.home-img img{height:300px}.features-strip{grid-template-columns:repeat(4,1fr)}}@media (width<=600px){.features-strip{grid-template-columns:repeat(2,1fr)}}.house-block{grid-template-columns:1fr 1fr;min-height:560px;margin-bottom:2px;display:grid}.house-block.reverse .house-block-img{order:2}.house-block.reverse .house-block-text{order:1}.house-block-img{overflow:hidden}.house-block-img img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:560px;transition:transform .7s}.house-block-img:hover img{transform:scale(1.04)}.house-block-text{flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem);display:flex}.house-block-text h3{font-family:var(--font-display);color:var(--charcoal);margin-bottom:.8rem;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:300}.house-block-text h3 em{color:var(--wood);font-style:italic}.house-block-tall,.house-block-tall .house-block-img img{min-height:700px!important}.house-block-text p{color:var(--text-soft);font-size:.85rem;font-weight:300;line-height:1.8}@media (width<=768px){.house-block{grid-template-columns:1fr}.house-block.reverse .house-block-img,.house-block.reverse .house-block-text{order:0}.house-block-img img{height:360px;min-height:360px}}.gallery-section{background:var(--charcoal);padding:clamp(3rem,7vw,5rem) clamp(1rem,3vw,2.5rem)}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:6px;max-width:1400px;margin:2rem auto 0;display:grid}.g-item{cursor:pointer;border-radius:2px;overflow:hidden}.g-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s,filter .5s}.g-item:hover img{filter:brightness(1.1);transform:scale(1.08)}.g-item.tall{grid-row:span 2}.g-item.wide{grid-column:span 2}@media (width<=768px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.g-item.wide{grid-column:span 1}.g-item.tall{grid-row:span 1}}.lightbox{z-index:2000;cursor:zoom-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:92vw;max-height:90vh}.lightbox-close{color:#fff;cursor:pointer;opacity:.5;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.8rem;display:flex;position:absolute;top:1.2rem;right:1.5rem}.lightbox-close:hover{opacity:1}.booking-layout{grid-template-columns:1fr 420px;align-items:start;gap:3rem;display:grid}.booking-form{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:2.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem;display:grid}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);font-size:.65rem;font-weight:500}.form-group input,.form-group select{border-radius:var(--radius);color:var(--text);background:var(--light);transition:var(--transition);border:1px solid #e0ddd8;outline:none;padding:.7rem .9rem;font-size:.85rem}.form-group input:focus,.form-group select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e1a}.price-card{background:var(--cream);border-radius:var(--radius);padding:2rem}.price-line{color:var(--text-soft);border-bottom:1px solid #0000000d;justify-content:space-between;padding:.55rem 0;font-size:.85rem;display:flex}.price-total{color:var(--charcoal);font-size:1.1rem;font-weight:500;font-family:var(--font-display);justify-content:space-between;padding:.8rem 0 0;display:flex}.pay-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin-top:1.5rem;font-size:.7rem;font-weight:500}.pay-tabs{border-radius:var(--radius);border:1px solid #e0ddd8;gap:0;margin:1rem 0;display:flex;overflow:hidden}.pay-tab{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);transition:var(--transition);background:#fff;border:none;border-right:1px solid #e0ddd8;flex:1;padding:.7rem .5rem;font-size:.65rem}.pay-tab:last-child{border-right:none}.pay-tab.active{background:var(--charcoal);color:#fff}.pay-tab:hover:not(.active){background:var(--cream)}.pay-tab-icon{margin-bottom:.3rem;font-size:1.1rem;display:block}.pay-panel{animation:.3s fadeUp}.pay-note{color:var(--text-soft);background:var(--cream);border-radius:var(--radius);border-left:3px solid var(--gold);margin-top:.8rem;padding:.8rem 1rem;font-size:.78rem;line-height:1.6}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-field{border-radius:var(--radius);background:var(--light);width:100%;transition:var(--transition);border:1px solid #e0ddd8;outline:none;margin-bottom:.8rem;padding:.65rem .9rem;font-size:.85rem}.card-field:focus{border-color:var(--gold)}.card-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.btn-confirm{background:var(--charcoal);color:#fff;letter-spacing:.15em;text-transform:uppercase;width:100%;transition:var(--transition);border-radius:var(--radius);border:none;margin-top:1.2rem;padding:1rem;font-size:.75rem;font-weight:500}.btn-confirm:hover{background:#2d3239;transform:translateY(-1px);box-shadow:0 4px 15px #00000026}.secure-note{text-align:center;color:var(--text-soft);margin-top:.8rem;font-size:.65rem}.booking-sidebar{position:sticky;top:80px}.sidebar-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:1.5rem;overflow:hidden}.sidebar-card img{object-fit:cover;width:100%;height:200px}.sidebar-card-body{padding:1.5rem}.sidebar-card-body h3{font-family:var(--font-display);margin-bottom:.3rem;font-size:1.3rem;font-weight:400}.price-tag{font-family:var(--font-display);color:var(--wood);font-size:1.6rem;font-weight:300}.price-tag small{color:var(--text-soft);font-size:.75rem;font-weight:400}.sidebar-amenities{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.sidebar-amenities span{background:var(--cream);color:var(--slate);border-radius:20px;padding:.3rem .7rem;font-size:.65rem}@media (width<=900px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{position:static}.form-row{grid-template-columns:1fr}}.loc-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem;display:grid}.loc-distances{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.8rem;display:grid}.loc-item{text-align:center;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:1.3rem .8rem}.loc-dist{font-family:var(--font-display);color:var(--wood);font-size:1.6rem;font-weight:300}.loc-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-top:.2rem;font-size:.65rem}.loc-map{border-radius:var(--radius);height:380px;box-shadow:var(--shadow);overflow:hidden}.loc-map iframe{filter:grayscale(.25)contrast(1.05);border:0;width:100%;height:100%}@media (width<=768px){.loc-grid{grid-template-columns:1fr}.loc-map{height:260px}}.contact-grid{grid-template-columns:1fr 1fr;gap:3.5rem;display:grid}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-input{border-radius:var(--radius);background:var(--light);transition:var(--transition);border:1px solid #e0ddd8;outline:none;padding:.8rem 1rem;font-size:.85rem}.contact-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e1a}textarea.contact-input{resize:vertical;min-height:120px}.btn-send{background:var(--charcoal);color:#fff;letter-spacing:.15em;text-transform:uppercase;transition:var(--transition);border-radius:var(--radius);border:none;align-self:flex-start;padding:.9rem 2rem;font-size:.72rem;font-weight:500}.btn-send:hover{background:#2d3239}.contact-info h3{font-family:var(--font-display);color:var(--charcoal);margin-bottom:1.5rem;font-size:1.6rem;font-weight:300}.contact-detail{color:var(--text-soft);border-bottom:1px solid #0000000d;align-items:center;gap:.8rem;padding:.8rem 0;font-size:.85rem;display:flex}.contact-detail strong{color:var(--text);min-width:80px;font-weight:500}.contact-lang{color:var(--moss);margin-top:1.5rem;font-size:.78rem;font-weight:500}@media (width<=768px){.contact-grid{grid-template-columns:1fr}}footer{background:var(--charcoal);border-top:1px solid #ffffff0f;padding:2.5rem clamp(1.5rem,4vw,3.5rem)}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;max-width:1300px;margin:0 auto;display:flex}.footer-brand{font-family:var(--font-display);color:#ffffffb3}.footer-links a{color:#ffffff4d;letter-spacing:.06em;text-transform:uppercase;transition:var(--transition);font-size:.65rem}.footer-links a:hover{color:#ffffffa6}.footer-copy{text-align:center;color:#ffffff80;width:100%;margin-top:1.2rem;font-size:.6rem}.footer-legal{color:#ffffff73;letter-spacing:.04em;text-align:center;flex-wrap:wrap;justify-content:center;gap:.3rem 1.4rem;width:100%;margin-top:1rem;font-size:.6rem;display:flex}.footer-legal strong{color:#ffffffb3;font-weight:500}.footer-nra{word-break:break-all;max-width:100%}.footer-payments{align-items:center;gap:.6rem;display:flex}.footer-payments span{color:#fff9;font-size:.6rem}.pay-badge{color:#ffffff73;background:#ffffff14;border-radius:2px;padding:3px 8px;font-size:.55rem}.whatsapp-btn{z-index:90;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;text-decoration:none;transition:all .3s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 15px #25d36666}.sticky-book-bar{z-index:95;box-shadow:none;background:0 0;padding:0;display:flex;position:fixed;bottom:1.5rem;left:1.5rem}.sticky-book-cta{justify-content:center;width:auto;padding:.9rem 1.7rem;box-shadow:0 6px 20px #00000040}@media (width<=900px){.sticky-book-bar{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1e2126f0;bottom:0;left:0;right:0;box-shadow:0 -2px 20px #0000002e}.sticky-book-cta{width:100%;box-shadow:none;padding:.85rem 2.2rem}.whatsapp-btn{bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}footer{padding-bottom:calc(2.5rem + 4.5rem + env(safe-area-inset-bottom,0px))}}.whatsapp-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #25d36680}.whatsapp-tooltip{background:var(--charcoal);color:#fff;white-space:nowrap;font-size:.72rem;font-family:var(--font-body);border-radius:4px;padding:.4rem .8rem;position:absolute;right:68px}@media (width<=768px){.awards-grid{grid-template-columns:1fr!important}.awards-grid>div:last-child{min-height:220px!important}}.avail-calendar{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:1.5rem;padding:1.5rem}.avail-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.avail-hint{color:var(--wood);font-size:.82rem;font-weight:500}.avail-legend{color:var(--text-soft);gap:1rem;font-size:.7rem;display:flex}.avail-legend span{align-items:center;gap:.3rem;display:flex}.free-dot{background:#eafaf1;border:1px solid #1d9e75;border-radius:50%;width:10px;height:10px;display:inline-block}.taken-dot{background:#fdedec;border:1px solid #c0392b;border-radius:50%;width:10px;height:10px;display:inline-block}.avail-nav{justify-content:space-between;margin-bottom:.8rem;display:flex}.avail-nav button{cursor:pointer;color:var(--text-soft);font-size:.82rem;font-family:var(--font-body);transition:var(--transition);background:0 0;border:1px solid #e0ddd8;border-radius:3px;padding:.35rem .9rem}.avail-nav button:hover:not(:disabled){border-color:var(--charcoal);color:var(--charcoal)}.avail-nav button:disabled{opacity:.3;cursor:not-allowed}.avail-months{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.avail-month-title{text-align:center;font-family:var(--font-display);color:var(--charcoal);margin-bottom:.6rem;font-size:1.05rem;font-weight:400}.avail-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.avail-header{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);padding:.4rem 0;font-size:.6rem;font-weight:500}.avail-cell{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:52px;padding:.4rem .2rem;font-size:.78rem;transition:all .15s;display:flex;position:relative}.avail-cell.empty{cursor:default;min-height:52px}.avail-day{font-size:.82rem;line-height:1.2}.avail-price{color:var(--moss);font-size:.55rem;font-weight:400;line-height:1}.avail-price-season{color:var(--wood);font-weight:500}.taken-label{color:#c0392b;font-size:.55rem}.avail-cell.free{color:var(--text);background:#fff}.avail-cell.free:hover{color:#0f6e56;background:#eafaf1}.avail-cell.free:hover .avail-price{color:#0f6e56}.avail-cell.taken{color:#c0392b;cursor:not-allowed;opacity:.7;background:#fdedec}.avail-cell.past{color:#ccc;cursor:not-allowed}.avail-cell.past .avail-price{display:none}.avail-cell.checkin-selected{background:var(--charcoal);color:#fff;border-radius:3px 0 0 3px;font-weight:500}.avail-cell.checkin-selected .avail-price{color:#ffffffb3}.avail-cell.checkout-selected{background:var(--charcoal);color:#fff;border-radius:0 3px 3px 0;font-weight:500}.avail-cell.checkout-selected .avail-price{color:#ffffffb3}.avail-cell.in-range{color:var(--charcoal);background:#f0eeea}.avail-cell.in-hover{color:var(--charcoal);background:#f5f2ed}@media (width<=600px){.avail-months{grid-template-columns:1fr}.avail-cell{min-height:46px}.avail-price{font-size:.5rem}}
