        * {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
        }

        body {
          font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
          background: #f5f5f5;
          color: #333;
        }

        /* TOOLBAR FIJO */
        .navbar {
          position: fixed;
          top: 0;
          width: 100%;
          /* background: linear-gradient(135deg, #1a237e 0%, #c62828 100%); */
          background: #1a237e;
          padding: 1rem 2rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
          z-index: 100;
        }

        .navbar h1 {
          color: white;
          font-size: 1.8rem;
          letter-spacing: 1px;
        }

        .navbar-links {
          display: flex;
          gap: 2rem;
          list-style: none;
        }

        .navbar-links a {
          color: white;
          text-decoration: none;
          font-weight: 500;
          transition: all 0.3s ease;
        }

        .navbar-links a:hover {
          color: #ffeb3b;
          transform: translateY(-2px);
        }

        /* ESPACIADO PRINCIPAL */
        main {
          margin-top: 70px;
          padding-bottom: 100px;
        }

        /* SECCIÓN 1 - CARDS */
        .section-1 {
          padding: 4rem 2rem;
          background: white;
          text-align: center;
        }

        .section-1 h2 {
          color: #1a237e;
          font-size: 2.5rem;
          margin-bottom: 3rem;
          text-transform: uppercase;
          letter-spacing: 2px;
        }

        .cards-container {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
          gap: 2rem;
          max-width: 1200px;
          margin: 0 auto;
        }

        .card {
          position: relative;
          border-radius: 12px;
          overflow: hidden;
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
          transition: all 0.4s ease;
          cursor: pointer;
        }

        .card:hover {
          transform: translateY(-8px);
          box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
        }

        .card-image {
          position: relative;
          width: 100%;
          height: 300px;
          background: linear-gradient(135deg, #c62828, #1a237e);
          display: flex;
          align-items: center;
          justify-content: center;
          overflow: hidden;
        }

        .card-image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }

        .card-overlay {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(0, 0, 0, 0.4);
          display: flex;
          align-items: center;
          justify-content: center;
          transition: all 0.3s ease;
        }

        .card:hover .card-overlay {
          background: rgba(0, 0, 0, 0.2);
        }

        .card-text {
          color: white;
          font-size: 1.8rem;
          font-weight: bold;
          letter-spacing: 1px;
          text-transform: uppercase;
          text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
        }

        .card-content {
          padding: 1.5rem;
          background: white;
        }

        .card-title {
          color: #c62828;
          font-size: 1.3rem;
          margin-bottom: 0.5rem;
        }

        .card-description {
          color: #666;
          font-size: 0.95rem;
          line-height: 1.6;
        }

        /* SECCIÓN 2 - VIAJES Y BUS */
        .section-2 {
          padding: 4rem 2rem;
          background: #f9f9f9;
        }

        .section-2 h2 {
          color: #1a237e;
          font-size: 2.5rem;
          margin-bottom: 3rem;
          text-transform: uppercase;
          letter-spacing: 2px;
          text-align: center;
        }

        .trips-container {
          display: grid;
          grid-template-columns: 1fr 350px;
          gap: 2rem;
          max-width: 1400px;
          margin: 0 auto;
        }

        .trips-list {
          display: flex;
          flex-direction: column;
          gap: 1.5rem;
        }

        .trip-item {
          background: white;
          border-left: 5px solid #1a237e;
          padding: 1.5rem;
          border-radius: 8px;
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          cursor: pointer;
          transition: all 0.3s ease;
        }

        .trip-item:hover {
          box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
          transform: translateX(5px);
        }

        .trip-item.active {
          border-left-color: #c62828;
          background: #f0f0f0;
        }

        .trip-header {
          display: flex;
          justify-content: space-between;
          align-items: start;
          margin-bottom: 1rem;
        }

        .trip-destination {
          font-size: 1.5rem;
          font-weight: bold;
          color: #1a237e;
        }

        .trip-status {
          padding: 0.4rem 1rem;
          border-radius: 20px;
          font-weight: bold;
          font-size: 0.85rem;
          text-transform: uppercase;
        }

        .status-active {
          background: #4caf50;
          color: white;
        }

        .status-completed {
          background: #2196f3;
          color: white;
        }

        .status-cancelled {
          background: #f44336;
          color: white;
        }

        .trip-details {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 1rem;
          margin-top: 1rem;
        }

        .trip-detail {
          font-size: 0.95rem;
          color: #555;
        }

        .trip-detail strong {
          color: #1a237e;
          display: block;
          margin-bottom: 0.3rem;
        }

        /* BUS PANEL */
        .bus-panel {
          background: white;
          padding: 2rem;
          border-radius: 12px;
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          height: fit-content;
          position: sticky;
          top: 90px;
        }

        .bus-panel h3 {
          color: #1a237e;
          margin-bottom: 1.5rem;
          text-align: center;
          font-size: 1.2rem;
          text-transform: uppercase;
        }

        .bus-illustration {
          width: 100%;
          height: 200px;
          background: linear-gradient(135deg, #b0bec5, #90a4ae);
          border-radius: 8px;
          display: flex;
          align-items: center;
          justify-content: center;
          margin-bottom: 1.5rem;
          position: relative;
          overflow: hidden;
          opacity: 0.5;
        }

        .bus-illustration.active {
          opacity: 1;
          background: linear-gradient(135deg, #81c784, #66bb6a);
        }

        .bus-svg {
          width: 100%;
          height: 100%;
        }

        .bus-info {
          display: flex;
          flex-direction: column;
          gap: 1rem;
        }

        .bus-info-item {
          padding: 1rem;
          background: #f5f5f5;
          border-radius: 6px;
          font-size: 0.9rem;
        }

        .bus-info-item strong {
          color: #1a237e;
          display: block;
          margin-bottom: 0.3rem;
        }

        .bus-info-item.inactive {
          opacity: 0.5;
          color: #999;
        }

        /* FOOTER */
        .footer {
          background: #1a237e;
          color: white;
          text-align: center;
          padding: 2rem;
          font-size: 0.95rem;
        }

        /* BOTÓN FLOTANTE WHATSAPP ESTILO TAB */
        .whatsapp-tab {
          position: fixed;
          bottom: 0;
          right: 2rem;
          background: #25d366;
          color: white;
          padding: 10px 20px 10px 25px;
          border-radius: 12px 12px 0 0;
          display: flex;
          align-items: center;
          gap: 12px;
          cursor: pointer;
          box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.15);
          transition: transform 0.3s ease, background 0.3s ease;
          z-index: 1000;
          font-weight: 600;
        }

        .whatsapp-tab:hover {
          transform: translateY(-5px);
          background: #20bd5a;
        }

        .whatsapp-tab:active {
          transform: translateY(0);
        }

        .whatsapp-text {
          font-size: 1rem;
          white-space: nowrap;
        }

        .whatsapp-icon {
          width: 28px;
          height: 28px;
          fill: white;
        }

        /* RESPONSIVE */
        @media (max-width: 768px) {
          .navbar {
            flex-direction: column;
            gap: 1rem;
          }

          .navbar-links {
            gap: 1rem;
            font-size: 0.9rem;
          }

          .trips-container {
            grid-template-columns: 1fr;
          }

          .bus-panel {
            position: relative;
            top: 0;
          }

          .section-1 h2,
          .section-2 h2 {
            font-size: 1.8rem;
          }

          .trip-details {
            grid-template-columns: 1fr;
          }
        }


        .float {
          position: fixed;
          width: 60px;
          height: 60px;
          bottom: 40px;
          right: 40px;
          background-color: #25d366;
          color: #FFF;
          border-radius: 50px;
          text-align: center;
          font-size: 30px;
          box-shadow: 2px 2px 3px #999;
          z-index: 100;
        }

        .my-float {
          margin-top: 16px;
        }

        .bounce {
          animation: bounce 5s infinite;
        }

        @keyframes bounce {

          0%,
          25%,
          50%,
          75%,
          100% {
            transform: translateY(0);
          }

          40% {
            transform: translateY(-20px);
          }

          60% {
            transform: translateY(-12px);
          }
        }

        .float::after {
          content: attr(data-title);
          position: absolute;
          bottom: 70px;
          /* encima del botón */
          right: 0;
          background: #333;
          color: #fff;
          padding: 6px 10px;
          border-radius: 4px;
          font-size: 14px;
          white-space: nowrap;
          opacity: 0;
          pointer-events: none;
          transition: opacity 0.3s ease;
        }

        /* Mostrar al hacer hover */
        .float:hover::after {
          opacity: 1;
        }