/* icbp.org.pe/postula (2026-11-05): puestos y postulación en línea, sobre el tema claro de la portada (icbp-claro.css). */
.postula .cab { background: rgba(255, 255, 255, .82); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); box-shadow: 0 1px 0 var(--linea); }

.p-heroe { background: var(--claro); padding: 140px 0 clamp(2.5rem, 6vw, 4rem); }
.p-heroe-fin { min-height: 70svh; display: flex; align-items: center; }
.p-antetitulo { font-family: var(--serif); font-style: italic; color: var(--tinta-2); margin-bottom: .9rem; }
.p-antetitulo a { color: var(--violeta); text-decoration: none; }
.p-titulo { font-family: var(--cond); font-weight: 900; text-transform: uppercase; font-size: clamp(2.6rem, 8vw, 6rem); line-height: .92; letter-spacing: -.015em;
    background: var(--texto-degradado); -webkit-background-clip: text; background-clip: text; color: transparent; padding-top: .1em; margin-bottom: 1.4rem; max-width: 18ch; }
.p-titulo .punto { -webkit-text-fill-color: initial; }
.p-titulo-puesto { font-size: clamp(2rem, 5.2vw, 4.2rem); max-width: 24ch; }
.p-entrada { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--tinta-2); max-width: 46rem; margin-bottom: 1.8rem; }
.p-entrada a { color: var(--violeta); }
.p-chips { list-style: none; padding: 0; margin: 0 0 1.8rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.p-chips li { font-family: var(--cond); font-weight: 700; font-size: .98rem; padding: .35rem .9rem; border-radius: 999px; background: rgba(255, 255, 255, .8); border: 1px solid rgba(91, 79, 207, .2); color: var(--indigo); }
.p-cerrado { font-family: var(--cond); font-weight: 700; color: #a23b2a; }

.p-bloque { padding-block: clamp(3rem, 7vw, 5.5rem); }
.p-vacio { text-align: center; padding: 3rem 1rem; color: var(--tinta-2); }
.p-vacio h2 { font-family: var(--cond); font-weight: 700; color: var(--tinta); margin-bottom: .5rem; }
.p-puestos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 1.25rem; }
.p-tarjeta { display: flex; flex-direction: column; gap: .7rem; text-decoration: none; background: #fff; border: 1px solid rgba(91, 79, 207, .16); border-radius: 22px; padding: 1.6rem 1.6rem 1.4rem;
    box-shadow: 0 18px 50px -34px rgba(40, 35, 93, .45); transition: transform .2s, box-shadow .2s; position: relative; overflow: hidden; }
.p-tarjeta::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--indigo), var(--violeta) 65%, var(--ambar)); }
.p-tarjeta:hover { transform: translateY(-2px); box-shadow: 0 24px 60px -30px rgba(40, 35, 93, .5); }
.p-empresa { font-family: var(--serif); font-style: italic; color: var(--tinta-2); font-size: .98rem; }
.p-tarjeta-titulo { font-family: var(--cond); font-weight: 700; font-size: 1.55rem; line-height: 1.12; color: var(--tinta); }
.p-datos { display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .95rem; color: var(--tinta-2); }
.p-ir { margin-top: auto; padding-top: .6rem; font-family: var(--cond); font-weight: 700; color: var(--violeta); display: inline-flex; align-items: center; gap: .5rem; }
.p-ir i { width: 10px; height: 9px; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }

