/* ==========================================================================
   MOVIAK · Sistema visual "Kinetic"
   Tinta verde profunda + crema + lima eléctrica.
   Las clases mvk-* se asignan en Elementor › Avanzado › Clases CSS.
   ========================================================================== */

/* Las variables de color se definen en el bloque PALETA MOVIAK al final del archivo. */
:root {
	--paper: #ffffff;
	--wa: #25d366;
	--r-xl: 36px;
	--r-lg: 26px;
	--r-md: 18px;
	--ease: cubic-bezier(.22, 1, .36, 1);
	--f-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
	--f-body: "Manrope", ui-sans-serif, system-ui, sans-serif;
	--wrap: 1240px;
}

/* ---------- Base ---------- */
html { scroll-padding-top: 110px; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body {
	background: var(--paper);
	color: var(--text);
	font-family: var(--f-body);
	font-size: 16.5px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.mvk-menu-open { overflow: hidden; }
::selection { background: var(--lime); color: var(--ink); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--f-display);
	color: var(--ink);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.05;
}
a { color: var(--teal); }
a:hover { color: var(--ink); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }

.mvk-wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: 24px; }

/* ---------- Botones del tema ---------- */
.mvk-btn {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	padding: .95em 1.55em; border-radius: 999px; border: 1.5px solid transparent;
	font-family: var(--f-body); font-weight: 700; font-size: 15px; line-height: 1.1; letter-spacing: -.01em;
	text-decoration: none; cursor: pointer; white-space: nowrap;
	transition: transform .35s var(--ease), background-color .3s, color .3s, border-color .3s;
}
.mvk-btn svg { width: 1.15em; height: 1.15em; flex: none; transition: transform .35s var(--ease); }
.mvk-btn:hover svg:last-child { transform: translate(2px, -2px); }
.mvk-btn.mvk-btn--lime { background: var(--lime); color: var(--ink); box-shadow: 0 10px 30px -12px rgba(41, 217, 194, .7); }
.mvk-btn.mvk-btn--lime:hover { background: #ffffa7; color: var(--ink); }
.mvk-btn.mvk-btn--ink { background: var(--ink); color: #fff; }
.mvk-btn.mvk-btn--ink:hover { background: var(--forest); color: #fff; }
.mvk-btn.mvk-btn--wa { background: var(--wa); color: #05301a; }
.mvk-btn.mvk-btn--wa:hover { background: #3be07a; color: #05301a; }
.mvk-btn.mvk-btn--ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.mvk-btn.mvk-btn--ghost:hover { border-color: var(--ink); }
.mvk-btn.mvk-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .28); }
.mvk-btn.mvk-btn--outline-light:hover { background: #fff; color: var(--ink); border-color: #fff; }

/* ---------- Barra de progreso de lectura ---------- */
.mvk-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 1001; pointer-events: none; }
.mvk-progress span { display: block; height: 100%; background: var(--lime); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); }
.admin-bar .mvk-progress { top: 32px; }
.mvk-topbar { background: var(--lime); color: var(--ink); text-align: center; font-size: 13px; font-weight: 700; padding: 8px 16px; }

/* ---------- Encabezado flotante ---------- */
.mvk-header {
	position: fixed; top: 14px; left: 0; right: 0; z-index: 1000;
	padding-inline: 16px; pointer-events: none;
	transition: transform .55s var(--ease);
}
.admin-bar .mvk-header { top: 46px; }
.mvk-header.is-hidden { transform: translateY(calc(-100% - 30px)); }
.mvk-header__pill {
	pointer-events: auto; position: relative;
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	max-width: var(--wrap); margin-inline: auto; padding: 9px 9px 9px 22px; min-height: 64px;
	border-radius: 999px;
	background: rgba(47, 42, 49, .6);
	border: 1px solid rgba(255, 255, 255, .1);
	backdrop-filter: saturate(160%) blur(18px);
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	box-shadow: 0 20px 50px -25px rgba(0, 0, 0, .55);
	transition: background-color .4s;
}
.mvk-header.is-scrolled .mvk-header__pill { background: rgba(47, 42, 49, .88); }

.mvk-brand { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: #fff; flex: none; }
.mvk-brand:hover { color: #fff; }
.mvk-brand__mark { width: 36px; height: 36px; color: var(--lime); flex: none; transition: transform .6s var(--ease); }
.mvk-brand:hover .mvk-brand__mark { transform: rotate(-8deg) scale(1.06); }
.mvk-brand__text { font-family: var(--f-display); font-weight: 800; font-size: 23px; letter-spacing: -.04em; }
.mvk-brand__dot { color: var(--lime); }
.custom-logo-link img { max-height: 44px; width: auto; }

.mvk-nav { display: flex; align-items: center; }
.mvk-menu { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.mvk-menu > li { position: relative; }
.mvk-nav .mvk-menu a {
	position: relative; display: block; padding: 10px 16px; border-radius: 999px;
	color: rgba(255, 255, 255, .78); font-weight: 600; font-size: 14.5px; text-decoration: none;
	transition: color .25s, background-color .25s;
}
.mvk-nav .mvk-menu a:hover, .mvk-nav .mvk-menu .current-menu-item:not(.menu-item-type-custom) > a { color: #fff; background: rgba(255, 255, 255, .09); }
.mvk-menu .sub-menu {
	position: absolute; top: calc(100% + 10px); left: 0; min-width: 220px; padding: 8px; margin: 0; list-style: none;
	background: var(--ink); border: 1px solid var(--line-dark); border-radius: var(--r-md);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .25s var(--ease);
}
.mvk-menu li:hover > .sub-menu, .mvk-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.mvk-nav__foot { display: none; }

.mvk-header__actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 8px; }
.mvk-cart {
	position: relative; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
	color: #fff; background: rgba(255, 255, 255, .08); transition: background-color .25s;
}
.mvk-cart:hover { color: #fff; background: rgba(255, 255, 255, .16); }
.mvk-cart svg { width: 20px; height: 20px; }
.mvk-cart__count {
	position: absolute; top: -2px; right: -2px; min-width: 19px; height: 19px; padding: 0 5px;
	border-radius: 999px; background: var(--lime); color: var(--ink);
	font-size: 11px; font-weight: 800; line-height: 19px; text-align: center;
}
.mvk-cart__count.is-empty { display: none; }
.mvk-header__cta { padding: 14px 20px; }

.mvk-header button.mvk-burger {
	display: none; position: relative; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%;
	background: var(--lime); cursor: pointer;
}
.mvk-header button.mvk-burger:hover, .mvk-header button.mvk-burger:focus { background: var(--lime); }
.mvk-burger span { position: absolute; left: 14px; right: 14px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .35s var(--ease), top .35s var(--ease); }
.mvk-burger span:nth-child(1) { top: 19px; }
.mvk-burger span:nth-child(2) { top: 26px; }
.mvk-burger[aria-expanded="true"] span:nth-child(1) { top: 22px; transform: rotate(45deg); }
.mvk-burger[aria-expanded="true"] span:nth-child(2) { top: 22px; transform: rotate(-45deg); }

@media (max-width: 1024px) {
	.mvk-header button.mvk-burger { display: block; }
	.mvk-header__cta, .mvk-nav { display: none; }
}
@media (max-width: 600px) {
	.mvk-header { top: 10px; padding-inline: 10px; }
	.mvk-header__pill { padding-left: 16px; min-height: 60px; }
	.mvk-brand__text { font-size: 21px; }
	.mvk-brand__mark { width: 32px; height: 32px; }
}

/* ==========================================================================
   Secciones (Elementor)
   ========================================================================== */
.mvk-s { position: relative; overflow: clip; }
.mvk-s--ink { background-color: var(--ink); color: var(--on-dark); }
.mvk-s--forest { background-color: var(--forest); color: var(--on-dark); }
.mvk-s--cream { background-color: var(--cream); }
.mvk-s--lime { background-color: var(--lime); }

.elementor .mvk-s--ink .elementor-heading-title,
.elementor .mvk-s--forest .elementor-heading-title,
.elementor .mvk-dark .elementor-heading-title { color: #fff; }
.elementor .mvk-s--ink .elementor-widget-text-editor,
.elementor .mvk-s--forest .elementor-widget-text-editor,
.elementor .mvk-dark .elementor-widget-text-editor { color: var(--on-dark-muted); }

/* Textura de grilla sutil */
.mvk-grid-bg::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse at 50% 30%, #000 20%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse at 50% 30%, #000 20%, transparent 75%);
}
.mvk-grid-bg > .e-con-inner { position: relative; z-index: 1; }

/* Kicker "01 — Servicios" */
.elementor .mvk-kicker .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 12px;
	font-family: var(--f-body); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--teal);
}
.elementor .mvk-kicker .elementor-heading-title::before { content: ""; width: 28px; height: 1.5px; background: currentColor; }
.elementor .mvk-s--ink .mvk-kicker .elementor-heading-title,
.elementor .mvk-s--forest .mvk-kicker .elementor-heading-title,
.elementor .mvk-dark .mvk-kicker .elementor-heading-title { color: var(--lime); }

/* Titulares */
.elementor .mvk-title .elementor-heading-title {
	font-size: clamp(36px, 4.8vw, 64px); font-weight: 700; letter-spacing: -.02em; line-height: 1.02;
	text-wrap: balance;
}
.elementor .mvk-display .elementor-heading-title {
	font-size: clamp(46px, 6.6vw, 98px); font-weight: 700; letter-spacing: -.022em; line-height: .98;
}
.mvk-title em, .mvk-display em, .mvk-scrub em { font-style: italic; font-weight: 300; }
.mvk-mark { color: var(--teal); }
.mvk-s--ink .mvk-mark, .mvk-s--forest .mvk-mark { color: var(--lime); }

.elementor .mvk-lead, .elementor .mvk-lead p { font-size: clamp(17px, 1.4vw, 19.5px); line-height: 1.6; }
.mvk-lead p:last-child { margin-bottom: 0; }

/* Palabra rotativa */
.mvk-rotate { position: relative; display: inline-grid; vertical-align: bottom; color: var(--lime); overflow: hidden; padding: 0 .04em .1em 0; margin-bottom: -.1em; }
.mvk-rotate__w { grid-area: 1 / 1; white-space: nowrap; transform: translateY(105%); opacity: 0; transition: transform .9s var(--ease), opacity .5s; }
.mvk-rotate__w.is-on { transform: none; opacity: 1; }
.mvk-rotate__w.is-off { transform: translateY(-105%); opacity: 0; }

/* Botones de Elementor */
.elementor .mvk-b .elementor-button {
	padding: 18px 28px; border-radius: 999px; border: 1.5px solid transparent;
	font-family: var(--f-body); font-weight: 700; font-size: 15.5px; letter-spacing: -.01em;
	transition: transform .35s var(--ease), background-color .3s, color .3s, border-color .3s;
}
.elementor .mvk-b .elementor-button-icon svg { fill: currentColor; width: 1.05em; }
.elementor .mvk-b .elementor-button-icon i { color: currentColor; }
.elementor .mvk-b .elementor-button-icon { transition: transform .35s var(--ease); }
.elementor .mvk-b .elementor-button:hover .elementor-button-icon { transform: translateX(3px); }
.elementor .mvk-b--lime .elementor-button { background: var(--lime); color: var(--ink); box-shadow: 0 14px 34px -14px rgba(41, 217, 194, .75); }
.elementor .mvk-b--lime .elementor-button:hover { background: #ffffa7; color: var(--ink); }
.elementor .mvk-b--ink .elementor-button { background: var(--ink); color: #fff; }
.elementor .mvk-b--ink .elementor-button:hover { background: var(--forest); color: #fff; }
.elementor .mvk-b--ghost .elementor-button { background: transparent; color: var(--ink); border-color: rgba(47, 42, 49, .22); }
.elementor .mvk-b--ghost .elementor-button:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.elementor .mvk-b--ghost-light .elementor-button { background: rgba(255, 255, 255, .04); color: #fff; border-color: rgba(255, 255, 255, .25); }
.elementor .mvk-b--ghost-light .elementor-button:hover { background: #fff; color: var(--ink); border-color: #fff; }
.elementor .mvk-b--full .elementor-button { width: 100%; }

/* Listas con check */
.elementor .mvk-ticks .elementor-icon-list-item { padding-block: 4px; align-items: flex-start; }
.elementor .mvk-ticks .elementor-icon-list-icon {
	display: grid; place-items: center; width: 21px; height: 21px; margin-top: 2px; border-radius: 50%; flex: none;
	background: var(--lime);
}
.elementor .mvk-ticks .elementor-icon-list-icon svg { width: 10px !important; height: 10px; fill: var(--ink); }
.elementor .mvk-ticks .elementor-icon-list-icon i { font-size: 10px !important; color: var(--ink); }
.elementor .mvk-ticks .elementor-icon-list-text { font-size: 15px; padding-left: 10px; }
.elementor .mvk-s--ink .mvk-ticks .elementor-icon-list-text,
.elementor .mvk-s--forest .mvk-ticks .elementor-icon-list-text,
.elementor .mvk-dark .mvk-ticks .elementor-icon-list-text { color: var(--on-dark); }

/* ---------- HERO ---------- */
.mvk-hero { min-height: 100vh; min-height: 100svh; }
.mvk-hero__glow {
	position: absolute; width: 900px; height: 900px; border-radius: 50%;
	left: var(--gx, 72%); top: var(--gy, 34%); transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(41, 217, 194, .15), rgba(0, 163, 162, .14) 35%, transparent 65%);
	pointer-events: none; z-index: 0; transition: left 1.4s var(--ease), top 1.4s var(--ease);
}
.elementor .mvk-pill .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px 9px 12px; border-radius: 999px;
	background: rgba(255, 255, 255, .06); border: 1px solid var(--line-dark);
	font-family: var(--f-body); font-size: 13.5px; font-weight: 600; letter-spacing: 0; color: var(--on-dark);
}
.elementor .mvk-pill .elementor-heading-title::before {
	content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lime);
	animation: mvk-ping 2s infinite;
}
@keyframes mvk-ping { 0% { box-shadow: 0 0 0 0 rgba(41, 217, 194, .6); } 70%, 100% { box-shadow: 0 0 0 10px rgba(41, 217, 194, 0); } }

.elementor .mvk-hero__media { position: relative; }
.elementor .mvk-arch { position: relative; }
.elementor .mvk-arch img {
	width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block;
	border-radius: 400px 400px var(--r-xl) var(--r-xl);
}
.elementor .mvk-arch::after {
	content: ""; position: absolute; inset: -14px; border-radius: 420px 420px 48px 48px;
	border: 1px solid rgba(41, 217, 194, .35); pointer-events: none;
}
.elementor .mvk-glass {
	position: absolute !important; z-index: 3; width: auto !important; max-width: 250px;
	padding: 14px 18px 14px 14px; border-radius: 20px;
	background: rgba(47, 42, 49, .55); border: 1px solid rgba(255, 255, 255, .18);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .6);
	animation: mvk-bob 7s ease-in-out infinite;
}
.elementor .mvk-glass--a { left: -44px; bottom: 15%; }
.elementor .mvk-glass--b { right: -28px; top: 30%; animation-delay: -3.5s; }
@keyframes mvk-bob { 50% { transform: translateY(-12px); } }
.elementor .mvk-glass .elementor-icon { background: var(--lime) !important; color: var(--ink) !important; fill: var(--ink) !important; }
.elementor .mvk-glass .elementor-icon-box-title { color: #fff !important; font-size: 15px; margin-bottom: 2px !important; font-family: var(--f-body); font-weight: 700; letter-spacing: 0; }
.elementor .mvk-glass .elementor-icon-box-description { color: var(--on-dark-muted); font-size: 13px; line-height: 1.4; }
.elementor .mvk-hero__seal { position: absolute !important; left: -60px; top: 4%; z-index: 4; width: auto !important; }
@media (max-width: 1024px) {
	.elementor .mvk-glass--a { left: 12px; }
	.elementor .mvk-glass--b { right: 12px; }
	.elementor .mvk-hero__seal { left: auto; right: 8px; top: -44px; }
}
@media (max-width: 767px) {
	.mvk-hero { min-height: 0; }
	.elementor .mvk-glass--b { display: none; }
	.elementor .mvk-glass--a { bottom: 18px; left: 14px; }
	.elementor .mvk-hero__seal { transform: scale(.78); right: -4px; top: -40px; }
}
.elementor .mvk-hero__trust .elementor-icon-list-text { color: var(--on-dark-muted); font-size: 14px; font-weight: 600; }
.elementor .mvk-hero__trust .elementor-icon-list-icon svg { fill: var(--lime); }
.elementor .mvk-hero__trust .elementor-icon-list-icon i { color: var(--lime); }

/* Sello giratorio */
.mvk-seal {
	position: relative; display: grid; place-items: center; width: 132px; height: 132px; border-radius: 50%;
	background: var(--lime); color: var(--ink); text-decoration: none;
	box-shadow: 0 20px 40px -18px rgba(41, 217, 194, .7);
	transition: transform .5s var(--ease);
}
.mvk-seal:hover { transform: scale(1.07); color: var(--ink); }
.mvk-seal > svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: mvk-spin 16s linear infinite; }
.mvk-seal text { font-family: var(--f-body); font-size: 10.5px; font-weight: 800; letter-spacing: .1em; fill: var(--ink); }
.mvk-seal__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--ink); color: var(--lime); transition: transform .5s var(--ease); }
.mvk-seal:hover .mvk-seal__icon { transform: rotate(45deg); }
.mvk-seal__icon svg { width: 20px; height: 20px; }
@keyframes mvk-spin { to { transform: rotate(360deg); } }

/* ---------- Marquesina ---------- */
.mvk-marquee { overflow: hidden; width: 100%; }
.mvk-marquee .elementor-widget-container { overflow: hidden; }
.mvk-marquee__track { display: flex; width: max-content; animation: mvk-marquee var(--dur, 40s) linear infinite; }
.mvk-marquee:hover .mvk-marquee__track { animation-play-state: paused; }
.mvk-marquee__group { display: flex; align-items: center; flex: none; }
.elementor .mvk-marquee__item {
	display: inline-flex; align-items: center; gap: 30px; padding-right: 30px; white-space: nowrap;
	font-family: var(--f-display); font-weight: 700; font-size: clamp(28px, 3.6vw, 50px); letter-spacing: -.035em; color: var(--ink); line-height: 1.2;
}
.mvk-marquee__item::after { content: "✦"; font-size: .55em; color: var(--forest); }
@keyframes mvk-marquee { to { transform: translateX(-50%); } }
.elementor .mvk-tilted { transform: rotate(-1.8deg) scale(1.04); z-index: 3; }

/* ---------- Bento de servicios ---------- */
.elementor .mvk-tile {
	position: relative; overflow: hidden; isolation: isolate;
	border-radius: var(--r-xl); background: var(--ink); color: #fff; min-height: 480px;
	transition: transform .6s var(--ease), box-shadow .6s var(--ease);
	box-shadow: 0 30px 60px -40px rgba(47, 42, 49, .7);
}
.elementor .mvk-tile:hover { box-shadow: 0 46px 80px -40px rgba(47, 42, 49, .85); }
.elementor .mvk-tile__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; width: 100% !important; height: 100%; }
.elementor .mvk-tile__bg .elementor-widget-container, .elementor .mvk-tile__bg img { width: 100%; height: 100%; }
.elementor .mvk-tile__bg img { object-fit: cover; transition: transform 1.4s var(--ease); }
.elementor .mvk-tile:hover .mvk-tile__bg img { transform: scale(1.07); }
.elementor .mvk-tile::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(47, 42, 49, 0) 0%, rgba(47, 42, 49, .3) 38%, rgba(47, 42, 49, .95) 100%);
}
.elementor .mvk-tile::after {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; transition: opacity .4s;
	background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(41, 217, 194, .2), transparent 60%);
}
.elementor .mvk-tile:hover::after { opacity: 1; }
.elementor .mvk-tile__content { position: relative; z-index: 1; margin-top: auto; }
.elementor .mvk-tile h3.elementor-heading-title { color: #fff; font-size: clamp(28px, 2.7vw, 38px); letter-spacing: -.04em; }
.elementor .mvk-tile .elementor-widget-text-editor { color: rgba(255, 255, 255, .8); }
.elementor .mvk-tile .mvk-ticks .elementor-icon-list-text { color: rgba(255, 255, 255, .92); }
.elementor .mvk-tag .elementor-heading-title {
	display: inline-block; padding: 6px 13px; border-radius: 999px;
	background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	font-family: var(--f-body); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff;
}
@media (max-width: 767px) { .elementor .mvk-tile { min-height: 540px; } }

/* ---------- Mapa corporal ---------- */
.mvk-bodymap { display: grid; grid-template-columns: minmax(240px, .75fr) 1.25fr; gap: 56px; align-items: center; }
@media (max-width: 900px) { .mvk-bodymap { grid-template-columns: 1fr; gap: 28px; } }
.mvk-bodymap__figure { position: relative; width: 100%; max-width: 300px; margin-inline: auto; aspect-ratio: 200 / 450; }
.mvk-bodymap__figure svg { position: relative; width: 100%; height: 100%; overflow: visible; }
.mvk-bodymap__body > * { fill: rgba(255, 255, 255, .07); stroke: rgba(255, 255, 255, .13); }
.mvk-bodymap__body circle { fill: rgba(255, 255, 255, .12); }
.mvk-bodymap__ring {
	position: absolute; left: 50%; top: 50%; width: 140%; aspect-ratio: 1; translate: -50% -50%;
	border-radius: 50%; border: 1px dashed rgba(41, 217, 194, .22); animation: mvk-spin 60s linear infinite;
}
.mvk-bodymap button.mvk-hotspot {
	position: absolute; z-index: 2; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%;
	transform: translate(-50%, -50%); background: transparent; cursor: pointer;
}
.mvk-bodymap button.mvk-hotspot:hover, .mvk-bodymap button.mvk-hotspot:focus { background: transparent; }
.mvk-hotspot span {
	position: absolute; inset: 10px; border-radius: 50%; background: #fff;
	animation: mvk-ping 2.4s infinite; transition: background-color .3s, inset .4s var(--ease);
}
.mvk-hotspot:hover span { background: var(--lime); inset: 7px; }
.mvk-hotspot.is-active span { inset: 5px; background: var(--lime); box-shadow: 0 0 0 7px rgba(41, 217, 194, .22), 0 0 34px rgba(41, 217, 194, .9); animation: none; }
.mvk-bodymap__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.mvk-bodymap button.mvk-chip {
	padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line-dark); background: transparent;
	color: var(--on-dark); font: 600 14px/1.1 var(--f-body); cursor: pointer; transition: .25s;
}
.mvk-bodymap button.mvk-chip:hover, .mvk-bodymap button.mvk-chip:focus { border-color: rgba(41, 217, 194, .6); color: #fff; background: transparent; }
.mvk-bodymap button.mvk-chip.is-active, .mvk-bodymap button.mvk-chip.is-active:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.mvk-zone {
	padding: 34px; border-radius: var(--r-lg); background: rgba(255, 255, 255, .05); border: 1px solid var(--line-dark);
	animation: mvk-zone-in .6s var(--ease);
}
@keyframes mvk-zone-in { from { opacity: 0; transform: translateY(14px); } }
.mvk-zone__label { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.mvk-zone h3 { color: #fff; font-size: clamp(32px, 3.6vw, 48px); margin: 8px 0 20px; letter-spacing: -.045em; }
.mvk-zone dl { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; grid-auto-flow: column; gap: 6px 32px; margin: 0 0 28px; }
@media (max-width: 600px) { .mvk-zone dl { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; } .mvk-zone dd + dt { margin-top: 12px; } .mvk-zone { padding: 24px; } }
.mvk-zone dt { font-size: 13px; font-weight: 700; color: #fff; }
.mvk-zone dd { margin: 0; color: var(--on-dark-muted); font-size: 15px; line-height: 1.55; }
.mvk-zone__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mvk-bodymap__note { margin: 16px 0 0; font-size: 13px; color: var(--on-dark-muted); }

/* ---------- Proceso con línea de progreso ---------- */
.elementor .mvk-sticky { position: sticky !important; top: 120px; align-self: flex-start; }
@media (max-width: 1024px) { .elementor .mvk-sticky { position: relative !important; top: 0; } }
.elementor .mvk-steps { position: relative; }
.elementor .mvk-steps::before, .elementor .mvk-steps::after {
	content: ""; position: absolute; left: 21px; top: 22px; bottom: 30px; width: 2px; border-radius: 2px;
}
.elementor .mvk-steps::before { background: var(--line); }
.elementor .mvk-steps::after { background: var(--teal); transform-origin: top; transform: scaleY(var(--p, 0)); }
.elementor .mvk-step { position: relative; }
.elementor .mvk-step__num { position: absolute !important; left: 0; top: 0; width: 44px !important; }
.elementor .mvk-step__num .elementor-heading-title {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	background: var(--paper); border: 2px solid var(--line); color: var(--muted);
	font-family: var(--f-display); font-size: 15px; font-weight: 700; letter-spacing: 0;
	transition: background-color .5s, border-color .5s, color .5s, transform .5s var(--ease);
}
.elementor .mvk-step.is-lit .mvk-step__num .elementor-heading-title { background: var(--lime); border-color: var(--lime); color: var(--ink); transform: scale(1.1); }
.elementor .mvk-step h3.elementor-heading-title { font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.035em; }
.elementor .mvk-step .elementor-widget-text-editor { color: var(--muted); }

/* Datos destacados */
.elementor .mvk-stat { border-top: 1px solid var(--line); padding-top: 24px; }
.elementor .mvk-stat .elementor-counter { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 8px; }
.elementor .mvk-stat .elementor-counter-number-wrapper {
	justify-content: flex-start; font-family: var(--f-display); font-size: clamp(56px, 6vw, 88px); font-weight: 700; letter-spacing: -.05em; line-height: 1; color: var(--ink);
}
.elementor .mvk-stat .elementor-counter-number-suffix { color: var(--teal); }
.elementor .mvk-stat .elementor-counter-title { font-family: var(--f-body); font-size: 15px; font-weight: 600; color: var(--muted); text-align: left; line-height: 1.4; }

/* ---------- Empresas: lista interactiva ---------- */
.elementor .mvk-course { position: relative; border-top: 1px solid var(--line-dark); }
.elementor .mvk-course:last-child { border-bottom: 1px solid var(--line-dark); }
.elementor .mvk-course::after {
	content: ""; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--lime);
	transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease);
}
.elementor .mvk-course:hover::after { transform: scaleX(1); }
.elementor .mvk-course__num .elementor-heading-title { font-family: var(--f-body); font-size: 13px; font-weight: 700; color: var(--lime); letter-spacing: .08em; }
.elementor .mvk-course h3.elementor-heading-title { font-size: clamp(22px, 2.3vw, 31px); letter-spacing: -.035em; transition: transform .6s var(--ease), color .3s; }
.elementor .mvk-course:hover h3.elementor-heading-title { transform: translateX(12px); color: var(--lime); }
.elementor .mvk-course__desc { display: grid !important; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .6s var(--ease), opacity .4s; }
.elementor .mvk-course__desc > .elementor-widget-container { overflow: hidden; min-height: 0; }
.elementor .mvk-course:hover .mvk-course__desc, .elementor .mvk-course:focus-within .mvk-course__desc { grid-template-rows: 1fr; opacity: 1; }
.elementor .mvk-course__desc p { margin: 0; padding-top: 8px; color: var(--on-dark-muted); }
@media (hover: none), (max-width: 767px) { .elementor .mvk-course__desc { grid-template-rows: 1fr; opacity: 1; } }
.elementor .mvk-rounded img { border-radius: var(--r-xl); width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; }

/* ---------- Productos ---------- */
.mvk-products ul.products { margin: 0 !important; }

/* ---------- Nosotros: texto que se ilumina ---------- */
.elementor .mvk-scrub, .elementor .mvk-scrub p {
	font-family: var(--f-display); font-weight: 600; font-size: clamp(28px, 3.8vw, 54px);
	line-height: 1.12; letter-spacing: -.04em; color: var(--ink);
}
.mvk-scrub p { margin: 0; }
.mvk-js .mvk-scrub .mvk-sw { opacity: .15; transition: opacity .3s linear; }
.mvk-js .mvk-scrub .mvk-sw.is-lit { opacity: 1; }
.mvk-scrub strong { color: var(--teal); font-weight: 700; }

.elementor .mvk-collage { position: relative; }
.elementor .mvk-collage__main img { width: 100%; aspect-ratio: 5 / 4.4; object-fit: cover; border-radius: var(--r-xl); }
.elementor .mvk-collage__small { position: absolute !important; right: -24px; bottom: -40px; width: 44% !important; z-index: 2; }
.elementor .mvk-collage__small img { aspect-ratio: 1; object-fit: cover; border-radius: var(--r-lg); border: 8px solid var(--paper); }
@media (max-width: 767px) { .elementor .mvk-collage__small { right: 8px; bottom: -28px; } }

.elementor .mvk-value { padding: 28px; border-radius: var(--r-lg); background: var(--cream); height: 100%; transition: transform .5s var(--ease), background-color .4s; }
.elementor .mvk-value:hover { transform: translateY(-6px); background: var(--lime); }
.elementor .mvk-value .elementor-icon { background: var(--ink) !important; color: var(--lime) !important; fill: var(--lime) !important; }
.elementor .mvk-value .elementor-icon-box-title { font-size: 19px; letter-spacing: -.02em; }
.elementor .mvk-value .elementor-icon-box-description { color: var(--muted); font-size: 15px; transition: color .3s; }
.elementor .mvk-value:hover .elementor-icon-box-description { color: var(--ink); }

/* ---------- Preguntas frecuentes ---------- */
.elementor .mvk-faq .elementor-toggle-item { border-bottom: 1px solid var(--line) !important; margin: 0 !important; }
.elementor .mvk-faq .elementor-toggle-item:first-child { border-top: 1px solid var(--line) !important; }
.elementor .mvk-faq .elementor-tab-title {
	display: flex; align-items: center; gap: 16px; padding: 26px 4px !important; border: 0 !important;
	font-family: var(--f-display); font-weight: 600; font-size: clamp(19px, 1.8vw, 24px); letter-spacing: -.025em; line-height: 1.25;
}
.elementor .mvk-faq .elementor-tab-title a { color: var(--ink) !important; flex: 1; }
.elementor .mvk-faq .elementor-toggle-icon {
	order: 2; display: grid !important; place-items: center; width: 42px !important; height: 42px; border-radius: 50%; flex: none;
	background: var(--paper); border: 1px solid var(--line); transition: background-color .3s, transform .5s var(--ease);
}
.elementor .mvk-faq .elementor-toggle-icon svg { width: 13px; fill: var(--ink); }
.elementor .mvk-faq .elementor-tab-title.elementor-active .elementor-toggle-icon { background: var(--lime); border-color: var(--lime); transform: rotate(180deg); }
.elementor .mvk-faq .elementor-tab-content { padding: 0 64px 26px 4px !important; border: 0 !important; color: var(--muted); font-size: 16px; }
.elementor .mvk-help-card { border-radius: var(--r-lg); background: var(--ink); }
.elementor .mvk-help-card .elementor-heading-title { color: #fff; }
.elementor .mvk-help-card .elementor-widget-text-editor { color: var(--on-dark-muted); }

/* ---------- Contacto ---------- */
.elementor .mvk-contact-link { border-top: 1px solid var(--line); padding-top: 20px; }
.elementor .mvk-contact-link .elementor-icon { background: var(--cream) !important; color: var(--ink) !important; fill: var(--ink) !important; transition: background-color .3s; }
.elementor .mvk-contact-link:hover .elementor-icon { background: var(--lime) !important; }
.elementor .mvk-contact-link .elementor-icon-box-title { font-family: var(--f-body); font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px !important; }
.elementor .mvk-contact-link .elementor-icon-box-title a { color: var(--muted); }
.elementor .mvk-contact-link .elementor-icon-box-description { font-family: var(--f-display); font-size: clamp(19px, 1.8vw, 24px); font-weight: 600; color: var(--ink); letter-spacing: -.025em; }
.elementor .mvk-form-card { border-radius: var(--r-xl); background: var(--ink); box-shadow: 0 50px 90px -50px rgba(47, 42, 49, .8); }
.elementor .mvk-form-card .elementor-heading-title { color: #fff; }
.elementor .mvk-form-card .elementor-widget-text-editor { color: var(--on-dark-muted); }

/* Formulario [moviak_contacto] */
.mvk-form { display: grid; gap: 16px; }
.mvk-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .mvk-form__row { grid-template-columns: 1fr; } }
.mvk-field { display: grid; gap: 8px; margin: 0; }
.mvk-field > span { font-size: 13px; font-weight: 700; color: var(--ink); letter-spacing: .02em; }
.mvk-field em { font-style: normal; font-weight: 500; opacity: .6; }
.mvk-field input, .mvk-field select, .mvk-field textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .select2-container--default .select2-selection--single {
	width: 100%; padding: 15px 18px; border: 1.5px solid var(--line); border-radius: 14px;
	background: var(--paper); color: var(--ink); font: inherit; font-size: 15.5px;
	transition: border-color .25s, box-shadow .25s, background-color .25s;
}
.mvk-field input:focus, .mvk-field select:focus, .mvk-field textarea:focus,
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus {
	outline: none; border-color: var(--teal); box-shadow: 0 0 0 4px rgba(0, 163, 162, .14);
}
.mvk-form-card .mvk-field > span { color: var(--on-dark); }
.mvk-form-card .mvk-field input, .mvk-form-card .mvk-field select, .mvk-form-card .mvk-field textarea {
	background: rgba(255, 255, 255, .05); border-color: var(--line-dark); color: #fff;
}
.mvk-form-card .mvk-field select option { color: var(--ink); }
.mvk-form-card .mvk-field input::placeholder, .mvk-form-card .mvk-field textarea::placeholder { color: rgba(255, 255, 255, .4); }
.mvk-form-card .mvk-field input:focus, .mvk-form-card .mvk-field select:focus, .mvk-form-card .mvk-field textarea:focus {
	border-color: var(--lime); box-shadow: 0 0 0 4px rgba(41, 217, 194, .15); background: rgba(255, 255, 255, .08);
}
.mvk-form__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.mvk-form__actions .mvk-btn { flex: 1 1 200px; padding-block: 17px; }
.mvk-form .mvk-btn.mvk-btn--wa { background: var(--lime); color: var(--ink); }
.mvk-form .mvk-btn.mvk-btn--wa:hover { background: #ffffa7; color: var(--ink); }
.mvk-form-card .mvk-btn.mvk-btn--ghost { color: #fff; border-color: var(--line-dark); }
.mvk-form-card .mvk-btn.mvk-btn--ghost:hover { background: #fff; color: var(--ink); }
.mvk-form__error { margin: 0; color: #ff8a7a; font-size: 14px; font-weight: 600; }
.mvk-form__note { margin: 0; font-size: 13px; color: var(--on-dark-muted); }

/* ==========================================================================
   Animaciones de entrada (solo con JS, nunca en el editor)
   ========================================================================== */
.mvk-js .mvk-reveal { opacity: 0; transform: translateY(46px); transition: opacity 1s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
.mvk-js .mvk-reveal.is-in { opacity: 1; transform: none; }
.mvk-js .mvk-stagger > .mvk-si {
	opacity: 0; transform: translateY(50px); transition: opacity 1s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s);
}
.mvk-js .mvk-stagger.is-in > .mvk-si { opacity: 1; transform: none; }
.mvk-js .mvk-stagger.is-in > .mvk-si.mvk-tile:hover { transition-delay: 0s; }
.mvk-js .mvk-zoom img { clip-path: inset(10% 10% 10% 10% round 40px); transform: scale(1.15); transition: clip-path 1.5s var(--ease), transform 1.7s var(--ease); }
.mvk-js .mvk-zoom.is-in img { clip-path: inset(0 0 0 0 round 0px); transform: none; }
.mvk-split .mvk-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.mvk-split .mvk-w > span { display: inline-block; }
.mvk-js .mvk-split .mvk-w > span { transform: translateY(115%); transition: transform 1.1s var(--ease); transition-delay: calc(var(--i, 0) * 45ms); }
.mvk-js .mvk-split.is-in .mvk-w > span { transform: none; }

/* Cursor personalizado (solo con mouse) */
.mvk-cursor {
	position: fixed; left: 0; top: 0; z-index: 2000; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%;
	border: 1.5px solid var(--lime); pointer-events: none; opacity: 0; mix-blend-mode: difference;
	transition: width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), background-color .35s, opacity .3s;
}
.mvk-cursor.is-on { opacity: 1; }
.mvk-cursor.is-hover { width: 72px; height: 72px; margin: -36px 0 0 -36px; background: var(--lime); border-color: transparent; }
@media (pointer: coarse) { .mvk-cursor { display: none; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.mvk-js .mvk-reveal, .mvk-js .mvk-stagger > .mvk-si, .mvk-js .mvk-split .mvk-w > span { opacity: 1 !important; transform: none !important; }
	.mvk-js .mvk-scrub .mvk-sw { opacity: 1; }
	.mvk-cursor { display: none; }
}

/* ==========================================================================
   Pie de página
   ========================================================================== */
.mvk-footer { position: relative; overflow: hidden; background: var(--ink); color: var(--on-dark-muted); padding-top: 104px; font-size: 15px; }
.mvk-footer__top {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap;
	padding-bottom: 64px; margin-bottom: 56px; border-bottom: 1px solid var(--line-dark);
}
.mvk-footer__claim { margin: 0; max-width: 11ch; font-family: var(--f-display); font-weight: 700; font-size: clamp(44px, 6.4vw, 92px); line-height: .95; letter-spacing: -.055em; color: #fff; }
.mvk-footer__bigcta {
	display: inline-flex; align-items: center; gap: 16px; padding: 20px 22px 20px 34px; border-radius: 999px;
	background: var(--lime); color: var(--ink); text-decoration: none;
	font-family: var(--f-display); font-weight: 700; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.035em;
}
.mvk-footer__bigcta:hover { color: var(--ink); }
.mvk-footer__bigcta svg { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--ink); color: var(--lime); transition: transform .5s var(--ease); }
.mvk-footer__bigcta:hover svg { transform: rotate(45deg); }
.mvk-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr; gap: 40px; padding-bottom: 56px; }
.mvk-footer__about p { margin: 18px 0 0; max-width: 34ch; }
.mvk-footer h4 { color: #fff; font-family: var(--f-body); font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 8px 0 20px; }
.mvk-footer__menu, .mvk-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.mvk-footer a { color: var(--on-dark); text-decoration: none; transition: color .2s; }
.mvk-footer a:hover { color: var(--lime); }
.mvk-footer a.mvk-btn--outline-light:hover { color: var(--ink); }
.mvk-footer__contact li { display: flex; align-items: center; gap: 10px; }
.mvk-footer__contact svg, .mvk-footer__pay svg { width: 18px; height: 18px; color: var(--lime); flex: none; }
.mvk-footer__pay { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 20px; }
.mvk-social { display: flex; gap: 10px; margin-top: 22px; }
.mvk-social a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-dark); }
.mvk-social a:hover { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.mvk-social svg { width: 18px; height: 18px; }
.mvk-footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 24px; border-top: 1px solid var(--line-dark); font-size: 13.5px; }
.mvk-footer__word {
	font-family: var(--f-display); font-weight: 800; font-size: 24vw; line-height: .78; letter-spacing: -.07em;
	text-align: center; white-space: nowrap; margin-bottom: -3vw; user-select: none;
	color: transparent; -webkit-text-stroke: 1px rgba(41, 217, 194, .28);
}
@media (max-width: 960px) { .mvk-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .mvk-footer__grid { grid-template-columns: 1fr; gap: 32px; } .mvk-footer { padding-top: 72px; } }

/* WhatsApp flotante */
.mvk-wa-float {
	position: fixed; right: 22px; bottom: 22px; z-index: 950;
	display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%;
	background: var(--wa); color: #fff; box-shadow: 0 16px 34px -12px rgba(37, 211, 102, .8);
	transition: transform .4s var(--ease);
}
.mvk-wa-float::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--wa); animation: mvk-wa 2.4s ease-out infinite; }
@keyframes mvk-wa { to { transform: scale(1.6); opacity: 0; } }
.mvk-wa-float:hover { transform: scale(1.08) rotate(-6deg); color: #fff; }
.mvk-wa-float svg { width: 30px; height: 30px; }

/* ==========================================================================
   Páginas internas y WooCommerce
   ========================================================================== */
body:not(.elementor-page):not(.woocommerce-page) .site-main { max-width: 860px; margin-inline: auto; padding: 150px 24px 96px; }
.page-header .entry-title { font-size: clamp(38px, 5vw, 64px); letter-spacing: -.045em; }

.woocommerce-page .site-main, .woocommerce .site-main { max-width: var(--wrap); margin-inline: auto; padding: 140px 24px 100px; }
.post-type-archive-product .site-main, .tax-product_cat .site-main { padding-top: 0; }

.mvk-shop-hero {
	position: relative; overflow: hidden; margin: 0 calc(50% - 50vw) 48px; padding: 170px 24px 84px;
	background: var(--ink); color: var(--on-dark); text-align: center;
}
.mvk-shop-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(700px 360px at 50% 0%, rgba(41, 217, 194, .16), transparent 70%);
}
.mvk-shop-hero .mvk-wrap { position: relative; }
.mvk-shop-hero .mvk-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.mvk-shop-hero h1 { color: #fff; font-size: clamp(44px, 7vw, 96px); letter-spacing: -.055em; margin: 14px 0 18px; }
.mvk-shop-hero p { max-width: 620px; margin: 0 auto; color: var(--on-dark-muted); font-size: 18px; }
.mvk-shop-hero__perks { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; margin: 32px 0 0; padding: 0; }
.mvk-shop-hero__perks li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line-dark); font-weight: 600; font-size: 14px; color: var(--on-dark); }
.mvk-shop-hero__perks svg { width: 17px; height: 17px; color: var(--lime); }

.woocommerce .woocommerce-breadcrumb { color: var(--muted); font-size: 14px; margin-bottom: 18px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ink); text-decoration: none; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 32px; color: var(--muted); }
.woocommerce .woocommerce-ordering select { padding: 11px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; font: inherit; }

/* Grilla de productos */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
@media (max-width: 1024px) { .woocommerce ul.products, .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .woocommerce ul.products, .woocommerce ul.products.columns-4 { grid-template-columns: 1fr; } }
.woocommerce ul.products li.product {
	position: relative; width: auto !important; margin: 0 !important; float: none !important;
	display: flex; flex-direction: column; padding: 10px 10px 22px !important;
	background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
	transition: transform .6s var(--ease), box-shadow .6s var(--ease), border-color .4s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-8px); border-color: transparent; box-shadow: 0 40px 70px -40px rgba(47, 42, 49, .45); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex-grow: 1; text-decoration: none; }
