/* Alapuerta — Programa de instaladores */
.ap-ins-hero{background:#000;text-align:center}
.ap-ins-kicker .elementor-heading-title{font-family:'IBM Plex Mono','Courier New',monospace;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#FCB800;margin:0 0 14px}
.ap-ins-h1 .elementor-heading-title{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:46px;line-height:1.12;font-weight:800;letter-spacing:-1px;color:#fff;margin:0 0 16px}
.ap-ins-sub{max-width:720px;margin:0 auto}
.ap-ins-sub p{font-size:18px;line-height:1.6;color:#D1D5DB;margin:0}
.ap-ins-cta{margin-top:26px}
.ap-ins-cta .elementor-button{background:#FCB800!important;color:#000!important;font-family:Archivo,Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;padding:15px 34px;border-radius:6px;border:2px solid #FCB800;transition:background-color .15s}
.ap-ins-cta .elementor-button:hover{background:#B78500!important;border-color:#B78500;color:#000!important}

.ap-ins-sec,.ap-ins-pasos,.ap-ins-reg{padding:64px 24px}
.ap-ins-pasos{background:#FAFAFA}
.ap-ins-h2 .elementor-heading-title{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.5px;color:#1A1A1A;margin:0 0 12px;text-align:center}
.ap-ins-lead{max-width:780px;margin:0 auto 32px;text-align:center;font-size:16.5px;line-height:1.65;color:#4B5563}

.ap-ins-grid{display:flex;flex-wrap:wrap;gap:18px;align-items:stretch}
.ap-ins-card{flex:1 1 calc(33.333% - 12px);min-width:260px;border:1px solid #E5E5E5;border-radius:8px;padding:24px 22px;background:#fff;transition:border-color .15s}
.ap-ins-card:hover{border-color:#FCB800}
.ap-ins-card__t .elementor-heading-title{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px;line-height:1.35}
.ap-ins-card__d p{font-size:14.5px;line-height:1.6;color:#6B7280;margin:0}

.ap-ins-ol{max-width:760px;margin:0 auto;padding-left:22px}
.ap-ins-ol li{font-size:16px;line-height:1.65;color:#374151;margin:0 0 14px;padding-left:6px}
.ap-ins-ol li strong{color:#1A1A1A}
.ap-ins-ol li::marker{color:#B78500;font-weight:700}

/* Formulario */
.ap-ins-reg{background:#fff}
.ap-ins-form{max-width:820px;margin:0 auto}
.ap-ins-form .elementor-field-group>label{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:13px;font-weight:600;color:#1A1A1A;margin-bottom:6px}
.ap-ins-form .elementor-field-group .elementor-field{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:15px;color:#1A1A1A;background:#fff;border:1px solid #D8D8D8;border-radius:6px;padding:11px 13px;min-height:46px;box-sizing:border-box}
.ap-ins-form .elementor-field-group .elementor-field:focus{border-color:#FCB800;box-shadow:0 0 0 3px rgba(252,184,0,.18);outline:none}
.ap-ins-form textarea.elementor-field{min-height:110px;line-height:1.55}
.ap-ins-form .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px 20px}
.ap-ins-form .elementor-field-subgroup label{font-size:14.5px;color:#374151;font-weight:400}
.ap-ins-form .elementor-field-type-acceptance label{font-size:13.5px;color:#6B7280;line-height:1.5}
.ap-ins-form .elementor-button[type=submit]{background:#FCB800;color:#000;font-family:Archivo,Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;border-radius:6px;border:2px solid #FCB800;padding:15px 30px;min-height:52px;transition:background-color .15s;box-shadow:none;text-shadow:none}
.ap-ins-form .elementor-button[type=submit]:hover,
.ap-ins-form .elementor-button[type=submit]:focus{background:#B78500;border-color:#B78500;color:#000;transform:none}
.ap-ins-form .elementor-message{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;border-radius:6px;padding:14px 16px;margin-top:14px}
.ap-ins-form .elementor-message-success{background:#F0FDF6;border:1px solid #12805C;color:#0B5B42}
.ap-ins-form .elementor-message-danger{background:#FEF3F2;border:1px solid #D92D20;color:#912018}

@media (max-width:1024px){
	.ap-ins-card{flex:1 1 calc(50% - 9px)}
	.ap-ins-h1 .elementor-heading-title{font-size:38px}
}
@media (max-width:767px){
	.ap-ins-hero{padding:52px 18px!important}
	.ap-ins-h1 .elementor-heading-title{font-size:30px;letter-spacing:-.5px}
	.ap-ins-sub p{font-size:16px}
	.ap-ins-sec,.ap-ins-pasos,.ap-ins-reg{padding:44px 18px}
	.ap-ins-h2 .elementor-heading-title{font-size:25px}
	.ap-ins-card{flex:1 1 100%;min-width:0;padding:20px 18px}
	.ap-ins-form .elementor-field-type-checkbox .elementor-field-subgroup{flex-direction:column;gap:10px}
	.ap-ins-cta .elementor-button{width:100%}
}

.ap-ins-cierre{padding:56px 24px;background:#000;text-align:center}
.ap-ins-cierre .ap-ins-h2 .elementor-heading-title{color:#fff}
.ap-ins-cierre .ap-ins-lead{color:#D1D5DB}
.ap-ins-cierre .ap-ins-lead strong{color:#FCB800}
@media (max-width:767px){.ap-ins-cierre{padding:40px 18px}}

/* Seccion partida: beneficios + formulario */
.ap-ins-split{display:flex!important;flex-wrap:wrap!important;gap:36px!important;align-items:flex-start!important}
.ap-ins-col-izq{flex:1 1 54%;min-width:320px}
.ap-ins-col-der{flex:1 1 40%;min-width:320px;border:1px solid #E5E5E5;border-radius:10px;padding:28px 26px;background:#fff;position:sticky;top:24px}
.ap-ins-split .ap-ins-h2 .elementor-heading-title{text-align:left}
.ap-ins-split .ap-ins-lead{text-align:left;margin-left:0;margin-right:0}
.ap-ins-split .ap-ins-grid{gap:14px}
.ap-ins-split .ap-ins-card{flex:1 1 calc(50% - 7px);min-width:220px;padding:18px 18px}
.ap-ins-split .ap-ins-card__t .elementor-heading-title{font-size:15.5px}
.ap-ins-split .ap-ins-card__d p{font-size:13.5px}
.ap-ins-h3 .elementor-heading-title{font-family:Archivo,Helvetica,Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.3px;color:#1A1A1A;margin:0 0 8px;text-align:left}
.ap-ins-lead2{font-size:14.5px;line-height:1.6;color:#6B7280;margin:0 0 20px}

/* Campos dentro de la columna: una sola columna para que no se aprieten */
.ap-ins-col-der .elementor-field-group{width:100%!important;max-width:100%!important;flex-basis:100%!important}
.ap-ins-col-der .elementor-field-type-checkbox .elementor-field-subgroup{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.ap-ins-col-der .elementor-field-subgroup label{font-size:13.5px;display:flex;align-items:flex-start;gap:7px;line-height:1.35}
.ap-ins-col-der .elementor-field-subgroup input{margin-top:2px}
/* Casilla de aceptacion en linea con su texto */
.ap-ins-form .elementor-field-type-acceptance .elementor-field-subgroup,
.ap-ins-form .elementor-field-type-acceptance{display:flex!important;align-items:flex-start!important;gap:9px!important;flex-wrap:nowrap!important}
.ap-ins-form .elementor-field-type-acceptance>label{order:2;margin:0!important;font-size:13px!important;line-height:1.45;color:#6B7280;font-weight:400!important}
.ap-ins-form .elementor-field-type-acceptance input[type=checkbox]{order:1;flex:0 0 auto;margin-top:2px}
.ap-ins-form .h-captcha{transform:scale(.92);transform-origin:left top;margin-bottom:6px}

@media (max-width:1024px){
	.ap-ins-split{gap:28px!important}
	.ap-ins-col-izq,.ap-ins-col-der{flex:1 1 100%;position:static}
	.ap-ins-split .ap-ins-card{flex:1 1 calc(50% - 7px)}
}
@media (max-width:767px){
	.ap-ins-col-der{padding:20px 16px}
	.ap-ins-split .ap-ins-card{flex:1 1 100%}
	.ap-ins-col-der .elementor-field-type-checkbox .elementor-field-subgroup{grid-template-columns:1fr}
}

/* FIX: doble marco en el select (el wrapper no debe tener borde ni padding) */
.ap-ins-form .elementor-field-type-select .elementor-select-wrapper,
.ap-ins-form .elementor-select-wrapper{border:none!important;background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;display:block!important;position:relative}
.ap-ins-form select.elementor-field{width:100%!important;box-sizing:border-box!important;border:1px solid #D8D8D8!important;border-radius:6px!important;padding:11px 34px 11px 13px!important;min-height:46px!important;background:#fff!important;appearance:none;-webkit-appearance:none;font-size:15px}
.ap-ins-form .elementor-select-wrapper::after{content:'';position:absolute;right:14px;top:50%;width:9px;height:9px;margin-top:-6px;border-right:2px solid #6B7280;border-bottom:2px solid #6B7280;transform:rotate(45deg);pointer-events:none}
.ap-ins-form .elementor-select-wrapper .select-caret-down-wrapper{display:none!important}

/* FIX: aviso de privacidad pegado a su casilla */
.ap-ins-form .elementor-field-type-acceptance{display:block!important}
.ap-ins-form .elementor-field-type-acceptance .elementor-field-subgroup,
.ap-ins-form .elementor-field-type-acceptance .elementor-field-option{display:flex!important;align-items:flex-start!important;gap:9px!important;flex-wrap:nowrap!important;width:100%!important}
.ap-ins-form .elementor-field-type-acceptance input[type=checkbox]{order:0!important;flex:0 0 16px!important;width:16px;height:16px;margin:2px 0 0 0!important}
.ap-ins-form .elementor-field-type-acceptance>label,
.ap-ins-form .elementor-field-type-acceptance .elementor-field-option label,
.ap-ins-form .elementor-field-type-acceptance label.elementor-field-label{
	order:1!important;flex:1 1 auto!important;margin:0!important;padding:0!important;
	text-align:left!important;font-size:13px!important;line-height:1.45!important;color:#6B7280!important;font-weight:400!important;
	max-width:none!important;width:auto!important;float:none!important;
}

/* FIX 2 (selectores reales) */
/* Select: el borde va en el <select>, no en el div contenedor */
.ap-ins-form .elementor-field.elementor-select-wrapper{border:none!important;padding:0!important;background:transparent!important;border-radius:0!important;min-height:0!important;box-shadow:none!important;position:relative;display:block!important}
.ap-ins-form .elementor-select-wrapper select{width:100%!important;box-sizing:border-box!important;border:1px solid #D8D8D8!important;border-radius:6px!important;padding:11px 38px 11px 13px!important;min-height:46px!important;height:auto!important;background:#fff!important;font-family:Archivo,Helvetica,Arial,sans-serif!important;font-size:15px!important;color:#1A1A1A!important;appearance:none!important;-webkit-appearance:none!important}
.ap-ins-form .elementor-select-wrapper select:focus{border-color:#FCB800!important;box-shadow:0 0 0 3px rgba(252,184,0,.18)!important;outline:none!important}
.ap-ins-form .elementor-select-wrapper .select-caret-down-wrapper{position:absolute!important;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;width:12px;color:#6B7280;display:block!important}
.ap-ins-form .elementor-select-wrapper .select-caret-down-wrapper svg{width:12px;height:12px;fill:#6B7280}

/* Aceptacion: casilla y texto en una sola linea, pegados */
.ap-ins-form .elementor-field-type-acceptance{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;flex-wrap:nowrap!important}
.ap-ins-form .elementor-field-type-acceptance>.elementor-field-subgroup{order:0!important;flex:0 0 auto!important;width:auto!important;margin:0!important;display:block!important}
.ap-ins-form .elementor-field-type-acceptance>.elementor-field-subgroup .elementor-field-option{display:block!important;margin:0!important;padding:0!important}
.ap-ins-form .elementor-field-type-acceptance>.elementor-field-subgroup input[type=checkbox]{width:16px!important;height:16px!important;margin:3px 0 0 0!important;flex:none!important}
.ap-ins-form .elementor-field-type-acceptance>label.elementor-field-label{order:1!important;flex:1 1 auto!important;margin:0!important;padding:0!important;text-align:left!important;font-size:13px!important;line-height:1.5!important;color:#6B7280!important;font-weight:400!important;width:auto!important;max-width:none!important}
