/**
 * Las páginas de imupesa.com.pe: secciones (los contenedores de Elementor) y
 * cada plantilla. Medidas de producción (06/11/2026).
 * Los contenedores en fila de Elementor reparten el ancho encogiendo a sus
 * hijos desde el 100 %: aquí igual (`flex: 0 1 100%`), así salen los mismos
 * anchos aunque uno tenga relleno y el otro no.
 */

/* ── Secciones ───────────────────────────────────────────────────────── */

.imp-sec { position: relative; padding: 100px 10px; }
.imp-sec__caja { position: relative; z-index: 1; max-width: var(--imp-caja); margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }

/* Título con su raya roja */
.imp-titulo { display: flex; flex-direction: column; gap: 5px; }
.imp-titulo__raya { display: block; width: 100px; border-top: 5px solid var(--imp-rojo); }
.imp-titulo__texto { margin: 0; font-family: var(--imp-roboto); font-size: 30px; font-weight: 600; line-height: 1; text-transform: uppercase; color: var(--imp-texto); }
.imp-titulo--centro { align-items: center; text-align: center; }
.imp-titulo--blanco .imp-titulo__texto { color: var(--imp-claro); }

/* Párrafos (en Elementor eran títulos «p» de 17 px con interlínea 28) */
.imp-parrafo { font-family: var(--imp-roboto); font-size: 17px; font-weight: 400; line-height: 28px; color: var(--imp-texto); }
.imp-parrafo p { margin: 0; }
.imp-parrafo--justo { text-align: justify; }
.imp-parrafo--blanco { color: #fff; }

/* Botón rojo */
.imp-boton-caja { display: flex; justify-content: center; }
.imp-boton-caja--izq { justify-content: flex-start; }
.imp-boton {
    display: inline-flex;
    justify-content: center;
    padding: 10px 30px;
    border: 0;
    border-radius: 0;
    background: var(--imp-rojo);
    font-family: var(--imp-roboto);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    color: var(--imp-claro);
    transition: all .3s;
}
.imp-boton:hover, .imp-boton:focus { color: var(--imp-claro); }
.imp-boton--grande { font-size: 18px; }

/* ── Portada: fotos que pasan solas ──────────────────────────────────── */

.imp-carrusel { --por-vista: 1; --espacio: 0px; }
.imp-carrusel__ventana { overflow: hidden; }
.imp-carrusel__pista { display: flex; gap: var(--espacio); will-change: transform; }
.imp-carrusel__item { flex: 0 0 calc((100% - (var(--por-vista) - 1) * var(--espacio)) / var(--por-vista)); }
.imp-carrusel__puntos { display: flex; justify-content: center; margin-top: 10px; line-height: 0; }
.imp-carrusel__punto {
    width: 15px;
    height: 15px;
    margin: 0 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--imp-rojo);
    opacity: .2;
    cursor: pointer;
}
.imp-carrusel__punto:hover, .imp-carrusel__punto:focus { background: var(--imp-rojo); }
.imp-carrusel__punto.es-activo { opacity: 1; }

.imp-diapo {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 250px 10px;
    background-position: center center;
    background-size: cover;
}
.imp-diapo__capsula { padding: 20px 50px; border-radius: 200px; background: var(--imp-rojo); }
.imp-diapo__titulo {
    margin: 0;
    font-family: var(--imp-roboto);
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--imp-claro);
    text-align: center;
}

/* Resumen ejecutivo */
.imp-resumen__caja { flex-direction: row; gap: 10px; }
.imp-resumen__texto { flex: 0 1 100%; display: flex; flex-direction: column; gap: 15px; padding-right: 40px; }
.imp-resumen__foto { flex: 0 1 100%; background-position: center right; background-size: cover; }

