/**
 * MVA — colores y botones (genérico).
 * `body .mva-btn…` sube la especificidad frente a reglas tipo `.algo button` sin acoplarse a Elementor.
 * Sobrescribe en tema: :root { --mva-primary: #…; }
 */
:root {
	--mva-primary: #0b443c;
	--mva-primary-light: #eaf5f3;
	--mva-primary-hover: #247b6e;
	--mva-primary-active: #247b6e;
    --mva-primary-rgb: 11, 68, 60;
	--mva-primary-active-rgb: 36, 123, 110;
	--mva-on-primary: #ffffff;

	--mva-secondary: #495057;
	--mva-secondary-hover: #3d4449;
	--mva-secondary-active: #343a40;
	--mva-secondary-rgb: 73, 80, 87;
	--mva-on-secondary: #ffffff;

	--mva-accent: #c2410c;
	--mva-accent-hover: #9a3412;
	--mva-accent-active: #7c2d12;
	--mva-accent-rgb: 194, 65, 12;
	--mva-on-accent: #ffffff;

	--mva-text-muted: #6c757d;
	--mva-text-body: #212529;

    --mva-logo-color-primary: #bfe47c;
    --mva-logo-color-secondary: #50a89f;
    --mva-logo-color-accent: #454545;
}

.logo-color-primary { color: var(--mva-logo-color-primary); fill: var(--mva-logo-color-primary); }
.logo-color-secondary { color: var(--mva-logo-color-secondary); fill: var(--mva-logo-color-secondary); }
.logo-color-accent { color: var(--mva-logo-color-accent); fill: var(--mva-logo-color-accent); }
.icon-fill .logo-color-primary { color: inherit; fill: inherit; }
.icon-fill .logo-color-secondary { color: inherit; fill: inherit; }
.icon-fill .logo-color-accent { color: inherit; fill: inherit; }

.mva-text-primary { color: var(--mva-primary); }
.mva-text-secondary { color: var(--mva-secondary); }
.mva-text-accent { color: var(--mva-accent); }
.mva-text-muted { color: var(--mva-text-muted); }
.mva-text-body { color: var(--mva-text-body); }
.mva-text-transform-none { text-transform: none !important; }

.mva-bg-primary { background-color: var(--mva-primary); color: var(--mva-on-primary); }
.mva-bg-primary-light { background-color: var(--mva-primary-light); color: var(--mva-on-primary); }
.mva-bg-secondary { background-color: var(--mva-secondary); color: var(--mva-on-secondary); }
.mva-bg-accent { background-color: var(--mva-accent); color: var(--mva-on-accent); }

.mva-border-primary { border-color: var(--mva-primary); }
.mva-border-primary-light { border-color: var(--mva-primary-light); }
.mva-border-secondary { border-color: var(--mva-secondary); }
.mva-border-accent { border-color: var(--mva-accent); }
.mva-border-muted { border-color: var(--mva-text-muted); }
.mva-border-body { border-color: var(--mva-text-body); }

