/* RSJ · plantillas v3 · hoja de las páginas corporativas y legales (plantillas «corporativa» y «legal» v1.0, paquete
   rsj_plantillas_corporativa_legal_v1.0, aprobadas por Miguel el 20/10/2026). tokens, base, header, footer y contacto-whatsapp están en comun.css.
   Primero, los módulos de la biblioteca TAL CUAL (regla D9; copiados de las hojas que ya los llevan): breadcrumbs 1.0, hero 1.2-rc (incluye la
   1.1), confianza-logistica 1.0, como-comprar 1.0, bloque-entrega 1.1, faqs 1.0, cta 1.0 y contenido-seo 1.1. Al final, src/corporativa-legal.css
   del paquete sin cambios: lo propio de esta parte, que NO viene de la biblioteca (hero «sencilla», .m-textos, .m-ayuda, equipo, texto-legal y el
   aviso de estado). */

/* ===== biblioteca: breadcrumbs (sin cambios) ===== */
/* RSJ · breadcrumbs (migas de pan) · v1.0 (validado por Miguel el 08/10/2026). Biblioteca de módulos. Ficha v0.4. Texto 14 en text-muted, la página actual
   en ink; separador «/» decorativo. Si no cabe en móvil, pasa a la línea siguiente. El JSON-LD BreadcrumbList lo genera el servidor. */
.m-migas{padding-block:var(--s-16);font-size:var(--fs-aux)}
.m-migas ol{display:flex;flex-wrap:wrap;gap:var(--s-8);margin:0;padding:0;list-style:none}
.m-migas li{display:flex;gap:var(--s-8);color:var(--color-text-muted)}
.m-migas li+li::before{content:"/";color:var(--color-border-strong)}
.m-migas a{display:inline-flex;align-items:center;min-height:var(--h-touch-min);margin-block:calc(-1*var(--s-12));color:var(--color-text-muted)}
.m-migas a:hover{color:var(--color-ink)}
.m-migas [aria-current]{color:var(--color-ink);font-weight:var(--fw-medium)}


/* ===== biblioteca: hero (sin cambios) ===== */
/* RSJ · hero · v1.2-rc (15/10/2026: línea de estado; v1.1 validada el 09/10, v1.0 el 08/10). v1.1: variante «campaña» (portada de campaña), todo como dato. Biblioteca de módulos. Home v0.12 §3 (D18): título, entradilla, tres datos, dos botones
   y las mascotas asomando detrás del albarán de ejemplo. Ajustes del libro: botones de 48 px (el grande es solo el de la ficha,
   §8.2), albarán sin sombra, total en --fs-price, cortes 768/1024. Con otra campaña activa, sin albarán (regla 14). */
