/* ══════════════════════════════════════════════════════
   ALOHA FILTER SYSTEM — New styles (spec March 2026)
══════════════════════════════════════════════════════ */

/* 3.1 Section Titles */
.aloha-filter-section-title {
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #999;
    margin-top: 24px;
    margin-bottom: 10px;
}
.aloha-filter-section-title--first {
    margin-top: 0;
}

/* 3.2 Checkbox Rows — Hover & Active */
.aloha-filter-row {
    display: flex;
    align-items: center;
    padding: 5px 6px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s;
}
.aloha-filter-row:hover {
    background: #f6fdf0;
}
.aloha-filter-row:has(input:checked) {
    background: #f0fadf;
}

/* 3.3 Custom Checkbox */
.aloha-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 16px !important;
    min-width: 16px;
    height: 16px;
    border: 1.5px solid #ccc;
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    transition: all 0.15s;
    position: relative;
    flex-shrink: 0;
}
.aloha-checkbox:checked {
    background: #58BC0A;
    border-color: #58BC0A;
}
.aloha-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

/* 3.3 Label style */
.aloha-filter-row label {
    font-size: 14px;
    color: #444;
    margin-left: 8px;
    cursor: pointer;
    flex: 1;
}
.aloha-filter-row:has(input:checked) label {
    color: #1a1a1a;
    font-weight: 500;
}

/* 3.5 Section Separators */
.aloha-filter-divider {
    border: none;
    border-top: 1px solid #f0f0f0;
    margin: 16px 0 4px 0;
}

/* 3.6 Clear Button */
.aloha-clear-btn {
    font-size: 15px;
    color: #999;
    text-decoration: none;
    padding: 3px 8px;
    border-radius: 20px;
    border: 1px solid #ddd;
    transition: all 0.15s;
}
.aloha-clear-btn:hover {
    color: #cc3300;
    border-color: #cc3300;
}

/* Filtros main heading — bigger than section titles */
.aloha-filter-heading {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    margin: 0;
}

/* Override inline width on checkboxes */
.aloha-checkbox[style*="width"] {
    width: 16px !important;
}

/* Reduce spacing between filter rows */
.aloha-filter-row.mt-15 {
    margin-top: 4px !important;
}

/* Align checkbox with label */
.aloha-filter-row {
    align-items: center !important;
}

/* 4. Mobile Filter Buttons */
.aloha-mobile-filter-btn {
    height: 44px;
    width: 10rem;
    font-size: 15px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-weight: 500;
    transition: all 0.15s;
    margin-bottom: 0.7rem;
}
.aloha-mobile-filter-btn--primary {
    background: #fff;
    border: 1.5px solid #58BC0A;
    color: #58BC0A;
}
.aloha-mobile-filter-btn--primary:hover {
    background: #f6fdf0;
}
.aloha-filter-badge {
    background: #58BC0A;
    color: #fff;
    border-radius: 10px;
    padding: 1px 6px;
    font-size: 12px;
    font-weight: 700;
    min-width: 18px;
    text-align: center;
}
.aloha-mobile-filter-btn--secondary {
    background: #fff;
    border: 1.5px solid #58BC0A;
    color: #58BC0A;
}
.aloha-mobile-filter-btn--secondary:hover {
    background: #f6fdf0;
}
.aloha-mobile-filter-btn--secondary.has-date {
    border-color: #58BC0A;
    color: #2d7a00;
    font-weight: 600;
}

/* 5.3 Offcanvas Apply Button */
.aloha-offcanvas-footer {
    position: sticky;
    bottom: 0;
    background: #fff;
    border-top: 1px solid #f0f0f0;
    padding: 12px 16px;
    margin: 0 -16px;
}
.aloha-apply-btn {
    width: 100%;
    background: #58BC0A;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    height: 48px;
    border-radius: 8px;
    border: none;
}
.aloha-apply-btn:hover { background: #4da809; color: #fff; }

/* Offcanvas fixes */
.offcanvas-body .aloha-filter-section-title {
    text-align: left;
}
.offcanvas-body .aloha-filter-row {
    justify-content: flex-start;
    text-align: left;
}
.offcanvas-body .aloha-filter-row label {
    text-align: left;
}

/* Fix sticky footer - must be outside scroll flow */
.aloha-offcanvas-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #f0f0f0;
    padding: 12px 16px;
    z-index: 1060;
}

