/*!
 * NUMON UI · V3.5.3-exp (EXPERIMENTAL)\n * CHANGELOG 3.5.0-exp: acento coral #FF9B7C (soft #FBE7DE, soft fuerte #FBDED2) sustituye al acento anterior en todo el sistema; --numon-teja queda como alias.
 * CHANGELOG 3.4.0-exp: Orange sustituido por Teja viva #FF9B7C (soft #FBE7DE, valor histórico
 *   recuperado); foco único y discreto (contorno fino con separación, sin halo).
 * CHANGELOG 3.3.0-exp (2026-09-30): sustitución de la paleta B por los cuatro colores
 *   aprobados (Salvia Blue #97ACC8, Turquoise Green #B5DECC, Orange #F37420,
 *   Pale Lemon Yellow #FFEFAE), cuatro fondos soft derivados, aliases semánticos,
 *   retirada de #2E55D6, #2445B3, #FF9B7C, #2E7D55 y derivados (#EDEEF3, #FBE7DE,
 *   #ECF1EB, #EAF2EC, #246445) y de la paleta A del archivo compartido.
 *   Componentes: botones, enlaces, tags, alertas, navegación interna, tarjetas,
 *   caminos, notas, header, formularios, eyebrow, iconos y volver arriba.
 * Archivo único del sistema Numon para páginas nuevas en Breakdance.
 * Solo actúa dentro de .numon-ui. No se carga globalmente: cada página
 * que lo usa lo enlaza de forma explícita (ver NUMON_UI_IMPLEMENTATION_PLAN.md).
 * Paleta: B validada (Salvia · Turquoise · Orange · Lemon). Las paletas descartadas
 * solo existen como referencia histórica en el CSS local del laboratorio (74258).
 * Orden: 0 tokens · 1 base · 2 layout · 3 tipografía · 4 controles · 5 tarjetas
 *        6 notas personales · 7 glass · 8 formularios · 9 header · 10 movimiento
 */
/* ---------- 0 · TOKENS ---------- */
.numon-ui{
  /* neutros comunes */
  --numon-bg:#FAF8F4; --numon-surface:#FFFFFF; --numon-ink:#1F1E1C; --numon-ink-soft:#5A5750;
  --numon-line:rgba(31,30,28,.13); --numon-line-strong:rgba(31,30,28,.34);
  --numon-error:#B42318; --numon-error-bg:#FDEDEA;
  /* B validada · colores de marca (origen de verdad, no modificar) */
  --numon-salvia:#97ACC8; --numon-turquoise:#B5DECC; --numon-coral:#FF9B7C; --numon-teja:var(--numon-coral); --numon-lemon:#FFEFAE;
  /* fondos soft: mezcla sRGB con el blanco roto (hex = fallback calculado) */
  --numon-soft-salvia:#DEE3E8;    /* salvia 28 % */
  --numon-soft-turquoise:#E5F0E8; /* turquoise 30 % */
  --numon-soft-teja:#FBE7DE;      /* valor histórico de la propuesta descartada, reutilizado tal cual */
  --numon-orange:var(--numon-teja); --numon-soft-orange:var(--numon-soft-teja); /* compatibilidad 3.3 */
  --numon-soft-lemon:#FCF4D8;     /* lemon 40 % */
  /* aliases semánticos: los componentes solo usan estos */
  --numon-primary:var(--numon-teja); --numon-primary-hover:#FFAD94; /* teja 82 % + blanco */ --numon-on-primary:#1F1E1C;
  --numon-secondary:var(--numon-salvia); --numon-on-secondary:#1F1E1C;
  --numon-accent-green:var(--numon-turquoise); --numon-accent-green-hover:#CBE8DB; /* turquoise 70 % + blanco */
  --numon-highlight:var(--numon-lemon);
  --numon-soft-primary:var(--numon-soft-teja); --numon-soft-secondary:var(--numon-soft-salvia);
  --numon-soft-green:var(--numon-soft-turquoise); --numon-soft-highlight:var(--numon-soft-lemon);
  --numon-link:#1F1E1C; --numon-link-line:var(--numon-teja);
  /* compatibilidad temporal (3.3): nombres antiguos apuntando a los nuevos tokens */
  --numon-soft:var(--numon-soft-secondary); --numon-soft-warm:var(--numon-soft-primary);
  --numon-green:var(--numon-accent-green); --numon-green-bg:var(--numon-soft-green);
  /* funcionales (no son colores de marca) */
  --numon-focus:#1F1E1C;
  --numon-dark:#1B2130; --numon-on-dark:#F7F5F0; --numon-on-dark-soft:#B9B7B1;
  /* glass */
  --numon-glass-rgb:255,255,255; --numon-glass-a:.7; --numon-glass-a-light:.55; --numon-glass-a-strong:.86; --numon-glass-a-fallback:.95;
  /* tipografía */
  --numon-font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --numon-font-sans:'Instrument Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --numon-font-hand-nuria:'Reenie Beanie', 'Fraunces', Georgia, serif;
  --numon-font-hand-fabio:'Rock Salt', 'Fraunces', Georgia, serif;
  --numon-font-hand-gemma:'Gochi Hand', 'Fraunces', Georgia, serif;
  /* forma, espacio, movimiento */
  --numon-r-sm:8px; --numon-r-md:14px; --numon-r-lg:22px;
  --numon-shadow-sm:0 2px 10px rgba(31,30,28,.06); --numon-shadow:0 14px 40px rgba(31,30,28,.12);
  --numon-pad-x:clamp(18px,5vw,56px); --numon-pad-y:clamp(44px,8vw,104px);
  --numon-ease:cubic-bezier(.22,.61,.36,1); --numon-t-fast:180ms; --numon-t-panel:320ms;
  background:var(--numon-bg); color:var(--numon-ink); font-family:var(--numon-font-sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
/* 3.3: sin bloques de paleta alternativa en el archivo compartido */
@supports (color:color-mix(in srgb,red 50%,white)){
  .numon-ui{
    --numon-soft-salvia:color-mix(in srgb,var(--numon-salvia) 28%,var(--numon-bg));
    --numon-soft-turquoise:color-mix(in srgb,var(--numon-turquoise) 30%,var(--numon-bg));
    --numon-soft-lemon:color-mix(in srgb,var(--numon-lemon) 40%,var(--numon-bg));
    --numon-primary-hover:color-mix(in srgb,var(--numon-teja) 82%,#FFFFFF);
    --numon-accent-green-hover:color-mix(in srgb,var(--numon-turquoise) 70%,#FFFFFF);
  }
}
/* ---------- 1 · BASE (solo dentro de .numon-ui) ---------- */
.numon-ui *,.numon-ui *::before,.numon-ui *::after{box-sizing:border-box}
.numon-ui :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}
.numon-ui img{max-width:100%; height:auto; display:block}
.numon-ui a{color:var(--numon-link); text-decoration-color:var(--numon-link-line); text-underline-offset:3px; text-decoration-thickness:2px}
.numon-ui a:hover{color:var(--numon-link); text-decoration-thickness:3px}
.numon-ui :focus-visible{outline:2px solid var(--numon-focus); outline-offset:3px}
.numon-ui [hidden]{display:none!important}
.numon-u-visually-hidden{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
/* ---------- 2 · LAYOUT ---------- */
.numon-section{padding:var(--numon-pad-y) var(--numon-pad-x)}
.numon-section--tight{padding-top:clamp(28px,5vw,56px); padding-bottom:clamp(28px,5vw,56px)}
.numon-section--soft{background:var(--numon-soft-secondary)}
.numon-section--soft-warm{background:var(--numon-soft-primary)}
.numon-section--soft-green{background:var(--numon-soft-green)}
.numon-section--surface{background:var(--numon-surface)}
.numon-section--dark{background:var(--numon-dark); color:var(--numon-on-dark)}
.numon-container{width:100%; max-width:1180px; margin-inline:auto; display:grid; gap:clamp(20px,3vw,32px)}
.numon-container--narrow{max-width:760px}
.numon-stack{display:grid; gap:14px; align-content:start}
.numon-stack--lg{gap:24px}
.numon-cluster{display:flex; flex-wrap:wrap; gap:10px; align-items:center}
.numon-grid{display:grid; gap:18px; grid-template-columns:minmax(0,1fr)}
.numon-split{display:grid; gap:clamp(20px,4vw,56px); align-items:center; grid-template-columns:minmax(0,1fr)}
.numon-rule{height:1px; background:var(--numon-line); border:0; width:100%}
@media (min-width:768px){
  .numon-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numon-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .numon-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .numon-split--reverse > :first-child{order:2}
}
@media (min-width:1024px){ .numon-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))} .numon-split--wide{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
/* ---------- 3 · TIPOGRAFÍA ---------- */
.numon-eyebrow{font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--numon-ink-soft)}
.numon-eyebrow::before{content:""; display:inline-block; width:18px; height:3px; margin-right:8px; vertical-align:middle; border-radius:2px; background:var(--numon-primary)}
.numon-h1{font-family:var(--numon-font-display); font-weight:560; font-size:clamp(36px,6vw,64px); line-height:1.04; letter-spacing:-.015em; color:var(--numon-ink); text-wrap:balance}
.numon-h2{font-family:var(--numon-font-display); font-weight:560; font-size:clamp(27px,3.6vw,40px); line-height:1.1; letter-spacing:-.01em; color:var(--numon-ink); text-wrap:balance}
.numon-h3{font-weight:650; font-size:clamp(19px,1.8vw,22px); line-height:1.3; color:var(--numon-ink)}
.numon-section--dark .numon-h1,.numon-section--dark .numon-h2,.numon-section--dark .numon-h3{color:var(--numon-on-dark)}
.numon-lead{font-size:clamp(18px,1.6vw,21px); line-height:1.55; color:var(--numon-ink); max-width:62ch}
.numon-text{color:var(--numon-ink-soft); max-width:68ch}
.numon-small{font-size:14px; color:var(--numon-ink-soft)}
.numon-prose{display:grid; gap:1em; max-width:68ch; color:var(--numon-ink)}
.numon-prose p{margin:0}
.numon-prose strong{font-weight:650}
.numon-prose ul{margin:0; padding-left:1.2em; display:grid; gap:.5em}
.numon-link{font-weight:600; color:var(--numon-link); text-decoration:underline; text-decoration-color:var(--numon-link-line)}
.numon-link--arrow{text-decoration:none}
.numon-link--arrow::after{content:" →"; transition:margin var(--numon-t-fast) var(--numon-ease)}
.numon-link--arrow:hover::after{margin-left:4px}
/* ---------- 4 · CONTROLES ---------- */
.numon-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border-radius:var(--numon-r-sm); border:1.5px solid var(--numon-primary); background:var(--numon-primary); color:var(--numon-on-primary)!important; font:600 16px/1.2 var(--numon-font-sans); text-decoration:none!important; cursor:pointer; transition:background var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease),transform var(--numon-t-fast) var(--numon-ease)}
.numon-btn:hover{background:var(--numon-primary-hover); border-color:var(--numon-ink); box-shadow:var(--numon-shadow-sm)}
.numon-btn:active,.numon-btn[aria-pressed="true"]{border-color:var(--numon-ink); box-shadow:inset 0 2px 0 rgba(31,30,28,.18)}
.numon-btn:active{transform:translateY(1px)}
.numon-btn--secondary{background:var(--numon-surface); color:var(--numon-ink)!important; border-color:var(--numon-line-strong)}
.numon-btn--secondary:hover{background:var(--numon-soft-secondary); border-color:var(--numon-ink)}
.numon-btn--green{background:var(--numon-accent-green); border-color:var(--numon-accent-green); color:var(--numon-ink)!important}
.numon-btn--green:hover{background:var(--numon-accent-green-hover); border-color:var(--numon-ink)}
.numon-btn[disabled],.numon-btn[aria-disabled="true"]{opacity:.45; pointer-events:none; box-shadow:none; text-decoration:line-through}
.numon-tag{display:inline-flex; align-items:center; width:fit-content; padding:3px 9px; border-radius:6px; font-size:13px; font-weight:600; background:var(--numon-soft-green); color:var(--numon-ink); border:1px solid var(--numon-accent-green)}
.numon-tag--order{background:var(--numon-soft-highlight); color:var(--numon-ink); border-color:var(--numon-highlight)}
.numon-alert{display:grid; gap:4px; padding:12px 14px; border-radius:12px; border-left:4px solid currentColor; font-size:15px}
.numon-alert--success{background:var(--numon-soft-green); color:var(--numon-ink); border-left-color:var(--numon-accent-green)}
.numon-alert--error{background:var(--numon-error-bg); color:var(--numon-error)}
.numon-alert--info{background:var(--numon-soft-highlight); color:var(--numon-ink); border-left-color:var(--numon-primary)}
.numon-alert > *{color:var(--numon-ink)}
.numon-alert > :first-child{color:inherit; font-weight:700}
/* ---------- 5 · TARJETAS Y MEDIOS ---------- */
.numon-media{border-radius:var(--numon-r-md); overflow:hidden; background:var(--numon-soft-secondary)}
.numon-media img{width:100%; height:100%; object-fit:cover}
.numon-ratio--3-2{aspect-ratio:3/2}.numon-ratio--4-5{aspect-ratio:4/5}.numon-ratio--1-1{aspect-ratio:1/1}
.numon-ph{display:grid; place-content:center; gap:6px; padding:18px; text-align:center; background:repeating-linear-gradient(135deg,#F2EFEA 0 12px,#EDEAE4 12px 24px); border:1.5px dashed rgba(31,30,28,.22); border-radius:var(--numon-r-md); color:var(--numon-ink-soft); font-size:13px}
.numon-ph__code{font-weight:700; letter-spacing:.06em; color:var(--numon-ink)}
.numon-card{display:grid; gap:12px; align-content:start; padding:18px; border-radius:var(--numon-r-md); background:var(--numon-surface); border:1px solid var(--numon-line); box-shadow:var(--numon-shadow-sm); color:var(--numon-ink); text-decoration:none; transition:transform var(--numon-t-fast) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease)}
a.numon-card:hover,.numon-card--link:hover{transform:translateY(-3px); box-shadow:var(--numon-shadow); border-color:var(--numon-line-strong)}
.numon-card--product{padding:10px 10px 16px}
.numon-card--product .numon-card__body{padding:0 6px}
.numon-card--editorial{background:var(--numon-soft-secondary); border-color:transparent; box-shadow:none; padding:clamp(20px,3vw,32px)}
.numon-card__title{font-weight:650; font-size:18px; line-height:1.3; color:var(--numon-ink)}
.numon-card__meta{font-size:14px; color:var(--numon-ink-soft)}
.numon-card__price{font-weight:700; font-size:18px; font-variant-numeric:tabular-nums}
.numon-card__body{display:grid; gap:6px}
.numon-icon{width:24px; height:24px; color:var(--numon-primary); flex:none}
.numon-feature-list{display:grid; gap:12px; padding:0; margin:0; list-style:none}
.numon-feature-list__item{display:flex; gap:12px; align-items:flex-start}
/* ---------- 6 · NOTAS PERSONALES (rectas, sin kraft ni rotaciones) ---------- */
.numon-note{position:relative; display:grid; gap:6px; align-content:start; width:fit-content; max-width:min(100%,34ch); padding:14px 18px 14px 20px; border-radius:var(--numon-r-md); background:var(--numon-surface); border:1px solid var(--numon-line); box-shadow:var(--numon-shadow-sm); transition:transform var(--numon-t-fast) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease),background var(--numon-t-fast) var(--numon-ease); animation:numon-note-in 360ms var(--numon-ease) both}
.numon-note::before{content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:0 3px 3px 0; background:var(--numon-note-accent,var(--numon-primary)); transform-origin:top; transition:transform var(--numon-t-fast) var(--numon-ease)}
.numon-note:hover,.numon-note:focus-within{transform:translateY(-5px) scale(1.015); box-shadow:var(--numon-shadow); border-color:var(--numon-line-strong)}
.numon-note__text{font-size:24px; line-height:1.2; color:var(--numon-ink)}
.numon-note__sign{font:600 13px/1.3 var(--numon-font-sans); color:var(--numon-ink-soft); display:flex; gap:6px; align-items:center}
.numon-note__sign::before{content:""; width:16px; height:1.5px; background:currentColor; transition:width var(--numon-t-fast) var(--numon-ease)}
.numon-note:hover .numon-note__sign::before{width:26px}
.numon-note__plain{font-size:14px; color:var(--numon-ink-soft)} /* alternativa legible opcional */
/* voces */
.numon-note--nuria .numon-note__text{font-family:var(--numon-font-hand-nuria); font-size:clamp(28px,2.6vw,34px); line-height:1.05}
.numon-note--fabio .numon-note__text{font-family:var(--numon-font-hand-fabio); font-size:clamp(15px,1.3vw,18px); line-height:1.6}
.numon-note--gemma .numon-note__text{font-family:var(--numon-font-hand-gemma); font-size:clamp(22px,2vw,26px); line-height:1.2}
.numon-note--nuria{--numon-note-accent:var(--numon-primary)}
.numon-note--gemma{--numon-note-accent:var(--numon-accent-green)}
.numon-note--fabio{--numon-note-accent:var(--numon-secondary)}
/* variantes de uso */
.numon-note--brief{padding:10px 14px 10px 18px}
.numon-note--reco{background:var(--numon-soft-highlight); border-color:transparent}
.numon-note--product{background:rgba(var(--numon-glass-rgb),var(--numon-glass-a-fallback))}
.numon-note--workshop{background:var(--numon-dark); border-color:transparent}
.numon-note--workshop .numon-note__text{color:var(--numon-on-dark)}
.numon-note--workshop .numon-note__sign{color:var(--numon-on-dark-soft)}
.numon-note--signature{background:transparent; border:0; box-shadow:none; padding:4px 0 4px 16px}
.numon-note--signature::before{top:4px; bottom:4px}
.numon-note--signature:hover{transform:translateX(4px); box-shadow:none}
.numon-note--help{background:var(--numon-soft-green); border-color:transparent; max-width:min(100%,46ch)}
.numon-note--help .numon-note__text{font-family:var(--numon-font-sans); font-size:16px; line-height:1.5}
@keyframes numon-note-in{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
/* ---------- 7 · GLASS (fallback opaco primero) ---------- */
.numon-glass,.numon-glass--light,.numon-glass--strong,.numon-note--product{border:1px solid rgba(255,255,255,.65); box-shadow:var(--numon-shadow)}
.numon-glass,.numon-glass--light,.numon-glass--strong{background:rgba(var(--numon-glass-rgb),var(--numon-glass-a-fallback))}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .numon-glass,.numon-note--product{background:rgba(var(--numon-glass-rgb),var(--numon-glass-a)); -webkit-backdrop-filter:blur(18px) saturate(130%); backdrop-filter:blur(18px) saturate(130%)}
  .numon-glass--light{background:rgba(var(--numon-glass-rgb),var(--numon-glass-a-light)); -webkit-backdrop-filter:blur(10px) saturate(120%); backdrop-filter:blur(10px) saturate(120%)}
  .numon-glass--strong{background:rgba(var(--numon-glass-rgb),var(--numon-glass-a-strong)); -webkit-backdrop-filter:blur(26px) saturate(135%); backdrop-filter:blur(26px) saturate(135%)}
}
.numon-photo-sim{background:#A9B8AE; background-image:radial-gradient(110% 90% at 18% 22%,#EDDCC8 0 26%,transparent 56%),radial-gradient(90% 80% at 86% 72%,#5B7666 0 24%,transparent 60%),linear-gradient(160deg,#BCC9D6,#8FA59A 60%,#5E6F66)}
/* ---------- 8 · FORMULARIOS (propios y Form Builder de Breakdance) ---------- */
.numon-form-card{background:var(--numon-surface); border:1px solid var(--numon-line); border-radius:var(--numon-r-lg); padding:clamp(18px,3vw,32px); box-shadow:var(--numon-shadow-sm)}
.numon-field{display:grid; gap:6px}
.numon-field label{font-weight:600; font-size:15px}
.numon-ui .numon-field input,.numon-ui .numon-field select,.numon-ui .numon-field textarea,
.numon-ui .breakdance-form .breakdance-form-field__input,.numon-ui .breakdance-form input:not([type=checkbox]):not([type=radio]),.numon-ui .breakdance-form textarea,.numon-ui .breakdance-form select{
  width:100%; min-height:50px; padding:12px 14px; border-radius:var(--numon-r-sm); border:1.5px solid var(--numon-line-strong); background:var(--numon-surface); font:16px/1.4 var(--numon-font-sans); color:var(--numon-ink)}
.numon-ui .breakdance-form textarea,.numon-ui .numon-field textarea{min-height:140px}
.numon-ui .breakdance-form input:focus,.numon-ui .breakdance-form textarea:focus,.numon-ui .numon-field :is(input,select,textarea):focus{outline:0; border-color:var(--numon-ink); box-shadow:0 0 0 1px var(--numon-ink)}
.numon-ui .breakdance-form .breakdance-form-field__label{font-weight:600; font-size:15px; color:var(--numon-ink)}
.numon-ui .breakdance-form .breakdance-form-button,.numon-ui .breakdance-form button[type=submit]{min-height:50px; padding:0 26px; border-radius:var(--numon-r-sm); border:0; background:var(--numon-primary); color:var(--numon-on-primary); font:600 16px/1 var(--numon-font-sans); cursor:pointer}
.numon-ui .breakdance-form .breakdance-form-button:hover,.numon-ui .breakdance-form button[type=submit]:hover{background:var(--numon-primary-hover)}
.numon-ui .breakdance-form [aria-invalid="true"],.numon-ui .numon-field [aria-invalid="true"]{border-color:var(--numon-error)}
.numon-field__help{font-size:14px; color:var(--numon-ink-soft)}
.numon-field__error{font-size:14px; font-weight:600; color:var(--numon-error)}
/* ---------- 9 · HEADER (muestra; el header real no se toca) ---------- */
.numon-header{display:flex; align-items:center; gap:8px; padding:6px 6px 6px 16px; border-radius:18px}
.numon-header__logo{width:104px}
.numon-header__nav{display:none; gap:2px; margin:0 auto}
.numon-header__link{min-height:44px; padding:0 14px; border-radius:12px; display:inline-flex; align-items:center; font-weight:550; color:var(--numon-ink)!important; text-decoration:none!important}
.numon-header__link:hover{background:var(--numon-soft-secondary)}
.numon-header__actions{display:flex; gap:4px; margin-left:auto}
.numon-header__count{min-width:22px; height:22px; border-radius:11px; background:var(--numon-primary); color:var(--numon-on-primary); font-size:12px; font-weight:700; display:inline-grid; place-items:center; padding:0 6px}
@media (min-width:1024px){ .numon-header__nav{display:flex} }
/* ---------- 10 · MOVIMIENTO ---------- */
@media (prefers-reduced-motion: reduce){
  .numon-ui *,.numon-ui *::before,.numon-ui *::after{animation:none!important; transition-duration:1ms!important; scroll-behavior:auto!important}
  .numon-note:hover,.numon-note:focus-within,a.numon-card:hover{transform:none}
}
/* ---------- 11 · PIEZAS DE PÁGINA (añadidas para el lote piloto) ---------- */
.numon-map{border-radius:var(--numon-r-lg); overflow:hidden; border:1px solid var(--numon-line); min-height:320px; background:var(--numon-soft-secondary)}
.numon-map iframe{display:block; width:100%; min-height:320px; border:0}
.numon-channel{display:grid; gap:4px; align-content:start; padding:16px 18px; border-radius:var(--numon-r-md); background:var(--numon-surface); border:1px solid var(--numon-line); color:var(--numon-ink)!important; text-decoration:none!important; transition:transform var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease)}
.numon-channel:hover{transform:translateY(-3px); border-color:var(--numon-primary); box-shadow:var(--numon-shadow)}
.numon-channel__label{font-weight:700; font-size:17px; color:var(--numon-ink)}
.numon-channel__meta{font-size:14px; color:var(--numon-ink-soft)}
.numon-quote-end{font-family:var(--numon-font-display); font-weight:560; font-style:italic; font-size:clamp(24px,3vw,34px); line-height:1.2; color:var(--numon-ink); text-wrap:balance}
@media (prefers-reduced-motion: reduce){ .numon-channel:hover{transform:none} }

