/* ==========================================================================
   VISA – Renovación visual del sitio (capa sobre Divi, reversible)
   Volver a activar el tema Divi vuelve todo a como estaba.
   ========================================================================== */
:root {
	--visa-amarillo: #f2c400;
	--visa-amarillo-osc: #d9af00;
	--visa-negro: #141414;
	--visa-gris: #5b5f66;
	--visa-gris-claro: #f4f5f7;
	--visa-borde: #e6e7ea;
	--visa-radio: 6px;
	--visa-sombra: 0 6px 24px rgba(20, 20, 20, .08);
	--visa-fuente-tit: 'Montserrat', 'Open Sans', Arial, sans-serif;
}

/* ---------- Cabecera ---------- */
.et-l--header .et_pb_section_0_tb_header {
	background: #fff !important;
	padding: 0 !important;
	box-shadow: 0 2px 14px rgba(20, 20, 20, .07);
	border-bottom: 3px solid var(--visa-amarillo);
}
.et-l--header .et_pb_row_0_tb_header {
	width: 92% !important;
	max-width: 1320px !important;
	padding: 10px 0 !important;
}
.et-l--header .et_pb_menu__logo img {
	max-height: 58px !important;
	width: auto !important;
}
.et-l--header .et_pb_menu__logo-wrap { margin-right: 28px; }
.et-l--header .et_pb_menu__wrap { justify-content: flex-end; }
.et-l--header .et_pb_menu .et-menu {
	flex-wrap: nowrap;
	align-items: center;
	margin: 0 !important;
}
.et-l--header .et_pb_menu .et-menu > li {
	padding: 0 2px !important;
}
.et-l--header .et_pb_menu .et-menu > li > a {
	position: relative;
	font-family: var(--visa-fuente-tit) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--visa-negro) !important;
	padding: 26px 12px !important;
	white-space: nowrap;
	transition: color .2s;
}
/* Subrayado amarillo animado */
.et-l--header .et_pb_menu .et-menu > li > a::after {
	content: '';
	position: absolute;
	left: 12px; right: 12px; bottom: 18px;
	height: 2px;
	background: var(--visa-amarillo);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}
.et-l--header .et_pb_menu .et-menu > li.menu-item-has-children > a::after { right: 30px; }
.et-l--header .et_pb_menu .et-menu > li > a:hover::after,
.et-l--header .et_pb_menu .et-menu > li.current-menu-item > a::after,
.et-l--header .et_pb_menu .et-menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.et-l--header .et_pb_menu .et-menu > li > a:hover { opacity: 1 !important; }

/* "Cotizar" como botón destacado */
.et-l--header .et_pb_menu .et-menu > li > a[href*="quote"] {
	background: var(--visa-amarillo);
	border-radius: var(--visa-radio);
	padding: 11px 20px !important;
	margin-left: 8px;
	box-shadow: 0 3px 10px rgba(242, 196, 0, .35);
	opacity: 1 !important;
}
.et-l--header .et_pb_menu .et-menu > li > a[href*="quote"]:hover { background: var(--visa-amarillo-osc); }
.et-l--header .et_pb_menu .et-menu > li > a[href*="quote"]::after { display: none; }

/* Submenús como tarjeta */
.et-l--header .et_pb_menu .et-menu li ul.sub-menu {
	border-top: 3px solid var(--visa-amarillo) !important;
	border-radius: 0 0 var(--visa-radio) var(--visa-radio);
	box-shadow: var(--visa-sombra);
	padding: 8px 0 !important;
	width: 250px;
	background: #fff !important;
}
.et-l--header .et_pb_menu .et-menu li ul.sub-menu li { padding: 0 !important; width: 100%; }
.et-l--header .et_pb_menu .et-menu li ul.sub-menu a {
	display: block;
	width: 100% !important;
	padding: 10px 20px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--visa-negro) !important;
	border-left: 3px solid transparent;
	transition: background .15s, border-color .15s;
}
.et-l--header .et_pb_menu .et-menu li ul.sub-menu a:hover {
	background: var(--visa-gris-claro) !important;
	border-left-color: var(--visa-amarillo);
	opacity: 1 !important;
}

/* Pantallas medianas: compactar para que el menú quede en una línea */
@media (max-width: 1280px) {
	.et-l--header .et_pb_menu .et-menu > li > a { font-size: 12.5px !important; padding-left: 8px !important; padding-right: 8px !important; letter-spacing: .02em; }
	.et-l--header .et_pb_menu__logo img { max-height: 48px !important; }
}

