/* Caratoa Product Fields — estilos neutros. Personaliza con variables CSS:
   --ctpf-label-color, --ctpf-input-color, --ctpf-placeholder-color, --ctpf-border, --ctpf-dropdown-bg, --ctpf-dropdown-color */
.ctpf-field { display: block; margin: .6rem 0; position: relative; }
.ctpf-field__label { display: block; margin: 0 0 .3rem; font-weight: 600; color: var(--ctpf-label-color, inherit); }
.ctpf-field__input { width: 100%; box-sizing: border-box; color: var(--ctpf-input-color, inherit); }
.ctpf-field__check { display: flex; gap: .5rem; align-items: center; color: var(--ctpf-label-color, inherit); }
.ctpf-field__help { margin: .25rem 0 0; font-size: .85em; opacity: .75; }
.ctpf-required { color: #c0392b; }
.ctpf-field .selectize-control { margin: 0; }
/* Texto oscuro por defecto: el buscador siempre tiene fondo claro, y algunos temas ponen
   el texto del formulario de reserva en blanco (el lugar elegido no se veía). */
.ctpf-field .selectize-input { border-color: var(--ctpf-border, #ccc); color: var(--ctpf-input-color, #222); }
.ctpf-field .selectize-input > .item,
.ctpf-field .selectize-input > input { color: var(--ctpf-input-color, #222) !important; }
.ctpf-field .selectize-input > input::placeholder { color: var(--ctpf-placeholder-color, #888) !important; }
.ctpf-field .selectize-dropdown { z-index: 1000; background: var(--ctpf-dropdown-bg, #fff); color: var(--ctpf-dropdown-color, #222); }
.ctpf-field .selectize-dropdown .option { color: var(--ctpf-dropdown-color, #222); }
