 body {
     font-family: 'Inter', sans-serif;
     line-height: 1.6;
 }

 p {
     padding-bottom: 0px;
 }

 .gradient-bg {
     background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
     position: relative;
     overflow: hidden;
 }

 /* Breadcrumb sticky come autobus-salerno-roma */
 #breadcrumb-nav {
     position: sticky;
     top: 80px;
     z-index: 9998;
     width: 100%;
     margin-top: 0;
 }

 #breadcrumb-nav.hidden {
     opacity: 0;
     transform: translateY(-100%);
     pointer-events: none;
 }

 @media (max-width: 768px) {
     #breadcrumb-nav {
         padding: 0.5rem 0;
         top: 80px;
     }

     #breadcrumb-nav ol {
         font-size: 0.85rem;
         padding: 0 1rem;
     }
 }

 .bus-card {
     background: white;
     border-radius: 16px;
     overflow: hidden;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
     transition: all 0.3s ease;
     border: 1px solid rgba(0, 0, 0, 0.05);
 }

 .bus-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
 }

 .bus-image {
     width: 100%;
     height: 250px;
     object-fit: cover;
     transition: transform 0.3s ease;
 }

 .bus-card:hover .bus-image {
     transform: scale(1.05);
 }

 .euro-badge {
     background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
     color: #fff;
     padding: 0.35rem 0.75rem;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 0.9rem;
     border: 1px solid rgba(255, 255, 255, 0.4);
 }

 .fleet-tag {
     background: rgba(255, 255, 255, 0.92);
     color: #0f172a;
     padding: 0.4rem 0.85rem;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 0.9rem;
     border: 1px solid #e2e8f0;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
 }

 .spec-tile {
     background: #f8fafc;
     border: 1px solid #e2e8f0;
     border-radius: 12px;
     padding: 0.75rem;
     text-align: center;
 }

 .spec-label {
     color: #0f172a;
     font-weight: 600;
     font-size: 0.8rem;
 }

 .feature-badge {
     background: linear-gradient(135deg, #3B82F6 0%, #1E40AF 100%);
     color: white;
     padding: 0.25rem 0.75rem;
     border-radius: 20px;
     font-size: 0.75rem;
     font-weight: 600;
     display: inline-block;
     margin: 0.25rem;
 }

 .euro-badge {
     background: linear-gradient(135deg, #3B82F6 0%, #1E40AF 100%);
     color: white;
     padding: 0.5rem 1rem;
     border-radius: 25px;
     font-weight: 700;
     font-size: 0.9rem;
 }

 .seats-badge {
     background: linear-gradient(135deg, #3B82F6 0%, #1E40AF 100%);
     color: white;
     padding: 0.5rem 1rem;
     border-radius: 25px;
     font-weight: 700;
     font-size: 1.1rem;
 }

 .cta-button {
     background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%);
     color: white;
     padding: 0.75rem 1.5rem;
     border-radius: 25px;
     text-decoration: none;
     display: inline-block;
     font-weight: 600;
     transition: all 0.3s ease;
     box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
 }

 .cta-button:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
     text-decoration: none;
     color: white;
 }

 .stats-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 1rem;
     margin: 2rem 0;
 }

 .stat-card {
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: 12px;
     padding: 1.5rem;
     text-align: center;
     transition: all 0.3s ease;
 }

 .stat-card:hover {
     background: rgba(255, 255, 255, 0.2);
     transform: translateY(-2px);
 }

 .breadcrumb {
     background: transparent;
     border-radius: 12px;
     padding: 0;
     margin: 0 0 1.5rem 0;
 }

 .breadcrumb ol {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     margin: 0;
     padding: 0;
     list-style: none;
 }

 .breadcrumb li {
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .breadcrumb a {
     color: white !important;
     text-decoration: none;
     font-weight: 500;
     transition: color 0.3s ease;
 }

 .breadcrumb a:hover {
     color: #3b82f6 !important;
 }

 .breadcrumb .current {
     color: #3b82f6;
     font-weight: 600;
 }

 .faq-item {
     background: white;
     border-radius: 12px;
     margin-bottom: 1rem;
     overflow: hidden;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
 }

 .faq-question {
     background: #F8FAFC;
     padding: 1.5rem;
     cursor: pointer;
     border-bottom: 1px solid #E2E8F0;
     transition: background-color 0.3s ease;
 }

 .faq-question:hover {
     background: #EDF2F7;
 }

 .faq-answer {
     padding: 1.5rem;
     display: none;
 }

 .faq-answer.active {
     display: block;
 }

 @media (max-width: 768px) {
     .bus-card {
         margin-bottom: 2rem;
     }

     .stats-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .breadcrumb {
         padding: 0.75rem 1rem;
     }

     .breadcrumb ol {
         flex-wrap: wrap;
     }
 }