/* Hostal Casa Moreno: React booking island and progressive refresh, v1 */
:root{--hcm-forest:#075c50;--hcm-wine:#951630;--hcm-ink:#172329;--hcm-soft:#f6f8f6}body{color:var(--hcm-ink)}.hcm-hero{min-height:540px;position:relative}.hcm-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,18,.63),rgba(4,20,18,.1));pointer-events:none}.hcm-hero-content{position:relative;z-index:1}.hcm-hero h1{max-width:800px;line-height:1.12;letter-spacing:-.035em}.hcm-hero-content .hcm-btn{border-radius:12px}.hcm-react-section{background:linear-gradient(180deg,#edf3ef,#fff);padding:22px 0 40px}.hcm-react-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:32px;align-items:center}.hcm-react-benefits{padding:24px 8px}.hcm-react-benefits h2{font-size:clamp(26px,3vw,38px);margin:0 0 18px;font-weight:700}.hcm-react-benefits ul{list-style:none;padding:0;margin:0 0 20px}.hcm-react-benefits li{padding:9px 0;font-size:17px}.hcm-react-benefits li:before{content:'✓';display:inline-grid;place-items:center;width:25px;height:25px;color:#fff;background:var(--hcm-forest);border-radius:50%;margin-right:11px}.hcm-react-benefits a{color:var(--hcm-forest);font-weight:700;text-decoration:underline}.hcm-react-card{background:#fff;border:1px solid #e3e8e5;border-radius:20px;box-shadow:0 14px 44px rgba(16,45,35,.12);padding:28px}.hcm-react-card h2{font-size:25px;margin:0 0 20px;font-weight:700}.hcm-react-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hcm-react-field{display:flex;flex-direction:column;gap:7px;margin:0;font-weight:650;color:#283c3d}.hcm-react-field span{font-size:14px}.hcm-react-field input{min-width:0;width:100%;background:#fff;color:#1d262a;border:1px solid #cdd7d5;border-radius:10px;min-height:47px;padding:9px;font-size:15px}.hcm-react-field input:focus{outline:3px solid #b1dfd5;outline-offset:1px}.hcm-react-submit{margin-top:20px;width:100%;background:var(--hcm-wine);color:#fff;border:0;border-radius:10px;min-height:50px;font-weight:700;cursor:pointer}.hcm-react-submit:hover{background:#721025}.hcm-react-note{font-size:13px;line-height:1.5;color:#55646b;margin:14px 0 0}.hcm-react-error{color:#a1152b;font-weight:bold}.hcm-section img{border-radius:12px}.hcm-section .hcm-btn{border-radius:10px}@media(max-width:767px){.hcm-react-layout{grid-template-columns:1fr;gap:6px}.hcm-react-section{padding:15px 0 32px}.hcm-react-card{padding:19px}.hcm-react-benefits{padding:15px 4px}.hcm-react-benefits h2{font-size:24px}.hcm-hero{min-height:440px}.hcm-hero h1{font-size:clamp(29px,8vw,42px)}}@media(max-width:370px){.hcm-react-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* React same-page booking, correction v2 */
.hcm-react-result{border-top:1px solid #dbe5e1;margin-top:24px;padding-top:18px}.hcm-react-result h3{font-size:20px;margin:0 0 12px}.hcm-react-result p{font-size:14px;line-height:1.55}.hcm-react-frame{display:block;width:100%;min-height:680px;border:1px solid #d6dfdb;border-radius:12px;background:white;margin:12px 0}.hcm-react-caution{background:#fff7e6;color:#614500;border-left:3px solid #bd8d19;padding:12px;border-radius:5px}.hcm-react-result a{color:#075c50;text-decoration:underline}
@media(max-width:767px){.hcm-react-frame{min-height:850px}.hcm-react-result{overflow-wrap:anywhere}}

/* Native ADMON booking widget v3 */
.hcm-book-native{max-width:1080px;margin:auto}.hcm-book-native select,.hcm-book-native textarea{width:100%;padding:.8rem;border:1px solid #d4dce1;border-radius:9px;background:white;color:#1c2b37;font:inherit}.hcm-book-results{margin-top:1.6rem;border-top:1px solid #ddd;padding-top:1.4rem}.hcm-book-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.hcm-book-room{padding:17px;border:1px solid #dce6e4;border-radius:14px;background:#fff}.hcm-book-room p{margin:.55rem 0}.hcm-book-room label{display:block;margin:.6rem 0}.hcm-book-room input[type=checkbox]{width:auto}.hcm-book-room .hcm-react-field{margin-top:12px}.hcm-book-total{font-size:1.1rem;font-weight:700;margin-top:20px}.hcm-book-consent{display:block;margin:14px 0}.hcm-book-success{border:1px solid #98cfad;border-radius:12px;padding:20px;background:#ebfff2}.hcm-booking-page{padding-top:28px}.hcm-book-native .hcm-react-grid{margin-bottom:16px}.hcm-book-native button[disabled]{opacity:.6;cursor:not-allowed}

/* V4: visible fallback if JavaScript or React fails to start */
.hcm-widget-fallback{background:#fff;border:1px solid #dbe5e1;border-radius:18px;box-shadow:0 12px 35px rgba(16,45,35,.1);padding:26px}.hcm-widget-fallback p{margin-top:0}

/* V6: checkbox and text stay aligned, one-of-two contact requirement. */
.hcm-book-native label.hcm-book-consent{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;width:100%;margin:18px 0 12px;cursor:pointer;line-height:1.45;text-align:left}
.hcm-book-native .hcm-book-consent input[type="checkbox"]{position:static;display:block;flex:0 0 19px;width:19px;min-width:19px;max-width:19px;height:19px;min-height:19px;margin:2px 0 0;padding:0;appearance:auto;accent-color:#075c50;cursor:pointer}
.hcm-book-native .hcm-book-consent .hcm-book-consent-text{display:block;flex:1 1 auto;min-width:0;font-weight:500;line-height:1.45}
.hcm-book-native .hcm-book-contact-hint{font-size:13px;color:#52616a;line-height:1.5;margin:2px 0 14px}
.hcm-book-native .hcm-react-field input[required]:focus-visible,.hcm-book-native .hcm-book-consent input:focus-visible{outline:2px solid #075c50;outline-offset:2px}
@media(max-width:600px){.hcm-book-native label.hcm-book-consent{gap:9px}.hcm-book-native .hcm-book-consent input[type="checkbox"]{flex-basis:20px;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px}}
