/* Archfloat · planes y precios: tabla comparativa con columna "A medida" + recomendador. Solo portada.
   Mismos colores y tipografías que estilos.css; prefijo cfg- para no chocar con nada. */
.paquetes{padding-bottom:clamp(48px,6vw,88px)}
.paquetes .titular{padding-top:clamp(52px,6.4vw,92px);padding-bottom:clamp(18px,2.2vw,30px)}
.paquetes .titular h2{font-size:clamp(2.4rem,5vw,4.6rem)}
.paquetes .titular .eyebrow::after{content:"";display:inline-block;width:clamp(40px,6vw,96px);height:1px;margin-left:.9em;background:var(--oro);vertical-align:middle}
.cfg{padding:0 var(--pad);scroll-margin-top:calc(var(--cab) + 12px)}
.cfg-solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Recomendador: una línea ---------- */
.cfg-rec{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;padding:12px 14px;border:1px solid var(--linea);border-top:2px solid var(--oro);background:linear-gradient(180deg,#F7F3EC,#fff)}
.cfg-rec textarea{width:100%;min-height:46px;max-height:140px;resize:none;overflow-y:auto;padding:12px 14px;border:1.5px solid var(--linea);background:#fff;color:var(--negro);font:500 .95rem/1.4 "Archivo",sans-serif;transition:border-color .25s,box-shadow .25s}
.cfg-rec textarea::placeholder{color:#767676}
.cfg-rec textarea:focus{outline:none;border-color:var(--petroleo);box-shadow:0 0 0 3px rgba(47,79,95,.18)}
.cfg-rec textarea[aria-invalid="true"]{border-color:#B0392A}
.cfg-rec .btn{padding:.9em 1.5em;font-size:.72rem;white-space:nowrap}
.cfg-rec .btn[disabled]{opacity:.55;cursor:progress}

/* Respuesta del chat: una línea corta debajo */
.cfg-resp{padding:9px 16px;border:1px solid var(--linea);border-top:0;background:rgba(201,169,97,.14);font-size:.92rem;line-height:1.45}
.cfg-resp[hidden]{display:none}
.cfg-resp__linea{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-weight:700;color:var(--negro)}
.cfg-resp--error{background:#FBF3E8}
.cfg-resp--info .cfg-resp__linea,.cfg-resp--error .cfg-resp__linea{font-weight:500}
.cfg-resp__mas{padding:0;border:0;background:none;font:700 .8rem/1 "Archivo",sans-serif;letter-spacing:.04em;color:var(--petroleo);text-decoration:underline;text-decoration-color:var(--oro);text-decoration-thickness:1.5px;text-underline-offset:4px;cursor:pointer}
.cfg-resp__mas[hidden]{display:none}
.cfg-resp__mas:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
.cfg-resp__detalle{margin:6px 0 0;font-weight:400;color:#2b2b2b;white-space:pre-line}
.cfg-resp__detalle[hidden]{display:none}
.cfg-puntos{display:inline-block;width:1.4em;text-align:left}
.cfg-puntos::after{content:"";animation:cfg-p 1.2s steps(4,end) infinite}
@keyframes cfg-p{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}

.cfg-tag{display:inline-block;padding:.3em .6em;font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;line-height:1;vertical-align:middle}
.cfg-tag--oro{background:var(--oro);color:var(--negro)}
.cfg-tag--rec{background:var(--petroleo);color:#fff}
.cfg-tag[hidden]{display:none}

/* ---------- Tabla comparativa (escritorio) ---------- */
.cfg-tablawrap{margin-top:22px}
.cfg-tabla{width:100%;border-collapse:separate;border-spacing:0;font-family:"Archivo",sans-serif;table-layout:fixed}
.cfg-tabla th,.cfg-tabla td{padding:9px 12px;border-bottom:1px solid var(--linea);text-align:center;vertical-align:middle;transition:background-color .4s var(--ease)}
.cfg-tabla .cfg-t__serv{width:31%;text-align:left;padding-left:4px}
.cfg-tabla [data-col="pro"]{background:rgba(47,79,95,.055)}

/* Cabecera fija al hacer scroll */
.cfg-tabla thead th{position:sticky;top:var(--cab);z-index:6;background:var(--fondo);padding-top:14px;padding-bottom:12px;border-bottom:1.5px solid var(--negro);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cfg-tabla thead .cfg-t__serv{font-size:.7rem;color:var(--gris)}
.cfg-tabla thead th.cfg-t__pro{background:#E6ECEF;border-top:3px solid var(--petroleo)}
.cfg-th__n{display:block}
.cfg-th__s{display:block;margin-top:3px;font-size:.62rem;letter-spacing:.14em;color:var(--gris);font-weight:700}
.cfg-t__pro .cfg-tag{display:block;width:max-content;margin:0 auto 6px}

/* Columna "A medida": un borde fino que la diferencia */
.cfg-tabla [data-col="medida"]{border-left:1.5px solid var(--petroleo);border-right:1.5px solid var(--petroleo);background:#fff}
.cfg-tabla thead th.cfg-t__medida{border-top:1.5px solid var(--petroleo);background:#fff}
.cfg-tabla tr:last-child [data-col="medida"]{border-bottom:1.5px solid var(--petroleo)}
.cfg-tabla [data-col="medida"].is-on-col{background:#fff}
.cfg-tabla tr.is-on td.cfg-t__sel{background:#F1F5F6}

/* Columna que coincide con la selección: se ilumina suavemente */
.cfg-tabla [data-col].is-match{background:rgba(201,169,97,.2)}
.cfg-tabla thead th.is-match{background:#F5EBD0}
.cfg-tabla [data-col="medida"].is-match{background:#fff}

/* Filas de servicio */
.cfg-t__nombre{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-weight:800;font-size:.95rem;line-height:1.3;letter-spacing:-.01em}
.cfg-t__nombre a{color:inherit;text-decoration:underline;text-decoration-color:var(--oro);text-decoration-thickness:1.5px;text-underline-offset:3px}
.cfg-t__nombre a:hover,.cfg-t__nombre a:focus-visible{text-decoration-color:var(--negro)}
.cfg-t__nota{display:block;margin-top:1px;font-size:.74rem;font-weight:500;color:var(--gris)}
.cfg-t__motivo{display:block;margin-top:4px;padding-left:8px;border-left:2px solid var(--oro);font-size:.76rem;line-height:1.35;font-weight:500;color:#2b2b2b;text-align:left}
.cfg-t__motivo[hidden]{display:none}
.cfg-ok{width:20px;height:20px;fill:none;stroke:var(--petroleo);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.cfg-t__txt{font-size:.82rem;font-weight:800;color:var(--petroleo)}
.cfg-t__mod{padding-left:6px;padding-right:6px}
.cfg-t__modtxt{display:block;font-size:.7rem;line-height:1.3;font-weight:600;color:#8b8b8b}
.cfg-t__no{color:#c9c1b6}
.cfg-t__inc .cfg-tag{vertical-align:middle}

/* Casillas de la columna A medida */
.cfg-chk{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}
.cfg-chk input{position:absolute;opacity:0;width:1px;height:1px}
.cfg-caja{position:relative;display:block;width:20px;height:20px;border:1.5px solid #8d9aa1;border-radius:4px;background:#fff;transition:background-color .25s,border-color .25s}
.cfg-caja::after{content:"";position:absolute;left:5px;top:1.5px;width:6px;height:11px;border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(45deg) scale(0);transition:transform .2s var(--ease)}
.cfg-chk input:checked+.cfg-caja{background:var(--petroleo);border-color:var(--petroleo)}
.cfg-chk input:checked+.cfg-caja::after{transform:rotate(45deg) scale(1)}
.cfg-chk input:focus-visible+.cfg-caja{outline:3px solid var(--oro);outline-offset:2px}
.cfg-chk__px{font-size:.7rem;font-weight:600;color:#666;white-space:nowrap}

/* Filas de totales */
.cfg-t__tot th{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.cfg-t__num{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cfg-t__tot td{padding-top:12px;padding-bottom:12px}
.cfg-t__sum span{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:1.85rem;line-height:1;letter-spacing:.01em;color:var(--negro)}
.cfg-t__aplica{margin:6px 0 0;font-size:.74rem;line-height:1.35;font-weight:600;color:#444}
.cfg-t__ahorro{margin:6px 0 0;padding:6px 8px;border-left:3px solid var(--oro);background:rgba(201,169,97,.16);font-size:.72rem;line-height:1.35;font-weight:600;color:#3b3220;text-align:left}
.cfg-t__ahorro[hidden]{display:none}
.cfg-t__desc{margin:6px 0 0;font-size:.74rem;font-weight:700;color:#7a5d17}
.cfg-t__desc[hidden]{display:none}
.cfg-t__bot td,.cfg-t__bot th{padding-top:14px;padding-bottom:16px;border-bottom:0}
.cfg-t__bot th{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.cfg-t__bot .btn{width:100%;padding:.95em .8em;font-size:.66rem;letter-spacing:.1em;white-space:normal;line-height:1.3}
.cfg-tabla tr.cfg-t__bot:last-child [data-col="medida"]{border-bottom:1.5px solid var(--petroleo)}
.cfg-vaciar{display:block;margin:10px auto 0;padding:.4em .8em;border:0;background:none;color:#555;font:700 .68rem/1 "Archivo",sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--oro);text-underline-offset:5px;cursor:pointer}
.cfg-vaciar:hover:not(:disabled),.cfg-vaciar:focus-visible{color:var(--negro)}
.cfg-vaciar:disabled{opacity:.4;cursor:default}
.cfg-vaciar:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
.cfg__nota{margin:14px 0 0;font-size:.78rem;line-height:1.5;color:var(--gris)}

/* Escritorio: lo de móvil, oculto */
.cfg-movil,.cfg-barra{display:none}

/* ---------- Móvil y tableta: selector + lista de la opción elegida ---------- */
@media (max-width:900px){
  .cfg-tablawrap{display:none}
  .cfg-movil{display:block;margin-top:14px}
  .paquetes{padding-bottom:calc(clamp(48px,6vw,88px) + 70px)}
  .cfg-sel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--negro)}
  .cfg-sel__b{padding:.95em .2em;border:0;border-left:1px solid var(--negro);background:#fff;color:var(--negro);font:800 .66rem/1.1 "Archivo",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .25s,color .25s}
  .cfg-sel__b:first-child{border-left:0}
  .cfg-sel__b[aria-pressed="true"]{background:var(--negro);color:#fff}
  .cfg-sel__b:focus-visible{outline:3px solid var(--oro);outline-offset:-3px}
  .cfg-m__lista{list-style:none;margin:6px 0 0;padding:0}
  .cfg-m__lista[hidden],.cfg-m__pie[hidden]{display:none}
  .cfg-m__fila{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--linea)}
  .cfg-m__cuerpo{display:block;min-width:0}
  .cfg-m__nombre{display:block;font-weight:800;font-size:.98rem;line-height:1.3}
  .cfg-m__nota{display:block;margin-top:1px;font-size:.76rem;font-weight:500;color:var(--gris)}
  .cfg-m__fila--no .cfg-m__nombre{font-weight:600;color:#6b6b6b}
  .cfg-m__estado{flex:0 0 auto;text-align:right;font-size:.8rem}
  .cfg-m__estado--mod{max-width:9.5rem;font-size:.7rem;line-height:1.3;font-weight:600;color:#8b8b8b}
  .cfg-m__estado--no{color:#c9c1b6}
  .cfg-m__fila--sel{padding:0}
  .cfg-chk--m{flex-direction:row;align-items:flex-start;gap:12px;width:100%;padding:11px 2px}
  .cfg-chk--m .cfg-caja{flex:0 0 22px;width:22px;height:22px;margin-top:1px}
  .cfg-chk--m .cfg-caja::after{left:6px;top:2px}
  .cfg-m__fila--sel.is-on{background:#F4F7F8}
  .cfg-m__motivo{display:block;margin-top:4px;padding-left:8px;border-left:2px solid var(--oro);font-size:.78rem;line-height:1.35;color:#2b2b2b}
  .cfg-m__motivo[hidden]{display:none}
  .cfg-m__pie{padding:14px 2px 0}
  .cfg-m__tot{margin:0 0 14px;display:grid;gap:6px}
  .cfg-m__tot>div{display:flex;justify-content:space-between;align-items:baseline}
  .cfg-m__tot dt{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
  .cfg-m__tot dd{margin:0;font-family:"Anton",Impact,sans-serif;font-size:1.9rem;line-height:1;font-variant-numeric:tabular-nums}
  .cfg-m__pie .btn{width:100%}
  /* Barra fija del total (vista "A medida") */
  .cfg-barra{position:fixed;z-index:55;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));background:var(--negro);color:#fff;border-top:2px solid var(--oro);box-shadow:0 -14px 40px -14px rgba(13,14,16,.55);transform:translateY(110%);visibility:hidden;transition:transform .4s var(--ease)}
  body.cfg-activo .cfg-barra{display:flex;transform:none;visibility:visible}
  .cfg-barra__t{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px;min-width:0;font-size:.8rem;color:#cfcfcf}
  .cfg-barra__ap{flex:0 0 100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--oro)}
  .cfg-barra__n b{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:1.25rem;letter-spacing:.01em;color:#fff;font-variant-numeric:tabular-nums}
  .cfg-barra .btn{padding:.9em 1.2em;font-size:.7rem;flex:0 0 auto}
  /* La barra "Reservar diagnóstico gratis" y el chat se apartan mientras se ve la barra del total */
  body.cfg-activo .cta-movil{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
  body.cfg-activo .afc-lanzador,body.cfg-activo .afc-bocadillo{opacity:0;visibility:hidden;pointer-events:none}
}
@media (max-width:640px){
  .cfg{padding:0 12px}
  .cfg-rec{grid-template-columns:1fr;padding:12px}
  .cfg-rec textarea{min-height:68px}
  .cfg-rec .btn{width:100%}
  .cfg-resp{padding:9px 14px}
}
@media (prefers-reduced-motion:reduce){
  .cfg-tabla th,.cfg-tabla td,.cfg-caja,.cfg-caja::after,.cfg-barra,.cfg-sel__b{transition:none}
  .cfg-puntos::after{animation:none;content:"..."}
}
/* La tabla va sobre una tarjeta blanca: el tinte de la columna Pro queda limpio */
.cfg-tablawrap{padding:0 14px;border:1px solid var(--linea);background:#fff;box-shadow:0 30px 60px -48px rgba(13,14,16,.4)}
.cfg-tabla thead th{background:#fff}
.cfg-tabla thead th.cfg-t__pro{background:#E9EEF1}
.cfg-tabla thead th.is-match{background:#F5EBD0}
.cfg-tabla [data-col="pro"]{background:rgba(47,79,95,.05)}
@media (max-width:900px){ .cfg-m__nombre .cfg-tag{margin-left:8px} }
@media (max-width:640px){ .cfg-rec textarea{min-height:84px} }

.cfg-nota{margin:8px 2px 0;font-size:.78rem;line-height:1.45;color:var(--gris)}
.cfg-nota a{color:inherit;text-decoration:underline;text-underline-offset:2px}
