/* Fuentes de la marca en woff2 (carpeta fuentes/).
   Según el manual de marca (19 · Activos de marca y 20 · Tono y mensajes): Dingos para títulos, Bricolage Condensed para subtítulos,
   botones y menú, Garet para el cuerpo y Fonetika Mono para datos.
   Fonetika Mono es versión de prueba: mientras llega la licencia se usa Space Mono. */
@font-face{font-family:"Dingos";src:url("../fonts/dingos-black.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Dingos";src:url("../fonts/dingos-extrabold.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Bricolage Condensed";src:url("../fonts/bricolage-condensed-extrabold.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Bricolage Condensed";src:url("../fonts/bricolage-condensed-semibold.woff2") format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Bricolage Condensed";src:url("../fonts/bricolage-condensed-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Garet";src:url("../fonts/garet-book.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Garet";src:url("../fonts/garet-heavy.woff2") format("woff2");font-weight:800;font-display:swap}

/* TORUMMA · web pública · sistema visual v2.0 (11 oct 2026), según el mockup aprobado por la fundadora.
   Todo sobre crema: fotos con esquinas redondeadas, tarjetas crema montadas encima de la foto,
   titulares verde oscuro muy gruesos, un solo acento amarillo en los botones, naranja solo en logo y mascota.
   Página de un solo tema (la marca es crema), sin modo oscuro. */
:root{
  color-scheme: light;
  --tm-crema:#F3E8CC; --tm-amarillo:#FFC926; --tm-naranja:#F86015;
  --tm-rojo:#D52518; --tm-lima:#9ABC06; --tm-verde:#19532B;
  --tm-tarjeta:#FAF3DE;              /* superficie de tarjeta: tinte de crema, no es color de marca */
  --tm-linea:rgba(25,83,43,.22);     /* bordes finos de tarjeta: verde oscuro al 22% */
  --tm-texto-suave:rgba(25,83,43,.78); /* texto secundario: verde oscuro al 78% (≥ 4,5:1 sobre crema) */
  --tm-titular:"Dingos","Arial Black",sans-serif;
  --tm-subtitular:"Bricolage Condensed","Arial Narrow",Arial,sans-serif;
  --tm-cuerpo:"Garet","Helvetica Neue",Arial,sans-serif;
  --tm-dato:"Space Mono",ui-monospace,"Courier New",monospace; /* → "Fonetika Mono" con licencia */
  --tm-mano:"Caveat","Bradley Hand",cursive;                     /* temporal: van SVG escritos a mano */
  --tm-fs-hero:clamp(3rem,6.4vw,5.6rem);
  --tm-fs-h2:clamp(2.1rem,4.6vw,3.9rem);
  --tm-fs-h3:clamp(1.25rem,1.7vw,1.5rem);
  --tm-fs-cuerpo:1.0625rem;
  --tm-radio:18px; --tm-radio-s:14px; --tm-pildora:999px;
  --tm-max:1240px; --tm-gutter:clamp(16px,3vw,28px);
}
*{box-sizing:border-box}
.tm{background:var(--tm-crema);color:var(--tm-verde);font-family:var(--tm-cuerpo);font-size:var(--tm-fs-cuerpo);line-height:1.55;-webkit-font-smoothing:antialiased}
.tm img{max-width:100%;display:block}
.tm a{color:inherit;text-underline-offset:3px}
.tm :focus-visible{outline:2px solid var(--tm-verde);outline-offset:2px}
.tm-contenedor{max-width:var(--tm-max);margin-inline:auto;padding-inline:var(--tm-gutter)}
.tm-seccion{padding-block:clamp(40px,5vw,72px)}
.tm h1,.tm h2,.tm h3{font-family:var(--tm-subtitular);font-weight:800;margin:0;text-wrap:balance;letter-spacing:-.01em}
.tm h1,.tm h2{font-family:var(--tm-titular);font-weight:900;letter-spacing:0;line-height:.95}
.tm h1{font-size:var(--tm-fs-hero);line-height:.92}
.tm h2{font-size:var(--tm-fs-h2);line-height:1}
.tm h3{font-size:var(--tm-fs-h3);line-height:1.12;letter-spacing:-.01em}
.tm p{margin:0}
.tm-etiqueta{font-family:var(--tm-dato);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.tm-bajada{font-family:var(--tm-subtitular);font-weight:700;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.15;letter-spacing:-.01em}
.tm-suave{color:var(--tm-texto-suave)}
.tm-cabeza{display:grid;gap:8px;margin-bottom:clamp(20px,3vw,32px)}
.tm-boton{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font-family:var(--tm-subtitular);font-weight:800;font-size:1rem;letter-spacing:-.01em;padding:.85em 1.6em;border-radius:var(--tm-pildora);border:0;text-decoration:none;cursor:pointer;transition:transform .15s}
.tm-boton:hover{transform:translateY(-2px)}
.tm .tm-boton--amarillo{background:var(--tm-amarillo);color:var(--tm-verde)}  /* 5,89:1 */
.tm .tm-boton--verde{background:var(--tm-verde);color:var(--tm-crema)}        /* 7,45:1 */
.tm .tm-boton--linea{background:transparent;color:var(--tm-verde);box-shadow:inset 0 0 0 2px var(--tm-verde)}
.tm-enlace{font-weight:800;text-decoration:underline;text-decoration-thickness:2px}

/* Encabezado */
.tm-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--tm-crema)}
.tm-header .tm-contenedor{display:flex;align-items:center;gap:clamp(16px,4vw,48px);padding-block:14px}
.tm-header .tm-logo img{height:26px;width:auto}
.tm-nav{display:flex;gap:22px;font-family:var(--tm-subtitular);font-weight:700;font-size:.95rem;flex:1}
.tm-nav a{text-decoration:none}
.tm-nav a:hover{text-decoration:underline}
.tm-header-acciones{display:flex;align-items:center;gap:16px;font-family:var(--tm-subtitular);font-weight:700;font-size:.95rem;margin-left:auto}
.tm-header-acciones a:not(.tm-boton){text-decoration:none}
.tm-header .tm-boton{padding:.6em 1.25em;font-size:.95rem}
@media (max-width:860px){.tm-nav,.tm-ingresar{display:none}}
@media (max-width:480px){.tm-header .tm-logo img{height:20px}.tm-header .tm-boton{padding:.55em .9em;font-size:.85rem}.tm-header-acciones{gap:10px;font-size:.85rem}}

/* Hero */
.tm-hero{position:relative;border-radius:var(--tm-radio);overflow:hidden;min-height:clamp(480px,46vw,580px);display:flex;align-items:center;isolation:isolate}
.tm-hero-fondo{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:blur(22px) saturate(1.1);transform:scale(1.15)}
.tm-hero-foto{position:absolute;right:0;top:0;bottom:0;width:62%;z-index:-1;object-fit:cover;object-position:50% 22%;width:62%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%);mask-image:linear-gradient(90deg,transparent 0,#000 18%)}
.tm-hero-tarjeta{background:var(--tm-tarjeta);border-radius:var(--tm-radio);padding:clamp(24px,3.4vw,40px);margin:clamp(14px,3vw,28px);max-width:470px;display:grid;gap:14px}
.tm-hero-tarjeta .tm-boton{justify-self:start;margin-top:10px}
.tm-hero-linea{font-family:var(--tm-dato);font-size:.72rem;letter-spacing:.03em;color:var(--tm-texto-suave)}
@media (max-width:720px){
  .tm-hero{display:block;min-height:0}
  .tm-hero-fondo{display:none}
  .tm-hero-foto{position:relative;width:100%;height:360px;-webkit-mask-image:none;mask-image:none;border-radius:var(--tm-radio)}
  .tm-hero-tarjeta{margin:-64px 10px 0;position:relative}
}

/* Mercado */
.tm-productos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
@media (max-width:980px){.tm-productos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tm-producto{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.tm-producto img{aspect-ratio:1/1;object-fit:cover;width:100%;height:auto}
.tm-producto-cuerpo{padding:14px 14px 16px;display:flex;flex-direction:column;gap:4px}
.tm-producto h3{font-size:1.15rem}
.tm-producto-venta{display:none}
#tm-capas{background:none;padding:0;min-height:0;display:contents}
.tm-producto-pie{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:auto;padding-top:10px}.tm-producto-pie .tm-precio{min-width:0}.tm-producto-pie .tm-ctrl{display:block}.tm-producto-pie .tm-anadir{width:100%}.tm-producto-pie .tm-paso-cant{justify-content:space-between}.tm-producto-pie .tm-paso-cant output{flex:1}
.tm-precio{font-family:var(--tm-subtitular);font-weight:800;font-size:1.15rem;line-height:1.05;font-variant-numeric:tabular-nums}
.tm-precio small{display:block;font-family:var(--tm-dato);font-weight:400;font-size:.66rem;margin-top:3px;color:var(--tm-texto-suave)}
.tm .tm-anadir{background:var(--tm-amarillo);color:var(--tm-verde);border:0;border-radius:var(--tm-pildora);font-family:var(--tm-subtitular);font-weight:800;font-size:.88rem;padding:.55em 1em;cursor:pointer}
.tm-mercado-pie{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.tm-mercado-pie p{font-size:.9rem;color:var(--tm-texto-suave);max-width:60ch}

/* Así funciona · 4 tarjetas */
.tm-pasos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);list-style:none;margin:0;padding:0}
@media (max-width:1060px){.tm-pasos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tm-pasos{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.tm-paso{scroll-snap-align:start}}
.tm-paso{position:relative;border-radius:var(--tm-radio-s);overflow:hidden;display:flex;flex-direction:column;background:var(--tm-tarjeta);border:1px solid var(--tm-linea)}
.tm-paso-foto{aspect-ratio:var(--foto,1/1);flex:none;position:relative}
.tm-paso-foto .tm-sticker{right:10px;bottom:30px;top:auto;z-index:3}
.tm-paso-cal .tm-sticker{top:10px;right:10px;bottom:auto;--s:72px}
.tm-paso-foto > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm-paso-foto{min-height:0;overflow:hidden}
.tm-paso-numero{position:absolute;top:8px;left:16px;z-index:2;font-family:var(--tm-mano);font-weight:500;font-size:4.2rem;line-height:1;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.25)}
.tm-paso-tarjeta{position:relative;z-index:2;background:var(--tm-tarjeta);border-radius:var(--tm-radio-s) var(--tm-radio-s) 0 0;margin-top:-22px;padding:16px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.tm-paso-botones{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.tm-paso-tarjeta .tm-paso-botones .tm-boton{margin-top:0}
.tm-paso-tarjeta p{font-size:.93rem;color:var(--tm-texto-suave)}
.tm-paso-tarjeta .tm-paso-alterno{font-size:.8rem}
.tm-paso-tarjeta p b{color:var(--tm-verde)}
.tm-paso-tarjeta .tm-boton{margin-top:auto;align-self:flex-start;font-size:1.02rem;padding:.85em 1.5em}
.tm-paso-cal{display:flex;align-items:flex-end;justify-content:center;padding:0 18px 34px;overflow:hidden}
.tm-paso-cal .tm-calendario{position:relative;z-index:2;width:100%;max-width:212px;color:var(--tm-verde);margin:0;background:rgba(250,243,222,.95);border-radius:14px;padding:9px 11px 10px;box-shadow:0 8px 22px rgba(25,83,43,.22)}
.tm-paso-foto > img.tm-paso-iso{inset:auto;top:16px;right:16px;left:auto;width:34px;height:auto;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.tm-paso-cal .tm-calendario-grilla{font-size:.68rem}
.tm-paso-cal .tm-calendario-grilla b{font-size:.62rem}
.tm-calendario-cabeza{display:flex;justify-content:space-between;align-items:baseline}
.tm-paso-cal .tm-calendario-mes{color:var(--tm-verde);font-size:1.05rem}
.tm-paso-cal .tm-calendario-anio{color:var(--tm-naranja);font-size:.78rem}
.tm-paso-cal .tm-calendario-grilla{gap:1px 2px;font-size:.74rem}
.tm-paso-cal .tm-calendario-grilla span{width:1.55em;height:1.55em}
.tm-paso-cal .tm-calendario{gap:3px}
.tm-paso-cal .tm-calendario-grilla .elegido{background:var(--tm-amarillo);color:var(--tm-verde);box-shadow:none}
.tm-paso-cal .tm-calendario-grilla .festivo{opacity:.4}
.tm-paso-tarjeta .tm-paso-alterno{margin-top:auto}
.tm-paso-tarjeta .tm-paso-botones + .tm-paso-alterno{margin-top:0}
.tm-paso-tarjeta p:not(.tm-paso-alterno){min-height:5.6em}
.tm-calendario{font-family:var(--tm-cuerpo);font-size:.8rem;display:grid;gap:6px;margin-top:4px}
.tm-calendario-anio{font-family:var(--tm-subtitular);font-weight:800;font-size:.72rem;color:var(--tm-naranja)}
.tm-calendario-mes{font-family:var(--tm-subtitular);font-weight:800;font-size:1.2rem;line-height:1;margin-top:-4px}
.tm-calendario-grilla{display:grid;grid-template-columns:repeat(5,1fr);gap:4px 2px;text-align:center;font-variant-numeric:tabular-nums}
.tm-calendario-grilla b{font-family:var(--tm-subtitular);font-size:.72rem}
.tm-calendario-grilla span{width:2em;height:2em;margin:auto;display:grid;place-items:center;border-radius:50%}
.tm-calendario-grilla .festivo{opacity:.35;text-decoration:line-through}
.tm-calendario-grilla .elegido{box-shadow:inset 0 0 0 2px var(--tm-amarillo);font-weight:800}
.tm-calendario-nota{font-size:.72rem;color:var(--tm-texto-suave)}
.tm-sticker{position:absolute;z-index:3;width:var(--s,96px);aspect-ratio:1;pointer-events:none}
.tm-sticker > img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 3px 6px rgba(25,83,43,.18))}
.tm-paso-ilus{background:var(--tm-amarillo)}
.tm-paso-foto.tm-paso-ilus > img{inset:9% 6% 34px 6%;width:88%;height:auto;max-height:calc(100% - 9% - 34px);object-fit:contain;margin:auto}
.tm-sticker-pendiente{width:100%;height:100%;border-radius:50%;border:2px dashed var(--tm-naranja);background:var(--tm-tarjeta);display:grid;place-items:center;text-align:center;font-family:var(--tm-dato);font-size:.56rem;line-height:1.2;color:var(--tm-naranja);padding:10px;text-transform:uppercase}
.tm-sticker-pendiente img{width:22px;margin:0 auto 4px}
.tm-sticker .tm-sticker-pendiente span{display:block;font:inherit;color:inherit;margin:0}
.tm-paso .tm-sticker{right:10px;bottom:12px;--s:84px}


/* El mercado */
.tm [hidden]{display:none!important}
.tm-cat-cabeza{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.tm .tm-cat-titulo{font-size:clamp(2.6rem,6vw,4.6rem)}
.tm-cat-datos{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.tm-cat-datos li{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:14px;padding:10px 14px;font-size:.8rem;color:var(--tm-texto-suave);display:grid}
.tm-cat-datos b{font-family:var(--tm-titular);font-size:1.35rem;color:var(--tm-verde);line-height:1}
.tm .tm-cat-ayuda{display:flex;align-items:center;gap:14px;margin:22px 0 18px;padding:14px 18px;border-radius:16px;background:var(--tm-amarillo);color:var(--tm-verde);text-decoration:none;flex-wrap:wrap}
.tm-cat-ayuda > span:nth-child(2){flex:1;min-width:220px}
.tm-sticker-mini{width:44px;height:44px;border-radius:50%;background:var(--tm-crema);display:grid;place-items:center;flex:none}
.tm-sticker-mini img{width:16px}
.tm-cat-filtros{position:sticky;top:62px;z-index:5;background:var(--tm-crema);padding:10px 0;display:grid;gap:10px}
.tm-buscar input{width:100%;font:inherit;color:var(--tm-verde);background:#fff;border:1.5px solid var(--tm-linea);border-radius:999px;padding:.75em 1.2em}
.tm-cat-pildoras{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.tm-cat-pildoras button{flex:none;border:0;border-radius:999px;padding:.55em 1em;font-family:var(--tm-subtitular);font-weight:700;font-size:.88rem;background:var(--tm-tarjeta);color:var(--tm-verde);box-shadow:inset 0 0 0 1px var(--tm-linea);cursor:pointer}
.tm-cat-pildoras button[aria-selected="true"]{background:var(--tm-verde);color:var(--tm-crema);box-shadow:none}
.tm-cat-pildoras small{opacity:.7;margin-left:4px;font-weight:400}
.tm .tm-cat-grupo h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:26px 0 12px}
.tm-cat-grupo .tm-productos{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.tm-cat-grupo .tm-productos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.tm-cat-grupo .tm-productos{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-cat-grupo .tm-producto-pie{flex-direction:column;align-items:stretch}.tm-cat-grupo .tm-paso-cant{justify-content:space-between}.tm-barra-bolsa .tm-contenedor{gap:6px;padding-block:8px;font-size:.85rem}.tm-barra-bolsa .tm-boton{padding:.6em 1em}}
.tm-producto .tm-abre-ficha{all:unset;cursor:pointer;display:block}
.tm-cat-nota{color:var(--tm-texto-suave);font-size:.92rem;margin:-6px 0 14px}
.tm-recetas-m{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:clamp(12px,1.6vw,20px)}
@media (max-width:600px){.tm-recetas-m{grid-template-columns:1fr}.tm-receta-m{grid-template-columns:1fr}.tm-receta-m-foto{min-height:0;aspect-ratio:4/3}}
.tm-receta-m{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);overflow:hidden}
.tm-receta-m-foto{position:relative;display:block;min-height:220px;aspect-ratio:1/1;background:var(--tm-crema);overflow:hidden}
.tm-receta-m-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tm-receta-m-pend{display:none}
.tm-receta-m-foto.sin-foto{background:var(--tm-amarillo) radial-gradient(circle at 50% 50%,rgba(243,232,204,.6) 0 40%,transparent 41%)}
.tm-receta-m-foto.sin-foto .tm-receta-m-pend{position:absolute;inset:0;display:grid;place-content:center;gap:6px;text-align:center;padding:18px;color:var(--tm-verde);font-family:var(--tm-subtitular);font-size:1.15rem;line-height:1.15}
.tm-receta-m-pend strong{font-family:var(--tm-dato);font-size:.72rem;letter-spacing:.08em}
.tm-receta-m-pend small{font-family:var(--tm-dato);font-size:.66rem;opacity:.8}
.tm-receta-m-cuerpo{padding:16px;display:flex;flex-direction:column;gap:6px}
.tm-receta-m-cuerpo h3{font-size:1.3rem}
.tm-receta-m-cuerpo p{font-size:.88rem;color:var(--tm-texto-suave);margin:0}
.tm .tm-receta-m-caso{font-family:var(--tm-dato);font-size:.74rem;color:var(--tm-verde)}
.tm-receta-m-cuerpo .tm-boton{margin-top:auto;align-self:flex-start;font-size:.9rem;padding:.7em 1.2em}
.tm-producto .tm-abre-ficha:focus-visible{outline:2px solid var(--tm-verde)}
.tm-paso-cant{display:flex;align-items:center;gap:6px;background:var(--tm-amarillo);border-radius:999px;padding:3px;flex:none}
.tm-paso-cant button{width:30px;height:30px;border-radius:50%;border:0;background:var(--tm-crema);color:var(--tm-verde);font-weight:800;cursor:pointer}
.tm-paso-cant output{font-family:var(--tm-subtitular);font-weight:800;font-size:.78rem;min-width:4.6em;text-align:center;color:var(--tm-verde)}
.tm-cat-vacio,.tm-cat-nota{color:var(--tm-texto-suave);font-size:.85rem;margin-top:22px}
.tm-barra-bolsa{position:sticky;bottom:0;z-index:15;background:var(--tm-verde);color:var(--tm-crema)}
.tm-barra-bolsa .tm-contenedor{display:flex;align-items:center;gap:14px;padding-block:12px;flex-wrap:wrap}
.tm-barra-bolsa .tm-suave{color:var(--tm-amarillo)}
.tm-barra-bolsa .tm-boton{margin-left:auto}
.tm-velo{position:fixed;inset:0;background:rgba(25,83,43,.45);z-index:90}
.tm-bolsa{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--tm-crema);z-index:91;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.12)}
.tm-bolsa-cabeza{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--tm-linea)}
.tm .tm-bolsa-cabeza h2{font-size:1.8rem}
.tm-cerrar{width:38px;height:38px;border-radius:50%;border:0;background:var(--tm-tarjeta);color:var(--tm-verde);font-size:1.4rem;cursor:pointer}
.tm-bolsa-lineas{flex:1;overflow:auto;padding:8px 20px}
.tm-linea{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--tm-linea)}
.tm-linea img{width:56px;height:56px;border-radius:10px;object-fit:cover}
.tm-linea b{display:block;font-family:var(--tm-subtitular)}
.tm-linea small{display:block;color:var(--tm-texto-suave);font-size:.75rem}
.tm-linea .quitar{border:0;background:none;color:var(--tm-verde);text-decoration:underline;font-size:.75rem;cursor:pointer;padding:0;margin-top:4px}
.tm-linea .der{display:grid;justify-items:end;gap:4px}
.tm-bolsa-vacia{padding:24px 20px;flex:1}
.tm-bolsa-pie{padding:14px 20px 20px;border-top:1px solid var(--tm-linea);display:grid;gap:10px;background:var(--tm-tarjeta)}
.tm-minimo-barra{height:8px;border-radius:99px;background:rgba(25,83,43,.12);overflow:hidden}
.tm-minimo-barra span{display:block;height:100%;background:var(--tm-amarillo);width:0}
.tm-minimo p{font-size:.82rem;margin:6px 0 0}
.tm-totales{margin:0;display:grid;gap:4px;font-size:.9rem}
.tm-totales div{display:flex;justify-content:space-between}
.tm-totales dd{margin:0;font-variant-numeric:tabular-nums}
.tm-totales .total{font-family:var(--tm-titular);font-size:1.3rem;margin-top:6px}
.tm-bolsa-nota{font-size:.72rem;color:var(--tm-texto-suave);margin:0}
.tm-continuar{width:100%}
.tm-continuar[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.tm-ficha-velo{position:fixed;inset:0;background:rgba(25,83,43,.45);z-index:92;display:grid;place-items:center;padding:16px}
.tm-ficha{position:relative;background:var(--tm-crema);border-radius:22px;max-width:860px;width:100%;max-height:92vh;overflow:auto;padding:22px}
.tm-ficha .tm-cerrar{position:absolute;top:12px;right:12px}
.tm-ficha-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"foto info" "extra info";grid-template-rows:auto 1fr;gap:20px 28px;align-items:start}
.tm-ficha-grid > figure{grid-area:foto}.tm-ficha-info{grid-area:info}.tm-ficha-extra{grid-area:extra;display:grid;gap:12px}
@media (max-width:700px){.tm-ficha-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"foto" "info" "extra";grid-template-rows:auto}}
.tm-ficha-grid figure{margin:0}
.tm-ficha-grid figure img{width:100%;height:auto;aspect-ratio:1;border-radius:16px;object-fit:cover;display:block}
.tm-ficha-extra h3{margin-top:0}
.tm-ficha-grid figcaption{font-size:.72rem;color:var(--tm-texto-suave);margin-top:6px}
.tm .tm-ficha h2{font-size:clamp(1.9rem,4vw,2.6rem)}
.tm .tm-ficha h3{font-size:1.3rem;line-height:1.1;margin:20px 0 6px}
.tm-ficha p{margin:0;color:var(--tm-texto-suave);font-size:.92rem}
.tm-ficha .tm-precio{font-size:1.6rem;margin:10px 0}
.tm-ficha-accion{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 6px}
.tm .tm-ficha .tm-anadir{font-size:1.15rem;padding:.85em 2.6em}
.tm-ficha .tm-paso-cant{padding:5px}.tm-ficha .tm-paso-cant button{width:42px;height:42px;font-size:1.15rem}.tm-ficha .tm-paso-cant output{font-size:1rem;min-width:7em}
.tm-co2{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:center;background:var(--tm-verde);color:var(--tm-crema);border-radius:16px;padding:16px 16px 16px 18px;margin:0;overflow:hidden}
.tm-co2::after{content:"";position:absolute;right:-26px;bottom:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,201,38,.13)}
.tm-co2-cifra{font-family:var(--tm-titular);font-weight:900;color:var(--tm-amarillo);font-size:2.3rem;line-height:.9;white-space:nowrap}
.tm-co2-cifra small{font-size:.5em;margin-left:3px}
.tm-co2-txt{font-size:.86rem;line-height:1.35;color:var(--tm-crema)}
.tm-co2-txt small{opacity:.75}
.tm .tm-q{position:relative;z-index:1;border:0;background:var(--tm-amarillo);color:var(--tm-verde);border-radius:50%;width:30px;height:30px;font-family:var(--tm-subtitular);font-weight:800;font-size:1rem;cursor:pointer;flex:none}
.tm .tm-q[aria-expanded="true"]{background:var(--tm-crema)}
.tm-pop{grid-column:1/-1;margin:8px 0 0;background:var(--tm-crema);color:var(--tm-verde);border-radius:12px;padding:12px 14px;font-size:.84rem;line-height:1.45;position:relative;z-index:1}
.tm-ficha .tm-co2 p.tm-pop{color:var(--tm-verde);font-size:.84rem;margin-top:8px}
.tm-ficha .tm-guardar{background:var(--tm-tarjeta);border-radius:12px;padding:14px 16px;margin:0}
.tm-ficha-extra .tm-guardar h3{margin:0 0 6px}
.tm-ficha .tm-guardar b{color:var(--tm-verde)}
.tm-co2 button{border:0;background:var(--tm-verde);color:var(--tm-crema);border-radius:50%;width:20px;height:20px;font-size:.7rem;cursor:pointer;margin-left:4px}
.tm-pide{max-width:520px;display:grid;gap:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tm-faq-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
@media (max-width:900px){.tm-faq-grid{grid-template-columns:minmax(0,1fr)}}
.tm-faq-grid .tm-faq{max-width:none}
.tm-faq-lado{position:sticky;top:90px;display:grid;gap:14px}
.tm-faq-lado figure{margin:0;position:relative}
.tm-faq-lado figure > img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--tm-radio);display:block}
.tm-faq-lado .tm-sticker{right:-10px;bottom:-16px;--s:96px}
.tm-faq-contacto{background:var(--tm-verde);color:var(--tm-crema);border-radius:var(--tm-radio-s);padding:20px;display:grid;gap:10px;justify-items:start}
.tm .tm-faq-contacto h3{color:var(--tm-crema);font-size:1.35rem}
.tm-faq-contacto p{color:var(--tm-crema);opacity:.9;font-size:.92rem;margin:0}
.tm .tm-faq-contacto .tm-enlace{color:var(--tm-amarillo)}
.tm-impacto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:clamp(18px,3vw,36px);background:var(--tm-verde);color:var(--tm-crema);border-radius:var(--tm-radio);padding:clamp(22px,3.4vw,42px);position:relative;overflow:hidden}
@media (max-width:900px){.tm-impacto{grid-template-columns:minmax(0,1fr)}}
.tm-impacto .tm-etiqueta{color:var(--tm-amarillo)}
.tm-impacto-cifra{position:relative;display:grid;gap:14px;align-content:start}
.tm-impacto-der{display:flex;flex-direction:column;gap:14px;justify-content:center}
.tm-odo{display:flex;align-items:flex-end;gap:5px;flex-wrap:wrap}
.tm-odo span{display:grid;place-items:center;min-width:1.15em;padding:.08em .12em .02em;background:var(--tm-crema);color:var(--tm-verde);border-radius:10px;font-family:var(--tm-titular);font-weight:900;font-size:clamp(2.6rem,5.6vw,4.2rem);line-height:1;box-shadow:inset 0 -6px 0 rgba(25,83,43,.12)}
.tm-odo i{font-family:var(--tm-titular);font-style:normal;font-size:2.6rem;line-height:1;color:var(--tm-crema)}
.tm-odo em{font-style:normal;font-family:var(--tm-subtitular);font-weight:800;font-size:1.5rem;margin-left:6px;color:var(--tm-crema)}
.tm-impacto-co2{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tm-impacto-co2 b{font-family:var(--tm-titular);font-weight:900;color:var(--tm-amarillo);font-size:clamp(2.4rem,5vw,3.6rem);line-height:.9}
.tm-impacto-co2 span{font-family:var(--tm-subtitular);font-weight:800;font-size:1.2rem;line-height:1.1}
.tm-impacto-co2 small{display:block;font-family:var(--tm-cuerpo);font-weight:400;font-size:.78rem;opacity:.75}
.tm-impacto .tm-pop{margin:0}
.tm .tm-impacto .tm-enlace{color:var(--tm-amarillo)}
.tm-impacto-masc{align-self:flex-end;width:150px;height:auto;transform:rotate(-4deg);margin:-4px 6px -18px 0}
.tm-impacto-productos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:center}
.tm-impacto-productos li{background:var(--tm-crema);color:var(--tm-verde);border-radius:999px 18px 18px 999px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:8px 14px 8px 8px}
.tm-impacto-productos img{width:76px;height:76px;border-radius:50%;object-fit:cover;display:block}
.tm-impacto-productos b{display:block;font-family:var(--tm-titular);font-size:1.55rem;line-height:1}
.tm-impacto-productos span{display:block;font-size:.78rem;color:var(--tm-texto-suave);line-height:1.3;margin-top:3px}
@media (max-width:600px){.tm-impacto-productos{grid-template-columns:1fr}.tm-impacto-masc{width:120px}}
/* Lo de adentro */
.tm-adentro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:stretch}
@media (max-width:860px){.tm-adentro{grid-template-columns:1fr}}
.tm-adentro-foto{position:relative;border-radius:var(--tm-radio);overflow:hidden}
.tm-adentro-foto img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.tm-mano{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.tm-mano-trazo{fill:none;stroke:#fff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px rgba(25,83,43,.75))}
.tm-mano-trazo text{fill:#fff;stroke:none;font-family:var(--tm-mano);font-weight:600;font-size:52px}
.tm-adentro-texto{display:flex;flex-direction:column;justify-content:center;gap:16px}
.tm .tm-adentro-texto h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.tm-adentro-texto p{color:var(--tm-texto-suave);max-width:46ch}
.tm-adentro-texto p b{color:var(--tm-verde)}
.tm-listas{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:.88rem;margin-top:4px}
.tm-listas h3{font-size:1rem;margin-bottom:6px}
.tm-listas ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.tm-listas li{padding-left:1.4em;position:relative;color:var(--tm-texto-suave)}
.tm-listas .si li::before{content:"✓";position:absolute;left:0;font-weight:800;color:var(--tm-verde)}
.tm-listas .no li::before{content:"✕";position:absolute;left:0;font-weight:800;color:var(--tm-rojo)}

/* Lo que pagas */
.tm-cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
@media (max-width:900px){.tm-cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tm-cifra{position:relative;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:20px 18px;display:grid;gap:6px;align-content:start;min-height:170px}
.tm-cifra b{font-family:var(--tm-titular);font-weight:800;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tm-cifra span{font-size:.9rem;color:var(--tm-texto-suave)}
.tm-cifra .tm-sticker{right:-8px;top:-44px;--s:78px}
.tm-reglas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px;margin-top:28px}
@media (max-width:760px){.tm-reglas{grid-template-columns:1fr}}
.tm-reglas h3{font-size:1.15rem;margin-bottom:4px}
.tm-reglas p{color:var(--tm-texto-suave);font-size:.95rem}

/* Zona */
.tm-zona{position:relative;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,48px);align-items:center}
@media (max-width:860px){.tm-zona{grid-template-columns:1fr}}
.tm-zona .tm-sticker{right:24px;top:-44px;--s:92px}
.tm-campo{display:grid;gap:6px}
.tm-campo label{font-family:var(--tm-subtitular);font-weight:700;font-size:.92rem}
.tm-campo input{font:inherit;font-size:1rem;color:var(--tm-verde);background:#fff;border:1.5px solid var(--tm-linea);border-radius:12px;padding:.8em 1em;width:100%}
.tm-campo input:focus{border-color:var(--tm-verde)}
.tm-fila{display:flex;gap:10px;flex-wrap:wrap}
.tm-fila input{flex:1 1 220px}
.tm-resultado{border-radius:12px;padding:12px 14px;background:var(--tm-crema);font-weight:800;font-size:.95rem}

/* Preguntas */
.tm-faq{display:grid;gap:10px;max-width:900px}
.tm-faq details{border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);background:var(--tm-tarjeta)}
.tm-faq summary{cursor:pointer;list-style:none;padding:16px 52px 16px 20px;font-family:var(--tm-subtitular);font-weight:800;font-size:1.08rem;position:relative;letter-spacing:-.01em}
.tm-faq summary::-webkit-details-marker{display:none}
.tm-faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--tm-amarillo);display:grid;place-items:center;font-size:1.1rem}
.tm-faq details[open] summary::after{content:"–"}
.tm-faq details p{padding:0 20px 18px;color:var(--tm-texto-suave);max-width:70ch}

/* Recetas (tarjetas en el inicio) */
.tm-recetas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
@media (max-width:700px){.tm-recetas{grid-template-columns:1fr}}
.tm-receta-tarjeta{display:grid;grid-template-columns:44% 1fr;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);overflow:hidden;text-decoration:none}
.tm-receta-tarjeta .tm-foto-pendiente{min-height:200px}
.tm-receta-tarjeta div.cuerpo{padding:18px;display:grid;gap:8px;align-content:center}
.tm-receta-tarjeta p{font-size:.9rem;color:var(--tm-texto-suave)}

