/* === PROPUESTAS: tokens compartidos, 15px cuerpo / 13px labels === */
.propuesta-publica { margin:0; padding:0; font:var(--cp-fw-regular) var(--cp-fs-md)/var(--cp-lh-relaxed) var(--cp-font-body); color:var(--cp-navy-dark); background:radial-gradient(ellipse at top left, var(--cp-blue-light), transparent 65%),var(--cp-bg); min-height:100vh; }
.pr-wrap { max-width:960px; margin:auto; padding:var(--cp-sp-8) var(--cp-sp-4); }
.pr-marca { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:var(--cp-sp-3); margin-bottom:var(--cp-sp-8); }
.pr-marca img { max-width:150px; max-height:56px; object-fit:contain; }
.pr-marca img[hidden], .pr-panel [hidden], .pr-wrap [hidden] { display:none; }
.pr-card, .pr-panel { background:var(--cp-surface); border:1px solid var(--cp-blue-light); border-radius:var(--cp-radius-xl); padding:var(--cp-sp-6); box-shadow:var(--cp-shadow-1),var(--cp-shadow-brand); }
.pr-wrap h1 { font:var(--cp-fw-extrabold) var(--cp-fs-display)/var(--cp-lh-tight) var(--cp-font-display); letter-spacing:var(--cp-ls-tight); margin:0 0 var(--cp-sp-4); overflow-wrap:anywhere; }
.pr-wrap h2, .pr-panel h3 { font:var(--cp-fw-semibold) var(--cp-fs-xl)/var(--cp-lh-snug) var(--cp-font-body); color:var(--cp-navy); margin:0 0 var(--cp-sp-4); }
.pr-wrap p, .pr-panel p { font-size:var(--cp-fs-base); font-weight:var(--cp-fw-regular); }
.pr-importe { font-size:var(--cp-fs-2xl); font-weight:var(--cp-fw-semibold); }
.pr-pasos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:var(--cp-sp-3); padding:0; margin:var(--cp-sp-6) 0; }
.pr-pasos li { border-top:3px solid var(--cp-blue-light); padding-top:var(--cp-sp-3); font-size:var(--cp-fs-sm); }
.pr-pasos li[aria-current="step"] { border-color:var(--cp-navy); }
.pr-pasos strong, .pr-pasos span { display:block; }
.pr-pasos strong { font-weight:var(--cp-fw-semibold); }
.pr-pasos span { font-weight:var(--cp-fw-regular); }
.pr-btn { display:inline-block; box-sizing:border-box; min-height:44px; padding:var(--cp-sp-3) var(--cp-sp-4); border:1px solid var(--cp-navy); border-radius:var(--cp-radius-md); color:var(--cp-surface); background:var(--cp-navy); font:var(--cp-fw-semibold) var(--cp-fs-sm)/var(--cp-lh-normal) var(--cp-font-body); text-decoration:none; cursor:pointer; transition:box-shadow 240ms ease,transform 240ms ease; }
.pr-btn:hover { box-shadow:var(--cp-shadow-2); }
.pr-btn:active { transform:scale(.97); }
.pr-btn:focus-visible, .pr-panel input:focus-visible, .pr-panel select:focus-visible { outline:2px solid var(--cp-blue); outline-offset:3px; }
.pr-btn:disabled { opacity:.6; cursor:wait; }
.pr-btn.secundario { background:var(--cp-surface); color:var(--cp-navy); }
.pr-formulario { width:100%; height:850px; border:0; border-radius:var(--cp-radius-lg); margin-top:var(--cp-sp-4); background:var(--cp-bg); }
.pr-error { color:var(--cp-alert); font-size:var(--cp-fs-sm); }
.pr-ayuda { font-size:var(--cp-fs-sm); font-weight:var(--cp-fw-regular); }
.pr-panel { margin-top:var(--cp-sp-6); font-family:var(--cp-font-body); }
.pr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--cp-sp-4); margin:var(--cp-sp-4) 0; }
.pr-campo { display:grid; gap:var(--cp-sp-2); min-width:0; }
.pr-campo label { font-size:var(--cp-fs-sm); font-weight:var(--cp-fw-medium); }
.pr-campo input, .pr-campo select { box-sizing:border-box; width:100%; min-height:44px; border:1px solid var(--cp-blue-light); border-radius:var(--cp-radius-sm); padding:var(--cp-sp-2) var(--cp-sp-3); font:var(--cp-fw-regular) var(--cp-fs-md) var(--cp-font-body); background:var(--cp-surface); color:var(--cp-navy-dark); }
.pr-acciones { display:flex; flex-wrap:wrap; gap:var(--cp-sp-2); align-items:center; margin:var(--cp-sp-3) 0; }
.pr-lista { display:grid; gap:var(--cp-sp-3); margin:var(--cp-sp-4) 0; }
.pr-fila { padding:var(--cp-sp-4); border:1px solid var(--cp-blue-light); border-radius:var(--cp-radius-md); overflow-wrap:anywhere; font-size:var(--cp-fs-sm); }
.pr-fila strong { font-weight:var(--cp-fw-semibold); }
.pr-lista a { color:var(--cp-navy); }
@media(max-width:600px) { .pr-grid { grid-template-columns:1fr; } .pr-card { padding:var(--cp-sp-4); } .pr-pasos { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .pr-btn { transition:none; } }
