/**
 * Vehículos CR – Precios, cuotas y gastos
 * Frontend 1.3.0
 * Formato del catálogo ajustado a la maqueta aprobada.
 */

.vcrpcg-price,
.vcrpcg-payment {
    --vcrpcg-blue-900: #12365f;
    --vcrpcg-blue-700: #0d27eb;
    --vcrpcg-line: #2b58bd;
    --vcrpcg-red: #e10600;
    --vcrpcg-gray-800: #555555;
    --vcrpcg-gray-700: #676767;
    --vcrpcg-gray-600: #707070;
    box-sizing: border-box;
    width: 100%;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ===== PRECIO ===== */
.vcrpcg-price {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 5px;
    margin: 2px 0 3px !important;
    line-height: 1;
    text-align: center;
}

.vcrpcg-price__prefix {
    display: block;
    width: 100%;
    color: var(--vcrpcg-gray-800);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

.vcrpcg-price__amount {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: var(--vcrpcg-red);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
    white-space: nowrap;
}

.vcrpcg-price__amount > .woocommerce-Price-amount,
.vcrpcg-price__amount .woocommerce-Price-currencySymbol,
.vcrpcg-price__amount ins,
.vcrpcg-price__amount ins .woocommerce-Price-amount {
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
}

.vcrpcg-price__amount del {
    color: #8e8e8e;
    font-size: .78em;
    font-weight: 700;
    opacity: .9;
}

.vcrpcg-price__suffix {
    color: var(--vcrpcg-red);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.vcrpcg-price__cash-note {
    width: 100%;
    display: block;
    margin-top: 2px;
    color: #777777;
    font-size: 8px;
    line-height: 1.2;
}

.woocommerce ul.products .vcrpcg-price__cash-note,
.woocommerce-page ul.products .vcrpcg-price__cash-note,
.post-type-archive-product .vcrpcg-price__cash-note,
.tax-product_cat .vcrpcg-price__cash-note,
.tax-product_tag .vcrpcg-price__cash-note {
    display: none;
}

/* ===== FINANCIAMIENTO CATÁLOGO ===== */
.vcrpcg-payment {
    color: var(--vcrpcg-gray-800);
    text-align: center;
}

.vcrpcg-payment--catalog {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2px 0 4px;
    padding: 4px 8px 0;
    line-height: 1;
    border-top: 1px solid var(--vcrpcg-line);
}

.vcrpcg-payment--catalog .vcrpcg-payment__eyebrow {
    display: block;
    width: 100%;
    margin: 0 0 1px;
    color: var(--vcrpcg-gray-800);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap !important;
    text-align: center;
}

.vcrpcg-payment--catalog .vcrpcg-payment__amount {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 1px;
    color: var(--vcrpcg-blue-700);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -.02em;
    margin-top: 0;
    line-height: 1.02;
    white-space: nowrap;
}

.vcrpcg-payment--catalog .vcrpcg-payment__amount .woocommerce-Price-amount,
.vcrpcg-payment--catalog .vcrpcg-payment__amount .woocommerce-Price-currencySymbol {
    color: inherit;
    font-weight: inherit;
}

.vcrpcg-payment--catalog .vcrpcg-payment__amount small {
    color: var(--vcrpcg-blue-700);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
}

.vcrpcg-payment--catalog .vcrpcg-payment__included {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 1px;
    color: var(--vcrpcg-red);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.05;
    text-align: center;
}

.vcrpcg-payment--catalog .vcrpcg-payment__included-text {
    display: block;
}

.vcrpcg-payment--catalog .vcrpcg-modal-trigger--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    min-height: 0;
    margin: 0 0 0 3px;
    padding: 1px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #6b7f92;
    box-shadow: none;
    line-height: 1;
}


/* Tooltip Condiciones: usa el mismo contenedor de Ficha y Extras. */
.vcrpcg-conditions-content {
    color: #33404d;
    font-size: 11px;
    line-height: 1.42;
}

.vcrpcg-conditions-content__section + .vcrpcg-conditions-content__section {
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid #e2e9f0;
}

.vcrpcg-conditions-content h5 {
    margin: 0 0 3px;
    color: #12365f;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.2;
}

.vcrpcg-conditions-content p {
    margin: 0;
    color: #455565;
    font-size: inherit;
    line-height: inherit;
    text-align: left;
}

.vcrpcg-conditions-content__notice {
    margin-top: 9px !important;
    color: #6a7682 !important;
    font-size: 9.5px !important;
    font-style: italic;
}

/* ===== FICHA INDIVIDUAL ===== */
body.single-product .vcrpcg-price {
    justify-content: flex-start;
    gap: 6px;
    text-align: left;
    margin: 0 0 8px !important;
}

body.single-product .vcrpcg-price__prefix {
    width: auto;
    font-size: 16px;
}

body.single-product .vcrpcg-price__amount {
    font-size: 28px;
}

body.single-product .vcrpcg-price__suffix {
    font-size: 14px;
}

body.single-product .vcrpcg-price__cash-note {
    display: block;
    font-size: 11px;
}

.vcrpcg-payment--single {
    margin: 8px 0 0;
    text-align: left;
}

.vcrpcg-payment--single .vcrpcg-payment__single-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--vcrpcg-line);
    border-radius: 10px;
    background: #f9fbfe;
}