/* Pie */
.tm-pie{padding-block:24px 36px;font-size:.8rem}
.tm-pie hr{border:0;border-top:1px solid var(--tm-linea);margin:0 0 26px}
.tm-pie-fila{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.tm-pie-marca{display:flex;align-items:center;gap:14px;padding-right:18px;border-right:1px solid var(--tm-linea)}
.tm-pie-marca .iso{height:44px;width:auto}
.tm-pie-marca .logo{height:22px;width:auto}
.tm-pie-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tm .tm-pie-links a{text-decoration:none;font-family:var(--tm-subtitular);font-weight:800;font-size:.95rem;color:var(--tm-verde);padding:.6em 1.15em;border-radius:var(--tm-pildora);box-shadow:inset 0 0 0 2px var(--tm-verde);transition:background .15s,color .15s}
.tm .tm-pie-links a:hover{background:var(--tm-verde);color:var(--tm-crema)}
.tm .tm-pie-links a.tm-pie-principal{background:var(--tm-amarillo);box-shadow:none}
.tm-pie-base{margin-top:28px;padding-top:18px;border-top:1px solid var(--tm-linea);display:grid;gap:10px}
.tm-pie-legales{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0}
.tm .tm-pie-legales a{color:var(--tm-verde);font-family:var(--tm-dato);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:2px 0}
.tm .tm-pie-legales a + a::before{content:"·";display:inline-block;margin:0 12px;color:var(--tm-naranja);font-weight:700}
.tm .tm-pie-legales a:hover{color:var(--tm-naranja)}
.tm-pie-legal{margin:0;color:var(--tm-texto-suave);font-size:.75rem}
.tm-pie .tm-sticker{right:0;top:-70px;--s:90px}

/* Fotos y stickers que faltan: marcador provisional */
.tm-foto-pendiente{background:#e9ddba repeating-linear-gradient(45deg,rgba(25,83,43,.06) 0 10px,transparent 10px 20px);color:var(--tm-verde);display:grid;place-items:center;text-align:center;font-family:var(--tm-dato);font-size:.7rem;padding:14px;width:100%;height:100%}
.tm-foto-pendiente strong{display:block;font-size:.9rem}

/* Ventana de registro */
.tm-modal{position:relative;max-width:920px;margin:auto;background:var(--tm-tarjeta);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;box-shadow:0 0 0 1px var(--tm-linea)}
@media (max-width:820px){.tm-modal{grid-template-columns:1fr}}
.tm-modal-foto{position:relative;min-height:280px}
.tm-modal-foto > img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.tm-modal-foto .tm-sticker{left:16px;bottom:16px;--s:110px}
.tm-modal-cuerpo{padding:clamp(22px,3.4vw,36px);display:grid;gap:12px;align-content:start}
.tm-modal-cerrar{position:absolute;top:12px;right:12px;z-index:4;width:38px;height:38px;border-radius:50%;border:0;background:var(--tm-crema);color:var(--tm-verde);font-size:1.2rem;font-weight:800;cursor:pointer}
.tm-modal h2{font-size:clamp(2.2rem,4vw,3rem)}
.tm-paso-alterno{font-size:.8rem;color:var(--tm-texto-suave);margin-top:8px}
.tm-paso-alterno .tm-enlace{font-weight:600}
.tm-calif-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 22px;align-items:center;background:var(--tm-tarjeta);border-radius:22px;box-shadow:0 0 0 1px var(--tm-linea);padding:22px 26px;margin-top:10px}
.tm-calif-banner .tm-sticker{position:static;--s:100px;grid-row:span 2}
.tm-calif-banner h3{font-size:1.45rem}
.tm-calif-banner p{color:var(--tm-texto-suave);margin:4px 0 0}
.tm-calif-banner .tm-pregunta{grid-column:2}
.tm-calif-acciones{grid-column:3;grid-row:1 / span 2;display:grid;gap:10px;justify-items:center}
@media (max-width:820px){.tm-calif-banner{grid-template-columns:minmax(0,1fr);padding:20px}.tm-calif-banner .tm-sticker{position:absolute;right:12px;top:-30px;--s:70px}.tm-calif-banner .tm-pregunta,.tm-calif-acciones{grid-column:1;grid-row:auto;justify-items:start}.tm-calif-banner-texto{padding-right:64px}}
.tm-boton-texto{background:none;border:0;color:var(--tm-verde);font:inherit;font-size:.9rem;cursor:pointer}
.tm-pregunta{border:0;margin:0;padding:0;display:grid;gap:8px}
.tm-pregunta legend{font-family:var(--tm-subtitular);font-weight:800;font-size:1.05rem;margin-bottom:8px;padding:0}
.tm-escala{gap:6px;background:none;padding:0}
.tm-pregunta .tm-interruptor{justify-self:start;width:max-content;max-width:100%;flex-wrap:wrap}
.tm-pregunta .tm-interruptor button{font-size:.92rem}
.tm .tm-escala button{width:46px;height:46px;border-radius:50%;background:var(--tm-crema);box-shadow:inset 0 0 0 1.5px var(--tm-linea);font-size:1.1rem;font-weight:800;padding:0}
.tm-escala-extremos{display:flex;justify-content:space-between;gap:12px;width:254px;max-width:100%;font-family:var(--tm-dato);font-size:.68rem;color:var(--tm-texto-suave)}
.tm-calif{max-width:760px}
.tm-calif-form{display:grid;gap:26px;margin:22px 0 28px;background:var(--tm-tarjeta);border-radius:22px;padding:clamp(20px,3vw,32px);box-shadow:0 0 0 1px var(--tm-linea)}
.tm-calif-form textarea{font:inherit;color:var(--tm-verde);background:#fff;border:1.5px solid var(--tm-linea);border-radius:12px;padding:.8em 1em;width:100%;resize:vertical}
.tm-calif-aviso{background:var(--tm-crema);border-radius:12px;padding:12px 14px;font-size:.9rem;margin:0}
.tm-calif-gracias{max-width:520px}
.tm-chips{display:flex;flex-wrap:wrap;gap:6px}
.tm-chip{background:var(--tm-crema);border-radius:999px;padding:.4em .85em;font-family:var(--tm-subtitular);font-weight:700;font-size:.78rem}
.tm-ayuda{font-size:.78rem;color:var(--tm-texto-suave)}
.tm-casilla{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:.76rem;line-height:1.45;align-items:start;color:var(--tm-texto-suave)}
.tm-casilla input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--tm-verde)}
.tm-casilla b{color:var(--tm-verde)}
.tm-letra-pie{font-size:.74rem;color:var(--tm-texto-suave);text-align:center}
.tm-listo{background:var(--tm-tarjeta);border-radius:22px;padding:clamp(22px,3vw,32px);display:grid;gap:12px;box-shadow:0 0 0 1px var(--tm-linea);position:relative;align-content:start}
.tm-listo h3{font-size:1.6rem}
.tm-listo p{color:var(--tm-texto-suave);font-size:.95rem}
.tm-local{background:var(--tm-amarillo);border-radius:14px;padding:14px 16px;font-weight:800}

