/*
 * MiEventus — estilos del sitio comercial sobre Divi.
 *
 * Cada bloque de la portada es una sección de Divi con una clase `mev-*`
 * (Divi → Avanzado → Clase CSS). Aquí se define su disposición; los textos,
 * imágenes y enlaces se editan en el Visual Builder. Si en Divi se cambia un
 * color o un espaciado, el ajuste de Divi gana porque se imprime después.
 *
 * Móvil primero; cortes en 768 y 1000 px (el diseño cambia el menú en 1000).
 */

:root {
	--mev-bg: #fbf8f5;
	--mev-white: #ffffff;
	--mev-soft: #f4ebe4;
	--mev-blush: #f6ebe3;
	--mev-ink: #3b2519;
	--mev-muted: #6e5343;
	--mev-faint: #7f6656;
	--mev-accent: #9a6443;
	--mev-copper: #b98462;
	--mev-check: #c79a78;
	--mev-peach: #e2b48f;
	--mev-cream: #fbf3ec;
	--mev-line: #ecdfd4;
	--mev-line-soft: #f1e7df;
	--mev-rule: #f0e5dc;
	--mev-field: #fdfbf9;
	--mev-field-line: #e3d3c6;
	--mev-dark: #2a1a11;
	--mev-dark-line: #4a3326;
	--mev-dark-text: #cdb8a8;
	--mev-plan-muted: #d9c3b3;
	--mev-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--mev-sans: 'Jost', 'Segoe UI', system-ui, -apple-system, sans-serif;
	--mev-max: 1240px;
	--mev-gutter: 24px;
	--mev-header-h: 72px;
}

/* ---------- Base ---------- */

body,
#page-container,
#main-content {
	background-color: var(--mev-bg);
}

body {
	color: var(--mev-ink);
	font-family: var(--mev-sans);
	-webkit-font-smoothing: antialiased;
}

#main-content .container::before { display: none; }

.mev-s [id],
.mev-s[id] {
	scroll-margin-top: calc(var(--mev-header-h) + 12px);
}

.mev-s a { color: var(--mev-accent); text-decoration: none; }
.mev-s a:hover { color: var(--mev-ink); }

.mev-s a:focus-visible,
.mev-header a:focus-visible,
.mev-footer a:focus-visible,
.mev-s button:focus-visible,
.mev-s input:focus-visible,
.mev-s select:focus-visible {
	outline: 2px solid var(--mev-accent);
	outline-offset: 3px;
	border-radius: 6px;
}

/* Secciones y filas: el ancho y los márgenes del diseño, no los de Divi. */
.et_pb_section.mev-s {
	padding: 72px var(--mev-gutter);
	background-color: var(--mev-bg);
}
.et_pb_section.mev-s--white { background-color: var(--mev-white); border-top: 1px solid var(--mev-rule); }
.et_pb_section.mev-s--soft { background-color: var(--mev-soft); }
.et_pb_section.mev-s--dark { background-color: var(--mev-ink); color: var(--mev-cream); }

.mev-s .et_pb_row,
.mev-header .et_pb_row,
.mev-footer .et_pb_row {
	width: 100%;
	max-width: var(--mev-max);
	margin: 0 auto;
	padding: 0;
}
.mev-s .et_pb_row.mev-narrow { max-width: 1000px; }
.mev-s .et_pb_row.mev-medium { max-width: 1140px; }

.mev-s .et_pb_column,
.mev-header .et_pb_column,
.mev-footer .et_pb_column {
	margin: 0 !important;
	width: auto !important;
}
.mev-s .et_pb_module,
.mev-header .et_pb_module,
.mev-footer .et_pb_module { margin-bottom: 0 !important; }

.mev-s .et_pb_text_inner > *:last-child { margin-bottom: 0; padding-bottom: 0; }
.mev-s .et_pb_text p { padding-bottom: 0; }

/* ---------- Tipografía ---------- */

.mev-eyebrow {
	display: block;
	font-family: var(--mev-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--mev-accent);
}

.mev-h1,
.mev-h2,
.mev-s h1,
.mev-s h2 {
	margin: 0;
	padding: 0;
	font-family: var(--mev-serif);
	font-weight: 500;
	color: inherit;
	text-wrap: balance;
}
.mev-h1 { font-size: clamp(44px, 6vw, 76px); line-height: .98; letter-spacing: -.01em; }
.mev-h2 { font-size: clamp(34px, 4vw, 50px); line-height: 1.05; }

.mev-lead {
	margin: 0;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 300;
	color: var(--mev-muted);
	max-width: 480px;
	text-wrap: pretty;
}
.mev-body {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	font-weight: 300;
	color: var(--mev-muted);
	text-wrap: pretty;
}
.mev-stack { display: flex; flex-direction: column; gap: 18px; }
.mev-stack--hero { gap: 26px; }
.mev-stack--center { align-items: center; text-align: center; gap: 12px; }

/* ---------- Botones (módulo Botón de Divi con clase mev-btn) ---------- */