.m-hero{padding-block:var(--s-32) var(--s-48)}
.m-hero__in{display:grid;gap:var(--s-32);max-width:var(--container-max);margin:0 auto;padding-inline:var(--gutter)}
.m-hero h1{max-width:18ch}
.m-hero__lead{margin-top:var(--s-16);font-size:var(--fs-h3);line-height:1.45;color:var(--color-text-muted);max-width:38ch}
.m-hero__datos{display:grid;gap:var(--s-12);margin:var(--s-24) 0 0;padding:0;list-style:none}
.m-hero__datos li{display:flex;gap:var(--s-12);align-items:flex-start;font-weight:var(--fw-semibold)}
.m-hero__datos svg{width:var(--icon-md);height:var(--icon-md);flex:none;color:var(--color-action)}
.m-hero__ctas{display:flex;flex-wrap:wrap;gap:var(--s-12);margin-top:var(--s-32)}
.m-hero__ctas .btn{flex:1 1 220px}
.m-hero__visual{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:440px;justify-self:center}
.m-hero__masc{position:relative;z-index:0;width:86%;margin-bottom:calc(-1*var(--s-48))}
.m-hero__masc img{width:100%;height:auto}
.m-hero[data-albaran=no] .m-hero__masc{margin-bottom:0}
.m-hero__albaran{position:relative;z-index:1;width:min(340px,100%);padding:var(--s-16) var(--s-24);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.m-hero__albaran::before,.m-hero__albaran::after{content:"";position:absolute;left:var(--s-16);right:var(--s-16);height:var(--s-8);background:radial-gradient(circle at 6px 4px,var(--color-surface) 3px,transparent 3.5px) 0 0/12px 8px repeat-x}
.m-hero__albaran::before{top:calc(-1*var(--s-4))}
.m-hero__albaran::after{bottom:calc(-1*var(--s-4))}
.m-hero__alb-t{font-size:var(--fs-aux);font-weight:var(--fw-semibold);color:var(--color-text-muted)}
.m-hero__albaran dl{margin:var(--s-4) 0 0}
.m-hero__albaran dl div{display:flex;justify-content:space-between;gap:var(--s-16);padding-block:var(--s-8);border-bottom:1px dashed var(--color-border-strong)}
.m-hero__albaran dt{font-size:var(--fs-aux)}
.m-hero__albaran dd{margin:0;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}
.m-hero__albaran .m-hero__total{border-bottom:0;align-items:baseline}
.m-hero__total dt{font-weight:var(--fw-semibold)}
.m-hero__total dd{font-size:var(--fs-price);font-weight:var(--fw-bold);color:var(--color-action)}
.m-hero__alb-nota{font-size:var(--fs-badge);color:var(--color-text-muted);line-height:1.4}
@media (min-width:768px){.m-hero__ctas .btn{flex:0 0 auto}}
@media (min-width:1024px){
 .m-hero{padding-block:var(--s-48) var(--s-64)}
 .m-hero__in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-64);align-items:end}
 .m-hero__visual{justify-self:end}
 .m-hero__masc{align-self:flex-end;width:100%;margin-bottom:-150px}
 .m-hero[data-albaran=no] .m-hero__masc{margin-bottom:0}
 .m-hero__albaran{align-self:flex-start;margin-left:calc(-1*clamp(0px,(100vw - 1100px)*.6,120px))}
}
/* 1.2-rc (15/10/2026, petición 19 de la portada de campaña, D-HC8): línea de estado opcional encima del H1 (variante «campaña»).
   Luz de estado + texto 14/600; llena = abierta; círculo vacío = próximamente o cerrada. Sin color de acción. No es un encabezado. */
.m-hero__estado{display:inline-flex;align-items:center;gap:var(--s-8);margin:0 0 var(--s-12);font-size:var(--fs-aux);font-weight:var(--fw-semibold);color:var(--color-ink);line-height:1.3}
.m-hero__luz{flex:none;width:var(--status-dot);height:var(--status-dot);border-radius:50%;background:var(--color-status-on);box-shadow:0 0 0 var(--status-halo) var(--color-status-on-halo)}
.m-hero__estado[data-estado="proximamente"],.m-hero__estado[data-estado="cerrada"]{color:var(--color-text-muted)}
.m-hero__estado[data-estado="proximamente"] .m-hero__luz,.m-hero__estado[data-estado="cerrada"] .m-hero__luz{background:transparent;border:2px solid var(--color-text-muted);box-shadow:none}


/* ===== biblioteca: confianza-logistica (sin cambios) ===== */
/* RSJ · confianza-logistica · v1.0 (validado por Miguel el 08/10/2026). Biblioteca de módulos. Un solo módulo para la franja de la home y el bloque
   de la ficha (M-B3). Icono Lucide de 24 px en cuadro de 48 px brand-100 con --radius-md (libro §5 y §8.8). Sin JS. */
