/* Force 12px — custom.css est le dernier <link> chargé, son !important écrase Bootstrap */
body {
    font-size: 12px !important;
}

/* Les tableaux héritent du body (sinon le navigateur impose 16px par défaut) */
table, td, th {
    font-size: inherit !important;
}

/* Suppression scroll horizontal sur toutes les tables */
.table-responsive {
    overflow-x: visible !important;
}

@media (max-width:1100px) {
	/* Masquer complètement les cellules vides sur mobile */
    #trash_datatable td:empty, .datatable td:empty {
        display: none !important;
    }
	.invoice-table
	{
		overflow-x:auto;
	}
	.invoice-table table
	{
		min-width:1100px;
	}
}

.invoice-table table tr td
{
	border: 1px solid #ddd!important;
}

.add-line-btn
{
	margin-bottom: 10px;
}
.business-info
{
	min-height: 170px!important;
}

@font-face {
    font-family: gilliehilda;
    src: url(fonts/gillie_hilda/Gillie_Hilda.ttf);
}
.app-name
{
  font-family: gilliehilda;
  text-transform: initial;
  font-size: 1.8em;
  letter-spacing: 1px;
}
.app-name-title
{
  font-family: gilliehilda;
  text-transform: initial;
  font-weight: 100;
  font-size: 1.4em;
  letter-spacing: 1px;
}

.log-info
{
	text-align: center;
	font-weight: bold;
	color: rgb(51,65,78);
}


/* Affichage par cartes dans la liste de factures dans la version mobile*/
@media (max-width: 768px) {
    .table-responsive {
        padding: 0 !important;
    }
	/* Masquer complètement les cellules vides sur mobile */
    #trash_datatable td:empty, .datatable td:empty {
        display: none !important;
    }

    #trash_datatable, #trash_datatable thead, #trash_datatable tbody, .datatable, .datatable thead, .datatable tbody, .datatable th, .datatable td, #trash_datatable tr, .datatable tr {
        display: block !important;
        width: 100% !important;
    }
    #trash_datatable thead tr, .datatable thead tr {
        position: absolute !important;
        top: -9999px; left: -9999px;
    }
    #trash_datatable tr, .datatable tr {
        border: 1px solid #ccc !important;
        border-radius: 8px !important;
        margin-bottom: 15px !important;
        background-color: #fff !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }
    /* 1. Comportement par défaut pour TOUTES les tables (aligné à gauche) */
    #trash_datatable td, .datatable td {
        border: none !important;
        border-bottom: 1px solid #eee !important;
        position: relative !important;
        min-height: 40px;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
        padding: 10px !important;
        overflow-wrap: break-word;
    }

    /* 2. Comportement SPÉCIFIQUE si tu as mis un data-label (Factures) */
    #trash_datatable td[data-label], .datatable td[data-label] {
        padding-left: 40% !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }
    #trash_datatable td:last-child, .datatable td:last-child { border-bottom: 0 !important; }
    #trash_datatable td:before, .datatable td:before {
        content: attr(data-label);
        position: absolute; left: 10px; width: 35%;
        text-align: left; font-weight: bold; color: #555;
    }
    #trash_datatable td.actions-cell, .datatable td.actions-cell {
        justify-content: center !important;
        padding-left: 0 !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    #trash_datatable td.actions-cell:before, .datatable td.actions-cell:before {
        display: none !important;
    }
    #trash_datatable td.actions-cell .btn, .datatable td.actions-cell .btn {
        display: inline-block !important;
        margin: 5px !important;
        padding: 8px 12px !important;
    }

    /* Centrer le badge d'abonnement sur mobile */
    .badge-abonnement {
        float: none !important;
        display: block !important;
        width: max-content !important;
        margin: 10px auto !important;
        clear: both !important;
    }
}

/* Alignement des boutons d'action du header */
.actions-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

/* Retire les marges par défaut gênantes de Bootstrap */
.actions-header .btn,
.actions-header label {
    margin: 0 !important;
}

@media (max-width: 768px) {
    .actions-header {
        float: none !important;
        justify-content: flex-start;
        margin-top: 15px;
        gap: 12px !important;
    }
    .actions-header .btn {
        flex: 1 1 auto;
        text-align: center;
        margin: 5px !important;
        padding: 10px 15px !important;
        font-size: 13px !important;
    }
    .actions-header label.toggle-switch-orange {
        height: 40px !important;
        padding: 0 15px !important;
    }
    .btn-share-mobile {
        display: none !important;
    }
}

/* 1. Masqué partout par défaut */
.btn-share-mobile {
    display: none !important;
}

/* 2. Affiché uniquement sur mobile (doit être placé APRÈS la règle ci-dessus) */
@media (max-width: 768px) {
    .actions-header .btn-share-mobile {
        display: inline-block !important;
    }
}

/* Admin back-office : désactive l'affichage carte sur mobile (besoin de voir en liste) */
@media (max-width: 768px) {
    .admin-body .datatable,
    .admin-body #trash_datatable {
        display: table !important;
        width: 100% !important;
    }
    .admin-body .datatable thead,
    .admin-body #trash_datatable thead,
    .admin-body .datatable tbody,
    .admin-body #trash_datatable tbody {
        display: table-header-group !important;
        width: auto !important;
        position: static !important;
    }
    .admin-body .datatable tbody,
    .admin-body #trash_datatable tbody {
        display: table-row-group !important;
    }
    .admin-body .datatable tr,
    .admin-body #trash_datatable tr {
        display: table-row !important;
        width: auto !important;
        border: none !important;
        border-radius: 0 !important;
        margin-bottom: 0 !important;
        background-color: transparent !important;
        padding: 0 !important;
    }
    .admin-body .datatable thead tr,
    .admin-body #trash_datatable thead tr {
        position: static !important;
        top: auto !important;
        left: auto !important;
    }
    .admin-body .datatable th,
    .admin-body #trash_datatable th,
    .admin-body .datatable td,
    .admin-body #trash_datatable td {
        display: table-cell !important;
        width: auto !important;
        position: static !important;
        border: 1px solid #ddd !important;
        border-radius: 0 !important;
        padding: 8px !important;
        min-height: unset !important;
        flex: unset !important;
        align-items: unset !important;
        justify-content: unset !important;
        text-align: left !important;
        overflow-wrap: normal !important;
    }
    .admin-body .datatable td:before,
    .admin-body #trash_datatable td:before {
        display: none !important;
        content: none !important;
    }
    .admin-body .datatable td:last-child,
    .admin-body #trash_datatable td:last-child {
        border-bottom: 1px solid #ddd !important;
    }
    .admin-body .table-responsive {
        overflow-x: auto !important;
    }
}

/* Corbeille : carte pleine largeur sur mobile */
@media (max-width: 768px) {
    #trash_datatable_wrapper {
        width: 100% !important;
        overflow-x: hidden !important;
    }
    #trash_datatable tr {
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 4px !important;
    }
}

/* Corbeille : wrapper DataTables pleine largeur */
#trash_datatable_wrapper {
    width: 100% !important;
    min-width: 0 !important;
}
#trash_datatable_wrapper .dataTables_scroll {
    width: 100% !important;
}

/* DataTables : info "Afficher X à Y de Z enregistrements" — retour à la ligne sur mobile */
@media (max-width: 768px) {
    .dataTables_info {
        white-space: normal !important;
        word-break: break-word !important;
        font-size: 11px !important;
    }
}