body .et_pb_button.mev-btn,
body .et_pb_contact_submit.et_pb_button,
.mev-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--mev-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	padding: 16px 30px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	background: var(--mev-ink) !important;
	color: var(--mev-cream) !important;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
	white-space: nowrap;
}
body .et_pb_button.mev-btn::after,
body .et_pb_contact_submit.et_pb_button::after { display: none !important; }
body .et_pb_button.mev-btn:hover,
body .et_pb_contact_submit.et_pb_button:hover,
.mev-pill:hover {
	background: var(--mev-accent) !important;
	color: #fff !important;
	padding: 16px 30px !important;
}

body .et_pb_button.mev-btn--peach { background: var(--mev-peach) !important; color: var(--mev-ink) !important; padding: 15px 28px !important; }
body .et_pb_button.mev-btn--peach:hover { background: var(--mev-cream) !important; color: var(--mev-ink) !important; padding: 15px 28px !important; }

body .et_pb_button.mev-btn--outline { background: transparent !important; color: var(--mev-ink) !important; border-color: var(--mev-ink) !important; padding: 12px 22px !important; font-size: 14px !important; }
body .et_pb_button.mev-btn--outline:hover { background: var(--mev-ink) !important; color: #fff !important; padding: 12px 22px !important; }

body .et_pb_button.mev-btn--link,
body .et_pb_button.mev-btn--link:hover {
	background: transparent !important;
	color: var(--mev-ink) !important;
	padding: 0 0 2px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--mev-check) !important;
	border-radius: 0 !important;
}
body .et_pb_button.mev-btn--link:hover { color: var(--mev-accent) !important; }

body .et_pb_button.mev-btn--link-light,
body .et_pb_button.mev-btn--link-light:hover {
	background: transparent !important;
	color: var(--mev-cream) !important;
	padding: 0 0 2px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--mev-peach) !important;
	border-radius: 0 !important;
}

body .et_pb_button.mev-btn--block { display: flex; width: 100%; padding: 15px !important; }
body .et_pb_button.mev-btn--block:hover { padding: 15px !important; }

.mev-actions { display: flex !important; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.mev-actions > .et_pb_text { flex: 0 0 100%; }
.mev-actions .et_pb_button_module_wrapper { display: inline-flex; margin: 0 !important; }

/* ---------- Barra superior y cabecera (Theme Builder) ---------- */

.et_pb_section.mev-topbar {
	padding: 9px 20px;
	background-color: var(--mev-ink);
}
.mev-topbar .et_pb_row { width: 100%; max-width: none; padding: 0; }
.mev-topbar .et_pb_text {
	font-size: 13px;
	letter-spacing: .02em;
	line-height: 1.5;
	color: #f3e6dc;
	text-align: center;
}
.mev-topbar p { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 8px; padding: 0; }
.mev-topbar a { color: var(--mev-peach); font-weight: 500; text-decoration: none; }
.mev-topbar a:hover { color: var(--mev-cream); }

.et_pb_section.mev-header {
	padding: 0 var(--mev-gutter);
	background-color: rgba(251, 248, 245, .96);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--mev-line);
	z-index: 50;
}
.mev-header .et_pb_row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: var(--mev-header-h);
}
.mev-header .et_pb_row::after { display: none; }
.mev-header .et_pb_column { position: static; }
.mev-header .mev-logo-col { flex: 0 0 auto; }
.mev-header .mev-nav-col { flex: 1 1 auto; order: 3; display: flex; justify-content: flex-end; }
.mev-header .mev-actions-col { flex: 0 0 auto; order: 2; }

.mev-logo .et_pb_image_wrap,
.mev-logo img { display: block; }
.mev-logo img { width: 190px; height: auto; }

.mev-header-actions { display: flex; align-items: center; gap: 12px; }
.mev-header-actions p { display: flex; align-items: center; gap: 12px; padding: 0; }
.mev-header-actions .mev-login { display: none; font-size: 14px; color: var(--mev-ink); padding: 10px 14px; }
.mev-header-actions .mev-login:hover { color: var(--mev-accent); }
.mev-header-actions .mev-pill { font-size: 14px !important; padding: 11px 20px !important; }
.mev-header-actions .mev-pill:hover { padding: 11px 20px !important; }

