/* ==========================================================
   Fondoofertas — hoja de estilos
   Paleta «Ciruela y salvia» · Newsreader + Work Sans
   Arquetipo: mesa de trabajo (pantallas divididas: explicación
   a la izquierda, herramientas y tarjetas compactas a la derecha)
   ========================================================== */

:root {
  --mt-papel: #F7F6F8;
  --mt-blanco: #FFFFFF;
  --mt-ciruela: #5B2150;
  --mt-ciruela-osc: #3F1638;
  --mt-ciruela-suave: #F3E8F0;
  --mt-ciruela-2: #DDBFD5;
  --mt-salvia: #A8C3A0;
  --mt-salvia-suave: #E7F0E4;
  --mt-salvia-osc: #3D5A36;
  --mt-tinta: #1D1820;
  --mt-gris: #5A5260;
  --mt-linea: #E0DAE0;
  --mt-linea-2: #ECE7EC;
  --mt-error: #B3261E;
  --mt-error-suave: #FCEBEA;

  --mt-titulos: "Newsreader", Georgia, "Times New Roman", serif;
  --mt-texto: "Work Sans", "Segoe UI", system-ui, sans-serif;

  --mt-max: 1200px;
  --mt-pad: 16px;
  --mt-r: 8px;
  --mt-r-s: 5px;
  --mt-sombra: 0 1px 2px rgba(29, 24, 32, .06), 0 12px 28px -18px rgba(63, 22, 56, .4);
  --mt-rayas: repeating-linear-gradient(45deg, var(--mt-salvia) 0 3px, var(--mt-salvia-suave) 3px 7px);
}
@media (min-width: 600px) { :root { --mt-pad: 24px; } }
@media (min-width: 1024px) { :root { --mt-pad: 36px; } }

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--mt-papel); color: var(--mt-tinta); font: 400 1.03rem/1.65 var(--mt-texto); font-variant-numeric: tabular-nums; overflow-wrap: break-word; }
img, svg { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { font-family: var(--mt-titulos); font-weight: 600; line-height: 1.12; letter-spacing: -0.012em; margin: 0 0 .5em; }
h1 { font-size: clamp(2.2rem, 1.4rem + 3.3vw, 3.9rem); line-height: 1.04; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem); }
h3 { font-size: 1.25rem; }
p, ul, ol, dl, table, figure { margin: 0 0 1rem; }
ul, ol { padding-left: 1.25em; }
li + li { margin-top: .3em; }
strong, b { font-weight: 600; }
a { color: var(--mt-ciruela); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--mt-ciruela-osc); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--mt-ciruela); outline-offset: 2px; border-radius: 2px; }
::selection { background: var(--mt-salvia); color: var(--mt-tinta); }
sup { line-height: 0; font-size: .7em; }
code { font: 500 .9em/1.4 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; background: var(--mt-salvia-suave); color: var(--mt-salvia-osc); padding: .1em .35em; border-radius: 3px; overflow-wrap: anywhere; }

/* Rejillas: nunca más anchas que la pantalla */
.mt-portada__grid, .mt-split, .mt-panel__grid, .mt-cursos, .mt-tuberia, .mt-tarjetas, .mt-listas, .mt-guias, .mt-pie__grid,
.mt-panelmenu__grid, .mt-contacto, .mt-form, .mt-form__par, .mt-tramite, .mt-legal-grid, .mt-flujo, .mt-dos, .mt-divers, .mt-modulos,
.mt-glosario, .mt-dupla, .mt-caso__duo, .mt-curso-sec { grid-template-columns: minmax(0, 1fr); }

