/**
 * AVL — Dashboard Premium
 * Habillage du tableau de bord front-end RealHomes.
 *
 * Tout est portée par `body.avl-dash` : si le plugin est désactivé,
 * le thème reprend la main sans résidu.
 */

/* =========================================================================
   1. Jetons de design
   ========================================================================= */

body.avl-dash {
	--avl-canvas: #f3f5f8;
	--avl-surface: #ffffff;
	--avl-surface-2: #fafbfc;
	--avl-ink: #121822;
	--avl-slate: #56606f;
	--avl-muted: #8a94a3;
	--avl-line: #e5e8ee;
	--avl-line-soft: #eef1f5;

	--avl-shadow-sm: 0 1px 2px rgba(18, 24, 34, .04);
	--avl-shadow-md: 0 2px 6px rgba(18, 24, 34, .05), 0 12px 28px -18px rgba(18, 24, 34, .3);
	--avl-shadow-lg: 0 24px 60px -28px rgba(18, 24, 34, .35);

	--avl-gap: calc(28px * var(--avl-scale, 1));
	--avl-pad: calc(24px * var(--avl-scale, 1));

	--avl-menu-fg: rgba(255, 255, 255, .64);
	--avl-menu-fg-strong: #ffffff;
	--avl-menu-hover-bg: rgba(255, 255, 255, .06);
	--avl-menu-line: rgba(255, 255, 255, .08);

	--avl-ease: cubic-bezier(.2, .7, .3, 1);
}

/* Variante barre latérale claire. */
body.avl-dash.avl-sidebar-light {
	--avl-sidebar-bg: #ffffff;
	--avl-menu-fg: #5a6472;
	--avl-menu-fg-strong: var(--avl-ink);
	--avl-menu-hover-bg: rgba(18, 24, 34, .04);
	--avl-menu-line: var(--avl-line);
}

/* On repasse les variables du thème sur la nouvelle palette pour que les
   modules non couverts ci-dessous restent cohérents. */
body.avl-dash {
	--dashboard-primary-color: var(--avl-accent);
	--dashboard-primary-hover-color: var(--avl-accent-ink);
	--dashboard-heading-color: var(--avl-ink);
	--dashboard-body-color: var(--avl-slate);
	--dashboard-link-color: var(--avl-ink);
	--dashboard-link-hover-color: var(--avl-accent);
	--dashboard-sidebar-bg-color: var(--avl-sidebar-bg);
	--dashboard-sidebar-menu-bg-color: var(--avl-sidebar-bg);
	--dashboard-logo-container-bg-color: var(--avl-sidebar-bg);
	--dashboard-sidebar-menu-color: var(--avl-menu-fg);
	--dashboard-sidebar-menu-hover-color: var(--avl-menu-fg-strong);
	--dashboard-sidebar-menu-icon-color: var(--avl-accent);
	--dashboard-sidebar-menu-hover-bg-color: var(--avl-menu-hover-bg);
	--dashboard-sidebar-current-submenu-color: var(--avl-menu-fg-strong);
	--dashboard-sidebar-current-submenu-bg-color: transparent;
}

/* =========================================================================
   2. Cadre général
   ========================================================================= */

body.avl-dash.avl-font-custom #dashboard,
body.avl-dash.avl-font-custom #dashboard input,
body.avl-dash.avl-font-custom #dashboard select,
body.avl-dash.avl-font-custom #dashboard textarea,
body.avl-dash.avl-font-custom #dashboard button {
	font-family: var(--avl-font);
	font-feature-settings: "cv11", "ss01";
}

body.avl-dash #dashboard {
	background: var(--avl-canvas);
	color: var(--avl-slate);
	-webkit-font-smoothing: antialiased;
}

body.avl-dash #dashboard-content {
	background: var(--avl-canvas);
	padding: var(--avl-gap);
}

body.avl-dash #dashboard h1,
body.avl-dash #dashboard h2,
body.avl-dash #dashboard h3,
body.avl-dash #dashboard h4,
body.avl-dash #dashboard h5 {
	color: var(--avl-ink);
	letter-spacing: -.018em;
}

body.avl-dash #dashboard a {
	transition: color .18s var(--avl-ease);
}

body.avl-dash #dashboard :focus-visible {
	outline: 2px solid var(--avl-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

/* =========================================================================
   3. Barre latérale
   ========================================================================= */

body.avl-dash #dashboard-sidebar {
	background: var(--avl-sidebar-bg) !important;
	border-right: 1px solid var(--avl-menu-line);
	padding-bottom: 72px;
}

body.avl-dash #dashboard-sidebar .rh-logo {
	background: transparent !important;
	padding: calc(26px * var(--avl-scale, 1)) 22px;
	border-bottom: 1px solid var(--avl-menu-line);
	margin-bottom: 14px;
}

body.avl-dash #dashboard-sidebar .rh-logo img {
	max-height: 46px;
	width: auto;
}

body.avl-dash #dashboard-sidebar .rh-site-title a {
	color: var(--avl-menu-fg-strong);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.02em;
}

/* Éléments de menu */
body.avl-dash #dashboard-sidebar .dashboard-menu > li {
	margin: 0;
	border: 0;
	background: transparent;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 2px 12px;
	padding: calc(11px * var(--avl-scale, 1)) 13px;
	border: 0;
	border-radius: calc(var(--avl-radius) - 5px);
	background: transparent !important;
	color: var(--avl-menu-fg) !important;
	font-size: 14.5px;
	font-weight: 500;
	letter-spacing: -.008em;
	line-height: 1.35;
	position: relative;
	transition: background-color .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a i {
	width: 18px;
	font-size: 15px;
	text-align: center;
	color: inherit !important;
	opacity: .72;
	transition: opacity .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a .fa-angle-down {
	margin-left: auto;
	font-size: 12px;
	opacity: .5;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a:hover {
	background: var(--avl-menu-hover-bg) !important;
	color: var(--avl-menu-fg-strong) !important;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a:hover i {
	opacity: 1;
}

/* Module courant : un filet d'accent qui indique la position. */
body.avl-dash #dashboard-sidebar .dashboard-menu > li.current > a {
	background: var(--avl-menu-hover-bg) !important;
	color: var(--avl-menu-fg-strong) !important;
	font-weight: 600;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li.current > a i {
	color: var(--avl-accent) !important;
	opacity: 1;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li.current > a::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 50%;
	transform: translateY(-50%);
	width: 3px;
	height: 22px;
	border-radius: 0 3px 3px 0;
	background: var(--avl-accent);
}

/* Sous-menus */
body.avl-dash #dashboard-sidebar .dashboard-menu .submenu {
	margin: 2px 12px 8px 34px;
	padding-left: 12px;
	border-left: 1px solid var(--avl-menu-line);
	background: transparent !important;
}

body.avl-dash #dashboard-sidebar .dashboard-menu .submenu li a {
	display: block;
	padding: 7px 10px;
	border: 0;
	border-radius: 7px;
	background: transparent !important;
	color: var(--avl-menu-fg) !important;
	font-size: 13.5px;
	opacity: .88;
}

body.avl-dash #dashboard-sidebar .dashboard-menu .submenu li a:hover {
	background: var(--avl-menu-hover-bg) !important;
	color: var(--avl-menu-fg-strong) !important;
	opacity: 1;
}

body.avl-dash #dashboard-sidebar .dashboard-menu .submenu li.current a {
	background: rgba(var(--avl-accent-rgb), .14) !important;
	color: var(--avl-menu-fg-strong) !important;
	font-weight: 600;
	opacity: 1;
}

body.avl-dash.avl-sidebar-light #dashboard-sidebar .dashboard-menu .submenu li.current a {
	color: var(--avl-accent-ink) !important;
}

/* Bouton de repli */
body.avl-dash .dashboard-sidebar-display {
	background: var(--avl-menu-hover-bg);
	border: 1px solid var(--avl-menu-line);
	border-radius: 999px;
	color: var(--avl-menu-fg);
	transition: background-color .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash .dashboard-sidebar-display:hover {
	background: var(--avl-accent);
	border-color: var(--avl-accent);
	color: #fff;
}

/* Barre de défilement de la navigation */
body.avl-dash #dashboard-sidebar {
	scrollbar-width: thin;
	scrollbar-color: var(--avl-menu-line) transparent;
}

body.avl-dash #dashboard-sidebar::-webkit-scrollbar {
	width: 6px;
}

body.avl-dash #dashboard-sidebar::-webkit-scrollbar-thumb {
	background: var(--avl-menu-line);
	border-radius: 999px;
}

/* =========================================================================
   4. En-tête de page
   ========================================================================= */

body.avl-dash .dashboard-page-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--avl-line);
	padding: 0 0 calc(18px * var(--avl-scale, 1));
	margin-bottom: var(--avl-gap);
	box-shadow: none;
}

body.avl-dash .dashboard-page-title,
body.avl-dash .dashboard-page-head h1,
body.avl-dash .dashboard-page-head h2 {
	margin: 0;
	font-size: calc(23px * var(--avl-scale, 1));
	font-weight: 700;
	letter-spacing: -.025em;
	color: var(--avl-ink);
	line-height: 1.2;
}

body.avl-dash .rh-user-account {
	margin-left: auto;
}

body.avl-dash .rh-user-account img,
body.avl-dash .rh-user-account .avatar {
	border-radius: 999px;
	border: 2px solid var(--avl-surface);
	box-shadow: var(--avl-shadow-sm);
}

body.avl-dash .rh-user-links-dropdown {
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-lg);
	overflow: hidden;
	padding: 6px;
}

body.avl-dash .rh-user-links-dropdown a {
	border: 0;
	border-radius: 8px;
	padding: 9px 12px;
	font-size: 14px;
	color: var(--avl-slate);
}