/* Menú de Divi */
.mev-nav.et_pb_menu { background: transparent; }
.mev-nav .et_pb_menu__wrap { justify-content: center; }
.mev-nav .et-menu > li { padding: 0 15px; }
.mev-nav .et-menu > li > a {
	font-family: var(--mev-sans);
	font-size: 15px;
	font-weight: 400;
	color: var(--mev-ink);
	padding: 26px 0;
	opacity: 1;
}
.mev-nav .et-menu > li > a:hover { color: var(--mev-accent); opacity: 1; }
.mev-nav .et-menu > li.menu-item-has-children > a { padding-right: 16px; }
.mev-nav .et-menu > li.menu-item-has-children > a::after {
	content: "▾";
	font-family: var(--mev-sans);
	font-size: 10px;
	color: var(--mev-copper);
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

/* Hamburguesa */
.mev-nav .mobile_nav .mobile_menu_bar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--mev-field-line);
	border-radius: 10px;
	background: #fff;
	padding: 0;
}
.mev-nav .mobile_nav .mobile_menu_bar::before {
	position: static;
	font-size: 26px;
	color: var(--mev-ink) !important;
}
.mev-nav .et_mobile_nav_menu { position: static; }
.mev-nav,
.mev-nav .et_pb_menu_inner_container,
.mev-nav .et_pb_menu__wrap,
.mev-nav .mobile_nav { position: static; }
.mev-nav .et_mobile_menu {
	top: 100%;
	left: calc(-1 * var(--mev-gutter));
	right: calc(-1 * var(--mev-gutter));
	width: auto;
	padding: 8px var(--mev-gutter) 20px;
	background: #fff;
	border-top: 1px solid var(--mev-line) !important;
	border-bottom: 1px solid var(--mev-line);
	box-shadow: 0 24px 40px -24px rgba(59, 37, 25, .25);
}
.mev-nav .et_mobile_menu li a {
	font-size: 16px;
	color: var(--mev-ink);
	padding: 14px 0;
	border-bottom: 1px solid var(--mev-line-soft);
	background: transparent !important;
	opacity: 1;
}
.mev-nav .et_mobile_menu li li { padding-left: 16px; }
.mev-nav .et_mobile_menu li li a { font-size: 15px; color: var(--mev-muted); }
.mev-nav .et_mobile_menu .mev-menu-desc,
.mev-nav .et_mobile_menu .mev-menu-eyebrow,
.mev-nav .et_mobile_menu .mev-menu-cta { display: none; }
.mev-nav .et_mobile_menu .mev-mega-label { display: none; }
.mev-nav .et-menu > li.mev-menu-login-item { display: none; }
.mev-nav .et_mobile_menu li.mev-menu-login-item { display: list-item; }

/* Mega menú de «Servicios» */
.mev-nav .et-menu li.mev-mega > ul.sub-menu {
	left: 50%;
	transform: translateX(-50%);
	width: 640px;
	padding: 22px;
	display: grid;
	grid-template-columns: 230px 1fr;
	grid-auto-flow: row;
	column-gap: 22px;
	background: #fff;
	border: 1px solid var(--mev-line);
	border-top: 1px solid var(--mev-line);
	border-radius: 14px;
	box-shadow: 0 24px 60px -20px rgba(59, 37, 25, .25);
}
.mev-nav .et-menu li.mev-mega > ul.sub-menu > li {
	grid-column: 2;
	width: auto;
	padding: 0;
	border-bottom: 1px solid var(--mev-line-soft);
}
.mev-nav .et-menu li.mev-mega > ul.sub-menu > li > a {
	width: auto;
	display: block;
	padding: 8px 0;
	color: var(--mev-ink);
	background: transparent;
	opacity: 1;
}
.mev-nav .et-menu li.mev-mega > ul.sub-menu > li > a:hover { color: var(--mev-accent); background: transparent; }
.mev-nav .et-menu li.mev-mega .mev-menu-title { display: block; font-size: 14px; font-weight: 500; line-height: 1.35; }
.mev-nav .et-menu li.mev-mega .mev-menu-desc { display: block; font-size: 12.5px; line-height: 1.35; color: var(--mev-faint); margin-top: 2px; }

.mev-nav .et-menu li.mev-mega > ul.sub-menu > li.mev-mega-label {
	border-bottom: 0;
}
.mev-nav .et-menu li.mev-mega > ul.sub-menu > li.mev-mega-label > a {
	pointer-events: none;
	padding: 0 0 8px;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9a8474;
}

.mev-nav .et-menu li.mev-mega > ul.sub-menu > li.mev-featured {
	grid-column: 1;
	grid-row: 1 / span 8;
	border: 0;
	align-self: stretch;
}
.mev-nav .et-menu li.mev-mega > ul.sub-menu > li.mev-featured > a {
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border-radius: 10px;
	background: var(--mev-blush);
}
.mev-nav .et-menu li.mev-featured .mev-menu-eyebrow { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mev-accent); font-weight: 500; }
.mev-nav .et-menu li.mev-featured .mev-menu-title { font-family: var(--mev-serif); font-size: 26px; line-height: 1.05; font-weight: 500; }
.mev-nav .et-menu li.mev-featured .mev-menu-desc { font-size: 13px; color: var(--mev-muted); line-height: 1.45; }
.mev-nav .et-menu li.mev-featured .mev-menu-cta { font-size: 13px; color: var(--mev-accent); font-weight: 500; margin-top: 4px; }

@media (min-width: 1000px) {
	.mev-header .mev-nav-col { order: 2; justify-content: center; }
	.mev-header .mev-actions-col { order: 3; }
	.mev-header-actions .mev-login { display: inline-block; }
	.mev-logo img { width: 214px; }
}

/* ---------- Portada (hero) ---------- */

.et_pb_section.mev-hero { padding: 48px var(--mev-gutter) 64px; }
.mev-hero .et_pb_row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: 40px 48px;
	align-items: center;
}
.mev-hero .et_pb_row::after { display: none; }
.mev-hero-copy.mev-actions { row-gap: 26px; }

