/* Correcciones de Diana (2026-10-10): neón, movimiento y comparación de buenas y malas prácticas.
   El movimiento se apaga con «movimiento reducido»; el neón (brillo fijo) se mantiene. */
:root { --neon-rojo: #ff3b5c; --neon-verde: #39ff9c; --neon-cyan: #3ddcff; }

/* ---------- 07 · Aviso: el bot de cada web es configurable ---------- */
.aviso-bot { margin: 4px 0 18px; padding: 18px 20px; border-radius: 16px; border: 1px solid rgba(61, 220, 255, .35); background: linear-gradient(135deg, rgba(61, 220, 255, .08), rgba(43, 245, 154, .05)); box-shadow: 0 0 24px rgba(61, 220, 255, .12), inset 3px 0 0 var(--neon-cyan); }
.aviso-bot__eti { display: inline-block; margin-bottom: 8px; font: 700 .64rem var(--f-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--neon-cyan); text-shadow: 0 0 12px rgba(61, 220, 255, .6); }
.aviso-bot p { color: #d5dee6; font-size: .96rem; }
.aviso-bot p + p { margin-top: 8px; }
.aviso-bot b { color: #fff; }

/* ---------- 04 · Antes (mala práctica) / Depois (buena práctica) ---------- */
.ba__rot { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; font-size: .72rem; }
.ba__rot i { font-style: normal; font: 800 1rem/1 var(--f-tit); }
.ba__rot--a { background: rgba(18, 4, 8, .9); color: #ffd6dd; border: 1px solid var(--neon-rojo); box-shadow: 0 0 12px rgba(255, 59, 92, .6), 0 0 30px rgba(255, 59, 92, .35); }
.ba__rot--a i { color: var(--neon-rojo); text-shadow: 0 0 6px var(--neon-rojo), 0 0 16px var(--neon-rojo); }
.ba__rot--d { background: rgba(4, 18, 11, .9); color: #d9ffe9; border: 1px solid var(--neon-verde); box-shadow: 0 0 12px rgba(57, 255, 156, .6), 0 0 30px rgba(57, 255, 156, .35); }
.ba__rot--d i { color: var(--neon-verde); text-shadow: 0 0 6px var(--neon-verde), 0 0 16px var(--neon-verde); }
/* El «antes» se ve con claridad: más contraste y tamaño, sigue pareciendo una web antigua */
.antigo { position: relative; background: #ece7dc; color: #3d3a35; }
.antigo__titulo { color: #1f1d1a; font-size: clamp(1.1rem, 3vw, 2.3rem); }
.antigo__txt { color: #4a4640; font-size: clamp(.5rem, 1.05vw, .82rem); }
.antigo__menu { font-size: clamp(.5rem, 1.1vw, .86rem); }
/* X roja de neón sobre el «antes» */
.antigo__x { position: absolute; left: 25%; top: 50%; width: clamp(70px, 14vw, 170px); aspect-ratio: 1; transform: translate(-50%, -50%); pointer-events: none; }
.antigo__x::before, .antigo__x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 120%; height: clamp(7px, 1.2vw, 13px); border-radius: 99px; background: #ffe3e8; box-shadow: 0 0 6px #fff, 0 0 14px var(--neon-rojo), 0 0 30px var(--neon-rojo), 0 0 60px rgba(255, 59, 92, .7); }
.antigo__x::before { transform: translate(-50%, -50%) rotate(45deg); }
.antigo__x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.antigo__falhas { position: absolute; left: 4%; bottom: 12%; display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.antigo__falhas li { display: inline-flex; align-items: center; gap: 6px; justify-self: start; padding: 4px 10px; border-radius: 999px; background: rgba(18, 4, 8, .88); color: #ffd6dd; border: 1px solid var(--neon-rojo); box-shadow: 0 0 10px rgba(255, 59, 92, .45); font: 700 clamp(.5rem, .9vw, .7rem) var(--f-mono); letter-spacing: .06em; }
.antigo__falhas li::before { content: "✕"; color: var(--neon-rojo); text-shadow: 0 0 8px var(--neon-rojo); }
@media (max-width: 640px) { .antigo__falhas { display: none; } .ba__rot { font-size: .6rem; padding: 6px 10px; } }

/* ---------- 05 · Números en neón ---------- */
.numero b { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: #f2fdff; text-shadow: 0 0 4px rgba(255, 255, 255, .7), 0 0 12px var(--n, var(--neon-cyan)), 0 0 28px var(--n, var(--neon-cyan)), 0 0 56px var(--n2, rgba(61, 220, 255, .55)); }
.numero:nth-child(1) { --n: #3ddcff; --n2: rgba(61, 220, 255, .5); }
.numero:nth-child(2) { --n: #4d8dff; --n2: rgba(77, 141, 255, .5); }
.numero:nth-child(3) { --n: #39ff9c; --n2: rgba(57, 255, 156, .55); }
.numero:nth-child(4) { --n: #ffcf4d; --n2: rgba(255, 207, 77, .45); }
.numero:nth-child(3) b { font-size: clamp(2.8rem, 6vw, 4.6rem); }
.numero span { color: #cdd8e1; }
.numeros.visivel .numero b { animation: neon-liga 1.1s steps(1, end) both; }
.numeros.visivel .numero:nth-child(2) b { animation-delay: .15s; }
.numeros.visivel .numero:nth-child(3) b { animation: neon-liga 1.1s steps(1, end) .3s both, neon-pulso 2.4s ease-in-out 1.6s infinite; }
.numeros.visivel .numero:nth-child(4) b { animation-delay: .45s; }
@keyframes neon-liga { 0% { opacity: .15; } 10% { opacity: 1; } 18% { opacity: .3; } 26% { opacity: 1; } 34% { opacity: .5; } 42%, 100% { opacity: 1; } }
@keyframes neon-pulso { 0%, 100% { text-shadow: 0 0 4px rgba(255,255,255,.7), 0 0 12px var(--n), 0 0 28px var(--n), 0 0 56px var(--n2); } 50% { text-shadow: 0 0 6px #fff, 0 0 20px var(--n), 0 0 46px var(--n), 0 0 90px var(--n2); } }

/* Franja Black Friday: precio real, fecha real y la cuenta atrás real de la campaña */
.bf-faixa { position: relative; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 14px 26px; margin: -28px 0 56px; padding: 18px 22px; border-radius: 18px; text-decoration: none; color: #fff; background: #07090c; isolation: isolate; overflow: hidden; box-shadow: 0 0 0 1px rgba(255, 59, 92, .55), 0 0 26px rgba(255, 59, 92, .28), 0 20px 50px rgba(0, 0, 0, .5); transition: transform .25s, box-shadow .25s; }
.bf-faixa::before { content: ""; position: absolute; inset: -2px; z-index: -1; background: conic-gradient(from var(--giro, 0deg), transparent 0 70%, var(--neon-rojo) 80%, #ffd36b 88%, transparent 96%); animation: bf-borda 4s linear infinite; }
.bf-faixa::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: 17px; background: radial-gradient(ellipse 50% 120% at 0% 50%, rgba(255, 59, 92, .18), transparent 70%), #07090c; }
@property --giro { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes bf-borda { to { --giro: 360deg; } }
.bf-faixa:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--neon-rojo), 0 0 40px rgba(255, 59, 92, .45), 0 24px 60px rgba(0, 0, 0, .55); }
.bf-faixa__tag { padding: 8px 14px; border-radius: 10px; background: #000; color: #fff; border: 1px solid var(--neon-rojo); font: 800 .95rem/1 var(--f-tit); letter-spacing: .04em; text-transform: uppercase; text-shadow: 0 0 8px var(--neon-rojo), 0 0 22px var(--neon-rojo); box-shadow: 0 0 12px rgba(255, 59, 92, .55), inset 0 0 12px rgba(255, 59, 92, .35); animation: bf-tag 2.6s ease-in-out infinite; }
@keyframes bf-tag { 0%, 100% { box-shadow: 0 0 12px rgba(255,59,92,.55), inset 0 0 12px rgba(255,59,92,.35); } 50% { box-shadow: 0 0 26px rgba(255,59,92,.85), inset 0 0 16px rgba(255,59,92,.5); } }
.bf-faixa__txt { color: #e3e9ee; font-size: 1rem; }
.bf-faixa__txt b { color: #fff; }
.bf-faixa__txt b:first-child { color: var(--neon-verde); text-shadow: 0 0 12px rgba(57, 255, 156, .6); }
.bf-faixa__tempo { display: grid; gap: 2px; justify-items: end; }
.bf-faixa__tempo small { font: 700 .6rem var(--f-mono); letter-spacing: .16em; text-transform: uppercase; color: #ff8fa2; }
.bf-faixa .contador { margin: 0; }
.bf-faixa .contador span { font-size: 1.35rem; color: #fff; text-shadow: 0 0 10px var(--neon-rojo), 0 0 22px rgba(255, 59, 92, .6); }
.bf-faixa .contador [data-s].tique { animation: tique .45s ease-out; }
.bf-faixa__cta { padding: 12px 18px; border-radius: 999px; background: linear-gradient(180deg, #6dffbe, var(--verde)); color: var(--tinta); font: 800 .82rem/1 var(--f-tit); text-transform: uppercase; white-space: nowrap; box-shadow: 0 0 18px rgba(57, 255, 156, .55); }
@media (max-width: 980px) {
  .bf-faixa { grid-template-columns: auto 1fr; margin-top: -24px; }
  .bf-faixa__tempo { justify-items: start; }
  .bf-faixa__cta { justify-self: end; }
}
@media (max-width: 560px) {
  .bf-faixa { grid-template-columns: 1fr; justify-items: start; gap: 12px; }
  .bf-faixa__cta { justify-self: stretch; text-align: center; }
  .bf-faixa .contador span { font-size: 1.2rem; }
}

/* ---------- 05 · El porqué de cada pilar ---------- */
.cartao__eti--porque { color: var(--neon-verde); text-shadow: 0 0 10px rgba(57, 255, 156, .55); font-size: .72rem; }
.cartao p.cartao__porque { color: #e6eef4; padding-left: 12px; border-left: 2px solid var(--neon-verde); box-shadow: -6px 0 14px -10px var(--neon-verde); }

/* ---------- 05 · Diagrama vivo: WEB → MSG → BOT → ✓ ---------- */
.ligacao { box-shadow: 0 0 40px rgba(61, 220, 255, .08) inset; }
.lig-no > circle:nth-child(2) { filter: drop-shadow(0 0 4px var(--cor)); }
.lig-onda { transform-box: fill-box; transform-origin: center; opacity: 0; }
.lig-no { animation: lig-acende 4s ease-in-out infinite; }
.lig-no .lig-onda { animation: lig-onda 4s ease-out infinite; }
.lig-no--2, .lig-no--2 .lig-onda { animation-delay: 1.13s; }
.lig-no--3, .lig-no--3 .lig-onda { animation-delay: 2.27s; }
.lig-no--4, .lig-no--4 .lig-onda { animation-delay: 3.4s; }
@keyframes lig-acende { 0%, 22%, 100% { filter: none; } 4%, 12% { filter: drop-shadow(0 0 10px var(--cor)) drop-shadow(0 0 24px var(--cor)); } }
@keyframes lig-onda { 0% { opacity: .9; transform: scale(1); } 22% { opacity: 0; transform: scale(1.7); } 100% { opacity: 0; transform: scale(1.7); } }

/* ---------- CTA: neón y movimiento ---------- */
.btn { position: relative; overflow: hidden; isolation: isolate; box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset, 0 0 16px rgba(61, 220, 255, .5), 0 0 42px rgba(61, 220, 255, .28); }
.btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); transform: translateX(-130%); animation: btn-brilho 3.8s ease-in-out infinite; pointer-events: none; }
.btn { background-clip: padding-box; }
.btn > * { position: relative; }
.btn__seta { animation: btn-setas 1.4s ease-in-out infinite; box-shadow: 0 0 12px rgba(61, 220, 255, .45); }
.btn--verde { box-shadow: 0 0 0 1px rgba(255, 255, 255, .5) inset, 0 0 18px rgba(57, 255, 156, .6), 0 0 48px rgba(57, 255, 156, .35); animation: btn-pulso-verde 2.4s ease-in-out infinite; }
.btn--verde .btn__seta { box-shadow: 0 0 12px rgba(57, 255, 156, .6); }
.btn--sec { box-shadow: 0 0 0 1px rgba(61, 220, 255, .75) inset, 0 0 14px rgba(61, 220, 255, .35), 0 0 30px rgba(61, 220, 255, .15); }
.btn--sec::before { background: linear-gradient(110deg, transparent 35%, rgba(61, 220, 255, .28) 50%, transparent 65%); }
.btn:hover { box-shadow: 0 0 0 1px #fff inset, 0 0 24px rgba(61, 220, 255, .7), 0 0 60px rgba(61, 220, 255, .4); }
.btn--verde:hover { box-shadow: 0 0 0 1px #fff inset, 0 0 26px rgba(57, 255, 156, .8), 0 0 64px rgba(57, 255, 156, .45); }
@keyframes btn-brilho { 0%, 55% { transform: translateX(-130%); } 85%, 100% { transform: translateX(130%); } }
@keyframes btn-setas { 0%, 100% { letter-spacing: -.08em; } 50% { letter-spacing: .06em; } }
@keyframes btn-pulso-verde { 0%, 100% { box-shadow: 0 0 0 1px rgba(255,255,255,.5) inset, 0 0 18px rgba(57,255,156,.6), 0 0 48px rgba(57,255,156,.35); } 50% { box-shadow: 0 0 0 1px rgba(255,255,255,.7) inset, 0 0 28px rgba(57,255,156,.85), 0 0 70px rgba(57,255,156,.5); } }

/* ---------- Movimiento reducido: se queda el neón, se apaga el movimiento ---------- */
@media (prefers-reduced-motion: reduce) {
  .numeros.visivel .numero b, .numeros.visivel .numero:nth-child(3) b,
  .bf-faixa::before, .bf-faixa__tag, .lig-no, .lig-no .lig-onda,
  .btn::before, .btn__seta, .btn--verde { animation: none; }
  .lig-sinal { display: none; }
  .lig-no > circle:nth-child(2) { filter: drop-shadow(0 0 8px var(--cor)); }
}

/* Nota de alojamiento y dominio en la oferta (2026-10-10) */
.caixa-oferta__nota { margin: 14px 0 18px; text-align: left; font-size: .84rem; color: #c9d3dc; padding-left: 10px; border-left: 2px solid var(--cyan); }

/* Antes/depois sin neón (2026-10-10, a petición de Diana): colores planos, sin brillos */
.ba__rot--a { background: #fff; color: #b3132d; border: 1px solid #e3405a; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.ba__rot--a i { color: #d61f3c; text-shadow: none; }
.ba__rot--d { background: #fff; color: #0b6b43; border: 1px solid #1fae6e; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.ba__rot--d i { color: #12985c; text-shadow: none; }
.antigo__x::before, .antigo__x::after { background: #d61f3c; box-shadow: none; opacity: .85; }
.antigo__falhas li { background: #fff; color: #8f1024; border-color: #e3405a; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.antigo__falhas li::before { color: #d61f3c; text-shadow: none; }

/* Barra superior: en móvil, versión breve de la condición de pago */
@media (max-width: 640px) { .barra__faltam { display: none; } }

/* La etiqueta «Oferta válida até 30 de novembro» ya es larga: el contador habla por sí solo (2026-10-10) */
.barra__faltam { display: none; }

/* ===== Ajustes móvil y Black Friday al inicio (2026-10-10) ===== */

/* Black Friday justo después del hero: etiqueta neón + regalo */
.bf-topo { position: relative; padding: clamp(48px, 7vw, 88px) 0; background: radial-gradient(ellipse 50% 60% at 28% 50%, rgba(42, 123, 255, .16), transparent 70%), #06090d; border-top: 1px solid rgba(61, 139, 255, .18); }
.bf-topo__grelha { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px clamp(32px, 5vw, 80px); align-items: center; }
.neon-palco--topo { height: 480px; }
.bf-topo__txt { display: grid; gap: 18px; justify-items: start; }
.bf-topo__txt .tit-l { font-size: clamp(2.4rem, 5.4vw, 4.4rem); }
.bf-topo__presente { display: flex; align-items: center; gap: 14px; max-width: 520px; padding: 16px 20px; border-radius: 16px; border: 1px solid rgba(240, 190, 70, .55); background: rgba(240, 190, 70, .08); font-size: 1.05rem; line-height: 1.45; color: #f4f8fb; box-shadow: 0 0 26px rgba(240, 190, 70, .14); }
.bf-topo__presente b { color: #f0be46; }
.bf-topo__ico { flex: none; font-size: 1.9rem; line-height: 1; }
.bf-topo__txt .peq { max-width: 520px; color: #9aa8b4; }
/* #oferta se queda con la caja de oferta, centrada */
#oferta .oferta { grid-template-columns: minmax(0, 760px); justify-content: center; }

/* sofIA: enlace secundario para probarla */
.sofia-sec__experimenta { margin-top: 14px; }
.link-sofia { padding: 0; border: 0; background: none; font: inherit; color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.link-sofia:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
/* Retrato de sofIA con medidas fijas: nunca se deforma (algunos iPhone ignoran la proporción) */
.sofia-retrato { width: 320px; max-width: 80%; }
.sofia-retrato img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; }

@media (max-width: 900px) {
  .bf-topo__grelha { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .bf-topo__txt { justify-items: center; }
  .neon-palco--topo { width: 100%; height: 400px; }
}
@media (max-width: 640px) {
  .neon-palco--topo { height: 340px; }
  .neon-palco--topo .neon-etiqueta { width: 210px; margin-top: 30px; }
  .bf-topo__presente { text-align: left; font-size: .98rem; }
  .bf-topo__txt .btn { width: 100%; justify-content: space-between; white-space: normal; text-align: left; }

  /* 04 · escenario de dispositivos: plano, sin 3D, recortado y separado del texto */
  .palco { height: 260px; margin-top: 56px; perspective: none; overflow: hidden; contain: paint; border-radius: 14px; }
  .palco .disp { transform: none !important; contain: paint; isolation: isolate; }
  .palco .disp--portatil { left: 50%; top: 0; width: 78%; height: 168px; aspect-ratio: auto; transform: translateX(-50%) !important; border-width: 7px 7px 12px; }
  .palco .disp--tablet { left: 0; bottom: 6px; width: 30%; height: 128px; aspect-ratio: auto; border-width: 6px; }
  .palco .disp--movel { right: 2%; bottom: 6px; width: 18%; height: 124px; aspect-ratio: auto; border-width: 5px; border-radius: 16px; }

  /* sofIA: retrato pequeño y circular */
  .sofia-retrato { width: 160px; max-width: 160px; }
  .sofia-retrato img { width: 160px; height: 160px; }

  /* 11 · los cinco negocios siempre visibles */
  #aplicacoes .ex-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; padding-bottom: 0; }
  #aplicacoes .ex-tab { flex: initial; min-width: 0; padding: 8px 10px 8px 8px; column-gap: 8px; }
  #aplicacoes .ex-tab:last-child { grid-column: 1 / -1; }
  #aplicacoes .ex-tab__n { width: 30px; height: 30px; font-size: .7rem; }
  #aplicacoes .ex-tab__nome { font-size: .9rem; overflow-wrap: anywhere; }
  #aplicacoes .ex-tab__estilo { font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) { .neon-palco--topo .neon-etiqueta { animation: none; } }

/* ===== Legibilidad en móvil (2026-10-10): nada informativo por debajo de 12 px ===== */
/* Cinta de problemas: la primera fila era casi invisible (contraste 1,6) */
.cinta span { color: #8a98a6; }
.cinta__faixa--inv span { color: var(--branco); }

/* Botones flotantes: se apartan cuando el visitante llega al formulario o al pie */
.wa-flutuante, .sofia-lancador { transition: opacity .3s, transform .3s; }
body.flut-ocultos .wa-flutuante, body.flut-ocultos .sofia-lancador { opacity: 0; transform: scale(.8); pointer-events: none; }

@media (max-width: 640px) {
  /* Barra superior: precio + fecha, sin la etiqueta larga que ocupaba 4 líneas */
  .barra__preco small { display: none; }
  .barra .contador__rot { font-size: 12px; letter-spacing: .06em; line-height: 1.25; }
  .contador > i { font-size: 12px; }

  /* Etiquetas y textos pequeños informativos → 12 px, con menos espaciado para que quepan */
  .mono, .capa__etiqueta, .rl__rot, .capa__info-eti, .capa__oferta-rot, .cf-cartao__rot, .cm-eti, .caixa-oferta__selo, .qd-quem,
  .cd-cartao__n, .cd__preco > span, .tj-fecho__marca, .cartao__eti, .pq-motivos__n, .pq-cartao__eti, .ex-info__n, .rc-cartao__eti,
  .capa__info-marca > span, .cm-fecho__marca, .tj-cartao__eti, .numero > span, .tj-calc__form > label, .ex-tab__n, .cd__calculo-cab > span,
  .cm-res__eti, .tj-res > span, .qd-oferta__marca, .rc-pilares__tit, .final__nota, .aviso-bot__eti, .pq-tag, .qd-f > figcaption, .chip,
  .bf-faixa__tempo > small, .ba__rot, .tj-cartao__sel, .cm-ind__t, .cm-rota > li, .cm-rota b, .qd-numeros span, .capa__pilares li
  { font-size: 12px !important; letter-spacing: .06em !important; }
  .capa__etiqueta { letter-spacing: .14em !important; }

  /* Ilustraciones (mini webs dibujadas): más grandes para poder leerlas */
  .cm-linhas > li, .cm-mini__eti, .cm-celulas > li, .cm-pontos > li, .cm-linhas span, .neon-etiqueta__txt > span { font-size: 11px !important; letter-spacing: .04em !important; }
  .antigo__txt, .antigo__menu > span, .antigo__cab > b { font-size: 10px !important; }
  .antigo__rodape { font-size: 9px !important; }

  /* Flotantes un poco más pequeños para tapar menos */
  .wa-flutuante { width: 48px; height: 48px; }
  .wa-flutuante svg { width: 26px; height: 26px; }
}
@media (max-width: 640px) {
  .contador__rot, .rc-pilares li { font-size: 12px !important; letter-spacing: .06em !important; }
}
/* Hero en móvil: «ENCONTRADO.» llegaba justo al borde y se cortaba en iPhone o mientras carga la fuente */
@media (max-width: 640px) {
  .capa__encontrado { font-size: min(13.4cqi, 3.4rem); }
  .capa__merece { font-size: min(12cqi, 3rem); }
}
@media (max-width: 640px) {
  .capa__encontrado { font-size: min(12.4cqi, 3.2rem); }
}
/* Cinta sin animación (quien la desactiva en su teléfono): sin frases repetidas y con márgenes */
@media (prefers-reduced-motion: reduce) {
  .cinta__faixa { padding: 0 16px; row-gap: 8px; }
  .cinta__faixa > span:nth-child(n+7) { display: none; }
}
/* Diagrama WEB → MSG → BOT → ✓: en móvil, versión vertical legible (el dibujo horizontal quedaba a ~5 px) */
.lig-movel { display: none; }
@media (max-width: 640px) {
  .ligacao { padding: 22px 20px; }
  .ligacao svg { display: none; }
  .lig-movel { display: grid; gap: 18px; list-style: none; margin: 0; padding: 0; position: relative; }
  .lig-movel::before { content: ""; position: absolute; left: 25px; top: 26px; bottom: 26px; width: 2px; background: linear-gradient(180deg, #2a7bff, #3ddcff 60%, #2bf59a); }
  .lig-movel li { position: relative; display: flex; align-items: center; gap: 16px; font: 600 1rem/1.3 var(--f-txt); color: #e6eef4; }
  .lig-movel span { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--cor); background: #0b1118; font: 800 .82rem var(--f-tit); color: #f4f8fb; box-shadow: 0 0 14px var(--cor); }
}
/* 11 · en móvil, un negocio por línea: «Restaurante» y «Contabilistas» se partían a mitad de palabra */
@media (max-width: 640px) {
  #aplicacoes .ex-tabs { grid-template-columns: 1fr; gap: 6px; }
  #aplicacoes .ex-tab, #aplicacoes .ex-tab:last-child { grid-column: auto; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto; align-items: center; column-gap: 12px; padding: 8px 14px 8px 8px; text-align: left; }
  #aplicacoes .ex-tab__n { grid-row: auto; }
  #aplicacoes .ex-tab__nome { font-size: 1rem; overflow-wrap: normal; }
  #aplicacoes .ex-tab__estilo { font-size: .9rem; justify-self: end; }
}
/* Botón fijo inferior en móvil: dentro de la pantalla, sin pisar los flotantes, y se aparta en el formulario */
@media (max-width: 640px) {
  .cta-fixo { left: 12px !important; right: 72px !important; width: auto !important; max-width: none !important; min-width: 0; font-size: .82rem; padding: 6px 6px 6px 16px !important; }
  .cta-fixo .btn__seta { flex: none; }
  .sofia-lancador { bottom: 70px; }
}
body.flut-ocultos .cta-fixo { opacity: 0; transform: translateY(20px); pointer-events: none; }

/* 14 · caja de oferta junto al formulario (no tenía estilos) */
.oferta-mini { display: grid; gap: 16px; padding: 22px; border-radius: 18px; border: 1px solid rgba(43, 245, 154, .35); background: linear-gradient(180deg, rgba(20, 30, 36, .9), rgba(9, 13, 17, .95)); max-width: 520px; }
.oferta-mini__preco { display: grid; gap: 6px; font: 800 clamp(2.6rem, 6vw, 3.4rem)/1 var(--f-tit); color: #f2fdff; text-shadow: 0 0 16px rgba(43, 245, 154, .45); }
.oferta-mini__preco small { font: 700 .78rem var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--verde); text-shadow: none; }
.oferta-mini ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.oferta-mini li { position: relative; padding-left: 28px; font-size: .97rem; line-height: 1.45; color: #dbe5ec; }
.oferta-mini li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--verde); font-weight: 800; }
.oferta-mini li.presente { padding: 10px 12px 10px 40px; border-radius: 12px; border: 1px dashed rgba(240, 190, 70, .6); background: rgba(240, 190, 70, .08); color: #f4f8fb; font-weight: 600; }
.oferta-mini li.presente::before { content: "🎁"; left: 12px; top: 10px; }
/* El botón «fijo» nunca llegó a fijarse (lo anulaba .btn{position:relative}) y salía bajo el pie, cortado: se retira */
.cta-fixo { display: none !important; }
/* Antes/Después en móvil: etiquetas separadas (arriba izquierda / abajo derecha) para que no se pisen */
@media (max-width: 640px) {
  .ba__rot--a { top: 10px !important; left: 10px !important; right: auto !important; bottom: auto !important; }
  .ba__rot--d { top: auto !important; bottom: 10px !important; right: 10px !important; left: auto !important; }
}
/* Cierre en móviles pequeños: «EXPRESS™» ensanchaba la columna y todo el bloque salía por la derecha */
@media (max-width: 640px) {
  .final__grelha { grid-template-columns: minmax(0, 1fr); }
  .lc-bloco { font-size: min(13vw, 3.4rem); }
  .lc-script { font-size: min(9vw, 2.6rem); }
  .lc-ano { font-size: min(10vw, 3rem); }
}