body.avl-dash .rh-user-links-dropdown a:hover {
	background: var(--avl-surface-2);
	color: var(--avl-ink);
}

/* =========================================================================
   5. Statistiques
   ========================================================================= */

body.avl-dash .dashboard-small-widgets {
	margin-bottom: var(--avl-gap);
}

/* Variante « bloc unique » : une seule surface, découpée par des filets. */
body.avl-dash.avl-stats-unified .dashboard-small-widgets > .row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1px;
	margin: 0;
	background: var(--avl-line);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	overflow: hidden;
}

body.avl-dash.avl-stats-unified .dashboard-small-widgets > .row > [class*="col-"] {
	width: auto;
	max-width: none;
	flex: none;
	padding: 0;
	margin: 0;
}

body.avl-dash.avl-stats-unified .dashboard-small-widgets .widget-small {
	height: 100%;
	background: var(--avl-surface);
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Variante « cartes séparées ». */
body.avl-dash.avl-stats-cards .dashboard-small-widgets .widget-small {
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	height: 100%;
	transition: border-color .18s var(--avl-ease), box-shadow .18s var(--avl-ease);
}

body.avl-dash.avl-stats-cards .dashboard-small-widgets .widget-small:hover {
	border-color: rgba(var(--avl-accent-rgb), .45);
	box-shadow: var(--avl-shadow-md);
}

/* Contenu commun des compteurs. */
body.avl-dash .dashboard-small-widgets .widget-small {
	display: block;
	position: relative;
	padding: calc(22px * var(--avl-scale, 1)) calc(24px * var(--avl-scale, 1));
	margin: 0;
	overflow: hidden;
}

body.avl-dash .dashboard-small-widgets .widget-small > i {
	position: absolute;
	top: calc(20px * var(--avl-scale, 1));
	right: calc(22px * var(--avl-scale, 1));
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: none !important;
	border: 0;
	border-radius: 0;
	font-size: 15px;
	line-height: 1;
	color: var(--avl-muted);
	opacity: .55;
}

body.avl-dash .dashboard-small-widgets .widget-body {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	gap: 6px;
	padding: 0;
	margin: 0;
	width: 100%;
}

body.avl-dash .dashboard-small-widgets .widget-body p {
	margin: 0;
	font-size: calc(32px * var(--avl-scale, 1));
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.035em;
	color: var(--avl-ink);
	font-variant-numeric: tabular-nums;
}

body.avl-dash .dashboard-small-widgets .widget-body h4 {
	margin: 0;
	padding-right: 26px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--avl-muted);
	text-transform: none;
}

/* Accent réservé au compteur principal : un seul point fort dans la page. */
body.avl-dash .widget-total-properties-count .widget-body p {
	color: var(--avl-accent-ink);
}

/* Widgets larges (graphiques, listes). */
body.avl-dash .dashboard-large-widgets .widget-common,
body.avl-dash .reports-wrapper,
body.avl-dash .dashboard-tab-content {
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	padding: var(--avl-pad);
}

/* =========================================================================
   6. Listes de contenus
   ========================================================================= */

body.avl-dash .post-column-wrap,
body.avl-dash .dashboard-posts-users-list,
body.avl-dash .fav-list-wrap,
body.avl-dash .search-item-wrap,
body.avl-dash .rvr-booking-details,
body.avl-dash .rvr-invoice-details-wrapper {
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	overflow: hidden;
}

body.avl-dash .post-column-wrap + .post-column-wrap,
body.avl-dash .search-item-wrap + .search-item-wrap {
	margin-top: 14px;
}

body.avl-dash .post-column-wrap:hover,
body.avl-dash .search-item-wrap:hover {
	border-color: #d7dce4;
}

body.avl-dash .post-column-wrap .title a,
body.avl-dash .post-column-wrap h4 a {
	color: var(--avl-ink);
	font-weight: 600;
	letter-spacing: -.015em;
}

body.avl-dash .post-column-wrap .title a:hover,
body.avl-dash .post-column-wrap h4 a:hover {
	color: var(--avl-accent);
}

body.avl-dash .post-column-wrap img,
body.avl-dash .gallery-thumb img,
body.avl-dash .attachment-thumb img {
	border-radius: calc(var(--avl-radius) - 6px);
}

/* Étiquettes de statut */
body.avl-dash .property-status-tag,
body.avl-dash .booking-status-tag,
body.avl-dash .rh-lang-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.5;
	text-transform: none;
}

/* Pagination */
body.avl-dash .rh_pagination a,
body.avl-dash .rh_pagination span,
body.avl-dash .paging a,
body.avl-dash .paging span {
	border-radius: 9px;
	border: 1px solid var(--avl-line);
	background: var(--avl-surface);
	color: var(--avl-slate);
	font-weight: 600;
	transition: all .16s var(--avl-ease);
}

body.avl-dash .rh_pagination a:hover,
body.avl-dash .paging a:hover {
	border-color: var(--avl-accent);
	color: var(--avl-accent);
}

body.avl-dash .rh_pagination .current,
body.avl-dash .paging .current {
	background: var(--avl-accent);
	border-color: var(--avl-accent);
	color: #fff;
}

/* =========================================================================
   7. Formulaires
   ========================================================================= */

body.avl-dash #dashboard label,
body.avl-dash .submit-property-form label {
	color: var(--avl-ink);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: -.005em;
	margin-bottom: 7px;
}

body.avl-dash #dashboard input[type="text"],
body.avl-dash #dashboard input[type="email"],
body.avl-dash #dashboard input[type="url"],
body.avl-dash #dashboard input[type="tel"],
body.avl-dash #dashboard input[type="number"],
body.avl-dash #dashboard input[type="password"],
body.avl-dash #dashboard input[type="search"],
body.avl-dash #dashboard input[type="date"],
body.avl-dash #dashboard select,
body.avl-dash #dashboard textarea,
body.avl-dash #dashboard .bootstrap-select > .btn,
body.avl-dash #dashboard .form-control {
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: calc(var(--avl-radius) - 5px);
	box-shadow: none;
	color: var(--avl-ink);
	font-size: 14.5px;
	padding: calc(11px * var(--avl-scale, 1)) 14px;
	height: auto;
	transition: border-color .16s var(--avl-ease), box-shadow .16s var(--avl-ease);
}

body.avl-dash #dashboard input::placeholder,
body.avl-dash #dashboard textarea::placeholder {
	color: var(--avl-muted);
}

body.avl-dash #dashboard input[type="text"]:focus,
body.avl-dash #dashboard input[type="email"]:focus,
body.avl-dash #dashboard input[type="url"]:focus,
body.avl-dash #dashboard input[type="tel"]:focus,
body.avl-dash #dashboard input[type="number"]:focus,
body.avl-dash #dashboard input[type="password"]:focus,
body.avl-dash #dashboard input[type="search"]:focus,
body.avl-dash #dashboard select:focus,
body.avl-dash #dashboard textarea:focus,
body.avl-dash #dashboard .form-control:focus,
body.avl-dash #dashboard .bootstrap-select.open > .btn {
	border-color: var(--avl-accent);
	box-shadow: 0 0 0 3px rgba(var(--avl-accent-rgb), .14);
	outline: none;
}

body.avl-dash #dashboard .inspiry-field {
	margin-bottom: calc(20px * var(--avl-scale, 1));
}

body.avl-dash .bootstrap-select .dropdown-menu {
	border: 1px solid var(--avl-line);
	border-radius: calc(var(--avl-radius) - 4px);
	box-shadow: var(--avl-shadow-lg);
	padding: 6px;
}

body.avl-dash .bootstrap-select .dropdown-menu li a {
	border-radius: 7px;
	padding: 8px 10px;
	font-size: 14px;
}

body.avl-dash .bootstrap-select .dropdown-menu li.selected a,
body.avl-dash .bootstrap-select .dropdown-menu li a:hover {
	background: rgba(var(--avl-accent-rgb), .1);
	color: var(--avl-accent-ink);
}

/* Blocs de formulaire */
body.avl-dash .submit-property-form .inspiry-repeater-wrapper,
body.avl-dash .inspiry-clone,
body.avl-dash .inspiry-detail {
	background: var(--avl-surface-2);
	border: 1px solid var(--avl-line-soft);
	border-radius: calc(var(--avl-radius) - 4px);
}

/* =========================================================================
   8. Boutons
   ========================================================================= */

body.avl-dash #dashboard .btn,
body.avl-dash #dashboard .real-btn,
body.avl-dash #dashboard button[type="submit"],
body.avl-dash #dashboard input[type="submit"] {
	border-radius: calc(var(--avl-radius) - 5px);
	border: 1px solid transparent;
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: -.005em;
	padding: calc(11px * var(--avl-scale, 1)) 18px;
	line-height: 1.3;
	box-shadow: none;
	transition: transform .14s var(--avl-ease), background-color .16s var(--avl-ease), box-shadow .16s var(--avl-ease);
}

body.avl-dash #dashboard .btn-primary,
body.avl-dash #dashboard button[type="submit"],
body.avl-dash #dashboard input[type="submit"] {
	background: var(--avl-accent);
	color: #fff;
	box-shadow: 0 1px 2px rgba(18, 24, 34, .12);
}

body.avl-dash #dashboard .btn-primary:hover,
body.avl-dash #dashboard button[type="submit"]:hover,
body.avl-dash #dashboard input[type="submit"]:hover {
	background: var(--avl-accent-ink);
	box-shadow: 0 6px 16px -8px rgba(var(--avl-accent-rgb), .8);
	transform: translateY(-1px);
}

body.avl-dash #dashboard .btn-primary:active,
body.avl-dash #dashboard button[type="submit"]:active {
	transform: translateY(0);
}

