.ca-booking-section{--ca-green:#6f8f45;--ca-green-dark:#4f6631;--ca-green-soft:#f3f7ed;--ca-line:#e3e8dd;--ca-text:#263126;--ca-muted:#687267;--ca-red:#bd6762;--ca-red-soft:#f9e9e7;--ca-bg:#f7f8f5;font-family:inherit;color:var(--ca-text);max-width:1040px;margin:0 auto;padding:32px 20px;box-sizing:border-box}.ca-booking-section *{box-sizing:border-box}.ca-booking-section.ca-availability{max-width:940px;padding-bottom:10px}.ca-booking-section.ca-request-section{max-width:960px;padding-top:14px;padding-bottom:48px}.ca-section-heading{text-align:center;max-width:690px;margin:0 auto 20px}.ca-kicker{display:inline-block;font-size:10px;line-height:1;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--ca-green);margin-bottom:9px}.ca-booking-section h2{font:inherit;font-size:clamp(27px,3vw,39px);line-height:1.12;font-weight:700;color:#293228;margin:0 0 10px}.ca-section-heading p,.ca-request-intro>p{font-size:14px;line-height:1.7;color:var(--ca-muted);margin:0}.ca-calendar-card,.ca-form-card{background:#fff;border:1px solid var(--ca-line);border-radius:20px;box-shadow:0 14px 34px rgba(39,56,31,.065)}.ca-calendar-card{max-width:820px;margin:0 auto;padding:16px 18px 14px}.ca-apartment-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:var(--ca-bg);padding:5px;border-radius:12px;margin:0 0 16px}.ca-apartment-tab{appearance:none;border:1px solid transparent;background:transparent;color:#5c6757;border-radius:9px;padding:9px 7px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:.2s ease}.ca-apartment-tab:hover{background:#fff}.ca-apartment-tab.is-active{background:#fff;color:var(--ca-green-dark);border-color:#e4eadc;box-shadow:0 2px 8px rgba(45,59,39,.07)}.ca-apartment-select-wrap{display:none}.ca-calendar-toolbar{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:14px;max-width:720px;margin:0 auto 8px}.ca-month-titles{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ca-month-title{text-align:center;font-size:15px;font-weight:750;color:#303a2e}.ca-month-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--ca-line);background:#fff;color:var(--ca-green-dark);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease}.ca-month-nav svg{display:block;width:15px;height:15px;flex:0 0 15px}.ca-month-nav:hover:not(:disabled){background:var(--ca-green-soft)}.ca-month-nav:disabled{opacity:.25;cursor:not-allowed}.ca-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:720px;margin:0 auto}.ca-month-panel{min-width:0}.ca-weekdays,.ca-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;margin:0 auto}.ca-weekdays{margin-bottom:4px}.ca-weekdays span{text-align:center;font-size:11px;font-weight:800;letter-spacing:.06em;color:#818b7d;padding:3px 0}.ca-day{aspect-ratio:1/1;min-height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px;font-weight:700;border:1px solid transparent;user-select:none}.ca-day--available{background:#f0f7e8;color:#526d31;border-color:#dbe9cb}.ca-day--booked{background:var(--ca-red-soft);color:#9c4e49;border-color:#efd4d1}.ca-day--past{background:#f2f3f1;color:#a3aaa0}.ca-day--blank{background:transparent}.ca-calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;max-width:720px;margin:12px auto 0;padding-top:11px;border-top:1px solid #eef1eb}.ca-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:#5e6959}.ca-legend span{display:flex;align-items:center;gap:5px}.ca-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.ca-dot--available{background:#a9c982}.ca-dot--booked{background:#d98f89}.ca-dot--past{background:#c8ccc5}.ca-last-sync{color:#7c8678;font-size:11.5px}.ca-request-layout{display:grid;grid-template-columns:minmax(245px,.74fr) minmax(0,1.26fr);gap:24px;align-items:start}.ca-request-intro{padding:18px 4px 0}.ca-request-intro h2{margin-bottom:12px;max-width:300px}.ca-request-intro>p{max-width:340px}.ca-request-note{max-width:340px;margin-top:18px;padding:16px 18px;background:var(--ca-green-soft);border-left:3px solid var(--ca-green);border-radius:10px;display:flex;flex-direction:column;gap:3px;color:#596a48;font-size:13px;line-height:1.6}.ca-request-note strong{color:#3f522a}.ca-form-card{padding:22px 22px 17px}.ca-request-form{margin:0}.ca-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.ca-field{display:flex;flex-direction:column;gap:6px}.ca-field--full{grid-column:1/-1}.ca-field span{font-size:12.5px;font-weight:700;color:#44503f}.ca-field input,.ca-field select,.ca-field textarea{width:100%;border:1px solid #dbe1d6;background:#fbfcfa;border-radius:10px;padding:11px 12px;font:inherit;font-size:14px;color:#263126;box-shadow:none;outline:none;transition:.2s ease}.ca-field textarea{resize:vertical;min-height:92px}.ca-field input:focus,.ca-field select:focus,.ca-field textarea:focus{border-color:#92ab70;background:#fff;box-shadow:0 0 0 3px rgba(111,143,69,.11)}.ca-consent{display:flex;align-items:flex-start;gap:9px;margin:15px 0 12px;font-size:12.5px;line-height:1.55;color:#5e675a}.ca-consent input{margin-top:2px}.ca-consent a{color:var(--ca-green-dark);font-weight:700}.cf-turnstile{margin:7px 0 13px;min-height:65px}.ca-submit-button{width:100%;display:flex;justify-content:center;align-items:center;gap:10px;border:0;border-radius:10px;background:var(--ca-green);color:#fff;padding:13px 18px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 8px 18px rgba(89,119,55,.16);transition:.2s ease}.ca-submit-button:hover{background:var(--ca-green-dark);transform:translateY(-1px)}.ca-form-foot{text-align:center;font-size:11.5px;color:#7f897b;margin:9px 0 0}.ca-form-message{border-radius:10px;padding:12px 14px;margin:0 0 15px;font-size:12px;line-height:1.55}.ca-form-message--success{background:#edf7e8;border:1px solid #d2e8c4;color:#486136}.ca-form-message--error{background:#fff0ef;border:1px solid #f0d2cf;color:#8f4f4a}.ca-admin-hint{font-size:11px;background:#fff8df;border:1px solid #ecdca7;padding:9px 11px;border-radius:8px}.ca-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:980px){.ca-booking-section{padding-left:18px;padding-right:18px}.ca-request-layout{grid-template-columns:1fr;gap:20px}.ca-request-intro{padding:0}.ca-request-intro h2,.ca-request-intro>p,.ca-request-note{max-width:none}.ca-form-card{padding:21px}}
@media(max-width:820px){.ca-booking-section{padding:25px 16px}.ca-booking-section.ca-availability{padding-bottom:7px}.ca-booking-section.ca-request-section{padding-top:5px;padding-bottom:36px}.ca-apartment-switcher{display:none}.ca-apartment-select-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;font-size:11.5px;font-weight:700;color:#596452}.ca-apartment-select{width:100%;border:1px solid var(--ca-line);background:#f9faf8;border-radius:10px;padding:10px 11px;font:inherit;font-size:13.5px;color:#33402f}.ca-calendar-card,.ca-form-card{border-radius:17px}.ca-calendar-card{padding:13px 12px 12px}.ca-calendar-toolbar{grid-template-columns:34px 1fr 34px;gap:7px;max-width:100%;margin-bottom:8px}.ca-month-titles{display:block}.ca-month-title{font-size:14px}.ca-month-title--secondary{display:none}.ca-calendar-months{display:block;max-width:none}.ca-month-panel--secondary{display:none}.ca-weekdays,.ca-calendar-grid{max-width:none;gap:4px}.ca-day{min-height:36px;border-radius:8px;font-size:11px}.ca-calendar-footer{max-width:none;align-items:flex-start;flex-direction:column;gap:8px;margin-top:10px}.ca-section-heading{margin-bottom:16px}.ca-section-heading p,.ca-request-intro>p{font-size:14px;line-height:1.68}.ca-form-grid{gap:12px}.ca-booking-section h2{font-size:28px}.ca-form-card{padding:18px 14px 15px}.ca-form-grid{grid-template-columns:1fr}.ca-field--full{grid-column:auto}.ca-request-note{font-size:12.5px;padding:14px 16px}.ca-field input,.ca-field select,.ca-field textarea{font-size:14px;padding:11px 12px}.ca-legend{font-size:11px}.ca-last-sync{font-size:11px}.ca-field span{font-size:12px}.ca-consent{font-size:12px}.ca-form-foot{font-size:11px}.ca-weekdays span{font-size:10px}.ca-day{font-size:12px}}
@media(max-width:380px){.ca-booking-section{padding-left:12px;padding-right:12px}.ca-day{min-height:32px}.ca-calendar-card{padding-left:9px;padding-right:9px}.ca-weekdays,.ca-calendar-grid{gap:3px}}

/* v1.0.6 · hover de apartamentos más visible */
.ca-apartment-tab:hover:not(.is-active),.ca-apartment-tab:focus-visible:not(.is-active){background:#e7f0dc;color:#3f572a;border-color:#bfd1aa;box-shadow:0 5px 14px rgba(70,94,45,.12);transform:translateY(-1px);outline:none}.ca-apartment-tab.is-active{background:#fff;color:#48632e;border-color:#cfdcc2;box-shadow:0 4px 13px rgba(45,59,39,.10)}

/* Precios dinámicos */
.ca-prices-section{--ca-green:#6f8f45;--ca-green-dark:#4f6631;--ca-green-soft:#f2f7eb;--ca-line:#e0e7d9;--ca-text:#263126;--ca-muted:#677163;font-family:inherit;color:var(--ca-text);padding:54px 20px 66px;background:#fff}.ca-prices-section *{box-sizing:border-box}.ca-prices-shell{max-width:1120px;margin:0 auto}.ca-prices-heading{text-align:center;max-width:820px;margin:0 auto 34px}.ca-prices-heading h1{font:inherit;font-size:clamp(34px,4.7vw,54px);line-height:1.06;font-weight:750;color:#263126;margin:6px 0 16px}.ca-prices-heading p{font-size:17px;line-height:1.7;color:#5e695a;margin:8px 0}.ca-prices-note{display:inline-block;padding:10px 14px;border-radius:12px;background:#f6f8f3}.ca-season-block{padding:28px;border:1px solid var(--ca-line);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(42,58,33,.06);margin:22px 0}.ca-season-block--high{background:linear-gradient(180deg,#fbfdf9 0%,#fff 42%)}.ca-season-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.ca-season-head h2{font:inherit;font-size:32px;line-height:1.12;font-weight:750;color:#263126;margin:5px 0 7px}.ca-season-head p{font-size:15px;color:#687365;margin:0}.ca-season-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#edf5e5;border:1px solid #d6e5c8;color:#56713a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.ca-public-price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.ca-public-price-card{display:flex;flex-direction:column;min-width:0;padding:18px 16px;border:1px solid #e1e8db;border-radius:17px;background:#fff;transition:.2s ease}.ca-public-price-card:hover{border-color:#b8cda5;box-shadow:0 12px 26px rgba(58,80,40,.10);transform:translateY(-2px)}.ca-people-label{font-size:13px;font-weight:700;color:#596653}.ca-public-price{display:flex;align-items:flex-start;gap:3px;margin:10px 0 0;color:#4f6b31}.ca-public-price strong{font-size:38px;line-height:1;font-weight:780}.ca-public-price>span{font-size:16px;font-weight:800;margin-top:4px}.ca-public-price-card small{font-size:12px;color:#818a7d;margin:4px 0 16px}.ca-public-price-card a{margin-top:auto;display:flex;justify-content:space-between;gap:8px;align-items:center;text-decoration:none;color:#4f6834;font-size:12px;font-weight:750;padding-top:13px;border-top:1px solid #edf0e9}.ca-included-card{display:grid;grid-template-columns:.65fr 1.35fr;gap:28px;align-items:center;margin:24px 0;padding:25px 28px;border-radius:20px;background:#f3f7ee;border:1px solid #dfe9d5}.ca-included-card h2{font:inherit;font-size:27px;line-height:1.15;font-weight:750;margin:5px 0 0}.ca-included-card ul{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 18px;list-style:none;margin:0;padding:0}.ca-included-card li{position:relative;padding-left:21px;font-size:14px;color:#566351}.ca-included-card li:before{content:'✓';position:absolute;left:0;color:#6f8f45;font-weight:900}.ca-other-dates-card{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:27px 30px;border-radius:22px;background:linear-gradient(135deg,#435a30,#76994a);color:#fff}.ca-other-dates-card .ca-kicker{color:#e1efd5}.ca-other-dates-card h2{font:inherit;font-size:30px;line-height:1.12;font-weight:750;color:#fff;margin:5px 0 7px}.ca-other-dates-card p{font-size:15px;line-height:1.6;color:#eef4e9;margin:0;max-width:680px}.ca-other-dates-card>a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:13px;background:#fff;color:#425b2d;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 8px 20px rgba(26,42,15,.16)}
@media(max-width:1000px){.ca-public-price-grid{grid-template-columns:repeat(3,1fr)}.ca-included-card{grid-template-columns:1fr}.ca-included-card ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.ca-prices-section{padding:36px 16px 46px}.ca-prices-heading h1{font-size:36px}.ca-prices-heading p{font-size:15px}.ca-season-block{padding:18px 14px;border-radius:19px}.ca-season-head{flex-direction:column;gap:10px}.ca-season-head h2{font-size:28px}.ca-public-price-grid{grid-template-columns:repeat(2,1fr);gap:9px}.ca-public-price-card{padding:15px 13px}.ca-public-price strong{font-size:34px}.ca-included-card{padding:21px 18px}.ca-included-card ul{grid-template-columns:1fr}.ca-other-dates-card{align-items:flex-start;flex-direction:column;padding:24px 20px}.ca-other-dates-card>a{width:100%}}
@media(max-width:390px){.ca-public-price-grid{grid-template-columns:1fr}}

/* v1.0.7 · interacción más clara en selector de apartamentos */
.ca-apartment-tab:hover:not(.is-active),.ca-apartment-tab:focus-visible:not(.is-active){background:#6f8f45!important;color:#fff!important;border-color:#5f7e3d!important;box-shadow:0 8px 20px rgba(67,91,47,.24)!important;transform:translateY(-2px) scale(1.01);outline:none}.ca-apartment-tab.is-active{background:#eef5e7!important;color:#40592b!important;border-color:#b8cca5!important;box-shadow:inset 0 0 0 1px rgba(111,143,69,.05),0 4px 13px rgba(45,59,39,.09)!important}.ca-apartment-tab:active{transform:translateY(0) scale(.995)}

/* v1.0.8 · Ajustes de legibilidad, amplitud y selector móvil */
@media(min-width:981px){
  .ca-booking-section{max-width:1260px;padding-left:24px;padding-right:24px}
  .ca-booking-section.ca-availability{max-width:1180px}
  .ca-booking-section.ca-request-section{max-width:1180px}
  .ca-calendar-card{max-width:1040px;padding:20px 22px 18px}
  .ca-calendar-toolbar,.ca-calendar-months,.ca-calendar-footer{max-width:900px}
  .ca-request-layout{grid-template-columns:minmax(300px,.82fr) minmax(0,1.38fr);gap:42px}
  .ca-request-intro{padding-top:24px}
  .ca-request-intro h2{max-width:360px}
  .ca-request-intro>p,.ca-request-note{max-width:390px}
  .ca-form-card{padding:28px 28px 22px}
}
.ca-section-heading p,.ca-request-intro>p{font-size:16px;line-height:1.72}
.ca-kicker{font-size:11px}
.ca-apartment-tab{font-size:14px;padding:11px 9px}
@media(hover:hover) and (pointer:fine){
  .ca-apartment-tab:hover:not(.is-active){background:var(--ca-green);color:#fff;border-color:var(--ca-green-dark);box-shadow:0 8px 18px rgba(70,95,44,.2);transform:translateY(-1px)}
}
.ca-apartment-tab.is-active{background:#eef5e7;color:#3f592a;border-color:#b9cea6;box-shadow:inset 0 0 0 1px #d5e3ca,0 3px 10px rgba(45,59,39,.08)}
.ca-month-title{font-size:17px}.ca-weekdays span{font-size:12.5px}.ca-day{font-size:14px}.ca-legend,.ca-last-sync{font-size:13px}.ca-request-note{font-size:14.5px}.ca-field span{font-size:14px}.ca-field input,.ca-field select,.ca-field textarea{font-size:16px;padding:13px 14px}.ca-consent{font-size:14px}.ca-form-foot{font-size:13px}.ca-submit-button{font-size:16px;padding:15px 20px}

@media(max-width:820px){
  .ca-apartment-select-wrap{position:relative;display:flex;gap:4px;margin:0 0 17px;padding:13px 13px 12px;border:2px solid #9eb87c;border-radius:14px;background:linear-gradient(180deg,#f4f8ef,#eef5e7);box-shadow:0 8px 20px rgba(68,91,44,.09);color:#33472a}
  .ca-apartment-select-label{display:block;font-size:14px;font-weight:800;line-height:1.25;color:#33472a}
  .ca-apartment-select-help{display:block;font-size:12px;font-weight:500;line-height:1.35;color:#66775b;margin-bottom:5px}
  .ca-apartment-select{min-height:48px;border:2px solid #6f8f45;background:#fff;border-radius:11px;padding:0 42px 0 13px;font-size:16px;font-weight:750;color:#263b20;box-shadow:0 3px 10px rgba(68,91,44,.08)}
  .ca-section-heading p,.ca-request-intro>p{font-size:15.5px}
  .ca-field span{font-size:13.5px}.ca-field input,.ca-field select,.ca-field textarea{font-size:16px}.ca-consent{font-size:13px}.ca-form-foot{font-size:12px}.ca-weekdays span{font-size:11px}.ca-day{font-size:13px}.ca-legend,.ca-last-sync{font-size:12px}
}

/* v1.0.8 · Página de precios sin importes */
.ca-prices-info-section{padding:58px 20px 70px;background:#fff}.ca-prices-info-shell{max-width:1080px}.ca-prices-info-section .ca-prices-heading{max-width:850px;margin-bottom:34px}.ca-prices-info-section .ca-prices-heading h1{font-size:clamp(36px,4.5vw,56px)}.ca-prices-info-section .ca-prices-heading p{font-size:18px;line-height:1.75}.ca-price-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 auto 22px}.ca-price-factors article{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:22px;border:1px solid #dfe7d8;border-radius:18px;background:#fbfdf9}.ca-factor-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#eef5e7;font-size:23px}.ca-price-factors strong{display:block;font-size:18px;color:#2b3827;margin:2px 0 6px}.ca-price-factors p{margin:0;font-size:14.5px;line-height:1.6;color:#65705f}.ca-price-request-card{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 32px;border-radius:24px;background:linear-gradient(135deg,#435a30,#76994a);color:#fff;box-shadow:0 16px 36px rgba(54,77,35,.14)}.ca-price-request-card .ca-kicker{color:#e2efd7}.ca-price-request-card h2{font:inherit;font-size:32px;line-height:1.12;font-weight:750;color:#fff;margin:6px 0 9px}.ca-price-request-card p{font-size:15.5px;line-height:1.65;color:#eef4e9;margin:0;max-width:660px}.ca-price-request-card>a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 20px;border-radius:13px;background:#fff;color:#425b2d;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 8px 20px rgba(26,42,15,.16)}.ca-price-helper{text-align:center;margin:18px auto 0!important;max-width:800px;font-size:13.5px!important;color:#75806f!important}
@media(max-width:760px){.ca-prices-info-section{padding:38px 16px 48px}.ca-prices-info-section .ca-prices-heading h1{font-size:36px}.ca-prices-info-section .ca-prices-heading p{font-size:16px}.ca-price-factors{grid-template-columns:1fr}.ca-price-request-card{align-items:flex-start;flex-direction:column;padding:25px 20px}.ca-price-request-card h2{font-size:28px}.ca-price-request-card>a{width:100%}}
