/*
 Theme Name:   Anesta Child
 Theme URI:    https://clubmadera.codesian.dev
 Description:  Tema hijo de Anesta para Club Madera
 Author:       Codesian
 Template:     anesta
 Version:      1.0.0
 Text Domain:  anesta-child
*/

/* ============================================================
   PÁGINA /registro/ - Formulario JSAPI
   ============================================================ */

/* Layout */
.page-content-wp[entity="client"] { overflow: visible !important; }
body { overflow: auto !important; }
.page-content-wp[entity="client"] .form-layout-right { display: none !important; }
.page-content-wp[entity="client"] .form-layout-left { max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; }

/* Ocultar elementos innecesarios */
.page-content-wp[entity="client"] .group-label { display: none !important; }
.page-content-wp[entity="client"] .assisted_field_icon { display: none !important; }
.page-content-wp[entity="client"] .form-group:has([fname="client_people"]) { display: none !important; }
.page-content-wp[entity="client"] .loader-container-wp { display: none !important; }
.page-content-wp[entity="client"] .card { border: none !important; box-shadow: none !important; background: transparent !important; }
.page-content-wp[entity="client"] .card-header { display: none !important; }
.page-content-wp[entity="client"] .card-body { padding: 0 !important; }
.page-content-wp[entity="client"] .navbar { display: none !important; }

/* Contenedor del formulario con card */
.page-content-wp[entity="client"] .form-wrapper {
    background: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
    padding: 36px 40px !important;
    margin: 0 auto !important;
}

