﻿    .page-wrapper {
      width: 100%;
      max-width: 1100px;
    }

    /* Barra superior de actualizaciÃ³n */
    .update-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      background: #f9fafb;
      border-radius: 999px;
      padding: 10px 16px;
      border: 1px solid #e5e7eb;
      margin-bottom: 16px;
      font-size: 0.9rem;
      color: #4b5563;
    }

    .update-icon {
      width: 22px;
      height: 22px;
      border-radius: 999px;
      background: #e5e7eb;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #4b5563;
      font-size: 0.9rem;
    }

    .update-link {
      color: #4b5563;
      text-decoration: underline;
    }

    .update-link:hover {
      color: #111827;
    }

    /* Tarjeta completa (franja azul + contenido blanco) */
    .port-card {
      background: #ffffff;
      border-radius: 12px;
      border: 1px solid #e5e7eb;
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
      margin-bottom: 18px;
      overflow: hidden;
    }

    .crossing-inner {
      background: #ffffff;
    }

    .crossing-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      padding: 16px 20px;
      border-bottom: 1px solid #e5e7eb;
    }

    .crossing-title {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 4px;
    }

    .crossing-location {
      font-size: 0.9rem;
      color: #6b7280;
    }

    .crossing-schedule {
      font-size: 0.85rem;
      color: #6b7280;
      font-weight: 500;
      white-space: nowrap;
    }

    .crossing-body {
      padding: 16px 20px 18px;
    color: inherit;
    text-decoration:none;
    }

    /* GRID: maximo 3 tarjetas por li­nea */
    .lane-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px 20px;
      padding: 5px;
    }
    
    .lane-grid-cam {
      display: grid;
      gap: 14px 20px;
      padding: 5px;
    }

    .lane-grid-cam img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}    

.img-responsive-cam {
    width: 100%;
    height: auto;
    display: block;
}

    /* Cada lane-card es un hyperlink */
    .lane-card {
      display: flex;
      align-items: center;
      background: #f9fafb;
      border-radius: 14px;
      padding: 10px 14px;
      text-decoration: none;
      color: #111827;
      transition: box-shadow 0.12s ease, transform 0.12s ease;
    }

    .lane-card:hover {
      box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
      transform: translateY(-1px);
    }

    .lane-icon-box {
      width: 54px;
      height: 54px;
      border-radius: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 12px;
      flex-shrink: 0;
    }

    .lane-icon-box i {
      font-size: 1.7rem;
      color: #111827;
    }

    .lane-content {
      display: flex;
      flex-direction: column;
    }

    .lane-label {
      font-size: 0.9rem;
      font-weight: 500;
      margin-bottom: 2px;
    }

    .lane-wait {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 2px;
    }

    .lane-lines {
      font-size: 0.85rem;
      color: #6b7280;
    }

    /* Colores de las cajas de Ã­cono */
    .lane--red .lane-icon-box {
      background: #ef4444;
    }

    .lane--green .lane-icon-box {
      background: #22c55e;
    }

    .lane--yellow .lane-icon-box {
      background: #facc15;
    }

    .lane--gray .lane-icon-box {
      background: #9ca3af;
    }

    /* Responsive */
    @media (max-width: 900px) {
      .lane-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 600px) {
      body {
        padding: 16px 12px 28px;
      }
      .lane-grid {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 14px 20px;
      padding: 5px;
    }


      .crossing-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
      }

      .crossing-schedule {
        font-size: 0.82rem;
      }

      .lane-grid {
        grid-template-columns: 1fr;
      }
    }