body.avl-dash #dashboard .btn-secondary {
	background: var(--avl-surface);
	border-color: var(--avl-line);
	color: var(--avl-ink);
}

body.avl-dash #dashboard .btn-secondary:hover {
	background: var(--avl-surface-2);
	border-color: #d7dce4;
	color: var(--avl-ink);
}

body.avl-dash #dashboard .delete,
body.avl-dash #dashboard .remove-post,
body.avl-dash #dashboard .inspiry-detail-remove-detail {
	color: #b4232a;
}

body.avl-dash #dashboard .delete:hover,
body.avl-dash #dashboard .remove-post:hover {
	color: #8c191f;
}

/* =========================================================================
   9. Messages et états vides
   ========================================================================= */

body.avl-dash .dashboard-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-left: 3px solid var(--avl-accent);
	border-radius: calc(var(--avl-radius) - 6px);
	box-shadow: var(--avl-shadow-sm);
	color: var(--avl-slate);
	font-size: 14.5px;
	padding: 14px 16px;
}

body.avl-dash .dashboard-notice.error,
body.avl-dash .dashboard-notice.danger {
	border-left-color: #b4232a;
}

body.avl-dash .dashboard-notice.success {
	border-left-color: #1d8a53;
}

body.avl-dash .dashboard-notice.warning {
	border-left-color: #c98214;
}

body.avl-dash .dashboard-no-items {
	background: var(--avl-surface);
	border: 1px dashed #d7dce4;
	border-radius: var(--avl-radius);
	box-shadow: none;
	padding: calc(52px * var(--avl-scale, 1)) 28px;
	text-align: center;
}

body.avl-dash .dashboard-no-items .icon-wrap,
body.avl-dash .dashboard-no-items i {
	color: var(--avl-muted);
	opacity: .5;
}

body.avl-dash .dashboard-no-items h3,
body.avl-dash .dashboard-no-items h4 {
	color: var(--avl-ink);
	font-size: 17px;
	font-weight: 700;
}

body.avl-dash .errors-log {
	border-radius: calc(var(--avl-radius) - 6px);
	border: 1px solid rgba(180, 35, 42, .28);
	background: #fdf4f4;
	color: #8c191f;
	padding: 12px 14px;
}

/* Fenêtres modales */
body.avl-dash .fav-share-lightbox,
body.avl-dash .confirmation,
body.avl-dash .share-form-wrap {
	border-radius: var(--avl-radius);
	border: 1px solid var(--avl-line);
	box-shadow: var(--avl-shadow-lg);
	background: var(--avl-surface);
}

/* =========================================================================
   10. Confort et accessibilité
   ========================================================================= */

@media (max-width: 1024px) {
	body.avl-dash #dashboard-content {
		padding: calc(var(--avl-gap) * .65);
	}

	body.avl-dash .dashboard-page-title {
		font-size: calc(20px * var(--avl-scale, 1));
	}
}

@media (max-width: 767px) {
	body.avl-dash.avl-stats-unified .dashboard-small-widgets > .row {
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	}

	body.avl-dash .dashboard-small-widgets .widget-body p {
		font-size: calc(26px * var(--avl-scale, 1));
	}
}

@media (prefers-reduced-motion: reduce) {
	body.avl-dash #dashboard * {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}

	body.avl-dash #dashboard .btn:hover {
		transform: none;
	}
}

/* =========================================================================
   11. Espace favoris — cadre
   ========================================================================= */

body.avl-dash .avl-space {
	max-width: 1180px;
}

/* Barre latérale réduite : sur mobile, un rail horizontal plutôt qu'un bloc
   qui repousse le contenu. Réservé aux menus courts des membres. */
@media (max-width: 900px) {
	body.avl-dash.avl-restricted #dashboard {
		display: block;
	}

	body.avl-dash.avl-restricted #dashboard-sidebar {
		width: 100%;
		max-width: none;
		flex: none;
		position: static;
		padding-bottom: 0;
		border-right: 0;
		border-bottom: 1px solid var(--avl-menu-line);
	}

	body.avl-dash.avl-restricted #dashboard-sidebar .rh-logo {
		padding: 16px 18px;
		margin-bottom: 0;
		border-bottom: 0;
	}

	body.avl-dash.avl-restricted #dashboard-sidebar .dashboard-menu {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		padding: 0 12px 12px;
		scrollbar-width: none;
	}

	body.avl-dash.avl-restricted #dashboard-sidebar .dashboard-menu::-webkit-scrollbar {
		display: none;
	}

	body.avl-dash.avl-restricted #dashboard-sidebar .dashboard-menu > li > a {
		margin: 0;
		white-space: nowrap;
		border-radius: 999px;
		padding: 9px 15px;
	}

	body.avl-dash.avl-restricted #dashboard-sidebar .dashboard-menu > li.current > a::before {
		display: none;
	}

	body.avl-dash.avl-restricted #dashboard-sidebar .dashboard-menu > li.current > a {
		background: rgba(var(--avl-accent-rgb), .18) !important;
	}

	body.avl-dash.avl-restricted .dashboard-sidebar-display {
		display: none;
	}
}

/* =========================================================================
   12. Champs de formulaire de l'espace membre
   ========================================================================= */

body.avl-dash .avl-field {
	margin-bottom: 15px;
}

body.avl-dash .avl-field label {
	display: block;
	margin-bottom: 7px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--avl-ink);
}

body.avl-dash .avl-field input {
	width: 100%;
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: calc(var(--avl-radius) - 5px);
	padding: 12px 14px;
	font: inherit;
	font-size: 15px;
	color: var(--avl-ink);
	transition: border-color .16s var(--avl-ease), box-shadow .16s var(--avl-ease);
}

body.avl-dash .avl-field input:focus {
	border-color: var(--avl-accent);
	box-shadow: 0 0 0 3px rgba(var(--avl-accent-rgb), .14);
	outline: none;
}

body.avl-dash .avl-field__hint {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: var(--avl-muted);
}

body.avl-dash .avl-field--trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

body.avl-dash .avl-check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 14px;
	color: var(--avl-slate);
	cursor: pointer;
}

body.avl-dash .avl-check input {
	width: 16px;
	height: 16px;
	accent-color: var(--avl-accent);
}

body.avl-dash .avl-auth__message {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.5;
	display: none;
}

body.avl-dash .avl-auth__message.is-error,
body.avl-dash .avl-auth__message.is-success {
	display: block;
	padding: 10px 13px;
	border-radius: calc(var(--avl-radius) - 7px);
}

body.avl-dash .avl-auth__message.is-error {
	background: #fdf4f4;
	border: 1px solid rgba(180, 35, 42, .25);
	color: #8c191f;
}

body.avl-dash .avl-auth__message.is-success {
	background: #f1f9f4;
	border: 1px solid rgba(29, 138, 83, .25);
	color: #166b41;
}

/* =========================================================================
   13. Boutons de l'espace membre
   ========================================================================= */

body.avl-dash .avl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	appearance: none;
	border: 1px solid transparent;
	border-radius: calc(var(--avl-radius) - 5px);
	padding: 12px 20px;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform .14s var(--avl-ease), background-color .16s var(--avl-ease), box-shadow .16s var(--avl-ease);
}

body.avl-dash .avl-btn--primary {
	background: var(--avl-accent);
	color: #fff;
	box-shadow: 0 1px 2px rgba(18, 24, 34, .12);
}

body.avl-dash .avl-btn--primary:hover {
	background: var(--avl-accent-ink);
	color: #fff;
	box-shadow: 0 8px 18px -10px rgba(var(--avl-accent-rgb), .9);
	transform: translateY(-1px);
}

body.avl-dash .avl-btn--block {
	width: 100%;
}

body.avl-dash .avl-btn.is-busy {
	opacity: .6;
	cursor: progress;
	transform: none;
}

/* =========================================================================
   14. Synthèse et barre d'outils
   ========================================================================= */

body.avl-dash .avl-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin-bottom: var(--avl-gap);
	background: var(--avl-line);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	overflow: hidden;
}

body.avl-dash .avl-summary__item {
	background: var(--avl-surface);
	padding: calc(20px * var(--avl-scale, 1)) calc(22px * var(--avl-scale, 1));
}

body.avl-dash .avl-summary__value {
	margin: 0 0 5px;
	font-size: calc(27px * var(--avl-scale, 1));
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.035em;
	color: var(--avl-ink);
	font-variant-numeric: tabular-nums;
}

body.avl-dash .avl-summary__item:first-child .avl-summary__value {
	color: var(--avl-accent-ink);
}

body.avl-dash .avl-summary__label {
	margin: 0;
	font-size: 13px;
	color: var(--avl-muted);
}

body.avl-dash .avl-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}

body.avl-dash .avl-toolbar__count {
	margin: 0;
	font-size: 14.5px;
	color: var(--avl-slate);
}

body.avl-dash .avl-toolbar__count strong {
	color: var(--avl-ink);
	font-variant-numeric: tabular-nums;
}

body.avl-dash .avl-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	color: var(--avl-muted);
}

body.avl-dash .avl-toolbar__sort select {
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: 999px;
	padding: 8px 14px;
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--avl-ink);
	cursor: pointer;
}

/* =========================================================================
   15. Cartes de biens
   ========================================================================= */

body.avl-dash .avl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(288px, 1fr));
	gap: calc(22px * var(--avl-scale, 1));
}

body.avl-dash .avl-card {
	display: flex;
	flex-direction: column;
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	overflow: hidden;
	transition: border-color .18s var(--avl-ease), box-shadow .18s var(--avl-ease), opacity .24s var(--avl-ease), transform .24s var(--avl-ease);
}

body.avl-dash .avl-card:hover {
	border-color: #d4dae3;
	box-shadow: var(--avl-shadow-md);
}