.m-confianza__lista{display:grid;gap:var(--s-24);margin:0;padding:0;list-style:none}
.m-confianza__item{display:flex;gap:var(--s-24);align-items:flex-start}
.m-confianza__ico{display:grid;place-items:center;flex:none;width:var(--s-48);height:var(--s-48);border-radius:var(--radius-md);background:var(--color-brand-100);color:var(--color-brand-600)}
.m-confianza__ico svg{width:var(--icon-md);height:var(--icon-md)}
.m-confianza__t{display:block;font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-h3)}
.m-confianza__d{display:block;margin-top:var(--s-4);font-size:var(--fs-aux);color:var(--color-text-muted)}
.m-confianza[data-variante=franja]{padding-block:var(--s-32);background:var(--color-surface-soft)}
.m-confianza[data-variante=bloque] h2{margin-bottom:var(--s-24)}
@media (min-width:768px){.m-confianza__lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.m-confianza[data-variante=franja] .m-confianza__lista{grid-template-columns:repeat(4,minmax(0,1fr))}.m-confianza[data-variante=bloque] .m-confianza__lista{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* ===== biblioteca: como (sin cambios) ===== */
/* RSJ · como-comprar · v1.0 (validado por Miguel el 08/10/2026). Biblioteca de módulos. D20 y D21: cuatro tarjetas cuadradas muy redondeadas unidas por
   una línea punteada y ondulada (horizontal desde 1024, vertical en móvil y tableta). Ajustes del libro: radio --radius-lg, sin sombra
   (aro de 2 px brand-100), corte de 1024 (antes 900), iconos de Lucide. El color de la línea (#E2A391) se pide al libro como token. */
.m-como{--m-como-linea:#E2A391}
.m-como__lista{position:relative;display:grid;gap:var(--s-24);margin:0;padding:0;list-style:none}
.m-como__linea{position:absolute;overflow:visible;pointer-events:none}
.m-como__linea path{fill:none;stroke:var(--m-como-linea);stroke-width:3;stroke-linecap:round;stroke-dasharray:0 9;vector-effect:non-scaling-stroke}
.m-como__linea--h{display:none}
.m-como__linea--v{left:20px;top:40px;width:40px;height:calc(100% - 80px)}
.m-como__paso{position:relative;z-index:1;display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--s-16);align-items:center}
.m-como__ico{position:relative;display:grid;place-items:center;width:80px;height:80px;border:2px solid var(--color-brand-100);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-brand-600)}
.m-como__ico svg{width:36px;height:36px}
.m-como__num{position:absolute;top:calc(-1*var(--s-8));right:calc(-1*var(--s-8));display:grid;place-items:center;width:28px;height:28px;border:3px solid var(--color-surface-soft);border-radius:50%;background:var(--color-brand-600);color:var(--color-surface);font-size:var(--fs-aux);font-weight:var(--fw-bold)}
.m-como__paso h3{font-size:var(--fs-body)}
.m-como__paso p{margin-top:var(--s-4);font-size:var(--fs-aux);color:var(--color-text-muted)}
@media (min-width:1024px){
 .m-como__lista{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-32)}
 .m-como__linea--v{display:none}
 .m-como__linea--h{display:block;left:12.5%;top:30px;width:75%;height:40px}
 .m-como__paso{grid-template-columns:1fr;justify-items:center;align-content:start;text-align:center}
 .m-como__ico{width:100px;height:100px}
 .m-como__ico svg{width:44px;height:44px}
 .m-como__paso p{max-width:26ch;margin-inline:auto}
}


/* ===== biblioteca: bloque-entrega (sin cambios) ===== */
/* RSJ · bloque-entrega · v1.1 (validado por Miguel el 08/10/2026). Biblioteca de módulos. Un objeto de datos, tres presentaciones:
   tarjetas (home), lista (ficha) y línea (carrito). Iconos de Lucide (sustituyen a los provisionales, H22). Sin el camión
   ilustrado (H25, provisional): cuando exista, entra como mascota-seccion. Sin JS. */
.m-entrega__tarjetas{display:grid;gap:var(--s-12);margin:var(--s-24) 0 0;padding:0;list-style:none}
.m-entrega__t{display:flex;gap:var(--s-16);align-items:flex-start;padding:var(--s-16) var(--s-16);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.m-entrega__ico{display:grid;place-items:center;flex:none;width:var(--s-48);height:var(--s-48);border-radius:var(--radius-md);background:var(--color-brand-100);color:var(--color-brand-600)}
.m-entrega__ico svg{width:var(--icon-md);height:var(--icon-md)}
.m-entrega__k{font-size:var(--fs-aux);font-weight:var(--fw-semibold);color:var(--color-text-muted)}
.m-entrega__v{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--color-ink)}
.m-entrega__notas{display:grid;gap:var(--s-12);margin-top:var(--s-24)}
.m-entrega__lista{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-8) var(--s-16);margin:var(--s-12) 0 0;font-size:var(--fs-aux)}
.m-entrega__lista dt{font-weight:var(--fw-semibold);color:var(--color-text-muted)}
.m-entrega__lista dd{margin:0;color:var(--color-ink)}
.m-entrega[data-variante=lista]{padding:var(--s-16);border-radius:var(--radius-md);background:var(--color-surface-soft)}
.m-entrega[data-variante=lista] h2{font-size:var(--fs-h3)}
.m-entrega__linea{display:flex;gap:var(--s-8);align-items:center;margin:0;font-size:var(--fs-badge);font-weight:var(--fw-medium);color:var(--color-text-muted)}
.m-entrega__linea svg{width:var(--icon-sm);height:var(--icon-sm);flex:none;color:var(--color-action)}
@media (min-width:768px){.m-entrega__tarjetas{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-16)}}
@media (min-width:1024px){.m-entrega__tarjetas{grid-template-columns:repeat(3,minmax(0,1fr))}.m-entrega__t{padding:var(--s-24)}}
/* v1.1 · Variante «desplegable» para la ficha (Miguel, 08/10/2026): pequeña y cerrada; se abre al pulsar y se cierra al pulsar fuera
   o con Escape. Usa <details>: sin JS se abre y cierra igual; el JS solo añade el cierre al pulsar fuera. */