.woocommerce ul.products li.product a img { margin: 0 0 18px !important; aspect-ratio: 4 / 3.3; object-fit: cover; border-radius: 18px; }
.mvk-loop-cat { display: block; padding: 0 12px; margin-bottom: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 12px !important; font-family: var(--f-display); font-size: 21px !important; font-weight: 600; color: var(--ink); line-height: 1.15; letter-spacing: -.03em;
}
.woocommerce ul.products li.product .price {
	padding: 14px 12px 0; margin: auto 0 18px !important;
	color: var(--ink) !important; font-family: var(--f-display); font-weight: 700; font-size: 26px !important; letter-spacing: -.035em;
}
.woocommerce ul.products li.product .price del { color: var(--muted); font-size: 15px; font-weight: 500; opacity: .7; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin: 0 12px !important; }
.woocommerce ul.products li.product .added_to_cart { padding: 10px 12px 0; font-weight: 700; font-size: 14px; color: var(--teal); }
.woocommerce span.onsale {
	top: 22px !important; left: 22px !important; right: auto !important; min-width: 0; min-height: 0; z-index: 2;
	padding: 7px 13px; border-radius: 999px; background: var(--lime); color: var(--ink); line-height: 1.1; font-size: 12px; font-weight: 800;
}

/* Botones WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	padding: 15px 24px; border-radius: 999px; border: 0;
	background: var(--ink); color: #fff;
	font-family: var(--f-body); font-weight: 700; font-size: 15px; line-height: 1.2;
	transition: background-color .3s, color .3s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce input.button:hover { background: var(--lime); color: var(--ink); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: var(--ink); opacity: .45; padding: 15px 24px; color: #fff; }

/* Ficha de producto */
.woocommerce div.product { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start; }
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; grid-column: auto; }
.woocommerce div.product div.summary { position: sticky; top: 120px; }
@media (max-width: 860px) { .woocommerce div.product { grid-template-columns: 1fr; gap: 32px; } .woocommerce div.product div.summary { position: static; } }
.woocommerce div.product div.images img { border-radius: var(--r-xl); }
.woocommerce div.product .product_title { font-size: clamp(36px, 4.4vw, 58px); letter-spacing: -.05em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font-family: var(--f-display); font-weight: 700; font-size: 38px; letter-spacing: -.04em; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--muted); font-size: .55em; font-weight: 500; opacity: .7; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 17px; color: var(--muted); }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-left: 0; list-style: none; display: grid; gap: 10px; }
.woocommerce div.product .woocommerce-product-details__short-description li { position: relative; padding-left: 34px; color: var(--text); }
.woocommerce div.product .woocommerce-product-details__short-description li::before {
	content: "✓"; position: absolute; left: 0; top: 1px; display: grid; place-items: center;
	width: 22px; height: 22px; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 11px; font-weight: 800;
}
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .qty { width: 86px; text-align: center; height: 100%; border-radius: 999px; }
.woocommerce div.product form.cart .button { flex: 1; font-size: 17px; padding-block: 19px; background: var(--lime); color: var(--ink); }
.woocommerce div.product form.cart .button:hover { background: var(--ink); color: #fff; }
.woocommerce div.product .product_meta { font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 32px 0 0; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0 8px 0 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 16px 18px; color: var(--muted); font-weight: 700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 3px solid var(--lime); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); }
.woocommerce div.product .woocommerce-tabs .panel { padding-top: 28px; max-width: 820px; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: clamp(30px, 3.4vw, 44px); letter-spacing: -.045em; margin: 40px 0 28px; }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	border-radius: var(--r-md); border-top-width: 0 !important; border-left: 4px solid var(--lime);
	background: var(--cream); color: var(--ink);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--teal); }