body.avl-dash .avl-card.is-leaving {
	opacity: 0;
	transform: scale(.97);
}

body.avl-dash .avl-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--avl-surface-2);
	overflow: hidden;
}

body.avl-dash .avl-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
	transition: transform .5s var(--avl-ease);
}

body.avl-dash .avl-card:hover .avl-card__media img {
	transform: scale(1.03);
}

body.avl-dash .avl-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #dfe4ea, #f1f3f6);
}

body.avl-dash .avl-card__status {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: var(--avl-ink);
	font-size: 12px;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(18, 24, 34, .14);
}

body.avl-dash .avl-card__remove {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: #b4232a;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(18, 24, 34, .18);
	transition: transform .16s var(--avl-ease), background-color .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash .avl-card__remove svg {
	width: 19px;
	height: 19px;
}

body.avl-dash .avl-card__remove:hover {
	background: #b4232a;
	color: #fff;
	transform: scale(1.06);
}

body.avl-dash .avl-card__body {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: calc(18px * var(--avl-scale, 1)) calc(20px * var(--avl-scale, 1)) calc(20px * var(--avl-scale, 1));
	flex: 1 1 auto;
}

body.avl-dash .avl-card__price {
	margin: 0;
	font-size: calc(21px * var(--avl-scale, 1));
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.1;
	color: var(--avl-ink);
	font-variant-numeric: tabular-nums;
}

body.avl-dash .avl-card__title {
	margin: 0;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.012em;
}

body.avl-dash .avl-card__title a {
	color: var(--avl-ink);
	text-decoration: none;
}

body.avl-dash .avl-card__title a:hover {
	color: var(--avl-accent);
}

body.avl-dash .avl-card__place {
	margin: 0;
	font-size: 13.5px;
	color: var(--avl-muted);
}

body.avl-dash .avl-card__specs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 6px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--avl-line-soft);
	list-style: none;
	font-size: 13.5px;
	color: var(--avl-slate);
}

body.avl-dash .avl-card__specs li + li {
	position: relative;
	padding-left: 14px;
}

body.avl-dash .avl-card__specs li + li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 12px;
	transform: translateY(-50%);
	background: var(--avl-line);
}

body.avl-dash .avl-card__link {
	margin-top: auto;
	padding-top: 14px;
	font-size: 14px;
	font-weight: 600;
	color: var(--avl-accent-ink);
	text-decoration: none;
}

body.avl-dash .avl-card__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================================================================
   16. États : vide, chargement, message
   ========================================================================= */

body.avl-dash .avl-empty {
	background: var(--avl-surface);
	border: 1px dashed #d4dae3;
	border-radius: var(--avl-radius);
	padding: calc(56px * var(--avl-scale, 1)) 28px;
	text-align: center;
}

body.avl-dash .avl-empty__icon {
	width: 44px;
	height: 44px;
	color: var(--avl-accent);
	opacity: .5;
	margin-bottom: 14px;
}

body.avl-dash .avl-empty h3 {
	margin: 0 0 8px;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--avl-ink);
}

body.avl-dash .avl-empty p {
	margin: 0 auto 22px;
	max-width: 46ch;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--avl-slate);
}

body.avl-dash .avl-loading {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 44px 0;
	font-size: 14.5px;
	color: var(--avl-muted);
}

body.avl-dash .avl-spinner {
	width: 17px;
	height: 17px;
	border: 2px solid var(--avl-line);
	border-top-color: var(--avl-accent);
	border-radius: 999px;
	animation: avl-spin .7s linear infinite;
}

@keyframes avl-spin {
	to { transform: rotate(360deg); }
}

body.avl-dash .avl-toast {
	position: fixed;
	left: 50%;
	bottom: calc(22px + env(safe-area-inset-bottom, 0px));
	z-index: 60;
	transform: translate(-50%, 14px);
	margin: 0;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--avl-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	box-shadow: var(--avl-shadow-lg);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s var(--avl-ease), transform .2s var(--avl-ease);
}

body.avl-dash .avl-toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* =========================================================================
   17. Panneau « Mon compte »
   ========================================================================= */

body.avl-dash .avl-panel {
	max-width: 560px;
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	padding: calc(28px * var(--avl-scale, 1));
}

body.avl-dash .avl-panel__title {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--avl-ink);
}

/* =========================================================================
   18. Adaptations mobiles
   ========================================================================= */

@media (max-width: 600px) {
	body.avl-dash .avl-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body.avl-dash .avl-summary {
		grid-template-columns: 1fr 1fr;
	}

	body.avl-dash .avl-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

		body.avl-dash .avl-card__media {
		aspect-ratio: 16 / 10;
	}

	body.avl-dash .avl-toast {
		left: 16px;
		right: 16px;
		transform: translateY(14px);
		text-align: center;
	}

	body.avl-dash .avl-toast.is-visible {
		transform: translateY(0);
	}
}

/* =========================================================================
   19. Mode application : chrome du site masqué
   ========================================================================= */

/* L'en-tête et le pied de page du site n'ont pas leur place ici : la barre
   supérieure porte le retour au site. Les sélecteurs couvrent les en-têtes
   connus de RealHomes ; le script masque en complément tout <header> ou
   <footer> situé hors du tableau de bord. */
body.avl-app > header,
body.avl-app > footer,
body.avl-app #header,
body.avl-app #footer,
body.avl-app .site-header,
body.avl-app .site-footer,
body.avl-app .main-header,
body.avl-app .main-footer,
body.avl-app .rh-header,
body.avl-app .rh-header-slim,
body.avl-app .rh-footer,
body.avl-app .header-wrapper,
body.avl-app .footer-wrapper,
body.avl-app .rh-menu-responsive,
body.avl-app .sticky-header,
body.avl-app .mobile-header {
	display: none !important;
}

body.avl-app,
body.avl-app #page,
body.avl-app .site-content,
body.avl-app .content-wrapper {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Colonne de navigation collante, hauteur d'écran. La classe est posée par le
   script, et seulement si le thème ne place pas déjà la colonne en fixed. */
body.avl-app.avl-app-layout #dashboard-sidebar {
	position: sticky;
	top: 0;
	align-self: flex-start;
	max-height: 100vh;
	overflow-y: auto;
	overscroll-behavior: contain;
}

body.avl-app #dashboard {
	min-height: 100vh;
}

/* Sans barre latérale, le contenu occupe toute la largeur et se recentre. */
body.avl-no-sidebar #dashboard-sidebar {
	display: none !important;
}

body.avl-no-sidebar #dashboard-content {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	padding-top: 0;
}

body.avl-no-sidebar .dashboard-page-head,
body.avl-no-sidebar .avl-space,
body.avl-no-sidebar .dashboard-small-widgets,
body.avl-no-sidebar .dashboard-large-widgets {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

/* =========================================================================
   20. Barre supérieure
   ========================================================================= */

body.avl-dash .avl-topbar {
	position: sticky;
	top: 0;
	z-index: 30;
	margin: calc(var(--avl-gap) * -1) calc(var(--avl-gap) * -1) var(--avl-gap);
	padding: 0 var(--avl-gap);
	padding-top: env(safe-area-inset-top, 0px);
	background: rgba(255, 255, 255, .88);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--avl-line);
}

body.avl-dash .avl-topbar__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 1180px;
	margin: 0 auto;
	min-height: 62px;
}

body.avl-dash .avl-topbar__back {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 15px 8px 11px;
	border: 1px solid var(--avl-line);
	border-radius: 999px;
	background: var(--avl-surface);
	color: var(--avl-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .16s var(--avl-ease), color .16s var(--avl-ease), transform .16s var(--avl-ease);
}

body.avl-dash .avl-topbar__back svg {
	width: 17px;
	height: 17px;
	transition: transform .16s var(--avl-ease);
}

body.avl-dash .avl-topbar__back:hover {
	border-color: var(--avl-accent);
	color: var(--avl-accent-ink);
}

body.avl-dash .avl-topbar__back:hover svg {
	transform: translateX(-2px);
}

body.avl-dash .avl-topbar__logo {
	display: inline-flex;
	align-items: center;
	margin-left: 4px;
}

body.avl-dash .avl-topbar__logo img {
	max-height: 34px;
	width: auto;
}

body.avl-dash .avl-topbar__name {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--avl-ink);
	text-decoration: none;
}

body.avl-dash .avl-topbar__user {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

body.avl-dash .avl-topbar__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: var(--avl-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

body.avl-dash .avl-topbar__username {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--avl-ink);
}

body.avl-dash .avl-topbar__logout {
	padding-left: 12px;
	margin-left: 2px;
	border-left: 1px solid var(--avl-line);
	font-size: 14px;
	color: var(--avl-muted);
	text-decoration: none;
}

body.avl-dash .avl-topbar__logout:hover {
	color: #b4232a;
}

/* Le titre de page reprend la main juste sous la barre. */
body.avl-app .dashboard-page-head {
	padding-top: 4px;
}

@media (max-width: 600px) {
	body.avl-dash .avl-topbar__inner {
		min-height: 56px;
		gap: 10px;
	}

	body.avl-dash .avl-topbar__username,
	body.avl-dash .avl-topbar__name {
		display: none;
	}

	body.avl-dash .avl-topbar__back span {
		font-size: 13.5px;
	}
}

/* =========================================================================
   21. Bandeau de connexion
   ========================================================================= */

body.avl-dash .avl-signin {
	margin-bottom: var(--avl-gap);
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	overflow: hidden;
}

body.avl-dash .avl-signin__bar {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: calc(16px * var(--avl-scale, 1)) calc(20px * var(--avl-scale, 1));
}

body.avl-dash .avl-signin__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	color: var(--avl-accent);
}

