/* ── Sección Promociones (compartido: Refacciones, Financiamiento) ── */
.promo-img-wrapper{position:relative;overflow:hidden}
.promo-img{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .35s ease}
.promo-img-wrapper{cursor:pointer}
.promo-card:hover .promo-img{transform:scale(1.04)}
.promo-badge{position:absolute;top:.75rem;left:.75rem;background-color:var(--international-orange);color:var(--blanco);font-family:"International Headline",sans-serif;font-weight:700;font-size:.72rem;padding:.3rem .85rem;border-radius:6px;text-transform:uppercase;letter-spacing:.06em}
/* Placeholder cuando no hay imagen */
.promo-img-placeholder{aspect-ratio:16/9;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;transition:transform .35s ease}
.promo-card:hover .promo-img-placeholder{transform:scale(1.04)}
/* Fotos de producto (catálogo, fondo blanco de estudio): se muestran completas, sin recortar */
.promo-img.is-product{aspect-ratio:3/2;object-fit:contain;background:#fff;padding:1.25rem;box-sizing:border-box}
.promo-img-placeholder.is-product{aspect-ratio:3/2}
/* Modal de promoción */
.promo-modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:9999;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(4px)}
.promo-modal-bg.open{display:flex}
.promo-modal-box{background:#fff;border-radius:16px;width:min(1020px,92vw);max-height:88vh;box-shadow:0 24px 72px rgba(0,0,0,.4);display:flex;flex-direction:row;overflow:hidden}
/* Columna imagen — se ajusta a la altura natural de la foto */
.promo-modal-img-wrap{position:relative;flex:0 0 58%;background:#111;display:flex;align-items:stretch;border-radius:16px 0 0 16px;overflow:hidden}
.promo-modal-img{width:100%;height:100%;object-fit:contain;display:block}
.promo-modal-placeholder{width:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem}
.promo-modal-placeholder-icon{opacity:.85;display:flex}
.promo-cat-icon-img{width:3.5rem;height:3.5rem;object-fit:contain}
.promo-modal-placeholder-cat{font-family:"International Headline",sans-serif;font-weight:700;font-size:1.2rem;color:#fff;text-transform:uppercase;letter-spacing:.08em}
.promo-modal-badge{position:absolute;top:1.1rem;left:1.1rem;background:var(--international-orange);color:#fff;font-family:"International Headline",sans-serif;font-weight:700;font-size:.75rem;padding:.35rem 1rem;border-radius:6px;text-transform:uppercase;letter-spacing:.06em;z-index:2}
.promo-modal-close{position:absolute;top:.85rem;right:.85rem;background:rgba(0,0,0,.5);color:#fff;border:none;border-radius:50%;width:34px;height:34px;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;z-index:3}
.promo-modal-close:hover{background:rgba(0,0,0,.8)}
/* Columna texto */
.promo-modal-body{flex:1;padding:2.25rem 2rem;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;gap:.25rem}
.promo-modal-title{font-family:"International Headline",sans-serif;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:700;color:#1a1a1a;line-height:1.25;margin-bottom:.75rem}
.promo-modal-desc{font-size:.9rem;color:#555;line-height:1.7;margin-bottom:1.1rem;flex:1}
.promo-modal-meta{font-size:.8rem;color:#bbb;margin-bottom:1.5rem;line-height:1.8}
.promo-modal-meta strong{color:#888}
.promo-modal-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--international-orange);color:#fff;border:none;border-radius:8px;padding:.85rem 1.5rem;font-family:"International Headline",sans-serif;font-weight:700;font-size:.9rem;text-decoration:none;transition:.15s;justify-content:center}
.promo-modal-btn:hover{background:#d43d08;color:#fff}
/* Móvil: apilado vertical */
@media(max-width:640px){
  .promo-modal-bg{padding:.5rem}
  .promo-modal-box{flex-direction:column;width:100%;max-height:92dvh;border-radius:16px 16px 0 0;overflow-y:auto;align-self:flex-end}
  .promo-modal-img-wrap{flex:0 0 auto;border-radius:16px 16px 0 0;min-height:52vw}
  .promo-modal-img{height:auto;max-height:56vw}
  .promo-modal-body{padding:1.4rem 1.25rem;justify-content:flex-start}
  .promo-modal-btn{width:100%}
}
.promo-placeholder-icon{opacity:.85;display:flex}
.promo-placeholder-icon .promo-cat-icon-img{width:clamp(2rem,5vw,3rem);height:clamp(2rem,5vw,3rem)}
.promo-placeholder-cat{font-family:"International Headline",sans-serif;font-weight:700;font-size:clamp(.75rem,1.4vw,.95rem);color:#fff;text-transform:uppercase;letter-spacing:.08em;opacity:.9;text-align:center;padding:0 .75rem}
.btn-promo-filtro{background-color:transparent;border:1.5px solid var(--gray-300);border-radius:20px;padding:.35rem 1.2rem;font-family:"International Headline",sans-serif;font-weight:700;font-size:clamp(.72rem,1vw,.875rem);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;color:var(--gray-700)}
.btn-promo-filtro.active,.btn-promo-filtro:hover{background-color:var(--negro);color:var(--blanco);border-color:var(--negro)}
.promo-card-col{transition:opacity .25s;min-width:0;max-width:400px;margin-left:auto;margin-right:auto}
.promo-card-col.hidden{display:none}
.promo-card-col.date-hidden{display:none}
.promo-vigencia{color:var(--gray-500);margin-top:.6rem;margin-bottom:0}
#promociones > p{color:var(--gray-700)}
/* Tabla comparativa por plazo (tasa, opción de compra, etc.) */
.promo-card,.promo-card .card-body{min-width:0}
.promo-table-wrap{overflow-x:auto;width:100%;margin-bottom:.9rem}
.promo-table{border-collapse:collapse;width:100%;font-size:.78rem}
.promo-table th,.promo-table td{padding:.4rem .55rem;text-align:center;white-space:nowrap;border:1px solid var(--gray-300, #e0e0e0)}
.promo-table thead th,.promo-table tr:first-child th{background:var(--negro);color:var(--blanco);font-family:"International Headline",sans-serif;font-weight:700}
.promo-table tr:first-child th:first-child{border-top-left-radius:6px}
.promo-table tr:first-child th:last-child{border-top-right-radius:6px}
.promo-table tbody th,.promo-table tr:not(:first-child) th{background:#f6f6f6;font-weight:700;text-align:left;color:#333;white-space:normal;max-width:96px}
.promo-table td{color:#555}
.promo-modal-desc .promo-table{font-size:.85rem}
/* Descripción de promoción en bullets */
.promo-desc-list{margin:0;padding-left:1.1rem}
.promo-desc-list li{margin-bottom:.4rem}
.promo-desc-list li:last-child{margin-bottom:0}
.promo-desc-list li::marker{color:var(--international-orange)}
/* Varias etiquetas (tags) sobre la imagen — envuelve varios .promo-badge/.promo-modal-badge
   en un contenedor posicionado, para no romper el badge único que usa Refacciones. */
.promo-badges-wrap{position:absolute;top:.75rem;left:.75rem;right:.75rem;display:flex;flex-wrap:wrap;gap:.35rem;z-index:2}
.promo-badges-wrap .promo-badge{position:static;background-color:rgba(252,77,14,.78)}
.promo-modal-badges-wrap{position:absolute;top:1.1rem;left:1.1rem;right:1.1rem;display:flex;flex-wrap:wrap;gap:.4rem;z-index:2}
.promo-modal-badges-wrap .promo-modal-badge{background-color:rgba(252,77,14,.78)}
.promo-modal-badges-wrap .promo-modal-badge{position:static}
/* ── Marca: Fleetrite (teal de marca) y genérica ── */
:root{--fleetrite-teal:#39835F;--fleetrite-teal-dark:#2c6a4a;--fleetrite-teal-light:rgba(57,131,95,.08);--fleetrite-teal-border:rgba(57,131,95,.3);--fleetrite-teal-pale:#e3f1ec}
.promo-badge.marca-fleetrite,.promo-modal-badge.marca-fleetrite{background-color:var(--fleetrite-teal)}
.promo-badge.marca-generic,.promo-modal-badge.marca-generic{background-color:rgba(26,26,26,.78)}
.promo-card.marca-fleetrite{border:1.5px solid var(--fleetrite-teal-border);background:var(--fleetrite-teal-light)}
.promo-modal-box.marca-fleetrite{border-top:4px solid var(--fleetrite-teal)}
.promo-modal-box.marca-fleetrite .promo-modal-img-wrap{background:var(--fleetrite-teal)}
