/* =========================================================
   Decisión Informada – Results Page + Full-screen Loader
   ========================================================= */

/* ═══════════════════════════════════════════════════════
   FULL-SCREEN PRELOADER
   ═══════════════════════════════════════════════════════ */
.dic-fullscreen-loader {
    position: fixed; inset: 0; z-index: 9999;
    background: linear-gradient(135deg, #010e5e 0%, #012CB8 60%, #0144e8 100%);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity .3s ease;
}
.dic-fullscreen-loader.dic-loader-visible {
    opacity: 1; pointer-events: all;
}
.dic-loader-inner {
    text-align: center; color: #fff;
    max-width: 440px; padding: 0 32px;
    display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.dic-loader-icon {
    position: relative; width: 88px; height: 88px; margin-bottom: 4px;
    display: flex; align-items: center; justify-content: center;
}
.dic-loader-icon svg {
    position: relative; z-index: 2;
    filter: drop-shadow(0 0 20px rgba(125,211,252,.5));
}
.dic-loader-pulse {
    position: absolute; inset: 0; border-radius: 50%;
    background: rgba(125,211,252,.15);
    animation: dic-pulse 1.6s ease-in-out infinite;
}
@keyframes dic-pulse {
    0%, 100% { transform: scale(1); opacity: .6; }
    50%       { transform: scale(1.35); opacity: .2; }
}
.dic-loader-title {
    font-size: 1.5rem; font-weight: 600;
    letter-spacing: -.025em; margin: 0;
    color: #fff;
}
.dic-loader-sub {
    font-size: .95rem; color: rgba(255,255,255,.7);
    margin: 0; line-height: 1.55;
}
.dic-loader-progress {
    width: 260px; height: 4px;
    background: rgba(255,255,255,.15);
    border-radius: 999px; overflow: hidden;
}
.dic-loader-bar {
    height: 100%; border-radius: 999px;
    background: linear-gradient(90deg, #7dd3fc, #a5b4fc);
    animation: dic-bar-progress 2s ease-in-out infinite;
    transform-origin: left;
}
@keyframes dic-bar-progress {
    0%   { width: 0%; }
    70%  { width: 85%; }
    100% { width: 95%; }
}
.dic-loader-steps {
    min-height: 22px;
}
.dic-loader-step {
    display: none; font-size: .82rem;
    color: #a5b4fc; font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase;
}
.dic-loader-step.active { display: block; }

/* ═══════════════════════════════════════════════════════
   RESULTS PAGE TOPBAR
   ═══════════════════════════════════════════════════════ */
#dic-results-page {
    min-height: 100vh;
    background: #f8fafc;
    display: flex; flex-direction: column;
    padding-top: 18px;
}
html:has(body.admin-bar #dic-results-page) { margin-top: 0 !important; }
body.admin-bar:has(#dic-results-page) .di-nav { top: 32px !important; }
@media (max-width: 782px) {
    body.admin-bar:has(#dic-results-page) .di-nav { top: 46px !important; }
}
.dr-back-link {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .85rem; font-weight: 600;
    color: var(--di-primary); text-decoration: none;
    padding: 7px 14px; border-radius: 8px;
    border: 1.5px solid var(--di-primary-light);
    transition: background .15s;
    white-space: nowrap; flex-shrink: 0;
}
.dr-back-link:hover { background: var(--di-primary-light); text-decoration: none; }
.dr-map-link { background: var(--di-primary); border-color: var(--di-primary); color: #fff; }
.dr-map-link:hover { background: var(--di-primary-hover); color: #fff; }
.dr-view-switch {
    width:100%; margin:-2px 0 16px; padding:5px; display:grid; grid-template-columns:1fr 1fr; gap:5px;
    border:1px solid #dbe3f2; border-radius:13px; background:#f3f6fc;
}
.dr-view-switch-option {
    min-height:42px; padding:8px 14px; display:flex; align-items:center; justify-content:center; gap:7px;
    border:1px solid transparent; border-radius:9px; color:#486080; font-size:.8rem; font-weight:800;
    text-decoration:none; transition:.16s ease;
}
.dr-view-switch-option:hover { background:#fff; color:var(--di-primary); text-decoration:none; }
.dr-view-switch-option.is-active {
    border-color:#b8c9f5; background:#fff; color:var(--di-primary); box-shadow:0 5px 15px rgba(28,67,160,.09);
}

/* ═══════════════════════════════════════════════════════
   LAYOUT: SIDEBAR + MAIN
   ═══════════════════════════════════════════════════════ */
.dr-layout {
    flex: 1; display: flex;
    max-width: 1500px; width: 100%;
    margin: 0 auto; padding: 0;
    align-items: flex-start; position: relative;
}

/* ── Sidebar ── */
.dr-sidebar {
    width: 300px; flex-shrink: 0;
    padding: 30px 0 24px 24px;
    position: relative; top: auto;
    max-height: none; overflow: visible;
}
.dr-sidebar-inner {
    background: transparent; border: 0; border-radius: 0;
    padding: 0; display: flex; flex-direction: column; gap: 12px;
    box-shadow: none;
}
.dr-sidebar-header {
    display: flex; align-items: flex-start; gap: 8px;
    padding: 4px 2px 6px; border-radius: 0;
    background: transparent; border: 0;
}
.dr-sidebar-header-copy { min-width: 0; flex: 1; }
.dr-sidebar-eyebrow {
    display: block; margin-bottom: 3px; color: #64748b;
    font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.dr-sidebar-header h2 { margin: 0; color: #102d72; font-size: 1.04rem; line-height: 1.2; }
.dr-sidebar-header p { margin: 4px 0 0; color: #64748b; font-size: .7rem; line-height: 1.3; }
.dr-sidebar-close {
    display: none; width: 34px; height: 34px; padding: 0; flex: 0 0 34px;
    align-items: center; justify-content: center; border: 1px solid #d7e0ed;
    border-radius: 9px; background: #fff; color: #334155; cursor: pointer;
}
.dr-filter-section {
    padding: 14px; border: 1px solid #dfe7f2; border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,43,122,.055);
}
.dr-filter-section-head { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 12px; }
.dr-filter-section-icon {
    width: 30px; height: 30px; flex: 0 0 30px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 9px; background: #edf3ff; color: var(--di-primary);
}
.dr-filter-title {
    margin: 1px 0 2px; color: #1e335f;
    font-size: .79rem; font-weight: 800; line-height: 1.25;
    text-transform: none; letter-spacing: 0;
}
.dr-filter-section-head p { margin: 0; color: #7a879c; font-size: .66rem; line-height: 1.3; }
.dr-filter-options { display: flex; flex-direction: column; gap: 4px; }

.dr-copay-filter-section {
    padding-bottom: 13px;
}
.dr-copay-filter-head {
    margin-bottom: 10px;
}
.dr-copay-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    padding: 4px;
    border: 1px solid #dce5f2;
    border-radius: 11px;
    background: #f3f6fb;
}
.dr-copay-option {
    min-width: 0;
    min-height: 37px;
    padding: 7px 5px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #52617a;
    font: inherit;
    font-size: .71rem;
    font-weight: 800;
    line-height: 1.15;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.dr-copay-option:hover {
    color: var(--di-primary);
    background: rgba(255,255,255,.75);
}
.dr-copay-option.active {
    border-color: #b8caf8;
    background: #fff;
    color: var(--di-primary);
    box-shadow: 0 3px 10px rgba(15,51,154,.10);
}
.dr-copay-option:focus-visible {
    outline: 2px solid var(--di-primary);
    outline-offset: 2px;
}
.dr-copay-option:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.dr-network-label { display:block; margin:10px 0 5px; color:#475569; font-size:.69rem; font-weight:800; }
.dr-network-label-row { min-width:0; margin:10px 0 5px; display:flex; align-items:center; justify-content:space-between; gap:9px; }
.dr-network-label-row .dr-network-label { margin:0; }
.dr-network-select { width:100%; min-height:42px; padding:8px 32px 8px 11px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#1e293b; font-size:.78rem; }
.dr-network-select:focus { outline:0; border-color:var(--di-primary); box-shadow:0 0 0 3px rgba(1,44,184,.1); }
.dr-sanatorium-search-wrap { position:relative; }
.dr-sanatorium-search-wrap > svg { position:absolute; left:11px; top:21px; transform:translateY(-50%); color:#8491a6; pointer-events:none; z-index:2; }
.dr-sanatorium-search {
    width:100%; min-height:42px; padding:8px 10px 8px 34px;
    border:1px solid #cbd5e1; border-radius:10px; background:#fff;
    color:#1e293b; font-family:var(--di-font); font-size:.76rem; outline:none;
}
.dr-sanatorium-search:focus { border-color:var(--di-primary); box-shadow:0 0 0 3px rgba(1,44,184,.1); }
.dr-sanatorium-search-results {
    position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:40;
    max-height:280px; overflow-y:auto; padding:6px;
    border:1px solid #d8e1ed; border-radius:12px; background:#fff;
    box-shadow:0 16px 34px rgba(15,43,122,.18);
}
.dr-sanatorium-search-results[hidden] { display:none; }
.dr-sanatorium-search-result {
    width:100%; padding:9px 10px; display:flex; flex-direction:column; gap:3px;
    border:0; border-radius:8px; background:#fff; color:#1e335f;
    font-family:var(--di-font); text-align:left; cursor:pointer;
}
.dr-sanatorium-search-result:hover,.dr-sanatorium-search-result:focus { background:#edf3ff; outline:none; }
.dr-sanatorium-search-result strong { font-size:.74rem; line-height:1.3; }
.dr-sanatorium-search-result small { color:#75839a; font-size:.64rem; line-height:1.35; }
.dr-sanatorium-search-empty { margin:0; padding:12px 8px; color:#75839a; font-size:.7rem; text-align:center; }
.dr-location-btn { min-width:0; max-width:165px; margin:0; padding:2px 0; display:inline-flex; align-items:center; justify-content:flex-end; gap:4px; border:0; background:transparent; color:#2457d6; font-size:.66rem; font-weight:800; line-height:1.2; cursor:pointer; white-space:nowrap; overflow:hidden; }
.dr-location-btn span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.dr-location-btn:hover,.dr-location-btn.is-active { background:transparent; color:#062fbd; text-decoration:underline; }
.dr-location-status { min-height:0; margin:7px 0 0; color:#64748b; font-size:.7rem; line-height:1.35; }

/* Radio filter items */
.dr-filter-radio {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 10px;
    cursor: pointer; transition: background .15s;
    border: 1.5px solid transparent;
}
.dr-filter-radio:hover { background: var(--di-gray-50); }
.dr-filter-radio.active {
    background: var(--di-primary-light);
    border-color: var(--di-primary);
}
.dr-radio-icon {
    width: 10px; height: 10px; border-radius: 50%;
    background: #cbd5e1; flex-shrink: 0;
}
.dr-radio-eligible { background: #10b981; }
.dr-radio-manual   { background: #f59e0b; }
.dr-filter-radio.active .dr-radio-icon { background: var(--di-primary); }
.dr-filter-radio.active .dr-radio-eligible { background: #10b981; }
.dr-filter-radio.active .dr-radio-manual   { background: #f59e0b; }
.dr-radio-label { flex: 1; font-size: .88rem; font-weight: 600; color: #334155; }
.dr-filter-radio.active .dr-radio-label { color: var(--di-primary); }
.dr-radio-count {
    font-size: .72rem; font-weight: 600;
    background: var(--di-gray-100); color: var(--di-gray-600);
    padding: 2px 7px; border-radius: 999px;
    min-width: 20px; text-align: center;
}
.dr-filter-radio.active .dr-radio-count {
    background: rgba(1,44,184,.12); color: var(--di-primary);
}

/* Benefit search */
.dr-benefit-search-wrap { position: relative; margin-bottom: 10px; }
.dr-benefit-search-wrap > svg {
    position: absolute; left: 11px; top: 50%; transform: translateY(-50%);
    color: #8491a6; pointer-events: none;
}
.dr-benefit-search {
    width: 100%; padding: 9px 10px 9px 34px;
    border: 1px solid #d8e1ed; border-radius: 10px;
    font-size: .76rem; font-family: var(--di-font);
    color: var(--di-gray-800);
    outline: none; transition: border-color .15s;
}
.dr-benefit-search:focus { border-color: var(--di-primary); }
.dr-benefit-list {
    display: flex; flex-direction: column; gap: 7px;
    max-height: none; padding: 0; overflow: visible;
}
.dr-benefit-group {
    margin: 0; padding: 0; overflow: hidden;
    border: 1px solid #e3e9f2; border-radius: 10px; background: #fff;
    transition: border-color .15s, box-shadow .15s;
}
.dr-benefit-group.is-open { border-color: #bdcce4; box-shadow: 0 5px 14px rgba(15,43,122,.05); }
.dr-benefit-group.has-selection { border-color: #8ba8dd; }
.dr-benefit-group-toggle {
    width: 100%; min-height: 43px; padding: 9px 9px 9px 11px;
    display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 7px;
    border: 0; background: #fff; color: #263b64; cursor: pointer;
    font-family: var(--di-font); text-align: left;
}
.dr-benefit-group-toggle:hover { background: #f8faff; }
.dr-benefit-group-title {
    min-width: 0; padding: 0; font-size: .71rem; font-weight: 800; color: #263b64;
    line-height: 1.3; overflow: hidden; text-overflow: ellipsis;
}
.dr-benefit-group-meta {
    padding: 3px 6px; border-radius: 999px; background: #eef2f7; color: #718096;
    font-size: .59rem; font-weight: 800; white-space: nowrap;
}
.dr-benefit-group.has-selection .dr-benefit-group-meta { background: #dfe8ff; color: var(--di-primary); }
.dr-benefit-group-chevron { color: #718096; transition: transform .18s ease; }
.dr-benefit-group.is-open .dr-benefit-group-chevron { transform: rotate(180deg); }
.dr-benefit-group-options { display: none; padding: 5px 7px 8px; border-top: 1px solid #edf1f6; background: #f8fafc; }
.dr-benefit-group.is-open .dr-benefit-group-options { display: block; }
.dr-benefit-list:not(.show-all-groups):not(.is-searching) .dr-benefit-group:nth-of-type(n+7) { display: none; }
.dr-benefit-show-more {
    width: 100%; min-height: 39px; padding: 8px 10px;
    border: 1px dashed #b7c6dc; border-radius: 10px;
    background: #f7f9fd; color: #173671; cursor: pointer;
    font-family: var(--di-font); font-size: .69rem; font-weight: 800;
}
.dr-benefit-show-more:hover { background: #edf3ff; border-color: #8ea8d2; }
.dr-benefit-option {
    display: flex; align-items: center; gap: 8px;
    padding: 7px; border-radius: 8px;
    cursor: pointer; transition: background .12s;
    font-size: .76rem; color: #475569; font-weight: 600;
    border: 1.5px solid transparent;
}
/* Ocultar el checkbox nativo (se usa el ícono custom .dr-benefit-check-icon) */
.dr-benefit-cb {
    position: absolute; opacity: 0; width: 0; height: 0; margin: 0; pointer-events: none;
}
.dr-benefit-option:hover { background: var(--di-gray-50); }
.dr-benefit-option.active {
    background: var(--di-primary-light); border-color: var(--di-primary);
    color: var(--di-primary);
}
.dr-benefit-check-icon {
    width: 16px; height: 16px; border-radius: 4px;
    border: 2px solid #cbd5e1; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: all .12s;
}
.dr-benefit-option.active .dr-benefit-check-icon {
    background: var(--di-primary); border-color: var(--di-primary);
}
.dr-benefit-option.active .dr-benefit-check-icon::after {
    content: '';
    display: block; width: 8px; height: 5px;
    border-left: 2px solid #fff; border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateY(-1px);
}

/* Provider (prepaga) filter */
.dr-provider-list {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
}
.dr-provider-option {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    padding: 10px 8px; min-height: 54px;
    border: 1.5px solid #e2e8f0; border-radius: 10px;
    background: #fff; cursor: pointer;
    transition: border-color .12s, background .12s, box-shadow .12s;
}
.dr-provider-option:hover { border-color: #cbd5e1; background: var(--di-gray-50); }
.dr-provider-option.active {
    border-color: var(--di-primary);
    background: var(--di-primary-light);
    box-shadow: 0 0 0 1px var(--di-primary) inset;
}
.dr-provider-option img {
    max-width: 100%; max-height: 27px; object-fit: contain; display: block;
}
.dr-provider-name-txt {
    font-size: .8rem; font-weight: 600; color: #475569; text-align: center;
    line-height: 1.2;
}
.dr-provider-option.active .dr-provider-name-txt { color: var(--di-primary); }
.dr-provider-check {
    position: absolute; top: -6px; right: -6px;
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--di-primary); color: #fff;
    display: none; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; line-height: 1;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
.dr-provider-option.active .dr-provider-check { display: flex; }

/* Selector principal de prepaga, sobre el resumen de resultados */
.dr-provider-strip {
    margin-bottom: 14px; padding: 9px 11px;
    border: 1.5px solid #e2e8f0; border-radius: 15px; background: #fff;
}
.dr-provider-carousel { position: relative; }
.dr-provider-carousel-btn,
.dr-provider-carousel-hint { display: none; }
.dr-provider-strip-heading {
    display: flex; align-items: center; gap: 7px; margin-bottom: 11px;
    color: #475569; font-size: .74rem; font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase;
}
.dr-provider-strip .dr-provider-list {
    display: grid; grid-template-columns: repeat(8, minmax(82px, 1fr)); gap: 7px;
}
.dr-provider-strip .dr-provider-option { min-height: 48px; padding: 7px 8px; }
.dr-provider-option-all { flex-direction: row; gap: 6px; }
.dr-provider-all-icon {
    width: 21px; height: 21px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; background: #eef2f8; color: #64748b; font-size: 11px; font-weight: 900;
}
.dr-provider-option-all.active .dr-provider-all-icon { background: var(--di-primary); color: #fff; }

/* Beneficio institucional de Avalian: aparece solo al seleccionar la prepaga. */
.dr-avalian-club-benefit[hidden] { display: none !important; }
.dr-avalian-club-benefit {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    margin: -2px 0 18px; padding: 18px 22px;
    border: 1px solid #dbe4f2; border-radius: 16px;
    background: linear-gradient(120deg, #f8fbff 0%, #fff 58%, #f3f8ff 100%);
    box-shadow: 0 8px 24px rgba(23,43,87,.06);
}
.dr-avalian-club-copy { min-width: 0; }
.dr-avalian-club-copy > span {
    display: block; margin-bottom: 4px; color: #154bd7;
    font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase;
}
.dr-avalian-club-copy h3 { margin: 0 0 4px; color: #172b57; font-size: 1rem; line-height: 1.25; }
.dr-avalian-club-copy p { margin: 0; max-width: 610px; color: #596b86; font-size: .79rem; line-height: 1.45; }
.dr-avalian-club-logos { display: flex; align-items: center; gap: 13px; flex: 0 0 auto; }
.dr-avalian-club-logos figure { margin: 0; min-width: 52px; text-align: center; }
.dr-avalian-club-logos img {
    width: 45px; height: 45px; display: block; margin: 0 auto 4px; object-fit: contain;
    filter: drop-shadow(0 3px 5px rgba(15,23,42,.12));
}
.dr-avalian-club-logos figcaption { color: #52627a; font-size: .61rem; font-weight: 800; }

/* Stars filter */
.dr-score-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.dr-score-option {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 10px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    cursor: pointer;
    font-family: var(--di-font);
    font-size: .84rem;
    font-weight: 700;
    transition: background .12s, border-color .12s, box-shadow .12s;
}
.dr-score-option:hover {
    background: var(--di-gray-50);
    border-color: #cbd5e1;
}
.dr-score-option.active {
    background: var(--di-primary-light);
    border-color: var(--di-primary);
    box-shadow: 0 0 0 1px var(--di-primary) inset;
    color: var(--di-primary);
}
.dr-score-label {
    flex: 1;
    text-align: left;
}
.dr-score-count {
    min-width: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--di-gray-100);
    color: var(--di-gray-600);
    font-size: .72rem;
    text-align: center;
}
.dr-score-option.active .dr-score-count {
    background: rgba(1,44,184,.12);
    color: var(--di-primary);
}

/* Clear */
.dr-clear-filters {
    width: auto; padding: 6px 8px; border: 1px solid #d6e0ed; border-radius: 8px;
    background: #fff; color: #52627a;
    font-size: .67rem; font-weight: 800; cursor: pointer;
    font-family: var(--di-font); transition: background .15s, color .15s;
    text-align: center;
}
.dr-clear-filters:hover { background: #fee2e2; color: #dc2626; }

/* ── Main ── */
.dr-main {
    flex: 1; padding: 30px 24px 24px;
    min-width: 0;
}

/* Results bar */
.dr-results-bar {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.dr-results-bar-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}
.dr-results-bar-right { display: flex; align-items: center; gap: 10px; }
.dr-results-count {
    font-size: 1.08rem; font-weight: 800; color: var(--di-gray-800);
    line-height: 1.2;
}
.dr-results-summary {
    font-size: .88rem;
    color: var(--di-gray-600);
    line-height: 1.35;
}
.dr-results-summary:empty { display: none; }
.dr-mobile-filters-toggle {
    display: none; align-items: center; gap: 6px;
    padding: 8px 16px; border-radius: 8px;
    border: 1.5px solid var(--di-gray-200);
    background: #fff; font-size: .85rem; font-weight: 600;
    color: var(--di-gray-800); cursor: pointer; font-family: var(--di-font);
}
.dr-mobile-filter-count {
    min-width: 19px; height: 19px; padding: 0 5px;
    align-items: center; justify-content: center;
    border-radius: 999px; background: var(--di-primary); color: #fff;
    font-size: .66rem; font-weight: 800; line-height: 19px; text-align: center;
}

/* Acento único de marca para resultados */
#dic-results-page {
    --dr-accent:       #0F2B7A;
    --dr-accent-hover: #0b2263;
    --dr-lavender:     #f3f1fc;
    background: var(--dr-lavender);
}

/* Cards grid */
.dr-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 22px;
    padding-top: 26px;   /* aire para las cards destacadas */
    align-items: start;
}

/* ── Card overrides for results page (más grandes) ── */
#dic-results-page .dic-result-card {
    border-radius: 28px;
    border: 1px solid #edf1f7;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 43, 122, .08);
    display: flex; flex-direction: column;
    transition: border-color .2s, box-shadow .2s, transform .2s;
    overflow: hidden;
    position: relative;
    min-height: 430px;
    order: 10;
}
#dic-results-page .dic-result-card:hover {
    border-color: #0F2B7A;
    box-shadow: 0 24px 56px rgba(15,43,122,.16);
    transform: translateY(-5px);
}
#dic-results-page .dic-result-card {
    --card-brand: #0F2B7A;
    --card-brand-soft: #e8ecf8;
}
#dic-results-page .dic-result-card.dic-has-brand:hover {
    border-color: var(--card-brand);
}

/* ── Card destacada (Recomendado / Plan inteligente) ── */
#dic-results-page .dic-result-card.dic-card-featured {
    --card-brand-soft: rgba(255,255,255,.14);
    order: 0;
    position: relative;
    color: #fff;
    background:
        radial-gradient(circle at 18% 8%, rgba(125, 211, 252, .2), transparent 28%),
        linear-gradient(155deg, #183d91 0%, #0F2B7A 54%, #071943 100%);
    border-color: rgba(255,255,255,.22);
    box-shadow: 0 28px 70px rgba(15,43,122,.32);
    transform: translateY(-14px);
    z-index: 2;
}
#dic-results-page .dic-result-card.dic-card-featured-best { order: -2; }
#dic-results-page .dic-result-card.dic-card-featured-value { order: -1; }
#dic-results-page .dic-result-card.dic-card-featured-economy { order: 0; }
#dic-results-page .dic-result-card.dic-card-featured::before,
#dic-results-page .dic-result-card.dic-card-featured::after {
    content: '';
    position: absolute;
    inset: 58px auto auto -28px;
    width: 140px;
    height: 140px;
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 28px;
    transform: rotate(45deg);
    pointer-events: none;
}
#dic-results-page .dic-result-card.dic-card-featured::after {
    inset: 84px -38px auto auto;
    width: 170px;
    height: 170px;
}
#dic-results-page .dic-result-card.dic-card-featured:hover {
    transform: translateY(-16px);
    box-shadow: 0 34px 82px rgba(15,43,122,.38);
}
#dic-results-page .dic-card-ribbon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: fit-content;
    max-width: calc(100% - 40px);
    margin: 18px auto 0;
    background: #fff;
    color: #0F2B7A;
    text-align: center;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 7px 14px;
    border-radius: 999px;
    line-height: 1.1;
    box-shadow: 0 12px 24px rgba(0,0,0,.14);
    position: relative;
    z-index: 1;
}
#dic-results-page .dic-card-featured .dic-price-amount { color: #fff; }
#dic-results-page .dic-card-featured .dic-btn-contact {
    background: #fff;
    color: #0F2B7A;
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
#dic-results-page .dic-card-featured .dic-btn-contact:hover {
    background: #f3f6ff;
    color: #0F2B7A;
    filter: none;
    box-shadow: 0 18px 38px rgba(0,0,0,.22);
}
#dic-results-page .dic-card-header {
    background: linear-gradient(180deg, #fff 0%, #f7f9fe 100%);
    border-top: 0;
    padding: 26px 20px 18px;
    position: relative;
    display: flex; flex-direction: column; gap: 10px;
    border-bottom: 1px solid #f1f5f9;
}
#dic-results-page .dic-card-featured .dic-card-header {
    background: transparent;
    border-bottom-color: rgba(255,255,255,.14);
    padding-top: 18px;
    position: relative;
    z-index: 1;
}
#dic-results-page .dic-card-badges {
    position: absolute; top: 14px; left: 14px;
}
/* Estrellas de la prepaga */
#dic-results-page .dic-card-score {
    position: absolute;
    top: 14px;
    right: 14px;
    left: auto;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #fff;
    border: 1.5px solid var(--card-brand-soft);
    padding: 4px 10px 4px 8px;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 800;
    color: #0F2B7A;
    box-shadow: 0 8px 18px rgba(15,43,122,.12);
    line-height: 1;
    z-index: 5;
}
#dic-results-page .dic-card-score-value { letter-spacing: .08em; }
#dic-results-page .dic-card-featured .dic-card-score {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.18);
    color: #fff;
}
#dic-results-page .dic-card-provider {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 6px;
    min-height: 88px; margin-top: 6px;
    padding: 0 58px;
    text-align: center;
}
#dic-results-page .dic-card-featured .dic-provider-label,
#dic-results-page .dic-card-featured .dic-provider-name { color: rgba(255,255,255,.72); }
#dic-results-page .dic-card-featured .dic-provider-logo {
    background: rgba(255,255,255,.92);
    border-radius: 14px;
    padding: 8px 12px;
}
#dic-results-page .dic-provider-label {
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    color: #94a3b8;
}
#dic-results-page .dic-provider-logo {
    max-height: 44px; max-width: 160px; object-fit: contain;
}
#dic-results-page .dic-provider-name {
    font-weight: 600; font-size: .95rem; letter-spacing: 0;
    line-height: 1.2;
    color: var(--card-brand);
}
#dic-results-page .dic-card-body {
    padding: 14px 22px 12px; flex: 1;
    position: relative;
    z-index: 1;
}
#dic-results-page .dic-plan-name {
    font-size: .98rem; font-weight: 700; color: var(--di-gray-800);
    margin: 2px 0 0; padding: 0 8px; line-height: 1.28;
    text-align: center;
}
#dic-results-page .dic-card-featured .dic-plan-name { color: #fff; }
#dic-results-page .dic-price-block {
    display: flex; flex-direction: column; gap: 3px;
    align-items: center;
    text-align: center;
}
#dic-results-page .dic-price-original {
    font-size: .8rem; color: #94a3b8; text-decoration: line-through;
}
#dic-results-page .dic-price-label {
    font-size: .72rem; color: #94a3b8; text-transform: uppercase;
    letter-spacing: .06em; font-weight: 600;
}
#dic-results-page .dic-card-featured .dic-price-label,
#dic-results-page .dic-card-featured .dic-price-original { color: rgba(255,255,255,.56); }
#dic-results-page .dic-price-original {
    font-size: .92rem; color: #94a3b8; font-weight: 600;
    text-decoration: line-through; text-decoration-color: #ef4444;
    text-decoration-thickness: 1.5px;
}
#dic-results-page .dic-price-amount {
    font-size: 2.55rem; font-weight: 800; color: var(--card-brand);
    letter-spacing: -.03em; line-height: 1.1; display: inline-flex;
    align-items: baseline; justify-content: center; flex-wrap: nowrap;
    gap: .16em; max-width: 100%; white-space: nowrap;
}
#dic-results-page .dic-price-period {
    flex: 0 0 auto; font-size: .38em; font-weight: 800;
    letter-spacing: 0; line-height: 1;
}
#dic-results-page .dic-price-savings {
    display: inline-block; margin-top: 6px;
    font-size: .78rem; color: #047857; font-weight: 700;
    background: #d1fae5; padding: 5px 12px; border-radius: 999px;
}
#dic-results-page .dic-price-savings::before { content: none; }
#dic-results-page .dic-card-featured .dic-price-savings {
    color: #064e3b;
    background: #a7f3d0;
}
#dic-results-page .dic-price-estimate-note {
    max-width:none; margin-top:8px; color:#66748d; font-size:.62rem; font-weight:650; line-height:1.3; white-space:nowrap;
}
#dic-results-page .dic-price-estimate-note::before { content:'ⓘ'; margin-right:4px; color:#2457d6; font-weight:900; }
#dic-results-page .dic-card-featured .dic-price-estimate-note { color:rgba(255,255,255,.76); }
#dic-results-page .dic-card-featured .dic-price-estimate-note::before { color:#fff; }
#dic-results-page .dic-card-promotions {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: 7px; margin: -2px 22px 14px; position: relative; z-index: 2;
}
#dic-results-page .dic-card-promotion-label {
    display: inline-flex; align-items: center; min-height: 27px; padding: 4px 10px;
    border: 1px solid #a7f3d0; border-radius: 999px; background: #ecfdf5;
    color: #065f46; font-size: .71rem; font-weight: 800; line-height: 1.25;
}
#dic-results-page .dic-card-promo-badges {
    position: relative; z-index: 3; display: flex; flex-direction: column;
    align-items: center; gap: 5px; margin: 0 0 11px;
}
#dic-results-page .dic-card-promo-badge {
    display: inline-flex; align-items: center; min-height: 27px; box-sizing: border-box;
    padding: 5px 10px; border: 1px solid #bfdbfe; border-radius: 999px;
    background: #0d55d9; box-shadow: 0 7px 17px rgba(13,85,217,.2);
    color: #fff; font-size: .62rem; font-weight: 900; letter-spacing: .025em;
    line-height: 1; text-transform: uppercase; white-space: nowrap;
}
#dic-results-page .dic-promotion-schedule-btn {
    padding: 3px 2px; border: 0; border-bottom: 1px solid currentColor;
    background: transparent; color: #154bd7; font: inherit; font-size: .71rem;
    font-weight: 800; cursor: pointer;
}
#dic-results-page .dic-card-featured .dic-card-promotion-label {
    border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.12); color: #fff;
}
#dic-results-page .dic-card-featured .dic-card-promo-badge {
    border-color: rgba(255,255,255,.75); background: rgba(255,255,255,.96);
    box-shadow: 0 9px 20px rgba(0,0,0,.16); color: #123b92;
}
#dic-results-page .dic-card-featured .dic-promotion-schedule-btn { color: #fff; }
.dic-promotion-modal-title { margin: 10px 0 8px; color: #172b57; font-size: .92rem; }
.dic-promotion-periods { border: 1px solid #e3e8f1; border-radius: 12px; overflow: hidden; }
.dic-promotion-period { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 14px; border-top: 1px solid #edf0f5; }
.dic-promotion-period:first-child { border-top: 0; }
.dic-promotion-period span { color: #52627a; }
.dic-promotion-period strong { color: #123b92; text-align: right; }
.dic-promotion-modal-note { margin: 10px 0 14px; color: #738097; font-size: .76rem; line-height: 1.45; }
#dic-results-page .dic-featured-benefits {
    list-style: none;
    width: fit-content;
    max-width: 100%;
    margin: 10px auto 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#dic-results-page .dic-featured-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: #334155;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}
#dic-results-page .dic-featured-benefits li::before {
    content: '›';
    width: auto;
    height: auto;
    margin-top: -.04em;
    border-radius: 0;
    background: transparent;
    color: #0F2B7A;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
    flex: 0 0 auto;
}
#dic-results-page .dic-card-featured .dic-featured-benefits li {
    color: rgba(255,255,255,.9);
}
#dic-results-page .dic-card-featured .dic-featured-benefits li::before {
    background: transparent;
    color: #a7f3d0;
}
/* Botón "Ver prestaciones incluidas" */
#dic-results-page .dic-benefits-btn {
    margin: 0 20px 12px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 14px;
    background: var(--card-brand-soft); color: #0F2B7A;
    border: 1.5px solid transparent; border-radius: 10px;
    font-size: .82rem; font-weight: 600; cursor: pointer;
    font-family: var(--di-font);
    transition: background .15s, border-color .15s;
    position: relative;
    z-index: 1;
}
#dic-results-page .dic-benefits-btn:hover {
    background: #fff; border-color: #0F2B7A;
}
#dic-results-page .dic-benefits-btn svg { flex-shrink: 0; }
#dic-results-page .dic-card-featured .dic-benefits-btn {
    background: rgba(255,255,255,.1);
    color: #fff;
    border-color: rgba(255,255,255,.18);
}
#dic-results-page .dic-card-featured .dic-benefits-btn:hover {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.3);
}