.m-entrega[data-variante=desplegable]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.m-entrega[data-variante=desplegable] summary{display:flex;align-items:center;gap:var(--s-8);min-height:var(--h-touch-min);padding:var(--s-8) var(--s-12);font-size:var(--fs-aux);list-style:none;cursor:pointer}
.m-entrega[data-variante=desplegable] summary::-webkit-details-marker{display:none}
.m-entrega[data-variante=desplegable] summary>svg:first-child{width:var(--icon-sm);height:var(--icon-sm);flex:none;color:var(--color-action)}
.m-entrega__res{flex:1;min-width:0}
.m-entrega__res b{font-weight:var(--fw-semibold)}
.m-entrega__res span{color:var(--color-text-muted)}
.m-entrega__flecha{width:var(--icon-sm);height:var(--icon-sm);flex:none;color:var(--color-text-muted);transition:transform var(--dur-fast) var(--ease)}
.m-entrega[data-variante=desplegable][open] .m-entrega__flecha{transform:rotate(180deg)}
.m-entrega[data-variante=desplegable] .m-entrega__lista{margin:0;padding:0 var(--s-12) var(--s-12);font-size:var(--fs-badge)}
@media (prefers-reduced-motion:reduce){.m-entrega__flecha{transition:none}}


/* ===== biblioteca: faqs (sin cambios) ===== */
/* RSJ · faqs (B03, + acordeón) · v1.0 (validado por Miguel el 08/10/2026). Biblioteca de módulos. <details>/<summary> nativos: sin JS, accesibles y
   todo el texto en el HTML (bueno para buscadores). Home v0.12: punto de marca a la izquierda, chevron-down de Lucide a la derecha,
   abierta con fondo surface-soft y filete de marca. Animación de 150 ms solo donde el navegador sabe animar la altura. */
.m-faqs{border-top:1px solid var(--color-border)}
.m-faqs__p{border-bottom:1px solid var(--color-border)}
.m-faqs__p summary{position:relative;min-height:var(--h-touch-min);padding:var(--s-16) var(--s-48) var(--s-16) var(--s-32);font-weight:var(--fw-semibold);list-style:none;cursor:pointer}
.m-faqs__p summary::-webkit-details-marker{display:none}
.m-faqs__p summary::before{content:"";position:absolute;left:var(--s-12);top:calc(var(--s-16) + .6em);width:var(--s-8);height:var(--s-8);border-radius:50%;background:var(--color-brand-600)}
.m-faqs__p summary svg{position:absolute;right:var(--s-12);top:calc(var(--s-16) + .1em);width:var(--icon-sm);height:var(--icon-sm);color:var(--color-brand-600);transition:transform 150ms var(--ease)}
.m-faqs__p[open]{background:var(--color-surface-soft);box-shadow:inset 3px 0 0 var(--color-brand-600)}
.m-faqs__p[open] summary svg{transform:rotate(180deg)}
.m-faqs__r{padding:0 var(--s-48) var(--s-16) var(--s-32)}
.m-faqs__r p{max-width:75ch}
@supports (interpolate-size:allow-keywords){.m-faqs{interpolate-size:allow-keywords}.m-faqs__p::details-content{block-size:0;overflow:hidden;transition:block-size 150ms var(--ease),content-visibility 150ms allow-discrete}.m-faqs__p[open]::details-content{block-size:auto}}
@media (prefers-reduced-motion:reduce){.m-faqs__p summary svg{transition:none}.m-faqs__p::details-content{transition:none}}


/* ===== biblioteca: cta (sin cambios) ===== */
/* RSJ · cta (pedidos grandes y entidades) · v1.0 (validado por Miguel el 08/10/2026). Biblioteca de módulos. Caja con título, texto y botón secundario.
   El enlace es un dato (PDC-MOD1: /presupuesto/ recomendado). Sin JS. */