.woocommerce-error { border-left-color: #d64545; background: #fdf1ef; }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-notices-wrapper:focus { outline: none; }

/* Carrito y checkout */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: var(--r-md); border-collapse: separate; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { font-family: var(--f-body); font-weight: 700; color: var(--ink); background: var(--cream); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 16px 18px; border-color: var(--line); }
.woocommerce table.cart img { width: 76px; border-radius: 14px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading { float: none; width: 100%; }
.woocommerce .cart-collaterals .cart_totals { max-width: 480px; margin-left: auto; }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 26px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 17px; padding: 19px; background: var(--lime); color: var(--ink); }
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--ink); color: #fff; }
.woocommerce a.remove { color: #d64545 !important; }
.woocommerce a.remove:hover { background: #d64545; color: #fff !important; }

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.25fr 1fr; gap: 0 56px; align-items: start; }
.woocommerce-checkout form.checkout > *:not(#customer_details):not(#order_review_heading):not(#order_review) { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin-top: 0; font-size: 26px; }
.woocommerce-checkout #order_review { grid-column: 2; position: sticky; top: 110px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; box-shadow: 0 40px 80px -50px rgba(47, 42, 49, .45); }
@media (max-width: 900px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
}
.woocommerce-checkout h3 { font-size: 26px; margin: 8px 0 20px; }
.woocommerce form .form-row label { font-weight: 700; color: var(--ink); font-size: 13.5px; }
.woocommerce form .form-row .required { color: var(--teal); text-decoration: none; }
.woocommerce-checkout #payment { background: var(--cream); border-radius: var(--r-md); }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--line); padding: 18px; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 700; color: var(--ink); }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 30px; vertical-align: middle; margin-left: 8px; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 12px; color: var(--text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment #place_order { width: 100%; font-size: 18px; padding: 19px; background: var(--lime); color: var(--ink); }
.woocommerce-checkout #payment #place_order:hover { background: var(--ink); color: #fff; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p { font-size: 13.5px; color: var(--muted); line-height: 1.5; }

.mvk-secure {
	display: flex; gap: 14px; align-items: flex-start; margin: 18px 0; padding: 16px 18px;
	border-radius: var(--r-md); background: var(--ink); color: var(--on-dark-muted);
}
.mvk-secure svg { width: 24px; height: 24px; color: var(--lime); flex: none; margin-top: 2px; }
.mvk-secure strong { display: block; color: #fff; font-size: 15px; }
.mvk-secure span { font-size: 13.5px; line-height: 1.5; display: block; }

.mvk-next-step { margin: 0 0 32px; padding: 32px; border-radius: var(--r-lg); background: var(--ink); color: var(--on-dark-muted); }
.mvk-next-step h3 { margin: 0 0 8px; font-size: 28px; color: #fff; }
.mvk-next-step p { margin: 0 0 20px; }
.mvk-next-step .mvk-btn.mvk-btn--wa { background: var(--lime); color: var(--ink); }
.woocommerce-order-overview { padding: 0 !important; }

/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 18px; border-radius: 999px; color: var(--text); text-decoration: none; font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--ink); color: #fff; }

/* ---------- Ajustes estructurales ---------- */
html, body { overflow-x: clip; }
.mvk-marquee-wrap { background: linear-gradient(180deg, var(--ink) 50%, var(--cream) 50%); overflow: visible; z-index: 3; }
.elementor .mvk-wide img { aspect-ratio: 16 / 10; }
body:not(.home) .mvk-header__pill { background: rgba(47, 42, 49, .94); }
.woocommerce-checkout form.checkout { grid-template-rows: auto 1fr; }

/* ==========================================================================
   Enlaces sin subrayado en todo el sitio
   ========================================================================== */
a, a:hover, a:focus, a:visited { text-decoration: none !important; }
.woocommerce-info a, .woocommerce-message a, .woocommerce-error a,
.woocommerce-privacy-policy-text a, .woocommerce-terms-and-conditions-checkbox-text a,
.entry-content p a, .elementor-widget-text-editor p a { color: var(--teal); font-weight: 700; transition: color .2s; }
.woocommerce-info a:hover, .woocommerce-message a:hover, .woocommerce-privacy-policy-text a:hover,
.woocommerce-terms-and-conditions-checkbox-text a:hover, .entry-content p a:hover, .elementor-widget-text-editor p a:hover { color: var(--ink); }

/* ==========================================================================
   Pasos: Carrito / Datos y pago / Confirmación
   ========================================================================== */
.mvk-steps-head { margin: 0 0 40px; }
.mvk-steps-head h1 { margin: 22px 0 8px; font-size: clamp(40px, 5.4vw, 68px); letter-spacing: -.03em; }
.mvk-steps-head p { margin: 0; max-width: 620px; color: var(--muted); font-size: 17px; }
.mvk-progress-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.mvk-progress-steps li { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--muted); }
.mvk-progress-steps li + li::before { content: ""; width: 36px; height: 2px; border-radius: 2px; background: var(--line); margin-right: 2px; }
.mvk-progress-steps li.is-done + li::before { background: var(--teal); }
.mvk-progress-steps__n {
	display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
	border: 2px solid var(--line); background: #fff; font-size: 13px; color: var(--muted);
}
.mvk-progress-steps .is-current { color: var(--ink); }
.mvk-progress-steps .is-current .mvk-progress-steps__n { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.mvk-progress-steps .is-done .mvk-progress-steps__n { background: var(--ink); border-color: var(--ink); color: var(--lime); }
@media (max-width: 600px) { .mvk-progress-steps li + li::before { width: 16px; } .mvk-progress-steps li:not(.is-current) span:last-child { display: none; } }

/* ==========================================================================
   Carrito
   ========================================================================== */
.woocommerce-cart .site-main { padding-top: 130px; }
.mvk-cp { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; }
@media (max-width: 1024px) { .mvk-cp { grid-template-columns: 1fr; } }

.mvk-cp__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.mvk-cp__head h2 { margin: 0; font-size: 24px; letter-spacing: -.02em; }
.mvk-cp__count { padding: 6px 12px; border-radius: 999px; background: var(--cream); font-size: 13px; font-weight: 700; color: var(--ink); }

.mvk-cp__list { display: grid; gap: 14px; }
.mvk-cart-item {
	position: relative; display: grid; align-items: center; gap: 22px;
	grid-template-columns: 120px minmax(0, 1fr) auto;
	grid-template-areas: "thumb info remove" "thumb qty sub";
	gap: 10px 24px; align-items: center;
	padding: 16px 20px 16px 16px; border-radius: var(--r-lg);
	background: #fff; border: 1px solid var(--line);
	transition: border-color .3s, box-shadow .4s var(--ease);
}
.mvk-cart-item:hover { border-color: transparent; box-shadow: 0 30px 60px -40px rgba(47, 42, 49, .45); }
.mvk-cart-item__thumb { grid-area: thumb; align-self: stretch; }
.mvk-cart-item__info { grid-area: info; }
.mvk-cart-item__qty { grid-area: qty; }
.mvk-cart-item__subtotal { grid-area: sub; }
.mvk-cart-item__remove { grid-area: remove; justify-self: end; align-self: start; }
.mvk-cart-item__thumb a { display: block; height: 100%; }
.mvk-cart-item__thumb img { display: block; width: 120px; height: 100%; min-height: 120px; object-fit: cover; border-radius: 16px; }
.mvk-cart-item__info { display: grid; gap: 4px; min-width: 0; }
.mvk-cart-item__cat { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.mvk-cart-item__name { margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -.02em; }
.mvk-cart-item__name a { color: var(--ink); }
.mvk-cart-item__name a:hover { color: var(--teal); }
.mvk-cart-item__unit { font-size: 14px; color: var(--muted); }
.mvk-cart-item__unit del { opacity: .6; }
.mvk-cart-item__subtotal { text-align: right; font-family: var(--f-display); font-weight: 700; font-size: 22px; letter-spacing: -.03em; color: var(--ink); }
.mvk-cart-item dl.variation { margin: 0; font-size: 13px; color: var(--muted); }

/* Botón quitar */
.woocommerce .mvk-cart-item__remove a.remove {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	font-size: 0; color: var(--muted) !important; background: var(--cream); transition: background-color .25s, color .25s;
}
.woocommerce .mvk-cart-item__remove a.remove:hover { background: #fde8e6; color: #c83a3a !important; }
.mvk-cart-item__remove svg { width: 18px; height: 18px; }

/* Selector de cantidad +/- */
.woocommerce .quantity.mvk-qty { position: relative; display: inline-flex; align-items: center; gap: 2px; padding: 4px; border-radius: 999px; background: var(--cream); }
.woocommerce .mvk-qty .qty {
	width: 44px !important; height: 38px; padding: 0 !important; border: 0 !important; background: transparent !important;
	text-align: center; font-weight: 700; font-size: 16px; color: var(--ink); box-shadow: none !important; -moz-appearance: textfield;
}
.mvk-qty .qty::-webkit-outer-spin-button, .mvk-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mvk-qty button.mvk-qty__btn {
	display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%;
	background: #fff; color: var(--ink); font-size: 18px; font-weight: 700; line-height: 1; cursor: pointer;
	box-shadow: 0 2px 6px -2px rgba(47, 42, 49, .2); transition: background-color .2s, transform .2s;
}
.mvk-qty button.mvk-qty__btn:hover, .mvk-qty button.mvk-qty__btn:focus { background: var(--lime); color: var(--ink); }
.mvk-qty button.mvk-qty__btn:active { transform: scale(.92); }
.mvk-qty button.mvk-qty__btn:disabled { opacity: .35; cursor: not-allowed; background: #fff; }
.woocommerce div.product form.cart .quantity.mvk-qty .qty { height: 46px; }
.woocommerce div.product form.cart .quantity.mvk-qty button.mvk-qty__btn { width: 46px; height: 46px; }

/* Acciones: cupón y actualizar */
.mvk-cp__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
.mvk-cp__coupon { flex: 1 1 320px; }
.mvk-cp__coupon summary {
	display: inline-flex; align-items: center; gap: 10px; list-style: none; cursor: pointer;
	font-weight: 700; font-size: 15px; color: var(--teal);
}
.mvk-cp__coupon summary::-webkit-details-marker { display: none; }
.mvk-cp__coupon summary::before { content: "+"; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--cream); color: var(--ink); transition: transform .3s var(--ease); }
.mvk-cp__coupon[open] summary::before { transform: rotate(45deg); }
.mvk-cp__coupon .coupon { display: flex; gap: 8px; margin-top: 14px; max-width: 460px; }
.woocommerce .mvk-cp__coupon .coupon .input-text { flex: 1; width: auto; min-width: 0; padding: 14px 18px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; font-size: 15px; }
.woocommerce .mvk-cp__coupon .coupon .input-text:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 4px rgba(0, 163, 162, .14); }
.mvk-js .woocommerce .mvk-cp__update { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0 !important; }

.mvk-cp__back { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; font-weight: 700; color: var(--ink); }
.mvk-cp__back svg { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.mvk-cp__back:hover { color: var(--teal); }
.mvk-cp__back:hover svg { transform: translateX(-4px); }

.mvk-cp .blockUI.blockOverlay { border-radius: var(--r-lg); background: rgba(255, 255, 255, .7) !important; }

@media (max-width: 760px) {
	.mvk-cart-item { grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "thumb info remove" "qty qty sub"; gap: 14px 16px; padding: 14px; }
	.mvk-cart-item__thumb { grid-area: thumb; }
	.mvk-cart-item__thumb img { width: 84px; height: 84px; }
	.mvk-cart-item__info { grid-area: info; }
	.mvk-cart-item__name { font-size: 17px; }
	.mvk-cart-item__remove { grid-area: remove; align-self: start; }
	.woocommerce .mvk-cart-item__remove a.remove { width: 38px; height: 38px; }
	.mvk-cart-item__qty { grid-area: qty; }
	.mvk-cart-item__subtotal { grid-area: sub; align-self: center; }
	.mvk-cart-item__qty, .mvk-cart-item__subtotal { padding-top: 14px; border-top: 1px dashed var(--line); }
}

/* Resumen (columna derecha) */
.mvk-cp__aside { position: sticky; top: 110px; display: grid; gap: 14px; }
.woocommerce .mvk-cp .cart-collaterals { width: 100%; float: none; }
.woocommerce .mvk-cp .cart-collaterals .cart_totals {
	float: none; width: 100%; max-width: none; margin: 0; padding: 30px;
	border-radius: var(--r-xl); background: var(--ink); color: var(--on-dark-muted);
	box-shadow: 0 50px 90px -50px rgba(47, 42, 49, .8);
}
.woocommerce .mvk-cp .cart_totals h2 { margin: 0 0 18px; color: #fff; font-size: 24px; letter-spacing: -.02em; }
.woocommerce .mvk-cp .cart_totals table.shop_table { border: 0; border-radius: 0; background: transparent; margin: 0; }
.woocommerce .mvk-cp .cart_totals table.shop_table th,
.woocommerce .mvk-cp .cart_totals table.shop_table td {
	padding: 14px 0; background: transparent; border: 0; border-top: 1px solid var(--line-dark);
	color: var(--on-dark-muted); font-weight: 600; font-size: 15px;
}
.woocommerce .mvk-cp .cart_totals table.shop_table td { text-align: right; color: #fff; }
.woocommerce .mvk-cp .cart_totals table.shop_table tr:first-child th,
.woocommerce .mvk-cp .cart_totals table.shop_table tr:first-child td { border-top: 0; }
.woocommerce .mvk-cp .cart_totals .order-total th { color: #fff; font-size: 17px; padding-top: 18px; vertical-align: middle; }
.woocommerce .mvk-cp .cart_totals .order-total td { padding-top: 18px; }
.woocommerce .mvk-cp .cart_totals .order-total td strong, .woocommerce .mvk-cp .cart_totals .order-total .amount {
	font-family: var(--f-display); font-size: 34px; font-weight: 700; letter-spacing: -.04em; color: var(--lime);
}
.woocommerce .mvk-cp .cart_totals .includes_tax, .woocommerce .mvk-cp .cart_totals small { display: block; font-size: 12px; color: var(--on-dark-muted); }
.woocommerce .mvk-cp .cart_totals .cart-discount td a { color: var(--lime); margin-left: 6px; }
.woocommerce .mvk-cp .wc-proceed-to-checkout { padding: 18px 0 0; }
.woocommerce .mvk-cp .wc-proceed-to-checkout a.checkout-button { margin: 0; border-radius: 999px; font-size: 17px; padding: 19px; background: var(--lime); color: var(--ink); }
.woocommerce .mvk-cp .wc-proceed-to-checkout a.checkout-button::after { content: "\2192"; margin-left: 10px; transition: transform .3s var(--ease); }
.woocommerce .mvk-cp .wc-proceed-to-checkout a.checkout-button:hover { background: #fff; color: var(--ink); }
.woocommerce .mvk-cp .wc-proceed-to-checkout a.checkout-button:hover::after { transform: translateX(4px); }
.mvk-cp .mvk-secure { margin: 18px 0 0; padding: 16px 0 0; background: transparent; border-top: 1px solid var(--line-dark); border-radius: 0; }
.mvk-cp__help {
	display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: var(--r-lg);
	background: var(--cream); color: var(--ink);
}
.mvk-cp__help > svg { width: 42px; height: 42px; padding: 10px; border-radius: 50%; background: var(--wa); color: #fff; flex: none; }
.mvk-cp__help strong { display: block; font-size: 15px; }
.mvk-cp__help a { font-weight: 700; font-size: 14px; color: var(--teal); }
.mvk-cp__help a:hover { color: var(--ink); }
@media (max-width: 1024px) { .mvk-cp__aside { position: static; } }

/* Carrito vacío */
.mvk-cart-empty { max-width: 620px; margin: 10px auto 40px; padding: 56px 32px; text-align: center; border-radius: var(--r-xl); background: var(--cream); }
.mvk-cart-empty__icon { display: inline-grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--ink); color: var(--lime); margin-bottom: 20px; }
.mvk-cart-empty__icon svg { width: 36px; height: 36px; }
.mvk-cart-empty h2 { font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.03em; margin: 0 0 12px; }
.mvk-cart-empty p { color: var(--muted); margin: 0 auto 26px; max-width: 460px; }
.mvk-cart-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.mvk-cart-item__unit { margin-top: 2px; }
.woocommerce-cart .woocommerce-message .button.wc-forward { display: none; }
@media (max-width: 760px) { .mvk-cart-item__thumb img { width: 84px; height: 84px; min-height: 0; } .mvk-cart-item__thumb { align-self: start; } }
.mvk-footer a.mvk-footer__bigcta, .mvk-footer a.mvk-footer__bigcta:hover { color: var(--ink); }
@media (max-width: 760px) { .mvk-cart-item__subtotal { font-size: 20px; white-space: nowrap; } }
@media (max-width: 760px) {
	.mvk-cart-item { grid-template-areas: "thumb info info" "qty qty sub"; }
	.mvk-cart-item__info { padding-right: 40px; }
	.mvk-cart-item__remove { position: absolute; top: 12px; right: 12px; }
}

/* ==========================================================================
   Menú móvil a pantalla completa
   ========================================================================== */
.mvk-mobile {
	position: fixed; inset: 0; z-index: 999;
	display: flex; flex-direction: column;
	background: var(--ink); color: #fff;
	overflow-y: auto; overscroll-behavior: contain;
	visibility: hidden; opacity: 0;
	clip-path: circle(0% at calc(100% - 46px) 46px);
	transition: clip-path .7s var(--ease), opacity .3s, visibility 0s linear .7s;
}
.mvk-mobile::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(520px 380px at 100% 0%, rgba(41, 217, 194, .14), transparent 70%),
		radial-gradient(480px 360px at 0% 100%, rgba(0, 163, 162, .28), transparent 70%);
}
.mvk-mobile.is-open {
	visibility: visible; opacity: 1;
	clip-path: circle(150% at calc(100% - 46px) 46px);
	transition: clip-path .7s var(--ease), opacity .2s, visibility 0s;
}
.admin-bar .mvk-mobile { top: 46px; }
.mvk-mobile__inner {
	position: relative; display: flex; flex-direction: column; gap: 28px;
	min-height: 100%; padding: 110px 24px 28px;
}
.mvk-mobile__label { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--lime); }
.mvk-mobile__menu { list-style: none; margin: -8px 0 0; padding: 0; counter-reset: mvkm; }
.mvk-mobile__menu li { counter-increment: mvkm; border-bottom: 1px solid var(--line-dark); }
.mvk-mobile__menu a {
	display: flex; align-items: center; gap: 14px; padding: 16px 0;
	font-family: var(--f-display); font-weight: 700; font-size: clamp(30px, 8.5vw, 44px); line-height: 1.05; letter-spacing: -.02em;
	color: #fff;
	opacity: 0; transform: translateY(24px);
	transition: opacity .5s var(--ease), transform .6s var(--ease), color .2s;
}
.mvk-mobile__menu a::before {
	content: counter(mvkm, decimal-leading-zero);
	font-family: var(--f-body); font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--lime);
	align-self: flex-start; margin-top: 8px; min-width: 20px;
}
.mvk-mobile__menu a svg { width: 26px; height: 26px; margin-left: auto; color: var(--on-dark-muted); transition: transform .35s var(--ease), color .2s; }
.mvk-mobile__menu a:hover, .mvk-mobile__menu a:focus-visible { color: var(--lime); }
.mvk-mobile__menu a:hover svg { color: var(--lime); transform: translate(3px, -3px); }
.mvk-mobile__menu .current-menu-item:not(.menu-item-type-custom) > a { color: var(--lime); }
.mvk-mobile.is-open .mvk-mobile__menu a { opacity: 1; transform: none; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(1) a { transition-delay: .12s; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(2) a { transition-delay: .17s; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(3) a { transition-delay: .22s; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(4) a { transition-delay: .27s; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(5) a { transition-delay: .32s; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(6) a { transition-delay: .37s; }
.mvk-mobile.is-open .mvk-mobile__menu li:nth-child(7) a { transition-delay: .42s; }

.mvk-mobile__foot {
	margin-top: auto; display: grid; gap: 18px;
	opacity: 0; transform: translateY(16px); transition: opacity .5s var(--ease) .1s, transform .6s var(--ease) .1s;
}
.mvk-mobile.is-open .mvk-mobile__foot { opacity: 1; transform: none; transition-delay: .45s; }
.mvk-mobile__cta { width: 100%; padding-block: 18px; font-size: 16px; }
.mvk-mobile__contact { display: grid; gap: 10px; padding-top: 18px; border-top: 1px solid var(--line-dark); font-size: 14.5px; color: var(--on-dark-muted); }
.mvk-mobile__contact a, .mvk-mobile__contact span { display: inline-flex; align-items: center; gap: 10px; color: var(--on-dark); }
.mvk-mobile__contact a:hover { color: var(--lime); }
.mvk-mobile__contact svg { width: 17px; height: 17px; color: var(--lime); flex: none; }

/* Mientras el menú está abierto, la cápsula del encabezado se vuelve sólida */
body.mvk-menu-open .mvk-header { transform: none !important; }
body.mvk-menu-open .mvk-header__pill { background: rgba(255, 255, 255, .06); border-color: var(--line-dark); box-shadow: none; }
@media (min-width: 1025px) { .mvk-mobile { display: none; } }

/* ==========================================================================
   Titulares animados: espacio extra para que no se recorten las letras
   ========================================================================== */
.mvk-split .mvk-w { padding: .16em .04em .22em; margin: -.16em -.04em -.22em; }
.mvk-rotate { padding: .16em .04em .22em 0; margin: -.16em 0 -.22em; }

/* ==========================================================================
   Productos con opciones, "Desde" y productos a cotizar
   ========================================================================== */
.mvk-from { font-family: var(--f-body); font-size: .5em; font-weight: 600; letter-spacing: 0; color: var(--muted); margin-right: 4px; vertical-align: middle; }
.mvk-quote-price { font-family: var(--f-display); font-weight: 700; color: var(--teal); }
.woocommerce ul.products li.product .price .mvk-quote-price { font-size: 22px; }
.woocommerce ul.products li.product a.button.mvk-quote-btn { background: var(--lime); color: var(--ink); }
.woocommerce ul.products li.product a.button.mvk-quote-btn:hover { background: var(--ink); color: #fff; }
.mvk-quote-btn svg { width: 18px; height: 18px; }
.mvk-quote-box { margin: 26px 0; padding: 22px; border-radius: var(--r-lg); background: var(--cream); }
.mvk-quote-box .mvk-btn { width: 100%; padding-block: 18px; font-size: 16px; }
.mvk-quote-box p { margin: 12px 0 0; font-size: 14px; color: var(--muted); text-align: center; }

/* Selector de opciones como botones */
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.cart .variations { width: 100%; margin: 0 0 18px; border: 0; }
.woocommerce div.product form.cart .variations tbody, .woocommerce div.product form.cart .variations tr { display: block; }
.woocommerce div.product form.cart .variations tr + tr { margin-top: 18px; }
.woocommerce div.product form.cart .variations th.label, .woocommerce div.product form.cart .variations td.value { display: block; padding: 0; border: 0; background: none; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart .variations th.label label {
	display: block; margin-bottom: 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
}
.woocommerce div.product form.cart .variations select.mvk-chip-select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mvk-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce div.product form.cart .mvk-opts button.mvk-opt {
	padding: 13px 20px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; color: var(--ink);
	font: 700 15px/1.1 var(--f-body); cursor: pointer; transition: border-color .2s, background-color .2s, color .2s, transform .2s;
}
.woocommerce div.product form.cart .mvk-opts button.mvk-opt:hover { border-color: var(--ink); background: #fff; color: var(--ink); }
.woocommerce div.product form.cart .mvk-opts button.mvk-opt.is-active { background: var(--ink); border-color: var(--ink); color: var(--lime); }
.woocommerce div.product form.cart .mvk-opts button.mvk-opt:active { transform: scale(.96); }
.woocommerce div.product form.cart .mvk-opts button.mvk-opt:disabled { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--muted); }
.woocommerce div.product form.cart .single_variation_wrap { display: block; }
.woocommerce div.product form.cart .woocommerce-variation-price { margin: 4px 0 16px; }
.woocommerce div.product form.cart .woocommerce-variation-price .price { font-family: var(--f-display); font-size: 34px; font-weight: 700; letter-spacing: -.035em; color: var(--ink); }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }

/* Tabla de precios en la descripción */
.woocommerce div.product .woocommerce-tabs .panel table { width: 100%; max-width: 560px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; margin: 18px 0; }
.woocommerce div.product .woocommerce-tabs .panel table th, .woocommerce div.product .woocommerce-tabs .panel table td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: left; }
.woocommerce div.product .woocommerce-tabs .panel table thead th { background: var(--cream); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs .panel table tbody tr:last-child th, .woocommerce div.product .woocommerce-tabs .panel table tbody tr:last-child td { border-bottom: 0; }
.woocommerce div.product .woocommerce-tabs .panel table td { font-family: var(--f-display); font-weight: 700; font-size: 18px; color: var(--ink); }
.woocommerce div.product form.cart .variations td.value { position: relative; }
.woocommerce div.product form.cart .variations select.mvk-chip-select { position: absolute !important; left: 0; top: 0; width: 1px !important; height: 1px !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0 !important; overflow: hidden; pointer-events: none; }
.woocommerce div.product .product_meta .sku_wrapper { display: none; }

/* ==========================================================================
   PALETA MOVIAK
   Berenjena #2F2A31 · Teal #00A3A2 · Turquesa #29D9C2 · Lima #BEF371 · Amarillo #FFFFA7
   - Lima: botones de acción (texto berenjena)
   - Teal profundo #007574: textos de acento sobre fondos claros (legible)
   - Turquesa y amarillo: brillos y detalles sobre fondos oscuros
   ========================================================================== */
:root {
	--petrol: #00a3a2;
	--turq: #29d9c2;
	--coral: #bef371;
	--granate: #007574;
	--sun: #ffffa7;
	--ice: #ffffe9;

	--ink: #2f2a31;
	--ink-2: #3a343d;
	--forest: #00a3a2;
	--teal: #007574;
	--lime: #29d9c2;
	--cream: #ffffe9;
	--sage: #f3fbdc;
	--text: #3f3943;
	--muted: #6e6772;
	--on-dark: #f4f2f5;
	--on-dark-muted: #bdb5c0;
	--line: rgba(47, 42, 49, .12);
	--line-dark: rgba(255, 255, 255, .14);
}

/* Botones de acción en lima */
.mvk-btn.mvk-btn--lime,
.elementor .mvk-b--lime .elementor-button,
.mvk-seal,
.mvk-footer a.mvk-footer__bigcta,
.mvk-form .mvk-btn.mvk-btn--wa,
.mvk-next-step .mvk-btn.mvk-btn--wa,
.woocommerce div.product form.cart .button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .mvk-cp .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.woocommerce ul.products li.product a.button.mvk-quote-btn {
	background: var(--coral); color: var(--ink);
	box-shadow: 0 14px 34px -16px rgba(190, 243, 113, .8);
}
.mvk-btn.mvk-btn--lime:hover,
.elementor .mvk-b--lime .elementor-button:hover,
.mvk-form .mvk-btn.mvk-btn--wa:hover,
.mvk-next-step .mvk-btn.mvk-btn--wa:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .mvk-cp .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover,
.woocommerce ul.products li.product a.button.mvk-quote-btn:hover {
	background: var(--sun); color: var(--ink);
	box-shadow: 0 14px 34px -16px rgba(255, 255, 167, .9);
}
.mvk-footer a.mvk-footer__bigcta:hover { color: var(--ink); }
.mvk-seal text { fill: var(--ink); }
.mvk-seal__icon, .mvk-footer__bigcta svg { background: var(--ink); color: var(--coral); }
.mvk-header button.mvk-burger, .mvk-header button.mvk-burger:hover, .mvk-header button.mvk-burger:focus { background: var(--coral); }
.mvk-cart__count { background: var(--coral); color: var(--ink); }

/* Botones oscuros: hover teal */
.mvk-btn.mvk-btn--ink:hover, .elementor .mvk-b--ink .elementor-button:hover { background: var(--teal); color: #fff; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce input.button:hover { background: var(--teal); color: #fff; }
.elementor .mvk-b--ghost .elementor-button:hover { background: var(--ink); color: #fff; }

/* Énfasis en títulos */
.mvk-title em, .mvk-scrub em { color: var(--teal); }
.mvk-s--ink .mvk-title em, .mvk-dark .mvk-title em { color: var(--turq); }
.mvk-scrub strong { color: var(--teal); }
.mvk-rotate { color: var(--coral); }

/* Antetítulos */
.elementor .mvk-kicker .elementor-heading-title { color: var(--teal); }
.elementor .mvk-s--ink .mvk-kicker .elementor-heading-title,
.elementor .mvk-dark .mvk-kicker .elementor-heading-title { color: var(--turq); }

/* Secciones oscuras: berenjena con un leve brillo teal */
.mvk-s--ink { background-image: radial-gradient(900px 500px at 85% 0%, rgba(0, 163, 162, .16), transparent 60%), linear-gradient(170deg, #353038 0%, #2f2a31 55%, #28232a 100%); }
.mvk-hero.mvk-s--ink { background-image: radial-gradient(900px 600px at 80% 10%, rgba(0, 163, 162, .2), transparent 62%), linear-gradient(180deg, #353038 0%, #2f2a31 100%); }
.mvk-hero__glow { background: radial-gradient(circle, rgba(41, 217, 194, .16), rgba(190, 243, 113, .06) 40%, transparent 66%); }
.mvk-shop-hero { background: radial-gradient(800px 380px at 50% 0%, rgba(0, 163, 162, .22), transparent 70%), linear-gradient(170deg, #353038, #2f2a31); }
.mvk-shop-hero::before { display: none; }
.mvk-marquee-wrap { background: linear-gradient(180deg, #2f2a31 50%, var(--cream) 50%); }

/* Sección Empresas en teal: textos claros y acentos amarillos */
.mvk-s--forest {
	--on-dark-muted: rgba(255, 255, 255, .86);
	background-image: radial-gradient(800px 500px at 100% 0%, rgba(41, 217, 194, .35), transparent 60%), linear-gradient(150deg, #00a3a2 0%, #008a89 100%);
}
.elementor .mvk-s--forest .mvk-kicker .elementor-heading-title { color: var(--sun); }
.mvk-s--forest .mvk-title em { color: var(--sun); }
.elementor .mvk-s--forest .mvk-ticks .elementor-icon-list-icon { background: var(--sun); }
.elementor .mvk-s--forest .mvk-course { border-color: rgba(255, 255, 255, .22); }
.elementor .mvk-s--forest .mvk-course__num .elementor-heading-title { color: var(--sun); }
.elementor .mvk-s--forest .mvk-course:hover h3.elementor-heading-title { color: var(--sun); }
.elementor .mvk-s--forest .mvk-course::after { background: var(--sun); }
.elementor .mvk-s--forest .mvk-b--lime .elementor-button { box-shadow: 0 14px 34px -16px rgba(47, 42, 49, .6); }

/* Cinta animada en amarillo */
.mvk-s--lime { background-color: var(--sun); }
.elementor .mvk-marquee__item { color: var(--ink); }
.mvk-marquee__item::after { color: var(--petrol); }

/* Etiquetas y precios */
.woocommerce span.onsale { background: var(--ink); color: var(--coral); }
.mvk-cart-item__cat, .mvk-loop-cat { color: var(--teal); }
.mvk-quote-price { color: var(--teal); }
.elementor .mvk-stat .elementor-counter-number-suffix { color: var(--petrol); }
.elementor .mvk-tag .elementor-heading-title { background: rgba(255, 255, 255, .16); }
.woocommerce .mvk-cp .cart_totals .order-total td strong, .woocommerce .mvk-cp .cart_totals .order-total .amount { color: var(--coral); }

/* Tarjetas de valores */
.elementor .mvk-value .elementor-icon { background: var(--ink) !important; color: var(--coral) !important; fill: var(--coral) !important; }
.elementor .mvk-value:hover { background: var(--coral); }
.elementor .mvk-value:hover .elementor-icon { background: var(--ink) !important; color: var(--coral) !important; fill: var(--coral) !important; }

/* Pasos y progreso */
.elementor .mvk-steps::after { background: linear-gradient(180deg, var(--petrol), var(--turq)); }
.elementor .mvk-step.is-lit .mvk-step__num .elementor-heading-title { background: var(--coral); border-color: var(--coral); color: var(--ink); }
.mvk-progress span { background: linear-gradient(90deg, var(--turq), var(--coral)); }

/* Mapa corporal */
.mvk-hotspot.is-active span { background: var(--coral); box-shadow: 0 0 0 7px rgba(190, 243, 113, .22), 0 0 34px rgba(190, 243, 113, .8); }
.mvk-hotspot:hover span { background: var(--turq); }
.mvk-bodymap button.mvk-chip.is-active, .mvk-bodymap button.mvk-chip.is-active:hover { background: var(--coral); border-color: var(--coral); color: var(--ink); }
.mvk-zone__label { color: var(--turq); }

/* Enlaces y avisos */
.woocommerce-info a, .woocommerce-message a, .woocommerce-error a,
.woocommerce-privacy-policy-text a, .woocommerce-terms-and-conditions-checkbox-text a,
.entry-content p a, .elementor-widget-text-editor p a { color: var(--teal); }
.woocommerce-info a:hover, .woocommerce-message a:hover, .entry-content p a:hover, .elementor-widget-text-editor p a:hover { color: var(--ink); }
.woocommerce-message, .woocommerce-info { border-left-color: var(--petrol); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--teal); }
.woocommerce form .form-row .required { color: var(--teal); }

/* Formularios */
.mvk-field input:focus, .mvk-field select:focus, .mvk-field textarea:focus,
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus { border-color: var(--petrol); box-shadow: 0 0 0 4px rgba(0, 163, 162, .16); }
.mvk-form-card .mvk-field input:focus, .mvk-form-card .mvk-field select:focus, .mvk-form-card .mvk-field textarea:focus { border-color: var(--turq); box-shadow: 0 0 0 4px rgba(41, 217, 194, .16); }

/* Selector de opciones de producto */
.woocommerce div.product form.cart .mvk-opts button.mvk-opt.is-active { background: var(--ink); border-color: var(--ink); color: var(--coral); }

/* Pasos del checkout */
.mvk-progress-steps .is-current .mvk-progress-steps__n { background: var(--coral); border-color: var(--coral); color: var(--ink); }
.mvk-progress-steps .is-done .mvk-progress-steps__n { background: var(--ink); border-color: var(--ink); color: var(--coral); }
.mvk-progress-steps li.is-done + li::before { background: var(--petrol); }

/* Footer */
.mvk-footer { background: linear-gradient(180deg, #2f2a31 0%, #241f26 100%); }
.mvk-footer__word { -webkit-text-stroke: 1px rgba(41, 217, 194, .3); }
.mvk-footer a:hover { color: var(--turq); }

::selection { background: var(--coral); color: var(--ink); }

/* ==========================================================================
   Mapa corporal: zona neurológica (cabeza) y "Otra patología"
   ========================================================================== */
.mvk-bodymap button.mvk-hotspot--neuro { width: 44px; height: 44px; }
.mvk-hotspot--neuro span { inset: 12px; }
.mvk-hotspot--neuro::after {
	content: ""; position: absolute; inset: 0; border-radius: 50%;
	border: 1.5px dashed rgba(41, 217, 194, .7); animation: mvk-spin 14s linear infinite;
}
.mvk-zone--list dl { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; gap: 8px; }
.mvk-zone--list dd + dt { margin-top: 14px; }
.mvk-zone__tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 6px 0 0; padding: 0; }
.mvk-zone__tags li {
	padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--on-dark);
	background: rgba(41, 217, 194, .1); border: 1px solid rgba(41, 217, 194, .35);
}
.mvk-bodymap button.mvk-chip--neuro { border-color: rgba(41, 217, 194, .5); }
.mvk-bodymap button.mvk-chip--otra { border-style: dashed; border-color: rgba(255, 255, 167, .6); color: var(--sun); }
.mvk-bodymap button.mvk-chip--otra:hover, .mvk-bodymap button.mvk-chip--otra:focus { border-color: var(--sun); color: var(--sun); }
.mvk-bodymap button.mvk-chip--otra.is-active, .mvk-bodymap button.mvk-chip--otra.is-active:hover { background: var(--sun); border-color: var(--sun); border-style: solid; color: var(--ink); }
.mvk-zone--otra { border-color: rgba(255, 255, 167, .3); background: linear-gradient(160deg, rgba(255, 255, 167, .08), rgba(255, 255, 255, .03)); }
.mvk-zone--otra .mvk-zone__label { color: var(--sun); }
.mvk-zone--otra .mvk-btn.mvk-btn--wa { background: var(--wa); color: #05301a; }
.mvk-zone--otra .mvk-btn.mvk-btn--wa:hover { background: #3be07a; color: #05301a; }

/* Palabra rotativa: máscara ajustada para que la palabra entrante no se asome */
.mvk-rotate { padding: .06em .04em .16em 0; margin: -.06em 0 -.16em; }
.mvk-rotate__w { transform: translateY(125%); transition: transform .8s var(--ease), opacity .3s ease; }
.mvk-rotate__w.is-off { transform: translateY(-125%); }
.mvk-rotate__w.is-on { transform: none; opacity: 1; transition: transform .8s var(--ease), opacity .45s ease .15s; }