.p-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
@media (max-width: 900px) { .p-rejilla { grid-template-columns: 1fr; } .p-ficha { order: -1; } }
.p-texto .rotulo { margin: 2.4rem 0 .8rem; }
.p-texto .rotulo:first-child { margin-top: 0; }
.p-prosa { font-size: 1.08rem; line-height: 1.7; }
.p-prosa p + p { margin-top: 1rem; }
.p-prosa ul { padding-left: 1.2rem; margin: .5rem 0; }
.p-aptitudes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.p-aptitudes li { font-size: .92rem; padding: .32rem .8rem; border-radius: 999px; background: linear-gradient(90deg, rgba(91, 79, 207, .1), rgba(227, 161, 59, .1)); color: var(--indigo); }
.p-ficha { position: sticky; top: 100px; background: #fff; border: 1px solid rgba(91, 79, 207, .16); border-radius: 22px; padding: 1.5rem; box-shadow: 0 18px 50px -34px rgba(40, 35, 93, .45); }
.p-ficha h2 { font-family: var(--cond); font-weight: 700; font-size: 1.2rem; text-transform: uppercase; letter-spacing: .03em; color: var(--indigo); margin-bottom: 1rem; }
.p-ficha dl { margin: 0; display: grid; gap: .85rem; }
.p-ficha dt { font-size: .82rem; color: var(--tinta-2); }
.p-ficha dd { margin: 0; font-weight: 500; }
@media (max-width: 900px) { .p-ficha { position: static; } }

/* Formulario */
.p-postular { background: var(--lavanda); }
.p-form { max-width: 880px; margin-inline: auto; background: #fff; border-radius: 26px; border: 1px solid rgba(91, 79, 207, .16); padding: clamp(1.4rem, 4vw, 2.75rem);
    box-shadow: 0 30px 80px -40px rgba(40, 35, 93, .35); }
.p-form-corto { max-width: 560px; margin: 1.5rem 0 0; }
.p-form-cab h2 { font-family: var(--cond); font-weight: 900; text-transform: uppercase; font-size: clamp(1.6rem, 3.5vw, 2.3rem); background: var(--texto-degradado); -webkit-background-clip: text; background-clip: text; color: transparent; }
.p-form-cab p { color: var(--tinta-2); margin: .35rem 0 1.4rem; }
.p-form fieldset { border: 0; padding: 0; margin: 0 0 1.8rem; }
.p-form legend { font-family: var(--cond); font-weight: 700; font-size: 1.2rem; color: var(--tinta); margin-bottom: 1rem; display: flex; align-items: center; gap: .6rem; }
.p-form legend span { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; font-size: .95rem; color: #fff; background: linear-gradient(135deg, var(--indigo), var(--violeta)); }
.f-fila { display: grid; gap: 1rem; margin-bottom: 1rem; }
.f-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.f-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 720px) { .f-2, .f-3 { grid-template-columns: 1fr; } }
.f-campo { display: flex; flex-direction: column; gap: .35rem; font-size: .95rem; }
.f-campo > span { font-weight: 500; color: var(--tinta); }
.f-campo small { color: var(--tinta-2); font-size: .82rem; line-height: 1.4; }
.f-campo small a { color: var(--violeta); }
.f-opcional { font-weight: 400; }
.req { color: #c2410c; }
.p-form input:not([type=checkbox]):not([type=file]), .p-form select, .p-form textarea { font: inherit; font-weight: 400; font-size: 1rem; color: var(--tinta); background: #fbfbfe;
    border: 1px solid rgba(40, 35, 93, .22); border-radius: 12px; padding: .7rem .85rem; width: 100%; transition: border-color .15s, box-shadow .15s; }
.p-form textarea { resize: vertical; min-height: 6rem; }
.p-form input:focus, .p-form select:focus, .p-form textarea:focus { outline: none; border-color: var(--violeta); box-shadow: 0 0 0 4px rgba(91, 79, 207, .15); background: #fff; }
.p-form [aria-invalid="true"] { border-color: #c2410c !important; }
.f-error { color: #b42318; font-size: .86rem; margin: 0; }
.p-alerta { background: #fff4ed; border: 1px solid #fdba8c; color: #8a2c0d; border-radius: 14px; padding: .85rem 1rem; margin-bottom: 1.4rem; }
.f-zona { position: relative; display: flex; flex-direction: column; gap: .2rem; align-items: flex-start; padding: 1rem 1.1rem; border: 1.5px dashed rgba(91, 79, 207, .45);
    border-radius: 14px; background: linear-gradient(90deg, rgba(91, 79, 207, .05), rgba(227, 161, 59, .05)); cursor: pointer; transition: background .15s, border-color .15s; }
.f-zona:hover { border-color: var(--violeta); }
.f-zona input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.f-zona strong { font-family: var(--cond); font-weight: 700; color: var(--indigo); }
.f-zona em { font-style: normal; font-size: .88rem; color: var(--tinta-2); word-break: break-word; }
.f-zona.listo { border-style: solid; border-color: #2f9e6b; background: rgba(47, 158, 107, .07); }
.f-zona.listo em { color: #1f6f4a; }
.f-archivo.con-error .f-zona { border-color: #c2410c; }
.f-check { display: flex; gap: .7rem; align-items: flex-start; font-size: .92rem; color: var(--tinta-2); margin-bottom: .5rem; }
.f-check input { margin-top: .25rem; width: 1.15rem; height: 1.15rem; accent-color: var(--violeta); flex: none; }
.f-check.con-error span { color: #b42318; }
.f-enviar { margin-top: 1.6rem; }
.f-enviar .boton[disabled] { opacity: .7; cursor: progress; }
.f-trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.f-pregunta { margin-bottom: 1.1rem; }
.f-numero { max-width: 14rem; }
.f-sino { display: flex; gap: .6rem; }
.f-sino label { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1.1rem; border: 1px solid rgba(40, 35, 93, .22); border-radius: 999px; background: #fbfbfe; cursor: pointer; font-weight: 500; }
.f-sino label:has(input:checked) { border-color: var(--violeta); background: rgba(91, 79, 207, .1); color: var(--indigo); }
.f-sino input { accent-color: var(--violeta); }

/* Invitación a conocer Evangelio.pe: logo, redes y capturas (2026-11-05) */
.p-evangelio { background: #fff; border-top: 1px solid var(--linea); }
.p-ev-cab { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; margin-bottom: clamp(2rem, 5vw, 3rem); }
@media (max-width: 760px) { .p-ev-cab { grid-template-columns: 1fr; } .p-ev-logo { max-width: 180px; } }
.p-ev-logo img { width: 100%; height: auto; }
.p-ev-titulo { font-family: var(--cond); font-weight: 900; text-transform: uppercase; font-size: clamp(1.6rem, 3.6vw, 2.5rem); line-height: 1; background: var(--texto-degradado); -webkit-background-clip: text; background-clip: text; color: transparent; padding-top: .08em; margin-bottom: .8rem; }
.p-ev-texto { color: var(--tinta-2); font-size: 1.08rem; max-width: 46rem; margin-bottom: 1.1rem; }
.p-ev-texto a { color: #e6007e; font-weight: 500; }
.p-redes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.p-red { display: inline-flex; align-items: center; gap: .45rem; text-decoration: none; font-family: var(--cond); font-weight: 700; font-size: .98rem; color: #fff; padding: .5rem 1rem; border-radius: 999px; transition: transform .15s, box-shadow .15s; }
.p-red:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .5); }
.p-red .bi { font-size: 1.05rem; }
.p-red-web { background: #e6007e; }
.p-red-instagram { background: linear-gradient(45deg, #f09433, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888); }
.p-red-tiktok { background: #111; }
.p-red-facebook { background: #1877f2; }
.p-red-x { background: #000; }
.p-red-youtube { background: #ff0000; }
.p-capturas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
@media (max-width: 1000px) { .p-capturas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .p-capturas { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; } .p-captura { flex: 0 0 78%; scroll-snap-align: start; } }
.p-captura { display: flex; flex-direction: column; gap: .6rem; text-decoration: none; color: var(--tinta); }
.p-captura-marco { display: block; height: 340px; overflow: hidden; border-radius: 22px; border: 6px solid #15132b; background: #fff; box-shadow: 0 24px 50px -30px rgba(40, 35, 93, .55); transition: transform .2s; }
.p-captura:hover .p-captura-marco { transform: translateY(-3px); }
.p-captura-marco img { width: 100%; height: auto; display: block; }
.p-captura-pie { font-family: var(--cond); font-weight: 700; color: var(--indigo); display: inline-flex; align-items: center; gap: .4rem; }
.p-chips li.p-chip-urgente { color: #3a2400; background: linear-gradient(135deg, var(--ambar-2), var(--ambar)); border-color: transparent; }