/* ==========================================================================
   12 · 3.2.0-exp · LAYOUT AMPLIO, HERO, SUBNAV, ACORDEÓN, FILTRO (migración)
   ========================================================================== */
.numon-ui{--numon-pad-x:clamp(20px,4vw,72px); --numon-pad-y:clamp(48px,7vw,112px); --numon-maxw:1680px; --numon-header-offset:16px}
/* Tipografía: el kit de Elementor aplica «.elementor-kit-50987 h1,h2,h3{font-family:Poppins}»
   (especificidad 0,1,1) en todo el sitio. Estas reglas lo superan sin !important. */
.numon-ui :is(h1,h2,h3,h4,h5,h6){font-family:var(--numon-font-sans)}
.numon-ui .numon-h1,.numon-ui .numon-h2,.numon-ui .numon-display{font-family:var(--numon-font-display)}
.numon-ui .numon-h3,.numon-ui .numon-card__title{font-family:var(--numon-font-sans)}
.numon-ui [id]{scroll-margin-top:calc(var(--numon-header-offset) + 88px)}
/* nivel interior */
.numon-container{max-width:var(--numon-maxw)}
.numon-measure{max-width:68ch}
/* grids: 1 · 2 (600) · 3 (900) · 4 (1400) */
@media (min-width:600px){ .numon-grid--2,.numon-grid--3,.numon-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:900px){ .numon-grid--3,.numon-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1400px){ .numon-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
/* sección oscura legible */
.numon-section--dark .numon-text,.numon-section--dark .numon-lead,.numon-section--dark .numon-eyebrow{color:var(--numon-on-dark-soft)}
/* ---------- hero ---------- */
.numon-hero{padding:clamp(40px,6vw,96px) var(--numon-pad-x) clamp(32px,4vw,64px)}
.numon-hero--soft{background:var(--numon-soft-secondary)}.numon-hero--soft-warm{background:var(--numon-soft-primary)}.numon-hero--soft-green{background:var(--numon-soft-green)}
.numon-hero__grid{max-width:var(--numon-maxw); margin-inline:auto; display:grid; gap:clamp(24px,4vw,72px); align-items:end}
.numon-hero__main{display:grid; gap:18px; align-content:end}
.numon-hero__aside{display:grid; gap:14px; align-content:end}
.numon-hero .numon-h1{font-size:clamp(42px,7vw,96px); letter-spacing:-.02em}
@media (min-width:900px){ .numon-hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)} }
/* ---------- navegación interna (sticky, glass) ---------- */
.numon-subnav{position:sticky; top:var(--numon-header-offset); z-index:30; padding:12px var(--numon-pad-x) 0; margin-bottom:-8px}
.numon-subnav__inner{max-width:var(--numon-maxw); margin-inline:auto; display:flex; gap:4px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; padding:6px; border-radius:14px}
.numon-subnav__link{flex:none; scroll-snap-align:start; min-height:44px; display:inline-flex; align-items:center; padding:0 14px; border-radius:10px; font:600 15px/1.2 var(--numon-font-sans); color:var(--numon-ink-soft)!important; text-decoration:none!important; white-space:nowrap; transition:background var(--numon-t-fast) var(--numon-ease),color var(--numon-t-fast) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease)}
.numon-subnav__link:hover{background:var(--numon-soft-secondary); color:var(--numon-ink)!important}
.numon-subnav__link[aria-current]{background:var(--numon-surface); color:var(--numon-ink)!important; box-shadow:inset 0 -3px 0 var(--numon-primary)}
.numon-top{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 4px; font-weight:600; color:var(--numon-link)!important}
/* ---------- acordeón (details/summary nativo) ---------- */
.numon-accordion{border-top:1px solid var(--numon-line-strong)}
.numon-accordion:last-of-type{border-bottom:1px solid var(--numon-line-strong)}
.numon-accordion__summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; align-items:center; min-height:64px; padding:20px 0}
.numon-accordion__summary::-webkit-details-marker{display:none}
.numon-accordion__summary::after{content:"+"; grid-column:2; grid-row:1 / span 2; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1.5px solid var(--numon-line-strong); font:500 24px/1 var(--numon-font-sans); color:var(--numon-ink); transition:background var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease)}
.numon-accordion[open] > .numon-accordion__summary::after{content:"\2212"; background:var(--numon-ink); border-color:var(--numon-ink); color:var(--numon-surface)}
.numon-accordion__summary:hover::after{border-color:var(--numon-ink)}
.numon-accordion__summary:focus-visible{outline:2px solid var(--numon-focus); outline-offset:3px}
.numon-accordion__summary > *{grid-column:1}
.numon-accordion__body{padding:4px 0 clamp(28px,4vw,48px)}
.numon-accordion::details-content{block-size:0; overflow:clip; transition:block-size 300ms var(--numon-ease),content-visibility 300ms allow-discrete}
.numon-accordion[open]::details-content{block-size:auto}
.numon-ui{interpolate-size:allow-keywords}
/* ---------- datos clave, cifras y caminos ---------- */
.numon-facts{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; align-items:baseline; margin:0}
.numon-facts dt{font-size:12.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--numon-ink-soft)}
.numon-facts dd{margin:0; font-weight:650; font-size:17px; color:var(--numon-ink)}
.numon-stat{font-family:var(--numon-font-display); font-weight:560; font-size:clamp(40px,5vw,68px); line-height:1; letter-spacing:-.02em; color:var(--numon-ink)}
.numon-path{border-top:4px solid var(--numon-primary)}
.numon-path--secondary{border-top-color:var(--numon-secondary)}
.numon-card--hover{transition:transform var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease)}
.numon-card--hover:hover,.numon-card--hover:focus-within{transform:translateY(-3px); border-color:var(--numon-primary); box-shadow:var(--numon-shadow)}
/* ---------- zonas del directorio ---------- */
.numon-zone{display:grid; gap:16px; padding-block:clamp(24px,3vw,40px); border-top:1px solid var(--numon-line)}
.numon-zone:first-child{border-top:0}
@media (min-width:1400px){ .numon-zone{grid-template-columns:minmax(200px,1fr) minmax(0,5fr); align-items:start} .numon-zone > :first-child{position:sticky; top:calc(var(--numon-header-offset) + 84px)} }
/* ---------- filtro local ---------- */
.numon-filter{display:grid; gap:10px; padding:18px; border-radius:var(--numon-r-lg)}
.numon-filter__row{display:flex; gap:8px; align-items:stretch}
.numon-filter__row .numon-field{flex:1}
.numon-filter__status{font-size:14px; font-weight:600; color:var(--numon-ink-soft); min-height:1.4em}
.numon-empty{padding:24px; border-radius:var(--numon-r-md); border:1.5px dashed var(--numon-line-strong); background:var(--numon-surface); display:grid; gap:6px}
@media (prefers-reduced-motion: reduce){ .numon-accordion::details-content{transition:none} .numon-card--hover:hover,.numon-card--hover:focus-within{transform:none} }

