:root{--em-primary:#004e92;--em-primary-dark:#000428;--em-primary-light:#e8f4fc;--em-primary-mid:#0066b8;--em-gradient:linear-gradient(135deg, #004e92 0%, #000428 100%);--em-gradient-soft:linear-gradient(135deg, rgba(0, 78, 146, 0.08) 0%, rgba(0, 4, 40, 0.04) 100%);--em-radius-sm:8px;--em-radius-md:12px;--em-radius-lg:16px;--em-radius-xl:20px;--em-shadow-sm:0 2px 8px rgba(0, 4, 40, 0.06);--em-shadow-md:0 4px 20px rgba(0, 4, 40, 0.10);--em-shadow-lg:0 8px 32px rgba(0, 4, 40, 0.14);--em-transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);--em-navbar-height:70px}.search-bar2{background:#fff;border-radius:var(--em-radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--em-shadow-md);border:1px solid rgba(0,78,146,.08);margin-top:5rem!important}.search-bar2 .form-control,.search-bar2 .form-select{border-radius:var(--em-radius-sm);border-color:#e2e8f0;padding:.6rem .85rem;font-size:.9rem;transition:border-color var(--em-transition),box-shadow var(--em-transition)}.search-bar2 .form-control:focus,.search-bar2 .form-select:focus{border-color:var(--em-primary);box-shadow:0 0 0 3px rgba(0,78,146,.15)}.search-bar2 .btn-buscar-medicos-filtros{height:42px;font-weight:600;letter-spacing:.02em;box-shadow:0 4px 12px rgba(0,78,146,.3);transition:transform var(--em-transition),box-shadow var(--em-transition)}.day-title,.em-info-row .info-label{text-transform:uppercase;letter-spacing:.03em}.search-bar2 .btn-buscar-medicos-filtros:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,78,146,.4)}.search-results-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;margin-bottom:.5rem;border-bottom:2px solid var(--em-primary-light)}.search-results-header h2{font-size:1.1rem;font-weight:600;color:var(--em-primary-dark);margin:0}.search-results-header .badge-count{background:var(--em-gradient);color:#fff;font-size:.75rem;padding:.35em .75em;border-radius:50px;font-weight:500}.doctor-card{background:#fff;border-radius:var(--em-radius-lg);box-shadow:var(--em-shadow-sm);border:1px solid rgba(0,78,146,.06);overflow:hidden;transition:box-shadow var(--em-transition),transform var(--em-transition)}.doctor-card:hover,.em-doctor-mini-card:hover{box-shadow:var(--em-shadow-md);transform:translateY(-2px)}.doctor-card .doctor-photo{width:100px;height:100px;border:3px solid var(--em-primary-light);box-shadow:var(--em-shadow-sm)}.doctor-card .doctor-name{font-size:1rem;font-weight:600;color:var(--em-primary-dark);line-height:1.3}.doctor-card .doctor-name:hover,.em-step.done .em-step-label{color:var(--em-primary)}.doctor-rating .bi-star,.doctor-rating .bi-star-half{color:#f5a623!important}.location-box{background:var(--em-primary-light);padding:0;border-radius:var(--em-radius-sm);margin-top:8px;border:2px solid transparent;transition:border-color var(--em-transition),background var(--em-transition);overflow:hidden}#scheduleContent .btn-horario-modal,.btn-sacar-cita,.times-container button{background:var(--em-primary-light)!important;color:var(--em-primary-dark)!important}.location-box.active{background:var(--em-gradient);border-color:var(--em-primary)}.location-box .btn-location{background:0 0;color:var(--em-primary-dark);padding:.65rem .85rem;font-size:.82rem;border-radius:var(--em-radius-sm)}.location-box.active .btn-location{background:0 0;color:#fff}.circle-btn:not(.disabled):hover i,.em-contact-icon .bi,.location-box.active .btn-location i.bi{color:#fff!important}.location-box:not(.active) .btn-location i.bi{color:var(--em-primary)!important}.btn-sacar-cita,.times-container button{border:1px solid rgba(0,78,146,.15)!important;border-radius:var(--em-radius-sm)!important;padding:.45rem .5rem!important;font-size:.82rem;font-weight:600;min-width:72px;transition:all var(--em-transition);cursor:pointer}.btn-sacar-cita:hover,.times-container button:hover{background:var(--em-primary)!important;color:#fff!important;border-color:var(--em-primary)!important;transform:scale(1.04)}.day{background:#fafbfc;border-radius:var(--em-radius-md);padding:.75rem .5rem;min-width:90px}.day-title{color:var(--em-primary);font-size:.78rem}.btn-profile,.btn-schedule{background:var(--em-gradient);border-radius:var(--em-radius-sm);padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;transition:opacity var(--em-transition),transform var(--em-transition);display:inline-flex;align-items:center;gap:.35rem}.btn-profile:hover,.btn-schedule:hover{opacity:.92;transform:translateY(-1px);color:#fff}.profile-button{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:0 .5rem}.pagination .page-link{border-radius:var(--em-radius-sm)!important;border-color:rgba(0,78,146,.2);color:var(--em-primary)}.pagination .page-link:hover{background:var(--em-primary-light);border-color:var(--em-primary)}#mapa{border-radius:var(--em-radius-lg) 0 0 var(--em-radius-lg);overflow:hidden}.perfil_medico{margin-top:6rem!important}.perfil-sidebar-card{border:none;border-radius:var(--em-radius-xl);box-shadow:var(--em-shadow-md);overflow:hidden;position:sticky;top:90px}.em-input-icon-wrap,.em-step,.em-step-circle{position:relative}.perfil-sidebar-card .sidebar-header{background:var(--em-gradient);padding:1.75rem 1.25rem 1.25rem;text-align:center;color:#fff}.perfil-sidebar-card .sidebar-header .doctor-photo,.perfil-sidebar-card .sidebar-header .profile-photo{width:110px;height:110px;border:4px solid rgba(255,255,255,.85);box-shadow:0 4px 16px rgba(0,0,0,.2);margin-bottom:.75rem}.perfil-sidebar-card .sidebar-header .doctor-name,.perfil-sidebar-card .sidebar-header h1,.perfil-sidebar-card .sidebar-header h3{color:#fff;font-size:1.15rem;margin-bottom:.25rem}.perfil-sidebar-card .sidebar-header p{color:rgba(255,255,255,.85);font-size:.85rem;margin:0}.perfil-sidebar-card .sidebar-body{padding:1.25rem}.perfil-sidebar-card .sidebar-body .label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.perfil-sidebar-card .btn-agendar-sidebar{background:var(--em-gradient);border:none;border-radius:var(--em-radius-sm);font-weight:600;padding:.7rem;transition:opacity var(--em-transition)}.perfil-sidebar-card .btn-agendar-sidebar:hover{opacity:.9}.em-tabs{border:none;gap:.35rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.em-tabs::-webkit-scrollbar{display:none}.em-tabs .nav-link{border:none;border-radius:50px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:500;color:#64748b;white-space:nowrap;background:#f1f5f9;transition:all var(--em-transition)}.clinic-info h4,.em-chip,.profile-section h3{color:var(--em-primary-dark)}.em-tabs .nav-link:hover{background:var(--em-primary-light);color:var(--em-primary)}.em-tabs .nav-link.active{background:var(--em-gradient);color:#fff!important}.em-tabs .nav-link i{margin-right:.3rem}.em-content-card{border:none;border-radius:var(--em-radius-xl);box-shadow:var(--em-shadow-md)}.em-content-card .card-body{padding:1.5rem}.clinic-info{padding:1.25rem;border-radius:var(--em-radius-md);background:var(--em-gradient-soft);margin-bottom:1rem;border:1px solid rgba(0,78,146,.08)}.clinic-info h4{font-weight:600;font-size:1rem}.clinic-info h4 i{color:var(--em-primary);margin-right:.4rem}.profile-section h3{font-size:1.05rem;font-weight:600;border-bottom:2px solid var(--em-primary-light);padding-bottom:.5rem}.em-chip{display:inline-block;background:var(--em-primary-light);padding:.35rem .85rem;border-radius:50px;font-size:.82rem;font-weight:500;margin:.25rem;border:1px solid rgba(0,78,146,.12)}.opinion-card{background:#fafbfc;border-radius:var(--em-radius-md);padding:1rem 1.25rem;border-left:3px solid var(--em-primary);margin-bottom:1rem}#gallery .img-thumbnail{border-radius:var(--em-radius-sm);border:2px solid var(--em-primary-light);transition:transform var(--em-transition)}#gallery .gallery-item:hover .img-thumbnail{transform:scale(1.08)}.em-doctor-mini-card{border:none;border-radius:var(--em-radius-md);box-shadow:var(--em-shadow-sm);overflow:hidden;transition:box-shadow var(--em-transition),transform var(--em-transition);height:100%}.em-doctor-mini-card .doctor-photo{width:80px;height:80px;margin:1rem auto 0;border:3px solid var(--em-primary-light);object-fit:cover;object-position:center top;background:#f1f5f9}.em-doctor-mini-card .card-body{text-align:center;padding:1rem}.em-doctor-mini-card .card-title{font-size:.95rem;font-weight:600;color:var(--em-primary-dark)}.em-doctor-mini-card .btn-primary{border-radius:50px;font-size:.82rem;padding:.4rem 1.2rem}.em-social-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.em-social-links .btn{border-radius:50px;font-size:.8rem;padding:.35rem .85rem}.em-contact-section{background:var(--em-gradient-soft)}.em-contact-card{background:#fff;border-radius:var(--em-radius-xl);box-shadow:var(--em-shadow-lg);border:1px solid rgba(0,78,146,.08);overflow:hidden}.em-contact-header{background:var(--em-gradient);color:#fff;padding:2rem 1.5rem 1.75rem}.em-contact-icon{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff}.em-contact-header h2{font-size:1.5rem;font-weight:600;color:#fff}.em-contact-header p{font-size:.92rem;opacity:.9;max-width:420px;margin-left:auto;margin-right:auto}.em-contact-body{padding:1.75rem 1.5rem 2rem}.em-form-label{font-size:.85rem;font-weight:600;color:var(--em-primary-dark);margin-bottom:.35rem}.em-input-icon-wrap>i{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--em-primary);font-size:1rem;pointer-events:none}.em-contact-body .em-textarea,.em-input-icon-wrap .form-control{border-radius:var(--em-radius-sm);border-color:#e2e8f0;padding:.65rem .9rem;font-size:.9rem;transition:border-color var(--em-transition),box-shadow var(--em-transition)}.em-input-icon-wrap .form-control{padding-left:2.5rem}.cita-form-panel .form-control:focus,.em-contact-body .em-textarea:focus,.em-input-icon-wrap .form-control:focus{border-color:var(--em-primary);box-shadow:0 0 0 3px rgba(0,78,146,.12)}.em-contact-body .php-email-form .error-message,.em-contact-body .php-email-form .loading,.em-contact-body .php-email-form .sent-message{border-radius:var(--em-radius-sm);margin-bottom:.75rem}.em-contact-submit{min-width:200px;font-weight:600;box-shadow:0 4px 14px rgba(0,78,146,.28);transition:transform var(--em-transition),box-shadow var(--em-transition)}.em-contact-submit:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,78,146,.35)}.em-info-row{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;border-bottom:1px solid #f1f5f9}.em-info-row:last-child{border-bottom:none}.em-info-row i{color:var(--em-primary);font-size:1.1rem;margin-top:.15rem;flex-shrink:0}.em-info-row .info-label{font-size:.75rem;color:#94a3b8}.em-info-row .info-value{font-size:.9rem;color:var(--em-primary-dark);font-weight:500}.em-map-frame{border-radius:var(--em-radius-md);overflow:hidden;border:1px solid rgba(0,78,146,.1)}.cita-flow-wrapper{max-width:900px;margin:0 auto}.cita-flow-card{border:none;border-radius:var(--em-radius-xl);box-shadow:var(--em-shadow-lg);overflow:hidden}.cita-summary-panel{background:var(--em-gradient);color:#fff;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%}.cita-summary-panel .doctor-photo{width:100px;height:100px;border:4px solid rgba(255,255,255,.8);box-shadow:0 4px 16px rgba(0,0,0,.2)}.cita-summary-panel h5{color:#fff;font-weight:700;margin-top:.75rem}.cita-summary-panel .cita-consultorio{color:rgba(255,255,255,.92);font-weight:600;text-align:center;width:100%}.cita-summary-panel .cita-consultorio i,.cita-summary-panel .cita-detail i{color:rgba(255,255,255,.9)!important;margin-right:.35rem}.cita-summary-panel .cita-detail{background:rgba(255,255,255,.12);border-radius:var(--em-radius-md);padding:.75rem 1.25rem;margin-top:.5rem;width:100%;text-align:center;backdrop-filter:blur(4px)}.cita-summary-panel hr{border-color:rgba(255,255,255,.2);width:80%}.cita-summary-panel .text-muted{color:rgba(255,255,255,.7)!important}.cita-form-panel{padding:2rem 1.75rem}.cita-form-panel .form-label{font-size:.82rem;font-weight:600;color:#475569;margin-bottom:.35rem}.cita-form-panel .form-control,.cita-form-panel .form-select{border-radius:var(--em-radius-sm);border-color:#e2e8f0;padding:.6rem .85rem}.em-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:1.75rem;padding:0 1rem}.em-step{display:flex;flex-direction:column;align-items:center;flex:1;max-width:120px}.em-step:not(:last-child)::after{content:'';position:absolute;top:16px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:#e2e8f0;z-index:0}.circle-btn:not(.disabled):hover,.em-step.active:not(:last-child)::after,.em-step.done:not(:last-child)::after{background:var(--em-primary)}.em-step-circle{width:34px;height:34px;border-radius:50%;background:#e2e8f0;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;z-index:1;transition:all var(--em-transition)}.em-step.active .em-step-circle{background:var(--em-gradient);color:#fff;box-shadow:0 3px 10px rgba(0,78,146,.35)}.em-step.done .em-step-circle{background:var(--em-primary);color:#fff}.em-step-label{font-size:.72rem;color:#94a3b8;margin-top:.4rem;text-align:center;font-weight:500}.em-step.active .em-step-label{color:var(--em-primary-dark);font-weight:600}.cita-form-panel .alert{border-radius:var(--em-radius-md);border:none}#temporizador,#temporizadorColas{border-radius:var(--em-radius-md);border:none;background:linear-gradient(135deg,#fff8e1,#fff3cd);color:#856404}.cita-form-panel .btn-success{background:var(--em-gradient)!important;border:none!important;border-radius:var(--em-radius-sm);font-weight:600;padding:.65rem;box-shadow:0 4px 12px rgba(0,78,146,.25)}.cita-form-panel .btn-success:hover{opacity:.92}.cita-form-panel .btn-outline-secondary{border-radius:var(--em-radius-sm)}.cuerpo_medico_vacio{background:var(--em-gradient-soft);border:1px dashed rgba(0,78,146,.2)!important}.search-results-body{width:100%}#scheduleContent .btn-horario-modal{border-color:rgba(0,78,146,.15)!important;border-radius:var(--em-radius-sm)!important;font-weight:600;transition:all var(--em-transition)}#scheduleContent .btn-horario-modal:hover{background:var(--em-primary)!important;color:#fff!important}.circle-btn{width:36px;height:36px;border-radius:50%;background:var(--em-primary-light);border:1px solid rgba(0,78,146,.15);flex-shrink:0}@media (max-width:768px){.perfil-sidebar-card{position:static;margin-top:15px}.perfil_medico{margin-top:5rem!important}.cita-summary-panel{padding:1.5rem 1rem}.cita-form-panel{padding:1.25rem 1rem}.em-tabs .nav-link{padding:.45rem .85rem;font-size:.78rem}.profile-button{justify-content:center}.btn-profile,.btn-schedule{flex:1;justify-content:center;text-align:center}.clinic-info{padding:1rem .75rem}.schedule .days{gap:8px}.day{min-width:80px;padding:.5rem .35rem}.btn-sacar-cita,.times-container button{min-width:64px;font-size:.78rem;padding:.4rem .35rem!important}.cuerpo_medico_vacio{margin-top:0!important}}@media (max-width:568px){.cuerpo_medico_vacio,.search-results-col,.search-results-inner{margin-top:0!important}.search-results-inner{padding-top:0!important}.search-mobile-stack{position:fixed;top:var(--em-navbar-height);left:0;right:0;z-index:1000;padding:.5rem .5rem .35rem;background:linear-gradient(180deg,#f8f9fa 88%,rgba(248,249,250,0));box-shadow:0 4px 12px rgba(0,4,40,.06)}.search-mobile-stack .search-bar2{position:static;margin:0!important;padding:.85rem;border-radius:var(--em-radius-md);max-width:100%}.search-mobile-stack .search-bar2.mb-4{margin-bottom:0!important}.search-mobile-stack .search-bar2.container{padding-left:.85rem;padding-right:.85rem}.search-mobile-stack .search-results-header{position:static;margin-bottom:0;padding:.35rem .25rem .5rem;border-bottom:none}#mapa,.search-results-body .cuerpo_medico_vacio{margin:0 .5rem}.medics,.medics2,.search-results-body{margin-top:0!important;padding-top:var(--em-search-stack-height,0)}.search-results-body .cuerpo_medico_vacio h4{font-size:1rem;line-height:1.4}.em-contact-header{padding:1.5rem 1.25rem 1.25rem}.em-contact-body{padding:1.25rem 1rem 1.5rem}.em-contact-submit{width:100%;min-width:0}.search-bar2 .form-control,.search-bar2 .form-select{font-size:.82rem}.search-bar2 #buscador::placeholder{font-size:.75rem}.em-steps{gap:0}.em-step-label{font-size:.65rem}#mapa{height:50vh!important;min-height:300px;border-radius:var(--em-radius-lg)}.mapa_padre{position:relative;margin-top:1rem}}@media (min-width:992px){.doctor-card>.col-xl-5{border-right:1px solid #f1f5f9}}