:root{--primary:#1A1A1A;--accent:#C5A059;--bg-creme:#FAF9F6;--text-dark:#1A1A1A;--text-light:#FFFFFF;--text-muted:#6B6B6B;--border:rgba(0, 0, 0, 0.08);--transition:all 0.6s cubic-bezier(0.23, 1, 0.32, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;background-color:var(--bg-creme);color:var(--text-dark);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}.brand-name,h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:500}html{scroll-behavior:smooth}.header-strip{position:fixed;top:0;left:0;width:100%;height:80px;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);z-index:999;border-bottom:1px solid rgba(255,255,255,.1);transition:var(--transition)}nav{position:fixed;top:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 5rem;z-index:1000;height:80px;transition:var(--transition)}nav.scrolled,nav.scrolled+.header-strip{height:70px}.brand-container{display:flex;align-items:center;gap:1.2rem;text-decoration:none;z-index:1001}.logo-img{height:35px;width:auto;filter:none!important}.brand-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-light)}.nav-right{display:flex;align-items:center;gap:1.2rem;margin-left:auto;z-index:1001}.nav-right .btn-nav-reserve{margin-right:0}.nav-toggle{position:relative;width:38px;height:38px;background:0 0;border:1px solid rgba(255,255,255,.25);border-radius:6px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;transition:var(--transition)}.nav-toggle:hover{border-color:var(--accent)}.nav-toggle span{display:block;width:20px;height:2px;background:var(--text-light);border-radius:2px;transition:transform .3s,opacity .25s,background .3s}.nav-toggle:hover span{background:var(--accent)}.nav-toggle.open span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:1000}.nav-menu-overlay.open{opacity:1;visibility:visible}.nav-menu-panel{position:fixed;top:90px;right:5rem;min-width:240px;display:flex;flex-direction:column;padding:.8rem 0;background:rgba(0,0,0,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.18);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.65);opacity:0;visibility:hidden;transform:translateY(-12px) scale(.98);transform-origin:top right;transition:opacity .28s,transform .28s,visibility .28s;z-index:1001}.nav-menu-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.nav-menu-link{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.6rem;color:#fff;text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;opacity:1;transition:color .25s,background .25s,padding .25s}.nav-menu-link:hover{color:var(--accent);background:rgba(255,255,255,.06);padding-left:1.9rem}.nav-menu-section-label{color:var(--accent)!important;letter-spacing:2.5px;padding-top:.5rem;padding-bottom:.4rem;pointer-events:none;cursor:default;opacity:.95}.nav-menu-section-label:hover{background:0 0;padding-left:1.6rem;color:var(--accent)!important}.nav-menu-sub{color:rgba(255,255,255,.92);font-weight:400;text-transform:none;letter-spacing:1px}.nav-menu-sub i{color:var(--accent);text-align:center}.nav-menu-sub:hover{color:#fff;background:rgba(255,255,255,.06);padding-left:2.7rem}.nav-menu-divider{height:1px;margin:.5rem 1.4rem;background:rgba(255,255,255,.18)}.nav-menu-private{color:var(--accent)}.nav-menu-private:hover{color:var(--accent);background:rgba(197,160,89,.1)}.hero{position:relative;height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--text-light);padding:0 2rem;overflow:hidden;isolation:isolate}@media (max-width:768px){}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5));z-index:-1}.hero-actions{position:absolute;bottom:2.2rem;left:2.5rem;right:2.5rem;z-index:1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.hero-address{display:inline-flex;align-items:center;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.95);padding:.55rem 1rem;border:1px solid rgba(255,255,255,.35);border-radius:30px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(0,0,0,.25);text-decoration:none;text-shadow:0 1px 4px rgba(0,0,0,.4);transition:background .2s,border-color .2s}.hero-address:hover,.hero-address:focus-visible{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.6)}.hero-address-icon{padding:.5rem .85rem}.hero-address i{color:var(--accent);margin-right:.5rem}@media (max-width:768px){.hero-actions{bottom:1.2rem;left:1rem;right:1rem;justify-content:center;gap:.5rem}.hero-address{font-size:.62rem;letter-spacing:1.5px;padding:.45rem .8rem}.hero-address-icon{padding:.45rem .7rem}}.hero-subtitle{font-size:.8rem;letter-spacing:6px;text-transform:uppercase;margin-bottom:2rem;font-weight:300}.hero h1{font-size:5.5rem;max-width:1100px;margin-bottom:2.5rem;line-height:1.05;font-weight:400}.hero h1 span{font-style:italic;font-weight:400}.hero p{font-size:1.1rem;max-width:550px;margin-bottom:4rem;font-weight:300;letter-spacing:.5px;opacity:.9}section{padding:6rem 5rem}#reserva{padding:3rem 2.5rem;margin:3rem auto 1rem;border-radius:24px;box-shadow:0 30px 60px rgba(0,0,0,.25);background:#0f0f0f;color:#fff;position:relative;overflow:hidden}#casa{padding-bottom:3rem}#vive-caravaca{padding-top:3rem;padding-bottom:5rem;background:var(--bg-creme)}.section-header{margin-bottom:6rem}.section-tag{color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;display:block;margin-bottom:1.5rem}.section-header h2{font-size:4rem;line-height:1.1;max-width:800px}.casa-carousel{position:relative;max-width:1100px;margin:0 auto;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08),0 30px 80px rgba(0,0,0,.1)}.carousel-viewport{overflow:hidden;width:100%;aspect-ratio:16/10;background:#1a1a1a}.carousel-track{display:flex;width:100%;height:100%;transition:transform .85s cubic-bezier(.65, 0, .35, 1);will-change:transform}.carousel-slide{flex:0 0 100%;width:100%;height:100%;position:relative;margin:0;overflow:hidden}.carousel-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.02);transition:transform 6s ease-out}.carousel-slide.is-current img{transform:scale(1.08)}.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:4.5rem 2.5rem 2.2rem;background:linear-gradient(to top,rgba(0,0,0,.78) 0,rgba(0,0,0,.45) 55%,rgba(0,0,0,0) 100%);color:#fff;pointer-events:none}.slide-eyebrow{display:inline-block;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem}.slide-caption h3{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:500;color:#fff;line-height:1.25;letter-spacing:.01em;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.35)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .25s;z-index:3}.carousel-btn:focus-visible,.carousel-btn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-50%) scale(1.06);outline:0}.carousel-prev{left:1.2rem}.carousel-next{right:1.2rem}.carousel-footer{position:absolute;left:0;right:0;bottom:1.1rem;display:flex;justify-content:center;align-items:center;gap:1.3rem;z-index:3;pointer-events:none}.carousel-dots{display:flex;gap:.55rem;pointer-events:auto}.carousel-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:background .25s,transform .25s,width .35s}.carousel-dot:hover{background:rgba(255,255,255,.75)}.carousel-dot.active{background:var(--accent);width:26px;border-radius:4px}.carousel-counter{font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.9);background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:.35rem .8rem;border-radius:999px;pointer-events:auto}@media (max-width:768px){.casa-carousel{border-radius:14px}.carousel-viewport{aspect-ratio:4/3}.slide-caption{padding:3rem 1.3rem 3.2rem}.slide-caption h3{font-size:1.15rem}.slide-eyebrow{font-size:.65rem;letter-spacing:.18em}.carousel-btn{width:38px;height:38px;font-size:.8rem}.carousel-prev{left:.6rem}.carousel-next{right:.6rem}.carousel-footer{bottom:.75rem;gap:.9rem}.carousel-counter{font-size:.65rem;padding:.25rem .65rem}}@media (max-width:420px){.carousel-viewport{aspect-ratio:1/1}.slide-caption{padding-bottom:2.9rem}.slide-caption h3{font-size:1rem}}@media (prefers-reduced-motion:reduce){.carousel-track{transition:none}.carousel-slide img{transition:none;transform:none}.carousel-slide.is-current img{transform:none}}.btn-nav-reserve{color:var(--accent)!important;text-decoration:none;font-size:.75rem;text-transform:uppercase;letter-spacing:2px;margin-right:2rem;padding:.5rem 1.2rem;border:1px solid var(--accent);transition:var(--transition);opacity:.9}.btn-nav-reserve:hover{background:var(--accent);color:var(--primary)!important;opacity:1}.btn-outline{display:inline-block;padding:1rem 3rem;border:1px solid var(--text-dark);text-decoration:none;color:var(--text-dark);text-transform:uppercase;letter-spacing:2px;font-size:.8rem;font-weight:500;transition:var(--transition)}.btn-outline:hover{background:var(--text-dark);color:#fff}.btn-wikiloc{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:3px;text-decoration:none;color:var(--accent);font-weight:600;transition:var(--transition);border-bottom:1px solid transparent;padding-bottom:5px}.btn-wikiloc:hover{border-color:var(--accent);letter-spacing:4px}footer{padding:4rem 5rem 2rem;background:#fff;border-top:1px solid var(--border)}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:5rem;margin-bottom:6rem}.footer-logo h2{font-size:2.5rem;margin-bottom:2rem}.footer-logo p{max-width:400px;color:var(--text-muted)}.footer-col h4{text-transform:uppercase;letter-spacing:3px;font-size:.75rem;margin-bottom:2.5rem;color:var(--accent)}.footer-col ul{list-style:none}.footer-col li{margin-bottom:1.2rem}.footer-col a{text-decoration:none;color:var(--text-dark);font-size:.9rem;transition:var(--transition)}.footer-col a:hover{color:var(--accent);padding-left:5px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:3rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}#weatherWidget{position:fixed;bottom:2rem;left:2rem;z-index:9999;background:rgba(20,20,20,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);padding:.55rem .95rem;border-radius:14px;color:#fff;cursor:pointer;transition:.4s cubic-bezier(.16, 1, .3, 1);width:auto;height:auto;overflow:hidden;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 20px 40px rgba(0,0,0,.4)}#weatherWidget:hover{background:rgba(30,30,30,.95);transform:translateY(-3px)}#weatherWidget.expanded{width:240px;padding:1.4rem 1.2rem 1.6rem}.weather-summary{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.55rem}.weather-icon{font-size:1.05rem;color:var(--accent);line-height:1}.weather-temp{font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:500;line-height:1}.weather-location{display:none;font-family:'Playfair Display',serif;font-size:.6rem;text-transform:uppercase;letter-spacing:1.5px;margin-top:.6rem;color:var(--accent)}#weatherWidget.expanded .weather-location{display:block}.weather-forecast{width:100%;border-top:1px solid rgba(255,255,255,.1);margin-top:1.5rem;padding-top:1.5rem;display:none}#weatherWidget.expanded .weather-forecast{display:block}.forecast-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:.8rem}.forecast-day{opacity:.7;width:40px}.forecast-icon{color:var(--accent);width:20px;text-align:center}.forecast-temp-val{font-weight:500;text-align:right;width:40px}@media (max-width:768px){nav{padding:1rem 1.5rem;flex-direction:row;justify-content:space-between}.header-strip{height:70px}.brand-container{gap:.5rem}.logo-img{height:28px}.brand-name{font-size:.9rem;letter-spacing:.5px}.nav-right{gap:.8rem}.btn-nav-reserve{margin-right:0;padding:.4rem .8rem;border:1px solid var(--accent);font-size:.65rem}.nav-menu-panel{top:78px;right:1.5rem;left:1.5rem;min-width:0}#weatherWidget{bottom:1.25rem;left:1.25rem;padding:.45rem .8rem;border-radius:12px}.weather-icon,.weather-temp{font-size:.95rem}}#reserva::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(197,160,89,.05) 0,transparent 70%);z-index:1}.reserva-container{max-width:1240px;margin:0 auto;position:relative;z-index:2}.reserva-info-header{padding:0 1.5rem;position:relative;z-index:2}.reserva-info-header h2{font-weight:500}.reserva-info-header p{font-weight:300;opacity:.7;margin:0 auto 2rem;max-width:600px}.reserva-features-header{display:flex;justify-content:center;align-items:center;gap:3rem;flex-wrap:wrap;margin-top:1.5rem}.reserva-features-header .feature-item{display:flex;align-items:center;gap:.8rem;font-weight:500;opacity:.85}.reserva-features-header .feature-icon{color:var(--accent)}.promo-pills-row{display:flex;justify-content:center;align-items:stretch;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.promo-pill{display:flex;align-items:center;gap:.7rem;padding:.35rem .9rem;border-radius:22px;border:1px solid rgba(197,160,89,.25);background:rgba(197,160,89,.05);backdrop-filter:blur(4px);max-width:380px;flex:1 1 320px;text-align:left;transition:border-color .2s,background .2s}.promo-pill:hover{border-color:rgba(197,160,89,.5);background:rgba(197,160,89,.09)}.promo-pill-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;flex-shrink:0;text-align:center;line-height:1}.promo-pill-pct{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--accent);line-height:1}.promo-pill-title{font-size:.58rem;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--accent);line-height:1.1;white-space:nowrap}.promo-pill-text{display:flex;align-items:center;border-left:1px solid rgba(197,160,89,.2);padding-left:.8rem;flex:1;min-width:0}.promo-pill-desc{font-size:.7rem;font-weight:400;opacity:.75;line-height:1.35;min-width:0}@media (max-width:600px){.promo-pills-row{flex-direction:column;align-items:stretch;gap:.5rem}.promo-pill{max-width:none;width:100%;flex:0 0 auto;padding:.35rem .8rem;gap:.6rem}.promo-pill-pct{font-size:1rem}.promo-pill-title{font-size:.55rem;letter-spacing:1.1px}.promo-pill-desc{font-size:.66rem;line-height:1.3}.promo-pill-text{padding-left:.6rem}}.reserva-widget{background:rgba(255,255,255,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:2.5rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 100px rgba(0,0,0,.4);max-width:1240px!important;width:100%;margin:0 auto;transition:.6s cubic-bezier(.23, 1, .32, 1)}.reserva-widget.expanded .form-group-landing{margin-bottom:1.2rem}.widget-step{display:none}.widget-step.active{display:block;animation:.8s cubic-bezier(.16,1,.3,1) slideUpFade}.step1-main-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem;align-items:start}.guest-selectors{display:flex;flex-direction:column;gap:1.2rem}.guest-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.05)}.guest-row:last-child{border-bottom:none}.guest-info h4{font-size:1rem;font-weight:500;margin-bottom:.2rem}.guest-info p{font-size:.8rem;opacity:.6;margin-bottom:0!important}.guest-counter{display:flex;align-items:center;gap:1.2rem}.counter-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:0 0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:.9rem}.counter-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.counter-btn:disabled{opacity:.3;cursor:not-allowed}.counter-val{font-size:1.1rem;font-weight:500;min-width:1.2rem;text-align:center}.form-container-landing{display:flex;flex-direction:column}@keyframes slideUpFade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-group-landing{margin-bottom:1.2rem}.form-group-landing label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:.8rem;color:var(--accent);font-weight:600}.form-row-landing{display:flex;gap:1rem;margin-bottom:1rem}.form-row-landing .form-group-landing{margin-bottom:0}.form-row-landing .form-group-landing:first-child{flex:1}.form-row-landing .form-group-landing:last-child{flex:1.2}.input-landing{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.9rem;color:#fff;font-family:Montserrat,sans-serif;font-size:1.1rem;transition:var(--transition)}.input-landing:focus{outline:0;border-color:var(--accent);background:rgba(255,255,255,.08);box-shadow:0 0 20px rgba(197,160,89,.1)}.btn-landing{width:100%;background:var(--accent);color:#000;border:none;padding:.9rem;border-radius:16px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:4px;cursor:pointer;transition:var(--transition);margin-top:1rem}.btn-landing:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(197,160,89,.3);filter:brightness(1.1)}.btn-landing:disabled{opacity:.3;cursor:not-allowed;transform:none;filter:grayscale(1)}.flatpickr-day:hover{background:rgba(197,160,89,.2)!important}.iti{width:100%;margin-bottom:.5rem}.iti__country-list{background-color:#1a1a1a;border:1px solid rgba(255,255,255,.1);color:#fff}.iti__country:hover{background-color:rgba(197,160,89,.2)}.iti__selected-flag{background-color:rgba(255,255,255,.05);border-radius:12px 0 0 12px;padding:0 6px 0 10px!important}@media (max-width:768px){section{padding:3.5rem 1.5rem}#reserva{padding:1.5rem 1rem;margin:1.5rem auto .5rem;border-radius:18px}#casa{padding-bottom:1.5rem}#vive-caravaca{padding-top:2rem;padding-bottom:3rem}.section-header{margin-bottom:3rem;text-align:center}.section-tag{font-size:.7rem;letter-spacing:2px}.hero h1{font-size:2.8rem;margin-bottom:1.5rem}.hero p{font-size:.95rem;margin-bottom:3rem}.section-header h2{font-size:2.2rem;margin:0 auto}nav{padding:.8rem 1.2rem;height:70px}.brand-name{font-size:.8rem;letter-spacing:1px}.logo-img{height:25px}.btn-nav-reserve{margin-right:.8rem;padding:.4rem .8rem;font-size:.65rem}.header-strip{height:70px}.reserva-container{grid-template-columns:1fr;gap:2.5rem;text-align:left}.guest-info,.guest-info h4,.guest-info p,.live-pricing-container,.pricing-card-luxury,.pricing-column,.pricing-column .widget-column-title,.pricing-label,.pricing-label .main-desc,.pricing-label .sub-desc{text-align:left}.reserva-widget{padding:1.5rem;border-radius:20px}.reserva-widget.expanded{padding:1.5rem}.step1-main-grid{grid-template-columns:1fr;gap:2.5rem}.form-row-landing{flex-direction:column;gap:0}.footer-main{grid-template-columns:1fr;gap:1.8rem;text-align:center;padding-bottom:2rem}.footer-logo h2{font-size:2rem}.footer-logo p{margin:0 auto;font-size:.85rem}.footer-col h4{margin-bottom:.7rem}.footer-col ul{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 10px}.footer-col li{margin-bottom:0}.footer-col a{font-size:.68rem}.footer-bottom{flex-direction:column;gap:.8rem;text-align:center;padding-top:1.5rem}#weatherWidget{bottom:1rem;left:1rem;padding:.4rem .7rem;border-radius:11px}.weather-icon,.weather-temp{font-size:.9rem}#weatherWidget.expanded{width:220px;bottom:1rem;left:1rem;padding:1.2rem 1rem 1.4rem}}.feature-item{margin-bottom:.8rem;display:flex;align-items:center;gap:1rem;opacity:.8}.feature-icon{color:var(--accent)}.phone-input-wrapper{width:100%}.form-info-text{font-size:.8rem;opacity:.9;margin-top:-.5rem;margin-bottom:1rem;color:#fff;line-height:1.3}.confirmation-view{text-align:center;padding:2rem 0}.confirmation-icon{font-size:5rem;color:var(--accent);margin-bottom:2rem}.confirmation-title{font-size:2rem;margin-bottom:1.5rem}.confirmation-text{opacity:.7;line-height:1.6}.confirmation-ref{margin-top:1rem;font-weight:600;color:var(--accent)}.step1-main-grid{display:grid!important;grid-template-columns:1.25fr 0.950fr 0.950fr!important;gap:2.5rem!important;align-items:start!important}@media (max-width:1024px){.step1-main-grid{grid-template-columns:1fr!important;gap:2.5rem!important}}.live-pricing-container{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.8rem;background:rgba(255,255,255,.015);min-height:280px;display:flex;flex-direction:column;justify-content:center;transition:.3s;box-sizing:border-box}.pricing-placeholder{text-align:center;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.pricing-placeholder i{font-size:2.5rem;color:rgba(197,160,89,.4);margin-bottom:1.2rem}.pricing-placeholder p{color:rgba(255,255,255,.45);font-size:.85rem;line-height:1.6;max-width:240px;margin:0}.pricing-card-luxury{width:100%;display:flex;flex-direction:column;gap:1.2rem;animation:.4s ease-out forwards slideUpFade}.pricing-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:.9rem}.pricing-label{display:flex;flex-direction:column;gap:.25rem}.main-desc{color:rgba(255,255,255,.9)}.sub-desc{color:var(--accent);font-size:.8rem;font-weight:500;opacity:.8}.pricing-value{color:rgba(255,255,255,.9);font-weight:600;font-family:Montserrat,sans-serif}.pricing-row.promo .green-text{color:#2ecc71!important}.pricing-divider{height:1px;background:rgba(255,255,255,.08);margin:.3rem 0}.pricing-row.total{font-size:1.15rem;align-items:center}.gold-text{color:var(--accent)!important;font-weight:600}.pricing-value.large{font-size:1.45rem;font-weight:700}.contact-form-hidden{max-height:0;opacity:0;overflow:hidden;transition:.6s cubic-bezier(.16, 1, .3, 1);margin-top:0;border-top:1px solid rgba(255,255,255,0);padding-top:0}.contact-form-hidden.expanded{max-height:600px;opacity:1;margin-top:3rem;border-top:1px solid rgba(255,255,255,.08);padding-top:2.5rem}.form-container-landing{max-width:650px;margin:0 auto}#calendarContainer{width:100%;margin-top:.5rem}.date-fields-summary{display:grid!important;grid-template-columns:1.2fr 1.2fr 0.8fr!important;gap:.5rem!important;margin-bottom:.5rem!important;width:100%!important;max-width:100%!important}.summary-field{display:flex!important;flex-direction:column!important;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:8px!important;padding:.4rem .6rem!important;box-sizing:border-box!important}.summary-label{font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:rgba(255,255,255,.4)!important;margin-bottom:.1rem!important;display:block!important;font-family:inherit!important}.summary-input{background:0 0!important;border:none!important;outline:0!important;color:var(--accent)!important;font-size:.9rem!important;font-weight:600!important;padding:0!important;margin:0!important;width:100%!important;text-align:left!important;font-family:inherit!important}.summary-input::placeholder{color:rgba(255,255,255,.25)!important}#calendarContainer .flatpickr-day{width:100%!important;max-width:none!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.05rem!important;font-weight:500!important;border-radius:8px!important;margin:0!important;border:none!important;transition:.3s}#calendarContainer .flatpickr-day.day-available{background:0 0!important;color:#2ecc71!important}#calendarContainer .flatpickr-day.day-available:hover{background:rgba(46,204,113,.08)!important;transform:scale(1.05)}#calendarContainer .flatpickr-day.day-occupied{background:0 0!important;color:#e74c3c!important;text-decoration:line-through!important;opacity:.65;cursor:not-allowed!important;pointer-events:none!important}.toast-notification{position:fixed;bottom:-100px;left:50%;transform:translateX(-50%);background:rgba(20,20,20,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:1rem 2rem;border-radius:50px;box-shadow:0 20px 50px rgba(0,0,0,.6);border:1px solid rgba(197,160,89,.2);z-index:10000;display:flex;align-items:center;gap:.8rem;font-size:.95rem;transition:.5s cubic-bezier(.175, .885, .32, 1.275);opacity:0;pointer-events:none;max-width:90%;width:max-content;font-family:Montserrat,sans-serif}.toast-notification.show{bottom:40px;opacity:1}.toast-notification i{font-size:1.2rem}.toast-notification.success i{color:#2ecc71}.toast-notification.success{border-color:rgba(46,204,113,.3)}.toast-notification.error i,.toast-notification.warning i{color:#e74c3c}.toast-notification.error,.toast-notification.warning{border-color:rgba(231,76,60,.3)}.toast-notification.info i{color:var(--accent)}.toast-notification.info{border-color:rgba(197,160,89,.3)}.reserva-info-header{text-align:center;max-width:800px;margin:0 auto 3rem;font-family:Montserrat,sans-serif}.reserva-info-header h2{font-family:'Playfair Display',serif;font-size:2.8rem;color:#fff;margin:.5rem 0 1rem;line-height:1.2}.reserva-info-header h2 span{color:var(--accent)}.reserva-info-header p{font-size:1rem;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:1.5rem}.reserva-features-header{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.reserva-features-header .feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:rgba(255,255,255,.9)}.reserva-features-header .feature-icon{color:var(--accent);font-size:1rem}.widget-column-title{display:block!important;font-family:'Playfair Display',serif!important;font-size:1.25rem!important;font-weight:500!important;color:#fff!important;text-transform:none!important;letter-spacing:normal!important;margin-bottom:1.5rem!important}.widget-column-title i{color:var(--accent)!important;margin-right:.5rem!important}.main-desc{font-family:'Playfair Display',serif!important;font-weight:500!important}@supports (-webkit-touch-callout:none){.hero{background-attachment:scroll}}@media (max-width:480px){nav{padding:.8rem 1rem;height:64px}.header-strip{height:64px}.brand-name{font-size:.78rem;letter-spacing:.3px}.logo-img{height:22px}.hero{background-attachment:scroll;padding:0 1.2rem}.hero h1{font-size:2.1rem;margin-bottom:1.2rem}.hero p{font-size:.88rem;margin-bottom:2rem}.hero-subtitle{font-size:.7rem;letter-spacing:3px}.reserva-widget{padding:1.2rem;border-radius:16px}.reserva-info-header h2{font-size:1.9rem}.reserva-info-header p{font-size:.88rem}.date-fields-summary{grid-template-columns:1.2fr 1.2fr 0.7fr!important;gap:.3rem!important}.summary-input{font-size:.78rem!important}.summary-label{font-size:.58rem!important}section{padding:4rem 1.2rem}.section-header h2{font-size:1.8rem}.footer-main{gap:1.4rem}.footer-logo h2{font-size:1.5rem}}@media (max-width:360px){.hero h1{font-size:1.8rem}.reserva-widget{padding:1rem}.btn-nav-reserve{padding:.35rem .6rem;font-size:.6rem}}.promo-marquee-container{width:100%;overflow:hidden;white-space:nowrap;display:flex;align-items:center}.promo-marquee-content{display:inline-block;padding-left:100%;animation:40s linear infinite marquee}@keyframes marquee{0%{transform:translate(0,0)}100%{transform:translate(-100%,0)}}.casa-story{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:4rem auto 0;padding:3rem;background:#fff;border:1px solid var(--border);border-top:3px solid var(--accent)}.casa-story-block{display:flex;flex-direction:column}.story-ornament{font-size:1.2rem;color:var(--accent);margin-bottom:.8rem;letter-spacing:4px}.casa-story-block h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:500;color:var(--text-dark);margin-bottom:1rem}.casa-story-block p{font-size:.95rem;color:var(--text-muted);line-height:1.8;margin-bottom:.8rem}.casa-story-block strong{color:var(--text-dark);font-weight:600}.casa-story-wide{grid-column:1/-1}.casa-story-wide:first-child h3{font-size:1.7rem}.casa-story-wide:first-child p{font-size:1.02rem;color:var(--text-dark);opacity:.85;max-width:880px}.festival-days{list-style:none;padding:0;margin:1.4rem 0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2rem}.festival-days li{position:relative;padding:.4rem 0 .4rem 1.2rem;border-left:2px solid var(--accent);font-size:.93rem;line-height:1.7;color:var(--text-muted)}.festival-days .day-label{display:block;font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;color:var(--text-dark);margin-bottom:.35rem;letter-spacing:.2px}.festival-days li strong{color:var(--text-dark);font-weight:600}.festival-cta-text{margin-top:1.4rem!important;font-style:italic;color:var(--text-dark)!important;opacity:.78;border-top:1px solid var(--border);padding-top:1.2rem}@media (max-width:768px){.festival-days{grid-template-columns:1fr;gap:1rem}.casa-story-wide:first-child h3{font-size:1.45rem}.casa-story-wide:first-child p{font-size:.95rem}.festival-days .day-label{font-size:1rem}}.nav-menu-section-label{color:var(--accent)!important;font-size:.75rem!important;letter-spacing:.15em!important;text-transform:uppercase!important;font-weight:600!important;pointer-events:none;opacity:.8;margin-top:.5rem}.nav-menu-sub{font-size:.9rem!important;padding-left:1.5rem!important;opacity:.85}.nav-menu-sub i{width:16px;color:var(--accent);margin-right:6px}.vive-tabs{display:flex;justify-content:center;gap:0;border:1px solid var(--border);max-width:780px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.vive-tab{flex:1;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;border:none;border-right:1px solid var(--border);background:#fff;color:var(--text-muted);cursor:pointer;transition:background .25s,color .25s;font-family:Montserrat,sans-serif}.vive-tab:last-child{border-right:none}.vive-tab:hover{background:rgba(197,160,89,.05);color:var(--accent)}.vive-tab.active{background:var(--accent);color:#fff}.vive-tab-icon{font-size:1.4rem;margin-bottom:.5rem}.vive-tab-label{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.vive-tab-sub{font-size:.72rem;margin-top:.2rem;opacity:.8}.vive-panel{display:none}.vive-panel.active{display:block}.vive-panel-inner{max-width:1100px;margin:0 auto}.descubre-intro{text-align:center;max-width:680px;margin:0 auto 2.5rem;color:var(--text-muted);font-size:.97rem;line-height:1.8}.descubre-days{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem;max-width:900px;margin-left:auto;margin-right:auto}.day-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--accent);padding:1.8rem}.day-number{font-family:'Playfair Display',serif;font-size:2rem;color:var(--accent);font-weight:700;line-height:1;margin-bottom:.4rem}.day-card h4{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--text-dark);margin-bottom:1.2rem;font-weight:500}.day-list{list-style:none;display:flex;flex-direction:column;gap:.7rem}.day-list li{font-size:.87rem;color:var(--text-muted);line-height:1.5;position:relative;padding-left:1.4rem}.day-list li i{color:var(--accent);font-size:.75rem;position:absolute;left:0;top:.45em}.descubre-events{background:#fff;border:1px solid var(--border);padding:2rem}.descubre-events h4{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--text-dark);margin-bottom:1.2rem}.descubre-events h4 i{color:var(--accent);margin-right:.5rem}.events-grid{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1rem}.event-chip{display:flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border:1px solid var(--border);background:var(--bg-creme);font-size:.82rem}.event-chip.highlight{border-color:var(--accent);background:rgba(197,160,89,.08)}.event-month{font-weight:700;color:var(--accent);font-size:.78rem;white-space:nowrap}.event-name{color:var(--text-muted)}.events-note{font-size:.82rem;color:var(--text-muted);margin-top:.5rem}.events-note i{color:var(--accent);margin-right:4px}.events-note a{color:var(--accent);text-decoration:underline}.gastro-intro{max-width:1100px;margin:0 auto 2.5rem}.gastro-intro>p{text-align:center;color:var(--text-muted);font-size:.97rem;line-height:1.8;margin-bottom:1.5rem}.platos-tipicos{background:#fff;border:1px solid var(--border);border-top:3px solid var(--accent);padding:1.5rem 2rem;margin-bottom:0}.platos-tipicos h4{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--text-dark);margin-bottom:1rem}.platos-grid{display:flex;flex-wrap:wrap;gap:.6rem}.plato-chip{padding:.35rem .9rem;background:var(--bg-creme);border:1px solid var(--border);font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.plato-chip i{color:var(--accent);font-size:.65rem}.gastro-category{margin-bottom:2.5rem}.gastro-cat-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text-dark);margin-bottom:1.2rem;font-weight:500;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.gastro-cat-title i{color:var(--accent);margin-right:.5rem}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.restaurant-card{background:#fff;border:1px solid var(--border);padding:1.3rem;display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .2s,border-color .2s}.restaurant-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.07);border-color:var(--accent)}.restaurant-card.featured{border-top:3px solid var(--accent)}.restaurant-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.restaurant-header h5{font-family:'Playfair Display',serif;font-size:1rem;font-weight:500;color:var(--text-dark);line-height:1.3}.restaurant-tag{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:rgba(197,160,89,.1);padding:.2rem .5rem;white-space:nowrap;flex-shrink:0}.restaurant-card p{font-size:.85rem;color:var(--text-muted);line-height:1.6;flex:1}.btn-maps{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--text-dark);text-decoration:none;border:1px solid var(--border);padding:.4rem .8rem;transition:background .2s,border-color .2s;font-family:Montserrat,sans-serif;letter-spacing:.03em;align-self:flex-start;margin-top:auto}.btn-maps:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-maps i{font-size:.75rem}.gastro-tip{background:rgba(197,160,89,.06);border:1px solid rgba(197,160,89,.25);padding:1.5rem 2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1rem}.gastro-tip i{font-size:1.5rem;color:var(--accent)}.gastro-tip p{font-size:.92rem;color:var(--text-muted);line-height:1.7}.explora-intro{text-align:center;max-width:680px;margin:0 auto 2.5rem;color:var(--text-muted);font-size:.97rem;line-height:1.8}.routes-difficulty-group{margin-bottom:2.5rem}.difficulty-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:500;margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.6rem}.difficulty-title i{font-size:1rem}.difficulty-title.easy{color:#2ecc71}.difficulty-title.medium{color:#f39c12}.difficulty-title.hard{color:#e74c3c}.routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.route-card{background:#fff;border:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;transition:box-shadow .2s,border-color .2s;position:relative}.route-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.07)}.route-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;align-self:flex-start}.route-badge.easy{background:rgba(46,204,113,.12);color:#27ae60;border:1px solid rgba(46,204,113,.3)}.route-badge.medium{background:rgba(243,156,18,.12);color:#d68910;border:1px solid rgba(243,156,18,.3)}.route-badge.hard{background:rgba(231,76,60,.12);color:#c0392b;border:1px solid rgba(231,76,60,.3)}.route-card h5{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:500;color:var(--text-dark);line-height:1.3}.route-stats{display:flex;gap:1rem;flex-wrap:wrap}.route-stats span{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.3rem}.route-stats i{color:var(--accent);font-size:.75rem}.route-card p{font-size:.85rem;color:var(--text-muted);line-height:1.6;flex:1}@media (max-width:768px){.casa-story{grid-template-columns:1fr;gap:2rem;padding:2rem 1.2rem;margin-top:2.5rem}.vive-tabs{flex-direction:column;max-width:100%;border:none;gap:.5rem}.vive-tab{flex-direction:row;justify-content:flex-start;border-right:none;border:1px solid var(--border);padding:1rem 1.2rem;gap:1rem}.vive-tab.active{border-color:var(--accent)}.vive-tab-icon{font-size:1.2rem;margin-bottom:0}.vive-tab-label,.vive-tab-sub{text-align:left}.descubre-days,.restaurant-grid,.routes-grid{grid-template-columns:1fr}.platos-tipicos{padding:1.2rem}.day-card{padding:1.3rem 1.1rem}.day-number{font-size:1.6rem}.day-card h4{font-size:.98rem;margin-bottom:.9rem}.day-list{gap:.55rem}.day-list li{font-size:.84rem;line-height:1.45}.descubre-events{padding:1.2rem 1.1rem}.descubre-events h4{font-size:1.02rem}.event-chip{font-size:.76rem;padding:.35rem .7rem}.descubre-intro p,.explora-intro p,.gastro-intro>p{font-size:.9rem;line-height:1.65}.gastro-tip{padding:1.2rem 1.1rem}.gastro-tip p{font-size:.86rem}.difficulty-title,.gastro-cat-title{font-size:1.05rem}.restaurant-card,.route-card{padding:1.1rem}.restaurant-header h5,.route-card h5{font-size:.95rem}.restaurant-card p,.route-card p{font-size:.82rem}#vive-caravaca .section-header h2{font-size:2rem;line-height:1.2}#vive-caravaca .section-header p{font-size:.9rem}}@media (max-width:420px){.day-card{padding:1.1rem .95rem}.day-list li{font-size:.8rem}.descubre-events,.gastro-tip{padding:1rem .9rem}.restaurant-card,.route-card{padding:.95rem .9rem}.restaurant-tag{font-size:.62rem}.vive-tab{padding:.85rem 1rem;gap:.7rem}.vive-tab-label{font-size:.72rem}.vive-tab-sub{font-size:.65rem}.event-chip{font-size:.72rem;padding:.3rem .6rem}}