.mev-collage {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 200px 200px;
	gap: 14px;
}
.mev-collage .et_pb_image { height: 100%; border-radius: 18px; overflow: hidden; background: var(--mev-soft); }
.mev-collage .et_pb_image:first-child { grid-row: span 2; }
.mev-collage .et_pb_image a,
.mev-collage .et_pb_image .et_pb_image_wrap { display: block; height: 100%; }
.mev-collage .et_pb_image img { width: 100%; height: 100%; object-fit: cover; }
.mev-collage .mev-collage-mock img { object-position: 50% 40%; }

@media (min-width: 768px) {
	.mev-collage { grid-template-rows: 220px 220px; }
	.et_pb_section.mev-hero { padding: 64px var(--mev-gutter) 72px; }
}

/* ---------- Encabezado de bloque con enlace a la derecha ---------- */

.mev-s .et_pb_row.mev-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin-bottom: 40px;
}
.mev-s .et_pb_row.mev-head::after { display: none; }
.mev-head .mev-link { font-size: 15px; font-weight: 500; }

/* ---------- Invitaciones para cada celebración ---------- */

.mev-s .et_pb_row.mev-grid-4,
.mev-s .et_pb_row.mev-grid-3,
.mev-s .et_pb_row.mev-grid-2 {
	display: grid;
	gap: 22px;
}
.mev-s .et_pb_row.mev-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.mev-s .et_pb_row.mev-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.mev-s .et_pb_row.mev-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.mev-s .et_pb_row.mev-grid-4::after,
.mev-s .et_pb_row.mev-grid-3::after,
.mev-s .et_pb_row.mev-grid-2::after { display: none; }

.mev-occasion { position: relative; display: flex; flex-direction: column; gap: 14px; }
.mev-occasion .et_pb_image { border-radius: 16px; overflow: hidden; aspect-ratio: 3 / 4; background: var(--mev-soft); }
.mev-occasion .et_pb_image .et_pb_image_wrap,
.mev-occasion .et_pb_image a { display: block; height: 100%; }
.mev-occasion .et_pb_image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mev-occasion:hover .et_pb_image img { transform: scale(1.03); }
.mev-card-title { margin: 0; padding: 0; font-family: var(--mev-sans); font-size: 17px; font-weight: 500; line-height: 1.35; }
.mev-card-title a { color: var(--mev-ink); }
.mev-card-title a:hover { color: var(--mev-accent); }
.mev-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mev-card-text { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--mev-faint); }

/* ---------- Quiénes somos ---------- */

.mev-s .et_pb_row.mev-split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: 40px 56px;
	align-items: start;
}
.mev-s .et_pb_row.mev-split::after { display: none; }

.mev-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mev-steps li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 18px;
	padding: 22px 0;
	border-bottom: 1px solid var(--mev-line);
}
.mev-steps .mev-step-n { font-family: var(--mev-serif); font-size: 38px; line-height: 1; color: var(--mev-copper); }
.mev-steps .mev-step-t { display: block; font-size: 18px; font-weight: 500; margin-bottom: 4px; color: var(--mev-ink); }
.mev-steps .mev-step-d { display: block; font-size: 15px; line-height: 1.5; color: var(--mev-faint); }

/* ---------- Planes ---------- */

.mev-plans-head { margin-bottom: 44px !important; }
.mev-plans-head .mev-body { font-size: 16px; line-height: 1.55; max-width: 520px; font-weight: 400; }

.mev-plan {
	display: flex !important;
	flex-direction: column;
	gap: 18px;
	padding: 34px;
	background: var(--mev-white);
	color: var(--mev-ink);
	border: 1px solid var(--mev-field-line);
	border-radius: 20px;
}
.mev-plan .et_pb_text { flex: 1 1 auto; }
.mev-plan .et_pb_button_module_wrapper { margin-top: auto !important; }
.mev-plan-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.mev-plan-tag { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--mev-faint); }
.mev-plan-badge { font-size: 12px; background: var(--mev-peach); color: var(--mev-ink); padding: 5px 12px; border-radius: 999px; font-weight: 500; }
.mev-plan-name { margin: 0 0 18px; font-family: var(--mev-serif); font-size: 34px; font-weight: 500; line-height: 1.05; }
/* «Lps 1,500» no cabe junto a «pago único» a 320 px: el monto no se parte y la nota baja. */
.mev-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; margin-bottom: 18px; }
.mev-plan-price b { font-size: 44px; font-weight: 500; letter-spacing: -.02em; line-height: 1; white-space: nowrap; }
.mev-plan-price span { font-size: 14px; color: var(--mev-faint); }
.mev-plan-desc { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: var(--mev-faint); }
.mev-check { list-style: none; margin: 0; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.45; }
.mev-check li { display: flex; gap: 10px; padding: 0; }
.mev-check li::before { content: "✓"; color: var(--mev-check); flex: none; }

