  .service-hero {
   background: linear-gradient(135deg, var(--primary-color, #2c7da0), var(--secondary-color, #2d6a4f));
   color: white;
   padding: 100px 0 60px;
   margin-top: 40px;
   position: relative;
   overflow: hidden;
  }
  
  .service-hero::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.1)" fill-opacity="1" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,154.7C960,171,1056,181,1152,165.3C1248,149,1344,107,1392,85.3L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom;
   background-size: cover;
   opacity: 0.2;
  }
  
  .service-hero .container {
   position: relative;
   z-index: 1;
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
  }
  
  .breadcrumb {
   margin-bottom: 1rem;
   font-size: 0.9rem;
  }
  
  .breadcrumb a {
   color: rgba(255,255,255,0.8);
   text-decoration: none;
  }
  
  .breadcrumb a:hover {
   color: white;
  }
  
  .service-icon-large {
   margin-bottom: 1rem;
  }
  
  .service-icon-large img {
   width: 80px;
   height: 80px;
   object-fit: contain;
  }
  
  .service-title {
   font-size: 3rem;
   margin-bottom: 1rem;
   color: white;
  }
  
  .service-subtitle {
   font-size: 1.2rem;
   opacity: 0.95;
   max-width: 800px;
  }
  
  .service-content {
   padding: 60px 0;
   background: #f8f9fa;
  }
  
  .service-content .container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
  }
  
  .service-main {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 3rem;
   margin-bottom: 3rem;
  }
  
  .service-image img {
   width: 100%;
   border-radius: 1rem;
   box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
  }
  
  .service-info h2,
  .doctors-section h2,
  .hours-section h2,
  .services-section h2 {
   color: #2c7da0;
   margin-bottom: 1.5rem;
  }
  
  .service-description {
   line-height: 1.8;
   margin-bottom: 1.5rem;
  }
  
  .doctors-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
   gap: 2rem;
   margin-bottom: 3rem;
  }
  
  .doctor-card-detailed {
   background: white;
   border-radius: 1rem;
   overflow: hidden;
   box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
   transition: transform 0.3s;
   max-width: 380px;
  }
  
  .doctor-card-detailed:hover {
   transform: translateY(-5px);
  }
  
  .doctor-info {
   padding: 1.5rem;
  }
  
  .doctor-name {
   font-size: 1.3rem;
   margin-bottom: 0.5rem;
   color: #2c3e50;
  }
  
  .doctor-title {
   color: #2c7da0;
   font-weight: 600;
   margin-bottom: 0.5rem;
  }
  
  .doctor-specialization {
   color: #6c757d;
   font-size: 0.9rem;
   margin-bottom: 0.5rem;
  }
  
  .doctor-description {
   color: #495057;
   font-size: 0.9rem;
   line-height: 1.5;
   margin-top: 1rem;
  }
  
  .hours-table {
   background: white;
   border-radius: 1rem;
   overflow: hidden;
   box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
   margin-bottom: 3rem;
  }
  
  .hours-row {
   display: grid;
   grid-template-columns: 150px 1fr;
   padding: 1rem 1.5rem;
   border-bottom: 1px solid #e9ecef;
   align-items: center;
  }
  
  .hours-row:last-child {
   border-bottom: none;
  }
  
  .hours-day {
   font-weight: 700;
   color: #2c3e50;
   font-size: 1rem;
  }
  
  .hours-time {
   color: #495057;
   display: flex;
   flex-wrap: wrap;
   gap: 0.5rem;
   align-items: center;
  }
  
  .orario-slot {
   display: inline-block;
   background: #f8f9fa;
   padding: 0.25rem 0.75rem;
   border-radius: 20px;
   font-size: 0.9rem;
  }
  
  .orario-slot small {
   font-size: 0.7rem;
   color: #6c757d;
  }
  
  .orario-separator {
   color: #dee2e6;
  }
  
  .services-list {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap: 1rem;
   margin-bottom: 2rem;
  }
  
  .service-item {
   background: white;
   padding: 1rem;
   border-radius: 0.5rem;
   display: flex;
   align-items: center;
   gap: 0.75rem;
   transition: all 0.3s;
  }
  
  .service-item:hover {
   transform: translateX(5px);
   box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
  }
  
  .service-icon-check {
   color: #28a745;
   font-weight: bold;
   font-size: 1.2rem;
  }
  
  .booking-card {
   background: linear-gradient(135deg, #2c7da0, #2d6a4f);
   color: white;
   padding: 2rem;
   border-radius: 1rem;
   text-align: center;
   margin-top: 2rem;
  }
  
  .booking-card h3 {
   color: white;
   margin-bottom: 1rem;
  }
  
  .btn-booking {
   display: inline-block;
   background: white;
   color: #2c7da0;
   padding: 1rem 2rem;
   border-radius: 50px;
   text-decoration: none;
   font-weight: 600;
   margin-top: 1rem;
   transition: all 0.3s;
  }
  
  .btn-booking:hover {
   transform: scale(1.05);
   box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
  }
  
  .alert {
   padding: 15px;
   border-radius: 5px;
   margin-bottom: 20px;
  }
  
  .alert-error {
   background: #f8d7da;
   color: #721c24;
   border: 1px solid #f5c6cb;
  }
  
  @media (max-width: 768px) {
   .service-main {
       grid-template-columns: 1fr;
       gap: 2rem;
   }
   
   .service-title {
       font-size: 2rem;
   }
   
   .service-hero {
       padding: 100px 0 40px;
   }
   
   .hours-row {
       grid-template-columns: 1fr;
       gap: 0.5rem;
       padding: 1rem;
   }
   
   .hours-day {
       font-weight: 700;
       padding-bottom: 0.25rem;
       border-bottom: 2px solid #2c7da0;
       display: inline-block;
   }
   
   .hours-time {
       flex-direction: column;
       align-items: flex-start;
   }
   
   .orario-separator {
       display: none;
   }
   
   .orario-slot {
       width: 100%;
   }
  }
  
          /* Popup Dettagli Prestazione */
        .prestazione-popup {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.6);
            z-index: 2000;
            justify-content: center;
            align-items: center;
        }
        
        .prestazione-popup.active {
            display: flex;
        }
        
        .prestazione-popup .popup-content {
            background: white;
            width: 90%;
            max-width: 550px;
            max-height: 85vh;
            overflow-y: auto;
            border-radius: 20px;
            padding: 30px;
            animation: popupSlideIn 0.3s ease;
            box-shadow: 0 20px 40px rgba(0,0,0,0.3);
        }
        
        @keyframes popupSlideIn {
            from {
                opacity: 0;
                transform: translateY(-30px) scale(0.95);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }
        
        .prestazione-popup .popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 2px solid #e9ecef;
        }
        
        .prestazione-popup .popup-header h3 {
            color: #2c7da0;
            font-size: 1.2rem;
            margin: 0;
        }
        
        .prestazione-popup .popup-close {
            background: none;
            border: none;
            font-size: 28px;
            cursor: pointer;
            color: #6c757d;
            transition: transform 0.3s;
        }
        
        .prestazione-popup .popup-close:hover {
            transform: rotate(90deg);
        }
        
        .prestazione-popup .popup-body {
            padding: 5px 0;
        }
        
        .prestazione-popup .popup-info-item {
            margin-bottom: 18px;
        }
        
        .prestazione-popup .popup-info-item .label {
            font-size: 0.75rem;
            color: #6c757d;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-weight: 600;
            display: block;
            margin-bottom: 4px;
        }
        
        .prestazione-popup .popup-info-item .value {
            font-size: 1rem;
            color: #2c3e50;
            line-height: 1.5;
        }
        
        .prestazione-popup .popup-info-item .value .durata {
            font-weight: 700;
            color: #2c7da0;
        }
        
        .prestazione-popup .popup-info-item .value .prezzo {
            font-weight: 700;
            color: #28a745;
        }
        
        .prestazione-popup .popup-footer {
            margin-top: 20px;
            padding-top: 15px;
            border-top: 1px solid #e9ecef;
            text-align: center;
        }
        
        .prestazione-popup .btn-prenota-popup {
            display: inline-block;
            background: #2c7da0;
            color: white;
            padding: 10px 30px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s;
        }
        
        .prestazione-popup .btn-prenota-popup:hover {
            background: #1f5068;
            transform: scale(1.02);
        }
        
        .service-item {
            cursor: pointer;
            transition: all 0.3s;
        }
        
        .service-item:hover {
            transform: translateX(5px);
            box-shadow: 0 2px 10px rgba(0,0,0,0.08);
        }
        
        .service-item .click-hint {
            font-size: 0.7rem;
            color: #6c757d;
            margin-left: 8px;
            opacity: 0.6;
        }
        
        .service-item:hover .click-hint {
            opacity: 1;
        }
        
        @media (max-width: 768px) {
            .prestazione-popup .popup-content {
                padding: 20px;
                width: 95%;
            }
        }