.m-cta{display:grid;gap:var(--s-16);align-items:center;padding:var(--s-24);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.m-cta p{max-width:60ch;margin-top:var(--s-8);color:var(--color-text-muted)}
@media (min-width:768px){.m-cta{grid-template-columns:1fr auto;padding:var(--s-32)}}


/* ===== biblioteca: contenido-seo (sin cambios) ===== */
/* RSJ · contenido-seo · v1.1 (validado por Miguel el 15/10/2026; v1.0 el 08/10/2026; v1.1 de la portada de campaña, MENOR: minmax(0,1fr) en la rejilla de móvil). Biblioteca de módulos. D20: texto largo en caja con imagen principal a la derecha
   (H26: imagen por confirmar). Ajustes: radios --radius-md. Dos columnas de texto desde 1024. Sin JS. */
.m-seo{padding:var(--s-24);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.m-seo__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-24);grid-template-areas:"h" "f" "t"} /* v1.1: minmax(0,1fr) para que una etiqueta larga no desborde en móvil */
.m-seo__grid>h2{grid-area:h}
.m-seo__fig{grid-area:f;display:grid;gap:var(--s-8);justify-items:center;align-self:start;margin:0;padding:var(--s-16);border-radius:var(--radius-md);background:var(--color-brand-100)}
.m-seo__fig img{width:100%;max-width:340px;height:auto;aspect-ratio:640/500}
.m-seo__fig figcaption{font-size:var(--fs-badge);color:var(--color-brand-700);text-align:center}
.m-seo__texto{grid-area:t}
.m-seo__texto>*+*{margin-top:var(--s-16)}
.m-seo__texto h3{margin-top:var(--s-24);font-size:var(--fs-body)}
.m-seo[data-variante=sin-imagen] .m-seo__grid{grid-template-areas:"h" "t"}
@media (min-width:1024px){
 .m-seo{padding:var(--s-48)}
 .m-seo__grid{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"h f" "t f";column-gap:var(--s-48)}
 .m-seo[data-variante=sin-imagen] .m-seo__grid{grid-template-columns:1fr;grid-template-areas:"h" "t"}
 .m-seo__texto{column-count:2;column-gap:var(--s-48)}
 .m-seo__texto h3{break-after:avoid}
 .m-seo__texto p{break-inside:avoid}
}


/* ===== propio de esta parte: src/corporativa-legal.css del paquete (sin cambios; no viene de la biblioteca) ===== */
/* RSJ · plantillas «corporativa» y «legal» v1.0 (20/10/2026) · CSS propio de esta parte.
   NO viene de la biblioteca de módulos (el «Gestor de módulos» está congelado: cada chat programa sus módulos).
   Contiene: variante «sencilla» del hero, ritmo compacto de contenido-seo (.m-textos), m-ayuda (caja del WhatsApp),
   módulos nuevos equipo y texto-legal, y el aviso de estado para usuarios del panel (.v3-aviso-estado).
   Va DESPUÉS del CSS de la biblioteca. Usa solo tokens de la biblioteca. */
