/* === TOKENS === */
:root {
  --ink: #0B0B0B; --paper: #FFFFFF; --raise: #F0F0F2; --dark2: #1B1B1B; --mut-k: #BEBEBA; --mut-w: #56565C;
  --field: #1F4257; --on-field: #FFFFFF; --dot: #A32638;
  --rail: 232px; --m: 40px; --gap-sec: 96px;
  --fs-d: clamp(36px, calc((100vw - var(--rail)) * .0935), 150px);
  --fs-h: clamp(32px, 5.2vw, 76px);
  --fs-h1: clamp(44px, 6.4vw, 96px);
  --fs-s2: clamp(24px, 2.4vw, 32px);
  --fs-lead: clamp(19px, 1.6vw, 24px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font: 400 17px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, p, dl, dd { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }

/* === MARCOS DE COLOR === */
.ml-k { background: var(--ink); color: var(--paper); }
.ml-w { background: var(--paper); color: var(--ink); }
.ml-f { background: var(--field); color: var(--on-field); --dot: #fff; }

/* === TIPOGRAFÍA === */
.ml-d { font-size: var(--fs-d); line-height: .92; letter-spacing: -.045em; font-weight: 700; }
.ml-h { font-size: var(--fs-h); line-height: 1; letter-spacing: -.035em; font-weight: 700; }
.ml-h1 { font-size: var(--fs-h1); line-height: .98; letter-spacing: -.04em; font-weight: 700; }
.ml-s2 { font-size: var(--fs-s2); line-height: 1.1; letter-spacing: -.02em; font-weight: 700; }
.ml-s3 { font-size: 22px; line-height: 1.2; letter-spacing: -.01em; font-weight: 700; }
.ml-lead { font-size: var(--fs-lead); line-height: 1.32; letter-spacing: -.008em; }
.ml-lead--w { max-width: 760px; margin-top: 18px; }
.ml-fine { font-size: 15px; line-height: 1.45; max-width: 640px; }
.ml-mt { margin-top: 56px; }
small { font-size: 15px; }

/* === CONTROLES === */
.ml-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 58px; padding: 0 30px; background: var(--field); color: var(--on-field); font-weight: 700; font-size: 19px; line-height: 1.1; border: 0; cursor: pointer; transition: transform .15s, background-color .15s; text-align: center; }
.ml-btn:hover { background: #2B5670; }
.ml-btn:active { transform: translateY(1px); }
.ml-btn--sm { min-height: 44px; padding: 0 16px; font-size: 15px; }
.ml-btn--inv { background: var(--on-field); color: var(--field); }
.ml-btn--inv:hover { background: var(--on-field); opacity: .9; }
.ml-more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; }
.ml-more::after { content: "\2192"; transition: transform .15s; }
.ml-more:hover::after { transform: translateX(4px); }
.ml-links { display: flex; flex-wrap: wrap; gap: 0 22px; font-weight: 500; }
.ml-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }
.ml-ic { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ml-ph { display: block; position: relative; overflow: hidden; background: var(--dark2); }
.ml-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
a:hover .ml-ph img { transform: scale(1.025); }
.ml-r169 { aspect-ratio: 16/9; } .ml-r916 { aspect-ratio: 9/16; } .ml-r45 { aspect-ratio: 4/5; }
.ml-play { position: absolute; left: 0; bottom: 0; width: 56px; height: 56px; background: var(--field); display: grid; place-items: center; }
.ml-play i { width: 0; height: 0; border-left: 18px solid var(--on-field); border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 4px; }
.ml-gb { display: inline-grid; place-items: center; min-width: 56px; height: 56px; padding: 0 10px; background: var(--field); color: var(--on-field); font-style: normal; font-weight: 700; font-size: 30px; line-height: 1; letter-spacing: -.02em; }
.ml-ph .ml-gb { position: absolute; left: 0; top: 0; }
.ml-gb--xl { min-width: 112px; height: 112px; font-size: 76px; letter-spacing: -.04em; }

/* === MARCO DE APP === */
.ml-app { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); min-height: 100dvh; }
.ml-rail { position: sticky; top: 0; height: 100dvh; --dot: #A32638; background: var(--ink); color: var(--paper); padding: 28px 14px 22px; display: flex; flex-direction: column; gap: 6px; }
.ml-logo { display: block; width: 140px; height: 30px; }
.ml-rail-logo { display: flex; align-items: center; min-height: 44px; padding: 0 12px; margin-bottom: 20px; }
.ml-rail-nav { display: flex; flex-direction: column; gap: 2px; }
.ml-rail-nav a { display: flex; align-items: center; gap: 14px; min-height: 50px; padding: 0 12px; font-weight: 500; font-size: 17px; transition: background-color .12s; color: var(--mut-k); }
.ml-rail-nav a:hover { background: var(--dark2); color: var(--paper); }
.ml-rail-nav a.ml-on { background: var(--paper); color: var(--ink); font-weight: 700; }
.ml-rail-nav--2 { margin-top: 22px; }
.ml-main { min-width: 0; background: var(--ink); }
.ml-topbar, .ml-tabbar, .ml-buybar { display: none; }

/* === SECCIONES === */
.ml-sec { padding: var(--gap-sec) var(--m); }
.ml-sec--flush { padding-top: 8px; }
.ml-sec-h { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
.ml-sec-h .ml-more { flex: none; }
.ml-page { padding: 72px var(--m) 40px; }
.ml-page--tight { padding-bottom: 56px; }

/* === INICIO: PORTADA === */
.ml-hero { position: relative; height: clamp(640px, 54vw, 900px); overflow: hidden; }
.ml-hero-photo { position: absolute; right: 0; top: -14%; width: 54%; aspect-ratio: 1080/1130; }
.ml-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }
.ml-hero-photo::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12%; background: linear-gradient(to bottom, rgba(11,11,11,0), #0B0B0B); /* taste-skill-ignore: velo neutro sobre foto */ }
.ml-hero-talk { position: absolute; left: var(--m); top: 48px; width: min(38%, 480px); }
.ml-hero-talk .ml-btn { margin-top: 26px; }
.ml-hero-talk .ml-links { margin-top: 24px; }
.ml-hero-new { position: absolute; left: 36%; top: 38%; width: 290px; padding: 18px 22px 22px; background: var(--field); color: var(--on-field); z-index: 2; transition: transform .15s; }
.ml-hero-new:hover { transform: translateY(-3px); }
.ml-hero-new small { display: block; margin-bottom: 6px; }
.ml-hero-new b { display: block; font-size: 24px; line-height: 1.08; letter-spacing: -.02em; }
.ml-hero h1 { position: absolute; left: calc(var(--m) - 4px); bottom: 34px; z-index: 2; white-space: nowrap; }

/* === PORTADA === */
.ml-hero-t { padding: 72px var(--m) 44px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.ml-hero-t h1 { white-space: nowrap; }
.ml-hero-t .ml-lead { max-width: 720px; margin-top: 22px; }

/* === REDES === */
.ml-nets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; margin-top: 44px; text-align: left; }
.ml-nets a { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 76px; padding: 14px 18px 14px 14px; background: var(--raise); transition: transform .15s; }
.ml-nets a:hover { transform: translateY(-2px); }
.ml-net-box { display: grid; place-items: center; width: 44px; height: 44px; background: var(--field); color: #FFFFFF; }
.ml-net-ic { width: 22px; height: 22px; fill: currentColor; display: block; }
.ml-net-t { display: block; min-width: 0; }
.ml-net-t b { display: block; font-size: 17px; line-height: 1.2; }
.ml-net-t small { display: block; color: var(--mut-w); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ml-nets em { font-style: normal; font-weight: 700; font-size: 15px; color: var(--field); white-space: nowrap; }

/* === ÚLTIMO VIDEO === */
.ml-latest { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); gap: 24px; margin-top: 36px; }
.ml-lv strong { display: block; margin-top: 14px; font-size: var(--fs-s2); line-height: 1.1; letter-spacing: -.02em; }
.ml-lv small { display: block; margin-top: 8px; color: var(--mut-w); }
.ml-lv .ml-play { width: 88px; height: 88px; }
.ml-lv .ml-play i { border-left-width: 28px; border-top-width: 17px; border-bottom-width: 17px; margin-left: 6px; }
.ml-lv-side { display: flex; flex-direction: column; gap: 24px; }
.ml-vc { display: block; }
.ml-vc strong { display: block; margin-top: 12px; font-size: 19px; line-height: 1.22; letter-spacing: -.01em; font-weight: 700; }
.ml-vc small { display: block; margin-top: 6px; }
.ml-w .ml-vc small { color: var(--mut-w); }
.ml-k .ml-vc small { color: var(--mut-k); }

/* === RIELES === */
.ml-rail-x { display: grid; grid-auto-flow: column; grid-auto-columns: 256px; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; margin: 32px calc(-1 * var(--m)) 0; padding: 0 var(--m) 10px; scrollbar-width: none; }
.ml-rail-x::-webkit-scrollbar { display: none; }
.ml-rail-x > * { scroll-snap-align: start; scroll-margin-left: var(--m); }
.ml-rail-x--p { grid-auto-columns: 320px; }
@media (min-width: 761px) {
  .ml-rail-x { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(6, minmax(0, 1fr)); overflow: visible; margin-left: 0; margin-right: 0; padding: 0; }
  .ml-rail-x > :nth-child(n+7) { display: none; }
  .ml-rail-x--p { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .ml-pd-desc + .ml-sec .ml-rail-x--p { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ml-err-r { padding: 0 var(--m); }
}
.ml-sc strong { display: block; margin-top: 10px; font-size: 17px; line-height: 1.22; font-weight: 700; letter-spacing: -.005em; }
.ml-sc .ml-play { width: 46px; height: 46px; }
.ml-sc .ml-play i { border-left-width: 14px; border-top-width: 9px; border-bottom-width: 9px; margin-left: 3px; }
.ml-pc { display: block; transition: opacity .2s; }
.ml-pc strong { display: block; margin-top: 12px; font-size: 19px; line-height: 1.22; letter-spacing: -.01em; }
.ml-pc-m { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 6px; }
.ml-pc-m b { font-size: 19px; }
.ml-w .ml-pc-m small { color: var(--mut-w); }
.ml-k .ml-pc-m small { color: var(--mut-k); }
.ml-pc[hidden] { display: none; }

/* === TEMAS === */
.ml-tp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 32px; margin-top: 18px; align-items: stretch; }
.ml-topic { all: unset; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 18px; align-items: center; width: 100%; cursor: pointer; padding: 4px 0; }
.ml-topic b { font-size: clamp(44px, 7.6vw, 118px); line-height: 1.06; letter-spacing: -.05em; font-weight: 700; transition: transform .2s; display: block; }
.ml-topic span { font-size: 17px; line-height: 1.3; }
.ml-topic.ml-on b { transform: translateX(10px); }
.ml-topic:focus-visible { outline: 3px solid currentColor; }
.ml-tframe { position: relative; background: var(--ink); min-height: 420px; }
.ml-tm { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .2s; max-width: none; }
.ml-tm.ml-on { opacity: 1; }

/* === BANDA EQUIPO === */
.ml-gearband { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 40px; align-items: center; }
.ml-gb-txt .ml-lead { margin: 18px 0 26px; }
.ml-gearband { grid-template-columns: minmax(0, 1fr); }
.ml-gb-txt { max-width: 760px; }
.ml-gb-pics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; height: 440px; }
.ml-gb-pics img { width: 100%; height: 100%; object-fit: cover; }

/* === TRABAJO === */
.ml-d--2 { font-size: clamp(36px, calc((100vw - var(--rail)) * .1), 160px); white-space: nowrap; }
.ml-slist { margin-top: 36px; }
.ml-slist a { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 16px 0; }
.ml-slist b { font-size: var(--fs-h); line-height: 1; letter-spacing: -.04em; transition: transform .2s; }
.ml-slist a:hover b { transform: translateX(10px); }
.ml-slist span { font-size: 17px; line-height: 1.35; }
.ml-wfoot { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-top: 56px; }
.ml-wfoot small { display: block; margin-bottom: 6px; font-size: 17px; }
.ml-wfoot .ml-btn { flex: none; }

/* === TIENDA: DATOS === */
.ml-pgrid { margin-top: 36px; }
.ml-pc-g { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 15px; font-weight: 500; }
[data-level="7"], [data-level="6"] { --lvl: #3F7046; --lvl-bg: #E0E9DD; --lvl-ink: #284A2D; }
[data-level="5"] { --lvl: #5E8040; --lvl-bg: #E4EAD7; --lvl-ink: #354A21; }
[data-level="4"] { --lvl: #7E7329; --lvl-bg: #ECE7D0; --lvl-ink: #4F4714; }
[data-level="3"] { --lvl: #96682B; --lvl-bg: #F1E3D0; --lvl-ink: #5F3F17; }
[data-level="2"] { --lvl: #A3533A; --lvl-bg: #F0DCD4; --lvl-ink: #5C2B1C; }
[data-level="1"] { --lvl: #5C5853; --lvl-bg: #E3E0DB; --lvl-ink: #34312E; }
.ml-grade { display: inline-flex; align-items: center; gap: 8px; padding: 3px 12px 3px 3px; background: var(--lvl-bg); color: var(--lvl-ink); font-size: 15px; font-weight: 700; line-height: 1.1; }
.ml-grade b { display: inline-grid; place-items: center; min-width: 30px; height: 26px; padding: 0 6px; background: var(--lvl); color: #FFFFFF; font-size: 15px; }
.ml-grade--l { font-size: 19px; padding: 4px 16px 4px 4px; gap: 12px; }
.ml-grade--l b { min-width: 52px; height: 44px; font-size: 26px; letter-spacing: -.02em; }
.ml-gb[data-level] { background: var(--lvl); color: #FFFFFF; }
.ml-gb--s { min-width: 30px; height: 30px; padding: 0 6px; font-size: 15px; letter-spacing: 0; }
.ml-gb--l { min-width: 72px; height: 72px; font-size: 40px; }
.ml-pc-p { display: block; margin-top: 8px; font-size: 19px; }
.ml-howbuy .ml-h { margin-bottom: 26px; }
.ml-howbuy-g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.ml-howbuy-g dt { font-weight: 700; font-size: 19px; margin-bottom: 6px; }
.ml-howbuy-g dd { font-size: 16px; line-height: 1.42; }
.ml-howbuy-g a { text-decoration: underline; text-underline-offset: 3px; }

/* === FICHA: DATOS === */
.ml-crumbs { font-size: 15px; color: var(--mut-k); margin-bottom: 12px; }
.ml-pd-h { font-size: clamp(28px, 3vw, 44px); line-height: 1.05; letter-spacing: -.03em; font-weight: 700; }
.ml-pd-info > .ml-price { display: block; margin-top: 14px; font-size: clamp(34px, 3.4vw, 48px); }
.ml-pd-info .ml-pd-grade { margin-top: 16px; }
.ml-pd-grade .ml-more { min-height: 28px; font-size: 15px; }
.ml-pd-hook { margin-top: 20px; font-size: 18px; line-height: 1.35; }
.ml-pd-hook + p { margin-top: 8px; font-size: 16px; line-height: 1.45; }
.ml-pd-incl { margin-top: 18px; }
.ml-pd-incl ul { list-style: square; padding-left: 20px; margin-top: 6px; font-size: 16px; line-height: 1.5; }
.ml-pd-cta { display: flex; width: 100%; margin-top: 22px; }
.ml-pd-compra { display: grid; gap: 10px; margin-top: 20px; font-size: 15px; line-height: 1.4; }
.ml-pd-compra dt { font-weight: 700; font-size: 16px; }
.ml-pd-link { margin-top: 8px; }
.ml-pd-sku { padding: 2px 8px 8px; font-size: 15px; color: var(--mut-k); }

/* === MARCAS Y TRABAJO === */
.ml-center { text-align: center; display: flex; flex-direction: column; align-items: center; }
.ml-center .ml-lead { max-width: 720px; margin-top: 16px; }
.ml-center > .ml-btn { margin-top: 28px; }
.ml-brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; width: 100%; margin-top: 36px; }
.ml-brands li { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 190px; padding: 14px 18px 0; background: var(--ink); color: var(--paper); overflow: hidden; }
.ml-brands li > img { max-width: 80%; max-height: 62px; object-fit: contain; }
.ml-brands .ml-brand-p { justify-content: flex-start; }
.ml-brands .ml-brand-p span { font-weight: 700; font-size: 19px; }
.ml-brands .ml-brand-p img { max-width: none; max-height: none; height: 136px; width: auto; margin-top: 6px; }
.ml-svc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; margin-top: 44px; }
.ml-svc li { background: var(--raise); padding: 28px 24px; }
.ml-svc p { margin-top: 8px; font-size: 17px; line-height: 1.4; }
.ml-svc a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* === PIE === */
.ml-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; padding: 18px var(--m); --dot: #A32638; }
.ml-foot-mark { display: flex; align-items: center; min-height: 44px; }
.ml-foot-mark .ml-logo { width: 112px; height: 24px; }
.ml-foot-nav { display: flex; flex-wrap: wrap; gap: 0 18px; font-size: 15px; font-weight: 500; }
.ml-foot-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.ml-foot-nav a:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.ml-foot-nav--2 { margin-left: auto; }
.ml-foot-c { font-size: 15px; color: var(--mut-k); }
.ml-skip { position: absolute; left: 8px; top: -80px; z-index: 50; background: var(--paper); color: var(--ink); padding: 12px 16px; font-weight: 700; }
.ml-skip:focus { top: 8px; }

/* === SEGMENTOS === */
.ml-seg { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.ml-seg::-webkit-scrollbar { display: none; }
.ml-seg a { flex: none; display: flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 13px; font-weight: 700; background: var(--dark2); color: var(--paper); transition: background-color .12s; }
.ml-seg a small { font-weight: 500; color: var(--mut-k); }
.ml-seg a.ml-on { background: var(--paper); color: var(--ink); }
.ml-seg a.ml-on small { color: var(--mut-w); }
.ml-seg--k { margin-top: 28px; }
.ml-seg--bar { position: sticky; top: 0; z-index: 5; background: var(--ink); padding: 12px var(--m); }
@media (min-width: 761px) { .ml-seg--bar { flex-wrap: wrap; overflow: visible; } }

/* === VIDEOS === */
.ml-feat { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); gap: 28px; }
.ml-feat .ml-play { width: 88px; height: 88px; }
.ml-feat .ml-play i { border-left-width: 28px; border-top-width: 17px; border-bottom-width: 17px; margin-left: 6px; }
.ml-feat-t { display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; align-items: flex-start; }
.ml-feat-t small { color: var(--mut-k); }
.ml-vgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 18px; margin-top: 22px; }
.ml-sgrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px 12px; margin-top: 22px; }

/* === EQUIPO === */
.ml-fine:not(.ml-fine--w) { margin-top: 12px; }
.ml-fine--w { max-width: 860px; margin-top: 24px; }
.ml-gcats { padding-top: 48px; }
.ml-gcat + .ml-gcat { margin-top: 88px; }
.ml-gcat-h .ml-lead { margin-top: 10px; }
.ml-glist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.ml-gi { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 22px; align-items: center; background: #fff; padding: 14px 22px 14px 14px; }
.ml-gi-ph { display: grid; place-items: center; width: 200px; height: 200px; overflow: hidden; background: #fff; font-size: 26px; }
.ml-gi-ph img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.28); }
.ml-gi-ph--own img { object-fit: cover; transform: none; }
.ml-gi strong { display: block; font-size: 22px; line-height: 1.15; letter-spacing: -.015em; }
.ml-gi p { margin: 8px 0 12px; font-size: 17px; line-height: 1.4; }
.ml-js-tabs .ml-gcat { display: none; }
.ml-js-tabs .ml-gcat.ml-on { display: block; }
.ml-js-tabs .ml-gcat + .ml-gcat { margin-top: 0; }

/* === TIENDA === */
.ml-meter { position: relative; margin-top: 38px; background: var(--raise); padding: 14px 0 34px; }
.ml-meter-scale { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ml-stop { all: unset; box-sizing: border-box; cursor: pointer; display: block; text-align: center; padding: 4px 4px 18px; position: relative; min-height: 44px; }
.ml-stop b { display: block; font-size: 30px; line-height: 1.05; letter-spacing: -.02em; }
.ml-stop small { display: block; font-size: 15px; margin-top: 2px; }
.ml-stop::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 4px; height: 14px; margin-left: -2px; background: var(--ink); }
.ml-stop:focus-visible { outline: 3px solid var(--ink); outline-offset: -3px; }
.ml-stop:hover { background: #E4E4E8; }
.ml-meter-tri { position: absolute; bottom: 8px; width: 0; height: 0; margin-left: -13px; border-left: 13px solid transparent; border-right: 13px solid transparent; border-bottom: 20px solid var(--field); transition: left .25s cubic-bezier(.2,.8,.2,1); }
.ml-count { margin-top: 16px; font-weight: 500; }
.ml-pgrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 30px 14px; margin-top: 18px; }
.ml-shop ul.ml-pgrid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.ml-howto .ml-lead { max-width: 820px; margin-top: 18px; }
.ml-howto-a { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 28px; }

/* === FICHA === */
.ml-pd { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
.ml-pd-gal { min-width: 0; }
.ml-pd-main { display: block; aspect-ratio: 4/5; overflow: hidden; }
.ml-pd-main img { width: 100%; height: 100%; object-fit: cover; }
.ml-pd-th { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; padding: 6px; }
.ml-th { all: unset; cursor: pointer; aspect-ratio: 1; overflow: hidden; display: block; opacity: .62; transition: opacity .15s; }
.ml-th.ml-on, .ml-th:hover { opacity: 1; }
.ml-th:focus-visible { outline: 3px solid #fff; outline-offset: -3px; opacity: 1; }
.ml-th img { width: 100%; height: 100%; object-fit: cover; }
.ml-pd-info { padding: 32px var(--m) 40px; min-width: 0; }
.ml-back { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 500; margin-bottom: 14px; color: var(--mut-k); }
.ml-back .ml-ic { width: 20px; height: 20px; }
.ml-pd-info .ml-lead { margin-top: 12px; }
.ml-pd-grade { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 28px; }
.ml-pd-grade p { font-size: 17px; line-height: 1.35; }
.ml-pd-grade b { display: block; font-size: var(--fs-s2); line-height: 1.1; letter-spacing: -.02em; margin-bottom: 4px; }
.ml-mini { display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 20px; background: var(--dark2); }
.ml-mini span { text-align: center; padding: 8px 0; font-size: 17px; }
.ml-mini span.ml-on { background: var(--paper); color: var(--ink); }
.ml-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 4px; }
.ml-facts div { background: var(--dark2); padding: 12px 14px; }
.ml-facts dt { font-size: 15px; color: var(--mut-k); }
.ml-facts dd { font-weight: 700; }
.ml-pd-buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }
.ml-price { font-size: var(--fs-h); line-height: 1; letter-spacing: -.035em; font-weight: 700; }
.ml-pd-buy .ml-btn { flex: 1; max-width: 300px; }
.ml-pd-note { display: grid; gap: 14px; margin-top: 26px; font-size: 17px; line-height: 1.42; }
.ml-pd-note b { display: block; font-size: 17px; }
.ml-pd-desc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 48px; }
.ml-prose p, .ml-prose ul, .ml-prose ol { margin: 0 0 14px; }
.ml-prose ul { padding-left: 20px; list-style: square; }
.ml-prose li { margin-bottom: 6px; }
.ml-prose a { text-decoration: underline; text-underline-offset: 3px; }
.ml-pd-b .ml-prose { margin-top: 12px; }

/* === CÓMO COMPRAR === */
.ml-how2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 40px; }
.ml-how-c { background: var(--raise); padding: 26px 28px; }
.ml-how-c p { margin-top: 12px; }
.ml-tscroll { margin-top: 32px; overflow-x: auto; }
.ml-scale { width: 100%; border-collapse: separate; border-spacing: 0 4px; font-size: 16px; line-height: 1.38; min-width: 860px; }
.ml-scale th, .ml-scale td { text-align: left; vertical-align: top; padding: 14px; background: var(--dark2); }
.ml-scale thead th { background: transparent; font-size: 15px; font-weight: 700; padding: 0 14px 4px; }
.ml-scale tbody th { width: 27%; font-weight: 400; position: relative; padding-left: 84px; }
.ml-scale tbody th .ml-gb { position: absolute; left: 14px; top: 14px; }
.ml-scale tbody th b { display: block; font-size: 17px; line-height: 1.2; }
.ml-scale tbody th span { display: block; font-size: 15px; }

/* === CONTACTO === */
.ml-ct { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 56px; padding: 72px var(--m) 96px; }
.ml-d--ct { font-size: clamp(56px, 6.8vw, 112px); }
.ml-ct-l .ml-lead { margin-top: 20px; }
.ml-after { display: grid; gap: 4px; margin-top: 14px; }
.ml-after div { background: var(--raise); padding: 12px 16px; transition: background-color .15s, color .15s; }
.ml-after div.ml-on { background: var(--ink); color: var(--paper); }
.ml-after dt { font-weight: 700; }
.ml-after dd { font-size: 17px; line-height: 1.38; }
.ml-form { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ml-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ml-form fieldset[hidden] { display: none; }
.ml-form legend { padding: 0; font-weight: 700; margin-bottom: 10px; }
.ml-form label { display: block; font-weight: 700; font-size: 17px; }
.ml-form label small { font-weight: 400; color: var(--mut-w); }
.ml-form input:not([type=radio]), .ml-form textarea, .ml-form select { display: block; width: 100%; margin-top: 6px; min-height: 52px; padding: 12px 14px; font-weight: 400; font-size: 17px; background: #fff; color: var(--ink); border: 2px solid var(--ink); border-radius: 0; resize: vertical; }
.ml-form input:focus, .ml-form textarea:focus, .ml-form select:focus { outline: 3px solid var(--field); outline-offset: 1px; }
.ml-f2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
.ml-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ml-chip { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; font-weight: 500; background: var(--raise); transition: background-color .12s; }
.ml-chip:hover { background: #E4E4E8; }
.ml-chip.ml-on { background: var(--ink); color: var(--paper); }
.ml-chip:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.ml-form .ml-btn { align-self: flex-start; }
.ml-ct--a { min-height: 620px; align-content: center; }

/* === LEGALES === */
.ml-legal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 64px; padding-top: 0; }
.ml-legal .ml-prose--l { max-width: 680px; }
.ml-prose--l { font-size: 17px; line-height: 1.55; }
.ml-prose--l h2 { margin: 40px 0 12px; scroll-margin-top: 20px; }
.ml-prose--l h2:first-child, .ml-prose--l > :first-child { margin-top: 0; }
.ml-toc { position: sticky; top: 24px; align-self: start; display: flex; flex-direction: column; gap: 2px; }
.ml-toc a { display: flex; align-items: center; min-height: 40px; padding: 6px 12px; background: var(--raise); font-size: 15px; font-weight: 500; line-height: 1.2; }
.ml-toc a:hover { background: #E4E4E8; }

/* === FINALIZAR COMPRA === */
.ml-co { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; padding-top: 0; align-items: start; }
.ml-co .ml-chips { margin-top: -6px; }
.ml-radio { display: flex !important; gap: 12px; align-items: flex-start; background: var(--raise); padding: 16px; font-weight: 400 !important; cursor: pointer; }
.ml-radio input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--field); flex: none; }
.ml-radio b { display: block; }
.ml-co-sum { padding: 26px; position: sticky; top: 24px; }
.ml-co-it { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-top: 18px; }
.ml-co-it img { width: 76px; height: 76px; object-fit: cover; }
.ml-co-it p > b { display: block; }
.ml-co-it p > span { display: block; margin-top: 4px; }

.ml-co-tot { display: flex; justify-content: space-between; align-items: baseline; margin-top: 26px; }
.ml-co-sum .ml-btn { width: 100%; margin-top: 20px; }

/* === 404 === */
.ml-err { padding: 72px 0 96px; overflow: hidden; }
.ml-err-t { padding: 0 var(--m); }
.ml-err .ml-d { font-size: clamp(44px, 7.4vw, 118px); white-space: nowrap; }
.ml-err .ml-lead { margin-top: 18px; max-width: 640px; }
.ml-err-r { margin-top: 48px; }

/* === TABLETA === */
@media (max-width: 1180px) {
  :root { --rail: 84px; --m: 28px; --gap-sec: 72px; }
  .ml-rail { padding: 22px 8px; align-items: stretch; }
  .ml-rail-logo { padding: 0; margin-bottom: 22px; display: grid; place-items: center; }
  .ml-rail .ml-logo { width: 66px; height: 15px; }
  .ml-rail-nav a { flex-direction: column; justify-content: center; gap: 3px; min-height: 66px; padding: 4px; font-size: 13px; text-align: center; }
  .ml-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ml-nets a { grid-template-columns: 44px minmax(0, 1fr); }
  .ml-nets em { display: none; }
  .ml-hero-new { left: auto; right: var(--m); top: 46%; }
  .ml-facts dd { white-space: nowrap; font-size: 15px; }
  .ml-topic { grid-template-columns: minmax(0, 1fr) 170px; }
  .ml-tp { grid-template-columns: minmax(0, 1fr) 220px; }
  .ml-gi { grid-template-columns: 130px minmax(0, 1fr); }
  .ml-gi-ph { width: 130px; height: 130px; }
  .ml-howbuy-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* === CELULAR === */
@media (max-width: 760px) {
  :root { --rail: 0px; --m: 16px; --gap-sec: 56px; --fs-d: 9.2vw; --fs-h: 8.6vw; --fs-h1: 11vw; --fs-s2: 24px; --fs-lead: 18px; }
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  .ml-app { display: block; }
  .ml-rail { display: none; }
  .ml-topbar { display: flex; position: sticky; top: 0; z-index: 20; align-items: center; justify-content: space-between; height: 56px; padding: 0 16px; background: var(--ink); color: var(--paper); }
  .ml-topbar { --dot: #A32638; }
  .ml-topbar > a:first-child { display: flex; align-items: center; min-height: 44px; }
  .ml-topbar .ml-logo { width: 116px; height: 25px; }
  .ml-topbar-a { display: flex; align-items: center; min-height: 44px; padding: 0 2px 0 12px; font-weight: 500; }
  .ml-tabbar { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; height: calc(68px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: var(--ink); color: var(--mut-k); }
  .ml-tabbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 13px; font-weight: 500; }
  .ml-tabbar a.ml-on { color: var(--ink); background: var(--paper); font-weight: 700; }
  .ml-buybar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; height: calc(68px + env(safe-area-inset-bottom)); padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); gap: 12px; align-items: center; background: var(--ink); color: var(--paper); }
  .ml-buybar p { line-height: 1.1; }
  .ml-buybar small { display: block; font-size: 13px; color: var(--mut-k); }
  .ml-buybar b { font-size: 22px; letter-spacing: -.02em; }
  .ml-bb-back { display: grid; place-items: center; width: 44px; height: 44px; background: var(--dark2); flex: none; }
  .ml-buybar .ml-btn { flex: 1; min-height: 52px; margin-left: auto; }
  .ml-hero-t { padding: 32px var(--m) 28px; }
  .ml-hero-t .ml-lead { margin-top: 14px; }
  .ml-nets { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 24px; }
  .ml-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ml-brands li { height: 150px; }
  .ml-brands .ml-brand-p img { height: 100px; }
  .ml-svc { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
  .ml-center > .ml-btn { width: 100%; }
  .ml-howbuy-g { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .ml-sec { padding: var(--gap-sec) var(--m); }
  .ml-sec--flush { padding-top: 0; }
  .ml-page { padding: 32px var(--m) 28px; }
  .ml-small, small { font-size: 14px; }

  .ml-hero { height: auto; display: flex; flex-direction: column; padding-bottom: 28px; }
  .ml-hero h1 { position: static; order: 1; margin: 22px var(--m) 0; z-index: 2; }
  .ml-hero-photo { position: relative; order: 2; top: 0; right: 0; width: 100%; height: auto; aspect-ratio: 1/1; margin-top: 14px; }
  .ml-hero-talk { position: static; order: 3; width: auto; padding: 16px var(--m) 0; }
  .ml-hero-talk .ml-btn { width: 100%; margin-top: 18px; }
  .ml-hero-new { position: static; order: 4; width: auto; margin: 22px var(--m) 0; }

  .ml-latest { grid-template-columns: minmax(0, 1fr); }
  .ml-lv .ml-play, .ml-feat .ml-play { width: 64px; height: 64px; }
  .ml-lv .ml-play i, .ml-feat .ml-play i { border-left-width: 20px; border-top-width: 12px; border-bottom-width: 12px; }
  .ml-rail-x { grid-auto-columns: 62vw; }
  .ml-rail-x--p { grid-auto-columns: 74vw; }
  .ml-sec-h { flex-direction: column; gap: 6px; }

  .ml-tp { grid-template-columns: minmax(0, 1fr); }
  .ml-topic { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 8px 0; }
  .ml-topic b { font-size: 15vw; }
  .ml-tframe { min-height: 0; aspect-ratio: 16/10; order: -1; }
  .ml-gearband { grid-template-columns: minmax(0, 1fr); }
  .ml-gb-pics { height: 52vw; margin: 0 calc(-1 * var(--m)); }
  .ml-gb-txt .ml-btn { width: 100%; }
  .ml-d--2 { font-size: 10.6vw; }
  .ml-slist a { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px 0; }
  .ml-slist span { font-size: 16px; }
  .ml-wfoot { flex-direction: column; align-items: stretch; }
  .ml-wfoot .ml-btn { width: 100%; }
  .ml-foot { padding: 14px var(--m) 18px; gap: 0 18px; }
  .ml-foot-mark { width: 100%; }
  .ml-foot-nav--2 { margin-left: 0; }
  .ml-foot-c { width: 100%; margin-top: 8px; }

  .ml-seg--bar { top: 56px; padding: 8px var(--m); }
  .ml-feat { grid-template-columns: minmax(0, 1fr); margin: 0 calc(-1 * var(--m)); }
  .ml-feat-t { padding: 0 var(--m); }
  .ml-feat-t .ml-btn { width: 100%; }
  .ml-vgrid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ml-sgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 8px; }

  .ml-glist { grid-template-columns: minmax(0, 1fr); }
  .ml-gi { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 10px 14px 10px 10px; align-items: start; }
  .ml-gi-ph { width: 104px; height: 104px; }
  .ml-gi strong { font-size: 19px; }

  .ml-meter { margin: 24px calc(-1 * var(--m)) 0; padding: 10px 0 30px; }
  .ml-stop small { display: none; }
  .ml-stop b { font-size: 20px; }
  .ml-stop { padding: 10px 0 18px; }
  .ml-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 8px; }
  .ml-pc strong { font-size: 16px; }
  .ml-pc-m { flex-direction: column; gap: 0; }
  .ml-gb { min-width: 44px; height: 44px; font-size: 24px; padding: 0 7px; }
  .ml-gb--xl { min-width: 84px; height: 84px; font-size: 56px; }
  .ml-btn { width: auto; }
  .ml-howto-a .ml-btn { width: 100%; }

  .ml-pd { grid-template-columns: minmax(0, 1fr); }
  .ml-pd-th { grid-template-columns: repeat(6, 1fr); }
  .ml-pd-info { padding: 12px var(--m) 28px; }
  .ml-back { display: none; }
  .ml-pd-buy .ml-btn { display: none; }
  .ml-pd-desc { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ml-how2 { grid-template-columns: minmax(0, 1fr); margin-top: 24px; }
  .ml-how-c { padding: 20px; }
  .ml-tscroll { overflow: visible; }
  .ml-scale, .ml-scale tbody, .ml-scale tr, .ml-scale th, .ml-scale td { display: block; min-width: 0; width: auto !important; }
  .ml-scale thead { display: none; }
  .ml-scale tr { margin-bottom: 8px; background: var(--dark2); padding: 8px 0; }
  .ml-scale tbody th, .ml-scale td { padding: 6px 14px; background: transparent; }
  .ml-scale tbody th { padding-left: 72px; min-height: 58px; }
  .ml-scale tbody th .ml-gb { top: 8px; }
  .ml-scale td::before { content: attr(data-l); display: block; font-weight: 700; }

  .ml-ct { display: flex; flex-direction: column; gap: 20px; padding: 32px var(--m) 56px; }
  .ml-ct-l { display: contents; }
  .ml-ct-l .ml-lead { margin-top: 0; }
  .ml-ct .ml-form { margin-top: 12px; }
  .ml-ct-l .ml-s2 { order: 3; margin-top: 28px; }
  .ml-ct-l .ml-after { order: 4; margin-top: 0; }
  .ml-d--ct { font-size: 17vw; }
  .ml-f2 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ml-form .ml-btn { align-self: stretch; }
  .ml-legal { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ml-toc { position: static; order: -1; }
  .ml-prose--l { font-size: 17px; }
  .ml-co { grid-template-columns: minmax(0, 1fr); }
  .ml-co-sum { position: static; margin: 0 calc(-1 * var(--m)); }
  .ml-err { padding: 32px 0 56px; }
  .ml-err .ml-d { font-size: 10.5vw; white-space: normal; }
  .ml-err-r { margin-top: 32px; }
}

.ml-k .ml-lv small { color: var(--mut-k); }
/* === MODO CLARO DE PRUEBA === */
html .ml-app { background: #F7F7F8; }
:root { --dark2: #F0F0F2; --mut-k: #56565C; --paper: #FFFFFF; }
html body, html .ml-main { background: #FFFFFF; }
html .ml-k { background: #F7F7F8; color: var(--ink); }
html .ml-main { background: #FFFFFF; }
html .ml-w { background: #FFFFFF; color: var(--ink); }
html .ml-rail, html .ml-topbar, html .ml-tabbar, html .ml-buybar, html .ml-seg--bar { background: #F7F7F8; color: var(--ink); }
html .ml-rail-nav a { color: #56565C; }
html .ml-rail-nav a:hover { background: #F0F0F2; color: var(--ink); }
html .ml-rail-nav a.ml-on, html .ml-tabbar a.ml-on { background: var(--ink); color: #FFFFFF; }
html .ml-tabbar { color: #56565C; }
html .ml-seg a { background: #F0F0F2; color: var(--ink); }
html .ml-seg a.ml-on { background: var(--ink); color: #FFFFFF; }
html .ml-seg a small { color: #56565C; }
html .ml-seg a.ml-on small { color: #D6D6DA; }
html .ml-mini span.ml-on { background: var(--ink); color: #FFFFFF; }
html .ml-th:focus-visible { outline-color: var(--ink); }
html .ml-gi { background: #F7F7F8; }
html .ml-gi-ph { background: #FFFFFF; }
html .ml-btn { color: #FFFFFF; }
html .ml-btn--inv { color: var(--field); background: #FFFFFF; }

/* === COLOR ENTRE SECCIONES === */
html .ml-ink, .ml-ink { background: #0B0B0B; color: #FFFFFF; --dark2: #1B1B1B; --mut-k: #BEBEBA; --mut-w: #BEBEBA; }
.ml-c { background: #14303F; color: #FFFFFF; --dot: #FFFFFF; --field: #14303F; --on-field: #FFFFFF; }
.ml-c .ml-svc li { background: #FFFFFF; color: var(--ink); }
.ml-c .ml-lead { color: #FFFFFF; }
.ml-rec { display: inline-block; width: .17em; height: .17em; margin-left: .05em; background: #A32638; border-radius: 50%; vertical-align: baseline; }

/* === ÚLTIMO VIDEO EN LA PORTADA === */
.ml-annc { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px 12px; min-height: 60px; padding: 12px var(--m); background: var(--field); color: #FFFFFF; font-size: 18px; line-height: 1.25; text-align: center; transition: background-color .12s; }
a.ml-annc:hover { background: #2B5670; }
.ml-annc em { font-style: normal; font-weight: 700; }
.ml-annc em::after { content: " \2192"; }

/* === CARRUSEL DE EQUIPO === */
.ml-kit { grid-column: 1 / -1; overflow: hidden; margin: 44px calc(-1 * var(--m)) 0; }
.ml-kit-t { display: flex; gap: 20px; width: max-content; padding: 0 10px; }
.ml-kit-i { flex: none; display: block; width: 250px; color: inherit; }
.ml-kit-ph { display: grid; place-items: center; aspect-ratio: 4/3; overflow: hidden; background: #FFFFFF; }
.ml-kit-ph img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.ml-kit-i:hover .ml-kit-ph img { transform: scale(1.06); }
.ml-kit-i strong { display: block; margin-top: 8px; font-size: 17px; line-height: 1.25; text-align: center; }
@media (prefers-reduced-motion: no-preference) {
  .ml-kit-t { animation: ml-kit 50s linear infinite; }
  .ml-kit:hover .ml-kit-t, .ml-kit:focus-within .ml-kit-t { animation-play-state: paused; }
}
@keyframes ml-kit { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .ml-kit { overflow-x: auto; }
  .ml-kit-i[aria-hidden="true"] { display: none; }
}

/* === PESTAÑAS DE TEXTO === */
.ml-tabs { display: flex; gap: 28px; margin-top: 30px; overflow-x: auto; scrollbar-width: none; }
.ml-tabs a { flex: none; display: flex; align-items: center; min-height: 44px; font-size: 19px; font-weight: 700; color: var(--mut-w); border-bottom: 4px solid transparent; }
.ml-tabs a.ml-on { color: var(--ink); border-bottom-color: var(--field); }

/* === VIDEOS === */
.ml-vx { padding: 8px var(--m) 96px; }
.ml-vx[hidden] { display: none; }
.ml-vx-feat { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 36px; align-items: center; }
.ml-vx-feat-t { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.ml-vx-feat-t small { color: var(--mut-w); }
.ml-vx-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; margin-top: 64px; }
.ml-vx-sh { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.ml-vx > .ml-btn { margin-top: 56px; }
.ml-vx .ml-play { width: 48px; height: 48px; }
.ml-vx .ml-play i { border-left-width: 15px; border-top-width: 9px; border-bottom-width: 9px; margin-left: 3px; }
.ml-vx-sh .ml-play { width: 36px; height: 36px; }
.ml-vx-sh .ml-play i { border-left-width: 11px; border-top-width: 7px; border-bottom-width: 7px; margin-left: 2px; }

/* === EQUIPO === */
.ml-gx { display: block; padding: 8px var(--m) 96px; }
.ml-gnav { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 5; display: flex; flex-wrap: wrap; gap: 0 26px; margin: 0 calc(-1 * var(--m)) 32px; padding: 6px var(--m); background: #FFFFFF; }
.ml-gnav a { display: flex; align-items: center; min-height: 44px; font-size: 19px; font-weight: 700; line-height: 1.15; color: var(--mut-w); border-bottom: 4px solid transparent; transition: color .12s; }
.ml-gnav a:hover { color: var(--ink); }
.ml-gnav a.ml-on { color: var(--ink); border-bottom-color: var(--field); }
.ml-gcat .ml-lead { margin-top: 10px; }
.ml-gcat + .ml-gcat { margin-top: 88px; }
.ml-gx-l { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 44px 32px; margin-top: 32px; }
.ml-gx-ph { display: grid; place-items: center; aspect-ratio: 4/3; overflow: hidden; font-size: 26px; }
.ml-gx-ph img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.12); transition: transform .3s; }
.ml-gx-ph--own img { object-fit: cover; transform: none; }
.ml-gx-i:hover .ml-gx-ph img { transform: scale(1.18); }
.ml-gx-i strong { display: block; margin-top: 14px; font-size: 22px; line-height: 1.15; letter-spacing: -.015em; }
.ml-gx-i p { margin: 6px 0 4px; font-size: 17px; line-height: 1.4; }
.ml-gnext { margin-top: 36px; }
.ml-js-tabs .ml-gcat { display: none; }
.ml-js-tabs .ml-gcat.ml-on { display: block; }
.ml-js-tabs .ml-gcat + .ml-gcat { margin-top: 0; }

@media (max-width: 760px) {
  .ml-vx { padding: 4px var(--m) 56px; }
  .ml-vx-feat { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .ml-vx-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 32px; }
  .ml-vx-grid .ml-vc { display: grid; grid-template-columns: 148px minmax(0, 1fr); column-gap: 12px; align-items: start; }
  .ml-vx-grid .ml-vc .ml-ph { grid-row: 1 / 3; }
  .ml-vx-grid .ml-vc strong { margin-top: 0; font-size: 16px; }
  .ml-vx-grid .ml-play { width: 36px; height: 36px; }
  .ml-vx-grid .ml-play i { border-left-width: 11px; border-top-width: 7px; border-bottom-width: 7px; margin-left: 2px; }
  .ml-vx-sh { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 10px; }
  .ml-vx > .ml-btn { display: flex; margin-top: 32px; }
  .ml-tabs { margin-top: 18px; }
  .ml-gx { display: block; padding: 0 0 56px; }
  .ml-gnav { top: 56px; z-index: 5; flex-direction: row; gap: 20px; overflow-x: auto; scrollbar-width: none; background: #FFFFFF; padding: 4px var(--m); }
  .ml-gnav a { flex: none; padding: 0; border-bottom: 4px solid transparent; font-size: 17px; }
  .ml-gcats { padding: 24px var(--m) 0; }
  .ml-gx-l { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; margin-top: 20px; }
  .ml-gx-i strong { font-size: 18px; margin-top: 8px; }
  .ml-gx-i p { font-size: 15px; }
  .ml-grade--l { font-size: 17px; }
}

/* === MARCO DE WORDPRESS === */
html body { color: var(--ink); }
html .ml-rail, html .ml-rail a { color: var(--ink); }
html .ml-rail-nav a { color: var(--mut-w); }
html .ml-rail-nav a.ml-on { color: #FFFFFF; }
.wp-site-blocks { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); grid-template-rows: 1fr auto; min-height: 100dvh; padding: 0; background: #F7F7F8; }
.wp-site-blocks > * { grid-column: 2; margin: 0 !important; min-width: 0; }
.wp-site-blocks > header.wp-block-template-part { grid-column: 1; grid-row: 1 / span 3; background: #F7F7F8; }
.wp-site-blocks > main { background: #FFFFFF; }
.ml-rail { top: var(--wp-admin--admin-bar--height, 0px); height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px)); }
.ml-logo { display: block; width: 140px; height: 30px; color: var(--ink); }
.ml-foot .ml-logo { width: 112px; height: 24px; }
.ml-main, .ml-main > * { max-width: none; }
.ml-more { color: inherit; }
.ml-btn { text-decoration: none; }
.ml-btn--off { background: #56565C; }
.ml-main a:not([class]) { color: inherit; }
.ml-rail-x--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ml-net-ic { width: 22px; height: 22px; fill: currentColor; display: block; }
.ml-net-box svg { width: 22px; height: 22px; fill: currentColor; }

/* Tarjetas de producto. */
.ml-pc-a { display: block; color: inherit; text-decoration: none; }
.ml-pgrid { list-style: none; margin: 0; padding: 0; }
.ml-page--intro { padding-bottom: 8px; }
.ml-shop .woocommerce-notices-wrapper:empty { display: none; }
.ml-shop ul.products { padding: 28px var(--m) 72px; margin: 0; }
.ml-shop ul.products::before, .ml-shop ul.products::after { display: none; }
.ml-shop ul.products li.product { margin: 0; padding: 0; float: none; width: auto; }
.ml-shop ul.ml-pgrid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.ml-sold { position: absolute; left: 0; top: 0; padding: 6px 12px; background: var(--ink); color: #FFFFFF; font-style: normal; font-weight: 700; font-size: 15px; }
.ml-ph .ml-preview { position: absolute; inset: 0; opacity: 0; transition: opacity .2s; }
.ml-ph .ml-preview video { width: 100%; height: 100%; object-fit: cover; }
.ml-hover.is-on .ml-preview { opacity: 1; }
.ml-ph .ml-play { z-index: 2; }
.ml-grade > span { display: inline; }
.ml-pd-grade .ml-grade b { display: inline-grid; margin: 0; font-size: 26px; line-height: 1; letter-spacing: -.02em; }
.ml-pd-text { margin-top: 8px; font-size: 16px; line-height: 1.45; }
.ml-pd-sold { display: inline-block; margin-top: 22px; padding: 12px 18px; background: var(--ink); color: #FFFFFF; font-weight: 700; }
.ml-pd-main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ml-th img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ml-th.ml-on, .ml-th:hover { opacity: 1; }
.ml-pd-b h2 { margin: 0; }
.ml-prose h3 { font-size: 22px; margin: 24px 0 8px; }

/* Formulario: mismos campos del tema anterior. */
.ml-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ml-chips label { display: inline-flex; position: relative; cursor: pointer; font-weight: 500; font-size: 17px; }
.ml-chips input { position: absolute; opacity: 0; inset: 0; margin: 0; width: 100%; height: 100%; cursor: pointer; }
.ml-chips span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; background: var(--raise); transition: background-color .12s; }
.ml-chips label:hover span { background: #E4E4E8; }
.ml-chips input:checked + span { background: var(--ink); color: #FFFFFF; }
.ml-chips input:focus-visible + span { outline: 3px solid var(--ink); outline-offset: 2px; }
.ml-form__extra[hidden] { display: none; }
.ml-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.ml-form__status { font-weight: 500; }
.ml-form__status.is-ok { color: #284A2D; }
.ml-form__status.is-err { color: #A32638; }
.ml-after div.ml-on { background: var(--ink); color: #FFFFFF; }

/* Páginas de texto y de WooCommerce. */
.ml-pagewrap { padding: 72px var(--m) 96px; }
.ml-pagewrap > .ml-h1 { margin: 0 0 32px; }
.ml-pagewrap .ml-prose--l { max-width: 680px; margin: 0; }
.ml-pagewrap--wc .ml-prose--l, .woocommerce-account .ml-pagewrap .ml-prose--l { max-width: none; }
.ml-pagewrap.ml-has-toc { display: grid; grid-template-columns: minmax(0, 680px) minmax(0, 280px); justify-content: space-between; column-gap: 56px; align-items: start; }
.ml-pagewrap.ml-has-toc > .ml-h1 { grid-column: 1 / -1; }
.ml-pagewrap.ml-has-toc .ml-toc { grid-column: 2; grid-row: 2; }
.ml-pagewrap.ml-has-toc .ml-prose--l { grid-column: 1; grid-row: 2; }
.ml-prose--l h2 { font-size: var(--fs-s2); line-height: 1.1; letter-spacing: -.02em; }
.ml-toc { top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); }
.ml-prose a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style: none; margin: 0 0 20px; padding: 14px 18px; background: var(--raise); }
.woocommerce-error { color: #A32638; }
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form label { display: block; font-weight: 700; font-size: 16px; }
.woocommerce form .input-text, .woocommerce form select { display: block; width: 100%; max-width: 480px; min-height: 52px; margin-top: 6px; padding: 12px 14px; font-size: 17px; background: #FFFFFF; color: var(--ink); border: 2px solid var(--ink); border-radius: 0; }
.woocommerce form .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.woocommerce .button, .wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--field) !important; color: var(--on-field) !important; border: 0 !important; border-radius: 0 !important; font-weight: 700 !important; text-decoration: none !important; }
.woocommerce .button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; cursor: pointer; font-size: 17px; }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-blocks-components-select__select { border-radius: 0 !important; border-color: var(--ink) !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; background: var(--raise); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: #FFFFFF; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px; text-align: left; background: var(--raise); border-bottom: 4px solid #FFFFFF; }

@media (max-width: 760px) {
	.ml-gnav { flex-wrap: nowrap; gap: 0 20px; overflow-x: auto; margin: 0 0 8px; padding: 4px var(--m); scrollbar-width: none; }
	.ml-gnav::-webkit-scrollbar { display: none; }
	.ml-gnav a { flex: none; font-size: 17px; }
	.ml-shop ul.ml-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ml-kit { margin-top: 28px; }
	.ml-kit-i { width: 180px; }
	.ml-annc { font-size: 16px; }
	.wp-site-blocks { display: block; background: #FFFFFF; }
	.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 20; }
	.ml-topbar .ml-logo { width: 116px; height: 25px; }
	.ml-shop ul.products { padding: 20px var(--m) 48px; }
	.ml-gnav { top: calc(56px + var(--wp-admin--admin-bar--height, 0px)); }
	.ml-pagewrap { padding: 32px var(--m) 56px; }
	.ml-pagewrap.ml-has-toc { display: block; }
	.ml-rail-x--4 { grid-template-columns: none; }
	.ml-toc { margin-bottom: 24px; }
}

@media (max-width: 600px) {
	.wp-site-blocks > header.wp-block-template-part { top: 0; }
	.ml-gnav { top: 56px; }
}

/* === MOVIMIENTO === */
@media (prefers-reduced-motion: no-preference) {
  .ml-js .ml-rise { animation: rise .5s cubic-bezier(.2,.8,.2,1) both; }
  .ml-js .ml-rise.ml-d1 { animation-delay: .07s; }
  .ml-js .ml-rise.ml-d2 { animation-delay: .14s; }
}
/* Entrada por partes: solo con JS y sin reducir movimiento. */
@media (prefers-reduced-motion: no-preference) {
  .ml-js .ml-rv { opacity: 0; transform: translateY(22px); transition: opacity .5s cubic-bezier(.2,.8,.2,1), transform .5s cubic-bezier(.2,.8,.2,1); transition-delay: var(--dl, 0ms); }
  .ml-js .ml-rv.ml-in { opacity: 1; transform: none; }
}
@keyframes rise { from { transform: translateY(20px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