/* Nuestros servicios */
.imp-servicios { background: #D0D2D2; }
.imp-servicios__grilla { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 10px; }
.imp-tarjeta { width: 30%; margin: 10px; padding: 10px; display: flex; flex-direction: column; gap: 10px; background: var(--imp-claro); text-align: center; }
.imp-tarjeta__foto { line-height: 0; }
.imp-tarjeta__foto img { display: block; width: 100%; height: auto; }
.imp-tarjeta__titulo { margin: 0; font-family: var(--imp-roboto); font-size: 18px; font-weight: 400; line-height: 1; text-transform: uppercase; color: var(--imp-texto); }
.imp-tarjeta__titulo a { color: inherit; }

/* Envíenos un mensaje */
.imp-contacto { background: var(--imp-rojo); }
.imp-contacto__velo { position: absolute; inset: 0; background-position: center center; background-size: cover; opacity: .2; mix-blend-mode: multiply; }
/* Formulario de la portada: campos blancos sin borde de 47 px, 20 px entre ellos, botón centrado con borde claro. */
.imp-contacto .impc-form__campos { margin: 0 -5px -20px; }
.imp-contacto .impc-form__campo { margin-bottom: 20px; }
.imp-contacto .impc-form input[type="text"], .imp-contacto .impc-form input[type="email"], .imp-contacto .impc-form textarea {
    min-height: 47px; padding: 6px 16px; border: 0; font-size: 16px; line-height: 1.4; color: var(--imp-texto);
}
.imp-contacto .impc-form__campo--enviar { display: flex; justify-content: center; }
.imp-contacto .impc-form__boton {
    min-height: 40px; padding: 20px; border: 1px solid var(--imp-claro); border-radius: 0; background: var(--imp-rojo);
    font-family: var(--imp-roboto); font-size: 15px; font-weight: 500; text-transform: uppercase; color: var(--imp-claro);
}
.imp-contacto__fila { display: flex; gap: 20px; margin-top: 10px; }
.imp-contacto__col { flex: 0 0 calc((100% - 20px) / 2); display: flex; flex-direction: column; gap: 20px; }
.imp-mapa { line-height: 0; }
.imp-mapa iframe { display: block; width: 100%; height: 499px; border: 0; }
.imp-contacto__direccion { font-family: var(--imp-roboto); font-size: 16px; line-height: 1.5; color: #fff; }
.imp-contacto__direccion p { margin: 0; }

@media (max-width: 1024px) {
    .imp-diapo { padding: 200px 10px; }
    .imp-diapo__titulo { font-size: 40px; }
    .imp-resumen__caja { flex-direction: column; }
    .imp-resumen__texto { padding-right: 0; }
    .imp-resumen__foto { min-height: 250px; margin-top: 20px; flex: none; }
    .imp-resumen { padding: 80px 10px; }
    .imp-servicios, .imp-contacto { padding: 50px 10px; }
    .imp-contacto__col--mapa { flex-basis: calc((100% - 20px) * .4); }
    .imp-contacto__col--form { flex-basis: calc((100% - 20px) * .6); }
    .imp-mapa iframe { height: 600px; }
}
@media (max-width: 767px) {
    .imp-diapo { padding: 100px 10px; }
    .imp-diapo__titulo { font-size: 25px; }
    .imp-boton--grande { font-size: 15px; }
    .imp-resumen { padding: 50px 10px; }
    .imp-resumen__foto { min-height: 120px; }
    .imp-tarjeta { width: 100%; }
    .imp-contacto__fila { flex-direction: column; }
    .imp-contacto__col, .imp-contacto__col--mapa, .imp-contacto__col--form { flex-basis: auto; }
    .imp-mapa iframe { height: 250px; }
    .imp-titulo--centro-movil { align-items: center; text-align: center; }
}

/* ── Ventana de notificaciones ───────────────────────────────────────── */

.imp-ventana { position: fixed; inset: 0; z-index: 9999; display: flex; justify-content: center; align-items: flex-start; background: rgba(0, 0, 0, .8); opacity: 0; transition: opacity .8s; }
.imp-ventana[hidden] { display: none; }
.imp-ventana.abierta { opacity: 1; }
.imp-ventana__caja { position: relative; width: 640px; max-width: 95vw; max-height: 100vh; overflow-y: auto; background: #fff; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2); }
.imp-ventana__cerrar {
    position: absolute;
    top: 13px;
    right: 13px;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: var(--imp-rojo);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .2);
    cursor: pointer;
}
.imp-ventana__cerrar svg { width: 14px; height: 14px; fill: #fff; }
.imp-ventana__cerrar:hover, .imp-ventana__cerrar:focus { background: var(--imp-rojo); }
.imp-ventana__dentro { display: flex; flex-direction: column; gap: 10px; padding: 30px; }
.imp-ventana__cabeza { display: flex; }
.imp-ventana__titulo { flex: 0 0 80%; display: flex; justify-content: center; align-items: center; background: var(--imp-rojo); }
.imp-ventana__titulo h2 { margin: 0; font-family: var(--imp-roboto); font-size: 25px; font-weight: 600; line-height: 1; color: #fff; }
.imp-ventana__ver { flex: 0 0 20%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px; background: var(--imp-gris); font-size: 15px; line-height: 1.5; color: #fff; }
.imp-ventana__ver:hover, .imp-ventana__ver:focus { color: #fff; }
.imp-ventana__flecha { line-height: 0; }
.imp-ventana__flecha svg { width: 20px; height: 20px; fill: #fff; }
.imp-ventana__lista { display: flex; flex-direction: column; gap: 10px; }
.imp-ventana__pie { margin: 0; text-align: right; }
.imp-ventana__pie a { font-family: var(--imp-roboto); font-size: 19px; font-weight: 500; line-height: 1; text-decoration: underline; text-transform: uppercase; color: var(--imp-rojo); }

/* Una notificación en lista */
.imp-notif { display: flex; flex-direction: column; gap: 5px; }
.imp-notif__titulo { margin: 0; padding-top: 10px; overflow-wrap: break-word; word-break: break-word; font-family: var(--imp-roboto); font-size: 20px; font-weight: 600; line-height: 1; color: var(--imp-rojo); }
.imp-notif__texto { font-family: var(--imp-roboto); font-size: 15px; line-height: 1.5; color: #333; }
.imp-notif__texto p { margin: 0 0 .9rem; }
.imp-notif__texto a { color: var(--imp-texto); }
.imp-notif__raya { height: 0; }   /* en la página Notificaciones el separador no se veía: solo separa */
.imp-ventana .imp-notif__raya { border-top: 1px solid var(--imp-rojo); }   /* en la ventana sí: 1 px rojo */

@media (max-width: 767px) {
    .imp-ventana__caja { width: 95vw; }
    .imp-ventana__dentro { padding: 10px; }
    .imp-ventana__titulo h2 { font-size: 20px; }
    /* En el celular: título arriba (50 px) y «VER TODAS» en una barra de 40 px, la flecha a la izquierda. */
    .imp-ventana__cabeza { flex-direction: column; }
    .imp-ventana__titulo { flex: none; min-height: 50px; }
    .imp-ventana__ver { flex: none; flex-direction: row; gap: 5px; font-size: 13px; line-height: 20px; }
}

/* ── Franja roja de las páginas internas ─────────────────────────────── */

.imp-franja { padding: 100px 10px; background: var(--imp-rojo) center center / cover no-repeat; text-align: center; }
.imp-franja__titulo { margin: 0; font-family: var(--imp-roboto); font-size: 50px; font-weight: 600; line-height: 1; color: var(--imp-claro); }
@media (max-width: 767px) {
    .imp-franja { padding: 70px 10px; }
    .imp-franja__titulo { font-size: 40px; }
}

/* ── Quiénes somos ───────────────────────────────────────────────────── */

.imp-bloque { background: #D0D2D2; }
.imp-bloque__caja { flex-direction: row; gap: 10px; }
.imp-bloque__foto { flex: 0 1 100%; background-position: center center; background-size: cover; }
.imp-bloque__texto { flex: 0 1 100%; padding-left: 50px; }
.imp-bloque__texto p + p { margin-top: 15px; }
.imp-parrafo--500 { font-weight: 500; }

.imp-filosofia__cajas { display: flex; gap: 40px; margin-top: -10px; padding-top: 20px; }
.imp-caja-roja { flex: 1 1 0; display: flex; flex-direction: column; gap: 15px; padding: 40px; background: var(--imp-rojo); text-align: center; }
.imp-caja-roja__cabeza { display: flex; flex-direction: column; gap: 10px; }
.imp-caja-roja__icono { height: 63px; line-height: 0; }
.imp-caja-roja__icono span { position: relative; top: -5px; display: inline-block; padding: 15px; border-radius: 50%; background: var(--imp-claro); }
.imp-caja-roja__icono svg { display: block; width: 35px; height: 35px; fill: var(--imp-rojo); }
.imp-caja-roja__titulo { margin: 0; font-family: var(--imp-roboto); font-size: 25px; font-weight: 400; line-height: 28px; color: var(--imp-claro); }
.imp-caja-roja__texto { margin: 0; font-family: var(--imp-roboto); font-size: 17px; font-weight: 400; line-height: 28px; color: var(--imp-claro); }

.imp-politicas { background: var(--imp-rojo); }
.imp-politicas__grilla { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px; margin-top: -10px; padding-top: 20px; }
.imp-politica { width: 300px; display: flex; flex-direction: column; align-items: center; padding: 30px; border: 1px solid #fff; text-align: center; color: #fff; }
.imp-politica:hover, .imp-politica:focus { color: #fff; }
.imp-politica__icono { margin-bottom: 8px; line-height: 0; }
.imp-politica__icono svg { width: 40px; height: 40px; fill: #fff; }
.imp-politica__texto { font-family: var(--imp-roboto); font-size: 17px; font-weight: 400; line-height: 1.2; }

.imp-trabaja { padding: 200px 10px; background-position: center center; background-size: cover; }
.imp-trabaja__caja { gap: 10px; align-items: center; }
.imp-trabaja__capsula { padding: 10px 40px; border-radius: 200px; background: var(--imp-rojo); }
.imp-trabaja__titulo { margin: 0; font-family: var(--imp-roboto); font-size: 40px; font-weight: 600; line-height: 1; text-transform: uppercase; color: var(--imp-claro); }
.imp-boton--blanco { background: var(--imp-claro); color: var(--imp-rojo); }
.imp-boton--blanco:hover, .imp-boton--blanco:focus { color: var(--imp-rojo); }

@media (max-width: 1024px) {
    .imp-bloque { padding: 80px 10px; }
    .imp-bloque__caja { flex-direction: column-reverse; gap: 10px; }
    .imp-bloque__texto { font-weight: 500; }   /* la versión de tablet y celular tenía los textos en 500 */
    .imp-bloque__texto p + p { margin-top: 10px; }
    .imp-filosofia__cajas { gap: 20px; }
    .imp-bloque__texto { padding-left: 0; flex: none; }
    .imp-bloque__foto { flex: none; min-height: 250px; margin-top: 20px; }
    .imp-filosofia, .imp-politicas { padding: 80px 10px; }
    .imp-politica { width: 350px; }
    .imp-trabaja { padding: 150px 10px; }
}
@media (max-width: 767px) {
    .imp-bloque { padding: 50px 10px; }
    .imp-bloque__foto { min-height: 120px; }
    .imp-filosofia, .imp-politicas { padding: 50px 10px; }
    .imp-filosofia__cajas { flex-direction: column; gap: 20px; }
    .imp-politicas__grilla { gap: 10px; }
    .imp-politica { width: 100%; }
    .imp-trabaja { padding: 100px 10px; }
    .imp-trabaja__titulo { font-size: 30px; }
}

/* ── Qué hacemos ─────────────────────────────────────────────────────── */

.imp-parrafo--parrafos p + p { margin-top: 15px; }
.imp-que--gris { background: #F1F1F1; }
.imp-que__caja { flex-direction: row; gap: 10px; }
.imp-que__texto { flex: 0 0 calc((100% - 10px) * .4); display: flex; flex-direction: column; gap: 15px; padding-right: 40px; }
.imp-que__grilla { flex: 0 0 calc((100% - 10px) * .6); display: flex; flex-wrap: wrap; align-content: flex-start; gap: 0 20px; }
.imp-servicio { flex: 0 0 calc((100% - 20px) / 2); display: flex; flex-direction: column; padding-bottom: 20px; }
.imp-servicio__foto { display: block; padding: 0; border: 0; border-radius: 0; background: none; font-size: 16px; line-height: 24px; text-align: left; cursor: pointer; }
.imp-servicio__foto:hover, .imp-servicio__foto:focus { background: none; }
.imp-servicio__foto img { display: inline; width: 100%; height: auto; vertical-align: baseline; }   /* en línea, como el botón-imagen de Dynamic Content: la línea suma unos px debajo */
.imp-servicio__titulo { margin: 0; font-family: var(--imp-roboto); font-size: 15px; font-weight: 400; line-height: 1; text-transform: uppercase; color: var(--imp-texto); text-align: center; }

/* Ventana del servicio */
.imp-modal { position: fixed; inset: 0; z-index: 9999; display: flex; justify-content: center; align-items: center; background: rgba(0, 0, 0, .3); opacity: 0; transition: opacity .2s ease-in; }
.imp-modal[hidden] { display: none; }
.imp-modal.abierta { opacity: 1; }
.imp-modal__caja { position: relative; width: 640px; max-width: 98%; max-height: 100vh; overflow-y: auto; background: #fff; }
.imp-modal__cerrar { position: absolute; top: 0; right: 0; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.imp-modal__cerrar::before, .imp-modal__cerrar::after { content: ""; position: absolute; top: calc(50% - .5px); left: 20%; width: 60%; height: 1px; background: #000; }
.imp-modal__cerrar::before { transform: rotate(45deg); }
.imp-modal__cerrar::after { transform: rotate(-45deg); }
.imp-modal__cerrar:hover, .imp-modal__cerrar:focus { background: transparent; }
.imp-modal__dentro { display: flex; flex-direction: column; gap: 20px; padding: 50px; }
.imp-modal__texto { font-family: var(--imp-roboto); font-size: 16px; line-height: 1.5; color: #333; text-align: justify; }
.imp-modal__texto p { margin: 0 0 .9rem; }

@media (max-width: 1024px) {
    .imp-que { padding: 80px 10px; }
    .imp-que__caja { flex-direction: column; gap: 10px; }
    .imp-que__texto { flex: none; padding-right: 0; }
    .imp-que__grilla { flex: none; margin-top: 20px; min-height: 250px; }
}
@media (max-width: 767px) {
    .imp-que { padding: 50px 10px; }
    .imp-que__grilla { min-height: 120px; }
    .imp-modal__dentro { padding: 5px; }
    .imp-modal__texto { font-size: 14px; }
}

/* ── Dónde estamos ───────────────────────────────────────────────────── */

.imp-donde__caja { flex-direction: row; gap: 10px; }
.imp-donde__texto { flex: 0 0 calc((100% - 10px) * .6); display: flex; flex-direction: column; gap: 15px; padding-right: 40px; }
.imp-donde__foto { flex: 0 0 calc((100% - 10px) * .4); background-position: center right; background-size: cover; }
.imp-donde__lista { font-family: var(--imp-roboto); font-size: 16px; line-height: 1.5; color: var(--imp-texto); }
.imp-donde__lista p { margin: 0; }
.imp-donde__subtitulo { margin: 40px 0 0; font-family: var(--imp-roboto); font-size: 25px; font-weight: 400; line-height: 28px; color: var(--imp-texto); }
@media (max-width: 1024px) {
    .imp-donde { padding: 80px 10px; }
    .imp-donde__caja { flex-direction: column; }
    .imp-donde__texto { flex: none; padding-right: 0; }
    .imp-donde__foto { flex: none; min-height: 250px; margin-top: 20px; }
}
@media (max-width: 767px) {
    .imp-donde { padding: 50px 10px; }
    .imp-donde__foto { min-height: 120px; }
}

/* ── Tarifas ─────────────────────────────────────────────────────────── */

.imp-franja--tarifas { display: flex; flex-direction: column; gap: 10px; }
.imp-franja__nota { margin: 0 0 .9rem; font-family: var(--imp-roboto); font-size: 16px; font-weight: 400; line-height: 1.5; color: #fff; }
@media (max-width: 767px) { .imp-franja__nota { padding: 0 20px; font-size: 14px; } }

.imp-tarifas__caja { flex-direction: column; gap: 0; }
.imp-tarifas--indice .imp-tarifas__caja { flex-direction: row; }
.imp-tarifas__lado { flex: 0 0 30%; display: flex; flex-direction: column; gap: 20px; }
.imp-tarifas__bloques { flex: 1 1 auto; display: flex; flex-direction: column; gap: 70px; }
.imp-tarifas--indice .imp-tarifas__bloques { flex: 0 0 70%; padding-left: 50px; }
.imp-tarifa { display: flex; flex-direction: column; gap: 10px; }
.imp-tarifa--junto { gap: 5px; }
/* Sin índice (Depósito aduanero / Customs): la separación por defecto de Elementor, 20 px (50 en celular). */
.imp-tarifas:not(.imp-tarifas--indice) .imp-tarifa { gap: 20px; }
@media (max-width: 767px) { .imp-tarifas:not(.imp-tarifas--indice) .imp-tarifa { gap: 50px; } }

/* Índice (el «table of contents» de Elementor) */
.imp-indice { border: 1px solid #919293; background: var(--imp-claro); }
.imp-indice__cabeza {
    display: flex; justify-content: space-between; align-items: center; width: 100%;
    padding: 20px; border: 0; border-radius: 0; background: var(--imp-rojo); cursor: pointer; text-align: left;
}
.imp-indice__cabeza:hover, .imp-indice__cabeza:focus { background: var(--imp-rojo); }
.imp-indice__titulo { font-family: var(--imp-roboto); font-size: 18px; font-weight: 600; line-height: 1.2; text-transform: uppercase; color: var(--imp-claro); }
.imp-indice__flecha { line-height: 0; }
.imp-indice__flecha svg { width: 16px; height: 16px; fill: var(--imp-claro); transition: transform .3s; }
.imp-indice.cerrado .imp-indice__flecha svg { transform: rotate(180deg); }
.imp-indice__cuerpo { padding: 20px; }
.imp-indice.cerrado .imp-indice__cuerpo { display: none; }
.imp-indice__lista { margin: 0; padding: 0; list-style: none; }
.imp-indice__item { margin-bottom: 7px; font-family: var(--imp-roboto); font-size: 14px; line-height: 1.5; }
.imp-indice__item a { min-height: 22.5px; }
.imp-indice__item a { display: block; color: #333; }
.imp-indice__item a:hover { color: var(--imp-rojo); }
.imp-indice__item--2 { padding-left: 15px; }
.imp-boton--guia { padding: 15px 30px; font-size: 18px; }

/* Tablas (las de PowerPack): con cabecera roja, o sin cabecera y más holgadas */
.imp-tabla__tabla { width: 100%; margin: 0; border-collapse: collapse; font-family: var(--imp-roboto); font-size: .9em; }
.imp-tabla__tabla th, .imp-tabla__tabla td { padding: .5em .7em; border: 1px solid #E4E4E4; line-height: 1.5; text-align: left; vertical-align: middle; color: #221E1F; }
.imp-tabla__tabla td { background: #fff; }
.imp-tarifas--cebra .imp-tabla__tabla tbody tr:nth-child(even) td { background: #F7F7F7; }
.imp-tabla__tabla th { font-weight: 500; text-transform: uppercase; background: var(--imp-th, #CF1E1B); border-color: var(--imp-th, #CF1E1B); }
.imp-tabla__tabla th .imp-tabla__contenido { color: var(--imp-claro); }
.imp-tarifas--open .imp-tabla__tabla th { font-family: "Open Sans", sans-serif; font-weight: 800; text-transform: none; }
.imp-tabla--suelta .imp-tabla__tabla td { padding: 15px; }
/* Compacta (Servicios adicionales de Depósito aduanero): Roboto 13 px, negro, cabecera centrada. */
.imp-tabla--compacta .imp-tabla__tabla { font-size: 13px; }
.imp-tabla--compacta .imp-tabla__tabla td, .imp-tabla--compacta .imp-tabla__tabla td .imp-tabla__contenido { color: #000; }
.imp-tarifas .imp-tabla--compacta .imp-tabla__tabla th { font-family: var(--imp-roboto); font-weight: 400; text-transform: none; }
.imp-tabla--compacta .imp-tabla__tabla th .imp-tabla__contenido { justify-content: center; }
.imp-tabla__contenido { display: flex; align-items: center; }
.imp-tabla__texto { display: inline; }

.imp-tarifa__sub { margin: 0; font-family: var(--imp-roboto); font-size: 17px; font-weight: 600; line-height: 1; color: var(--imp-texto); }
.imp-tarifa__sub--aparte { margin-top: 20px; }
.imp-tarifa__nota { font-family: var(--imp-roboto); font-size: 15px; font-weight: 400; line-height: 20px; color: var(--imp-texto); }
.imp-tarifa__nota p { margin: 0; }
.imp-tarifa__texto { font-family: var(--imp-roboto); font-size: 14px; line-height: 1.5; color: var(--imp-texto); }
.imp-tarifa__texto p { margin: 0 0 .9rem; }
.imp-tarifa__aparte { margin: 60px 0 0; font-family: var(--imp-roboto); font-size: 32px; font-weight: 600; line-height: 1; text-align: center; color: #DC0B1C; }

@media (max-width: 1024px) {
    .imp-tarifas { padding: 50px 10px; }
    .imp-tarifas__lado { flex-basis: 40%; }
    .imp-tarifas--indice .imp-tarifas__bloques { flex-basis: 60%; padding-left: 40px; }
}
@media (max-width: 767px) {
    .imp-tarifas--indice .imp-tarifas__caja { flex-direction: column; gap: 50px; }
    .imp-tarifas__lado, .imp-tarifas--indice .imp-tarifas__bloques { flex: none; padding-left: 0; }
    .imp-boton--guia { font-size: 15px; }
}

/* ── Notificaciones ──────────────────────────────────────────────────── */

.imp-notificaciones__caja { flex-direction: row; }
.imp-notificaciones__lista { width: max-content; max-width: 100%; display: flex; flex-direction: column; gap: 60px; }
@media (max-width: 1024px) { .imp-notificaciones { padding: 80px 10px; } }
@media (max-width: 767px) { .imp-notificaciones { padding: 50px 10px; } .imp-notif__texto { font-size: 14px; } }

/* ── Reclamos, Quejas, Claims, Complaints ────────────────────────────── */

.imp-formulario__caja { max-width: 570px; margin: 0 auto; padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.imp-formulario .impc-form__campos { margin: 0 -5px -20px; }
.imp-formulario .impc-form__campo { margin-bottom: 20px; }
.imp-formulario .impc-form input[type="text"], .imp-formulario .impc-form input[type="email"], .imp-formulario .impc-form textarea {
    min-height: 47px; padding: 6px 16px; border: 1px solid var(--imp-rojo); font-size: 16px; line-height: 1.4; color: var(--imp-texto);
}
.imp-formulario .impc-form__campo--enviar { display: flex; justify-content: center; }
.imp-formulario .impc-form__boton, .imp-contacto .impc-form__boton {
    min-height: 40px; padding: 20px; border: 1px solid var(--imp-claro); border-radius: 0; background: var(--imp-rojo);
    font-family: var(--imp-roboto); font-size: 15px; font-weight: 500; text-transform: uppercase; color: var(--imp-claro);
}
@media (max-width: 1024px) { .imp-formulario { padding: 80px 10px; } }
@media (max-width: 767px) { .imp-formulario { padding: 50px 10px; } }

/* ── Página no encontrada ─────────────────────────────────────────────── */

.imp-404 { display: flex; flex-direction: column; gap: 20px; padding: 200px 10px; text-align: center; }
.imp-404__titulo { margin: 0; font-family: var(--imp-roboto); font-size: 127px; font-weight: 600; line-height: 1; color: var(--imp-rojo); }
.imp-404__texto { margin: 0; font-family: var(--imp-roboto); font-size: 20px; font-weight: 400; line-height: 1; color: #221E1F; }
.imp-boton--404 { padding: 12px 24px; text-transform: none; }
@media (max-width: 767px) {
    .imp-404 { padding: 100px 10px; }
}