body.avl-dash .avl-signin__text {
	margin: 0;
	flex: 1 1 auto;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--avl-ink);
	font-weight: 600;
}

body.avl-dash .avl-signin__text span {
	display: block;
	font-weight: 400;
	color: var(--avl-muted);
}

body.avl-dash .avl-btn--ghost {
	flex: 0 0 auto;
	background: var(--avl-surface);
	border-color: var(--avl-line);
	color: var(--avl-ink);
	padding: 10px 18px;
	font-size: 14.5px;
}

body.avl-dash .avl-btn--ghost:hover {
	border-color: var(--avl-accent);
	color: var(--avl-accent-ink);
}

body.avl-dash .avl-signin__form {
	padding: 0 calc(20px * var(--avl-scale, 1)) calc(20px * var(--avl-scale, 1));
	border-top: 1px solid var(--avl-line-soft);
}

body.avl-dash .avl-signin__fields {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: 14px;
	align-items: end;
	padding-top: 18px;
}

body.avl-dash .avl-signin__fields .avl-field {
	margin-bottom: 0;
}

body.avl-dash .avl-field--action {
	min-width: 170px;
}

body.avl-dash .avl-signin__legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin: 14px 0 0;
	font-size: 13px;
	color: var(--avl-muted);
}

body.avl-dash .avl-signin__legal .avl-check {
	margin: 0;
	font-size: 13px;
}

body.avl-dash .avl-signin__legal a {
	color: var(--avl-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.avl-dash .avl-signin__legal a:hover {
	color: var(--avl-ink);
}

body.avl-dash .avl-signin__form .avl-auth__message {
	margin: 14px 0 0;
}

@media (max-width: 720px) {
	body.avl-dash .avl-signin__bar {
		flex-wrap: wrap;
	}

	body.avl-dash .avl-signin__text {
		flex: 1 1 100%;
		order: 2;
	}

	body.avl-dash .avl-btn--ghost {
		order: 3;
		width: 100%;
	}

	body.avl-dash .avl-signin__fields {
		grid-template-columns: 1fr;
	}

	body.avl-dash .avl-field--action {
		min-width: 0;
	}
}

/* Sans barre latérale, l'ordre d'affichage place la barre supérieure en tête
   même avant l'exécution du script. */
body.avl-app.avl-no-sidebar #dashboard-content {
	display: flex;
	flex-direction: column;
}

body.avl-app.avl-no-sidebar .avl-topbar {
	order: -1;
}

/* =========================================================================
   22. Formulaire d'ajout de bien (comptes professionnels)
   ========================================================================= */

body.avl-dash #submit-property-form {
	position: relative;
	padding-bottom: 8px;
}

/* --- Étapes ------------------------------------------------------------ */

body.avl-dash #dashboard-tabs-nav {
	counter-reset: avl-step;
	display: flex;
	gap: 6px;
	margin: 0 0 var(--avl-gap);
	padding: 6px;
	list-style: none;
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: 999px;
	box-shadow: var(--avl-shadow-sm);
	overflow-x: auto;
	scrollbar-width: none;
}

body.avl-dash #dashboard-tabs-nav::-webkit-scrollbar {
	display: none;
}

body.avl-dash #dashboard-tabs-nav li {
	counter-increment: avl-step;
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 1 0 auto;
	justify-content: center;
	margin: 0;
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--avl-muted);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash #dashboard-tabs-nav li::before {
	content: counter(avl-step);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: var(--avl-line-soft);
	color: var(--avl-slate);
	font-size: 12.5px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	transition: background-color .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash #dashboard-tabs-nav li:hover {
	color: var(--avl-ink);
	background: var(--avl-surface-2);
}

body.avl-dash #dashboard-tabs-nav li.current {
	background: var(--avl-ink);
	color: #fff;
}

body.avl-dash #dashboard-tabs-nav li.current::before {
	background: var(--avl-accent);
	color: #fff;
}

/* --- Panneau de l'étape ------------------------------------------------ */

body.avl-dash .dashboard-tab-content {
	display: none;
	background: var(--avl-surface);
	border: 1px solid var(--avl-line);
	border-radius: var(--avl-radius);
	box-shadow: var(--avl-shadow-sm);
	padding: calc(30px * var(--avl-scale, 1));
}

body.avl-dash .dashboard-tab-content.current-tab-content {
	display: block;
}

/* Formulaire sans assistant : chaque bloc reste une surface lisible. */
body.avl-dash .submit-property-form:not(.submit-property-form-wizard) .dashboard-tab-content {
	display: block;
	margin-bottom: 22px;
}

body.avl-dash .dashboard-tab-content > h3,
body.avl-dash .dashboard-tab-content > h4,
body.avl-dash .submit-property-form h3 {
	margin: 0 0 22px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--avl-line-soft);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--avl-ink);
}

/* --- Champs ------------------------------------------------------------ */

body.avl-dash .submit-property-form .inspiry-field {
	margin-bottom: calc(22px * var(--avl-scale, 1));
}

body.avl-dash .submit-property-form label {
	display: block;
	margin-bottom: 8px;
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: -.005em;
	color: var(--avl-ink);
}

body.avl-dash .submit-property-form .inspiry-field > span,
body.avl-dash .submit-property-form .field-description,
body.avl-dash .submit-property-form small {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--avl-muted);
}

body.avl-dash .submit-property-form textarea,
body.avl-dash .inspiry-textarea {
	min-height: 140px;
	line-height: 1.6;
	resize: vertical;
}

body.avl-dash #wp-description-wrap,
body.avl-dash .wp-editor-container {
	border: 1px solid var(--avl-line);
	border-radius: calc(var(--avl-radius) - 5px);
	overflow: hidden;
}

body.avl-dash .wp-editor-container textarea {
	border: 0 !important;
	border-radius: 0 !important;
}

body.avl-dash .mce-toolbar-grp,
body.avl-dash .quicktags-toolbar {
	background: var(--avl-surface-2) !important;
	border-bottom: 1px solid var(--avl-line) !important;
}

/* Prix : l'aperçu formaté sous le champ. */
body.avl-dash .dashboard-price-preview {
	display: inline-block;
	margin-top: 9px;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(var(--avl-accent-rgb), .1);
	color: var(--avl-accent-ink);
	font-size: 13.5px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

body.avl-dash .dashboard-color-picker .wp-picker-container {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* --- Dépôt de fichiers ------------------------------------------------- */

body.avl-dash .inspiry-file-input-wrapper {
	padding: calc(26px * var(--avl-scale, 1)) 22px;
	background: var(--avl-surface-2);
	border: 1px dashed #cdd4de;
	border-radius: calc(var(--avl-radius) - 3px);
	text-align: center;
	transition: border-color .16s var(--avl-ease), background-color .16s var(--avl-ease);
}

body.avl-dash .inspiry-file-input-wrapper:hover {
	border-color: var(--avl-accent);
	background: rgba(var(--avl-accent-rgb), .04);
}

body.avl-dash .inspiry-file-input-wrapper label {
	margin-bottom: 4px;
}

body.avl-dash .inspiry-file-input {
	max-width: 100%;
}

body.avl-dash .max-files-limit-message {
	margin-top: 10px;
	font-size: 12.5px;
	color: var(--avl-muted);
}

/* Vignettes des galeries, du diaporama et des pièces jointes. */
body.avl-dash .gallery-thumb,
body.avl-dash .slider-thumb,
body.avl-dash .attachment-thumb {
	position: relative;
	border: 1px solid var(--avl-line);
	border-radius: calc(var(--avl-radius) - 6px);
	background: var(--avl-surface);
	overflow: hidden;
	box-shadow: var(--avl-shadow-sm);
	transition: box-shadow .16s var(--avl-ease), border-color .16s var(--avl-ease);
}

body.avl-dash .gallery-thumb:hover,
body.avl-dash .slider-thumb:hover,
body.avl-dash .attachment-thumb:hover {
	border-color: #cdd4de;
	box-shadow: var(--avl-shadow-md);
}

body.avl-dash .gallery-thumb img,
body.avl-dash .slider-thumb img,
body.avl-dash .attachment-thumb img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

body.avl-dash .gallery-thumb .delete,
body.avl-dash .slider-thumb .delete,
body.avl-dash .attachment-thumb .delete,
body.avl-dash .gallery-thumb .remove-detail,
body.avl-dash .inspiry-remove-clone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: #b4232a;
	box-shadow: 0 2px 8px rgba(18, 24, 34, .18);
	cursor: pointer;
	transition: background-color .16s var(--avl-ease), color .16s var(--avl-ease);
}

body.avl-dash .gallery-thumb .delete,
body.avl-dash .slider-thumb .delete,
body.avl-dash .attachment-thumb .delete {
	position: absolute;
	top: 8px;
	right: 8px;
}

body.avl-dash .gallery-thumb .delete:hover,
body.avl-dash .slider-thumb .delete:hover,
body.avl-dash .attachment-thumb .delete:hover,
body.avl-dash .inspiry-remove-clone:hover {
	background: #b4232a;
	color: #fff;
}

/* --- Répéteurs (détails, vidéos, plans) -------------------------------- */

body.avl-dash .inspiry-clone,
body.avl-dash .inspiry-detail,
body.avl-dash .inspiry-repeater-wrapper > div {
	position: relative;
	margin-bottom: 14px;
	padding: calc(18px * var(--avl-scale, 1));
	background: var(--avl-surface-2);
	border: 1px solid var(--avl-line-soft);
	border-radius: calc(var(--avl-radius) - 4px);
}

body.avl-dash .inspiry-detail-sort-handle,
body.avl-dash .inspiry-repeater-sort-handle {
	color: var(--avl-muted);
	cursor: grab;
	opacity: .7;
}

body.avl-dash .inspiry-detail-sort-handle:hover,
body.avl-dash .inspiry-repeater-sort-handle:hover {
	opacity: 1;
	color: var(--avl-ink);
}

body.avl-dash .inspiry-repeater-add-field-btn,
body.avl-dash .add-detail,
body.avl-dash .inspiry-add-clone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	justify-content: center;
	padding: 13px 18px !important;
	background: transparent !important;
	border: 1px dashed #cdd4de !important;
	border-radius: calc(var(--avl-radius) - 5px) !important;
	color: var(--avl-slate) !important;
	font-weight: 600;
	box-shadow: none !important;
	transform: none !important;
}

