:root{--brand:#2f3e2c;--brand-600:#3a4c37;--brand-700:#233120;--neutral:#f8f4ef;--ink:#372f2a}
html{scroll-behavior:smooth}body{background:var(--neutral);color:var(--ink)}
a{color:var(--brand)}.brand-accent{color:var(--brand)}
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-600);--bs-btn-hover-border-color:var(--brand-600);--bs-btn-active-bg:var(--brand-700);--bs-btn-active-border-color:var(--brand-700)}
.card{border-radius:1rem}.form-section-title{font-weight:700;letter-spacing:.2px}
.help-hint{font-size:.925rem;color:#6b6b6b}.required::after{content:" *";color:#dc3545}
.header-mini{background:#ffffffa6;backdrop-filter:saturate(140%) blur(6px);border:1px solid #eae7e2;border-radius:12px}
footer{opacity:.95}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.invalid-inline{font-size:.875rem;color:#dc3545;display:none}.invalid-inline.show{display:block}
.small-hint{font-size:.8rem;color:#6b6b6b}
/* Igualar altura de todos los campos dentro de la fila FECHA/HORA/ADULTOS/NIÑOS */
.equal-cols>[class*="col-"]{display:flex}
.field-stack{display:flex;flex-direction:column;gap:.25rem;align-self:stretch;height:100%}
.field-stack .form-label{white-space:nowrap;min-height:1.5rem}
.field-stack .form-control,.field-stack .form-select{flex:1 0 auto}
.field-stack .small-hint{min-height:1.25rem}