/* Página de receta */
.tm-receta-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.tm-receta-hero{grid-template-columns:1fr}}
.tm-receta-foto{border-radius:var(--tm-radio);overflow:hidden;aspect-ratio:4/3}
.tm-calculadora{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(18px,2.6vw,28px);display:grid;gap:14px}
.tm-contador{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tm-contador span{font-family:var(--tm-subtitular);font-weight:700}
.tm-contador div{display:flex;align-items:center;gap:10px}
.tm-contador button{width:36px;height:36px;border-radius:50%;border:0;background:var(--tm-crema);color:var(--tm-verde);font-weight:800;font-size:1.1rem;cursor:pointer}
.tm-contador output{font-family:var(--tm-subtitular);font-weight:800;font-size:1.3rem;min-width:1.4em;text-align:center}
.tm-sino{display:flex;justify-content:space-between;align-items:center;font-size:.92rem}
.tm-interruptor{display:inline-flex;background:var(--tm-crema);border-radius:999px;padding:3px}
.tm-interruptor button{border:0;background:transparent;border-radius:999px;padding:.35em .9em;font-family:var(--tm-subtitular);font-weight:700;color:var(--tm-verde);cursor:pointer}
.tm-interruptor button[aria-pressed="true"]{background:var(--tm-verde);color:var(--tm-crema)}
/* v2.7 · calificación: bloques, chips de selección y puntos */
.tm .tm-calif-bloque{font-family:var(--tm-titular);font-weight:900;font-size:1.6rem;line-height:1;padding-top:6px;border-top:1px solid var(--tm-linea)}
.tm .tm-calif-bloque:first-child{border-top:0;padding-top:0}
.tm .tm-pregunta .tm-chips-sel{display:flex;flex-wrap:wrap;gap:8px;background:none;padding:0;width:auto}
.tm .tm-chips-sel button{background:var(--tm-crema);box-shadow:inset 0 0 0 1.5px var(--tm-linea);padding:.5em 1em}
.tm .tm-calif-puntos{font-family:var(--tm-dato);font-size:.8rem;color:var(--tm-verde);background:var(--tm-amarillo);border-radius:12px;padding:.7em 1em;justify-self:start}
.tm .tm-calif-form .tm-campo label{font-size:1.15rem;line-height:1.2}
.tm .tm-calif-form .tm-campo label .tm-suave{font-size:.9rem;font-weight:400}
.tm-lineas{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem}
.tm-lineas li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;border-bottom:1px dashed var(--tm-linea);padding-bottom:6px;font-variant-numeric:tabular-nums}
.tm-lineas small{grid-column:1/-1;color:var(--tm-texto-suave);font-size:.75rem;margin-top:-4px}
.tm-total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--tm-titular);font-weight:800;font-size:1.3rem}
.tm-total span:last-child{font-size:.9rem;font-weight:700;color:var(--tm-texto-suave)}
.tm-receta-selector{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.9rem;color:var(--tm-texto-suave)}
.tm-calc-nota{font-size:.75rem;color:var(--tm-texto-suave);margin:0}
.tm-aviso{background:var(--tm-crema);border-radius:12px;padding:10px 12px;font-size:.85rem}
.tm-receta-cuerpo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin-top:clamp(28px,4vw,48px)}
@media (max-width:860px){.tm-receta-cuerpo{grid-template-columns:1fr}}
.tm-ingredientes{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.93rem}
.tm-ingredientes li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--tm-linea);padding-bottom:6px}
.tm-ingredientes li span:last-child{color:var(--tm-texto-suave);text-align:right}
.tm-pasos-receta{margin:0;padding-left:1.3em;display:grid;gap:10px;font-size:.95rem}
.tm-despensa{font-size:.85rem;font-style:italic;color:var(--tm-texto-suave);margin-top:8px}
.tm-no-vendemos{font-style:normal;color:var(--tm-naranja,#F86015);font-weight:700}
.tm-calc-despensa{font-size:.95rem;margin:0}

/* Páginas legales */
.tm-pol{background:#fff;border-radius:var(--tm-radio);overflow:hidden;box-shadow:0 0 0 1px var(--tm-linea)}
.tm-pol .pol-cabeza{background:var(--tm-verde);color:var(--tm-crema);padding:28px clamp(18px,5vw,48px) 36px}
.tm-pol .kicker{font-family:var(--tm-subtitular);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-amarillo);font-size:.85rem}
.tm .tm-pol h1{font-family:var(--tm-titular);font-size:clamp(2rem,5vw,3.6rem);line-height:1.02;margin:8px 0 14px;color:var(--tm-crema)}
.tm-pol .vigencia{font-size:.92rem;opacity:.9}
.tm-pol nav.indice{background:var(--tm-crema);padding:20px clamp(18px,5vw,48px)}
.tm-pol nav.indice p{font-family:var(--tm-subtitular);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;margin:0 0 10px}
.tm-pol nav.indice ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tm .tm-pol nav.indice a{display:inline-block;background:#fff;color:var(--tm-verde);text-decoration:none;border:2px solid var(--tm-verde);border-radius:999px;padding:4px 13px;font-size:.85rem}
.tm .tm-pol nav.indice a:hover{background:var(--tm-verde);color:var(--tm-crema)}
.tm-pol .botones{padding:18px clamp(18px,5vw,48px) 0;display:flex;gap:10px;flex-wrap:wrap}
.tm .tm-pol .botones button,.tm .tm-pol .botones a{font-family:var(--tm-subtitular);font-weight:800;font-size:.88rem;background:var(--tm-amarillo);color:var(--tm-verde);border:0;border-radius:999px;padding:9px 18px;cursor:pointer;text-decoration:none}
.tm-pol main{padding:6px clamp(18px,5vw,48px) 40px;max-width:1000px}
.tm-pol .intro{margin:20px 0 8px}
.tm-pol details{border-bottom:2px solid var(--tm-crema)}
.tm-pol details summary{list-style:none;cursor:pointer;padding:16px 44px 16px 0;position:relative;font-family:var(--tm-subtitular);font-weight:800;font-size:1.3rem;line-height:1.25}
.tm-pol details summary::-webkit-details-marker{display:none}
.tm-pol details summary::after{content:"+";position:absolute;right:6px;top:10px;font-family:var(--tm-titular);font-size:1.8rem;color:var(--tm-naranja)}
.tm-pol details[open] summary::after{content:"–"}
.tm-pol .cuerpo{padding:0 0 16px}
.tm-pol .cuerpo p,.tm-pol .cuerpo li{margin:0 0 10px}
.tm .tm-pol h3{font-family:var(--tm-subtitular);font-size:1.1rem;margin:20px 0 6px}
.tm-pol blockquote{margin:14px 0;padding:14px 18px;background:var(--tm-crema);border-radius:10px}
.tm-pol .tabla{overflow-x:auto}
.tm-pol table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.9rem;min-width:480px}
.tm-pol th{background:var(--tm-verde);color:var(--tm-crema);text-align:left;padding:8px 10px}
.tm-pol td{border-bottom:1px solid var(--tm-crema);padding:8px 10px;vertical-align:top}
.tm-legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.tm-legal{grid-template-columns:minmax(0,1fr)}}
.tm-legal-pestanas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tm-legal-pestanas button{border:0;border-radius:999px;padding:.6em 1.1em;font-family:var(--tm-subtitular);font-weight:700;font-size:.9rem;background:var(--tm-tarjeta);color:var(--tm-verde);box-shadow:inset 0 0 0 1px var(--tm-linea);cursor:pointer}
.tm-legal-pestanas button[aria-selected="true"]{background:var(--tm-verde);color:var(--tm-crema);box-shadow:none}
.tm-indice{position:sticky;top:80px;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:16px;font-size:.82rem;max-height:calc(100vh - 110px);overflow:auto}
@media (max-width:900px){.tm-indice{position:static;max-height:260px}}
.tm-indice ol{margin:8px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}
.tm-indice a{text-decoration:none;color:var(--tm-texto-suave)}
.tm-indice a:hover{color:var(--tm-verde);text-decoration:underline}
.tm-documento{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(20px,4vw,48px);font-size:.98rem;line-height:1.65;min-width:0}
.tm-documento h1{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.05;margin-bottom:12px}
.tm-documento h2{font-size:clamp(1.35rem,2.2vw,1.7rem);margin:34px 0 10px;scroll-margin-top:90px}
.tm-documento h3{font-size:1.12rem;margin:22px 0 6px;scroll-margin-top:90px}
.tm-documento p,.tm-documento li{max-width:72ch;color:var(--tm-verde)}
.tm-documento p{margin:0 0 12px}
.tm-documento ul,.tm-documento ol{margin:0 0 14px;padding-left:1.3em}
.tm-documento .tabla{overflow-x:auto;margin:6px 0 18px}
.tm-documento table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:520px}
.tm-documento th,.tm-documento td{border:1px solid var(--tm-linea);padding:8px 10px;text-align:left;vertical-align:top}
.tm-documento thead tr:first-child th{background:var(--tm-crema)}
.tm-documento colgroup{display:none}
.tm-legal-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-family:var(--tm-dato);font-size:.72rem;color:var(--tm-texto-suave);margin-bottom:18px}