body.avl-dash .inspiry-repeater-add-field-btn:hover,
body.avl-dash .add-detail:hover,
body.avl-dash .inspiry-add-clone:hover {
	border-color: var(--avl-accent) !important;
	color: var(--avl-accent-ink) !important;
	background: rgba(var(--avl-accent-rgb), .05) !important;
}

/* --- Localisation ------------------------------------------------------ */

body.avl-dash .inspiry_dashboard_ajax_location_wrapper,
body.avl-dash .address-map-fields-wrapper {
	padding: calc(20px * var(--avl-scale, 1));
	background: var(--avl-surface-2);
	border: 1px solid var(--avl-line-soft);
	border-radius: calc(var(--avl-radius) - 4px);
}

body.avl-dash .address-map-fields-wrapper iframe,
body.avl-dash .submit-property-form .map-canvas {
	border-radius: calc(var(--avl-radius) - 6px);
	overflow: hidden;
}

/* --- Messages ---------------------------------------------------------- */

body.avl-dash #property-message {
	margin-bottom: 18px;
}

body.avl-dash .errors-log {
	margin-bottom: 16px;
}

body.avl-dash .errors-log li {
	margin: 0;
	padding: 3px 0;
	font-size: 14px;
	list-style: none;
}

/* --- Barre d'actions --------------------------------------------------- */

body.avl-dash .submit-property-form .inspiry-btn-group {
	position: sticky;
	bottom: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: var(--avl-gap) calc(var(--avl-gap) * -1) 0;
	padding: 14px var(--avl-gap);
	padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
	background: rgba(255, 255, 255, .9);
	backdrop-filter: saturate(180%) blur(12px);
	border-top: 1px solid var(--avl-line);
}

body.avl-dash .submit-property-form .inspiry-btn-group::after {
	content: none;
}

body.avl-dash .submit-property-form #previous {
	margin-right: auto;
	background: var(--avl-surface);
	border-color: var(--avl-line);
	color: var(--avl-ink);
}

body.avl-dash .submit-property-form #previous:hover {
	border-color: #cdd4de;
	background: var(--avl-surface-2);
}

body.avl-dash .submit-property-form .btn.disabled,
body.avl-dash .submit-property-form .btn:disabled {
	opacity: .4;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

body.avl-dash .submit-property-form #submit-property-button,
body.avl-dash .submit-property-form #update-property-button,
body.avl-dash .submit-property-form #next {
	min-width: 170px;
	justify-content: center;
}

/* Le brouillon reste secondaire, à côté de l'action principale. */
body.avl-dash .submit-property-form #save-as-draft,
body.avl-dash .submit-property-form .draft-btn {
	background: var(--avl-surface);
	border-color: var(--avl-line);
	color: var(--avl-slate);
}

@media (max-width: 782px) {
	body.avl-dash .dashboard-tab-content {
		padding: 20px 18px;
	}

	body.avl-dash #dashboard-tabs-nav li {
		padding: 9px 14px;
		font-size: 13.5px;
	}

	body.avl-dash .submit-property-form .inspiry-btn-group {
		flex-wrap: wrap;
		padding: 12px 16px;
		padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		margin-left: calc(var(--avl-gap) * -.65);
		margin-right: calc(var(--avl-gap) * -.65);
	}

	body.avl-dash .submit-property-form #next,
	body.avl-dash .submit-property-form #submit-property-button,
	body.avl-dash .submit-property-form #update-property-button {
		flex: 1 1 auto;
	}
}

/* =========================================================================
   23. Avousl'immo — Direction artistique v3
   ========================================================================= */

body.avl-dash {
	--avl-canvas: #f3f4f2;
	--avl-surface: #ffffff;
	--avl-surface-2: #f8f8f6;
	--avl-ink: #15283d;
	--avl-slate: #5f6b76;
	--avl-muted: #8b949d;
	--avl-line: #e2e5e5;
	--avl-line-soft: #eceeed;
	--avl-navy: #14263b;
	--avl-navy-2: #0f1d2d;
	--avl-gold: var(--avl-accent, #c39a67);
	--avl-shadow-sm: 0 1px 2px rgba(16, 31, 47, .035), 0 8px 24px rgba(16, 31, 47, .035);
	--avl-shadow-md: 0 4px 10px rgba(16, 31, 47, .04), 0 22px 52px -24px rgba(16, 31, 47, .28);
	--avl-shadow-lg: 0 26px 70px -30px rgba(9, 25, 41, .38);
}

body.avl-dash #dashboard {
	background:
		radial-gradient(circle at 75% -10%, rgba(var(--avl-accent-rgb), .075), transparent 33%),
		var(--avl-canvas);
}

body.avl-dash #dashboard-content {
	padding: 30px 40px 48px;
}

body.avl-no-sidebar .dashboard-page-head,
body.avl-no-sidebar .avl-space,
body.avl-no-sidebar .dashboard-small-widgets,
body.avl-no-sidebar .dashboard-large-widgets {
	max-width: 1240px;
}

/* --- Navigation latérale ------------------------------------------------ */
body.avl-dash #dashboard-sidebar {
	background: linear-gradient(180deg, var(--avl-navy) 0%, var(--avl-navy-2) 100%) !important;
	border-right: 0;
	box-shadow: 12px 0 36px rgba(11, 27, 44, .08);
}

body.avl-dash #dashboard-sidebar .rh-logo {
	padding: 30px 24px 24px;
	border-bottom: 1px solid rgba(255,255,255,.08);
	margin-bottom: 12px;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a {
	margin: 4px 13px;
	padding: 12px 14px;
	border-radius: 12px;
	color: rgba(255,255,255,.65) !important;
	font-size: 14px;
	font-weight: 560;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li > a:hover {
	background: rgba(255,255,255,.065) !important;
	color: #fff !important;
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li.current > a {
	background: rgba(255,255,255,.09) !important;
	color: #fff !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li.current > a::before {
	left: -13px;
	width: 4px;
	height: 26px;
	border-radius: 0 4px 4px 0;
	background: var(--avl-gold);
}

body.avl-dash #dashboard-sidebar .dashboard-menu > li.current > a i {
	color: var(--avl-gold) !important;
}

/* --- Topbar Avousl'immo ------------------------------------------------- */
body.avl-dash .avl-topbar {
	margin: -30px -40px 32px;
	padding: 0 40px;
	background: rgba(20, 38, 59, .975);
	border-bottom: 1px solid rgba(255,255,255,.08);
	box-shadow: 0 10px 30px rgba(13, 29, 46, .08);
	backdrop-filter: blur(18px) saturate(130%);
}

body.avl-dash .avl-topbar__inner {
	max-width: 1380px;
	min-height: 72px;
	gap: 18px;
}

body.avl-dash .avl-topbar__brand {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

body.avl-dash .avl-topbar__logo,
body.avl-dash .avl-topbar__name {
	margin: 0;
	color: #fff;
}

body.avl-dash .avl-topbar__logo img {
	max-height: 34px;
	max-width: 150px;
	object-fit: contain;
}

body.avl-dash .avl-topbar__divider {
	width: 1px;
	height: 24px;
	background: rgba(255,255,255,.16);
}

body.avl-dash .avl-topbar__context {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: rgba(255,255,255,.46);
	white-space: nowrap;
}

body.avl-dash .avl-topbar__back,
body.avl-dash .avl-topbar__favorites {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 12px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: rgba(255,255,255,.66);
	font-size: 13px;
	font-weight: 560;
	text-decoration: none;
}

body.avl-dash .avl-topbar__back {
	margin-left: 8px;
}

body.avl-dash .avl-topbar__back svg,
body.avl-dash .avl-topbar__favorites svg {
	width: 16px;
	height: 16px;
}

body.avl-dash .avl-topbar__back:hover,
body.avl-dash .avl-topbar__favorites:hover {
	background: rgba(255,255,255,.06);
	color: #fff;
}

body.avl-dash .avl-topbar__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

body.avl-dash .avl-topbar__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 10px;
	background: var(--avl-gold);
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(var(--avl-accent-rgb), .15);
	transition: transform .16s var(--avl-ease), filter .16s var(--avl-ease);
}

body.avl-dash .avl-topbar__cta:hover {
	filter: brightness(.96);
	transform: translateY(-1px);
}

body.avl-dash .avl-topbar__cta svg {
	width: 16px;
	height: 16px;
}

body.avl-dash .avl-topbar__user {
	gap: 9px;
	margin-left: 2px;
	padding-left: 12px;
	border-left: 1px solid rgba(255,255,255,.12);
}

body.avl-dash .avl-topbar__avatar {
	width: 34px;
	height: 34px;
	background: rgba(255,255,255,.1);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
	color: #fff;
}

body.avl-dash .avl-topbar__username {
	color: rgba(255,255,255,.82);
	font-size: 13.5px;
}

body.avl-dash .avl-topbar__logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 9px;
	color: rgba(255,255,255,.46);
}

body.avl-dash .avl-topbar__logout svg {
	width: 16px;
	height: 16px;
}

body.avl-dash .avl-topbar__logout:hover {
	background: rgba(255,255,255,.06);
	color: #fff;
}