/* ==========================================================================
   13 · 3.2.1-exp · INDEPENDENCIA DEL KIT DE ELEMENTOR · FOCO · VOLVER ARRIBA
   El kit de Elementor (post-50987.css) solo aporta font-family a body, a, h1-h3,
   h5-h6 y botones. Estas reglas fijan dentro de .numon-ui todo lo que el
   sistema necesita, para que el aspecto no cambie al retirar Elementor.
   ========================================================================== */
.numon-ui{--numon-focus:#1F1E1C;
  font-family:var(--numon-font-sans); font-size:17px; font-weight:400; line-height:1.6; color:var(--numon-ink); letter-spacing:normal; text-align:left}
/* formularios y enlaces heredan la tipografía del sistema (el kit fuerza Poppins en a y button) */
.numon-ui a,.numon-ui button,.numon-ui input,.numon-ui select,.numon-ui textarea,.numon-ui summary,.numon-ui label{font-family:inherit}
.numon-ui button{margin:0; text-transform:none}
.numon-ui :is(.numon-btn,.numon-subnav__link,.numon-top,.numon-link){font-family:var(--numon-font-sans)}
/* encabezados: base explícita + clases con su tipografía */
.numon-ui :is(h1,h2,h3,h4,h5,h6){margin:0; font-weight:650; line-height:1.25; color:var(--numon-ink); letter-spacing:normal; text-transform:none}
.numon-ui .numon-h1{font-family:var(--numon-font-display); font-weight:560; line-height:1.04; letter-spacing:-.015em}
.numon-ui .numon-hero .numon-h1{letter-spacing:-.02em}
.numon-ui .numon-h2{font-family:var(--numon-font-display); font-weight:560; line-height:1.1; letter-spacing:-.01em}
.numon-ui .numon-h3,.numon-ui .numon-card__title{font-family:var(--numon-font-sans); font-weight:650; line-height:1.3}
.numon-ui .numon-section--dark .numon-h2,.numon-ui .numon-section--dark .numon-h1{color:var(--numon-on-dark)}
.numon-ui :is(p,ul,ol,dl,dd,figure,blockquote){margin:0}
.numon-ui strong,.numon-ui b{font-weight:650}
/* foco accesible: anillo oscuro + halo amarillo; al menos uno de los dos
   supera 3:1 sobre blanco, soft, primario, verde, coral, oscuro y glass */
.numon-ui :focus{outline:none}
/* foco 3.4: un solo contorno fino con separación; campos: cambio de borde + sombra mínima */
.numon-ui :focus-visible,
.numon-ui .numon-accordion__summary:focus-visible{outline:2px solid var(--numon-focus); outline-offset:3px; box-shadow:none}
.numon-ui .numon-section--dark :focus-visible,.numon-ui .numon-footer :focus-visible{--numon-focus:var(--numon-on-dark)}
.numon-ui .numon-field :is(input,select,textarea):focus-visible,
.numon-ui .breakdance-form :is(input,select,textarea):focus-visible,
.numon-ui .numon-search__input:focus-visible{outline:none; border-color:var(--numon-ink); box-shadow:0 0 0 1px var(--numon-ink)}
.numon-ui .numon-field :is(input,select,textarea):focus{border-color:var(--numon-ink)}
.numon-subnav__inner{padding:9px}
/* volver arriba: flecha decorativa fuera del nombre accesible */
.numon-top::after{content:""; width:14px; height:14px; flex:none; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2.5 3 7.5l1.1 1.1L7.2 5.5V13h1.6V5.5l3.1 3.1L13 7.5z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2.5 3 7.5l1.1 1.1L7.2 5.5V13h1.6V5.5l3.1 3.1L13 7.5z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ==========================================================================
   14 · 3.3.0-exp · ajustes de la paleta B validada
   ========================================================================== */
.numon-alert{color:var(--numon-ink)}
.numon-alert > :first-child{color:var(--numon-ink)}
.numon-alert--error{border-left-color:var(--numon-error)}
.numon-top::after{background:var(--numon-primary)}
.numon-ui .numon-section--dark a:not(.numon-btn){color:var(--numon-on-dark)}

/* ==========================================================================
   15 · 3.3.1-exp · SHELL GLOBAL: header fijo, paneles off-canvas, footer
   Header y footer viven en Global Blocks («Numon · Header V3», «Numon · Footer V3»).
   ========================================================================== */
html.numon-scroll-lock,html.numon-scroll-lock body{overflow:hidden}
.numon-shell{--numon-header-top:calc(12px + env(safe-area-inset-top,0px)); position:relative; z-index:900; background:transparent}
.numon-header-spacer{height:124px}
@media (min-width:1024px){ .numon-header-spacer{height:132px} }
/* header */
.numon-header--fixed{position:fixed; top:var(--numon-header-top); left:12px; right:12px; max-width:var(--numon-maxw); margin-inline:auto; z-index:950; display:grid; grid-template-columns:1fr; gap:0; padding:0; border-radius:20px; overflow:hidden; transition:transform var(--numon-t-panel) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease)}
.admin-bar .numon-header--fixed{top:calc(var(--numon-header-top) + 32px)}
@media (max-width:782px){ .admin-bar .numon-header--fixed{top:calc(var(--numon-header-top) + 46px)} }
.numon-header__announce{display:flex; flex-wrap:wrap; justify-content:center; gap:4px 22px; padding:7px 16px; background:var(--numon-soft-lemon); font-size:13.5px; line-height:1.4; text-align:center; color:var(--numon-ink); max-height:120px; transition:max-height var(--numon-t-panel) var(--numon-ease),padding var(--numon-t-panel) var(--numon-ease),opacity var(--numon-t-fast) var(--numon-ease)}
.numon-header__bar{display:flex; align-items:center; gap:6px; padding:6px 6px 6px 16px}
.numon-header__logo{width:108px; height:auto; display:block}
.numon-header__home{display:inline-flex; min-height:44px; align-items:center; border-radius:10px}
.numon-header__nav{display:none; gap:2px; margin:0 auto}
.numon-header__link{min-height:44px; padding:0 14px; border:0; border-radius:12px; background:transparent; font:600 15px/1 var(--numon-font-sans); color:var(--numon-ink)!important; cursor:pointer; transition:background var(--numon-t-fast) var(--numon-ease)}
.numon-header__link:hover{background:var(--numon-soft-secondary)}
.numon-header__link[aria-expanded="true"]{background:var(--numon-surface); box-shadow:inset 0 -3px 0 var(--numon-primary)}
.numon-header__actions{display:flex; gap:2px; margin-left:auto; align-items:center}
.numon-header__costurero{display:none}
.numon-header.is-compact .numon-header__announce{max-height:0; padding-top:0; padding-bottom:0; opacity:0; overflow:hidden}
.numon-header.is-hidden{transform:translateY(calc(-100% - 40px))}
@media (min-width:1024px){ .numon-header__nav{display:flex} .numon-header__costurero{display:inline-grid} .numon-header__menu{display:none} }
.numon-icon-btn{position:relative; width:46px; height:46px; display:inline-grid; place-items:center; border:1px solid transparent; border-radius:50%; background:transparent; color:var(--numon-ink)!important; cursor:pointer; transition:background var(--numon-t-fast) var(--numon-ease)}
.numon-icon-btn:hover{background:var(--numon-soft-secondary)}
.numon-icon-btn[aria-expanded="true"]{background:var(--numon-surface); box-shadow:inset 0 -3px 0 var(--numon-primary)}
.numon-icon-btn .numon-icon{width:22px; height:22px; color:currentColor}
.numon-badge{position:absolute; top:2px; right:0; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:var(--numon-primary); color:var(--numon-ink); font-size:11.5px; font-weight:700; display:grid; place-items:center; line-height:1}
/* paneles */
.numon-overlay{position:fixed; inset:0; z-index:990; background:rgba(24,23,21,.34); opacity:0; transition:opacity var(--numon-t-panel) var(--numon-ease)}
.numon-overlay.is-open{opacity:1}
.numon-panel{position:fixed; z-index:1000; display:flex; flex-direction:column; opacity:0; color:var(--numon-ink); background:rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.7); box-shadow:var(--numon-shadow); transition:transform var(--numon-t-panel) var(--numon-ease),opacity var(--numon-t-panel) var(--numon-ease)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){ .numon-panel{background:rgba(255,255,255,.86); -webkit-backdrop-filter:blur(26px) saturate(135%); backdrop-filter:blur(26px) saturate(135%)} }
.numon-panel--left,.numon-panel--right{left:0; right:0; bottom:0; max-height:calc(92dvh - env(safe-area-inset-top,0px)); border-radius:24px 24px 0 0; transform:translateY(24px)}
.numon-panel--top{left:8px; right:8px; top:calc(8px + env(safe-area-inset-top,0px)); max-height:calc(100dvh - 16px); border-radius:20px; transform:translateY(-16px)}
.numon-panel.is-open{opacity:1; transform:none}
.numon-panel__grip{width:44px; height:5px; border-radius:3px; background:var(--numon-line-strong); margin:8px auto 0}
.numon-panel__head{display:flex; align-items:center; gap:10px; padding:14px 16px 10px; border-bottom:1px solid var(--numon-line)}
.numon-panel__title{font-family:var(--numon-font-display)!important; font-weight:560; font-size:24px; line-height:1.1; margin-right:auto}
.numon-panel__close{min-height:44px; padding:0 12px 0 14px; border-radius:22px; border:1px solid var(--numon-line-strong); background:var(--numon-surface); font:600 14px/1 var(--numon-font-sans); color:var(--numon-ink); display:inline-flex; gap:6px; align-items:center; cursor:pointer}
.numon-panel__close::after{content:"\2715"; font-size:13px}
.numon-panel__body{overflow-y:auto; overscroll-behavior:contain; padding:16px; display:grid; gap:18px; align-content:start; flex:1}
.numon-panel__foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--numon-line); display:grid; gap:10px}
@media (min-width:768px){ .numon-panel--top{left:50%; right:auto; width:min(94vw,760px); transform:translate(-50%,-16px)} .numon-panel--top.is-open{transform:translate(-50%,0)} }
@media (min-width:1024px){
  .numon-panel--left,.numon-panel--right{top:12px; bottom:12px; width:min(480px,40vw); max-height:none; border-radius:var(--numon-r-lg)}
  .numon-panel--left{left:12px; right:auto; transform:translateX(-24px)}
  .numon-panel--right{right:12px; left:auto; transform:translateX(24px)}
  .numon-panel--left.is-open,.numon-panel--right.is-open{transform:none}
  .numon-panel__grip{display:none}
}
/* contenido de paneles */
.numon-tabs__list{display:flex; gap:4px; padding:4px; border-radius:16px; background:var(--numon-soft-secondary)}
.numon-tabs__tab{flex:1; min-height:44px; border:0; border-radius:12px; background:transparent; font:600 15px/1 var(--numon-font-sans); color:var(--numon-ink-soft); cursor:pointer}
.numon-tabs__tab[aria-selected="true"]{background:var(--numon-surface); color:var(--numon-ink); box-shadow:inset 0 -3px 0 var(--numon-primary),var(--numon-shadow-sm)}
.numon-feature{display:grid; gap:6px; padding:16px; border-radius:var(--numon-r-md); background:var(--numon-dark); color:var(--numon-on-dark)!important; text-decoration:none!important}
.numon-feature__title{font-family:var(--numon-font-display); font-size:22px; line-height:1.15}
.numon-feature__text{font-size:14px; color:var(--numon-on-dark-soft)}
.numon-highlights{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
.numon-highlight{display:grid; gap:2px; padding:12px; min-height:64px; border-radius:var(--numon-r-sm); border:1px solid var(--numon-line); background:var(--numon-surface); color:var(--numon-ink)!important; text-decoration:none!important; font-weight:650; font-size:15px; transition:border-color var(--numon-t-fast) var(--numon-ease)}
.numon-highlight:hover{border-color:var(--numon-ink)}
.numon-highlight--orange,.numon-highlight--teja{background:var(--numon-soft-teja)}.numon-highlight--turquoise{background:var(--numon-soft-turquoise)}.numon-highlight--lemon{background:var(--numon-soft-lemon)}.numon-highlight--salvia{background:var(--numon-soft-salvia)}
.numon-group{display:grid; gap:6px}
.numon-group__title{font-size:12.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--numon-ink-soft)}
.numon-list{display:grid}
.numon-list__link{display:flex; justify-content:space-between; align-items:center; min-height:46px; padding:0 4px; border-bottom:1px solid var(--numon-line); color:var(--numon-ink)!important; text-decoration:none!important; font-size:16px}
.numon-list__link::after{content:"\2192"; color:var(--numon-ink-soft)}
.numon-list__link:hover{background:var(--numon-soft-secondary)}
.numon-panel .numon-accordion__summary{min-height:50px; padding:10px 0}
.numon-panel .numon-accordion__summary::after{width:36px; height:36px; font-size:20px}
.numon-panel .numon-accordion__body{padding:0 0 12px}
.numon-search__form{display:flex; gap:8px; align-items:stretch}
.numon-search__field{flex:1; display:flex; align-items:center; gap:10px; min-height:56px; padding:0 14px; border-radius:16px; background:var(--numon-surface); border:1.5px solid var(--numon-line-strong)}
.numon-search__field:focus-within{border-color:var(--numon-ink); box-shadow:0 0 0 1px var(--numon-ink)}
.numon-ui .numon-search__input{flex:1; min-width:0; min-height:48px; border:0; outline:0; background:transparent; font:17px/1.3 var(--numon-font-sans); color:var(--numon-ink)}
.numon-help{display:grid; gap:8px; padding:14px; border-radius:var(--numon-r-md); background:var(--numon-soft-turquoise)}
.numon-hand-gemma{font-family:var(--numon-font-hand-gemma); font-size:24px; line-height:1.15; color:var(--numon-ink)}
.numon-empty__title{font-weight:650; font-size:17px}
/* footer */
.numon-footer{background:var(--numon-dark); color:var(--numon-on-dark); padding:clamp(48px,6vw,88px) var(--numon-pad-x) calc(28px + env(safe-area-inset-bottom,0px))}
.numon-footer__grid{max-width:var(--numon-maxw); margin-inline:auto; display:grid; gap:32px; grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){ .numon-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .numon-footer__grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))} }
.numon-footer__logo{width:128px; height:auto; filter:brightness(0) invert(1)}
.numon-footer__title{font:700 12.5px/1.3 var(--numon-font-sans); letter-spacing:.08em; text-transform:uppercase; color:var(--numon-on-dark-soft)}
.numon-footer__list{display:grid; gap:2px; margin:0; padding:0; list-style:none}
.numon-ui .numon-footer a{color:var(--numon-on-dark); text-decoration-color:var(--numon-primary)}
.numon-footer__link{display:inline-flex; align-items:center; min-height:40px}
.numon-footer__bottom{max-width:var(--numon-maxw); margin:40px auto 0; padding-top:20px; border-top:1px solid rgba(247,245,240,.18); display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; font-size:14px; color:var(--numon-on-dark-soft)}
.numon-footer .numon-text{color:var(--numon-on-dark-soft)}
@media (prefers-reduced-motion: reduce){ .numon-header.is-hidden{transform:none} .numon-overlay,.numon-panel,.numon-header--fixed,.numon-header__announce{transition:none!important} }
/* 3.3.1 · Breakdance envuelve los SVG en un div .numon-icon */
.numon-icon > svg{width:100%; height:100%; display:block}
/* 3.3.2 · footer: marca + 4 grupos (Comprar, Descubrir, Compartir, Ayuda) y franja legal */
@media (min-width:1024px){ .numon-footer__grid{grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr))} }
.numon-footer__legal{display:flex; flex-wrap:wrap; gap:4px 20px; margin:0; padding:0; list-style:none}
.numon-footer__legal .numon-footer__link{min-height:44px}

