/* ==========================================================================
   Compatibilidad con Elementor: sus estilos por defecto no deben cambiar el diseño.
   ========================================================================== */

/* Elementor pone «height: auto» a todas las imágenes: las fotos recortadas lo necesitan al 100 %. */
.elementor .foto img { height: 100%; }
.elementor .escudo img,
.elementor .oficina__logo img { height: 100%; }
/* Logos de la cabecera y el pie (plantillas del Maquetador de temas): mismas alturas que en componentes.css. */
.elementor .marca img { height: clamp(34px, 3.6cqi, 52px); }
.elementor .pie__logo img { height: clamp(88px, 8cqi, 112px); }

/* Los widgets del tema van a todo el ancho y sin márgenes propios de Elementor. */
.elementor .elementor-widget[class*="elementor-widget-acep-"] { margin-bottom: 0; }
.elementor .elementor-widget[class*="elementor-widget-acep-"] > .elementor-widget-container { padding: 0; margin: 0; }

/* Los textos y titulares de Elementor heredan la letra y el color del sitio. */
.elementor { font-family: var(--letra); color: var(--tinta); }
.elementor .elementor-heading-title { font-family: var(--letra); color: var(--tinta); }

/* El cuerpo de las páginas de Elementor ocupa todo el ancho de .sitio */
.elementor-page main#contenido > .elementor { width: 100%; }

/* Elementor quita la sombra a todos los enlaces (.elementor a { box-shadow: none }), y el
   diseño usa sombra interior para los bordes de 2px de botones y paginación: se restauran. */
.elementor a.boton--borde { box-shadow: inset 0 0 0 2px var(--tinta); }
.elementor a.boton--blanco-borde { box-shadow: inset 0 0 0 2px var(--papel); }
.elementor a.paginacion__item { box-shadow: inset 0 0 0 2px var(--tinta); }
.elementor a.paginacion__item:hover { box-shadow: inset 0 0 0 2px var(--tinta); }
.elementor .paginacion__item[aria-current="page"] { box-shadow: none; }
.elementor .texto-largo a { box-shadow: inset 0 -1px 0 var(--rojo); }

/* Plantilla «Noticia» del Maquetador de temas. Elementor quita el margen a todo <figure> dentro
   de un widget, pone «height: auto» a las imágenes y quita la sombra a los enlaces: se restaura
   el diseño de la noticia (foto de apertura, cuerpo, galería). */
body .elementor .elementor-widget.elementor-widget-acep-noticia-apertura figure.noticia-apertura { margin: 0 var(--margen); }
body .elementor .elementor-widget.elementor-widget-acep-noticia-cuerpo .cuerpo-noticia figure.aligncenter { margin-left: auto; margin-right: auto; }
.elementor .cuerpo-noticia .galeria img { height: 100%; }
.elementor .cuerpo-noticia a { box-shadow: inset 0 -1px 0 var(--rojo); }
.elementor .cuerpo-noticia a:hover { box-shadow: inset 0 -2px 0 var(--rojo); }
.elementor .cuerpo-noticia .galeria a,
.elementor .cuerpo-noticia .galeria a:hover { box-shadow: none; }

/* Elementor quita el subrayado a los enlaces (.elementor a): se restaura donde el diseño lo usa. */
.elementor .pie__coordinan a,
.elementor .suscripcion__aviso a,
.elementor .mapa--real .leaflet-control-attribution a,
.elementor .mini-mapa__atribucion a { text-decoration: underline; }

/* ==========================================================================
   Popup «Envía tu testimonio» (Elementor Pro: Popup + Formulario)
   ========================================================================== */
.acep-popup .dialog-widget-content { border-radius: 0; box-shadow: none; border-top: 6px solid var(--rojo); }
.acep-popup .dialog-close-button { top: 14px; right: 14px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
.acep-popup .dialog-close-button:focus-visible { outline: 2px solid var(--rojo); outline-offset: 0; }
.acep-popup .elementor-widget-text-editor,
.acep-popup .elementor-widget-text-editor p { margin: 0; font-family: var(--letra); }
.acep-popup__etiqueta p { font-size: 12px; font-weight: 700; letter-spacing: var(--tracking-etiqueta); text-transform: uppercase; color: var(--rojo); }
.acep-popup .acep-popup__titulo .elementor-heading-title { font-size: clamp(30px, 4vw, 40px); font-weight: 800; line-height: 1.05; letter-spacing: -0.025em; color: var(--tinta); }
.acep-popup__texto p { font-size: 16px; line-height: 1.5; color: var(--texto-2); max-width: 56ch; }

.acep-formulario { margin-top: 10px; font-family: var(--letra); }
.acep-formulario .elementor-field-group > label,
.acep-formulario .elementor-field-label { margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--tinta); }
.acep-formulario .elementor-mark-required .elementor-field-label::after { color: var(--rojo); }
.acep-formulario .elementor-field-textual {
	min-height: 48px;
	padding: 10px 14px;
	border: 2px solid var(--tinta);
	border-radius: 0;
	background: var(--papel);
	color: var(--tinta);
	font: 400 16px/1.4 var(--letra);
}
.acep-formulario textarea.elementor-field-textual { min-height: 150px; resize: vertical; }
.acep-formulario .elementor-field-textual::placeholder { color: var(--gris); opacity: 1; }
.acep-formulario .elementor-field-textual:focus { outline: 2px solid var(--rojo); outline-offset: 2px; box-shadow: none; }
.acep-formulario .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 14px; line-height: 1.45; color: var(--texto-2); }
.acep-formulario .elementor-field-type-acceptance input[type="checkbox"] { width: 20px; height: 20px; margin: 0 10px 0 0; accent-color: var(--rojo); flex: none; }
.acep-formulario .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; }
.acep-formulario .elementor-field-type-acceptance a { color: var(--tinta); text-decoration: underline; text-underline-offset: 2px; }
.acep-formulario .elementor-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 52px;
	padding: 0 22px;
	border: 0;
	border-radius: 0;
	background: var(--rojo);
	color: var(--papel);
	font: 700 16px/1.2 var(--letra);
}
.acep-formulario .elementor-button::after { content: "→"; font-size: 18px; }
.acep-formulario .elementor-button:hover { background: var(--rojo-hondo); }
.acep-formulario .elementor-button:focus-visible { outline: 2px solid var(--rojo); outline-offset: 2px; }
.acep-formulario .elementor-button .elementor-button-content-wrapper { flex: none; }
.acep-formulario .elementor-message { margin-top: 14px; font-size: 15px; line-height: 1.45; }
.acep-formulario .elementor-message::before { display: none; }
.acep-formulario .elementor-message-success { padding: 14px 16px; background: var(--hueso); border-left: 4px solid var(--rojo); color: var(--tinta); }
.acep-formulario .elementor-message-danger,
.acep-formulario .elementor-error .elementor-message { color: var(--rojo); }
.acep-formulario .elementor-field-group.elementor-error .elementor-field-textual { border-color: var(--rojo); }

/* Sala de prensa · bloque «Para recibir las notas de prensa» (contenedor de Elementor, mismo id en
   los 5 idiomas): márgenes de página como el resto de secciones. */
.elementor .elementor-element-1531ad7 { padding: clamp(32px, 4cqi, 56px) var(--margen); gap: 32px clamp(32px, 5cqi, 80px); }
