/* Los tintes -ink son las versiones AA (>=4.5:1 con blanco/fondo claro) de
   maiz/terra para TEXTO y fondos con texto blanco; los vivos quedan para
   bordes y fondos sin texto encima (auditoria impeccable 1.0.46). */
:root { --anx-jade: #1C5C52; --anx-maiz: #C4901A; --anx-terra: #C8583A; --anx-crema: #F5F0E8; --anx-ink: #1A1511; --anx-maiz-ink: #91670F; --anx-terra-ink: #B54A2C; --anx-muted: #7A6B58; }
.anx { font-family: system-ui, sans-serif; color: var(--anx-ink); background: var(--anx-crema); padding: clamp(1rem, 4vw, 3rem); }
.anx-hero { text-align: center; padding: clamp(2rem, 6vw, 4rem) 0; }
.anx-eyebrow { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--anx-jade); border: 1px solid color-mix(in srgb, var(--anx-jade) 30%, transparent); border-radius: 100px; padding: .3rem .85rem; }
.anx-hero-title { font-size: clamp(1.9rem, 4.5vw, 3rem); margin: .6rem 0 .4rem; line-height: 1.15; }
.anx-hero-lead { max-width: 100%; margin: 0 auto 1.4rem; color: #5C4A3A; line-height: 1.65; }
.anx-section { margin: clamp(2rem, 5vw, 3.5rem) 0; }
.anx-section-title { font-size: clamp(1.4rem, 2.6vw, 2rem); margin: 0 0 1rem; }
.anx-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .875rem 1.75rem; border-radius: 100px; font-weight: 700; text-decoration: none; transition: transform .2s ease; }
.anx-btn:hover { transform: translateY(-2px); }
.anx-btn--primary { background: var(--anx-jade); color: #fff; }
.anx-btn--whatsapp { background: #075E54; color: #fff; }
.anx-pillars, .anx-plans, .anx-grid { display: grid; gap: 1.25rem; }
.anx-pillars { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.anx-plans { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.anx-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.anx-pillar, .anx-plan { background: #fff; border-radius: 16px; padding: 1.5rem; box-shadow: 0 4px 18px rgba(26,21,17,.06); }
.anx-pillar { border-top: 5px solid var(--anx-jade); }
.anx-pillar--turismo { border-top-color: var(--anx-maiz); }
.anx-pillar--tours { border-top-color: var(--anx-terra); }
.anx-pillar h3, .anx-plan h3 { margin: 0 0 .5rem; }
.anx-pillar p, .anx-plan p { color: #5C4A3A; line-height: 1.6; margin: 0; }
.anx-plan-price { font-size: 2rem; font-weight: 800; margin: .4rem 0; }
.anx-plan--free { border-top: 5px solid var(--anx-jade); }
.anx-plan--dest { border-top: 5px solid var(--anx-maiz); }
.anx-plan--prem { border-top: 5px solid var(--anx-terra); }
.anx-policy-note { margin-top: 1rem; font-size: .85rem; color: #5C4A3A; }
.anx-cats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.25rem; }
.anx-chip { position: relative; border: 1px solid rgba(28,92,82,.3); color: var(--anx-jade); border-radius: 100px; padding: .35rem .9rem; text-decoration: none; font-size: .88rem; font-weight: 600; }
/* Area tactil ~44px sin cambiar el tamano visual (chip mide ~30px de alto). */
.anx-chip::after { content: ""; position: absolute; inset: -7px; }
.anx-chip:hover { background: var(--anx-jade); color: #fff; }
.anx-empty { color: #5C4A3A; }
.anx-ad { display: flex; flex-direction: column; justify-content: center; min-height: 130px; background: #fff; border: 1px solid rgba(28,92,82,.12); border-radius: 14px; padding: 1.2rem; text-decoration: none; color: var(--anx-ink); box-shadow: 0 2px 10px rgba(26,21,17,.05); transition: transform .2s ease, box-shadow .2s ease; }
.anx-ad:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(26,21,17,.1); }
.anx-ad-title { font-weight: 800; font-size: 1.05rem; }
.anx-ad--clasico { border-top: 5px solid var(--anx-jade); }
.anx-ad--vitrina { border-top: 5px solid var(--anx-maiz); }
.anx-ad--evento { border-top: 5px solid var(--anx-terra); }
.anx-ad--oferta { border-top: 5px solid #6B4E71; }
.anx-back { display: inline-block; margin-bottom: 1rem; color: var(--anx-jade); font-weight: 700; text-decoration: none; }
.anx-ad-detail { background: #fff; border-radius: 16px; padding: clamp(1.25rem, 3vw, 2.25rem); border-top: 5px solid var(--anx-jade); box-shadow: 0 4px 18px rgba(26,21,17,.07); }
.anx-ad-heading { margin: 0 0 .8rem; font-size: clamp(1.4rem, 3vw, 2rem); }
.anx-ad-lines { line-height: 1.7; white-space: pre-line; }
.anx-ad-cta { margin: 1.25rem 0 .75rem; display: flex; gap: .75rem; flex-wrap: wrap; }
.anx-ad-fresh { font-size: .82rem; color: var(--anx-muted); }
.anx-submit { display: grid; gap: .75rem; max-width: 720px; background: #fff; border-radius: 16px; padding: clamp(1rem, 3vw, 2rem); }
.anx-submit label { font-weight: 700; }
.anx-submit input[type="text"], .anx-submit select, .anx-submit textarea { width: 100%; min-height: 44px; padding: .7rem; border: 1px solid #8a9c95; border-radius: 8px; background: #fff; color: var(--anx-ink); }
.anx-submit textarea { resize: vertical; }
.anx-submit .anx-terms { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; }
.anx-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Wizard de alta (4 pasos) */
.anx-steps { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0 0 1.25rem; padding: 0; }
.anx-steps li { font-size: .78rem; font-weight: 700; color: var(--anx-muted); border: 1px solid rgba(28,92,82,.25); border-radius: 100px; padding: .3rem .8rem; }
.anx-steps li.is-active { background: var(--anx-jade); border-color: var(--anx-jade); color: #fff; }
.anx-steps li.is-done { color: var(--anx-jade); border-color: var(--anx-jade); }
.anx-step { border: 0; padding: 0; margin: 0; }
.anx-step legend { font-weight: 800; font-size: 1.1rem; margin-bottom: .75rem; }
.anx-step[hidden] { display: none; }
.anx-photo-hint { font-size: .82rem; color: #5C4A3A; margin: 0; }
.anx-summary { display: grid; gap: .25rem; background: var(--anx-crema); border-radius: 10px; padding: .85rem 1rem; margin: 0 0 .75rem; }
.anx-summary span { color: #5C4A3A; font-size: .9rem; }
.anx-submit .anx-btn { justify-self: start; }

/* Imagen y video del anuncio */
.anx-ad-figure { margin: 0 0 1rem; }
.anx-ad-image { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: 12px; display: block; }
.anx-ad-thumb { width: 100%; height: 150px; object-fit: cover; border-radius: 10px 10px 0 0; margin: -1.2rem -1.2rem .75rem; width: calc(100% + 2.4rem); max-width: none; display: block; }
.anx-ad-lines-preview { color: #5C4A3A; font-size: .88rem; line-height: 1.5; }
.anx-ad-video { position: relative; padding-bottom: 56.25%; height: 0; margin: 0 0 1rem; border-radius: 12px; overflow: hidden; }
.anx-ad-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.anx-ad-cta--pending { color: var(--anx-muted); font-size: .9rem; }

/* Mis anuncios */
.anx-mis-list { display: grid; gap: 1rem; }
.anx-mis-card { background: #fff; border-radius: 14px; padding: 1.1rem 1.25rem; border-top: 5px solid var(--anx-jade); box-shadow: 0 2px 10px rgba(26,21,17,.05); display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; align-items: center; }
.anx-mis-main h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.anx-mis-meta { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: 0; font-size: .85rem; color: #5C4A3A; }
.anx-mis-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.anx-mis-form { display: flex; gap: .4rem; align-items: center; }
.anx-coupon-form input[type="text"] { min-height: 44px; padding: .55rem .7rem; border: 1px solid #8a9c95; border-radius: 8px; width: 11rem; text-transform: uppercase; }
.anx-btn--ghost { background: transparent; border: 2px solid var(--anx-jade); color: var(--anx-jade); }
.anx-btn--ghost:hover { background: var(--anx-jade); color: #fff; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ===== Estilo periodico clasificado ===== */
/* Caja clasificada (estilo Clasico en grids y relacionadas) */
.anx-ad--clasico { background: #fffdf8; border: 1px solid rgba(26,21,17,.55); border-top: 1px solid rgba(26,21,17,.55); border-radius: 0; box-shadow: 2px 2px 0 rgba(26,21,17,.08); }
.anx-ad--clasico .anx-ad-title { font-family: Georgia, 'Times New Roman', serif; text-transform: uppercase; font-size: .95rem; letter-spacing: .03em; }

/* Pagina de diario (vista Especiales) */
.anx-masthead { text-align: center; border-top: 3px double var(--anx-ink); border-bottom: 3px double var(--anx-ink); padding: .8rem 0; margin: 0 0 1.25rem; }
.anx-masthead-title { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.9rem, 6vw, 3.4rem); letter-spacing: .04em; text-transform: uppercase; font-weight: 900; margin: 0; line-height: 1.1; }
.anx-masthead-date, .anx-masthead-section { font-family: Georgia, serif; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: #5C4A3A; margin: .25rem 0 0; }
.anx-box { display: block; break-inside: avoid; background: #fffdf8; border: 1px solid rgba(26,21,17,.55); padding: .7rem .75rem; margin: 0 0 1rem; text-decoration: none; color: var(--anx-ink); box-shadow: 2px 2px 0 rgba(26,21,17,.08); }
.anx-box:hover { box-shadow: 3px 3px 0 rgba(26,21,17,.16); }
.anx-box-title { font-family: Georgia, 'Times New Roman', serif; font-size: .92rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 .4rem; line-height: 1.25; }
.anx-box-lines { display: grid; gap: .15rem; }
.anx-box-line { display: flex; align-items: baseline; gap: .3rem; font-family: Georgia, serif; font-size: .8rem; line-height: 1.5; }
.anx-box-line::after { content: ""; flex: 1; min-width: 1rem; border-bottom: 1px dotted rgba(26,21,17,.4); transform: translateY(-.2em); }
.anx-box-thumb { width: 100%; height: 110px; object-fit: cover; margin: 0 0 .5rem; display: block; filter: grayscale(30%) contrast(1.05); }
.anx-box--vitrina { border-width: 2px; }
.anx-box--evento { border-color: var(--anx-terra); }
.anx-box--oferta { background: #fff3e6; border-color: var(--anx-maiz); }

/* Lineas con guia de puntos en el detalle Clasico */
.anx-ad-lines--paper { font-family: Georgia, serif; display: grid; gap: .3rem; max-width: 46rem; }
.anx-ad-lines--paper .anx-box-line { font-size: .9rem; }
@media (max-width: 640px) { .anx { padding: 1rem; } .anx-mis-card { flex-direction: column; align-items: flex-start; } }

/* Duracion de planes */
.anx-plan-duration { font-weight: 800; color: var(--anx-jade); font-size: .95rem; margin: .2rem 0 .4rem; }
.anx-mis-plan { font-weight: 700; color: var(--anx-jade); }
.anx-mis-renew-note { font-size: .82rem; color: #5C4A3A; max-width: 16rem; }

.anx-plan .anx-btn { margin-top: .5rem; }
.anx-paypal-lead { font-weight: 700; font-size: 1.05rem; color: var(--anx-ink); margin: 0 0 1rem; }
.anx-btn--paypal { background: #0070BA; color: #fff; }
.anx-btn--paypal:hover { background: #003087; color: #fff; }

/* Cupon de descuento en checkout (aplica al monto de la orden PayPal) */
.anx-coupon-checkout { margin: 0 0 1.25rem; }
.anx-coupon-checkout label { display: block; font-weight: 700; margin-bottom: .35rem; }
.anx-coupon-checkout input { min-height: 44px; padding: .55rem .7rem; border: 1px solid #8a9c95; border-radius: 8px; width: min(16rem, 100%); text-transform: uppercase; }
.anx-coupon-checkout .anx-photo-hint { margin-top: .35rem; }

/* Tarjetas de plan del showcase: precio y plan MUY visibles (nudges honestos) */
.anx-demo-caption { display: flex; flex-direction: column; gap: .15rem; background: #fff; border: 1px solid rgba(26,21,17,.25); border-top: 4px solid var(--anx-jade); border-radius: 8px; padding: .5rem .65rem; margin-top: .4rem; box-shadow: 2px 2px 0 rgba(26,21,17,.08); text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #5C4A3A; }
.anx-demo--vitrina .anx-demo-caption, .anx-demo--evento .anx-demo-caption, .anx-demo--oferta .anx-demo-caption { border-top-color: var(--anx-maiz); }
.anx-demo--inverso .anx-demo-caption, .anx-demo--modulo_chico .anx-demo-caption, .anx-demo--modulo_medio .anx-demo-caption, .anx-demo--modulo_grande .anx-demo-caption { border-top-color: var(--anx-ink); }
.anx-demo-plan { font-weight: 900; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; color: var(--anx-ink); }
.anx-demo-price { font-size: 1.3rem; font-weight: 900; line-height: 1.1; color: var(--anx-jade); }
.anx-demo-price small { font-size: .72rem; font-weight: 700; color: #5C4A3A; }
.anx-demo-permonth { font-size: .74rem; font-weight: 700; color: var(--anx-maiz-ink); }
.anx-demo-meta { font-size: .72rem; color: #5C4A3A; }
.anx-demo-badge { align-self: flex-start; background: var(--anx-terra-ink); color: #fff; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; border-radius: 100px; padding: .18rem .6rem; }
.anx-demo--modulo_grande .anx-demo-badge { background: var(--anx-ink); }
.anx-demo--modulo_chico .anx-demo-badge { background: var(--anx-jade); }
/* Paneles de avisos (politica / renovacion / pagos) */
.anx-notices { display: grid; gap: .9rem; margin: 1.5rem 0; }
.anx-notice { display: flex; gap: 1rem; align-items: flex-start; background: #fff; border-radius: 14px; padding: 1.15rem 1.3rem; border-left: 6px solid var(--anx-jade); box-shadow: 0 3px 14px rgba(26,21,17,.07); }
.anx-notice-icon { font-size: 1.45rem; line-height: 1.1; margin-top: .1rem; }
.anx-notice-title { margin: 0 0 .3rem; font-size: 1.08rem; font-weight: 800; color: var(--anx-ink); }
.anx-notice p { margin: 0; font-size: 1rem; line-height: 1.65; color: #3E3428; }
.anx-notice--danger { border-left-color: var(--anx-terra); background: linear-gradient(0deg, rgba(200,88,58,.06), #fff); }
.anx-notice--danger .anx-notice-icon { color: var(--anx-terra); }
.anx-notice--info { border-left-color: var(--anx-jade); background: #F2F7F5; }
.anx-notice--info .anx-notice-icon { color: var(--anx-jade); }
.anx-notice--pay { border-left-color: var(--anx-maiz); background: #FBF5E9; }
.anx-notice--pay .anx-notice-icon { color: var(--anx-maiz); }
@media (max-width: 640px) { .anx-notice { padding: .95rem 1rem; } }

/* Titular de periodico en cada caja */
.anx-box-title { text-align: center; border-bottom: 2px solid rgba(26,21,17,.65); padding-bottom: .35rem; }
.anx-box--destacado .anx-box-title, .anx-box--oferta .anx-box-title, .anx-box--evento .anx-box-title { background: var(--anx-ink); color: #fff; margin: -.7rem -.75rem .55rem; padding: .4rem .5rem; border-bottom: 0; border-radius: 8px 8px 0 0; }
.anx-box--evento .anx-box-title { background: var(--anx-terra-ink); }
.anx-box--oferta .anx-box-title { background: var(--anx-maiz-ink); }

/* Secciones de periodico: barra negra por categoria */
.anx-section-group { margin: 0 0 2rem; }
.anx-section-bar { background: var(--anx-ink); color: #fff; font-family: Georgia, 'Times New Roman', serif; text-transform: uppercase; text-align: center; letter-spacing: .1em; font-weight: 800; font-size: clamp(1.05rem, 2.2vw, 1.35rem); padding: .5rem 1rem; border-radius: 4px; margin: 0 0 1.1rem; box-shadow: 3px 3px 0 rgba(26,21,17,.12); }

/* Showcase de opciones de anuncio (marketing, vista Especiales) */
.anx-demo-lead { font-family: Georgia, serif; text-align: center; color: #5C4A3A; margin: 0 0 1rem; font-size: .95rem; }
.anx-demo { margin: 0; }
.anx-demo .anx-box { margin-bottom: .4rem; }
.anx-notice .anx-btn { margin-top: .85rem; }

/* Estilo Inverso: caja negra, texto crema (el destacado del periodico b/n) */
.anx-box--inverso, .anx-ad--inverso { background: var(--anx-ink); border-color: var(--anx-ink); }
.anx-box--inverso:hover, .anx-ad--inverso:hover { box-shadow: 4px 4px 0 rgba(28,92,82,.45); }
.anx-box--inverso .anx-box-title, .anx-ad--inverso .anx-ad-title { color: var(--anx-crema); background: transparent; border-bottom-color: rgba(245,240,232,.55); }
.anx-box--inverso .anx-box-line, .anx-ad--inverso .anx-ad-lines, .anx-ad--inverso .anx-ad-lines--paper .anx-box-line { color: var(--anx-crema); }
.anx-box--inverso .anx-box-line::after { border-bottom-color: rgba(245,240,232,.45); }
.anx-box--inverso .anx-box-thumb, .anx-ad--inverso .anx-ad-thumb { filter: grayscale(20%) contrast(1.1); opacity: .92; }
.anx-ad--inverso { border-top: 5px solid var(--anx-ink); }
.anx-ad--inverso .anx-ad-lines, .anx-ad--inverso .anx-ad-heading { color: var(--anx-crema); }
.anx-ad--inverso .anx-ad-fresh { color: rgba(245,240,232,.7); }

/* Estilo Modulo: display a todo lo ancho (patron El Faro) — corta las columnas */
.anx-box--modulo_chico, .anx-box--modulo_medio, .anx-box--modulo_grande { padding: 0; border-width: 2px; }
.anx-box--modulo_chico .anx-box-thumb { height: 200px; }
.anx-box--modulo_medio .anx-box-thumb { height: 280px; }
.anx-box--modulo_grande .anx-box-thumb { height: 340px; }
.anx-box--modulo_chico .anx-box-thumb, .anx-box--modulo_medio .anx-box-thumb, .anx-box--modulo_grande .anx-box-thumb { margin: 0; width: 100%; filter: none; }
.anx-box--modulo_chico .anx-box-title { font-size: 1.1rem; }
.anx-box--modulo_medio .anx-box-title { font-size: 1.28rem; }
.anx-box--modulo_grande .anx-box-title { font-size: 1.4rem; }
.anx-box--modulo_chico .anx-box-title, .anx-box--modulo_medio .anx-box-title, .anx-box--modulo_grande .anx-box-title { background: var(--anx-ink); color: #fff; margin: 0; padding: .5rem .75rem; border-bottom: 0; border-radius: 0; text-align: left; letter-spacing: .06em; }
.anx-box--modulo_chico .anx-box-lines, .anx-box--modulo_medio .anx-box-lines, .anx-box--modulo_grande .anx-box-lines { padding: .55rem .75rem .7rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .3rem 1.4rem; }
.anx-grid .anx-ad--modulo_chico, .anx-grid .anx-ad--modulo_medio, .anx-grid .anx-ad--modulo_grande { grid-column: 1 / -1; }
.anx-demo--modulo_chico .anx-demo-caption, .anx-demo--modulo_medio .anx-demo-caption, .anx-demo--modulo_grande .anx-demo-caption { text-align: left; padding-left: .25rem; }
.anx-box--modulo_chico .anx-box-line { font-size: .9rem; }

/* ===== 1.0.30: medidas estandarizadas (unidad base = clasico) =====
   Retricula de 15 columnas: clasico=3 (100%, 5 por fila), destacados e
   Inverso=4 (133%), Modulo=15 (todo el ancho). dense empaqueta como periodico.
   Celular vertical (<900px): reticula vertical por franjas de pantalla (ver 1.0.44). */
.anx-paper { display: grid; grid-template-columns: repeat(30, 1fr); gap: .9rem 1rem; grid-auto-flow: dense; align-items: stretch; }
.anx-paper .anx-box { margin: 0; height: 100%; box-sizing: border-box; }
.anx-paper .anx-box--clasico { grid-column: span 6; }
.anx-paper .anx-box--vitrina, .anx-paper .anx-box--evento, .anx-paper .anx-box--oferta, .anx-paper .anx-box--inverso { grid-column: span 8; }
.anx-paper .anx-box--modulo_chico { grid-column: span 18; }
.anx-paper .anx-box--modulo_medio { grid-column: span 15; }
.anx-paper .anx-box--modulo_grande { grid-column: 1 / -1; }

/* Showcase con las mismas proporciones reales */
.anx-demo-grid { display: grid; grid-template-columns: repeat(30, 1fr); gap: 1rem; grid-auto-flow: dense; align-items: stretch; margin: 0 0 1.5rem; }
.anx-demo--clasico { grid-column: span 6; }
.anx-demo--vitrina, .anx-demo--evento, .anx-demo--oferta, .anx-demo--inverso { grid-column: span 8; }
.anx-demo--modulo_chico { grid-column: span 18; }
.anx-demo--modulo_medio { grid-column: span 15; }
.anx-demo--modulo_grande { grid-column: 1 / -1; }

/* Contador de palabras del wizard */
.anx-word-count { font-weight: 700; color: var(--anx-jade); }
.anx-word-count.anx-word-over { color: var(--anx-terra-ink); }

/* Tipografia escalada por plan: el premium se ve mejor (vendemos marketing).
   Va ANTES de la seccion movil: abajo de 900px las reglas display la ganan. */
.anx-paper .anx-box--clasico .anx-box-title, .anx-demo--clasico .anx-box-title { font-size: .85rem; font-weight: 700; }
.anx-paper .anx-box--vitrina .anx-box-title, .anx-paper .anx-box--evento .anx-box-title, .anx-paper .anx-box--oferta .anx-box-title,
.anx-demo--vitrina .anx-box-title, .anx-demo--evento .anx-box-title, .anx-demo--oferta .anx-box-title { font-size: 1rem; font-weight: 800; }
.anx-paper .anx-box--inverso .anx-box-title, .anx-demo--inverso .anx-box-title { font-size: 1.06rem; font-weight: 800; }
.anx-paper .anx-box--clasico .anx-box-line, .anx-demo--clasico .anx-box-line { font-size: .76rem; }
.anx-paper .anx-box--vitrina .anx-box-line, .anx-paper .anx-box--evento .anx-box-line, .anx-paper .anx-box--oferta .anx-box-line,
.anx-demo--vitrina .anx-box-line, .anx-demo--evento .anx-box-line, .anx-demo--oferta .anx-box-line { font-size: .85rem; }
.anx-paper .anx-box--inverso .anx-box-line, .anx-demo--inverso .anx-box-line { font-size: .88rem; font-weight: 600; }
.anx-box--modulo_chico .anx-box-title { font-weight: 900; }
.anx-box--modulo_medio .anx-box-title { font-weight: 900; }
.anx-box--modulo_grande .anx-box-title { font-weight: 900; font-size: 1.5rem; }
.anx-box--modulo_medio .anx-box-line, .anx-box--modulo_grande .anx-box-line { font-size: .92rem; }
.anx-box--modulo_grande .anx-box-line { font-weight: 600; }

/* ===== 1.0.44: RETICULA VERTICAL PARA CELULAR (<900px) =====
   Dos disenos incluidos en el mismo CSS: arriba, la reticula de 30 columnas
   (computadora/pantalla horizontal); aqui, franjas de pantalla por plan —
   el tamano ES el producto, igual que la columna pulgada en el impreso.
   Clasico 1/6 (texto puro, humilde); Vitrina/Evento/Oferta/ModuloChico 1/2;
   Inverso/ModuloMedio 3/4; ModuloGrande pantalla completa.
   Son min-heights: el contenido puede crecer, nunca se recorta. */
@media (max-width: 899px) {
    .anx-paper, .anx-demo-grid { grid-template-columns: 1fr; }
    .anx-paper .anx-box, .anx-demo-grid .anx-demo { grid-column: auto; }

    /* Anti-desborde: un solo elemento angosto no ensancha la pista del grid
       y ninguna caja demo se sale del viewport (sin scroll horizontal). */
    .anx-demo-grid .anx-demo, .anx-paper .anx-box { min-width: 0; }
    .anx-demo-grid .anx-box { box-sizing: border-box; width: 100%; }
    .anx { overflow-x: clip; }
    .anx-box-line { overflow-wrap: break-word; }

    /* Franjas de pantalla (vh con fallback, luego dvh si existe) */
    .anx-paper .anx-box--clasico, .anx-demo-grid .anx-box--clasico { min-height: 16.6vh; min-height: 16.6dvh; }
    .anx-box--vitrina, .anx-box--evento, .anx-box--oferta, .anx-box--modulo_chico { min-height: 50vh; min-height: 50dvh; }
    .anx-box--inverso, .anx-box--modulo_medio { min-height: 75vh; min-height: 75dvh; }
    .anx-box--modulo_grande { min-height: 100vh; min-height: 100dvh; }

    /* Display: caja en columna y centrada (los modulos, desde arriba) */
    .anx-paper .anx-box, .anx-demo-grid .anx-box { display: flex; flex-direction: column; justify-content: center; }
    .anx-box--modulo_chico, .anx-box--modulo_medio, .anx-box--modulo_grande { justify-content: flex-start; }

    /* Tipografia display: el texto grande es parte del producto. Los titulos
       de platea (evento/oferta) bajan a transparente y SIN el margen negativo
       del plato desktop (para no encimarse sobre la foto). Mismo patron de
       selectores que la tipografia desktop (paper 0,3,0 / demo 0,2,0): al ir
       DESPUES, estas reglas ganan el empate abajo de 900px. */
    .anx-paper .anx-box--vitrina .anx-box-title, .anx-paper .anx-box--evento .anx-box-title, .anx-paper .anx-box--oferta .anx-box-title,
    .anx-demo--vitrina .anx-box-title, .anx-demo--evento .anx-box-title, .anx-demo--oferta .anx-box-title {
        font-size: clamp(1.5rem, 7.5vw, 2.2rem);
        line-height: 1.06;
        text-transform: uppercase;
        letter-spacing: .01em;
        background: transparent;
        padding: 0;
        border-radius: 0;
        margin: 0 0 .5rem;
    }
    .anx-paper .anx-box--inverso .anx-box-title, .anx-demo--inverso .anx-box-title {
        font-size: clamp(1.7rem, 9vw, 2.6rem);
        line-height: 1.06;
        text-transform: uppercase;
    }
    .anx-box--modulo_chico .anx-box-title { font-size: clamp(1.5rem, 7.5vw, 2.1rem); }
    .anx-box--modulo_medio .anx-box-title { font-size: clamp(1.8rem, 9.5vw, 2.7rem); }
    .anx-box--modulo_grande .anx-box-title { font-size: clamp(2.2rem, 12vw, 3.6rem); text-shadow: 3px 3px 0 var(--anx-maiz); }

    /* El cuerpo tambien crece con la franja */
    .anx-paper .anx-box--vitrina .anx-box-line, .anx-paper .anx-box--evento .anx-box-line, .anx-paper .anx-box--oferta .anx-box-line,
    .anx-paper .anx-box--inverso .anx-box-line, .anx-demo--vitrina .anx-box-line, .anx-demo--evento .anx-box-line,
    .anx-demo--oferta .anx-box-line, .anx-demo--inverso .anx-box-line,
    .anx-box--modulo_chico .anx-box-line, .anx-box--modulo_medio .anx-box-line, .anx-box--modulo_grande .anx-box-line {
        font-size: clamp(1rem, 4.2vw, 1.2rem);
        line-height: 1.5;
    }

    /* La foto llena su franja (la base de 110px se pierde en media pantalla) */
    .anx-box--vitrina .anx-box-thumb, .anx-box--evento .anx-box-thumb, .anx-box--oferta .anx-box-thumb { height: 220px; }
    .anx-box--inverso .anx-box-thumb { height: 280px; }

    /* Firmas por estilo: carteleta, rebaja, contraste total */
    .anx-box--evento { border: 4px double var(--anx-terra); }
    .anx-box--oferta { background: repeating-linear-gradient(45deg, rgba(196,144,26,.14) 0 12px, rgba(255,255,255,0) 12px 24px), #fff; }
    .anx-box--inverso { border-width: 3px; }
    .anx-box--modulo_grande { border-width: 3px; border-bottom: 8px solid var(--anx-maiz); }
}

/* Letras de contorno: solo si el navegador soporta text-stroke (todos los
   modernos). Sin soporte, los titulos quedan con su color solido de arriba. */
@supports ((-webkit-text-stroke: 1px #000)) {
    @media (max-width: 899px) {
        .anx-box--vitrina .anx-box-title { color: #fff; -webkit-text-stroke: 2px var(--anx-ink); }
        .anx-box--evento .anx-box-title { color: var(--anx-crema); -webkit-text-stroke: 2px var(--anx-terra); }
        .anx-box--oferta .anx-box-title { color: var(--anx-maiz); -webkit-text-stroke: 2.5px var(--anx-ink); font-style: italic; }
        .anx-box--inverso .anx-box-title { color: transparent; -webkit-text-stroke: 2.5px var(--anx-crema); }
    }
}