.mev-plan--dark { background: var(--mev-ink); color: var(--mev-cream); border-color: var(--mev-ink); }
.mev-plan--dark .mev-plan-tag,
.mev-plan--dark .mev-plan-price span,
.mev-plan--dark .mev-plan-desc { color: var(--mev-plan-muted); }
.mev-plan--dark .mev-plan-name,
.mev-plan--dark .mev-plan-price b,
.mev-plan--dark .mev-check { color: var(--mev-cream); }
.mev-plan-note { margin: 22px auto 0 !important; text-align: center; font-size: 14px; color: var(--mev-faint); max-width: 620px; }

/* ---------- Servicios para tu evento ---------- */

.mev-service {
	position: relative;
	display: flex !important;
	flex-direction: column;
	border: 1px solid var(--mev-line);
	border-radius: 16px;
	overflow: hidden;
	background: var(--mev-white);
	transition: box-shadow .25s ease;
}
.mev-service:hover { box-shadow: 0 18px 40px -22px rgba(59, 37, 25, .35); }
.mev-service .et_pb_image { aspect-ratio: 16 / 9; overflow: hidden; background: var(--mev-soft); }
.mev-service .et_pb_image .et_pb_image_wrap,
.mev-service .et_pb_image a { display: block; height: 100%; }
.mev-service .et_pb_image img { width: 100%; height: 100%; object-fit: cover; }
.mev-service .et_pb_text { padding: 20px 22px 22px; flex: 1 1 auto; }
.mev-service .et_pb_text_inner { display: flex; flex-direction: column; gap: 8px; height: 100%; }
.mev-service .mev-card-title { font-size: 18px; }
.mev-service .mev-card-text { margin: 0; font-size: 14.5px; flex: 1 1 auto; }
.mev-service .mev-card-cta { margin-top: 6px; font-size: 14px; font-weight: 500; color: var(--mev-accent); }

/* ---------- Cotización (módulo Formulario de contacto de Divi) ---------- */

.mev-form-card {
	background: var(--mev-white);
	border: 1px solid var(--mev-line);
	border-radius: 20px;
	padding: 30px;
}
.mev-cotiza .et_pb_contact_main_title { display: none; }
.mev-cotiza .et_pb_contact_form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 16px;
	margin: 0;
}
.mev-cotiza .et_pb_contact_form::after,
.mev-cotiza .et_pb_contact_form::before { display: none; }
.mev-cotiza .et_pb_contact_field {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mev-cotiza .et_pb_contact_field:not(.et_pb_contact_field_half),
.mev-cotiza .et_contact_bottom_container { grid-column: 1 / -1; }
.mev-cotiza .et_pb_contact_form_label,
.mev-cotiza .et_pb_contact_field_options_title {
	display: block !important;
	position: static !important;
	font-size: 13px;
	font-weight: 400;
	color: var(--mev-muted);
	margin: 0 0 4px;
}
.mev-cotiza .et_pb_contact p input,
.mev-cotiza .et_pb_contact p select,
.mev-cotiza .et_pb_contact_field input.input,
.mev-cotiza .et_pb_contact_field select {
	height: 48px;
	width: 100%;
	padding: 0 14px !important;
	border: 1px solid var(--mev-field-line) !important;
	border-radius: 10px !important;
	background: var(--mev-field) !important;
	color: var(--mev-ink) !important;
	font-family: var(--mev-sans);
	font-size: 15px !important;
}
.mev-cotiza .et_pb_contact_field input::placeholder { color: #b7a597; }
.mev-cotiza .et_pb_contact_select { -webkit-appearance: auto; appearance: auto; }
.mev-cotiza .et_pb_contact_field .input.et_contact_error { border-color: #b3261e !important; }

/* Casillas de «¿Qué te interesa?» como chips */
.mev-cotiza .et_pb_contact_field_options_list { display: flex; flex-wrap: wrap; gap: 8px; }
.mev-cotiza .et_pb_contact_field_checkbox { position: relative; margin: 0 !important; }
.mev-cotiza .et_pb_contact_field_checkbox input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.mev-cotiza .et_pb_contact_field_checkbox label {
	display: inline-flex !important;
	align-items: center;
	min-height: 40px;
	padding: 0 16px !important;
	border: 1px solid var(--mev-field-line);
	border-radius: 999px;
	background: #fff;
	color: var(--mev-ink) !important;
	font-size: 14px;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.mev-cotiza .et_pb_contact_field_checkbox label i { display: none; }
.mev-cotiza .et_pb_contact_field_checkbox input:checked + label {
	background: var(--mev-ink);
	border-color: var(--mev-ink);
	color: var(--mev-cream) !important;
}
.mev-cotiza .et_pb_contact_field_checkbox input:focus-visible + label { outline: 2px solid var(--mev-accent); outline-offset: 2px; }

.mev-cotiza .et_contact_bottom_container { float: none; display: block; margin: 4px 0 0; text-align: left; }
.mev-cotiza .et_pb_contact_submit.et_pb_button { width: 100%; height: 52px; margin: 0 !important; cursor: pointer; }
.mev-cotiza .et-pb-contact-message { color: var(--mev-muted); }
.mev-cotiza .et-pb-contact-message p { padding: 0 0 12px; }

.mev-form-note { margin-top: 14px !important; font-size: 13px; line-height: 1.5; color: var(--mev-faint); }
.mev-form-note a { color: var(--mev-accent); }

.mev-sent {
	padding: 30px 10px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}
.mev-sent h3 { margin: 0; padding: 0; font-family: var(--mev-serif); font-size: 34px; font-weight: 500; color: var(--mev-ink); }
.mev-sent p { margin: 0; color: var(--mev-muted); font-size: 16px; line-height: 1.55; max-width: 360px; }
.mev-sent .mev-sent-wa { font-weight: 500; }
.mev-sent button {
	margin-top: 8px;
	background: none;
	border: 0;
	color: var(--mev-accent);
	font-size: 14px;
	font-family: var(--mev-sans);
	cursor: pointer;
}

/* ---------- Testimonios ---------- */

.mev-quote.et_pb_testimonial {
	margin: 0;
	padding: 30px !important;
	background: var(--mev-bg) !important;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	height: 100%;
}
.mev-quote .et_pb_testimonial_description { margin: 0; overflow: visible; }
.mev-quote .et_pb_testimonial_content,
.mev-quote .et_pb_testimonial_content p {
	font-family: var(--mev-serif);
	font-size: 24px;
	line-height: 1.3;
	font-weight: 500;
	color: var(--mev-ink);
	text-wrap: pretty;
}
.mev-quote .et_pb_testimonial_author { margin-top: 22px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--mev-accent); font-weight: 600; }
.mev-quote .et_pb_testimonial_meta { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--mev-faint); }
.mev-quote .et_pb_testimonial_portrait { display: none; }
.mev-quote::before { display: none !important; }

/* ---------- Franja final ---------- */

.et_pb_section.mev-cta { padding: 72px var(--mev-gutter); background-color: var(--mev-ink); color: var(--mev-cream); }
.mev-cta .et_pb_row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 24px 32px; max-width: 1140px; }
.mev-cta .et_pb_row::after { display: none; }
.mev-cta .mev-h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.08; max-width: 640px; color: var(--mev-cream); }
.mev-cta .mev-actions { gap: 18px; }

