/*!
 * Plugin Postulaciones CPP: página del formulario con el diseño del sitio nuevo.
 * Encabezado verde con el logo animado, menú y pie de contacto. Mismos colores y tipografía que el sitio (verde #004C23,
 * blanco hueso #FCFDF9, Montserrat). Se usa solo cuando la página lleva [cpp_postulacion] y la opción está activa.
 */
:root{--cpa-verde:#004C23;--cpa-hueso:#FCFDF9;--cpa-alto:66px;}
html{scroll-padding-top:var(--cpa-alto);-webkit-text-size-adjust:100%;}
body.cpa{margin:0;font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--cpa-verde);background:var(--cpa-hueso);line-height:1.5;overflow-x:hidden;}
body.cpa *,body.cpa *::before,body.cpa *::after{box-sizing:border-box;}
body.cpa img,body.cpa svg{display:block;max-width:100%;}
/* sin peso de especificidad para que los colores de cada bloque (blanco sobre verde) manden */
:where(body.cpa) a{color:inherit;text-decoration:none;}
body.cpa :focus-visible{outline:3px solid #C99A2E;outline-offset:3px;}

/* ---------- encabezado ---------- */
.cpa-top{position:sticky;top:0;z-index:50;background:var(--cpa-verde);}
.cpa-top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;max-width:1280px;margin:0 auto;}
.cpa-brand{display:flex;align-items:center;gap:10px;color:#fff;}
.cpa-logo{position:relative;flex:none;aspect-ratio:345 / 400;height:46px;cursor:pointer;}
.cpa-logo .pz{position:absolute;height:auto;max-width:none;display:block;animation:cpa-pz-join 1.5s cubic-bezier(.2,.85,.25,1) both;animation-delay:var(--d,0s);will-change:transform,opacity;}
.cpa-logo .pz-globo {--d:.00s;--fx:0;    --fy:0;     --fr:0deg;   --fs:.35;transform-origin:50% 50%;}
.cpa-logo .pz-libro {--d:.35s;--fx:0;    --fy:70%;   --fr:0deg;   --fs:.8;}
.cpa-logo .pz-figura{--d:.65s;--fx:0;    --fy:-80%;  --fr:0deg;   --fs:.9;}
.cpa-logo .pz-texto {--d:.95s;--fx:0;    --fy:0;     --fr:-200deg;--fs:.7;transform-origin:50.5% 57%;}
.cpa-logo .pz-paloma{--d:1.45s;--fx:140%;--fy:-120%; --fr:25deg;  --fs:.6;}
@keyframes cpa-pz-join{
  0%  {opacity:0;transform:translate(var(--fx),var(--fy)) rotate(var(--fr)) scale(var(--fs));}
  55% {opacity:1;}
  100%{opacity:1;transform:none;}
}
.cpa-brand-name{font-weight:700;font-size:12px;line-height:1.1;letter-spacing:.01em;}
.cpa-burger{display:grid;gap:5px;width:44px;height:44px;place-content:center;background:none;border:0;cursor:pointer;padding:0;}
.cpa-burger span{display:block;width:26px;height:3px;border-radius:2px;background:#fff;transition:transform .25s,opacity .25s;}
.cpa-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.cpa-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.cpa-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.cpa-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cpa-verde);padding:6px 18px 22px;border-top:1px solid rgba(255,255,255,.18);box-shadow:0 18px 30px rgba(0,0,0,.25);}
.cpa-menu.is-open{display:block;}
.cpa-menu > a{display:block;padding:14px 4px;color:#fff;font-weight:700;font-size:15px;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.14);}
.cpa-redes{display:flex;gap:14px;padding-top:18px;}
.cpa-ico{display:block;width:28px;height:28px;flex:none;}
.cpa-ico svg{width:100%;height:100%;}

/* ---------- selector de idioma ---------- */
.lang{display:flex;gap:8px;padding-top:16px;}
.lang button{font:700 13px 'Montserrat',system-ui,sans-serif;color:#fff;background:none;border:1.5px solid rgba(255,255,255,.55);border-radius:999px;padding:6px 14px;cursor:pointer;line-height:1.2;transition:background .2s,color .2s;}
.lang button:hover{background:rgba(255,255,255,.18);}
.lang button[aria-pressed="true"]{background:#fff;color:var(--cpa-verde);border-color:#fff;}
html[lang="ko"] body.cpa,html[lang="ko"] .cpp-post{font-family:'Montserrat','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;}

/* ---------- formulario dentro de la página ---------- */
.cpa-main{min-height:60vh;}
body.cpa .cpp-post{padding-top:34px;}
body.cpa .cpp-post .ph-banda{display:none;}        /* el logo ya está en el encabezado de la página */
body.cpa .cpp-post .ph{border-top:6px solid var(--cpa-verde);}

/* ---------- pie de contacto ---------- */
.cpa-pie{background:var(--cpa-verde);color:#fff;border-top:1px solid rgba(255,255,255,.22);}
.cpa-pie-in{max-width:1000px;margin:0 auto;padding:44px 22px 48px;display:grid;gap:26px;}
.cpa-pie-col{display:flex;flex-direction:column;gap:18px;}
.cpa-escribinos{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;}
.cpa-escribinos h2{margin:0 6px 0 0;font-size:28px;font-weight:700;color:#fff;line-height:1.2;}
.cpa-escribinos .cpa-ico{width:30px;height:30px;}
.cpa-tel{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;color:#fff;}
.cpa-tel .cpa-ico-wa{width:36px;height:36px;}
.cpa-mail{margin:0;font-size:22px;font-weight:700;}
.cpa-mail a:hover{text-decoration:underline;}
.cpa-pie address{font-style:normal;font-weight:700;font-size:clamp(13.5px,4vw,17px);line-height:1.45;}
.cpa-dir{display:block;margin-top:8px;}

.cpa-creditos{color:#C8D1D9;}
.cpa-creditos-in{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 22px 22px;text-align:center;font-size:12px;line-height:1.45;max-width:1000px;margin:0 auto;}
.cpa-creditos p{margin:0;}
.cpa-creditos a{font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.cpa-creditos a:hover{text-decoration-thickness:2px;color:#fff;}

/* ---------- tablet y escritorio ---------- */
@media (max-width:399px){
  .cpa-brand-name{font-size:11px;}
  .cpa-top-in{padding-left:14px;padding-right:10px;}
}
@media (min-width:760px){
  .cpa-pie-in{grid-template-columns:1fr 1fr;gap:30px 60px;align-items:start;}
  .cpa-creditos-in{flex-direction:row;justify-content:space-between;text-align:left;padding:0 22px 22px;gap:20px;}
}
@media (min-width:1000px){
  :root{--cpa-alto:78px;}
  .cpa-top-in{padding:12px 28px;}
  .cpa-logo{height:58px;}
  .cpa-brand-name{font-size:15px;line-height:1.05;}
  .cpa-burger{display:none;}
  .cpa-menu{display:flex;align-items:center;gap:30px;position:static;background:none;padding:0;border:0;box-shadow:none;}
  .cpa-menu > a{padding:8px 2px;border:0;font-size:12.5px;letter-spacing:.03em;white-space:nowrap;}
  .cpa-menu > a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;}
  .cpa-redes{padding:0;gap:10px;}
  .cpa-menu > .lang{padding:0;gap:6px;margin-left:6px;}
  .lang button{font-size:11px;padding:3px 9px;border-width:1px;}
  .cpa-redes .cpa-ico{width:22px;height:22px;}
}
@media (prefers-reduced-motion:reduce){
  .cpa-logo .pz{animation:none;}
  .cpa-burger span{transition:none;}
}