/* --- En-tête de page ---------------------------------------------------- */
body.avl-dash .dashboard-page-head {
	align-items: flex-end;
	padding: 8px 0 24px;
	margin-bottom: 28px;
	border-bottom: 1px solid rgba(21,40,61,.09);
}

body.avl-dash .dashboard-page-title,
body.avl-dash .dashboard-page-head h1,
body.avl-dash .dashboard-page-head h2 {
	font-size: clamp(28px, 2.4vw, 38px);
	font-weight: 680;
	letter-spacing: -.045em;
	line-height: 1.05;
}

body.avl-dash .dashboard-page-head .rh-user-account {
	display: none !important;
}

/* --- Stats : plus éditoriales, moins SaaS ------------------------------- */
body.avl-dash.avl-stats-unified .dashboard-small-widgets > .row,
body.avl-dash.avl-stats-cards .dashboard-small-widgets > .row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
	gap: 12px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

body.avl-dash.avl-stats-unified .dashboard-small-widgets .widget-small,
body.avl-dash.avl-stats-cards .dashboard-small-widgets .widget-small {
	padding: 23px 24px;
	border: 1px solid rgba(21,40,61,.075);
	border-radius: 17px;
	background: rgba(255,255,255,.91);
	box-shadow: var(--avl-shadow-sm);
}

body.avl-dash .dashboard-small-widgets > .row > [class*="col-"]:first-child .widget-small {
	background: linear-gradient(145deg, var(--avl-navy) 0%, #1d3651 100%);
	border-color: transparent;
	box-shadow: 0 18px 40px -25px rgba(9,25,41,.62);
}

body.avl-dash .dashboard-small-widgets > .row > [class*="col-"]:first-child .widget-body p,
body.avl-dash .dashboard-small-widgets > .row > [class*="col-"]:first-child .widget-body h4,
body.avl-dash .dashboard-small-widgets > .row > [class*="col-"]:first-child .widget-small > i {
	color: #fff !important;
}

body.avl-dash .dashboard-small-widgets > .row > [class*="col-"]:first-child .widget-body h4,
body.avl-dash .dashboard-small-widgets > .row > [class*="col-"]:first-child .widget-small > i {
	opacity: .6;
}

body.avl-dash .dashboard-small-widgets .widget-body p {
	font-size: 30px;
	font-weight: 760;
}

/* --- Listes / cartes du dashboard pro ---------------------------------- */
body.avl-dash .post-column-wrap,
body.avl-dash .dashboard-posts-users-list,
body.avl-dash .fav-list-wrap,
body.avl-dash .search-item-wrap,
body.avl-dash .rvr-booking-details,
body.avl-dash .rvr-invoice-details-wrapper,
body.avl-dash .dashboard-large-widgets .widget-common,
body.avl-dash .reports-wrapper {
	border: 1px solid rgba(21,40,61,.075);
	border-radius: 18px;
	box-shadow: var(--avl-shadow-sm);
}

body.avl-dash .post-column-wrap:hover,
body.avl-dash .search-item-wrap:hover {
	border-color: rgba(21,40,61,.14);
	box-shadow: var(--avl-shadow-md);
}

/* --- Champs ------------------------------------------------------------- */
body.avl-dash #dashboard input[type="text"],
body.avl-dash #dashboard input[type="email"],
body.avl-dash #dashboard input[type="url"],
body.avl-dash #dashboard input[type="tel"],
body.avl-dash #dashboard input[type="number"],
body.avl-dash #dashboard input[type="password"],
body.avl-dash #dashboard input[type="search"],
body.avl-dash #dashboard input[type="date"],
body.avl-dash #dashboard select,
body.avl-dash #dashboard .bootstrap-select > .btn,
body.avl-dash #dashboard .form-control {
	min-height: 50px;
	padding: 12px 15px;
	border-radius: 12px;
	border-color: #dfe3e4;
	background: #fff;
	font-size: 14px;
}

body.avl-dash #dashboard textarea {
	padding: 14px 15px;
	border-radius: 12px;
	border-color: #dfe3e4;
}

body.avl-dash #dashboard input:focus,
body.avl-dash #dashboard select:focus,
body.avl-dash #dashboard textarea:focus,
body.avl-dash #dashboard .form-control:focus,
body.avl-dash #dashboard .bootstrap-select.open > .btn {
	border-color: rgba(var(--avl-accent-rgb), .82);
	box-shadow: 0 0 0 4px rgba(var(--avl-accent-rgb), .12);
}

/* Boutons principaux : bleu agence, or pour les accents. */
body.avl-dash #dashboard .btn,
body.avl-dash #dashboard .real-btn,
body.avl-dash #dashboard button[type="submit"],
body.avl-dash .avl-btn--primary {
	background: var(--avl-navy);
	border-color: var(--avl-navy);
	color: #fff;
	box-shadow: 0 10px 22px -16px rgba(20,38,59,.85);
}

body.avl-dash #dashboard .btn:hover,
body.avl-dash #dashboard .real-btn:hover,
body.avl-dash #dashboard button[type="submit"]:hover,
body.avl-dash .avl-btn--primary:hover {
	background: #0f2032;
	border-color: #0f2032;
	color: #fff;
}

/* --- Favoris : rendu éditorial ----------------------------------------- */
body.avl-dash .avl-summary {
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 0;
	margin-bottom: 24px;
	background: rgba(var(--avl-accent-rgb), .075);
	border: 1px solid rgba(var(--avl-accent-rgb), .16);
	border-radius: 17px;
	box-shadow: none;
}

body.avl-dash .avl-summary__item {
	position: relative;
	padding: 18px 22px;
	background: transparent;
}

body.avl-dash .avl-summary__item + .avl-summary__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	bottom: 20%;
	width: 1px;
	background: rgba(var(--avl-accent-rgb), .18);
}

body.avl-dash .avl-summary__value {
	font-size: 23px;
	font-weight: 720;
	color: var(--avl-ink) !important;
}

body.avl-dash .avl-summary__label {
	font-size: 12.5px;
	color: #73808a;
}

body.avl-dash .avl-toolbar {
	margin-bottom: 16px;
	padding: 0 2px;
}

body.avl-dash .avl-toolbar__sort select {
	min-height: 40px !important;
	padding: 8px 34px 8px 13px !important;
	border-radius: 10px;
	background: #fff;
}

body.avl-dash .avl-grid {
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 22px;
}

body.avl-dash .avl-card {
	border: 1px solid rgba(21,40,61,.08);
	border-radius: 20px;
	box-shadow: var(--avl-shadow-sm);
	background: #fff;
}

body.avl-dash .avl-card:hover {
	border-color: rgba(21,40,61,.14);
	box-shadow: var(--avl-shadow-md);
	transform: translateY(-2px);
}

body.avl-dash .avl-card__media {
	aspect-ratio: 16 / 10;
}

body.avl-dash .avl-card__status {
	top: 14px;
	left: 14px;
	padding: 6px 10px;
	background: rgba(20,38,59,.86);
	backdrop-filter: blur(8px);
	color: #fff;
	box-shadow: none;
	font-size: 11px;
}

body.avl-dash .avl-card__remove {
	top: 13px;
	right: 13px;
	width: 38px;
	height: 38px;
	background: rgba(255,255,255,.9);
	color: #9f3841;
	box-shadow: 0 6px 18px rgba(15,32,50,.13);
	backdrop-filter: blur(8px);
}

body.avl-dash .avl-card__body {
	gap: 8px;
	padding: 21px 22px 22px;
}

body.avl-dash .avl-card__price {
	font-size: 24px;
	font-weight: 760;
	color: var(--avl-ink);
}

body.avl-dash .avl-card__title {
	font-size: 17px;
	font-weight: 640;
	line-height: 1.3;
}

body.avl-dash .avl-card__place {
	font-size: 13px;
}

body.avl-dash .avl-card__specs {
	gap: 7px;
	padding-top: 13px;
	font-size: 12.5px;
}

body.avl-dash .avl-card__specs li {
	padding: 5px 9px !important;
	border-radius: 999px;
	background: #f3f5f4;
	color: #53616c;
}

body.avl-dash .avl-card__specs li + li::before {
	content: none;
}

body.avl-dash .avl-card__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	align-self: flex-start;
	padding-top: 10px;
	color: var(--avl-ink);
	font-size: 13.5px;
}

body.avl-dash .avl-card__link::after {
	content: "↗";
	font-size: 13px;
	color: var(--avl-gold);
}

body.avl-dash .avl-card__link:hover {
	color: var(--avl-gold);
	text-decoration: none;
}

/* --- Ajouter / modifier un bien : V3.1, structure RealHomes préservée --- */
/*
 * Important : on ne change plus la structure du wizard RealHomes.
 * Le JS du thème génère et pilote #dashboard-tabs-nav / .dashboard-tab-content.
 * On ne fait ici qu'un habillage visuel afin de conserver uploads, carte,
 * validation, champs conditionnels et navigation native.
 */
body.avl-dash #submit-property-form.submit-property-form-wizard {
	display: block !important;
	width: 100%;
	max-width: none;
	padding-bottom: 8px;
}

body.avl-dash #dashboard-tabs {
	display: block;
	width: 100%;
	min-width: 0;
}

body.avl-dash #dashboard-tabs-nav {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 5px;
	width: 100%;
	margin: 0 0 22px;
	padding: 6px;
	border: 1px solid rgba(21,40,61,.09);
	border-radius: 15px;
	background: #fff;
	box-shadow: var(--avl-shadow-sm);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}

body.avl-dash #dashboard-tabs-nav::-webkit-scrollbar {
	display: none;
}

body.avl-dash #dashboard-tabs-nav li {
	flex: 1 0 auto;
	min-width: max-content;
	margin: 0;
	padding: 10px 13px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #7b858e;
	font-size: 13px;
	font-weight: 620;
	line-height: 1.25;
	white-space: nowrap;
	text-align: center;
}

