/*
Theme Name: Artoria (hijo de Hello Elementor)
Theme URI: https://theartoria.com
Description: Tema hijo de Artoria. Solo lo que Elementor 4 no expresa: fuentes propias, comportamiento enganchado a atributos data-art-* y estilos de widgets clásicos. El diseño vive en las variables y clases globales de Elementor.
Author: Orbit Lab
Author URI: https://orbitlabco.com
Template: hello-elementor
Version: 1.0.0
Text Domain: artoria-hijo
*/

/* ============================================================
   Base del sitio: lo que las clases de Elementor 4 no expresan
   (prototipo/assets/css/artoria.css). Las reglas que compiten con
   estilos atómicos empiezan por .elementor.
   ============================================================ */
:root { --art-curva: cubic-bezier(.22, .61, .36, 1); --art-fuente: "Futura Now Text", "Futura", sans-serif; }
body { font-family: var(--art-fuente); color: #000; -webkit-font-smoothing: antialiased; }
/* el reset de Hello pinta los enlaces #c36: aquí heredan, como en el prototipo */
a, a:hover, a:active { color: inherit; }
::selection { background: var(--indigo, #252563); color: #fff; }
/* sin cursivas en titulares (gusto de Oscar, 07/10/2026) */
.elementor .art-display em, .elementor .art-titular em, .elementor .art-h3 em { font-style: normal; }
.elementor .art-display, .elementor .art-titular { text-wrap: balance; }
/* la variable de fuente sale sin respaldo: se lo damos */
.elementor .art-display, .elementor .art-titular, .elementor .art-h3, .elementor .art-lead,
.elementor .art-cuerpo, .elementor .art-ceja, .elementor .art-btn, .elementor .art-enlace { font-family: var(--art-fuente); }
/* botones y enlaces: curva de la marca, sin salto de línea y la flecha que avanza */
.elementor .art-btn, .elementor .art-enlace { white-space: nowrap; transition: background-color .25s var(--art-curva), color .25s var(--art-curva), border-color .25s var(--art-curva), transform .2s var(--art-curva); }
.elementor .art-btn:active { transform: translateY(1px); }
.elementor .art-btn svg, .elementor .art-enlace svg { transition: transform .3s var(--art-curva); }
.elementor .art-btn:hover svg, .elementor .art-enlace:hover svg { transform: translateX(4px); }
/* foco con teclado: indigo sobre claro, sky sobre oscuro */
:focus-visible { outline: 2px solid var(--indigo, #252563); outline-offset: 3px; }
/* el reset de Hello pone a los enlaces, botones y [tabindex] un contorno negro con más
   especificidad (a:focus-visible; [tabindex]:not([tabindex="-1"]):focus-visible): mismo selector, después */
[tabindex]:not([tabindex="-1"]):focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--indigo, #252563); outline-offset: 3px;
}
.elementor .art-sec--negro :focus-visible, [data-art-oscuro] :focus-visible { outline-color: var(--sky, #A7CFEA); }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ============================================================
   Cortina «Coming soon» (data-art-cortina, proximamente-build.php)
   ============================================================ */
/* póster mientras carga el video (Elementor no tiene control de póster en el
   fondo de video atómico) */
[data-art-cortina] {
	isolation: isolate;
	background: #000 url("assets/img/amanecer-nubes-poster.webp") center / cover no-repeat;
}
/* con el z-index 0 de Elementor el video se promueve a una capa propia y tapa
   el contenido: va detrás, a pantalla completa */
[data-art-cortina] .e-background-video__media { object-fit: cover; z-index: -1; }
/* quien pide menos movimiento ve el póster quieto */
@media (prefers-reduced-motion: reduce) {
	[data-art-cortina] .e-background-video__media { display: none; }
}
/* Pausa / Reproducir: discreto, abajo a la derecha, 44 px de área táctil */
[data-art-cortina] > [data-e-type="e-background-video-controls"] {
	position: absolute; right: 20px; bottom: 20px; z-index: 3;
	width: auto; padding: 0;
}
[data-art-cortina] > [data-e-type="e-background-video-controls"] button {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border-radius: 50%; border: 1px solid rgb(255 255 255 / .4);
	background: rgb(0 0 0 / .3); color: #fff; cursor: pointer;
}
[data-art-cortina] > [data-e-type="e-background-video-controls"] button:hover { background: rgb(0 0 0 / .55); }
[data-art-cortina] > [data-e-type="e-background-video-controls"] button:focus-visible { outline: 2px solid #A7CFEA; outline-offset: 3px; }
/* el texto del botón queda para lectores de pantalla; se ve el icono */
[data-art-cortina] > [data-e-type="e-background-video-controls"] button span {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
[data-art-cortina] > [data-e-type="e-background-video-controls"] button::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px;
	background: currentColor;
	-webkit-mask: var(--art-icono) center / contain no-repeat;
	mask: var(--art-icono) center / contain no-repeat;
}
[data-art-cortina] .e-background-video__play { --art-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4.5v15l13-7.5z'/%3E%3C/svg%3E"); }
[data-art-cortina] .e-background-video__pause { --art-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h4v16H6zM14 4h4v16h-4z'/%3E%3C/svg%3E"); }
@media (min-width: 1025px) {
	[data-art-cortina] > [data-e-type="e-background-video-controls"] { right: 40px; bottom: 40px; }
}

/* ============================================================
   Cabecera y pie (plantillas del Theme Builder: header-build.php y
   footer-build.php). Diseño en las clases V4 art-aviso*, art-cab*, art-pie*;
   aquí solo lo que V4 no expresa: el contenedor pegajoso, el menú clásico
   de Pro, el selector de idioma, la portada transparente y las transiciones.
   ============================================================ */
html { scroll-padding-top: 80px; }   /* la barra fija (68) + 12, como el prototipo */
@media (max-width: 899px) { html { scroll-padding-top: 72px; } }

/* Pegajosa: el contenedor de la ubicación (el <header> de Elementor) se pega
   con top negativo = alto del aviso, así el aviso se va con el scroll y la
   barra se queda. Sin aviso (página NBAA, condición de visualización), top 0. */
.elementor-location-header { position: sticky; top: 0; z-index: 20; }
.elementor-location-header:has([data-art-aviso]) { top: calc(-1 * var(--aviso, 44px)); }

/* aviso: flecha que avanza y foco Sky por dentro de la banda negra */
.elementor .art-aviso .art-aviso__ir .art-ico { transition: transform .3s var(--art-curva); }
.elementor .art-aviso:hover .art-aviso__ir .art-ico { transform: translateX(4px); }
.elementor .art-aviso:focus-visible { outline: 2px solid var(--sky, #A7CFEA); outline-offset: -4px; }

/* SVG de Elementor (e-svg) en bloque, como img/svg en el prototipo: en línea suman el hueco
   del descendente bajo el dibujo (el escudo del pie medía 6 px de más) */
.elementor .e-svg-base > svg { display: block; }

/* selector de idioma ([art_idioma]) */
.art-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.elementor .elementor-widget-shortcode a.art-idioma,
.elementor .elementor-widget-shortcode a.art-idioma:hover {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
	font: 700 15px/1 var(--art-fuente); letter-spacing: .05em; text-decoration: none; color: inherit;
}
.elementor .art-pie__base .elementor-widget-shortcode a.art-idioma { color: var(--blanco, #fff); }

/* ---- menú clásico de Pro en la barra (widget Menú, clase art-nav) ---- */
.elementor-location-header .art-nav { position: static; }
/* el «clearfix» de Pro (ul::after) cuenta como un elemento más del flex y suma un hueco */
.elementor-location-header .art-nav .elementor-nav-menu::after,
.elementor-location-footer .art-pie-menu .elementor-nav-menu::after { display: none; }
.elementor-location-header .art-nav .elementor-nav-menu--main .elementor-nav-menu { gap: 28px; }
.elementor-location-header .art-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item,
.elementor-location-header .art-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.elementor-location-header .art-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:focus {
	margin: 0; padding: 12px 0; color: inherit;
	font: 400 16px/1.55 var(--art-fuente);
	background: linear-gradient(currentColor, currentColor) 0 calc(100% - 8px) / 0 1.5px no-repeat;
	transition: background-size .3s var(--art-curva);
}
.elementor-location-header .art-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.elementor-location-header .art-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item[aria-current] { background-size: 100% 1.5px; }

/* botón del menú: 44×44, dos rayas de 22 px como el prototipo, que hacen una X al abrir */
.elementor-location-header .art-nav .elementor-menu-toggle {
	position: relative; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0;
	background: none; color: inherit; font-size: 22px;
}
.elementor-location-header .art-nav .elementor-menu-toggle svg { display: none; }
.elementor-location-header .art-nav .elementor-menu-toggle::before,
.elementor-location-header .art-nav .elementor-menu-toggle::after {
	content: ""; position: absolute; left: 11px; top: 21.25px; width: 22px; height: 1.5px; background: currentColor;
	transition: transform .3s var(--art-curva);
}
.elementor-location-header .art-nav .elementor-menu-toggle::before { transform: translateY(-4px); }
.elementor-location-header .art-nav .elementor-menu-toggle::after { transform: translateY(3px); }
.elementor-location-header .art-nav .elementor-menu-toggle.elementor-active::before { transform: rotate(45deg); }
.elementor-location-header .art-nav .elementor-menu-toggle.elementor-active::after { transform: rotate(-45deg); }

/* panel desplegable (≤1099): a todo el ancho, pegado bajo la barra */
.elementor-location-header .art-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	position: absolute; top: 100%; left: 0; right: 0; width: auto; margin-top: 0; z-index: 1;
	padding: 8px clamp(20px, 4vw, 56px) 24px;
	background: var(--blanco, #fff); color: var(--negro, #000);
	border-bottom: 1px solid var(--n14, rgba(0, 0, 0, .14));
	box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .25);
}
.elementor-location-header .art-nav .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container { padding-block: 0; border-bottom-width: 0; }
.elementor-location-header .art-nav .elementor-nav-menu--dropdown .elementor-nav-menu { display: flex; flex-direction: column; }
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.elementor-item,
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.elementor-item:focus,
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
	display: flex; padding: 14px 0; border: 0; border-bottom: 1px solid var(--n14, rgba(0, 0, 0, .14));
	font: 400 26px/1.2 var(--art-fuente); color: var(--negro, #000); background: none; text-decoration: none;
}
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.elementor-item[aria-current] { color: var(--indigo, #252563); }

/* la acción principal dentro del panel: solo ≤899, donde el botón de la barra se esconde
   (la copia el tema del botón [data-art-cta] de la cabecera: inc/cabecera.php) */
.elementor-location-header .art-nav .art-nav-extra { display: none; }
@media (max-width: 899px) {
	.elementor-location-header .art-nav .art-nav-extra { display: flex; margin-top: 24px; }
}
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.art-nav-cta,
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.art-nav-cta:focus {
	display: flex; flex: 1; align-items: center; justify-content: center; gap: 12px;
	min-height: 54px; padding: 0 28px; border: 1.5px solid var(--negro, #000); border-radius: 0;
	font: 700 16px/1 var(--art-fuente); letter-spacing: .01em; white-space: nowrap; text-decoration: none;
	background: var(--negro, #000); color: var(--blanco, #fff);
	transition: background-color .25s var(--art-curva), border-color .25s var(--art-curva);
}
.elementor-location-header .art-nav .elementor-nav-menu--dropdown a.art-nav-cta:hover {
	padding: 0 28px; background: var(--indigo, #252563); border-color: var(--indigo, #252563); color: var(--blanco, #fff);
}
.elementor-location-header .art-nav .art-nav-cta__ico { width: 1.1em; height: 1.1em; flex: none; transition: transform .3s var(--art-curva); }
.elementor-location-header .art-nav .art-nav-cta:hover .art-nav-cta__ico { transform: translateX(4px); }

/* ---- portada: barra transparente sobre el héroe (data-art-heroe en su contenedor) y
   sólida al dejarlo atrás (assets/js/artoria.js pone data-art-cab-solida) o con el menú abierto ---- */
[data-art-cab] { transition: background-color .35s var(--art-curva), color .35s var(--art-curva), border-color .35s var(--art-curva); }
[data-art-heroe] { margin-top: calc(-1 * var(--cab, 68px)); }
@media (max-width: 899px) { [data-art-heroe] { margin-top: -60px; } }
body:has([data-art-heroe]) .elementor [data-art-cab]:not([data-art-cab-solida]):not(:has(.elementor-menu-toggle.elementor-active)) {
	background-color: transparent; color: var(--blanco, #fff); border-bottom-color: rgba(255, 255, 255, .22);
}
body:has([data-art-heroe]) .elementor [data-art-cab]:not([data-art-cab-solida]):not(:has(.elementor-menu-toggle.elementor-active)) .art-cab__logo { color: var(--blanco, #fff); }
body:has([data-art-heroe]) .elementor [data-art-cab]:not([data-art-cab-solida]):not(:has(.elementor-menu-toggle.elementor-active)) [data-art-cta] {
	background-color: var(--blanco, #fff); color: var(--negro, #000); border-color: var(--blanco, #fff);
}
body:has([data-art-heroe]) .elementor [data-art-cab]:not([data-art-cab-solida]):not(:has(.elementor-menu-toggle.elementor-active)) [data-art-cta]:hover {
	background-color: var(--peach, #EDCFBC); color: var(--negro, #000); border-color: var(--peach, #EDCFBC);
}
body:has([data-art-heroe]) [data-art-cab]:not([data-art-cab-solida]) :focus-visible { outline-color: var(--sky, #A7CFEA); }

/* ---- pie ---- */
.elementor [data-art-pie] :focus-visible { outline-color: var(--sky, #A7CFEA); }
.elementor .art-pie__lema em { font-style: normal; color: var(--b72, rgba(255, 255, 255, .72)); }
.elementor .art-pie__enlace { text-underline-offset: 4px; }
/* cuando la página termina en una banda negra, un filete dice dónde acaba ella y empieza el pie */
body:has([data-elementor-type="wp-page"] > .art-sec--negro:last-child) .elementor [data-art-pie] {
	border-top: 1px solid var(--b14, rgba(255, 255, 255, .14));
}
/* ≤899 el pie guarda abajo el hueco de la barra fija de muestras (clase art-pie: 32 + 76). Las
   páginas sin acción principal en la cabecera (muestras y gracias: condiciones de los botones
   [data-art-cta]) no llevan barra, y el pie vuelve a 32, como en el prototipo. */
@media (max-width: 899px) {
	body:not(:has([data-art-cta])) .elementor [data-art-pie] { padding-bottom: 32px; }
}
/* menú del pie (widget Menú vertical, clase art-pie-menu): mismos enlaces que la barra */
.elementor-location-footer .art-pie-menu .elementor-nav-menu--main .elementor-nav-menu { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.elementor-location-footer .art-pie-menu .elementor-nav-menu--main .elementor-nav-menu > li { display: flex; }
.elementor-location-footer .art-pie-menu .elementor-nav-menu--main a.elementor-item,
.elementor-location-footer .art-pie-menu .elementor-nav-menu--main a.elementor-item:focus,
.elementor-location-footer .art-pie-menu .elementor-nav-menu--main a.elementor-item.elementor-item-active {
	display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 0; margin: 0;
	font: 400 18px/1.55 var(--art-fuente); color: var(--blanco, #fff); background: none; text-decoration: none;
	text-underline-offset: 4px;
}
.elementor-location-footer .art-pie-menu .elementor-nav-menu--main a.elementor-item:hover {
	padding: 0; color: var(--blanco, #fff); text-decoration: underline;
}
@media (max-width: 899px) {
	.elementor-location-footer .art-pie-menu .elementor-nav-menu--main a.elementor-item,
	.elementor-location-footer .art-pie-menu .elementor-nav-menu--main a.elementor-item.elementor-item-active { font-size: 17px; }
}

/* ============================================================
   Páginas (nbaa-build.php e inicio-build.php; prototipo componentes.css,
   evento.css e inicio.css). Diseño en las clases V4 art-*; aquí solo lo
   que V4 no expresa: flechas, velos, rayas con pseudo-elementos, hover
   entre elementos, entradas animadas, cortes que el kit no tiene y el
   formulario de Pro. Enganchado a data-art-* (o a una clase art- cuando
   solo completa su estilo).
   ============================================================ */

/* flecha de botones y enlaces (data-art-flecha): el icono .ico del prototipo
   (1,1 em) pintado con máscara después del texto; avanza 4 px al pasar el ratón */
.elementor [data-art-flecha]::after {
	content: ""; flex: none; width: 1.1em; height: 1.1em;
	background: currentColor;
	-webkit-mask: url("assets/img/flecha.svg") center / contain no-repeat;
	mask: url("assets/img/flecha.svg") center / contain no-repeat;
	transition: transform .3s var(--art-curva);
}
.elementor a[data-art-flecha]:hover::after,
.elementor a:hover [data-art-flecha]::after,
.elementor .art-diseno:focus-visible [data-art-flecha]::after { transform: translateX(4px); }

/* entradas (.rv → .vis del prototipo): artoria.js marca html.art-js después de
   dejar visible lo que ya está en pantalla; sin JS, en el editor o con
   movimiento reducido, todo se ve */
html.art-js .elementor [data-art-rv] { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--art-curva), transform .9s var(--art-curva); }
html.art-js .elementor [data-art-rv].art-vis { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html.art-js .elementor [data-art-rv] { opacity: 1; transform: none; transition: none; }
}

/* textos: lo que V4 no tiene (white-space, text-wrap) */
.elementor .art-heroe__dias { white-space: nowrap; }
.elementor .art-heroe__sub--evento { text-wrap: pretty; }

/* héroe: el velo sobre la foto (::after) y la raya delante del nombre del diseño */
.elementor [data-art-velo]::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.elementor [data-art-velo="evento"]::after {
	background: linear-gradient(0deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .42) 55%, rgba(0, 0, 0, .3) 100%),
	            linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .4) 45%, rgba(0, 0, 0, 0) 85%);
}
@media (max-width: 899px) {
	.elementor [data-art-velo="evento"]::after { background: linear-gradient(0deg, rgba(0, 0, 0, .84) 0%, rgba(0, 0, 0, .6) 50%, rgba(0, 0, 0, .52) 100%); }
}
@media (min-width: 900px) {
	.elementor .art-heroe__pie::before { content: ""; width: 40px; height: 1px; background: currentColor; }
}
/* foco sobre una foto: anillo de dos tonos (Sky por fuera, negro en el hueco) */
.elementor [data-art-velo] :focus-visible { outline-color: var(--sky, #A7CFEA); box-shadow: 0 0 0 3px #000; }

/* botones: la curva de la marca también en los de las páginas (.btn) */
.elementor .art-btn:active { transform: translateY(1px); }

/* filas: el cuadro de la flecha se invierte al pasar el ratón por la fila */
.elementor .art-fila [data-art-fila-ir] { transition: background-color .25s var(--art-curva), color .25s var(--art-curva); }
.elementor .art-fila:hover [data-art-fila-ir] { background-color: var(--negro, #000); color: var(--blanco, #fff); border-color: var(--negro, #000); }
.elementor .art-fila--oscuro:hover [data-art-fila-ir] { background-color: var(--blanco, #fff); color: var(--negro, #000); border-color: var(--blanco, #fff); }

/* la acción de la tarjeta y del rótulo («Pedir una muestra»), subrayada como en el prototipo */
.elementor .art-diseno__ir, .elementor .art-rotulo__ir { background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat; }
/* tarjeta de diseño: la foto se acerca al pasar el ratón */
.elementor .art-diseno .art-img-cubre { transition: transform 1.2s var(--art-curva); }
.elementor .art-diseno:is(:hover, :focus-visible) .art-img-cubre { transform: scale(1.04); }

/* la tira de diseños de la NBAA: 2 × 2 por debajo de 768 (el kit corta en 599) */
@media (min-width: 600px) and (max-width: 767px) {
	.elementor .art-temas__disenos-cabeza[data-art-tira-cabeza] { flex-direction: column; align-items: flex-start; }
	.elementor .art-temas__rejilla[data-art-tira] { grid-template-columns: 1fr 1fr; }
}

/* el diseño pedido (?design=): solo se ve cuando artoria.js lo rellena; en el
   editor, siempre (para poder editarlo) */
body:not(.elementor-editor-active) .elementor [data-art-pedido]:not([data-art-pedido-activo]) { display: none; }
.elementor [data-art-pedido-txt] b { font-weight: 400; }

/* mapa (widget Google Maps): el fondo gris mientras carga, sin borde */
.elementor .art-mapa-widget iframe { display: block; width: 100%; border: 0; background: var(--n06, rgba(0, 0, 0, .06)); }

/* ---- formulario de solicitud (widget Formulario de Pro, clase art-form) ----
   Colores, bordes, tipografías y huecos en sus ajustes (pestaña Estilo); aquí
   lo que el widget no expone: alturas y rellenos de los campos, el desplegable
   del prototipo, la casilla, los errores, el botón con su flecha y el foco. */
.elementor .art-form.elementor-widget-form { width: 100%; }
/* cada campo arriba en su fila, como las columnas del prototipo: sin esto, cuando una etiqueta
   parte en dos líneas, Pro reparte el alto sobrante y baja la del lado */
.elementor .art-form .elementor-field-group { align-content: flex-start; }
.elementor .art-form .elementor-field-group .elementor-field-textual {
	min-height: 54px; padding: 14px 16px; border-style: solid; box-shadow: none;
}
.elementor .art-form .elementor-field-group textarea.elementor-field-textual { display: block; min-height: 120px; resize: vertical; }
.elementor .art-form .elementor-select-wrapper .select-caret-down-wrapper { display: none; }
.elementor .art-form .elementor-field-group .elementor-select-wrapper select {
	appearance: none; -webkit-appearance: none; padding-right: 48px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
	background-position: right 16px center; background-size: 18px; background-repeat: no-repeat;
}
.elementor .art-form .art-opcional { font-weight: 400; color: var(--b72, rgba(255, 255, 255, .72)); }
/* la casilla del aviso de privacidad */
.elementor .art-form.elementor-widget-form .elementor-field-subgroup .elementor-field-option {
	display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0;
}
.elementor .art-form.elementor-widget-form .elementor-field-subgroup .elementor-field-option label {
	font: 700 15px/1.2 var(--art-fuente); color: var(--blanco, #fff); padding: 0; margin: 0; cursor: pointer;
}
.elementor .art-form .elementor-field-subgroup .elementor-field-option label a { color: var(--blanco, #fff); text-decoration: underline; text-underline-offset: 3px; }
/* !important: el estilo de campo del widget (fondo y borde de 2 px) llega por elemento con más
   especificidad que este selector */
.elementor .art-form .elementor-field-group input.elementor-acceptance-field {
	appearance: none; -webkit-appearance: none; flex: none; margin: 0; padding: 0;
	width: 22px; height: 22px; min-height: 0; border: 1.5px solid var(--blanco, #fff) !important; border-radius: 0;
	display: grid; place-items: center; background: transparent !important; color: var(--blanco, #fff) !important; cursor: pointer;
}
.elementor .art-form .elementor-field-group input.elementor-acceptance-field::after {
	content: ""; width: 10px; height: 10px; background: var(--indigo, #252563); transform: scale(0); transition: transform .15s var(--art-curva);
}
.elementor .art-form .elementor-field-group input.elementor-acceptance-field:checked { background: var(--blanco, #fff) !important; }
.elementor .art-form .elementor-field-group input.elementor-acceptance-field:checked::after { transform: scale(1); }
/* foco: Sky sobre la banda negra */
.elementor .art-form .elementor-field-group :is(input, select, textarea):focus-visible { outline: 3px solid var(--sky, #A7CFEA); outline-offset: 2px; }
.elementor .art-form .elementor-field-group input.elementor-acceptance-field:focus-visible { outline: 2px solid var(--sky, #A7CFEA); outline-offset: 3px; }
/* errores: los del prototipo (artoria.js) y los que devuelve Pro */
.elementor .art-form [aria-invalid="true"] { border-color: var(--peach, #EDCFBC) !important; box-shadow: 0 0 0 2px var(--peach, #EDCFBC); }
.elementor .art-form .art-campo-error,
.elementor .art-form .elementor-message.elementor-message-danger {
	flex-basis: 100%; margin: 8px 0 0; color: var(--peach, #EDCFBC); font: 700 15px/1.55 var(--art-fuente);
}
.elementor .art-form .elementor-message::before { display: none; }
.elementor .art-form .elementor-message.elementor-message-success { margin-top: 16px; color: var(--blanco, #fff); font: 400 17px/1.55 var(--art-fuente); }
/* el botón de envío: .btn .btn--claro .form__enviar del prototipo */
.elementor .art-form .e-form__buttons { justify-content: flex-start; }
.elementor .art-form .elementor-button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 54px; min-width: 240px;
	white-space: nowrap; cursor: pointer;
	transition: background-color .25s var(--art-curva), color .25s var(--art-curva), border-color .25s var(--art-curva);
}
.elementor .art-form .elementor-button[type="submit"]:active { transform: translateY(1px); }
.elementor .art-form .elementor-button .elementor-button-content-wrapper { gap: 12px; }
.elementor .art-form .elementor-button .elementor-button-content-wrapper::after {
	content: ""; flex: none; width: 1.1em; height: 1.1em; background: currentColor;
	-webkit-mask: url("assets/img/flecha.svg") center / contain no-repeat;
	mask: url("assets/img/flecha.svg") center / contain no-repeat;
	transition: transform .3s var(--art-curva);
}
.elementor .art-form .elementor-button:hover .elementor-button-content-wrapper::after { transform: translateX(4px); }
/* Pro baja la opacidad del formulario al enviar y pinta un icono que no carga */
.elementor .art-form .elementor-form { opacity: 1 !important; }
.elementor .art-form .elementor-form-spinner { display: none; }
@media (max-width: 899px) {
	.elementor .art-form .elementor-button[type="submit"] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.elementor [data-art-flecha]::after, .elementor .art-diseno .art-img-cubre, .elementor .art-fila [data-art-fila-ir],
	.elementor .art-form .elementor-button .elementor-button-content-wrapper::after { transition: none; }
	.elementor .art-diseno:is(:hover, :focus-visible) .art-img-cubre { transform: none; }
}
