/* NUTRENTRENA · Formulario público de primera valoración */
.nts-val-hero { background: #000; color: #fff; padding: clamp(2.5rem, 7vw, 5rem) 16px clamp(3.5rem, 8vw, 6rem); background-image: radial-gradient(circle at 80% 0%, rgba(201, 160, 99, .22), transparent 55%); }
.nts-val-hero__inner { max-width: 760px; margin: 0 auto; }
.nts-val-hero__kicker { margin: 0 0 .6rem; color: #c9a063; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; }
.nts-val-hero__title { margin: 0; font-family: "Bebas Neue", Impact, sans-serif; font-weight: 400; font-size: clamp(3rem, 9vw, 5.5rem); line-height: .9; letter-spacing: .01em; color: #fff; }
.nts-val-hero__text { margin: 1rem 0 0; max-width: 560px; color: #d9d3c7; font-size: 1.05rem; line-height: 1.6; }

.nts-val-wrap { background: #f3eee4; color: #15120f; padding: 0 16px clamp(3rem, 7vw, 5rem); }
.nts-val { max-width: 760px; margin: 0 auto; transform: translateY(-2.2rem); background: #fff; border-radius: 24px; padding: clamp(20px, 4vw, 40px); box-shadow: 0 30px 60px -40px rgba(21, 18, 15, .6); font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; }
.nts-val *, .nts-val *::before, .nts-val *::after { box-sizing: border-box; }
.nts-val__form { display: flex; flex-direction: column; gap: 34px; }
.nts-val__step { display: flex; flex-direction: column; gap: 14px; border: 0; margin: 0; padding: 0; }
.nts-val__h { margin: 0; display: flex; align-items: center; gap: 10px; font-family: "Bebas Neue", Impact, sans-serif; font-weight: 400; font-size: 32px; line-height: 1; color: #15120f; }
.nts-val__n { width: 32px; height: 32px; border-radius: 999px; background: #15120f; color: #e9cf98; font-size: 19px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.nts-val__loading, .nts-val__empty { margin: 0; color: #5c554b; }
.nts-val__days { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.nts-val__day { flex: none; min-width: 92px; min-height: 64px; padding: 8px 10px; border-radius: 14px; border: 1px solid #d8cfbf; background: #fff; color: #15120f; font: 600 14px Montserrat, sans-serif; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; cursor: pointer; }
.nts-val__day small { font-size: 12px; color: #5c554b; font-weight: 500; }
.nts-val__day[aria-checked="true"] { background: #15120f; border: 2px solid #15120f; color: #fff; }
.nts-val__day[aria-checked="true"] small { color: #e9cf98; }
.nts-val__slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; }
.nts-val__slot { min-height: 50px; border-radius: 12px; border: 1px solid #d8cfbf; background: #fff; color: #15120f; font: 600 15px Montserrat, sans-serif; cursor: pointer; }
.nts-val__slot[aria-checked="true"] { background: #c9a063; border-color: #c9a063; color: #000; font-weight: 700; }
.nts-val__field { display: flex; flex-direction: column; gap: 6px; border: 0; margin: 0; padding: 0; min-width: 0; }
.nts-val__field label, .nts-val__field legend { font-size: 14px; font-weight: 600; color: #15120f; padding: 0; }
.nts-val__field legend { margin-bottom: 8px; }
.nts-val__field label span { font-weight: 500; color: #5c554b; }
.nts-val input[type=text], .nts-val input[type=tel], .nts-val input[type=email], .nts-val select, .nts-val textarea {
	width: 100%; min-height: 50px; border: 1px solid #d8cfbf; border-radius: 12px; padding: 0 14px; background: #fff; color: #15120f; font: 500 16px Montserrat, sans-serif;
}
.nts-val textarea { padding: 12px 14px; min-height: 96px; resize: vertical; }
.nts-val input:focus, .nts-val select:focus, .nts-val textarea:focus { outline: none; border-color: #8f6b36; box-shadow: 0 0 0 3px rgba(201, 160, 99, .3); }
.nts-val [aria-invalid="true"] { border-color: #9b2c2c !important; }
.nts-val__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nts-val__radio { min-height: 50px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid #d8cfbf; border-radius: 12px; font-size: 15px; font-weight: 600 !important; cursor: pointer; }
.nts-val__radio input { width: 20px; height: 20px; accent-color: #8f6b36; margin: 0; }
.nts-val__consent { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.5; color: #5c554b; cursor: pointer; }
.nts-val__consent input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: #8f6b36; }
.nts-val__consent a { color: #8f6b36; font-weight: 700; }
.nts-val__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nts-val__submit { display: flex; flex-direction: column; gap: 12px; }
.nts-val__btn { min-height: 58px; border: 0; border-radius: 999px; background: #c9a063; color: #000; font: 700 16px Montserrat, sans-serif; cursor: pointer; padding: 0 24px; }
.nts-val__btn:hover { background: #e9cf98; }
.nts-val__btn:disabled { opacity: .6; cursor: wait; }
.nts-val__note { margin: 0; font-size: 14px; line-height: 1.5; color: #5c554b; }
.nts-val__error { margin: 0; color: #9b2c2c; font-size: 13px; font-weight: 600; }
.nts-val__error:empty { display: none; }
.nts-val__error--form { font-size: 14px; }
.nts-val__done { text-align: left; display: flex; flex-direction: column; gap: 12px; outline: none; }
.nts-val__done p { margin: 0; font-size: 16px; line-height: 1.6; color: #2b2620; }
.nts-val :focus-visible { outline: 3px solid #c9a063; outline-offset: 2px; }
@media (max-width: 480px) { .nts-val { border-radius: 18px; } }
.nts-val [hidden] { display: none !important; }