body.avl-dash #dashboard-tabs-nav li::before {
	width: 22px;
	height: 22px;
	font-size: 11.5px;
}

body.avl-dash #dashboard-tabs-nav li:hover {
	background: #f5f6f5;
	color: var(--avl-ink);
}

body.avl-dash #dashboard-tabs-nav li.current {
	background: var(--avl-navy);
	color: #fff;
	box-shadow: 0 7px 16px -12px rgba(20,38,59,.75);
}

body.avl-dash #dashboard-tabs-nav li.current::before {
	background: var(--avl-gold);
	color: #fff;
}

body.avl-dash #dashboard-tabs-nav li.error {
	color: #a72c34;
}

body.avl-dash .dashboard-tabs-contents {
	display: block;
	width: 100%;
	min-width: 0;
	padding: 0 0 1px !important;
}

/* Ne jamais forcer les états d'affichage autres que ceux pilotés par RealHomes. */
body.avl-dash .submit-property-form-wizard .dashboard-tab-content.current-tab-content {
	display: block;
	width: 100%;
	height: auto;
	opacity: 1;
	visibility: visible;
	overflow: visible;
}

body.avl-dash .dashboard-tab-content {
	width: 100%;
	min-width: 0;
	padding: 30px 32px 32px;
	border: 1px solid rgba(21,40,61,.08);
	border-radius: 18px;
	background: rgba(255,255,255,.98);
	box-shadow: var(--avl-shadow-sm);
}

body.avl-dash .dashboard-tab-content > h3,
body.avl-dash .dashboard-tab-content > h4,
body.avl-dash .submit-property-form h3 {
	margin: 0 0 24px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(21,40,61,.075);
	font-size: 20px;
	font-weight: 680;
	letter-spacing: -.03em;
}

body.avl-dash .submit-property-form .inspiry-field {
	margin-bottom: 22px;
}

body.avl-dash .submit-property-form label {
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 650;
	color: #24384a;
}

/* Les composants complexes RealHomes gardent leur positionnement interne. */
body.avl-dash .submit-property-form .address-map-fields-wrapper,
body.avl-dash .submit-property-form .property-gallery-images,
body.avl-dash .submit-property-form .property-slider-image,
body.avl-dash .submit-property-form .property-attachments-container,
body.avl-dash .submit-property-form .inspiry-repeater-wrapper {
	max-width: 100%;
}

body.avl-dash .inspiry-file-input-wrapper {
	padding: 30px 22px;
	border: 1px dashed #cbd2d4;
	border-radius: 15px;
	background: linear-gradient(180deg, #fff, #f8f9f8);
}

body.avl-dash .inspiry-file-input-wrapper:hover {
	border-color: var(--avl-gold);
	background: rgba(var(--avl-accent-rgb), .04);
}

body.avl-dash .gallery-thumb,
body.avl-dash .slider-thumb,
body.avl-dash .attachment-thumb {
	border-radius: 12px;
	border-color: rgba(21,40,61,.08);
}

/* Barre native RealHomes : on ne change pas son modèle de positionnement. */
body.avl-dash .submit-property-form .inspiry-btn-group,
body.avl-dash .dashboard-form-actions {
	box-sizing: border-box;
	background: rgba(255,255,255,.94);
	border-top-color: rgba(21,40,61,.09);
	backdrop-filter: blur(14px) saturate(130%);
}

body.avl-dash .submit-property-form #previous,
body.avl-dash .submit-property-form #save-as-draft,
body.avl-dash .submit-property-form .draft-btn {
	background: #fff !important;
	border-color: #dce1e2 !important;
	color: #4f5e6a !important;
	box-shadow: none !important;
}

body.avl-dash .submit-property-form #next,
body.avl-dash .submit-property-form #submit-property-button,
body.avl-dash .submit-property-form #update-property-button {
	min-height: 44px;
	border-radius: 10px;
	background: var(--avl-navy) !important;
	border-color: var(--avl-navy) !important;
	box-shadow: 0 12px 24px -18px rgba(20,38,59,.85) !important;
}

@media (max-width: 767px) {
	body.avl-dash #dashboard-tabs-nav {
		flex-direction: row !important;
		padding: 5px;
		border-radius: 13px;
	}

	body.avl-dash #dashboard-tabs-nav li {
		padding: 9px 11px;
		font-size: 12.5px;
	}

	body.avl-dash .dashboard-tab-content {
		padding: 22px 18px 24px;
		border-radius: 15px;
	}
}

/* --- Connexion / compte ------------------------------------------------- */
body.avl-dash .avl-signin,
body.avl-dash .avl-panel {
	border-radius: 18px;
	border-color: rgba(21,40,61,.08);
	box-shadow: var(--avl-shadow-sm);
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 1099px) {
	body.avl-dash #dashboard-content {
		padding: 24px 26px 40px;
	}

	body.avl-dash .avl-topbar {
		margin: -24px -26px 28px;
		padding: 0 26px;
	}

	body.avl-dash #dashboard-tabs-nav {
		border-radius: 14px;
	}
}

@media (max-width: 850px) {
	body.avl-dash .avl-grid {
		grid-template-columns: 1fr;
	}

	body.avl-dash .avl-summary {
		grid-template-columns: 1fr 1fr;
	}

	body.avl-dash .avl-summary__item:nth-child(3)::before {
		content: none;
	}

	body.avl-dash .avl-topbar__context,
	body.avl-dash .avl-topbar__username {
		display: none;
	}
}

@media (max-width: 600px) {
	body.avl-dash #dashboard-content {
		padding: 18px 16px 32px;
	}

	body.avl-dash .avl-topbar {
		margin: -18px -16px 24px;
		padding: 0 16px;
	}

	body.avl-dash .avl-topbar__inner {
		min-height: 62px;
		gap: 8px;
	}

	body.avl-dash .avl-topbar__back {
		display: none;
	}

	body.avl-dash .avl-topbar__cta span,
	body.avl-dash .avl-topbar__favorites span {
		display: none;
	}

	body.avl-dash .avl-topbar__cta,
	body.avl-dash .avl-topbar__favorites {
		width: 36px;
		height: 36px;
		padding: 0;
		justify-content: center;
	}

	body.avl-dash .avl-topbar__user {
		padding-left: 8px;
	}

	body.avl-dash .avl-topbar__logout {
		display: none;
	}

	body.avl-dash .dashboard-page-head {
		padding-top: 2px;
		margin-bottom: 22px;
	}

	body.avl-dash .dashboard-page-title,
	body.avl-dash .dashboard-page-head h1,
	body.avl-dash .dashboard-page-head h2 {
		font-size: 29px;
	}

	body.avl-dash .avl-summary {
		grid-template-columns: 1fr 1fr;
	}

	body.avl-dash .avl-summary__item {
		padding: 15px 16px;
	}

	body.avl-dash .avl-summary__item + .avl-summary__item::before {
		top: 18%;
		bottom: 18%;
	}

	body.avl-dash .avl-card {
		border-radius: 17px;
	}

	body.avl-dash .avl-card__body {
		padding: 18px;
	}

	body.avl-dash .avl-card__price {
		font-size: 22px;
	}

	body.avl-dash .submit-property-form .inspiry-btn-group {
		margin-left: -16px;
		margin-right: -16px;
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* =========================================================================
   24. Correctifs V3.1 — header global + compatibilité RealHomes
   ========================================================================= */

/* Le header AVL est désormais un vrai bandeau global, indépendant de la
   largeur de #dashboard-content et de la sidebar. */
body.avl-dash .avl-topbar {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 10050 !important;
	width: 100vw !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 32px !important;
	background: #14263b !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: 0 8px 30px rgba(10,24,39,.10) !important;
	box-sizing: border-box !important;
}

body.avl-dash .avl-topbar__inner {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Réserve la hauteur du header sans modifier les largeurs natives du thème. */
body.avl-dash #dashboard {
	padding-top: 72px !important;
	box-sizing: border-box;
}

/* Le contenu retrouve une marge intérieure normale : plus de marges négatives
   utilisées auparavant pour simuler un header pleine largeur. */
body.avl-dash #dashboard-content {
	padding-top: 30px;
}

/* Le logo est maintenant dans le header pleine largeur : pas de doublon dans
   la sidebar. */
body.avl-dash #dashboard-sidebar .rh-logo {
	display: none !important;
}

@media (min-width: 1200px) {
	body.avl-dash #dashboard-sidebar {
		top: 72px !important;
		height: calc(100vh - 72px) !important;
		max-height: calc(100vh - 72px) !important;
		padding-top: 18px;
		box-sizing: border-box;
	}

	body.avl-app.avl-app-layout #dashboard-sidebar {
		top: 72px !important;
		max-height: calc(100vh - 72px) !important;
	}
}

/* La barre d'actions native RealHomes passe au-dessus du contenu, mais sous le
   header AVL. On conserve sa largeur calculée par le thème. */
body.avl-dash .dashboard-form-actions {
	z-index: 1000;
}

@media (max-width: 1099px) {
	body.avl-dash .avl-topbar {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	body.avl-dash #dashboard {
		padding-top: 66px !important;
	}

	body.avl-dash .avl-topbar__inner {
		min-height: 66px !important;
	}

	body.avl-dash #dashboard-content {
		padding-top: 24px;
	}
}

@media (max-width: 600px) {
	body.avl-dash .avl-topbar {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	body.avl-dash #dashboard {
		padding-top: 62px !important;
	}

	body.avl-dash .avl-topbar__inner {
		min-height: 62px !important;
	}

	body.avl-dash #dashboard-content {
		padding-top: 18px;
	}
}

