@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
	--ink: #202a35;
	--muted: #647181;
	--wine: #8d1f3d;
	--wine-dark: #68162e;
	--gold: #d4a65a;
	--paper: #f5f3ef;
	--line: #e5e2dc;
	--white: #fff;
}

* { box-sizing: border-box; }
body {
	margin: 0;
	min-height: 100vh;
	color: var(--ink);
	font-family: 'DM Sans', sans-serif;
	background: radial-gradient(ellipse at 90% 0%, rgba(212,166,90,.14), transparent 30%), var(--paper);
	line-height: 1.6;
}
body::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 7px;
	background: linear-gradient(90deg, var(--wine) 0 72%, var(--gold) 72%);
}
.container { max-width: 940px; padding: 38px 24px 64px; }
.site-header {
	display: flex;
	align-items: center;
	gap: 26px;
	margin: 8px 0 34px;
	padding: 8px 0 26px;
	border-bottom: 1px solid var(--line);
	text-align: left;
}
/* MODIFICA: Raddoppiata la larghezza da 190px a 380px */
.brand-mark { flex: 0 0 380px; display: flex; align-items: center; }
.brand-mark img { display: block; width: 100%; height: auto; }
.brand-copy { border-left: 1px solid var(--line); padding-left: 26px; }
.brand-copy .eyebrow { color: var(--wine); text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; font-weight: 700; }
.brand-copy h1 { margin: 4px 0 2px; font: 800 clamp(1.55rem, 3vw, 2.15rem)/1.2 'Manrope', sans-serif; letter-spacing: -.045em; }
.brand-copy p { margin: 0; color: var(--muted); font-size: .95rem; }
.card {
	border: 1px solid var(--line) !important;
	border-radius: 16px !important;
	box-shadow: 0 18px 48px rgba(35, 39, 44, .08) !important;
	background: var(--white) !important;
	overflow: hidden;
}
.card-header { padding: 17px 24px; text-align: left; background: #fff !important; border-bottom: 1px solid var(--line) !important; color: var(--ink); }
.card-header b { font: 700 1rem 'Manrope', sans-serif; }
.card-body { padding: 28px; }
form { max-width: 100% !important; }
input.form-control, select.form-control, textarea.form-control {
	min-height: 48px;
	margin-bottom: 12px;
	padding: 11px 14px;
	border: 1px solid #d9dce0;
	border-radius: 8px;
	color: var(--ink);
	font-size: .96rem;
	transition: border-color .18s, box-shadow .18s;
}
textarea.form-control { min-height: 100px; }
.form-control:focus { border-color: var(--wine); box-shadow: 0 0 0 3px rgba(141,31,61,.12); }
input[readonly] { background: #f7f6f3 !important; color: var(--muted); }
.btn { min-height: 45px; padding: 10px 18px; border-radius: 8px; font-weight: 700; transition: transform .18s, background .18s, box-shadow .18s; }
.btn:hover { transform: translateY(-1px); }
.btn-outline-dark, .btn-secondary { color: #fff !important; background: var(--wine) !important; border-color: var(--wine) !important; }
.btn-outline-dark:hover, .btn-secondary:hover { background: var(--wine-dark) !important; border-color: var(--wine-dark) !important; box-shadow: 0 7px 18px rgba(141,31,61,.18); }
#cancella { color: var(--wine) !important; background: #fff !important; }
#cancella:hover { background: #fbf4f5 !important; }
.alert { border-radius: 9px; }
.modal-content { overflow: hidden; border: 0; border-radius: 14px; box-shadow: 0 24px 80px rgba(0,0,0,.2); }
.modal-header { color: var(--ink); background: #f7f5f1; border-bottom: 1px solid var(--line); }
.modal-red { color: #fff !important; background: var(--wine) !important; }
.modal-green { color: #fff !important; background: #376e57 !important; }
.modal-footer form { width: 100%; }
.modal-footer .btn { white-space: normal; }
#elencorichieste_wrapper { margin: 20px auto 56px; padding: 0 24px; max-width: 1360px; }
#elencorichieste { background: #fff; border-collapse: separate !important; border-spacing: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 36px rgba(35,39,44,.07); }
#elencorichieste thead th { padding: 14px 12px; color: #fff; background: var(--wine); border-bottom: 0; font-weight: 700; }
#elencorichieste tbody td, #elencorichieste tbody th { padding: 13px 12px; border-top: 1px solid #eee; font-weight: 400; }
#elencorichieste tbody tr:hover { background: #fbf7f5; }
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select { border: 1px solid #d9dce0; border-radius: 6px; padding: 6px 9px; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current { border: 1px solid var(--wine) !important; border-radius: 6px; color: #fff !important; background: var(--wine) !important; }
.spinner-border { color: var(--wine); }

@media (max-width: 600px) {
	.container { padding: 28px 16px 44px; }
	.site-header { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 24px; padding-bottom: 20px; }
	/* MODIFICA MOBILE: Corretta la dimensione a 100% per adattarsi allo schermo ed evitare il refuso 1900px */
	.brand-mark { flex-basis: auto; width: 100%; max-width: 380px; }
	.brand-copy { border-left: 0; border-top: 1px solid var(--line); padding: 16px 0 0; }
	.brand-copy p { font-size: .88rem; }
	.card-body { padding: 20px 16px; }
	.card-header { padding: 15px 16px; }
	#elencorichieste_wrapper { padding: 0 12px; overflow-x: auto; }
	.dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_length { float: none !important; text-align: left !important; margin-bottom: 12px; }
	.modal-dialog { margin: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}