/* ---------- Pie (Theme Builder) ---------- */

.et_pb_section.mev-footer {
	padding: 64px var(--mev-gutter) 32px;
	background-color: var(--mev-dark);
	color: var(--mev-dark-text);
	font-size: 14px;
}
.mev-footer .et_pb_row.mev-footer-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 40px;
}
.mev-footer .et_pb_row::after { display: none; }
.mev-footer .et_pb_text { color: var(--mev-dark-text); font-size: 14px; line-height: 1.6; }
.mev-footer img.mev-footer-logo { width: 180px; height: auto; display: block; margin-bottom: 14px; }
.mev-footer-title { margin: 0 0 14px; padding: 0; font-family: var(--mev-sans); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--mev-cream); font-weight: 400; }
.mev-footer ul { list-style: none; margin: 0; padding: 0 !important; display: flex; flex-direction: column; gap: 9px; }
.mev-footer li { padding: 0; }
.mev-footer a { color: var(--mev-dark-text); text-decoration: none; }
.mev-footer a:hover { color: var(--mev-cream); }
.mev-footer .mev-footer-brand a { color: var(--mev-peach); }
.mev-footer .et_pb_row.mev-footer-bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 48px;
	padding-top: 22px;
	border-top: 1px solid var(--mev-dark-line);
	font-size: 13px;
}
.mev-footer-bottom p { display: flex; flex-wrap: wrap; gap: 20px; padding: 0; }

/* ---------- Páginas interiores (preguntas, privacidad, términos) ---------- */

.et_pb_section.mev-page-head { padding: 64px var(--mev-gutter) 24px; }
.mev-page-head .mev-h1 { font-size: clamp(40px, 5vw, 60px); }
.mev-prose { max-width: 760px; margin: 0 auto; font-size: 16.5px; line-height: 1.7; color: var(--mev-muted); }
.mev-prose h2 { margin: 32px 0 10px; padding: 0; font-family: var(--mev-serif); font-size: 30px; font-weight: 500; color: var(--mev-ink); }
.mev-prose h3 { margin: 22px 0 6px; padding: 0; font-family: var(--mev-sans); font-size: 18px; font-weight: 500; color: var(--mev-ink); }
.mev-prose p { padding-bottom: 14px !important; }
.mev-prose ul { padding: 0 0 14px 20px !important; }
.mev-prose li { padding: 2px 0; }
.mev-prose .mev-updated { font-size: 14px; color: var(--mev-faint); }

