:root{--rr-primary:#2f5d50;--rr-accent:#c98f4a;--rr-surface:#f6f3ed;--rr-ink:#1f2937;--rr-muted:#667085;--rr-line:#e5e7eb;--rr-white:#fff;--rr-radius:18px;--rr-shadow:0 16px 44px rgba(31,41,55,.08)}
.rr-site-home,.rr-catalog-page,.rr-search-page,.rr-contact-page,.rr-blog-page,.rr-property-detail,.rr-review-form-wrap{color:var(--rr-ink)}
.rr-section{margin:70px 0}.rr-section-heading{max-width:760px;margin:0 0 30px}.rr-section-heading h1,.rr-section-heading h2,.rr-property-title h1{margin:.2em 0 .35em;line-height:1.08}.rr-section-heading p,.rr-property-title p{color:var(--rr-muted);font-size:1.05rem}.rr-eyebrow{margin:0!important;color:var(--rr-accent)!important;font-size:.78rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.rr-heading-row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:24px}.rr-heading-row>a,.rr-text-link{color:var(--rr-primary);font-weight:700;text-decoration:none}.rr-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--rr-primary);color:#fff!important;border:0;border-radius:12px;padding:13px 19px;text-decoration:none;cursor:pointer;font-weight:750;transition:.18s ease}.rr-btn:hover{transform:translateY(-1px);filter:brightness(.96)}.rr-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.rr-btn-secondary{background:var(--rr-accent)}
.rr-hero{position:relative;min-height:610px;border-radius:28px;overflow:hidden;display:flex;align-items:center;background:linear-gradient(135deg,var(--rr-hero-dark),#10231e);background-image:var(--rr-hero,linear-gradient(135deg,var(--rr-hero-dark),#10231e));background-size:cover;background-position:center;margin:10px 0 70px}.rr-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--rr-hero-dark) 88%,transparent),color-mix(in srgb,var(--rr-hero-dark) 30%,transparent))}.rr-hero-content{position:relative;z-index:1;max-width:820px;padding:70px;color:#fff}.rr-hero-content h1{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.98;margin:.18em 0 .3em;max-width:820px}.rr-hero-content>p:not(.rr-eyebrow){font-size:1.15rem;line-height:1.65;max-width:650px;color:rgba(255,255,255,.88)}.rr-hero .rr-eyebrow{color:var(--rr-hero-accent)!important}
.rr-search-form{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:10px;align-items:end}.rr-search-hero{margin-top:28px;padding:12px;background:#fff;border-radius:16px;box-shadow:var(--rr-shadow);color:var(--rr-ink)}.rr-search-form label,.rr-booking-form label,.rr-contact-form label,.rr-review-form label{display:flex;flex-direction:column;gap:6px;font-weight:650}.rr-search-form input,.rr-booking-form input,.rr-booking-form textarea,.rr-contact-form input,.rr-contact-form textarea,.rr-review-form textarea,.rr-review-form select{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;background:#fff;min-height:44px}.rr-search-form .rr-btn{min-height:44px}.rr-search-box{padding:20px;border:1px solid var(--rr-line);border-radius:16px;background:#fff;box-shadow:var(--rr-shadow);margin-bottom:30px}
.rr-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rr-benefits article{padding:26px;border:1px solid var(--rr-line);border-radius:18px;background:#fff}.rr-benefits h3{margin:10px 0 7px}.rr-benefits p{color:var(--rr-muted);margin:0}.rr-benefit-num{font-size:.78rem;font-weight:800;color:var(--rr-accent);letter-spacing:.1em}.rr-homes-section{padding:44px;background:var(--rr-surface);border-radius:28px}
.rr-properties{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.rr-property-card{border:1px solid var(--rr-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 32px rgba(0,0,0,.055);display:flex;flex-direction:column}.rr-card-img{width:100%;height:240px;object-fit:cover;display:block}.rr-card-placeholder{display:block;background:linear-gradient(145deg,#dfe9e4,#f6f3ed)}.rr-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.rr-card-body h3{margin:0 0 10px;font-size:1.35rem}.rr-card-body h3 a{color:var(--rr-ink);text-decoration:none}.rr-card-body>p{color:var(--rr-muted)}.rr-card-facts,.rr-facts{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.rr-card-facts span,.rr-facts span{background:#f3f4f6;border-radius:999px;padding:7px 10px;font-size:.88rem}.rr-facts span{padding:9px 13px}.rr-card-meta{font-weight:700;margin:15px 0}.rr-card-body .rr-btn{margin-top:auto}.rr-search-price{display:flex;flex-direction:column;margin:15px 0}.rr-search-price strong{font-size:1.25rem}.rr-search-price span{font-size:.88rem;color:var(--rr-muted)}
.rr-property-title{margin:0 0 24px}.rr-property-title h1{font-size:clamp(2rem,4vw,3.5rem)}.rr-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:8px;border-radius:22px;overflow:hidden;margin-bottom:30px}.rr-gallery img{width:100%;height:100%;object-fit:cover}.rr-gallery-main{grid-row:1/3}.rr-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:38px;align-items:start}.rr-address{color:var(--rr-muted)}.rr-description{margin:20px 0 34px;font-size:1.02rem;line-height:1.75}.rr-booking-aside{position:sticky;top:32px}.rr-booking-box{padding:24px;border:1px solid var(--rr-line);border-radius:20px;background:#fff;box-shadow:var(--rr-shadow)}.rr-booking-head h3{margin:4px 0 7px}.rr-booking-head p{margin-top:0;color:var(--rr-muted)}.rr-booking-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rr-accent);font-weight:800}.rr-fields,.rr-guest-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rr-guest-fields{grid-template-columns:repeat(2,1fr);margin-top:16px}.rr-full{grid-column:1/-1}.rr-check{flex-direction:row!important;align-items:flex-start}.rr-check input{width:auto;margin-top:4px;min-height:0}.rr-quote{margin:16px 0;padding:13px;border-radius:10px;background:#f8fafc;min-height:22px}.rr-message{margin-top:14px}.rr-success{padding:13px;background:#ecfdf5;border-radius:10px}.rr-error{color:#b42318}.rr-error-box{padding:12px;background:#fef3f2;border-radius:10px}.rr-warning{padding:14px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin:16px 0}.rr-small{font-size:.84em;color:var(--rr-muted);line-height:1.5}.rr-submit{width:100%;margin-top:16px}.rr-whatsapp-link{display:block;text-align:center;margin-top:13px;color:var(--rr-primary);font-weight:700;text-decoration:none}.rr-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.rr-amenities{margin:34px 0}.rr-amenities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rr-amenities-grid>div{padding:11px 13px;background:#f8fafc;border-radius:10px}.rr-checkmark{color:var(--rr-primary);font-weight:900;margin-right:8px}.rr-section-subheading h2{margin-bottom:4px}.rr-section-subheading p{margin-top:0;color:var(--rr-muted)}
.rr-public-calendars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,320px);grid-template-columns:none;gap:16px;margin:18px 0;padding:2px 2px 12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.rr-public-month{scroll-snap-align:start}.rr-public-month{border:1px solid var(--rr-line);border-radius:15px;padding:13px;background:#fff}.rr-public-month h3{text-align:center;margin:2px 0 12px;font-size:1rem}.rr-public-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.rr-public-head{text-align:center;font-size:.74rem;font-weight:750;color:var(--rr-muted);padding:5px}.rr-public-day,.rr-public-empty{min-height:48px;border:0;border-radius:8px;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit}.rr-public-day b{font-size:.86rem}.rr-public-day small{font-size:.62rem;white-space:nowrap}.rr-day-available{background:#eef7f3;cursor:pointer}.rr-day-available:hover,.rr-day-available.is-selected{outline:2px solid var(--rr-primary);background:#e2f2eb}.rr-day-unavailable{background:#f3f4f6;color:#98a2b3;text-decoration:line-through;cursor:not-allowed;opacity:.78}.rr-day-too-soon{background:#f7f2e8;color:#a89b86;cursor:not-allowed;opacity:.82}.rr-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.85rem;color:var(--rr-muted);margin-bottom:24px}.rr-calendar-legend span{display:flex;align-items:center;gap:7px}.rr-calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}.rr-leg-available{background:#dcefe6}.rr-leg-too-soon{background:#eee3cf}.rr-leg-unavailable{background:#e5e7eb}.rr-external-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:35px 0;padding:16px;background:#f8fafc;border-radius:12px}.rr-external-links a{font-weight:700;color:var(--rr-primary)}
.rr-reviews{margin:46px 0}.rr-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rr-review-card{padding:20px;border:1px solid var(--rr-line);border-radius:16px;background:#fff}.rr-review-card p{color:#475467;line-height:1.6}.rr-review-card>span{display:block;color:var(--rr-muted);font-size:.84rem;margin-top:3px}.rr-stars{color:var(--rr-accent);letter-spacing:.08em}.rr-review-form{display:grid;gap:16px;max-width:720px}.rr-review-form-wrap{max-width:820px;margin:0 auto}
.rr-contact-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:30px}.rr-contact-info,.rr-contact-form-wrap{padding:28px;border:1px solid var(--rr-line);border-radius:20px;background:#fff}.rr-contact-info{background:var(--rr-surface)}.rr-contact-info>div{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.rr-contact-info a{color:var(--rr-primary);text-decoration:none}.rr-contact-info .rr-btn{color:#fff!important;margin-top:4px}.rr-contact-form-wrap .rr-guest-fields{margin-top:0}
.rr-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rr-post-card{border:1px solid var(--rr-line);border-radius:18px;overflow:hidden;background:#fff}.rr-post-media{display:block}.rr-post-img{width:100%;height:210px;object-fit:cover;display:block}.rr-post-body{padding:20px}.rr-post-body time{font-size:.78rem;color:var(--rr-muted)}.rr-post-body h3{margin:7px 0}.rr-post-body h3 a{color:var(--rr-ink);text-decoration:none}.rr-post-body p{color:var(--rr-muted)}.rr-pagination{display:flex;gap:8px;margin-top:30px}.rr-pagination a{min-width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rr-line);text-decoration:none;color:var(--rr-ink)}.rr-pagination a.is-current{background:var(--rr-primary);color:#fff;border-color:var(--rr-primary)}
.rr-search-heading{margin:28px 0 18px}.rr-search-heading h2{margin-bottom:4px}.rr-search-heading p,.rr-search-intro{color:var(--rr-muted)}
@media(max-width:980px){.rr-hero{min-height:540px}.rr-hero-content{padding:50px 32px}.rr-detail-grid,.rr-contact-grid{grid-template-columns:1fr}.rr-booking-aside{position:static}.rr-public-calendars{grid-auto-columns:minmax(260px,310px)}.rr-search-form{grid-template-columns:1fr 1fr}.rr-search-form .rr-btn{grid-column:1/-1}.rr-gallery{grid-template-rows:180px 180px}.rr-benefits,.rr-post-grid{grid-template-columns:1fr 1fr}.rr-homes-section{padding:28px}}
@media(max-width:640px){.rr-section{margin:46px 0}.rr-hero{border-radius:20px;min-height:600px}.rr-hero-content{padding:40px 20px}.rr-fields,.rr-guest-fields,.rr-search-form{grid-template-columns:1fr}.rr-full{grid-column:auto}.rr-booking-box{padding:18px}.rr-public-calendars{grid-auto-columns:minmax(250px,88vw)}.rr-benefits,.rr-post-grid,.rr-review-grid,.rr-amenities-grid{grid-template-columns:1fr}.rr-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 130px 130px}.rr-gallery-main{grid-column:1/-1;grid-row:auto}.rr-detail-grid{gap:20px}.rr-heading-row{align-items:flex-start;flex-direction:column}.rr-homes-section{padding:20px}.rr-search-hero{padding:10px}}

.rr-hero-logo{display:block;max-width:190px;max-height:90px;width:auto;height:auto;margin-bottom:20px}
.rr-hero-cta{margin-top:20px;background:var(--rr-hero-accent);color:#17221f!important}.rr-home-search-section{max-width:980px;margin-left:auto;margin-right:auto}.rr-home-search-section .rr-search-hero{margin-top:0}.rr-manual-mode-notice{display:flex;gap:8px;flex-direction:column;padding:16px 18px;margin:18px 0 28px;border:1px solid #f3c56b;border-radius:14px;background:#fff9e8}.rr-manual-mode-notice span{color:var(--rr-muted)}
.rr-manual-contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.rr-contact-option{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--rr-line);border-radius:12px;text-decoration:none;color:var(--rr-ink);background:#fff}.rr-contact-option:hover{border-color:var(--rr-primary);background:#f8fbfa}.rr-contact-option strong{font-size:.93rem}.rr-contact-option span{font-size:.78rem;color:var(--rr-muted);line-height:1.35}.rr-contact-option-wa{background:#f0faf4}.rr-manual-booking-box{border-color:#e7c278}.rr-manual-booking-box .rr-booking-kicker{color:#9a650c}.rr-optional{font-size:.78rem;font-weight:500;color:var(--rr-muted)}.rr-inquiry-submit{width:100%;margin-top:16px}.rr-day-consult{background:#fff8e6}.rr-day-consult:hover,.rr-day-consult.is-selected{outline:2px solid #c98f4a;background:#fff1cc}.rr-leg-consult{background:#f6d993}
.rr-environment-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.rr-environment-copy h2{font-size:clamp(1.8rem,4vw,3.3rem);margin:.25em 0}.rr-environment-copy>p:not(.rr-eyebrow){font-size:1.08rem;line-height:1.7;color:var(--rr-muted)}.rr-environment-media img,.rr-environment-placeholder{display:block;width:100%;height:380px;object-fit:cover;border-radius:24px}.rr-environment-placeholder{background:linear-gradient(135deg,#dfe9e4,#f6f3ed)}
.rr-map-frame{overflow:hidden;border-radius:22px;border:1px solid var(--rr-line);background:#f3f4f6}.rr-map-frame iframe{display:block;width:100%;height:440px;border:0}.rr-final-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px;border-radius:24px;background:var(--rr-primary);color:#fff}.rr-final-cta .rr-eyebrow{color:#f7d7a9!important}.rr-final-cta h2{margin:.25em 0;font-size:clamp(1.7rem,3vw,2.7rem)}.rr-final-cta p:not(.rr-eyebrow){max-width:720px;color:rgba(255,255,255,.82);line-height:1.6}.rr-final-cta-actions{display:flex;flex-direction:column;gap:10px;min-width:230px}.rr-final-cta .rr-btn{background:#fff;color:var(--rr-primary)!important}.rr-final-cta .rr-btn-secondary{background:var(--rr-accent);color:#fff!important}.rr-cta-phone{color:#fff!important;text-align:center}.rr-faq-list{display:grid;gap:10px;max-width:900px}.rr-faq-list details{border:1px solid var(--rr-line);border-radius:14px;background:#fff;padding:0 18px}.rr-faq-list summary{cursor:pointer;font-weight:750;padding:17px 0}.rr-faq-list p{margin:0;padding:0 0 18px;color:var(--rr-muted);line-height:1.65}
@media(max-width:900px){.rr-environment-grid{grid-template-columns:1fr}.rr-final-cta{align-items:flex-start;flex-direction:column}.rr-final-cta-actions{width:100%;min-width:0}.rr-manual-contact-options{grid-template-columns:1fr}.rr-environment-media img,.rr-environment-placeholder{height:300px}}

/* v0.6 pricing and booking rules */
.rr-promo-field{margin-top:14px}.rr-promo-field>label{display:flex;flex-direction:column;gap:6px;font-weight:650}.rr-promo-inline{display:flex;gap:8px}.rr-promo-inline input{flex:1;min-width:0;text-transform:uppercase}.rr-promo-inline .rr-btn-secondary{border:0;border-radius:10px;padding:10px 14px;color:#fff;cursor:pointer;font-weight:750}.rr-promo-ok{color:#166534}.rr-promo-error{color:#b42318}.rr-day-no-arrival,.rr-day-no-departure{position:relative;background:#fff7ed}.rr-day-no-arrival:after,.rr-day-no-departure:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#d97706}.rr-leg-restricted{background:#fed7aa}.rr-public-day.rr-day-no-arrival:hover,.rr-public-day.rr-day-no-departure:hover{outline:2px solid #d97706}.rr-quote span{line-height:1.55}
@media(max-width:650px){.rr-promo-inline{flex-direction:column}.rr-promo-inline .rr-btn-secondary{width:100%}}

.rr-date-helper{margin:8px 0 0;color:var(--rr-muted);font-size:.82rem}.rr-booking-form input[readonly][type="date"],.rr-inquiry-form input[readonly][type="date"]{background:#f8fafc;cursor:default}.rr-public-calendars::-webkit-scrollbar{height:9px}.rr-public-calendars::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}


/* v1.0.8 - Paginación del calendario de disponibilidad. No afecta a los calendarios del PMS. */
.rr-detail-content,.rr-availability-section,.rr-calendar-widget{min-width:0;max-width:100%}
.rr-calendar-widget{width:100%}
.rr-calendar-toolbar{display:none}
.rr-calendar-ready .rr-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0 8px}
.rr-calendar-current{font-size:1.03rem;font-weight:750;color:var(--rr-ink);text-transform:capitalize}
.rr-calendar-controls{display:flex;align-items:center;gap:8px}
.rr-calendar-nav{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--rr-line);border-radius:11px;background:#fff;color:var(--rr-primary);font:inherit;font-size:1.75rem;font-weight:650;line-height:1;cursor:pointer;box-sizing:border-box}
.rr-calendar-nav:hover:not(:disabled){border-color:var(--rr-primary);background:#f0f7f3}
.rr-calendar-nav:focus-visible{outline:3px solid var(--rr-accent);outline-offset:2px}
.rr-calendar-nav:disabled{opacity:.35;cursor:default}
.rr-calendar-ready .rr-public-calendars{display:grid;grid-template-columns:repeat(var(--rr-calendar-columns,1),minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;max-width:100%;min-width:0;gap:14px;margin:12px 0 15px;overflow:hidden;scroll-snap-type:none;box-sizing:border-box}
.rr-calendar-ready .rr-public-month{min-width:0;max-width:100%;box-sizing:border-box;scroll-snap-align:none}
.rr-calendar-ready .rr-public-month[hidden]{display:none!important}
.rr-calendar-ready .rr-public-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}
.rr-calendar-ready .rr-public-day,.rr-calendar-ready .rr-public-empty{min-width:0;width:100%;box-sizing:border-box;padding:4px 1px}
.rr-calendar-ready .rr-public-day small{font-size:.66rem;letter-spacing:-.02em;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:480px){.rr-calendar-ready .rr-public-month{padding:10px 7px}.rr-calendar-ready .rr-public-grid{gap:3px}.rr-calendar-ready .rr-public-day,.rr-calendar-ready .rr-public-empty{min-height:44px}.rr-calendar-ready .rr-public-day small{font-size:.62rem}}

/* v1.0.9 - Selección de intervalos y presupuesto legible */
.rr-calendar-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:5px 0 13px;padding:12px 14px;border:1px solid var(--rr-line);border-radius:12px;background:#f8fbf9}
.rr-calendar-selection-text{font-weight:650;color:var(--rr-ink);font-size:.93rem}
.rr-calendar-selection-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rr-calendar-clear,.rr-calendar-continue{appearance:none;font:inherit;cursor:pointer;min-height:42px;border-radius:10px;font-weight:700;padding:9px 14px}
.rr-calendar-clear{border:1px solid var(--rr-line);background:#fff;color:var(--rr-primary)}
.rr-calendar-continue{border:1px solid var(--rr-primary);background:var(--rr-primary);color:#fff}
.rr-calendar-clear:hover,.rr-calendar-continue:hover{filter:brightness(.94)}
.rr-calendar-clear:focus-visible,.rr-calendar-continue:focus-visible{outline:3px solid var(--rr-accent);outline-offset:2px}
.rr-calendar-clear[hidden],.rr-calendar-continue[hidden]{display:none!important}
.rr-calendar-ready .rr-public-day.rr-day-available.is-in-range{background:#cbe9dc;outline:0;border-radius:4px}
.rr-calendar-ready .rr-public-day.is-range-start,.rr-calendar-ready .rr-public-day.is-range-end{background:var(--rr-primary);color:#fff;outline:2px solid var(--rr-primary);outline-offset:0}
.rr-calendar-ready .rr-public-day.is-range-start small,.rr-calendar-ready .rr-public-day.is-range-end small{color:inherit}
.rr-calendar-ready .rr-public-day.rr-day-checkout-only{cursor:pointer;background:#fef3c7;color:#854d0e;text-decoration:none;opacity:1;outline:1px dashed #d4a73b}
.rr-calendar-ready .rr-public-day.rr-day-checkout-only:hover{outline:2px solid #bd812a}
.rr-calendar-ready .rr-public-day.rr-day-checkout-only.is-range-end{background:var(--rr-primary);color:#fff;outline:2px solid var(--rr-primary)}
.rr-leg-checkout-only{background:#fef3c7;border:1px dashed #d4a73b}
.rr-calendar-price-note{width:100%;font-size:.8rem;color:var(--rr-muted)}
.rr-quote{padding:16px;border:1px solid #deebe5;background:#f7fbf9;border-radius:14px;overflow-wrap:anywhere}
.rr-quote-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rr-quote-heading strong{font-size:1.02rem;color:var(--rr-ink)}
.rr-quote-heading>span{font-size:.72rem;color:var(--rr-muted)}
.rr-quote-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:10px;background:#fff;border:1px solid var(--rr-line);border-radius:10px;margin-bottom:10px}
.rr-quote-dates span{display:flex;flex-direction:column;gap:3px;min-width:0}
.rr-quote-dates>span:nth-child(2){display:block;color:var(--rr-muted)}
.rr-quote-dates small{font-size:.72rem;color:var(--rr-muted)}
.rr-quote-dates strong{font-size:.83rem;line-height:1.35}
.rr-quote-lines{margin:0}
.rr-quote-lines>div,.rr-quote-nights>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;font-size:.86rem}
.rr-quote-lines dt{color:var(--rr-muted)}
.rr-quote-lines dd{margin:0;text-align:right;font-weight:650}
.rr-quote-lines .rr-quote-discount,.rr-promo-ok{color:#166534}
.rr-quote-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid var(--rr-line);font-weight:750}
.rr-quote-total strong{font-size:1.38rem;white-space:nowrap;color:var(--rr-primary)}
.rr-quote-breakdown{margin-top:12px;padding:10px 0;border-top:1px solid var(--rr-line);font-size:.83rem}
.rr-quote-breakdown summary{cursor:pointer;font-weight:650;color:var(--rr-primary)}
.rr-quote-nights{max-height:210px;overflow:auto;margin-top:8px}
.rr-quote-nights>div{border-bottom:1px dashed var(--rr-line)}
.rr-quote-note{margin:11px 0 0;font-size:.8rem;color:var(--rr-muted);line-height:1.45}
.rr-quote .rr-promo-error,.rr-quote .rr-promo-ok{margin:10px 0 0;font-size:.82rem}
@media(max-width:640px){.rr-calendar-selection{align-items:stretch;flex-direction:column}.rr-calendar-selection-actions{width:100%}.rr-calendar-continue{flex:1}.rr-quote-dates{gap:6px}.rr-quote-total strong{font-size:1.2rem}}

/* v1.4.0: Conversion mobile, accesibilidad y ordenacion de resultados. */
.rr-result-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 20px}
.rr-result-count{margin:0;color:var(--rr-ink);font-weight:750}
.rr-result-tools label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.9rem;font-weight:650}
.rr-result-sort{min-height:44px;max-width:100%;padding:10px 12px;background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:10px;font:inherit;cursor:pointer}
.rr-result-sort:focus-visible{outline:3px solid var(--rr-accent);outline-offset:2px}
.rr-mobile-booking-bar[hidden]{display:none!important}
.rr-mobile-booking-bar{display:none}
@media(max-width:700px){
 body.rr-mobile-booking-visible{padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px))}
 .rr-mobile-booking-bar:not([hidden]){position:fixed;z-index:1200;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:12px max(16px,env(safe-area-inset-left, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px,env(safe-area-inset-right, 0px));border-top:1px solid var(--rr-line);background:#fff;box-shadow:0 -6px 24px rgba(12,38,28,.12)}
 .rr-mobile-booking-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px;color:var(--rr-ink)}
 .rr-mobile-booking-copy strong{font-size:.9rem;line-height:1.2}
 .rr-mobile-booking-copy small{color:var(--rr-muted);font-size:.73rem;line-height:1.25;overflow-wrap:anywhere}
 .rr-mobile-booking-action{flex-shrink:0;appearance:none;border:0;border-radius:10px;min-height:44px;padding:10px 13px;background:var(--rr-primary);color:white;font:inherit;font-size:.85rem;font-weight:750;cursor:pointer}
 .rr-mobile-booking-action:focus-visible{outline:3px solid var(--rr-accent);outline-offset:2px}
 .rr-result-tools{align-items:stretch}
 .rr-result-tools label,.rr-result-sort{width:100%}
}
@media(prefers-reduced-motion:reduce){.rr-mobile-booking-bar *{scroll-behavior:auto}}

/* v1.4.2: colores de texto del hero configurables incluso con plantilla completa */
.rr-site-home .rr-hero .rr-hero-content h1{color:var(--rr-hero-title-color,#ffffff)!important}
.rr-site-home .rr-hero .rr-hero-content>p:not(.rr-eyebrow){color:var(--rr-hero-text-color,#e9f0ec)!important}
/* Próximas fechas compatibles cuando una búsqueda devuelve cero casas */
.rr-alternative-section{margin:38px 0 24px;padding:28px;border-radius:22px;background:var(--rr-surface,#f6f3ed)}
.rr-alternative-section .rr-section-heading{text-align:left;margin:0 0 20px;max-width:760px}
.rr-alternative-section .rr-section-heading h2{margin:0 0 10px;font-size:clamp(1.45rem,2.8vw,2.1rem)}
.rr-alternative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rr-alternative-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--rr-line,#e4e9e5);border-radius:16px;background:#fff;text-decoration:none;color:var(--rr-ink,#20352e)!important;transition:border-color .18s,transform .18s,box-shadow .18s;min-width:0}
.rr-alternative-card:hover{border-color:var(--rr-primary);transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,43,35,.07)}
.rr-alternative-card:focus-visible{outline:3px solid var(--rr-primary);outline-offset:3px}
.rr-alt-tag{font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:.08em;color:var(--rr-primary)}
.rr-alternative-card strong{font-size:1.15rem;line-height:1.35;color:var(--rr-ink,#20352e)}
.rr-alternative-card>span:not(.rr-alt-tag):not(.rr-alt-link){font-size:.9rem}
.rr-alt-price{font-weight:650}
.rr-alt-link{color:var(--rr-primary);font-weight:780;margin-top:auto;padding-top:9px}
.rr-alternative-empty{padding:16px 22px;background:var(--rr-surface,#f6f3ed);border-radius:12px}
/* Carrusel accesible y sin librerías ni reproducción automática */
.rr-news-carousel{max-width:100%;min-width:0;overflow:hidden;margin-block:60px}
.rr-news-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.rr-news-heading h2{font-size:clamp(1.5rem,3vw,2.3rem);margin:.1em 0}
.rr-news-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.rr-news-all{font-size:.88rem;font-weight:750;color:var(--rr-primary);text-decoration:none;white-space:nowrap;margin-right:8px}
.rr-news-actions button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:100%;border:1px solid var(--rr-line,#d5ddd6);background:#fff;color:var(--rr-primary);cursor:pointer;font-size:1.2rem}
.rr-news-actions button:hover:not(:disabled){background:var(--rr-primary);color:#fff}
.rr-news-actions button:disabled{opacity:.35;cursor:default}
.rr-news-actions button:focus-visible,.rr-news-track:focus-visible{outline:3px solid var(--rr-accent);outline-offset:2px}
.rr-news-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:thin;padding:0 1px 16px;-webkit-overflow-scrolling:touch}
.rr-news-card{flex:0 0 calc((100% - 36px)/3);min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--rr-line,#e4e9e5);border-radius:18px;background:#fff;scroll-snap-align:start;box-shadow:0 5px 18px rgba(14,42,32,.04)}
.rr-news-image{display:block;aspect-ratio:1.65;overflow:hidden;background:#dce8df}
.rr-news-image img{display:block;width:100%;height:100%;object-fit:cover}
.rr-news-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--rr-primary,#315d52),#a4c3aa);color:#fff;font-family:Georgia,serif;font-size:1.35rem}
.rr-news-body{padding:19px;display:flex;flex-direction:column;gap:8px;flex:1}
.rr-news-body time{font-size:.78rem;color:var(--rr-muted,#6b7a70)}
.rr-news-body h3{font-size:1.15rem;line-height:1.35;margin:0}
.rr-news-body h3 a{text-decoration:none;color:var(--rr-ink,#20352e)}
.rr-news-body h3 a:hover{color:var(--rr-primary)}
.rr-news-body p{font-size:.9rem;line-height:1.5;color:var(--rr-muted,#5e6a61);margin:0}
.rr-map-approximate{font-size:.82rem;color:var(--rr-muted,#6b7a70)}
@media(max-width:960px){.rr-alternative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-news-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:620px){.rr-alternative-section{padding:17px}.rr-alternative-grid{grid-template-columns:1fr}.rr-news-card{flex-basis:84%}.rr-news-heading{align-items:start;flex-direction:column}.rr-news-actions{width:100%;justify-content:flex-end}.rr-news-all{margin-right:auto}}
@media(prefers-reduced-motion:reduce){.rr-news-track{scroll-behavior:auto}.rr-alternative-card{transition:none}}
