.puerto-seccion { margin-top: 45px; margin-bottom: 30px; }
.puerto-seccion h2 { font-size: 24px; font-weight: 700; margin-bottom: 20px; color: #1a3b5c; }
.puerto-seccion h3 { font-size: 17px; font-weight: 600; color: #2c3e50; margin-top: 15px; }

.card-precio-puerto {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px 15px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    height: 100%;
}
.card-precio-puerto .tipo { font-size: 14px; color: #718096; margin-bottom: 6px; }
.card-precio-puerto .monto { font-size: 22px; font-weight: 800; color: #0d233a; margin-bottom: 6px; }
.card-precio-puerto .detalle { font-size: 13px; color: #a0aec0; }
.nota-precios { font-size: 13px; color: #718096; margin-top: 14px; line-height: 1.5; }

.card-temporada {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px 14px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    height: 100%;
}
.card-temporada .meses { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.card-temporada .barra { height: 4px; border-radius: 2px; margin: 0 auto 12px; width: 85%; }
.card-temporada .barra-azul { background-color: #a8cbf5; }
.card-temporada .barra-verde { background-color: #8bc34a; }
.card-temporada .barra-naranja { background-color: #f39c12; }
.card-temporada .desc { font-size: 13px; color: #64748b; line-height: 1.4; }

.card-icono-puerto {
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 15px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}
.card-icono-puerto .icono {
    font-size: 24px;
    color: #0088cc;
    min-width: 35px;
    margin-top: 2px;
}

.grid-que-hacer {
    background: #fdfdfd;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 20px;
    height: calc(100% - 20px);
}
.grid-que-hacer h3 { font-size: 16px; margin-top: 0; color: #1a3b5c; }
.grid-que-hacer p { font-size: 14px; color: #4a5568; line-height: 1.5; margin-bottom: 0; }

.checklist-crucerum {
    background: #fff;
    border: 1px solid #eef2f6;
    border-radius: 10px;
    padding: 10px 0;
}
.item-check-crucerum {
    padding: 14px 20px;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #2d3748;
    font-weight: 500;
}
.item-check-crucerum:last-child { border-bottom: none; }
.item-check-crucerum i {
    color: #00b4a7;
    font-size: 18px;
    margin-right: 14px;
}

/* Destinos y Navieras */
.card-texto-puerto {
    background: #fff;
    border: 1px solid #eef2f6;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    height: calc(100% - 20px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.card-texto-puerto h3 { font-size: 17px; margin-top: 0; color: #1a3b5c; }
.card-texto-puerto p { font-size: 14px; color: #4a5568; line-height: 1.6; margin-bottom: 14px; }
.card-texto-puerto .btn-link-destino,
.card-texto-puerto .btn-link-naviera {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 600;
    color: #0088cc;
    text-decoration: none;
    align-self: flex-end;
    margin-top: auto;
}
.card-texto-puerto .btn-link-destino:hover,
.card-texto-puerto .btn-link-naviera:hover { text-decoration: underline; color: #005580; }

/* FAQ Accordion / Cards */
.faq-item-puerto {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 18px 22px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}
.faq-item-puerto h3 {
    font-size: 16px;
    font-weight: 700;
    color: #1a3b5c;
    margin-top: 0;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.faq-item-puerto h3 i { color: #0088cc; font-size: 15px; }
.faq-item-puerto p {
    font-size: 14px;
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 0;
}
