/* ========================================================================== 
   QUINIGOL REDUCIDAS · CSS específico limpio
   Contiene solo panel de reducción, resumen, validación y modal automático.
   El boleto queda gobernado por quinigol-base.css, igual que Quinigol condicionado.
   ========================================================================== */

body.theme-quinigol-reducidas { background: var(--color-bg); }

/* Presupuesto: medidas comunes a las otras reducidas, con el tema de Quinigol. */
.qgb-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin:0 0 .55rem; padding:4px; border-radius:6px; background:rgba(0,0,0,.06); }
.qgb-mode-switch button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px; padding:5px 10px; border:0; border-radius:4px; background:#fff; color:var(--color-primary); font-family:inherit; font-size:.74rem; font-weight:700; line-height:1.1; cursor:pointer; }
.qgb-mode-switch .material-icons-outlined { font-size:17px; }
.qgb-mode-switch button.is-active { background:var(--color-primary); color:#fff; box-shadow:0 1px 4px rgba(0,0,0,.18); }
.qgb-budget-active .reductions-toolbar, .qgb-budget-active .reduction-generator-head, .qgb-budget-active .reduction-explainer, .qgb-budget-active .reduction-mode-grid { display:none; }
#qgb-controls[hidden], #qgb-options[hidden] { display:none; }
#qgb-controls { display:grid; gap:.55rem; margin-bottom:.65rem; }
.qgb-title { color:var(--color-primary); font-size:.9rem; font-weight:800; text-align:center; }
.qgb-stepper { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:.35rem; align-items:center; }
.qgb-stepper > button { display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:50%; background:var(--color-primary); color:#fff; cursor:pointer; box-shadow:var(--shadow-sm); }
.qgb-input { position:relative; min-width:0; }
.qgb-input > span { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--color-primary); font-size:1rem; font-weight:700; }
.qgb-input input { box-sizing:border-box; width:100%; height:52px; padding:7px 12px 7px 34px; border:2px solid var(--color-primary); border-radius:6px; background:#fff; color:var(--color-primary); font-family:inherit; font-size:1.2rem; font-weight:800; text-align:center; }
.qgb-input input[aria-invalid="true"] { border-color:#b91c1c; }
#qgb-hint { color:var(--color-text-mid); font-size:.66rem; line-height:1.35; text-align:center; }
.qgb-presets { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.35rem; }
.qgb-presets button { height:34px; min-height:34px; padding:5px 7px; border:1px solid #d5dacb; border-radius:5px; background:#fff; color:var(--color-primary); font-family:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.qgb-presets button.is-active { border-color:var(--color-primary); background:var(--color-primary); color:#fff; }
.qgb-note { margin:0; color:var(--color-text-mid); font-size:.72rem; line-height:1.4; }
#qgb-options { display:grid; grid-template-columns:1fr; gap:.5rem; margin:0 0 .75rem; }
.qgb-card { min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:.5rem; align-items:center; padding:.62rem; border:1px solid #d5dacb; border-radius:6px; background:#fff; color:var(--color-text-dark); text-align:left; font-family:inherit; cursor:pointer; box-shadow:var(--shadow-sm); }
.qgb-card.is-selected { border:2px solid var(--color-primary); background:color-mix(in srgb,var(--color-primary) 8%,#fff); }
.qgb-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--color-primary) 12%,#fff); color:var(--color-primary); font-size:18px; }
.qgb-card.is-selected .qgb-icon { background:var(--color-primary); color:#fff; }
.qgb-copy strong { display:block; color:var(--color-primary); font-size:.78rem; line-height:1.15; }
.qgb-copy small { display:block; margin-top:.1rem; color:var(--color-text-mid); font-size:.62rem; line-height:1.2; }
.qgb-copy b { display:block; margin-top:.2rem; font-size:.64rem; line-height:1.2; }
.qgb-price { display:grid; gap:.12rem; justify-items:end; color:var(--color-primary); white-space:nowrap; }
.qgb-price strong { font-size:.86rem; line-height:1.05; }
.qgb-price small { font-size:.62rem; }
.qgb-price em { font-size:.6rem; font-style:normal; font-weight:700; }
.qgb-mode-switch button:disabled, #qgb-controls button:disabled, .qgb-card:disabled { cursor:wait; opacity:.65; }
.qgb-mode-switch button:focus-visible, #qgb-controls button:focus-visible, .qgb-card:focus-visible { outline:3px solid var(--color-primary); outline-offset:2px; }
.qgb-stepper > button { font-size:1.35rem; }
.qgb-stepper .material-icons-outlined { font-size:inherit; }
.qgb-note strong { display:block; color:var(--color-primary); font-size:.9rem; margin-bottom:.3rem; }
.qgb-card { min-height:150px; grid-template-columns:34px minmax(0,1fr); padding-top:.95rem; }
.qgb-price { grid-column:1 / -1; grid-template-columns:1fr auto; }
.qgb-price strong { justify-self:start; }
.qgb-price em { grid-column:1 / -1; }
@media (min-width:992px) {
    #qgb-controls { grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr); column-gap:1rem; }
    .qgb-title { grid-column:2; grid-row:1; }
    .qgb-stepper { grid-column:2; grid-row:2; }
    #qgb-hint { grid-column:2; grid-row:3; }
    .qgb-presets { grid-column:1 / -1; grid-row:4; }
    .qgb-note { grid-column:1; grid-row:1 / 4; align-self:center; }
    #qgb-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
    #qgb-options:has(.qgb-card:only-child) { grid-template-columns:1fr; }
}
.quinigol-reducidas-container { max-width: 1300px; }

/* V12: compatibilidad de layout. El boleto queda 100% gobernado por quinigol-base.css,
   que ahora replica el CSS del Quinigol condicionado. Solo evitamos crear una fila
   vacía de "summary" en reducidas, porque aquí el resumen va dentro del panel derecho. */
@media (min-width: 992px) {
    .quinigol-reducidas-container {
        grid-template-areas: "selection filters";
    }
}


.reductions-panel .panel-body { display: flex; flex-direction: column; }

.reductions-toolbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.reduction-counter {
    border: 1px solid rgba(69, 187, 207, .18);
    border-radius: 12px;
    background: #fff;
    padding: 9px 8px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(52, 140, 155, .06);
}
.reduction-counter span {
    display: block;
    color: var(--color-text-mid);
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .25px;
    line-height: 1.1;
}
.reduction-counter strong {
    display: block;
    margin-top: 2px;
    color: var(--color-primary);
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 900;
}

.reduction-generator-box {
    position: relative;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid rgba(69, 187, 207, .18);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(52, 140, 155, .06);
}
.reduction-generator-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.reduction-generator-head strong {
    color: var(--color-primary);
    font-size: .86rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .25px;
}
.reduction-generator-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ecfdf3;
    border: 1px solid #bbf7d0;
    color: #166534;
    padding: 4px 9px;
    font-size: .66rem;
    font-weight: 900;
    text-align: center;
}
.reduction-explainer {
    margin: 0 0 10px;
    color: var(--color-text-dark);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.28;
}

.reduction-mode-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 10px;
}
.reduction-mode {
    appearance: none;
    min-height: 62px;
    border: 1px solid rgba(69, 187, 207, .32);
    border-radius: 10px;
    background: #f8fdfe;
    color: var(--color-text-dark);
    cursor: pointer;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 1px;
    padding: 6px 4px;
    text-align: center;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.reduction-mode span {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid rgba(69, 187, 207, .38);
    background: #fff;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1;
}
.reduction-mode strong {
    display: block;
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.05;
}
.reduction-mode small {
    display: block;
    color: var(--color-text-mid);
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.05;
}
.reduction-mode.is-active,
.reduction-mode[aria-pressed="true"] {
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
    border-color: var(--color-primary);
    color: #fff;
    box-shadow: 0 8px 18px rgba(52, 140, 155, .20);
}
.reduction-mode.is-active span,
.reduction-mode[aria-pressed="true"] span {
    background: #fff;
    color: var(--color-primary);
}
.reduction-mode.is-active small,
.reduction-mode[aria-pressed="true"] small { color: rgba(255,255,255,.92); }
@media (hover: hover) and (pointer: fine) {
    .reduction-mode:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
}

.btn-apply-reduction {
    width: 100%;
    min-height: 42px;
    font-size: .84rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.generation-progress {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(69,187,207,.22);
    border-radius: 10px;
    background: #f0fbfd;
    color: var(--color-primary);
    padding: 8px 10px;
    font-size: .78rem;
    font-weight: 800;
}
.generation-progress[hidden] { display: none !important; }
.reduction-generator-box .status-box { margin: 8px 0 0; max-width: none; padding: 8px 10px; font-size: .78rem; font-weight: 800; }

.reduction-live-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 10px;
}
.reduction-live-summary > div {
    border: 1px solid rgba(69, 187, 207, .16);
    background: #fff;
    border-radius: 10px;
    padding: 8px 7px;
    min-width: 0;
    box-shadow: 0 3px 9px rgba(52, 140, 155, .05);
}
.reduction-live-summary span {
    display: block;
    color: var(--color-text-mid);
    font-size: .55rem;
    text-transform: uppercase;
    font-weight: 900;
    line-height: 1.05;
}
.reduction-live-summary strong {
    display: block;
    color: var(--color-primary);
    font-size: .82rem;
    font-weight: 900;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reduction-live-summary > div:last-child strong { color: #15803d; }

.reduction-details {
    margin-top: 8px;
    border: 1px solid rgba(69, 187, 207, .18);
    border-radius: 13px;
    background: linear-gradient(180deg, #ffffff, #f8fdfe);
    padding: 12px;
}
.reduction-details.is-empty { display: none; }
.reduction-details h3 {
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--color-primary);
    font-size: .92rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .18px;
}
.guarantee-html { color: var(--color-text-dark); font-size: .82rem; line-height: 1.42; }
.guarantee-html p { margin: 0 0 8px; }
.guarantee-html ul,
.guarantee-html ol { margin: 6px 0 8px 18px; }
.guarantee-html h1,
.guarantee-html h2,
.guarantee-html h3,
.guarantee-html h4 { color: var(--color-primary); margin: 8px 0 5px; font-weight: 900; }
.guarantee-html .qgg-guarantee-line,
.guarantee-html .guarantee-line,
.guarantee-html li {
    border: 1px solid rgba(69, 187, 207, .18);
    border-radius: 8px;
    background: #fff;
    padding: 6px 8px;
    margin-bottom: 6px;
}

.inline-validate-box {
    display: none;
    margin-top: 10px;
    border: 1px solid rgba(69, 187, 207, .22);
    border-radius: 13px;
    background: #f0fbfd;
    padding: 12px;
}

body.has-reduction-generated .inline-validate-box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.inline-validate-box .btn {
    flex: 0 0 auto;
    width: min(320px, 100%);
    min-height: 48px;
    padding-left: 22px;
    padding-right: 22px;
}

@media (min-width: 992px) {
    .inline-validate-box {
        padding: 14px 16px;
    }

    .inline-validate-box .btn {
        width: 340px;
        min-height: 50px;
    }
}

.manual-upload-fallback {
    margin-top: 12px;
    border: 1px solid rgba(245, 158, 11, .35);
    background: #fff7ed;
    border-radius: 12px;
    padding: 12px;
    color: #9a3412;
}
.manual-upload-fallback h3 { margin: 0 0 6px; font-size: .95rem; }
.manual-upload-fallback p { margin: 0 0 8px; font-size: .82rem; }
.manual-upload-fallback form { display: grid; gap: 8px; }
.manual-upload-fallback input[type=file] { background: #fff; border: 1px solid #fed7aa; border-radius: 8px; padding: 8px; }

.auto-modal-backdrop,
.auto-modal-backdrop.show { display: none !important; }
.auto-modal {
    display: none;
    position: absolute;
    z-index: 1200;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    width: 310px;
    max-width: min(310px, calc(100vw - 20px));
    background: #ffffff;
    color: var(--color-text-dark);
    border: 2px solid var(--color-primary);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .20);
    border-radius: 14px;
    padding: .95rem .95rem .85rem;
    opacity: 0;
    transform: translateY(-8px) scale(.98);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
    overflow: visible;
}
.auto-modal.show,
.auto-modal[aria-hidden="false"] { display: block; opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.auto-modal-header { display: block; position: relative; padding: 0; margin: 0 0 .35rem; border: none; background: transparent; }
.auto-modal-header h3 { margin: 0; padding-right: 1.3rem; color: var(--color-primary); font-size: .98rem; font-weight: 800; line-height: 1.15; display: flex; align-items: center; gap: 5px; }
.auto-modal-header h3 .material-icons-outlined { font-size: 1.08rem; }
.auto-modal-close {
    position: absolute;
    top: -.28rem;
    right: -.35rem;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 999px;
    background: rgba(69, 187, 207, .12);
    color: var(--color-primary);
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.auto-modal-body { padding: 0; }
.auto-modal-body p { margin: 0 0 .7rem 0; font-size: .73rem; line-height: 1.28; color: var(--color-text-mid); font-weight: 500; }
.auto-stepper-grid { display: grid; grid-template-columns: 1fr; gap: .48rem; }
.auto-stepper {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .42rem .48rem;
    border: 1px solid rgba(69, 187, 207, .22);
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #f5fbfc 100%);
    text-align: left;
}
.auto-stepper strong { display: block; margin: 0; font-size: .68rem; line-height: 1.15; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; color: var(--color-text-mid); }
.auto-stepper-control { display: inline-grid; grid-template-columns: 30px 36px 30px; align-items: center; gap: 4px; }
.auto-stepper-control button { width: 30px; height: 30px; border: none; border-radius: 8px; background: var(--color-primary); color: #ffffff; font-size: 1.12rem; font-weight: 800; line-height: 1; cursor: pointer; box-shadow: var(--shadow-sm); }
.auto-stepper-control span { height: 30px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--color-primary-light); color: var(--color-primary); border: 1px solid rgba(69, 187, 207, .32); font-size: .95rem; font-weight: 900; }
.auto-summary { margin-top: .68rem; background: var(--color-primary-light); border-left: 4px solid var(--color-primary); border-radius: 10px; padding: .52rem .62rem; color: var(--color-text-mid); font-size: .75rem; font-weight: 600; }
.auto-error { margin-top: .55rem; font-size: .73rem; line-height: 1.3; color: var(--color-danger); font-weight: 600; }
.auto-actions { display: flex; justify-content: stretch; margin-top: .72rem; }
.auto-actions .btn { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 38px; padding: 0 .95rem; font-size: .82rem; font-weight: 800; }

@media (max-width: 1170px) {
    .reduction-live-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    html:not(.is-iframe) .inline-validate-box { display: none !important; }
    .reduction-generator-head { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .reduction-generator-head span { align-self: stretch; }
    .reduction-mode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reduction-live-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reduction-live-summary > div:last-child { grid-column: 1 / -1; }
    .inline-validate-box .btn { width: 100%; }
}

@media (max-width: 605px) {
    .reductions-toolbar { gap: .34rem; margin-bottom: .42rem; }
    .reduction-counter { padding: .38rem .32rem; border-radius: 10px; }
    .reduction-counter span { font-size: .52rem; }
    .reduction-counter strong { font-size: .98rem; }
    .reduction-generator-box { padding: .52rem; margin-bottom: .48rem; border-radius: 11px; }
    .reduction-generator-head { flex-direction: row; align-items: center; gap: .45rem; margin-bottom: .32rem; }
    .reduction-generator-head strong { font-size: .76rem; }
    .reduction-generator-head span { align-self: auto; padding: .18rem .42rem; font-size: .58rem; max-width: 54%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .reduction-explainer { margin-bottom: .42rem; font-size: .68rem; line-height: 1.2; }
    .reduction-mode-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .28rem; margin-bottom: .42rem; }
    .reduction-mode { min-height: 44px; padding: .34rem .12rem; border-radius: 9px; gap: .05rem; }
    .reduction-mode span { width: 22px; height: 22px; font-size: .78rem; }
    .reduction-mode strong { font-size: .66rem; }
    .reduction-mode small { display: none; }
    .btn-apply-reduction { min-height: 40px; font-size: .78rem; }
    .reduction-generator-box .status-box { margin-top: .42rem; padding: .42rem .52rem; font-size: .68rem; line-height: 1.2; }
    .generation-progress { margin-top: .42rem; padding: .44rem .52rem; font-size: .7rem; }
    .reduction-live-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .34rem; margin-bottom: .45rem; }
    .reduction-live-summary > div { padding: .42rem .32rem; border-radius: 9px; }
    .reduction-live-summary span { font-size: .5rem; }
    .reduction-live-summary strong { font-size: .76rem; }
    .reduction-details { margin-top: .45rem; padding: .56rem; border-radius: 11px; }
    .reduction-details h3 { font-size: .78rem; margin-bottom: .32rem; }
    .guarantee-html { font-size: .72rem; line-height: 1.28; }
    .inline-validate-box { margin-top: .48rem; padding: .5rem; border-radius: 11px; }
    .auto-modal { width: min(292px, calc(100vw - 18px)); right: 0; top: calc(100% + 6px); padding: .86rem .78rem .76rem; }

    html.is-iframe #btn-apply-reduction,
    html.is-iframe .btn-apply-reduction,
    html.is-iframe .inline-validate-box,
    html.is-iframe #btn-validate-inline,
    html.is-iframe .footer-summary-mobile,
    html.is-iframe #btn-validate-mobile {
        display: none !important;
    }
}

body.is-reduction-busy .quinigol-goal-btn,
body.is-reduction-busy .reduction-mode,
body.is-reduction-busy .quinigol-header-action-btn {
    opacity: .68;
    cursor: wait;
}

body.is-reduction-busy .quinigol-goal-btn:disabled,
body.is-reduction-busy .reduction-mode:disabled,
body.is-reduction-busy .quinigol-header-action-btn:disabled {
    pointer-events: none;
}

/* Garantías en la fila de resultados, igual que en las otras reducidas. */
@media (min-width: 992px) {
    .quinigol-reducidas-container { grid-template-areas:"selection filters" "summary summary"; }
}
.qg-guarantee-summary[hidden], #qgb-selected-summary[hidden], #qg-budget-badge[hidden] { display:none !important; }
.qg-guarantee-summary { min-width:0; scroll-margin-top:12px; }
.qg-guarantee-summary > .panel > .panel-body { display:grid; gap:.65rem; }
.qg-guarantee-summary .review-strip { display:grid; grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(100px,.55fr) minmax(220px,.9fr); gap:.5rem; align-items:stretch; }
.qg-guarantee-summary .review-item { min-width:0; display:grid; align-content:center; gap:3px; padding:.58rem .65rem; border:1px solid rgba(0,0,0,.08); border-radius:6px; background:#fff; }
.qg-guarantee-summary .review-item > span { font-size:.62rem; color:var(--color-text-light); font-weight:600; }
.qg-guarantee-summary .review-item > strong { font-size:.78rem; line-height:1.35; color:var(--color-primary); font-weight:900; overflow-wrap:anywhere; }
.qg-guarantee-summary .review-price > strong { font-size:1rem; }
.qg-guarantee-summary .inline-validate-box { display:flex; margin:0; padding:0; border:0; border-radius:6px; background:transparent; box-shadow:none; }
.qg-guarantee-summary .review-confirm { width:100%; max-width:none; min-height:54px; }
.qg-guarantee-summary .result-box { min-width:0; min-height:76px; padding:.75rem; border:1px solid rgba(0,0,0,.06); border-radius:6px; background:#fff; box-shadow:var(--shadow-sm); }
.qg-guarantee-summary .result-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:.65rem; }
.qg-guarantee-summary .result-title-row h3 { min-width:0; margin:0; color:var(--color-primary); font-size:.96rem; font-weight:800; line-height:1.25; }
.qg-guarantee-summary .result-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }
.qg-guarantee-summary .verification-badge, .qg-guarantee-summary .budget-result-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 6px; border:1px solid color-mix(in srgb,#16a34a 32%,#d1d5db); border-radius:4px; background:color-mix(in srgb,#16a34a 16%,#fff); color:#087443; font-size:.67rem; font-weight:700; line-height:1; white-space:nowrap; }
.qg-guarantee-summary .budget-result-badge { border-color:var(--color-primary); background:var(--color-primary-light); color:var(--color-primary); }
.qg-guarantee-summary .result-badges .material-icons-outlined { font-size:15px; }
.qg-guarantee-summary .coverage-summary { margin:.55rem 0; padding:.52rem .6rem; border-left:3px solid var(--color-primary); background:var(--color-primary-light); color:var(--color-text-dark); font-size:.72rem; font-weight:700; line-height:1.4; }
#qgb-selected-summary { margin:0 0 .55rem; padding:.68rem .75rem; border:2px solid color-mix(in srgb,var(--color-primary) 50%,#d1d5db); border-radius:6px; background:#fff; color:var(--color-primary); }
#qgb-selected-summary > strong { display:block; font-size:.78rem; text-transform:uppercase; }
#qgb-selected-summary p { margin:.25rem 0; font-size:.74rem; font-weight:700; line-height:1.38; }
#qgb-selected-summary a { color:var(--color-primary); font-size:.74rem; font-weight:700; text-decoration:underline; }
@media (max-width:991px) {
    .qg-guarantee-summary .review-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .qg-guarantee-summary .review-item:first-child, .qg-guarantee-summary .inline-validate-box { grid-column:1 / -1; }
}
@media (max-width:605px) {
    .qg-guarantee-summary .result-title-row { flex-direction:column; }
    .qg-guarantee-summary .result-badges { justify-content:flex-start; }
}

/* Medidas de garantías homologadas con Quiniela y Bonoloto. */
.qg-guarantee-summary .prize-guarantee-row .guarantee-name {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .35rem !important;
}
.qg-guarantee-summary .prize-guarantee-row:first-of-type { border-top: 0 !important; }
.qg-guarantee-summary .guarantee-details {
    margin-top: .6rem !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--color-primary) 16%, #d1d5db) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .055) !important;
}

.qg-guarantee-summary .guarantee-details > h4 {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: .62rem .7rem !important;
    border: 0 !important;
    background: linear-gradient(180deg, #ffffff, color-mix(in srgb, var(--color-primary-light) 50%, #ffffff)) !important;
    color: var(--color-primary) !important;
    font-size: .74rem !important;
    line-height: 1.5 !important;
    font-weight: 900 !important;
}

.qg-guarantee-summary .guarantee-details > h4 .material-icons-outlined {
    flex: 0 0 auto !important;
    font-size: 17px !important;
}

.qg-guarantee-summary .guarantee-details-body {
    padding: 0 .75rem .75rem !important;
    border-top: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

.qg-guarantee-summary .result-copy {
    margin: .5rem 0 !important;
    color: #263241 !important;
    font-size: .7rem !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.qg-guarantee-summary .interval-semantics {
    margin: .35rem 0 .55rem !important;
    padding: .45rem .55rem !important;
    border: 0 !important;
    border-left: 3px solid var(--color-primary) !important;
    border-radius: 0 !important;
    background: var(--color-primary-light) !important;
    color: var(--color-text-dark) !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.qg-guarantee-summary .prize-guarantees,
.qg-guarantee-summary .prize-guarantees-classic {
    display: grid !important;
    gap: .5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.qg-guarantee-summary .prize-case,
.qg-guarantee-summary .prize-guarantees-classic .prize-case,
.qg-guarantee-summary .prize-case.is-main-case,
.qg-guarantee-summary .prize-guarantees-classic .prize-case.is-main-case {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--color-primary) 16%, #d1d5db) !important;
    border-radius: var(--border-radius) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.qg-guarantee-summary .prize-case h4,
.qg-guarantee-summary .prize-guarantees-classic .prize-case h4 {
    margin: 0 !important;
    padding: .48rem .6rem !important;
    border: 0 !important;
    background: color-mix(in srgb, var(--color-primary-light) 70%, #ffffff) !important;
    color: var(--color-primary) !important;
    font-size: .74rem !important;
    line-height: 1.5 !important;
    font-weight: 900 !important;
}

.qg-guarantee-summary .prize-case-rows,
.qg-guarantee-summary .prize-guarantees-classic .prize-case-rows {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.qg-guarantee-summary .prize-guarantee-row,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row {
    display: grid !important;
    grid-template-columns: 68px 60px minmax(0, 1fr) !important;
    gap: .5rem !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .48rem .6rem !important;
    border: 0 !important;
    border-top: 1px solid color-mix(in srgb, var(--color-primary) 9%, #e5e7eb) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--color-text-dark) !important;
    box-shadow: none !important;
    font-size: .7rem !important;
    line-height: 1.5 !important;
}

.qg-guarantee-summary .guarantee-percent,
.qg-guarantee-summary .prize-guarantees-classic .guarantee-percent {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    display: block !important;
    justify-self: start !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--color-primary) !important;
    font-size: .78rem !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
}

.qg-guarantee-summary .guarantee-name,
.qg-guarantee-summary .prize-guarantees-classic .guarantee-name {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    display: block !important;
    justify-self: stretch !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 3px 5px !important;
    border: 1px solid color-mix(in srgb, var(--color-primary) 18%, #d1d5db) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--color-primary-light) 72%, #ffffff) !important;
    color: var(--color-primary) !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: nowrap !important;
    gap: normal !important;
}

.qg-guarantee-summary .guarantee-name small,
.qg-guarantee-summary .prize-guarantee-row small,
.qg-guarantee-summary .prize-guarantees-classic .guarantee-name small,
.qg-guarantee-summary .prize-guarantee-row.is-selected .guarantee-name small,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected .guarantee-name small {
    display: none !important;
}

.qg-guarantee-summary .guarantee-ranges,
.qg-guarantee-summary .prize-guarantees-classic .guarantee-ranges {
    grid-column: 3 / 4 !important;
    grid-row: 1 !important;
    align-self: center !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #263241 !important;
    font-size: inherit !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    overflow-wrap: anywhere !important;
}

.qg-guarantee-summary .guarantee-ranges strong,
.qg-guarantee-summary .guarantee-ranges b {
    color: inherit !important;
    font-weight: 700 !important;
}

/* La opción elegida se mantiene reconocible, pero sin modificar ninguna
   medida, separación ni altura respecto al resto de filas. */
.qg-guarantee-summary .prize-guarantee-row.is-selected,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected {
    position: relative !important;
    background: color-mix(in srgb, var(--color-primary-light) 48%, #ffffff) !important;
    color: var(--color-text-dark) !important;
    box-shadow: inset 3px 0 0 var(--color-primary) !important;
}

.qg-guarantee-summary .prize-guarantee-row.is-selected::before,
.qg-guarantee-summary .prize-guarantee-row.is-selected::after,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected::before,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected::after {
    content: none !important;
    display: none !important;
}

.qg-guarantee-summary .prize-guarantee-row.is-selected .guarantee-percent,
.qg-guarantee-summary .prize-guarantee-row.is-selected .guarantee-ranges,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected .guarantee-percent,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected .guarantee-ranges {
    background: transparent !important;
    border: 0 !important;
    color: inherit !important;
}

.qg-guarantee-summary .prize-guarantee-row.is-selected .guarantee-percent,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected .guarantee-percent {
    color: var(--color-primary) !important;
}

.qg-guarantee-summary .prize-guarantee-row.is-selected .guarantee-name,
.qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row.is-selected .guarantee-name {
    border-color: color-mix(in srgb, var(--color-primary) 18%, #d1d5db) !important;
    background: color-mix(in srgb, var(--color-primary-light) 68%, #ffffff) !important;
    color: var(--color-primary) !important;
}

.qg-guarantee-summary .engine-meta {
    margin: .5rem 0 0 !important;
    color: var(--color-text-light) !important;
    font-size: .63rem !important;
    line-height: 1.35 !important;
}

@media (max-width: 900px) {
    .qg-guarantee-summary .guarantee-details > h4 {
        padding: .56rem .62rem !important;
    }

    .qg-guarantee-summary .guarantee-details-body {
        padding: 0 .62rem .62rem !important;
    }

    .qg-guarantee-summary .result-copy {
        margin: .42rem 0 !important;
        font-size: .68rem !important;
        line-height: 1.4 !important;
    }

    .qg-guarantee-summary .prize-case h4,
    .qg-guarantee-summary .prize-guarantees-classic .prize-case h4 {
        padding: .45rem .52rem !important;
        font-size: .72rem !important;
    }

    .qg-guarantee-summary .prize-guarantee-row,
    .qg-guarantee-summary .prize-guarantees-classic .prize-guarantee-row {
        grid-template-columns: 58px 54px minmax(0, 1fr) !important;
        gap: .34rem !important;
        padding: .4rem .46rem !important;
        font-size: .64rem !important;
    }

    .qg-guarantee-summary .guarantee-percent,
    .qg-guarantee-summary .prize-guarantees-classic .guarantee-percent {
        font-size: .72rem !important;
    }

    .qg-guarantee-summary .guarantee-ranges,
    .qg-guarantee-summary .prize-guarantees-classic .guarantee-ranges {
        line-height: 1.35 !important;
    }

    .qg-guarantee-summary .engine-meta {
        margin-top: .45rem !important;
        font-size: .6rem !important;
    }
}