.mt-saltar { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--mt-tinta); color: #fff; padding: 10px 16px; border-radius: var(--mt-r-s); font-weight: 600; text-decoration: none; }
.mt-saltar:focus { top: 12px; color: #fff; }
.mt-caja { width: min(100% - 2 * var(--mt-pad), var(--mt-max)); margin-inline: auto; }
.mt-gris { color: var(--mt-gris); }
.mt-chico { font-size: .9rem; }
.mt-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mt-rotulo { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 3px 9px; border-radius: 3px; background: var(--mt-ciruela-suave); color: var(--mt-ciruela); font: 600 .74rem/1.3 var(--mt-texto); letter-spacing: .1em; text-transform: uppercase; }
.mt-rotulo--salvia { background: var(--mt-salvia-suave); color: var(--mt-salvia-osc); }
.mt-bajada { font-size: clamp(1.05rem, 1rem + .3vw, 1.18rem); color: var(--mt-gris); max-width: 60ch; }
.mt-ej { margin: 14px 0 8px; font-size: .9rem; font-weight: 600; }
.mt-aviso { margin: 0; padding: 10px 12px; border: 1px dashed var(--mt-ciruela-2); border-radius: var(--mt-r-s); background: var(--mt-blanco); font-size: .84rem; line-height: 1.55; color: var(--mt-gris); }

/* ---------- Botones ---------- */
.mt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 18px;
  border: 1.5px solid transparent; border-radius: 6px; font: 600 .98rem/1.2 var(--mt-texto); text-decoration: none; text-align: center; cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.mt-btn:hover { text-decoration: none; }
.mt-btn--ciruela { background: var(--mt-ciruela); color: #fff; }
.mt-btn--ciruela:hover { background: var(--mt-ciruela-osc); color: #fff; }
.mt-btn--borde { background: var(--mt-blanco); color: var(--mt-ciruela); border-color: var(--mt-ciruela-2); }
.mt-btn--borde:hover { border-color: var(--mt-ciruela); color: var(--mt-ciruela-osc); }
.mt-btn--salvia { background: var(--mt-salvia); color: var(--mt-tinta); }
.mt-btn--salvia:hover { background: #95B38C; color: var(--mt-tinta); }
.mt-btn--claro { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); }
.mt-btn--claro:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.mt-btn--chico { min-height: 38px; padding: 6px 13px; font-size: .92rem; }
.mt-btn--ancho { width: 100%; }
.mt-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mt-ir { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; }
.mt-ir::after { content: "→"; transition: transform .2s ease; }
.mt-ir:hover { text-decoration: underline; }
@media (prefers-reduced-motion: no-preference) { .mt-ir:hover::after { transform: translateX(3px); } }

/* ==========================================================
   Franja informativa y barra completa
   ========================================================== */
.mt-franja { background: var(--mt-ciruela-osc); color: #EBDDE7; font-size: .84rem; }
.mt-franja__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 20px; min-height: 34px; padding: 6px 0; }
.mt-franja p { margin: 0; }
.mt-franja a { color: #fff; }
.mt-franja a:hover { color: var(--mt-salvia); }
.mt-franja :focus-visible { outline-color: var(--mt-salvia); }
.mt-franja__datos { display: none; }
@media (min-width: 860px) { .mt-franja__datos { display: block; } }
.mt-barra { position: sticky; top: 0; z-index: 50; background: var(--mt-blanco); border-bottom: 1px solid var(--mt-linea); transition: box-shadow .25s ease; }
.mt-barra[data-sombra] { box-shadow: 0 10px 24px -18px rgba(29, 24, 32, .55); }
.mt-barra__in { display: flex; align-items: center; gap: 10px; min-height: 64px; }
.mt-logo { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; min-width: 0; color: var(--mt-tinta); text-decoration: none; }
.mt-logo:hover { color: var(--mt-tinta); }
.mt-logo svg { width: 36px; height: 36px; flex: none; }
.mt-logo__nombre { font: 600 1.32rem/1 var(--mt-titulos); letter-spacing: -0.01em; white-space: nowrap; }
.mt-nav { display: none; align-self: stretch; }
.mt-nav ul { list-style: none; display: flex; height: 100%; gap: 4px; padding: 0; margin: 0; }
.mt-nav li { margin: 0; display: flex; }
.mt-nav a { display: flex; align-items: center; padding: 0 12px; border-bottom: 3px solid transparent; color: var(--mt-tinta); font-weight: 500; text-decoration: none; }
.mt-nav a:hover { color: var(--mt-ciruela); border-bottom-color: var(--mt-ciruela-2); }
.mt-nav a[aria-current="page"] { color: var(--mt-ciruela); border-bottom-color: var(--mt-ciruela); font-weight: 600; }
.mt-barra .mt-barra__cta { display: none; }
@media (min-width: 560px) { .mt-barra .mt-barra__cta { display: inline-flex; } }
.mt-menu {
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 12px; border: 1.5px solid var(--mt-linea); border-radius: 6px;
  background: var(--mt-blanco); color: var(--mt-tinta); font: 600 .95rem/1 var(--mt-texto); text-decoration: none; cursor: pointer;
}
.mt-menu:hover { border-color: var(--mt-ciruela); color: var(--mt-tinta); text-decoration: none; }
.mt-menu__ico { display: grid; grid-template-columns: repeat(2, 6px); gap: 3px; }
.mt-menu__ico span { width: 6px; height: 6px; border-radius: 1px; background: currentColor; }
.mt-menu[aria-expanded="true"] .mt-menu__ico span:nth-child(2), .mt-menu[aria-expanded="true"] .mt-menu__ico span:nth-child(3) { background: var(--mt-salvia); }
@media (min-width: 1000px) {
  .mt-nav { display: block; }
  .mt-menu { display: none !important; }
}
.mt-panelmenu { border-top: 1px solid var(--mt-linea); background: var(--mt-papel); max-height: calc(100dvh - 64px); overflow: auto; }
@media (prefers-reduced-motion: no-preference) { .mt-panelmenu:not([hidden]) { animation: mt-abre .2s ease; } }
@keyframes mt-abre { from { opacity: 0; } to { opacity: 1; } }
.mt-panelmenu__grid { display: grid; gap: 20px; padding: 20px 0 24px; }
@media (min-width: 640px) { .mt-panelmenu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-panelmenu__t { margin: 0 0 8px; font: 600 .74rem/1.2 var(--mt-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--mt-gris); }
.mt-panelmenu ul { list-style: none; padding: 0; margin: 0; }
.mt-panelmenu li { margin: 0; }
.mt-panelmenu__nav a { display: block; padding: 9px 0; border-bottom: 1px solid var(--mt-linea); color: var(--mt-tinta); font: 600 1.3rem/1.2 var(--mt-titulos); text-decoration: none; }
.mt-panelmenu__nav a:hover, .mt-panelmenu__nav a[aria-current="page"] { color: var(--mt-ciruela); }
.mt-panelmenu__cursos a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; margin-bottom: 6px; border: 1px solid var(--mt-linea); border-radius: 6px; background: var(--mt-blanco); color: var(--mt-tinta); font-weight: 500; text-decoration: none; }
.mt-panelmenu__cursos a span { font-size: .8rem; color: var(--mt-gris); }
.mt-panelmenu__cursos a:hover { border-color: var(--mt-ciruela); }

/* ==========================================================
   Portada: texto + herramienta
   ========================================================== */
.mt-portada { padding: 36px 0 56px; background: var(--mt-blanco); border-bottom: 1px solid var(--mt-linea); }
@media (min-width: 1080px) { .mt-portada { padding: 56px 0 72px; } }
.mt-portada__grid { display: grid; gap: 32px; align-items: start; }
@media (min-width: 1080px) { .mt-portada__grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 48px; } .mt-portada__texto { position: sticky; top: 96px; } }
.mt-portada h1 em { font-style: italic; color: var(--mt-ciruela); }
.mt-portada .mt-bajada { margin-bottom: 24px; }
.mt-checks { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 8px; }
.mt-checks li { margin: 0; display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: .97rem; }
.mt-checks li::before { content: ""; width: 18px; height: 18px; margin-top: 3px; border-radius: 4px; background: var(--mt-salvia-suave); box-shadow: inset 0 0 0 1.5px var(--mt-salvia-osc); }
.mt-checks li::after { content: ""; position: absolute; }
.mt-checks li { position: relative; }
.mt-checks li span::before { content: ""; position: absolute; left: 6px; top: 7px; width: 5px; height: 9px; border: solid var(--mt-salvia-osc); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Ventana de herramienta (calculadora) */
.mt-herramienta { background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); box-shadow: var(--mt-sombra); overflow: hidden; }
.mt-herramienta__barra { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 10px 14px; background: var(--mt-ciruela-osc); color: #fff; }
.mt-herramienta__barra h2 { margin: 0; font: 600 1.05rem/1.2 var(--mt-texto); letter-spacing: 0; }
.mt-herramienta__etq { padding: 2px 8px; border-radius: 3px; background: var(--mt-salvia); color: var(--mt-tinta); font: 600 .72rem/1.4 var(--mt-texto); letter-spacing: .08em; text-transform: uppercase; }
.mt-segmento { display: flex; margin: 14px 14px 0; padding: 4px; gap: 4px; border-radius: 7px; background: var(--mt-papel); border: 1px solid var(--mt-linea); }
.mt-segmento__op { flex: 1 1 0; min-width: 0; min-height: 40px; padding: 6px 8px; border: 0; border-radius: 5px; background: transparent; color: var(--mt-gris); font: 600 .9rem/1.2 var(--mt-texto); cursor: pointer; }
.mt-segmento__op:hover { color: var(--mt-tinta); }
.mt-segmento__op[aria-selected="true"] { background: var(--mt-blanco); color: var(--mt-ciruela); box-shadow: 0 1px 3px rgba(29, 24, 32, .18); }
html:not(.js) .mt-segmento { display: none; }
.mt-panel { padding: 14px 14px 18px; }
@media (min-width: 600px) { .mt-panel { padding: 16px 20px 22px; } .mt-segmento { margin: 16px 20px 0; } }
html:not(.js) .mt-panel + .mt-panel { border-top: 6px solid var(--mt-papel); }
.mt-panel__titulo { margin: 0 0 6px; font-size: 1.15rem; }
html.js .mt-panel__titulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mt-panel__intro { margin: 0 0 14px; font-size: .95rem; color: var(--mt-gris); }
.mt-panel__grid { display: grid; gap: 18px; }
@media (min-width: 700px) { .mt-panel__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; } }
.mt-campos { display: grid; gap: 14px; align-content: start; }
.mt-campo { display: grid; gap: 4px; }
.mt-campo__fila { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.mt-campo label { font-weight: 600; font-size: .92rem; }
.mt-campo__marco { display: flex; align-items: center; width: 136px; min-height: 40px; border: 1.5px solid #BFB3BD; border-radius: 6px; background: var(--mt-blanco); }
.mt-campo__marco:focus-within { border-color: var(--mt-ciruela); box-shadow: 0 0 0 3px rgba(91, 33, 80, .18); }
.mt-campo__u { padding: 0 2px 0 9px; font-size: .86rem; color: var(--mt-gris); }
.mt-campo__u:last-child { padding: 0 9px 0 2px; }
.mt-campo input[type="text"] { flex: 1; min-width: 0; width: 100%; height: 38px; padding: 0 8px; border: 0; background: transparent; color: var(--mt-tinta); font: 600 1rem/1 var(--mt-texto); font-variant-numeric: tabular-nums; text-align: right; }
.mt-campo input[type="text"]:focus { outline: none; }
.mt-deslizador { -webkit-appearance: none; appearance: none; width: 100%; height: 26px; margin: 0; background: transparent; cursor: pointer; }
.mt-deslizador::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--mt-ciruela) var(--mt-p, 50%), var(--mt-linea) var(--mt-p, 50%)); }
.mt-deslizador::-moz-range-track { height: 6px; border-radius: 3px; background: var(--mt-linea); }
.mt-deslizador::-moz-range-progress { height: 6px; border-radius: 3px; background: var(--mt-ciruela); }
.mt-deslizador::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; margin-top: -7px; border-radius: 50%; background: var(--mt-blanco); border: 2px solid var(--mt-ciruela); box-shadow: 0 1px 3px rgba(29, 24, 32, .3); }
.mt-deslizador::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--mt-blanco); border: 2px solid var(--mt-ciruela); }
.mt-deslizador:focus-visible { outline: 3px solid var(--mt-ciruela); outline-offset: 2px; }
html:not(.js) .mt-deslizador { display: none; }
.mt-campo[data-error] .mt-campo__marco { border-color: var(--mt-error); background: var(--mt-error-suave); }
.mt-campo__error { margin: 0; font-size: .86rem; font-weight: 600; color: var(--mt-error); }
.mt-campo__error::before { content: "⚠ "; }
.mt-panel__msg { margin: 10px 0 0; font-size: .9rem; font-weight: 600; color: var(--mt-error); }
.mt-panel__msg:empty { display: none; }
.mt-lectura { padding: 14px; border-radius: 6px; background: var(--mt-ciruela-suave); border: 1px solid var(--mt-ciruela-2); }
.mt-lectura__etq { margin: 0; font-size: .82rem; font-weight: 600; color: var(--mt-ciruela); text-transform: uppercase; letter-spacing: .08em; }
.mt-lectura__valor { display: block; margin: 2px 0 12px; font: 600 clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem)/1.05 var(--mt-titulos); color: var(--mt-ciruela-osc); font-variant-numeric: tabular-nums lining-nums; }
.mt-lectura dl { margin: 12px 0 0; }
.mt-lectura dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 7px 0; border-top: 1px solid var(--mt-ciruela-2); }
.mt-lectura dt { font-size: .9rem; color: var(--mt-gris); }
.mt-lectura dd { margin: 0; font-weight: 600; white-space: nowrap; }
.mt-apilada { display: flex; height: 18px; border-radius: 3px; overflow: hidden; background: var(--mt-blanco); border: 1px solid var(--mt-ciruela-2); }
.mt-apilada__seg { display: block; height: 100%; background: var(--mt-ciruela); transition: width .35s ease; }
.mt-apilada__seg--rayas { background: var(--mt-rayas); }
.mt-apilada__seg--suave { background: var(--mt-ciruela-2); }
@media (prefers-reduced-motion: reduce) { .mt-apilada__seg { transition: none; } }
.mt-filabarra { display: grid; grid-template-columns: 64px 1fr; gap: 8px; align-items: center; font-size: .84rem; font-weight: 600; }
.mt-filabarra + .mt-filabarra { margin-top: 6px; }
.mt-leyenda { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 0; margin: 8px 0 0; font-size: .82rem; color: var(--mt-gris); }
.mt-leyenda li { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.mt-leyenda i { width: 14px; height: 10px; border-radius: 2px; background: var(--mt-ciruela); }
.mt-leyenda i.mt-i-rayas { background: var(--mt-rayas); border: 1px solid var(--mt-salvia-osc); }
.mt-leyenda i.mt-i-suave { background: var(--mt-ciruela-2); }
.mt-formula { margin: 14px 0 0; padding: 10px 12px; border-left: 3px solid var(--mt-salvia); background: var(--mt-papel); font-size: .88rem; color: var(--mt-gris); }
.mt-formula strong { color: var(--mt-tinta); }
.mt-panel__pie { margin-top: 12px; }

/* ==========================================================
   Secciones en pantalla dividida
   ========================================================== */
.mt-sec { padding: 56px 0; border-bottom: 1px solid var(--mt-linea); }
@media (min-width: 900px) { .mt-sec { padding: 80px 0; } }
.mt-sec--blanca { background: var(--mt-blanco); }
.mt-split { display: grid; gap: 26px; align-items: start; }
@media (min-width: 980px) {
  .mt-split { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 56px; }
  .mt-split__guia { position: sticky; top: 96px; }
}
.mt-split__guia h2 { margin-bottom: .4em; }
.mt-split__guia > p { color: var(--mt-gris); }
.mt-split__guia > :last-child { margin-bottom: 0; }
.mt-split__mesa { min-width: 0; }
.mt-nota { margin: 16px 0 0; padding: 12px 14px; border-radius: 6px; background: var(--mt-salvia-suave); border-left: 3px solid var(--mt-salvia-osc); font-size: .92rem; color: var(--mt-tinta); }
.mt-nota strong { color: var(--mt-salvia-osc); }

/* Aparición escalonada */
.js .mt-aparece { opacity: 0; transform: translateY(12px); }
.js .mt-aparece[data-visto] { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; transition-delay: calc(var(--mt-i, 0) * 70ms); }
@media (prefers-reduced-motion: reduce) {
  .js .mt-aparece { opacity: 1; transform: none; }
  .mt-btn, .mt-barra { transition: none; }
}

/* ==========================================================
   Tarjetas compactas de cursos
   ========================================================== */
.mt-cursos { display: grid; gap: 12px; }
@media (min-width: 680px) { .mt-cursos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-cursos__grupo { grid-column: 1 / -1; margin: 6px 0 -2px; display: flex; align-items: center; gap: 10px; font: 600 .76rem/1.2 var(--mt-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--mt-gris); }
.mt-cursos__grupo::after { content: ""; flex: 1; height: 1px; background: var(--mt-linea); }
.mt-cursos__grupo:first-child { margin-top: 0; }
.mt-curso { display: flex; flex-direction: column; padding: 16px 18px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-curso { background: var(--mt-papel); }
.mt-curso__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.mt-curso__n { font: 600 .8rem/1 var(--mt-texto); color: var(--mt-gris); }
.mt-curso__nivel { padding: 2px 8px; border-radius: 3px; background: var(--mt-ciruela-suave); color: var(--mt-ciruela); font-size: .74rem; font-weight: 600; }
.mt-curso--sector .mt-curso__nivel { background: var(--mt-salvia-suave); color: var(--mt-salvia-osc); }
.mt-curso h3 { font-size: 1.32rem; margin-bottom: 6px; }
.mt-curso h3 a { color: var(--mt-tinta); text-decoration: none; }
.mt-curso h3 a:hover { color: var(--mt-ciruela); text-decoration: underline; }
.mt-curso p { margin: 0 0 10px; color: var(--mt-gris); font-size: .95rem; }
.mt-curso__calc { margin: 0 0 14px; padding: 7px 10px; border-radius: 4px; background: var(--mt-salvia-suave); font-size: .84rem; color: var(--mt-tinta); }
.mt-curso__calc b { color: var(--mt-salvia-osc); }
.mt-curso__acciones { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }

/* ==========================================================
   Cuestionario con controles segmentados
   ========================================================== */
.mt-test { background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); box-shadow: var(--mt-sombra); overflow: hidden; }
.mt-test__cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 16px; background: var(--mt-ciruela-osc); color: #fff; font-weight: 600; font-size: .92rem; }
.mt-test__cuenta { font-weight: 500; color: #E3D3DE; }
.mt-test__cuerpo { padding: 6px 16px 18px; }
@media (min-width: 600px) { .mt-test__cuerpo { padding: 8px 20px 22px; } }
.mt-test fieldset { margin: 0; padding: 14px 0; border: 0; border-bottom: 1px solid var(--mt-linea-2); min-width: 0; }
.mt-test legend { float: left; width: 100%; padding: 0; margin-bottom: 10px; font: 600 1.1rem/1.3 var(--mt-titulos); }
.mt-test legend b { font: 600 .8rem/1 var(--mt-texto); color: var(--mt-ciruela); margin-right: 6px; }
.mt-seg { clear: both; display: flex; flex-wrap: wrap; gap: 6px; }
.mt-seg__op { position: relative; display: inline-flex; }
.mt-seg__op input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.mt-seg__op span { display: inline-flex; align-items: center; min-height: 38px; padding: 6px 12px; border: 1.5px solid var(--mt-linea); border-radius: 5px; background: var(--mt-papel); font-size: .92rem; line-height: 1.25; cursor: pointer; }
.mt-seg__op:hover span { border-color: var(--mt-ciruela-2); }
.mt-seg__op input:checked + span { border-color: var(--mt-ciruela); background: var(--mt-ciruela); color: #fff; font-weight: 600; }
.mt-seg__op input:focus-visible + span { outline: 3px solid var(--mt-ciruela); outline-offset: 2px; }
.mt-test fieldset[data-falta] .mt-seg__op span { border-color: var(--mt-error); }
.mt-test__error { margin: 14px 0 0; padding: 10px 12px; border-radius: 5px; background: var(--mt-error-suave); color: var(--mt-error); font-weight: 600; font-size: .94rem; }
.mt-test__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.mt-test__res { margin-top: 16px; padding: 16px; border-radius: 6px; background: var(--mt-salvia-suave); border: 1px solid var(--mt-salvia); }
.mt-test__res h3 { font-size: 1.5rem; margin: 2px 0 6px; }
.mt-test__res h3:focus { outline: none; }
.mt-test__res .mt-acciones { margin: 12px 0 8px; }
.mt-test__sinjs { margin: 0; padding: 16px; }
.js .mt-sinjs { display: none !important; }
html:not(.js) .mt-solo-js { display: none !important; }

/* ==========================================================
   Método, práctica, para quién
   ========================================================== */
.mt-tuberia { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; counter-reset: mt-t; }
@media (min-width: 760px) { .mt-tuberia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .mt-tuberia { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
.mt-tuberia li { position: relative; margin: 0; counter-increment: mt-t; padding: 16px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-tuberia li { background: var(--mt-papel); }
.mt-tuberia li::before { content: "Paso " counter(mt-t); display: inline-block; margin-bottom: 8px; padding: 2px 8px; border-radius: 3px; background: var(--mt-ciruela); color: #fff; font-size: .74rem; font-weight: 600; letter-spacing: .04em; }
.mt-tuberia li:last-child::before { background: var(--mt-salvia-osc); }
@media (min-width: 1180px) { .mt-tuberia li:not(:last-child)::after { content: ""; position: absolute; right: -11px; top: 22px; width: 8px; height: 8px; border-top: 2px solid var(--mt-ciruela-2); border-right: 2px solid var(--mt-ciruela-2); transform: rotate(45deg); } }
.mt-tuberia h3 { font-size: 1.15rem; margin-bottom: 6px; }
.mt-tuberia p { margin: 0; font-size: .93rem; color: var(--mt-gris); }

.mt-tarjetas { display: grid; gap: 12px; }
@media (min-width: 820px) { .mt-tarjetas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mt-tarjeta { display: flex; flex-direction: column; padding: 16px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-tarjeta { background: var(--mt-papel); }
.mt-tarjeta__tag { margin: 0 0 8px; font-size: .78rem; font-weight: 600; color: var(--mt-ciruela); letter-spacing: .06em; text-transform: uppercase; }
.mt-tarjeta h3 { font-size: 1.15rem; margin-bottom: 6px; }
.mt-tarjeta p { color: var(--mt-gris); font-size: .93rem; }
.mt-etiquetas { list-style: none; display: flex; flex-wrap: wrap; gap: 5px; padding: 0; margin: auto 0 0; }
.mt-etiquetas li { margin: 0; padding: 2px 8px; border-radius: 3px; background: var(--mt-salvia-suave); color: var(--mt-salvia-osc); font-size: .8rem; font-weight: 500; }

.mt-listas { display: grid; gap: 12px; }
@media (min-width: 760px) { .mt-listas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-lista { padding: 16px 18px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-lista { background: var(--mt-papel); }
.mt-lista h3 { display: flex; align-items: center; gap: 8px; font-size: 1.2rem; }
.mt-lista h3 span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 5px; font: 700 1rem/1 var(--mt-texto); }
.mt-lista--si h3 span { background: var(--mt-salvia); color: var(--mt-tinta); }
.mt-lista--no h3 span { background: var(--mt-ciruela); color: #fff; }
.mt-lista ul { list-style: none; padding: 0; margin: 0; }
.mt-lista li { margin: 0; padding: 9px 0 9px 24px; border-top: 1px solid var(--mt-linea-2); position: relative; font-size: .97rem; }
.mt-lista li::before { position: absolute; left: 2px; top: 9px; font-weight: 700; }
.mt-lista--si li::before { content: "✓"; color: var(--mt-salvia-osc); }
.mt-lista--no li::before { content: "✕"; color: var(--mt-ciruela); }

/* ==========================================================
   Planes en filas
   ========================================================== */
.mt-planes { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.mt-plan { margin: 0; display: grid; gap: 10px 20px; padding: 16px 18px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
@media (min-width: 760px) { .mt-plan { grid-template-columns: 170px minmax(0, 1fr) auto; align-items: center; } }
.mt-plan__nombre h3 { margin: 0; font-size: 1.5rem; }
.mt-plan__nombre p { margin: 2px 0 0; font-size: .86rem; color: var(--mt-gris); }
.mt-plan__incluye { list-style: none; display: flex; flex-wrap: wrap; gap: 5px; padding: 0; margin: 0; }
.mt-plan__incluye li { margin: 0; padding: 3px 9px; border-radius: 3px; border: 1px solid var(--mt-linea); background: var(--mt-papel); font-size: .86rem; }
.mt-plan__accion { display: grid; gap: 6px; justify-items: start; }
@media (min-width: 760px) { .mt-plan__accion { justify-items: end; text-align: right; } }
.mt-plan__arancel { margin: 0; font-size: .86rem; font-weight: 600; color: var(--mt-gris); }
.mt-plan--dest { background: var(--mt-ciruela); border-color: var(--mt-ciruela); color: #fff; box-shadow: var(--mt-sombra); }
.mt-plan--dest .mt-plan__nombre p, .mt-plan--dest .mt-plan__arancel { color: #EBDDE7; }
.mt-plan--dest .mt-plan__incluye li { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .3); color: #fff; }
.mt-plan--dest :focus-visible { outline-color: #fff; }
.mt-plan__sello { display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 3px; background: var(--mt-salvia); color: var(--mt-tinta); font: 600 .7rem/1.5 var(--mt-texto); letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; }
.mt-cobro { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--mt-linea); border-radius: 6px; background: var(--mt-blanco); font-weight: 500; }

/* ==========================================================
   Guías, preguntas y cierre
   ========================================================== */
.mt-guias { display: grid; gap: 12px; }
@media (min-width: 820px) { .mt-guias { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mt-guia { display: flex; flex-direction: column; padding: 16px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); color: var(--mt-tinta); text-decoration: none; }
.mt-sec--blanca .mt-guia { background: var(--mt-papel); }
.mt-guia:hover { border-color: var(--mt-ciruela); color: var(--mt-tinta); text-decoration: none; }
.mt-guia__n { margin-bottom: 8px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mt-salvia-osc); }
.mt-guia h3 { font-size: 1.18rem; margin-bottom: 6px; }
.mt-guia p { color: var(--mt-gris); font-size: .93rem; }
.mt-guia .mt-ir { margin-top: auto; color: var(--mt-ciruela); }

.mt-faq { border: 1px solid var(--mt-linea); border-radius: var(--mt-r); background: var(--mt-blanco); overflow: hidden; }
.mt-faq__item + .mt-faq__item { border-top: 1px solid var(--mt-linea); }
.mt-faq__item h3 { margin: 0; font-size: 1.08rem; }
.mt-faq__btn { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; padding: 14px 16px; border: 0; background: none; color: var(--mt-tinta); font: 600 1.06rem/1.35 var(--mt-titulos); text-align: left; cursor: pointer; }
.mt-faq__btn:hover { background: var(--mt-papel); }
.mt-faq__btn[aria-expanded="true"] { background: var(--mt-ciruela-suave); }
.mt-faq__signo { position: relative; flex: none; width: 22px; height: 22px; border: 1.5px solid var(--mt-ciruela-2); border-radius: 4px; }
.mt-faq__signo::before, .mt-faq__signo::after { content: ""; position: absolute; left: 4px; right: 4px; top: 8.5px; height: 2px; background: var(--mt-ciruela); }
.mt-faq__signo::after { transform: rotate(90deg); transition: transform .2s ease; }
.mt-faq__btn[aria-expanded="true"] .mt-faq__signo::after { transform: rotate(0); }
.mt-faq__panel { padding: 4px 16px 16px; color: var(--mt-gris); background: var(--mt-ciruela-suave); }
.mt-faq__panel p:last-child { margin-bottom: 0; }

.mt-cierre { padding: 56px 0; background: var(--mt-ciruela); color: #fff; }
.mt-cierre__in { display: grid; gap: 22px; align-items: center; }
@media (min-width: 860px) { .mt-cierre__in { grid-template-columns: minmax(0, 1.3fr) auto; gap: 40px; } }
.mt-cierre h2 { color: #fff; margin-bottom: .35em; }
.mt-cierre p { margin: 0; color: #EBDDE7; max-width: 56ch; }
.mt-cierre :focus-visible { outline-color: #fff; }

/* ==========================================================
   Pie
   ========================================================== */
.mt-pie { background: var(--mt-tinta); color: #D8CFD6; padding: 52px 0 26px; font-size: .96rem; }
.mt-pie a { color: #fff; }
.mt-pie a:hover { color: var(--mt-salvia); }
.mt-pie :focus-visible { outline-color: var(--mt-salvia); }
.mt-pie .mt-logo { color: #fff; }
.mt-pie__grid { display: grid; gap: 28px; padding-bottom: 30px; }
@media (min-width: 680px) { .mt-pie__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .mt-pie__grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; } }
.mt-pie__desc { margin: 14px 0 0; max-width: 46ch; }
.mt-pie h2 { margin: 0 0 12px; font: 600 .76rem/1.2 var(--mt-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--mt-salvia); }
.mt-pie__links { list-style: none; padding: 0; margin: 0; }
.mt-pie__links li { margin: 0 0 7px; }
.mt-pie__links a { text-decoration: none; }
.mt-pie__links a:hover { text-decoration: underline; }
.mt-pie dl { margin: 0 0 14px; }
.mt-pie dt { font-size: .84rem; color: #ADA2AB; }
.mt-pie dd { margin: 0 0 9px; color: #fff; }
.mt-pie__botones { display: flex; flex-wrap: wrap; gap: 8px; }
.mt-pie__boton { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 14px; border: 1.5px solid var(--mt-salvia); border-radius: 6px; color: #fff; font-weight: 600; font-size: .93rem; text-decoration: none; }
.mt-pie__boton:hover { background: var(--mt-salvia); color: var(--mt-tinta); }
.mt-pie__legal { padding: 16px 18px; border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--mt-r); font-size: .87rem; line-height: 1.6; }
.mt-pie__legal p:last-child { margin: 0; }
.mt-pie__legal a { color: #C9E0C2; }
.mt-pie__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-top: 20px; font-size: .87rem; }
.mt-pie__base p { margin: 0; }
.mt-pie__base ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 0; margin: 0; }
.mt-pie__base li { margin: 0; }

.mt-subir { position: fixed; right: 16px; bottom: 16px; z-index: 40; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 6px; background: var(--mt-ciruela); color: #fff; cursor: pointer; box-shadow: 0 10px 24px -10px rgba(63, 22, 56, .8); }
.mt-subir:hover { background: var(--mt-ciruela-osc); }
.mt-subir svg { width: 20px; height: 20px; }

/* ==========================================================
   Páginas internas
   ========================================================== */
.mt-cabpag { padding: 32px 0 36px; background: var(--mt-blanco); border-bottom: 1px solid var(--mt-linea); }
@media (min-width: 900px) { .mt-cabpag { padding: 48px 0 52px; } }
.mt-cabpag h1 { max-width: 20ch; }
.mt-cabpag .mt-bajada { margin: 0; }
.mt-migas { margin-bottom: 18px; font-size: .9rem; color: var(--mt-gris); }
.mt-migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; }
.mt-migas li { margin: 0; }
.mt-migas li + li::before { content: "/"; margin-right: 6px; color: var(--mt-ciruela-2); }
.mt-saltos { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 22px 0 0; }
.mt-saltos li { margin: 0; }
.mt-saltos a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 5px 11px; border: 1px solid var(--mt-linea); border-radius: 5px; background: var(--mt-papel); color: var(--mt-tinta); font-size: .9rem; font-weight: 500; text-decoration: none; }
.mt-saltos a b { color: var(--mt-ciruela); font-weight: 600; }
.mt-saltos a:hover { border-color: var(--mt-ciruela); }

/* Cursos: ficha fija a la izquierda, mesa a la derecha */
.mt-curso-sec { display: grid; gap: 24px; align-items: start; }
@media (min-width: 980px) { .mt-curso-sec { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 48px; } .mt-ficha { position: sticky; top: 92px; } }
.mt-ficha { padding: 18px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-ficha { background: var(--mt-papel); }
.mt-ficha h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); margin-bottom: 10px; }
.mt-ficha__chips { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.mt-ficha dl { margin: 12px 0 14px; }
.mt-ficha dt { margin-top: 10px; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mt-ciruela); }
.mt-ficha dd { margin: 2px 0 0; font-size: .95rem; }
.mt-ficha dd ul { margin: 0; padding-left: 1.1em; }
.mt-mesa-t { font-size: 1.3rem; margin: 0 0 10px; }
.mt-modulos { list-style: none; padding: 0; margin: 0 0 26px; display: grid; gap: 8px; counter-reset: mt-m; }
@media (min-width: 700px) { .mt-modulos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-modulos li { margin: 0; counter-increment: mt-m; padding: 12px 14px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: 6px; font-size: .94rem; }
.mt-sec--blanca .mt-modulos li { background: var(--mt-papel); }
.mt-modulos li::before { content: "Módulo " counter(mt-m); display: block; margin-bottom: 2px; font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mt-salvia-osc); }
.mt-modulos strong { display: block; font-family: var(--mt-titulos); font-size: 1.08rem; font-weight: 600; }

.mt-caso { margin: 0 0 22px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); box-shadow: var(--mt-sombra); overflow: hidden; }
.mt-caso__barra { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 14px; background: var(--mt-ciruela-osc); color: #fff; }
.mt-caso__barra h3 { margin: 0; font: 600 1.02rem/1.3 var(--mt-texto); }
.mt-caso__cuerpo { padding: 16px; }
@media (min-width: 700px) { .mt-caso__cuerpo { padding: 20px 22px; } }
.mt-caso__duo { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1100px) { .mt-caso__duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; } }
.mt-cuenta { margin: 0 0 16px; padding: 12px 14px; border-radius: 6px; background: var(--mt-papel); border: 1px solid var(--mt-linea); }
.mt-cuenta__t { margin: 0 0 4px; font-weight: 600; color: var(--mt-ciruela); }
.mt-cuenta ul { list-style: none; padding: 0; margin: 0; }
.mt-cuenta li { margin: 0; padding: 5px 0; font-size: .96rem; }
.mt-cuenta li + li { border-top: 1px dashed var(--mt-linea); }
.mt-cierre-caso { margin: 16px 0 0; }

.mt-tabla-caja { overflow-x: auto; margin: 0 0 16px; border: 1px solid var(--mt-linea); border-radius: 6px; }
.mt-tabla { width: 100%; border-collapse: collapse; margin: 0; font-size: .93rem; background: var(--mt-blanco); }
.mt-tabla caption { padding: 8px 10px; text-align: left; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mt-gris); background: var(--mt-papel); border-bottom: 1px solid var(--mt-linea); }
.mt-tabla th, .mt-tabla td { padding: 8px 10px; border-bottom: 1px solid var(--mt-linea-2); text-align: left; vertical-align: top; }
.mt-tabla thead th { background: var(--mt-ciruela-suave); font-size: .84rem; font-weight: 600; color: var(--mt-ciruela-osc); }
.mt-tabla .mt-d { text-align: right; white-space: nowrap; }
.mt-tabla tbody tr:last-child > * { border-bottom: 0; }
.mt-tabla tr[data-marca] > * { background: var(--mt-salvia-suave); font-weight: 600; }
.mt-tabla tfoot th, .mt-tabla tfoot td { border-top: 2px solid var(--mt-linea); border-bottom: 0; font-weight: 600; background: var(--mt-papel); }
@media (max-width: 479px) { .mt-tabla { font-size: .84rem; } .mt-tabla th, .mt-tabla td { padding: 7px 6px; } .mt-tabla thead th.mt-d { white-space: normal; } }

.mt-grafico { margin: 0 0 16px; }
.mt-grafico__marco { overflow-x: auto; border: 1px solid var(--mt-linea); border-radius: 6px; padding: 10px; background: var(--mt-blanco); }
.mt-grafico svg { width: 100%; min-width: 520px; max-width: 760px; height: auto; margin: 0 auto; font-family: var(--mt-texto); }
.mt-grafico figcaption { margin-top: 6px; font-size: .86rem; color: var(--mt-gris); }
.mt-grafico__pista { display: none; margin: 0 0 6px; font-size: .82rem; color: var(--mt-gris); }
@media (max-width: 599px) { .mt-grafico__pista { display: block; } }
.mt-svg-guia { stroke: var(--mt-linea-2); stroke-width: 1; }
.mt-svg-eje { stroke: #B7ABB5; stroke-width: 1; }
.mt-svg-txt { fill: var(--mt-gris); font-size: 12px; }
.mt-svg-num { fill: var(--mt-tinta); font-size: 12.5px; font-weight: 600; }

/* Barras de cuotapartes compradas */
.mt-columnas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: end; height: 200px; margin: 0 0 6px; padding: 0 4px; border-bottom: 1px solid #B7ABB5; }
.mt-columnas div { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; }
.mt-columnas b { margin-bottom: 4px; font-size: .9rem; }
.mt-columnas i { display: block; width: 70%; border-radius: 3px 3px 0 0; background: var(--mt-ciruela); }
.mt-columnas__eje { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 4px; margin: 0 0 14px; text-align: center; font-size: .8rem; color: var(--mt-gris); }
.mt-columnas__eje span strong { display: block; color: var(--mt-tinta); font-weight: 600; }

/* Calendario de la ON */
.mt-cal { list-style: none; padding: 0; margin: 0 0 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
@media (min-width: 600px) { .mt-cal { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .mt-cal { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.mt-cal li { margin: 0; padding: 9px 10px; border: 1px solid var(--mt-linea); border-radius: 5px; background: var(--mt-papel); }
.mt-cal small { display: block; font-size: .76rem; color: var(--mt-gris); }
.mt-cal strong { display: block; font: 600 1.1rem/1.3 var(--mt-titulos); }
.mt-cal em { display: block; font-style: normal; font-size: .78rem; color: var(--mt-gris); }
.mt-cal li:last-child { background: var(--mt-ciruela); border-color: var(--mt-ciruela); color: #fff; }
.mt-cal li:last-child small, .mt-cal li:last-child em { color: #EBDDE7; }

/* Diversificación */
.mt-divers { display: grid; gap: 12px; margin: 0 0 12px; }
@media (min-width: 760px) { .mt-divers { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }
.mt-divers h4 { margin: 0 0 6px; font-size: 1.02rem; }
.mt-divers__caja { display: grid; gap: 6px; min-height: 170px; }
.mt-divers__caja--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mt-divers__pieza { display: flex; flex-direction: column; justify-content: flex-end; padding: 9px; border-radius: 5px; background: var(--mt-ciruela-suave); border: 1px solid var(--mt-ciruela-2); font-size: .84rem; }
.mt-divers__pieza b { font: 600 1.1rem/1.2 var(--mt-titulos); }
.mt-divers__pieza--cae { background: var(--mt-rayas); border-color: var(--mt-salvia-osc); }
.mt-divers__pieza--cae b, .mt-divers__pieza--cae span { width: fit-content; padding: 1px 6px; border-radius: 3px; background: rgba(255, 255, 255, .92); }
.mt-divers__pieza--cae span { margin-top: 3px; }
.mt-divers__total { margin: 6px 0 0; font-weight: 600; }

.mt-dupla { display: grid; gap: 12px; margin-bottom: 18px; align-items: start; }
@media (min-width: 820px) { .mt-dupla { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-ejercicio, .mt-riesgos { padding: 14px 16px; border-radius: 6px; }
.mt-ejercicio { background: var(--mt-salvia-suave); border: 1px solid var(--mt-salvia); }
.mt-riesgos { background: var(--mt-ciruela-suave); border: 1px solid var(--mt-ciruela-2); }
.mt-ejercicio h3, .mt-riesgos h3 { font-size: 1.08rem; margin-bottom: 6px; }
.mt-ejercicio p, .mt-riesgos ul { margin: 0; }

/* Cómo se aprende */
.mt-recuadro { padding: 16px 18px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-recuadro { background: var(--mt-papel); }
.mt-recuadro--salvia { background: var(--mt-salvia-suave) !important; border-color: var(--mt-salvia); }
.mt-recuadro h3 { font-size: 1.1rem; margin-bottom: 8px; }
.mt-recuadro > :last-child { margin-bottom: 0; }
.mt-recuadro + .mt-recuadro { margin-top: 12px; }
.mt-flujo { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 10px; counter-reset: mt-f; }
@media (min-width: 860px) { .mt-flujo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mt-flujo li { margin: 0; counter-increment: mt-f; padding: 14px 16px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-sec--blanca .mt-flujo li { background: var(--mt-papel); }
.mt-flujo li::before { content: counter(mt-f); display: inline-grid; place-items: center; width: 26px; height: 26px; margin-bottom: 8px; border-radius: 5px; background: var(--mt-ciruela); color: #fff; font-weight: 600; font-size: .86rem; }
.mt-flujo h3 { font-size: 1.12rem; margin-bottom: 4px; }
.mt-flujo p { margin: 0; font-size: .94rem; color: var(--mt-gris); }
.mt-dos { display: grid; gap: 12px; }
@media (min-width: 760px) { .mt-dos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mt-dos .mt-recuadro + .mt-recuadro { margin-top: 0; } }
.mt-nohacemos { padding: 26px 22px; border-radius: var(--mt-r); background: var(--mt-tinta); color: #fff; }
@media (min-width: 760px) { .mt-nohacemos { padding: 36px 40px; } }
.mt-nohacemos h2 { color: #fff; }
.mt-nohacemos ul { list-style: none; padding: 0; margin: 0 0 20px; }
.mt-nohacemos li { margin: 0; padding: 9px 0 9px 26px; border-top: 1px solid rgba(255, 255, 255, .15); position: relative; }
.mt-nohacemos li::before { content: "✕"; position: absolute; left: 2px; top: 9px; color: var(--mt-salvia); font-weight: 700; }
.mt-nohacemos :focus-visible { outline-color: var(--mt-salvia); }

/* Guías */
.mt-fecha { display: inline-block; margin: 0 0 14px; padding: 2px 8px; border-radius: 3px; background: var(--mt-salvia-suave); color: var(--mt-salvia-osc); font-size: .84rem; font-weight: 600; }
.mt-articulo h3 { font-size: 1.3rem; margin-top: 1.5em; }
.mt-articulo h3:first-child { margin-top: 0; }
.mt-resuelto { margin: 0 0 18px; padding: 14px 16px; border-radius: 6px; background: var(--mt-ciruela-suave); border: 1px solid var(--mt-ciruela-2); }
.mt-resuelto__t { margin: 0 0 6px; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mt-ciruela); }
.mt-resuelto > :last-child { margin-bottom: 0; }
.mt-doc { max-width: 500px; margin: 0 0 18px; background: var(--mt-blanco); border: 1px solid var(--mt-tinta); border-radius: 3px; box-shadow: 5px 5px 0 var(--mt-salvia); }
.mt-doc__cab { display: flex; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 2px solid var(--mt-tinta); }
.mt-doc__cab strong { font-family: var(--mt-titulos); font-size: 1.12rem; }
.mt-doc__cab span { font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mt-ciruela); }
.mt-doc dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: 0; padding: 4px 14px 6px; }
.mt-doc dt, .mt-doc dd { padding: 7px 0; border-bottom: 1px dotted #BFB3BD; font-size: .92rem; }
.mt-doc dt { color: var(--mt-gris); }
.mt-doc dd { margin: 0; text-align: right; font-weight: 600; }
.mt-doc__pie { margin: 0; padding: 6px 14px 10px; font-size: .8rem; color: var(--mt-gris); }
.mt-control { margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--mt-linea); border-radius: 6px; background: var(--mt-blanco); }
.mt-control h4 { margin: 0 0 6px; font-size: 1.1rem; }
.mt-control ul { list-style: none; padding: 0; margin: 0; }
.mt-control li { margin: 0; padding: 8px 0 8px 30px; border-top: 1px solid var(--mt-linea-2); position: relative; }
.mt-control li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 16px; height: 16px; border: 2px solid var(--mt-ciruela); border-radius: 3px; }
.mt-glosario { display: grid; gap: 8px; margin: 0; }
@media (min-width: 760px) { .mt-glosario { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-glosario div { padding: 12px 14px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: 6px; }
.mt-glosario dt { font: 600 1.1rem/1.3 var(--mt-titulos); margin-bottom: 2px; }
.mt-glosario dd { margin: 0; color: var(--mt-gris); font-size: .95rem; }

/* ==========================================================
   Contacto, formularios y ventana
   ========================================================== */
.mt-contacto { display: grid; gap: 20px; align-items: start; }
@media (min-width: 960px) { .mt-contacto { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; } }
.mt-tarjeta-form { padding: 20px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); box-shadow: var(--mt-sombra); }
@media (min-width: 600px) { .mt-tarjeta-form { padding: 28px; } }
.mt-tarjeta-form > h2 { font-size: 1.6rem; }
.mt-datos dt { font-size: .86rem; color: var(--mt-gris); }
.mt-datos dd { margin: 0 0 10px; font-weight: 600; }
.mt-form { display: grid; gap: 14px; }
.mt-form__par { display: grid; gap: 14px; }
@media (min-width: 640px) { .mt-form__par { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-ctl { display: grid; gap: 5px; align-content: start; }
.mt-ctl__label { font-weight: 600; font-size: .95rem; }
.mt-ctl__opc { font-weight: 400; color: var(--mt-gris); }
.mt-ctl input:not([type="checkbox"]), .mt-ctl select, .mt-ctl textarea, .mt-revision__texto {
  width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid #BFB3BD; border-radius: 6px; background-color: var(--mt-blanco); color: var(--mt-tinta); font: 400 1rem/1.4 var(--mt-texto);
}
.mt-ctl select { appearance: none; -webkit-appearance: none; padding-right: 38px; background-image: linear-gradient(45deg, transparent 50%, var(--mt-tinta) 50%), linear-gradient(135deg, var(--mt-tinta) 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size: 6px 6px; background-repeat: no-repeat; }
.mt-ctl textarea { min-height: 116px; resize: vertical; }
.mt-ctl input:focus, .mt-ctl select:focus, .mt-ctl textarea:focus, .mt-revision__texto:focus { outline: none; border-color: var(--mt-ciruela); box-shadow: 0 0 0 3px rgba(91, 33, 80, .18); }
.mt-ctl[data-error] input, .mt-ctl[data-error] select, .mt-ctl[data-error] textarea { border-color: var(--mt-error); background-color: var(--mt-error-suave); }
.mt-ctl__ayuda { margin: 0; font-size: .85rem; color: var(--mt-gris); }
.mt-ctl__error { margin: 0; font-size: .87rem; font-weight: 600; color: var(--mt-error); }
.mt-ctl__error::before { content: "⚠ "; }
.mt-ctl--check { grid-template-columns: 24px 1fr; gap: 4px 10px; align-items: start; }
.mt-ctl--check input { width: 21px; height: 21px; margin: 2px 0 0; accent-color: var(--mt-ciruela); }
.mt-ctl--check .mt-ctl__error { grid-column: 2; }
.mt-panal { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mt-form__nota { margin: 0; font-size: .85rem; color: var(--mt-gris); }
.mt-revision { display: grid; gap: 12px; }
.mt-revision h3 { margin: 0; font-size: 1.3rem; }
.mt-revision h3:focus { outline: none; }
.mt-revision ol, .mt-revision p { margin: 0; }
.mt-revision__texto { min-height: 210px; font: 400 .9rem/1.5 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; background-color: var(--mt-papel); }
.mt-revision__estado { font-weight: 600; color: var(--mt-salvia-osc); }
.mt-revision__estado:empty { display: none; }

.mt-ventana { width: min(640px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: var(--mt-r); background: var(--mt-blanco); color: var(--mt-tinta); box-shadow: 0 40px 80px -30px rgba(29, 24, 32, .6); overflow: auto; }
.mt-ventana::backdrop { background: rgba(29, 24, 32, .62); }
@media (prefers-reduced-motion: no-preference) {
  .mt-ventana[open] { animation: mt-ventana .24s ease; }
  .mt-ventana[open]::backdrop { animation: mt-abre .24s ease; }
}
@keyframes mt-ventana { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
.mt-ventana__cab { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 18px; background: var(--mt-ciruela-osc); color: #fff; }
.mt-ventana__cab h2 { margin: 0; font-size: 1.3rem; color: #fff; }
.mt-ventana__cuerpo { padding: 18px 20px 22px; }
.mt-ventana__cuerpo > p { color: var(--mt-gris); font-size: .93rem; }
.mt-x { display: grid; place-items: center; width: 40px; height: 40px; margin-left: auto; border: 1.5px solid rgba(255, 255, 255, .5); border-radius: 6px; background: transparent; color: #fff; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.mt-x:hover { background: rgba(255, 255, 255, .12); }
.mt-x:focus-visible { outline-color: var(--mt-salvia); }

/* Arrepentimiento y baja */
.mt-tramite { display: grid; gap: 22px; align-items: start; }
@media (min-width: 960px) { .mt-tramite { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; } }
.mt-pasitos { list-style: none; padding: 0; margin: 0 0 16px; counter-reset: mt-ps; }
.mt-pasitos li { counter-increment: mt-ps; display: grid; grid-template-columns: 30px 1fr; gap: 10px; margin: 0; padding: 9px 0; border-top: 1px solid var(--mt-linea-2); }
.mt-pasitos li::before { content: counter(mt-ps); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 5px; background: var(--mt-ciruela-suave); color: var(--mt-ciruela); font-weight: 600; font-size: .86rem; }

/* Legales */
.mt-legal-grid { display: grid; gap: 26px; align-items: start; }
@media (min-width: 1000px) { .mt-legal-grid { grid-template-columns: 250px minmax(0, 1fr); gap: 52px; } .mt-indice { position: sticky; top: 92px; } }
.mt-indice { padding: 14px 16px; background: var(--mt-blanco); border: 1px solid var(--mt-linea); border-radius: var(--mt-r); }
.mt-indice h2 { margin: 0 0 8px; font: 600 .76rem/1.2 var(--mt-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--mt-gris); }
.mt-indice ol { list-style: none; padding: 0; margin: 0; }
.mt-indice li { margin: 0; }
.mt-indice a { display: block; padding: 5px 0; color: var(--mt-tinta); font-size: .92rem; text-decoration: none; }
.mt-indice a:hover { color: var(--mt-ciruela); text-decoration: underline; }
.mt-legal { max-width: 740px; }
.mt-legal h2 { font-size: 1.5rem; margin: 1.8em 0 .5em; }
.mt-legal h2:first-child { margin-top: 0; }
.mt-cita { padding: 12px 16px; border-left: 3px solid var(--mt-ciruela); background: var(--mt-ciruela-suave); border-radius: 0 var(--mt-r-s) var(--mt-r-s) 0; font-size: .95rem; }
.mt-legal__fecha { margin-top: 2em; font-size: .9rem; font-weight: 600; color: var(--mt-gris); }

@media print {
  .mt-franja, .mt-barra, .mt-subir, .mt-segmento, .mt-deslizador { display: none !important; }
  body { background: #fff; }
  .mt-pie { background: #fff; color: #000; }
  .mt-pie a { color: #000; }
}
.mt-test__res > :last-child { margin-bottom: 0; }
