/* Capa visual compatible con .campo/.fila/.boton y :is(#form-cotizar,#form-practica,#form-desarrollo) de site/crm. */
.form-intro{padding-top:36px;padding-bottom:48px}.form-intro h1{font-size:58px;max-width:900px;margin:17px 0 24px}.form-intro .answer-block{max-width:790px}.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding-bottom:96px;align-items:start}.form-aside{padding-top:24px}.form-aside h2{font-size:32px;line-height:1.2;margin:18px 0 23px}.form-aside>p:not(.eyebrow){color:var(--textoSuave);font-size:14px}.form-aside .form-context{margin-top:28px;background:var(--fondoContraste);padding:16px;border-radius:var(--radius-button);color:var(--primarioOscuro);line-height:1.6}.form-contact{margin-top:38px;border-top:1px solid var(--borde);padding-top:26px}.form-contact h3{font-size:18px;margin-bottom:13px}.form-contact>a{display:block;font-size:14px;padding:9px 0}.form-contact .text-link{color:var(--primario)}
.form-surface{border:1px solid var(--borde);border-radius:var(--radius-card);padding:35px;background:var(--superficie)}.preview-notice{font-size:12px;line-height:1.6;padding:12px 14px;border-left:2px solid var(--acento);background:var(--fondo);color:var(--textoSuave);margin-bottom:22px}.form-required{font-size:12px;color:var(--textoSuave);margin-bottom:26px}
:is(#form-cotizar,#form-practica,#form-desarrollo) .campo{margin:0 0 23px;min-width:0}:is(#form-cotizar,#form-practica,#form-desarrollo) label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;line-height:1.55}:is(#form-cotizar,#form-practica,#form-desarrollo) .opc{font-weight:400;color:var(--textoSuave);font-size:12px}
:is(#form-cotizar,#form-practica,#form-desarrollo) input,:is(#form-cotizar,#form-practica,#form-desarrollo) select,:is(#form-cotizar,#form-practica,#form-desarrollo) textarea{width:100%;min-height:50px;padding:12px 13px;border:1px solid var(--bordeFuerte);border-radius:var(--radius-button);background:var(--superficie);font:inherit;font-size:16px;line-height:1.5;color:var(--texto)}:is(#form-cotizar,#form-practica,#form-desarrollo) textarea{resize:vertical;min-height:130px}:is(#form-cotizar,#form-practica,#form-desarrollo) ::placeholder{color:var(--textoSuave);opacity:1}
:is(#form-cotizar,#form-practica,#form-desarrollo) input:focus-visible,:is(#form-cotizar,#form-practica,#form-desarrollo) select:focus-visible,:is(#form-cotizar,#form-practica,#form-desarrollo) textarea:focus-visible{outline:2px solid var(--primario);outline-offset:3px;border-color:var(--primario)}:is(#form-cotizar,#form-practica,#form-desarrollo) [type=hidden]{display:none}:is(#form-cotizar,#form-practica,#form-desarrollo) .fila{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
:is(#form-cotizar,#form-practica,#form-desarrollo) .check{display:grid;grid-template-columns:22px 1fr;gap:8px 13px;align-items:start}:is(#form-cotizar,#form-practica,#form-desarrollo) .check input{width:20px;min-height:20px;height:20px;margin:3px 0 0;accent-color:var(--primario)}:is(#form-cotizar,#form-practica,#form-desarrollo) .check label{font-size:12px;font-weight:400;margin-bottom:0;line-height:1.7}:is(#form-cotizar,#form-practica,#form-desarrollo) .check a{text-decoration:underline;text-underline-offset:3px;color:var(--primario)}:is(#form-cotizar,#form-practica,#form-desarrollo) .check .error{grid-column:2}
.error{font-size:12px;line-height:1.5;color:var(--error);margin-top:8px}.error:empty{display:none}:is(#form-cotizar,#form-practica,#form-desarrollo) [aria-invalid=true]{border-color:var(--error)}.alerta{padding:16px;background:var(--fondoContraste);border:1px solid var(--primario);border-radius:var(--radius-button);font-size:14px;margin-bottom:24px;line-height:1.6}.alerta:focus{outline:2px solid var(--primario);outline-offset:4px}
:is(#form-cotizar,#form-practica,#form-desarrollo) .boton{width:100%;font:inherit;font-size:14px;font-weight:600;cursor:pointer}:is(#form-cotizar,#form-practica,#form-desarrollo) .boton:disabled{opacity:.65;cursor:wait}:is(#form-cotizar,#form-practica,#form-desarrollo) .alt{margin-top:20px;font-size:12px;color:var(--textoSuave);line-height:1.6}:is(#form-cotizar,#form-practica,#form-desarrollo) .alt a{color:var(--primario);text-decoration:underline}:is(#form-cotizar,#form-practica,#form-desarrollo) .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:1050px){.form-layout{gap:40px}.form-surface{padding:28px}.form-aside h2{font-size:32px}}
@media(max-width:760px){.form-intro{padding-top:25px;padding-bottom:32px}.form-intro h1{font-size:44px;line-height:1.1;margin-top:16px}.form-intro .answer-block{font-size:14px}.form-layout{grid-template-columns:1fr;gap:26px;padding-bottom:56px}.form-aside{padding-top:0}.form-aside h2,.form-aside>.eyebrow,.form-aside>p:not(.form-context),.form-contact{display:none}.form-aside .form-context{margin:0;font-size:14px;padding:14px 16px}.form-surface{padding:23px 19px;border-radius:17px}.preview-notice{font-size:12px}.form-required{font-size:12px}:is(#form-cotizar,#form-practica,#form-desarrollo) .fila{grid-template-columns:1fr;gap:0}:is(#form-cotizar,#form-practica,#form-desarrollo) label{font-size:14px}:is(#form-cotizar,#form-practica,#form-desarrollo) .opc{font-size:12px}:is(#form-cotizar,#form-practica,#form-desarrollo) .campo{margin-bottom:23px}:is(#form-cotizar,#form-practica,#form-desarrollo) .check label{font-size:12px}:is(#form-cotizar,#form-practica,#form-desarrollo) .alt{font-size:12px}}

/* Cotización directa; la explicación ampliada queda después del formulario. */
.form-intro{padding-top:20px;padding-bottom:26px}.form-intro h1{margin:12px 0 14px}.form-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;padding-bottom:32px}.form-surface .form-context{padding:12px 16px;margin:0 0 18px;background:var(--fondoContraste);border-radius:10px;color:var(--primarioOscuro);font-size:14px}.form-required{margin-bottom:18px}#form-cotizar{scroll-margin-top:100px}.quote-help{border-top:1px solid var(--borde)}.quote-help>summary{font-weight:700}.quote-help .section-heading{margin:20px 0 28px}.quote-help .steps-grid{padding-bottom:28px}.quote-help .steps-grid p{padding:0}.quote-help .eyebrow{padding:0}.campo.check label a{flex-wrap:wrap;column-gap:4px}
@media(max-width:760px){.form-intro h1{font-size:36px}.form-intro{padding-top:14px;padding-bottom:22px}.form-intro .answer-block{line-height:1.6}.form-layout{grid-template-columns:1fr;gap:0}.form-aside{display:none}.form-surface{padding:20px 19px}.quote-help .section-heading .button{margin-top:16px}.quote-help .section-heading h2{font-size:26px}}
/* Auditoría 1 nov: campos opcionales plegados */
:is(#form-cotizar,#form-practica,#form-desarrollo) details.mas-detalles{border:1px solid var(--borde);border-radius:12px;padding:0 18px;margin:0 0 23px}
:is(#form-cotizar,#form-practica,#form-desarrollo) details.mas-detalles>summary{cursor:pointer;padding:16px 28px 16px 0;font-size:14px;font-weight:600;position:relative;list-style:none}
:is(#form-cotizar,#form-practica,#form-desarrollo) details.mas-detalles>summary::-webkit-details-marker{display:none}
:is(#form-cotizar,#form-practica,#form-desarrollo) details.mas-detalles>summary:after{content:'+';position:absolute;right:0;top:12px;font-size:22px;font-weight:400;color:var(--primario)}
:is(#form-cotizar,#form-practica,#form-desarrollo) details.mas-detalles[open]>summary:after{content:'−'}
:is(#form-cotizar,#form-practica,#form-desarrollo) details.mas-detalles[open]{padding-bottom:4px}

/* Formulario de prácticas */
:is(#form-practica .tipo-postulacion,#form-desarrollo .grupo-opciones){border:0;padding:0;margin:0 0 23px}:is(#form-practica .tipo-postulacion,#form-desarrollo .grupo-opciones) legend{font-size:14px;font-weight:600;margin-bottom:10px;padding:0}:is(#form-practica,#form-desarrollo) .opcion{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--bordeFuerte);border-radius:var(--radius-button);margin:0 0 8px;font-weight:500;cursor:pointer}:is(#form-practica,#form-desarrollo) .opcion input{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--primario)}:is(#form-practica,#form-desarrollo) .opcion:has(input:checked){border-color:var(--primario);background:var(--fondoContraste)}

/* Desarrollo a medida (2 nov 2026) */
#form-desarrollo .dos-col-opciones{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}#form-desarrollo .dos-col-opciones legend,#form-desarrollo .dos-col-opciones .error{grid-column:1/-1}
@media(max-width:760px){#form-desarrollo .dos-col-opciones{grid-template-columns:1fr}}
.form-intro .sello-planta{margin-top:14px;font-size:13px;font-weight:600;color:var(--texto)}
.pasos-desarrollo{list-style:none;counter-reset:paso;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 0;padding:0;max-width:900px}
.pasos-desarrollo li{counter-increment:paso;position:relative;padding:14px 16px 14px 48px;border:1px solid var(--borde);border-radius:12px;background:var(--superficie);font-size:14px;line-height:1.5;color:var(--textoSuave)}
.pasos-desarrollo li:before{content:counter(paso);position:absolute;left:14px;top:13px;width:24px;height:24px;border-radius:50%;background:var(--primario);color:var(--superficie);font-size:12px;font-weight:700;display:grid;place-items:center}
.pasos-desarrollo strong{color:var(--texto)}
.ver-catalogo{margin-top:8px}
#form-desarrollo .check{grid-template-columns:28px 1fr}#form-desarrollo .check input{width:24px;height:24px;min-height:24px}#form-desarrollo .check label{font-size:14px;line-height:1.6}
#form-desarrollo fieldset[aria-invalid=true] .opcion{border-color:var(--error)}
.faq-desarrollo{padding-top:24px}
@media(max-width:760px){.pasos-desarrollo{grid-template-columns:1fr;gap:8px;margin-top:18px}.faq-desarrollo{padding-top:8px}}
