/**
 * Las páginas de imudesa.com.pe: secciones (los contenedores de Elementor),
 * portada (video, carrusel de países, contacto), Quiénes somos, Dónde estamos,
 * Tarifas, Tracking DAM y los formularios. Medidas de producción (06/11/2026).
 */

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

.imd-sec { position: relative; padding: 100px 20px; }
.imd-sec__caja { position: relative; z-index: 1; max-width: var(--imd-caja); margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
.imd-sec__caja--800 { max-width: 800px; align-items: center; }
.imd-sec__caja--800 > * { width: 100%; }
.imd-sec__caja--800 > .imd-titulo { width: auto; }

/* ── Portada ─────────────────────────────────────────────────────────── */

.imd-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 85vh;
    padding: 0 20px;
    background: var(--imd-texto);
    text-align: center;
    overflow: hidden;
}
.imd-hero__video { position: absolute; inset: 0; overflow: hidden; }
.imd-hero__video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.imd-hero__velo { position: absolute; inset: 0; background: #000; opacity: .4; }
.imd-hero > .imd-separador { position: relative; width: 100%; max-width: var(--imd-caja); }
.imd-hero__titulo { position: relative; max-width: var(--imd-caja); }
.imd-hero__raya span { width: 400px; border-top-width: 5px; }
.imd-hero__titulo {
    margin: 20px 0 10px;
    font-family: var(--imd-open);
    font-size: 60px;
    font-weight: 900;
    line-height: 1;
    color: #fff;
}
.imd-hero__texto { position: relative; max-width: var(--imd-caja); font-family: var(--imd-open); font-size: 16px; font-weight: 600; line-height: 1.5; color: #fff; }

.imd-nosotros { background: #fff; }
.imd-ubicacion { background: var(--imd-gris); }
.imd-ubicacion__caja { gap: 50px; }
.imd-ubicacion__bloque { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.imd-ubicacion__bloque > * { width: 100%; }
.imd-ubicacion__bloque > .imd-titulo { width: auto; }

/* Carrusel de países (el «nested carousel» de Elementor) */
.imd-carrusel { --por-vista: 6; --espacio: 20px; }
.imd-carrusel__ventana { overflow: hidden; }
.imd-carrusel__pista { display: flex; gap: var(--espacio); will-change: transform; }
.imd-carrusel__item {
    flex: 0 0 calc((100% - (var(--por-vista) - 1) * var(--espacio)) / var(--por-vista));
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.imd-carrusel__item img { display: block; width: 100%; height: auto; }
.imd-carrusel__nombre {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--imd-texto);
}
.imd-carrusel__puntos { display: flex; justify-content: center; margin-top: 20px; line-height: 0; }
.imd-carrusel__punto {
    width: 15px;
    height: 15px;
    margin: 0 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--imd-rojo);
    opacity: .2;
    cursor: pointer;
}
.imd-carrusel__punto:hover, .imd-carrusel__punto:focus { background: var(--imd-rojo); }
.imd-carrusel__punto.es-activo { opacity: 1; }

/* Contáctanos: rojo con el mapa de chinchetas encima (multiplicar, 30 %) */
.imd-contacto { background: var(--imd-rojo); }
.imd-contacto__velo {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-size: cover;
    opacity: .3;
    mix-blend-mode: multiply;
}
.imd-contacto__caja { flex-direction: row; align-items: flex-start; gap: 0; }
.imd-contacto__col { width: 50%; display: flex; flex-direction: column; gap: 20px; }
.imd-contacto__col--datos { gap: 30px; }
.imd-contacto__grupo { display: flex; flex-direction: column; gap: 20px; }
.imd-lista { margin: 0; padding: 0; list-style: none; }
.imd-lista li { display: flex; align-items: center; padding-bottom: 5px; }
.imd-lista li + li { margin-top: 5px; }
.imd-lista li:last-child { padding-bottom: 0; }
.imd-lista__icono { display: flex; width: 1.25em; font-size: 25px; line-height: 0; }
.imd-lista__icono svg { width: 25px; height: 25px; fill: #fff; }
.imd-lista__texto { padding-left: 5px; font-family: var(--imd-open); font-size: 20px; font-weight: 600; line-height: 1.5; color: #fff; }
.imd-redes { display: flex; flex-wrap: wrap; gap: 5px; line-height: 0; }
.imd-redes__icono {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
}
.imd-redes__icono svg { width: 25px; height: 25px; fill: var(--imd-rojo); }
.imd-redes__icono:not([href]) { cursor: default; }

@media (max-width: 1024px) {
    .imd-hero { min-height: 80vh; }
    .imd-hero > .imd-separador, .imd-hero__titulo, .imd-hero__texto { max-width: 650px; }
    .imd-carrusel { --por-vista: 4; }
}
@media (max-width: 767px) {
    .imd-hero { min-height: 60vh; }
    .imd-hero__titulo { font-size: 50px; }
    .imd-carrusel { --por-vista: 2; }
    .imd-contacto__caja { flex-direction: column; gap: 50px; }
    .imd-contacto__col { width: 100%; }
}

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

.imd-resumen { position: relative; display: flex; }
.imd-resumen__col {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 100px 0 150px;
}
.imd-resumen__dentro { width: 70%; display: flex; flex-direction: column; gap: 20px; }
.imd-resumen__dentro > .imd-titulo { align-self: stretch; }
.imd-resumen__cajas { display: flex; flex-direction: column; gap: 20px; }
.imd-resumen__foto { width: 50%; background-position: center center; background-size: cover; }
.imd-caja-roja { display: flex; flex-direction: column; gap: 20px; padding: 20px; background: var(--imd-rojo); text-align: center; }
.imd-caja-roja__icono { font-size: 16px; line-height: 24px; text-align: center; }
.imd-caja-roja__icono span {
    display: inline-block;
    padding: 17.5px;
    border: 3px solid #fff;
    border-radius: 50%;
    font-size: 35px;
    line-height: 1;
}
.imd-caja-roja__icono svg { display: block; width: 35px; height: 35px; fill: #fff; }
.imd-caja-roja__titulo {
    margin: 0;
    font-family: "Lato", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}
.imd-caja-roja__texto { margin-bottom: -6px; font-family: var(--imd-open); font-size: 16px; font-weight: 400; line-height: 1.5; color: #fff; }
.imd-caja-roja__texto--en { margin-bottom: 0; font-weight: 500; line-height: 25px; }
.imd-caja-roja__texto--en p { margin: 0; }

.imd-politicas { background: var(--imd-gris); }
.imd-politicas__botones { display: flex; flex-wrap: wrap; justify-content: space-between; }
.imd-politicas__boton { width: 50%; }
.imd-politicas__boton .imd-boton { display: flex; width: 100%; padding: 20px; }
.imd-politicas__boton--izq { padding-right: 10px; }
.imd-politicas__boton--der { padding-left: 10px; }
.imd-politicas__boton--arriba { padding-bottom: 10px; }
.imd-politicas__boton:not(.imd-politicas__boton--arriba) { padding-top: 10px; }

@media (max-width: 1024px) {
    .imd-resumen { flex-direction: column; }
    .imd-resumen__col { width: 100%; padding: 50px 20px; }
    .imd-resumen__dentro { width: 100%; }
    .imd-resumen__cajas { flex-direction: row; }
    .imd-resumen__cajas > * { flex: 1 1 0; }
    .imd-resumen__foto { width: 100%; min-height: 350px; }
    .imd-politicas { padding: 50px 20px; }
}
@media (max-width: 767px) {
    .imd-resumen__cajas { flex-direction: column; }
    .imd-politicas__botones { flex-direction: column; align-items: center; gap: 10px; }
    .imd-politicas__boton { width: 100%; padding: 0 !important; }
}

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

.imd-donde { background: #fff; }
.imd-donde__caja { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; display: flex; justify-content: center; align-items: flex-start; gap: 50px; }
.imd-donde__bloque { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.imd-donde__bloque > .imd-titulo { align-self: stretch; }
.imd-donde__icono { font-size: 16px; line-height: 24px; text-align: center; }
.imd-donde__icono span { display: inline-block; font-size: 50px; line-height: 1; }
.imd-donde__icono svg { display: block; width: 50px; height: 50px; fill: var(--imd-rojo); }

.imd-cobertura { background: var(--imd-gris); }
.imd-cobertura__cabeza { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.imd-cobertura__cabeza > * { width: 100%; }
.imd-cobertura__cabeza > .imd-titulo { width: auto; }
.imd-cobertura__paises { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.imd-pais { display: flex; }
.imd-pais__bandera { width: 20%; flex: none; padding-right: 20px; line-height: 0; }
.imd-pais__bandera img { display: block; width: 100%; height: auto; }
.imd-pais__datos { width: 80%; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.imd-pais__nombre {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--imd-rojo);
}
.imd-pais__agencias { font-size: 16px; line-height: 1.5; color: var(--imd-texto); }
.imd-pais__agencias h4 {
    margin: 0 0 20px;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--imd-texto);
}
.imd-pais__agencias ul { margin: 0 0 20px; padding-left: 40px; }
.imd-pais__agencias > :last-child { margin-bottom: 0; }
.imd-pais__agencias a { color: var(--imd-texto); }
.imd-pais__agencias a:hover { color: var(--imd-rojo); }

@media (max-width: 1024px) {
    .imd-donde { padding: 50px 20px 100px; }
    .imd-cobertura { padding: 50px 20px; }
    .imd-cobertura__paises { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .imd-donde__caja { flex-direction: column; align-items: stretch; }
    .imd-pais { flex-wrap: wrap; }
    .imd-pais__bandera { width: 30%; padding-right: 10px; margin-bottom: 10px; }
    .imd-pais__datos { width: 100%; }
}

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

.imd-tarifas { background: #fff; }
.imd-tarifas__caja { max-width: 839px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
.imd-tabla__tabla { width: 100%; margin: 0; border-collapse: collapse; font-size: .9em; }
.imd-tabla__tabla th, .imd-tabla__tabla td {
    padding: .5em .7em;
    border: 1px solid rgba(128, 128, 128, .5);
    line-height: 1.5;
    text-align: left;
    vertical-align: middle;
    color: var(--imd-texto);
}
.imd-tabla__tabla th { font-family: var(--imd-open); font-weight: 800; background: var(--imd-rojo); }
.imd-tabla__tabla th .imd-tabla__contenido { color: #fff; }
.imd-tabla__contenido { display: flex; align-items: center; }
.imd-tabla__texto { display: inline; }
.imd-tarifas .imd-tarifas__nota { margin: 0; font-family: var(--imd-open); font-size: 16px; font-weight: 600; line-height: 1; color: var(--imd-texto); }
.imd-tarifas__boton { display: flex; }

@media (max-width: 1024px) { .imd-tarifas { padding: 50px 20px; } }

/* ── Tracking DAM ────────────────────────────────────────────────────── */

.imd-tracking { padding: 10px; }
.imd-tracking__caja { max-width: var(--imd-caja); margin: 0 auto; }
.imd-tracking__caja { font-size: 16px; line-height: 24px; }
/* En línea, como el de Element Pack: la línea de texto le suma 6 px debajo. */
.imd-tracking__marco { display: inline; width: 100%; height: 640px; border: 0; vertical-align: baseline; }

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

.imd-formulario { background: #fff; }
.imd-formulario__caja { max-width: 700px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.imd-formulario__intro { width: 100%; }
.imd-formulario .imdc-form { max-width: 100%; }
.imd-formulario .imdc-form input[type="text"], .imd-formulario .imdc-form input[type="email"], .imd-formulario .imdc-form textarea {
    border-color: var(--imd-rojo);
    color: var(--imd-texto);
}

@media (max-width: 1024px) { .imd-formulario { padding: 50px 20px; } }

.imd-contacto .imdc-form__etiqueta { color: #fff; }
