/* ==========================================================================
   SERNATUR - HOJA DE ESTILO FINAL
   ========================================================================== */
.sernatur-container { max-width: 1200px; margin: 0 auto; padding: 20px; font-family: system-ui, sans-serif; }
.header { text-align: center; margin-bottom: 20px; }
.search-section { max-width: 700px; margin: 20px auto; background: #f9f9f9; border-radius: 12px; padding: 25px; }
.search-filters { display: grid; grid-template-columns: 1fr; gap: 20px; }
.filter-group { display: flex; flex-direction: column; }
.filter-group label { font-weight: 600; margin-bottom: 8px; }
.filter-group select { width: 100%; padding: 12px; font-size: 16px; border: 1px solid #ccc; border-radius: 8px; }
.packages-grid { display: grid; grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }
.package-card { background: white; border-radius: 15px; padding: 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.07); position: relative; }
.package-destination { font-size: 22px; font-weight: 700; color: #005a9e; margin-bottom: 10px; }
.package-hotel { font-size: 16px; margin-bottom: 15px; font-weight: 600; padding: 10px; background: #f1f5f9; border-radius: 8px; }
.package-details { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 15px; font-size: 15px; }
.cupos-badge { position: absolute; top: 15px; right: 15px; padding: 6px 12px; border-radius: 20px; font-size: 13px; font-weight: 600; color: white; }
.cupos-high { background: #28a745; }
.cupos-medium { background: #ffc107; color: #333; }
.cupos-low { background: #dc3545; }
.package-price { font-size: 24px; font-weight: 700; color: #005a9e; margin-bottom: 10px; }
.price-note { font-size: 13px; color: #666; }
.package-dates { margin-top: 15px; }
.dates-title { font-weight: 600; margin-bottom: 8px; font-size: 15px; }
.dates-list { display: flex; flex-wrap: wrap; gap: 8px; }
.date-item { background: #e2e8f0; padding: 6px 10px; border-radius: 6px; font-size: 13px; }
.package-whatsapp { background: #25D366; color: white; padding: 14px; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; width: 100%; text-align: center; margin-top: 15px; text-decoration: none; display: block; }
.loading, .no-results { text-align: center; padding: 40px; font-size: 18px; color: #666; }
.no-results h3 { font-size: 22px; color: #333; }
@media (min-width: 576px) {
    .search-filters { grid-template-columns: 1fr 1fr; }
    .package-details { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 992px) {
    .packages-grid { grid-template-columns: 1fr 1fr; }
}