/* Ajustes de lectura de la propuesta; los archivos de la web actual se conservan. */
html{font-size:18px;scroll-padding-top:120px}body{font-size:18px;line-height:1.75}.section-intro,.hero-subtitle,.hero-copy>p,.hub-intro>p{font-size:20px;line-height:1.8}.main-nav a,.header-contact,.hub-header-contact{font-size:17px!important}.button,.text-link,.form-step label,.form-step input,.form-step select,.form-step textarea{font-size:18px!important;min-height:54px}.form-step .field-help,.form-step .error,.form-step .hint,.scope-note,.package-conditions,.footer-privacy{font-size:16px!important;line-height:1.8}.faq-list summary{font-size:20px!important;line-height:1.7;min-height:64px}.faq-list details p{font-size:18px!important;line-height:1.85}.stepper button{font-size:16px!important;min-height:50px}.step-title,.form-step h3{font-size:27px!important}.plan-toggle button,.plan-toggle label,.demo-tabs button{min-height:48px;font-size:17px!important}.scope-list li,.package-card li,.process-steps p{font-size:17px!important;line-height:1.8}.header-contact,.hub-header-contact{background:#174b3a!important;color:#fff!important;border-color:#174b3a!important}.contact-note,.print-conditions{font-size:16px!important;line-height:1.8}.proposal-note{background:#e7eee4;color:#173e32;border-bottom:1px solid #c6d3bf;font:600 14px/1.7 Manrope,Arial,sans-serif;padding:9px 24px;text-align:center}.proposal-note a{color:inherit;text-decoration:underline;text-underline-offset:3px;margin-left:14px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a2650b!important;outline-offset:5px!important}
@media(max-width:700px){.hero-title,.hero h1{font-size:44px!important}.form-step{padding:23px 17px!important}.form-shell .stepper{gap:3px!important}.stepper button{font-size:14px!important;padding:10px 4px!important}.estimate-price{font-size:44px!important}.hub-intro h1{font-size:43px!important}.mobile-contact-bar a{font-size:17px!important;min-height:58px}.proposal-note{font-size:12px;padding:8px 15px}.proposal-note a{margin-left:8px}.site-header .main-nav a{font-size:17px!important}.service-breadcrumb{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.date-picker-row{display:flex;align-items:stretch;gap:12px}.date-picker-row input[type="date"]{min-width:0;flex:1;width:100%;color-scheme:light}.date-picker-trigger{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #527258!important;border-radius:9px;padding:12px 15px!important;color:#174b3a;background:#edf3e7;white-space:nowrap;cursor:pointer;min-height:54px}.date-picker-trigger svg{width:22px;height:22px}.date-picker-trigger:hover{background:#dfead6}@media(max-width:700px){.date-picker-row{flex-direction:column}.date-picker-trigger{width:100%;font-size:18px!important}}

body.calendar-is-open{overflow:hidden}
.booking-calendar{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:24px;border:1px solid #ccd8c8;border-radius:18px;background:#fafbf7;color:#153e4b;font:500 17px/1.5 Manrope,Arial,sans-serif;box-shadow:0 24px 90px #082c3b40;overflow:auto}
.booking-calendar::backdrop{background:#092d3d91;backdrop-filter:blur(3px)}
.calendar-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.calendar-eyebrow{font-size:11px;letter-spacing:.1em;color:#476b41;margin:0 0 7px;font-weight:800}.booking-calendar h2{font-size:25px;line-height:1.25;letter-spacing:-.03em;margin:0}.calendar-close{display:grid;place-items:center;border:1px solid #b8c8b3;border-radius:50%;background:#eef3e8;color:#153e4b;width:37px;height:37px;flex:none;font-size:25px;line-height:1;cursor:pointer}.calendar-intro{font-size:15px;line-height:1.7;color:#45616a;margin:15px 0 20px}.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-month-nav h3{font-size:20px;font-weight:800;margin:0;line-height:1.4;text-align:center}.calendar-month-nav>button{width:40px;height:40px;border:1px solid #c4d0bc;border-radius:9px;background:#fff;color:#174b3a;font-size:28px;line-height:1;cursor:pointer}.calendar-table{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}.calendar-table th{padding:6px 0 10px;font-size:14px;font-weight:700;color:#52664e;text-align:center}.calendar-table abbr{text-decoration:none}.calendar-table td{padding:0;text-align:center;border:0!important}.calendar-table button{width:100%;aspect-ratio:1;min-height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:#f0f3eb;color:#183e4a;font:600 17px/1 Manrope,Arial,sans-serif;cursor:pointer}.calendar-table button:hover{background:#dde9d2;border-color:#8ca978}.calendar-table button.is-today{border-color:#9caf8b;text-decoration:underline;text-underline-offset:5px}.calendar-table button.is-selected{background:#174b3a;color:#fff;border-color:#174b3a;text-decoration:none;box-shadow:0 3px 8px #174b3a25}.calendar-selection{padding:15px;margin-top:18px;background:#edf2e6;border:1px solid #d3dfc9;border-radius:10px;line-height:1.6}.calendar-selection span{display:block;font-size:12px;color:#496540;margin-bottom:3px}.calendar-selection strong{display:block;font-size:17px;font-weight:750}.calendar-footer{display:flex;gap:12px;align-items:stretch;justify-content:space-between;margin-top:20px}.calendar-footer button{padding:12px 13px;border-radius:9px;min-height:49px;font:700 14px/1.5 Manrope,Arial,sans-serif;cursor:pointer}.calendar-footer>button:first-child{border:1px solid #a4b59b;background:transparent;color:#315a39}.calendar-footer>button:last-child{background:#174b3a;color:#fff;border:1px solid #174b3a;flex:1}.calendar-footer>button:last-child:disabled{background:#e6eae1;border-color:#d7dfcf;color:#67755f;cursor:default}.calendar-footer span{padding-left:7px}.booking-calendar button:focus-visible{outline:3px solid #a2650b;outline-offset:2px}
@media(max-width:360px){.booking-calendar{padding:18px 14px;border-radius:14px}.booking-calendar h2{font-size:23px}.calendar-intro{font-size:14px;margin:13px 0}.calendar-table{border-spacing:2px}.calendar-table button{min-height:35px;font-size:16px}.calendar-selection{padding:12px;margin-top:12px}.calendar-selection strong{font-size:16px}.calendar-footer{gap:8px;margin-top:14px}.calendar-footer button{font-size:12px;padding:10px}}
