/* Formularios por pasos del consulado (autorización de viaje y siguientes). Ámbito: .cs-pasos */
.cs-pasos{--f-bg:#0d1420;--f-card:#111a28;--f-line:#2a3a52;--f-fg:#e6ecf3;--f-mut:#9aa8bb;--f-acc:#3b7be0;--f-acc-ink:#fff;--f-acc-soft:rgba(59,123,224,.16);--f-err:#f07a6e;--f-err-bg:rgba(240,122,110,.12);--f-ok:#4cc38a}
html[data-tema="claro"] .cs-pasos{--f-bg:#ffffff;--f-card:#f5f7fb;--f-line:#cfd8e5;--f-fg:#18233a;--f-mut:#5b6880;--f-acc:#1f5fbf;--f-acc-ink:#fff;--f-acc-soft:rgba(31,95,191,.10);--f-err:#c0392b;--f-err-bg:#fdecea;--f-ok:#1f8a57}

div.wpforms-container-full .cs-pasos{color:var(--f-fg);font-size:16px}
div.wpforms-container-full .cs-pasos .wpforms-field{padding:0 0 14px!important;margin:0!important}
div.wpforms-container-full .cs-pasos .wpforms-field-label{font-weight:600!important;font-size:15px!important;line-height:1.3!important;margin:0 0 6px!important;color:var(--f-fg)!important}
div.wpforms-container-full .cs-pasos .wpforms-required-label{color:var(--f-err)!important}
div.wpforms-container-full .cs-pasos .wpforms-field-description{font-size:13px!important;line-height:1.4!important;color:var(--f-mut)!important;margin:5px 0 0!important}

/* campos */
div.wpforms-container-full .cs-pasos input[type=text],div.wpforms-container-full .cs-pasos input[type=email],div.wpforms-container-full .cs-pasos input[type=tel],div.wpforms-container-full .cs-pasos select{
  width:100%!important;max-width:100%!important;height:46px!important;padding:0 12px!important;font-size:16px!important;border-radius:8px!important;
  background-color:var(--f-bg)!important;border:1.5px solid var(--f-line)!important;color:var(--f-fg)!important;box-shadow:none!important}
div.wpforms-container-full .cs-pasos input::placeholder{color:var(--f-mut)!important;opacity:.7!important}
div.wpforms-container-full .cs-pasos input:focus,div.wpforms-container-full .cs-pasos select:focus{border-color:var(--f-acc)!important;box-shadow:0 0 0 3px var(--f-acc-soft)!important;outline:none!important}
div.wpforms-container-full .cs-pasos .wpforms-field-date-time input{padding-right:40px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238a9bb3' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}

/* errores: borde rojo, fondo suave y mensaje claro */
div.wpforms-container-full .cs-pasos input.wpforms-error,div.wpforms-container-full .cs-pasos select.wpforms-error{border-color:var(--f-err)!important;background-color:var(--f-err-bg)!important}
div.wpforms-container-full .cs-pasos label.wpforms-error,div.wpforms-container-full .cs-pasos em.wpforms-error{display:inline-flex!important;gap:7px;align-items:center;background:#d93025!important;color:#fff!important;font-size:14px!important;font-weight:700!important;margin-top:7px!important;padding:5px 12px 5px 8px!important;border-radius:6px!important;line-height:1.3!important;animation:csSacude .35s ease-in-out 1}
div.wpforms-container-full .cs-pasos label.wpforms-error::before,div.wpforms-container-full .cs-pasos em.wpforms-error::before{content:"!";flex:none;width:18px;height:18px;border-radius:50%;background:#fff;color:#d93025;font:800 12px/18px sans-serif;text-align:center}
div.wpforms-container-full .cs-pasos label.wpforms-error:empty,div.wpforms-container-full .cs-pasos em.wpforms-error:empty{display:none!important}
@keyframes csSacude{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
div.wpforms-container-full .cs-pasos .wpforms-field.cs-falta ul{border-radius:10px;outline:2px solid var(--f-err);outline-offset:4px}
div.wpforms-container-full .cs-pasos .cs-aviso{display:none;font-weight:400!important;gap:10px;align-items:flex-start;background:var(--f-err-bg)!important;border:2px solid var(--f-err)!important;color:var(--f-fg);border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:15px}
div.wpforms-container-full .cs-pasos .cs-aviso.on{display:flex}
div.wpforms-container-full .cs-pasos .cs-aviso b{color:var(--f-err)!important;font-weight:700!important}

/* opciones: tarjetas seleccionables */
div.wpforms-container-full .cs-pasos .wpforms-field-radio ul{display:grid!important;gap:8px!important;padding:0!important;margin:0!important}
div.wpforms-container-full .cs-pasos .wpforms-field-radio li{margin:0!important;padding:0!important;position:relative}
div.wpforms-container-full .cs-pasos .wpforms-field-radio li input{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%);margin:0!important;width:18px!important;height:18px!important;accent-color:var(--f-acc)}
div.wpforms-container-full .cs-pasos .wpforms-field-radio li label{display:block!important;margin:0!important;padding:12px 14px 12px 44px!important;border:1.5px solid var(--f-line)!important;border-radius:10px!important;background:var(--f-bg)!important;font-size:15.5px!important;line-height:1.35!important;cursor:pointer;color:var(--f-fg)!important}
div.wpforms-container-full .cs-pasos .wpforms-field-radio li:hover label{border-color:var(--f-acc)!important}
div.wpforms-container-full .cs-pasos .wpforms-field-radio li:has(input:checked) label{border-color:var(--f-acc)!important;background:var(--f-acc-soft)!important;font-weight:600!important}
div.wpforms-container-full .cs-pasos .wpforms-field-radio li:has(input:focus-visible) label{box-shadow:0 0 0 3px var(--f-acc-soft)}
/* Sí / No y opciones cortas: en línea */
div.wpforms-container-full .cs-pasos .wpforms-list-inline ul{grid-template-columns:repeat(auto-fit,minmax(130px,max-content))!important}

/* secciones */
div.wpforms-container-full .cs-pasos .wpforms-field-divider{padding:10px 0 12px!important}
div.wpforms-container-full .cs-pasos .wpforms-field-divider h3{font:700 18px/1.25 "Public Sans",system-ui,sans-serif!important;color:var(--f-fg)!important;margin:0!important;padding:0 0 8px!important;border-bottom:1.5px solid var(--f-line)!important}
div.wpforms-container-full .cs-pasos .wpforms-field-divider .wpforms-field-description{margin-top:8px!important}

/* columnas: alineadas arriba y que no se descuadren */
div.wpforms-container-full .cs-pasos .wpforms-field-layout{padding:0!important}
div.wpforms-container-full .cs-pasos .wpforms-field-layout-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:0 16px;margin:0!important}
div.wpforms-container-full .cs-pasos .wpforms-layout-column{width:auto!important;padding:0!important;margin:0!important;min-width:0}

/* vuelos: cada tramo es una tarjeta */
div.wpforms-container-full .cs-pasos .cs-tramo{border:1.5px solid var(--f-line);background:var(--f-card);border-radius:12px;padding:12px 14px 0!important;margin:0 0 12px!important}
.cs-pasos .cs-tramo-t{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin:0 0 10px;color:var(--f-fg)}
.cs-pasos .cs-tramo-t i{font-style:normal;width:24px;height:24px;border-radius:50%;background:var(--f-acc);color:var(--f-acc-ink);display:grid;place-items:center;font-size:13px}
div.wpforms-container-full .cs-pasos .cs-tramo .wpforms-field-layout-columns{grid-template-columns:1fr 1fr}

/* indicador de pasos */
div.wpforms-container-full .cs-pasos .wpforms-page-indicator{margin:0 0 22px!important;padding:0!important;display:flex!important;flex-wrap:nowrap;gap:0;counter-reset:none}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page{flex:1 1 0;min-width:0;margin:0!important;padding:0!important;display:flex!important;flex-direction:column;align-items:center;gap:6px;position:relative;text-align:center}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--f-line);z-index:0}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page:first-child::before{display:none}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page-number{position:relative;z-index:1;width:32px!important;height:32px!important;line-height:30px!important;margin:0!important;border-radius:50%!important;font-size:14px!important;font-weight:700!important;background:var(--f-bg)!important;color:var(--f-mut)!important;border:2px solid var(--f-line)!important}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page-title{font-size:12.5px!important;line-height:1.25!important;color:var(--f-mut)!important;padding:0 2px}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number{background:var(--f-acc)!important;border-color:var(--f-acc)!important;color:var(--f-acc-ink)!important}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page.active .wpforms-page-indicator-page-title{color:var(--f-fg)!important;font-weight:700}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page.cs-hecho .wpforms-page-indicator-page-number{background:var(--f-acc-soft)!important;border-color:var(--f-acc)!important;color:var(--f-acc)!important}
div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page.cs-hecho::before,div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page.active::before{background:var(--f-acc)}
.cs-pasos .cs-paso-de{font-size:13px;color:var(--f-mut);margin:-12px 0 16px;text-align:center}

/* botones */
div.wpforms-container-full .cs-pasos .wpforms-pagebreak-split,div.wpforms-container-full .cs-pasos .wpforms-pagebreak-left{display:flex!important;justify-content:space-between;gap:12px;margin-top:8px;padding-top:16px!important;border-top:1.5px solid var(--f-line)}
div.wpforms-container-full .cs-pasos .wpforms-page-button,div.wpforms-container-full .cs-pasos button[type=submit]{height:48px!important;padding:0 22px!important;border-radius:8px!important;font-size:16px!important;font-weight:700!important;cursor:pointer;border:1.5px solid var(--f-acc)!important;box-shadow:none!important}
div.wpforms-container-full .cs-pasos .wpforms-page-next,div.wpforms-container-full .cs-pasos button[type=submit]{background:var(--f-acc)!important;color:var(--f-acc-ink)!important;margin-left:auto!important}
div.wpforms-container-full .cs-pasos .wpforms-page-next::after{content:" →"}
div.wpforms-container-full .cs-pasos .wpforms-page-prev{background:transparent!important;color:var(--f-acc)!important}
div.wpforms-container-full .cs-pasos .wpforms-page-prev::before{content:"← "}
div.wpforms-container-full .cs-pasos .wpforms-page-button:hover,div.wpforms-container-full .cs-pasos button[type=submit]:hover{filter:brightness(1.1)}
div.wpforms-container-full .cs-pasos .wpforms-submit-container{display:flex;justify-content:flex-end;padding-top:16px!important;border-top:1.5px solid var(--f-line)}

@media (max-width:560px){
  div.wpforms-container-full .cs-pasos .wpforms-field-layout-columns,div.wpforms-container-full .cs-pasos .cs-tramo .wpforms-field-layout-columns{grid-template-columns:1fr}
  div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page:not(.active) .wpforms-page-indicator-page-title{display:none}
  div.wpforms-container-full .cs-pasos .wpforms-page-indicator-page.active .wpforms-page-indicator-page-title{white-space:nowrap}
  div.wpforms-container-full .cs-pasos .wpforms-page-button{flex:1}
}
@media (prefers-reduced-motion:reduce){.cs-pasos *{transition:none!important;animation:none!important}}
