@media (max-width: 760px) {
  .pantalla-tel .m-barra { padding-top: 14px; } }

.mini { --m-fondo: #0E0D0C; --m-tinta: #EFE6D2; --m-acento: #B89A5F; --m-sobre: #111; --m-suave: rgba(239, 230, 210, .06); --m-linea: rgba(239, 230, 210, .12); --m-radio: 0px;
  --m-titulo: "Bodoni Moda", Georgia, serif; --m-peso: 500; --m-caja: none; --m-espacio: -.01em;
  min-height: 100%; background: var(--m-fondo); color: var(--m-tinta); font: 400 13px/1.5 var(--f-texto); padding-bottom: 70px; transition: background .5s, color .5s; }
.mini * { box-sizing: border-box; }
.mini[data-letra="moderna"] { --m-titulo: "Schibsted Grotesk", system-ui, sans-serif; --m-peso: 800; --m-espacio: -.03em; }
.mini[data-letra="cartel"] { --m-titulo: "Big Shoulders Display", "Arial Narrow", sans-serif; --m-peso: 800; --m-caja: uppercase; --m-espacio: .01em; }
.mini[data-letra="redonda"] { --m-titulo: "Unbounded", system-ui, sans-serif; --m-peso: 500; --m-espacio: -.04em; }
.mini[data-estilo="tarjetas"] { --m-radio: 16px; }
.mini h3, .mini .m-logo, .mini .m-hero h4 { font-family: var(--m-titulo); font-weight: var(--m-peso); text-transform: var(--m-caja); letter-spacing: var(--m-espacio); margin: 0; }
.m-barra { position: sticky; top: 0; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 48px 16px 12px; background: var(--m-fondo); border-bottom: 1px solid var(--m-linea); transition: background .5s; }
.m-logo { font-size: 17px; line-height: 1; max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-menu { width: 22px; height: 12px; border-block: 1.5px solid currentColor; opacity: .7; }
.m-hero { padding: 26px 16px 22px; display: grid; gap: 12px; }
.m-hero small { font: 600 9.5px/1.2 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--m-acento); }
.m-hero h4 { font-size: 34px; line-height: .98; }
.m-hero p { margin: 0; opacity: .78; font-size: 13px; }
.m-foto { height: 150px; border-radius: var(--m-radio); background: radial-gradient(120% 90% at 20% 20%, var(--m-acento), transparent 60%), linear-gradient(135deg, var(--m-suave), var(--m-linea)); position: relative; overflow: hidden; }
.m-foto::after { content: "Tu foto va acá"; position: absolute; right: 10px; bottom: 8px; font: 500 9px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.m-botones { display: flex; gap: 8px; flex-wrap: wrap; }
.m-boton { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 9px 14px; border-radius: var(--m-radio); background: var(--m-acento); color: var(--m-sobre); font-weight: 700; font-size: 12px; border: 0; cursor: pointer; }
.m-boton.m-linea { background: transparent; color: var(--m-tinta); box-shadow: inset 0 0 0 1px var(--m-linea); }
.mini[data-estilo="audaz"] .m-hero { background: var(--m-acento); color: var(--m-sobre); margin: 0; padding: 30px 16px 26px; }
.mini[data-estilo="audaz"] .m-hero small { color: var(--m-sobre); opacity: .75; }
.mini[data-estilo="audaz"] .m-hero h4 { font-size: 40px; }
.mini[data-estilo="audaz"] .m-hero .m-boton { background: var(--m-sobre); color: var(--m-acento); }
.mini[data-estilo="audaz"] .m-hero .m-boton.m-linea { background: transparent; color: var(--m-sobre); box-shadow: inset 0 0 0 1px var(--m-sobre); }
.mini[data-estilo="audaz"] .m-foto { background: linear-gradient(135deg, rgba(0,0,0,.18), rgba(0,0,0,.02)); }
.m-sec { padding: 22px 16px; border-top: 1px solid var(--m-linea); }
.m-sec h3 { font-size: 21px; margin-bottom: 12px; }
.m-lista { display: grid; gap: 0; }
.m-fila { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px dashed var(--m-linea); }
.m-fila b { font-weight: 600; }
.m-fila span { color: var(--m-acento); font-weight: 700; white-space: nowrap; }
.mini[data-estilo="tarjetas"] .m-lista { gap: 8px; }
.mini[data-estilo="tarjetas"] .m-fila { background: var(--m-suave); border: 0; border-radius: 12px; padding: 12px; }
.m-dias { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.m-dias::-webkit-scrollbar { display: none; }
.m-dia, .m-hora { flex: none; min-width: 50px; padding: 8px 10px; border-radius: var(--m-radio); box-shadow: inset 0 0 0 1px var(--m-linea); background: none; color: inherit; font: inherit; font-size: 12px; cursor: pointer; text-align: center; }
.m-dia small { display: block; font-size: 9px; opacity: .6; text-transform: uppercase; }
.m-dia[aria-pressed="true"], .m-hora[aria-pressed="true"] { background: var(--m-acento); color: var(--m-sobre); box-shadow: none; }
.m-horas { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 12px; }
.m-aviso { margin-top: 10px; font-size: 11px; padding: 8px 10px; border-radius: var(--m-radio); background: var(--m-suave); display: none; }
.m-aviso.visto { display: block; }
.m-horario { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; font-size: 12px; }
.m-horario span:nth-child(even) { opacity: .75; }
.m-galeria { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 70px 70px; gap: 6px; }
.m-galeria i { border-radius: var(--m-radio); background: linear-gradient(135deg, var(--m-acento), var(--m-suave)); opacity: .85; }
.m-galeria i:first-child { grid-row: span 2; }
.m-galeria i:nth-child(2) { opacity: .55; } .m-galeria i:nth-child(3) { opacity: .35; }
.m-mapa { display: block; height: 110px; border-radius: var(--m-radio); background:
  linear-gradient(90deg, transparent 47%, var(--m-linea) 47% 53%, transparent 53%), linear-gradient(0deg, transparent 45%, var(--m-linea) 45% 55%, transparent 55%),
  linear-gradient(90deg, transparent 18%, var(--m-linea) 18% 20%, transparent 20%), var(--m-suave); position: relative; }
.m-mapa::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -14px 0 0 -7px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--m-acento); }
.m-dir { margin: 8px 0 10px; font-size: 12px; opacity: .8; }
.m-botones a.m-boton { text-decoration: none; display: inline-flex; align-items: center; }
.m-pie { padding: 20px 16px; font-size: 10px; opacity: .55; text-align: center; }
.m-wa { position: absolute; right: 26px; bottom: 30px; z-index: 4; width: 44px; height: 44px; border-radius: 50%; background: #25D366; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(0,0,0,.35); pointer-events: none; }
.m-wa svg { width: 22px; height: 22px; color: #fff; }
.m-fila b small { display: block; font-weight: 400; font-size: 10.5px; opacity: .6; margin-top: 2px; }
.m-pestanas, .m-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.m-pest, .m-chip { padding: 6px 11px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--m-linea); background: none; color: inherit; font: inherit; font-size: 11.5px; cursor: pointer; }
.mini[data-estilo="tarjetas"] .m-pest, .mini[data-estilo="tarjetas"] .m-chip { border-radius: 10px; }
.m-pest[aria-pressed="true"], .m-chip[aria-pressed="true"] { background: var(--m-acento); color: var(--m-sobre); box-shadow: none; }
span.m-chip { cursor: default; }
.m-mini-t { margin: 0 0 6px; font-size: 11px; opacity: .7; }
.m-gente { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 12px; }
.m-gente span { margin-right: auto; opacity: .75; }
.m-gente button { width: 30px; height: 30px; border-radius: 50%; border: 0; background: var(--m-suave); color: inherit; font-size: 16px; cursor: pointer; box-shadow: inset 0 0 0 1px var(--m-linea); }
.m-galeria-g { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 90px 60px; }
.m-galeria-g i:first-child { grid-column: span 2; grid-row: auto; }
.m-galeria-g i:nth-child(4) { grid-column: span 2; }
.m-grilla2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.m-caja { padding: 14px 12px; border-radius: var(--m-radio); background: var(--m-suave); box-shadow: inset 0 0 0 1px var(--m-linea); display: grid; gap: 6px; }
.m-caja em { font-style: normal; font-size: 20px; color: var(--m-acento); line-height: 1; }
.m-caja b { font-size: 12.5px; }
.m-perfil { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--m-linea); }
.m-perfil i { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--m-acento), var(--m-suave)); flex: none; }
.m-perfil b { display: block; font-size: 13px; } .m-perfil small { font-size: 11px; opacity: .65; }
.m-clase { display: grid; padding: 12px; margin-bottom: 8px; border-left: 3px solid var(--m-acento); background: var(--m-suave); border-radius: 0 var(--m-radio) var(--m-radio) 0; }
.m-clase b { font-size: 14px; } .m-clase small { font-size: 11px; opacity: .7; }
.m-semana { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin-bottom: 12px; text-align: center; font-size: 10px; }
.m-semana > b { opacity: .6; font-weight: 600; }
.m-celda { min-height: 28px; border: 0; border-radius: calc(var(--m-radio) / 2); background: var(--m-suave); color: inherit; font: inherit; font-size: 10px; cursor: pointer; }
.m-celda:empty { opacity: .35; pointer-events: none; }
.m-celda[aria-pressed="true"] { background: var(--m-acento); color: var(--m-sobre); }
.m-planes { display: grid; gap: 8px; }
.m-plan { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 14px 12px; border-radius: var(--m-radio); box-shadow: inset 0 0 0 1px var(--m-linea); }
.m-plan.dest { box-shadow: inset 0 0 0 2px var(--m-acento); padding-top: 22px; }
.m-plan em { position: absolute; top: 6px; left: 12px; font: 600 8.5px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; font-style: normal; color: var(--m-acento); }
.m-plan span { font-weight: 700; color: var(--m-acento); }
.m-prods { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.m-prod { display: grid; gap: 4px; font-size: 12px; }
.m-prod i { aspect-ratio: 1; border-radius: var(--m-radio); background: linear-gradient(160deg, var(--m-suave), var(--m-acento)); opacity: .8; }
.m-prod span { color: var(--m-acento); font-weight: 700; }
.m-agregar { border: 0; border-radius: var(--m-radio); padding: 7px; font: inherit; font-size: 11px; font-weight: 700; background: var(--m-tinta); color: var(--m-fondo); cursor: pointer; }
.m-carrito { font-size: 12px; font-weight: 700; padding: 5px 9px; border-radius: 999px; background: var(--m-acento); color: var(--m-sobre); }
.m-total { position: sticky; bottom: 0; z-index: 2; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 16px; background: var(--m-fondo); border-top: 1px solid var(--m-linea); font-size: 12px; }
.m-total .m-aviso { flex-basis: 100%; margin: 0; }
.m-serv { padding: 12px 0; border-bottom: 1px dashed var(--m-linea); }
.m-serv b { font-size: 14px; } .m-serv p { margin: 3px 0 0; font-size: 12px; opacity: .72; }
.m-pasos { margin: 0; padding: 0; list-style: none; counter-reset: mp; display: grid; gap: 8px; }
.m-pasos li { counter-increment: mp; display: flex; gap: 10px; align-items: center; font-size: 12.5px; }
.m-pasos li::before { content: counter(mp); width: 24px; height: 24px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--m-acento); color: var(--m-sobre); font-weight: 700; font-size: 11px; }
.m-form { display: grid; gap: 8px; margin-bottom: 12px; }
.m-form span { padding: 11px 12px; border-radius: var(--m-radio); box-shadow: inset 0 0 0 1px var(--m-linea); font-size: 12px; opacity: .6; }
.m-form span:last-child { min-height: 64px; }
.m-auto { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px dashed var(--m-linea); }
.m-auto i { width: 84px; height: 56px; flex: none; border-radius: var(--m-radio); background: linear-gradient(120deg, var(--m-linea), var(--m-acento)); }
.m-auto b { display: block; font-size: 13.5px; } .m-auto small { display: block; font-size: 10.5px; opacity: .65; } .m-auto span { font-size: 12.5px; font-weight: 700; color: var(--m-acento); }
.m-sim { display: grid; gap: 12px; font-size: 12px; }
.m-sim label { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.m-sim input { grid-column: span 2; accent-color: var(--m-acento); }
.m-sim p { margin: 0; display: flex; justify-content: space-between; align-items: baseline; padding: 12px; border-radius: var(--m-radio); background: var(--m-suave); }
.m-sim strong { font-size: 20px; color: var(--m-acento); }
.m-sim small { opacity: .55; font-size: 10px; }
.mini[data-estilo="riso"] { --m-radio: 3px; background-image: radial-gradient(var(--m-linea) .7px, transparent .9px); background-size: 7px 7px; }
.mini[data-estilo="riso"] .m-hero h4 { font-size: 40px; color: var(--m-tinta); text-shadow: 3px 2px 0 var(--m-acento); mix-blend-mode: normal; }
.mini[data-estilo="riso"] .m-hero small { background: var(--m-acento); color: var(--m-sobre); padding: 3px 6px; width: max-content; transform: rotate(-2deg); }
.mini[data-estilo="riso"] .m-foto { border-radius: 2px; background: radial-gradient(circle, var(--m-acento) 1.4px, transparent 1.8px) 0 0 / 8px 8px, linear-gradient(135deg, var(--m-suave), transparent); box-shadow: 5px 5px 0 var(--m-tinta); transform: rotate(-1.2deg); }
.mini[data-estilo="riso"] .m-boton { box-shadow: 3px 3px 0 var(--m-tinta); border-radius: 2px; }
.mini[data-estilo="riso"] .m-boton.m-linea { box-shadow: inset 0 0 0 1.5px var(--m-tinta), 3px 3px 0 var(--m-acento); }
.mini[data-estilo="riso"] .m-sec h3 { display: inline-block; background: linear-gradient(transparent 55%, var(--m-acento) 55%, var(--m-acento) 88%, transparent 88%); padding: 0 4px; margin-left: -4px; }
.mini[data-estilo="riso"] .m-sec { border-top: 2px dashed var(--m-tinta); }
.mini[data-estilo="riso"] .m-caja, .mini[data-estilo="riso"] .m-plan, .mini[data-estilo="riso"] .m-clase { box-shadow: 3px 3px 0 var(--m-acento), inset 0 0 0 1.5px var(--m-tinta); background: transparent; border-left: 0; border-radius: 2px; }
.mini[data-estilo="riso"] .m-caja:nth-child(odd), .mini[data-estilo="riso"] .m-prod:nth-child(odd) { transform: rotate(-.8deg); }
.mini[data-estilo="riso"] .m-caja:nth-child(even), .mini[data-estilo="riso"] .m-prod:nth-child(even) { transform: rotate(.7deg); }
.taller.compu .m-wa { right: 22px; bottom: 22px; }
.mini.compu .m-barra { padding: 14px 26px; }
.mini.compu .m-hero { grid-template-columns: 1.1fr 1fr; align-items: center; padding: 34px 26px; column-gap: 24px; }
.mini.compu .m-hero > * { grid-column: 1; }
.mini.compu .m-hero .m-foto { grid-column: 2; grid-row: 1 / span 4; height: 220px; }
.mini.compu .m-hero h4 { font-size: 44px; }
.mini.compu .m-sec { padding: 26px 26px; }
.mini.compu .m-prods { grid-template-columns: repeat(4, 1fr); }
.mini.compu .m-grilla2, .mini.compu .m-planes { grid-template-columns: repeat(3, 1fr); }
.mini.compu .m-galeria-g { grid-template-rows: 130px 90px; }
.mini[data-letra="vanguardia"] { --m-titulo: Syne, system-ui, sans-serif; --m-peso: 800; --m-espacio: -.03em; }
.mini[data-letra="tech"] { --m-titulo: "Space Grotesk", system-ui, sans-serif; --m-peso: 700; --m-espacio: -.03em; }
.mini[data-letra="estudio"] { --m-titulo: "Bricolage Grotesque", system-ui, sans-serif; --m-peso: 800; --m-espacio: -.04em; }
.mini[data-letra="futuro"] { --m-titulo: Michroma, system-ui, sans-serif; --m-peso: 400; --m-espacio: -.02em; --m-caja: uppercase; }
.mini[data-letra="editorial"] { --m-titulo: "DM Serif Display", Georgia, serif; --m-peso: 400; --m-espacio: -.01em; }
.mini[data-letra="codigo"] { --m-titulo: "Major Mono Display", ui-monospace, monospace; --m-peso: 400; --m-espacio: -.04em; }
.mini[data-letra="futuro"] .m-hero h4 { font-size: 24px; } .mini[data-letra="codigo"] .m-hero h4 { font-size: 26px; }
.mini[data-estilo="neon"] { --m-radio: 10px; background: radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--m-acento) 22%, transparent), transparent 60%), #07070c; color: #eef0ff; --m-linea: color-mix(in srgb, var(--m-acento) 40%, transparent); --m-suave: color-mix(in srgb, var(--m-acento) 10%, transparent); }
.mini[data-estilo="neon"] .m-barra, .mini[data-estilo="neon"] .m-total { background: #07070c; }
.mini[data-estilo="neon"] .m-hero h4 { color: #fff; text-shadow: 0 0 10px var(--m-acento), 0 0 26px var(--m-acento); }
.mini[data-estilo="neon"] .m-boton { background: transparent; color: #fff; box-shadow: 0 0 0 1.5px var(--m-acento), 0 0 16px color-mix(in srgb, var(--m-acento) 70%, transparent), inset 0 0 12px color-mix(in srgb, var(--m-acento) 40%, transparent); }
.mini[data-estilo="neon"] .m-foto { background: linear-gradient(var(--m-linea) 1px, transparent 1px) 0 0 / 18px 18px, linear-gradient(90deg, var(--m-linea) 1px, transparent 1px) 0 0 / 18px 18px, radial-gradient(circle at 50% 120%, var(--m-acento), transparent 60%); box-shadow: 0 0 0 1px var(--m-acento), 0 0 22px color-mix(in srgb, var(--m-acento) 50%, transparent); }
.mini[data-estilo="neon"] .m-sec h3 { color: #fff; text-shadow: 0 0 12px var(--m-acento); }
.mini[data-estilo="neon"] .m-fila span, .mini[data-estilo="neon"] .m-prod span { text-shadow: 0 0 8px var(--m-acento); }
.mini[data-estilo="cristal"] { --m-radio: 18px; background: radial-gradient(60% 40% at 15% 10%, color-mix(in srgb, var(--m-acento) 55%, transparent), transparent 70%), radial-gradient(50% 40% at 90% 45%, color-mix(in srgb, var(--m-acento) 35%, #6b5ca5 30%), transparent 70%), radial-gradient(60% 40% at 30% 90%, color-mix(in srgb, var(--m-acento) 30%, transparent), transparent 70%), var(--m-fondo); }
.mini[data-estilo="cristal"] .m-barra, .mini[data-estilo="cristal"] .m-total { background: color-mix(in srgb, var(--m-fondo) 55%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.mini[data-estilo="cristal"] .m-sec { margin: 10px 12px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 18px; background: rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 10px 30px -14px rgba(0, 0, 0, .4); }
.mini[data-estilo="cristal"] .m-foto { border: 1px solid rgba(255, 255, 255, .35); background: linear-gradient(135deg, rgba(255, 255, 255, .35), rgba(255, 255, 255, .05)); }
.mini[data-estilo="cristal"] .m-boton { border-radius: 999px; }
@keyframes late { 50% { opacity: .3; } }
/* ===== premium: marca, horario, preguntas, fotos subidas ===== */
.m-marca { display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 82%; overflow: hidden; }
.m-marca .m-logo { max-width: 100%; min-width: 0; }
.m-logo-img { height: 24px; width: auto; max-width: 70px; object-fit: contain; border-radius: 4px; }
.mini .m-foto.con-foto { background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.m-foto.con-foto::after { display: none; }
.m-abierto { display: inline-flex; align-items: center; gap: 7px; margin: 0; font-size: 11px; opacity: .72; }
.m-abierto i { width: 7px; height: 7px; border-radius: 50%; background: #3ecf7a; box-shadow: 0 0 0 3px rgba(62, 207, 122, .2); }
.m-faq details { border-top: 1px solid var(--m-linea); padding: 10px 0; }
.m-faq details:last-child { border-bottom: 1px solid var(--m-linea); }
.m-faq summary { cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.m-faq summary::-webkit-details-marker { display: none; }
.m-faq summary::after { content: "+"; color: var(--m-acento); font-weight: 400; transition: transform .25s; }
.m-faq details[open] summary::after { transform: rotate(45deg); }
.m-faq p { margin: 6px 0 0; font-size: 12.5px; opacity: .75; line-height: 1.5; }
.m-galeria-g i[style] { background-size: cover; background-position: center; }

/* ===== estructuras ===== */
/* revista: foto de tapa arriba, título enorme, secciones con filete */
.mini[data-estructura="revista"] .m-hero { padding-top: 0; }
.mini[data-estructura="revista"] .m-hero .m-foto { order: -1; margin: 0 -16px 6px; height: 190px; border-radius: 0; }
.mini[data-estructura="revista"] .m-hero h4 { font-size: 46px; line-height: .9; }
.mini[data-estructura="revista"] .m-hero small { border-top: 2px solid var(--m-tinta); padding-top: 8px; color: var(--m-tinta); }
.mini[data-estructura="revista"] .m-sec { border-top: 0; }
.mini[data-estructura="revista"] .m-sec h3 { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-family: var(--f-mono, monospace); font-weight: 600; border-bottom: 2px solid var(--m-tinta); padding-bottom: 8px; }
.mini.compu[data-estructura="revista"] .m-hero { grid-template-columns: 1fr 1fr; }
.mini.compu[data-estructura="revista"] .m-hero .m-foto { grid-column: 1 / -1; grid-row: auto; margin: 0 -26px 10px; height: 260px; }
.mini.compu[data-estructura="revista"] .m-hero h4 { font-size: 68px; grid-column: 1 / -1; }
.mini.compu[data-estructura="revista"] .m-hero > p:not(.m-abierto) { grid-column: 1; }
.mini.compu[data-estructura="revista"] .m-cuerpo { display: grid; grid-template-columns: 1fr 1fr; column-gap: 26px; padding: 0 0 10px; }

/* pantalla partida: la foto ocupa media pantalla y el texto sube encima */
.mini[data-estructura="partida"] .m-hero { padding: 0 0 22px; gap: 0; }
.mini[data-estructura="partida"] .m-hero .m-foto { order: -1; height: 230px; border-radius: 0; margin: 0; }
.mini[data-estructura="partida"] .m-hero > :not(.m-foto) { margin: 0 16px; }
.mini[data-estructura="partida"] .m-hero small { margin-top: -46px; position: relative; z-index: 1; width: max-content; max-width: calc(100% - 32px); background: var(--m-fondo); padding: 10px 12px 6px; border-radius: var(--m-radio) var(--m-radio) 0 0; }
.mini[data-estructura="partida"] .m-hero h4 { background: var(--m-fondo); padding: 4px 12px 12px; margin-left: 16px; margin-right: 16px; }
.mini[data-estructura="partida"] .m-hero > p, .mini[data-estructura="partida"] .m-hero .m-botones { margin-top: 10px; }
.mini.compu[data-estructura="partida"] .m-hero { grid-template-columns: 1fr 1fr; padding: 0; min-height: 330px; align-items: center; }
.mini.compu[data-estructura="partida"] .m-hero .m-foto { grid-column: 2; grid-row: 1 / span 6; height: 100%; min-height: 330px; }
.mini.compu[data-estructura="partida"] .m-hero > :not(.m-foto) { grid-column: 1; margin: 0 26px; }
.mini.compu[data-estructura="partida"] .m-hero small { margin-top: 0; background: none; padding: 0; }
.mini.compu[data-estructura="partida"] .m-hero h4 { background: none; padding: 0; margin: 8px 26px 0; font-size: 50px; }

/* galería: mosaico de fotos y secciones en bloques */
.m-mosaico { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; height: 190px; }
.m-mosaico .m-foto { grid-row: span 2; height: auto; }
.m-tesela { border-radius: var(--m-radio); background: linear-gradient(135deg, var(--m-acento-s), var(--m-suave)); }
.m-tesela:last-child { background: var(--m-acento); opacity: .85; }
.mini[data-estructura="galeria"] .m-hero .m-mosaico { order: -1; }
.mini[data-estructura="galeria"] .m-sec { margin: 10px 12px; border: 1px solid var(--m-linea); border-radius: max(var(--m-radio), 10px); }
.mini.compu[data-estructura="galeria"] .m-hero { grid-template-columns: 1fr; }
.mini.compu[data-estructura="galeria"] .m-hero > * { grid-column: 1; }
.mini.compu[data-estructura="galeria"] .m-mosaico { height: 260px; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr; }
.mini.compu[data-estructura="galeria"] .m-mosaico .m-foto { grid-row: auto; }
.mini.compu[data-estructura="galeria"] .m-cuerpo { display: grid; grid-template-columns: 1fr 1fr; padding: 0 14px; }
.mini.compu[data-estructura="galeria"] .m-sec { margin: 8px; }

/* tarjetas flotantes: fondo con luz de color y cada sección flota */
.mini[data-estructura="flotante"] { background: radial-gradient(90% 40% at 100% 0%, var(--m-acento-s), transparent 70%), radial-gradient(70% 30% at 0% 45%, var(--m-acento-s), transparent 70%), var(--m-fondo); }
.mini[data-estructura="flotante"] .m-hero .m-foto { border-radius: max(var(--m-radio), 18px); rotate: -2deg; box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .55); }
.mini[data-estructura="flotante"] .m-sec { margin: 14px 14px; border: 0; border-radius: 18px; background: var(--m-fondo); box-shadow: 0 1px 0 var(--m-linea) inset, 0 14px 30px -16px rgba(0, 0, 0, .45), 0 0 0 1px var(--m-linea); }
.mini.compu[data-estructura="flotante"] .m-cuerpo { display: grid; grid-template-columns: 1fr 1fr; padding: 0 12px 10px; align-items: start; }
.mini.compu[data-estructura="flotante"] .m-sec:nth-child(even) { transform: translateY(26px); }

/* centrada: simétrica, con sello de marca */
.mini[data-estructura="centrada"] .m-hero { justify-items: center; text-align: center; }
.mini[data-estructura="centrada"] .m-hero .m-botones { justify-content: center; }
.mini[data-estructura="centrada"] .m-hero .m-foto { width: 100%; border-radius: 999px 999px var(--m-radio) var(--m-radio); height: 170px; }
.mini[data-estructura="centrada"] .m-sec { text-align: center; }
.mini[data-estructura="centrada"] .m-sec .m-fila, .mini[data-estructura="centrada"] .m-sec .m-horario { text-align: left; }
.mini[data-estructura="centrada"] .m-sec h3::after { content: ""; display: block; width: 28px; height: 2px; margin: 8px auto 0; background: var(--m-acento); }
.m-sello { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; box-shadow: 0 0 0 1px var(--m-linea), 0 0 0 5px var(--m-suave); background: var(--m-acento); color: var(--m-sobre); font: 600 24px/1 var(--m-titulo); }
.m-sello img { width: 100%; height: 100%; object-fit: cover; background: #fff; }
.mini.compu[data-estructura="centrada"] .m-hero { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
.mini.compu[data-estructura="centrada"] .m-hero > * { grid-column: 1; }
.mini.compu[data-estructura="centrada"] .m-hero .m-foto { grid-row: auto; height: 220px; }
.mini.compu[data-estructura="centrada"] .m-cuerpo { max-width: 620px; margin: 0 auto; }

/* ===== formas ===== */
.mini[data-boton="recto"] .m-boton, .mini[data-boton="recto"] .m-chip, .mini[data-boton="recto"] .m-pest, .mini[data-boton="recto"] .m-hora, .mini[data-boton="recto"] .m-dia { border-radius: 0; }
.mini[data-boton="suave"] .m-boton, .mini[data-boton="suave"] .m-chip, .mini[data-boton="suave"] .m-pest, .mini[data-boton="suave"] .m-hora, .mini[data-boton="suave"] .m-dia { border-radius: 9px; }
.mini[data-boton="pildora"] .m-boton, .mini[data-boton="pildora"] .m-chip, .mini[data-boton="pildora"] .m-pest, .mini[data-boton="pildora"] .m-hora, .mini[data-boton="pildora"] .m-dia { border-radius: 999px; }
.mini[data-foto="recta"] .m-foto, .mini[data-foto="recta"] .m-tesela { border-radius: 0; }
.mini[data-foto="suave"] .m-foto, .mini[data-foto="suave"] .m-tesela { border-radius: 16px; }
.mini[data-foto="arco"] .m-hero .m-foto { border-radius: 999px 999px 10px 10px; }
.mini[data-foto="ola"] .m-hero .m-foto { border-radius: 0; -webkit-clip-path: polygon(0 0, 100% 0, 100% 84%, 88% 88%, 75% 92%, 62% 93%, 50% 91%, 38% 88%, 25% 87%, 12% 89%, 0 93%); clip-path: polygon(0 0, 100% 0, 100% 84%, 88% 88%, 75% 92%, 62% 93%, 50% 91%, 38% 88%, 25% 87%, 12% 89%, 0 93%); }
.mini[data-textura="grano"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.mini[data-textura="puntos"] { background-image: radial-gradient(var(--m-linea) 1px, transparent 1.4px); background-size: 14px 14px; }
.mini[data-textura="lineas"] { background-image: repeating-linear-gradient(135deg, var(--m-suave) 0 1px, transparent 1px 11px); }
.mini[data-textura="malla"] { background-image: radial-gradient(60% 35% at 85% 8%, var(--m-acento-s), transparent 70%), radial-gradient(55% 30% at 5% 40%, var(--m-acento-s), transparent 70%), radial-gradient(60% 30% at 90% 80%, var(--m-acento-s), transparent 70%); }
.mini[data-textura]:not([data-textura="lisa"]) .m-sec, .mini[data-textura]:not([data-textura="lisa"]) .m-hero { background-color: transparent; }

/* ===== animación de entrada ===== */
@media (prefers-reduced-motion: no-preference) {
  .mini[data-entrada="suave"] .m-sec, .mini[data-entrada="suave"] .m-hero > * { opacity: 0; transition: opacity .7s cubic-bezier(.23, 1, .32, 1) calc(var(--m-i, 0) * 60ms); }
  .mini[data-entrada="sube"] .m-sec, .mini[data-entrada="sube"] .m-hero > * { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.23, 1, .32, 1) calc(var(--m-i, 0) * 60ms), transform .7s cubic-bezier(.16, 1, .3, 1) calc(var(--m-i, 0) * 60ms); }
  .mini[data-entrada="zoom"] .m-sec, .mini[data-entrada="zoom"] .m-hero > * { opacity: 0; transform: scale(.94); transition: opacity .6s cubic-bezier(.23, 1, .32, 1) calc(var(--m-i, 0) * 60ms), transform .7s cubic-bezier(.16, 1, .3, 1) calc(var(--m-i, 0) * 60ms); }
  .mini .m-visto { opacity: 1 !important; transform: none !important; }
  .mini.compu[data-estructura="flotante"] .m-sec:nth-child(even).m-visto { transform: translateY(26px) !important; }
}

/* ===== firma de cada rubro en la portada ===== */
.m-firma { font-size: 12px; }
.m-f-ticket { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2px 12px; padding: 12px 14px; border: 1px dashed var(--m-linea); border-radius: max(var(--m-radio), 6px); background: var(--m-suave); max-width: 300px; }
.m-f-ticket small, .m-f-agenda small, .m-f-cuota small { grid-column: 1 / -1; font: 600 9px/1.2 var(--f-mono, monospace); letter-spacing: .14em; text-transform: uppercase; color: var(--m-acento); }
.m-f-ticket b { font-weight: 600; } .m-f-ticket span { font-weight: 700; color: var(--m-acento); font-variant-numeric: tabular-nums; }
.m-f-turno { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px 6px 6px; border-radius: 999px; background: var(--m-suave); box-shadow: inset 0 0 0 1px var(--m-linea); width: max-content; max-width: 100%; }
.m-caras { display: inline-flex; } .m-caras i { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--m-fondo); background: linear-gradient(135deg, var(--m-acento), var(--m-acento-s)); margin-left: -8px; } .m-caras i:first-child { margin-left: 0; } .m-caras i:nth-child(2) { opacity: .75; } .m-caras i:nth-child(3) { opacity: .5; }
.m-f-turno b { color: var(--m-acento); }
.m-f-agenda { display: grid; gap: 8px; } .m-f-agenda div { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; max-width: 300px; }
.m-f-agenda div span { display: grid; place-items: center; padding: 6px 0; border-radius: max(var(--m-radio), 8px); background: var(--m-suave); box-shadow: inset 0 0 0 1px var(--m-linea); font-weight: 600; font-variant-numeric: tabular-nums; position: relative; }
.m-f-agenda div span::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #3ecf7a; margin-top: 3px; } .m-f-agenda div span.lleno { opacity: .5; } .m-f-agenda div span.lleno::after { background: var(--m-linea); }
.m-f-agenda em { font-style: normal; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; opacity: .7; font-weight: 500; }
.m-f-banda { display: flex; flex-wrap: wrap; gap: 0; margin: 4px -16px; padding: 9px 16px; background: var(--m-acento); color: var(--m-sobre); transform: rotate(-2deg); font: 700 13px/1 var(--m-titulo); text-transform: uppercase; letter-spacing: .02em; }
.m-f-banda span::after { content: "·"; margin: 0 8px; opacity: .6; } .m-f-banda span:last-child::after { content: ""; }
.m-f-vidriera { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 360px; }
.m-pieza { display: grid; gap: 3px; } .m-pieza i { position: relative; aspect-ratio: 1; border-radius: max(var(--m-radio), 8px); background: linear-gradient(160deg, var(--m-acento-s), var(--m-suave)); box-shadow: inset 0 0 0 1px var(--m-linea); }
.m-pieza em { position: absolute; left: 5px; top: 5px; font: 600 8px/1 var(--f-mono, monospace); letter-spacing: .08em; text-transform: uppercase; background: var(--m-acento); color: var(--m-sobre); padding: 3px 5px; border-radius: 3px; font-style: normal; }
.m-pieza b { font-size: 11.5px; font-weight: 600; } .m-pieza small { font-size: 11px; opacity: .7; font-variant-numeric: tabular-nums; }
.m-f-pasos { display: grid; gap: 6px; } .m-f-pasos span { display: flex; align-items: center; gap: 9px; } .m-f-pasos b { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--m-acento); color: var(--m-sobre); font-size: 11px; flex: none; }
.m-f-pasos span + span { position: relative; } .m-f-pasos span + span::before { content: ""; position: absolute; left: 10.5px; top: -6px; height: 6px; width: 1px; background: var(--m-linea); }
.m-f-cuota { display: grid; gap: 3px; padding: 12px 14px; border-radius: max(var(--m-radio), 10px); background: var(--m-acento); color: var(--m-sobre); max-width: 300px; }
.m-f-cuota small { color: var(--m-sobre); opacity: .75; } .m-f-cuota b { font: 600 18px/1.1 var(--m-titulo); } .m-f-cuota span { font-size: 11px; opacity: .8; }
.mini[data-estructura="centrada"] .m-firma { justify-self: center; } .mini[data-estructura="centrada"] .m-f-pasos { justify-items: start; }
.mini.compu .m-f-pasos { grid-auto-flow: column; justify-content: start; gap: 16px; } .mini.compu .m-f-pasos span + span::before { display: none; }
.mini[data-estilo="neon"] .m-f-banda, .mini[data-estilo="neon"] .m-f-cuota { box-shadow: 0 0 18px var(--m-acento); }
.mini.compu .m-f-banda { margin: 4px 0; }
