.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-full);cursor:pointer;border:1px solid transparent;transition:all var(--transition-smooth);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-forest);color:var(--color-text-on-dark);box-shadow:0 4px 14px #2a382838}.btn-primary:hover{background-color:var(--color-forest-dark);color:var(--color-text-on-dark);box-shadow:0 6px 20px #2a382852;transform:translateY(-2px)}.btn-secondary{background-color:var(--color-surface);color:var(--color-forest);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-sand-light);border-color:var(--color-terracotta);color:var(--color-terracotta-dark);transform:translateY(-2px)}.btn-terracotta{background-color:var(--color-terracotta);color:#fff;box-shadow:0 4px 16px #b86b4240}.btn-terracotta:hover{background-color:var(--color-terracotta-dark);color:#fff;box-shadow:0 6px 22px #b86b4259;transform:translateY(-2px)}.btn-whatsapp{background-color:var(--color-whatsapp);color:#fff;box-shadow:0 4px 16px #25d36659}.btn-whatsapp:hover{background-color:var(--color-whatsapp-hover);color:#fff;box-shadow:0 6px 22px #25d36673;transform:translateY(-2px)}.btn-ghost-light{background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-ghost-light:hover{background:#ffffff47;border-color:#fff9;color:#fff;transform:translateY(-2px)}.btn-sm{padding:.6rem 1.25rem;font-size:.875rem}.btn-lg{padding:1.1rem 2.2rem;font-size:1.05rem}.btn-full{width:100%}.badge-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .95rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-full)}.badge-location{background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-forest-dark);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 12px #00000014}.badge-nature{background:var(--color-sage-soft);color:var(--color-forest);border:1px solid rgba(107,128,103,.2)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-card);transition:all var(--transition-smooth)}.card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-border)}.card-feature{padding:clamp(1.75rem,3vw,2.5rem);height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#faf8f4)}.card-feature:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-terracotta),var(--color-sage));opacity:0;transition:opacity var(--transition-smooth)}.card-feature:hover{transform:translateY(-5px)}.card-feature:hover:before{opacity:1}.card-feature-icon-box{width:54px;height:54px;border-radius:var(--radius-md);background-color:var(--color-sand-light);color:var(--color-forest);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid rgba(184,107,66,.12)}.card-feature-icon-box svg{width:26px;height:26px;stroke:var(--color-forest)}.card-feature-tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--color-terracotta);margin-bottom:.5rem}.card-feature-title{font-size:1.25rem;margin-bottom:.85rem;color:var(--color-text-main)}.card-feature-desc{font-size:.95rem;line-height:1.6;color:var(--color-text-muted);margin-top:auto}.accommodation-card{display:flex;flex-direction:column;height:100%;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-card);overflow:hidden;transition:all var(--transition-smooth);position:relative}.accommodation-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:#b86b424d}.accommodation-img-frame{position:relative;height:250px;width:100%;overflow:hidden;background-color:var(--color-sand-light)}.accommodation-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.accommodation-card:hover .accommodation-img{transform:scale(1.05)}.accommodation-badges-top{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;pointer-events:none}.badge-capacity{background:#fffffff0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-forest-dark);font-weight:700;font-size:.78rem;padding:.35rem .8rem;border-radius:var(--radius-full);box-shadow:0 4px 12px #0000001f;border:1px solid rgba(255,255,255,.5);display:inline-flex;align-items:center;gap:.35rem}.badge-pool-tag{background:#2a3828d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-weight:600;font-size:.75rem;padding:.35rem .75rem;border-radius:var(--radius-full);box-shadow:0 4px 12px #00000026;border:1px solid rgba(255,255,255,.2)}.badge-photo-count{position:absolute;bottom:.75rem;right:.75rem;background:#1c1e1ac7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:.75rem;font-weight:600;padding:.32rem .75rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.25);cursor:pointer;z-index:5;transition:all var(--transition-fast)}.badge-photo-count:hover{background:var(--color-terracotta);border-color:var(--color-terracotta);transform:scale(1.04)}.accommodation-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.accommodation-thumb{height:52px;border-radius:6px;overflow:hidden;cursor:pointer;position:relative;background-color:var(--color-sand)}.accommodation-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-fast),filter var(--transition-fast)}.accommodation-thumb:hover img{transform:scale(1.12);filter:brightness(1.08)}.accommodation-content{padding:clamp(1.4rem,2.5vw,1.85rem);display:flex;flex-direction:column;flex:1}.accommodation-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--color-terracotta);margin-bottom:.35rem}.accommodation-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;color:var(--color-text-main);margin-bottom:.5rem;line-height:1.3}.accommodation-desc{font-size:.9rem;line-height:1.55;color:var(--color-text-muted);margin-bottom:1.25rem}.accommodation-specs-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);padding-bottom:1rem}.accommodation-spec-item{display:flex;align-items:flex-start;gap:.7rem;font-size:.875rem;color:var(--color-text-main)}.accommodation-spec-icon{flex-shrink:0;color:var(--color-terracotta);margin-top:2px}.accommodation-spec-item strong{display:block;font-weight:600;color:var(--color-forest-dark);font-size:.88rem}.accommodation-spec-item span{display:block;font-size:.8rem;color:var(--color-text-muted);line-height:1.35;margin-top:.1rem}.accommodation-footer{margin-top:auto;display:flex;flex-direction:column;gap:.85rem}.accommodation-price-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.price-pill-pending{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;background:var(--color-sand-light);border:1px solid rgba(184,107,66,.22);border-radius:var(--radius-full);font-size:.82rem;font-weight:600;color:var(--color-terracotta-dark)}.price-pill-confirmed{display:inline-flex;align-items:baseline;gap:.25rem;padding:.35rem .85rem;background:var(--color-sand-light);border:1px solid rgba(184,107,66,.22);border-radius:var(--radius-full)}.price-amount{font-family:var(--font-sans);font-size:1.18rem;font-weight:700;color:var(--color-terracotta-dark);letter-spacing:-.01em}.price-unit{font-size:.78rem;font-weight:500;color:var(--color-text-muted)}.price-season-tag{display:inline-flex;align-items:center;font-size:.76rem;font-weight:600;color:var(--color-terracotta);background:#b86b4214;border:1px solid rgba(184,107,66,.2);padding:.25rem .65rem;border-radius:var(--radius-sm);white-space:nowrap}.guests-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;width:100%;min-width:0}.guests-split-grid>*{min-width:0;max-width:100%}.form-group{display:flex;flex-direction:column;gap:.45rem;text-align:left;min-width:0;max-width:100%;box-sizing:border-box}.form-label{font-size:.85rem;font-weight:600;color:var(--color-text-main);display:flex;align-items:center;gap:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-label svg{flex-shrink:0}.form-input,.form-select,.form-textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:.8rem 1rem;font-size:.92rem;font-family:inherit;color:var(--color-text-main);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:all var(--transition-fast);height:48px}.form-input:focus,.form-select:focus,.form-textarea:focus{background-color:#fff;border-color:var(--color-forest);box-shadow:0 0 0 3px #2a38281f}.form-select{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:14px 14px;padding-right:2rem}.form-input[type=date]{min-height:48px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-textarea{resize:vertical;min-height:90px;height:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#141812a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;opacity:0;visibility:hidden;transition:opacity var(--transition-smooth),visibility var(--transition-smooth)}.modal-overlay.is-active{opacity:1;visibility:visible}.modal-container{background-color:var(--color-surface);border-radius:var(--radius-xl);max-width:580px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-modal);transform:translateY(24px) scale(.97);transition:transform var(--transition-bounce),opacity var(--transition-smooth);position:relative;border:1px solid var(--color-border-light)}.modal-overlay.is-active .modal-container{transform:translateY(0) scale(1)}.modal-header{padding:clamp(1.5rem,3vw,2.25rem) clamp(1.5rem,3vw,2.25rem) 1.25rem;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-close-btn{background:var(--color-sand-light);border:none;width:38px;height:38px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);flex-shrink:0}.modal-close-btn:hover{background-color:var(--color-border);color:var(--color-text-main);transform:rotate(90deg)}.modal-body{padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:1.35rem}.modal-summary-box{background:var(--color-sand-light);border-radius:var(--radius-md);padding:1rem 1.25rem;border:1px solid rgba(184,107,66,.15);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.modal-summary-item{display:flex;flex-direction:column}.modal-summary-item span:first-child{font-size:.75rem;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;letter-spacing:.05em}.modal-summary-item span:last-child{font-size:.95rem;font-weight:700;color:var(--color-forest-dark)}.modal-reassurance{display:flex;align-items:center;gap:.6rem;font-size:.825rem;color:var(--color-text-muted);background:var(--color-bg);padding:.75rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--color-terracotta)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0c0f0bf0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity var(--transition-smooth),visibility var(--transition-smooth)}.lightbox-overlay.is-active{opacity:1;visibility:visible}.lightbox-content{position:relative;max-width:1080px;width:100%;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-img-wrapper{position:relative;max-height:75vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md);box-shadow:0 20px 50px #00000080}.lightbox-img{max-height:75vh;max-width:100%;object-fit:contain;border-radius:var(--radius-md);transition:transform .3s ease}.lightbox-caption{margin-top:1rem;color:#fff;text-align:center;font-size:1rem;max-width:700px}.lightbox-caption-sub{font-size:.85rem;color:#ffffffb3;margin-top:.25rem}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10}.lightbox-nav-btn:hover{background:#ffffff59;transform:translateY(-50%) scale(1.08)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:20}.lightbox-close:hover{background:#ffffff59;transform:rotate(90deg)}.floating-whatsapp{position:fixed;bottom:2rem;right:2rem;z-index:900;display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem .75rem .95rem;background-color:var(--color-whatsapp);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-floating);cursor:pointer;transition:all var(--transition-smooth);text-decoration:none;border:2px solid rgba(255,255,255,.4)}.floating-whatsapp:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 36px #25d36666;background-color:var(--color-whatsapp-hover);color:#fff}.floating-whatsapp-icon-wrap{width:32px;height:32px;border-radius:var(--radius-full);background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.floating-whatsapp-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.6);animation:pulse-ring 2.2s cubic-bezier(.215,.61,.355,1) infinite}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}.floating-whatsapp-text{font-size:.9rem;font-weight:700;letter-spacing:.01em}.mobile-sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);padding:.75rem 1.25rem;z-index:850;box-shadow:0 -4px 16px #0000000f;align-items:center;justify-content:space-between}.mobile-sticky-bar-info{display:flex;flex-direction:column}.mobile-sticky-bar-title{font-size:.85rem;font-weight:700;color:var(--color-forest-dark)}.mobile-sticky-bar-sub{font-size:.75rem;color:var(--color-text-muted)}@media(max-width:768px){.mobile-sticky-bar{display:flex}.floating-whatsapp{bottom:1.25rem;right:1.25rem;padding:.65rem .9rem}body:has(.mobile-sticky-bar) .floating-whatsapp{bottom:4.8rem}body.page-calendar .floating-whatsapp{display:none!important}.floating-whatsapp-text{display:none}.floating-whatsapp-icon-wrap{width:28px;height:28px}}.accommodation-actions-group{display:flex;flex-direction:column;gap:.5rem;width:100%}.btn-check-cal{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-forest-dark);cursor:pointer;transition:all var(--transition-fast);width:100%}.btn-check-cal:hover{background:var(--color-cream-tint);border-color:var(--color-terracotta);color:var(--color-terracotta);transform:translateY(-1px)}.admin-portal-link{display:inline-flex;align-items:center;gap:.35rem;color:#ffffff73;font-size:.78rem;text-decoration:none;padding:.3rem .6rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);transition:all var(--transition-fast)}.admin-portal-link:hover{color:#ffffffe6;background:#ffffff14;border-color:#ffffff40}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:800;transition:all var(--transition-smooth);background:transparent}.site-header.scrolled,.site-header.header-solid{background:#fbf9f5f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);height:70px;box-shadow:0 4px 20px #1c1e1a0f;border-bottom:1px solid rgba(232,226,213,.8)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.brand-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:0 4px 12px #0003;transition:all var(--transition-fast);flex-shrink:0}.brand-logo:hover .brand-logo-img{transform:scale(1.05);box-shadow:0 6px 16px #0000004d}.site-header.scrolled .brand-logo-img,.site-header.header-solid .brand-logo-img{border-color:#c07d534d;box-shadow:0 2px 10px #0000001a}.brand-logo-text{display:flex;flex-direction:column}.brand-name{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;transition:color var(--transition-fast)}.site-header.scrolled .brand-name,.site-header.header-solid .brand-name{color:var(--color-forest-dark)}.brand-location{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffffd9;font-weight:500;transition:color var(--transition-fast)}.site-header.scrolled .brand-location,.site-header.header-solid .brand-location{color:var(--color-text-muted)}.nav-desktop{display:flex;align-items:center;gap:2rem}.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}.nav-link{font-size:.9rem;font-weight:500;color:#ffffffe6;transition:all var(--transition-fast);position:relative;padding:.25rem 0;white-space:nowrap}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:2px;background-color:var(--color-terracotta);transition:width var(--transition-smooth)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link:hover{color:#fff}.site-header.scrolled .nav-link,.site-header.header-solid .nav-link{color:var(--color-text-muted)}.site-header.scrolled .nav-link:hover,.site-header.header-solid .nav-link:hover,.site-header.scrolled .nav-link.active,.site-header.header-solid .nav-link.active{color:var(--color-forest-dark)}.mobile-menu-btn{display:none;background:transparent;border:none;cursor:pointer;padding:.5rem;color:#fff;transition:color var(--transition-fast)}.site-header.scrolled .mobile-menu-btn,.site-header.header-solid .mobile-menu-btn{color:var(--color-text-main)}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#141812b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:950;opacity:0;visibility:hidden;transition:all var(--transition-smooth)}.mobile-nav-drawer.is-active{opacity:1;visibility:visible}.mobile-nav-pane{position:absolute;top:0;right:0;bottom:0;width:85%;max-width:360px;background:var(--color-bg);padding:2rem 1.75rem;display:flex;flex-direction:column;box-shadow:-10px 0 30px #00000026;transform:translate(100%);transition:transform var(--transition-smooth)}.mobile-nav-drawer.is-active .mobile-nav-pane{transform:translate(0)}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}.mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.mobile-nav-link{font-size:1.25rem;font-family:var(--font-serif);font-weight:500;color:var(--color-forest-dark);display:block;padding:.5rem 0;border-bottom:1px solid var(--color-border-light)}.mobile-nav-footer{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:1rem}@media(max-width:900px){.nav-desktop{display:none}.mobile-menu-btn{display:block}}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-forest-dark);color:#fff;overflow:hidden;padding-top:var(--header-height);padding-bottom:4rem}.hero-background-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.hero-bg-image{width:100%;height:100%;object-fit:cover;object-position:center 38%;transform:scale(1.02);transition:transform 12s ease-out}.hero-section:hover .hero-bg-image{transform:scale(1.06)}.hero-slides-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.hero-slide-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:0;transform:scale(1.01);transition:opacity 1.6s cubic-bezier(.4,0,.2,1),transform 9s ease-out;pointer-events:none;will-change:opacity,transform}.hero-slide-img.is-active{opacity:1;transform:scale(1.06);z-index:1}.hero-slideshow-dots{position:absolute;bottom:4.8rem;left:50%;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:.5rem;padding:5px 12px;background:#12181073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:999px;box-shadow:0 4px 16px #00000040}.hero-slide-dot{width:8px;height:8px;border-radius:999px;background:#fff6;border:none;padding:0;cursor:pointer;transition:width .35s cubic-bezier(.4,0,.2,1),background-color .35s ease,box-shadow .35s ease}.hero-slide-dot:hover{background:#fffc}.hero-slide-dot.is-active{width:28px;background:var(--color-terracotta);box-shadow:0 0 10px #d4784e99}@media(max-width:640px){.hero-slideshow-dots{bottom:4.2rem;gap:.35rem;padding:4px 10px}.hero-slide-dot.is-active{width:22px}}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#12161073,#161c144d 40%,#10140fbf);z-index:2}.hero-content{position:relative;z-index:3;text-align:center;max-width:860px;margin:0 auto}.hero-badges-row{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.hero-title{color:#fff;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:500;line-height:1.15;margin-bottom:1.25rem;text-shadow:0 4px 24px rgba(0,0,0,.35)}.hero-subtitle{color:#ffffffeb;font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:680px;margin:0 auto 2.5rem;line-height:1.6;text-shadow:0 2px 12px rgba(0,0,0,.3)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:1.1rem;flex-wrap:wrap}.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#ffffffbf;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:color var(--transition-fast)}.hero-scroll-hint:hover{color:#fff}.hero-scroll-mouse{width:22px;height:34px;border:2px solid rgba(255,255,255,.6);border-radius:var(--radius-full);display:flex;justify-content:center;padding-top:6px}.hero-scroll-dot{width:4px;height:8px;background-color:#fff;border-radius:var(--radius-full);animation:scrollDown 2s infinite}@keyframes scrollDown{0%{transform:translateY(0);opacity:1}50%{transform:translateY(8px);opacity:.3}to{transform:translateY(0);opacity:1}}.accommodations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,2.5vw,2.25rem)}@media(max-width:1040px){.accommodations-grid{grid-template-columns:1fr;max-width:580px;margin:0 auto}}.le-lieu-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.le-lieu-text-col{display:flex;flex-direction:column}.le-lieu-story{margin-bottom:2rem;font-size:1.125rem;line-height:1.75}.specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1rem}.spec-item{display:flex;align-items:flex-start;gap:.9rem;background:var(--color-surface);padding:1.15rem;border-radius:var(--radius-md);border:1px solid var(--color-border-light);box-shadow:var(--shadow-subtle)}.spec-icon{color:var(--color-terracotta);flex-shrink:0;margin-top:2px}.spec-content h4{font-family:var(--font-sans);font-size:.95rem;font-weight:700;color:var(--color-forest-dark);margin-bottom:.2rem}.spec-content p{font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.le-lieu-image-col{position:relative}.le-lieu-image-frame{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 20px 40px -10px #1c1e1a26}.le-lieu-image-frame img{width:100%;height:520px;object-fit:cover;transition:transform .6s ease}.le-lieu-image-frame:hover img{transform:scale(1.03)}.le-lieu-floating-badge{position:absolute;bottom:2rem;left:-1.5rem;background:#fffffff0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:1rem 1.4rem;border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover);border:1px solid rgba(255,255,255,.6);display:flex;align-items:center;gap:.85rem;max-width:280px}.floating-badge-icon{width:42px;height:42px;border-radius:var(--radius-full);background:var(--color-sand-light);color:var(--color-forest);display:flex;align-items:center;justify-content:center;flex-shrink:0}.floating-badge-text span:first-child{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-terracotta)}.floating-badge-text span:last-child{display:block;font-size:.875rem;font-weight:700;color:var(--color-forest-dark)}@media(max-width:960px){.le-lieu-grid{grid-template-columns:1fr}.le-lieu-image-frame img{height:380px}.le-lieu-floating-badge{left:1rem;bottom:1rem}}@media(max-width:560px){.specs-grid{grid-template-columns:1fr}}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}@media(min-width:1200px){.features-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:768px){.features-grid{grid-template-columns:1fr}}.gallery-filter-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}.gallery-filter-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);padding:.6rem 1.25rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.gallery-filter-btn:hover{background:var(--color-sand-light);color:var(--color-forest-dark);border-color:var(--color-terracotta)}.gallery-filter-btn.is-active{background:var(--color-forest);color:#fff;border-color:var(--color-forest)}.gallery-controls-wrap{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:2rem;flex-wrap:wrap}.gallery-filter-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:0}.slider-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.slider-controls-hint{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;color:var(--color-forest-dark)}.slider-hint-icon{font-size:1.1rem}.slider-nav-arrows{display:inline-flex;align-items:center;gap:.5rem}.slider-arrow-btn{width:42px;height:42px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-forest-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-subtle)}.slider-arrow-btn:hover{background:var(--color-terracotta);border-color:var(--color-terracotta);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #b86b4240}.slider-arrow-btn:active{transform:scale(.95)}.gallery-grid{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:.5rem .25rem 1.5rem;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.gallery-grid::-webkit-scrollbar{height:6px}.gallery-grid::-webkit-scrollbar-track{background:var(--color-bg-alt);border-radius:999px}.gallery-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.gallery-grid::-webkit-scrollbar-thumb:hover{background:var(--color-terracotta)}.gallery-item{position:relative;flex:0 0 clamp(320px,28vw,420px);height:380px;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-card);transition:all var(--transition-smooth);background-color:var(--color-sand-light);scroll-snap-align:start}.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-item:hover .gallery-img{transform:scale(1.05)}.gallery-item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(18,22,16,.85) 100%);opacity:.8;transition:opacity var(--transition-smooth);display:flex;flex-direction:column;justify-content:flex-end;padding:1.75rem;color:#fff}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-tag{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--color-sand);margin-bottom:.4rem}.gallery-load-more-wrap{display:none}.gallery-item-title{font-family:var(--font-serif);font-size:1.35rem;color:#fff;margin-bottom:.25rem}.gallery-item-caption{font-size:.875rem;color:#ffffffd9;line-height:1.4;max-width:500px}.gallery-zoom-icon{position:absolute;top:1.25rem;right:1.25rem;width:40px;height:40px;border-radius:var(--radius-full);background:#ffffff40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:translateY(-8px);transition:all var(--transition-smooth)}.gallery-item:hover .gallery-zoom-icon{opacity:1;transform:translateY(0)}@media(max-width:640px){.gallery-item{flex:0 0 calc(100% - 20px);height:270px;scroll-snap-align:center}}.pillars-section{background-color:var(--color-forest-dark);color:#fff;position:relative;overflow:hidden}.pillars-section:before{content:"";position:absolute;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(184,107,66,.15) 0%,transparent 70%);pointer-events:none}.pillars-section .section-eyebrow{background:#ffffff1a;color:var(--color-sand);border-color:#ffffff26}.pillars-section .section-title{color:#fff}.pillars-section .section-subtitle{color:#fffc}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.pillar-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-xl);padding:clamp(2rem,3.5vw,3rem);position:relative;transition:all var(--transition-smooth)}.pillar-card:hover{background:#ffffff14;border-color:#b86b4266;transform:translateY(-6px)}.pillar-number{font-family:var(--font-serif);font-size:2.5rem;color:var(--color-terracotta);font-weight:600;margin-bottom:1.25rem;opacity:.9}.pillar-title{font-family:var(--font-serif);font-size:1.85rem;color:#fff;margin-bottom:.5rem}.pillar-subtitle{font-size:.95rem;font-weight:600;color:var(--color-sand);margin-bottom:1rem}.pillar-desc{font-size:.95rem;line-height:1.7;color:#ffffffbf}@media(max-width:860px){.pillars-grid{grid-template-columns:1fr}}.reservation-section{background-color:var(--color-bg-alt);position:relative}.calendar-page-cta-banner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;background:linear-gradient(135deg,#2a38280a,#c07d5314);border:1px solid rgba(192,125,83,.25);border-radius:var(--radius-lg, 1rem);padding:1.25rem 1.75rem;max-width:960px;margin:0 auto 2rem;box-shadow:0 4px 16px #2a38280a}.calendar-page-cta-banner .cal-cta-left{display:flex;align-items:center;gap:1rem}.calendar-page-cta-banner .cal-cta-icon{font-size:2rem;line-height:1;flex-shrink:0}.calendar-page-cta-banner .cal-cta-text{display:flex;flex-direction:column;gap:.2rem}.calendar-page-cta-banner .cal-cta-text strong{color:var(--color-forest-dark);font-size:1.05rem;font-weight:700}.calendar-page-cta-banner .cal-cta-text span{color:var(--color-text-muted);font-size:.88rem}.calendar-page-cta-banner .cal-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}@media(max-width:768px){.calendar-page-cta-banner{flex-direction:column;align-items:flex-start;padding:1.25rem;gap:1rem}.calendar-page-cta-banner .cal-cta-btn{width:100%;justify-content:center}}.reservation-card{background-color:#fff;border-radius:var(--radius-xl);padding:clamp(1.75rem,3.5vw,3rem);box-shadow:0 16px 40px -10px #1c1e1a17;border:1px solid var(--color-border);max-width:960px;width:100%;margin:0 auto;box-sizing:border-box}.reservation-form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.15rem;align-items:flex-end;width:100%;min-width:0}.reservation-form-grid>*{min-width:0;max-width:100%}.reservation-form-grid .form-group-accommodation{grid-column:span 6}.reservation-form-grid .form-group-checkin,.reservation-form-grid .form-group-checkout,.reservation-form-grid .form-group-guests{grid-column:span 2}.reservation-form-grid .form-group-contact-name,.reservation-form-grid .form-group-contact-phone{grid-column:span 3}.reservation-form-grid .form-price-summary-col,.reservation-form-grid .form-alert-col{grid-column:span 6;width:100%}.reservation-form-grid .btn-submit-col{grid-column:span 6;width:100%;margin-top:.25rem}.reservation-form-grid .btn-submit-col .btn{width:100%;height:52px;font-size:1.05rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border-radius:var(--radius-md);box-shadow:0 4px 18px #b86b4252;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap}.reservation-form-grid .btn-submit-col .btn:hover{transform:translateY(-2px);box-shadow:0 8px 26px #b86b4275}.form-price-summary-box{background:var(--color-sand-light, #FAF6EE);border:1px solid rgba(184,107,66,.22);border-radius:var(--radius-md, .5rem);padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.form-price-summary-info{display:flex;flex-direction:column;gap:.15rem}.form-price-summary-title{font-size:.85rem;font-weight:600;color:var(--color-forest-dark)}.form-price-summary-sub{font-size:.78rem;color:var(--color-text-muted)}.form-price-summary-amount{font-size:1.18rem;font-weight:700;color:var(--color-terracotta)}.form-input.is-invalid,.form-select.is-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc262626!important}.form-alert-box{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;padding:.75rem 1.15rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.reservation-benefits-row{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--color-border-light)}.reservation-benefit-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-forest);font-weight:600}.reservation-benefit-item svg{flex-shrink:0}@media(max-width:1024px){.reservation-form-grid .form-group-checkin,.reservation-form-grid .form-group-checkout{grid-column:span 3}.reservation-form-grid .form-group-guests{grid-column:span 6}.reservation-form-grid .form-group-contact-name,.reservation-form-grid .form-group-contact-phone{grid-column:span 3}}@media(max-width:640px){.reservation-card{padding:1.5rem 1.15rem;border-radius:var(--radius-lg)}.reservation-form-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.reservation-form-grid>*{grid-column:span 1!important}.reservation-form-grid .btn-submit-col .btn{height:auto;min-height:48px;padding:.85rem 1rem;font-size:.95rem;white-space:normal;text-align:center;line-height:1.35}.reservation-benefits-row{gap:.75rem;flex-direction:column;align-items:flex-start;margin-top:1.5rem;padding-top:1.25rem;padding-left:.25rem}}.location-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,4vw,4rem);align-items:center}.landmarks-list{list-style:none;display:flex;flex-direction:column;gap:1rem;margin:1.75rem 0 2rem}.landmark-item{display:flex;align-items:flex-start;gap:.85rem;background:var(--color-surface);padding:1rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.landmark-icon{color:var(--color-forest);margin-top:2px}.landmark-item strong{display:block;font-size:.95rem;color:var(--color-forest-dark)}.landmark-item span{font-size:.85rem;color:var(--color-text-muted)}.map-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;height:480px;background:var(--color-sand-light);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.map-visual-bg{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}.map-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1c201a33,#1c201ab3);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;color:#fff}.map-pin-indicator{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem}.map-pin-marker{width:48px;height:48px;border-radius:var(--radius-full);background-color:var(--color-terracotta);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #b86b4280;border:3px solid #FFFFFF;animation:pulseMarker 2.5s infinite}@keyframes pulseMarker{0%{box-shadow:0 0 #b86b4299}70%{box-shadow:0 0 0 20px #b86b4200}to{box-shadow:0 0 #b86b4200}}.map-pin-bubble{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:var(--radius-full);color:var(--color-forest-dark);font-weight:700;font-size:.85rem;box-shadow:0 4px 14px #00000026;white-space:nowrap}@media(max-width:900px){.location-grid{grid-template-columns:1fr}.map-card{height:380px}}.reviews-section{background-color:var(--color-bg);position:relative}.reviews-header-badge-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:clamp(1.5rem,3.5vw,2.25rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.75rem;box-shadow:var(--shadow-subtle);position:relative;overflow:hidden}.reviews-header-badge-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4285f4,#ea4335,#fbbc05 66%,#34a853)}.reviews-score-block{display:flex;align-items:center;gap:1.25rem}.reviews-google-icon-wrap{width:58px;height:58px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000014;border:1px solid rgba(0,0,0,.06);flex-shrink:0}.reviews-score-info{display:flex;flex-direction:column;gap:.2rem}.reviews-score-stars-line{display:flex;align-items:baseline;gap:.75rem}.reviews-big-score{font-family:var(--font-serif);font-size:2.6rem;font-weight:700;color:var(--color-forest-dark);line-height:1}.reviews-stars-visual{color:#f59e0b;font-size:1.35rem;letter-spacing:2px}.reviews-score-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.88rem;color:var(--color-text-muted)}.reviews-score-meta strong{color:var(--color-forest-dark)}.reviews-bullet{color:var(--color-border)}.reviews-recommend-tag{font-weight:600;font-size:.78rem;color:#16a34a;background:#16a34a1a;padding:.15rem .55rem;border-radius:var(--radius-full)}.reviews-gmaps-link{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.35rem;font-size:.9rem}.reviews-grid{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:.5rem .25rem 1.5rem;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.reviews-grid::-webkit-scrollbar{height:6px}.reviews-grid::-webkit-scrollbar-track{background:var(--color-bg-alt);border-radius:999px}.reviews-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.reviews-grid::-webkit-scrollbar-thumb:hover{background:var(--color-terracotta)}.review-card{flex:0 0 clamp(320px,32vw,400px);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:1.85rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-subtle);transition:transform var(--transition-normal),box-shadow var(--transition-normal);position:relative;scroll-snap-align:start}.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000014}.review-card-header{display:flex;align-items:center;gap:.85rem}.review-avatar-wrap{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--color-terracotta),var(--color-terracotta-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.05em;flex-shrink:0;box-shadow:0 2px 8px #b86b4240}.review-author-meta{flex:1;min-width:0}.review-author-name{font-family:var(--font-sans);font-size:.98rem;font-weight:700;color:var(--color-forest-dark);margin-bottom:.15rem;line-height:1.3}.review-author-name small{font-size:.82rem;color:var(--color-terracotta);font-weight:600}.review-date{font-size:.76rem;color:var(--color-text-muted);display:block}.review-google-badge{flex-shrink:0;display:flex;align-items:center;justify-content:center}.review-stars{color:#f59e0b;font-size:1.05rem;letter-spacing:2px}.review-text{font-size:.92rem;line-height:1.65;color:var(--color-text-main);font-style:italic;margin-top:.25rem}.reviews-footer-cta{text-align:center;margin-top:2.75rem}.reviews-leave-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.65rem;font-weight:600}@media(max-width:768px){.reviews-header-badge-card{flex-direction:column;align-items:flex-start}.reviews-gmaps-link{width:100%;justify-content:center}.review-card{flex:0 0 calc(100% - 24px);scroll-snap-align:center;padding:1.5rem}}.final-cta-section{position:relative;padding:clamp(6rem,12vw,10rem) 0;color:#fff;text-align:center;overflow:hidden;background-color:var(--color-forest-dark)}.final-cta-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.final-cta-bg img{width:100%;height:100%;object-fit:cover;object-position:center}.final-cta-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#141812a6,#121610e0);z-index:2}.final-cta-content{position:relative;z-index:3;max-width:780px;margin:0 auto}.final-cta-title{color:#fff;font-size:clamp(2.2rem,4.5vw,3.8rem);margin-bottom:1.25rem}.final-cta-desc{color:#ffffffe6;font-size:clamp(1.05rem,1.4vw,1.25rem);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.site-footer{background-color:#151814;color:#ffffffb3;padding-top:4.5rem;padding-bottom:2.5rem;border-top:1px solid rgba(255,255,255,.08)}.footer-top-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3rem;margin-bottom:3.5rem}.footer-brand-header{display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem}.footer-brand-logo{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.2);box-shadow:0 4px 14px #00000059;flex-shrink:0}.footer-brand-title{font-family:var(--font-serif);font-size:1.4rem;color:#fff;letter-spacing:.08em;margin-bottom:.2rem}.footer-brand-sub{font-size:.85rem;color:#fff9;margin-bottom:0}.footer-heading{font-family:var(--font-sans);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:1.25rem}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:#ffffffb3;font-size:.9rem;transition:color var(--transition-fast)}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);font-size:.825rem}@media(max-width:900px){.footer-top-grid{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:560px){.footer-top-grid{grid-template-columns:1fr}}.cal-wrapper{background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E6DEC8);border-radius:var(--radius-xl, 1.25rem);padding:1.5rem;box-shadow:0 10px 30px #2a38280d;margin-bottom:2rem;transition:box-shadow var(--transition-base, .3s ease)}.cal-wrapper:hover{box-shadow:0 16px 40px #2a382814}.cal-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:var(--color-cream-tint, #FAF6EE);padding:.35rem;border-radius:var(--radius-lg, .75rem);margin-bottom:1.5rem;border:1px solid var(--color-border-subtle, #EFEAD9)}.cal-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.65rem .5rem;border:1px solid transparent;border-radius:var(--radius-md, .5rem);background:transparent;color:var(--color-text-muted, #6B7280);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:var(--font-sans, inherit);text-align:center}.cal-tab:hover{color:var(--color-forest-dark, #2A3828);background:#fff9}.cal-tab.is-active{background:var(--color-surface, #FFFFFF);color:var(--color-forest-dark, #2A3828);border-color:#c07d5340;box-shadow:0 4px 12px #2a382814}.cal-tab-title{font-weight:700;font-size:.88rem;letter-spacing:-.01em}.cal-tab-badge{font-size:.72rem;color:var(--color-terracotta, #C07D53);font-weight:500;margin-top:.15rem}.cal-tab.is-active .cal-tab-badge{font-weight:600}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.cal-title-wrap{display:flex;flex-direction:column;gap:.15rem}.cal-month-title{font-family:var(--font-serif, "Playfair Display", serif);font-size:1.35rem;font-weight:600;color:var(--color-forest-dark, #2A3828);margin:0}.cal-accom-indicator{font-size:.8rem;color:var(--color-terracotta, #C07D53);font-weight:600;letter-spacing:.02em}.cal-nav-btns{display:flex;align-items:center;gap:.35rem}.cal-nav-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-full, 9999px);border:1px solid var(--color-border, #E6DEC8);background:var(--color-surface, #FFFFFF);color:var(--color-forest-dark, #2A3828);cursor:pointer;transition:all .2s ease}.cal-nav-btn:hover{background:var(--color-cream-tint, #FAF6EE);border-color:var(--color-terracotta, #C07D53);color:var(--color-terracotta, #C07D53);transform:translateY(-1px)}.cal-nav-today-btn{padding:0 .85rem;height:38px;font-size:.8rem;font-weight:600;border-radius:var(--radius-full, 9999px);border:1px solid var(--color-border, #E6DEC8);background:var(--color-surface, #FFFFFF);color:var(--color-text, #2A3828);cursor:pointer;transition:all .2s ease}.cal-nav-today-btn:hover{background:var(--color-cream-tint, #FAF6EE);border-color:var(--color-terracotta, #C07D53);color:var(--color-terracotta, #C07D53)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;text-align:center;margin-bottom:.5rem}.cal-weekday{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #788275);padding:.35rem 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.cal-day{position:relative;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-md, .5rem);border:1px solid transparent;background:var(--color-cream-tint, #FAF6EE);color:var(--color-forest-dark, #2A3828);font-family:var(--font-sans, inherit);font-weight:600;font-size:.92rem;cursor:pointer;transition:all .15s ease-out;-webkit-user-select:none;user-select:none;padding:0}.cal-day-num{z-index:1;line-height:1}.cal-day-status{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;transition:transform .2s ease}.cal-day.is-other-month{background:transparent;color:#d1cbbb;cursor:default;opacity:.45;border:none}.cal-day.is-past{background:#f4f1ea;color:#afa89b;cursor:not-allowed;opacity:.6}.cal-day.is-past .cal-day-status{display:none}.cal-day.is-available{background:#f5f9f4;border-color:#dfeadf;color:var(--color-forest-dark, #2A3828)}.cal-day.is-available .cal-day-status{background-color:#2e7d32}.cal-day.is-available:hover{background:#eaf4e9;border-color:#81c784;transform:translateY(-2px);box-shadow:0 4px 8px #2e7d321f;z-index:2}.cal-day.is-booked{background:#fdf2f0;border-color:#f8d7da;color:#9c413d;text-decoration:line-through;text-decoration-thickness:1.5px;cursor:not-allowed;opacity:.85}.cal-day.is-booked .cal-day-status{background-color:#d32f2f}.cal-day.is-today{border-width:1.5px;border-color:var(--color-forest-dark, #2A3828)}.cal-day.is-selected{background:var(--color-terracotta, #C07D53)!important;color:#fff!important;border-color:var(--color-terracotta, #C07D53)!important;font-weight:700;text-decoration:none;box-shadow:0 4px 12px #c07d5359;transform:scale(1.02);z-index:3}.cal-day.is-selected .cal-day-status{background-color:#fff}.cal-day.is-in-range{background:#c07d5326!important;color:var(--color-forest-dark, #2A3828);border-color:#c07d534d;border-radius:0}.cal-day.is-start{border-top-right-radius:0;border-bottom-right-radius:0}.cal-day.is-end{border-top-left-radius:0;border-bottom-left-radius:0}.cal-day.is-start.is-end{border-radius:var(--radius-md, .5rem)}.cal-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-subtle, #EFEAD9);display:flex;flex-direction:column;gap:.75rem}.cal-legend{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;font-size:.8rem;font-weight:500;color:var(--color-text, #2A3828)}.cal-legend-item{display:flex;align-items:center;gap:.45rem}.cal-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.cal-dot.is-available{background-color:#2e7d32;box-shadow:0 0 0 2px #dfeadf}.cal-dot.is-booked{background-color:#d32f2f;box-shadow:0 0 0 2px #f8d7da}.cal-dot.is-selected{background-color:var(--color-terracotta, #C07D53);box-shadow:0 0 0 2px #c07d534d}.cal-hint{font-size:.82rem;text-align:center;color:var(--color-text-muted, #6B7280);background:var(--color-cream-tint, #FAF6EE);padding:.6rem 1rem;border-radius:var(--radius-md, .5rem);line-height:1.45}.cal-hint strong{color:var(--color-terracotta, #C07D53)}.cal-alert{margin-top:.75rem;padding:.75rem 1rem;background:#fff1f0;border:1px solid #FFA39E;color:#cf1322;font-size:.82rem;border-radius:var(--radius-md, .5rem);text-align:center;font-weight:500;animation:calFadeIn .3s ease}@keyframes calFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.cal-wrapper{padding:1rem .75rem}.cal-tabs{grid-template-columns:1fr;gap:.35rem}.cal-tab{flex-direction:row;justify-content:space-between;padding:.5rem .75rem}.cal-day{height:42px;font-size:.84rem}.cal-legend{gap:.85rem;font-size:.75rem}}.cal-selection-box{display:flex;flex-direction:column;gap:.4rem;text-align:center}.cal-selection-dates{font-size:.88rem;color:var(--color-forest-dark, #2A3828);display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}.cal-deselect-btn{background:#c07d5314;border:1px solid var(--color-border, #E6DEC8);border-radius:var(--radius-full, 9999px);color:var(--color-text-muted, #788275);font-size:.75rem;font-weight:600;padding:.2rem .6rem;cursor:pointer;transition:all .2s ease;line-height:1.2}.cal-deselect-btn:hover{background:#fdf2f0;border-color:#d32f2f;color:#d32f2f}.cal-price-estimate{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:#fff;border:1px solid rgba(192,125,83,.25);border-radius:var(--radius-md, .5rem);padding:.45rem .8rem;box-shadow:0 2px 6px #0000000a}.cal-price-pill{font-size:.95rem;font-weight:600;color:var(--color-terracotta, #C07D53)}.cal-price-pill strong{font-size:1.15rem;font-weight:800}.cal-price-sub{font-size:.78rem;color:var(--color-text-muted, #6B7280)}