/* v2.8 · políticas: columna con foto y lo más importante; letras más grandes */
.tm-legal-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
@media (max-width:980px){.tm-legal-grid{grid-template-columns:1fr}.tm-legal-lado{order:-1}.tm-legal-lado img{aspect-ratio:16/9}}
.tm-legal-lado{position:sticky;top:96px;display:grid;gap:16px}
.tm-legal-lado img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--tm-radio);display:block}
.tm-legal-caja{background:var(--tm-tarjeta);border-radius:20px;padding:20px 22px;box-shadow:0 0 0 1px var(--tm-linea);display:grid;gap:10px}
.tm-legal-caja ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tm .tm-legal-caja li b{display:block;font-family:var(--tm-subtitular);font-size:1.25rem;line-height:1.1}
.tm-legal-caja li span{font-size:.95rem;color:var(--tm-texto-suave);line-height:1.45}
.tm-legal-caja--verde{background:var(--tm-verde);color:var(--tm-crema);box-shadow:none}
.tm .tm-legal-caja--verde b{font-family:var(--tm-subtitular);font-size:1.35rem}
.tm .tm-legal-caja--verde a{color:var(--tm-amarillo);font-weight:700}
.tm-legal-caja--verde span{font-size:.9rem;opacity:.9}
.tm .tm-pol{background:var(--tm-tarjeta)}
.tm .tm-pol main{max-width:none;overflow-x:auto}
.tm .tm-legal-pestanas button{font-size:1.12rem;padding:.7em 1.3em}
.tm .tm-pol .botones button,.tm .tm-pol .botones a{font-size:1.08rem;padding:12px 22px}
.tm .tm-pol nav.indice a{font-size:1rem;padding:6px 15px}
.tm .tm-pol nav.indice p{font-size:.9rem}
.tm .tm-pol details summary{font-size:1.5rem}

/* 404 */
.tm-error{display:grid;place-items:center;text-align:center;gap:14px;padding-block:clamp(48px,8vw,110px)}
.tm-error .tm-sticker{position:static;--s:150px}

@media (prefers-reduced-motion:reduce){.tm-boton{transition:none}.tm-boton:hover{transform:none}}

/* ===== Portal de la aliada (/admin-pedidos, /admin-rutas, /ruta, /aliada-recibos) · v1.0 · 12 oct 2026
   Misma marca de la web pública. Prefijo tm-al-. Pensado primero para celular: la aliada lo usa en la bodega y en la ruta. */