/* Menú móvil */
.et-l--header .et_mobile_nav_menu .mobile_nav .et_mobile_menu {
	border-top: 3px solid var(--visa-amarillo) !important;
	box-shadow: var(--visa-sombra);
	padding: 8px 0 !important;
}
.et-l--header .et_mobile_menu li a {
	font-family: var(--visa-fuente-tit) !important;
	font-weight: 600 !important;
	padding: 12px 6% !important;
	border-bottom: 1px solid var(--visa-borde) !important;
	color: var(--visa-negro) !important;
}
.et-l--header .et_mobile_menu li li a { font-weight: 500 !important; padding-left: 10% !important; }
.et-l--header .mobile_menu_bar::before { color: var(--visa-negro) !important; }

/* ---------- Tipografía y botones ---------- */
.et-l--body h1, .et-l--body h2, .et-l--body h3,
#et-main-area h1, #et-main-area h2, #et-main-area h3 {
	font-family: var(--visa-fuente-tit) !important;
	letter-spacing: -.01em;
}
.et-l--body .et_pb_button, #et-main-area .et_pb_button {
	font-family: var(--visa-fuente-tit) !important;
	border-radius: var(--visa-radio) !important;
	letter-spacing: .04em !important;
	transition: transform .15s, box-shadow .15s, background .15s !important;
}
.et-l--body .et_pb_button:hover, #et-main-area .et_pb_button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(20, 20, 20, .15);
}

/* ---------- Tarjetas de productos / líneas ---------- */
#et-main-area .woocommerce ul.products li.product,
#et-main-area .et_pb_shop ul.products li.product {
	background: #fff;
	border: 1px solid var(--visa-borde);
	border-radius: var(--visa-radio);
	padding: 14px !important;
	transition: box-shadow .2s, transform .2s;
}
#et-main-area .woocommerce ul.products li.product:hover,
#et-main-area .et_pb_shop ul.products li.product:hover {
	box-shadow: var(--visa-sombra);
	transform: translateY(-3px);
}
#et-main-area .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px !important;
	line-height: 1.35 !important;
	color: var(--visa-negro);
}
#et-main-area .et_pb_image img, #et-main-area .et_pb_blurb_content img { border-radius: var(--visa-radio); }

@media (prefers-reduced-motion: reduce) {
	.et-l--header *, #et-main-area * { transition: none !important; }
}

/* ---------- Ajustes tras la vista previa: logo legible y menú en una línea ---------- */
.et-l--header .et_pb_menu__logo-wrap { flex: 0 0 auto !important; margin-right: 24px; }
.et-l--header .et_pb_menu__logo img { width: 200px !important; max-height: none !important; height: auto !important; }
.et-l--header .et_pb_menu .et-menu > li > a { font-size: 13px !important; padding-left: 10px !important; padding-right: 10px !important; letter-spacing: .03em; }
.et-l--header .et_pb_menu .et-menu > li > a::after { left: 10px; right: 10px; }
.et-l--header .et_pb_menu .et-menu > li > a[href*="quote"] { padding: 11px 18px !important; margin: 0 6px; }
@media (max-width: 1280px) {
	.et-l--header .et_pb_menu__logo img { width: 160px !important; }
	.et-l--header .et_pb_menu .et-menu > li > a { font-size: 12px !important; padding-left: 7px !important; padding-right: 7px !important; letter-spacing: .01em; }
}
@media (max-width: 980px) {
	.et-l--header .et_pb_menu__logo img { width: 180px !important; }
}

/* Subrayado amarillo justo bajo el texto (subrayado nativo: no depende del alto ni del padding del enlace) */
.et-l--header .et_pb_menu .et-menu > li > a::after { display: none !important; }
.et-l--header .et_pb_menu .et-menu > li > a {
	text-decoration: underline !important;
	text-decoration-color: transparent !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 7px !important;
	transition: text-decoration-color .2s;
}
.et-l--header .et_pb_menu .et-menu > li > a:hover,
.et-l--header .et_pb_menu .et-menu > li.current-menu-item > a,
.et-l--header .et_pb_menu .et-menu > li.current-menu-ancestor > a { text-decoration-color: var(--visa-amarillo) !important; }
/* El botón Cotizar no lleva subrayado */
.et-l--header .et_pb_menu .et-menu > li > a[href*="quote"],
.et-l--header .et_pb_menu .et-menu > li > a[href*="quote"]:hover { text-decoration: none !important; }