[hidden]{display:none!important}
.tbd-tag{white-space:normal;max-width:100%}
/* ===== Uso de la biblioteca en esta plantilla y módulos nuevos (provisionales) ===== */
.m-hero--sencilla{padding-block:var(--s-24) var(--s-32)}
.m-hero--sencilla h1{max-width:24ch}
.m-hero--sencilla .m-hero__lead{max-width:60ch}
.m-seo--plano{padding:0;border:0}
/* v0.3: ritmo más compacto (Miguel, 20/10/2026): los bloques de texto seguidos van en una sola sección */
.sec.m-textos{padding-block:var(--s-32)}
.m-textos .m-seo+.m-seo{margin-top:var(--s-32);padding-top:var(--s-32);border-top:1px solid var(--color-border)}
.m-textos .m-seo__grid{display:block}
.m-textos h2{margin-bottom:var(--s-12)}
.m-textos .m-seo__texto{max-width:72ch}
.m-textos .m-seo__texto p+p,.m-textos .m-seo__texto p+ul,.m-textos .m-seo__texto ul+p,.m-textos .m-seo__texto p+ol{margin-top:var(--s-12)}
.m-hero--sencilla+*{margin-top:0}
.m-hero--sencilla+.sec.m-textos{padding-top:var(--s-8)}
@media (min-width:1024px){.m-seo--plano{padding:0}.m-seo--plano .m-seo__texto{column-count:1}}
.m-seo__texto ul,.m-seo__texto ol{padding-left:var(--s-24)}
.m-seo__texto li+li{margin-top:var(--s-8)}
.m-como__lista{list-style:none}
.m-ayuda{display:grid;gap:var(--s-16);align-items:center;padding:var(--s-24);border-radius:var(--radius-md);background:var(--color-surface-soft)}
.m-ayuda__h{font-size:var(--fs-h3);line-height:var(--lh-h3)}
@media (min-width:768px){.m-ayuda{grid-template-columns:minmax(0,1fr) auto}}
.m-equipo__lista{display:grid;gap:var(--s-24);margin:0;padding:0;list-style:none}
.m-equipo__p{display:flex;gap:var(--s-16);align-items:flex-start}
.m-equipo__foto{display:grid;place-items:center;flex:none;width:var(--s-64);height:var(--s-64);border-radius:50%;background:var(--color-brand-100);color:var(--color-brand-600)}
.m-equipo__foto svg{width:var(--icon-md);height:var(--icon-md)}
.m-equipo__n{font-weight:var(--fw-semibold)}
.m-equipo__c{font-size:var(--fs-aux);font-weight:var(--fw-medium);color:var(--color-text-muted)}
.m-equipo__t{margin-top:var(--s-4);font-size:var(--fs-aux)}
@media (min-width:768px){.m-equipo__lista{grid-template-columns:repeat(3,minmax(0,1fr))}}
.m-datos__lista{display:grid;gap:var(--s-16);margin:0}
.m-datos__f{display:grid;gap:var(--s-4)}
.m-datos__f dt{display:flex;align-items:center;gap:var(--s-8);font-size:var(--fs-aux);font-weight:var(--fw-semibold);color:var(--color-text-muted)}
.m-datos__f dt svg{width:var(--icon-sm);height:var(--icon-sm)}
.m-datos__f dd{margin:0;font-weight:var(--fw-semibold)}
.m-datos__f dd a{display:inline-flex;align-items:center;min-height:var(--h-touch-min)}
@media (min-width:768px){.m-datos__lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
.m-form__f{display:grid;gap:var(--s-16);max-width:760px}
.m-form__fila{display:grid;gap:var(--s-16)}
@media (min-width:768px){.m-form__fila{grid-template-columns:1fr 1fr}}
.m-form textarea.input{min-height:120px;resize:vertical}
.m-form__check{display:flex;gap:var(--s-8);align-items:flex-start;font-size:var(--fs-aux)}
.m-form__check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--color-action)}
.m-legal__cab{display:grid;gap:var(--s-12);max-width:760px;margin-bottom:var(--s-32)}
.m-legal__grid{display:grid;gap:var(--s-32)}
.m-legal__indice{align-self:start;padding:var(--s-16);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-aux)}
.m-legal__it{margin:0 0 var(--s-8);font-weight:var(--fw-semibold)}
.m-legal__indice ol{margin:0;padding-left:var(--s-24)}
.m-legal__indice li{padding-block:var(--s-4)}
.m-legal__cuerpo section+section{margin-top:var(--s-32)}
.m-legal__cuerpo h2{font-size:var(--fs-h3);line-height:var(--lh-h3);margin-bottom:var(--s-8)}
.m-legal__cuerpo p+p,.m-legal__cuerpo ol{margin-top:var(--s-12)}
.m-legal__cuerpo ol{padding-left:var(--s-24)}
@media (min-width:1200px){.m-legal__grid{grid-template-columns:240px minmax(0,1fr);gap:var(--s-48)}}

/* Aviso de estado (solo con sesión del panel) */
.v3-aviso-estado{display:flex;gap:var(--s-8);align-items:flex-start;padding:var(--s-8) var(--s-16);font-size:var(--fs-aux);border-bottom:1px solid var(--color-border)}.v3-aviso-estado svg{flex:none;width:var(--icon-sm);height:var(--icon-sm);margin-top:2px}.v3-aviso-estado p{margin:0}.v3-aviso-estado--b{background:var(--color-warning-soft)}.v3-aviso-estado--r{background:var(--color-surface-soft)}

/* ===== plantilla (no es código de módulos; Claude Code, 25/10/2026) ===== */
/* Las direcciones largas del texto (la lista de navegadores de cookies) se parten en móvil: sin esto, scroll horizontal a 390 px */
.m-legal__cuerpo{min-width:0;overflow-wrap:anywhere}
