@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* ============================================================
   WEDELY MODERN THEME 2026
   Override layer — solo contenuto, NO header/sidebar/page-header
   ============================================================ */

:root {
	--w-radius: 12px;
	--w-radius-sm: 8px;
	--w-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
	--w-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
	--w-shadow-lg: 0 8px 24px rgba(0,0,0,0.1);
	--w-transition: all 0.2s ease;

	/* Modern color palette */
	--w-primary: #E63C2F;
	--w-secondary: #6366F1;
	--w-tertiary: #0EA5E9;
	--w-quaternary: #8B5CF6;
	--w-success: #10B981;
	--w-warning: #F59E0B;
	--w-danger: #EF4444;
	--w-info: #3B82F6;
	--w-dark: #1E293B;
	--w-default: #F1F5F9;
}

/* ---- FONT ---- */
body,
.content-body,
.content-body .form-control,
.content-body .btn,
.content-body .dropdown-menu > li > a {
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ---- COLORS ---- */

/* Backgrounds */
.bg-secondary { background: var(--w-secondary) !important; }
.bg-tertiary { background: var(--w-tertiary) !important; }
.bg-quartenary { background: var(--w-quaternary) !important; }
.bg-success { background: var(--w-success) !important; }
.bg-warning { background: var(--w-warning) !important; }
.bg-danger { background: var(--w-danger) !important; }
.bg-info { background: var(--w-info) !important; }
.bg-dark { background: var(--w-dark) !important; }
.bg-default { background: var(--w-default) !important; color: #475569 !important; }

/* Buttons */
.btn-secondary { background: var(--w-secondary) !important; border-color: var(--w-secondary) !important; }
.btn-secondary:hover, .btn-secondary:focus { background: #4F46E5 !important; border-color: #4F46E5 !important; }

.btn-tertiary { background: var(--w-tertiary) !important; border-color: var(--w-tertiary) !important; }
.btn-tertiary:hover, .btn-tertiary:focus { background: #0284C7 !important; border-color: #0284C7 !important; }

.btn-success { background: var(--w-success) !important; border-color: var(--w-success) !important; }
.btn-success:hover, .btn-success:focus { background: #059669 !important; border-color: #059669 !important; }

.btn-warning { background: var(--w-warning) !important; border-color: var(--w-warning) !important; }
.btn-warning:hover, .btn-warning:focus { background: #D97706 !important; border-color: #D97706 !important; }

.btn-danger { background: var(--w-danger) !important; border-color: var(--w-danger) !important; }
.btn-danger:hover, .btn-danger:focus { background: #DC2626 !important; border-color: #DC2626 !important; }

.btn-info { background: var(--w-info) !important; border-color: var(--w-info) !important; }
.btn-info:hover, .btn-info:focus { background: #2563EB !important; border-color: #2563EB !important; }

.btn-dark { background: var(--w-dark) !important; border-color: var(--w-dark) !important; }
.btn-dark:hover, .btn-dark:focus { background: #0F172A !important; border-color: #0F172A !important; }

/* Labels */
.label-secondary { background: var(--w-secondary) !important; }
.label-tertiary { background: var(--w-tertiary) !important; }
.label-quartenary { background: var(--w-quaternary) !important; }
.label-success { background: var(--w-success) !important; }
.label-warning { background: var(--w-warning) !important; }
.label-danger { background: var(--w-danger) !important; }
.label-info { background: var(--w-info) !important; }
.label-dark { background: var(--w-dark) !important; }

/* Panel featured borders */
.panel-featured-secondary { border-color: var(--w-secondary) !important; }
.panel-featured-tertiary { border-color: var(--w-tertiary) !important; }
.panel-featured-quartenary { border-color: var(--w-quaternary) !important; }
.panel-featured-success { border-color: var(--w-success) !important; }
.panel-featured-warning { border-color: var(--w-warning) !important; }
.panel-featured-danger { border-color: var(--w-danger) !important; }
.panel-featured-info { border-color: var(--w-info) !important; }
.panel-featured-dark { border-color: var(--w-dark) !important; }

/* Text colors */
.text-secondary { color: var(--w-secondary) !important; }
.text-tertiary { color: var(--w-tertiary) !important; }
.text-quartenary { color: var(--w-quaternary) !important; }
.text-success { color: var(--w-success) !important; }
.text-warning { color: var(--w-warning) !important; }
.text-danger { color: var(--w-danger) !important; }
.text-info { color: var(--w-info) !important; }
.text-dark { color: var(--w-dark) !important; }

/* Progress bars */
.progress-bar-secondary { background: var(--w-secondary) !important; }
.progress-bar-tertiary { background: var(--w-tertiary) !important; }
.progress-bar-quartenary { background: var(--w-quaternary) !important; }
.progress-bar-success { background: var(--w-success) !important; }
.progress-bar-warning { background: var(--w-warning) !important; }
.progress-bar-danger { background: var(--w-danger) !important; }
.progress-bar-info { background: var(--w-info) !important; }

/* Simple card list */
.simple-card-list li.secondary { background: var(--w-secondary) !important; }
.simple-card-list li.tertiary { background: var(--w-tertiary) !important; }
.simple-card-list li.quartenary { background: var(--w-quaternary) !important; }
.simple-card-list li.success { background: var(--w-success) !important; }
.simple-card-list li.warning { background: var(--w-warning) !important; }
.simple-card-list li.danger { background: var(--w-danger) !important; }
.simple-card-list li.info { background: var(--w-info) !important; }
.simple-card-list li.dark { background: var(--w-dark) !important; }

/* ---- PAGE BACKGROUND (modern gradient) ---- */
body {
	background: radial-gradient(ellipse at center, #f5f6f8 0%, #ecedf2 45%, #e2e4ec 100%) !important;
	background-attachment: fixed !important;
}

/* ---- PANELS / CARDS ---- */
.content-body .panel {
	border-radius: var(--w-radius) !important;
	box-shadow: var(--w-shadow) !important;
	margin-bottom: 24px !important;
	transition: box-shadow 0.2s ease;
}

.content-body .panel:hover {
	box-shadow: var(--w-shadow-md) !important;
}

.content-body .panel-heading {
	padding: 18px 24px !important;
}

.content-body .panel-heading .panel-title {
	font-size: 16px !important;
	font-weight: 600 !important;
}

.content-body .panel-body {
	padding: 24px !important;
}

.content-body .panel-footer {
	padding: 16px 24px !important;
}

.content-body .panel-featured-primary {
	border-radius: var(--w-radius) !important;
}

.content-body .panel-featured-left {
	border-radius: var(--w-radius) !important;
}

/* ---- WIDGET SUMMARY (stat cards) ---- */
.content-body .widget-summary .summary .title {
	font-size: 13px !important;
	font-weight: 500 !important;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.content-body .widget-summary .summary .amount {
	font-size: 22px !important;
	font-weight: 600 !important;
}

.content-body .widget-summary.widget-summary-sm .summary .info {
	line-height: 2.8rem !important;
}

.content-body .widget-summary .summary-icon {
	width: 56px !important;
	height: 56px !important;
	line-height: 56px !important;
	border-radius: 14px !important;
	font-size: 20px !important;
}

/* ---- SORTABLE MENU (sort page) ---- */

/* Flex layout for widget-summary inside sortable containers */
.content-body .ui-sortable .widget-summary {
	display: flex !important;
	align-items: stretch !important;
	position: relative !important;
	touch-action: pan-y !important;
}

/* Icon column: fixed width, min 44px touch target */
.content-body .ui-sortable .widget-summary-col-icon:not(.open-submenu) {
	flex: 0 0 44px !important;
	width: 44px !important;
	position: relative !important;
}

/* Content column: fill remaining space, override inline padding/width */
.content-body .ui-sortable .widget-summary > .widget-summary-col:not(.widget-summary-col-icon) {
	flex: 1 1 auto !important;
	width: auto !important;
	padding-left: 10px !important;
	min-width: 0 !important;
}

/* Drag handle: summary-icon in sortable (categories & dishes) */
.content-body .ui-sortable .widget-summary-col-icon:not(.open-submenu) .summary-icon {
	width: 100% !important;
	height: 100% !important;
	border-radius: 0 !important;
	line-height: normal !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	position: relative !important;
	filter: brightness(0.85);
}

/* Chevron arrow: open-submenu (categories → dishes) */
.content-body .open-submenu {
	top: 0 !important;
	bottom: 0 !important;
}

.content-body .open-submenu .summary-icon {
	width: 40px !important;
	height: 100% !important;
	border-radius: 0 !important;
	line-height: normal !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
}

/* Reset inline margins/heights on all sort icons */
.content-body .ui-sortable .summary-icon > i,
.content-body .open-submenu .summary-icon > i {
	margin: 0 !important;
}

/* Content area: allow buttons to wrap on small screens */
.content-body .ui-sortable .widget-summary .summary {
	overflow: visible !important;
	word-wrap: break-word !important;
}

/* Compact spacing for sortable panels */
.content-body .ui-sortable .panel {
	margin-bottom: 4px !important;
}

/* Respect p-none on sortable panel-body */
.content-body .ui-sortable .panel-body.p-none {
	padding: 0 !important;
}

/* ---- TABLES ---- */
.content-body .table-responsive {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
}

.content-body .table > thead > tr > th {
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 12px 8px !important;
}

.content-body .table > tbody > tr > td {
	padding: 12px 8px !important;
	vertical-align: middle !important;
}

.content-body .table > tbody > tr {
	transition: background-color 0.15s ease;
}

/* ---- BUTTONS (solo nel contenuto) ---- */
.content-body .btn {
	border-radius: var(--w-radius-sm) !important;
	font-weight: 500 !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
	text-shadow: none !important;
	cursor: pointer !important;
}

.content-body .btn-sm {
	padding: 5px 12px !important;
	font-size: 13px !important;
	border-radius: 6px !important;
}

/* ---- FORMS (solo nel contenuto) ---- */
.content-body .form-control {
	border-radius: var(--w-radius-sm) !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	height: auto !important;
	transition: var(--w-transition) !important;
	box-shadow: none !important;
}

/* Input-group: addon on left — rounded left only */
.content-body .input-group .input-group-addon:first-child {
	border-radius: var(--w-radius-sm) 0 0 var(--w-radius-sm) !important;
}

/* Input-group: addon on right — rounded right only */
.content-body .input-group .input-group-addon:last-child {
	border-radius: 0 var(--w-radius-sm) var(--w-radius-sm) 0 !important;
}

/* Input-group: form-control after left addon — rounded right only */
.content-body .input-group .input-group-addon:first-child + .form-control {
	border-radius: 0 var(--w-radius-sm) var(--w-radius-sm) 0 !important;
}

/* Input-group: form-control before right addon — rounded left only */
.content-body .input-group .form-control:first-child {
	border-radius: var(--w-radius-sm) 0 0 var(--w-radius-sm) !important;
}

.content-body .form-group label {
	font-weight: 600 !important;
	font-size: 13px !important;
	margin-bottom: 6px !important;
}

/* ---- ALERTS (solo nel contenuto) ---- */
.content-body .alert {
	border-radius: var(--w-radius-sm) !important;
	padding: 16px 20px !important;
}

/* ---- LABELS (solo nel contenuto) ---- */
.content-body .label {
	border-radius: 6px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

/* ---- PAGINATION ---- */
.content-body .pagination > li > a,
.content-body .pagination > li > span {
	border-radius: var(--w-radius-sm) !important;
	margin: 0 3px !important;
	padding: 8px 14px !important;
	font-size: 14px !important;
}

/* ---- DROPDOWN (solo nel contenuto) ---- */
.content-body .dropdown-menu {
	border-radius: var(--w-radius-sm) !important;
	box-shadow: var(--w-shadow-lg) !important;
	padding: 6px !important;
}

.content-body .dropdown-menu > li > a {
	padding: 9px 16px !important;
	font-size: 14px !important;
	border-radius: 6px !important;
}

/* ---- MODAL ---- */
.modal-content {
	border-radius: var(--w-radius) !important;
	box-shadow: var(--w-shadow-lg) !important;
	overflow: hidden;
}

.modal-header {
	padding: 20px 24px !important;
}

.modal-body {
	padding: 24px !important;
}

.modal-footer {
	padding: 16px 24px !important;
}

/* ---- TABS (solo nel contenuto) ---- */
.content-body .nav-tabs > li > a {
	font-size: 14px !important;
	font-weight: 500 !important;
	padding: 10px 20px !important;
}

.content-body .nav-tabs > li.active > a {
	font-weight: 600 !important;
}

/* ---- TOOLTIP ---- */
.tooltip-inner {
	border-radius: 6px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}

/* ---- SCROLLBAR (scoped to content-body to avoid right-edge gap) ---- */
.content-body ::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}

.content-body ::-webkit-scrollbar-track {
	background: rgba(0,0,0,0.04);
	border-radius: 3px;
}

.content-body ::-webkit-scrollbar-thumb {
	background: rgba(0,0,0,0.18);
	border-radius: 3px;
}

.content-body ::-webkit-scrollbar-thumb:hover {
	background: rgba(0,0,0,0.3);
}

/* ---- TOUCH / MOBILE ---- */

/* telefoni portrait */
@media (pointer: coarse) and (hover: none) and (max-width: 767px) and (orientation: portrait) {
	html {
		zoom: 1;
	}

	/* Pannelli più compatti su mobile */
	.content-body .panel-body {
		padding: 12px !important;
	}

	.content-body .panel-heading {
		padding: 12px 16px !important;
	}

	/* Sortable: pulsanti azione più accessibili */
	.content-body .ui-sortable .widget-summary .summary h4 span {
		font-size: 16px !important;
		padding: 4px !important;
		min-width: 32px !important;
		min-height: 32px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
}

/* telefoni landscape */
@media (pointer: coarse) and (hover: none) and (max-width: 767px) and (orientation: landscape) {
	html {
		zoom: 1.3;
	}

	body.login-page {
		zoom: calc(1 / 1.3);
	}
}

/* tablet */
@media (pointer: coarse) and (hover: none) and (min-width: 768px) {
	html {
		zoom: 1.3;
	}

	body.login-page {
		zoom: calc(1 / 1.3);
	}
}

/* ---- PRINT ---- */
@media print {
	.sidebar-left,
	.header,
	.page-header {
		display: none !important;
	}

	.content-body {
		margin: 0 !important;
		padding: 0 !important;
	}
}