/* 6. Active Filter Chips */
.aloha-chips-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 20px;
    padding: 0 4px;
}
.aloha-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #ddd;
    color: #333;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 15px;
    font-weight: 500;
    cursor: default;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.aloha-chip::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #58BC0A;
    flex-shrink: 0;
}
.aloha-chip-remove {
    cursor: pointer;
    color: #999;
    font-size: 15px;
    line-height: 1;
    margin-left: 4px;
}
.aloha-chip-remove:hover { color: #cc3300; }
.aloha-chip-clear {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #888;
    text-decoration: none;
    cursor: pointer;
    padding: 5px 12px;
    font-weight: 500;
    background: #f5f5f3;
    border: 1px solid #e0e0de;
    border-radius: 8px;
    transition: all 0.15s;
}
.aloha-chip-clear:hover { 
    background: #eee;
    color: #555;
}

/* Align results with sidebar */
.category-results {
    margin-top: -8px !important;
}

/* Internal linking section redesign */
.listas-experiencias-tipos-retiros {
    margin-top: 40px !important;
}
.listas-experiencias-tipos-retiros .titulo-seccion {
    font-family: "Inter", sans-serif;
}
.listas-experiencias-tipos-retiros > .row > .col-12 > .titulo-seccion {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 16px;
}
.listas-experiencias-tipos-retiros #accordion .card {
    border: none;
    border-radius: 12px;
    background: #fafaf8;
    margin-bottom: 8px;
    overflow: hidden;
}
.listas-experiencias-tipos-retiros #accordion .card-header {
    background: #fafaf8;
    border: none;
    padding: 0;
}
.listas-experiencias-tipos-retiros #accordion .faq-accordion-btn {
    padding: 14px 16px;
    font-size: 16px;
    border: none;
    background: transparent;
}
.listas-experiencias-tipos-retiros #accordion .faq-accordion-btn .titulo-seccion {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
.listas-experiencias-tipos-retiros #accordion .card-body {
    background: #fff !important;
    border-top: 1px solid #f0f0f0;
    padding: 16px !important;
}
.listas-experiencias-tipos-retiros #accordion .card-body .card {
    border: 1px solid #f0f0f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    padding: 10px 8px;
    transition: all 0.15s;
    margin: 0;
}
.listas-experiencias-tipos-retiros #accordion .card-body .card:hover {
    background: #f6fdf0 !important;
    border-color: #c5e8a0 !important;
}
.listas-experiencias-tipos-retiros #accordion .card-body .card a {
    color: #2d7a00 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none;
}
.listas-experiencias-tipos-retiros #accordion .card-body .card:hover a {
    color: #1a5500 !important;
}

/* Results title - wider spacing */
.category-results-count {
    letter-spacing: 0.02em !important;
    font-size: 1.1rem !important;
}

/* Mobile buttons spacing */
.aparecer-mobile .d-flex {
    margin-bottom: 12px;
}

/* Unified section headings across page */
.titulo-seccion,
.titulo-mas-sobre,
.beneficios .accordion-header {
    font-family: "Inter", system-ui, sans-serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    margin-bottom: 16px;
}
/* Main section titles - bold */
h2.titulo-mas-sobre,
.col-12 > .titulo-seccion,
h3.titulo-seccion,
.beneficios .accordion-header {
    font-weight: 600 !important;
}

/* Por qué elegir heading */
.beneficios .accordion-header {
    font-size: 21px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* FAQ section - same card style as Explora */
.listas-experiencias-tipos-retiros .faq-accordion-btn .titulo-seccion {
    font-size: 15px !important;
    font-weight: 500 !important;
}

/* Fix accordion button alignment */
.listas-experiencias-tipos-retiros #accordion .faq-accordion-btn {
    display: flex !important;
    align-items: center !important;
}
.listas-experiencias-tipos-retiros #accordion .faq-accordion-btn .titulo-seccion {
    margin: 0 !important;
    padding: 0 !important;
}

/* FAQ cards - same style as Explora */
.listas-experiencias-tipos-retiros [id^="accordion_"] .card {
    border: none !important;
    border-radius: 12px !important;
    background: #fafaf8 !important;
    margin-bottom: 8px !important;
    overflow: hidden;
}
.listas-experiencias-tipos-retiros [id^="accordion_"] .card-header {
    background: #fafaf8 !important;
    border: none !important;
    padding: 0 !important;
}
.listas-experiencias-tipos-retiros [id^="accordion_"] .faq-accordion-btn {
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
}
.listas-experiencias-tipos-retiros [id^="accordion_"] .faq-accordion-btn .titulo-seccion {
    font-size: 16px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    color: #1a1a1a !important;
}
.listas-experiencias-tipos-retiros [id^="accordion_"] .card-body {
    background: #fff !important;
    border-top: 1px solid #f0f0f0 !important;
    padding: 16px !important;
}

/* Spacing before bono regalo section */
.class_gift_one {
    margin-top: 60px !important;
}

/* Bono regalo - smaller title */
.class_gift_fou {
    font-size: 28px !important;
    line-height: 34px !important;
}
.class_gift_sev {
    font-size: 28px !important;
}

/* Unified body text - category description & FAQ answers */
pre.category-description {
    font-family: "Inter", system-ui, -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #555 !important;
    line-height: 1.7 !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
}
.listas-experiencias-tipos-retiros [id^="accordion_"] .card-body p {
    font-family: "Inter", system-ui, -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #555 !important;
    line-height: 1.7 !important;
}

/* Explora & FAQ accordion items - no bold */
section.listas-experiencias-tipos-retiros button.faq-accordion-btn div.titulo-seccion,
section.listas-experiencias-tipos-retiros button.faq-accordion-btn p.titulo-seccion {
    font-weight: 400 !important;
    font-size: 16px !important;
}