/* Global mobile-friendly overrides — applies to all pages via head.php */

html, body { -webkit-text-size-adjust: 100%; }

@media (max-width: 991.98px) {
	body { overflow-x: hidden; }

	.container, .container-fluid, .container-xxl, .container-xl, .container-lg {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.card { border-radius: .75rem; }
	.card-header { flex-wrap: wrap; padding: .85rem 1rem; min-height: auto; }
	.card-body { padding: 1rem; }
	.card-toolbar { flex-wrap: wrap; gap: .4rem; width: 100%; margin-top: .4rem; }
	.card-title { flex-wrap: wrap; }

	h1 { font-size: 1.5rem; }
	h2 { font-size: 1.3rem; }
	h3 { font-size: 1.15rem; }
	.fs-1 { font-size: 1.35rem !important; }
	.fs-2 { font-size: 1.2rem !important; }
	.fs-2hx { font-size: 1.8rem !important; }
	.fs-3x, .fs-4x, .fs-5x { font-size: 2rem !important; }

	/* Tables: horizontal scroll instead of overflow */
	.table-responsive, .dataTables_wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	table.dataTable, .table { min-width: 100%; }
	.dataTables_wrapper .dataTables_length,
	.dataTables_wrapper .dataTables_filter,
	.dataTables_wrapper .dataTables_info,
	.dataTables_wrapper .dataTables_paginate {
		float: none !important;
		text-align: left !important;
		width: 100%;
		margin-top: .5rem;
	}
	.dataTables_wrapper .dataTables_filter input { width: 100%; margin-left: 0; }

	/* Form groups: stack labels/inputs */
	.row.mb-6 > .col-lg-4, .row.mb-6 > .col-lg-8,
	.row.mb-4 > .col-lg-4, .row.mb-4 > .col-lg-8 { width: 100%; }
	.col-form-label { padding-bottom: .35rem; }
	.form-control, .form-select { font-size: 16px; } /* prevents iOS zoom on focus */

	/* Buttons: full width when in a stacked card-toolbar */
	.card-toolbar .btn { flex: 1 1 auto; }
	.btn-group-mobile-block .btn { width: 100%; margin: .2rem 0; }

	/* Modals: take full viewport on small screens */
	.modal-dialog { margin: .5rem; max-width: calc(100% - 1rem); }
	.modal-dialog.modal-lg, .modal-dialog.modal-xl { max-width: calc(100% - 1rem); }
	.modal-body { padding: 1rem; }
	.modal-header, .modal-footer { padding: .75rem 1rem; flex-wrap: wrap; gap: .4rem; }

	/* SweetAlert */
	.swal2-popup { width: 92% !important; font-size: .95rem; }

	/* Header / toolbar */
	.toolbar .container-fluid,
	.toolbar .container-xxl { flex-direction: column; align-items: stretch !important; gap: .5rem; }
	.page-title { margin-bottom: .25rem !important; }

	/* Aside menu (sidebar) — drawer behaviour */
	.aside { width: 265px; }

	/* Kanban: columns stack */
	.non-treated-kanban-board,
	.kanban-container,
	.kt_kanban_board { flex-direction: column !important; }
	.non-treated-kanban-column,
	.kanban-column { width: 100% !important; min-width: 0 !important; margin-bottom: .75rem; }

	/* Draggable cards: disable native touch scroll to let polyfill handle drag */
	[draggable="true"] { touch-action: none; -webkit-user-select: none; user-select: none; }

	/* FullCalendar */
	.fc-toolbar.fc-header-toolbar { flex-direction: column; gap: .4rem; }
	.fc-toolbar-chunk { display: flex; justify-content: center; }
	.fc .fc-toolbar-title { font-size: 1.1rem; }

	/* Select2 full width */
	.select2-container { width: 100% !important; }

	/* Tabs scrollable */
	.nav-tabs, .nav-pills { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.nav-tabs .nav-item, .nav-pills .nav-item { flex: 0 0 auto; }

	/* Prevent images / iframes overflow */
	img, iframe, video { max-width: 100%; height: auto; }

	/* Stat tiles / dashboard cards */
	[class*="col-xl-"], [class*="col-lg-"] { margin-bottom: .5rem; }
}

@media (max-width: 575.98px) {
	.card-header { padding: .7rem .85rem; }
	.card-body { padding: .85rem; }
	.modal-dialog { margin: 0; max-width: 100%; min-height: 100%; }
	.modal-content { min-height: 100vh; border-radius: 0; }
	.btn { padding: .55rem .85rem; }
	.card-title { font-size: 1rem; }
}
