/* Alta de negocio ([vlc_directorio_alta]) y edición frontend de ficha. Tokens y componentes base en mi-vivilacosta.css. */
.vlc-alta{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.vlc-alta-form{display:flex;flex-direction:column;gap:24px}

/* Sin sesión */
.vlc-alta-login{display:flex;flex-direction:column;gap:16px}
.vlc-alta-login p{color:var(--mvl-variant)}
.vlc-alta-login-acciones{display:flex;flex-wrap:wrap;gap:12px}

/* "¿Tu negocio ya aparece?" */
.vlc-alta-buscar{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vlc-alta-buscar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#64a8fe}
.vlc-alta-buscar-texto{display:flex;align-items:flex-start;gap:12px;flex:1 1 320px}
.vlc-alta-buscar-icono{width:40px;height:40px;border-radius:9999px;background:var(--mvl-container);color:var(--mvl-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vlc-alta-buscar strong{display:block;font-size:14px;color:var(--mvl-primary)}
.vlc-alta-buscar p{font-size:14px;color:var(--mvl-variant);max-width:500px}

/* Stepper */
.vlc-alta-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}
.vlc-mvl .vlc-alta-paso-tab{display:flex;align-items:center;gap:8px;padding:8px;border:0;border-radius:8px;background:var(--mvl-low);color:var(--mvl-variant);font:inherit;text-align:left;cursor:default;transition:background .2s,color .2s;min-width:0}
.vlc-mvl .vlc-alta-paso-tab.is-done{cursor:pointer}
.vlc-mvl .vlc-alta-paso-tab.is-done:hover{background:var(--mvl-container)}
.vlc-mvl .vlc-alta-paso-tab.is-active{background:var(--mvl-primary-container);color:#fff}
.vlc-alta-paso-num{width:28px;height:28px;border-radius:9999px;background:var(--mvl-high);color:var(--mvl-variant);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
.vlc-alta-paso-tab.is-active .vlc-alta-paso-num{background:var(--mvl-secondary);color:#fff}
.vlc-alta-paso-tab.is-done .vlc-alta-paso-num{background:var(--mvl-ok-container);color:var(--mvl-ok)}
.vlc-alta-paso-texto{display:flex;flex-direction:column;min-width:0}
.vlc-alta-paso-texto strong{font-size:12px;font-weight:600;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vlc-alta-paso-texto span{font-size:11px;color:var(--mvl-outline);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vlc-alta-paso-tab.is-active .vlc-alta-paso-texto span{color:#778ede}

/* Pasos */
.vlc-alta-paso{display:flex;flex-direction:column;gap:24px}
@keyframes vlc-alta-paso-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.vlc-alta-paso.is-entrando{animation:vlc-alta-paso-entra .3s ease}
.vlc-alta-paso-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.vlc-alta-paso-cabecera h2{font-size:20px;font-weight:700}
.vlc-alta-paso-cabecera p{font-size:14px;color:var(--mvl-variant);margin-top:4px}
.vlc-alta-pill{flex-shrink:0;background:var(--mvl-container);color:var(--mvl-primary);font-size:12px;font-weight:500;padding:4px 8px;border-radius:9999px;white-space:nowrap}
.vlc-alta-seccion{display:flex;flex-direction:column;gap:12px}
.vlc-alta-seccion h3{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}
.vlc-alta-seccion h3 .vlc-mvl-ico{color:var(--mvl-secondary)}
.vlc-alta-seccion-cabecera{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.vlc-mvl .vlc-alta-link{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:500;color:var(--mvl-secondary);cursor:pointer}
.vlc-mvl .vlc-alta-link .vlc-mvl-ico{font-size:16px}
.vlc-alta-link:hover{text-decoration:underline}
.vlc-alta-texto-suave{font-size:14px;color:var(--mvl-variant)}
.vlc-alta-cuenta{font-size:12px;color:var(--mvl-variant)}
.vlc-alta-cuenta strong{color:var(--mvl-primary)}
.vlc-alta-acciones{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px}
.vlc-alta-acciones>:only-child{margin-left:auto}

/* Servicios como chips */
.vlc-alta-chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}
.vlc-alta-chip{position:relative;cursor:pointer}
.vlc-alta-chip input{position:absolute;opacity:0;width:1px;height:1px}
.vlc-alta-chip span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9999px;background:var(--mvl-container);color:var(--mvl-variant);font-size:12px;font-weight:500;letter-spacing:.04em;transition:background .15s,color .15s}
.vlc-alta-chip:hover span{background:var(--mvl-high)}
.vlc-alta-chip input:checked+span{background:var(--mvl-secondary);color:#fff;box-shadow:var(--mvl-shadow)}
.vlc-alta-chip input:checked+span::before{content:"✓";font-weight:700}
.vlc-alta-chip input:focus-visible+span{outline:2px solid var(--mvl-secondary);outline-offset:2px}

/* Horarios (VLC_Directorio_Horario_Form) */
.vlc-horarios{display:flex;flex-direction:column;gap:8px;background:var(--mvl-low);border-radius:12px;padding:12px}
.vlc-horario-fila{display:grid;grid-template-columns:96px 1fr auto;grid-template-areas:"dia turnos cerrado" ". links links";align-items:center;gap:4px 12px;background:#fff;border-radius:8px;padding:8px}
.vlc-horario-dia{grid-area:dia;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--mvl-primary)}
.vlc-horario-turnos{grid-area:turnos;display:flex;flex-direction:column;gap:6px}
.vlc-horario-turno{display:flex;align-items:center;gap:8px}
.vlc-horario-turno span{color:var(--mvl-outline);font-size:14px}
.vlc-mvl .vlc-horario-turno input[type=time]{height:36px;margin:0;padding:0 8px;border:0!important;border-radius:4px;background:var(--mvl-low)!important;color:var(--mvl-on-surface);font:inherit;font-size:12px;box-shadow:none!important}
.vlc-horario-cerrado{grid-area:cerrado;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mvl-variant);cursor:pointer}
.vlc-horario-cerrado input{margin:0}
.vlc-horario-links{grid-area:links;display:flex;gap:12px}
.vlc-mvl .vlc-horario-links button{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--mvl-secondary);cursor:pointer}
.vlc-mvl .vlc-horario-links button:hover{text-decoration:underline}
.vlc-horario-fila.is-cerrado .vlc-horario-turnos{opacity:.4;pointer-events:none}
.vlc-horario-fila.is-cerrado .vlc-horario-cerrado span{color:var(--mvl-primary);font-weight:500}
.vlc-horario-fila.is-cerrado [data-horario-turno2]{display:none}
.vlc-horarios-ayuda{font-size:11px;color:var(--mvl-outline)}

/* Logo */
.vlc-alta-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:24px;border-radius:12px;background:var(--mvl-low);cursor:pointer;transition:background .15s}
.vlc-alta-dropzone:hover,.vlc-alta-dropzone.is-dragover{background:var(--mvl-container)}
.vlc-alta-dropzone.is-dragover{outline:2px dashed var(--mvl-secondary)}
.vlc-alta-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.vlc-alta-dropzone-icono{width:48px;height:48px;border-radius:9999px;background:var(--mvl-high);color:var(--mvl-secondary);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.vlc-mvl .vlc-alta-dropzone-icono .vlc-mvl-ico{font-size:28px}
.vlc-alta-dropzone strong{font-size:14px;font-weight:500;color:var(--mvl-primary)}
.vlc-alta-dropzone p{font-size:11px;color:var(--mvl-outline)}
.vlc-alta-dropzone .vlc-alta-dropzone-nombre{font-size:14px;font-weight:600;color:var(--mvl-primary)}

/* Modal de posibles duplicados */
.vlc-alta-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,17,66,.5)}
.vlc-alta-modal-caja{width:100%;max-width:480px;background:#fff;border-radius:12px;padding:24px;box-shadow:var(--mvl-shadow-md);display:flex;flex-direction:column;gap:12px}
.vlc-alta-modal-caja h3{font-size:20px;font-weight:700}
.vlc-alta-modal-caja>p{font-size:14px;color:var(--mvl-variant)}
.vlc-alta-modal-caja ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.vlc-alta-modal-caja li{display:flex;flex-direction:column;gap:2px;background:var(--mvl-low);border-radius:8px;padding:10px 12px}
.vlc-alta-modal-caja li strong{color:var(--mvl-primary)}
.vlc-alta-modal-caja li span{font-size:12px;color:var(--mvl-variant)}
.vlc-alta-modal-caja li a{font-size:12px;font-weight:600;color:var(--mvl-secondary)!important}
.vlc-alta-modal-acciones{display:flex;justify-content:flex-end}

/* Edición de ficha (VLC_Directorio_Editar) */
.vlc-editar-volver{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--mvl-variant)!important;text-decoration:none!important;align-self:flex-start}
.vlc-editar-volver:hover{color:var(--mvl-primary)!important}
.vlc-editar-logo{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vlc-editar-logo img{width:72px;height:72px;object-fit:cover;border-radius:12px}

@media (max-width:640px){
    .vlc-alta-paso-texto span{display:none}
    .vlc-mvl .vlc-alta-paso-tab{flex-direction:column;text-align:center;gap:4px}
    .vlc-alta-paso-texto strong{white-space:normal}
    .vlc-mvl-card{padding:16px}
    .vlc-alta-paso-cabecera{flex-direction:column-reverse}
    .vlc-horario-fila{grid-template-columns:1fr auto;grid-template-areas:"dia cerrado" "turnos turnos" "links links"}
    .vlc-alta-acciones{flex-direction:column-reverse;align-items:stretch}
    .vlc-alta-acciones .vlc-mvl-btn{width:100%}
}
.vlc-alta-nota-final{font-size:12px;color:var(--mvl-variant);text-align:right;margin-top:-12px}
@media (max-width:640px){.vlc-alta-nota-final{text-align:center;margin-top:0}}

/* Historial de revisión (VLC_Directorio_Revision) */
.vlc-revision{display:flex;flex-direction:column;gap:12px}
.vlc-revision h3{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}
.vlc-revision h3 .vlc-mvl-ico{color:var(--mvl-secondary)}
.vlc-revision-lista{list-style:none;margin:0;padding:0 0 0 8px;display:flex;flex-direction:column;gap:12px;border-left:2px solid var(--mvl-high)}
.vlc-revision-item{position:relative;display:flex;gap:12px;padding-left:12px;font-size:14px}
.vlc-revision-item::before{content:"";position:absolute;left:-14px;top:5px;width:10px;height:10px;border-radius:9999px;background:var(--mvl-secondary);box-shadow:0 0 0 3px #fff}
.vlc-revision-item--rechazada::before{background:var(--mvl-error)}
.vlc-revision-item--cambios::before{background:#bc865a}
.vlc-revision-item--aprobada::before{background:var(--mvl-ok-dot)}
.vlc-revision-fecha{flex-shrink:0;width:80px;font-size:12px;color:var(--mvl-outline);padding-top:1px}
.vlc-revision-item strong{color:var(--mvl-on-surface)}
.vlc-revision-item p{font-size:13px;color:var(--mvl-variant);margin-top:2px}
.vlc-identidad-tipo{border:0;padding:0;margin:0}
.vlc-identidad-tipo legend{font-weight:600;margin-bottom:6px}
.vlc-identidad-opcion{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:14px}
.vlc-identidad-declaracion .vlc-identidad-opcion{align-items:flex-start}

.vlc-modalidades-otras{margin-top:12px}.vlc-modalidades-otras summary{cursor:pointer;font-weight:600}.vlc-campo-error{outline:2px solid #c62828;outline-offset:4px;border-radius:8px}
.vlc-mvl-campo{scroll-margin-top:140px}.vlc-campo-aviso{margin:6px 0 0;color:#c62828;font-size:13px;font-weight:600}

/* Perfil de atención (1.14.0) */
.vlc-servicio [hidden],.vlc-alta-direccion [hidden]{display:none!important}
.vlc-servicio fieldset{border:0;padding:0;margin:0 0 16px}.vlc-servicio legend{font-weight:600;margin-bottom:6px}
.vlc-servicio-opcion{display:inline-flex;align-items:center;gap:6px;margin:2px 14px 2px 0;font-size:14px}
.vlc-servicio-zonas{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 12px;margin:10px 0}
.vlc-servicio-grupo{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:14px}.vlc-servicio-grupo+small{grid-column:1/-1}
.vlc-servicio-zona{display:flex;align-items:center;gap:6px;font-size:14px}
.vlc-servicio .vlc-mvl-campo>label.vlc-servicio-opcion{justify-content:flex-start;font-weight:400}
.vlc-servicio-campo{margin:0 0 16px;font-size:14px}.vlc-servicio-campo select{margin-left:8px}
.vlc-servicio-aviso[hidden]{display:none!important}.vlc-servicio-aviso{display:block;margin-top:4px;color:#8a5a00}
