/* Semep Formularios · estilos alineados con la dirección visual «Profundo» */
.semep-wrap{--sm-noche:#0A1230;--sm-azul:#223884;--sm-verde:#00A650;--sm-luz:#2BD17E;--sm-hielo:#EEF1FA;--sm-text:#0A1230;--sm-muted:#5B6584;--sm-line:#D9DEEC;--sm-field:#fff;--sm-err:#C62828;--sm-r:14px;
	font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--sm-text);font-size:16px;line-height:1.5;text-align:left}
.semep-wrap.semep-oscuro{background:#0A1230;padding:32px;border-radius:22px;--sm-text:#fff;--sm-muted:#B8C2E0;--sm-line:rgba(255,255,255,.18);--sm-field:rgba(255,255,255,.06);--sm-hielo:rgba(43,209,126,.12);--sm-err:#FF8A80}
.semep-wrap *,.semep-wrap *::before,.semep-wrap *::after{box-sizing:border-box}
.semep-wrap [hidden]{display:none!important}
.semep-title{font-family:Sora,"DM Sans",system-ui,sans-serif;font-size:24px;line-height:1.2;font-weight:700;margin:0 0 6px;color:inherit;padding:0}
.semep-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.semep-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.semep-form fieldset{border:0;margin:0;padding:0;min-width:0}

/* Progreso */
.semep-prog{margin:4px 0 22px}
.semep-paso{font-size:13px;color:var(--sm-muted)}
.semep-paso b{color:var(--sm-text)}
.semep-bar{display:flex;gap:6px;margin-top:8px}
.semep-bar i{flex:1;height:5px;border-radius:9px;background:var(--sm-line);transition:background .25s}
.semep-bar i.on{background:var(--sm-verde)}

/* Campos */
.semep-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.semep-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.semep-f.full{grid-column:1/-1}
.semep-f>label,.semep-lbl{font-size:14px;font-weight:600;color:var(--sm-text)}
.semep-f em{color:var(--sm-verde);font-style:normal}
.semep-wrap input[type=text],.semep-wrap input[type=email],.semep-wrap input[type=tel],.semep-wrap input[type=number],.semep-wrap input[type=date],.semep-wrap select,.semep-wrap textarea{
	width:100%;font:inherit;font-size:16px;color:var(--sm-text);background:var(--sm-field);border:1.5px solid var(--sm-line);border-radius:12px;padding:12px 14px;min-height:48px;margin:0;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.semep-wrap textarea{min-height:96px;resize:vertical}
.semep-wrap select{appearance:none;-webkit-appearance:none;background-image: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='%235B6584' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.semep-oscuro select option{color:#0A1230}
.semep-wrap input:focus,.semep-wrap select:focus,.semep-wrap textarea:focus{outline:none;border-color:var(--sm-azul);box-shadow:0 0 0 4px rgba(34,56,132,.14)}
.semep-oscuro input:focus,.semep-oscuro select:focus,.semep-oscuro textarea:focus{border-color:var(--sm-luz);box-shadow:0 0 0 4px rgba(43,209,126,.18)}
.semep-help{font-size:13px;color:var(--sm-muted)}
.semep-ferr{font-size:13px;color:var(--sm-err);min-height:0}
.semep-ferr:empty{display:none}
.semep-f.has-err input,.semep-f.has-err select,.semep-f.has-err textarea,.semep-f.has-err .semep-file{border-color:var(--sm-err)}

/* Opciones tipo tarjeta */
.semep-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.semep-ob{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--sm-line);border-radius:var(--sm-r);background:var(--sm-field);cursor:pointer;transition:border-color .15s,background .15s}
.semep-ob input{position:absolute;opacity:0;pointer-events:none}
.semep-ob .semep-ic{flex:none;color:var(--sm-azul);margin-top:2px}
.semep-oscuro .semep-ob .semep-ic{color:var(--sm-luz)}
.semep-ob b{display:block;font-size:15px;line-height:1.3}
.semep-ob small{display:block;font-size:13px;color:var(--sm-muted);line-height:1.35}
.semep-ob:hover{border-color:var(--sm-azul)}
.semep-ob:has(input:checked){border-color:var(--sm-azul);background:var(--sm-hielo);box-shadow:inset 0 0 0 1px var(--sm-azul)}
.semep-oscuro .semep-ob:has(input:checked){border-color:var(--sm-luz);box-shadow:inset 0 0 0 1px var(--sm-luz)}
.semep-ob:has(input:focus-visible){box-shadow:0 0 0 4px rgba(34,56,132,.2)}

/* Casillas tipo ficha */
.semep-checks{display:flex;flex-wrap:wrap;gap:8px}
.semep-ck{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px solid var(--sm-line);border-radius:99px;background:var(--sm-field);cursor:pointer;font-size:14px;user-select:none}
.semep-ck input{width:16px;height:16px;margin:0;accent-color:var(--sm-verde)}
.semep-ck:has(input:checked){border-color:var(--sm-verde);background:rgba(0,166,80,.08)}

/* Archivo */
.semep-file{position:relative;display:flex;align-items:center;gap:10px;padding:14px 16px;border:1.5px dashed var(--sm-line);border-radius:12px;background:var(--sm-field);cursor:pointer;font-size:15px;color:var(--sm-muted);font-weight:500}
.semep-file:hover{border-color:var(--sm-azul)}
.semep-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.semep-file.has-file{border-style:solid;border-color:var(--sm-verde);color:var(--sm-text)}
.semep-file .semep-ic{color:var(--sm-azul);flex:none}

/* Autorización */
.semep-legal{display:flex;gap:10px;align-items:flex-start;margin:20px 0 4px;font-size:13.5px;color:var(--sm-muted);line-height:1.45;cursor:pointer}
.semep-legal input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--sm-verde)}
.semep-legal a{color:var(--sm-azul);text-decoration:underline}
.semep-oscuro .semep-legal a{color:var(--sm-luz)}
.cf-turnstile{margin-top:14px}

/* Botones */
.semep-err{margin:16px 0 0;padding:10px 14px;border-radius:10px;background:rgba(198,40,40,.08);color:var(--sm-err);font-size:14px}
.semep-nav{display:flex;align-items:center;gap:10px;margin-top:22px}
.semep-sp{flex:1}
.semep-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;font-size:16px;line-height:1;min-height:50px;padding:0 24px;border-radius:12px;border:0;cursor:pointer;text-decoration:none!important;transition:transform .12s,filter .15s;background:transparent;color:var(--sm-muted)}
.semep-btn:active{transform:translateY(1px)}
.semep-primary{background:var(--sm-verde);color:#fff!important}
.semep-primary:hover{filter:brightness(1.06)}
.semep-primary[disabled]{opacity:.65;cursor:wait}
.semep-oscuro .semep-primary{background:var(--sm-luz);color:var(--sm-noche)!important}
.semep-wa{background:#25D366;color:#073B1C!important;margin-top:18px}
.semep-again{margin-top:6px;font-weight:600;font-size:14px}
.semep-wrap:not(.semep-js) .semep-next,.semep-wrap:not(.semep-js) .semep-back{display:none}
.semep-js .semep-step{display:none}
.semep-js .semep-step.on{display:block;animation:semepIn .25s ease}
.semep-js .semep-submit[data-last]{display:none}
.semep-js .semep-form.is-last .semep-submit[data-last]{display:inline-flex}
.semep-js .semep-form.is-last .semep-next{display:none}
@keyframes semepIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}

/* Confirmación */
.semep-done{text-align:center;padding:12px 0 4px;outline:none}
.semep-ok{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--sm-verde);color:#fff;box-shadow:0 0 0 10px rgba(0,166,80,.12)}
.semep-done h3{font-family:Sora,"DM Sans",system-ui,sans-serif;font-size:24px;margin:0 0 6px;color:inherit;padding:0}
.semep-rad{font-size:15px;color:var(--sm-muted);margin:0 0 10px}
.semep-rad b{color:var(--sm-text);font-size:18px;letter-spacing:.02em}
.semep-msg{margin:0 auto 6px;max-width:460px}
.semep-plazo{margin:0 auto;max-width:460px;font-size:14px;color:var(--sm-muted)}
.semep-done .semep-wa,.semep-done .semep-again{display:flex;margin-left:auto;margin-right:auto;width:fit-content}
.semep-done [hidden]{display:none!important}
.semep-notice{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:15px}
.semep-notice.ok{background:rgba(0,166,80,.1);border:1px solid rgba(0,166,80,.35)}
.semep-notice.err{background:rgba(198,40,40,.08);border:1px solid rgba(198,40,40,.3)}

/* Ventana emergente */
.semep-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.semep-modal[hidden]{display:none}
.semep-modal-bg{position:absolute;inset:0;background:rgba(10,18,48,.62);backdrop-filter:blur(3px)}
.semep-dlg{position:relative;width:100%;max-width:680px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:22px;padding:30px 30px 26px;box-shadow:0 30px 80px rgba(10,18,48,.4);animation:semepUp .25s ease}
.semep-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:#EEF1FA;color:#0A1230;display:grid;place-items:center;cursor:pointer;z-index:2;padding:0}
.semep-x:hover{background:#DCE1EF}
.semep-dlg .semep-wrap{padding-right:0}
.semep-dlg .semep-prog{padding-right:44px}
.semep-dlg .semep-title{padding-right:52px}
body.semep-lock{overflow:hidden}
@keyframes semepUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (max-width:640px){
	.semep-grid{grid-template-columns:1fr}
	.semep-opts{grid-template-columns:1fr 1fr;gap:8px}
	.semep-ob{flex-direction:column;gap:6px;padding:12px}
	.semep-ob b{font-size:14px}.semep-ob small{font-size:12px}
	.semep-title{font-size:21px}
	.semep-modal{padding:0;align-items:stretch}
	.semep-dlg{max-height:100%;height:100%;border-radius:0;padding:22px 18px 18px}
	.semep-nav{position:sticky;bottom:-18px;background:inherit;padding:12px 0;margin-bottom:-6px}
	.semep-dlg .semep-nav{background:#fff}
	.semep-btn{flex:1}
	.semep-sp{display:none}
	.semep-back:not([hidden]){flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){.semep-js .semep-step.on,.semep-dlg{animation:none}}
.semep-form[data-steps="1"] .semep-title{margin-bottom:20px}
.semep-oscuro{color-scheme:dark}
.semep-oscuro .semep-file .semep-ic{color:var(--sm-luz)}
.semep-oscuro .semep-file:hover,.semep-oscuro .semep-ob:hover{border-color:var(--sm-luz)}

/* ---------- WhatsApp flotante ---------- */
.semep-wa-w{position:fixed;right:24px;bottom:24px;z-index:99990;font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.4}
.semep-wa-w [hidden]{display:none!important}
.semep-wa-btn{width:60px;height:60px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#25D366;color:#073B1C;display:grid;place-items:center;box-shadow:0 14px 30px rgba(10,18,48,.35);transition:transform .15s}
.semep-wa-btn:hover{transform:scale(1.06)}
.semep-wa-btn:focus-visible{outline:3px solid #2BD17E;outline-offset:3px}
.semep-wa-w.open .semep-wa-btn{background:#0A1230;color:#fff}
.semep-wa-panel{position:absolute;right:0;bottom:74px;width:320px;max-width:calc(100vw - 32px);background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(10,18,48,.32);overflow:hidden;animation:semepUp .2s ease;color:#0A1230}
.semep-wa-hd{position:relative;background:#0A1230;color:#fff;padding:18px 48px 16px 18px}
.semep-wa-hd b{display:block;font-family:Sora,"DM Sans",sans-serif;font-size:16px}
.semep-wa-hd span{font-size:13px;color:#B8C2E0}
.semep-wa-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.semep-wa-sede{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #EEF1FA;text-decoration:none!important;color:#0A1230!important;transition:background .15s}
.semep-wa-sede:hover,.semep-wa-sede:focus-visible{background:#F4FBF7;outline:none}
.semep-wa-av{width:40px;height:40px;border-radius:50%;background:#EEF1FA;color:#223884;display:grid;place-items:center;flex:none}
.semep-wa-tx{flex:1;min-width:0}
.semep-wa-tx b{display:block;font-size:15px}
.semep-wa-tx small{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;color:#5B6584}
.semep-wa-tx small::before{content:"";width:8px;height:8px;margin-top:5px;border-radius:50%;background:#A0A8BF;flex:none}
.semep-wa-tx small.on{color:#00813F}
.semep-wa-tx small.on::before{background:#00A650;box-shadow:0 0 0 3px rgba(0,166,80,.18)}
.semep-wa-go{width:36px;height:36px;border-radius:50%;background:#25D366;color:#073B1C;display:grid;place-items:center;flex:none}
.semep-wa-cot{display:block;padding:12px 18px;font-size:13px;color:#5B6584!important;text-decoration:none!important;background:#F6F8FC}
.semep-wa-cot b{color:#223884}
.semep-mbar{display:none}
@media (max-width:860px){
	.semep-wa-w{right:16px;bottom:78px}
	.semep-wa-btn{display:none}
	.semep-wa-panel{bottom:0;right:0}
	body.semep-has-mbar{padding-bottom:62px}
	.semep-mbar{display:grid;grid-template-columns:1.2fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:99980;background:#0A1230;border-top:1px solid rgba(255,255,255,.12);padding-bottom:env(safe-area-inset-bottom)}
	.semep-mbar a,.semep-mbar button{display:flex;align-items:center;justify-content:center;min-height:56px;border:0;background:transparent;font:600 14px "DM Sans",system-ui,sans-serif;color:#DCE3F7!important;text-decoration:none!important;cursor:pointer;padding:0}
	.semep-mbar .semep-mbar-p{background:#00A650;color:#fff!important}
}
@media print{.semep-wa-w,.semep-mbar{display:none!important}}

/* Aviso de cookies y términos */
.semep-cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:99995;max-width:1040px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:16px 18px;background:#0A1230;color:#DCE3F7;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 18px 50px rgba(5,10,30,.45);font:400 14px/1.5 "DM Sans",system-ui,sans-serif}
.semep-cookies[hidden]{display:none!important}
.semep-cookies-t{margin:0!important;padding:0!important;flex:1;color:#DCE3F7}
.semep-cookies-t b{color:#fff}
.semep-cookies a{color:#2BD17E!important;text-decoration:underline}
.semep-cookies-b{display:flex;align-items:center;gap:10px;flex-shrink:0}
.semep-cookies-b button{font:600 14px "DM Sans",system-ui,sans-serif;border-radius:10px;padding:10px 16px;cursor:pointer;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff}
.semep-cookies-b .semep-cookies-si{background:#2BD17E;border-color:#2BD17E;color:#0A1230}
.semep-cookies-b button:focus-visible{outline:3px solid #F5B841;outline-offset:2px}
body.semep-cookies-on .semep-wa-w{bottom:120px}
@media (max-width:767px){
	.semep-cookies{flex-direction:column;align-items:stretch;gap:12px;font-size:13.5px;bottom:12px;left:12px;right:12px}
	body.semep-has-mbar .semep-cookies{bottom:72px}
	.semep-cookies-b{flex-wrap:wrap}.semep-cookies-b button{flex:1}.semep-cookies-l{width:100%}
	body.semep-cookies-on .semep-wa-w{bottom:250px}
}
