/*!
 * Plugin Postulaciones CPP: estilos del formulario. Todo está limitado a .cpp-post para no chocar con el tema.
 * Colores y tipografía del sitio nuevo: verde #004C23, blanco hueso #FCFDF9, gris azulado #C8D1D9 y Montserrat.
 */
.cpp-post{
  --f-cuerpo:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--bg:#FCFDF9;--panel:#FFFFFF;--panel-2:#EEF2F5;--borde:rgba(0,76,35,.16);
  --dorado:#004C23;--verde:#004C23;--verde-oscuro:#004C23;--rojo:#A32638;--texto:#1F2A22;--texto-suave:#4B564D;
}
.cpp-post{font-family:var(--f-cuerpo);color:var(--texto);line-height:1.65;background:var(--bg);padding:28px 20px 60px;box-sizing:border-box;}
.cpp-post *,.cpp-post *::before,.cpp-post *::after{box-sizing:border-box;}
.cpp-post > .ph{max-width:940px;margin-left:auto;margin-right:auto;}
.cpp-post img{max-width:100%;}
.cpp-post a{text-decoration:none;color:inherit;}
.cpp-post h1,.cpp-post h2,.cpp-post h3,.cpp-post p,.cpp-post ul,.cpp-post dl,.cpp-post dd,.cpp-post dt{margin:0;padding:0;}
.cpp-post button{font-family:inherit;}
/* el tema puede pintar los campos: se fuerzan los del formulario */
.cpp-post .pf input[type="text"],.cpp-post .pf input[type="email"],.cpp-post .pf input[type="tel"],.cpp-post .pf input[type="date"],.cpp-post .pf select,.cpp-post .pf textarea{
  box-shadow:none;margin:0;height:auto;min-height:0;border-radius:0;color:var(--texto);font-family:var(--f-cuerpo);
}
.cpp-post .pf textarea{height:auto;}
.cpp-post .cpp-cerrado{border-left-color:var(--rojo);background:#fff;}
.cpp-post .cpp-cerrado[hidden]{display:none;}
.cpp-post .cpp-prueba{border-left-color:var(--verde);}
.cpp-post .ps-btn[disabled]{opacity:.6;cursor:progress;}
.cpp-post .ps-enviando{margin-top:12px;color:var(--texto-suave);font-size:.95rem;}
.cpp-post .ps-enviando:empty{display:none;}
.cpp-post .ps-barra{height:6px;background:var(--panel-2);margin-top:8px;overflow:hidden;}
.cpp-post .ps-barra i{display:block;height:100%;width:0;background:var(--dorado);transition:width 200ms linear;}
/* membrete: banda verde con el logo blanco */
.cpp-post .ph-banda{display:flex;align-items:center;gap:16px;background:var(--verde);color:#fff;padding:16px clamp(20px,5vw,60px);}
.cpp-post .ph-banda .m-cpp{height:clamp(54px,8vw,76px);width:auto;flex:none;}
.cpp-post .ph-banda .m-nombre{font-weight:700;font-size:clamp(.78rem,1.5vw,1rem);line-height:1.15;letter-spacing:.02em;}

/* ---- formulario ---- */
.cpp-post .ph{background:#fff;border:1px solid var(--borde);box-shadow:0 26px 60px rgba(21,63,36,.12);}
.cpp-post .ph-franja{height:8px;background:var(--verde);}
.cpp-post .ph-in{padding:38px clamp(20px,5vw,60px) 44px;}
.cpp-post .ph-eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dorado);margin-bottom:8px;}
.cpp-post .ph h1{font-family:var(--f-cuerpo);font-weight:400;line-height:1.1;letter-spacing:-.01em;
  font-size:clamp(1.8rem,4.4vw,2.7rem);color:var(--verde-oscuro);
  padding-left:20px;border-left:5px solid var(--dorado);margin:14px 0 10px;}
.cpp-post .ph-sub{color:var(--texto-suave);padding-left:25px;}
.cpp-post .ph-nota{margin:22px 0 4px;padding:14px 18px;background:var(--bg);border-left:4px solid var(--dorado);font-size:.95rem;color:var(--texto);}
.cpp-post .ps{margin-top:40px;}
.cpp-post .ps-h{display:flex;align-items:baseline;gap:14px;font-family:var(--f-cuerpo);font-weight:400;
  font-size:clamp(1.3rem,2.6vw,1.6rem);color:var(--verde);padding-bottom:10px;margin-bottom:22px;border-bottom:1px solid var(--borde);}
.cpp-post #postForm{counter-reset:ps;}
.cpp-post .ps{counter-increment:ps;}
.cpp-post .ps-h::before{content:counter(ps,upper-roman) ".";flex:none;min-width:2.4ch;color:var(--dorado);font-weight:700;letter-spacing:.04em;}
.cpp-post .ps-sub{font-family:var(--f-cuerpo);font-size:1.08rem;color:var(--verde-oscuro);margin:30px 0 14px;}
.cpp-post .pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 34px;}
.cpp-post .pf-full{grid-column:1 / -1;}
.cpp-post .pf{display:flex;flex-direction:column;gap:3px;min-width:0;border:0;}
.cpp-post .pf-l{font-family:var(--f-cuerpo);font-size:.84rem;letter-spacing:.02em;color:var(--verde-oscuro);}
.cpp-post .pf.req > .pf-l::after,.cpp-post .pf.req > legend::after{content:" *";color:var(--rojo);}
.cpp-post .pf input[type="text"],.cpp-post .pf input[type="email"],.cpp-post .pf input[type="tel"],.cpp-post .pf input[type="date"],.cpp-post .pf select,.cpp-post .pf textarea{width:100%;font:inherit;font-size:1rem;color:var(--texto);background:transparent;border:0;border-radius:0;
  border-bottom:1.5px solid rgba(21,63,36,.34);padding:9px 2px;transition:border-color 200ms ease,box-shadow 200ms ease;}