body .mva-btn {
	padding: 0.5rem 1rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
	border: 1px solid transparent;
	border-radius: 0.375rem;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.mva-btn:disabled,
.mva-btn.mva-btn--disabled {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}
.mva-btn:focus-visible {
	outline: 2px solid var(--mva-primary);
	outline-offset: 2px;
}

body .mva-btn.mva-btn--primary {
	background-color: var(--mva-primary);
	border-color: var(--mva-primary);
	color: var(--mva-on-primary);
}
body .mva-btn.mva-btn--primary:hover:not(:disabled) {
	background-color: var(--mva-primary-hover);
	border-color: var(--mva-primary-hover);
	color: var(--mva-on-primary);
}
body .mva-btn.mva-btn--primary:active:not(:disabled) {
	background-color: var(--mva-primary-active);
	border-color: var(--mva-primary-active);
}

body .mva-btn.mva-btn--secondary {
	background-color: var(--mva-secondary);
	border-color: var(--mva-secondary);
	color: var(--mva-on-secondary);
}
body .mva-btn.mva-btn--secondary:hover:not(:disabled) {
	background-color: var(--mva-secondary-hover);
	border-color: var(--mva-secondary-hover);
	color: var(--mva-on-secondary);
}
body .mva-btn.mva-btn--secondary:active:not(:disabled) {
	background-color: var(--mva-secondary-active);
	border-color: var(--mva-secondary-active);
}

body .mva-btn.mva-btn--accent {
	background-color: var(--mva-accent);
	border-color: var(--mva-accent);
	color: var(--mva-on-accent);
}
body .mva-btn.mva-btn--accent:hover:not(:disabled) {
	background-color: var(--mva-accent-hover);
	border-color: var(--mva-accent-hover);
	color: var(--mva-on-accent);
}
body .mva-btn.mva-btn--accent:active:not(:disabled) {
	background-color: var(--mva-accent-active);
	border-color: var(--mva-accent-active);
}
body .mva-btn.mva-btn--accent:focus-visible {
	outline-color: var(--mva-accent);
}

body .mva-btn.mva-btn--transparent {
	background-color: transparent;
	border-color: var(--mva-primary);
	color: var(--mva-primary);
}
body .mva-btn.mva-btn--transparent:hover:not(:disabled) {
	background-color: rgba(var(--mva-primary-rgb), 0.08);
	border-color: var(--mva-primary-hover);
	color: var(--mva-primary-hover);
}
body .mva-btn.mva-btn--transparent:active:not(:disabled) {
	background-color: rgba(var(--mva-primary-rgb), 0.14);
	border-color: var(--mva-primary-active);
	color: var(--mva-primary-active);
}

/* Selected time slot in appointment booking / edit modals */
.mva-appointments-form .slots button.mva-btn.active {
	font-weight: bold;
	background-color: rgba(var(--mva-primary-active-rgb), 0.7) !important;
	border-color: var(--mva-primary-active) !important;
	color: #fff !important;
}

body .mva-btn--sm { padding: 0.25rem 0.65rem; font-size: 0.875rem; }
body .mva-btn--lg { padding: 0.65rem 1.25rem; font-size: 1.05rem; }

/*table fixes*/
table td, table th{
    border: 0px solid hsla(0, 0%, 74%, 0.502);
}

.jet-profile-menu__item{
    position:relative;
    width: 100%;
}

dialog{
    display: none;
}

.slot-group .slot:not(.active):hover{
    background-color: var(--bs-primary-bg-subtle)!important;
    color: var(--bs-primary-text-emphasis)!important;
}

.dt-length{
    display: none;
}
.dt-length select{
    width: auto;
}
.dt-length label{
    margin-left: 10px;
}

.table.dataTable tr > td:first-child{
    border-left-width: 5px;
    border-left-color: transparent;
}
.table.dataTable .canceled > td:first-child{
    border-left-color: rgba(var(--bs-danger-rgb));
}
.table.dataTable .pending > td:first-child{
    border-left-color: var(--bs-warning);
}
.pointer{
    cursor: pointer;
}

#table-filters-body > *{
    margin-bottom: 20px;
}


table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before, 
table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before,
table.dataTable.dtr-column>tbody>tr>td.dtr-control:before, 
table.dataTable.dtr-column>tbody>tr>th.dtr-control:before, 
table.dataTable.dtr-column>tbody>tr>td.control:before, 
table.dataTable.dtr-column>tbody>tr>th.control:before{
    content: "\F118";
    display: inline-block;
    font-family: bootstrap-icons!important;
    font-style: normal;
    font-weight: 400!important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border: none !important;
}
table.dataTable.dtr-inline.expanded>tbody>tr>td.dtr-control:before, 
table.dataTable.dtr-inline.expanded>tbody>tr>th.dtr-control:before,
table.dataTable.dtr-column>tbody>tr.dtr-expanded td.dtr-control:before, 
table.dataTable.dtr-column>tbody>tr.dtr-expanded th.dtr-control:before, 
table.dataTable.dtr-column>tbody>tr.dtr-expanded td.control:before, 
table.dataTable.dtr-column>tbody>tr.dtr-expanded th.control:before{
    content: "\F139";
}

