   .doctor-bio-card {
       background-color: #f8f9fa;
   }

   .review-card {
       transition: transform 0.3s ease, box-shadow 0.3s ease;
   }

   .review-card:hover {
       transform: translateY(-3px);
       box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
   }

   .review-text {
       font-size: 1.05rem;
       line-height: 1.6;
   }

   .review-rating i {
       font-size: 1.2rem;
   }

   @media (max-width: 767.98px) {
       .review-card {
           padding: 1.5rem;
       }

       .review-text {
           font-size: 0.95rem;
       }

       .review-rating i {
           font-size: 1rem;
       }
   }


   @media (min-width: 992px) { /* lg */
        .py-lg-8 {
            padding-top: 8em !important;
            padding-bottom: 8em !important;
        }
    }

    
   @media (max-width: 992px) { /* lg */
        .py-lg-8 {
            padding-top: 6em !important;
            padding-bottom: 6em !important;
        }
    }


   .table th,
   .table td {
       padding: 0.5rem;
       vertical-align: top;
       border-top: 0rem solid #edf0f7;
   }

   .doctor-profile-card {
       background: linear-gradient(135deg, rgba(32, 56, 109, 0.08), rgba(32, 56, 109, 0.02)) #ffffff;
       border-radius: 24px;
       padding: 2.5rem 2rem;
       border: 0;
       box-shadow: 0 20px 45px rgba(16, 34, 68, 0.1);
   }

   .doctor-profile-card .doctor-avatar-wrapper {
       position: relative;
       width: 210px;
       height: 210px;
       border-radius: 50%;
       overflow: hidden;
       margin: 0 auto;
       box-shadow: 0 10px 30px rgba(32, 56, 109, 0.25);
       background: #fff;
   }

   .doctor-profile-card .doctor-avatar-wrapper img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   .doctor-status {
       display: inline-flex;
       align-items: center;
       gap: 0.35rem;
       font-size: 0.85rem;
       font-weight: 600;
       padding: 0.4rem 0.9rem;
       border-radius: 999px;
       background: rgba(46, 204, 113, 0.12);
       color: #23854c;
   }

   .doctor-status.offline {
       background: rgba(244, 67, 54, 0.12);
       color: #b71c1c;
   }

   .doctor-meta {
       list-style: none;
       padding: 0;
       margin: 1.5rem 0 0;
       display: grid;
       gap: 0.75rem;
   }

   .doctor-meta li {
       display: flex;
       align-items: flex-start;
       gap: 0.75rem;
       color: #4c5d7a;
       font-size: 0.95rem;
   }

   .doctor-meta i {
       color: #20386d;
       font-size: 1.1rem;
       margin-top: 0.15rem;
   }

   .doctor-price-tag {
       display: inline-flex;
       flex-direction: column;
       align-items: flex-start;
       gap: 0.15rem;
       background: #20386d;
       color: #fff;
       padding: 1rem 1.5rem;
       border-radius: 18px;
       font-weight: 600;
       box-shadow: 0 14px 25px rgba(32, 56, 109, 0.3);
   }

   .doctor-price-tag span {
       font-size: 0.85rem;
       font-weight: 400;
       opacity: 0.85;
   }

   .doctor-profile-card .badge-especialidad {
       background: rgba(32, 56, 109, 0.1);
       color: #20386d;
       font-weight: 600;
       border-radius: 999px;
       padding: 0.45rem 1rem;
       text-transform: uppercase;
       letter-spacing: 0.05em;
       font-size: 0.75rem;
   }

   .doctor-profile-card h1 {
       color: #1a2b4f;
       font-weight: 700;
       font-size: clamp(1.65rem, 2.1vw, 2.25rem);
       margin-bottom: 0.35rem;
   }

   .doctor-profile-card p {
       color: #52617f;
       margin-bottom: 0;
   }

   .doctor-profile-card .doctor-actions {
       display: flex;
       flex-wrap: wrap;
       gap: 0.75rem;
       margin-top: 1.75rem;
   }

   .doctor-profile-card .doctor-actions .btn {
       border-radius: 999px;
       padding: 0.65rem 1.8rem;
       font-weight: 600;
   }

   .doctor-profile-card .doctor-actions .btn-outline-primary {
       border-color: rgba(32, 56, 109, 0.25);
       color: #20386d;
   }

   .doctor-profile-card .doctor-actions .btn-outline-primary:hover {
       background: #20386d;
       color: #fff;
   }

   .doctor-bio-card {
       border-radius: 20px;
       border: 0;
       box-shadow: 0 12px 30px rgba(15, 27, 55, 0.08);
   }

   .doctor-bio-card .nav-tabs .nav-link {
       border: none;
       border-bottom: 2px solid transparent;
       color: #6c7a96;
       font-weight: 600;
       padding: 0.75rem 1rem;
   }

   .doctor-bio-card .nav-tabs .nav-link.active {
       color: #20386d;
       border-bottom-color: #20386d;
       background: transparent;
   }

   .doctor-bio-card .tab-content {
       background: #f8faff;
       border-radius: 16px;
   }

   .doctor-bio-card p {
       color: #314067;
       line-height: 1.7;
       margin-bottom: 0;
   }

   .doctor-sidebar-card {
       border-radius: 18px;
       border: 0;
       box-shadow: 0 10px 24px rgba(23, 41, 78, 0.08);
   }

   .doctor-sidebar-card label {
       font-weight: 600;
       color: #20386d;
       margin-bottom: 0.75rem;
   }

   .doctor-sidebar-card .boton-principal {
       border-radius: 999px;
       font-weight: 600;
   }

   .booking-card {
       border-radius: 20px;
       border: 1px solid rgba(32, 56, 109, 0.1);
       background: #ffffff;
       padding: 1.75rem;
       box-shadow: 0 16px 36px rgba(32, 56, 109, 0.08);
   }

   .booking-card h2 {
       font-weight: 700;
       font-size: 1.35rem;
       color: #1a2b4f;
       margin-bottom: 1rem;
   }

   .booking-help {
       list-style: none;
       padding: 0;
       margin: 0 0 1.5rem;
       display: grid;
       gap: 0.75rem;
   }

   .booking-help li {
       display: flex;
       gap: 0.75rem;
       align-items: center;
       border-radius: 16px;
       background: rgba(32, 56, 109, 0.04);
       color: #405072;
       padding: 0.85rem 1rem;
       font-size: 0.95rem;
   }

   .booking-help .badge-step {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       width: 34px;
       height: 34px;
       border-radius: 50%;
       background: #20386d;
       color: #fff;
       font-weight: 700;
       flex-shrink: 0;
   }

   #horarios {
       width: 100%;
       min-height: 120px;
   }

   .slot-list {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
       gap: 0.75rem;
       width: 100%;
       margin-bottom: 1rem;
   }

   .slot-option {
       border-radius: 12px;
       border: 1px solid rgba(32, 56, 109, 0.15);
       background: #fff;
       padding: 0.6rem 0.75rem;
       font-weight: 600;
       text-align: center;
       color: #20386d;
       transition: all 0.2s ease;
   }

   .slot-option:hover,
   .slot-option:focus {
       transform: translateY(-1px);
       border-color: rgba(201, 24, 76, 0.45);
       color: #C9184C;
       outline: none;
   }

   .slot-option.active {
       background: rgba(201, 24, 76, 0.1);
       border-color: #C9184C;
       color: #C9184C;
   }

   .booking-summary {
       border-radius: 16px;
       border: 1px solid rgba(32, 56, 109, 0.12);
       background: rgba(32, 56, 109, 0.03);
       padding: 1rem;
       display: flex;
       flex-direction: column;
       gap: 0.6rem;
       font-size: 0.95rem;
   }

   .booking-summary strong {
       color: #1a2b4f;
   }

   .booking-summary .summary-price {
       font-size: 1.2rem;
       font-weight: 700;
       color: #20386d;
   }

   .selected-date {
       font-size: 0.9rem;
       color: #405072;
       margin-top: 0.75rem;
   }

   @media (max-width: 991.98px) {
       .doctor-profile-card {
           padding: 2rem 1.5rem;
       }

       .doctor-profile-card .doctor-actions {
           justify-content: center;
       }

       .doctor-profile-card .doctor-price-tag {
           margin: 0 auto;
       }
   }

   @media (max-width: 575.98px) {
       .doctor-profile-card .doctor-avatar-wrapper {
           width: 170px;
           height: 170px;
       }

       .slot-list {
           grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
       }
   }