.vcrpcg-payment--single .vcrpcg-payment__single-heading { display: flex; align-items: center; gap: 6px; }
.vcrpcg-payment--single .vcrpcg-payment__icon { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:rgba(28,91,149,.10); color:var(--vcrpcg-blue-700); }
.vcrpcg-payment--single .vcrpcg-payment__icon svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.vcrpcg-payment--single .vcrpcg-payment__eyebrow { color:#5a5a5a; font-size:13px; font-weight:800; }
.vcrpcg-payment--single .vcrpcg-payment__condition { color:#5e5e5e; font-size:15px; font-weight:700; }
.vcrpcg-payment--single .vcrpcg-payment__condition strong { text-decoration: underline; text-decoration-thickness:1px; text-underline-offset:2px; }
.vcrpcg-payment--single .vcrpcg-payment__amount { display:inline-flex; align-items:baseline; gap:4px; color:var(--vcrpcg-blue-700); font-size:30px; font-weight:900; white-space:nowrap; }
.vcrpcg-payment--single .vcrpcg-payment__amount .woocommerce-Price-amount,
.vcrpcg-payment--single .vcrpcg-payment__amount .woocommerce-Price-currencySymbol { color:inherit; font-weight:inherit; }
.vcrpcg-payment--single .vcrpcg-payment__amount small { color:#66798b; font-size:14px; font-weight:700; letter-spacing:0; }
.vcrpcg-payment--single .vcrpcg-payment__included { display:block; margin-top:3px; color:#565656; font-size:13px; font-weight:650; line-height:1.35; }

.vcrpcg-modal-trigger {
    display: inline-flex; align-items:center; justify-content:center; min-height:22px; margin:2px 0 0; padding:2px 5px; border:0; border-radius:5px;
    background:transparent; color:#5c6e80; box-shadow:none; font:inherit; font-size:10px; font-weight:550; line-height:1.15; text-decoration:underline;
    text-decoration-style:dotted; text-underline-offset:2px; cursor:pointer; appearance:none; -webkit-appearance:none;
}
.vcrpcg-modal-trigger:hover,
.vcrpcg-modal-trigger:focus-visible { background:#eef5fb; color:#12365f; text-decoration-style:solid; }
.vcrpcg-modal-trigger:focus-visible { outline:2px solid rgba(28,91,149,.28); outline-offset:1px; }

.vcrpcg-modal { position:fixed; inset:0; z-index:999999999; display:flex; align-items:center; justify-content:center; padding:18px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 180ms ease, visibility 180ms ease; }
.vcrpcg-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.vcrpcg-modal__backdrop { position:absolute; inset:0; background:rgba(7,17,28,.76); backdrop-filter:blur(3px); }
.vcrpcg-modal__dialog { position:relative; z-index:1; width:min(440px,100%); max-height:min(88vh,680px); overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:#2d4053; color:#fff; box-shadow:0 24px 70px rgba(0,0,0,.48); transform:translateY(10px) scale(.98); transition:transform 180ms ease; }
.vcrpcg-modal.is-open .vcrpcg-modal__dialog { transform:translateY(0) scale(1); }
.vcrpcg-modal__header { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:9px 12px 9px 16px; border-bottom:1px solid rgba(255,255,255,.09); background:rgba(0,0,0,.13); }
.vcrpcg-modal__header h2 { margin:0; color:#ffe66d; font-family:inherit; font-size:13px; font-weight:800; letter-spacing:.045em; line-height:1.25; text-transform:uppercase; }
.vcrpcg-modal__close { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:0; border-radius:8px; background:transparent; color:#fff; box-shadow:none; font-size:25px; font-weight:300; line-height:1; cursor:pointer; appearance:none; }
.vcrpcg-modal__close:hover, .vcrpcg-modal__close:focus-visible { background:rgba(255,255,255,.09); color:#ffe66d; }
.vcrpcg-modal__close:focus-visible { outline:2px solid rgba(255,230,109,.55); outline-offset:1px; }
.vcrpcg-modal__body { max-height:calc(min(88vh,680px) - 48px); overflow-y:auto; padding:16px 20px 18px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.28) transparent; }
.vcrpcg-modal__section { padding:0 0 13px; }
.vcrpcg-modal__section:last-child { padding-bottom:0; }
.vcrpcg-modal__section h3 { margin:0 0 4px; color:#fff; font-family:inherit; font-size:12px; font-weight:750; line-height:1.3; }
.vcrpcg-modal__section p { margin:0; color:rgba(255,255,255,.93); font-size:11.5px; line-height:1.48; text-align:left; }
.vcrpcg-modal__section--notice h3 { color:#ffe66d; }
.vcrpcg-modal__section--cash h3 { color:#d9f7e5; }
body.vcrpcg-modal-open { overflow:hidden !important; }
.vcrpcg-tab-content { color:#374553; font-size:14px; line-height:1.65; }
.vcrpcg-tab-content p { margin:0; text-align:justify; }

@media (max-width: 1200px) {
    .vcrpcg-price__prefix { font-size: 12px; }
    .vcrpcg-price__amount { font-size: 16px; }
    .vcrpcg-price__suffix { font-size: 10px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow { font-size: 11px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__amount { font-size: 18px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__included { font-size: 8px; }
}

@media (max-width: 1024px) {
    .vcrpcg-price { gap: 0 4px; margin: 4px 0 6px !important; }
    .vcrpcg-price__prefix { font-size: 11px; }
    .vcrpcg-price__amount { font-size: 14px; }
    .vcrpcg-price__suffix { font-size: 9px; }
    .vcrpcg-payment--catalog { padding-top: 6px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow { font-size: 9.5px; margin-bottom: 4px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__amount { font-size: 16px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__amount small { font-size: 10px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__included { margin-top: 5px; font-size: 7px; }
}

@media (max-width: 767px) {
    .vcrpcg-price { gap: 0 3px; margin: 3px 0 5px !important; }
    .vcrpcg-price__prefix { font-size: 10px; }
    .vcrpcg-price__amount { font-size: 13px; }
    .vcrpcg-price__suffix { font-size: 8px; }
    .vcrpcg-payment--catalog { margin: 4px 0 6px; padding: 5px 4px 0; }
    .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow { font-size: 8.6px; margin-bottom: 3px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__amount { font-size: 14px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__amount small { font-size: 9px; }
    .vcrpcg-payment--catalog .vcrpcg-payment__included { margin-top: 4px; font-size: 6.3px; }

    .vcrpcg-payment--single .vcrpcg-payment__single-card { padding: 9px 10px; }
    .vcrpcg-payment--single .vcrpcg-payment__eyebrow { font-size: 12px; }
    .vcrpcg-payment--single .vcrpcg-payment__condition { font-size: 13px; }
    .vcrpcg-payment--single .vcrpcg-payment__amount { font-size: 24px; }
    .vcrpcg-payment--single .vcrpcg-payment__amount small { font-size: 12px; }
    .vcrpcg-payment--single .vcrpcg-payment__included { font-size: 11px; }

    .vcrpcg-modal { align-items:flex-end; padding:10px; }
    .vcrpcg-modal__dialog { width:100%; max-height:88vh; border-radius:14px 14px 10px 10px; }
    .vcrpcg-modal__body { max-height:calc(88vh - 48px); padding:14px 15px 16px; }
    .vcrpcg-modal__section p { font-size:11px; }
}

@media (prefers-reduced-motion: reduce) {
    .vcrpcg-modal,
    .vcrpcg-modal__dialog { transition:none; }
}

/* ==============================================================
 * V1.2.7 — TIPOGRAFÍA ADAPTATIVA DEL CATÁLOGO
 * La escala usa clamp() para conservar legibilidad real en teléfonos,
 * tabletas y escritorio sin aumentar innecesariamente la tarjeta.
 * ============================================================== */
.woocommerce ul.products li.product .price.vcrpcg-price,
.woocommerce-page ul.products li.product .price.vcrpcg-price {
    display: grid !important;
    grid-template-columns: max-content max-content !important;
    justify-content: center !important;
    align-items: baseline !important;
    column-gap: clamp(3px, .35vw, 6px) !important;
    row-gap: 1px !important;
    width: 100% !important;
    margin: 4px 0 6px !important;
    padding: 0 2px !important;
    line-height: 1.08 !important;
    text-align: center !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.woocommerce ul.products li.product .vcrpcg-price__prefix,
.woocommerce-page ul.products li.product .vcrpcg-price__prefix {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: auto !important;
    margin: 0 0 1px !important;
    color: #555555 !important;
    font-size: clamp(12.5px, calc(9.4px + .32vw), 14px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .vcrpcg-price__amount,
.woocommerce-page ul.products li.product .vcrpcg-price__amount {
    grid-column: 1 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 3px !important;
    margin: 0 !important;
    color: #e10600 !important;
    font-size: clamp(18px, calc(13.7px + .48vw), 21px) !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product .vcrpcg-price__suffix,
.woocommerce-page ul.products li.product .vcrpcg-price__suffix {
    grid-column: 2 !important;
    display: inline-block !important;
    margin: 0 !important;
    color: #e10600 !important;
    font-size: clamp(9.5px, calc(7.5px + .23vw), 11.5px) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product .vcrpcg-price__cash-note,
.woocommerce-page ul.products li.product .vcrpcg-price__cash-note {
    display: none !important;
}

.woocommerce ul.products li.product .vcrpcg-payment--catalog,
.woocommerce-page ul.products li.product .vcrpcg-payment--catalog {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: calc(100% - 10px) !important;
    margin: 5px auto 6px !important;
    padding: 6px 2px 0 !important;
    border-top: 1px solid #2b58bd !important;
    line-height: 1.06 !important;
    text-align: center !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow,
.woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow {
    display: block !important;
    width: 100% !important;
    margin: 0 0 3px !important;
    color: #555555 !important;
    font-size: clamp(11.5px, calc(8.7px + .3vw), 13.5px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.005em !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount,
.woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 2px !important;
    margin: 0 !important;
    color: #0d27eb !important;
    font-size: clamp(19px, calc(14px + .55vw), 22px) !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
    line-height: 1.01 !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount small,
.woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount small {
    color: #0d27eb !important;
    font-size: clamp(10.5px, calc(8.8px + .2vw), 12px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__included,
.woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__included {
    display: block !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    color: #e10600 !important;
    font-size: clamp(8.5px, calc(6.9px + .18vw), 10px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: .005em !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-modal-trigger--icon,
.woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-modal-trigger--icon {
    display: none !important;
}

/* Teléfonos muy estrechos: se protege la línea sin volverla microscópica. */
@media (max-width: 380px) {
    .woocommerce ul.products li.product .vcrpcg-price__prefix,
    .woocommerce-page ul.products li.product .vcrpcg-price__prefix {
        font-size: 12px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-price__amount,
    .woocommerce-page ul.products li.product .vcrpcg-price__amount {
        font-size: 17.5px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-price__suffix,
    .woocommerce-page ul.products li.product .vcrpcg-price__suffix {
        font-size: 9px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow,
    .woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow {
        font-size: 11px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount,
    .woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount {
        font-size: 18.5px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__included,
    .woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__included {
        font-size: 8.2px !important;
    }
}

/* Tabletas en dos columnas: aumenta legibilidad sin forzar saltos. */
@media (min-width: 768px) and (max-width: 1100px) {
    .woocommerce ul.products li.product .vcrpcg-price__prefix,
    .woocommerce-page ul.products li.product .vcrpcg-price__prefix {
        font-size: 12px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-price__amount,
    .woocommerce-page ul.products li.product .vcrpcg-price__amount {
        font-size: 18px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-price__suffix,
    .woocommerce-page ul.products li.product .vcrpcg-price__suffix {
        font-size: 9.5px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow,
    .woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__eyebrow {
        font-size: 11.5px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount,
    .woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__amount {
        font-size: 19px !important;
    }

    .woocommerce ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__included,
    .woocommerce-page ul.products li.product .vcrpcg-payment--catalog .vcrpcg-payment__included {
        font-size: 8.5px !important;
    }
}