.mva-report-wrapper {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem;
}

.mva-report-header h2 {
    margin-bottom: 0.75rem;
}

.mva-report-brand {
    margin-bottom: 0.5rem;
}

.mva-report-brand img {
    max-height: 44px;
    width: auto;
    display: block;
}

.mva-report-params {
    padding-left: 0;
    margin: 0 0 1rem;
    list-style: none;
}

.mva-report-section.page-break,
.mva-report-wrapper.mva-report-block.page-break {
    page-break-before: always;
    break-before: page;
}

@media print {
    .mva-report-section.page-break,
    .mva-report-wrapper.mva-report-block.page-break {
        page-break-before: always;
        break-before: page;
    }
}

.mva-reports-stack .mva-report-block:not(.page-break) {
    margin-bottom: 1.5rem;
}

.mva-report-section-heading {
    margin: 1.25rem 0 0.5rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.mva-report-table {
    width: 100%;
    border-collapse: collapse;
}

.mva-report-table-fixed {
    table-layout: fixed;
}

.mva-report-table th,
.mva-report-table td {
    border: 1px solid #ddd;
    padding: 0.5rem 0.6rem;
}

.mva-report-table th {
    background: #f8f9fa;
    font-weight: 600;
}

.mva-report-empty {
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-left: 3px solid #d1d5db;
    background: #f9fafb;
}

/* Professional avatar: circle at any size (see mva_render_professional_avatar). */
.mva-professional-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    vertical-align: middle;
    box-sizing: border-box;
}

.mva-professional-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.mva-manager-professional-select-banner {
    cursor: pointer;
    border-radius: 0.375rem;
}

.mva-manager-professional-select-banner:hover .mva-acting-professional-banner,
.mva-manager-professional-select-banner:focus-visible .mva-acting-professional-banner {
    opacity: 0.92;
}

.mva-manager-professional-select-banner:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.mva-manager-professional-select-avatar--all .rounded-circle,
.mva-manager-professional-select-avatar--placeholder .rounded-circle {
    box-sizing: border-box;
}

.el-text-nowrap, .el-text-nowrap *:not(.elementor-button-icon){
    /*width: fit-content!important;
    max-width: 100%!important;*/
    white-space: nowrap!important;
}

/* Cabecera páginas admin frontend: selector (izq.) + título (der.) — misma idea que PAM public.css */
.mva-pam-page-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-bottom: 1rem;
    margin-bottom: 3rem;
}
.mva-pam-page-toolbar__col--left {
    flex: 1 1 auto;
    min-width: 0;
}
.mva-pam-page-toolbar__col--right {
    flex: 0 1 auto;
    text-align: right;
    max-width: 100%;
}
.mva-pam-page-toolbar .mva-pam-virtual-page__title {
    margin: 0;
}
.mva-pam-page-toolbar__empty {
    min-height: 0;
}
.mva-pam-virtual-page__title {
    font-weight: 600;
    line-height: 1.25;
}

/* Select2 — perfil profesional (alineación con Bootstrap 5) */
.mva-profile-specialties-select2-wrap .select2-container {
    width: 100% !important;
}
.mva-profile-specialties-select2-wrap .select2-container--default .select2-selection--multiple {
    min-height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    padding: 0.125rem 0.25rem;
}
.mva-profile-specialties-select2-wrap .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--bs-primary, #86b7fe);
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.select2-container--default .select2-results__option .mva-specialty-select2-opt small {
    display: block;
    max-width: 28rem;
    white-space: normal;
}

/* Filtro por especialidad (mva-especialidad-controls.js) — control activo */
.control-especialidad.selected {
    background-color: var(--e-global-color-d07ffcf) !important;
    color: #fff !important;
}
.control-especialidad.selected * {
    color: #fff !important;
}

.pointer{
    cursor: pointer;
}