.mev-faq .et_pb_row { max-width: 820px; }
.mev-faq .et_pb_toggle {
	margin: 0 !important;
	padding: 22px 0 !important;
	border: 0;
	border-bottom: 1px solid var(--mev-line);
	background: transparent !important;
}
.mev-faq .et_pb_toggle_title {
	font-family: var(--mev-sans);
	font-size: 18px;
	font-weight: 500;
	color: var(--mev-ink) !important;
	padding-right: 36px;
}
.mev-faq .et_pb_toggle_title::before { color: var(--mev-copper) !important; right: 0; }
.mev-faq .et_pb_toggle_content { padding-top: 10px; font-size: 16px; line-height: 1.65; color: var(--mev-muted); }
.mev-faq-group { margin: 36px 0 6px !important; }
.mev-faq-group h2 { margin: 0; padding: 0; font-family: var(--mev-serif); font-size: 30px; font-weight: 500; color: var(--mev-ink); }

@media (prefers-reduced-motion: reduce) {
	.mev-occasion .et_pb_image img,
	.mev-service,
	body .et_pb_button.mev-btn { transition: none !important; }
	.mev-occasion:hover .et_pb_image img { transform: none; }
}

/* ---------- Ajustes tras la primera revisión (Sprint 034) ---------- */

/* Logo: Divi fija el ancho de las imágenes con más especificidad. */
.mev-header .mev-logo.et_pb_image img,
.mev-header .mev-logo .et_pb_image_wrap img { width: 150px !important; max-width: none !important; height: auto; }
.mev-header .mev-logo.et_pb_image .et_pb_image_wrap { width: auto; }
@media (min-width: 400px) {
	.mev-header .mev-logo.et_pb_image img, .mev-header .mev-logo .et_pb_image_wrap img { width: 164px !important; }
}
@media (min-width: 1000px) {
	.mev-header .mev-logo.et_pb_image img, .mev-header .mev-logo .et_pb_image_wrap img { width: 214px !important; }
}
@media (max-width: 420px) {
	.et_pb_section.mev-header { padding: 0 16px; }
	.mev-header .et_pb_row { gap: 10px; }
	.mev-header-actions .mev-pill,
	.mev-header-actions .mev-pill:hover { padding: 10px 16px !important; font-size: 13.5px !important; }
	.mev-nav .et_mobile_menu { left: -16px; right: -16px; }
}

/* Menú de escritorio: alineado con el logo y en el color de la marca. */
@media (min-width: 981px) {
	.mev-header .mev-nav .et_pb_menu__menu,
	.mev-header .mev-nav .et-menu-nav,
	.mev-header .mev-nav ul.et-menu { display: flex; align-items: center; }
}
.mev-header .mev-nav.et_pb_menu .et-menu > li > a,
.mev-header .mev-nav.et_pb_menu .et-menu-nav > ul > li > a {
	color: var(--mev-ink) !important;
	padding: 24px 0 !important;
	font-size: 15px;
	opacity: 1 !important;
}
.mev-header .mev-nav.et_pb_menu .et-menu > li > a:hover { color: var(--mev-accent) !important; }
.mev-header .mev-nav.et_pb_menu .et-menu > li.menu-item-has-children > a { padding-right: 16px !important; }
.mev-header .mev-nav.et_pb_menu .et-menu > li.menu-item-has-children > a::after {
	content: "▾" !important;
	font-family: var(--mev-sans) !important;
	font-size: 10px !important;
	color: var(--mev-copper) !important;
	position: absolute;
	top: 50% !important;
	right: 0 !important;
	transform: translateY(-50%);
	margin: 0 !important;
}

/* Formulario: sin etiqueta doble, sin casillas dentro de los chips, sin doble flecha. */
.mev-cotiza .et_pb_contact_field[data-type="checkbox"] > .et_pb_contact_form_label { display: none !important; }
.mev-cotiza .et_pb_contact_field_options_title { margin-bottom: 6px; }
.mev-cotiza .et_pb_contact_field_checkbox label i,
.mev-cotiza .et_pb_contact_field_checkbox label i::before { display: none !important; }
.mev-cotiza .et_pb_contact_field[data-type="select"]::after { display: none !important; }

/* Franja final: título a la izquierda, botones a la derecha. */
.mev-cta .et_pb_column:first-child { flex: 1 1 420px; }
.mev-cta .et_pb_column:last-child { flex: 0 1 auto; }

/* Divi fija el tamaño de h2/h3 con un selector más fuerte que una clase. */
.mev-footer .mev-footer-title { font-size: 12px !important; line-height: 1.5 !important; letter-spacing: .16em !important; padding: 0 !important; }
.mev-s .mev-card-title { font-size: 17px !important; line-height: 1.35 !important; padding: 0 !important; }
.mev-s .mev-service .mev-card-title { font-size: 18px !important; }
.mev-s .mev-plan-name { font-size: 34px !important; line-height: 1.05 !important; padding: 0 !important; }
.mev-s .mev-sent h3 { font-size: 34px !important; line-height: 1.1 !important; padding: 0 !important; }
.mev-s .mev-faq-group h2,
.mev-s .mev-prose h2 { font-size: 30px !important; line-height: 1.15 !important; padding: 0 !important; }
.mev-s .mev-prose h3 { font-size: 18px !important; line-height: 1.35 !important; padding: 0 !important; }
.mev-s .et_pb_toggle_title { font-size: 18px !important; line-height: 1.4 !important; }

