.doctors-section{padding-block:var(--space-xl)}.doctors-section__title{font-size:var(--fs-h2);font-weight:400;line-height:1.15}.doctors-section__subtitle{color:var(--color-text-body);font-size:var(--fs-body)}.doctor-card{background-color:var(--color-surface);--bs-card-border-color:var(--color-border);--bs-card-border-radius:var(--radius-md);--bs-card-inner-border-radius:var(--radius-sm);--bs-card-spacer-y:var(--space-sm);--bs-card-spacer-x:var(--space-sm)}.doctor-card__photo-wrap{aspect-ratio:4/3;overflow:hidden;position:relative}.doctor-card__photo-wrap .card-img-top{height:100%;object-fit:cover;object-position:top center;width:100%}.doctor-card__more-btn{align-items:center;backdrop-filter:blur(2px);background-color:#fff;border:none;border-radius:var(--radius-pill);bottom:var(--space-xs);bottom:10px;color:#000;cursor:pointer;display:inline-flex;font-size:18px;font-weight:400;gap:5px;padding:8px 15px;position:absolute;right:10px;white-space:nowrap}.doctor-card__more-btn .plus-icon{background-color:#fc92c5;border-radius:50%;color:#fff;height:20px;line-height:20px;text-align:center;width:20px}.doctor-card__name,.doctor-modal__name{font-size:var(--fs-h3);margin-bottom:2px}.doctor-card__specialty{color:var(--color-text-muted)}.doctor-modal .modal-content{border:none;border-radius:16px;position:relative}.doctor-modal__close{align-items:center;background:var(--color-brand);border:3px solid #fff;border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;display:flex;height:34px;justify-content:center;position:absolute;right:-12px;top:-12px;width:34px;z-index:10}.doctor-modal__close svg{height:14px;width:14px}.doctor-modal__header{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.doctor-modal__avatar{border-radius:50%;flex-shrink:0;height:64px;object-fit:cover;width:64px}.doctor-modal__cedula,.doctor-modal__role{font-size:var(--fs-small)}.doctor-modal__cedula{margin-bottom:var(--space-md)}.doctor-modal__section-title{font-family:var(--font-body);font-size:var(--fs-body);font-weight:700;margin-bottom:var(--space-2xs);margin-top:var(--space-md)}.doctor-modal__section-title:first-of-type{margin-top:0}.doctor-modal__text{line-height:1.55}.doctor-modal__credentials,.doctor-modal__text{font-size:var(--fs-small)}.btn-doctor{padding:12px 20px;--bs-btn-bg:var(--color-secondary);--bs-btn-border-color:var(--color-secondary);--bs-btn-hover-bg:var(--color-brand-hover);--bs-btn-hover-border-color:var(--color-brand-hover);--bs-btn-active-bg:var(--color-brand-hover);--bs-btn-active-border-color:var(--color-brand-hover);--bs-btn-color:var(--color-text);--bs-btn-hover-color:var(--color-brand-contrast);--bs-btn-active-color:var(--color-brand-contrast);--bs-btn-font-size:var(--fs-small);--bs-btn-border-radius:var(--radius-pill);--bs-btn-focus-box-shadow:0 0 0 0.2rem rgba(124,31,46,.35)}.btn-doctor:hover{background-color:#ebef6f!important;border:0;color:#000!important}.btn-doctor .cta-icon{flex-shrink:0;height:18px;width:18px}.is-hidden{display:none!important}#appointment-type{padding:0 15px}#appointment-type-step{align-items:center;background-color:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-sm);margin:0 auto;max-width:420px;padding:30px}.appointment-type__photo{border:3px solid var(--color-accent);border-radius:50%;height:128px;object-fit:cover;padding:3px;width:128px}.appointment-type__title{font-family:var(--font-heading-serif);font-size:var(--fs-h3);text-align:center}.appointment-type__btn--outline{background:transparent;border:1.5px solid var(--color-secondary);color:var(--color-text);font-size:16px;padding:12px 20px;transition:background-color .2s ease}.appointment-type__btn--outline:hover{background:var(--color-secondary)}.appointment-type__back{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--fs-small);gap:.4rem;margin-top:var(--space-2xs)}.appointment-type__back:before{content:"←"}#appointment-login-form,#appointment-register-form{display:flex;flex-direction:column;gap:var(--space-2xs);margin:auto}#appointment-login-form{max-width:500px}.appointment-register__phone{align-items:center;display:flex;gap:var(--space-2xs)}.appointment-register__phone-prefix{color:var(--color-text-muted);font-size:var(--fs-small);white-space:nowrap}.appointment-register__login-hint{font-size:var(--fs-small);margin:15px 0}.appointment-login__error{color:#c62828;font-size:var(--fs-small);margin-block:var(--space-2xs) var(--space-sm)}.appointment-slots__status{color:var(--color-text-muted);font-size:var(--fs-small)}.appointment-slots__status--error{color:#c62828}.appointment-slots__layout{display:flex;flex-wrap:wrap;gap:var(--space-md)}.appointment-slots__calendar-panel,.appointment-slots__service-panel,.appointment-slots__times-panel{flex:1 1 280px;padding:var(--space-md)}.appointment-slots__service-panel,.appointment-slots__times-panel{background:#e8e3d9}.appointment-slots__service-title{font-family:var(--font-heading-serif);font-size:var(--fs-h4);margin-bottom:var(--space-md);text-align:center}.appointment-slots__service-price{color:var(--color-accent);font-size:var(--fs-h4);font-weight:700;margin:0 calc(var(--space-md)*-1) var(--space-md);padding:var(--space-xs) 0;text-align:center}.appointment-slots__service-description{color:var(--color-text-muted);font-size:var(--fs-small);margin-bottom:var(--space-md);text-align:center}.appointment-slots__service-includes-label{font-weight:700;margin-bottom:var(--space-xs)}.appointment-slots__service-features{margin:0 0 var(--space-md)}.appointment-slots__service-features li{font-size:var(--fs-small);margin-bottom:var(--space-sm)}.appointment-slots__change-doctor-btn{background:transparent;border:1px solid var(--color-text);border-radius:8px;color:var(--color-text);cursor:pointer;padding:.7rem 1rem}.appointment-slots__calendar-panel{background:#faf9f7;color:var(--color-text);text-align:center}.appointment-slots__calendar-brand{align-items:center;background:var(--color-brand);border-radius:50%;color:#fff;display:flex;font-weight:700;height:56px;justify-content:center;margin:0 auto var(--space-md);width:56px}.appointment-slots__calendar-heading{font-family:var(--font-heading-serif);font-size:var(--fs-h4);margin-bottom:var(--space-lg,var(--space-md))}.appointment-slots__calendar-nav{align-items:center;display:flex;font-weight:700;gap:var(--space-sm);justify-content:center;margin:15px 0}.appointment-slots__calendar-nav-btn{background:none;border:none;color:var(--color-text);cursor:pointer;font-size:var(--fs-body);line-height:1}.appointment-slots__calendar-weekdays{color:var(--color-text-muted);display:grid;font-size:var(--fs-small);grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-sm)}.appointment-slots__calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.appointment-slots__calendar-day{aspect-ratio:1;background:transparent;border:none;border-radius:50%;color:var(--color-text-muted);cursor:default;font-size:var(--fs-small);opacity:.5}.appointment-slots__calendar-day--empty{visibility:hidden}.appointment-slots__calendar-day.has-slots{border:1px solid var(--color-text);color:var(--color-text);cursor:pointer;opacity:1}.appointment-slots__calendar-day.has-slots.is-selected{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.appointment-slots__times-price{font-weight:700;margin-bottom:var(--space-2xs)}.appointment-slots__times-hint,.appointment-slots__times-note,.appointment-slots__times-selected-day{color:var(--color-text-muted);font-size:var(--fs-small);margin-bottom:var(--space-2xs)}.appointment-slots__times-duration-label,.appointment-slots__times-question{font-weight:700;margin-bottom:var(--space-2xs);margin-top:var(--space-md)}.appointment-slots__times-list{display:flex;flex-direction:column;gap:var(--space-sm);margin:var(--space-md) 0}.appointment-slot{background:var(--color-tertiary);border:none;cursor:pointer;font-size:var(--fs-small);font-weight:600;margin:5px 0;padding:.8rem;text-align:center}.appointment-slot.is-selected{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-brand-contrast)}.appointment-slots__times-pagination{display:flex;gap:var(--space-sm);justify-content:space-between}.appointment-slots__pagination-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;flex:1;font-size:16px;padding:.6rem 1rem}.appointment-slots__pagination-btn:disabled{cursor:not-allowed;opacity:.4}.appointment-payment__summary{margin:auto;max-width:500px}.appointment-payment__summary-row{border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-sm);justify-content:space-between;padding:12px 0}.appointment-payment__summary-row dt{color:var(--color-text-muted);font-size:var(--fs-small)}.appointment-payment__summary-row dd{font-size:var(--fs-small);font-weight:600;margin:0;text-align:right}#appointment-coupon-form{display:flex;flex-direction:column;gap:var(--space-2xs);margin:auto;max-width:500px}#payment-element{margin:auto;margin-bottom:var(--space-sm);max-width:500px}#appointment-confirmation-step{margin:0 auto;max-width:500px;text-align:center}.appointment-confirmation__icon{align-items:center;background:#dcf2e1;border-radius:50%;color:#2f9e52;display:flex;height:88px;justify-content:center;margin:0 auto var(--space-sm);width:88px}.appointment-confirmation__icon svg{height:38px;width:38px}.appointment-confirmation__title{font-size:var(--fs-h2);font-weight:700;margin-bottom:var(--space-xs)}.appointment-confirmation__subtitle{color:var(--color-text-muted);margin-bottom:var(--space-md)}.appointment-confirmation__service{align-items:center;display:flex;font-weight:600;gap:var(--space-2xs);margin-bottom:var(--space-sm);text-align:left}.appointment-confirmation__service svg{flex-shrink:0;height:20px;width:20px}.appointment-confirmation__details{background:var(--color-natural-gray,#f2f2f2);display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-sm);padding:var(--space-sm);text-align:left}.appointment-confirmation__label{color:var(--color-text-muted);font-size:var(--fs-small);margin-bottom:2px;text-transform:uppercase}.appointment-confirmation__value{font-weight:700}.appointment-confirmation__email{align-items:flex-start;border:1px solid var(--color-border);display:flex;gap:var(--space-2xs);margin-bottom:var(--space-md);padding:var(--space-sm);text-align:left}.appointment-confirmation__email svg{color:#2f6fed;flex-shrink:0;height:22px;margin-top:2px;width:22px}.appointment-confirmation__email-title{font-weight:700;margin-bottom:2px}.appointment-confirmation__email-text{color:var(--color-text-muted);font-size:var(--fs-small)}.appointment-confirmation__btn{border:1px solid #2b2118;border-radius:var(--radius-pill);cursor:pointer;display:block;font-size:var(--fs-small);font-weight:700;margin-bottom:var(--space-2xs);padding:12px;text-transform:uppercase;width:100%}.appointment-confirmation__btn--primary{background:#2b2118;color:#fff}.appointment-confirmation__btn--outline{background:transparent;color:#2b2118}.form label{color:var(--color-text);font-size:14px;font-weight:700;margin-bottom:5px}.form fieldset{margin:0 0 15px}.form input{border:1px solid;border-radius:8px;color:#24272b;font-size:16px;height:48px;padding:0 10px;width:100%!important}.form button[type=submit]{background-color:#e0e621!important;border-color:#e0e621!important;border:0;border-radius:999px;color:#000!important;font-size:18px;line-height:130%;margin-top:10px;padding:12px 20px!important;position:relative}.btn-filter-active{background-color:var(--color-accent)!important;color:#fff!important}