.tm-al{background:var(--tm-crema);color:var(--tm-verde);font-family:var(--tm-cuerpo);font-size:1.0625rem;line-height:1.55;padding-bottom:48px}
.tm-al-cab{background:var(--tm-verde);color:var(--tm-crema)}
.tm-al-cab-in{max-width:1100px;margin:auto;padding:14px var(--tm-gutter);display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.tm-al-cab img{height:22px;width:auto;display:block}
.tm-al-cab-rol{font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-amarillo)}
.tm-al-nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.tm-al-nav a{font-family:var(--tm-subtitular);font-weight:700;font-size:1.05rem;color:var(--tm-crema);text-decoration:none;padding:.45em 1em;border-radius:var(--tm-pildora)}
.tm-al-nav a[aria-current="page"]{background:var(--tm-amarillo);color:var(--tm-verde)}
.tm-al-nav a:hover{background:rgba(243,232,204,.14)}
.tm-al-cuerpo{max-width:1100px;margin:auto;padding:28px var(--tm-gutter) 0;display:grid;gap:24px}
.tm-al-titulo h1{font-family:var(--tm-titular);font-weight:900;font-size:clamp(2rem,4.4vw,3rem);line-height:1;letter-spacing:-.02em;margin:.15em 0 .2em}
.tm-al-titulo p{margin:0;color:var(--tm-texto-suave);max-width:62ch}
.tm-al h2{font-family:var(--tm-subtitular);font-weight:800;font-size:1.65rem;line-height:1.1;margin:0}
.tm-al h3{font-family:var(--tm-subtitular);font-weight:800;font-size:1.3rem;line-height:1.15;margin:0}
.tm-al-tarjeta{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(18px,3vw,26px);display:grid;gap:14px}
.tm-al-dato{font-family:var(--tm-dato)}
/* Línea del día: los tiempos del acuerdo */
.tm-al-reloj{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tm-al-reloj li{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:12px;display:grid;gap:2px;font-size:.95rem}
.tm-al-reloj b{font-family:var(--tm-dato);font-size:1.05rem}
.tm-al-reloj li.ya{opacity:.6}
.tm-al-reloj li.ahora{background:var(--tm-amarillo);border-color:var(--tm-amarillo)}
@media (max-width:820px){.tm-al-reloj{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Acuse */
.tm-al-acuse{background:var(--tm-verde);color:var(--tm-crema);border:0}
.tm-al-acuse .tm-etiqueta{color:var(--tm-amarillo)}
.tm-al-acuse-cifras{display:flex;gap:10px 28px;flex-wrap:wrap}
.tm-al-acuse-cifras div{display:grid}
.tm-al-acuse-cifras b{font-family:var(--tm-titular);font-size:2.2rem;line-height:1}
.tm-al-acuse .tm-boton{justify-self:start}
.tm-al-acuse-ok{display:flex;gap:10px;align-items:center;font-family:var(--tm-subtitular);font-weight:700;font-size:1.15rem}
/* Cifras del día */
.tm-al-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tm-al-kpis button{all:unset;cursor:pointer;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px;display:grid;gap:2px}
.tm-al-kpis button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--tm-verde)}
.tm-al-kpis b{font-family:var(--tm-titular);font-size:2rem;line-height:1}
.tm-al-kpis span{font-size:.95rem;color:var(--tm-texto-suave)}
@media (max-width:640px){.tm-al-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Lista de pedidos */
.tm-al-zona{display:grid;gap:10px}
.tm-al-zona>h3 small{font-family:var(--tm-cuerpo);font-weight:400;font-size:1rem;color:var(--tm-texto-suave)}
.tm-al-ped{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center}
.tm-al-ped-nombre{font-family:var(--tm-subtitular);font-weight:800;font-size:1.2rem}
.tm-al-ped-info{font-size:.98rem;color:var(--tm-texto-suave)}
.tm-al-ped-acc{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tm-al-ped-acc .tm-boton{min-width:150px;padding:.7em 1.2em}
@media (max-width:640px){.tm-al-ped{grid-template-columns:minmax(0,1fr)}.tm-al-ped-acc{justify-content:stretch}.tm-al-ped-acc .tm-boton{flex:1 1 0}}
/* Estados */
.tm-al-estado{display:inline-flex;align-items:center;gap:6px;font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.35em .8em;border-radius:var(--tm-pildora);background:rgba(25,83,43,.1);white-space:nowrap}
.tm-al-estado::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.tm-al-estado--armar{background:#FFE9A8}
.tm-al-estado--ruta{background:#E4EEC0}
.tm-al-estado--entregado,.tm-al-estado--cerrado{background:var(--tm-verde);color:var(--tm-crema)}
.tm-al-estado--falta,.tm-al-estado--detenido{background:#FDD9C6;color:#9A3208}
.tm-al-estado--pagado{background:var(--tm-lima);color:var(--tm-verde)}
/* Armar un pedido */
.tm-al-armar{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:860px){.tm-al-armar{grid-template-columns:minmax(0,1fr)}}
.tm-al-linea{border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);background:#fff;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:4px 14px;align-items:center}
.tm-al-linea-nombre{font-family:var(--tm-subtitular);font-weight:800;font-size:1.15rem}
.tm-al-linea-rango{font-size:.95rem;color:var(--tm-texto-suave)}
.tm-al-linea label{grid-column:2;grid-row:1/span 2;display:grid;gap:4px;font-size:.85rem;font-family:var(--tm-dato);text-transform:uppercase;letter-spacing:.04em}
.tm-al-linea input{font:700 1.25rem var(--tm-dato);color:var(--tm-verde);border:2px solid var(--tm-linea);border-radius:12px;padding:.45em .6em;width:100%;box-sizing:border-box;background:var(--tm-crema)}
.tm-al-linea-msg{grid-column:1/-1;font-size:.95rem;font-weight:700}
.tm-al-linea.ok input{border-color:var(--tm-lima)}
.tm-al-linea.ok .tm-al-linea-msg{color:#3d5a00}
.tm-al-linea.fuera{border-color:var(--tm-naranja)}
.tm-al-linea.fuera input{border-color:var(--tm-naranja)}
.tm-al-linea.fuera .tm-al-linea-msg{color:#9A3208}
.tm-al-linea.cortesia{background:#FFF7DC;border-style:dashed}
@media (max-width:520px){.tm-al-linea{grid-template-columns:minmax(0,1fr)}.tm-al-linea label{grid-column:1;grid-row:auto}}
.tm-al-foto{border:2px dashed var(--tm-linea);border-radius:var(--tm-radio-s);background:#fff;min-height:170px;display:grid;place-items:center;text-align:center;padding:18px;gap:8px;cursor:pointer}
.tm-al-foto b{font-family:var(--tm-subtitular);font-size:1.15rem}
.tm-al-foto.lista{border-style:solid;padding:0;overflow:hidden}
.tm-al-foto.lista img{width:100%;height:220px;object-fit:cover;display:block}
.tm-al-falta{background:#FDD9C6;color:#7a2806;border-radius:var(--tm-radio-s);padding:12px 14px;font-size:.98rem}
.tm-al-falta b{display:block;font-family:var(--tm-subtitular);font-size:1.1rem}
.tm-al-boton-bloq{opacity:.45;pointer-events:none}
.tm-al-grupo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tm-al-grupo>.tm-boton{width:100%}
@media (max-width:520px){.tm-al-grupo{grid-template-columns:minmax(0,1fr)}}
/* Entregar */
.tm-al-entregar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:860px){.tm-al-entregar{grid-template-columns:minmax(0,1fr)}}
.tm-al-campo{display:grid;gap:6px}
.tm-al-campo>span{font-family:var(--tm-dato);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.tm-al-campo input[type=text],.tm-al-campo select,.tm-al-campo textarea{font:1.05rem var(--tm-cuerpo);color:var(--tm-verde);border:2px solid var(--tm-linea);border-radius:12px;padding:.6em .75em;background:#fff}
.tm-al-firma{height:110px;border:2px solid var(--tm-linea);border-radius:12px;background:#fff;position:relative}
.tm-al-firma::after{content:"Firma aquí";position:absolute;left:14px;bottom:10px;font-size:.9rem;color:rgba(25,83,43,.45)}
.tm-al-check{display:flex;gap:10px;align-items:center;font-size:1rem}
.tm-al-check input{width:20px;height:20px;accent-color:var(--tm-verde)}
/* Recibos */
.tm-al-recibos{display:grid;gap:10px}
.tm-al-rec{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)) auto;gap:6px 16px;align-items:center;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px}
.tm-al-rec small{display:block;font-size:.85rem;color:var(--tm-texto-suave)}
.tm-al-rec .tm-al-dato{font-size:1.05rem;font-weight:700}
.tm-al-rec.head{background:none;border:0;padding:0 16px;font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
@media (max-width:760px){.tm-al-rec{grid-template-columns:minmax(0,1fr);gap:4px}.tm-al-rec.head{display:none}.tm-al-rec [data-l]::before{content:attr(data-l) " · ";font-family:var(--tm-cuerpo);font-weight:400;font-size:.92rem;color:var(--tm-texto-suave)}.tm-al-rec>div:last-child{margin-top:6px}}
.tm .tm-al .tm-boton{font-size:1.2rem}
.tm-al-foto b{font-size:1.25rem}
.tm-al-recibo{background:#fff;border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(18px,3vw,30px);display:grid;gap:16px}
.tm-al-recibo-cab{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;align-items:flex-start;border-bottom:2px solid var(--tm-verde);padding-bottom:14px}
.tm-al-recibo-cab img{height:22px}
.tm-al-recibo-cab dl{margin:0;display:grid;grid-template-columns:auto auto;gap:2px 14px;font-size:.95rem}
.tm-al-recibo-cab dt{color:var(--tm-texto-suave)}
.tm-al-recibo-cab dd{margin:0;font-family:var(--tm-dato);font-weight:700;text-align:right}
.tm-al-tabla{width:100%;border-collapse:collapse;font-size:.98rem}
.tm-al-tabla th{font-family:var(--tm-dato);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:8px 10px;border-bottom:1px solid var(--tm-linea);font-weight:700}
.tm-al-tabla td{padding:9px 10px;border-bottom:1px dashed var(--tm-linea);vertical-align:top}
.tm-al-tabla td.n,.tm-al-tabla th.n{text-align:right;font-family:var(--tm-dato);white-space:nowrap}
.tm-al-tabla tr.ped td{font-family:var(--tm-subtitular);font-weight:800;font-size:1.05rem;background:var(--tm-tarjeta);border-bottom:0}
.tm-al-tabla tr.desc td{color:#9A3208}
.tm-al-tabla-env{overflow-x:auto}
.tm-al-totales{display:grid;gap:6px;justify-self:end;min-width:min(100%,360px)}
.tm-al-totales div{display:flex;justify-content:space-between;gap:16px;font-size:1rem}
.tm-al-totales div span:last-child{font-family:var(--tm-dato)}
.tm-al-totales .total{border-top:2px solid var(--tm-verde);padding-top:8px;font-family:var(--tm-subtitular);font-weight:800;font-size:1.45rem}
.tm-al-aviso{background:var(--tm-tarjeta);border-left:4px solid var(--tm-amarillo);border-radius:8px;padding:12px 14px;font-size:.98rem}
.tm-al-factura{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.tm-al-factura{grid-template-columns:minmax(0,1fr)}}
/* Contadora */
.tm-al-cont{display:grid;grid-template-columns:28px minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);gap:6px 14px;align-items:center;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:12px 16px}
.tm-al-cont.head{background:none;border:0;font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;padding:0 16px}
.tm-al-cont input[type=text]{font:1rem var(--tm-dato);border:2px solid var(--tm-linea);border-radius:10px;padding:.4em .6em;width:100%;box-sizing:border-box;background:#fff;color:var(--tm-verde)}
@media (max-width:760px){.tm-al-cont{grid-template-columns:28px minmax(0,1fr)}.tm-al-cont>*:nth-child(n+3){grid-column:2}.tm-al-cont.head{display:none}}
/* ===== Panel de administración (/admin y sus pantallas) · v1.0 · 12 oct 2026. Prefijo tm-ad-; usa también las piezas tm-al-. */
.tm-ad-marco{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%}
.tm-ad-lado{background:var(--tm-verde);color:var(--tm-crema);padding:22px 14px;display:grid;align-content:start;gap:4px}
.tm-ad-lado img{height:20px;width:auto;margin:0 8px 18px}
.tm-ad-lado small{font-family:var(--tm-dato);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-amarillo);margin:14px 8px 4px}
.tm-ad-lado a{font-family:var(--tm-subtitular);font-weight:700;font-size:1.08rem;color:var(--tm-crema);text-decoration:none;padding:.5em .8em;border-radius:12px}
.tm-ad-lado a[aria-current="page"]{background:var(--tm-amarillo);color:var(--tm-verde)}
.tm-ad-lado a:hover{background:rgba(243,232,204,.12)}
.tm-ad-lado a b{float:right;font-family:var(--tm-dato);font-size:.8rem;background:var(--tm-naranja);color:#fff;border-radius:999px;padding:.1em .55em}
@media (max-width:900px){.tm-ad-marco{grid-template-columns:minmax(0,1fr)}.tm-ad-lado{display:flex;overflow-x:auto;gap:6px;padding:12px}.tm-ad-lado img,.tm-ad-lado small{display:none}.tm-ad-lado a{white-space:nowrap}}
.tm-ad .tm-al-cuerpo{max-width:1180px;margin:0}
.tm-ad-barra{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tm-ad-pills{display:flex;gap:6px;flex-wrap:wrap}
.tm-ad-pills button{font-family:var(--tm-subtitular);font-weight:700;font-size:1.05rem;color:var(--tm-verde);background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:999px;padding:.45em 1em;cursor:pointer}
.tm-ad-pills button[aria-pressed="true"]{background:var(--tm-verde);color:var(--tm-crema);border-color:var(--tm-verde)}
.tm-ad-barra .tm-boton{margin-left:auto}
.tm-ad-tabla{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);overflow-x:auto}
.tm-ad-tabla table{width:100%;border-collapse:collapse;font-size:1rem;min-width:720px}
.tm-ad-tabla th{font-family:var(--tm-dato);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:12px 14px;border-bottom:1px solid var(--tm-linea)}
.tm-ad-tabla td{padding:12px 14px;border-bottom:1px dashed var(--tm-linea);vertical-align:middle}
.tm-ad-tabla tr:last-child td{border-bottom:0}
.tm-ad-tabla td.n,.tm-ad-tabla th.n{text-align:right;font-family:var(--tm-dato);white-space:nowrap}
.tm-ad-tabla td b{font-family:var(--tm-subtitular);font-size:1.08rem}
.tm-ad-tabla small{display:block;color:var(--tm-texto-suave);font-size:.88rem}
.tm-ad-acc{display:flex;gap:6px;flex-wrap:wrap}
.tm-ad-mini{font-family:var(--tm-subtitular);font-weight:700;font-size:.98rem;color:var(--tm-verde);background:transparent;border:2px solid var(--tm-verde);border-radius:999px;padding:.3em .9em;cursor:pointer;white-space:nowrap;text-decoration:none}
.tm-ad-mini--amarillo{background:var(--tm-amarillo);border-color:var(--tm-amarillo)}
.tm-ad-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tm-ad-kpis div{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px;display:grid;gap:2px}
.tm-ad-kpis span{font-family:var(--tm-dato);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase}
.tm-ad-kpis b{font-family:var(--tm-titular);font-size:2rem;line-height:1.05}
.tm-ad-kpis small{font-size:.9rem;color:var(--tm-texto-suave)}
@media (max-width:760px){.tm-ad-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tm-ad-dos{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:980px){.tm-ad-dos{grid-template-columns:minmax(0,1fr)}}
.tm-ad-alertas{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tm-ad-alertas li a{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid var(--tm-linea);border-radius:12px;padding:12px 14px;color:var(--tm-verde);text-decoration:none}
.tm-ad-alertas li a b{font-family:var(--tm-titular);font-size:1.5rem;min-width:1.6em}
.tm-ad-alertas li.urge a{border-color:var(--tm-naranja);background:#FFF1E8}
.tm-ad-top{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tm-ad-top li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:1rem}
.tm-ad-top i{grid-column:1/-1;height:8px;border-radius:99px;background:rgba(25,83,43,.12);overflow:hidden}
.tm-ad-top i::before{content:"";display:block;height:100%;width:var(--w);background:var(--tm-lima)}
.tm-ad-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tm-ad-roles div{background:#fff;border:1px solid var(--tm-linea);border-radius:12px;padding:12px 14px;font-size:.95rem}
.tm-ad-roles b{display:block;font-family:var(--tm-subtitular);font-size:1.1rem}
@media (max-width:760px){.tm-ad-roles{grid-template-columns:minmax(0,1fr)}}
.tm-ad select{font:1rem var(--tm-cuerpo);color:var(--tm-verde);border:2px solid var(--tm-linea);border-radius:10px;padding:.35em .5em;background:#fff}

/* ===== PLANIFICADOR (extraído de la 23a) ===== */
.tm-paso-botones>.tm-boton,.tm-cta-acciones>.tm-boton,.tm-bolsa-pie>.tm-boton,.tm-pl-acciones>*,.tm-pl-nav>*{white-space:nowrap}
/* v2.7 · el planificador */
.tm-pl{max-width:880px}
.tm-pl-barra{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;font-family:var(--tm-dato);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tm-texto-suave);margin-bottom:8px}
.tm-pl-barra span{text-align:center}
.tm-pl-barra span.on{color:var(--tm-verde);font-weight:700}
.tm-pl-progreso{height:8px;border-radius:999px;background:var(--tm-crema);box-shadow:inset 0 0 0 1px var(--tm-linea);overflow:hidden;margin-bottom:26px}
.tm-pl-progreso i{display:block;height:100%;width:0;background:var(--tm-naranja);border-radius:999px;transition:width .3s ease}
.tm-pl-paso{background:var(--tm-tarjeta);border-radius:24px;padding:clamp(22px,4vw,40px);box-shadow:0 0 0 1px var(--tm-linea);display:grid;gap:18px}
.tm .tm-pl-paso h2{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1}
.tm-pl-num{font-family:var(--tm-dato);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-naranja)}
.tm-pl-entrada{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(20px,4vw,44px);align-items:start}
.tm-pl-entrada>div{display:grid;gap:14px}
.tm-pl-entrada p{color:var(--tm-texto-suave);line-height:1.6}
.tm-pl-entrada p b{color:var(--tm-verde)}
.tm-pl-promesas{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tm-pl-promesas li{background:var(--tm-crema);border-radius:16px;padding:16px 18px;display:grid;gap:6px}
.tm .tm-pl-promesas b{font-family:var(--tm-subtitular);font-size:1.3rem;line-height:1.1}
.tm-pl-promesas span{font-size:.92rem;color:var(--tm-texto-suave);line-height:1.5}
.tm-pl-corto{justify-self:start;font-size:.92rem}
.tm-pl-acciones,.tm-pl-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;width:max-content;max-width:100%}
.tm-pl-acciones>*,.tm-pl-nav>*{width:100%}
.tm-pl-nav{margin-top:6px}
.tm-pl-contador{display:inline-flex;align-items:center;gap:14px}
.tm-pl-contador button{width:48px;height:48px;border-radius:50%;border:0;background:var(--tm-crema);box-shadow:inset 0 0 0 2px var(--tm-verde);color:var(--tm-verde);font-family:var(--tm-cuerpo);font-weight:700;font-size:1.6rem;cursor:pointer;line-height:1;display:grid;place-items:center;padding:0}
.tm-pl-contador button:disabled{opacity:.35;cursor:default}
.tm-pl-contador output{font-family:var(--tm-titular);font-weight:900;font-size:2.6rem;min-width:1.4em;text-align:center;color:var(--tm-verde);line-height:1;padding-top:.12em}
.tm-pl-contador span,.tm-pl-contador small{font-family:var(--tm-subtitular);font-size:1.15rem;color:var(--tm-verde)}
.tm-pl-edades,.tm-pl-comidas{display:grid;gap:10px}
.tm-pl-edad{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--tm-crema);border-radius:16px;padding:10px 14px 10px 18px}
.tm .tm-pl-edad>span{font-family:var(--tm-subtitular);font-size:1.25rem;color:var(--tm-verde)}
.tm-pl-edad .tm-pl-contador{gap:10px}
.tm-pl-edad .tm-pl-contador button{width:40px;height:40px;font-size:1.4rem}
.tm-pl-edad .tm-pl-contador output{font-size:1.9rem}
.tm-pl-opciones{display:flex;flex-wrap:wrap;gap:10px}
.tm-pl-opciones button,.tm-pl-grupo{border:0;background:var(--tm-crema);box-shadow:inset 0 0 0 1.5px var(--tm-linea);border-radius:999px;padding:.7em 1.2em;font-family:var(--tm-subtitular);font-weight:700;font-size:1.05rem;color:var(--tm-verde);cursor:pointer}
.tm-pl-opciones button[aria-pressed="true"],.tm-pl-grupo[aria-pressed="true"]{background:var(--tm-verde);color:var(--tm-crema);box-shadow:none}
/* P9: la opción excluyente marcada bloquea el resto del grupo (data-excluye). */
.tm-pl-opciones button:disabled,.tm-pl-grupos button:disabled{opacity:.45;cursor:not-allowed;background:var(--tm-crema);color:var(--tm-texto-suave);box-shadow:inset 0 0 0 1.5px var(--tm-linea)}
.tm-pl-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tm-pl-grupo{border-radius:16px;padding:10px;display:grid;gap:8px;text-align:left;align-content:start;font-size:.98rem;line-height:1.15}
.tm-pl-grupo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.tm-pl-grupos--no .tm-pl-grupo[aria-pressed="true"]{background:var(--tm-rojo)}
.tm-pl-buscar{position:relative}
.tm-pl-sugeridos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tm-pl-sugeridos button{border:0;background:var(--tm-crema);border-radius:999px;padding:.45em .9em;font:inherit;font-size:.9rem;color:var(--tm-verde);cursor:pointer;box-shadow:inset 0 0 0 1px var(--tm-linea)}
.tm-pl-elegidos{display:flex;flex-wrap:wrap;gap:8px}
.tm-pl-elegidos:empty{display:none}
.tm-pl-chip{display:inline-flex;align-items:center;gap:8px;background:var(--tm-verde);color:var(--tm-crema);border-radius:999px;padding:.45em .5em .45em 1em;font-family:var(--tm-subtitular);font-weight:700}
.tm-pl-chip button{border:0;background:var(--tm-crema);color:var(--tm-verde);border-radius:999px;padding:.2em .7em;font:inherit;font-size:.8rem;cursor:pointer}
.tm-pl-chip button[aria-pressed="true"]{background:var(--tm-rojo);color:var(--tm-crema)}
.tm-pl-chip .tm-pl-x{background:transparent;color:var(--tm-crema);font-size:1rem;padding:.1em .4em}
/* P8 · grupo completo y campo de condición de salud */
.tm-pl-chip--grupo{box-shadow:inset 0 0 0 2px var(--tm-amarillo)}
.tm-pl-chip small{font-family:inherit;font-weight:400;font-size:.72rem;opacity:.85}
.tm-pl-sug-grupo small{display:block;font-size:.72rem;color:var(--tm-texto-suave)}
.tm-pl-salud{margin:16px 0;padding:14px 16px;border-radius:16px;background:var(--tm-crema);box-shadow:inset 0 0 0 1.5px var(--tm-linea);display:grid;gap:10px}
.tm-pl-salud .tm-suave{margin:0;font-size:.92rem;line-height:1.5}
.tm-pl-anota{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.tm-pl-anota input{flex:1 1 240px;min-width:0}
.tm-pl-anota .tm-boton{flex:0 0 auto}
/* P8 · chip de categoría entera («Frutas»), de guía de salud y de lo que se revisa a mano */
.tm-pl-chip--cat{box-shadow:inset 0 0 0 2px var(--tm-amarillo);outline:2px dashed var(--tm-crema);outline-offset:-6px}
.tm-pl-chip--cond{background:var(--tm-verde);box-shadow:inset 0 0 0 2px var(--tm-crema)}
.tm-pl-chip--manual{background:transparent;color:var(--tm-texto);box-shadow:inset 0 0 0 2px var(--tm-linea)}
.tm-pl-chip--manual button{background:var(--tm-verde);color:var(--tm-crema)}
.tm-pl-chip--manual .tm-pl-x{background:transparent;color:var(--tm-texto-suave)}
.tm-pl-cruz{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:16px;padding:14px 16px;margin-top:12px;display:grid;gap:10px}
.tm-pl-cruz p{margin:0;font-size:.95rem;line-height:1.55;color:var(--tm-verde)}
.tm-pl-cruz .tm-suave{color:var(--tm-texto-suave);font-size:.88rem}
.tm-pl-msg{background:var(--tm-crema);border-left:4px solid var(--tm-amarillo);border-radius:10px;padding:12px 16px;font-size:.95rem;color:var(--tm-verde)}
.tm-pl-msg[hidden]{display:none}
.tm-pl-nota{margin:0;background:var(--tm-crema);border-left:4px solid var(--tm-amarillo);border-radius:10px;padding:12px 16px;font-size:.95rem;color:var(--tm-verde)}
.tm-error-form{margin:0;color:var(--tm-rojo);font-size:.88rem;font-weight:600}
.tm-error-form[hidden]{display:none}
.tm-pl-legal{background:var(--tm-crema);border-radius:14px;padding:16px 18px;font-size:.95rem;line-height:1.6;color:var(--tm-verde)}
.tm-pl-nav--igual{grid-auto-columns:minmax(0,1fr)}
.tm-pl-resumen{display:grid;gap:0;margin:0}
.tm-pl-resumen>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--tm-linea)}
.tm .tm-pl-resumen dt{font-family:var(--tm-subtitular);font-size:1.1rem;color:var(--tm-verde)}
.tm-pl-resumen dd{margin:0;color:var(--tm-texto-suave);font-size:.95rem}
.tm-pl-resumen button{border:0;background:none;color:var(--tm-verde);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.88rem;cursor:pointer}
.tm-pl-aviso{font-size:.88rem;color:var(--tm-texto-suave);background:var(--tm-crema);border-radius:12px;padding:12px 16px}
.tm-pl-res{display:grid;gap:18px}
.tm-pl-res-cab{display:grid;gap:8px}
.tm .tm-pl-orientativa{font-family:var(--tm-dato);font-size:.78rem;color:var(--tm-verde);background:var(--tm-amarillo);border-radius:10px;padding:.6em .9em;justify-self:start}
.tm-pl-lineas{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tm-pl-lineas li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--tm-crema);border-radius:14px;padding:8px 14px 8px 8px}
.tm-pl-lineas img{width:56px;height:56px;border-radius:10px;object-fit:cover;display:block}
.tm .tm-pl-lineas b{font-family:var(--tm-subtitular);font-size:1.15rem;display:block;line-height:1.1}
.tm-pl-lineas small{display:block;font-size:.84rem;color:var(--tm-texto-suave);margin-top:3px}
.tm-pl-lineas .val{text-align:right;font-family:var(--tm-dato);font-size:.85rem;color:var(--tm-verde)}
.tm-pl-lineas .val em{display:block;font-style:normal;color:var(--tm-texto-suave);font-size:.75rem}
.tm-pl-sep{font-family:var(--tm-dato);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-naranja);background:none !important;padding:8px 0 0 !important;display:block !important}
.tm-pl-avisos{display:grid;gap:8px}
.tm-pl-avisos:empty{display:none}
.tm-pl-suma{display:grid;gap:6px;margin:0;border-top:2px solid var(--tm-verde);padding-top:12px}
.tm-pl-suma>div{display:flex;justify-content:space-between;gap:12px;font-size:.95rem;color:var(--tm-texto-suave)}
.tm-pl-suma dd{margin:0;font-family:var(--tm-dato);color:var(--tm-verde)}
.tm-pl-suma .total{font-family:var(--tm-titular);font-weight:900;font-size:1.5rem;color:var(--tm-verde)}
.tm-pl-suma .total dd{font-family:var(--tm-titular);font-size:1.5rem}
.tm-pl-m10{font-size:.92rem;color:var(--tm-verde);font-weight:600}
@media (max-width:700px){
  .tm-pl-entrada{grid-template-columns:1fr}
.tm-pl-barra{font-size:.56rem}
.tm-pl-acciones,.tm-pl-nav{grid-auto-flow:row;width:100%}
.tm-pl-resumen>div{grid-template-columns:1fr auto}
.tm-pl-resumen dd{grid-column:1/-1;grid-row:2}
.tm-pl-grupos{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== Ventana de registro (modal) ===== */
/* El velo es suave a propósito: la web tiene que seguir viéndose detrás. */
.tm-ventana-overlay{position:fixed;inset:0;z-index:1200;background:rgba(26,18,8,.38);display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto}
.tm-ventana-overlay[hidden]{display:none}
/* Balanceo lento («un banner que flota y se mueve un poquito»): 6 px en 8 s.
   Con `prefers-reduced-motion` se queda quieto (ver el final del bloque). */
@keyframes tm-ventana-flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* `hidden` no basta aquí: .tm-modal-cuerpo trae display:grid y le gana al estilo
   del navegador, así que el panel de «cuenta creada» se pintaba como una franja
   vacía de 40 px debajo del formulario. */
.tm-ventana-overlay .tm-modal [hidden]{display:none}
/* Tarjeta compacta: 920 → 760 → 600 px, y con alto máximo para que nunca ocupe
   la pantalla entera (así se ve la web arriba, abajo y a los lados). `margin:auto`
   la centra; la foto se queda quieta y solo baja el formulario. */
.tm-ventana-overlay .tm-modal{width:100%;max-width:600px;margin:auto;border-radius:18px;grid-template-columns:.72fr 1.28fr;grid-template-rows:minmax(0,1fr);max-height:min(88dvh,720px);overflow:hidden;box-shadow:0 22px 55px rgba(26,18,8,.28),0 0 0 1px var(--tm-linea);animation:tm-ventana-flota 8s ease-in-out infinite}
.tm-ventana-overlay .tm-modal-cuerpo{padding:clamp(14px,1.8vw,20px);gap:6px;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.tm-ventana-overlay .tm-modal h2{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.02}
.tm-ventana-overlay .tm-modal-foto{min-height:190px}
.tm-ventana-overlay .tm-modal-cerrar{top:8px;right:8px;width:32px;height:32px;font-size:1rem}
/* Pista de que el formulario sigue abajo: sombra suave al pie de la tarjeta. */
.tm-ventana-overlay .tm-modal::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;pointer-events:none;background:linear-gradient(to top,rgba(26,18,8,.10),transparent)}
/* Barra fina: en escritorio avisa que hay más campos. */
.tm-ventana-overlay .tm-modal-cuerpo{scrollbar-width:thin;scrollbar-color:rgba(46,84,52,.35) transparent}
.tm-ventana-overlay .tm-modal-cuerpo::-webkit-scrollbar{width:6px}
.tm-ventana-overlay .tm-modal-cuerpo::-webkit-scrollbar-thumb{background:rgba(46,84,52,.3);border-radius:99px}
.tm-ventana-overlay .tm-etiqueta{font-size:.68rem}
.tm-ventana-overlay .tm-chips{gap:5px}
.tm-ventana-overlay .tm-chip{padding:.3em .72em;font-size:.72rem}
.tm-ventana-overlay .tm-campo{gap:4px}
.tm-ventana-overlay .tm-campo label{font-size:.84rem}
.tm-ventana-overlay .tm-campo input{padding:.56em .8em;font-size:.93rem;border-radius:10px}
.tm-ventana-overlay .tm-ayuda{font-size:.72rem}
.tm-ventana-overlay .tm-casilla{grid-template-columns:18px 1fr;gap:8px;font-size:.72rem;line-height:1.35}
.tm-ventana-overlay .tm-casilla input{width:16px;height:16px;margin-top:1px}
.tm-ventana-overlay .tm-boton{font-size:.95rem;padding:.7em 1.4em}
/* El modal vive en <body>, fuera de .tm, así que los modificadores del botón
   (.tm .tm-boton--amarillo) no le llegan: los repetimos aquí o queda sin color. */
.tm-ventana-overlay .tm-boton--amarillo{background:var(--tm-amarillo);color:var(--tm-verde)}
.tm-ventana-overlay .tm-boton--verde{background:var(--tm-verde);color:var(--tm-crema)}
.tm-ventana-overlay .tm-letra-pie{font-size:.72rem}
.tm-ventana-msg{font-size:.8rem;color:var(--tm-rojo);min-height:1.2em;line-height:1.35}
/* Móvil: NO pantalla completa. Tarjeta flotante con margen, la web se ve
   arriba y abajo; la foto queda fija como cabecera y solo el formulario hace
   scroll, así el ✕ nunca se va de la vista al bajar. */
@media (max-width:820px){
.tm-ventana-overlay{padding:14px}
.tm-ventana-overlay .tm-modal{grid-template-columns:1fr;grid-template-rows:96px minmax(0,1fr);border-radius:16px;max-height:86vh;max-height:min(88dvh,640px)}
.tm-ventana-overlay .tm-modal-foto{min-height:96px;height:96px}
.tm-ventana-overlay .tm-modal-cuerpo{padding:13px 15px 16px;-webkit-overflow-scrolling:touch}
.tm-ventana-overlay .tm-modal h2{font-size:1.3rem}
.tm-ventana-overlay .tm-modal-cerrar{top:7px;right:7px;width:30px;height:30px;font-size:.95rem}
}
/* Teléfono acostado (ancho pero muy bajito): otra vez dos columnas, que una
   tira de foto de 96 px se come el poco alto que hay. */
@media (max-width:820px) and (orientation:landscape) and (min-width:560px){
.tm-ventana-overlay .tm-modal{grid-template-columns:.85fr 1.15fr;grid-template-rows:minmax(0,1fr)}
.tm-ventana-overlay .tm-modal-foto{height:auto;min-height:0}
}
@media (prefers-reduced-motion:reduce){
.tm-ventana-overlay .tm-modal{animation:none}
}

/* ===== Mi cuenta (tm-cta) + Ingresar (tm-login) · desde 23a ===== */

.tm-cta-cab{border-bottom:1px solid var(--tm-linea);background:var(--tm-crema)}

.tm-cta-cab-in{display:flex;align-items:center;gap:24px;padding-block:14px}

.tm-cta-logo img{height:20px;width:auto}

.tm-cta-nav{display:flex;gap:18px;font-family:var(--tm-subtitular);font-weight:700}

.tm .tm-cta-nav a{text-decoration:none}

.tm-cta-acc{margin-left:auto;display:flex;align-items:center;gap:12px}

.tm .tm-cta-bolsa{font-family:var(--tm-subtitular);font-weight:800;text-decoration:none;padding:.5em 1em;border-radius:999px;box-shadow:inset 0 0 0 2px var(--tm-verde)}

.tm-cta-bolsa b{display:inline-grid;place-items:center;min-width:1.5em;height:1.5em;border-radius:999px;background:var(--tm-amarillo);margin-left:4px;font-size:.8rem}

.tm-cta-yo,.tm-cta-perfil .tm-cta-avatar{display:grid;place-items:center;line-height:1;padding-top:.08em;box-sizing:border-box;text-align:center;width:38px;height:38px;border-radius:50%;background:var(--tm-naranja);color:var(--tm-crema);font-family:var(--tm-titular);font-weight:900;font-size:1.1rem}

.tm-cta{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(18px,3vw,34px);align-items:start}

@media (max-width:900px){.tm-cta{grid-template-columns:1fr}}

.tm-cta-lado{background:var(--tm-tarjeta);border-radius:var(--tm-radio);padding:18px;display:grid;gap:16px;position:sticky;top:12px}

@media (max-width:900px){.tm-cta-lado{position:static}}

.tm-cta-perfil{display:flex;gap:12px;align-items:center}

.tm-cta-perfil .tm-cta-avatar{width:48px;height:48px;font-size:1.4rem;flex:none}

.tm-cta-perfil b{display:block;font-family:var(--tm-subtitular);font-size:1.1rem}

.tm-cta-perfil>div{min-width:0}

.tm-cta-perfil>div>span{display:block;font-size:.78rem;line-height:1.45;color:var(--tm-texto-suave);overflow-wrap:anywhere}

.tm-cta-perfil>div>span.tm-cta-dato{font-family:var(--tm-dato);font-size:.7rem;letter-spacing:.02em}

.tm-cta-menu{display:grid;gap:4px}

/* En móvil el menú ya no se sale de la tarjeta: antes era una sola fila con scroll
   horizontal y "Comprobantes" quedaba cortado sin que se notara que se podía deslizar. */
@media (max-width:900px){.tm-cta-menu{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px;overflow:visible;padding-bottom:0}}

.tm-cta-menu button{all:unset;cursor:pointer;font-family:var(--tm-subtitular);font-weight:700;font-size:1rem;padding:.6em .9em;border-radius:12px}

.tm-cta-menu button:hover{background:var(--tm-crema)}

.tm-cta-menu button[aria-current="page"]{background:var(--tm-verde);color:var(--tm-crema)}

.tm-cta-menu button:focus-visible{outline:2px solid var(--tm-verde)}

.tm-cta-oculto{outline:2px dashed #D52518;outline-offset:2px}

.tm-cta-ayuda{display:grid;gap:2px;font-size:.84rem;border-top:1px solid var(--tm-linea);padding-top:14px}

.tm-cta-ayuda b{font-family:var(--tm-subtitular)}

.tm .tm-cta-ayuda a{font-weight:700}

.tm-cta-ayuda span{color:var(--tm-texto-suave);font-size:.78rem}

.tm .tm-cta-salir{all:unset;cursor:pointer;font-size:.85rem;color:var(--tm-texto-suave);text-decoration:underline;text-underline-offset:3px;justify-self:start}

.tm-cta-main{display:grid;gap:16px;min-width:0}

.tm-cta-aviso{display:flex;gap:14px;align-items:flex-start;background:var(--tm-amarillo);border-radius:16px;padding:14px 16px}

.tm-cta-aviso div{flex:1}

.tm-cta-aviso b{display:block;font-family:var(--tm-subtitular);font-size:1.05rem}

.tm-cta-aviso span{font-size:.9rem}

.tm-cta-aviso .tm-cerrar{background:rgba(255,255,255,.5);width:32px;height:32px;font-size:1.1rem}

.tm-cta-calif{display:flex;gap:14px 18px;align-items:center;flex-wrap:wrap;background:var(--tm-tarjeta);border-radius:16px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--tm-linea)}

.tm-cta-calif > div:first-child{flex:1 1 240px}

.tm-cta-calif b{display:block;font-family:var(--tm-subtitular);font-size:1.05rem}

.tm-cta-calif span{font-size:.86rem;color:var(--tm-texto-suave)}

.tm-cta-escala{display:flex;gap:6px}

.tm-cta-escala button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--tm-verde);background:transparent;color:var(--tm-verde);font-family:var(--tm-subtitular);font-weight:800;cursor:pointer}

.tm-cta-escala button:hover{background:var(--tm-amarillo);border-color:var(--tm-amarillo)}

.tm .tm-cta-hola{font-size:clamp(2.2rem,4.4vw,3.4rem);margin:4px 0 6px}

.tm-cta-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}

@media (max-width:1100px){.tm-cta-grid{grid-template-columns:1fr}}

.tm-cta-sus{background:var(--tm-tarjeta);border-radius:var(--tm-radio);padding:clamp(18px,2.6vw,28px);display:grid;gap:12px;box-shadow:inset 0 0 0 1px var(--tm-linea)}

.tm-cta-sus-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}

.tm-cta-estado{display:inline-flex;align-items:center;gap:7px;font-family:var(--tm-subtitular);font-weight:800;font-size:.9rem;background:var(--tm-crema);border-radius:999px;padding:.35em .9em}

.tm-cta-estado::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--tm-amarillo)}

.tm-cta-estado--ok::before{background:var(--tm-lima)}

.tm-cta-prox-et{font-size:.9rem;color:var(--tm-texto-suave);margin-top:4px}

.tm .tm-cta-prox{font-family:var(--tm-titular);font-weight:900;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1}

.tm-cta-corte{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--tm-verde);color:var(--tm-crema);border-radius:14px;padding:12px 14px;font-size:.92rem}

.tm-cta-reloj{font-family:var(--tm-dato);color:var(--tm-amarillo);font-weight:700}

.tm-cta-lineas{list-style:none;margin:0;padding:0;display:grid}

.tm-cta-lineas li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--tm-linea);font-size:.92rem}

.tm-cta-lineas li b{font-variant-numeric:tabular-nums}

.tm-cta-lineas small{display:block;color:var(--tm-naranja);font-size:.78rem}

.tm-cta-mas{color:var(--tm-texto-suave);border-bottom:0!important}

.tm-cta-total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--tm-subtitular);font-weight:800;font-size:1.1rem}

.tm-cta-total b{font-family:var(--tm-titular);font-size:1.8rem}

.tm-cta-nota{font-size:.82rem;color:var(--tm-texto-suave)}

.tm-cta-acciones{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.tm-cta-secund{display:flex;gap:6px 18px;flex-wrap:wrap;border-top:1px solid var(--tm-linea);padding-top:12px}

.tm-cta-secund button,.tm-cta-secund a,.tm .tm-boton-texto{all:unset;cursor:pointer;font-family:var(--tm-subtitular);font-weight:700;font-size:.95rem;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}

/* Los enlaces de esa fila son verdes y el subrayado engorda al pasar el mouse,
   para que se lean como acciones y no como texto cualquiera. */
.tm-cta-secund a{color:var(--tm-verde)}

.tm-cta-secund a:hover{text-decoration-thickness:2.5px}

.tm .tm-cta-cancelar{color:var(--tm-rojo)}

.tm-cta-sus--vacia h3{font-size:1.8rem}

.tm-cta-sus--vacia p{color:var(--tm-texto-suave);max-width:46ch}

.tm-cta-col{display:grid;gap:12px}

.tm-cta-saldo{background:var(--tm-verde);color:var(--tm-crema);border-radius:var(--tm-radio);padding:18px;display:grid;gap:6px}

.tm-cta-saldo .tm-etiqueta{color:var(--tm-amarillo)}

.tm-cta-saldo b{font-family:var(--tm-titular);font-weight:900;font-size:2.6rem;line-height:1;color:var(--tm-amarillo)}

.tm-cta-saldo p{font-size:.86rem}

.tm-cta-ult,.tm-cta-pasalo{background:var(--tm-tarjeta);border-radius:var(--tm-radio);padding:16px 18px;display:grid;gap:4px;box-shadow:inset 0 0 0 1px var(--tm-linea)}

.tm-cta-pasalo b{font-family:var(--tm-titular);font-size:1.5rem}

.tm-cta-pedidos{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}

.tm-cta-ped{background:var(--tm-tarjeta);border-radius:16px;box-shadow:inset 0 0 0 1px var(--tm-linea);overflow:hidden}

.tm-cta-ped-cab{all:unset;cursor:pointer;box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:14px 16px}

.tm-cta-ped-cab b{font-family:var(--tm-subtitular);font-size:1.05rem}

.tm-cta-ped-cab small{display:block;font-size:.8rem;color:var(--tm-texto-suave)}

.tm-cta-ped-total{font-variant-numeric:tabular-nums}

.tm-cta-flecha{font-size:1.4rem;transition:transform .15s}

.tm-cta-ped-cab[aria-expanded="true"] .tm-cta-flecha{transform:rotate(90deg)}

@media (max-width:600px){.tm-cta-ped-cab{grid-template-columns:minmax(0,1fr) auto}.tm-cta-ped-cab .tm-cta-chip{grid-row:2}.tm-cta-flecha{display:none}}

.tm-cta-ped-det{padding:0 16px 16px;display:grid;gap:12px}

.tm-cta-suma{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.9rem}

.tm-cta-suma li{display:flex;justify-content:space-between}

.tm-cta-suma-total{font-family:var(--tm-subtitular);font-weight:800;font-size:1.1rem;border-top:1px solid var(--tm-linea);padding-top:6px}

.tm-cta-ped-acc{display:flex;gap:10px 16px;flex-wrap:wrap;align-items:center;font-size:.84rem}

.tm-cta-chip{display:inline-block;font-family:var(--tm-dato);font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;padding:.35em .8em;border-radius:999px;background:var(--tm-crema);white-space:nowrap}

.tm-cta-chip--ok{background:var(--tm-lima);color:var(--tm-verde)}

.tm-cta-chip--prox{background:var(--tm-amarillo);color:var(--tm-verde)}

.tm-cta-chip--ruta{background:var(--tm-naranja);color:var(--tm-crema)}

.tm-cta-chip--mal{background:var(--tm-rojo);color:var(--tm-crema)}

.tm-cta-estados{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}

.tm-cta-pts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}

@media (max-width:860px){.tm-cta-pts{grid-template-columns:1fr}}

.tm-cta-pts-meta,.tm-cta-pts-nivel{background:var(--tm-tarjeta);border-radius:var(--tm-radio);padding:18px;display:grid;gap:10px;box-shadow:inset 0 0 0 1px var(--tm-linea)}

.tm-cta-pts-meta b{font-family:var(--tm-subtitular);font-size:1.2rem}

.tm-cta-pts-meta .tm-boton{justify-self:start}

.tm-cta-barra{height:12px;border-radius:999px;background:var(--tm-crema);overflow:hidden}

.tm-cta-barra span{display:block;height:100%;background:var(--tm-naranja)}

.tm-cta-pts-nivel{grid-template-columns:96px 1fr;align-items:center;background:var(--tm-amarillo)}

.tm-cta-pts-nivel b{display:block;font-family:var(--tm-titular);font-size:2rem;line-height:1}

.tm-cta-pts-nivel span{font-size:.86rem}

.tm .tm-cta-sub{font-size:1.4rem;margin:18px 0 10px}

.tm-cta-album{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}

@media (max-width:600px){.tm-cta-album{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tm-cta-album li{background:var(--tm-tarjeta);border-radius:16px;padding:14px;display:grid;justify-items:center;gap:6px;font-family:var(--tm-subtitular);font-weight:700;text-align:center;opacity:.55;box-shadow:inset 0 0 0 1px var(--tm-linea)}

.tm-cta-album li.tengo{opacity:1}

.tm-cta-album small{font-family:var(--tm-dato);font-size:.68rem;color:var(--tm-naranja)}

.tm-cta-charm{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--tm-crema);border:2px dashed var(--tm-naranja);font-family:var(--tm-dato);font-size:.8rem}

.tm-cta-album li.tengo .tm-cta-charm{border-style:solid;background:var(--tm-amarillo)}

.tm-cta-dirs,.tm-cta-pagos,.tm-cta-pref{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}

.tm-cta-dirs li,.tm-cta-pagos li,.tm-cta-pref li{background:var(--tm-tarjeta);border-radius:16px;padding:14px 16px;display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;box-shadow:inset 0 0 0 1px var(--tm-linea)}

.tm-cta-dirs li.principal{box-shadow:inset 0 0 0 2px var(--tm-verde)}

/* El chip dentro de una dirección hereda el estilo de los <span> de la lista
   (.84rem y color suave); aquí se devuelve al chip de verdad para que se lea. */
.tm-cta-dirs .tm-cta-chip{display:inline-block;font-size:.7rem;padding:.35em .8em;color:var(--tm-verde)}

.tm-cta-dirs li > div,.tm-cta-pagos li > div,.tm-cta-pref li > div{flex:1 1 220px}

.tm-cta-dirs b,.tm-cta-pagos b,.tm-cta-pref b{font-family:var(--tm-subtitular);font-size:1.02rem}

.tm-cta-dirs span,.tm-cta-pagos span,.tm-cta-pref span{display:block;font-size:.84rem;color:var(--tm-texto-suave)}

.tm-cta-form{background:var(--tm-tarjeta);border-radius:var(--tm-radio);padding:18px;display:grid;gap:12px;max-width:560px}

.tm-cta-form h3{font-size:1.3rem}

.tm-cta-zona{font-size:.9rem;font-weight:700;padding:10px 12px;border-radius:12px}

.tm-cta-zona--ok{background:var(--tm-lima)}

.tm-cta-tarjeta{max-width:340px;aspect-ratio:1.6;border-radius:18px;background:var(--tm-verde);color:var(--tm-crema);padding:20px;display:grid;align-content:space-between;margin:10px 0}

.tm-cta-tarjeta-marca{font-family:var(--tm-titular);font-size:1.3rem;color:var(--tm-amarillo)}

.tm-cta-tarjeta b{font-family:var(--tm-dato);font-size:1.3rem;letter-spacing:.08em}

.tm-cta-tarjeta span{font-size:.84rem}

.tm-cta-recibo{background:#fff;border-radius:16px;padding:22px;max-width:520px;display:grid;gap:12px;box-shadow:0 1px 0 var(--tm-linea),0 10px 30px rgba(25,83,43,.08);margin-top:10px}

.tm-cta-recibo-cab{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--tm-naranja);padding-bottom:10px}

.tm-cta-recibo-cab img{height:18px;width:auto}

.tm-cta-recibo dl{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;margin:0;font-size:.9rem}

.tm-cta-recibo dt{color:var(--tm-texto-suave)}

.tm-cta-recibo dd{margin:0}

.tm-cta-recibo-pie{font-size:.74rem;color:var(--tm-texto-suave)}

.tm-cta-recibo .tm-boton{justify-self:start}

.tm-cta-sw{width:50px;height:28px;border-radius:999px;border:0;background:var(--tm-linea);position:relative;cursor:pointer;flex:none}

.tm-cta-sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}

.tm-cta-sw[aria-checked="true"]{background:var(--tm-verde)}

.tm-cta-sw[aria-checked="true"]::after{left:25px}

.tm-cta-dialogo{max-width:520px;display:grid;gap:14px}

.tm .tm-cta-dialogo h3{font-family:var(--tm-titular);font-weight:900;font-size:1.9rem;line-height:1;padding-right:30px}

.tm-cta-dialogo select,.tm-cta-dialogo textarea{font:inherit;color:var(--tm-verde);background:#fff;border:1.5px solid var(--tm-linea);border-radius:12px;padding:.7em .9em;width:100%}

.tm-cta-semanas{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}

.tm-cta-semanas button{aspect-ratio:1;border-radius:12px;border:1.5px solid var(--tm-verde);background:transparent;color:var(--tm-verde);font-family:var(--tm-subtitular);font-weight:800;font-size:1.05rem;cursor:pointer}

.tm-cta-semanas button[aria-pressed="true"]{background:var(--tm-verde);color:var(--tm-crema)}

.tm-cta-fotos{display:flex;gap:8px}

.tm-cta-foto-add{display:grid;place-items:center;width:100px;height:80px;border-radius:12px;border:2px dashed var(--tm-linea);font-size:.84rem;font-weight:700}

.tm-cta-hilo{list-style:none;margin:0;padding:0;display:grid;gap:10px}

.tm-cta-hilo li{background:var(--tm-tarjeta);border-radius:14px;padding:12px;max-width:85%}

.tm-cta-hilo li.yo{justify-self:end;background:var(--tm-amarillo)}

.tm-cta-hilo b{font-family:var(--tm-dato);font-size:.72rem;text-transform:uppercase}

.tm-cta-hilo small{font-size:.72rem;color:var(--tm-texto-suave)}

.tm-cta-dosc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}

@media (max-width:760px){.tm-cta-dosc{grid-template-columns:1fr}}

.tm-cta-mal,.tm-cta-bien{border-radius:16px;padding:16px 18px;display:grid;gap:6px}

.tm-cta-mal{background:#F6D8D3;box-shadow:inset 0 0 0 2px var(--tm-rojo)}

.tm-cta-bien{background:var(--tm-tarjeta);box-shadow:inset 0 0 0 2px var(--tm-verde)}

.tm-cta-mal b,.tm-cta-bien b{font-family:var(--tm-subtitular);font-size:1.1rem}

.tm-cta-mal p,.tm-cta-bien p{font-size:.92rem}

.tm .tm-cta-ayuda b{display:block;font-size:1.15rem}

.tm .tm-cta-aviso b,.tm .tm-cta-calif b{font-size:1.4rem;line-height:1.1;margin-bottom:4px}

.tm-cta-mal>b,.tm-cta-bien>b{font-size:1.4rem}

/* v2.7 · los botones de un mismo grupo tienen el mismo tamaño */
.tm-paso-botones,.tm-cta-acciones,.tm-bolsa-pie{display:grid !important;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;width:max-content;max-width:100%;align-items:stretch}

.tm-paso-botones>.tm-boton,.tm-cta-acciones>.tm-boton,.tm-bolsa-pie>.tm-boton{width:100%;margin:0 !important;align-self:stretch}

.tm-paso-botones>.tm-boton,.tm-cta-acciones>.tm-boton,.tm-bolsa-pie>.tm-boton,.tm-pl-acciones>*,.tm-pl-nav>*{white-space:nowrap}

@media (max-width:600px){.tm-paso-botones,.tm-cta-acciones,.tm-bolsa-pie{grid-auto-flow:row;width:100%}}

/* «Mi cuenta» (panel.html): el contenido vive fuera de .tm —solo la cabecera va
   dentro—, así que los modificadores del botón (.tm .tm-boton--verde) no le
   llegaban y los CTA de la tarjeta salían sin color, como si fueran enlaces.
   Aquí repetimos los tres colores para ese contenedor. */
.tm-mi-cuenta .tm-boton--amarillo{background:var(--tm-amarillo);color:var(--tm-verde)}
.tm-mi-cuenta .tm-boton--verde{background:var(--tm-verde);color:var(--tm-crema)}
.tm-mi-cuenta .tm-boton--linea{background:transparent;color:var(--tm-verde);box-shadow:inset 0 0 0 2px var(--tm-verde)}
.tm-mi-cuenta .tm-boton[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.tm-mi-cuenta .tm-cta-cancelar{color:var(--tm-rojo)}

.tm-login{max-width:460px;margin:0 auto;background:var(--tm-tarjeta);border-radius:24px;padding:clamp(22px,4vw,36px);box-shadow:0 0 0 1px var(--tm-linea);display:grid;gap:14px}

.tm .tm-login h2{font-size:clamp(2rem,4vw,2.6rem)}

.tm-login .tm-boton{width:100%}

.tm-login-pie{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.92rem}

/* ===== Portal de la aliada (tm-al) · desde 23a ===== */


/* ===== Portal de la aliada (/aliada, /aliada/ruta, /aliada/recibos) · v1.0 · 12 oct 2026
   Misma marca de la web pública. Prefijo tm-al-. Pensado primero para celular: la aliada lo usa en la bodega y en la ruta. */
.tm-al{background:var(--tm-crema);color:var(--tm-verde);font-family:var(--tm-cuerpo);font-size:1.0625rem;line-height:1.55;padding-bottom:48px}

.tm-al-cab{background:var(--tm-verde);color:var(--tm-crema)}

.tm-al-cab-in{max-width:1100px;margin:auto;padding:14px var(--tm-gutter);display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}

.tm-al-cab img{height:22px;width:auto;display:block}

.tm-al-cab-rol{font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-amarillo)}

.tm-al-nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}

.tm-al-nav a{font-family:var(--tm-subtitular);font-weight:700;font-size:1.05rem;color:var(--tm-crema);text-decoration:none;padding:.45em 1em;border-radius:var(--tm-pildora)}

.tm-al-nav a[aria-current="page"]{background:var(--tm-amarillo);color:var(--tm-verde)}

.tm-al-nav a:hover{background:rgba(243,232,204,.14)}

.tm-al-cuerpo{max-width:1100px;margin:auto;padding:28px var(--tm-gutter) 0;display:grid;gap:24px}

.tm-al-titulo h1{font-family:var(--tm-titular);font-weight:900;font-size:clamp(2rem,4.4vw,3rem);line-height:1;letter-spacing:-.02em;margin:.15em 0 .2em}

.tm-al-titulo p{margin:0;color:var(--tm-texto-suave);max-width:62ch}

.tm-al h2{font-family:var(--tm-subtitular);font-weight:800;font-size:1.65rem;line-height:1.1;margin:0}

.tm-al h3{font-family:var(--tm-subtitular);font-weight:800;font-size:1.3rem;line-height:1.15;margin:0}

.tm-al-tarjeta{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(18px,3vw,26px);display:grid;gap:14px}

.tm-al-dato{font-family:var(--tm-dato)}

/* Línea del día: los tiempos del acuerdo */
.tm-al-reloj{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}

.tm-al-reloj li{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:12px;display:grid;gap:2px;font-size:.95rem}

.tm-al-reloj b{font-family:var(--tm-dato);font-size:1.05rem}

.tm-al-reloj li.ya{opacity:.6}

.tm-al-reloj li.ahora{background:var(--tm-amarillo);border-color:var(--tm-amarillo)}

@media (max-width:820px){.tm-al-reloj{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Acuse */
.tm-al-acuse{background:var(--tm-verde);color:var(--tm-crema);border:0}

.tm-al-acuse .tm-etiqueta{color:var(--tm-amarillo)}

.tm-al-acuse-cifras{display:flex;gap:10px 28px;flex-wrap:wrap}

.tm-al-acuse-cifras div{display:grid}

.tm-al-acuse-cifras b{font-family:var(--tm-titular);font-size:2.2rem;line-height:1}

.tm-al-acuse .tm-boton{justify-self:start}

.tm-al-acuse-ok{display:flex;gap:10px;align-items:center;font-family:var(--tm-subtitular);font-weight:700;font-size:1.15rem}

/* Cifras del día */
.tm-al-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}

.tm-al-kpis button{all:unset;cursor:pointer;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px;display:grid;gap:2px}

.tm-al-kpis button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--tm-verde)}

.tm-al-kpis b{font-family:var(--tm-titular);font-size:2rem;line-height:1}

.tm-al-kpis span{font-size:.95rem;color:var(--tm-texto-suave)}

@media (max-width:640px){.tm-al-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Lista de pedidos */
.tm-al-zona{display:grid;gap:10px}

.tm-al-zona>h3 small{font-family:var(--tm-cuerpo);font-weight:400;font-size:1rem;color:var(--tm-texto-suave)}

.tm-al-ped{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center}

.tm-al-ped-nombre{font-family:var(--tm-subtitular);font-weight:800;font-size:1.2rem}

.tm-al-ped-info{font-size:.98rem;color:var(--tm-texto-suave)}

.tm-al-ped-acc{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.tm-al-ped-acc .tm-boton{min-width:150px;padding:.7em 1.2em}

@media (max-width:640px){.tm-al-ped{grid-template-columns:minmax(0,1fr)}.tm-al-ped-acc{justify-content:stretch}.tm-al-ped-acc .tm-boton{flex:1 1 0}}

/* Estados */
.tm-al-estado{display:inline-flex;align-items:center;gap:6px;font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.35em .8em;border-radius:var(--tm-pildora);background:rgba(25,83,43,.1);white-space:nowrap}

.tm-al-estado::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}

.tm-al-estado--armar{background:#FFE9A8}

.tm-al-estado--ruta{background:#E4EEC0}

.tm-al-estado--entregado,.tm-al-estado--cerrado{background:var(--tm-verde);color:var(--tm-crema)}

.tm-al-estado--falta,.tm-al-estado--detenido{background:#FDD9C6;color:#9A3208}

.tm-al-estado--pagado{background:var(--tm-lima);color:var(--tm-verde)}

/* Armar un pedido */
.tm-al-armar{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}

@media (max-width:860px){.tm-al-armar{grid-template-columns:minmax(0,1fr)}}

.tm-al-linea{border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);background:#fff;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:4px 14px;align-items:center}

.tm-al-linea-nombre{font-family:var(--tm-subtitular);font-weight:800;font-size:1.15rem}

.tm-al-linea-rango{font-size:.95rem;color:var(--tm-texto-suave)}

.tm-al-linea label{grid-column:2;grid-row:1/span 2;display:grid;gap:4px;font-size:.85rem;font-family:var(--tm-dato);text-transform:uppercase;letter-spacing:.04em}

.tm-al-linea input{font:700 1.25rem var(--tm-dato);color:var(--tm-verde);border:2px solid var(--tm-linea);border-radius:12px;padding:.45em .6em;width:100%;box-sizing:border-box;background:var(--tm-crema)}

.tm-al-linea-msg{grid-column:1/-1;font-size:.95rem;font-weight:700}

.tm-al-linea.ok input{border-color:var(--tm-lima)}

.tm-al-linea.ok .tm-al-linea-msg{color:#3d5a00}

.tm-al-linea.fuera{border-color:var(--tm-naranja)}

.tm-al-linea.fuera input{border-color:var(--tm-naranja)}

.tm-al-linea.fuera .tm-al-linea-msg{color:#9A3208}

.tm-al-linea.cortesia{background:#FFF7DC;border-style:dashed}

@media (max-width:520px){.tm-al-linea{grid-template-columns:minmax(0,1fr)}.tm-al-linea label{grid-column:1;grid-row:auto}}

.tm-al-foto{border:2px dashed var(--tm-linea);border-radius:var(--tm-radio-s);background:#fff;min-height:170px;display:grid;place-items:center;text-align:center;padding:18px;gap:8px;cursor:pointer}

.tm-al-foto b{font-family:var(--tm-subtitular);font-size:1.15rem}

.tm-al-foto.lista{border-style:solid;padding:0;overflow:hidden}

.tm-al-foto.lista img{width:100%;height:220px;object-fit:cover;display:block}

.tm-al-falta{background:#FDD9C6;color:#7a2806;border-radius:var(--tm-radio-s);padding:12px 14px;font-size:.98rem}

.tm-al-falta b{display:block;font-family:var(--tm-subtitular);font-size:1.1rem}

.tm-al-boton-bloq{opacity:.45;pointer-events:none}

.tm-al-grupo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

.tm-al-grupo>.tm-boton{width:100%}

@media (max-width:520px){.tm-al-grupo{grid-template-columns:minmax(0,1fr)}}

/* Entregar */
.tm-al-entregar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}

@media (max-width:860px){.tm-al-entregar{grid-template-columns:minmax(0,1fr)}}

.tm-al-campo{display:grid;gap:6px}

.tm-al-campo>span{font-family:var(--tm-dato);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}

.tm-al-campo input[type=text],.tm-al-campo input[type=number],.tm-al-campo input[type=date],.tm-al-campo input[type=email],.tm-al-campo select,.tm-al-campo textarea{font:1.05rem var(--tm-cuerpo);color:var(--tm-verde);border:2px solid var(--tm-linea);border-radius:12px;padding:.6em .75em;background:#fff}

.tm-al-firma{height:110px;border:2px solid var(--tm-linea);border-radius:12px;background:#fff;position:relative}

.tm-al-firma::after{content:"Firma aquí";position:absolute;left:14px;bottom:10px;font-size:.9rem;color:rgba(25,83,43,.45)}

.tm-al-check{display:flex;gap:10px;align-items:center;font-size:1rem}

.tm-al-check input{width:20px;height:20px;accent-color:var(--tm-verde)}

/* Recibos */
.tm-al-recibos{display:grid;gap:10px}

.tm-al-rec{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)) auto;gap:6px 16px;align-items:center;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px}

.tm-al-rec small{display:block;font-size:.85rem;color:var(--tm-texto-suave)}

.tm-al-rec .tm-al-dato{font-size:1.05rem;font-weight:700}

.tm-al-rec.head{background:none;border:0;padding:0 16px;font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}

@media (max-width:760px){.tm-al-rec{grid-template-columns:minmax(0,1fr);gap:4px}.tm-al-rec.head{display:none}.tm-al-rec [data-l]::before{content:attr(data-l) " · ";font-family:var(--tm-cuerpo);font-weight:400;font-size:.92rem;color:var(--tm-texto-suave)}.tm-al-rec>div:last-child{margin-top:6px}}

.tm .tm-al .tm-boton{font-size:1.2rem}

.tm-al-foto b{font-size:1.25rem}

.tm-al-recibo{background:#fff;border:1px solid var(--tm-linea);border-radius:var(--tm-radio);padding:clamp(18px,3vw,30px);display:grid;gap:16px}

.tm-al-recibo-cab{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;align-items:flex-start;border-bottom:2px solid var(--tm-verde);padding-bottom:14px}

.tm-al-recibo-cab img{height:22px}

.tm-al-recibo-cab dl{margin:0;display:grid;grid-template-columns:auto auto;gap:2px 14px;font-size:.95rem}

.tm-al-recibo-cab dt{color:var(--tm-texto-suave)}

.tm-al-recibo-cab dd{margin:0;font-family:var(--tm-dato);font-weight:700;text-align:right}

.tm-al-tabla{width:100%;border-collapse:collapse;font-size:.98rem}

.tm-al-tabla th{font-family:var(--tm-dato);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:8px 10px;border-bottom:1px solid var(--tm-linea);font-weight:700}

.tm-al-tabla td{padding:9px 10px;border-bottom:1px dashed var(--tm-linea);vertical-align:top}

.tm-al-tabla td.n,.tm-al-tabla th.n{text-align:right;font-family:var(--tm-dato);white-space:nowrap}

.tm-al-tabla tr.ped td{font-family:var(--tm-subtitular);font-weight:800;font-size:1.05rem;background:var(--tm-tarjeta);border-bottom:0}

.tm-al-tabla tr.desc td{color:#9A3208}

.tm-al-tabla-env{overflow-x:auto}

.tm-al-totales{display:grid;gap:6px;justify-self:end;min-width:min(100%,360px)}

.tm-al-totales div{display:flex;justify-content:space-between;gap:16px;font-size:1rem}

.tm-al-totales div span:last-child{font-family:var(--tm-dato)}

.tm-al-totales .total{border-top:2px solid var(--tm-verde);padding-top:8px;font-family:var(--tm-subtitular);font-weight:800;font-size:1.45rem}

.tm-al-aviso{background:var(--tm-tarjeta);border-left:4px solid var(--tm-amarillo);border-radius:8px;padding:12px 14px;font-size:.98rem}

.tm-al-factura{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

@media (max-width:640px){.tm-al-factura{grid-template-columns:minmax(0,1fr)}}

/* Contadora */
.tm-al-cont{display:grid;grid-template-columns:28px minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);gap:6px 14px;align-items:center;background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:12px 16px}

.tm-al-cont.head{background:none;border:0;font-family:var(--tm-dato);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;padding:0 16px}

.tm-al-cont input[type=text]{font:1rem var(--tm-dato);border:2px solid var(--tm-linea);border-radius:10px;padding:.4em .6em;width:100%;box-sizing:border-box;background:#fff;color:var(--tm-verde)}

@media (max-width:760px){.tm-al-cont{grid-template-columns:28px minmax(0,1fr)}.tm-al-cont>*:nth-child(n+3){grid-column:2}.tm-al-cont.head{display:none}}

/* ===== Panel de administración (/admin y sus pantallas) · v1.0 · 12 oct 2026. Prefijo tm-ad-; usa también las piezas tm-al-. */
.tm-ad-marco{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%}

.tm-ad .tm-al-cuerpo{max-width:1180px;margin:0}

/* ===== Panel de administración (tm-ad) · desde 23a ===== */

/* Lo de adentro */
.tm-adentro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:stretch}

@media (max-width:860px){.tm-adentro{grid-template-columns:1fr}}

.tm-adentro-foto{position:relative;border-radius:var(--tm-radio);overflow:hidden}

.tm-adentro-foto img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block}

.tm-adentro-texto{display:flex;flex-direction:column;justify-content:center;gap:16px}

.tm .tm-adentro-texto h2{font-size:clamp(2.2rem,4vw,3.4rem)}

.tm-adentro-texto p{color:var(--tm-texto-suave);max-width:46ch}

.tm-adentro-texto p b{color:var(--tm-verde)}

/* ===== Panel de administración (/admin y sus pantallas) · v1.0 · 12 oct 2026. Prefijo tm-ad-; usa también las piezas tm-al-. */
.tm-ad-marco{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%}

.tm-ad-lado{background:var(--tm-verde);color:var(--tm-crema);padding:22px 14px;display:grid;align-content:start;gap:4px}

.tm-ad-lado img{height:20px;width:auto;margin:0 8px 18px}

.tm-ad-lado small{font-family:var(--tm-dato);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-amarillo);margin:14px 8px 4px}

.tm-ad-lado a{font-family:var(--tm-subtitular);font-weight:700;font-size:1.08rem;color:var(--tm-crema);text-decoration:none;padding:.5em .8em;border-radius:12px}

.tm-ad-lado a[aria-current="page"]{background:var(--tm-amarillo);color:var(--tm-verde)}

.tm-ad-lado a:hover{background:rgba(243,232,204,.12)}

.tm-ad-lado a b{float:right;font-family:var(--tm-dato);font-size:.8rem;background:var(--tm-naranja);color:#fff;border-radius:999px;padding:.1em .55em}

@media (max-width:900px){.tm-ad-marco{grid-template-columns:minmax(0,1fr)}.tm-ad-lado{display:flex;overflow-x:auto;gap:6px;padding:12px}.tm-ad-lado img,.tm-ad-lado small{display:none}.tm-ad-lado a{white-space:nowrap}}

.tm-ad .tm-al-cuerpo{max-width:1180px;margin:0}

.tm-ad-barra{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.tm-ad-pills{display:flex;gap:6px;flex-wrap:wrap}

.tm-ad-pills button{font-family:var(--tm-subtitular);font-weight:700;font-size:1.05rem;color:var(--tm-verde);background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:999px;padding:.45em 1em;cursor:pointer}

.tm-ad-pills button[aria-pressed="true"]{background:var(--tm-verde);color:var(--tm-crema);border-color:var(--tm-verde)}

.tm-ad-barra .tm-boton{margin-left:auto}

.tm-ad-tabla{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio);overflow-x:auto}

.tm-ad-tabla table{width:100%;border-collapse:collapse;font-size:1rem;min-width:720px}

.tm-ad-tabla th{font-family:var(--tm-dato);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:12px 14px;border-bottom:1px solid var(--tm-linea)}

.tm-ad-tabla td{padding:12px 14px;border-bottom:1px dashed var(--tm-linea);vertical-align:middle}

.tm-ad-tabla tr:last-child td{border-bottom:0}

.tm-ad-tabla td.n,.tm-ad-tabla th.n{text-align:right;font-family:var(--tm-dato);white-space:nowrap}

.tm-ad-tabla td b{font-family:var(--tm-subtitular);font-size:1.08rem}

.tm-ad-tabla small{display:block;color:var(--tm-texto-suave);font-size:.88rem}

.tm-ad-acc{display:flex;gap:6px;flex-wrap:wrap}

.tm-ad-mini{font-family:var(--tm-subtitular);font-weight:700;font-size:.98rem;color:var(--tm-verde);background:transparent;border:2px solid var(--tm-verde);border-radius:999px;padding:.3em .9em;cursor:pointer;white-space:nowrap;text-decoration:none}

.tm-ad-mini--amarillo{background:var(--tm-amarillo);border-color:var(--tm-amarillo)}

.tm-ad-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}

.tm-ad-kpis div{background:var(--tm-tarjeta);border:1px solid var(--tm-linea);border-radius:var(--tm-radio-s);padding:14px 16px;display:grid;gap:2px}

.tm-ad-kpis span{font-family:var(--tm-dato);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase}

.tm-ad-kpis b{font-family:var(--tm-titular);font-size:2rem;line-height:1.05}

.tm-ad-kpis small{font-size:.9rem;color:var(--tm-texto-suave)}

@media (max-width:760px){.tm-ad-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width:480px){.tm-ad-kpis div{padding:12px}.tm-ad-kpis b{font-size:clamp(1.15rem,6.2vw,1.6rem)}.tm-ad-kpis span{font-size:.64rem;letter-spacing:.02em;overflow-wrap:break-word}}

.tm-ad-dos{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}

@media (max-width:980px){.tm-ad-dos{grid-template-columns:minmax(0,1fr)}}

.tm-ad-alertas{list-style:none;margin:0;padding:0;display:grid;gap:8px}

.tm-ad-alertas li a{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid var(--tm-linea);border-radius:12px;padding:12px 14px;color:var(--tm-verde);text-decoration:none}

.tm-ad-alertas li a b{font-family:var(--tm-titular);font-size:1.5rem;min-width:1.6em}

.tm-ad-alertas li.urge a{border-color:var(--tm-naranja);background:#FFF1E8}

.tm-ad-top{list-style:none;margin:0;padding:0;display:grid;gap:8px}

.tm-ad-top li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:1rem}

.tm-ad-top i{grid-column:1/-1;height:8px;border-radius:99px;background:rgba(25,83,43,.12);overflow:hidden}

.tm-ad-top i::before{content:"";display:block;height:100%;width:var(--w);background:var(--tm-lima)}

.tm-ad-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}

.tm-ad-roles div{background:#fff;border:1px solid var(--tm-linea);border-radius:12px;padding:12px 14px;font-size:.95rem}

.tm-ad-roles b{display:block;font-family:var(--tm-subtitular);font-size:1.1rem}

@media (max-width:760px){.tm-ad-roles{grid-template-columns:minmax(0,1fr)}}

.tm-ad select{font:1rem var(--tm-cuerpo);color:var(--tm-verde);border:2px solid var(--tm-linea);border-radius:10px;padding:.35em .5em;background:#fff}

/* ===== Checkout (tm-co) · desde 23a ===== */
.tm-co{max-width:1100px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.tm-co-paso{background:#fff;border-radius:18px;padding:20px;display:grid;gap:12px;margin-bottom:16px}
.tm-co-paso h3{margin:0;font-size:1.15rem;color:var(--tm-verde)}
.tm-co-paso h3 small{display:block;font:500 .9rem/1.35 var(--tm-cuerpo,inherit);opacity:.8;margin-top:4px}
.tm-co select{width:100%;padding:12px 14px;border:1px solid #c9d6cf;border-radius:12px;background:#fff;font:inherit;min-height:50px}
.tm-co .tm-campo{align-content:start}
.tm-co-fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.tm-co-opc{display:grid;gap:8px}
.tm-co-opc label{display:flex;gap:10px;align-items:flex-start;border:2px solid #e6dcc2;border-radius:14px;padding:12px;cursor:pointer}
.tm-co-opc label:has(input:checked){border-color:var(--tm-verde);background:#f6f1e2}
.tm-co-opc small{display:block;opacity:.75}
.tm-co-aviso{background:#f6f1e2;border-radius:12px;padding:10px 12px;font-size:.88rem}
.tm-co-regalo{background:var(--tm-amarillo);border-radius:12px;padding:12px;font-weight:700;color:var(--tm-verde)}
.tm-co-barra{display:grid;gap:6px;font-weight:700;color:var(--tm-verde);font-size:.92rem}
.tm-co-barra i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,var(--tm-verde) var(--p),#e6dcc2 var(--p))}
.tm-co-resumen{background:#fff;border-radius:18px;padding:20px;position:sticky;top:70px;display:grid;gap:10px}
.tm-co-resumen dl{margin:0;display:grid;gap:6px}
.tm-co-resumen dl div{display:flex;justify-content:space-between;gap:8px}
.tm-co-resumen dd{margin:0;font-weight:700;white-space:nowrap}
.tm-co-resumen .total{border-top:2px solid #e6dcc2;padding-top:8px;font-size:1.1rem}
.tm-co-resumen .menos dd{color:#2f7a3b}
.tm-co-listo{max-width:640px;margin:auto;background:#fff;border-radius:18px;padding:24px;display:grid;gap:12px;text-align:center}
@media (max-width:860px){.tm-co{grid-template-columns:1fr}.tm-co-resumen{position:static}}

