/* 3. Oferta. Idea de diseño: la oferta se lee como una hoja de venta (promesa grande, lista de lo que recibe, banda con precio y garantía),
   la presentación como una llamada medida en minutos, el test como una nota con sus cuatro factores y el mapa como una ruta vertical de A a Z.
   Las piezas de lectura llevan solo:'ver' y las ayudas de escritura solo:'rellenar' (lo resuelve el motor). Clases prefijadas p3-. */

/* Piezas comunes. La pieza de lectura se pinta sin la tarjeta del motor: cada una trae la suya. */
.c:has(> .p3-pieza){padding:0;gap:0;background:none;box-shadow:none;border-radius:0}
.p3-pieza{display:flex;flex-direction:column;gap:14px;min-width:0}
.p3-lbl{margin:0;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.01em;color:#6E6E73}
.p3-txt{margin:0;font-size:15px;line-height:23px;color:#1D1D1F;white-space:pre-line}
.p3-apoyo{margin:0;font-size:13px;line-height:18px;color:#6E6E73}
.p3-sin{margin:0;font-size:15px;line-height:22px;color:#6E6E73}
.p3-card{background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(0,0,0,.035);min-width:0}
.p3-cifra{margin:0;font-size:48px;line-height:52px;font-weight:700;letter-spacing:-.04em}
.p3-vacio{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px;border:1.5px dashed #E3B8C5;border-radius:14px;background:#F4E3E8}
.p3-vacio p{margin:0;font-size:15px;line-height:22px;color:#1D1D1F}
.p3-medio{margin:0;font-size:24px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.p3-titular{margin:0;font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.03em}
.p3-icono{flex:none}

/* Barras propias */
.p3-barra{display:block;height:8px;border-radius:99px;background:#E8E8ED;overflow:hidden}
.p3-barra b{display:block;height:100%;border-radius:99px;background:#7A1230;transform-origin:left;animation:p3-crece .5s ease-out}
.p3-barra.t b{background:#A32A4E}
@keyframes p3-crece{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Hoja de venta */
.p3-hoja{display:flex;flex-direction:column;overflow:hidden}
.p3-hoja-top{display:flex;flex-direction:column;gap:14px;padding:30px 36px 6px}
.p3-etiq{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.p3-etiq .p3-lbl{color:#7A1230;text-transform:uppercase;letter-spacing:.06em}
.p3-promesa{margin:0;max-width:780px;font-size:34px;line-height:40px;font-weight:700;letter-spacing:-.03em}
.p3-oir{margin:0;display:flex;flex-direction:column;gap:2px;max-width:700px;padding-left:14px;border-left:3px solid #E3B8C5}
.p3-oir span{font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}
.p3-oir q{font-size:17px;line-height:25px;color:#424245;quotes:"“" "”"}
.p3-cuerpo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px 36px;padding:18px 36px 30px}
.p3-lista{list-style:none;margin:8px 0 0;padding:0}
.p3-lista li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:2px 12px;align-items:start;padding:11px 0;border-bottom:1px solid #E8E8ED}
.p3-lista li:last-child{border-bottom:0}
.p3-lista svg{margin-top:1px;color:#7A1230}
.p3-lista b{font-size:15px;line-height:22px;font-weight:600}
.p3-lista small{display:block;font-size:13px;line-height:18px;color:#6E6E73;font-weight:400}
.p3-lista .p3-v{font-size:14px;line-height:22px;font-weight:600;color:#424245;white-space:nowrap}
.p3-aparte{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:14px;background:#F5F5F7;align-self:start;margin-top:8px}
.p3-banda{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:#7A1230;color:#fff}
.p3-banda>div{display:flex;flex-direction:column;gap:6px;padding:22px 26px;min-width:0}
.p3-banda>div+div{border-left:1px solid rgba(255,255,255,.2)}
.p3-banda .p3-lbl{color:#F4E3E8}
.p3-banda .p3-apoyo{color:#F4E3E8}
.p3-banda .p3-cifra{font-size:48px;line-height:52px}
.p3-banda .p3-medio{margin:0;font-size:24px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.p3-banda .p3-garantia{margin:0;font-size:15px;line-height:22px;font-weight:600}
.p3-banda .pill{align-self:flex-start;background:#fff}

/* Competidores */
.p3-comps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.p3-comp{display:flex;flex-direction:column;gap:14px;padding:20px}
.p3-comp header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.p3-comp h3{margin:0;font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em}
.p3-comp .p3-pr{font-size:22px;line-height:26px;font-weight:700;letter-spacing:-.02em}
.p3-critica{padding:12px 14px;border-radius:12px;background:#F5F5F7}
.p3-respuesta{padding:12px 14px;border-radius:12px;background:#F4E3E8}
.p3-critica .p3-lbl,.p3-respuesta .p3-lbl{margin-bottom:3px}
.p3-respuesta .p3-lbl{color:#7A1230}

/* Documento de respuestas */
.p3-doc{padding:30px 36px 34px}
.p3-doc>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding-bottom:14px;border-bottom:2px solid #7A1230;margin-bottom:6px}
.p3-doc>header h2{margin:0;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.p3-doc section{padding:18px 0 4px}
.p3-doc section+section{border-top:1px solid #E8E8ED}
.p3-doc h3{margin:0 0 12px;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7A1230}
.p3-q{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:4px 28px;padding:0 0 16px}
.p3-q-p{margin:0;font-size:14px;line-height:20px;font-weight:600;color:#424245}
.p3-q .btn{justify-self:start}

/* Qué recibe y valor */
.p3-pila{padding:28px 32px 20px}
.p3-pila-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;padding-bottom:18px;border-bottom:1px solid #E8E8ED}
.p3-razon{display:flex;flex-direction:column;gap:2px;align-items:flex-end;text-align:right}
.p3-razon .p3-cifra{color:#7A1230}
.p3-ent{list-style:none;margin:0;padding:0}
.p3-ent li{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:2px 14px;align-items:center;padding:14px 0 12px;border-bottom:1px solid #E8E8ED}
.p3-ent li:last-child{border-bottom:0}
.p3-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(122,18,48,.1);color:#7A1230;font-size:13px;font-weight:700}
.p3-ent b{font-size:15px;line-height:22px;font-weight:600}
.p3-ent small{display:block;font-size:13px;line-height:18px;color:#6E6E73}
.p3-ent .p3-v{font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.p3-ent .p3-barra{grid-column:2/-1;margin-top:8px}
.p3-cuando{padding:2px 10px;border-radius:999px;background:#F0F0F2;color:#424245;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap}

/* Garantías y plazas */
.p3-opciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.p3-op{display:flex;flex-direction:column;gap:12px;padding:20px}
.p3-op h3,.p3-mes h3{margin:0;font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em}
.p3-riesgos{display:flex;flex-wrap:wrap;gap:8px}
.p3-cifras{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #E8E8ED}
.p3-cifras p{margin:0;font-size:20px;line-height:24px;font-weight:700;letter-spacing:-.02em}
.p3-meses{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.p3-mes{display:flex;flex-direction:column;gap:10px;padding:20px}
.p3-mes .p3-medio{margin:0;font-size:30px;line-height:34px;font-weight:700;letter-spacing:-.03em}
.p3-mes .p3-medio small{font-size:14px;font-weight:500;color:#6E6E73;letter-spacing:0}

/* Planes y bonificaciones */
.p3-planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;align-items:stretch}
.p3-plan{display:flex;flex-direction:column;gap:14px;padding:24px}
.p3-plan.rec{box-shadow:0 0 0 2px #7A1230,0 10px 28px rgba(92,15,38,.14)}
.p3-plan header{display:flex;flex-direction:column;gap:6px}
.p3-plan h3{margin:0;font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em}
.p3-plan .p3-cifra{font-size:48px}
.p3-plan .p3-cifra.p3-pend{font-size:24px;line-height:30px;color:#6E6E73;letter-spacing:-.02em}
.p3-incl{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid #E8E8ED;display:flex;flex-direction:column;gap:2px}
.p3-incl li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:32px;font-size:14px;line-height:20px}
.p3-incl li.no{color:#6E6E73}
.p3-incl em{font-style:normal;font-size:12px;line-height:16px;font-weight:600}
.p3-incl li.si svg{color:#1B7A33}
.p3-bonos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.p3-bono{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:16px 20px}
.p3-bono b{font-size:15px;line-height:22px;font-weight:600}
.p3-bono .p3-v{font-size:20px;line-height:24px;font-weight:700;letter-spacing:-.02em}
.p3-bono .tag{justify-self:start}

/* Llamada de admisión */
.p3-llamada{padding:28px 32px 26px;display:flex;flex-direction:column;gap:20px}
.p3-llamada-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 32px}
.p3-linea{display:flex;gap:4px;height:44px}
.p3-seg{display:flex;align-items:center;justify-content:center;min-width:0;border-radius:10px;font-size:14px;font-weight:700;color:#1D1D1F;background:#F4E3E8}
.p3-seg.b{background:#E3B8C5}
.p3-seg.c{background:#C9798F;color:#1D1D1F}
.p3-seg.d{background:#7A1230;color:#fff}
.p3-fases{list-style:none;margin:0;padding:0}
.p3-fase{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);gap:6px 28px;padding:16px 0;border-top:1px solid #E8E8ED}
.p3-fase-n{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.p3-fase h3{margin:0;font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em}
.p3-fase-n .p3-min{font-size:13px;line-height:18px;font-weight:600;color:#6E6E73}
.p3-quedar{padding:12px 14px;border-radius:12px;background:#F4E3E8}
.p3-quedar .p3-lbl{color:#7A1230;margin-bottom:3px}
.p3-obj{list-style:none;margin:0;padding:0}
.p3-obj li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 14px;padding:16px 0;border-top:1px solid #E8E8ED}
.p3-obj li:first-child{border-top:0}
.p3-obj-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.p3-obj-cab b{font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em}
.p3-obj-cab span{font-size:22px;line-height:26px;font-weight:700;letter-spacing:-.02em}
.p3-obj .p3-barra{margin:6px 0 8px}

/* Test: nota */
.p3-nota{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);overflow:hidden}
.p3-nota-izq{display:flex;flex-direction:column;gap:10px;padding:30px 28px;background:#F4E3E8}
.p3-nota-n{margin:0;display:flex;align-items:baseline;gap:8px;color:#7A1230}
.p3-nota-n b{font-size:60px;line-height:64px;font-weight:700;letter-spacing:-.04em}
.p3-nota-n span{font-size:15px;font-weight:600}
.p3-nota-izq .pill{align-self:flex-start;background:#fff}
.p3-nota-der{display:flex;flex-direction:column;padding:12px 32px 14px}
.p3-fac{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid #E8E8ED}
.p3-fac:last-child{border-bottom:0}
.p3-fac-n{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.p3-fac-n b{font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.01em}
.p3-fac-p{font-size:22px;line-height:26px;font-weight:700;letter-spacing:-.02em;text-align:right}
.p3-fac-p small{font-size:13px;font-weight:500;color:#6E6E73}
.p3-fac .p3-barra,.p3-fac .p3-txt,.p3-fac .p3-apoyo{grid-column:1/-1}
.p3-fac .p3-barra{background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 2px),#fff calc(10% - 2px),#fff 10%)}
.p3-cmp{display:flex;flex-direction:column;gap:8px}
.p3-cmp-f{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(0,1fr)) minmax(96px,1fr);gap:8px 12px;align-items:center;padding:12px 16px;border-radius:14px;background:#F5F5F7}
.p3-cmp-f.yo{background:#F4E3E8}
.p3-cmp-f b{font-size:15px;line-height:20px;font-weight:600}
.p3-cmp-f .p3-celda{display:flex;flex-direction:column;gap:0;font-size:17px;line-height:22px;font-weight:700}
.p3-cmp-f .p3-celda small{font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}
.p3-cmp-f .p3-tot{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:22px;line-height:26px;font-weight:700;letter-spacing:-.02em}

/* Mapa: ruta de A a Z */
.p3-ruta{padding:30px 32px}
.p3-ruta-l{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:18px}
.p3-ruta-l::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:#E3B8C5}
.p3-et{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;align-items:start}
.p3-nodo{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#7A1230;color:#fff;font-size:15px;font-weight:700;box-shadow:0 0 0 5px #fff}
.p3-nodo.ab{background:#fff;color:#7A1230;border:2px solid #7A1230}
.p3-punta{display:flex;flex-direction:column;gap:2px;padding-top:2px}
.p3-punta .p3-medio{margin:0;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.p3-etapa{display:flex;flex-direction:column;gap:12px;padding:18px 22px;border-radius:14px;background:#F5F5F7}
.p3-etapa.riesgo{box-shadow:inset 4px 0 0 #C4001A}
.p3-etapa-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px}
.p3-etapa-cab h3{margin:0;font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.02em}
.p3-emo{display:flex;align-items:center;gap:10px;min-width:150px}
.p3-emo .p3-barra{flex:1;min-width:70px}
.p3-emo span{font-size:13px;line-height:18px;font-weight:600;color:#424245;white-space:nowrap}
.p3-etapa dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:0}
.p3-etapa dl>div{min-width:0}
.p3-etapa dl .ancho{grid-column:1/-1}
.p3-etapa dt{margin:0 0 2px;font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}
.p3-etapa dd{margin:0;font-size:15px;line-height:22px}
.p3-etapa dd.dueno{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}

/* Ayudas de Rellenar */
.p3-guia{display:flex;flex-direction:column;gap:16px}
.p3-guia h2{margin:2px 0 0;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.p3-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.p3-pasos li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border-radius:14px;background:#F5F5F7}
.p3-pasos b{font-size:15px;line-height:22px;font-weight:600}
.p3-pasos li>.p3-n{margin-bottom:2px}
.p3-ej{display:flex;flex-direction:column;gap:10px}
.p3-ej h3{margin:0;font-size:15px;line-height:20px;font-weight:600}
.p3-ej p{margin:0;font-size:13px;line-height:19px;color:#6E6E73}
.p3-ej p b{display:block;font-size:12px;line-height:16px;font-weight:600;color:#424245}

/* Tablets y móvil */
@media (max-width:1100px){
.p3-cuerpo{grid-template-columns:minmax(0,1fr)}
.p3-nota{grid-template-columns:minmax(0,1fr)}
.p3-fase{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.p3-fase-n{grid-column:1/-1;flex-direction:row;align-items:baseline;gap:12px}
.p3-cmp-f{grid-template-columns:repeat(4,minmax(0,1fr))}
.p3-cmp-f>b{grid-column:1/-1}
.p3-cmp-f .p3-tot{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
}
@media (max-width:900px){
.p3-hoja-top{padding:22px 20px 4px}
.p3-cuerpo{padding:14px 20px 22px}
.p3-promesa{font-size:28px;line-height:34px}
.p3-banda>div{padding:18px 20px}
.p3-banda>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
.p3-doc,.p3-pila,.p3-llamada,.p3-ruta{padding:22px 18px}
.p3-q{grid-template-columns:minmax(0,1fr);gap:6px}
.p3-razon{align-items:flex-start;text-align:left}
.p3-ent li{grid-template-columns:28px minmax(0,1fr) auto}
.p3-ent .p3-cuando{grid-column:2;justify-self:start;grid-row:2}
.p3-ent .p3-v{grid-column:3;grid-row:1}
.p3-ent .p3-barra{grid-column:1/-1}
.p3-fase{grid-template-columns:minmax(0,1fr)}
.p3-nota-izq{padding:22px 20px}
.p3-nota-der{padding:8px 18px 10px}
.p3-nota-n b{font-size:48px;line-height:52px}
.p3-etapa{padding:16px}
.p3-etapa dl{grid-template-columns:minmax(0,1fr)}
.p3-et{grid-template-columns:32px minmax(0,1fr);gap:12px}
.p3-nodo{width:32px;height:32px;font-size:13px}
.p3-ruta-l::before{left:15px}
.p3-bonos{grid-template-columns:minmax(0,1fr)}
.p3-comps,.p3-opciones,.p3-meses,.p3-planes{grid-template-columns:minmax(0,1fr)}
.p3-banda{grid-template-columns:minmax(0,1fr)}
.p3-linea{height:38px}
}
@media (prefers-reduced-motion:reduce){.p3-barra b{animation:none}}