/* Labels */
.page-content-wp[entity="client"] .form-group label {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #284748;
    margin-bottom: 5px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Inputs y textarea */
.page-content-wp[entity="client"] .form-control:not(.select2-hidden-accessible):not(.select2-container),
.page-content-wp[entity="client"] input[type="text"],
.page-content-wp[entity="client"] input[type="email"],
.page-content-wp[entity="client"] input[type="number"],
.page-content-wp[entity="client"] textarea {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 14px !important;
    color: #333 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fafafa !important;
    box-shadow: none !important;
    padding: 9px 12px !important;
    width: 100% !important;
    min-height: 42px !important;
    transition: border-color 0.2s !important;
}
.page-content-wp[entity="client"] .form-control:not(.select2-hidden-accessible):not(.select2-container):focus,
.page-content-wp[entity="client"] input[type="text"]:focus,
.page-content-wp[entity="client"] input[type="email"]:focus,
.page-content-wp[entity="client"] input[type="number"]:focus,
.page-content-wp[entity="client"] textarea:focus {
    border-color: #68A45D !important;
    background: #fff !important;
    outline: none !important;
}

/* Select2 contenedor */
.page-content-wp[entity="client"] .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single (País) */
.page-content-wp[entity="client"] .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.page-content-wp[entity="client"] .select2-container--default .select2-selection--single .select2-selection__rendered { font-family: 'Inter', 'Roboto', sans-serif !important; line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.page-content-wp[entity="client"] .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.page-content-wp[entity="client"] .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Select2 multiple (Tipo de contacto) */
.page-content-wp[entity="client"] .select2-container .select2-selection--multiple { min-height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; padding: 4px 10px !important; }
.page-content-wp[entity="client"] .select2-search--inline { display: none !important; }
.page-content-wp[entity="client"] .select2-selection__choice { font-family: 'Inter', 'Roboto', sans-serif !important; background: #e8f5e4 !important; border: none !important; border-radius: 4px !important; padding: 2px 8px !important; margin: 2px 3px !important; font-size: 12px !important; color: #284748 !important; }

/* Dropdown abre hacia abajo */
.page-content-wp[entity="client"] .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }

/* ============================================================
   PÁGINA /mi-area/ - Formulario empresa (wood_club_company)
   ============================================================ */

/* Select2 contenedor */
.page-content-wp[entity="wood_club_company"] .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single */
.page-content-wp[entity="wood_club_company"] .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.page-content-wp[entity="wood_club_company"] .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.page-content-wp[entity="wood_club_company"] .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.page-content-wp[entity="wood_club_company"] .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Select2 multiple */
.page-content-wp[entity="wood_club_company"] .select2-container .select2-selection--multiple { min-height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; padding: 4px 10px !important; }
.page-content-wp[entity="wood_club_company"] .select2-search--inline { display: none !important; }
.page-content-wp[entity="wood_club_company"] .select2-selection__choice { background: #e8f5e4 !important; border: none !important; border-radius: 4px !important; padding: 2px 8px !important; margin: 2px 3px !important; font-size: 12px !important; color: #284748 !important; }

/* Preview de tags seleccionados debajo del select */
.page-content-wp[entity="wood_club_company"] .select2-preview { display: block !important; margin-top: 6px !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview:empty { display: none !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview .tag-selected { display: inline-flex !important; align-items: stretch !important; color: #4a5568 !important; font-size: 12px !important; padding: 2px 0 !important; gap: 4px !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview .tag-selected .destroy-tag-selected { display: flex !important; align-items: center !important; color: #adb5bd !important; cursor: pointer !important; text-decoration: none !important; font-weight: bold !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview .tag-selected span { border-left: 1px solid #aaa !important; padding-left: 6px !important; }

/* Dropdown abre hacia abajo */
.page-content-wp[entity="wood_club_company"] .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }


/* Separación entre campos */
.page-content-wp[entity="client"] .form-group { margin-bottom: 20px !important; }

/* Botón guardar */
.page-content-wp[entity="client"] .btn-primary {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    background-color: #68A45D !important;
    border-color: #68A45D !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 10px 32px !important;
    border-radius: 6px !important;
    letter-spacing: 0.03em !important;
    transition: background-color 0.2s !important;
}
.page-content-wp[entity="client"] .btn-primary:hover {
    background-color: #284748 !important;
    border-color: #284748 !important;
}

/* ============================================================
   PÁGINA /alta-proyectos/ - Formulario proyecto (wood_club_project)
   ============================================================ */

/* Select2 contenedor */
.page-content-wp[entity="wood_club_project"] .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single */
.page-content-wp[entity="wood_club_project"] .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.page-content-wp[entity="wood_club_project"] .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.page-content-wp[entity="wood_club_project"] .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.page-content-wp[entity="wood_club_project"] .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Dropdown abre hacia abajo */
.page-content-wp[entity="wood_club_project"] .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }

/* ============================================================
   PÁGINA /registro/ - Formulario Login nativo (register_section)
   ============================================================ */
.cm-registro-wp {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px 0;
}

/* Ocultar secciones del login que no aplican en /registro/ */
.cm-registro-wp .login-main-section,
.cm-registro-wp .login-change-password-section,
.cm-registro-wp .login-recover-section {
    display: none !important;
}

/* Siempre visible la sección de registro */
.cm-registro-wp .login-register-section {
    display: block !important;
}

.cm-registro-wp .login-register-section .card {
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    overflow: visible !important;
}

.cm-registro-wp .login-register-section .card-header {
    background: #53a654;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: 18px 28px;
    border-radius: 12px 12px 0 0 !important;
}

.cm-registro-wp .login-register-section h5.card-header {
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.cm-registro-wp .login-register-section .card-body {
    padding: 28px 32px 20px !important;
}

/* Campos Nombre y Apellidos: fila de 2 */
.cm-registro-wp .login-register-section .form-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
}

/* Campos extra: grid de 2 columnas */
.cm-registro-wp .register-extra-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
    grid-column: 1 / -1;
}

/* Email, password, confirm, checkbox y botón: full width */
.cm-registro-wp .login-register-section .form-group:has(#login-register-email),
.cm-registro-wp .login-register-section .form-group:has(#login-register-password),
.cm-registro-wp .login-register-section .form-group:has(#login-register-confirm-password),
.cm-registro-wp .login-register-section .form-check,
.cm-registro-wp .login-register-section .login-btn {
    grid-column: 1 / -1;
}

.cm-registro-wp .login-register-section .form-group label,
.cm-registro-wp .login-register-section .register-extra-fields label {
    font-size: 0.82rem;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
    margin-bottom: 4px;
}

.cm-registro-wp .login-register-section .form-control {
    border-radius: 7px;
    border: 1.5px solid #e2e8f0;
    padding: 9px 12px;
    font-size: 0.92rem;
}

/* select2: ocultar el select nativo, dejar solo el widget */
.cm-registro-wp .register-extra-fields .select2-hidden-accessible {
    display: none !important;
}

.cm-registro-wp .register-extra-fields .select2-container.form-control {
    padding: 0;
    height: auto;
    border: none;
}

.cm-registro-wp .register-extra-fields .select2-selection--single {
    border-radius: 7px;
    border: 1.5px solid #e2e8f0 !important;
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 12px;
}

.cm-registro-wp .register-extra-fields .select2-selection__rendered {
    font-size: 0.92rem;
    line-height: 1.4;
    padding: 0;
    color: #2d3748;
}

.cm-registro-wp .register-extra-fields .select2-selection__placeholder {
    color: #a0aec0;
}

/* Ocultar iconos de asistente (búsqueda/clear) en campos de texto */
.cm-registro-wp .register-extra-fields .assisted_field_icon {
    display: none !important;
}

.cm-registro-wp .login-register-section .login-btn {
    background: #53a654;
    color: #fff;
    border-radius: 7px;
    padding: 10px 28px;
    font-weight: 600;
    width: 100%;
    margin-top: 8px;
    border: none;
}

.cm-registro-wp .login-register-section .login-btn:hover {
    background: #3d8a3e;
    color: #fff;
}

/* Ocultar logo, tabs de método y footer de links */
.cm-registro-wp .login-logo,
.cm-registro-wp .login-method-tabs,
.cm-registro-wp .login-footer {
    display: none !important;
}

/* Responsive: 1 columna en móvil */
@media (max-width: 600px) {
    .cm-registro-wp .login-register-section .form-container,
    .cm-registro-wp .register-extra-fields {
        grid-template-columns: 1fr;
    }
}

/* Mensaje de éxito */
.cm-registro-ok {
    text-align: center;
    padding: 40px 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.cm-registro-ok p {
    color: #4a5568;
    font-size: 1rem;
    margin-bottom: 8px;
}

.cm-registro-ok .btn-primary {
    background-color: #53a654 !important;
    border-color: #53a654 !important;
}

/* ============================================================
   PÁGINAS /alta-empresas/ y /alta-proyectos/ - estilos compartidos
   ============================================================ */
.cm-alta-empresas-wp,
.cm-alta-proyectos-wp {
    overflow: visible !important;
}

/* Layout */
.cm-alta-empresas-wp .page-content-wp,
.cm-alta-proyectos-wp .page-content-wp {
    overflow: visible !important;
}
.cm-alta-empresas-wp .form-layout-right,
.cm-alta-proyectos-wp .form-layout-right { display: none !important; }
.cm-alta-empresas-wp .form-layout-row-wp,
.cm-alta-proyectos-wp .form-layout-row-wp { display: flex !important; height: auto !important; min-height: 0 !important; }
.cm-alta-empresas-wp .form-layout-left,
.cm-alta-proyectos-wp .form-layout-left { max-width: 100% !important; flex: 1 1 100% !important; width: 100% !important; padding: 0 !important; height: auto !important; }

/* Ocultar elementos innecesarios */
.cm-alta-empresas-wp .assisted_field_icon,
.cm-alta-proyectos-wp .assisted_field_icon { display: none !important; }
.cm-alta-empresas-wp .loader-container-wp,
.cm-alta-proyectos-wp .loader-container-wp { display: none !important; }
.cm-alta-empresas-wp .card,
.cm-alta-proyectos-wp .card { display: block !important; border: none !important; box-shadow: none !important; background: transparent !important; }
.cm-alta-empresas-wp .card-header,
.cm-alta-proyectos-wp .card-header { display: none !important; }
.cm-alta-empresas-wp .card-body,
.cm-alta-proyectos-wp .card-body { padding: 0 !important; }
.cm-alta-empresas-wp .navbar,
.cm-alta-proyectos-wp .navbar { display: none !important; }

/* Labels */
.cm-alta-empresas-wp .form-group label,
.cm-alta-proyectos-wp .form-group label {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #284748;
    margin-bottom: 5px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Group labels - títulos de sección */
.cm-alta-empresas-wp .group-label,
.cm-alta-proyectos-wp .group-label {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a3a3a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-bottom: 2px solid #49A362 !important;
    padding-bottom: 6px !important;
    margin-bottom: 18px !important;
    margin-top: 10px !important;
}

/* Inputs y textarea */
.cm-alta-empresas-wp .form-control:not(.select2-hidden-accessible):not(.select2-container),
.cm-alta-empresas-wp input[type="text"],
.cm-alta-empresas-wp input[type="email"],
.cm-alta-empresas-wp input[type="number"],
.cm-alta-empresas-wp textarea,
.cm-alta-proyectos-wp .form-control:not(.select2-hidden-accessible):not(.select2-container),
.cm-alta-proyectos-wp input[type="text"],
.cm-alta-proyectos-wp input[type="email"],
.cm-alta-proyectos-wp input[type="number"],
.cm-alta-proyectos-wp textarea {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 14px !important;
    color: #333 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fafafa !important;
    box-shadow: none !important;
    padding: 9px 12px !important;
    width: 100% !important;
    min-height: 42px !important;
    transition: border-color 0.2s !important;
}
.cm-alta-empresas-wp .form-control:not(.select2-hidden-accessible):not(.select2-container):focus,
.cm-alta-empresas-wp input[type="text"]:focus,
.cm-alta-empresas-wp input[type="email"]:focus,
.cm-alta-empresas-wp input[type="number"]:focus,
.cm-alta-empresas-wp textarea:focus,
.cm-alta-proyectos-wp .form-control:not(.select2-hidden-accessible):not(.select2-container):focus,
.cm-alta-proyectos-wp input[type="text"]:focus,
.cm-alta-proyectos-wp input[type="email"]:focus,
.cm-alta-proyectos-wp input[type="number"]:focus,
.cm-alta-proyectos-wp textarea:focus {
    border-color: #49A362 !important;
    background: #fff !important;
    outline: none !important;
}

/* Separación entre campos */
.cm-alta-empresas-wp .form-group,
.cm-alta-proyectos-wp .form-group { margin-bottom: 20px !important; }

/* Altura fija del wrapper de label = exactamente 2 líneas de texto (12px uppercase, line-height 1.4) */
.cm-alta-empresas-wp .form-group-label-wp,
.cm-alta-proyectos-wp .form-group-label-wp { height: 36px !important; display: flex !important; align-items: flex-end !important; }
.cm-alta-empresas-wp .form-group-label-wp label,
.cm-alta-proyectos-wp .form-group-label-wp label { min-height: unset !important; display: block !important; line-height: 1.4 !important; }

/* Cada campo se ancla arriba para que la preview no desplace a los vecinos */
.cm-alta-empresas-wp .group_content.row .form-group,
.cm-alta-proyectos-wp .group_content.row .form-group { align-self: flex-start !important; }

/* Botón guardar */
.cm-alta-empresas-wp .btn-primary,
.cm-alta-proyectos-wp .btn-primary,
.cm-nueva-empresa-footer .btn-primary {
    background-color: #49A362 !important;
    border-color: #49A362 !important;
    color: #fff !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 10px 32px !important;
    border-radius: 6px !important;
    letter-spacing: 0.03em !important;
}
.cm-alta-empresas-wp .btn-primary:hover,
.cm-alta-proyectos-wp .btn-primary:hover,
.cm-nueva-empresa-footer .btn-primary:hover {
    background-color: #3a8a50 !important;
    border-color: #3a8a50 !important;
}

/* Select2 - contenedor */
.cm-alta-empresas-wp .select2-container,
.cm-alta-proyectos-wp .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single */
.cm-alta-empresas-wp .select2-container .select2-selection--single,
.cm-alta-proyectos-wp .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.cm-alta-empresas-wp .select2-container--default .select2-selection--single .select2-selection__rendered,
.cm-alta-proyectos-wp .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.cm-alta-empresas-wp .select2-container--default .select2-selection--single .select2-selection__arrow,
.cm-alta-proyectos-wp .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.cm-alta-empresas-wp .select2-selection--single button.select2-selection__clear,
.cm-alta-proyectos-wp .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Select2 multiple */
.cm-alta-empresas-wp .select2-container .select2-selection--multiple,
.cm-alta-proyectos-wp .select2-container .select2-selection--multiple { min-height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; padding: 4px 10px !important; }
.cm-alta-empresas-wp .select2-search--inline,
.cm-alta-proyectos-wp .select2-search--inline { display: none !important; }
.cm-alta-empresas-wp .select2-selection__choice,
.cm-alta-proyectos-wp .select2-selection__choice { background: #e8f5e4 !important; border: none !important; border-radius: 4px !important; padding: 2px 8px !important; margin: 2px 3px !important; font-size: 12px !important; color: #284748 !important; }

/* Dropdown abre hacia abajo */
.cm-alta-empresas-wp .select2-container--open .select2-dropdown--above,
.cm-alta-proyectos-wp .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }

/* Preview de tags seleccionados debajo del select */
.cm-alta-empresas-wp .select2-preview,
.cm-alta-proyectos-wp .select2-preview { display: block !important; margin-top: 6px !important; }
.cm-alta-empresas-wp .select2-preview:empty,
.cm-alta-proyectos-wp .select2-preview:empty { display: none !important; }
.cm-alta-empresas-wp .select2-preview ul,
.cm-alta-proyectos-wp .select2-preview ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.cm-alta-empresas-wp .select2-preview .tag-selected,
.cm-alta-proyectos-wp .select2-preview .tag-selected { display: inline-flex !important; align-items: stretch !important; color: #4a5568 !important; font-size: 12px !important; padding: 2px 0 !important; gap: 4px !important; }
.cm-alta-empresas-wp .select2-preview .tag-selected .destroy-tag-selected,
.cm-alta-proyectos-wp .select2-preview .tag-selected .destroy-tag-selected { display: flex !important; align-items: center !important; color: #adb5bd !important; cursor: pointer !important; text-decoration: none !important; font-weight: bold !important; }
.cm-alta-empresas-wp .select2-preview .tag-selected span,
.cm-alta-proyectos-wp .select2-preview .tag-selected span { border-left: 1px solid #aaa !important; padding-left: 6px !important; }

/* ============================================================
   Select2 dropdown global (se renderiza en body, fuera del contenedor)
   Aplica a /alta-empresas/ y /alta-proyectos/
   ============================================================ */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #49A362 !important;
    color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #e8f5e4 !important;
    color: #284748 !important;
}
.select2-dropdown {
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10) !important;
}
.select2-results__option {
    font-size: 14px !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    padding: 8px 12px !important;
    color: #333 !important;
}

/* Botones genéricos mi área */
.cm-btn-cancel { background: none !important; border: 1px solid #ddd !important; color: #888 !important; }
.cm-btn-cancel:hover { background: #f5f5f5 !important; color: #555 !important; border-color: #ccc !important; }
.cm-btn-delete { background: #e53e3e !important; border: none !important; color: #fff !important; }
.cm-btn-delete:hover { background: #c53030 !important; color: #fff !important; }

/* Ocultar campos owner, state y sección usuarios en alta-empresas */
.cm-alta-empresas-wp .form-group:has([fname=owner]) { display: none !important; }
.cm-alta-empresas-wp .form-group:has([fname=state]) { display: none !important; }
.cm-alta-empresas-wp .form-layout-related { display: none !important; }
.cm-alta-empresas-wp h4.form-related-title { display: none !important; }
.cm-alta-empresas-wp .group.row[group=5] { display: none !important; }
.cm-alta-empresas-wp .group_content.row[group=5] { display: none !important; }
.cm-alta-empresas-wp .form-group:has([fname=company_users]) { display: none !important; }
.cm-alta-empresas-wp .form-group:has([ftype=FieldRelationEntityTable]) { display: none !important; }
.cm-alta-empresas-wp label.group-label:has(~ *) { display: none !important; }

/* Botón inscribirse en ficha de curso */
.ccd-btn-inscribirse {
    display: block;
    width: 100%;
    padding: 12px 0;
    margin-top: 16px;
    background: #2563eb;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
.ccd-btn-inscribirse:hover:not(:disabled) { background: #1d4ed8; }
.ccd-btn-inscribirse:disabled, .ccd-btn-inscribirse.ccd-inscrito {
    background: #6b7280;
    cursor: default;
}

/* Tabla solicitudes de modificación de proyecto - ocultar columnas internas */
#cm-editar-proyecto-wp th[name="code"],
#cm-editar-proyecto-wp td[name="code"],
#cm-editar-proyecto-wp th[name="parent_entity"],
#cm-editar-proyecto-wp td[name="parent_entity"],
#cm-editar-proyecto-wp th[name="parent_entity_id"],
#cm-editar-proyecto-wp td[name="parent_entity_id"],
#cm-editar-proyecto-wp th[name="tipo_cambio"],
#cm-editar-proyecto-wp td[name="tipo_cambio"],
#cm-editar-proyecto-wp th[name="tipo_cambio"],
#cm-editar-proyecto-wp td[name="tipo_cambio"],
#cm-editar-proyecto-wp th[name="creator"],
#cm-editar-proyecto-wp td[name="creator"],
#cm-editar-proyecto-wp th[name="ownership_mark"],
#cm-editar-proyecto-wp td[name="ownership_mark"],
#cm-editar-proyecto-wp th[name="creation_date"],
#cm-editar-proyecto-wp td[name="creation_date"],
#cm-editar-proyecto-wp th[name="update_date"],
#cm-editar-proyecto-wp td[name="update_date"] { display: none !important; }

/* Ocultar columnas por posición en tabla de solicitudes (fallback sin DataTables) */
#cm-editar-proyecto-wp table th:nth-child(1),
#cm-editar-proyecto-wp table td:nth-child(1),
#cm-editar-proyecto-wp table th:nth-child(2),
#cm-editar-proyecto-wp table td:nth-child(2),
#cm-editar-proyecto-wp table th:nth-child(3),
#cm-editar-proyecto-wp table td:nth-child(3),
#cm-editar-proyecto-wp table th:nth-child(4),
#cm-editar-proyecto-wp table td:nth-child(4),
#cm-editar-proyecto-wp table th:nth-child(9),
#cm-editar-proyecto-wp table td:nth-child(9),
#cm-editar-proyecto-wp table th:nth-child(10),
#cm-editar-proyecto-wp table td:nth-child(10),
#cm-editar-proyecto-wp table th:nth-child(11),
#cm-editar-proyecto-wp table td:nth-child(11),
#cm-editar-proyecto-wp table th:nth-child(12),
#cm-editar-proyecto-wp table td:nth-child(12) { display: none !important; }

/* Select2 en modales - ocultar select nativo cuando Select2 está activo */
.modal select.select2-hidden-accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
    opacity: 0 !important;
}

/* Select2 container dentro de modal */
.modal .select2-container.form-control {
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 0 !important;
    height: auto !important;
    background: #fafafa !important;
}
.modal .select2-container .select2-selection--single {
    height: 42px !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
}
.modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 10px !important;
    color: #333 !important;
}
.modal .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}

/* Ocultar select nativo en modales JSAPI cuando Select2 está activo */
.modal select[data-select2-id] {
    display: none !important;
}

/* MI ÁREA - Ocultar logo Codesian y elementos innecesarios del login */

/* MI ÁREA - Login */
.cm-mi-area-wp { max-width: 860px; margin: 0 auto; padding: 0; }
.cm-mi-area-wp .navbar { display: none !important; }
.cm-mi-area-wp .login-logo { display: none !important; }
.cm-mi-area-wp .login-method-tabs { display: none !important; }
.cm-mi-area-wp .login-continue-as-guest { display: none !important; }
.cm-mi-area-wp .form-check.login-as-worker-check { display: none !important; }
.cm-mi-area-wp .card { border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.cm-mi-area-wp h5.card-header { margin: 0 !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.4 !important; background: #53a654; color: #fff; padding: 18px 28px; border-radius: 12px 12px 0 0 !important; }
.cm-mi-area-wp .card-body { padding: 28px 32px 20px !important; }
.cm-mi-area-wp .login-btn { background: #53a654; color: #fff; border-radius: 7px; padding: 10px 28px; font-weight: 600; width: 100%; border: none; }
.cm-mi-area-wp .login-btn:hover { background: #3d8a3e; }
.cm-mi-area-wp .login-footer { display: flex !important; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 16px; }
.cm-mi-area-wp .login-footer .login-link-wp { flex: 1; text-align: center; min-width: 140px; }
.cm-mi-area-wp .login-footer .login-link-wp.w-100 { flex: 0 0 100%; text-align: center; border-top: 1px solid #e2e8f0; padding-top: 12px; margin-top: 4px; }
.cm-mi-area-wp .login-footer .login-link { font-size: 0.85rem; color: #53a654; text-decoration: none; }
.cm-mi-area-wp .login-footer .login-link:hover { text-decoration: underline; }
/* ============================================================
   PÁGINA /mi-area/ - Formulario empresa (wood_club_company)
   ============================================================ */

/* Select2 contenedor */
.page-content-wp[entity="wood_club_company"] .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single */
.page-content-wp[entity="wood_club_company"] .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.page-content-wp[entity="wood_club_company"] .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.page-content-wp[entity="wood_club_company"] .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.page-content-wp[entity="wood_club_company"] .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Select2 multiple */
.page-content-wp[entity="wood_club_company"] .select2-container .select2-selection--multiple { min-height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; padding: 4px 10px !important; }
.page-content-wp[entity="wood_club_company"] .select2-search--inline { display: none !important; }
.page-content-wp[entity="wood_club_company"] .select2-selection__choice { background: #e8f5e4 !important; border: none !important; border-radius: 4px !important; padding: 2px 8px !important; margin: 2px 3px !important; font-size: 12px !important; color: #284748 !important; }

/* Preview de tags seleccionados debajo del select */
.page-content-wp[entity="wood_club_company"] .select2-preview { display: block !important; margin-top: 6px !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview:empty { display: none !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview .tag-selected { display: inline-flex !important; align-items: stretch !important; color: #4a5568 !important; font-size: 12px !important; padding: 2px 0 !important; gap: 4px !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview .tag-selected .destroy-tag-selected { display: flex !important; align-items: center !important; color: #adb5bd !important; cursor: pointer !important; text-decoration: none !important; font-weight: bold !important; }
.page-content-wp[entity="wood_club_company"] .select2-preview .tag-selected span { border-left: 1px solid #aaa !important; padding-left: 6px !important; }

/* Dropdown abre hacia abajo */
.page-content-wp[entity="wood_club_company"] .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }


/* Separación entre campos */
.page-content-wp[entity="client"] .form-group { margin-bottom: 20px !important; }

/* Botón guardar */
.page-content-wp[entity="client"] .btn-primary {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    background-color: #68A45D !important;
    border-color: #68A45D !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 10px 32px !important;
    border-radius: 6px !important;
    letter-spacing: 0.03em !important;
    transition: background-color 0.2s !important;
}
.page-content-wp[entity="client"] .btn-primary:hover {
    background-color: #284748 !important;
    border-color: #284748 !important;
}

/* ============================================================
   PÁGINA /alta-proyectos/ - Formulario proyecto (wood_club_project)
   ============================================================ */

/* Select2 contenedor */
.page-content-wp[entity="wood_club_project"] .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single */
.page-content-wp[entity="wood_club_project"] .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.page-content-wp[entity="wood_club_project"] .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.page-content-wp[entity="wood_club_project"] .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.page-content-wp[entity="wood_club_project"] .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Dropdown abre hacia abajo */
.page-content-wp[entity="wood_club_project"] .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }

/* ============================================================
   PÁGINA /registro/ - Formulario Login nativo (register_section)
   ============================================================ */
.cm-registro-wp {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px 0;
}

/* Ocultar secciones del login que no aplican en /registro/ */
.cm-registro-wp .login-main-section,
.cm-registro-wp .login-change-password-section,
.cm-registro-wp .login-recover-section {
    display: none !important;
}

/* Siempre visible la sección de registro */
.cm-registro-wp .login-register-section {
    display: block !important;
}

.cm-registro-wp .login-register-section .card {
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    overflow: visible !important;
}

.cm-registro-wp .login-register-section .card-header {
    background: #53a654;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: 18px 28px;
    border-radius: 12px 12px 0 0 !important;
}

.cm-registro-wp .login-register-section h5.card-header {
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.cm-registro-wp .login-register-section .card-body {
    padding: 28px 32px 20px !important;
}

/* Campos Nombre y Apellidos: fila de 2 */
.cm-registro-wp .login-register-section .form-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
}

/* Campos extra: grid de 2 columnas */
.cm-registro-wp .register-extra-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
    grid-column: 1 / -1;
}

/* Email, password, confirm, checkbox y botón: full width */
.cm-registro-wp .login-register-section .form-group:has(#login-register-email),
.cm-registro-wp .login-register-section .form-group:has(#login-register-password),
.cm-registro-wp .login-register-section .form-group:has(#login-register-confirm-password),
.cm-registro-wp .login-register-section .form-check,
.cm-registro-wp .login-register-section .login-btn {
    grid-column: 1 / -1;
}

.cm-registro-wp .login-register-section .form-group label,
.cm-registro-wp .login-register-section .register-extra-fields label {
    font-size: 0.82rem;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
    margin-bottom: 4px;
}

.cm-registro-wp .login-register-section .form-control {
    border-radius: 7px;
    border: 1.5px solid #e2e8f0;
    padding: 9px 12px;
    font-size: 0.92rem;
}

/* select2: ocultar el select nativo, dejar solo el widget */
.cm-registro-wp .register-extra-fields .select2-hidden-accessible {
    display: none !important;
}

.cm-registro-wp .register-extra-fields .select2-container.form-control {
    padding: 0;
    height: auto;
    border: none;
}

.cm-registro-wp .register-extra-fields .select2-selection--single {
    border-radius: 7px;
    border: 1.5px solid #e2e8f0 !important;
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 12px;
}

.cm-registro-wp .register-extra-fields .select2-selection__rendered {
    font-size: 0.92rem;
    line-height: 1.4;
    padding: 0;
    color: #2d3748;
}

.cm-registro-wp .register-extra-fields .select2-selection__placeholder {
    color: #a0aec0;
}

/* Ocultar iconos de asistente (búsqueda/clear) en campos de texto */
.cm-registro-wp .register-extra-fields .assisted_field_icon {
    display: none !important;
}

.cm-registro-wp .login-register-section .login-btn {
    background: #53a654;
    color: #fff;
    border-radius: 7px;
    padding: 10px 28px;
    font-weight: 600;
    width: 100%;
    margin-top: 8px;
    border: none;
}

.cm-registro-wp .login-register-section .login-btn:hover {
    background: #3d8a3e;
    color: #fff;
}

/* Ocultar logo, tabs de método y footer de links */
.cm-registro-wp .login-logo,
.cm-registro-wp .login-method-tabs,
.cm-registro-wp .login-footer {
    display: none !important;
}

/* Responsive: 1 columna en móvil */
@media (max-width: 600px) {
    .cm-registro-wp .login-register-section .form-container,
    .cm-registro-wp .register-extra-fields {
        grid-template-columns: 1fr;
    }
}

/* Mensaje de éxito */
.cm-registro-ok {
    text-align: center;
    padding: 40px 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.cm-registro-ok p {
    color: #4a5568;
    font-size: 1rem;
    margin-bottom: 8px;
}

.cm-registro-ok .btn-primary {
    background-color: #53a654 !important;
    border-color: #53a654 !important;
}

/* ============================================================
   PÁGINAS /alta-empresas/ y /alta-proyectos/ - estilos compartidos
   ============================================================ */
.cm-alta-empresas-wp,
.cm-alta-proyectos-wp {
    overflow: visible !important;
}

/* Layout */
.cm-alta-empresas-wp .page-content-wp,
.cm-alta-proyectos-wp .page-content-wp {
    overflow: visible !important;
}
.cm-alta-empresas-wp .form-layout-right,
.cm-alta-proyectos-wp .form-layout-right { display: none !important; }
.cm-alta-empresas-wp .form-layout-row-wp,
.cm-alta-proyectos-wp .form-layout-row-wp { display: flex !important; height: auto !important; min-height: 0 !important; }
.cm-alta-empresas-wp .form-layout-left,
.cm-alta-proyectos-wp .form-layout-left { max-width: 100% !important; flex: 1 1 100% !important; width: 100% !important; padding: 0 !important; height: auto !important; }

/* Ocultar elementos innecesarios */
.cm-alta-empresas-wp .assisted_field_icon,
.cm-alta-proyectos-wp .assisted_field_icon { display: none !important; }
.cm-alta-empresas-wp .loader-container-wp,
.cm-alta-proyectos-wp .loader-container-wp { display: none !important; }
.cm-alta-empresas-wp .card,
.cm-alta-proyectos-wp .card { display: block !important; border: none !important; box-shadow: none !important; background: transparent !important; }
.cm-alta-empresas-wp .card-header,
.cm-alta-proyectos-wp .card-header { display: none !important; }
.cm-alta-empresas-wp .card-body,
.cm-alta-proyectos-wp .card-body { padding: 0 !important; }
.cm-alta-empresas-wp .navbar,
.cm-alta-proyectos-wp .navbar { display: none !important; }

/* Labels */
.cm-alta-empresas-wp .form-group label,
.cm-alta-proyectos-wp .form-group label {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #284748;
    margin-bottom: 5px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Group labels - títulos de sección */
.cm-alta-empresas-wp .group-label,
.cm-alta-proyectos-wp .group-label {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a3a3a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-bottom: 2px solid #49A362 !important;
    padding-bottom: 6px !important;
    margin-bottom: 18px !important;
    margin-top: 10px !important;
}

/* Inputs y textarea */
.cm-alta-empresas-wp .form-control:not(.select2-hidden-accessible):not(.select2-container),
.cm-alta-empresas-wp input[type="text"],
.cm-alta-empresas-wp input[type="email"],
.cm-alta-empresas-wp input[type="number"],
.cm-alta-empresas-wp textarea,
.cm-alta-proyectos-wp .form-control:not(.select2-hidden-accessible):not(.select2-container),
.cm-alta-proyectos-wp input[type="text"],
.cm-alta-proyectos-wp input[type="email"],
.cm-alta-proyectos-wp input[type="number"],
.cm-alta-proyectos-wp textarea {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 14px !important;
    color: #333 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fafafa !important;
    box-shadow: none !important;
    padding: 9px 12px !important;
    width: 100% !important;
    min-height: 42px !important;
    transition: border-color 0.2s !important;
}
.cm-alta-empresas-wp .form-control:not(.select2-hidden-accessible):not(.select2-container):focus,
.cm-alta-empresas-wp input[type="text"]:focus,
.cm-alta-empresas-wp input[type="email"]:focus,
.cm-alta-empresas-wp input[type="number"]:focus,
.cm-alta-empresas-wp textarea:focus,
.cm-alta-proyectos-wp .form-control:not(.select2-hidden-accessible):not(.select2-container):focus,
.cm-alta-proyectos-wp input[type="text"]:focus,
.cm-alta-proyectos-wp input[type="email"]:focus,
.cm-alta-proyectos-wp input[type="number"]:focus,
.cm-alta-proyectos-wp textarea:focus {
    border-color: #49A362 !important;
    background: #fff !important;
    outline: none !important;
}

/* Separación entre campos */
.cm-alta-empresas-wp .form-group,
.cm-alta-proyectos-wp .form-group { margin-bottom: 20px !important; }

/* Altura fija del wrapper de label = exactamente 2 líneas de texto (12px uppercase, line-height 1.4) */
.cm-alta-empresas-wp .form-group-label-wp,
.cm-alta-proyectos-wp .form-group-label-wp { height: 36px !important; display: flex !important; align-items: flex-end !important; }
.cm-alta-empresas-wp .form-group-label-wp label,
.cm-alta-proyectos-wp .form-group-label-wp label { min-height: unset !important; display: block !important; line-height: 1.4 !important; }

/* Cada campo se ancla arriba para que la preview no desplace a los vecinos */
.cm-alta-empresas-wp .group_content.row .form-group,
.cm-alta-proyectos-wp .group_content.row .form-group { align-self: flex-start !important; }

/* Botón guardar */
.cm-alta-empresas-wp .btn-primary,
.cm-alta-proyectos-wp .btn-primary,
.cm-nueva-empresa-footer .btn-primary {
    background-color: #49A362 !important;
    border-color: #49A362 !important;
    color: #fff !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 10px 32px !important;
    border-radius: 6px !important;
    letter-spacing: 0.03em !important;
}
.cm-alta-empresas-wp .btn-primary:hover,
.cm-alta-proyectos-wp .btn-primary:hover,
.cm-nueva-empresa-footer .btn-primary:hover {
    background-color: #3a8a50 !important;
    border-color: #3a8a50 !important;
}

/* Select2 - contenedor */
.cm-alta-empresas-wp .select2-container,
.cm-alta-proyectos-wp .select2-container { width: 100% !important; border: none !important; padding: 0 !important; min-height: unset !important; background: transparent !important; }

/* Select2 single */
.cm-alta-empresas-wp .select2-container .select2-selection--single,
.cm-alta-proyectos-wp .select2-container .select2-selection--single { height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 10px !important; }
.cm-alta-empresas-wp .select2-container--default .select2-selection--single .select2-selection__rendered,
.cm-alta-proyectos-wp .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding-left: 0 !important; color: #333 !important; font-size: 14px !important; }
.cm-alta-empresas-wp .select2-container--default .select2-selection--single .select2-selection__arrow,
.cm-alta-proyectos-wp .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px !important; }
.cm-alta-empresas-wp .select2-selection--single button.select2-selection__clear,
.cm-alta-proyectos-wp .select2-selection--single button.select2-selection__clear { display: none !important; }

/* Select2 multiple */
.cm-alta-empresas-wp .select2-container .select2-selection--multiple,
.cm-alta-proyectos-wp .select2-container .select2-selection--multiple { min-height: 42px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 6px !important; background: #fafafa !important; box-shadow: none !important; padding: 4px 10px !important; }
.cm-alta-empresas-wp .select2-search--inline,
.cm-alta-proyectos-wp .select2-search--inline { display: none !important; }
.cm-alta-empresas-wp .select2-selection__choice,
.cm-alta-proyectos-wp .select2-selection__choice { background: #e8f5e4 !important; border: none !important; border-radius: 4px !important; padding: 2px 8px !important; margin: 2px 3px !important; font-size: 12px !important; color: #284748 !important; }

/* Dropdown abre hacia abajo */
.cm-alta-empresas-wp .select2-container--open .select2-dropdown--above,
.cm-alta-proyectos-wp .select2-container--open .select2-dropdown--above { top: 100% !important; bottom: auto !important; }

/* Preview de tags seleccionados debajo del select */
.cm-alta-empresas-wp .select2-preview,
.cm-alta-proyectos-wp .select2-preview { display: block !important; margin-top: 6px !important; }
.cm-alta-empresas-wp .select2-preview:empty,
.cm-alta-proyectos-wp .select2-preview:empty { display: none !important; }
.cm-alta-empresas-wp .select2-preview ul,
.cm-alta-proyectos-wp .select2-preview ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.cm-alta-empresas-wp .select2-preview .tag-selected,
.cm-alta-proyectos-wp .select2-preview .tag-selected { display: inline-flex !important; align-items: stretch !important; color: #4a5568 !important; font-size: 12px !important; padding: 2px 0 !important; gap: 4px !important; }
.cm-alta-empresas-wp .select2-preview .tag-selected .destroy-tag-selected,
.cm-alta-proyectos-wp .select2-preview .tag-selected .destroy-tag-selected { display: flex !important; align-items: center !important; color: #adb5bd !important; cursor: pointer !important; text-decoration: none !important; font-weight: bold !important; }
.cm-alta-empresas-wp .select2-preview .tag-selected span,
.cm-alta-proyectos-wp .select2-preview .tag-selected span { border-left: 1px solid #aaa !important; padding-left: 6px !important; }

/* ============================================================
   Select2 dropdown global (se renderiza en body, fuera del contenedor)
   Aplica a /alta-empresas/ y /alta-proyectos/
   ============================================================ */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #49A362 !important;
    color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #e8f5e4 !important;
    color: #284748 !important;
}
.select2-dropdown {
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10) !important;
}
.select2-results__option {
    font-size: 14px !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    padding: 8px 12px !important;
    color: #333 !important;
}

/* Botones genéricos mi área */
.cm-btn-cancel { background: none !important; border: 1px solid #ddd !important; color: #888 !important; }
.cm-btn-cancel:hover { background: #f5f5f5 !important; color: #555 !important; border-color: #ccc !important; }
.cm-btn-delete { background: #e53e3e !important; border: none !important; color: #fff !important; }
.cm-btn-delete:hover { background: #c53030 !important; color: #fff !important; }

/* Ocultar campos owner, state y sección usuarios en alta-empresas */
.cm-alta-empresas-wp .form-group:has([fname=owner]) { display: none !important; }
.cm-alta-empresas-wp .form-group:has([fname=state]) { display: none !important; }
.cm-alta-empresas-wp .form-layout-related { display: none !important; }
.cm-alta-empresas-wp h4.form-related-title { display: none !important; }
.cm-alta-empresas-wp .group.row[group=5] { display: none !important; }
.cm-alta-empresas-wp .group_content.row[group=5] { display: none !important; }
.cm-alta-empresas-wp .form-group:has([fname=company_users]) { display: none !important; }
.cm-alta-empresas-wp .form-group:has([ftype=FieldRelationEntityTable]) { display: none !important; }
.cm-alta-empresas-wp label.group-label:has(~ *) { display: none !important; }

/* Botón inscribirse en ficha de curso */
.ccd-btn-inscribirse {
    display: block;
    width: 100%;
    padding: 12px 0;
    margin-top: 16px;
    background: #2563eb;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
.ccd-btn-inscribirse:hover:not(:disabled) { background: #1d4ed8; }
.ccd-btn-inscribirse:disabled, .ccd-btn-inscribirse.ccd-inscrito {
    background: #6b7280;
    cursor: default;
}

/* Tabla solicitudes de modificación de proyecto - ocultar columnas internas */
#cm-editar-proyecto-wp th[name="code"],
#cm-editar-proyecto-wp td[name="code"],
#cm-editar-proyecto-wp th[name="parent_entity"],
#cm-editar-proyecto-wp td[name="parent_entity"],
#cm-editar-proyecto-wp th[name="parent_entity_id"],
#cm-editar-proyecto-wp td[name="parent_entity_id"],
#cm-editar-proyecto-wp th[name="tipo_cambio"],
#cm-editar-proyecto-wp td[name="tipo_cambio"],
#cm-editar-proyecto-wp th[name="tipo_cambio"],
#cm-editar-proyecto-wp td[name="tipo_cambio"],
#cm-editar-proyecto-wp th[name="creator"],
#cm-editar-proyecto-wp td[name="creator"],
#cm-editar-proyecto-wp th[name="ownership_mark"],
#cm-editar-proyecto-wp td[name="ownership_mark"],
#cm-editar-proyecto-wp th[name="creation_date"],
#cm-editar-proyecto-wp td[name="creation_date"],
#cm-editar-proyecto-wp th[name="update_date"],
#cm-editar-proyecto-wp td[name="update_date"] { display: none !important; }

/* Ocultar columnas por posición en tabla de solicitudes (fallback sin DataTables) */
#cm-editar-proyecto-wp table th:nth-child(1),
#cm-editar-proyecto-wp table td:nth-child(1),
#cm-editar-proyecto-wp table th:nth-child(2),
#cm-editar-proyecto-wp table td:nth-child(2),
#cm-editar-proyecto-wp table th:nth-child(3),
#cm-editar-proyecto-wp table td:nth-child(3),
#cm-editar-proyecto-wp table th:nth-child(4),
#cm-editar-proyecto-wp table td:nth-child(4),
#cm-editar-proyecto-wp table th:nth-child(9),
#cm-editar-proyecto-wp table td:nth-child(9),
#cm-editar-proyecto-wp table th:nth-child(10),
#cm-editar-proyecto-wp table td:nth-child(10),
#cm-editar-proyecto-wp table th:nth-child(11),
#cm-editar-proyecto-wp table td:nth-child(11),
#cm-editar-proyecto-wp table th:nth-child(12),
#cm-editar-proyecto-wp table td:nth-child(12) { display: none !important; }

/* Select2 en modales - ocultar select nativo cuando Select2 está activo */
.modal select.select2-hidden-accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
    opacity: 0 !important;
}

/* Select2 container dentro de modal */
.modal .select2-container.form-control {
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 0 !important;
    height: auto !important;
    background: #fafafa !important;
}
.modal .select2-container .select2-selection--single {
    height: 42px !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
}
.modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 10px !important;
    color: #333 !important;
}
.modal .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}

/* Ocultar select nativo en modales JSAPI cuando Select2 está activo */
.modal select[data-select2-id] {
    display: none !important;
}

/* MI ÁREA - Perfil logueado */
.cm-perfil-wp { max-width: 100%; margin: 0 auto; padding: 20px 0; display: flex; flex-direction: column; gap: 32px; }

/* Header perfil */
.cm-perfil-header { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.07); }
.cm-perfil-avatar { width: 56px; height: 56px; border-radius: 50%; background: #53a654; color: #fff; font-size: 1.3rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cm-perfil-info { flex: 1; min-width: 0; }
.cm-perfil-nombre { margin: 0 0 4px; font-size: 1.2rem; font-weight: 700; color: #1a2e3b; }
.cm-perfil-email { margin: 0; font-size: 0.88rem; color: #718096; }
.cm-perfil-header .btn { background: #53a654 !important; border-color: #53a654 !important; color: #fff !important; border-radius: 3px !important; font-size: 0.82rem !important; font-weight: 600 !important; padding: 6px 14px !important; }
.cm-perfil-header .btn:hover { background: #3d8a3e !important; border-color: #3d8a3e !important; }
.cm-perfil-header .cm-btn-logout { background: #e53e3e !important; border-color: #e53e3e !important; border-radius: 3px !important; }
.cm-perfil-header .cm-btn-logout:hover { background: #c53030 !important; border-color: #c53030 !important; }

/* Secciones empresas y proyectos */
.cm-empresas-section, .cm-proyectos-section { background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.07); padding: 24px; }
.cm-empresas-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 10px; }
.cm-empresas-header h4 { margin: 0; font-size: 1rem; font-weight: 700; color: #1a2e3b; text-transform: uppercase; letter-spacing: 0.04em; }
.cm-empresas-header .btn { background: #53a654 !important; border-color: #53a654 !important; color: #fff !important; border-radius: 6px !important; font-size: 0.82rem !important; font-weight: 600 !important; padding: 6px 14px !important; }
.cm-empresas-header .btn:hover { background: #3d8a3e !important; border-color: #3d8a3e !important; }

/* Lista empresas/proyectos */
.cm-lista { display: flex; flex-direction: column; gap: 10px; }
.cm-lista-fila { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #f9fafb; border-radius: 8px; border: 1px solid #e5e7eb; }
.cm-lista-nombre { flex: 1; min-width: 0; font-size: 0.92rem; font-weight: 600; color: #1a2e3b; display: flex; align-items: center; gap: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-lista-datos { display: flex; align-items: center; gap: 8px; }
.cm-lista-datos a, .cm-lista-datos .cm-lista-vacio { width: 30px; height: 30px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; }
.cm-lista-datos a { background: #e8f5e4; color: #53a654; text-decoration: none; }
.cm-lista-datos a:hover { background: #53a654; color: #fff; }
.cm-lista-datos .cm-lista-vacio { background: #f3f4f6; color: #cbd5e0; }
.cm-lista-datos .btn { width: 30px; height: 30px; padding: 0 !important; border-radius: 6px !important; font-size: 0.8rem !important; background: #e8f5e4 !important; border-color: transparent !important; color: #53a654 !important; display: flex; align-items: center; justify-content: center; }
.cm-lista-datos .btn:hover { background: #53a654 !important; color: #fff !important; }
.cm-lista-acciones { display: flex; align-items: center; gap: 6px; }
.cm-lista-acciones .btn { width: 30px; height: 30px; padding: 0 !important; border-radius: 6px !important; font-size: 0.8rem !important; background: #f3f4f6 !important; border-color: transparent !important; color: #4a5568 !important; display: flex; align-items: center; justify-content: center; }
.cm-lista-acciones .btn:hover { background: #53a654 !important; color: #fff !important; }

/* Badge estados */
.badge-success { background: #c6f6d5 !important; color: #276749 !important; font-weight: 600 !important; }
.badge-warning { background: #fefcbf !important; color: #744210 !important; font-weight: 600 !important; }
.badge-danger { background: #fed7d7 !important; color: #9b2c2c !important; font-weight: 600 !important; }

/* Estados vacíos y loading */
.cm-empty { color: #a0aec0; font-size: 0.88rem; margin: 0; padding: 8px 0; }
.cm-loading { color: #a0aec0; font-size: 0.88rem; padding: 8px 0; }
.cm-error { color: #e53e3e; font-size: 0.88rem; margin: 0; }

/* Botón buzón */
#cm-btn-buzon { background: #f3f4f6 !important; border-color: transparent !important; color: #4a5568 !important; border-radius: 6px !important; font-size: 0.82rem !important; font-weight: 600 !important; padding: 6px 14px !important; }
#cm-btn-buzon:hover { background: #53a654 !important; color: #fff !important; }

@media (max-width: 600px) {
    .cm-perfil-header { flex-direction: column; align-items: flex-start; }
    .cm-lista-fila { flex-wrap: wrap; }
}

/* Footer botones alta empresa/proyecto */
.cm-nueva-empresa-footer { display: flex !important; justify-content: flex-end !important; gap: 10px !important; padding: 16px 0 !important; margin-bottom: 0 !important; }

/* Modal editar perfil */
.modal .modal-header { background: #53a654; color: #fff; border-radius: 3px 3px 0 0; }
.modal .modal-title { color: #fff; font-weight: 700; }
.modal .modal-header .close { color: #fff; opacity: 0.8; }
.modal .modal-header .close:hover { opacity: 1; }
.modal .btn-accept { background: #53a654 !important; border-color: #53a654 !important; color: #fff !important; border-radius: 6px !important; font-weight: 600 !important; }
.modal .btn-accept:hover { background: #3d8a3e !important; border-color: #3d8a3e !important; }
.modal .btn-hide { background: #f3f4f6 !important; border-color: #e5e7eb !important; color: #4a5568 !important; border-radius: 6px !important; font-weight: 600 !important; }
.modal .btn-hide:hover { background: #e5e7eb !important; }
.modal { top: 20px !important; }

/* Cambiar contraseña en página */
.cm-mi-area-wp .login-change-password-section:not(.d-none) { margin-top: 80px; }
.cm-mi-area-wp .login-change-password-section:not(.d-none) .card { border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 2px 12px rgba(0,0,0,0.07); }
.cm-mi-area-wp .login-change-password-section:not(.d-none) h5.card-header { margin: 0 !important; background: #53a654; color: #fff; padding: 18px 28px; border-radius: 12px 12px 0 0 !important; font-size: 1rem !important; font-weight: 600 !important; }
.cm-mi-area-wp .login-change-password-section:not(.d-none) .card-body { padding: 28px 32px 20px !important; }
.cm-mi-area-wp .login-change-password-section:not(.d-none) .login-btn { background: #53a654; color: #fff; border-radius: 6px; font-weight: 600; width: 100%; border: none; padding: 10px; }
.cm-mi-area-wp .login-change-password-section:not(.d-none) .login-btn:hover { background: #3d8a3e; }
.cm-mi-area-wp .login-change-password-section:not(.d-none) .login-footer { display: flex !important; justify-content: center; margin-top: 12px; }
.cm-mi-area-wp .login-change-password-section.d-none { display: none !important; }

/* Empresas colaborador - grid de cards */
.cm-empresas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.cm-empresa-card { background: #f9fafb; border-radius: 8px; border: 1px solid #e5e7eb; overflow: hidden; }
.cm-empresa-card-header { background: #53a654; padding: 12px 16px; }
.cm-empresa-nombre { font-size: 0.95rem; font-weight: 700; color: #fff; }
.cm-empresa-card-body { padding: 12px 16px; }
.cm-empresa-card-body p { margin: 4px 0; font-size: 0.84rem; color: #4a5568; }
.cm-empresa-card-body p i { color: #53a654; margin-right: 6px; }
.cm-empresa-card-body a { color: #53a654; text-decoration: none; }
.cm-empresa-card-body a:hover { text-decoration: underline; }

/* Botones globales mi área - sobreescribir azul Bootstrap */
.cm-mi-area-wp .btn-primary { background: #53a654 !important; border-color: #53a654 !important; color: #fff !important; border-radius: 3px !important; font-weight: 600 !important; }
.cm-mi-area-wp .btn-primary:hover { background: #3d8a3e !important; border-color: #3d8a3e !important; }
.cm-mi-area-wp .btn-secondary { background: #f3f4f6 !important; border-color: #e5e7eb !important; color: #4a5568 !important; border-radius: 3px !important; font-weight: 600 !important; }
.cm-mi-area-wp .btn-secondary:hover { background: #e5e7eb !important; }
.cm-mi-area-wp .btn-danger { background: #e53e3e !important; border-color: #e53e3e !important; color: #fff !important; border-radius: 3px !important; font-weight: 600 !important; }
.cm-mi-area-wp .btn-danger:hover { background: #c53030 !important; border-color: #c53030 !important; }

.cm-mi-area-wp .cm-btn-logout { background: #e53e3e !important; border-color: #e53e3e !important; color: #fff !important; }
.cm-mi-area-wp .cm-btn-logout:hover { background: #c53030 !important; border-color: #c53030 !important; }

/* Alta proyectos - ocultar owner, state y solicitudes */
.cm-alta-proyectos-wp .form-group:has([fname=owner]) { display: none !important; }
.cm-alta-proyectos-wp .form-group:has([fname=state]) { display: none !important; }


/* Tabla solicitudes modificación proyecto - ocultar solo columnas internas */
#cm-editar-proyecto-wp table { width: 100% !important; }
#cm-editar-proyecto-wp th[name=code],
#cm-editar-proyecto-wp td[name=code],
#cm-editar-proyecto-wp th[name=parent_entity],
#cm-editar-proyecto-wp td[name=parent_entity],
#cm-editar-proyecto-wp th[name=parent_entity_id],
#cm-editar-proyecto-wp td[name=parent_entity_id],
#cm-editar-proyecto-wp th[name=tipo_cambio],
#cm-editar-proyecto-wp td[name=tipo_cambio],
#cm-editar-proyecto-wp th[name=creator],
#cm-editar-proyecto-wp td[name=creator],
#cm-editar-proyecto-wp th[name=ownership_mark],
#cm-editar-proyecto-wp td[name=ownership_mark],
#cm-editar-proyecto-wp th[name=creation_date],
#cm-editar-proyecto-wp td[name=creation_date],
#cm-editar-proyecto-wp th[name=update_date],
#cm-editar-proyecto-wp td[name=update_date] { display: none !important; }

/* Modal editar perfil - tamaño y scroll */
.modal .modal-dialog[size=normal] { max-width: 680px !important; }
.modal .modal-content { max-height: 85vh !important; display: flex !important; flex-direction: column !important; }
.modal .modal-body { overflow-y: auto !important; flex: 1 !important; }
.modal .modal-footer { flex-shrink: 0 !important; }

.modal .btn-accept, .modal .btn-hide { border-radius: 3px !important; }
.cm-mi-area-wp .login-change-password-section:not(.d-none) .login-btn { border-radius: 3px !important; }

/* Modal cambiar contraseña */
.modal .modal-dialog[mode=info] .modal-header { background: #53a654; color: #fff; border-radius: 3px 3px 0 0; }
.modal .modal-dialog[mode=info] .modal-header div { color: #fff; font-weight: 700; font-size: 1rem; }
.modal .modal-dialog[mode=info] .modal-dialog-close-btn i { color: #fff; }
.modal .modal-dialog[mode=info] .modal-main-icon { display: none !important; }
.modal .modal-dialog[mode=info] .btn-1 { background: #53a654 !important; border-color: #53a654 !important; color: #fff !important; border-radius: 3px !important; font-weight: 600 !important; }
.modal .modal-dialog[mode=info] .btn-1:hover { background: #3d8a3e !important; }
.modal .modal-dialog[mode=info] .btn-1:last-child { background: #f3f4f6 !important; border-color: #e5e7eb !important; color: #4a5568 !important; }
.modal .modal-dialog[mode=info] .btn-1:last-child:hover { background: #e5e7eb !important; }
.modal .modal-dialog[mode=info] .form-control { border-radius: 3px !important; border: 1.5px solid #e0e0e0 !important; }

.modal .modal-dialog[mode=info] { margin-top: 100px !important; }

/* Logo Club Madera en formularios de alta */
.cm-alta-empresas-wp .login-logo img,
.cm-alta-proyectos-wp .login-logo img { content: url('https://www.clubmadera.com/wp-content/uploads/2025/07/horizontal-sin-lema.png') !important; max-width: 200px !important; height: auto !important; }
.cm-alta-empresas-wp .login-logo,
.cm-alta-proyectos-wp .login-logo { display: flex !important; justify-content: center !important; padding: 20px 0 10px !important; }

/* Toast - z-index alto y auto-hide */
.toast-wp { z-index: 999999 !important; }
html .toast-wp { animation: toast-autohide 4s forwards; }
@keyframes toast-autohide { 0%,80% { opacity:1; } 100% { opacity:0; pointer-events:none; } }
