/* ================================================================
   INICIO NUEVO · v3 marketplace (page-inicio-nuevo.php)
   Clásico de tienda (carrusel + promos, buscador, ocasiones en círculo,
   raíles de producto, Navidad con cuenta atrás, por edad) con fotos
   grandes y colores de marca para que tenga impacto.
================================================================ */
.mk {
  --p: #7c5cbf;
  --p-d: #5f43a3;
  --p-soft: #f1ecfb;
  --coral: #ff6b6b;
  --coral-d: #ef5252;
  --ink: #1d1a2e;
  --soft: #6b6683;
  --line: #ece8f3;
  --bg: #faf8fd;
  --gold: #f2c14e;
  --red: #b3172c;
  font-family: 'Nunito', system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  overflow-x: clip;
}
.mk *, .mk *::before, .mk *::after { box-sizing: border-box; }
.mk img { display: block; max-width: 100%; }
.mk a { color: inherit; text-decoration: none; }
.mk-wrap { width: min(1320px, 100% - 48px); margin: 0 auto; }
.mk-sec { padding: 64px 0; }
.mk-sec-tight { padding: 40px 0; }
.mk-h2 { font: 900 clamp(1.6rem, 2.6vw, 2.15rem)/1.15 'Nunito', sans-serif; letter-spacing: -.02em; margin: 0; }
.mk-sub { margin: 6px 0 0; color: var(--soft); font-size: 1rem; }
.mk-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; }
.mk-head-c { justify-content: center; text-align: center; }
.mk-head-r { display: flex; align-items: center; gap: 8px; }
.mk-all { font-weight: 800; color: var(--p) !important; margin-right: 8px; white-space: nowrap; }
.mk-all:hover { text-decoration: underline; }
.mk-arrow { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 1.4rem; line-height: 1; color: var(--ink); cursor: pointer; box-shadow: 0 2px 8px rgba(29,26,46,.06); transition: background .2s, color .2s; }
.mk-arrow:hover { background: var(--ink); color: #fff; }
.mk-kicker { display: inline-block; font: 800 .74rem 'Nunito', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.18); backdrop-filter: blur(6px); padding: 7px 12px; border-radius: 999px; }
.mk-kicker-gold { background: rgba(242,193,78,.2); color: var(--gold); }
.mk-btn { display: inline-flex; align-items: center; justify-content: center; font: 900 1rem 'Nunito', sans-serif; color: #fff !important; background: var(--coral); padding: 15px 28px; border-radius: 999px; box-shadow: 0 10px 24px -10px rgba(255,107,107,.8); transition: background .2s, transform .2s; }
.mk-btn:hover { background: var(--coral-d); transform: translateY(-2px); }
.mk-btn-gold { background: var(--gold); color: var(--ink) !important; box-shadow: 0 10px 24px -10px rgba(242,193,78,.8); }
.mk-btn-gold:hover { background: #e7b33a; }
.mk-c { text-align: center; margin-top: 36px; }
.mk-ico svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Hero ---------- */
.mk-hero { padding: 24px 0 0; background: #fff; }
.mk-hero-grid { display: grid; grid-template-columns: 2.15fr 1fr; gap: 18px; }
.mk-slider { position: relative; min-height: 520px; border-radius: 26px; overflow: hidden; background: #2a1d33; }
.mk-slide { position: absolute; inset: 0; display: flex; align-items: center; padding: 0 56px; opacity: 0; visibility: hidden; transition: opacity .8s, visibility .8s;
  background: linear-gradient(90deg, rgba(22,14,30,.9) 0%, rgba(22,14,30,.62) 34%, rgba(22,14,30,0) 64%), var(--bg) 70% center / cover no-repeat; }
.mk-slide.on { opacity: 1; visibility: visible; }
.mk-slide-txt { max-width: 470px; color: #fff; }
.mk-slide-t { font: 900 clamp(2.1rem, 3.8vw, 3.35rem)/1.03 'Nunito', sans-serif; letter-spacing: -.03em; margin: 16px 0 14px; color: #fff; }
.mk-slide-txt p { font-size: 1.1rem; line-height: 1.55; color: rgba(255,255,255,.88); margin: 0 0 26px; }
.mk-slide.on .mk-slide-txt > * { animation: mkUp .8s cubic-bezier(.2,.7,.2,1) both; }
.mk-slide.on .mk-slide-txt > *:nth-child(2) { animation-delay: .08s; } .mk-slide.on .mk-slide-txt > *:nth-child(3) { animation-delay: .16s; } .mk-slide.on .mk-slide-txt > *:nth-child(4) { animation-delay: .24s; }
@keyframes mkUp { from { opacity: 0; transform: translateY(18px); } }
.mk-dots { position: absolute; left: 56px; bottom: 26px; display: flex; gap: 8px; z-index: 2; }
.mk-dots button { width: 10px; height: 10px; border-radius: 999px; border: 0; padding: 0; background: rgba(255,255,255,.45); cursor: pointer; transition: width .3s, background .3s; }
.mk-dots button.on { width: 30px; background: #fff; }
.mk-side { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
.mk-promo { position: relative; overflow: hidden; border-radius: 26px; padding: 26px; display: flex; flex-direction: column; color: #fff; min-height: 250px; transition: transform .25s; }
.mk-promo:hover { transform: translateY(-3px); }
.mk-promo-coral { background: linear-gradient(135deg, #ff7a6b, #e84a63); }
.mk-promo-ink { background: linear-gradient(135deg, #3b2477, #1d1a2e); }
.mk-promo-k { font: 800 .74rem 'Nunito', sans-serif; letter-spacing: .12em; text-transform: uppercase; opacity: .85; position: relative; z-index: 1; }
.mk-promo strong { font: 900 2.3rem/1 'Nunito', sans-serif; letter-spacing: -.03em; margin: 10px 0 6px; position: relative; z-index: 1; max-width: 60%; }
.mk-promo > span:not(.mk-promo-k) { font-size: .95rem; opacity: .9; max-width: 55%; position: relative; z-index: 1; }
.mk-promo img { position: absolute; right: -24px; bottom: -24px; width: 52%; height: 78%; object-fit: cover; border-radius: 20px; transform: rotate(-6deg); box-shadow: 0 20px 40px rgba(0,0,0,.35); }

/* ---------- Buscador ---------- */
.mk-search-sec { padding: 30px 0 0; }
.mk-search { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 22px; border: 2px solid var(--ink); border-radius: 999px; background: #fff; box-shadow: 0 10px 30px -18px rgba(29,26,46,.45); }
.mk-search .mk-ico { color: var(--soft); display: flex; }
.mk .mk-search input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; font: 600 1.08rem 'Nunito', sans-serif; padding: 10px 4px; margin: 0; color: var(--ink); height: auto; }
.mk-search button { border: 0; cursor: pointer; font: 900 1rem 'Nunito', sans-serif; color: #fff; background: var(--ink); padding: 14px 30px; border-radius: 999px; }
.mk-search button:hover { background: var(--p); }
.mk-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; font-size: .9rem; color: var(--soft); }
.mk-chips a { padding: 7px 14px; border-radius: 999px; background: var(--p-soft); color: var(--p-d) !important; font-weight: 700; transition: background .2s, color .2s; }
.mk-chips a:hover { background: var(--p); color: #fff !important; }

/* ---------- Garantías ---------- */
.mk-trust { padding: 34px 0 6px; }
.mk-trust-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.mk-trust-row > div { display: flex; gap: 12px; align-items: center; padding: 16px; background: var(--bg); border-radius: 18px; }
.mk-trust .mk-ico { flex: none; width: 46px; height: 46px; border-radius: 14px; background: #fff; color: var(--p); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(124,92,191,.12); }
.mk-trust p { margin: 0; line-height: 1.25; }
.mk-trust b { display: block; font-size: .94rem; }
.mk-trust small { color: var(--soft); font-size: .8rem; }

/* ---------- Ocasiones ---------- */
.mk-circles { display: flex; gap: 22px; overflow-x: auto; padding: 6px 4px 12px; scrollbar-width: thin; }
.mk-circles a { flex: none; width: 118px; text-align: center; }
.mk-circles span { display: block; width: 118px; height: 118px; border-radius: 50%; overflow: hidden; padding: 4px; background: conic-gradient(from 200deg, var(--p), var(--coral), var(--gold), var(--p)); transition: transform .25s; }
.mk-circles img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 3px solid #fff; }
.mk-circles b { display: block; margin-top: 10px; font-size: .92rem; line-height: 1.2; }
.mk-circles a:hover span { transform: translateY(-4px) scale(1.04); }

/* ---------- Tarjetas y raíles ---------- */
.mk-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 20px) / 5); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 16px; scrollbar-width: none; }
.mk-rail::-webkit-scrollbar { display: none; }
.mk-card { scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.mk-card:hover { transform: translateY(-5px); box-shadow: 0 22px 40px -22px rgba(29,26,46,.4); }
.mk-card-img { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--bg); }
.mk-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.mk-card:hover .mk-card-img img { transform: scale(1.06); }
.mk-badge { position: absolute; top: 12px; left: 12px; font: 800 .72rem 'Nunito', sans-serif; padding: 6px 11px; border-radius: 999px; background: #fff; color: var(--p-d); box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.mk-badge-hot { background: var(--coral); color: #fff; }
.mk-card-body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; flex: 1; }
.mk-card-age { font: 800 .72rem 'Nunito', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--p); }
.mk-card-t { font: 800 1.02rem/1.25 'Nunito', sans-serif; min-height: 2.5em; }
.mk-stars { color: #f5a623; font-size: .9rem; }
.mk-stars small { color: var(--soft); }
.mk-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; }
.mk-price { font: 900 1.15rem 'Nunito', sans-serif; }
.mk-card-btn { font: 800 .82rem 'Nunito', sans-serif; padding: 9px 14px; border-radius: 999px; background: var(--p-soft); color: var(--p-d); transition: background .2s, color .2s; }
.mk-card:hover .mk-card-btn { background: var(--coral); color: #fff; }

/* ---------- Navidad ---------- */
.mk-xmas { margin: 24px 0; padding: 64px 0 56px; color: #fff; background: radial-gradient(circle at 12% 0%, #d4283f 0%, transparent 45%), radial-gradient(circle at 95% 100%, #5c0b18 0%, transparent 50%), var(--red); position: relative; overflow: hidden; }
.mk-xmas::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.55) 1.2px, transparent 1.6px), radial-gradient(rgba(255,255,255,.3) 1px, transparent 1.4px); background-size: 120px 120px, 70px 70px; background-position: 0 0, 35px 40px; opacity: .35; pointer-events: none; }
.mk-xmas .mk-wrap { position: relative; }
.mk-xmas-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 30px; }
.mk-xmas-t { font: 900 clamp(1.9rem, 3.6vw, 3rem)/1.05 'Nunito', sans-serif; letter-spacing: -.03em; margin: 14px 0 10px; max-width: 640px; color: #fff; }
.mk-xmas-top p { margin: 0; font-size: 1.05rem; color: rgba(255,255,255,.88); }
.mk-xmas-top p b { color: var(--gold); }
.mk-count { display: flex; gap: 10px; flex: none; }
.mk-count div { width: 92px; padding: 14px 0 12px; text-align: center; border-radius: 18px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(4px); }
.mk-count b { display: block; font: 900 2.3rem/1 'Nunito', sans-serif; font-variant-numeric: tabular-nums; }
.mk-count span { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; opacity: .8; }
.mk-rail-xmas .mk-card { border: 0; }
.mk-xmas-foot { text-align: center; margin-top: 26px; }

/* ---------- Por edad ---------- */
.mk-ages { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.mk-age { position: relative; overflow: hidden; border-radius: 22px; min-height: 230px; padding: 20px; display: flex; flex-direction: column; justify-content: flex-start; transition: transform .25s; }
.mk-age:hover { transform: translateY(-4px); }
.mk-age-0 { background: #ffe3dc; } .mk-age-1 { background: #fff1c9; } .mk-age-2 { background: #dff1e6; } .mk-age-3 { background: #dfe9ff; } .mk-age-4 { background: #ece3ff; }
.mk-age-txt { position: relative; z-index: 1; }
.mk-age b { display: block; font: 900 1.5rem 'Nunito', sans-serif; letter-spacing: -.02em; }
.mk-age small { color: var(--ink); opacity: .7; font-weight: 600; }
.mk-age img { position: absolute; right: -18px; bottom: -18px; width: 72%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; transform: rotate(-8deg); box-shadow: 0 16px 32px rgba(29,26,46,.25); transition: transform .4s; }
.mk-age:hover img { transform: rotate(-3deg) scale(1.04); }

/* ---------- Dos banners ---------- */
.mk-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mk-banner { position: relative; min-height: 330px; border-radius: 26px; overflow: hidden; padding: 34px; display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
  background: linear-gradient(180deg, rgba(22,14,30,0) 20%, rgba(22,14,30,.85) 100%), var(--bg) center / cover no-repeat; transition: transform .25s; }
.mk-banner:hover { transform: translateY(-4px); }
.mk-banner .mk-kicker { align-self: flex-start; }
.mk-banner strong { font: 900 2rem/1.05 'Nunito', sans-serif; letter-spacing: -.02em; margin: 12px 0 6px; }
.mk-banner > span:not(.mk-kicker) { color: rgba(255,255,255,.88); max-width: 420px; }
.mk-banner em { font-style: normal; font-weight: 900; margin-top: 14px; color: var(--gold); }

/* ---------- Cómo funciona ---------- */
.mk-how-sec { background: var(--bg); }
.mk-how { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; text-align: center; }
.mk-how-img { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 22px; overflow: hidden; margin-bottom: 16px; box-shadow: 0 18px 36px -24px rgba(29,26,46,.5); }
.mk-how-img img { width: 100%; height: 100%; object-fit: cover; }
.mk-how-ba img { position: absolute; top: 0; width: 50%; }
.mk-how-ba img:first-child { left: 0; } .mk-how-ba img:last-child { right: 0; border-left: 3px solid #fff; }
.mk-how b { display: block; font: 900 1.15rem 'Nunito', sans-serif; }
.mk-how p { margin: 6px 0 0; color: var(--soft); }

/* ---------- Promesa / reseñas ---------- */
.mk-promise { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mk-promise div { padding: 24px; border: 1px solid var(--line); border-radius: 20px; }
.mk-promise b { display: block; font: 900 1.08rem 'Nunito', sans-serif; margin-bottom: 6px; }
.mk-promise span { color: var(--soft); line-height: 1.55; }
.mk-promise a { color: var(--p) !important; font-weight: 800; }
.mk-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .mk-rail { grid-auto-columns: calc((100% - 3 * 20px) / 4); }
  .mk-trust-row { grid-template-columns: repeat(3, 1fr); }
  .mk-ages { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
  .mk-hero-grid { grid-template-columns: 1fr; }
  .mk-side { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
  .mk-rail { grid-auto-columns: calc((100% - 2 * 16px) / 3); gap: 16px; }
  .mk-xmas-top { flex-direction: column; align-items: flex-start; }
  .mk-duo, .mk-how, .mk-promise, .mk-reviews { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .mk-wrap { width: calc(100% - 32px); }
  .mk-sec { padding: 46px 0; }
  .mk-hero { padding-top: 12px; }
  .mk-slider { min-height: 500px; border-radius: 20px; }
  .mk-slide { align-items: flex-end; padding: 0 22px 64px; background: linear-gradient(180deg, rgba(22,14,30,0) 10%, rgba(22,14,30,.55) 42%, rgba(22,14,30,.95) 78%), var(--bg) 66% top / cover no-repeat; }
  .mk-slide-t { font-size: 2rem; }
  .mk-slide-txt p { font-size: 1rem; }
  .mk-dots { left: 22px; bottom: 24px; }
  .mk-side { grid-template-columns: 1fr; }
  .mk-promo { min-height: 190px; }
  .mk-promo strong { font-size: 1.9rem; }
  .mk-search { padding-left: 16px; }
  .mk-search button { padding: 12px 18px; }
  .mk-trust-row { display: flex; overflow-x: auto; scrollbar-width: none; }
  .mk-trust-row > div { flex: 0 0 74%; }
  .mk-head-r .mk-arrow { display: none; }
  .mk-rail { grid-auto-columns: 62%; gap: 12px; }
  .mk-circles { gap: 14px; }
  .mk-circles a, .mk-circles span { width: 92px; }
  .mk-circles span { height: 92px; }
  .mk-count div { width: 78px; }
  .mk-ages { grid-template-columns: 1fr 1fr; gap: 12px; }
  .mk-age { min-height: 190px; padding: 16px; }
  .mk-age b { font-size: 1.25rem; }
  .mk-age:last-child { grid-column: 1 / -1; }
  .mk-age:last-child img { width: 42%; }
  .mk-banner { min-height: 280px; padding: 24px; }
  .mk-banner strong { font-size: 1.6rem; }
}

/* Colores de los enlaces-bloque (la regla «.mk a» los heredaba del contenedor) */
.mk .mk-promo, .mk .mk-banner { color: #fff; }
.mk .mk-card { color: var(--ink); }
.mk .mk-age { color: var(--ink); }

/* ---------- Compra por ocasión: rejilla sin scroll en ordenador ---------- */
.mk .mk-circles { display: grid; grid-template-columns: repeat(7, 1fr); gap: 26px 16px; overflow: visible; padding: 6px 0 0; }
.mk .mk-circles a { width: auto; }
.mk .mk-circles span { width: 100%; max-width: 128px; height: auto; aspect-ratio: 1; margin: 0 auto; }
@media (max-width: 960px) {
  .mk .mk-circles { grid-template-columns: repeat(5, 1fr); }
}
/* Móvil: una fila que se desliza, sin barra y con fundido en el borde derecho */
@media (max-width: 640px) {
  .mk .mk-circles { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
    margin-right: -16px; padding: 6px 16px 4px 0;
    -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); }
  .mk .mk-circles::-webkit-scrollbar { display: none; }
  .mk .mk-circles a { flex: none; width: 84px; scroll-snap-align: start; }
  .mk .mk-circles span { max-width: none; }
  .mk .mk-circles b { font-size: .82rem; }
}

/* ================================================================
   Elementos gráficos vectoriales: unos pocos por sección, distintos
================================================================ */
.mk-vsec { position: relative; isolation: isolate; overflow: hidden; overflow: clip; }
.mk-vsec > .mk-wrap { position: relative; z-index: 1; }
.mk-v { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.mk-v-el { position: absolute; display: block; line-height: 0; }
.mk-v-el svg { width: 100%; height: auto; display: block; overflow: visible; }
.mk-tint-crema { background-color: #fdf9f2; }
.mk-tint-lila { background-color: #f6f2fd; }
.mk-how-sec.mk-vsec { background-color: #f6f2fd; }

/* Colores */
.mk-v-lila { color: #d9ccf6; } .mk-v-morado { color: #9d84d6; } .mk-v-mostaza { color: #f2c14e; }
.mk-v-coral { color: #ff9d8e; } .mk-v-menta { color: #cdebdc; } .mk-v-blanco { color: #fff; }

/* Movimiento suave */
@keyframes mkFlota { 50% { transform: translateY(-10px) rotate(var(--r, 0deg)); } }
@keyframes mkGira { to { transform: rotate(360deg); } }
@keyframes mkLatido { 50% { transform: scale(1.15); } }
.mk-v-el { --r: 0deg; transform: rotate(var(--r)); }
.mk-v-flota { animation: mkFlota 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .mk-v-el { animation: none !important; } }

/* --- Compra por ocasión --- */
.mk-v-o1 { width: 340px; left: -120px; top: -90px; opacity: .55; }
.mk-v-o2 { width: 34px; left: calc(50% - 360px); top: 48px; --r: 14deg; animation: mkFlota 5s ease-in-out infinite; }
.mk-v-o3 { width: 170px; right: -50px; top: 40px; animation: mkGira 40s linear infinite; }
.mk-v-o4 { width: 130px; left: 3%; bottom: 26px; --r: -8deg; }
.mk-v-o5 { width: 26px; right: 8%; bottom: 60px; animation: mkLatido 3s ease-in-out infinite; }

/* --- Favoritos --- */
.mk-v-f1 { width: 240px; left: calc(50% - 120px); top: 28px; --r: -4deg; animation: mkFlota 7s ease-in-out infinite; }
.mk-v-f2 { width: 46px; right: 4%; top: 30px; --r: -18deg; }
.mk-v-f3 { width: 22px; right: 9%; top: 92px; animation: mkLatido 2.6s ease-in-out infinite; }
.mk-v-f4 { width: 14px; right: 6.5%; top: 120px; animation: mkLatido 3.4s ease-in-out infinite .6s; }
.mk-v-f5 { width: 300px; left: -140px; bottom: -150px; opacity: .8; }

/* --- Por edad --- */
.mk-v-e1 { width: 220px; right: -30px; top: 18px; opacity: .85; }
.mk-v-e2 { width: 140px; left: 2%; top: 40px; }
.mk-v-e3 { width: 110px; left: -20px; bottom: 30px; }
.mk-v-e4 { width: 28px; left: calc(50% + 120px); top: 46px; --r: -12deg; animation: mkFlota 5.5s ease-in-out infinite; }

/* --- Recién llegados --- */
.mk-v-n1 { width: 54px; left: calc(50% - 260px); top: 40px; animation: mkLatido 3s ease-in-out infinite; }
.mk-v-n2 { width: 110px; right: -24px; top: 26px; animation: mkGira 30s linear infinite; }
.mk-v-n3 { width: 90px; left: -30px; bottom: 40px; }
.mk-v-n4 { width: 90px; right: 4%; bottom: 20px; }

/* --- Así de fácil --- */
.mk-v-h1 { width: 210px; left: -40px; top: 40px; filter: drop-shadow(0 10px 20px rgba(124,92,191,.12)); animation: mkFlota 8s ease-in-out infinite; }
.mk-v-h2 { width: 110px; right: 3%; top: 28px; animation: mkGira 50s linear infinite; }
.mk-v-h3 { width: 26px; left: calc(50% - 170px); top: 54px; --r: -14deg; animation: mkLatido 2.8s ease-in-out infinite; }
.mk-v-h4 { width: 18px; left: calc(50% + 160px); top: 70px; --r: 12deg; animation: mkLatido 3.6s ease-in-out infinite .5s; }
.mk-v-h5 { width: 120px; right: 5%; bottom: 40px; --r: 6deg; }

@media (max-width: 960px) {
  .mk-v-o2, .mk-v-e4, .mk-v-n1, .mk-v-h3, .mk-v-h4 { display: none; }
  .mk-v-f1 { left: auto; right: -40px; top: 10px; width: 180px; }
}
@media (max-width: 640px) {
  .mk-v-el { opacity: .7; }
  .mk-v-o1 { width: 220px; left: -110px; top: -70px; }
  .mk-v-o3, .mk-v-o4, .mk-v-f5, .mk-v-e2, .mk-v-e3, .mk-v-n3, .mk-v-n4, .mk-v-h5 { display: none; }
  .mk-v-f1 { width: 130px; right: -30px; top: 4px; }
  .mk-v-f2, .mk-v-f3, .mk-v-f4 { display: none; }
  .mk-v-e1 { width: 120px; right: -26px; top: 10px; }
  .mk-v-n2 { width: 70px; right: -16px; top: 12px; }
  .mk-v-h1 { width: 130px; left: -40px; top: 18px; }
  .mk-v-h2 { width: 70px; right: -10px; top: 14px; }
}

/* ================================================================
   Preguntas frecuentes + cierre, sobre el fondo de la portada actual
================================================================ */
.mk-faq-sec { position: relative; padding: 250px 0 290px; text-align: center; background: var(--faq-top) center top / auto 230px repeat-x, var(--faq-bot) center bottom / auto 240px repeat-x, #fbf8f1; }
.mk-faq-in { max-width: 820px; }
.mk-faq-k { display: inline-block; font: 800 .78rem 'Nunito', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--coral); background: #fff; padding: 8px 16px; border-radius: 999px; box-shadow: 0 6px 16px -8px rgba(29,26,46,.25); }
.mk-faq-t { font: 900 clamp(2rem, 3.6vw, 2.9rem)/1.1 'Nunito', sans-serif; letter-spacing: -.02em; margin: 16px 0 30px; color: var(--ink); }
.mk-faq { text-align: left; background: rgba(255,255,255,.86); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-radius: 28px; padding: 10px 28px; box-shadow: 0 30px 60px -34px rgba(29,26,46,.35); border: 1px solid rgba(124,92,191,.12); }
.mk-faq details { border-bottom: 1px solid var(--line); }
.mk-faq details:last-child { border-bottom: 0; }
.mk-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font: 800 1.08rem 'Nunito', sans-serif; color: var(--ink); }
.mk-faq summary::-webkit-details-marker { display: none; }
.mk-faq summary i { position: relative; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--p-soft); transition: background .2s; }
.mk-faq summary i::before, .mk-faq summary i::after { content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 2px; background: var(--p); transform: translate(-50%, -50%); transition: transform .25s, background .2s; }
.mk-faq summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.mk-faq details[open] summary i { background: var(--coral); }
.mk-faq details[open] summary i::before, .mk-faq details[open] summary i::after { background: #fff; }
.mk-faq details[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.mk-faq p { margin: -6px 0 20px; color: var(--soft); line-height: 1.65; }
.mk-faq-cta { margin-top: 40px; }
.mk-faq-cta p { font-weight: 700; color: var(--ink); margin: 0 0 18px; }
.mk-faq-cta p span { display: block; font-weight: 600; color: #15803d; font-size: .95rem; margin-top: 4px; }
.mk-faq-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.mk .mk-btn-wa { background: #fff; color: var(--ink) !important; box-shadow: inset 0 0 0 2px var(--ink); }
.mk .mk-btn-wa:hover { background: var(--ink); color: #fff !important; }
@media (max-width: 640px) {
  .mk-faq-sec { padding: 170px 0 200px; background-size: auto 150px, auto 160px; }
  .mk-faq { padding: 4px 18px; border-radius: 22px; }
  .mk-faq summary { font-size: 1rem; }
  .mk-faq-btns .mk-btn { width: 100%; }
}
/* Ajustes de posición para no tocar flechas ni textos */
.mk-v-f2 { right: 1.5%; top: 6px; }
.mk-v-f3 { right: auto; left: calc(50% + 150px); top: 40px; }
.mk-v-f4 { right: auto; left: calc(50% + 178px); top: 70px; }
.mk-v-o5 { right: 1.5%; bottom: 120px; }

/* SEO: H1 fijo sobre el buscador, títulos de producto como h3 */
.mk-h1 { font: 900 clamp(1.5rem, 2.4vw, 2.05rem)/1.2 'Nunito', sans-serif; letter-spacing: -.02em; margin: 0 0 8px; color: var(--ink); }
.mk-h1-sub { margin: 0 0 20px; color: var(--soft); font-size: 1rem; line-height: 1.55; max-width: 860px; }
.mk h3.mk-card-t { margin: 0; color: var(--ink); }
/* Velocidad: solo la primera foto del carrusel se carga al principio */
.mk-slide:not(.mk-cargada) { background: #2a1d33; }
.mk-slide-txt p.mk-slide-t { font: 900 clamp(2.1rem, 3.8vw, 3.35rem)/1.03 'Nunito', sans-serif; letter-spacing: -.03em; margin: 16px 0 14px; color: #fff; }
@media (max-width: 640px) { .mk-slide-txt p.mk-slide-t { font-size: 2rem; } }
.mk-v-o2 { left: calc(50% + 10px); top: 34px; }
/* Navidad pegada a las secciones vecinas (el margen dejaba una franja blanca) */
.mk .mk-xmas { margin: 0; }