/* ── Modal de prestaciones ── */
body.dic-modal-open { overflow: hidden; }
.dic-modal-overlay {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, .55);
    opacity: 0; transition: opacity .2s ease;
    -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.dic-modal-overlay.dic-modal-visible { opacity: 1; }
.dic-modal-panel {
    width: 100%; max-width: 480px; max-height: 85vh;
    background: #fff; border-radius: 18px;
    display: flex; flex-direction: column;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
    transform: translateY(12px) scale(.98);
    transition: transform .2s ease;
    overflow: hidden;
    font-family: var(--di-font);
}
.dic-modal-visible .dic-modal-panel { transform: translateY(0) scale(1); }
.dic-modal-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 12px; padding: 20px 22px 16px;
    border-bottom: 1px solid #f1f5f9;
}
.dic-modal-provider {
    display: block; font-size: .7rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .08em; color: #94a3b8;
    margin-bottom: 2px;
}
.dic-modal-plan { margin: 0; font-size: 1.15rem; font-weight: 700; color: #1e293b; }
.dic-modal-close {
    flex-shrink: 0; width: 32px; height: 32px;
    border: none; border-radius: 8px; background: #f1f5f9;
    font-size: 1.4rem; line-height: 1; color: #64748b; cursor: pointer;
    transition: background .15s, color .15s;
}
.dic-modal-close:hover { background: #fee2e2; color: #dc2626; }
.dic-modal-body { padding: 8px 22px; overflow-y: auto; }
.dic-modal-benefits { list-style: none; margin: 0; padding: 0; }
.dic-modal-benefit {
    display: flex; align-items: baseline; gap: 10px;
    padding: 11px 0; border-bottom: 1px solid #f4f6f9;
    font-size: .9rem;
}
.dic-modal-benefit:last-child { border-bottom: none; }
.dic-modal-benefit-check {
    flex-shrink: 0; color: #10b981; font-weight: 700; font-size: .85rem;
}
.dic-modal-benefit-name { flex: 1; color: #334155; font-weight: 600; }
.dic-modal-benefit-value { color: #64748b; font-weight: 500; text-align: right; }
.dic-modal-footer { padding: 16px 22px 20px; border-top: 1px solid #f1f5f9; }
.dic-modal-footer .dic-modal-cta {
    width: 100%; padding: 13px;
    background: var(--di-primary); color: #fff;
    border: none; border-radius: 12px;
    font-size: .95rem; font-weight: 600; cursor: pointer;
    font-family: var(--di-font); transition: filter .15s;
}
.dic-modal-footer .dic-modal-cta:hover { filter: brightness(.93); }
@media (max-width: 520px) {
    .dic-modal-panel { max-height: 92vh; }
    .dic-modal-overlay { padding: 0; align-items: flex-end; }
    .dic-modal-panel { max-width: none; border-radius: 18px 18px 0 0; }
}
#dic-results-page .dic-card-footer {
    padding: 12px 22px 22px; margin-top: auto;
    position: relative;
    z-index: 1;
}
#dic-results-page .dic-btn-contact {
    width: 100%; padding: 12px;
    background: var(--card-brand); color: #fff;
    border: none; border-radius: 12px;
    font-size: .92rem; font-weight: 600; cursor: pointer;
    font-family: var(--di-font); transition: filter .15s, transform .15s;
}
#dic-results-page .dic-btn-contact:hover { filter: brightness(.92); transform: translateY(-1px); }
#dic-results-page .dic-badge {
    font-size: .65rem; font-weight: 600;
    padding: 4px 10px; border-radius: 999px;
    text-transform: uppercase; letter-spacing: .06em;
    white-space: nowrap;
}
#dic-results-page .dic-badge-eligible,
#dic-results-page .dic-badge-savings,
#dic-results-page .dic-badge-manual { background: var(--card-brand-soft); color: #0F2B7A; }
#dic-results-page .dic-card-featured .dic-badge-eligible,
#dic-results-page .dic-card-featured .dic-badge-savings,
#dic-results-page .dic-card-featured .dic-badge-manual {
    background: rgba(255,255,255,.12);
    color: #fff;
}
#dic-results-page .dic-badge-not-eligible { background: #f1f5f9; color: #64748b; }
#dic-results-page .dic-card-warnings  { padding: 8px 20px; font-size: .8rem; color: #92400e; }
#dic-results-page .dic-card-warnings ul { padding-left: 16px; }

/* Loading / empty states */
.dr-loading-state {
    display: flex; align-items: center; justify-content: center;
    min-height: 300px;
}
.dr-loading-inner {
    text-align: center; color: var(--di-gray-600);
}
.dr-spinner-ring {
    width: 48px; height: 48px; border-radius: 50%;
    border: 4px solid var(--di-primary-light);
    border-top-color: var(--di-primary);
    animation: dr-spin 0.8s linear infinite;
    margin: 0 auto 16px;
}
@keyframes dr-spin { to { transform: rotate(360deg); } }

.dr-no-session {
    display: flex; align-items: center; justify-content: center;
    min-height: 300px; padding: 40px 20px;
}
.dr-no-session-inner {
    text-align: center; max-width: 380px;
}
.dr-no-session-icon { font-size: 3.5rem; display: block; margin-bottom: 16px; }
.dr-no-session-inner h2 { font-size: 1.4rem; font-weight: 600; margin-bottom: 10px; }
.dr-no-session-inner p { color: var(--di-gray-600); margin-bottom: 22px; }
.di-btn-primary-solid {
    display: inline-block; padding: 13px 28px;
    background: var(--di-primary); color: #fff;
    border-radius: 999px; font-weight: 600; font-size: .97rem;
    text-decoration: none; transition: background .15s;
}
.di-btn-primary-solid:hover { background: var(--di-primary-hover); text-decoration: none; color: #fff; }

.dr-no-results {
    width: min(100%, 650px); margin: 38px auto 70px; padding: 38px 30px;
    text-align: center; color: var(--di-gray-600);
    border: 1px solid #dfe7f3; border-radius: 22px; background: #fff;
    box-shadow: 0 18px 48px rgba(22,42,91,.08);
}
.dr-no-results-icon {
    width: 58px; height: 58px; margin: 0 auto 16px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 17px; background: #edf3ff; color: var(--di-primary);
}
.dr-no-results h2 {
    margin: 0 0 8px; color: #172b53;
    font-size: 1.22rem; font-weight: 800; line-height: 1.25;
}
.dr-no-results p {
    max-width: 510px; margin: 0 auto; color: #64748b;
    font-size: .9rem; line-height: 1.55;
}
.dr-no-results-actions {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 9px; margin-top: 21px;
}
.dr-no-results-actions button {
    min-height: 42px; padding: 9px 17px; border-radius: 10px;
    font: inherit; font-size: .79rem; font-weight: 800; cursor: pointer;
}
.dr-no-results-primary {
    border: 1px solid var(--di-primary); background: var(--di-primary); color: #fff;
}
.dr-no-results-secondary {
    border: 1px solid #cbd7e8; background: #fff; color: #173671;
}
.dr-no-results-actions button:hover { transform: translateY(-1px); }
.dr-no-results-actions button:focus-visible { outline: 2px solid var(--di-primary); outline-offset: 2px; }
@media (max-width: 600px) {
    .dr-no-results { margin: 24px auto 48px; padding: 30px 20px; border-radius: 18px; }
    .dr-no-results-actions { flex-direction: column; }
    .dr-no-results-actions button { width: 100%; }
}
/* ── Mobile ── */
@media (max-width: 900px) {
    .dr-layout { flex-direction: column; }
    .dr-sidebar {
        position: fixed; top: 0; left: 0; bottom: 0;
        width: 300px; max-height: 100vh;
        z-index: 200; padding: 0;
        transform: translateX(-100%); transition: transform .25s ease;
        background: #fff; box-shadow: 4px 0 20px rgba(0,0,0,.15);
        overflow-y: auto;
    }
    .dr-sidebar--open { transform: translateX(0); }
    .dr-sidebar-inner {
        border-radius: 0; border: none; min-height: 100%; height: auto; padding: 12px;
        box-sizing: border-box; box-shadow: none; overflow: visible;
    }
    .dr-sidebar-close { display: flex; }
    .dr-main {
        width: 100%; max-width: 100vw; min-width: 0; box-sizing: border-box;
        padding: 16px 16px 88px; overflow: hidden;
    }
    .dr-results-bar {
        width: calc(100vw - 32px); max-width: 100%; box-sizing: border-box;
    }
    .dr-results-bar-left { flex: 1 1 100%; }
    .dr-results-bar-right { width: 0; height: 0; gap: 0; }
    .dr-results-bar-right .dr-back-link { display: none; }
    .dr-view-switch { margin-bottom:14px; }
    .dr-view-switch-option { min-height:40px; padding:7px 8px; font-size:.7rem; }
    .dr-provider-strip {
        width: calc(100vw - 32px); max-width: 100%; box-sizing: border-box;
        margin-bottom: 12px; padding: 7px 7px 5px; overflow: hidden;
    }
    .dr-provider-strip .dr-provider-list {
        display: flex; gap: 7px; overflow-x: auto; padding: 1px 23px 2px 1px;
        scroll-snap-type: x mandatory; scrollbar-width: none;
        overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
    }
    .dr-provider-strip .dr-provider-list::-webkit-scrollbar { display: none; }
    .dr-provider-strip .dr-provider-option {
        flex: 0 0 92px; min-height: 44px; padding: 6px 7px;
        scroll-snap-align: start; scroll-snap-stop: always;
    }
    .dr-provider-strip .dr-provider-option img { max-height: 24px; }
    .dr-provider-strip .dr-provider-name-txt { font-size: .68rem; }
    .dr-provider-carousel-btn {
        position: absolute; top: 50%; z-index: 4;
        display: flex; align-items: center; justify-content: center;
        width: 30px; height: 30px; padding: 0; border: 1px solid #d8e1f0;
        border-radius: 50%; background: #fff; color: var(--di-primary);
        box-shadow: 0 5px 15px rgba(15,42,93,.22); transform: translateY(-50%);
        transition: opacity .15s, transform .15s;
    }
    .dr-provider-carousel-prev { left: 2px; }
    .dr-provider-carousel-next { right: 2px; }
    .dr-provider-carousel-btn:active { transform: translateY(-50%) scale(.94); }
    .dr-provider-carousel-btn:disabled { opacity: 0; pointer-events: none; }
    .dr-provider-carousel-hint {
        display: block; margin: 4px 3px 0; color: #64748b;
        font-size: .62rem; font-weight: 700; text-align: right;
    }
    .dr-avalian-club-benefit {
        width: calc(100vw - 32px); max-width: 100%; box-sizing: border-box;
        margin-bottom: 14px;
    }
    .dr-mobile-filters-toggle {
        position: fixed; right: 16px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 190;
        display: flex; align-items: center; justify-content: center; gap: 7px;
        min-height: 48px; padding: 11px 18px; border: 0; border-radius: 999px;
        background: var(--di-primary); color: #fff; font-size: .78rem; font-weight: 800;
        box-shadow: 0 12px 30px rgba(1,44,184,.32);
    }
    .dr-mobile-filters-toggle:hover { background: var(--di-primary-hover); }
    .dr-mobile-filter-count { background: #fff; color: var(--di-primary); }
    .dic-category-tabs,
    .dr-cards-grid {
        width: calc(100vw - 32px); max-width: 100%; min-width: 0; box-sizing: border-box;
    }
    .dic-category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dr-cards-grid { grid-template-columns: 1fr 1fr; }
    #dic-results-page .dic-result-card { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
}
@media (max-width: 540px) {
    #dic-results-page .dic-price-estimate-note { max-width:none; font-size:.52rem; line-height:1.25; }
    .dr-cards-grid { grid-template-columns: 1fr; }
    .dr-avalian-club-benefit { align-items: flex-start; flex-direction: column; gap: 15px; padding: 17px; }
    .dr-avalian-club-logos { width: 100%; justify-content: center; gap: 22px; }
    .dr-avalian-club-logos img { width: 42px; height: 42px; }
    #dic-results-page .dic-result-card.dic-card-featured,
    #dic-results-page .dic-result-card.dic-card-featured:hover { transform: none; }
}

/* Featured pricing-card finish: keep highlighted plans pinned and visually distinct. */
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured {
    order: -1 !important;
    background:
        radial-gradient(circle at 16% 7%, rgba(125,211,252,.22), transparent 28%),
        linear-gradient(155deg, #183d91 0%, #0F2B7A 56%, #071943 100%) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 30px 74px rgba(15,43,122,.34) !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-best { order: -3 !important; }
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-value { order: -2 !important; }
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-economy { order: -1 !important; }
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-value {
    background:
        radial-gradient(circle at 16% 7%, rgba(186,230,253,.28), transparent 30%),
        linear-gradient(155deg, #0E7490 0%, #0B4F8A 52%, #082F63 100%) !important;
    box-shadow: 0 30px 74px rgba(14,116,144,.32) !important;
}
#dic-results-page .dic-result-card.dic-card-featured-value .dic-card-ribbon,
#dic-results-page .dic-result-card.dic-card-featured-value .dic-btn-contact {
    color: #0B4F8A !important;
}
#dic-results-page .dic-result-card.dic-card-featured-value .dic-badge,
#dic-results-page .dic-result-card.dic-card-featured-value .dic-price-savings,
#dic-results-page .dic-result-card.dic-card-featured-value .dic-benefits-btn {
    background: rgba(224,247,255,.16) !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-economy {
    background:
        radial-gradient(circle at 16% 7%, rgba(191,219,254,.24), transparent 30%),
        linear-gradient(155deg, #1D4ED8 0%, #0F2B7A 56%, #06183E 100%) !important;
    box-shadow: 0 30px 74px rgba(29,78,216,.28) !important;
}
#dic-results-page .dic-result-card.dic-card-featured-economy .dic-card-ribbon,
#dic-results-page .dic-result-card.dic-card-featured-economy .dic-btn-contact {
    color: #1D4ED8 !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-card-ribbon {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: calc(100% - 40px) !important;
    margin: 18px auto 0 !important;
    padding: 7px 15px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0F2B7A !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.14) !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-card-header,
#dic-results-page .dic-result-card.dic-card-featured .dic-card-body,
#dic-results-page .dic-result-card.dic-card-featured .dic-card-footer {
    background: transparent !important;
    color: #fff !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-card-header,
#dic-results-page .dic-result-card.dic-card-featured .dic-card-footer {
    border-color: rgba(255,255,255,.14) !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-plan-name,
#dic-results-page .dic-result-card.dic-card-featured .dic-price-amount {
    color: #fff !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-provider-label,
#dic-results-page .dic-result-card.dic-card-featured .dic-provider-name,
#dic-results-page .dic-result-card.dic-card-featured .dic-price-label,
#dic-results-page .dic-result-card.dic-card-featured .dic-price-original {
    color: rgba(255,255,255,.66) !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-badge,
#dic-results-page .dic-result-card.dic-card-featured .dic-price-savings,
#dic-results-page .dic-result-card.dic-card-featured .dic-benefits-btn {
    background: rgba(255,255,255,.13) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.18) !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-featured-benefits li {
    color: rgba(255,255,255,.9) !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-price-savings {
    background: #a7f3d0 !important;
    color: #064e3b !important;
    border-color: transparent !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-btn-contact {
    background: #fff !important;
    color: #0F2B7A !important;
    border-color: #fff !important;
}

/* ════════════════════════════════════════════════════════════
   Colores por categoría de card destacada (override del tema).
   Definido último para ganar sobre la base azul de arriba.
   El contenedor de la grilla tiene clase .dr-cards-grid.
   ════════════════════════════════════════════════════════════ */

/* "Recomendados" (selección manual) → card VERDE */
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-best {
    background:
        radial-gradient(circle at 16% 7%, rgba(187,247,208,.26), transparent 30%),
        linear-gradient(155deg, #16A34A 0%, #15803D 55%, #0A3D1E 100%) !important;
    box-shadow: 0 30px 74px rgba(21,128,61,.30) !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-best .dic-card-ribbon,
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-best .dic-btn-contact {
    color: #15803D !important;
}

/* "Mayor cobertura" (automático por estrellas) → card NEGRA con DORADO */
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-premium {
    background:
        radial-gradient(circle at 16% 7%, rgba(200,150,30,.18), transparent 32%),
        linear-gradient(155deg, #2A2A38 0%, #16161F 55%, #07070C 100%) !important;
    border-color: rgba(200,150,30,.45) !important;
    box-shadow: 0 30px 74px rgba(0,0,0,.45) !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-premium .dic-card-ribbon {
    background: #C8961E !important;
    color: #1A1A2E !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-premium .dic-btn-contact {
    background: #C8961E !important;
    color: #1A1A2E !important;
    border-color: #C8961E !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured-premium .dic-price-savings {
    background: #C8961E !important;
    color: #1A1A2E !important;
}

/* En las pestañas que reordenan (Mejor precio por precio, Mayor cobertura por
   estrellas) manda el orden del DOM: anulamos el "order" fijo de las destacadas. */
#dic-results-page .dr-cards-grid.dic-cat-sorted > .dic-result-card { order: 0 !important; }

/* Acciones de cada plan: dos secundarias 50/50 y WhatsApp como CTA principal. */
#dic-results-page .dic-card-secondary-actions {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
    margin: 0 20px 12px; position: relative; z-index: 1;
}
#dic-results-page .dic-card-secondary-actions.has-one-action { grid-template-columns: 1fr; }
#dic-results-page .dic-card-secondary-actions > .dic-benefits-btn,
#dic-results-page .dic-card-secondary-actions > .dic-sanatoriums-btn {
    width: 100%; min-width: 0; min-height: 44px; margin: 0;
    padding: 8px 7px; border: 1px solid #d7e0ed; border-radius: 10px;
    background: #f8fafc; color: #173671;
    font-family: var(--di-font); font-size: .7rem; font-weight: 800; line-height: 1.2;
    align-items: center; justify-content: center; gap: 5px;
    white-space: normal; text-align: center; cursor: pointer;
}
#dic-results-page .dic-card-secondary-actions > button:only-child { grid-column: 1 / -1; }
#dic-results-page .dic-card-secondary-actions > button:hover {
    background: #eef3ff; border-color: #9eb2d4; color: #0f2b7a;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-card-secondary-actions > button {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.24) !important;
    color: #fff !important;
}
#dic-results-page .dic-result-card.dic-card-featured .dic-card-secondary-actions > button:hover {
    background: rgba(255,255,255,.2) !important;
}
#dic-results-page .dic-card-footer { padding: 0 20px 20px; }
#dic-results-page .dic-result-card .dic-card-action {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 12px; border: 1px solid #159447 !important;
    border-radius: 12px; background: #1faa59 !important; color: #fff !important;
    font-size: .86rem; font-weight: 800; line-height: 1.2;
    text-decoration: none; cursor: pointer;
    box-shadow: 0 10px 22px rgba(31,170,89,.2);
}
#dic-results-page .dic-result-card .dic-card-action:hover {
    background: #188b49 !important; color: #fff !important;
    filter: none; text-decoration: none; transform: translateY(-1px);
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured .dic-card-action {
    background: #1faa59 !important; color: #fff !important;
    border-color: #159447 !important;
}
#dic-results-page .dr-cards-grid > .dic-result-card.dic-card-featured .dic-card-action:hover {
    background: #188b49 !important; color: #fff !important;
}
#dic-results-page .dic-card-action svg { flex: 0 0 auto; }

@media (max-width: 420px) {
    #dic-results-page .dic-card-secondary-actions { gap: 7px; margin-inline: 16px; }
    #dic-results-page .dic-card-secondary-actions > .dic-benefits-btn,
    #dic-results-page .dic-card-secondary-actions > .dic-sanatoriums-btn { font-size: .66rem; padding-inline: 5px; }
    #dic-results-page .dic-card-footer { padding-inline: 16px; }
}

/* Mobile compacto: dos planes por fila sin recortar contenido. */
@media (max-width: 540px) {
    #dic-results-page .dic-category-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 4px !important;
        padding: 4px !important;
    }
    #dic-results-page .dic-category-tab {
        min-width: 0;
        min-height: 50px;
        padding: 6px 2px;
        white-space: normal;
    }
    #dic-results-page .dic-category-tab-copy {
        width: 100%;
        min-width: 0;
    }
    #dic-results-page .dic-category-tab-label {
        font-size: .61rem;
        line-height: 1.12;
        overflow-wrap: normal;
    }
    .dr-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        padding-top: 14px;
    }
    #dic-results-page .dic-result-card {
        min-height: 0;
        border-radius: 19px;
        box-shadow: 0 12px 28px rgba(15,43,122,.09);
    }
    #dic-results-page .dic-card-ribbon,
    #dic-results-page .dic-result-card.dic-card-featured .dic-card-ribbon {
        max-width: calc(100% - 20px) !important;
        margin: 33px auto 0 !important;
        padding: 5px 8px !important;
        font-size: .51rem !important;
        line-height: 1.15 !important;
        letter-spacing: .045em !important;
        white-space: normal !important;
    }
    #dic-results-page .dic-card-score {
        top: 9px;
        right: 9px;
        padding: 4px 6px;
        font-size: .61rem;
        gap: 1px;
    }
    #dic-results-page .dic-card-header,
    #dic-results-page .dic-card-featured .dic-card-header {
        padding: 10px 8px 9px;
        gap: 5px;
    }
    #dic-results-page .dic-card-provider {
        min-height: 68px;
        margin-top: 18px;
        padding: 0 8px;
    }
    #dic-results-page .dic-card-featured .dic-card-provider { margin-top: 2px; }
    #dic-results-page .dic-provider-logo {
        max-width: 108px;
        max-height: 34px;
    }
    #dic-results-page .dic-card-featured .dic-provider-logo {
        padding: 5px 7px;
        border-radius: 9px;
    }
    #dic-results-page .dic-provider-name { font-size: .75rem; }
    #dic-results-page .dic-card-body {
        padding: 10px 9px 8px;
    }
    #dic-results-page .dic-plan-name {
        margin: 0;
        padding: 0 4px;
        font-size: .72rem;
        line-height: 1.22;
        overflow-wrap: anywhere;
    }
    #dic-results-page .dic-price-label { font-size: .56rem; }
    #dic-results-page .dic-price-original { font-size: .66rem; }
    #dic-results-page .dic-price-amount {
        font-size: clamp(1.25rem, 5.8vw, 1.62rem);
        letter-spacing: -.045em;
        gap: .1em;
    }
    #dic-results-page .dic-price-period { font-size: .42em; }
    #dic-results-page .dic-price-savings {
        max-width: 100%;
        padding: 4px 7px;
        font-size: .58rem;
        line-height: 1.2;
        white-space: normal;
        text-align: center;
    }
    #dic-results-page .dic-card-promo-badges {
        gap: 4px;
        margin: 0 6px 7px;
    }
    #dic-results-page .dic-card-promo-badge {
        min-height: 0;
        max-width: 100%;
        padding: 5px 7px;
        font-size: .49rem;
        line-height: 1.2;
        white-space: normal;
        text-align: center;
    }
    #dic-results-page .dic-card-promotions {
        gap: 4px;
        margin: 0 8px 8px;
    }
    #dic-results-page .dic-card-promotion-label {
        min-height: 0;
        padding: 4px 7px;
        font-size: .55rem;
        text-align: center;
    }
    #dic-results-page .dic-featured-benefits {
        margin-top: 9px;
        gap: 5px;
    }
    #dic-results-page .dic-featured-benefits li {
        gap: 4px;
        font-size: .61rem;
        line-height: 1.28;
    }
    #dic-results-page .dic-featured-benefits li::before { font-size: .82rem; }
    #dic-results-page .dic-card-secondary-actions {
        grid-template-columns: 1fr;
        gap: 6px;
        margin: 0 9px 8px;
    }
    #dic-results-page .dic-card-secondary-actions > .dic-benefits-btn,
    #dic-results-page .dic-card-secondary-actions > .dic-sanatoriums-btn {
        min-height: 35px;
        padding: 6px 5px;
        font-size: .58rem;
        border-radius: 8px;
    }
    #dic-results-page .dic-card-footer {
        padding: 0 9px 10px;
    }
    #dic-results-page .dic-result-card .dic-card-action {
        min-height: 38px;
        padding: 8px 5px;
        gap: 5px;
        border-radius: 9px;
        font-size: .62rem;
        text-align: center;
    }
    #dic-results-page .dic-card-action svg { width: 13px; height: 13px; }
}
