/*
 * Estilos de la web.
 *
 * Se cargan con wp_enqueue_style desde Calcu_Walcu_Estilos::encolar(). Antes
 * vivían en un heredoc dentro de este archivo PHP y se inyectaban en cada
 * página con wp_add_inline_style: el navegador no podía guardarlos en caché y
 * el editor de código no ayudaba a escribirlos.
 *
 * Para añadir CSS propio sin tocar el plugin, usa el filtro
 * `calcu_walcu_css_extra`: lo que devuelva se añade detrás de este archivo.
 */
/* ---------- chips y badges ---------- */
.calcu-chip{display:inline-block;background:#E4EFFB;color:#1E314D;font-family:Archivo,sans-serif;
font-weight:600;font-size:.75em;border-radius:6px;padding:.32em .65em;margin:0 .35em .35em 0}
.calcu-badge{display:inline-block;color:#fff;font-family:Archivo,sans-serif;font-weight:700;
font-size:.7em;letter-spacing:.06em;border-radius:6px;padding:.36em .72em;margin-right:.4em}
.calcu-badge--ahorro{background:#E6804D}
.calcu-badge--eco{background:#E8F4EC;color:#2E6B45}

/* ---------- puntos destacados ---------- */
.calcu-puntos{list-style:none !important;padding:0 !important;margin:0 !important}
.calcu-puntos li{position:relative;padding-left:1.9em;margin-bottom:.6em;list-style:none !important}
.calcu-puntos li::marker{content:""}
.calcu-puntos li::before{content:"";position:absolute;left:0;top:.15em;width:1.35em;height:1.35em;
border-radius:50%;background:#E4EFFB}
.calcu-puntos li::after{content:"";position:absolute;left:.47em;top:.42em;width:.3em;height:.6em;
border-right:2px solid #3681D3;border-bottom:2px solid #3681D3;transform:rotate(42deg)}
.calcu-puntos__titulo{font-family:Archivo,sans-serif;font-weight:800;font-size:1.05em;
letter-spacing:-.02em;color:#101828;margin:0 0 .8em}

/* ----------------------------------------------------------
   EQUIPAMIENTO EN ACORDEÓN

   Agrupado por bloques plegables: cuarenta líneas seguidas no
   las lee nadie, pero por categorías el visitante abre lo que
   le interesa. El primer bloque viene abierto para que se vea
   que hay contenido debajo.
   ---------------------------------------------------------- */
.calcu-equip{display:grid;gap:.6em}
.calcu-equip__grupo{border:1px solid #E6EAF0;border-radius:12px;background:#fff;
overflow:hidden;transition:.18s}
.calcu-equip__grupo:hover{border-color:#9FD3F1}
.calcu-equip__grupo summary{cursor:pointer;list-style:none;padding:.95em 1.2em;
display:flex;align-items:center;gap:.6em;font-family:Archivo,sans-serif;
font-weight:700;font-size:.95em;color:#101828;position:relative}
.calcu-equip__grupo summary::-webkit-details-marker{display:none}
.calcu-equip__grupo summary::after{content:"";position:absolute;right:1.2em;
width:.45em;height:.45em;border-right:2px solid #3681D3;border-bottom:2px solid #3681D3;
transform:rotate(45deg);transition:.2s;margin-top:-.2em}
.calcu-equip__grupo[open] summary::after{transform:rotate(-135deg);margin-top:.15em}
.calcu-equip__grupo[open] summary{border-bottom:1px solid #F0F3F7}
.calcu-equip__n{background:#E4EFFB;color:#2A4E7E;border-radius:100px;
font-size:.75em;padding:.2em .6em;font-weight:700}

.calcu-equip__lista{display:grid;grid-template-columns:repeat(2,1fr);gap:.5em 1.6em;
list-style:none !important;padding:1.1em 1.2em !important;margin:0 !important}
.calcu-equip__lista li{position:relative;padding-left:1.5em;font-size:.9em;color:#5D6470;
line-height:1.5;list-style:none !important}
.calcu-equip__lista li::marker{content:""}
.calcu-equip__lista li::before{content:"";position:absolute;left:0;top:.35em;width:.4em;
height:.75em;border-right:2px solid #3681D3;border-bottom:2px solid #3681D3;
transform:rotate(45deg)}

@media(max-width:760px){
.calcu-equip__lista{grid-template-columns:1fr}
}

/* ----------------------------------------------------------
   DESCRIPCIÓN DEL VEHÍCULO

   El texto llega con encabezados y listas, así que se le da la
   misma jerarquía que a un artículo: sin ella, quince párrafos
   seguidos no los lee nadie.
   ---------------------------------------------------------- */
/* Titular del anuncio: la primera línea, que resume la propuesta */
.calcu-descripcion h2,
.elementor-widget-theme-post-content h2{font-family:Archivo,sans-serif;font-weight:800;
font-size:1.35em;letter-spacing:-.03em;color:#101828;line-height:1.25;margin:0 0 .9em}

.calcu-descripcion h3,
.elementor-widget-theme-post-content h3{font-family:Archivo,sans-serif;font-weight:800;
font-size:.82em;letter-spacing:.08em;text-transform:uppercase;color:#2A4E7E;
margin:1.8em 0 .7em;padding-bottom:.4em;border-bottom:1px solid #DCE8F6}
.calcu-descripcion h3:first-child,
.elementor-widget-theme-post-content h3:first-child{margin-top:0}

.calcu-descripcion p,
.elementor-widget-theme-post-content p{margin:0 0 .9em;line-height:1.7}

.calcu-descripcion ul,
.elementor-widget-theme-post-content ul{list-style:none !important;padding:0 !important;
margin:0 0 1.2em !important}
.calcu-descripcion ul li,
.elementor-widget-theme-post-content ul li{position:relative;padding-left:1.7em;
margin-bottom:.5em;line-height:1.6;list-style:none !important}
.calcu-descripcion ul li::marker,
.elementor-widget-theme-post-content ul li::marker{content:""}
.calcu-descripcion ul li::before,
.elementor-widget-theme-post-content ul li::before{content:"";position:absolute;left:.2em;
top:.42em;width:.38em;height:.7em;border-right:2px solid #3681D3;
border-bottom:2px solid #3681D3;transform:rotate(45deg)}

/* ---------- información técnica ---------- */
.calcu-tecnica{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5em}
.calcu-tecnica table,.calcu-tecnica tbody,.calcu-tecnica tr,
.calcu-tecnica th,.calcu-tecnica td{background:none !important;border:0 !important;
margin:0 !important;box-shadow:none !important}
.calcu-tecnica table{width:100%;border-collapse:collapse;table-layout:fixed}
.calcu-tecnica th,.calcu-tecnica td{padding:.8em 0 !important;
border-bottom:1px solid #E6EAF0 !important;font-size:.92em;text-align:left !important;
vertical-align:top;line-height:1.5}
.calcu-tecnica th{font-family:Inter,sans-serif;font-weight:400 !important;color:#5D6470 !important;
width:52%;text-transform:none !important;letter-spacing:normal !important}
.calcu-tecnica td{font-family:Archivo,sans-serif;font-weight:600 !important;color:#101828 !important}
.calcu-tecnica tr:last-child th,.calcu-tecnica tr:last-child td{border-bottom:0 !important}

/* ---------- preguntas frecuentes ---------- */
.calcu-faq{display:grid;grid-template-columns:1fr 1fr;gap:.9em 1.4em}
.calcu-faq__item{border:1px solid #E6EAF0;border-radius:12px;background:#fff;padding:0 1.2em;
height:fit-content;transition:.18s}
.calcu-faq__item:hover{border-color:#9FD3F1}
.calcu-faq__item summary{cursor:pointer;list-style:none;padding:1.05em 1.8em 1.05em 0;
font-family:Archivo,sans-serif;font-weight:600;font-size:.94em;color:#101828;position:relative}
.calcu-faq__item summary::-webkit-details-marker{display:none}
.calcu-faq__item summary::after{content:"";position:absolute;right:.2em;top:1.4em;width:.45em;
height:.45em;border-right:2px solid #3681D3;border-bottom:2px solid #3681D3;
transform:rotate(45deg);transition:.2s}
.calcu-faq__item[open] summary::after{transform:rotate(-135deg);margin-top:.2em}
.calcu-faq__r{padding-bottom:1.1em;font-size:.9em;color:#5D6470;line-height:1.65}
.calcu-faq__r p{margin:0 0 .6em}

/* ---------- vehículos relacionados ---------- */
.calcu-relacionados{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4em}
.calcu-rel{display:flex;flex-direction:column;border:1px solid #E6EAF0;border-radius:14px;
overflow:hidden;background:#fff;text-decoration:none;transition:.2s}
.calcu-rel:hover{transform:translateY(-4px);box-shadow:0 22px 48px -26px rgba(30,49,77,.42);
border-color:#DCE8F6}
.calcu-rel__foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.calcu-rel__cuerpo{padding:1em 1.1em 1.2em;display:flex;flex-direction:column;gap:.35em}
.calcu-rel__nombre{font-family:Archivo,sans-serif;font-weight:800;font-size:.98em;color:#101828;
letter-spacing:-.02em}
.calcu-rel__version{font-size:.82em;color:#5D6470;line-height:1.4}

/* Estado discreto: un punto de color y una palabra. En una parrilla de cuatro
   tarjetas, la cinta grande de la ficha compite con el precio y gana ella. */
.calcu-suave{display:inline-flex;align-items:center;gap:.45em;font-family:Archivo,sans-serif;
font-weight:700;font-size:.68em;letter-spacing:.05em;text-transform:uppercase;
color:#5D6470;margin:0 0 .1em}
.calcu-suave::before{content:"";width:.5em;height:.5em;border-radius:50%;
background:var(--calcu-suave-color,#5D6470);flex:0 0 auto}
.calcu-suave--reservado{color:#8B2F4A}
.calcu-suave--vendido{color:#5D6470}
.calcu-rel__estado{margin-bottom:.15em}
.calcu-boton-pdf{display:inline-block;font-family:Archivo,Inter,sans-serif;font-weight:600;
font-size:.95em;color:#1E314D;background:#fff;border:2px solid #1E314D;border-radius:100px;
padding:.55em 1.4em;text-decoration:none;transition:background .15s,color .15s}
.calcu-boton-pdf:hover{background:#1E314D;color:#fff}
.calcu-boton-pdf::before{content:"⤓ "}
/* Cuota con su rótulo, en un solo bloque: al apagar «Mostrar cuota» en los
   ajustes desaparecen los dos juntos y no queda la etiqueta huérfana. */
.calcu-sim__desglose{display:inline-block;margin-top:6px;font-size:.88em;color:#5D6470;line-height:1.5}

.calcu-sim__escalon{margin:6px 0 0;padding:9px 13px;border-radius:9px;background:#FCEEE6;
color:#8A4520;font-size:.92em;border-left:3px solid #E6804D}

.calcu-cuota{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.calcu-cuota__eti{font-size:.92em;color:#5D6470}
.calcu-cuota__val{font-family:Archivo,sans-serif;font-weight:800;color:#3681D3}

/* Bloque de precios de la tarjeta y de la ficha.
   Los dos precios etiquetados y con peso parecido: el de contado NO se tacha.
   Tacharlo sugiere que es un precio viejo o inflado, cuando es el precio real
   de pagar el coche entero; el financiado baja porque incluye el descuento por
   financiar, que es una condición. */
.calcu-precios{display:flex;align-items:flex-end;justify-content:space-between;gap:1em;
flex-wrap:wrap;border-top:1px solid #E7ECF3;padding-top:.9em;font-family:Inter,sans-serif}
.calcu-precios__col{display:flex;flex-direction:column;gap:.12em;min-width:0}
.calcu-precios__col--der{text-align:right;align-items:flex-end}
.calcu-precios__eti{font-size:.72em;color:#8B93A1;line-height:1.3}
.calcu-precios__fin{font-family:Archivo,sans-serif;font-weight:800;font-size:1.6em;
line-height:1.05;color:#1E314D;letter-spacing:-.02em}
.calcu-precios__contado{font-family:Archivo,sans-serif;font-weight:700;font-size:1em;
line-height:1.15;color:#5D6470}
.calcu-precios__cuota{font-family:Archivo,sans-serif;font-weight:800;font-size:1.05em;
color:#3681D3;line-height:1.15;margin-bottom:.35em}
.calcu-precios__cuota small{font-weight:400;font-size:.72em;color:#8B93A1}
.calcu-precios .calcu-badge--ahorro{align-self:flex-start;margin-top:.35em}
@media(max-width:480px){.calcu-precios{gap:.6em}.calcu-precios__fin{font-size:1.4em}}
.calcu-faq__titulo{font-family:Archivo,sans-serif;font-weight:800;color:#1E314D;font-size:1.35em;
margin:0 0 .7em}

/* ---------- extras y paquetes ---------- */
.calcu-extras-ficha{display:flex;flex-direction:column;gap:.9em}
.calcu-extra{border:1px solid #E6EAF0;border-radius:12px;padding:1em 1.15em;background:#fff}
.calcu-extra--paquete{border-left:3px solid #E6804D}
.calcu-extra__cab{display:flex;align-items:baseline;justify-content:space-between;gap:1em}
.calcu-extra__n{font-family:Archivo,sans-serif;font-weight:800;color:#1E314D;font-size:1em}
.calcu-extra__p{font-family:Archivo,sans-serif;font-weight:700;font-size:.82em;color:#8B93A1;
white-space:nowrap}
.calcu-extra__lista{list-style:none !important;padding:0 !important;margin:.6em 0 0 !important}
.calcu-extra__lista li{position:relative;padding-left:1.4em;margin:0 0 .3em;font-size:.9em;
color:#3F4754;line-height:1.5;display:flex;justify-content:space-between;gap:1em}
.calcu-extra__lista li::before{content:"";position:absolute;left:.25em;top:.62em;
width:.36em;height:.36em;border-radius:50%;background:#3681D3}
.calcu-extra--opciones .calcu-extra__lista{margin-top:0 !important}
.calcu-extras-ficha__nota{font-size:.76em;color:#8B93A1;line-height:1.5;margin:.2em 0 0}
.calcu-rel__datos{font-size:.78em;color:#8B93A1}
.calcu-rel__precio{font-family:Archivo,sans-serif;font-weight:800;font-size:1.15em;color:#1E314D;
letter-spacing:-.03em;margin-top:.3em}

/* ---------- título de la ficha ---------- */
.calcu-titulo{font-family:Archivo,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.1;
color:#101828;margin:0 0 .2em;font-size:1.7em}
.calcu-titulo__lugar{display:block;font-weight:600;font-size:.62em;color:#5D6470;
letter-spacing:-.01em;margin-top:.35em}
.calcu-legal{font-size:.75em;color:#8B93A1;line-height:1.5;margin:0}

/* ==========================================================
   BUSCADOR AVANZADO

   Píldoras en vez de barra con separadores: se leen como algo
   pulsable. La activa se rellena de azul, así se ve qué panel
   está abierto sin mirar debajo. Las casillas se dibujan a mano
   porque las del sistema cambian de aspecto en cada navegador.
   ========================================================== */
/* El tema estiliza todos los <button> y su display ganaba a esta regla: sin
   !important el botón de filtros aparecía también en escritorio. */
.calcu-filtros__abrir,
.calcu-filtros__cabecera{display:none !important}
.calcu-filtros{background:#fff;border-radius:20px;padding:.5em;margin-bottom:1.4em;
box-shadow:0 2px 6px -2px rgba(16,24,40,.06),0 24px 60px -34px rgba(30,49,77,.45)}
.calcu-filtros__barra{display:flex;flex-wrap:wrap;gap:.4em}
.calcu-filtros__tab{flex:1 1 auto;background:none !important;border:0 !important;
border-radius:100px !important;padding:.9em 1.2em !important;cursor:pointer;
font-family:Archivo,sans-serif !important;font-weight:600 !important;font-size:.94em;
color:#5D6470 !important;text-decoration:none !important;
display:inline-flex !important;align-items:center !important;justify-content:center !important;
gap:.55em;transition:.18s;white-space:nowrap;box-shadow:none !important;
flex-direction:row !important;width:auto}
.calcu-filtros__tab::after{content:"";display:block;width:.4em;height:.4em;
border-right:2px solid currentColor !important;border-bottom:2px solid currentColor !important;
border-top:0 !important;border-left:0 !important;background:none !important;
transform:rotate(45deg);transition:.2s;margin-top:-.25em;opacity:.55;
flex:0 0 auto;order:3}
.calcu-filtros__tab::before{content:none !important;display:none !important}
.calcu-filtros__n{order:2}
.calcu-filtros__tab:hover{background:#F2F6FC !important;color:#1E314D !important}
.calcu-filtros__tab[aria-expanded="true"]{background:#3681D3 !important;color:#fff !important;
box-shadow:0 8px 20px -8px rgba(54,129,211,.75) !important}
.calcu-filtros__tab[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:.2em;opacity:1}
.calcu-filtros__n{background:#3681D3;color:#fff;border-radius:100px;font-size:.7em;
min-width:1.6em;padding:.2em .5em;line-height:1.3;font-weight:700}
.calcu-filtros__tab[aria-expanded="true"] .calcu-filtros__n{background:rgba(255,255,255,.28)}

.calcu-filtros__panel{padding:1.8em .8em .4em;animation:calcu-baja .22s ease}
@keyframes calcu-baja{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.calcu-filtros__titulo{font-family:Archivo,sans-serif;font-weight:700;font-size:.76em;
letter-spacing:.1em;text-transform:uppercase;color:#A6AEBB;margin:0 0 1.1em}

.calcu-filtros__opciones{display:grid;grid-template-columns:repeat(4,1fr);gap:.5em}
.calcu-filtros__opcion{position:relative;display:flex;align-items:center;gap:.7em;cursor:pointer;
font-size:.93em;color:#1E314D;padding:.7em .9em;border-radius:12px;border:1.5px solid #EDF1F6;
transition:.15s;background:#fff}
.calcu-filtros__opcion:hover{border-color:#9FD3F1;background:#F7FBFF}
.calcu-filtros__opcion input{position:absolute;opacity:0;width:0;height:0}
.calcu-filtros__opcion::before{content:"";width:1.2em;height:1.2em;border-radius:6px;
border:2px solid #D3DCE7;flex:0 0 auto;transition:.15s;background:#fff}
.calcu-filtros__opcion:has(input:checked){border-color:#3681D3;background:#EFF6FE}
.calcu-filtros__opcion:has(input:checked)::before{background:#3681D3;border-color:#3681D3}
.calcu-filtros__opcion:has(input:checked)::after{content:"";position:absolute;left:1.34em;
top:50%;width:.3em;height:.6em;border-right:2.4px solid #fff;border-bottom:2.4px solid #fff;
transform:translateY(-65%) rotate(42deg);pointer-events:none}
.calcu-filtros__opcion span:first-of-type{flex:1;font-weight:500}
.calcu-filtros__cuenta{color:#A6AEBB;font-size:.82em;font-variant-numeric:tabular-nums;
background:#F4F6F9;border-radius:100px;padding:.15em .6em;font-weight:600}
.calcu-filtros__opcion:has(input:checked) .calcu-filtros__cuenta{background:#DCEAFB;color:#2A4E7E}
.calcu-filtros__opcion.es-vacia{opacity:.35;cursor:not-allowed;background:#FAFBFC}
.calcu-filtros__opcion.es-oculta{display:none}

.calcu-filtros__rangos{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4em}
.calcu-filtros__rango input[type=range]{width:100%;cursor:pointer;-webkit-appearance:none;
appearance:none;height:6px;border-radius:100px;background:#E6EAF0;outline:none}
.calcu-filtros__rango input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;
appearance:none;width:22px;height:22px;border-radius:50%;background:#3681D3;cursor:grab;
border:3px solid #fff;box-shadow:0 3px 10px -2px rgba(30,49,77,.5)}
.calcu-filtros__rango input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;
background:#3681D3;cursor:grab;border:3px solid #fff;box-shadow:0 3px 10px -2px rgba(30,49,77,.5)}
.calcu-filtros__dobles{display:flex;flex-direction:column;gap:.7em}
.calcu-filtros__valores{display:flex;justify-content:space-between;margin:.9em 0 0;
font-family:Archivo,sans-serif;font-weight:700;font-size:.95em;color:#1E314D}
.calcu-filtros__valores span{background:#F2F6FC;border-radius:8px;padding:.35em .8em}

.calcu-filtros__pie{padding:1.4em .8em .8em;text-align:center;display:none}
.calcu-filtros.tiene-panel-abierto .calcu-filtros__pie{display:block}
.calcu-filtros__enviar{background:#3681D3 !important;color:#fff !important;border:0 !important;
border-radius:100px !important;padding:1em 2.6em !important;cursor:pointer;
font-family:Archivo,sans-serif;font-weight:700;font-size:.95em;transition:.18s;
box-shadow:0 12px 26px -12px rgba(54,129,211,.9) !important}
.calcu-filtros__enviar:hover{background:#2A4E7E !important;transform:translateY(-2px)}

/* ---------- filtros aplicados ---------- */
.calcu-activos{display:flex;flex-wrap:wrap;gap:.55em;align-items:center;margin:0 0 1.5em}
.calcu-activos__ficha{display:inline-flex;align-items:center;gap:.65em;background:#fff !important;
color:#1E314D !important;border:1.5px solid #DCE4EE !important;border-radius:100px;
padding:.45em .55em .45em 1em;font-size:.86em;text-decoration:none !important;
font-family:Archivo,sans-serif !important;font-weight:600;transition:.15s;box-shadow:none !important}
.calcu-activos__ficha:hover{border-color:#3681D3 !important;color:#2A4E7E !important;
background:#F7FBFF !important}
.calcu-activos__ficha span[aria-hidden]{display:grid;place-items:center;width:1.5em;height:1.5em;
border-radius:50%;background:#F0F3F7;font-size:.95em;line-height:1}
.calcu-activos__ficha:hover span[aria-hidden]{background:#3681D3;color:#fff}
.calcu-activos__limpiar{font-size:.86em;color:#8B93A1 !important;margin-left:.4em;
text-decoration:underline !important}
.calcu-activos__limpiar:hover{color:#3681D3 !important}

/* ---------- resumen de resultados ---------- */
.calcu-resumen{display:flex;justify-content:space-between;align-items:center;gap:1em;
flex-wrap:wrap;margin:0 0 1.6em}
.calcu-resumen__total{margin:0;color:#5D6470;font-size:.98em}
.calcu-resumen__total strong{font-family:Archivo,sans-serif;font-weight:800;color:#101828}
.calcu-resumen__orden{position:relative;display:flex;align-items:center;gap:.7em;font-size:.9em;
color:#8B93A1}
.calcu-resumen__orden select{border:1.5px solid #E6EAF0;border-radius:100px;
padding:.6em 2.4em .6em 1.1em;background:#fff;font-size:.94em;color:#101828;cursor:pointer;
font-family:Archivo,sans-serif;font-weight:600;-webkit-appearance:none;appearance:none}
.calcu-resumen__orden select:hover{border-color:#9FD3F1}
.calcu-resumen__orden::after{content:"";position:absolute;right:1.1em;top:50%;width:.42em;
height:.42em;border-right:2px solid #5D6470;border-bottom:2px solid #5D6470;
transform:translateY(-70%) rotate(45deg);pointer-events:none}

/* ---------- buscador simple ---------- */
.calcu-buscador{display:flex;gap:1em;align-items:flex-end;flex-wrap:wrap}
.calcu-buscador__campo{flex:1 1 200px;display:flex;flex-direction:column;gap:.4em}
.calcu-buscador__campo label{font-family:Archivo,sans-serif;font-weight:700;font-size:.7em;
letter-spacing:.16em;color:#8B93A1}
/* El campo agrupa etiqueta y desplegable en columna. Sin height:auto el
   contenedor flexible se estiraba en móvil y dejaba un hueco enorme. */
.calcu-buscador__campo{position:relative;height:auto;align-self:flex-start}
.calcu-buscador__campo select{width:100%;padding:.95em 2.4em .95em 1em;
border:1.5px solid #E6EAF0 !important;border-radius:12px !important;background:#fff;
font-size:.94em;color:#101828;-webkit-appearance:none;appearance:none;cursor:pointer;
font-family:Inter,sans-serif}
.calcu-buscador__campo select:hover{border-color:#9FD3F1 !important}
.calcu-buscador__campo select:focus{border-color:#3681D3 !important;outline:none;
box-shadow:0 0 0 3px rgba(54,129,211,.15)}
/* La flecha se ancla al propio desplegable, no al fondo del campo: con
   bottom fijo se descolgaba al estirarse el contenedor. */
.calcu-buscador__campo::after{content:"";position:absolute;right:1.1em;top:calc(50% + .8em);
width:.42em;height:.42em;border-right:2px solid #5D6470;border-bottom:2px solid #5D6470;
transform:translateY(-50%) rotate(45deg);pointer-events:none}
.calcu-buscador select[hidden]{display:none}
.calcu-buscador select:disabled{opacity:.6;cursor:not-allowed}
.calcu-buscador__boton{font-family:Archivo,sans-serif !important;font-weight:700 !important;
font-size:.92em !important;padding:1em 1.9em !important;border:0 !important;
border-radius:100px !important;background:#3681D3 !important;color:#fff !important;
cursor:pointer;-webkit-appearance:none;appearance:none;text-transform:none !important;
letter-spacing:normal !important;transition:.18s;
box-shadow:0 12px 26px -14px rgba(54,129,211,.9) !important}
.calcu-buscador__boton:hover{background:#2A4E7E !important;color:#fff !important;
transform:translateY(-2px)}
.calcu-buscador[data-auto="1"] .calcu-buscador__boton{display:none}
/* Sin resultados en la misma página, el botón es la única forma de buscar. */
.calcu-buscador:not([data-auto="1"]) .calcu-buscador__boton{display:inline-block}
[aria-busy="true"]{pointer-events:none}

/* ---------- galería ----------
   Las fotos son <button> para abrir el visor y ser accesibles con
   teclado. Los temas estilan todos los botones, así que hay que
   neutralizarlos o la foto sale enmarcada en el color de acento. */
.calcu-galeria button,.calcu-galeria__principal,.calcu-galeria__mini{
-webkit-appearance:none !important;appearance:none !important;background:none !important;
text-transform:none !important;letter-spacing:normal !important;
min-height:0 !important;min-width:0 !important}
.calcu-galeria__principal{position:relative;display:block !important;width:100% !important;
padding:0 !important;border:0 !important;border-radius:14px !important;overflow:hidden;
/* 4:3, la proporción real de las fotos del concesionario (1024×768).
   Estaba en 16/10 y, como la imagen se ajusta con object-fit:cover, a cada
   foto se le recortaba una franja arriba y otra abajo: se comía el techo y
   las ruedas. Si algún día las fotos cambian de proporción, este es el número
   que hay que igualar. */
aspect-ratio:4/3;background:#E4EFFB;cursor:zoom-in;
box-shadow:0 22px 48px -26px rgba(30,49,77,.42) !important}
.calcu-galeria__principal img{width:100%;height:100%;object-fit:cover;display:block}
.calcu-galeria__contador{position:absolute;bottom:12px;right:12px;background:rgba(16,24,40,.72);
color:#fff;font-family:Archivo,sans-serif;font-weight:600;font-size:.72em;
padding:.3em .65em;border-radius:6px;pointer-events:none}
.calcu-galeria__miniaturas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.calcu-galeria__mini{position:relative;padding:0 !important;border:2px solid transparent !important;
border-radius:10px !important;overflow:hidden;cursor:pointer;aspect-ratio:4/3;transition:.18s;
box-shadow:none !important}
.calcu-galeria__mini img{width:100%;height:100%;object-fit:cover;display:block}
.calcu-galeria__mini:hover{transform:translateY(-2px);border-color:#9FD3F1 !important}
.calcu-galeria__mini.es-activa{border-color:#3681D3 !important}
.calcu-galeria__mini.tiene-mas img{filter:brightness(.45)}
.calcu-galeria__mas{position:absolute;inset:0;display:grid;place-items:center;color:#fff;
font-family:Archivo,sans-serif;font-weight:700;font-size:1.05em;pointer-events:none}

/* ---------- visor de fotos ---------- */
.calcu-visor{position:fixed;inset:0;z-index:99999;background:rgba(10,16,26,.96);
display:none;align-items:center;justify-content:center}
.calcu-visor.abierto{display:flex}
.calcu-visor img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:8px}
.calcu-visor button{position:absolute;background:rgba(255,255,255,.12) !important;
border:0 !important;color:#fff;cursor:pointer;border-radius:50% !important;
width:48px;height:48px;font-size:1.4em;display:grid;place-items:center;transition:.18s;
padding:0 !important}
.calcu-visor button:hover{background:rgba(255,255,255,.25) !important}
.calcu-visor__cerrar{top:20px;right:20px}
.calcu-visor__ant{left:20px;top:50%;transform:translateY(-50%)}
.calcu-visor__sig{right:20px;top:50%;transform:translateY(-50%)}
.calcu-visor__pos{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;
font-family:Archivo,sans-serif;font-size:.9em;background:rgba(255,255,255,.12);
padding:.4em 1em;border-radius:100px}

/* ---------- simulador de financiación ---------- */
.calcu-sim{text-align:center;max-width:760px;margin:0 auto}
.calcu-sim__titulo{font-family:Archivo,sans-serif;font-weight:800;letter-spacing:-.03em;
color:#101828;margin:0 0 .3em}
.calcu-sim__sub{color:#5D6470;margin:0 0 2.2em}
.calcu-sim__mandos{display:flex;gap:2.5em;flex-wrap:wrap;justify-content:center}
.calcu-sim__mando{flex:1 1 260px;display:flex;flex-direction:column;gap:.7em}
.calcu-sim__mando label{font-family:Archivo,sans-serif;font-weight:600;color:#5D6470;font-size:1.05em}
.calcu-sim__mando input[type=range]{width:100%;cursor:pointer;-webkit-appearance:none;
appearance:none;height:6px;border-radius:100px;background:#E6EAF0;outline:none}
.calcu-sim__mando input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
width:22px;height:22px;border-radius:50%;background:#3681D3;cursor:grab;border:3px solid #fff;
box-shadow:0 3px 10px -2px rgba(30,49,77,.5)}
.calcu-sim__mando input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;
background:#3681D3;cursor:grab;border:3px solid #fff;box-shadow:0 3px 10px -2px rgba(30,49,77,.5)}
.calcu-sim__valor{font-family:Archivo,sans-serif;font-weight:700;color:#101828}
.calcu-sim__resultado{font-family:Archivo,sans-serif;font-size:1.15em;color:#1E314D;margin:2em 0 .8em}
.calcu-sim__resultado strong{color:#3681D3;font-size:1.35em;letter-spacing:-.02em}
.calcu-sim__resultado.es-invalido{color:#B32D2E}
.calcu-sim__nota{font-size:.9em;color:#5D6470;font-style:italic;line-height:1.6;margin:0 0 1.8em}
.calcu-sim__cta{display:inline-block;background:#3681D3;color:#fff;font-family:Archivo,sans-serif;
font-weight:700;font-size:1.05em;padding:1em 2.2em;border-radius:100px;text-decoration:none;
transition:.18s}
.calcu-sim__cta:hover{background:#2A4E7E;transform:translateY(-2px);color:#fff}
.calcu-sim__cta[aria-disabled="true"]{background:#C2C9D4;pointer-events:none}
.calcu-sim__legal{font-size:.75em;color:#8B93A1;line-height:1.5;margin:1.6em 0 0}

/* ----------------------------------------------------------
   DISTINTIVO AMBIENTAL DGT

   El posicionamiento y el tamaño se ajustan desde Elementor:
   aquí solo va lo mínimo para que la imagen no se deforme.
   Poner más CSS obligaría a pelearse con el editor cada vez
   que se quiera mover.
   ---------------------------------------------------------- */
.calcu-dgt-img{display:block;border-radius:50%;
box-shadow:0 3px 12px -2px rgba(16,24,40,.45)}

/* Compatibilidad con el campo antiguo badge_etiqueta_html. */
.calcu-dgt{display:block;line-height:0}
.calcu-dgt img{display:block;border-radius:50%;
box-shadow:0 3px 12px -2px rgba(16,24,40,.45)}

/* ----------------------------------------------------------
   BLOQUE DE PRECIOS

   Dos columnas: el financiado a la izquierda como reclamo, la
   cuota y el contado a la derecha como referencia.
   ---------------------------------------------------------- */
.calcu-precios{display:flex;align-items:stretch;gap:1.1em;margin-top:auto;
padding-top:1em;border-top:1px solid #E6EAF0}
.calcu-precios__principal{display:flex;flex-direction:column;gap:.15em;
justify-content:center;flex:1 1 auto}
.calcu-precios__secundario{display:flex;flex-direction:column;gap:.1em;
justify-content:center;text-align:right;padding-left:1.1em;
border-left:1px solid #E6EAF0}
.calcu-precios__etiqueta{font-size:.78em;color:#8B93A1;line-height:1.3}
.calcu-precios__importe{font-family:Archivo,sans-serif;font-weight:800;
font-size:1.75em;letter-spacing:-.04em;color:#3681D3;line-height:1.05}
.calcu-precios__cuota{font-family:Archivo,sans-serif;font-weight:800;
font-size:1em;color:#101828;letter-spacing:-.02em;margin-bottom:.25em}
/* Sin tachar a propósito: no es una rebaja, es otra forma de pago. */
.calcu-precios__contado{font-family:Archivo,sans-serif;font-weight:700;
font-size:.95em;color:#5D6470}

@media(max-width:520px){
.calcu-precios{gap:.8em}
.calcu-precios__importe{font-size:1.45em}
.calcu-precios__secundario{padding-left:.8em}
}

/* ---------- listado propio ---------- */
.calcu-listado__rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6em}
.calcu-listado[data-columnas="2"] .calcu-listado__rejilla{grid-template-columns:repeat(2,1fr)}
.calcu-listado[data-columnas="4"] .calcu-listado__rejilla{grid-template-columns:repeat(4,1fr)}
.calcu-listado__celda{display:flex}
.calcu-listado__celda>*{width:100%}

.calcu-listado__vacio{text-align:center;padding:4em 1em;background:#F7F9FC;border-radius:16px}
.calcu-listado__vacio-titulo{font-family:Archivo,sans-serif;font-weight:800;font-size:1.3em;
color:#101828;margin:0 0 .4em}
.calcu-listado__vacio p{color:#5D6470;margin:0 0 1.4em}
.calcu-listado__limpiar{display:inline-block;background:#3681D3 !important;color:#fff !important;
font-family:Archivo,sans-serif;font-weight:700;font-size:.92em;padding:.9em 1.9em;
border-radius:100px;text-decoration:none !important}
.calcu-listado__limpiar:hover{background:#2A4E7E !important}

/* tarjeta propia */
.calcu-tarjeta{display:flex;flex-direction:column;background:#fff;border:1px solid #E6EAF0;
border-radius:14px;overflow:hidden;text-decoration:none !important;transition:.2s;height:100%}
.calcu-tarjeta:hover{transform:translateY(-4px);box-shadow:0 22px 48px -26px rgba(30,49,77,.42);
border-color:#DCE8F6}
.calcu-tarjeta__foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.calcu-tarjeta__cuerpo{padding:1.2em 1.3em 1.4em;display:flex;flex-direction:column;gap:.55em;flex:1}
.calcu-tarjeta__badges{display:flex;flex-wrap:wrap;gap:.3em;min-height:0}
.calcu-tarjeta__nombre{font-family:Archivo,sans-serif;font-weight:800;font-size:1.2em;
color:#101828 !important;letter-spacing:-.02em;line-height:1.2}
.calcu-tarjeta__version{font-size:.85em;color:#5D6470;line-height:1.45}
.calcu-tarjeta__chips{display:block}
.calcu-tarjeta__precios{display:flex;justify-content:space-between;align-items:flex-end;gap:1em;
border-top:1px solid #E6EAF0;padding-top:1em;margin-top:auto}
.calcu-tarjeta__principal{display:flex;flex-direction:column}
.calcu-tarjeta__importe{font-family:Archivo,sans-serif;font-weight:800;font-size:1.65em;
letter-spacing:-.04em;color:#1E314D;line-height:1}
.calcu-tarjeta__etiqueta{font-size:.72em;color:#8B93A1;margin-top:.25em}
.calcu-tarjeta__secundario{display:flex;flex-direction:column;align-items:flex-end;gap:.15em}
.calcu-tarjeta__cuota{font-family:Archivo,sans-serif;font-weight:800;color:#3681D3;font-size:1em}
.calcu-tarjeta__tachado{font-size:.78em;color:#8B93A1;text-decoration:line-through}

/* paginación */
.calcu-paginacion{display:flex;justify-content:center;align-items:center;gap:.4em;margin:2.5em 0 0;
flex-wrap:wrap}
.calcu-paginacion a{display:grid;place-items:center;min-width:2.6em;height:2.6em;padding:0 .7em;
border-radius:100px;border:1.5px solid #E6EAF0;color:#5D6470 !important;text-decoration:none !important;
font-family:Archivo,sans-serif;font-weight:600;font-size:.92em;transition:.15s;background:#fff}
.calcu-paginacion a:hover{border-color:#9FD3F1;color:#1E314D !important}
.calcu-paginacion a.es-actual{background:#3681D3;border-color:#3681D3;color:#fff !important}
.calcu-paginacion__puntos{color:#A6AEBB;padding:0 .3em}

/* ----------------------------------------------------------
   CINTAS DE ESTADO

   La cinta va DENTRO de la tarjeta, no rotada sobre la esquina:
   una banda diagonal se sale del contenedor y hay que recortarla
   con overflow, lo que obliga a conocer el tamaño de la tarjeta.
   Una etiqueta sobre la foto es más simple y no se rompe.

   El aviso de "te lo conseguimos" va bajo la foto, no encima de
   los datos: tapar el precio y las características es peor que
   no mostrar el aviso.
   ---------------------------------------------------------- */
.calcu-listado__celda{position:relative;overflow:hidden;border-radius:14px}

/* La celda se mantiene en bloque aunque el contenedor de alrededor esté
   en fila: una plantilla de Elementor puede ponerlo. */
.calcu-listado__celda{display:block}

/* Estado del coche: cuña sólida en la esquina superior izquierda.
   Una pastilla flotando sobre la foto se confunde con un adorno más; un
   triángulo que llena el vértice se lee antes que el propio coche, que es de
   lo que se trata cuando el vehículo ya no está disponible.

   Son tres capas: el cuadrado que delimita, el triángulo de color recortado
   con clip-path, y el texto girado encima. El color va en el triángulo y el
   texto va aparte porque, si se giraran juntos, giraría también la cuña. */
.calcu-cinta{position:absolute;top:0;left:0;width:11em;height:11em;
z-index:3;pointer-events:none;overflow:hidden;background:none !important}
.calcu-cinta__fondo{position:absolute;top:0;left:0;width:100%;height:100%;
clip-path:polygon(0 0,100% 0,0 100%);
filter:drop-shadow(0 6px 10px rgba(16,24,40,.35))}
/* El texto se apoya en la bisectriz, a media altura de la cuña: más cerca del
   vértice no cabe y más lejos se sale por la hipotenusa. El hueco disponible
   a esa altura mide aproximadamente el ancho del cuadrado, así que el texto
   más largo tiene que caber en él: es lo que fija el tamaño de la cuña. */
.calcu-cinta__texto{position:absolute;top:32%;left:-9%;width:92%;
transform:rotate(-45deg);color:#fff;font-family:Archivo,sans-serif;font-weight:800;
font-size:.85em;letter-spacing:.03em;text-transform:uppercase;text-align:center;
white-space:nowrap;text-shadow:0 1px 2px rgba(16,24,40,.35)}

/* El color de cada estado se define en PHP (Calcu_Walcu_Display::estados) y
   llega como estilo en línea: así se cambia en un sitio y aplica en la web y
   en el escritorio a la vez. Aquí solo va lo que no es color. */
@media(max-width:600px){.calcu-cinta{width:9.5em;height:9.5em}
.calcu-cinta__texto{font-size:.76em}}

/* La foto de un coche vendido se atenúa: se distingue de un vistazo
   al recorrer el listado, sin tener que leer la etiqueta. */
/* Solo la FOTO DEL COCHE se atenúa. Los elementos superpuestos —el distintivo
   de la DGT— conservan su color: apagarlos no dice nada sobre el estado del
   vehículo y sí resta legibilidad a un dato que el comprador busca.
   En Elementor lo superpuesto lleva siempre `elementor-absolute`, así que
   sirve de frontera, igual que en la regla del recorte 4:3. */
.calcu-listado__celda.es-vendido .calcu-tarjeta__foto>img,
.calcu-listado__celda.es-vendido .elementor-widget-image:not(.elementor-absolute) img{
filter:grayscale(.7) contrast(.95)}
.calcu-listado__celda.es-reservado .calcu-tarjeta__foto>img,
.calcu-listado__celda.es-reservado .elementor-widget-image:not(.elementor-absolute) img{
filter:saturate(.8)}
.calcu-listado__celda.es-vendido:hover .calcu-tarjeta__foto>img,
.calcu-listado__celda.es-vendido:hover .elementor-widget-image:not(.elementor-absolute) img{
filter:none}
/* Por si algún estilo heredado los alcanzara. */
.calcu-listado__celda .elementor-absolute img,
.calcu-listado__celda .calcu-tarjeta__dgt img{filter:none !important}

.calcu-listado__celda.es-preparacion 
/* En preparación: el coche está anunciado pero aún no se puede comprar. Los
   precios se atenúan en lugar de ocultarse, para que sigan sirviendo de
   referencia sin invitar a una compra que no se puede cerrar todavía. */
.calcu-listado__celda.es-reservado .calcu-tarjeta__importe,
.calcu-listado__celda.es-reservado .calcu-tarjeta__cuota,
.calcu-listado__celda.es-preparacion .calcu-tarjeta__importe,
.calcu-listado__celda.es-preparacion .calcu-tarjeta__cuota,
.calcu-listado__celda.es-preparacion .elementor-widget-heading .elementor-heading-title{
color:#98A2B3 !important}
.calcu-listado__celda.es-preparacion .calcu-tarjeta__foto>img,
.calcu-listado__celda.es-preparacion .elementor-widget-image:not(.elementor-absolute) img{
filter:saturate(.75)}
.calcu-listado__celda.es-reservado 
/* La banda se pega al borde inferior de la tarjeta.
   El redondeo se anula en la tarjeta Y en sus contenedores internos: con la
   plantilla de Elementor el radio está en un div interior, así que quitarlo
   solo al hijo directo dejaba las esquinas curvas sobre la banda recta. */
.calcu-listado__celda.es-vendido>.calcu-tarjeta,
.calcu-listado__celda.es-vendido>[data-elementor-type],
.calcu-listado__celda.es-vendido>[data-elementor-type] .e-con,
.calcu-listado__celda.es-vendido>[data-elementor-type]>.e-con,
.calcu-listado__celda.es-reservado>.calcu-tarjeta,
.calcu-listado__celda.es-reservado>[data-elementor-type],
.calcu-listado__celda.es-preparacion>.calcu-tarjeta,
.calcu-listado__celda.es-preparacion>[data-elementor-type],
.calcu-listado__celda.es-preparacion>[data-elementor-type] .e-con,
.calcu-listado__celda.es-preparacion>[data-elementor-type]>.e-con{
border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;
border-bottom:0 !important;margin-bottom:0 !important}
.calcu-listado__celda.es-vendido,
.calcu-listado__celda.es-preparacion{display:flex;flex-direction:column}
.calcu-listado__celda.es-vendido>*:first-child,
.calcu-listado__celda.es-preparacion>*:first-child{flex:1}

/* ---------- avisos en la ficha del vehículo ---------- */
.calcu-aviso-ficha{display:flex;align-items:flex-start;gap:1em;border-radius:14px;
padding:1.2em 1.4em;margin:0 0 1.4em}
/* Un solo color para los tres estados, como las cuñas del listado: lo pidió el
   concesionario para que la web hable con una sola voz. El texto de cada aviso
   ya dice si el coche está vendido, reservado o en preparación. */
/* Azul de marca, un punto más oscuro (#3681D3 -> #3176C4).
   Con el azul exacto el texto pequeño del aviso se queda en 4,01 de contraste
   sobre blanco, por debajo del 4,5 que pide la accesibilidad; con este tono
   sube a 4,65 y a simple vista es el mismo azul. Para usar el exacto, cambiar
   aquí por #3681D3. */
.calcu-aviso-ficha--vendido,
.calcu-aviso-ficha--preparacion,
.calcu-aviso-ficha--reservado{background:#3176C4;color:#fff;border:0}
.calcu-aviso-ficha__icono{flex:0 0 auto;width:2.4em;height:2.4em;border-radius:50%;
display:grid;place-items:center;font-size:1em;font-weight:700;
background:rgba(255,255,255,.16);color:#fff}
.calcu-aviso-ficha__texto{flex:1}
.calcu-aviso-ficha__titulo{display:block;font-family:Archivo,sans-serif;font-weight:800;
font-size:1.05em;margin-bottom:.25em}
.calcu-aviso-ficha__sub{display:block;font-size:.9em;line-height:1.55;opacity:.9}
.calcu-aviso-ficha__cta{display:inline-block;margin-top:.9em;background:#fff;color:#1F4F87;
font-family:Archivo,sans-serif;font-weight:700;font-size:.88em;padding:.7em 1.5em;
border-radius:100px;text-decoration:none !important}
.calcu-aviso-ficha__cta:hover{transform:translateY(-2px)}
.calcu-aviso-ficha__acciones{display:flex;gap:.7em;flex-wrap:wrap;margin-top:.9em}
.calcu-aviso-ficha__acciones .calcu-aviso-ficha__cta{margin-top:0}
.calcu-aviso-ficha__cta--wa{background:#25D366 !important;color:#fff !important}

/* Ni un coche vendido ni uno reservado deben ofrecer botones de compra: un
   "Reservar este coche" en algo ya reservado es una promesa que no se puede
   cumplir. El precio se mantiene como referencia y el aviso de arriba asume la
   llamada a la acción, redirigiendo hacia coches similares.

   El simulador de financiación también se retira: calcular la cuota de un coche
   que no se puede comprar solo genera frustración. */
.calcu-ficha-vendido .calcu-sim,
.calcu-ficha-vendido .elementor-widget-button,
.calcu-ficha-preparacion .calcu-sim,
.calcu-ficha-preparacion .elementor-widget-button,
.calcu-ficha-reservado .calcu-sim,
.calcu-ficha-reservado .elementor-widget-button{display:none !important}

/*
 * Al ocultar el simulador quedaba su CONTENEDOR: una tarjeta blanca vacía con
 * borde y sombra en mitad de la ficha. Se oculta el widget entero, que es lo
 * que Elementor envuelve alrededor del shortcode.
 */
.calcu-ficha-vendido .elementor-widget-shortcode:has(.calcu-sim),
.calcu-ficha-preparacion .elementor-widget-shortcode:has(.calcu-sim){display:none !important}

/*
 * Respaldo para navegadores sin :has(). Se marca el contenedor con JavaScript
 * y se oculta por clase, para no dejar el hueco en ningún caso.
 */
.calcu-bloque-vacio{display:none !important}

/* El aviso lleva su propio botón y no debe ocultarse con los demás. */
.calcu-ficha-vendido .calcu-aviso-ficha__cta,
.calcu-ficha-preparacion .calcu-aviso-ficha__cta{display:inline-block !important}

.calcu-ficha-vendido .calcu-galeria__principal img{filter:grayscale(.55)}
.calcu-ficha-preparacion .calcu-galeria__principal img{filter:saturate(.8)}

/* Precio atenuado también en la ficha, igual que en el listado. */
.calcu-ficha-preparacion .calcu-tarjeta__importe,
.calcu-ficha-vendido .calcu-tarjeta__importe{color:#98A2B3 !important}

/* ==========================================================
   BARRA DE ACCIONES EN MÓVIL

   Fija abajo, donde llega el pulgar sin recolocar la mano.
   Solo en móvil: en escritorio las acciones ya están visibles
   y una barra fija robaría espacio de lectura.
   ========================================================== */
.calcu-barra{display:none}

@media(max-width:860px){
	.calcu-barra{
		display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9990;
		background:#fff;border-top:1px solid #E6EAF0;
		box-shadow:0 -6px 24px -12px rgba(16,24,40,.35);
		/* Respeta la zona segura de los móviles con barra inferior */
		padding-bottom:env(safe-area-inset-bottom,0)}

	.calcu-barra__accion{
		flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
		gap:.28em;padding:.75em .4em;text-decoration:none !important;
		font-family:Archivo,sans-serif;font-weight:700;font-size:.72em;
		color:#5D6470 !important;border-right:1px solid #F0F3F7;transition:.15s}
	.calcu-barra__accion:last-child{border-right:0}
	.calcu-barra__accion:active{background:#F2F6FC}

	.calcu-barra__accion--wa{background:#25D366;color:#fff !important;border-right:0}
	.calcu-barra__accion--wa:active{background:#1FAE52}

	/* Iconos dibujados con CSS: sin peticiones extra ni fuentes de iconos */
	.calcu-barra__icono{width:1.45em;height:1.45em;position:relative;flex:0 0 auto}

	.calcu-barra__icono--wa{border:2px solid #fff;border-radius:50%;
		border-bottom-left-radius:2px}
	.calcu-barra__icono--wa::after{content:"";position:absolute;left:.32em;top:.34em;
		width:.5em;height:.5em;border:2px solid #fff;border-radius:50% 50% 50% 0;
		transform:rotate(-45deg)}

	.calcu-barra__icono--stock{border:2px solid currentColor;border-radius:3px;
		border-top-width:.42em}
	.calcu-barra__icono--stock::after{content:"";position:absolute;left:.18em;bottom:.2em;
		width:.75em;height:2px;background:currentColor;
		box-shadow:0 -.28em 0 0 currentColor}

	.calcu-barra__icono--tel{border:2px solid currentColor;border-radius:.35em;
		width:.95em;height:1.45em;margin:0 auto}
	.calcu-barra__icono--tel::after{content:"";position:absolute;left:50%;bottom:.12em;
		transform:translateX(-50%);width:.28em;height:.28em;border-radius:50%;
		background:currentColor}

	/* El contenido deja hueco para que la barra no tape el final de la página */
	body{padding-bottom:4.6em}

	/* Con el panel de filtros abierto la barra sobra: el panel ya ocupa todo */
	body.calcu-filtros-abiertos .calcu-barra{display:none}
}

/* ---------- adaptación a pantallas pequeñas ---------- */
@media(max-width:980px){
.calcu-relacionados{grid-template-columns:repeat(2,1fr)}
.calcu-listado__rejilla,
.calcu-listado[data-columnas="4"] .calcu-listado__rejilla{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
.calcu-equip__lista{grid-template-columns:repeat(2,1fr)}
.calcu-filtros__opciones{grid-template-columns:repeat(2,1fr)}
.calcu-filtros__rangos{grid-template-columns:1fr;gap:1.8em}
.calcu-filtros__tab{flex:1 1 30%;font-size:.88em;padding:.8em .6em !important}
}
@media(max-width:860px){
	.calcu-buscador{flex-direction:column;align-items:stretch;gap:.9em}
	.calcu-buscador__campo{flex:0 0 auto;width:100%}
	/* En una columna, la flecha se ancla al alto real del desplegable. */
	.calcu-buscador__campo::after{top:auto;bottom:1.15em;transform:rotate(45deg)}
	.calcu-buscador__boton{width:100%;margin-top:.2em}
}
@media(max-width:760px){
.calcu-tecnica{grid-template-columns:1fr;gap:0}
.calcu-tecnica th{width:50%}
.calcu-faq{grid-template-columns:1fr}
}
@media(max-width:700px){
.calcu-titulo{font-size:1.45em}
.calcu-visor__ant{left:8px}
.calcu-visor__sig{right:8px}
.calcu-visor img{max-width:96vw}
.calcu-sim__mandos{gap:1.6em}
}
@media(max-width:560px){
.calcu-equip__lista{grid-template-columns:1fr}
.calcu-resumen{flex-direction:column;align-items:flex-start;gap:.6em}
}

/* ==========================================================
   FILTROS EN MÓVIL

   En una pantalla pequeña, siete pestañas apiladas ocupan media
   pantalla antes de ver un solo coche. Se sustituyen por un botón
   que abre un panel deslizante a pantalla completa: el patrón
   habitual en catálogos y el que el usuario ya conoce.
   ========================================================== */
@media(max-width:860px){
	.calcu-filtros__abrir{
		display:flex !important;align-items:center;justify-content:center;gap:.6em;
		width:100%;background:#fff !important;border:1.5px solid #E6EAF0 !important;
		border-radius:100px !important;padding:1em 1.4em !important;cursor:pointer;
		font-family:Archivo,sans-serif !important;font-weight:700;font-size:.98em;
		color:#1E314D !important;margin-bottom:1.2em;
		box-shadow:0 4px 14px -8px rgba(30,49,77,.5) !important}
	.calcu-filtros__abrir:hover{border-color:#9FD3F1 !important}
	.calcu-filtros__abrir-icono{width:1.05em;height:1.05em;flex:0 0 auto;position:relative}
	/* Tres líneas decrecientes: el icono universal de filtro */
	.calcu-filtros__abrir-icono::before,
	.calcu-filtros__abrir-icono::after{content:"";position:absolute;left:0;height:2px;
		background:#3681D3;border-radius:2px}
	.calcu-filtros__abrir-icono::before{top:.15em;width:100%;
		box-shadow:0 .35em 0 -0 #3681D3}
	.calcu-filtros__abrir-icono::after{bottom:.15em;width:55%}

	/* El panel ocupa la pantalla y se desliza desde abajo */
	.calcu-filtros{
		position:fixed;inset:auto 0 0 0;z-index:99998;
		max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
		border-radius:20px 20px 0 0;padding:0 .6em .6em;margin:0;
		transform:translateY(100%);transition:transform .28s ease;
		box-shadow:0 -18px 50px -20px rgba(16,24,40,.55) !important}
	.calcu-filtros.esta-abierto{transform:translateY(0)}

	.calcu-filtros__cabecera{
		display:flex !important;align-items:center;justify-content:space-between;
		position:sticky;top:0;z-index:2;background:#fff;
		padding:1.1em .8em;margin:0 -.6em .4em;
		border-bottom:1px solid #E6EAF0;
		font-family:Archivo,sans-serif;font-weight:800;font-size:1.05em;color:#101828}
	.calcu-filtros__cerrar{background:none !important;border:0 !important;padding:0 !important;
		width:2em;height:2em;font-size:1.5em;line-height:1;color:#8B93A1 !important;
		cursor:pointer}

	/* Las pestañas pasan a lista: en vertical se leen mejor que apiladas
	   en dos columnas irregulares. */
	.calcu-filtros__barra{flex-direction:column;gap:0}
	.calcu-filtros__tab{width:100%;justify-content:space-between !important;
		border-radius:0 !important;padding:1.05em .8em !important;
		border-bottom:1px solid #F0F3F7 !important;font-size:1em}
	.calcu-filtros__tab[aria-expanded="true"]{background:#F2F6FC !important;
		color:#1E314D !important;box-shadow:none !important}
	.calcu-filtros__tab[aria-expanded="true"]::after{border-color:#3681D3 !important}

	.calcu-filtros__panel{padding:1.2em .8em;background:#F7F9FC;
		border-bottom:1px solid #F0F3F7}
	.calcu-filtros__opciones{grid-template-columns:1fr;gap:.45em}
	.calcu-filtros__rangos{grid-template-columns:1fr;gap:1.8em}

	/* El botón de ver resultados queda fijo abajo, siempre alcanzable */
	.calcu-filtros__pie{display:block !important;position:sticky;bottom:0;
		background:#fff;padding:.9em .6em;margin:0 -.6em;
		border-top:1px solid #E6EAF0}
	.calcu-filtros__enviar{width:100%}

	/* Fondo oscurecido tras el panel */
	.calcu-velo{position:fixed;inset:0;z-index:99997;background:rgba(16,24,40,.5);
		opacity:0;pointer-events:none;transition:opacity .28s ease}
	.calcu-velo.esta-abierto{opacity:1;pointer-events:auto}

	body.calcu-filtros-abiertos{overflow:hidden}

	.calcu-activos{margin-bottom:1.2em}
	.calcu-resumen__orden select{width:100%}
}
@media(max-width:520px){
.calcu-relacionados{grid-template-columns:1fr}
.calcu-listado__rejilla,
.calcu-listado[data-columnas="2"] .calcu-listado__rejilla,
.calcu-listado[data-columnas="4"] .calcu-listado__rejilla{grid-template-columns:1fr}
}

/* Garantía oficial del fabricante (9.10.0) */
.calcu-garantia-oficial{display:flex;align-items:center;gap:8px;margin:10px 0;padding:8px 12px;border-radius:8px;background:#EDF7F1;color:#16794A;font-size:14px;font-weight:600;line-height:1.3}
.calcu-garantia-oficial__ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#1E9E5A;color:#fff;font-size:12px;flex:none}