/* ==========================================================================
   16 · 3.4.0-exp · tarjetas de Producto e Historia, rejilla, paseo, archivo y ficha
   ========================================================================== */
/* rejilla de loops Breakdance (Post Loop Builder) */
.numon-pgrid .bde-loop,.numon-pgrid .ee-posts{display:grid; gap:clamp(14px,2vw,28px) clamp(12px,1.6vw,24px); grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){ .numon-pgrid .bde-loop,.numon-pgrid .ee-posts{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1200px){ .numon-pgrid .bde-loop,.numon-pgrid .ee-posts{grid-template-columns:repeat(4,minmax(0,1fr))} }
.numon-pgrid--rail .bde-loop,.numon-pgrid--rail .ee-posts{grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(min(72vw,260px),1fr); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:8px}
.numon-pgrid--rail .bde-loop-item,.numon-pgrid--rail .ee-post{scroll-snap-align:start}
.numon-pgrid .bde-loop-item,.numon-pgrid .ee-post{padding:0!important; margin:0; background:none; border:0; box-shadow:none; min-width:0}
.numon-pgrid .bde-pagination,.numon-pgrid .ee-pagination{margin-top:28px; display:flex; flex-wrap:wrap; gap:6px; justify-content:center}
.numon-pgrid .bde-pagination a,.numon-pgrid .bde-pagination span,.numon-pgrid .ee-pagination a,.numon-pgrid .ee-pagination span{min-width:44px; min-height:44px; display:inline-grid; place-items:center; padding:0 12px; border-radius:999px; border:1px solid var(--numon-line); color:var(--numon-ink); text-decoration:none}
.numon-pgrid .bde-pagination .current,.numon-pgrid .ee-pagination .current{border-color:var(--numon-ink); box-shadow:inset 0 -2px 0 var(--numon-primary)}
/* tarjeta de producto (Global Block «Numon · Tarjeta Producto») */
.numon-pcard{position:relative; display:flex; flex-direction:column; gap:8px; height:100%; color:var(--numon-ink)}
.numon-pcard__media{position:relative; display:block; aspect-ratio:4/5; border-radius:var(--numon-r-md); overflow:hidden; background:var(--numon-soft-secondary)}
.numon-pcard__media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--numon-t-panel) var(--numon-ease)}
.numon-pcard:hover .numon-pcard__media img{transform:scale(1.025)}
.numon-ui .numon-pcard__title,.numon-ui .numon-pcard__title :is(h2,h3,h4,a){margin:0; font:600 15.5px/1.35 var(--numon-font-sans); color:var(--numon-ink); text-decoration:none; letter-spacing:normal}
.numon-pcard__title a::after{content:""; position:absolute; inset:0 0 auto 0; aspect-ratio:4/5}
.numon-pcard .price,.numon-pcard__price{font:600 15px/1.35 var(--numon-font-sans); color:var(--numon-ink)}
.numon-pcard .price del,.numon-pdp .price del{color:var(--numon-ink-soft); font-weight:400}
.numon-pcard .price ins,.numon-pdp .price ins{text-decoration:none}
.numon-pcard .stock{margin:0; font-size:13.5px; color:var(--numon-ink-soft)}
.numon-pcard .out-of-stock,.numon-pdp .out-of-stock{color:var(--numon-error)}
.numon-pcard__cta{margin-top:auto; position:relative; z-index:1}
.numon-ui .numon-pcard__cta :is(.button,a.button,button){display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px; border-radius:999px; border:1.5px solid var(--numon-line-strong); background:var(--numon-surface); color:var(--numon-ink); font:600 14px/1 var(--numon-font-sans); text-decoration:none; cursor:pointer; transition:background var(--numon-t-fast) var(--numon-ease),border-color var(--numon-t-fast) var(--numon-ease)}
.numon-ui .numon-pcard__cta :is(.button,a.button,button):hover{background:var(--numon-soft-secondary); border-color:var(--numon-ink)}
.numon-ui .numon-pcard__cta .added_to_cart{display:inline-block; margin-left:8px; font-size:14px}
.numon-pcard__cta .loading{opacity:.6}
/* tarjeta de historia (Global Block «Numon · Tarjeta Historia») */
.numon-hcard{position:relative; display:flex; flex-direction:column; gap:10px; height:100%}
.numon-hcard__media{display:block; aspect-ratio:3/2; border-radius:var(--numon-r-md); overflow:hidden; background:var(--numon-soft-lemon)}
.numon-hcard__media img{width:100%; height:100%; object-fit:cover; display:block}
.numon-ui .numon-hcard__title :is(h2,h3,a){margin:0; font:560 clamp(20px,2vw,24px)/1.15 var(--numon-font-display); color:var(--numon-ink); text-decoration:none}
.numon-hcard__title a::after{content:""; position:absolute; inset:0}
.numon-hcard__excerpt{font-size:15.5px; color:var(--numon-ink-soft)}
@media (prefers-reduced-motion: reduce){ .numon-pcard:hover .numon-pcard__media img{transform:none} }
/* paseo (Home) */
.numon-home{padding-bottom:96px}
.numon-chapter{scroll-margin-top:calc(var(--numon-sticky-top,0px) + 132px); position:relative}
.numon-chapter__num{font:560 clamp(40px,6vw,88px)/.9 var(--numon-font-display); color:var(--numon-primary); opacity:.9}
.numon-chapter--lift{margin-top:calc(-1 * clamp(24px,4vw,64px)); border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0}
.numon-float{position:relative; z-index:1; transform:translateY(clamp(-40px,-3vw,-12px))}
.numon-paseo{position:fixed; z-index:800; left:12px; right:84px; bottom:calc(12px + env(safe-area-inset-bottom,0px))}
@media (min-width:768px){ .numon-paseo{left:50%; right:auto; width:min(560px,calc(100% - 200px)); transform:translateX(-50%)} }
.numon-paseo__bar{display:flex; align-items:center; gap:4px; padding:5px; border-radius:999px}
.numon-paseo__current{flex:1; min-width:0; display:flex; align-items:center; gap:8px; padding:0 10px; font:600 14px/1.2 var(--numon-font-sans); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-decoration:none; color:var(--numon-ink)}
.numon-paseo__current::before{content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--numon-primary)}
.numon-paseo__btn{flex:none; min-width:44px; min-height:44px; display:inline-grid; place-items:center; padding:0 12px; border-radius:999px; border:0; background:transparent; color:var(--numon-ink); font:600 14px/1 var(--numon-font-sans); cursor:pointer; text-decoration:none; list-style:none}
.numon-paseo__btn::-webkit-details-marker{display:none}
.numon-paseo__btn:hover{background:var(--numon-soft-secondary)}
.numon-paseo__index{position:static}
.numon-paseo__list{position:absolute; left:0; right:0; bottom:calc(100% + 8px); max-height:min(62vh,520px); overflow-y:auto; overscroll-behavior:contain; padding:8px; border-radius:20px; display:grid; gap:2px}
.numon-paseo__link{display:flex; align-items:baseline; gap:10px; min-height:44px; padding:10px 12px; border-radius:12px; color:var(--numon-ink); text-decoration:none; font-size:15px}
.numon-paseo__link:hover{background:var(--numon-soft-secondary)}
.numon-paseo__link[aria-current="location"]{box-shadow:inset 3px 0 0 var(--numon-primary); background:var(--numon-surface)}
.numon-paseo__link small{color:var(--numon-ink-soft); font-variant-numeric:tabular-nums; min-width:2ch}
/* archivo de productos */
.numon-archive__tools{display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; justify-content:space-between}
.numon-archive__count{font-size:15px; color:var(--numon-ink-soft)}
.numon-ui .numon-archive__tools select,.numon-ui .woocommerce-ordering select{min-height:44px; padding:0 36px 0 14px; border-radius:999px; border:1.5px solid var(--numon-line-strong); background:var(--numon-surface); font:15px/1 var(--numon-font-sans); color:var(--numon-ink)}
.numon-filters{border:1px solid var(--numon-line); border-radius:var(--numon-r-md); background:var(--numon-surface)}
.numon-filters > summary{display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:0 16px; font-weight:650; cursor:pointer; list-style:none}
.numon-filters > summary::-webkit-details-marker{display:none}
.numon-filters__body{padding:4px 16px 16px; display:grid; gap:14px}
.numon-ui .numon-filters__body ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px}
.numon-ui .numon-filters__body a{display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border-radius:999px; border:1px solid var(--numon-line); text-decoration:none; color:var(--numon-ink); font-size:14.5px}
.numon-ui .numon-filters__body a[aria-current]{border-color:var(--numon-ink); box-shadow:inset 0 -2px 0 var(--numon-primary)}
@media (min-width:1024px){ .numon-archive__layout{display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:clamp(24px,3vw,48px); align-items:start} .numon-ui .numon-filters__body ul{display:grid} }
/* ficha de producto */
.numon-pdp{display:grid; gap:clamp(20px,3vw,56px)}
@media (min-width:1024px){ .numon-pdp{grid-template-columns:minmax(0,3fr) minmax(320px,2fr); align-items:start} }
@media (min-width:1024px) and (min-height:760px){ .numon-pdp__buy{position:sticky; top:calc(var(--numon-sticky-top,0px) + 140px)} }
.numon-pdp__buy{display:grid; gap:14px; min-width:0}
.numon-ui .numon-pdp__buy h1{font:560 clamp(30px,3.4vw,46px)/1.05 var(--numon-font-display)}
.numon-pdp .price{font:600 clamp(20px,2vw,24px)/1.2 var(--numon-font-sans); color:var(--numon-ink); margin:0}
.numon-pdp .stock{margin:0; font-weight:600; font-size:15px}
.numon-pdp .in-stock{color:var(--numon-ink)}
.numon-pdp .available-on-backorder{color:var(--numon-ink-soft)}
.numon-ui .numon-pdp table.variations{width:100%; border:0; margin:0}
.numon-ui .numon-pdp table.variations :is(th,td){display:block; padding:0 0 6px; text-align:left; border:0; background:none}
.numon-ui .numon-pdp table.variations select{width:100%; min-height:48px; padding:0 14px; border-radius:var(--numon-r-sm); border:1.5px solid var(--numon-line-strong); background:var(--numon-surface); font:16px/1.3 var(--numon-font-sans)}
.numon-ui .numon-pdp .reset_variations{font-size:14px}
.numon-ui .numon-pdp form.cart{display:flex; flex-wrap:wrap; gap:10px; align-items:stretch; margin:0}
.numon-ui .numon-pdp form.variations_form{display:block}
.numon-ui .numon-pdp .woocommerce-variation-add-to-cart{display:flex; flex-wrap:wrap; gap:10px}
.numon-ui .numon-pdp .quantity input{width:80px; min-height:52px; text-align:center; border-radius:var(--numon-r-sm); border:1.5px solid var(--numon-line-strong); font:16px var(--numon-font-sans)}
.numon-ui .numon-pdp .single_add_to_cart_button{flex:1; min-height:52px; padding:0 24px; border-radius:999px; border:2px solid var(--numon-primary); background:var(--numon-primary); color:var(--numon-on-primary); font:650 16px/1 var(--numon-font-sans); cursor:pointer}
.numon-ui .numon-pdp .single_add_to_cart_button:hover{background:var(--numon-primary-hover); border-color:var(--numon-ink)}
.numon-ui .numon-pdp .single_add_to_cart_button:is(.disabled,:disabled){opacity:.5; cursor:not-allowed}
.numon-ui .woocommerce-notices-wrapper:empty{display:none}
.numon-ui :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){list-style:none; margin:0 0 16px; padding:14px 16px; border-radius:var(--numon-r-sm); border-left:4px solid var(--numon-primary); background:var(--numon-soft-lemon); color:var(--numon-ink)}
.numon-ui .woocommerce-error{border-left-color:var(--numon-error); background:var(--numon-error-bg)}
.numon-pdp__modules{display:grid; gap:0}
@media (min-width:1024px){ .numon-pdp__modules .numon-accordion[data-numon-desktop-open] > .numon-accordion__summary{pointer-events:none} }
/* 3.4.0 · rejilla genérica para cualquier Post Loop dentro de .numon-ui (Home, Ideas regalo, Escapadas, Historias, archivo) */
.numon-ui .bde-post-loop > .bde-loop{display:grid; gap:clamp(14px,2vw,28px) clamp(12px,1.6vw,24px); grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){ .numon-ui .bde-post-loop > .bde-loop{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1200px){ .numon-ui .bde-post-loop > .bde-loop{grid-template-columns:repeat(4,minmax(0,1fr))} }
.numon-ui .bde-post-loop .bde-loop-item{padding:0!important; margin:0; background:none; border:0; box-shadow:none; min-width:0}
.numon-ui .numon-pgrid--rail .bde-post-loop > .bde-loop{grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(min(72vw,260px),1fr); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:8px}
.numon-ui .numon-hgrid .bde-post-loop > .bde-loop{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
/* 3.4.1 · mini-cart nativo de WooCommerce dentro del panel «Tu cesta» */
.numon-panel .woocommerce-mini-cart{list-style:none; margin:0; padding:0; display:grid; gap:12px}
.numon-panel .woocommerce-mini-cart-item{position:relative; display:grid; grid-template-columns:64px 1fr; gap:4px 12px; padding:0 32px 12px 0; border-bottom:1px solid var(--numon-line)}
.numon-panel .woocommerce-mini-cart-item img{grid-row:span 2; width:64px; height:80px; object-fit:cover; border-radius:var(--numon-r-sm)}
.numon-panel .woocommerce-mini-cart-item > a:not(.remove){font-weight:600; color:var(--numon-ink); text-decoration:none}
.numon-panel .woocommerce-mini-cart-item .remove{position:absolute; top:0; right:0; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; text-decoration:none; color:var(--numon-ink)}
.numon-panel .woocommerce-mini-cart-item .quantity{font-size:14px; color:var(--numon-ink-soft)}
.numon-panel .woocommerce-mini-cart__total{display:flex; justify-content:space-between; margin:16px 0 8px; font-weight:650}
.numon-panel .woocommerce-mini-cart__buttons{display:grid; gap:8px; margin:0}
.numon-panel .woocommerce-mini-cart__buttons .button{display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:999px; border:1.5px solid var(--numon-line-strong); background:var(--numon-surface); color:var(--numon-ink); font-weight:600; text-decoration:none}
.numon-panel .woocommerce-mini-cart__buttons .checkout{background:var(--numon-primary); border-color:var(--numon-primary); color:var(--numon-on-primary)}
.numon-panel .woocommerce-mini-cart__empty-message{margin:0; color:var(--numon-ink-soft)}
/* 3.4.2 · teletipo de avisos fuera de la pastilla glass del header */
.numon-shell{--numon-ticker-h:36px}
.numon-ticker{position:relative; z-index:940; width:100%; height:var(--numon-ticker-h); display:flex; align-items:center; overflow:hidden; background:transparent; border:0; box-shadow:none}
.numon-ticker__track{display:flex; width:max-content; animation:numon-ticker 60s linear infinite}
.numon-ticker__group{display:flex; flex:none; align-items:center; gap:56px; margin:0; padding:0 28px; list-style:none}
.numon-ticker__group > li{flex:none; margin:0}
.numon-ui .numon-ticker__link{display:inline-flex; align-items:center; min-height:28px; padding:2px 10px; border-radius:8px; background:transparent; font:500 13.5px/1.2 var(--numon-font-sans); color:var(--numon-ink); text-decoration:none; white-space:nowrap; transition:background-color 180ms var(--numon-ease)}
.numon-ui .numon-ticker__link:is(:hover,:focus-visible,:active){background:var(--numon-lemon)}
.numon-ui .numon-ticker__link:focus-visible{outline:2px solid var(--numon-focus); outline-offset:1px}
.numon-ticker:hover .numon-ticker__track,.numon-ticker:focus-within .numon-ticker__track{animation-play-state:paused}
@keyframes numon-ticker{from{transform:translateX(0)} to{transform:translateX(-25%)}}
.numon-header--fixed{top:calc(var(--numon-header-top) + var(--numon-ticker-h)); transition:transform var(--numon-t-panel) var(--numon-ease),top var(--numon-t-panel) var(--numon-ease),box-shadow var(--numon-t-fast) var(--numon-ease)}
.numon-header--fixed.is-compact{top:var(--numon-header-top)}
.admin-bar .numon-header--fixed{top:calc(var(--numon-header-top) + var(--numon-ticker-h) + 32px)}
.admin-bar .numon-header--fixed.is-compact{top:calc(var(--numon-header-top) + 32px)}
@media (max-width:782px){ .admin-bar .numon-header--fixed{top:calc(var(--numon-header-top) + var(--numon-ticker-h) + 46px)} .admin-bar .numon-header--fixed.is-compact{top:calc(var(--numon-header-top) + 46px)} }
.numon-header-spacer{height:88px}
@media (min-width:1024px){ .numon-header-spacer{height:92px} }
@media (prefers-reduced-motion: reduce){
  .numon-ticker{overflow-x:auto; overscroll-behavior-x:contain}
  .numon-ticker__track{animation:none; transform:none}
  .numon-ticker__group[aria-hidden="true"]{display:none}
  .numon-header--fixed{transition:none}
}
/* 3.4.3 · archivo: una columna en pantallas muy estrechas; migas */
@media (max-width:359px){ .numon-ui .bde-post-loop > .bde-loop{grid-template-columns:minmax(0,1fr)} }
.numon-archive nav[aria-label] ol{list-style:none; margin:0; padding:0; gap:4px 8px}
.numon-archive nav[aria-label] li + li::before{content:"/"; margin-right:8px; color:var(--numon-ink-soft)}
.numon-archive nav[aria-label] a{color:var(--numon-ink-soft)}
.numon-archive .bde-pagination{margin-top:32px; display:flex; flex-wrap:wrap; gap:6px; justify-content:center}
.numon-archive .bde-pagination :is(a,span){min-width:44px; min-height:44px; display:inline-grid; place-items:center; padding:0 12px; border-radius:999px; border:1px solid var(--numon-line); color:var(--numon-ink); text-decoration:none}
.numon-archive .bde-pagination .current,.numon-archive .bde-pagination [aria-current]{border-color:var(--numon-ink); box-shadow:inset 0 -2px 0 var(--numon-primary)}
.numon-archive .bde-posts-pagination{margin-top:32px; display:flex; flex-wrap:wrap; gap:6px; justify-content:center}
.numon-archive .bde-posts-pagination :is(a,span){min-width:44px; min-height:44px; display:inline-grid; place-items:center; padding:0 12px; border-radius:999px; border:1px solid var(--numon-line); color:var(--numon-ink); text-decoration:none}
.numon-archive .bde-posts-pagination :is(.current,[aria-current]){border-color:var(--numon-ink); box-shadow:inset 0 -2px 0 var(--numon-primary)}
/* 3.4.4 · archivo de productos: cabecera compacta, barra Filtrar/Ordenar, panel lateral y rejilla por contenedor */
.numon-ui.numon-archive .numon-hero{min-height:0; padding:clamp(18px,2.6vw,36px) 0 clamp(6px,1vw,12px); background:var(--numon-bg)}
.numon-ui.numon-archive .numon-hero .numon-container{gap:10px}
.numon-ui.numon-archive .numon-h1{font-size:clamp(32px,3.6vw,54px); line-height:1.02}
.numon-archive__desc{max-width:62ch; font-size:16.5px; line-height:1.55; color:var(--numon-ink-soft)}
.numon-archive__desc p{margin:0 0 .6em}
.numon-crumbs ol{display:flex; flex-wrap:wrap; gap:2px 8px; margin:0; padding:0; list-style:none; font-size:13.5px; color:var(--numon-ink-soft)}
.numon-crumbs li + li::before{content:"/"; margin-right:8px; opacity:.6}
.numon-ui .numon-crumbs a{color:var(--numon-ink-soft); text-decoration:none}
.numon-ui .numon-crumbs a:hover{color:var(--numon-ink); text-decoration:underline}
.numon-ui.numon-archive > .numon-section{padding-block:0 clamp(40px,5vw,80px)}
.numon-ui.numon-archive > .numon-section > .numon-container{gap:0}
/* barra */
.numon-toolbar{position:sticky; top:calc(var(--numon-sticky-top,0px) + 80px); z-index:60; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:10px 0; margin-bottom:clamp(14px,2vw,24px); background:var(--numon-bg); border-bottom:1px solid var(--numon-line)}
.admin-bar .numon-toolbar{top:calc(var(--numon-sticky-top,0px) + 112px)}
.numon-toolbar__count{font-size:14.5px; color:var(--numon-ink-soft)}
.numon-toolbar__count p{margin:0}
.numon-toolbar__actions{display:flex; gap:8px}
.numon-ui .numon-toolbar__btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 18px; border-radius:999px; border:1.5px solid var(--numon-line-strong); background:var(--numon-surface); color:var(--numon-ink); font:600 15px/1 var(--numon-font-sans); cursor:pointer; list-style:none; white-space:nowrap}
.numon-ui .numon-toolbar__btn::-webkit-details-marker{display:none}
.numon-ui .numon-toolbar__btn:hover{border-color:var(--numon-ink)}
.numon-ui .numon-toolbar__btn[aria-expanded="true"],.numon-ui .numon-sort[open] > .numon-toolbar__btn{border-color:var(--numon-ink); box-shadow:inset 0 -2px 0 var(--numon-primary)}
.numon-toolbar__badge{display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:var(--numon-primary); color:var(--numon-on-primary); font:700 12px/1 var(--numon-font-sans)}
@media (max-width:599px){ .numon-toolbar__count{flex-basis:100%; order:2; font-size:13.5px} .numon-toolbar__actions{flex-basis:100%; display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr))} .numon-ui .numon-toolbar__btn{width:100%} }
/* ordenar */
.numon-sort{position:relative}
.numon-sort__panel{position:absolute; right:0; top:calc(100% + 8px); z-index:70; width:min(280px,calc(100vw - 24px)); padding:8px; border-radius:16px; border:1px solid var(--numon-line); background:var(--numon-surface); box-shadow:var(--numon-shadow)}
.numon-sort__head,.numon-filterpanel__head{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 4px 8px 8px; font-weight:650}
.numon-ui .numon-sort__close{min-height:40px; padding:0 14px; border-radius:999px; border:1px solid var(--numon-line-strong); background:var(--numon-surface); color:var(--numon-ink); font:600 14px/1 var(--numon-font-sans); cursor:pointer}
.numon-sort ul{list-style:none; margin:0; padding:0; display:grid}
.numon-ui .numon-sort a{display:flex; align-items:center; min-height:44px; padding:0 12px; border-radius:10px; color:var(--numon-ink); text-decoration:none; font-size:15px}
.numon-ui .numon-sort a:hover{background:var(--numon-soft-secondary)}
.numon-ui .numon-sort a[aria-current]{font-weight:650; box-shadow:inset 3px 0 0 var(--numon-primary)}
@media (max-width:599px){ .numon-sort__panel{position:fixed; left:0; right:0; top:auto; bottom:0; width:auto; max-height:70vh; overflow-y:auto; border-radius:20px 20px 0 0; padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px)); z-index:1000} }
/* layout + panel de filtros */
.numon-ui.numon-archive .numon-archive__layout{display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(18px,2.4vw,40px); align-items:start}
.numon-archive__layout > :last-child{min-width:0; container-type:inline-size}
.numon-filterpanel{display:grid; gap:12px; min-width:0}
.numon-ui .numon-filterpanel__title{margin:0; font:650 19px/1.2 var(--numon-font-sans)}
.numon-filterpanel__form{display:grid; gap:16px; margin:0}
.numon-filterpanel__group{margin:0; padding:0; border:0; display:grid; gap:2px}
.numon-filterpanel__group legend{padding:0 0 6px; font-size:12.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--numon-ink-soft)}
.numon-choice{display:flex; align-items:center; gap:10px; min-height:44px; padding:0 8px; border-radius:10px; cursor:pointer; font-size:15px}
.numon-choice:hover{background:var(--numon-soft-secondary)}
.numon-choice input{width:18px; height:18px; margin:0; accent-color:var(--numon-primary)}
.numon-choice small{margin-left:auto; color:var(--numon-ink-soft); font-variant-numeric:tabular-nums}
.numon-choice:has(input:checked){font-weight:650; box-shadow:inset 3px 0 0 var(--numon-primary)}
.numon-filterpanel__foot{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.numon-filterpanel__foot .numon-btn{justify-content:center; padding-inline:12px}
@media (min-width:1024px){
  .numon-ui.numon-archive .numon-archive__layout{grid-template-columns:clamp(300px,24vw,360px) minmax(0,1fr)}
  .numon-ui.numon-archive.numon-js .numon-archive__layout{grid-template-columns:0 minmax(0,1fr); column-gap:0; transition:grid-template-columns var(--numon-t-panel) var(--numon-ease),column-gap var(--numon-t-panel) var(--numon-ease)}
  .numon-ui.numon-archive.numon-js.is-filters-open .numon-archive__layout{grid-template-columns:clamp(320px,26vw,380px) minmax(0,1fr); column-gap:clamp(20px,2.4vw,40px)}
  .numon-archive.numon-js .numon-archive__layout > aside{overflow:hidden}
  .numon-archive.numon-js:not(.is-filters-open) .numon-filterpanel{visibility:hidden}
  .numon-filterpanel{position:sticky; top:calc(var(--numon-sticky-top,0px) + 148px); max-height:calc(100vh - 170px); overflow-y:auto; padding:16px; border:1px solid var(--numon-line); border-radius:var(--numon-r-md); background:var(--numon-surface)}
}
@media (max-width:1023px){
  .numon-archive.numon-js .numon-filterpanel{position:fixed; z-index:1000; top:0; bottom:0; left:0; width:min(88vw,380px); padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; background:var(--numon-surface); box-shadow:var(--numon-shadow); transform:translateX(-102%); visibility:hidden; transition:transform var(--numon-t-panel) var(--numon-ease),visibility 0s linear var(--numon-t-panel)}
  .numon-archive.numon-js.is-filters-open .numon-filterpanel{transform:none; visibility:visible; transition:transform var(--numon-t-panel) var(--numon-ease)}
  .numon-archive:not(.numon-js) .numon-filterpanel{padding:12px; border:1px solid var(--numon-line); border-radius:var(--numon-r-md)}
}
.numon-archive.numon-js .numon-archive__overlay{position:fixed; inset:0; z-index:990; background:rgba(24,23,21,.34)}
/* rejilla según el ancho real del área de productos */
.numon-ui.numon-archive .bde-post-loop > .bde-loop{grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.4vw,36px) clamp(12px,1.6vw,24px)}
@container (min-width:720px){ .numon-ui.numon-archive .bde-post-loop > .bde-loop{grid-template-columns:repeat(3,minmax(0,1fr))} }
@container (min-width:1100px){ .numon-ui.numon-archive .bde-post-loop > .bde-loop{grid-template-columns:repeat(4,minmax(0,1fr))} }
@container (max-width:339px){ .numon-ui.numon-archive .bde-post-loop > .bde-loop{grid-template-columns:minmax(0,1fr)} }
.numon-ui.numon-archive .numon-pcard__media{border-radius:var(--numon-r-sm)}
@media (prefers-reduced-motion: reduce){ .numon-ui.numon-archive .numon-archive__layout,.numon-archive .numon-filterpanel{transition:none!important} }
/* 3.4.5 · tarjeta de producto editorial, rejilla compacta, chips de filtros y «Ver más» */
.numon-ui .numon-pcard{gap:10px; height:100%}
.numon-ui .numon-pcard__media{aspect-ratio:4/5; border-radius:6px; overflow:hidden; background:var(--numon-soft-secondary); box-shadow:none; border:0; padding:0}
.numon-ui .numon-pcard__media img{width:100%; height:100%; object-fit:cover; transition:transform 420ms var(--numon-ease)}
.numon-ui .numon-pcard:hover .numon-pcard__media img{transform:scale(1.03)}
.numon-pcard__body{display:flex; flex-direction:column; gap:6px; flex:1; min-width:0}
.numon-pcard__row{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 12px}
.numon-ui .numon-pcard__title{flex:1 1 12ch; min-width:0; margin:0}
.numon-ui .numon-pcard__title,.numon-ui .numon-pcard__title a{font:500 clamp(15px,1.15vw,18px)/1.25 var(--numon-font-sans); color:var(--numon-ink); text-transform:none; text-align:left; text-decoration:none}
.numon-ui .numon-pcard__title a{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.numon-ui .numon-pcard__title a:hover{text-decoration:underline; text-decoration-color:var(--numon-primary); text-decoration-thickness:1px; text-underline-offset:3px}
.numon-ui .numon-pcard__price,.numon-ui .numon-pcard .price{flex:none; font:600 15px/1.25 var(--numon-font-sans); color:var(--numon-ink); text-align:right; white-space:nowrap}
.numon-ui .numon-pcard .price del{font-size:.9em; font-weight:400; color:var(--numon-ink-soft); opacity:.85}
.numon-ui .numon-pcard .price ins{text-decoration:none; font-weight:650}
.numon-ui .numon-pcard .stock{margin:0; font-size:13px; line-height:1.3; color:var(--numon-ink-soft)}
.numon-ui .numon-pcard__cta{margin-top:auto; padding-top:2px}
.numon-ui .numon-pcard__cta :is(.button,a.button,button){min-height:36px; padding:0 14px; border-width:1px; background:transparent; font:500 13.5px/1 var(--numon-font-sans)}
@media (prefers-reduced-motion: reduce){ .numon-ui .numon-pcard__media img{transition:none} .numon-ui .numon-pcard:hover .numon-pcard__media img{transform:none} }
/* rejilla compacta del archivo */
.numon-ui.numon-archive .bde-post-loop > .bde-loop{gap:20px 8px}
@container (min-width:600px){ .numon-ui.numon-archive .bde-post-loop > .bde-loop{gap:24px 12px} }
@container (min-width:1100px){ .numon-ui.numon-archive .bde-post-loop > .bde-loop{gap:28px 16px} }
/* ritmo */
.numon-ui.numon-archive .numon-hero{padding-bottom:4px}
.numon-ui.numon-archive .numon-toolbar{padding:6px 0; margin-bottom:12px}
/* chips de filtros activos */
.numon-toolbar__count{margin-right:auto}
.numon-toolbar__chips{display:flex; align-items:center; gap:6px; min-width:0}
.numon-chip{display:inline-flex; align-items:center; gap:2px; min-height:40px; padding:0 2px 0 12px; border-radius:999px; border:1px solid var(--numon-line); background:var(--numon-soft-secondary); font:500 14px/1 var(--numon-font-sans); color:var(--numon-ink); white-space:nowrap}
.numon-ui .numon-chip__x{display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--numon-primary); font-size:20px; line-height:1; text-decoration:none}
.numon-ui .numon-chip__x:hover{background:var(--numon-surface); color:var(--numon-ink)}
.numon-ui .numon-chip__all{font-size:14px; color:var(--numon-ink); text-decoration:underline; text-decoration-color:var(--numon-primary); white-space:nowrap}
@media (max-width:599px){ .numon-toolbar__chips{order:0; flex-basis:100%; overflow-x:auto; overscroll-behavior-x:contain; padding-bottom:2px} .numon-toolbar__actions{order:1} .numon-toolbar__count{order:2} }
/* Ver más */
.numon-more{display:grid; justify-items:center; gap:10px; margin-top:clamp(20px,3vw,32px); text-align:center}
.numon-more__status,.numon-more__end{margin:0; font-size:14px; color:var(--numon-ink-soft)}
.numon-more__btn[aria-busy="true"]{opacity:.6; pointer-events:none}
.numon-archive.numon-js .bde-posts-pagination{display:none}
/* 3.4.6 · marco de imagen uniforme, información apilada sin solapes y offset real del header */
.numon-ui .bde-post-loop .bde-loop-item{display:block; min-width:0; width:auto}
.numon-ui .bde-loop-item > .bde-code-block{display:block; width:100%!important; max-width:none!important; height:100%}
.numon-ui article.numon-pcard{display:flex; flex-direction:column; gap:10px; width:100%!important; max-width:none!important; height:100%; margin:0!important; padding:0; float:none!important; container-type:inline-size}
.numon-ui .numon-pcard__media{display:block!important; position:relative; width:100%!important; max-width:none!important; height:auto; aspect-ratio:4/5; overflow:hidden; border-radius:6px; background:var(--numon-soft-secondary)}
.numon-ui .numon-pcard__media :is(picture,span,div){display:block; width:100%!important; height:100%!important; max-width:none!important}
.numon-ui .numon-pcard__media img{position:absolute; inset:0; display:block; width:100%!important; height:100%!important; max-width:none!important; object-fit:cover!important; object-position:center; margin:0}
.numon-ui .numon-pcard__body{display:flex; flex-direction:column; gap:6px; flex:1; min-width:0}
.numon-ui .numon-pcard__row{display:grid; grid-template-columns:minmax(0,1fr); gap:4px; align-items:start}
.numon-ui .numon-pcard__title{min-width:0; margin:0}
.numon-ui .numon-pcard__title,.numon-ui .numon-pcard__title a{font:500 clamp(15px,1.1vw,17px)/1.3 var(--numon-font-sans)!important; letter-spacing:normal; text-transform:none!important}
.numon-ui .numon-pcard__title a{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere}
.numon-ui .numon-pcard__price{min-width:0; text-align:left; white-space:nowrap; font:600 15px/1.3 var(--numon-font-sans)}
.numon-ui .numon-pcard__price :is(del,ins,.amount,bdi){white-space:nowrap}
.numon-ui .numon-pcard .stock{margin:0}
.numon-ui .numon-pcard__cta{margin-top:auto; padding-top:6px}
@container (min-width:320px){ .numon-ui .numon-pcard__row{grid-template-columns:minmax(0,1fr) auto; column-gap:12px} .numon-ui .numon-pcard__price{text-align:right} }
/* offset real del header (variable compartida calculada por numon-archive.js; valores de respaldo sin JS) */
.numon-ui.numon-archive{padding-top:var(--numon-archive-overlap,0px)}
.numon-ui.numon-archive .numon-hero{padding-inline:var(--numon-pad-x)}
.numon-ui.numon-archive .numon-toolbar{top:var(--numon-header-offset,80px); transition:top var(--numon-t-fast) var(--numon-ease)}
.admin-bar .numon-ui.numon-archive .numon-toolbar{top:var(--numon-header-offset,112px)}
@media (min-width:1024px){ .numon-ui.numon-archive .numon-filterpanel{top:calc(var(--numon-header-offset,80px) + 68px); max-height:calc(100vh - var(--numon-header-offset,80px) - 88px)} }
@media (prefers-reduced-motion: reduce){ .numon-ui.numon-archive .numon-toolbar{transition:none} }
/* 3.4.7 · ficha de producto V3 */
.numon-ui.numon-pdp-page > .numon-section:first-of-type{padding-top:clamp(16px,2.4vw,32px)}
.numon-ui .numon-pdp{margin-top:12px}
@media (min-width:1024px){ .numon-ui .numon-pdp{grid-template-columns:minmax(0,3fr) minmax(320px,2fr); gap:clamp(28px,3.4vw,64px)} }
.numon-pdp__gallery{min-width:0}
.numon-ui .numon-pdp__gallery .woocommerce-product-gallery{position:relative; width:100%!important; float:none!important; margin:0!important; opacity:1!important}
.numon-ui .numon-pdp__gallery .woocommerce-product-gallery__image img{display:block; width:100%; height:auto; border-radius:6px; background:var(--numon-soft-secondary)}
.numon-ui .numon-pdp__gallery .flex-control-thumbs{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:8px 0 0; padding:0; list-style:none}
.numon-ui .numon-pdp__gallery .flex-control-thumbs img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:4px; cursor:pointer; opacity:.7}
.numon-ui .numon-pdp__gallery .flex-control-thumbs img.flex-active{opacity:1; box-shadow:inset 0 -3px 0 var(--numon-primary)}
.numon-ui .numon-pdp__gallery .woocommerce-product-gallery__trigger{position:absolute; top:12px; right:12px; z-index:2; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--numon-surface); text-decoration:none}
.numon-ui .numon-pdp__buy .product_title{margin:0; font:560 clamp(30px,3.4vw,46px)/1.05 var(--numon-font-display); color:var(--numon-ink)}
.numon-ui .numon-pdp__buy .woocommerce-product-details__short-description{font-size:16px; color:var(--numon-ink-soft)}
.numon-ui .numon-pdp__buy .woocommerce-product-details__short-description p{margin:0 0 .5em}
.numon-ui .numon-pdp__buy .product_meta{display:grid; gap:4px; font-size:14px; color:var(--numon-ink-soft)}
.numon-ui .numon-pdp__buy .product_meta a{color:var(--numon-ink)}
.numon-ui .numon-pdp__buy .single_variation_wrap{display:grid; gap:10px}
.numon-ui .numon-pdp__buy .woocommerce-variation-price .price{font-size:20px}
.numon-ui .numon-pdp-info .numon-accordion__body table.woocommerce-product-attributes{width:100%; border-collapse:collapse; font-size:15px}
.numon-ui .numon-pdp-info table.woocommerce-product-attributes :is(th,td){padding:10px 0; text-align:left; border-bottom:1px solid var(--numon-line); vertical-align:top}
.numon-ui .numon-pdp-info table.woocommerce-product-attributes th{width:38%; font-weight:600}
.numon-ui .numon-pdp-info table.woocommerce-product-attributes p{margin:0}
@media (min-width:1024px) and (max-height:899px){ .numon-ui .numon-pdp__buy{position:static} }
/* 3.4.8 · ficha de producto: galería 52/48 contenida, panel de compra jerárquico, cantidad, ayuda y zona editorial */
.numon-ui .numon-pdp{max-width:1360px; margin-inline:auto; grid-template-areas:"crumbs" "gallery" "buy"; row-gap:16px}
.numon-ui .numon-pdp > #pdp-crumbs{grid-area:crumbs; min-width:0}
.numon-ui .numon-pdp > .numon-pdp__gallery{grid-area:gallery}
.numon-ui .numon-pdp > .numon-pdp__buy{grid-area:buy; position:static}
@media (min-width:1024px){
  .numon-ui .numon-pdp{grid-template-columns:minmax(0,13fr) minmax(340px,12fr); grid-template-areas:"gallery crumbs" "gallery buy"; grid-template-rows:auto 1fr; column-gap:clamp(32px,4vw,64px); align-items:start}
  .numon-ui .numon-pdp__gallery .woocommerce-product-gallery__image > a,.numon-ui .numon-pdp__gallery .woocommerce-product-gallery__image:not(:has(a)){display:flex; align-items:center; justify-content:center; height:min(70vh,720px); background:var(--numon-soft-secondary); border-radius:6px; overflow:hidden}
  .numon-ui .numon-pdp__gallery .woocommerce-product-gallery__image img{width:auto!important; max-width:100%!important; height:100%!important; max-height:min(70vh,720px); object-fit:contain!important; border-radius:0; background:transparent}
  .numon-ui .numon-pdp__buy.is-sticky{position:sticky; top:var(--numon-header-offset,96px)}
}
.numon-ui .numon-pdp__gallery .woocommerce-product-gallery__image img{object-fit:contain}
.numon-ui .numon-pdp__gallery .flex-control-thumbs{grid-template-columns:repeat(auto-fill,minmax(56px,72px)); gap:8px; margin-top:12px}
.numon-ui .numon-pdp__gallery .flex-control-thumbs img{aspect-ratio:1; object-fit:cover; border-radius:4px; opacity:.65; box-shadow:none}
.numon-ui .numon-pdp__gallery .flex-control-thumbs img.flex-active{opacity:1; outline:2px solid var(--numon-primary); outline-offset:2px}
.numon-ui .numon-pdp__buy{display:grid; gap:24px; align-content:start}
.numon-pdp__group{display:grid; gap:12px}
.numon-ui .numon-pdp__buy .product_title{font:560 clamp(28px,2.8vw,40px)/1.12 var(--numon-font-display)}
.numon-ui .numon-pdp__buy .price{margin:0; font:600 clamp(19px,1.6vw,22px)/1.3 var(--numon-font-sans); color:var(--numon-ink)}
.numon-ui .numon-pdp__buy .stock{margin:0 0 12px; font:500 15px/1.4 var(--numon-font-sans)}
.numon-ui .numon-pdp__buy .stock.out-of-stock{color:var(--numon-error)}
.numon-pdp__status{margin:0}
/* cantidad (botones de Breakdance dentro del selector) */
.numon-ui .numon-pdp__purchase form.cart{display:flex; flex-wrap:wrap; align-items:stretch; gap:12px}
.numon-ui .numon-pdp__purchase .quantity{position:relative; display:inline-grid; grid-template-columns:44px minmax(44px,56px) 44px; align-items:stretch; height:52px; border:1.5px solid var(--numon-line-strong); border-radius:999px; background:var(--numon-surface); overflow:hidden; flex:none}
.numon-ui .numon-pdp__purchase .quantity .bde-quantity-button{position:static!important; inset:auto!important; transform:none!important; width:44px; height:100%; margin:0; padding:0; border:0; background:transparent; color:var(--numon-ink); cursor:pointer; display:grid; place-items:center; font:500 20px/1 var(--numon-font-sans)}
.numon-ui .numon-pdp__purchase .quantity .bde-quantity-button::before{content:none}
.numon-ui .numon-pdp__purchase .quantity .bde-quantity-button--dec::after{content:"\2212"}
.numon-ui .numon-pdp__purchase .quantity .bde-quantity-button--inc::after{content:"+"}
.numon-ui .numon-pdp__purchase .quantity .bde-quantity-button:hover{background:var(--numon-soft-secondary)}
.numon-ui .numon-pdp__purchase .quantity input.qty{width:100%!important; min-height:0; height:100%; border:0!important; border-radius:0; text-align:center; font:600 16px var(--numon-font-sans); background:transparent; -moz-appearance:textfield}
.numon-ui .numon-pdp__purchase .quantity input.qty::-webkit-inner-spin-button,.numon-ui .numon-pdp__purchase .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none; margin:0}
.numon-ui .numon-pdp__purchase .single_add_to_cart_button{flex:1 1 220px; min-height:52px}
.numon-ui .numon-pdp__purchase .single_add_to_cart_button.loading{opacity:.7; cursor:progress}
.numon-ui .numon-pdp__purchase .single_add_to_cart_button.added::after{content:" \2713"}
.numon-ui .numon-pdp__purchase .variations{margin-bottom:12px}
.numon-ui .numon-pdp__purchase .woocommerce-variation{margin-bottom:12px}
/* ayuda y meta */
.numon-pdp__help{display:flex; flex-wrap:wrap; gap:8px 20px; margin:0; padding:16px 0 0; border-top:1px solid var(--numon-line); list-style:none; font-size:15px}
.numon-ui .numon-pdp__help a{color:var(--numon-ink); text-decoration:underline; text-decoration-color:var(--numon-primary); text-underline-offset:3px}
.numon-ui .numon-pdp__buy .sku_wrapper{display:none!important}
.numon-ui .numon-pdp__buy .product_meta{font-size:13.5px; color:var(--numon-ink-soft)}
.numon-ui .numon-pdp__buy .product_meta a{color:var(--numon-ink-soft)}
/* zona editorial */
.numon-ui .numon-pdp-info{padding-block:clamp(40px,5vw,64px)}
.numon-ui .numon-pdp-info > .numon-container{max-width:1360px}
.numon-pdp-info__grid{display:grid; gap:24px}
@media (min-width:1024px){ .numon-pdp-info__grid{grid-template-columns:minmax(200px,1fr) minmax(0,2.4fr); gap:clamp(32px,4vw,64px); align-items:start} .numon-pdp-info__intro{position:sticky; top:var(--numon-header-offset,96px)} }
.numon-pdp-info__intro .numon-small{margin-top:8px; color:var(--numon-ink-soft)}
.numon-ui .numon-pdp-info .numon-accordion[open] > .numon-accordion__summary::after{content:"\2212"; transform:none}
.numon-ui #pdp-related-section{padding-top:clamp(40px,5vw,64px)}
/* 3.4.9 · Home V1: sección Lemon soft y paseo móvil (solo capítulo actual + índice) */
.numon-section--soft-highlight{background:var(--numon-soft-highlight)}
@media (max-width:599px){ .numon-paseo [data-paseo-prev],.numon-paseo [data-paseo-next]{display:none!important} }
.numon-home .numon-card .numon-media img{width:100%; height:100%; object-fit:cover}
/* 3.4.10 · Home V1: anchura (rail sin min-content), responsive y paseo centrado */
.numon-ui.numon-home{width:100%; max-width:100%; min-width:0}
.numon-home :is(.numon-container,.numon-stack,.numon-split,.numon-hero__grid,.numon-hero__main,.numon-hero__aside,.numon-pgrid,.bde-post-loop,.bde-code-block){min-width:0; max-width:100%}
.numon-home .numon-container{width:100%; max-width:var(--numon-maxw); margin-inline:auto}
/* rail del Escaparate: ancho limitado por su contenedor, scroll horizontal propio con snap */
.numon-ui.numon-home .numon-pgrid--rail .bde-post-loop > .bde-loop{display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:calc((100% - 12px) / 1.3); gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:0; padding-bottom:10px; width:100%}
.numon-ui.numon-home .numon-pgrid--rail .bde-loop-item{scroll-snap-align:start; min-width:0}
@media (min-width:600px){ .numon-ui.numon-home .numon-pgrid--rail .bde-post-loop > .bde-loop{grid-auto-columns:calc((100% - 16px) / 2); gap:16px} }
@media (min-width:1024px){ .numon-ui.numon-home .numon-pgrid--rail .bde-post-loop > .bde-loop{grid-auto-columns:calc((100% - 3 * 16px) / 4)} }
/* rejillas de producto: 2 / 3 / 4 */
.numon-ui.numon-home .numon-pgrid:not(.numon-pgrid--rail) .bde-post-loop > .bde-loop{grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 10px}
@media (min-width:1024px){ .numon-ui.numon-home .numon-pgrid:not(.numon-pgrid--rail) .bde-post-loop > .bde-loop{grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 14px} }
@media (min-width:1280px){ .numon-ui.numon-home .numon-pgrid:not(.numon-pgrid--rail) .bde-post-loop > .bde-loop{grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 16px} }
/* categorías y valores: 1 / 2 / 4 */
.numon-home .numon-grid--4{grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){ .numon-home .numon-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .numon-home .numon-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
.numon-home .numon-grid--3{grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){ .numon-home .numon-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
/* dos columnas solo con anchura suficiente */
.numon-home .numon-split,.numon-home .numon-split--wide{grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){ .numon-home .numon-split,.numon-home .numon-split--wide{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)} }
.numon-home .numon-hero__grid{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){ .numon-home .numon-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)} }
.numon-home .numon-cluster{flex-wrap:wrap}
.numon-home .numon-btn{max-width:100%; white-space:normal; text-align:center}
.numon-home :is(.numon-h1,.numon-h2,.numon-lead){overflow-wrap:break-word}
/* paseo centrado respecto al viewport, sin tapar WhatsApp ni Launcher */
.numon-paseo{left:50%; right:auto; transform:translateX(-50%); width:min(560px,calc(100vw - 2 * (76px + env(safe-area-inset-left,0px)))); bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.numon-paseo__list{max-width:calc(100vw - 24px)}
/* 3.4.11 · Numon En Común: acento coral de campaña (solo en la landing), contador de progreso */
.numon-ui.numon-encomun{--numon-primary:#FF9B7C; --numon-primary-hover:#FFB39C; --numon-on-primary:#1F1E1C; --numon-link-line:#FF9B7C}
.numon-progress{display:grid; gap:14px; padding:clamp(20px,3vw,32px); border-radius:var(--numon-r-lg); border:1px solid var(--numon-line)}
.numon-progress p{margin:0}
.numon-progress__status{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-weight:600}
.numon-progress__figures{font:500 17px/1.3 var(--numon-font-sans)}
.numon-progress__figures strong{display:block; font:560 clamp(44px,7vw,80px)/1 var(--numon-font-display); color:var(--numon-ink)}
.numon-progress__bar{position:relative; height:14px; border-radius:999px; background:var(--numon-soft-secondary); overflow:hidden; box-shadow:inset 0 0 0 1px var(--numon-line)}
.numon-progress__bar > span{display:block; height:100%; min-width:0; border-radius:inherit; background:var(--numon-primary); transition:width 900ms var(--numon-ease)}
.numon-progress__rest{display:flex; justify-content:space-between; gap:12px; font-size:15px; font-weight:600}
.numon-progress__meta{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0}
.numon-progress__meta dt{font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--numon-ink-soft)}
.numon-progress__meta dd{margin:2px 0 0; font-weight:600}
.numon-progress__note{font-size:14px; color:var(--numon-ink-soft)}
.numon-encomun .numon-steps{list-style:none; margin:0; padding:0}
@media (prefers-reduced-motion: reduce){ .numon-progress__bar > span{transition:none} }
/* 3.4.12 · Numon En Común: insignias, dock flotante, progreso compacto y ficha de campaña */
.numon-badges{display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.numon-badges li{display:inline-flex; align-items:center; min-height:26px; padding:2px 10px; border-radius:999px; font:600 13px/1.2 var(--numon-font-sans); color:var(--numon-ink); text-transform:none}
.numon-badges .numon-badge-ed{background:#FBE7DE}
.numon-badges .numon-badge-bp{background:var(--numon-soft-lemon)}
.numon-pcard .numon-badges{margin-bottom:2px}
.numon-progress__key{padding:10px 14px; border-left:3px solid var(--numon-primary); background:var(--numon-surface); border-radius:6px; font-weight:600}
.numon-progress__figures strong{display:inline; font-size:clamp(36px,5vw,60px)}
.numon-progress--compact{gap:10px; padding:16px}
.numon-progress--compact .numon-progress__figures strong{font-size:28px}
.numon-dock{position:fixed; z-index:850; left:50%; transform:translateX(-50%); bottom:calc(14px + env(safe-area-inset-bottom,0px)); width:min(520px,calc(100vw - 2 * (76px + env(safe-area-inset-left,0px)))); display:flex; align-items:center; gap:8px; padding:6px 6px 6px 14px; border-radius:999px; transition:opacity var(--numon-t-fast) var(--numon-ease),transform var(--numon-t-panel) var(--numon-ease)}
.numon-dock.is-tucked{opacity:0; pointer-events:none; transform:translate(-50%,16px)}
.numon-dock[hidden]{display:none}
.numon-dock__label{flex:1; min-width:0; display:grid; gap:4px; font:600 14px/1.2 var(--numon-font-sans); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.numon-dock__bar{display:block; height:4px; border-radius:2px; background:var(--numon-soft-secondary); overflow:hidden}
.numon-dock__bar > span{display:block; height:100%; background:var(--numon-primary)}
.numon-ui .numon-dock__cta{min-height:40px; padding:0 14px; font-size:14px; white-space:nowrap}
.numon-ui .numon-dock__close{width:36px; height:36px; flex:none; border:0; border-radius:50%; background:transparent; color:var(--numon-ink); font-size:20px; cursor:pointer}
@media (max-width:420px){ .numon-dock{width:calc(100vw - 2 * 68px); padding-left:10px} .numon-ui .numon-dock__cta{padding:0 10px} }
@media (prefers-reduced-motion: reduce){ .numon-dock{transition:none} }
.numon-ui.numon-encomun .numon-pdp__buy .stock{display:none}
.numon-pdp__reserve{margin:0; font-weight:600}
.numon-ui.numon-encomun .numon-pdp,.numon-ui.numon-encomun .numon-pdp-info{--numon-primary:#FF9B7C}
/* 3.5.0 · acento coral: tokens y alias de compatibilidad (texto siempre en tinta sobre coral) */
.numon-ui{--numon-coral:#FF9B7C; --numon-soft-coral:#FBE7DE; --numon-soft-coral-strong:#FBDED2; --numon-teja:var(--numon-coral); --numon-soft-teja:var(--numon-soft-coral); --numon-primary:var(--numon-coral); --numon-primary-hover:#FFAD94; --numon-on-primary:#1F1E1C; --numon-soft-primary:var(--numon-soft-coral); --numon-link-line:var(--numon-coral)}
@supports (color:color-mix(in srgb,red 50%,white)){ .numon-ui{--numon-primary-hover:color-mix(in srgb,var(--numon-coral) 82%,#FFFFFF)} }
.numon-badges .numon-badge-ed{background:var(--numon-soft-coral)}
.numon-ui .numon-btn{color:var(--numon-on-primary)}
/* 3.5.0 · subtítulos de capítulo (Home) y firma discreta de Gemma */
.numon-ui .numon-chapter__sub{margin:6px 0 0; max-width:60ch; font:400 clamp(16px,1.3vw,18px)/1.5 var(--numon-font-sans); color:var(--numon-ink-soft)}
.numon-ui .numon-sign-gemma{font-family:var(--numon-font-hand-gemma,'Gochi Hand',cursive); font-size:20px; color:var(--numon-ink-soft); margin-left:8px; font-weight:400}
/* 3.5.0 · visibilidad de botones del header (prevalece sobre .numon-icon-btn) */
@media (max-width:1023px){ .numon-header .numon-header__costurero{display:none} }
@media (min-width:1024px){ .numon-header .numon-header__menu{display:none} }
/* 3.5.2 · anchura wide, header siempre visible, teletipo ampliable y drawer FunnelKit */
.numon-ui{--numon-content-max:1920px; --numon-gutter:clamp(20px,3vw,64px); --numon-maxw:var(--numon-content-max); --numon-pad-x:var(--numon-gutter)}
.numon-ui .numon-wide{width:min(calc(100% - (2 * var(--numon-gutter))),var(--numon-content-max)); margin-inline:auto}
.numon-ui .numon-pdp,.numon-ui .numon-pdp-info > .numon-container{max-width:var(--numon-content-max)}
.numon-ui :is(.numon-prose,.numon-archive__desc){max-width:68ch}
/* header siempre visible: teletipo fijo arriba y pastilla debajo; sin auto-hide ni cambios de altura */
.numon-shell{--numon-ticker-h:34px; --numon-safe-top:env(safe-area-inset-top,0px); --numon-admin:0px}
.admin-bar .numon-shell{--numon-admin:32px}
@media (max-width:782px){ .admin-bar .numon-shell{--numon-admin:46px} }
.numon-shell .numon-ticker{position:fixed; top:calc(var(--numon-admin) + var(--numon-safe-top)); left:0; right:0; z-index:951; height:var(--numon-ticker-h); background:rgba(250,248,244,.88); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px)}
.numon-shell .numon-header--fixed,.admin-bar .numon-shell .numon-header--fixed,.numon-shell .numon-header--fixed.is-compact{top:calc(var(--numon-admin) + var(--numon-safe-top) + var(--numon-ticker-h) + 8px)!important; left:clamp(16px,2vw,40px); right:clamp(16px,2vw,40px); max-width:none; margin:0; overflow:visible; transform:none!important; transition:box-shadow var(--numon-t-fast) var(--numon-ease)}
.numon-shell .numon-header.is-hidden{transform:none!important}
.numon-shell .numon-header.is-scrolled{box-shadow:var(--numon-shadow)}
.numon-shell .numon-header-spacer{height:calc(var(--numon-ticker-h) + 8px + 58px + 14px)}
html:has(.numon-shell){scroll-padding-top:120px}
html:has(body.admin-bar .numon-shell){scroll-padding-top:152px}
.numon-shell .numon-header__bar{display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:8px}
.numon-shell .numon-header__home{justify-self:start}
.numon-shell .numon-header__nav{margin:0; justify-self:center}
.numon-shell .numon-header__actions{justify-self:end; margin:0}
@media (max-width:1023px){ .numon-shell .numon-header__bar{grid-template-columns:minmax(0,1fr) auto} }
/* microdescripciones de Descubrir / Comprar / Compartir */
.numon-shell .numon-header__link[data-desc]{position:relative}
.numon-shell .numon-header__link[data-desc]::after{content:attr(data-desc); position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%); width:max-content; max-width:260px; padding:8px 12px; border-radius:12px; border:1px solid var(--numon-line); background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:var(--numon-shadow-sm); font:500 13px/1.35 var(--numon-font-sans); color:var(--numon-ink-soft); white-space:normal; text-align:center; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 150ms var(--numon-ease),visibility 150ms; z-index:5}
.numon-shell .numon-header__link[data-desc]:is(:hover,:focus-visible)::after{opacity:1; visibility:visible}
@media (max-width:1023px){ .numon-shell .numon-header__link[data-desc]::after{display:none} }
/* teletipo: el JS clona el grupo editable y mide el desplazamiento */
.numon-shell .numon-ticker__track{animation:none}
.numon-shell .numon-ticker.is-running .numon-ticker__track{animation:numon-ticker-wide var(--numon-ticker-duration,40s) linear infinite}
@keyframes numon-ticker-wide{from{transform:translateX(0)} to{transform:translateX(var(--numon-ticker-shift,-50%))}}
.numon-shell .numon-ticker:is(:hover,:focus-within) .numon-ticker__track{animation-play-state:paused}
.numon-shell .numon-ticker__group > li{flex:none; margin:0; list-style:none}
@media (prefers-reduced-motion: reduce){ .numon-shell .numon-ticker{overflow-x:auto} .numon-shell .numon-ticker .numon-ticker__track{animation:none!important} }
/* cesta: el botón del header abre el drawer de FunnelKit */
.numon-shell [data-numon-fkcart]{position:relative; cursor:pointer}
/* drawer de FunnelKit con estilo Numon (selectores acotados a #fkcart-modal) */
#fkcart-modal .fkcart-modal-container{width:min(460px,100vw)!important; max-width:100vw; background:#FAF8F4; font-family:'Instrument Sans',system-ui,sans-serif; color:#1F1E1C}
@media (max-width:599px){ #fkcart-modal .fkcart-modal-container{width:100vw!important} }
#fkcart-modal .fkcart-title{font:560 22px/1.2 'Fraunces',Georgia,serif; color:#1F1E1C}
#fkcart-modal .fkcart-image-wrapper{display:block; width:72px; aspect-ratio:4/5; overflow:hidden; border-radius:6px; background:#DEE3E8}
#fkcart-modal .fkcart-image-wrapper img{width:100%!important; height:100%!important; object-fit:cover; border-radius:0}
#fkcart-modal .fkcart-item-title{font-weight:600; color:#1F1E1C; text-decoration:none}
#fkcart-modal .fkcart-item-wrap{padding-block:12px; border-bottom:1px solid rgba(31,30,28,.10)}
#fkcart-modal .fkcart-quantity-selector{border-radius:999px; border:1px solid rgba(31,30,28,.22); overflow:hidden}
#fkcart-modal .fkcart-slider-footer{background:#FAF8F4}
#fkcart-modal .fkcart_summary_cta :is(a,button),#fkcart-modal .fkcart-checkout-wrap :is(a,button){background:#FF9B7C!important; border-color:#FF9B7C!important; color:#1F1E1C!important; border-radius:999px!important; font-weight:650}
#fkcart-modal .fkcart_summary_cta :is(a,button):hover{background:#FFAD94!important; border-color:#1F1E1C!important}
#fkcart-modal :focus-visible{outline:2px solid #1F1E1C; outline-offset:2px; box-shadow:none}
#fkcart-modal .numon-fk-costurero{display:grid; gap:6px; margin:0 0 12px; padding:12px 14px; border-radius:12px; background:#E5F0E8; font:14px/1.4 'Instrument Sans',system-ui,sans-serif; color:#1F1E1C}
#fkcart-modal .numon-fk-costurero p{margin:0}
#fkcart-modal .numon-fk-costurero__link{color:#1F1E1C; text-decoration:underline; text-decoration-color:#FF9B7C; text-underline-offset:3px}
/* 3.5.3 · Home editorial (composiciones distintas por capítulo) y ritmo de la ficha */
.numon-home section[aria-label="Valores"]{padding-block:clamp(16px,2vw,28px)}
.numon-home section[aria-label="Valores"] .numon-grid--4{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px clamp(16px,3vw,48px)}
.numon-home section[aria-label="Valores"] .numon-card{flex:1 1 200px; padding:0 0 0 14px; border:0; border-left:2px solid var(--numon-primary); border-radius:0; background:none; box-shadow:none; gap:2px}
/* Escaparate: un protagonista y hasta tres secundarios */
.numon-ui.numon-home #escaparate .bde-post-loop > .bde-loop{display:grid; grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-columns:auto; overflow:visible; scroll-snap-type:none; gap:16px}
@media (min-width:1024px){ .numon-ui.numon-home #escaparate .bde-post-loop > .bde-loop{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)); gap:20px} .numon-ui.numon-home #escaparate .bde-loop-item:first-child{grid-row:span 2} .numon-ui.numon-home #escaparate .bde-loop-item:last-child:not(:first-child){grid-column:span 2} .numon-ui.numon-home #escaparate .bde-loop-item:last-child:not(:first-child) .numon-pcard__media{aspect-ratio:2/1} }
.numon-ui.numon-home #escaparate .bde-loop-item:first-child .numon-pcard__title :is(a,h3){font-size:clamp(18px,1.4vw,22px)}
/* Recién cosidos: el único rail */
.numon-ui.numon-home #recien-cosidos .bde-post-loop > .bde-loop{display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:calc((100% - 16px) / 1.3); gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding-bottom:10px}
.numon-ui.numon-home #recien-cosidos .bde-loop-item{scroll-snap-align:start}
@media (min-width:600px){ .numon-ui.numon-home #recien-cosidos .bde-post-loop > .bde-loop{grid-auto-columns:calc((100% - 2 * 16px) / 2.3)} }
@media (min-width:1024px){ .numon-ui.numon-home #recien-cosidos .bde-post-loop > .bde-loop{grid-auto-columns:calc((100% - 3 * 16px) / 3.4)} }
@media (min-width:1600px){ .numon-ui.numon-home #recien-cosidos .bde-post-loop > .bde-loop{grid-auto-columns:calc((100% - 4 * 16px) / 4.4)} }
/* ¿Por dónde quieres empezar?: mosaico */
.numon-home #empezar .numon-grid--4{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
@media (min-width:1024px){ .numon-home #empezar .numon-grid--4{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); gap:16px} .numon-home #empezar .numon-grid--4 > li:first-child{grid-row:span 2} .numon-home #empezar .numon-grid--4 > li:not(:first-child) .numon-media{aspect-ratio:3/2} .numon-home #empezar .numon-grid--4 > li:last-child:not(:first-child){grid-column:span 2} .numon-home #empezar .numon-grid--4 > li:last-child:not(:first-child) .numon-media{aspect-ratio:3/1} }
.numon-home #empezar .numon-grid--4 > li > a{height:100%}
/* Numon Live: split con imagen real */
.numon-home #numon-live .numon-media{max-width:440px; margin-top:20px}
/* Taller: dos caminos en paralelo */
.numon-home #taller > .numon-container{display:grid; gap:32px}
@media (min-width:1024px){ .numon-home #taller > .numon-container{grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(32px,4vw,64px)} .numon-home #taller > .numon-container > :first-child{grid-column:1 / -1} }
.numon-ui.numon-home #taller .bde-post-loop > .bde-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Ficha: composición y ritmo */
.numon-ui .numon-pdp{max-width:1680px}
@media (min-width:1024px){ .numon-ui .numon-pdp{column-gap:clamp(48px,4.5vw,80px)} }
.numon-ui .numon-pdp__buy{gap:24px}
.numon-ui .numon-pdp__buy .numon-pdp__group{gap:12px}
.numon-ui .numon-pdp__purchase{padding-block:8px}
.numon-ui .numon-pdp__help{display:grid; gap:0; padding:0; border-top:1px solid var(--numon-line)}
.numon-ui .numon-pdp__help > li{border-bottom:1px solid var(--numon-line)}
.numon-ui .numon-pdp__help a{display:flex; align-items:center; justify-content:space-between; min-height:48px; text-decoration:none; font-size:15px; color:var(--numon-ink)}
.numon-ui .numon-pdp__help a::after{content:"\2192"; color:var(--numon-ink-soft)}
.numon-ui .numon-pdp__help a:hover{color:var(--numon-ink); text-decoration:underline; text-decoration-color:var(--numon-primary)}
.numon-ui .numon-pdp__buy .product_meta{padding-top:4px}
.numon-ui.numon-home #escaparate .numon-pcard__cta{margin-top:0}
.numon-ui.numon-home #escaparate .bde-loop-item:first-child .numon-pcard{height:auto}
.numon-home #empezar .numon-grid--4{list-style:none; padding:0; margin:0}
.numon-home #empezar .numon-grid--4 > li::marker{content:none}