.cpp-post .pf select{appearance:none;cursor:pointer;padding-right:26px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231E5631' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 4px center;}
.cpp-post .pf textarea{border:1.5px solid rgba(21,63,36,.26);background:#FBF9F3;padding:11px 13px;min-height:92px;resize:vertical;line-height:1.5;}
.cpp-post .pf input::placeholder,.cpp-post .pf textarea::placeholder{color:rgba(31,42,34,.38);}
.cpp-post .pf input:focus,.cpp-post .pf select:focus,.cpp-post .pf textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 2px 0 var(--dorado);}
.cpp-post .pf textarea:focus{box-shadow:0 0 0 3px rgba(201,154,46,.28);}
.cpp-post .pf.err input,.cpp-post .pf.err select,.cpp-post .pf.err textarea{border-color:var(--rojo);}
.cpp-post .pf-err{color:var(--rojo);font-size:.82rem;line-height:1.35;min-height:0;}
.cpp-post .pf-err:empty{display:none;}
.cpp-post .pf-cond[hidden]{display:none;}
.cpp-post .pf-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:6px;}
.cpp-post .pf-opts.dos{grid-template-columns:repeat(2,minmax(0,160px));}
.cpp-post .pf-opt{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1.5px solid var(--borde);background:#fff;cursor:pointer;line-height:1.35;transition:border-color 200ms ease,background 200ms ease;}
.cpp-post .pf-opt:hover{border-color:var(--verde);}
.cpp-post .pf-opt:has(input:checked){border-color:var(--verde);background:#F1F5EE;}
.cpp-post .pf-opt:has(input:focus-visible){outline:2px solid var(--dorado);outline-offset:2px;}
.cpp-post .pf-opt input{accent-color:var(--verde);width:18px;height:18px;flex:none;}
.cpp-post .pf.err .pf-opt{border-color:var(--rojo);}
.cpp-post .ps-pago{margin:6px 0 4px;padding:18px 22px;background:var(--bg);border-left:4px solid var(--dorado);font-size:1.08rem;line-height:1.5;}
.cpp-post .ps-pago strong{color:var(--verde-oscuro);white-space:nowrap;}
.cpp-post .up{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;padding:20px 0;border-bottom:1px solid var(--borde);}
.cpp-post .up:first-of-type{border-top:1px solid var(--borde);}
.cpp-post .up-n{width:34px;height:34px;display:grid;place-items:center;background:var(--verde);color:var(--bg);font-family:var(--f-cuerpo);}
.cpp-post .up-t{align-self:center;min-width:0;}
.cpp-post .up-tt{font-size:1.02rem;line-height:1.4;color:var(--texto);}
.cpp-post .up-fila{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:5px;}
.cpp-post .up-tag{padding:2px 9px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#EDE8DA;color:var(--verde);}
.cpp-post .up-nota{font-size:.88rem;color:var(--texto-suave);}
.cpp-post .up-slots{grid-column:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;}
.cpp-post .up-slot{position:relative;display:flex;align-items:center;gap:13px;min-height:76px;padding:12px 16px;border:1.5px dashed rgba(21,63,36,.42);background:#FBF9F3;cursor:pointer;transition:border-color 200ms ease,background 200ms ease;}
.cpp-post .up-slot:hover,.cpp-post .up-slot.drag{border-color:var(--verde);background:#F1F5EE;}
.cpp-post .up-slot input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0;}
.cpp-post .up-ico{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--dorado);border-radius:50%;color:var(--verde);}
.cpp-post .up-txt{min-width:0;font-size:.92rem;line-height:1.3;color:var(--texto);}
.cpp-post .up-l1{font-family:var(--f-cuerpo);color:var(--verde-oscuro);font-size:.98rem;}
.cpp-post .up-l2{color:var(--texto-suave);font-size:.82rem;}
.cpp-post .up-slot [hidden]{display:none !important;}
.cpp-post .up-slot.procesando{opacity:.55;pointer-events:none;}
.cpp-post .up-slot.has-file{border-style:solid;border-color:var(--verde);background:#F1F5EE;}
.cpp-post .up-thumb{flex:none;width:52px;height:52px;object-fit:cover;border:1px solid var(--borde);background:#fff;}
.cpp-post .up-pdf{flex:none;width:52px;height:52px;display:grid;place-items:center;background:var(--verde-oscuro);color:var(--bg);font-size:.72rem;font-weight:700;letter-spacing:.08em;}
.cpp-post .up-name{display:block;font-weight:700;color:var(--verde-oscuro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cpp-post .up-meta{display:block;font-size:.8rem;color:var(--texto-suave);}
.cpp-post .up-rm{position:relative;z-index:2;flex:none;margin-left:auto;width:34px;height:34px;border:1.5px solid var(--borde);background:#fff;color:var(--texto-suave);cursor:pointer;display:grid;place-items:center;transition:border-color 200ms ease,color 200ms ease;}
.cpp-post .up-rm:hover{border-color:var(--rojo);color:var(--rojo);}
.cpp-post .up-err{grid-column:2;color:var(--rojo);font-size:.84rem;line-height:1.35;}
.cpp-post .up-err:empty{display:none;}
.cpp-post .up.err .up-slot{border-color:var(--rojo);}
.cpp-post .ps-decl{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;background:var(--bg);border-left:4px solid var(--dorado);cursor:pointer;line-height:1.55;}
.cpp-post .ps-decl input{accent-color:var(--verde);width:20px;height:20px;flex:none;margin-top:3px;}
.cpp-post .ps-decl-err{color:var(--rojo);font-size:.84rem;margin-top:6px;}
.cpp-post .ps-decl-err:empty{display:none;}
.cpp-post .ps-enviar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:26px;}
.cpp-post .ps-btn{display:inline-flex;align-items:center;gap:12px;cursor:pointer;border:2px solid var(--verde-oscuro);background:var(--verde-oscuro);color:var(--bg);
  padding:16px 34px;font-family:var(--f-cuerpo);font-size:1.1rem;letter-spacing:.02em;transition:background 200ms ease,color 200ms ease;}
.cpp-post .ps-btn:hover,.cpp-post .ps-btn:focus-visible{background:var(--bg);color:var(--verde-oscuro);}
.cpp-post .ps-resumen{color:var(--rojo);font-size:.95rem;}
.cpp-post .ps-resumen:empty{display:none;}
.cpp-post .ps-ok{text-align:center;padding:40px 8px 20px;}
.cpp-post .ps-ok[hidden]{display:none;}
.cpp-post .ps-ok svg{color:var(--verde);margin-bottom:14px;}
.cpp-post .ps-ok h2{font-family:var(--f-cuerpo);font-weight:400;font-size:clamp(1.8rem,4vw,2.4rem);color:var(--verde-oscuro);margin-bottom:12px;}
.cpp-post .ps-ok p{max-width:48ch;margin:0 auto 10px;color:var(--texto-suave);}
.cpp-post .ps-ok .ref{color:var(--verde);letter-spacing:.06em;font-weight:700;}
.cpp-post .ps-ok .ps-btn{margin-top:18px;}
.cpp-post .ph-pie{margin-top:44px;padding-top:22px;border-top:1px solid var(--borde);position:relative;}
.cpp-post .ph-pie::before{content:"";position:absolute;left:0;top:-1px;width:92px;height:3px;background:var(--dorado);}
.cpp-post .ph-pie .rotulo{font-weight:700;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dorado);margin-bottom:10px;}
.cpp-post .ph-pie .datos{display:flex;flex-wrap:wrap;gap:10px 44px;}
.cpp-post .ph-pie .dato{display:flex;align-items:center;gap:10px;font-family:var(--f-cuerpo);font-size:1.05rem;color:var(--verde-oscuro);}
.cpp-post .ph-pie svg{width:18px;height:18px;color:var(--verde);flex:none;}
@media (max-width:760px){.cpp-post .pf-grid{grid-template-columns:1fr;gap:20px;}
.cpp-post .ph-in{padding:26px 18px 34px;}
.cpp-post .ph h1{padding-left:14px;border-left-width:4px;}
.cpp-post .ph-sub{padding-left:18px;}
.cpp-post .up{grid-template-columns:1fr;}
.cpp-post .up-slots,.cpp-post .up-err{grid-column:1;}
.cpp-post .up-n{display:none;}
.cpp-post .ps-btn{width:100%;justify-content:center;}}
@media (prefers-reduced-motion:reduce){.cpp-post .pf input,.cpp-post .pf select,.cpp-post .pf textarea,.cpp-post .up-slot,.cpp-post .pf-opt{transition:none;}}

/* ---- datos bancarios ---- */
.cpp-post .adm-banco{margin-top:20px;background:var(--verde-oscuro);color:var(--bg);border-bottom:5px solid var(--dorado);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 40px;align-items:center;padding:34px 38px;}
.cpp-post .adm-banco-datos{display:flex;flex-direction:column;gap:14px;}
.cpp-post .adm-banco-datos div{display:flex;flex-direction:column;gap:2px;}
.cpp-post .adm-banco-datos dt{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:#C8D1D9;}
.cpp-post .adm-banco-datos dd{font-size:1.2rem;line-height:1.35;color:var(--bg);}
.cpp-post .adm-banco-logo{display:flex;align-items:center;justify-content:center;}
.cpp-post .adm-banco-logo img{width:300px;max-width:100%;height:auto;}
@media (max-width:700px){.cpp-post .adm-banco{grid-template-columns:1fr;padding:26px 22px;}
.cpp-post .adm-banco-logo{order:-1;justify-self:start;}
.cpp-post .adm-banco-logo img{width:240px;}}