/* Franja final: sin las columnas de 47 % de Divi. */
.mev-cta .et_pb_row { width: 100%; padding: 0; margin: 0 auto; }
.mev-cta .et_pb_column { margin: 0 !important; width: auto !important; }

/* Divi pinta los desplegables con el fondo del módulo de menú (transparente). */
.mev-header .mev-nav.et_pb_menu .et-menu li.mev-mega > ul.sub-menu { background-color: #fff !important; }
.mev-header .mev-nav.et_pb_menu .et_mobile_menu,
.mev-header .mev-nav.et_pb_menu .et_mobile_menu ul { background-color: #fff !important; }
.mev-header .mev-nav .et_mobile_menu { z-index: 60; max-height: calc(100vh - 140px); overflow-y: auto; }

/* Menú del celular como en el diseño: tarjetas de invitación y servicios, sin la lista de seis. */
.mev-nav .et_mobile_menu li.mev-mega > ul > li:not(.mev-featured):not(.mev-mega-label) { display: none; }
.mev-nav .et_mobile_menu li.mev-mega > ul > li.mev-mega-label { display: list-item; }
.mev-nav .et_mobile_menu li.mev-mega > ul > li.mev-mega-label > a { pointer-events: auto; }
.mev-nav .et_mobile_menu li.mev-mega > ul { padding-left: 0; }
.mev-nav .et_mobile_menu li.mev-mega > ul > li { padding-left: 16px; }
.mev-nav .et_mobile_menu .mev-menu-title { display: inline; font-size: inherit; font-weight: inherit; }

/* Menú: sin fondo propio y enlaces en el color de la marca (Divi usa el acento). */
.mev-header .mev-nav.et_pb_menu,
.mev-header .mev-nav.et_pb_menu .et_pb_menu__menu,
.mev-header .mev-nav.et_pb_menu .et_mobile_nav_menu { background-color: transparent !important; }
.mev-header .mev-nav.et_pb_menu .et-menu li.mev-mega > ul.sub-menu > li > a { color: var(--mev-ink) !important; }
.mev-header .mev-nav.et_pb_menu .et-menu li.mev-mega > ul.sub-menu > li:not(.mev-featured) > a:hover { color: var(--mev-accent) !important; }
.mev-header .mev-nav.et_pb_menu .et-menu li.mev-mega > ul.sub-menu > li.mev-mega-label > a { color: #9a8474 !important; }
.mev-header .mev-nav.et_pb_menu .et-menu li.mev-featured .mev-menu-eyebrow { color: var(--mev-accent); line-height: 1.4; }
.mev-header .mev-nav.et_pb_menu .et-menu li.mev-featured .mev-menu-cta { color: var(--mev-accent); }
.mev-header .mev-nav.et_pb_menu .et_mobile_menu li a { color: var(--mev-ink) !important; }
.mev-header .mev-nav.et_pb_menu .et_mobile_menu li li a { color: var(--mev-muted) !important; }

/* Filas de una sola columna: todo el ancho de la fila. */
.mev-s .et_pb_column_4_4 { width: 100% !important; float: none; }

/* Preguntas frecuentes y páginas legales alineadas con su encabezado. */
.et_pb_section.mev-faq,
.et_pb_section.mev-legal { padding-top: 8px; }
.mev-faq .et_pb_row { max-width: 1000px; }
.mev-prose { margin: 0; max-width: 760px; }
.mev-faq .mev-faq-group { margin-top: 40px !important; }
.mev-faq .et_pb_row:first-child .mev-faq-group { margin-top: 0 !important; }

/* Panel del cliente (/mi-invitacion/). */
.mev-app-page #main-content,
.mev-app-page #main-content .container { background-color: var(--mev-bg); }
.mev-app-page .main_title,
.mev-app-page .entry-title { display: none; }
.mev-app-page #main-content .container { padding-top: 48px; }
.mev-app-page #left-area { width: 100%; padding: 0 0 48px; float: none; }
.mev-app-page #sidebar { display: none; }

/* Celulares pequeños (320–374 px): logo, botón y hamburguesa caben en una fila. */
@media (max-width: 374px) {
	.et_pb_section.mev-header { padding: 0 12px; }
	.mev-header .et_pb_row { gap: 8px; }
	.mev-header .mev-logo.et_pb_image img,
	.mev-header .mev-logo .et_pb_image_wrap img { width: 116px !important; }
	.mev-header-actions .mev-pill,
	.mev-header-actions .mev-pill:hover { padding: 9px 12px !important; font-size: 13px !important; }
	.mev-nav .mobile_nav .mobile_menu_bar { width: 40px; height: 40px; }
	.mev-nav .et_mobile_menu { left: -12px; right: -12px; }
}

/* Enlaces dentro de un párrafo: subrayados, no solo por color (WCAG 1.4.1). */
.mev-footer .mev-footer-brand a,
.mev-prose a,
.mev-sent a,
.mev-form-note a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Sobre el fondo rosado el acento no llega a 4.5:1; se oscurece solo ahí. */
.mev-s--soft .mev-eyebrow { color: #87573a; }
