/* Calculator, registration, ticket, auth and static pages of the new site design. */

/* ---------- calculators ---------- */
.v-body-calculator #form { padding: 30px; }
.v-body-calculator #form form { padding: 0; background: transparent; }
.v-body-calculator .calc-result { padding-bottom: 2rem; }
.v-body-calculator .calc-result[hidden] { display: none !important; }
.v-body-calculator .result-content .boxes .box { min-height: 130px; padding: 20px 10px; }
.v-body-calculator .result-content .boxes .box p { margin-bottom: .5rem; color: #737373; }
.v-body-calculator .result-content .boxes .box h4 { color: #1BAC20; font-size: 1.15rem; margin: 0; }
.v-body-calculator .result-content .boxes .box.border { border-color: #FFD93D !important; background: #FFFBEA; }
.v-body-calculator .result-content .phases .phase { margin-bottom: 1rem; border-radius: 12px; background: #fff; }
.v-body-calculator .result-content .phases .phase h4 { font-size: 1.1rem; color: #0A0A0A; margin: 0; }
.v-body-calculator .result-content .green-bold { font-weight: bold; color: #1BAC20; }
.v-body-calculator .calc-card { background: #fff; border: 1px solid #e4e4e4; border-radius: 20px; padding: 24px; }
.v-body-calculator .calc-day-box { text-align: center; }
.v-body-calculator .calc-day-box .box { padding: 16px 8px !important; min-height: auto !important; }
.v-body-calculator .calc-day-box .box h4 { font-size: 2rem !important; }
.v-body-calculator .calc-day-box > p { font-weight: 600; margin-top: .5rem; }
.v-body-calculator .calc-hint { color: #737373; font-size: .85rem; }
.v-body-calculator .calc-disclaimer { color: #737373; font-size: .85rem; text-align: center; margin-top: 1rem; }

/* BMI bar: the generated CSS was written for RTL; make it follow the page direction */
.v-body-calculator .bmi-bar .background { background-image: linear-gradient(to right, #3399ff 0, #009933 33%, #ffd633 65%, #d81e05 100%); }
[dir=rtl] .v-body-calculator .bmi-bar .background { background-image: linear-gradient(to left, #3399ff 0, #009933 33%, #ffd633 65%, #d81e05 100%); }
.v-body-calculator .bmi-bar .background .res { transform: translateX(-50%); white-space: nowrap; }
[dir=rtl] .v-body-calculator .bmi-bar .background .res { transform: translateX(50%); }
.v-body-calculator .bmi-bar .background .res:after { margin-left: -5px; }
.v-body-calculator .bmi-bar .col p { font-size: .85rem; }
.v-body-calculator .bmi-bar .col.active p { font-weight: 700; color: #0A0A0A; }

/* calculator cards under each calculator (calculators component) */
.v-calculators #calculators a { color: #0A0A0A; text-decoration: none; }
.v-calculators #calculators .col { min-width: 160px; margin-bottom: 1rem; }

/* ---------- registration forms ---------- */
.reg-page .container-fluid { padding-bottom: 3rem; }
.reg-page .main h4 { margin-top: 1rem; font-size: 1.15rem; font-weight: 700; }
.reg-page .main .divider { border-top: 1px solid #eee; margin: 1.5rem 0 .5rem; }
.reg-page .req { color: #d81e05; }
.reg-checklist { border: 1px solid #dee2e6; border-radius: 8px; background: #FAFAFA; padding: .5rem; }
.reg-checklist .reg-checklist-items { max-height: 220px; overflow-y: auto; padding: .25rem .5rem; }
.reg-checklist .form-check { margin: .25rem 0; }
.reg-checklist .form-check label { margin-top: 0; color: #0A0A0A; }
.reg-checklist .form-check input { margin-top: .3em; background: #fff; }
.reg-checklist .reg-checklist-count { font-size: .85rem; color: #737373; }
.reg-checklist.is-invalid { border-color: #dc3545; }
/* the generated "input { background }" shorthand would wipe Bootstrap's check / radio marks */
.reg-page .form-check-input { background-color: #fff; background-image: var(--bs-form-check-bg-image); background-repeat: no-repeat; background-position: center; background-size: contain; margin-top: .3em; }
.reg-page .form-check-input:checked { background-color: #1BAC20; border-color: #1BAC20; }
.reg-page .form-select { background-color: #FAFAFA; background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); background-repeat: no-repeat; background-position: right .75rem center, center right 2.25rem; background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem); }
[dir=rtl] .reg-page .form-select { background-position: left .75rem center, center left 2.25rem; }
.reg-days .form-check { margin-inline-end: 1rem; }
.reg-days .form-check label, .reg-page .form-check-label { margin-top: 0; }

/* ---------- tickets ---------- */
.tickets-page .item-row > div { margin-bottom: 1rem; }
.tickets-page .ticket-filter { border: 1px solid #e4e4e4; border-radius: 12px; padding: 1rem; background: #fff; }
.tickets-page .ticket-filter h3 { font-size: 1.25rem; font-weight: 600; margin: 0; }
.tickets-page .ticket-filter .filter-heading { display: flex; align-items: center; justify-content: space-between; }
.tickets-page .ticket-filter a.reset { color: #777; font-size: .9rem; text-decoration: none; }
.tickets-page .ticket-cta { background: #FBFFF0; border-radius: 12px; padding: 1.25rem; text-align: center; margin-top: 1rem; }
.tickets-page .search-box { padding: 4px 4px 4px 12px; }
[dir=rtl] .tickets-page .search-box { padding: 4px 12px 4px 4px; }
.tickets-page .search-box input { font-size: 15px !important; }
.tickets-page .search-box button { color: #0A0A0A; }
.tickets-page .search-box i { margin-inline-end: .5rem; }
@media (max-width: 767.98px) { .tickets-page .v-find-tickets-header .heading-box { width: 100%; } }
.ticket-thread .question-card { background-color: #eeeeee33; }
.ticket-thread .answer-box { background: #FBFFF0; border: 1px solid #e3efc9; border-radius: 12px; padding: 1rem 1.25rem; margin-top: 1rem; }
.ticket-thread .answer-box h5 { font-size: 1rem; font-weight: 700; color: #1BAC20; }
.ticket-thread .pending-box { background: #FFF8E1; border-radius: 12px; padding: 1rem 1.25rem; margin-top: 1rem; color: #6b5a00; }
.ticket-thread .ticket-meta { color: #737373; font-size: .9rem; }
.ticket-thread #direct_access { background: #288A8B; color: #fff; padding: 40px; border-radius: 12px; }
.ticket-thread #direct_access img { max-width: 100%; height: auto; }

/* ---------- auth / static ---------- */
.auth-page { background: #FAFAFA; padding: 3rem 0; }
.auth-page .auth-card { background: #fff; border-radius: 20px; padding: 2rem; box-shadow: 4px 8px 40px rgba(198, 198, 198, .2); }
.auth-page .auth-card h1 { font-size: 1.75rem; font-weight: 700; }
.auth-page .auth-card label { color: #737373; }
.auth-page .auth-card .form-control, .auth-page .auth-card .form-select { background: #FAFAFA; }
.auth-page .doctor-fields[hidden] { display: none !important; }
.static-page { padding: 3rem 0; }
.static-page .static-card { background: #fff; border-radius: 20px; padding: 2rem; box-shadow: 4px 8px 40px rgba(198, 198, 198, .2); }
.static-page .terms-block h2 { font-size: 1.2rem; font-weight: 700; margin-top: 1.5rem; }
.static-page .terms-block p { color: #444; line-height: 1.9; }
.static-page .captcha-row img { border-radius: 6px; border: 1px solid #dee2e6; }
