/*
 * Ambassador - pagine interne nello stile della home: fascia fotografica in alto (js/amb-pagehead.js),
 * schede bianche con ombra che salgono sulla fascia, pulsante principale nero.
 * Attivo solo quando la fascia e' stata creata (body.amb-pagehead).
 * File separato e reversibile: per tornare allo stile precedente togliere da WEB-INF/jsp/skeleton.jsp
 * le righe di ambassador-pages.css e js/amb-pagehead.js.
 */

/* Fascia */
.amb-hero {
	position: relative;
	padding: 10px 0 38px;
	background: #2b2723 center 55% / cover no-repeat;
	color: #fff;
	text-align: left;
}
.amb-hero:before {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background: linear-gradient(90deg, rgba(20, 17, 14, 0.80) 0%, rgba(20, 17, 14, 0.50) 55%, rgba(20, 17, 14, 0.30) 100%);
}
.amb-hero .container {
	position: relative;
}
.amb-hero-kicker {
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}
.amb-hero-kicker .fa {
	margin: 0 8px;
	font-size: 9px;
	opacity: 0.7;
	vertical-align: 1px;
}
.amb-hero h1 {
	margin: 4px 0 2px;
	font-family: Lato, sans-serif;
	font-weight: 300;
	font-size: 30px;
	letter-spacing: 0.5px;
	color: #fff;
	text-align: left;
}
.amb-hero p {
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.85);
}

/* Pagina */
body.amb-pagehead {
	background: #F4F3F1;
}
body.amb-pagehead .news {
	background: transparent;
	padding: 0 0 40px;
}
body.amb-pagehead .amb-page.amb-raised {
	position: relative;
	margin-top: -28px;
}

/* Barra di sezione + scheda = un pannello bianco con ombra */
body.amb-pagehead .amb-section {
	margin: 14px 0 0;
	padding: 11px 24px 9px;
	background: #fff;
	border-bottom: 1px solid #eee;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	clip-path: inset(-30px -30px 0 -30px);
	text-align: left;
	border-left: 3px solid #222;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #222;
}
body.amb-pagehead .amb-page > .amb-section:first-child,
body.amb-pagehead .amb-page > form:first-child > .amb-section:first-child,
body.amb-pagehead .amb-page > .news-top + .amb-section,
body.amb-pagehead .amb-page > .news-top + form > .amb-section:first-child,
body.amb-pagehead .amb-page > form:first-child > .amb-search-toggle {
	margin-top: 0;
}
body.amb-pagehead .amb-section small {
	letter-spacing: 0.5px;
}
body.amb-pagehead .amb-search .amb-search-toggle:after {
	right: 24px;
	color: #999;
}
body.amb-pagehead .amb-card {
	margin-bottom: 14px;
	padding: 14px 24px 16px;
	border: 0;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
body.amb-pagehead .amb-section + .amb-card,
body.amb-pagehead .amb-section + .amb-search-summary + .amb-search-body > .amb-card:first-child,
body.amb-pagehead .amb-section + .amb-search-body > .amb-card:first-child {
	clip-path: inset(0 -30px -30px -30px);
}
body.amb-pagehead .amb-search-summary {
	margin-top: 0;
	border: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	clip-path: inset(0 -30px -30px -30px);
	padding: 10px 24px;
}
body.amb-pagehead .amb-message {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

/* Campi */
body.amb-pagehead .amb-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	color: #333;
}
body.amb-pagehead .amb-req {
	color: #b3261e;
	font-weight: 700;
	margin-left: 2px;
}
body.amb-pagehead .amb-card .form-control {
	height: 38px;
	border-color: #b9b6b0;
	background-color: #fbfaf9;
	color: #111;
	border-radius: 2px;
	box-shadow: none;
}
body.amb-pagehead .amb-card .form-control::placeholder {
	color: #9a968f;
	font-style: italic;
	opacity: 1;
}
body.amb-pagehead .amb-card .form-control[readonly],
body.amb-pagehead .amb-card .form-control[disabled] {
	background-color: #f0eeeb;
	color: #555;
}
body.amb-pagehead .amb-card textarea.form-control {
	height: auto;
}
body.amb-pagehead .amb-card .form-control:focus {
	border-color: #222;
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}
body.amb-pagehead .amb-value input.amb-date {
	height: 38px;
	padding: 6px 12px;
	border: 1px solid #ddd;
	border-radius: 2px;
	text-align: left;
}
body.amb-pagehead .amb-value input.amb-date {
	width: calc(100% - 34px);
	max-width: 220px;
	margin-right: 8px;
	vertical-align: middle;
}
body.amb-pagehead .amb-value .ui-datepicker-trigger {
	width: 22px;
	height: 22px;
	vertical-align: middle;
	opacity: 0.55;
	cursor: pointer;
}
body.amb-pagehead .amb-value .ui-datepicker-trigger:hover {
	opacity: 0.9;
}

/* Pulsanti: il primo e' l'azione principale */
body.amb-pagehead .amb-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	vertical-align: top;
	height: 42px;
	padding: 0 26px;
	border: 1px solid #bbb;
	border-radius: 0;
	background: #fff;
	color: #111;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
}
body.amb-pagehead .amb-actions .btn:hover {
	border-color: #111;
}
body.amb-pagehead .amb-actions .btn:first-child {
	border-color: #111;
	background: #111;
	color: #fff;
}
body.amb-pagehead .amb-actions .btn:first-child:hover {
	background: #333;
}
/* azione principale indicata (.amb-btn-primary, es. INVIA dopo INDIETRO): nera lei, la prima torna bianca */
body.amb-pagehead .amb-actions:has(.amb-btn-primary) .btn:first-child:not(.amb-btn-primary) {
	border-color: #bbb;
	background: #fff;
	color: #111;
}
body.amb-pagehead .amb-actions:has(.amb-btn-primary) .btn:first-child:not(.amb-btn-primary):hover {
	border-color: #111;
	background: #fff;
}
body.amb-pagehead .amb-actions .btn.amb-btn-primary {
	border-color: #111;
	background: #111;
	color: #fff;
}
body.amb-pagehead .amb-actions .btn.amb-btn-primary:hover {
	background: #333;
}
body.amb-pagehead .amb-actions .amb-help {
	display: block;
	margin-top: 4px;
	color: #888;
}

@media (max-width: 767px) {
	.amb-hero {
		padding: 8px 0 36px;
	}
	.amb-hero h1 {
		font-size: 24px;
	}
	.amb-hero .container,
	body.amb-pagehead .amb-page.amb-raised {
		padding-left: 16px;
		padding-right: 16px;
	}
	body.amb-pagehead .amb-section,
	body.amb-pagehead .amb-card {
		padding-left: 16px;
		padding-right: 16px;
	}
	body.amb-pagehead .amb-actions .btn {
		width: 100%;
		margin: 0 0 8px;
	}
}

/* Spazi compatti dentro le schede */
body.amb-pagehead .amb-card .amb-field {
	margin-bottom: 10px;
}
body.amb-pagehead .amb-actions {
	margin: 4px 0 14px;
}
body.amb-pagehead .amb-card.amb-compact {
	padding-bottom: 6px;
}
body.amb-pagehead .amb-card.amb-compact .amb-field {
	margin-bottom: 6px;
}
body.amb-pagehead .amb-image {
	margin-top: 4px;
}
body.amb-pagehead .amb-image img {
	max-height: 260px;
}

/* -------------------------------------------------------------------------
   Risultati ricerca clienti Wholesale / Retail (homepage, DataTables)
   ------------------------------------------------------------------------- */
.amb-results .dataTables_wrapper {
	font-size: 13px;
}
.amb-results table.dataTable {
	border-collapse: collapse !important;
	border: 0 !important;
	margin: 6px 0 10px !important;
}
.amb-results table.dataTable thead th {
	padding: 10px 12px !important;
	background: #fff !important;
	border: 0 !important;
	border-bottom: 2px solid #222 !important;
	color: #222;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.35;
	text-transform: uppercase;
	text-align: left;
	vertical-align: bottom;
}
.amb-results table.dataTable thead th div,
.amb-results table.dataTable thead th .line-reduced {
	line-height: 1.35 !important;
	text-align: left !important;
}
.amb-results table.dataTable tbody tr,
.amb-results table.dataTable tbody tr.odd,
.amb-results table.dataTable tbody tr.even {
	background: #fff !important;
}
/* Solo le celle della tabella dei risultati, non le tabelline dentro le celle (icone azione) */
.amb-results table.dataTable > tbody > tr > td {
	padding: 12px !important;
	border-top: 1px solid #eee !important;
	color: #333;
	vertical-align: middle;
	line-height: 1.5;
}
/* Manina solo dove la riga si apre al clic (ricerca clienti) */
.amb-results table.dataTable.amb-results-table > tbody > tr:not(.child) {
	cursor: pointer;
}
.amb-results table.dataTable > tbody > tr:not(.child):hover > td {
	background: #f7f6f3 !important;
}
.amb-results table.dataTable tbody td:first-child {
	white-space: nowrap;
}
.amb-results table.dataTable tbody td:first-child a {
	color: #111;
	font-weight: 600;
	text-decoration: none;
}
.amb-results table.dataTable tbody td:first-child a:hover {
	text-decoration: underline;
}
.amb-results .amb-badge {
	display: inline-block;
	margin: 1px 4px 1px 0;
	padding: 2px 7px;
	background: #f1f0ed;
	border: 1px solid #e2e0dc;
	color: #555;
	font-size: 11px;
	letter-spacing: .5px;
	line-height: 1.4;
	white-space: nowrap;
}

/* Pulsanti Excel / PDF */
.amb-results .dt-buttons {
	float: right;
	margin-bottom: 8px;
}
.amb-results .dt-buttons .dt-button {
	margin: 0 0 0 6px !important;
	padding: 7px 14px !important;
	background: #fff !important;
	border: 1px solid #bbb !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #111 !important;
	font-size: 11px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
.amb-results .dt-buttons .dt-button:hover {
	border-color: #111 !important;
}

/* Info e paginazione */
.amb-results .dataTables_info {
	padding-top: 12px !important;
	color: #777;
	font-size: 12px;
}
.amb-results .dataTables_paginate {
	padding-top: 8px !important;
}
.amb-results .dataTables_paginate .paginate_button {
	min-width: 32px;
	margin-left: 4px !important;
	padding: 5px 10px !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	border-radius: 0 !important;
	color: #333 !important;
	font-size: 12px;
}
.amb-results .dataTables_paginate .paginate_button:hover {
	background: #fff !important;
	border-color: #111 !important;
	color: #111 !important;
}
.amb-results .dataTables_paginate .paginate_button.current,
.amb-results .dataTables_paginate .paginate_button.current:hover {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
}
.amb-results .dataTables_paginate .paginate_button.disabled,
.amb-results .dataTables_paginate .paginate_button.disabled:hover {
	opacity: .4;
	background: #fff !important;
	border-color: #ddd !important;
	color: #333 !important;
	cursor: default;
}

@media (max-width: 767px) {
	.amb-results .dt-buttons {
		float: none;
		text-align: right;
	}
	.amb-results .dataTables_info,
	.amb-results .dataTables_paginate {
		float: none !important;
		text-align: center !important;
	}
}

/* -------------------------------------------------------------------------
   Homepage ricerca clienti (customer service, agente, capo area, corporate):
   azioni rapide a sinistra, ultime news a destra
   ------------------------------------------------------------------------- */
.amb-cs-home .amb-quick .amb-quick-item {
	flex: 1 1 calc(50% - 12px);
	min-height: 64px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid #e3e1dd;
	color: #222;
}
.amb-cs-home .amb-quick .amb-quick-item:hover,
.amb-cs-home .amb-quick .amb-quick-item:focus {
	background: #fff;
	border-color: #111;
}
.amb-cs-home .amb-quick .amb-quick-item .fa:not(.amb-quick-ext) {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	margin-right: 14px;
	line-height: 40px;
	border-radius: 50%;
	background: #f1f0ed;
	color: #333;
	font-size: 18px;
	text-align: center;
	transition: background-color 0.15s, color 0.15s;
}
.amb-cs-home .amb-quick .amb-quick-item:hover .fa:not(.amb-quick-ext),
.amb-cs-home .amb-quick .amb-quick-item:focus .fa:not(.amb-quick-ext) {
	background: #111;
	color: #fff;
}

/* News: scheda bianca come le altre (il riquadro semitrasparente resta per la home boutique) */
.amb-cs-home .amb-cs-newscard {
	padding: 0;
}
.amb-cs-home .amb-cs-newscard .amb-home-news {
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: none;
}
/* Il titolo (con il numero di non lette) e' gia' nella barra di sezione */
.amb-cs-home .amb-cs-newscard .amb-home-news h3 {
	display: none;
}
.amb-cs-home .amb-cs-newscard .amb-home-news li {
	padding: 12px 20px;
	border-bottom: 1px solid #eee;
}
.amb-cs-home .amb-cs-newscard .amb-home-news-all {
	padding: 12px 20px;
	color: #111;
}
.amb-cs-home .amb-cs-newscard .amb-home-news-all:hover {
	text-decoration: underline;
}
.amb-cs-home #csNewsTitle .badge {
	margin-left: 6px;
	border-radius: 10px;
	background: #111;
	color: #fff;
	font-size: 11px;
	letter-spacing: 0;
	vertical-align: 1px;
}

@media (max-width: 600px) {
	.amb-cs-home .amb-quick .amb-quick-item {
		flex-basis: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.amb-cs-home .amb-quick .amb-quick-item .fa {
		transition: none;
	}
}

/* Azioni rapide e news: stessi bordi della scheda dei criteri; le azioni rapide restano
   della loro altezza e le news scorrono dentro una scheda alta uguale (altezza impostata da JS) */
.amb-cs-home .amb-cs-newscard {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
@media (min-width: 992px) {
	.amb-cs-home .amb-cs-bottom {
		display: flex;
		align-items: flex-start;
		gap: 24px;
		margin-left: 0;
		margin-right: 0;
	}
	.amb-cs-home .amb-cs-bottom:before,
	.amb-cs-home .amb-cs-bottom:after {
		display: none;
	}
	.amb-cs-home .amb-cs-bottom > #csQuickCol,
	.amb-cs-home .amb-cs-bottom > #csNewsCol {
		float: none;
		width: auto;
		min-width: 0;
		padding-left: 0;
		padding-right: 0;
	}
	.amb-cs-home .amb-cs-bottom > #csQuickCol {
		flex: 7 1 0;
	}
	.amb-cs-home .amb-cs-bottom > #csNewsCol {
		flex: 5 1 0;
	}
}

/* -------------------------------------------------------------------------
   Ricerca sellout / stock su piu' boutique: selettore boutique (js/amb-boutique-picker.js)
   ------------------------------------------------------------------------- */
.amb-bq-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.amb-bq-chips:not(:empty) {
	margin-bottom: 8px;
}
.amb-bq-chip {
	display: inline-flex;
	align-items: center;
	padding: 4px 4px 4px 10px;
	background: #f1f0ed;
	border: 1px solid #e2e0dc;
	color: #222;
	font-size: 13px;
	line-height: 1.4;
}
.amb-bq-remove {
	margin-left: 6px;
	padding: 0 6px;
	background: none;
	border: 0;
	color: #777;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}
.amb-bq-remove:hover,
.amb-bq-remove:focus {
	color: #111;
}
.amb-bq-required {
	margin-top: 6px;
	color: #b00020;
}

/* -------------------------------------------------------------------------
   DGS (dgs.do): scelta della classe di montatura
   ------------------------------------------------------------------------- */
.amb-dgs-card {
	padding: 24px;
}
.amb-dgs-classes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}
.amb-dgs-class {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 18px 16px 16px;
	background: #fff;
	border: 1px solid #e3e1dd;
	color: #222;
	font: inherit;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.amb-dgs-class:hover,
.amb-dgs-class:focus {
	border-color: #111;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
	outline: none;
}
.amb-dgs-class:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
}
.amb-dgs-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 200px;
	margin-bottom: 14px;
	background: #f7f6f3;
}
.amb-dgs-img img {
	max-width: 90%;
	max-height: 180px;
	object-fit: contain;
}
.amb-dgs-name {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}
@media (max-width: 600px) {
	.amb-dgs-classes {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.amb-dgs-img {
		height: 130px;
	}
	.amb-dgs-img img {
		max-height: 115px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.amb-dgs-class {
		transition: none;
	}
}

/* DGS - filtri (selectDgsClassCode.do): menu a tendina e cursori jQuery UI */
.amb-dgs-sliders {
	margin-top: 8px;
	padding-top: 18px;
	border-top: 1px solid #eee;
}
.amb-dgs-slider {
	padding-bottom: 38px;
}
.amb-dgs-slider-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}
.amb-dgs-slider-head .amb-label {
	flex: 0 0 auto;
	margin: 0;
}
.amb-dgs-value {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	background: transparent;
	border: 0;
	color: #111;
	font-size: 13px;
	font-weight: 600;
	text-align: right;
}
.amb-dgs-value:focus {
	outline: none;
}
.amb-dgs-slider .ui-slider {
	height: 4px;
	margin: 0 12px;
	background: #e3e1dd;
	border: 0;
	border-radius: 2px;
}
.amb-dgs-slider .ui-slider .ui-slider-range {
	background: #111;
	border-radius: 2px;
}
.amb-dgs-slider .ui-slider .ui-slider-handle {
	top: -8px;
	width: 20px;
	height: 20px;
	margin-left: -10px;
	background: #fff;
	border: 2px solid #111;
	border-radius: 50%;
	cursor: grab;
}
.amb-dgs-slider .ui-slider .ui-slider-handle:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.2);
}
.amb-dgs-slider .ui-slider label {
	color: #777;
	font-size: 11px;
	font-weight: normal;
}
/* Tipologia consegna: etichette lunghe, centrate sulla tacca (prima a sinistra, ultima a destra) */
.amb-dgs-slider #slider-type label {
	width: auto;
	margin-left: 0;
	white-space: nowrap;
	transform: translateX(-50%);
}
.amb-dgs-slider #slider-type label:first-of-type {
	transform: none;
}
.amb-dgs-slider #slider-type label:last-of-type {
	left: 100% !important;
	transform: translateX(-100%);
}

/* DGS - gioiello selezionato (viewDgsData.do) */
.amb-dgs-cert {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid #eee;
	color: #555;
	font-size: 12px;
	line-height: 1.5;
}
.amb-dgs-cert img {
	flex: 0 0 auto;
	max-width: 60px;
	height: auto;
}
.amb-dgs-cert p {
	margin: 0;
}
.amb-dgs-note {
	margin: 14px 0 0;
}

/* DGS - riepilogo ordine (riassuntoDgsOrder.do) */
.amb-dgs-label-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.amb-dgs-guide {
	color: #555;
	font-size: 11px;
	letter-spacing: 0.5px;
	text-decoration: underline;
	text-transform: none;
}
.amb-dgs-guide:hover {
	color: #111;
}
.amb-dgs-stones {
	width: 100%;
}

/* DGS riepilogo ordine: scheda compatta, pulsanti visibili senza scorrere */
.amb-dgs-summary {
	padding: 14px 20px 6px;
}
.amb-dgs-summary .amb-field {
	margin-bottom: 8px;
	min-height: 0;
}
.amb-dgs-summary .amb-label {
	margin-bottom: 2px;
	font-size: 11px;
}
.amb-dgs-summary .amb-value {
	font-size: 14px;
}
.amb-dgs-summary .amb-value .form-control {
	height: 32px;
	padding: 4px 10px;
	font-size: 14px;
	margin: 0;
}
.amb-dgs-summary .amb-value textarea.form-control {
	height: auto;
	min-height: 54px;
}
.amb-dgs-summary .amb-title {
	font-size: 17px;
}
.amb-dgs-summary .amb-image img {
	max-height: 220px;
}
.amb-dgs-summary .amb-dgs-cert {
	margin-top: 4px;
	padding-top: 8px;
}
.amb-dgs-summary .amb-dgs-cert img {
	height: 40px;
	width: auto;
}

/* Home boutique (homepage.jsp, boutiqueHomepage.jsp): piu' compatta; la foto riempie lo
   schermo fino al footer, che resta visibile senza scorrere */
.amb-home {
	/* altezza esatta impostata da JS (photoFlipImage.jsp): foto fino al footer, footer visibile */
	min-height: calc(100vh - 230px);
	padding: 32px 0 28px;
}
.amb-home-hero {
	margin-bottom: 24px;
}
.amb-home-title {
	font-size: 38px;
}
.amb-home-user {
	font-size: 16px;
}
.amb-home-actions {
	gap: 14px;
}
.amb-home-action {
	min-height: 92px;
	padding: 16px 22px;
}
.amb-home-ic {
	flex-basis: 50px;
	height: 50px;
	margin-right: 16px;
	font-size: 22px;
}
.amb-home-t {
	font-size: 18px;
}
.amb-home-d {
	margin-top: 3px;
	font-size: 14px;
}
.amb-home-hint {
	margin-top: 14px;
}

/* Carrello ordini (carrelloDiogene.do) */
.amb-cart {
	padding: 10px 20px 14px;
}
.amb-cart .table-responsive {
	border: 0;
	margin-bottom: 0;
}
.amb-cart-table > tbody > tr > td {
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: 1px solid #eee;
	vertical-align: middle;
}
.amb-cart-table > tbody > tr:hover > td {
	background: #f7f6f3;
}
.amb-cart-img {
	width: 90px;
}
.amb-cart-img img {
	display: block;
	max-width: 72px;
	max-height: 72px;
	width: auto;
	height: auto;
	mix-blend-mode: multiply;
}
.amb-cart-code {
	color: #888;
	font-size: 12px;
}
.amb-cart-all {
	margin: 0;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}
.amb-cart-all input {
	margin: 0 0 0 4px;
	vertical-align: -2px;
}
.amb-cart-table input[type=checkbox] {
	width: 16px;
	height: 16px;
	cursor: pointer;
}
.amb-cart-del,
.amb-cart-delsel {
	color: #a33;
	font-size: 12px;
	white-space: nowrap;
	text-transform: none;
	letter-spacing: 0;
}
/* Selezione in prima colonna: la casella "tutti" e' nella stessa posizione di quelle delle righe */
.amb-cart-table .amb-cart-sel {
	width: 36px;
	text-align: center;
	padding-left: 4px;
	padding-right: 4px;
}
.amb-cart-table .amb-cart-sel input {
	margin: 0;
	vertical-align: middle;
}
/* Cancella: solo icona, colonna stretta */
.amb-cart-table .amb-cart-delcol {
	width: 40px;
	text-align: center;
}
.amb-cart-del {
	display: inline-block;
	font-size: 16px;
	padding: 4px 6px;
}
/* Barra sopra la tabella: Cancella selezionati */
.amb-cart-toolbar {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 4px;
}
.amb-cart-toolbar .amb-cart-delsel {
	padding: 4px 0;
	text-decoration: none;
}
.amb-cart-toolbar .amb-cart-delsel[disabled] {
	color: #bbb;
	cursor: not-allowed;
}
.amb-cart-del:hover,
.amb-cart-delsel:hover {
	color: #c0392b;
}
.amb-cart-totals {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px 32px;
	padding: 12px 0 4px;
	border-top: 2px solid #222;
}
.amb-cart-totals .amb-label {
	display: inline;
	margin-right: 8px;
}
.amb-cart-totals .amb-value {
	display: inline;
	font-size: 17px;
}
.amb-cart-note {
	margin: 10px 0 0;
	min-height: 0;
}
.amb-cart-help p {
	margin: 0 0 4px;
	line-height: 1.4;
}
.amb-cart-empty {
	text-align: center;
	padding: 30px 20px;
}
.amb-cart-empty > .fa {
	font-size: 40px;
	color: #bbb;
}
.amb-cart-empty p {
	margin: 10px 0 0;
	font-size: 16px;
	font-weight: 600;
}
.amb-cart-empty .amb-actions {
	justify-content: center;
}

/* S.E.R. e premi (initCommission.do, initSummaryAward.do, initRequestAward.do, carrelloCommission.do):
   il contenuto caricato in ajax (riepilogo punti, saldo per marchio, vendite) prende lo stile delle schede */
.amb-commission {
	text-align: left;
}
.amb-commission center {
	display: block;
}
/* Frase con i punti del periodo: in evidenza */
.amb-commission > .row:first-of-type,
.amb-commission > h3 {
	margin: 8px 0 14px;
}
.amb-commission > .row:first-of-type h4,
.amb-commission > h3 {
	margin: 0;
	padding: 12px 16px;
	background: #f7f6f3;
	border-left: 3px solid #111;
	color: #111;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
}
.amb-commission > .row:first-of-type {
	margin-left: 0;
	margin-right: 0;
}
/* Note (info marchi, finestre di richiesta) */
.amb-commission h4 {
	color: #555;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.5;
	text-align: left;
}
.amb-commission > .row {
	margin: 6px 0;
	color: #555;
}
.amb-commission hr {
	margin: 14px 0 !important;
	border-color: #eee;
}
/* Tabelle di riepilogo (totali e saldo per marchio) */
.amb-commission table.table-striped {
	width: 100%;
	max-width: none !important;
	margin: 0 0 16px;
	background: #fff;
	border: 1px solid #e6e6e6;
}
.amb-commission table.table-striped > thead > tr > th {
	padding: 10px 14px;
	border-bottom: 2px solid #222;
	color: #222;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	vertical-align: bottom;
}
.amb-commission table.table-striped > tbody > tr > td,
.amb-commission table.table-striped > tbody > tr > th {
	padding: 10px 14px;
	border-top: 1px solid #eee;
	width: auto !important;
	white-space: nowrap;
}
.amb-commission table.table-striped > tbody > tr:nth-of-type(odd) {
	background: #fff;
}
.amb-commission table.table-striped > tbody > tr:hover {
	background: #f7f6f3;
}
/* Riga dei totali: valori in grassetto */
.amb-commission center:first-of-type table.table-striped > tbody > tr > td {
	font-size: 15px;
	font-weight: 600;
	color: #111;
}
/* Tabelle dati (vendite, riscatti): righe non cliccabili */
.amb-commission.amb-results table.dataTable tbody tr:not(.child) {
	cursor: default;
}
.amb-commission .amb-actions {
	margin-top: 10px;
}

/* Galleria immagini (resellerImageGallery.do): griglia di schede come le altre pagine, anteprima 16:9 in alto */
body.amb-pagehead .amb-section.amb-gallery-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	padding-top: 8px;
	padding-bottom: 8px;
	clip-path: none;
}
.amb-gallery-add {
	height: 32px;
	padding: 0 14px;
	border: 1px solid #111;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.amb-gallery-add:hover {
	background: #333;
}
.amb-gallery-empty {
	color: #777;
	text-align: center;
}
.amb-gallery-empty[hidden] {
	display: none;
}
.amb-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
}
.amb-gallery-item {
	min-width: 0;
}
.amb-gallery-card,
body.amb-pagehead .amb-card.amb-gallery-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.amb-gallery-frame {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: #f4f3f0;
	border-bottom: 1px solid #ece9e3;
	overflow: hidden;
}
.amb-gallery-frame iframe.googlepreviewframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.amb-gallery-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 14px 16px 14px;
	text-align: left;
}
.amb-gallery-title {
	overflow: hidden;
	color: #111;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.amb-gallery-desc {
	display: -webkit-box;
	margin-top: 6px;
	overflow: hidden;
	color: #666;
	font-size: 13px;
	line-height: 1.5;
	white-space: pre-line;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.amb-gallery-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: auto;
	padding-top: 12px;
}
.amb-gallery-edit {
	height: 32px;
	padding: 0 12px;
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.amb-gallery-edit:hover {
	border-color: #111;
	color: #111;
}
.amb-gallery-edit .fa {
	margin-right: 4px;
}
@media (max-width: 767px) {
	.amb-gallery-grid {
		grid-template-columns: 1fr;
	}
}
/* Finestra di inserimento / modifica */
.amb-gallery-modal .modal-dialog {
	width: auto;
	max-width: 720px;
	margin: 40px auto;
}
.amb-gallery-modal .modal-content {
	text-align: left;
	border-radius: 0;
}
.amb-gallery-modal .modal-title {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.amb-gallery-modal .modal-body {
	padding: 18px 22px 6px;
}
.amb-gallery-upload .box {
	padding: 10px 0;
}
.amb-btn-danger {
	color: #a33;
	border-color: #d9b3b3;
}
.amb-btn-danger:hover {
	color: #fff;
	background: #a33;
	border-color: #a33;
}
.amb-gallery-wait .modal-dialog {
	width: auto;
	max-width: 360px;
	margin: 120px auto;
}
.amb-gallery-wait .modal-body {
	padding: 24px;
	text-align: center;
	font-size: 16px;
}
.amb-gallery-wait .fa {
	margin-right: 8px;
}

/* Casella di spunta nei criteri (es. "Nascondi chiuse" in ricercaRiparazioneForm.jsp) */
.amb-value .amb-check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	margin: 0;
	font-size: 14px;
	font-weight: normal;
	cursor: pointer;
}
.amb-value .amb-check span {
	margin-top: 0 !important;
}

/* -------------------------------------------------------------------------
   Finestre Bootstrap (modal), in tutte le pagine: stesso stile delle schede.
   Le dimensioni impostate nelle singole pagine (style inline) restano valide.
   ------------------------------------------------------------------------- */
.modal-backdrop.in {
	opacity: 0.45;
}
.modal-content {
	border: 0;
	border-radius: 0;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
	text-align: left;
}
.modal-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border-bottom: 1px solid #eee;
	background: #fff;
}
.modal-header:before,
.modal-header:after {
	display: none;
}
.modal-header .modal-title,
.modal-header > div,
.modal-header > h4,
.modal-header > h3 {
	flex: 1 1 auto;
	margin: 0;
	color: #111;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	line-height: 1.4;
	text-transform: uppercase;
	text-align: left;
}
.modal-header .close {
	flex: 0 0 auto;
	order: 99;
	margin: 0 0 0 auto;
	float: none;
	color: #111;
	font-size: 26px;
	font-weight: 300;
	line-height: 1;
	opacity: 0.5;
	text-shadow: none;
}
.modal-header .close:hover,
.modal-header .close:focus {
	opacity: 1;
}
.modal-body {
	padding: 18px 20px;
	color: #333;
	font-size: 14px;
}
.modal-footer {
	padding: 12px 20px;
	border-top: 1px solid #eee;
	background: #faf9f7;
}
/* Pulsanti nel piede: come i pulsanti delle pagine, il primo nero */
.modal-footer .btn {
	min-width: 110px;
	padding: 8px 16px;
	border: 1px solid #111;
	border-radius: 0;
	background: #fff;
	color: #111;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	box-shadow: none;
}
.modal-footer .btn:first-child {
	background: #111;
	color: #fff;
}
.modal-footer .btn:hover,
.modal-footer .btn:focus {
	background: #333;
	border-color: #333;
	color: #fff;
}
.modal-footer .btn.amb-btn-danger {
	border-color: #a33;
	background: #fff;
	color: #a33;
}
.modal-footer .btn.amb-btn-danger:hover {
	background: #a33;
	color: #fff;
}
.modal-body .form-control {
	border-radius: 0;
	box-shadow: none;
}
@media (max-width: 767px) {
	/* Su schermi stretti le larghezze in % delle pagine (es. 40%) diventano troppo piccole */
	.modal-dialog {
		width: calc(100% - 20px) !important;
		margin: 10px auto;
	}
}

/* -------------------------------------------------------------------------
   Dettaglio riparazione (finestra #caseDatailsModal, contenuto da
   ajax/riparazioni/detailRiparazione.jsp). Pagina che resta aperta a lungo:
   finestra a tutto schermo, righe compatte per vedere tutto senza scorrere,
   testo leggibile (etichette grigio scuro, valori neri). Le regole usano l'id
   per prevalere sullo <style> interno della pagina di dettaglio.
   ------------------------------------------------------------------------- */
#caseDatailsModal .modal-dialog {
	width: calc(100vw - 32px) !important;
	max-width: none;
	margin: 12px auto !important;
}
#caseDatailsModal .modal-content {
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 24px);
	background: #F7F6F4;
	font-size: 13px;
	line-height: 1.35;
}
#caseDatailsModal .modal-header {
	flex: 0 0 auto;
	padding: 8px 18px !important;
	background: #fff;
}
#caseDatailsModalHeader {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px !important;
	letter-spacing: 2px !important;
}
#caseDatailsModalHeader:before {
	content: "\f0ad";
	font-family: FontAwesome;
	color: #999;
	letter-spacing: 0;
}
#caseDatailsModalBody {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 2px 18px 10px;
	color: #333;
}
#caseDatailsModal .modal-footer {
	flex: 0 0 auto;
	padding: 6px 18px;
	background: #fff;
}
#caseDatailsModal .modal-footer .btn {
	padding: 5px 16px;
}
/* Sezioni */
#caseDatailsModalBody .row[style*="margin-top"] {
	margin-top: 2px !important;
}
#caseDatailsModalBody fieldset {
	margin-top: 8px;
}
#caseDatailsModalBody legend {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	padding: 0 0 3px;
	border-bottom: 1px solid #d9d6d0;
	color: #111;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 22px;
	text-transform: uppercase;
}
/* Etichette e valori */
#caseDatailsModalBody .text-left {
	padding-top: 1px;
	padding-bottom: 1px;
	color: #555;
	font-size: 13px;
	line-height: 1.35;
}
#caseDatailsModalBody .text-left b,
#caseDatailsModalBody .text-left strong {
	color: #111;
	font-size: 13px;
	font-weight: 600;
}
#caseDatailsModalBody .text-left[style*="font-weight: bold"] {
	color: #555;
}
#caseDatailsModalBody a {
	color: #111;
	text-decoration: underline;
}
#caseDatailsModalBody a:hover {
	color: #555;
}
#caseDatailsModalBody select,
#caseDatailsModalBody input[type=text] {
	height: 24px;
	padding: 1px 6px;
	border: 1px solid #ccc;
	background: #fff;
	color: #111;
	font-size: 13px;
}
/* Pulsanti Modifica / Inserisci (prima erano dei "+") */
.amb-case-modal .amb-mini-btn,
#caseDatailsModal .amb-mini-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 22px;
	min-width: 0;
	margin: 0 0 0 8px;
	padding: 0 9px;
	border: 1px solid #c9c6c0;
	border-radius: 11px;
	background: #fff;
	color: #333;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1;
	text-transform: uppercase;
	vertical-align: middle;
	position: relative;
	overflow: hidden;
	box-shadow: none;
}
.amb-case-modal .amb-mini-btn .fa,
#caseDatailsModal .amb-mini-btn .fa {
	font-size: 11px;
	color: #777;
}
.amb-case-modal .amb-mini-btn:hover,
.amb-case-modal .amb-mini-btn:focus,
#caseDatailsModal .amb-mini-btn:hover,
#caseDatailsModal .amb-mini-btn:focus {
	border-color: #111;
	background: #111;
	color: #fff;
}
.amb-case-modal .amb-mini-btn:hover .fa,
#caseDatailsModal .amb-mini-btn:hover .fa {
	color: #fff;
}
/* Modifica di un singolo campo: solo la matita, rotonda */
#caseDatailsModal .amb-mini-btn.amb-mini-icon {
	justify-content: center;
	width: 22px;
	padding: 0;
}
/* Nei titoli di sezione il pulsante va in fondo a destra */
#caseDatailsModalBody legend .amb-mini-btn {
	margin-left: auto;
	letter-spacing: 0.5px;
}
/* Il pulsante delle immagini contiene il campo file: cliccabile su tutto il pulsante */
#caseDatailsModalBody .amb-mini-btn input[type=file] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}
#caseDatailsModalBody #galleryContainer {
	padding-top: 4px !important;
}
#caseDatailsModalBody #galleryContainer img {
	max-height: 90px;
	border: 1px solid #e6e6e6;
	background: #fff;
}

/* Dettaglio riparazione, impaginazione compatta (.amb-cd in detailRiparazione.jsp): tre colonne
   etichetta/valore, descrizione a tutta larghezza, immagini in striscia, elenchi a coppie con
   altezza massima che scorrono al loro interno. Valori vuoti mostrati come "—". */
#caseDatailsModalHeader .amb-cd-badge {
	padding: 2px 10px;
	border-radius: 11px;
	background: #e6eef6;
	color: #23466b;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	white-space: nowrap;
}
#caseDatailsModalHeader .amb-cd-st-APER { background: #e7efe3; color: #2f5a22; }
#caseDatailsModalHeader .amb-cd-st-TCON { background: #fbeed9; color: #7a4a00; }
#caseDatailsModalHeader .amb-cd-st-CONS,
#caseDatailsModalHeader .amb-cd-st-FATT { background: #ebe9e5; color: #555; }
#caseDatailsModalHeader .amb-cd-st-CHMA { background: #f6e3e1; color: #8a2a20; }
#caseDatailsModalHeader .amb-cd-hinfo {
	color: #444;
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 30%;
}
#caseDatailsModalHeader .amb-cd-hinfo + .amb-cd-hinfo:before {
	content: "\00b7";
	margin-right: 10px;
	color: #bbb;
}
#caseDatailsModalHeader .amb-cd-hstrong {
	color: #111;
	font-weight: 700;
}
#caseDatailsModalHeader #btnAdmin {
	order: 10;
	margin-left: auto;
}
#caseDatailsModalBody .amb-cd {
	--amb-cd-lw: 170px; /* larghezza etichette: la imposta lo script della pagina sull'etichetta piu' lunga */
	color: #333;
	font-size: 13px;
}
/* Riquadri bianchi su fondo grigio chiaro, bordo tenue e testo grigio scuro (non nero pieno):
   le sezioni si distinguono senza contrasti forti che affaticano la vista */
.amb-cd .amb-cd-grid3 > div,
.amb-cd .amb-cd-grid2 > div,
.amb-cd .amb-cd-card {
	background: #fff;
	border: 1px solid #e8e5e0;
	border-radius: 6px;
	padding: 4px 14px 8px;
	min-width: 0;
}
.amb-cd .amb-cd-card,
.amb-cd .amb-cd-grid2 {
	margin-top: 10px;
}
.amb-cd .amb-cd-grid3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 6px;
}
.amb-cd .amb-cd-grid2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.amb-cd .amb-cd-sec {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 6px 0 4px;
	padding: 0 0 2px;
	border-bottom: 1px solid #ebe8e3;
	color: #2b2b2b;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 22px;
	text-transform: uppercase;
}
.amb-cd .amb-cd-cnt {
	color: #999;
	font-weight: 400;
	letter-spacing: 0;
}
#caseDatailsModal .amb-cd .amb-cd-add {
	margin-left: auto;
}
.amb-cd dl {
	display: grid;
	grid-template-columns: var(--amb-cd-lw) minmax(0, 1fr);
	gap: 3px 12px;
	margin: 0 0 2px;
}
.amb-cd dt {
	color: #6b675f;
	font-weight: 400;
}
.amb-cd dd {
	margin: 0;
	color: #2b2b2b;
	overflow-wrap: anywhere;
}
.amb-cd dd:empty:before {
	content: "\2014";
	color: #8c887f;
}
/* Dati chiave (ordine, materiale riparazione, codice prodotto, valore, garanzia) in evidenza */
.amb-cd dd.amb-cd-key {
	color: #111;
	font-weight: 600;
}
/* Documenti come pulsantini con icona PDF */
.amb-cd dd.amb-cd-docs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 6px;
}
#caseDatailsModalBody .amb-cd a.amb-cd-doc {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 1px 8px;
	border: 1px solid #d9d6d0;
	border-radius: 4px;
	background: #faf9f7;
	color: #2b2b2b;
	text-decoration: none;
	white-space: nowrap;
}
#caseDatailsModalBody .amb-cd a.amb-cd-doc:hover {
	border-color: #999;
	background: #f1efeb;
}
#caseDatailsModalBody .amb-cd a.amb-cd-doc .fa {
	color: #a33;
}
/* Intestazione: cliente e prodotto vanno a capo invece di essere troncati */
#caseDatailsModalHeader {
	flex-wrap: wrap;
	row-gap: 4px;
}
#caseDatailsModalHeader .amb-cd-hinfo {
	max-width: 100%;
	white-space: normal;
}
/* Numero pratica nell'intestazione: parte finale in grassetto come sulle schede */
#caseDatailsModalHeader .amb-cd-num {
	white-space: nowrap;
	letter-spacing: 1px;
}
#caseDatailsModalHeader .amb-cd-num b {
	color: #111;
	font-weight: 700;
}
/* Immagini: "Nessun elemento" quando la striscia e' vuota (mostrato da ambCdRefresh in detailRiparazione.jsp) */
.amb-cd dd b {
	font-weight: 600;
}
.amb-cd .amb-cd-muted,
.amb-cd .amb-cd-sub {
	color: #8c887f;
}
.amb-cd dd.amb-cd-edit {
	display: flex;
	align-items: center;
	gap: 6px;
}
.amb-cd #valoreOggettoValue:empty:before,
.amb-cd .amb-cd-clamp:empty:before {
	content: "\2014";
	color: #8c887f;
}
/* Descrizione riparazione: lavorazione per prima, piu' grande e fino a 4 righe; le altre due righe.
   "Mostra tutto" per il resto */
.amb-cd dl.amb-cd-desc {
	grid-template-columns: var(--amb-cd-lw) minmax(0, 1fr);
}
.amb-cd dl.amb-cd-desc dd {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
.amb-cd .amb-cd-clamp {
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: pre-line;
}
.amb-cd dl.amb-cd-desc dd.amb-cd-main {
	color: #111;
	font-size: 14px;
	line-height: 1.45;
}
.amb-cd dd.amb-cd-main .amb-cd-clamp {
	-webkit-line-clamp: 4;
}
.amb-cd .amb-cd-clamp.amb-cd-open {
	display: block;
}
/* Stato come barra a tappe (#ambCdSteps): tappe gia' passate spuntate, tappa attuale evidenziata;
   la linea unisce i cerchi da bordo a bordo senza attraversarli. Su telefono le tappe vanno in colonna. */
.amb-cd .amb-cd-steps {
	margin-top: 6px;
	padding: 10px 14px 8px;
	background: #fff;
	border: 1px solid #e8e5e0;
	border-radius: 6px;
}
.amb-cd .amb-cd-steps ol {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
.amb-cd .amb-cd-steps li {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
}
.amb-cd .amb-cd-steps li:before {
	content: "";
	position: absolute;
	top: 12px;
	left: calc(-50% + 18px);
	right: calc(50% + 18px);
	height: 2px;
	background: #ddd9d2;
}
.amb-cd .amb-cd-steps li:first-child:before {
	display: none;
}
.amb-cd .amb-cd-steps li.done:before,
.amb-cd .amb-cd-steps li.on:before {
	background: #7d9a6f;
}
.amb-cd .amb-cd-steps li > button {
	position: relative;
	z-index: 1;
	max-width: 100%;
	padding: 0 4px;
	border: 0;
	background: none;
	color: #555;
	font-size: 12px;
	line-height: 1.3;
	cursor: pointer;
}
.amb-cd .amb-cd-steps .amb-cd-dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: 0 auto 4px;
	border: 2px solid #cfcbc4;
	border-radius: 50%;
	background: #fff;
	color: #999;
	font-size: 11px;
	font-weight: 700;
}
.amb-cd .amb-cd-steps li.done .amb-cd-dot {
	border-color: #7d9a6f;
	background: #7d9a6f;
	color: #fff;
}
.amb-cd .amb-cd-steps li.on .amb-cd-dot {
	border-color: #2f5a22;
	background: #e7efe3;
	color: #2f5a22;
}
.amb-cd .amb-cd-steps li.on > button {
	color: #111;
	font-weight: 700;
	cursor: default;
}
.amb-cd .amb-cd-steps li:not(.on) > button:hover {
	color: #111;
}
.amb-cd .amb-cd-steps li:not(.on) > button:hover .amb-cd-dot {
	border-color: #888;
}
/* Conferma del cambio di stato: finestra sopra la scheda (#ambCdStConfirm, creata da detailRiparazione.jsp).
   Livello fisso dentro #caseDatailsModal, non un secondo modal Bootstrap. La tappa scelta resta evidenziata (.pend). */
.amb-cd .amb-cd-steps li.pend .amb-cd-dot {
	border-color: #b7791f;
	background: #fdf3e1;
	color: #7a4a00;
	box-shadow: 0 0 0 3px rgba(183, 121, 31, .25);
}
.amb-cd .amb-cd-steps li.pend > button {
	color: #7a4a00;
	font-weight: 700;
}
.amb-cd-cfm {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1070;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, .45);
	animation: ambCdCfmFade .15s ease-out;
}
.amb-cd-cfm-box {
	width: 100%;
	max-width: 480px;
	padding: 22px 24px 18px;
	background: #fff;
	border-top: 4px solid #b7791f;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
	color: #222;
	text-align: left;
}
.amb-cd-cfm-title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: #111;
}
.amb-cd-cfm-msg {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.5;
}
.amb-cd-cfm-msg b {
	font-weight: 700;
	color: #111;
}
.amb-cd-cfm-warn {
	margin: 0 0 10px;
	padding: 8px 10px;
	background: #fdf3e1;
	border-left: 3px solid #b7791f;
	border-radius: 3px;
	color: #7a4a00;
	font-size: 14px;
}
.amb-cd-cfm-btns {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}
.amb-cd-cfm-btns .btn {
	min-width: 110px;
	padding: 8px 18px;
	font-size: 14px;
}
.amb-cd-cfm-btns .amb-cd-cfm-ok {
	border: 1px solid #2f5a22;
	background: #2f5a22;
	color: #fff;
}
.amb-cd-cfm-btns .amb-cd-cfm-ok:hover,
.amb-cd-cfm-btns .amb-cd-cfm-ok:focus {
	border-color: #24451a;
	background: #24451a;
	color: #fff;
}
.amb-cd-cfm-btns .btn:focus {
	outline: 2px solid #b7791f;
	outline-offset: 2px;
}
@keyframes ambCdCfmFade {
	from { opacity: 0; }
	to { opacity: 1; }
}
@media (max-width: 700px) {
	.amb-cd .amb-cd-steps ol {
		flex-direction: column;
		gap: 6px;
	}
	.amb-cd .amb-cd-steps li {
		text-align: left;
	}
	.amb-cd .amb-cd-steps li:before {
		display: none;
	}
	.amb-cd .amb-cd-steps li > button {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.amb-cd .amb-cd-steps .amb-cd-dot {
		margin: 0;
	}
}
/* Tablet: finestra quasi a tutto schermo, testo 14px e righe piu' distanziate per il tocco; due colonne
   (il materiale va sotto, su tutta la riga, con le coppie etichetta/valore affiancate); elenchi boutique
   uno per riga. Telefono: una colonna. */
@media (max-width: 1100px) {
	#caseDatailsModal .modal-dialog {
		width: calc(100vw - 24px) !important;
	}
	#caseDatailsModalBody .amb-cd {
		font-size: 14px;
	}
	.amb-cd dl {
		gap: 4px 12px;
	}
	.amb-cd dl.amb-cd-desc dd.amb-cd-main {
		font-size: 15px;
	}
	.amb-cd .amb-cd-grid3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.amb-cd .amb-cd-grid3 > div:nth-child(3) {
		grid-column: 1 / -1;
	}
	.amb-cd .amb-cd-grid3 > div:nth-child(3) dl {
		grid-template-columns: var(--amb-cd-lw) minmax(0, 1fr) var(--amb-cd-lw) minmax(0, 1fr);
	}
	.amb-cd .amb-cd-grid2 {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 700px) {
	.amb-cd .amb-cd-grid3 {
		grid-template-columns: minmax(0, 1fr);
	}
	.amb-cd .amb-cd-grid3 > div:nth-child(3) dl {
		grid-template-columns: var(--amb-cd-lw) minmax(0, 1fr);
	}
}
.amb-cd .amb-cd-more {
	flex: 0 0 auto;
	color: #555;
	font-size: 12px;
	white-space: nowrap;
}
/* Immagini: anteprime in fila (abbastanza grandi da riconoscere il pezzo), la "x" compare passandoci sopra */
#caseDatailsModalBody .amb-cd #galleryContainer {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 2px !important;
}
#caseDatailsModalBody .amb-cd #galleryContainer > div {
	position: relative;
	float: none;
	width: auto;
	padding: 0;
}
#caseDatailsModalBody .amb-cd #galleryContainer > div .row,
#caseDatailsModalBody .amb-cd #galleryContainer > div .col-md-12 {
	margin: 0;
	padding: 0;
}
/* Anteprima Google Drive: disegnata piu' grande e ridotta a meta', spostata in su, cosi' i comandi del
   visualizzatore (zoom, apri) restano fuori dal riquadro; il velo .amb-cd-gshield prende il clic (foto grande) */
#caseDatailsModalBody .amb-cd #galleryContainer .amb-cd-gcell {
	position: relative;
	width: 150px;
	height: 104px;
	overflow: hidden;
	border: 1px solid #e3e0da;
	border-radius: 4px;
	background: #fff;
}
#caseDatailsModalBody .amb-cd #galleryContainer .amb-cd-gcell iframe {
	position: absolute;
	top: -28px;
	left: 0;
	width: 300px !important;
	height: 320px !important;
	border: 0 !important;
	transform: scale(.5);
	transform-origin: 0 0;
	pointer-events: none;
}
.amb-cd .amb-cd-gshield {
	position: absolute;
	inset: 0;
	z-index: 1;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}
.amb-cd-gview {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(20, 18, 16, 0.85);
}
.amb-cd-gview iframe {
	width: min(92vw, 1100px);
	height: 86vh;
	border: 0;
	background: #222;
}
.amb-cd-gview-x {
	position: absolute;
	top: 10px;
	right: 16px;
	border: 0;
	background: none;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
}
#caseDatailsModalBody .amb-cd #galleryContainer iframe,
#caseDatailsModalBody .amb-cd #galleryContainer img {
	display: block;
	width: 150px;
	height: 104px;
	max-width: none !important;
	max-height: none !important;
	border: 1px solid #e3e0da;
	background: #fff;
}
#caseDatailsModalBody .amb-cd #galleryContainer .buttonplus {
	position: absolute;
	top: 2px;
	right: 2px;
	margin: 0 !important;
	padding: 0 5px;
	line-height: 16px;
	z-index: 2;
	opacity: 0;
	transition: opacity .15s;
}
#caseDatailsModalBody .amb-cd #galleryContainer > div:hover .buttonplus {
	opacity: 1;
}
/* Elenchi: altezza massima, scorrono all'interno; intestazione ferma; sfumatura se c'e' altro sotto */
.amb-cd .amb-cd-list {
	max-height: 196px; /* intestazione + circa 5 righe */
	overflow-y: auto;
	overflow-x: hidden;
}
.amb-cd .amb-cd-list.amb-cd-tall {
	max-height: 232px; /* intestazione + circa 8 righe */
}
.amb-cd .amb-cd-list.amb-cd-scroll {
	-webkit-mask-image: linear-gradient(#000 78%, transparent);
	mask-image: linear-gradient(#000 78%, transparent);
}
/* Righe senza linee di separazione: solo una leggera alternanza di sfondo */
.amb-cd .amb-cd-list > .row {
	margin: 0;
	border: 0;
}
.amb-cd .amb-cd-list > .row:not(.amb-cd-head):nth-child(even) {
	background: rgba(0, 0, 0, 0.035);
}
.amb-cd .amb-cd-list > .row:not(.amb-cd-head):hover {
	background: rgba(0, 0, 0, 0.06);
}
#caseDatailsModalBody .amb-cd .amb-cd-list > .row > div {
	padding: 3px 6px;
	color: #222;
	white-space: normal;
}
/* Storici (DDT, ricevute): una riga per voce, testo lungo troncato (intero al passaggio del mouse) */
#caseDatailsModalBody .amb-cd .amb-cd-list.amb-cd-tall > .row > div {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#caseDatailsModalBody .amb-cd .amb-cd-list > .amb-cd-head {
	position: sticky;
	top: 0;
	z-index: 1;
	border-top: 0;
	background: #fff;
}
#caseDatailsModalBody .amb-cd .amb-cd-list > .amb-cd-head > div {
	color: #111;
	font-weight: 700;
	font-size: 12px;
}
.amb-cd .amb-cd-none {
	display: none;
	padding: 3px 6px;
	color: #999;
	font-style: italic;
}
.amb-cd .amb-cd-list > .amb-cd-none:last-child {
	display: block;
}
.amb-cd .amb-cd-list > .amb-cd-head:nth-last-child(2) {
	display: none;
}
/* Colonne degli elenchi a griglia (al posto delle colonne bootstrap): data con ora su una riga,
   piu' spazio alla descrizione, importi a destra. Azione dei preventivi nascosta se vuota ovunque. */
.amb-cd .amb-cd-list > .row {
	display: grid;
	column-gap: 0;
}
.amb-cd .amb-cd-list > .row:before,
.amb-cd .amb-cd-list > .row:after {
	display: none;
}
#caseDatailsModalBody .amb-cd .amb-cd-list > .row > div {
	float: none;
	width: auto;
	min-width: 0;
}
#caseDatailsModalBody .amb-cd .amb-cd-list > .row > div:first-child {
	white-space: nowrap;
}
#annotationRow > .row,
#taskRow > .row {
	grid-template-columns: 118px minmax(90px, 1fr) 3fr;
}
#phoneRow > .row {
	grid-template-columns: 118px 110px 1fr;
}
#quotationRow > .row {
	grid-template-columns: 86px minmax(0, 2fr) 84px minmax(0, 1.3fr) 96px auto;
}
#quotationRow.amb-cd-noact > .row {
	grid-template-columns: 86px minmax(0, 2fr) 84px minmax(0, 1.3fr) 96px;
}
#quotationRow.amb-cd-noact > .row > div:nth-child(6) {
	display: none;
}
#ddtRow > .row {
	grid-template-columns: 86px minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
}
#receiptRow > .row {
	grid-template-columns: 86px minmax(0, 1.4fr) 84px minmax(0, 1fr);
}
#caseDatailsModalBody .amb-cd #quotationRow > .row > div:nth-child(3),
#caseDatailsModalBody .amb-cd #receiptRow > .row > div:nth-child(3) {
	padding-right: 14px;
	text-align: right;
}
/* Pulsante "invia di nuovo al cliente" dei preventivi */
#caseDatailsModalBody .amb-cd #quotationRow table {
	display: inline-table;
	margin: 0;
	vertical-align: middle;
}
#caseDatailsModalBody .amb-cd #quotationRow table td {
	padding: 0;
	line-height: 1;
}
#caseDatailsModalBody .amb-cd #quotationRow input[type=image] {
	margin: 0 !important;
	max-width: 22px !important;
}

/* Sellout di un pezzo trovato presso un'altra boutique del corporate
   (confirmCorporateSellout.jsp, inserimentoResultXls.jsp) */
.amb-corporate-message {
	border-left: 3px solid #c58b2a;
	background: #fbf5ea;
	color: #5a4314;
}
.amb-corporate-strong {
	font-weight: 700;
}
.amb-corporate-section {
	border-left: 3px solid #c58b2a;
}
.amb-corporate-table > tbody > tr > td {
	vertical-align: middle;
}
.amb-corporate-table input[type=checkbox] {
	width: 16px;
	height: 16px;
	cursor: pointer;
}

/* -------------------------------------------------------------------------
   Tabella stock (ricercaRicartellinaturaData): compatta, tutte le colonne
   visibili su desktop (il responsive nasconde le colonne solo se non ci stanno)
   ------------------------------------------------------------------------- */
.amb-stock-table {
	overflow-x: auto;
	padding-bottom: 4px;
}
.amb-stock-table table.dataTable {
	width: 100% !important;
	margin-top: 10px !important;
}
.amb-stock-table table.dataTable thead th {
	padding: 8px 6px !important;
	vertical-align: bottom;
	white-space: normal;
	font-size: 11px;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.25;
}
.amb-stock-table table.dataTable thead th .line-reduced,
.amb-stock-table table.dataTable thead th div {
	line-height: 1.25 !important;
}
.amb-stock-table table.dataTable tbody td {
	padding: 7px 6px !important;
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.amb-stock-table table.dataTable tbody tr:not(.child) {
	cursor: default;
}
.amb-stock-table table.dataTable tbody td.dt-body-right {
	text-align: right;
}
.amb-stock-table table.dataTable tbody td.dt-body-center {
	text-align: center;
}
.amb-stock-table table.dataTable tbody td:nth-child(3) {
	max-width: 170px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.amb-stock-table table.dataTable tbody td img#button {
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}
.amb-stock-table table.dataTable tbody td img#button:hover {
	opacity: .65;
}
.amb-stock-table table.dataTable tbody td input[type=checkbox] {
	margin: 0;
	vertical-align: middle;
}
.amb-stock-table .ricartellinaturaAll {
	margin-left: 6px !important;
}
.amb-stock-table table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control {
	padding-left: 22px !important;
}

/* -------------------------------------------------------------------------
   Inserimento riparazione (riparazione.do, gdprRiparazione.do, firma,
   riassuntoRiparazione.do, riparazioneInserita.do)
   ------------------------------------------------------------------------- */
body.amb-pagehead .amb-repair .amb-section {
	margin-top: 10px;
	padding: 8px 18px 7px;
	font-size: 11px;
}
body.amb-pagehead .amb-repair .amb-card {
	margin-bottom: 0;
	padding: 10px 18px 4px;
}
body.amb-pagehead .amb-repair .amb-card.amb-compact {
	padding-bottom: 2px;
}
body.amb-pagehead .amb-repair .amb-field {
	min-height: 0;
	margin-bottom: 8px;
}
body.amb-pagehead .amb-repair .amb-label {
	margin-bottom: 3px;
	font-size: 11px;
}
body.amb-pagehead .amb-repair .amb-actions {
	margin-top: 12px;
}
.amb-repair .amb-value .form-control {
	height: 32px;
	border-radius: 0;
	box-shadow: none;
}
.amb-repair .amb-value textarea.form-control {
	height: 56px;
	min-height: 50px;
	resize: vertical;
}
.amb-repair .amb-value .form-control:focus {
	border-color: #222;
}
.amb-repair .amb-value input.amb-date {
	height: 32px;
	padding: 0 8px;
	border: 1px solid #ccc;
}
/* Descrizione della sezione e pulsante Svuota, in alto nella scheda */
.amb-repair-tools {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin: -2px 0 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #f0f0f0;
}
.amb-repair-tools .amb-help {
	margin: 2px 0 0;
	font-size: 12px;
}
.amb-repair .amb-repair-clear {
	flex: 0 0 auto;
	padding: 4px 12px;
	border: 1px solid #ccc;
	border-radius: 0;
	background: #fff;
	color: #333;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.amb-repair .amb-repair-clear:hover {
	border-color: #111;
}
/* Note: il tema (style.css) da' a ogni textarea margin-top 2em */
body.amb-pagehead .amb-card textarea.form-control {
	margin-top: 0;
}
/* Valore indicativo: importo + valuta fissa a destra */
.amb-repair .amb-currency {
	width: 100%;
}
.amb-repair .amb-currency .input-group-addon {
	min-width: 56px;
	border-color: #ccc;
	border-radius: 0;
	background: #f0eeeb;
	color: #555;
	font-size: 12px;
	letter-spacing: 1px;
}
/* Data garanzia: campo largo come gli altri, calendario dentro il campo */
.amb-repair .amb-date-wrap {
	position: relative;
}
body.amb-pagehead .amb-repair .amb-date-wrap input.amb-date {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-right: 36px;
}
body.amb-pagehead .amb-repair .amb-date-wrap .ui-datepicker-trigger {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
body.amb-pagehead .amb-repair .amb-date-wrap input.amb-date[data-locked="true"] {
	background-color: #f0eeeb;
	color: #555;
}
.amb-repair-source {
	margin-top: 3px;
	color: #777;
	font-size: 11px;
}
/* Campi obbligatori mancanti (controllo prima dell'invio) */
body.amb-pagehead .amb-repair .amb-invalid .form-control,
body.amb-pagehead .amb-repair .amb-invalid input.amb-date {
	border-color: #b3261e;
	background-color: #fff7f6;
}
.amb-repair .amb-error-msg {
	margin-top: 3px;
	color: #b3261e;
	font-size: 11px;
}
/* Pulsanti sempre visibili in fondo allo schermo mentre si compila */
body.amb-pagehead .amb-repair .amb-repair-actions {
	position: sticky;
	bottom: 0;
	z-index: 20;
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid #e6e6e6;
	background: rgba(255, 255, 255, 0.96);
	text-align: center;
}
body.amb-pagehead .amb-repair .amb-repair-actions .btn {
	position: relative;
	z-index: 1;
	margin: 0 6px;
}
/* Colonna immagine e collezione */
.amb-repair-image {
	text-align: center;
}
.amb-repair-image .amb-image img {
	max-height: 170px;
}
.amb-repair-image .amb-subtitle {
	margin-top: 6px;
	font-size: 12px;
}
@media screen and (min-width: 992px) {
	.amb-repair-image {
		border-left: 1px solid #e6e6e6;
	}
}
/* Informativa privacy */
.amb-repair-privacy iframe {
	display: block;
	width: 100%;
	height: 55vh; /* meta' schermo circa: si legge piu' testo senza scorrere */
	min-height: 380px;
	border: 1px solid #eee;
}
/* Riepilogo */
.amb-repair-summary .amb-value {
	font-size: 14px;
}
.amb-repair-sub {
	font-weight: normal;
	color: #555;
}
.amb-repair-consents span {
	display: inline-block;
	margin: 0 18px 4px 0;
	font-weight: normal;
}
.amb-repair-signature {
	margin-top: 16px;
	padding: 8px;
	border: 1px solid #eee;
	background: #fff;
}
.amb-repair-signature img {
	max-width: 100%;
	max-height: 160px;
}
.amb-repair-note {
	text-align: center;
	margin: 6px auto 14px;
	max-width: 1000px;
}
/* Esito */
.amb-repair-result {
	text-align: center;
	font-size: 17px;
}
.amb-repair-result .fa {
	margin-right: 6px;
}
.amb-repair-docs {
	margin-bottom: 4px;
}
/* Modali (spedizione, avvisi): altezza secondo il contenuto */
#shippingPanel .modal-body h3,
#notificationPanel .modal-body h3,
#errorPanel .modal-body h3 {
	font-size: 18px;
	line-height: 1.5;
	margin: 10px 0;
}

/* Firma (signatureCanvass.do): area di firma nella scheda */
.amb-sign .signature-pad {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 380px;
}
.amb-sign .signature-pad--body {
	position: relative;
	flex: 1;
	border: 1px dashed #bbb;
	background: #fff;
}
.amb-sign .signature-pad--body canvas {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.amb-sign .signature-pad--actions {
	display: flex;
	justify-content: space-between;
	margin-top: 14px;
}
.amb-sign .signature-pad--actions .btn {
	margin: 0 6px 0 0;
}
@media screen and (max-width: 480px) {
	.amb-sign .signature-pad {
		height: 260px;
	}
}

/* -------------------------------------------------------------------------
   Clienti CRM (ricerca, scheda, nuovo, modifica): usati anche dalla
   ricerca del cliente nell'inserimento riparazione
   ------------------------------------------------------------------------- */
.amb-crm .amb-value .form-control {
	height: 36px;
	border-radius: 0;
	box-shadow: none;
}
.amb-crm .amb-field {
	min-height: 0;
	margin-bottom: 14px;
}
.amb-crm .amb-section {
	margin-top: 18px;
}
.amb-crm-limit {
	text-align: center;
	margin: -10px 0 10px;
}
.amb-crm-results {
	margin-top: 6px;
}
.amb-crm-results table.dataTable tbody td a {
	color: #111;
	font-weight: 600;
}
/* Scheda cliente CRM (crm/detailsCrmCustomer.jsp): tre dati per riga sul desktop; un valore vuoto (es. telefono)
   non deve far scalare i campi successivi, quindi righe a capo ordinate e altezza minima del valore.
   Il gagliardetto con le stelle (.amb-crm-rating) e' stato tolto */
.amb-crm .amb-card .row > .col-xs-12 > .row {
	display: flex;
	flex-wrap: wrap;
}
.amb-crm .amb-card .row > .col-xs-12 > .row:before,
.amb-crm .amb-card .row > .col-xs-12 > .row:after {
	display: none;
}
.amb-crm .amb-card .amb-field .amb-value {
	min-height: 20px;
}
/* dato vuoto: trattino grigio */
.amb-crm .amb-card .amb-field .amb-value:empty:before {
	content: "\2013";
	color: #bbb;
}
/* acquisti (crm/ricercaCrmPurchase.jsp): con una sola pagina niente Previous / Next */
.amb-crm .amb-dt-onepage .dataTables_paginate {
	display: none;
}

/* ------------------------------------------------------------------
 * Knowledge base (knowledgeBase.do): documenti Markdown per i Customer Service
 * Nel tema Lato "normal" e' Light e "bold" e' Regular: il testo usa Regular,
 * titoli e grassetti Lato Bold (font dichiarato qui, usato solo dalla knowledge base).
 * ------------------------------------------------------------------ */
@font-face {
	font-family: 'Lato KB Bold';
	src: url(Lato-Bold.ttf) format("truetype");
	font-weight: normal;
	font-style: normal;
}
.amb-kb .amb-kb-main > .amb-card {
	margin-top: 14px;
}
.amb-kb .amb-kb-searchcard {
	padding: 12px 16px;
}
.amb-kb .amb-kb-search {
	display: flex;
	gap: 8px;
	margin: 0;
}
.amb-kb .amb-kb-search .form-control {
	flex: 1;
	height: 38px;
	font-size: 14px;
	font-weight: bold;
	color: #222;
}
.amb-kb .amb-kb-search .btn {
	margin: 0;
	height: 38px;
	flex: 0 0 auto;
}
.amb-kb .amb-kb-docs,
.amb-kb .amb-kb-toc,
.amb-kb .amb-kb-results {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
.amb-kb .amb-kb-docs li a {
	display: block;
	padding: 7px 10px;
	color: #222;
	font-size: 14px;
	font-weight: bold;
	border-left: 3px solid transparent;
}
.amb-kb .amb-kb-docs li.amb-kb-group {
	padding: 14px 10px 4px;
	color: #8a8580;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.amb-kb .amb-kb-docs li.amb-kb-group:first-child {
	padding-top: 2px;
}
.amb-kb .amb-kb-docs li a:hover {
	background: #f2f1ee;
	text-decoration: none;
}
.amb-kb .amb-kb-docs li.active a {
	border-left-color: #222;
	background: #f2f1ee;
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
}
.amb-kb .amb-kb-toc li a {
	display: block;
	padding: 4px 0;
	color: #222;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.35;
}
.amb-kb .amb-kb-toc li.amb-kb-toc-3 a {
	padding-left: 14px;
	color: #555;
}
.amb-kb .amb-kb-toc li a:hover {
	text-decoration: underline;
}
.amb-kb .amb-kb-side {
	position: sticky;
	top: 10px;
}
.amb-kb .amb-kb-doc {
	text-align: left;
	padding: 26px 34px;
}
.amb-kb .amb-kb-title {
	margin: 0 0 6px;
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
	font-size: 26px;
	color: #222;
	text-align: left;
}
.amb-kb .amb-kb-updated {
	color: #666;
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 20px;
}
.amb-kb .amb-kb-note {
	background: #fbf6e9;
	border-left: 3px solid #c9a227;
	padding: 8px 12px;
	font-weight: bold;
}
.amb-kb .amb-kb-body {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
	color: #222;
}
.amb-kb .amb-kb-body strong,
.amb-kb .amb-kb-body b,
.amb-kb .amb-kb-snippet strong {
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
	color: #000;
}
.amb-kb .amb-kb-body em {
	font-style: italic;
}
.amb-kb .amb-kb-body h2 {
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
	font-size: 20px;
	color: #222;
	margin: 34px 0 12px;
	padding-bottom: 7px;
	border-bottom: 2px solid #222;
	text-align: left;
	scroll-margin-top: 70px;
}
.amb-kb .amb-kb-body h3,
.amb-kb .amb-kb-body h4 {
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
	font-size: 17px;
	color: #222;
	margin: 24px 0 8px;
	text-align: left;
	scroll-margin-top: 70px;
}
.amb-kb .amb-kb-body h4 {
	font-size: 15px;
}
.amb-kb .amb-kb-body p,
.amb-kb .amb-kb-body ul,
.amb-kb .amb-kb-body ol {
	margin-bottom: 12px;
	text-align: left;
}
.amb-kb .amb-kb-body li {
	margin-bottom: 5px;
}
.amb-kb .amb-kb-body ul.amb-kb-check {
	list-style: none;
	padding-left: 4px;
}
.amb-kb .amb-kb-body ul.amb-kb-check input {
	margin-right: 8px;
}
.amb-kb .amb-kb-body code {
	color: #222;
	background: #f0eeeb;
	padding: 1px 4px;
}
.amb-kb .amb-kb-body blockquote {
	font-size: 15px;
	border-left: 3px solid #b9b6b0;
	color: #333;
	margin: 12px 0;
	padding: 4px 14px;
}
.amb-kb .amb-kb-table {
	overflow-x: auto;
	margin: 8px 0 18px;
}
.amb-kb .amb-kb-table table.table {
	margin: 0;
	font-size: 14px;
	color: #222;
}
.amb-kb .amb-kb-table table.table th {
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
	border-bottom: 2px solid #222;
	color: #222;
	vertical-align: bottom;
	line-height: 1.35;
}
.amb-kb .amb-kb-table table.table td {
	vertical-align: top;
	line-height: 1.45;
}
.amb-kb .amb-kb-img {
	max-width: 100%;
	border: 1px solid #e2e0dc;
	margin: 6px 0;
}
.amb-kb .amb-kb-results li {
	padding: 14px 0;
	border-bottom: 1px solid #e2e0dc;
}
.amb-kb .amb-kb-results li:last-child {
	border-bottom: 0;
}
.amb-kb .amb-kb-results a {
	color: #222;
	font-family: 'Lato KB Bold', Lato, sans-serif;
	font-weight: normal;
	font-size: 15px;
}
.amb-kb .amb-kb-result-doc {
	color: #666;
}
.amb-kb .amb-kb-snippet {
	margin-top: 5px;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
}
.amb-kb mark {
	background: #f6e7a8;
	color: inherit;
	padding: 0 1px;
}
.amb-kb .amb-kb-empty {
	color: #555;
	font-weight: bold;
	text-align: left;
}
@media (max-width: 991px) {
	.amb-kb .amb-kb-side {
		position: static;
	}
	.amb-kb .amb-kb-doc {
		padding: 16px;
	}
}

/* Home boutique (homepage.jsp rivenditore, boutiqueHomepage.jsp addetto Z4): card piene e leggibili con qualsiasi foto
   di sfondo (il velo scuro da sinistra e' in config/home-images.json), fino a 6 azioni su 2 colonne, news compatte */
.amb-home-kicker,
.amb-home-label {
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.amb-home-title {
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.amb-home-user {
	color: #fff;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.amb-home-as {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 9px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.15);
	font-size: 13px;
	letter-spacing: 0.5px;
	text-shadow: none;
	vertical-align: 1px;
}
.amb-home-actions {
	grid-auto-rows: 1fr;
	gap: 16px;
}
/* numero dispari di azioni (alcune non abilitate): l'ultima occupa tutta la riga */
.amb-home-actions > .amb-home-action:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}
.amb-home-action {
	min-height: 132px;
	padding: 24px 26px;
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	color: #222;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
}
.amb-home-action:hover,
.amb-home-action:focus {
	background: #fff;
	color: #000;
}
.amb-home-ic {
	flex: 0 0 64px;
	height: 64px;
	margin-right: 22px;
	background: #F1EFEA;
	color: #222;
	font-size: 27px;
}
.amb-home-t {
	font-size: 20px;
}
.amb-home-d {
	margin-top: 4px;
	color: #666;
	font-size: 14px;
}
.amb-home-go {
	color: #9a978f;
}
.amb-home-hint {
	margin-top: 16px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}
.amb-home-newsbox .amb-home-news {
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
}
/* nella home boutique le ultime 3 news: data, "Nuova", titolo (2 righe) e inizio del testo (2 righe) */
.amb-home-newsbox .amb-home-news li {
	padding: 12px 18px;
}
/* Niente barra di scorrimento nelle news: il riquadro non e' piu' bloccato all'altezza delle azioni; la riga
   prende l'altezza maggiore tra azioni e news e le azioni si allungano per pareggiarla */
@media (min-width: 992px) {
	.amb-home-grid > div:first-child {
		display: flex;
		flex-direction: column;
	}
	.amb-home-grid > div:first-child > .amb-home-actions {
		flex: 1 1 auto;
	}
	.amb-home-newsbox {
		position: static;
		min-height: 0;
	}
	.amb-home-newsbox .amb-home-news {
		position: static;
		display: flex;
		flex-direction: column;
		height: 100%;
	}
	.amb-home-newsbox .amb-home-news ul {
		flex: 1 1 auto;
		overflow: visible;
	}
}
.amb-home-newsbox .amb-home-news-tt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 14px;
}
@media (max-width: 600px) {
	.amb-home-actions > .amb-home-action:last-child:nth-child(odd) {
		grid-column: auto;
	}
	.amb-home-action {
		min-height: 96px;
		padding: 18px 20px;
	}
	.amb-home-ic {
		flex-basis: 50px;
		height: 50px;
		margin-right: 16px;
		font-size: 22px;
	}
	.amb-home-t {
		font-size: 18px;
	}
	.amb-home-as {
		display: block;
		width: fit-content;
		margin: 6px 0 0;
	}
}

/* Footer: pulsante dello scanner con etichetta (footer/default.jsp) */
.amb-footer-scan {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	color: #ccc;
	font-size: 10px;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}
.amb-footer-scan img {
	height: 34px;
	max-width: none;
}
.amb-footer-scan:hover,
.amb-footer-scan:focus {
	color: #fff;
	text-decoration: none;
}

/* Ricerca clienti (home Customer Service, agente, capo area, corporate, admin boutique) */
/* "Escludi clienti": spazio tra una casella e l'altra (la regola .amb-value .amb-check azzerava il margine) */
.amb-value.amb-cs-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
}
.amb-value.amb-cs-checks .amb-check {
	margin: 0;
}
/* "Escludi clienti" chiuso di default (excludeBlockFilter.jspf): titolo cliccabile con freccia e codici selezionati */
.amb-cs-exclude > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	list-style: none;
	user-select: none;
}
.amb-cs-exclude > summary::-webkit-details-marker {
	display: none;
}
.amb-cs-exclude > summary .fa {
	width: 10px;
	font-size: 10px;
	transition: transform .15s ease;
}
.amb-cs-exclude[open] > summary .fa {
	transform: rotate(90deg);
}
.amb-cs-exclude > summary:hover,
.amb-cs-exclude > summary:focus-visible {
	color: #222;
}
.amb-cs-exclude-sel {
	color: #9b2c2c;
	letter-spacing: .5px;
}
.amb-cs-exclude .amb-cs-checks {
	margin-top: 8px;
}
@media (prefers-reduced-motion: reduce) {
	.amb-cs-exclude > summary .fa {
		transition: none;
	}
}
/* Riga del risultato cliccabile (ricerca clienti: tabelle .amb-results-table): freccia in fondo alla riga.
   Solo le celle della tabella principale, non le tabelline dentro le celle (es. icone azione). */
.amb-results table.dataTable.amb-results-table > tbody > tr:not(.child) > td:last-child {
	position: relative;
	padding-right: 34px !important;
}
.amb-results table.dataTable.amb-results-table > tbody > tr:not(.child) > td:last-child:after {
	content: "\f054";
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -7px;
	color: #b5b2aa;
	font-family: FontAwesome;
	font-size: 13px;
	line-height: 14px;
}
.amb-results table.dataTable.amb-results-table > tbody > tr:not(.child):hover > td:last-child:after {
	color: #111;
}
.amb-results #ambResultsLimit {
	margin: 6px 0 10px;
}
/* Azioni rapide e news: stessa altezza, news intere senza barra di scorrimento */
.amb-cs-home .amb-cs-newscard {
	overflow: visible;
}
@media (min-width: 992px) {
	.amb-cs-home .amb-cs-bottom {
		align-items: stretch;
	}
	.amb-cs-home .amb-cs-bottom > #csQuickCol,
	.amb-cs-home .amb-cs-bottom > #csNewsCol {
		display: flex;
		flex-direction: column;
	}
	.amb-cs-home .amb-cs-bottom > #csNewsCol[style*="none"] {
		display: none !important;
	}
	.amb-cs-home .amb-cs-bottom > #csQuickCol > .amb-card,
	.amb-cs-home .amb-cs-bottom > #csNewsCol > .amb-card {
		flex: 1 1 auto;
	}
}

/* Ricerca clienti: pulsante Ricerca accanto al campo, dentro la scheda dei criteri */
.amb-value.amb-cs-search {
	display: flex;
	align-items: stretch;
	gap: 10px;
}
.amb-value.amb-cs-search input.form-control {
	flex: 1 1 auto;
	min-width: 0;
}
.amb-cs-search .amb-cs-search-btn {
	flex: 0 0 auto;
	height: auto;
	margin: 0;
	padding: 0 22px;
	white-space: nowrap;
}
@media (max-width: 480px) {
	.amb-cs-search .amb-cs-search-btn {
		padding: 0 12px;
	}
	.amb-cs-search .amb-cs-search-btn .fa {
		margin: 0;
	}
}
/* Codici di blocco accanto alla ragione sociale */
.amb-results .amb-blocks .amb-badge {
	margin: 1px 0 1px 6px;
	background: #fbecec;
	border-color: #efc8c8;
	color: #9b2c2c;
}
/* Colonna Blocco della ricerca clienti: etichette rosse con fumetto (data-tip) al passaggio del mouse
   o al tocco (.open, per iPad), legenda dei codici sotto la tabella */
.amb-results .amb-block-badge {
	position: relative;
	margin: 1px 4px 1px 0;
	background: #fbecec;
	border-color: #efc8c8;
	color: #9b2c2c;
	white-space: nowrap;
	cursor: pointer;
	outline: none;
}
.amb-results .amb-block-badge::after {
	content: attr(data-tip);
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 30;
	width: 220px;
	padding: 8px 10px;
	border-radius: 3px;
	background: #222;
	color: #fff;
	font-family: Lato, sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
	text-align: left;
	white-space: normal;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s;
	pointer-events: none;
}
.amb-results .amb-block-badge:hover::after,
.amb-results .amb-block-badge.open::after {
	opacity: 1;
	visibility: visible;
}
.amb-results .amb-block-badge:focus-visible {
	outline: 1px dotted #9b2c2c;
	outline-offset: 2px;
}
.amb-block-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 12px 0 4px;
	color: #666;
	font-size: 13px;
}
.amb-block-legend[hidden] {
	display: none;
}
.amb-block-legend .amb-badge {
	margin: 0 4px 0 0;
	background: #fbecec;
	border-color: #efc8c8;
	color: #9b2c2c;
}

/* Ricerca clienti (home Customer Service, agente, capo area, corporate, admin boutique): intestazione compatta
   senza foto e due colonne, criteri e risultati a sinistra, azioni rapide e news a destra */
.amb-hero.amb-hero-plain {
	padding: 18px 0 4px;
	background: none !important;
	color: #1d1d1b;
}
.amb-hero.amb-hero-plain:before {
	display: none;
}
.amb-hero.amb-hero-plain .container {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 16px;
}
.amb-hero.amb-hero-plain .amb-hero-kicker {
	flex: 0 0 100%;
	color: #8a877f;
}
.amb-hero.amb-hero-plain h1 {
	color: #1d1d1b;
	font-size: 28px;
}
.amb-hero-user {
	margin-left: auto;
	color: #6b6b66;
	font-size: 13px;
}
body.amb-pagehead .amb-hero.amb-hero-plain + .news .amb-page.amb-raised {
	margin-top: 8px;
}
.amb-cs-empty {
	padding: 34px 20px !important;
	color: #6b6b66;
	font-size: 14px;
	text-align: center;
}
.amb-cs-empty .fa {
	display: block;
	margin-bottom: 8px;
	color: #c4c0b7;
	font-size: 28px;
}
.amb-results .amb-dt-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 4px;
}
.amb-results .amb-dt-top .dataTables_info {
	padding: 0 !important;
	color: #6b6b66;
	font-size: 13px;
}
.amb-results .amb-dt-top .dt-buttons {
	float: none;
	margin: 0;
}
@media (min-width: 992px) {
	.amb-cs-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 620px;
		gap: 24px;
		align-items: start;
	}
	.amb-cs-side {
		position: sticky;
		/* sotto il menu fisso in alto, altrimenti scorrendo l'intestazione delle azioni rapide finisce sotto il menu */
		top: 60px;
	}
}
/* Colonna destra: azioni rapide una sotto l'altra */
.amb-cs-side .amb-card {
	padding-top: 6px;
	padding-bottom: 6px;
}
.amb-cs-home .amb-cs-side .amb-quick {
	display: block;
	margin: 0;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item {
	min-height: 0;
	margin: 0;
	padding: 12px 0;
	border: 0;
	border-top: 1px solid #eee;
	box-shadow: none;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item:first-child {
	border-top: 0;
}
.amb-cs-home .amb-cs-side .amb-cs-newscard .amb-home-news li {
	padding: 11px 0;
}
.amb-cs-home .amb-cs-side .amb-cs-newscard .amb-home-news-all {
	padding: 10px 0 8px;
}
/* Pulsante Ricerca accanto al campo: pulsante principale nero come nelle altre pagine */
.amb-cs-search .amb-cs-search-btn,
body.amb-pagehead .amb-cs-search .amb-cs-search-btn {
	border: 1px solid #111;
	background: #111;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.amb-cs-search .amb-cs-search-btn:hover,
.amb-cs-search .amb-cs-search-btn:focus {
	background: #333;
	border-color: #333;
	color: #fff;
}
/* Intestazione compatta: i :before/:after di .container (Bootstrap) diventavano elementi della riga flex e
   spostavano titolo e nome di uno spazio; senza, il titolo e' allineato alle schede */
.amb-hero.amb-hero-plain .container:before,
.amb-hero.amb-hero-plain .container:after {
	display: none;
}
/* Colonna destra: azioni rapide 2 x 2 (riquadri con icona sopra il testo), news larghe come la colonna */
.amb-cs-home .amb-cs-side .amb-quick {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 8px 0;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item,
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item:first-child {
	position: relative;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	min-height: 104px;
	margin: 0;
	padding: 14px 10px;
	border: 1px solid #e3e1dd;
	text-align: center;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item:hover,
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item:focus {
	border-color: #111;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item .fa:not(.amb-quick-ext) {
	margin-right: 0;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-ext {
	position: absolute;
	top: 8px;
	right: 8px;
	margin: 0;
}
/* Intestazione compatta con la foto del marchio a destra, sfumata verso il titolo */
.amb-hero.amb-hero-plain {
	overflow: hidden;
	padding: 26px 0 20px;
}
.amb-hero-plain .amb-hero-photo {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 62%;
	background: center 55% / cover no-repeat;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.35) 35%, #000 100%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.35) 35%, #000 100%);
}
.amb-hero.amb-hero-plain .container {
	z-index: 1;
}
.amb-hero.amb-hero-plain .amb-hero-user {
	flex: 0 0 100%;
	margin-left: 0;
}
@media (max-width: 767px) {
	.amb-hero-plain .amb-hero-photo {
		width: 100%;
		opacity: 0.35;
	}
}
/* Colonna destra piu' larga: azioni rapide 2 x 2 basse, con icona accanto al testo */
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item,
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item:first-child {
	flex-direction: row;
	justify-content: flex-start;
	gap: 12px;
	min-height: 64px;
	padding: 10px 30px 10px 14px;
	text-align: left;
}
/* Ricerca clienti: fascia fotografica compatta (circa meta' altezza), titolo bianco e a destra chi e' collegato.
   Sostituisce la variante chiara .amb-hero-plain (non piu' usata da js/amb-pagehead.js) */
.amb-hero.amb-hero-compact {
	padding: 6px 0 30px;
}
.amb-hero.amb-hero-compact .container {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 16px;
}
.amb-hero.amb-hero-compact .container:before,
.amb-hero.amb-hero-compact .container:after {
	display: none;
}
.amb-hero.amb-hero-compact .amb-hero-kicker {
	flex: 0 0 100%;
}
.amb-hero.amb-hero-compact h1 {
	margin: 2px 0 0;
	font-size: 24px;
}
.amb-hero.amb-hero-compact .amb-hero-user {
	margin-left: auto;
	color: rgba(255, 255, 255, 0.8);
	font-size: 13px;
}
/* Ricerca clienti: pagina larga quanto la finestra (fino a 2400 px) sugli schermi grandi, cosi' la tabella ha spazio per
   tutte le colonne su una riga; stessa larghezza per la fascia, cosi' il titolo resta allineato */
@media (min-width: 1400px) {
	.container.amb-page.amb-cs-home,
	.amb-hero.amb-hero-compact .container {
		width: auto;
		max-width: 2400px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 32px;
		padding-right: 32px;
	}
}
/* Colonna destra ferma solo se lo schermo e' abbastanza alto da mostrarla tutta */
@media (min-width: 992px) and (max-height: 760px) {
	.amb-cs-side {
		position: static;
	}
}
/* Azioni rapide nella colonna destra piu' basse: testo su una riga, icona piccola, spaziature ridotte,
   cosi' colonna e footer si vedono senza scorrere */
.amb-cs-home .amb-cs-side .amb-card {
	padding-top: 4px;
	padding-bottom: 4px;
}
.amb-cs-home .amb-cs-side .amb-quick {
	gap: 8px;
	margin: 10px 0;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item,
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item:first-child {
	gap: 10px;
	min-height: 0;
	padding: 7px 26px 7px 10px;
	font-size: 14px;
	line-height: 1.3;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item span {
	overflow: hidden;
	min-width: 0;
	white-space: nowrap;
	text-overflow: ellipsis;
	line-height: 1.3;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-item .fa:not(.amb-quick-ext) {
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-size: 14px;
}
.amb-cs-home .amb-cs-side .amb-quick .amb-quick-ext {
	top: 50%;
	right: 9px;
	margin-top: -6px;
	font-size: 11px;
}
/* Colonna sinistra alta quanto la destra: il riquadro Risultati (vuoto o con la tabella) arriva in fondo
   come le news. La colonna destra resta "start" per poter restare ferma scorrendo. */
@media (min-width: 992px) {
	.amb-cs-layout > .amb-cs-main {
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	.amb-cs-main > #homeResults {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
	}
	.amb-cs-main > #homeResults[style*="none"],
	.amb-cs-main > #homeEmpty[style*="none"] {
		display: none !important;
	}
	.amb-cs-main > #homeResults > .amb-card {
		flex: 1 1 auto;
	}
	.amb-cs-main .amb-cs-empty {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
}
/* Risultati prima della ricerca: riquadro basso (circa come le azioni rapide), non allungato fino in fondo */
.amb-cs-main .amb-cs-empty {
	padding: 22px 20px !important;
	font-size: 13px;
}
.amb-cs-main .amb-cs-empty .fa {
	margin-bottom: 6px;
	font-size: 22px;
}
/* Footer: la scritta "Scanner" sotto l'icona non deve alzare la riga dei marchi (altrimenti le icone social
   si allontanano dai loghi): la scritta e' posizionata sotto l'icona senza occupare spazio */
.amb-footer-scan {
	position: relative;
	display: inline-block;
}
.amb-footer-scan img {
	display: block;
	height: 40px;
}
.amb-footer-scan span {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-top: 2px;
	transform: translateX(-50%);
}
/* Colonna dello scanner nel footer: alta come i loghi, cosi' non allarga la riga e le icone social restano vicine ai marchi */
.copy-right-section .social-icons.hideSocial {
	height: 42px;
	overflow: visible;
}
.copy-right-section .social-icons.hideSocial ul.soc_icons2 {
	margin-bottom: 0;
}
.amb-footer-scan {
	vertical-align: top;
}
/* Pulsante Ricerca accanto al campo: .customBtn del tema ha z-index -1; dentro un contenitore flex il valore conta
   e il pulsante finiva sotto lo sfondo, quindi il clic non arrivava (funzionava solo Invio) */
.amb-cs-search .amb-cs-search-btn {
	position: relative;
	z-index: 1;
}
/* Risultati ricerca clienti: con spazio sufficiente (pagina larga) tutto resta su una riga; se lo schermo e' piu' stretto
   ragione sociale, indirizzo e gruppo prezzi vanno a capo invece di nascondere colonne sotto il "+" */
.amb-results table.dataTable tbody td {
	white-space: normal;
}
.amb-results table.dataTable tbody td:first-child,
.amb-results .amb-blocks .amb-badge,
.amb-results table.dataTable thead th {
	white-space: nowrap;
}
/* Tutte le tabelle DataTables che si riducono (Responsive): al posto del "+" verde in alto a sinistra una freccia
   discreta centrata in verticale nella prima cella; aperta la riga diventa una freccia verso l'alto su fondo nero */
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
	position: relative;
	padding-left: 36px !important;
	cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
	top: 50%;
	left: 8px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border: 1px solid #d6d3cc;
	border-radius: 50%;
	box-shadow: none;
	box-sizing: border-box;
	background: #fff;
	color: #555;
	font-family: FontAwesome;
	font-size: 12px;
	line-height: 18px;
	text-align: center;
	text-indent: 0;
	content: "\f107";
	transition: background-color 0.15s, color 0.15s;
}
table.dataTable.dtr-inline.collapsed > tbody > tr:hover > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr:hover > th:first-child:before {
	border-color: #111;
	color: #111;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
	border-color: #111;
	background: #111;
	color: #fff;
	content: "\f106";
}
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
	top: 50%;
	left: 6px;
	height: 18px;
	width: 18px;
	margin-top: -9px;
	line-height: 16px;
	text-indent: 0;
}
/* Dettaglio della riga aperta: etichetta in grassetto e valore, come le altre schede */
table.dataTable > tbody > tr.child > td > ul > li {
	padding: 6px 0;
	border-bottom: 1px solid #eee;
}
table.dataTable > tbody > tr.child span.dtr-title {
	min-width: 140px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #222;
}
/* Dettaglio della riga aperta (colonne nascoste): voci su griglia allineate a sinistra, sotto il contenuto della riga,
   etichetta a larghezza fissa e valore accanto; su schermi larghi piu' voci per riga */
table.dataTable > tbody > tr.child > td.child,
table.dataTable.dtr-inline.collapsed > tbody > tr.child > td:first-child {
	padding: 4px 12px 12px 36px !important;
	text-align: left;
	white-space: normal;
}
table.dataTable > tbody > tr.child > td > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 0 32px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
table.dataTable > tbody > tr.child > td > ul > li {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 7px 0;
	border-bottom: 1px solid #eee;
}
table.dataTable > tbody > tr.child span.dtr-title {
	flex: 0 0 130px;
	min-width: 0;
	overflow: hidden;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
}
table.dataTable > tbody > tr.child span.dtr-data {
	flex: 1 1 auto;
	min-width: 0;
}
/* Responsive di questa versione: l'elenco non ha la classe dtr-details e l'etichetta riporta il contenuto
   dell'intestazione (div con text-align a destra o al centro e spazi): nel dettaglio sempre a sinistra su una riga */
table.dataTable > tbody > tr.child span.dtr-title div,
table.dataTable > tbody > tr.child span.dtr-title .line-reduced {
	display: inline;
	line-height: inherit !important;
	text-align: left !important;
	white-space: nowrap !important;
}
table.dataTable > tbody > tr.child span.dtr-data img {
	cursor: pointer;
	vertical-align: middle;
}
/* Home boutique: azioni rapide e news leggermente trasparenti, cosi' la foto di sfondo (comunicazione dei marchi)
   si intravede; leggera sfocatura per mantenere il testo leggibile. Al passaggio del mouse la card torna piena. */
.amb-home-action {
	background: rgba(255, 255, 255, 0.80);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
.amb-home-action:hover,
.amb-home-action:focus {
	background: rgba(255, 255, 255, 0.96);
}
.amb-home-ic {
	background: rgba(241, 239, 234, 0.85);
}
.amb-home-newsbox .amb-home-news {
	background: rgba(255, 255, 255, 0.82);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
/* Home ricerca clienti (Customer Service, field specialist, area manager, corporate): griglia 2 x 2 con i riquadri
   della stessa riga alti uguali: Criteri | Azioni rapide, Risultati | News. Colonne e contenitori diventano
   "display: contents", cosi' i blocchi si dispongono direttamente nella griglia. */
@media (min-width: 992px) {
	.amb-cs-layout.amb-cs-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 620px;
		grid-template-areas: "criteria quick" "results news";
		column-gap: 24px;
		row-gap: 0;
		align-items: stretch;
	}
	.amb-cs-layout.amb-cs-grid > .amb-cs-main,
	.amb-cs-layout.amb-cs-grid > .amb-cs-side {
		display: contents;
	}
	.amb-cs-grid .amb-cs-criteria,
	.amb-cs-grid #homeEmpty,
	.amb-cs-grid #homeResults,
	.amb-cs-grid #csNewsCol,
	.amb-cs-grid #csQuickCol {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}
	.amb-cs-grid .amb-cs-criteria { grid-area: criteria; }
	.amb-cs-grid #homeEmpty,
	.amb-cs-grid #homeResults { grid-area: results; }
	.amb-cs-grid #csNewsCol { grid-area: news; }
	.amb-cs-grid #csQuickCol { grid-area: quick; }
	.amb-cs-grid #homeEmpty[style*="none"],
	.amb-cs-grid #homeResults[style*="none"],
	.amb-cs-grid #csNewsCol[style*="none"] {
		display: none !important;
	}
	.amb-cs-grid .amb-cs-criteria > .amb-card,
	.amb-cs-grid #homeEmpty > .amb-card,
	.amb-cs-grid #homeResults > .amb-card,
	.amb-cs-grid #csNewsCol > .amb-card,
	.amb-cs-grid #csQuickCol > .amb-card {
		flex: 1 1 auto;
	}
	.amb-cs-grid #homeEmpty .amb-cs-empty {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	/* Azioni rapide accanto ai criteri: i pulsanti occupano in altezza tutto il riquadro (righe uguali) */
	.amb-cs-grid #csQuickCol > .amb-card {
		display: flex;
		flex-direction: column;
	}
	.amb-cs-grid #csQuickCol .amb-quick {
		flex: 1 1 auto;
		grid-auto-rows: minmax(64px, 1fr);
	}
	/* con la tabella dei risultati le news restano della loro altezza */
	.amb-cs-grid:has(#homeResults:not([style*="none"])) #csNewsCol {
		align-self: start;
	}
	.amb-cs-grid:has(#homeResults:not([style*="none"])) #csNewsCol > .amb-card {
		flex: 0 0 auto;
	}
}
/* Home ricerca senza colonna destra (admin boutique: niente azioni rapide e news): criteri e risultati a tutta larghezza */
@media (min-width: 992px) {
	.amb-cs-layout.amb-cs-single {
		display: block;
	}
}
/* Admin boutique: solo ricerca, pagina stretta (1100 px) e centrata; la fascia usa la stessa larghezza */
.container.amb-page.amb-cs-home.amb-cs-narrow,
body:has(.amb-cs-narrow) .amb-hero.amb-hero-compact .container {
	max-width: 1100px;
}

/* Strumenti tecnici (admin/techTools.jsp) */
.amb-tech-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 15px;
	margin: 20px 0;
}
.amb-tech-tool {
	/* righe della griglia condivise (subgrid): titolo, descrizione, pulsante, esito, ultima esecuzione.
	   I pulsanti restano allineati anche con descrizioni di lunghezza diversa */
	display: grid;
	grid-row: span 5;
	grid-template-rows: subgrid;
	row-gap: 0;
	align-content: start;
	margin-bottom: 0;
	/* contesto di sovrapposizione: .customBtn ha z-index -1 e finirebbe sotto lo sfondo della scheda */
	position: relative;
	z-index: 0;
}
.amb-tech-tool h4 {
	margin: 0 0 8px;
	font-weight: 600;
}
.amb-tech-tool p {
	color: #666;
}
.amb-tech-last {
	font-size: 13px;
	margin: 8px 0 0;
}
.amb-tech-run {
	align-self: start;
	justify-self: center;
}
.amb-tech-result {
	margin-top: 10px;
	font-size: 13px;
	min-height: 18px;
}
.amb-tech-ok {
	color: #2e7d32;
}
.amb-tech-ko {
	color: #b00020;
}
.amb-tech-info dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 6px 20px;
	margin: 0;
}
.amb-tech-info dt {
	font-weight: 600;
	color: #555;
}
.amb-tech-info dd {
	margin: 0;
	overflow-wrap: anywhere;
}

/* Knowledge base: blocchi di codice (comandi, query) della documentazione tecnica */
.amb-kb pre.amb-kb-code {
	background: #F6F4F0;
	border: 1px solid #E6E1D8;
	border-radius: 4px;
	padding: 10px 12px;
	margin: 8px 0 14px;
	font-size: 12.5px;
	line-height: 1.5;
	white-space: pre;
	overflow-x: auto;
	color: #222;
}
.amb-kb pre.amb-kb-code code {
	background: none;
	padding: 0;
	color: inherit;
	font-size: inherit;
}

/* Proposta d'ordine vista dal cliente (offerDiogene.do, diogene/riassuntoDiogeneOffer.jsp) */
.amb-offer .news-top {
	text-align: center;
}
.amb-offer-kicker {
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #8c7b62;
	margin-bottom: 4px;
}
.amb-offer .amb-intro {
	margin-bottom: 10px;
}
.amb-cart-table .amb-offer-pap {
	color: #888;
}
/* Informazioni per il cliente: riquadro sabbia, non rosso (il rosso resta solo per gli errori) */
.amb-message.amb-offer-help {
	margin: 16px 0 0;
	border-color: #e6e1d8;
	border-left: 3px solid #8c7b62;
	background: #f6f4f0;
	color: #444;
	font-size: 14px;
}
.amb-offer-help p {
	margin: 0 0 4px;
	line-height: 1.5;
}
.amb-offer-help p:last-child {
	margin-bottom: 0;
}
/* Pulsante ORDINA in fondo alla card, a destra sotto il totale */
.amb-offer .amb-offer-actions {
	text-align: right;
	margin: 16px 0 4px;
}
.amb-offer .amb-offer-actions .btn {
	margin: 0;
	min-width: 180px;
}

/* Logo nella fascia fotografica per le pagine con intestazione "login" (es. proposta d'ordine dal link dell'email) */
body.amb-hero-with-logo .header-section.two {
	display: none;
}
/* senza la barra del logo non serve lo spazio della navbar fissa (style_Damiani.css: body padding-top 50px) */
body.amb-hero-with-logo {
	padding-top: 0;
}
/* sopratitolo della proposta (es. "Proposta d'ordine · N. 853985") ben leggibile sulla foto */
body.amb-hero-with-logo .amb-hero-kicker {
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
.amb-hero-logo {
	margin: 6px 0 14px;
}
.amb-hero-logo img {
	height: 30px;
	width: auto;
	/* logo nero -> bianco sulla foto */
	filter: brightness(0) invert(1);
}
.amb-offer .amb-cart-table td strong {
	font-weight: 600;
}

/* Esito della risposta alla proposta (diogene/offerOutcome.jsp): card centrata con icona */
.amb-offer-result {
	max-width: 520px;
	margin: 10px auto 30px;
	padding: 30px 24px 24px;
	text-align: center;
}
.amb-offer-result-icon {
	width: 56px;
	height: 56px;
	line-height: 56px;
	margin: 0 auto 16px;
	border-radius: 50%;
	font-size: 24px;
	color: #fff;
	background: #8c7b62;
}
.amb-offer-result-ok .amb-offer-result-icon {
	background: #5f7d5b;
}
.amb-offer-result-ko .amb-offer-result-icon {
	background: #a5533f;
}
.amb-offer-result-text {
	font-size: 16px;
	line-height: 1.5;
	color: #333;
	margin: 0 0 12px;
}
.amb-offer-result-order {
	display: inline-block;
	margin: 0 0 14px;
	padding: 6px 14px;
	background: #f6f4f0;
	border: 1px solid #e6e1d8;
	font-weight: 600;
	letter-spacing: 0.5px;
}
.amb-offer-result-contact {
	font-size: 13px;
	color: #888;
	margin: 6px 0 0;
}
/* Riepilogo della proposta dopo ORDINA (diogene/offerOrdineInserito.jsp) */
.amb-offer-summary {
	margin: 4px auto 14px;
	padding: 12px 0 0;
	border-top: 1px solid #ece8e1;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	column-gap: 14px;
	row-gap: 4px;
	text-align: left;
	font-size: 13px;
}
.amb-offer-summary dt {
	font-weight: normal;
	color: #8c7b62;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 11px;
	line-height: 20px;
}
.amb-offer-summary dd {
	margin: 0;
	color: #333;
	line-height: 20px;
}
/* Inviata da / data nel riepilogo in testa alla proposta */
.amb-offer-meta {
	padding-top: 7px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Proposta d'ordine sul telefono: ogni prodotto diventa una scheda, le colonne righe "etichetta valore";
   il pulsante Ordina resta visibile in fondo allo schermo */
@media (max-width: 767px) {
	.amb-offer .amb-cart .table-responsive {
		overflow: visible;
	}
	.amb-offer .amb-cart-table thead {
		display: none;
	}
	.amb-offer .amb-cart-table,
	.amb-offer .amb-cart-table tbody,
	.amb-offer .amb-cart-table tr,
	.amb-offer .amb-cart-table td {
		display: block;
		width: 100%;
	}
	.amb-offer .amb-cart-table tr {
		position: relative;
		min-height: 96px;
		padding: 12px 0 12px 84px;
		border-top: 1px solid #eee;
	}
	.amb-offer .amb-card .amb-cart-table > tbody > tr > td {
		border: 0;
		padding: 2px 0;
		text-align: left;
		white-space: normal;
	}
	/* "etichetta  valore": etichetta a sinistra, valore (ed eventuale riga sotto) rientrati */
	.amb-offer .amb-card .amb-cart-table > tbody > tr > td[data-label] {
		position: relative;
		padding-left: 120px;
	}
	.amb-offer .amb-cart-table td.amb-cart-img {
		position: absolute;
		left: 0;
		top: 12px;
		width: 72px;
		padding: 0;
	}
	.amb-offer .amb-cart-table td.amb-cart-img img {
		max-width: 72px;
		max-height: 72px;
	}
	.amb-offer .amb-cart-table td[data-label]:before {
		content: attr(data-label);
		position: absolute;
		left: 0;
		top: 4px;
		width: 116px;
		color: #888;
		font-size: 10px;
		letter-spacing: 0.3px;
		text-transform: uppercase;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.amb-offer .amb-cart-table td.amb-offer-tot {
		margin-top: 4px;
		font-size: 15px;
	}
	.amb-offer .amb-cart-totals {
		flex-direction: column;
		align-items: flex-end;
	}
	.amb-offer .amb-offer-actions {
		position: sticky;
		bottom: 0;
		z-index: 5;
		margin: 16px -16px -16px;
		padding: 10px 16px;
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.08);
	}
	.amb-offer .amb-offer-actions .btn {
		width: 100%;
		margin: 0;
	}
	.amb-hero-logo img {
		height: 24px;
	}
}

/* Tablet e schermi medi (768-1399px): il .container del bootstrap del progetto ha solo 2px di margine interno,
   fascia e card toccavano il bordo dello schermo */
@media (min-width: 768px) and (max-width: 1399px) {
	.amb-hero .container,
	body.amb-pagehead .amb-page.amb-raised {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* Carrello su tablet in verticale e telefono (fino a 991px): ogni prodotto diventa una scheda (come la proposta d'ordine),
   cosi' si vedono tutte le colonne senza scorrere di lato. Selezione e foto a sinistra, cestino a destra,
   le altre colonne come righe "etichetta valore" (data-label in ajax/diogene/riassuntoDiogeneOrderData.jsp) */
@media (max-width: 991px) {
	.amb-cart .table-responsive {
		overflow: visible;
	}
	.amb-cart-table.amb-cart-cards,
	.amb-cart-table.amb-cart-cards tbody,
	.amb-cart-table.amb-cart-cards tr,
	.amb-cart-table.amb-cart-cards td {
		display: block;
		width: 100%;
	}
	/* intestazione: resta solo la casella "seleziona tutti" */
	.amb-cart-table.amb-cart-cards thead,
	.amb-cart-table.amb-cart-cards thead tr {
		display: block;
	}
	.amb-cart-table.amb-cart-cards thead th {
		display: none;
	}
	.amb-cart-table.amb-cart-cards thead th.amb-cart-sel {
		display: block;
		width: auto;
		border: 0;
		padding: 0 0 8px;
		text-align: left;
	}
	.amb-cart-table.amb-cart-cards > tbody > tr {
		position: relative;
		display: flex;
		flex-direction: column;
		min-height: 100px;
		padding: 14px 44px 14px 118px;
		border-top: 1px solid #eee;
	}
	.amb-cart-table.amb-cart-cards > tbody > tr > td {
		border: 0;
		padding: 2px 0;
		text-align: left;
		white-space: normal;
	}
	.amb-cart-table.amb-cart-cards > tbody > tr:hover > td {
		background: transparent;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-sel {
		position: absolute;
		left: 0;
		top: 40px;
		width: 30px;
		padding: 0;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-img {
		position: absolute;
		left: 34px;
		top: 14px;
		width: 72px;
		padding: 0;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-delcol {
		position: absolute;
		right: 0;
		top: 10px;
		width: 40px;
		padding: 0;
	}
	/* descrizione in cima alla scheda (nella tabella e' dopo "Informazione utente") */
	.amb-cart-table.amb-cart-cards td.amb-cart-desc {
		order: -1;
		padding-bottom: 6px;
	}
	.amb-cart-table.amb-cart-cards > tbody > tr > td[data-label] {
		position: relative;
		padding-left: 150px;
		min-height: 22px;
	}
	.amb-cart-table.amb-cart-cards td[data-label]:before {
		content: attr(data-label);
		position: absolute;
		left: 0;
		top: 5px;
		width: 144px;
		color: #888;
		font-size: 10px;
		letter-spacing: 0.3px;
		text-transform: uppercase;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.amb-cart-table.amb-cart-cards td.amb-num {
		text-align: left;
	}
}
@media (max-width: 480px) {
	.amb-cart-table.amb-cart-cards > tbody > tr {
		padding-left: 96px;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-img {
		left: 30px;
		width: 56px;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-img img {
		max-width: 56px;
		max-height: 56px;
	}
	.amb-cart-table.amb-cart-cards > tbody > tr > td[data-label] {
		padding-left: 110px;
	}
	.amb-cart-table.amb-cart-cards td[data-label]:before {
		width: 104px;
	}
}

/* ======================================================================================
   Tablet (iPad: 768px in verticale, 1024px in orizzontale) - verifica pagina per pagina
   ====================================================================================== */

/* Login: loghi delle maison staccati dal bordo; "Ricordami" con casella grande da toccare */
@media (min-width: 768px) and (max-width: 1199px) {
	body.amb-login-page .amb-login-brands {
		max-width: calc(100% - 48px);
	}
	body.amb-login-page .amb-login-maisons {
		gap: 6px 20px;
	}
	body.amb-login-page .amb-login-maisons img {
		height: 44px;
	}
}
body.amb-login-page .amb-login-remember {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	cursor: pointer;
}
body.amb-login-page .amb-login-remember input[type=checkbox] {
	width: 20px;
	height: 20px;
	margin: 0;
}

/* Assistente Zendesk (footer/default.jsp): sul tablet pulsante piu' piccolo e niente fumetto di benvenuto,
   che copriva i contenuti in basso a sinistra */
@media (max-width: 1199px) {
	iframe#launcher {
		transform: scale(0.8);
		transform-origin: left bottom;
	}
	iframe[title="Message from company"],
	iframe[title="Close message"],
	iframe[title="Messaggio dall'azienda"],
	iframe[title="Chiudi messaggio"] {
		display: none !important;
	}
}

/* Fascia in fondo (footer/default.jsp): fino a 1199px versione compatta (loghi piccoli, senza icone social),
   la riga non sporge di lato (il contenitore ha padding 0 nel JSP) */
.copy-right-section .row {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 992px) and (max-width: 1199px) {
	.copy-right-section .hideSocial,
	.copy-right-section .hideNews {
		display: none !important;
	}
	.copy-right-section .microSocial {
		display: block !important;
	}
}
@media (max-width: 1199px) {
	.copy-right-section .microSocial {
		display: block !important;
		padding-bottom: 10px;
	}
	.copy-right-section .microSocial > img {
		height: 30px !important;
		margin: 10px 0 4px;
	}
	.copy-right-section .microSocial > div {
		zoom: 0.55;
	}
}

/* Home della boutique, tablet in verticale: schede delle azioni rapide piu' basse, le News si vedono all'apertura */
@media (min-width: 768px) and (max-width: 991px) {
	.amb-home-action {
		min-height: 96px;
		padding: 16px 18px;
	}
	.amb-home-ic {
		flex-basis: 48px;
		height: 48px;
		margin-right: 14px;
		font-size: 21px;
	}
	.amb-home-t {
		font-size: 17px;
	}
	.amb-home-d {
		font-size: 13px;
	}
}

/* Titolo della fascia: interlinea compatta se va su due righe; sul tablet un po' piu' piccolo */
.amb-hero h1 {
	line-height: 1.25;
}
@media (min-width: 768px) and (max-width: 1199px) {
	.amb-hero h1 {
		font-size: 26px;
	}
}

/* Scheda prodotto (diogene/selectProductDiogene.jsp): valori allineati sulla stessa colonna */
.amb-sheet .amb-sheet-card p > .labelmateriale:first-child {
	display: inline-block;
	width: 132px;
	padding-right: 6px;
	white-space: normal; /* etichette lunghe (es. "Min - Max size with same retail price") a capo, non sopra il valore */
	line-height: 1.3;
	vertical-align: top;
}
.amb-sheet .amb-sheet-card p > .labelmateriale:first-child + .infomateriale {
	display: inline-block;
	max-width: calc(100% - 138px);
	line-height: 1.4;
	vertical-align: top;
}
/* Desktop: colonne dei dati larghe quanto l'etichetta piu' lunga (etichette su una riga, valori allineati);
   sotto i 1200px restano le etichette a capo della regola sopra */
@media (min-width: 1200px) {
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 6px;
		align-content: start;
	}
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > p,
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > .no-print,
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > .no-print > p {
		display: contents; /* .no-print: numero di certificato (link a schermo, testo in stampa) */
		text-align: left; /* .no-print altrove e' centrato (ambassador-ui.css) */
	}
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > p > .labelmateriale:first-child,
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > .no-print > p > .labelmateriale:first-child {
		width: auto;
		padding: 0;
		white-space: nowrap;
	}
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > p > .labelmateriale:first-child + .infomateriale,
	.amb-sheet .amb-sheet-card > .row > .col-xs-4.text-left > .no-print > p > .labelmateriale:first-child + .infomateriale {
		max-width: none;
	}
}
/* Tabella giacenze (#example.amb-stock-table): stile delle tabelle nuove, quantita' a destra, zeri in grigio */
.amb-sheet-table.amb-results .amb-dt-top,
.amb-sheet-table.amb-results .amb-dt-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
.amb-sheet-table.amb-results .amb-dt-top {
	margin-bottom: 10px;
}
.amb-sheet-table.amb-results .amb-dt-bottom {
	margin-top: 10px;
}
.amb-sheet-table.amb-results .dataTables_filter input {
	width: 220px;
	height: 34px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #ddd;
}
.amb-sheet-table.amb-results .dataTables_length select {
	height: 30px;
}
.amb-results table.amb-stock-table thead th.dt-right,
.amb-results table.amb-stock-table > tbody > tr > td.dt-right {
	width: 1%;
	padding-left: 18px;
	text-align: right !important;
	white-space: nowrap;
}
.amb-stock-table .amb-dt-zero {
	color: #c4c0b8;
}

/* Inserimento sellout (inserimento.jsp): tastierino nello stile delle pagine (era css/jquery.keypad.css) */
.amb-code-keypad #keypad.keypad {
	display: inline-grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	width: 100%;
	max-width: 320px;
}
.amb-code-keypad .keypad button {
	width: auto;
	height: 56px;
	margin: 0;
	border: 1px solid #ccc;
	border-radius: 0;
	background: #fff;
	color: #111;
	font-family: Lato, sans-serif;
	font-size: 24px;
	font-weight: 300;
	transition: background 0.1s, border-color 0.1s;
}
.amb-code-keypad .keypad button:hover {
	border-color: #222;
}
.amb-code-keypad .keypad button:active {
	background: #f2f1ee;
}
.amb-code-keypad .keypad button.delete {
	background: #f6f4f0;
	color: #333;
}
.amb-code-keypad .keypad button.submit {
	border-color: #111;
	background: #111;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.amb-code-keypad .keypad button.submit:active {
	background: #333;
}
@media (min-width: 768px) and (max-width: 1199px) {
	.amb-code-card .amb-code-send {
		display: none;
	}
	.amb-code-keypad {
		margin-top: 18px;
	}
}
/* Con mouse e tastiera (PC) il tastierino a schermo non serve: nascosto, e "Invia" sempre visibile */
@media (hover: hover) and (pointer: fine) {
	.amb-code-keypad {
		display: none;
	}
	.amb-code-card .amb-code-send {
		display: block;
	}
}

/* Dopo la vendita (customer/selloutCustomer.jsp): conferma con spunta verde */
.amb-message.amb-ok.amb-done {
	border-left-color: #5f7d5b;
	background: #f3f6f1;
	font-weight: 600;
}
.amb-message.amb-done .fa {
	margin-right: 6px;
	color: #5f7d5b;
	font-size: 17px;
}

/* Caselle nei moduli (consensi del cliente, ecc.): ben separate e grandi da toccare.
   Prima il margine era 0 e la casella di un consenso sembrava appartenere all'etichetta precedente */
.amb-value .amb-check {
	gap: 10px;
	height: 40px;
	margin: 0 28px 4px 0;
}
.amb-value .amb-check input[type=checkbox] {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0;
}
.amb-value .amb-check .amb-req {
	margin-left: -6px;
}

/* Finestra dello scanner (footer/default.jsp #scannerPanel, pagine sellout #scannerSelloutPanel): centrata e piu' grande,
   inquadratura a tutta larghezza, pulsanti da toccare. Sovrascrive le larghezze fisse nei JSP (300px / 250px) e
   l'aspetto di base della libreria html5-qrcode */
#scannerPanel .modal-dialog,
#scannerSelloutPanel .modal-dialog {
	width: 100% !important;
	max-width: 480px;
	margin: 60px auto;
	padding: 0 16px;
}
#scannerPanel .modal-content,
#scannerSelloutPanel .modal-content {
	width: 100% !important;
}
#scannerPanel .modal-header,
#scannerSelloutPanel .modal-header {
	padding: 14px 18px !important;
}
#scannerPanel .modal-header > div,
#scannerSelloutPanel .modal-header > div {
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
}
#scannerPanel .modal-body,
#scannerSelloutPanel .modal-body {
	padding: 18px;
}
#reader,
#readerSellout {
	width: 100% !important;
	border: 1px solid #e6e1d8 !important;
	background: #faf9f7;
}
#reader video,
#readerSellout video {
	width: 100% !important;
}
#reader button,
#readerSellout button {
	display: block;
	width: calc(100% - 32px);
	height: 44px;
	margin: 12px auto 6px !important;
	border: 0;
	background: #111;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
#reader select,
#readerSellout select {
	max-width: calc(100% - 32px);
	height: 38px;
	margin: 6px auto;
}
#reader a,
#readerSellout a {
	display: inline-block;
	margin: 6px 0 12px;
	color: #8c7b62;
	text-decoration: underline;
}
#scannerPanel .modal-body center,
#scannerSelloutPanel .modal-body .amb-zoom {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}
#scannerPanel .modal-body center button,
#scannerSelloutPanel .modal-body .amb-zoom button {
	flex: 1 1 0;
	max-width: 80px;
	height: 44px;
	border: 1px solid #ccc;
	background: #fff;
	font-size: 15px;
}
#scannerPanel .modal-body center button.amb-zoom-on,
#scannerSelloutPanel .modal-body .amb-zoom button.amb-zoom-on {
	border-color: #111;
	background: #111;
	color: #fff;
}

/* Freccia "torna su" (js/move-top.js, #toTop): sul tablet pulsante tondo con fondo, staccato dal bordo,
   cosi' non copre i valori delle tabelle */
@media (max-width: 1199px) {
	#toTop {
		right: 16px;
		bottom: 16px;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.95) url("../images/move-up.png") no-repeat center;
		background-size: 22px auto;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
	}
	#toTopHover {
		display: none;
	}
}

/* Carrello a schede, tablet in verticale: dati su due colonne (scheda alta circa 170px invece di 240px) */
@media (min-width: 768px) and (max-width: 991px) {
	.amb-cart-table.amb-cart-cards > tbody > tr {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 24px;
		align-content: start;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-desc {
		grid-column: 1 / -1;
	}
	.amb-cart-table.amb-cart-cards > tbody > tr > td[data-label] {
		min-height: 26px;
		padding-left: 116px;
	}
	/* etichette lunghe (es. "Expected shipment date") su due righe invece che troncate */
	.amb-cart-table.amb-cart-cards td[data-label]:before {
		width: 110px;
		white-space: normal;
		line-height: 1.2;
	}
	.amb-cart-table.amb-cart-cards td.amb-cart-sel,
	.amb-cart-table.amb-cart-cards td.amb-cart-img,
	.amb-cart-table.amb-cart-cards td.amb-cart-delcol {
		width: auto;
	}
}
/* "Tutti" accanto alla casella di selezione: solo nella vista a schede, dove l'intestazione della tabella non c'e' */
.amb-cart-table .amb-cart-all-lbl {
	display: none;
}
@media (max-width: 991px) {
	.amb-cart-table.amb-cart-cards thead th.amb-cart-sel {
		display: flex !important;
		align-items: center;
		gap: 10px;
	}
	.amb-cart-table.amb-cart-cards .amb-cart-all-lbl {
		display: inline;
		margin: 0;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 1px;
		text-transform: uppercase;
		cursor: pointer;
	}
}
/* Avvisi del carrello dentro la card */
.amb-cart .amb-message.amb-cart-help {
	margin: 16px 0 0;
}

/* Dati di vendita (resultTestCode.jsp), utente Customer Service: venditore bloccato (la vendita va all'utente del
   Customer Service), sotto la tendina che vale solo per il reso */
.amb-locked {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid #e6e1d8;
	background: #f6f4f0;
	color: #222;
	font-weight: 600;
}
.amb-locked .fa {
	color: #8c7b62;
}
.amb-locked .amb-locked-sub {
	color: #777;
	font-weight: normal;
}
.amb-label.amb-label-sub {
	margin-top: 14px;
}

/* Dati di vendita (resultTestCode.jsp): titolo del prodotto sopra foto e dati */
.amb-title.amb-product-title {
	margin: 0 0 10px;
}

/* Lightbox delle foto prodotto (js/amb-lightbox.js): sostituisce lo zoom al passaggio del mouse, anche quello di
   css/style.css e delle singole pagine (es. diogene/selectProductDiogene.jsp), che sul tablet non funzionava */
img.zoom-img,
img.zoom-img-big {
	cursor: zoom-in;
}
img.zoom-img:hover,
img.zoom-img-big:hover {
	-webkit-transform: none !important;
	-moz-transform: none !important;
	transform: none !important;
}
/* piccola icona di ingrandimento sull'angolo della foto (dove la foto e' dentro <a class="mask">) */
.amb-image a.mask {
	position: relative;
	display: inline-block;
}
.amb-image a.mask:after {
	content: "\f065";
	position: absolute;
	right: 6px;
	bottom: 6px;
	width: 28px;
	height: 28px;
	line-height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	color: #555;
	font-family: FontAwesome;
	font-size: 13px;
	text-align: center;
	pointer-events: none;
}
/* nessuna icona finche' non c'e' la foto (es. riparazione prima di scegliere il prodotto: src vuoto o immagine nascosta da onerror) */
.amb-image a.mask:has(> img:not([src])):after,
.amb-image a.mask:has(> img[src=""]):after,
.amb-image a.mask:has(> img[style*="none"]):after {
	display: none;
}
.amb-lightbox {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000000;
	padding: 24px;
	background: rgba(17, 17, 17, 0.88);
	align-items: center;
	justify-content: center;
	cursor: zoom-out;
}
.amb-lightbox.amb-lightbox-on {
	display: flex;
}
html.amb-lightbox-open,
html.amb-lightbox-open body {
	overflow: hidden;
}
.amb-lightbox-figure {
	margin: 0;
	max-width: 100%;
	text-align: center;
}
.amb-lightbox-img {
	display: block;
	max-width: min(90vw, 760px);
	max-height: calc(100vh - 120px);
	width: auto;
	height: auto;
	margin: 0 auto;
	padding: 16px;
	background: #fff;
	cursor: default;
}
.amb-lightbox-caption {
	margin-top: 12px;
	color: #eee;
	font-size: 13px;
	letter-spacing: 1.5px;
}
.amb-lightbox-close {
	position: absolute;
	top: 14px;
	right: 18px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 30px;
	line-height: 44px;
	cursor: pointer;
}
.amb-lightbox-close:hover,
.amb-lightbox-close:focus {
	background: rgba(255, 255, 255, 0.25);
	outline: none;
}

/* Codice prodotto con foto nelle tabelle di ricerca (a.screenshot): si tocca per aprire la foto nella lightbox */
a.screenshot[rel] {
	cursor: zoom-in;
}

/* Pulsante scanner accanto al campo codice (inserimento sellout, Jewellery info, matricola garanzia): icona piu' leggera */
/* Campo codice + bottone scanner (info, inserimento, ricartellinatura): stessa altezza, 44px (minimo per il tocco su iPad) */
.amb-card .amb-code-row .amb-code-input,
body.amb-pagehead .amb-card .amb-code-row .amb-code-input {
	height: 44px;
	font-size: 18px;
}
.amb-code-scan {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
}
.amb-code-scan img {
	height: 22px !important;
	opacity: 0.85;
}

/* Ricerca prodotti (ajax/diogene/resultManageBase.jsp) */
/* Griglia: la scheda bianca comprende anche quantita' e "Al carrello" (prima restavano sotto, sul fondo grigio) */
.amb-dg #materialData .form-group > .col-md-3 {
	position: relative;
}
.amb-dg #materialData .form-group > .col-md-3:before {
	content: "";
	position: absolute;
	top: 15px;
	right: 15px;
	bottom: 5px;
	left: 15px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}
.amb-dg #materialData .form-group > .col-md-3 > * {
	position: relative;
}
.amb-dg #materialData .form-group > .col-md-3 .materialGridContainer {
	box-shadow: none;
}
.amb-dg #materialData .form-group > .col-md-3 .qty-selector {
	justify-content: center;
	padding-bottom: 12px !important;
}
/* descrizione su una riga, con "..." se troppo lunga */
.amb-dg #materialData .materialGridContainer .my-text {
	padding: 0 10px !important;
	text-overflow: ellipsis;
}
/* Griglia sul tablet in verticale: due prodotti per riga (prima uno solo, con la foto larga 650px) */
@media (min-width: 768px) and (max-width: 991px) {
	.amb-dg #materialData .form-group:has(> .col-md-3) {
		display: flex;
		flex-wrap: wrap;
		margin-left: -10px;
		margin-right: -10px;
	}
	.amb-dg #materialData .form-group > .col-md-3 {
		float: none;
		width: 50%;
		padding-left: 10px;
		padding-right: 10px;
	}
	.amb-dg #materialData .form-group > .col-md-3:before {
		right: 10px;
		left: 10px;
	}
}
/* Lista: foto piu' grande, ritagliata ai bordi (le foto prodotto hanno molto bianco attorno al gioiello).
   Il tocco sulla foto apre la scheda prodotto (onclick della riga), non la lightbox */
.amb-dg #materialData .row > .col-md-3:has(> img.zoom-img-big) {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}
.amb-dg #materialData .row > .col-md-3 > img.zoom-img-big,
.amb-dg #materialData .row > .col-md-3 > img.zoom-img-big:hover {
	width: 170px;
	height: 170px;
	max-height: none !important;
	object-fit: contain;
	-webkit-transform: scale(1.65) !important;
	transform: scale(1.65) !important;
	cursor: pointer;
}
/* Pulsante del carrello (css/addToCart.css, a destra al 5%): sul tablet piu' vicino al bordo e sopra la freccia "torna su" */
@media (max-width: 1199px) {
	.cd-cart-trigger,
	.cd-cart {
		right: 16px;
		bottom: 72px;
	}
}

/* Scheda prodotto, riquadro "Ordine" (diogene/selectProductDiogene.jsp): a tutta larghezza sotto foto e dati, etichette allineate */
.amb-sheet .amb-sheet-order {
	margin: 14px 0 14px;
	padding: 14px 16px 6px;
	border: 1px solid #e6e1d8;
	background: #faf9f7;
}
.amb-sheet .amb-sheet-order p {
	display: flex;
	align-items: center;
	margin: 0 0 8px;
	line-height: 1.4;
}
.amb-sheet .amb-sheet-order p > .labelmateriale:first-child {
	flex: 0 0 220px;
	padding-right: 12px;
	white-space: normal;
}
/* campi del riquadro sulla stessa riga (vanno a capo solo se non ci stanno) */
.amb-sheet .amb-sheet-order .amb-sheet-order-fields {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 40px;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-fields p > .labelmateriale:first-child {
	flex: 0 0 auto;
	width: auto; /* la regola generale della scheda la fissa a 132px e tagliava "Quantita' da ordinare" */
	white-space: nowrap;
}
.amb-sheet .amb-sheet-order .amb-sheet-select {
	display: inline-block;
	width: auto;
	min-width: 96px;
	height: 36px;
	padding: 4px 8px;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-help {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 4px 0 12px;
	padding: 10px 12px;
	border-left: 3px solid #c9b88f;
	background: #fff;
	color: #333;
	font-size: 13px;
	line-height: 1.5;
	white-space: pre-line;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-help .fa {
	flex: 0 0 auto;
	margin-top: 2px;
	color: #a8935f;
	font-size: 16px;
}
/* Incisione: testo (largo) e carattere sulla stessa riga; caratteri rimasti sotto il testo */
.amb-sheet .amb-sheet-order .amb-sheet-engr {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 16px;
	max-width: 680px;
}
.amb-sheet .amb-sheet-order .amb-sheet-engr .amb-sheet-engr-text {
	flex: 1 1 320px;
	min-width: 0;
}
.amb-sheet .amb-sheet-order .amb-sheet-engr .amb-sheet-engr-style {
	flex: 0 0 auto;
}
.amb-sheet .amb-sheet-order .amb-sheet-engr textarea {
	height: 36px;
	min-height: 36px;
	resize: none;
}
.amb-sheet .amb-sheet-order .amb-sheet-engr .amb-help {
	display: block;
	margin-top: 3px;
	color: #6b675f;
	font-size: 12px;
}
.amb-sheet .amb-sheet-order .amb-sheet-engr .amb-label {
	display: block;
	margin-bottom: 3px;
}
/* Nota per il prodotto speciale: campo da scrivere, piu' alto e non a tutta larghezza; avviso prezzo come testo guida */
.amb-sheet .amb-sheet-order .amb-sheet-order-extra textarea.amb-sheet-nota {
	max-width: 680px;
	min-height: 92px;
	resize: vertical;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-extra textarea.amb-sheet-nota::placeholder {
	color: #8c887f;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-extra {
	margin: 0 0 10px;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-extra .form-control:not(.amb-sheet-select) {
	width: 100%;
}
.amb-sheet .amb-sheet-order p.amb-sheet-order-note {
	display: block;
	padding-top: 8px;
	border-top: 1px solid #ece8e1;
	color: #444;
	font-size: 13px;
}
/* Riga dei campi dell'ordine: etichetta piccola sopra la tendina, campi alla stessa distanza e
   allineati in alto; la guida taglie e' un link sotto "Cambio misura" (o dopo Special se manca) */
.amb-sheet .amb-sheet-order .amb-sheet-order-fields {
	align-items: flex-start;
	gap: 12px 20px;
	margin-bottom: 12px;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-fields > div:not([style*="none"]) {
	display: contents;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-fields p {
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	margin: 0;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-fields p > .labelmateriale:first-child {
	width: auto !important;
	padding: 0;
	font-size: 11px;
	line-height: 1.2;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-fields .amb-sheet-select {
	min-width: 110px;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-fields p.amb-sheet-size-wrap {
	padding-top: 15px;
}
.amb-sheet .amb-sheet-order a.amb-sheet-size {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 0;
	color: #5b4a2e;
	font-size: 12px;
	text-decoration: underline;
	white-space: nowrap;
}
.amb-sheet .amb-sheet-order a.amb-sheet-size:hover,
.amb-sheet .amb-sheet-order a.amb-sheet-size:focus {
	color: #111;
}
.amb-sheet .amb-sheet-order a.amb-sheet-size .fa {
	font-size: 13px;
	text-decoration: none;
}
/* Special non scelto alla pressione di To cart: campo in rosso e messaggio sotto */
.amb-sheet .amb-sheet-order p.amb-invalid .amb-sheet-select {
	border-color: #b3261e;
	background-color: #fff7f6;
}
.amb-sheet .amb-sheet-order p .amb-error-msg {
	color: #b3261e;
	font-size: 11px;
	line-height: 1.3;
	max-width: 180px;
}
/* Finestra della scelta Special obbligatoria: due pulsanti grandi */
.amb-speciale-modal .modal-dialog {
	max-width: 460px;
	margin-top: 18vh;
}
.amb-speciale-modal .modal-title {
	font-size: 16px;
	font-weight: 600;
}
.amb-speciale-modal .modal-body p {
	margin: 0 0 16px;
	color: #333;
	font-size: 14px;
	line-height: 1.45;
}
.amb-speciale-modal .amb-speciale-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.amb-speciale-modal .amb-speciale-choices .btn {
	flex: 1 1 180px;
	min-height: 44px;
	font-size: 13px;
	letter-spacing: .5px;
	text-transform: uppercase;
}
.amb-speciale-modal .amb-speciale-choices .amb-speciale-no {
	border-color: #111;
	background: #111;
	color: #fff;
}
.amb-speciale-modal .amb-speciale-choices .amb-speciale-no:hover {
	background: #333;
	color: #fff;
}
.amb-speciale-modal .amb-speciale-choices .amb-speciale-si {
	border-color: #222;
	background: #fff;
	color: #111;
}
/* Asterisco di scelta obbligatoria (Special) */
.amb-sheet .amb-req {
	margin-left: 2px;
	color: #a33;
	font-weight: 700;
	cursor: help;
}
/* Disponibilita' con dettaglio (permesso): si capisce che si apre */
.amb-sheet .amb-sheet-card .amb-sheet-avail.amb-sheet-avail-info {
	cursor: pointer;
}
.amb-sheet .amb-sheet-card .amb-sheet-avail.amb-sheet-avail-info .fa {
	margin-left: 4px;
	color: #999;
}
.amb-sheet .amb-sheet-card .amb-sheet-avail.amb-sheet-avail-info:hover .fa {
	color: #333;
}
/* "Indietro" in alto, accanto al titolo; il pulsante Back in fondo resta solo come destinazione */
.amb-sheet .amb-section a.amb-sheet-back {
	float: right;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: #555;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
}
.amb-sheet .amb-section a.amb-sheet-back:hover {
	color: #111;
}
.amb-sheet .amb-section a.amb-sheet-back .fa {
	font-size: 16px;
}
.amb-sheet .amb-sheet-back-hidden {
	display: none !important;
}
/* Prodotti correlati: schede piu' grandi, tutta la scheda cliccabile */
.amb-sheet .amb-sheet-similar .testimonial-group > .row > div[onclick] {
	margin: 0 8px 8px 0;
	padding: 10px 6px !important;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s;
}
.amb-sheet .amb-sheet-similar .testimonial-group > .row > div[onclick]:hover {
	border-color: #999 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.amb-sheet .amb-sheet-similar .similar-image {
	max-width: 100%;
	max-height: 150px;
}
/* Spazio in fondo: il carrello fisso in basso a destra non copre l'ultima tabella */
.amb-page.amb-sheet {
	padding-bottom: 90px;
}
/* Prodotti correlati: sul tablet in verticale tre per riga (prima uno per riga, a tutta larghezza) */
@media (min-width: 768px) and (max-width: 991px) {
	.amb-sheet .amb-sheet-similar .testimonial-group > .row {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		white-space: normal;
	}
	.amb-sheet .amb-sheet-similar .testimonial-group > .row > .col-md-2 {
		flex: 0 0 calc((100% - 24px) / 3);
		width: auto;
		float: none;
		font-size: 13px;
	}
	.amb-sheet .amb-sheet-similar .similar-image {
		max-width: 100%;
		max-height: 150px;
	}
}

/* Scheda prodotto: foto con lente (si apre nella lightbox) e sotto prezzo e disponibilita' */
.amb-sheet .amb-sheet-card .amb-sheet-photo {
	position: relative;
	display: inline-block;
	width: fit-content;
	max-width: 100%;
}
.amb-sheet .amb-sheet-card .amb-sheet-photo img.zoom-img {
	display: block;
	max-width: 100%;
	max-height: 320px;
	margin: 0 auto;
}
.amb-sheet .amb-sheet-card .amb-sheet-photo:after {
	content: "\f00e";
	font-family: FontAwesome;
	position: absolute;
	right: 6px;
	bottom: 6px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
	color: #555;
	font-size: 14px;
	text-align: center;
	pointer-events: none;
}
.amb-sheet .amb-sheet-card .amb-sheet-key {
	max-width: 320px;
	margin: 14px auto 0;
	padding-top: 12px;
	border-top: 1px solid #ece8e1;
	text-align: center;
}
.amb-sheet .amb-sheet-card .amb-sheet-price {
	font-size: 26px;
	font-weight: 600;
	color: #222;
	letter-spacing: .5px;
	line-height: 1.3;
}
.amb-sheet .amb-sheet-card .amb-sheet-price small {
	display: block;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 2px;
	color: #888;
	text-transform: uppercase;
}
.amb-sheet .amb-sheet-card .amb-sheet-avail {
	margin-top: 4px;
	font-size: 14px;
	color: #333;
}
.amb-sheet .amb-sheet-card .amb-sheet-avail img {
	width: 18px;
	margin: -3px 4px 0 0;
}
/* riquadro Ordine: TO CART in basso a destra; sul desktop due colonne, a sinistra campi e testo di aiuto,
   a destra TO CART, nota di spedizione e guida taglie */
@media (min-width: 992px) {
	.amb-sheet .amb-sheet-order {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		column-gap: 32px;
		align-items: start;
	}
	.amb-sheet .amb-sheet-order > * {
		grid-column: 1;
	}
	/* TO CART in fondo alla colonna dei campi: scende quando si aprono incisione o nota del prodotto speciale */
	.amb-sheet .amb-sheet-order > .amb-sheet-order-actions {
		grid-column: 2;
		grid-row: 1 / span 5;
		align-self: end;
		margin: 0 0 12px;
	}
	.amb-sheet .amb-sheet-order > .amb-sheet-order-actions .amba-cd-add-to-cart,
	.amb-sheet .amb-sheet-order > .amb-sheet-order-actions #toCartButton {
		width: 100%;
	}
	.amb-sheet .amb-sheet-order > p.amb-sheet-order-note {
		grid-column: 2;
		grid-row: 6;
		margin: 0 0 6px;
		padding-top: 0;
		border-top: 0;
	}
	/* guida taglie in fondo alla stessa riga del testo di aiuto (niente buco sotto la nota di spedizione) */
	.amb-sheet .amb-sheet-order > p.amb-sheet-order-note + p.amb-sheet-order-note {
		grid-row: 7;
	}
}
.amb-sheet .amb-sheet-order .amb-sheet-order-actions {
	display: flex;
	justify-content: flex-end;
	margin: 6px 0 8px;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-actions .amba-cd-add-to-cart {
	display: inline-block;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-actions #toCartButton {
	min-width: 160px;
	height: 40px;
	background: #111;
	border-color: #111;
	color: #fff;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.amb-sheet .amb-sheet-order .amb-sheet-order-actions #toCartButton:hover,
.amb-sheet .amb-sheet-order .amb-sheet-order-actions #toCartButton:focus {
	background: #333;
	color: #fff;
}
/* Tabella giacenze: titolo, comandi nascosti con poche righe, niente sfondo sulla colonna ordinata, Available in grassetto */
.amb-sheet .amb-sheet-table-title {
	margin: 0 0 10px;
	color: #666;
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
}
.amb-sheet .amb-dt-few .dataTables_length,
.amb-sheet .amb-dt-few .dataTables_filter,
.amb-sheet .amb-dt-few .dataTables_info,
.amb-sheet .amb-dt-few .dataTables_paginate {
	display: none;
}
.amb-sheet .amb-sheet-table table.dataTable tbody tr > .sorting_1 {
	background: transparent !important;
}
.amb-sheet .amb-sheet-table td.amb-dt-strong {
	font-weight: 600;
}
/* Altri prodotti: sul desktop sei per riga, foto piu' grandi */
@media (min-width: 992px) {
	.amb-sheet .amb-sheet-similar .testimonial-group > .row {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		margin: 0;
		white-space: normal;
	}
	.amb-sheet .amb-sheet-similar .testimonial-group > .row > .col-md-2 {
		float: none;
		flex: 0 0 calc((100% - 60px) / 6);
		width: auto;
		max-width: none;
		padding: 10px 6px !important;
	}
	.amb-sheet .amb-sheet-similar .similar-image {
		max-width: 100%;
		max-height: 150px;
	}
}

/* Nuova richiesta riparazione (riparazioni/riparazione.jsp): segnaposto della foto prodotto sul desktop,
   sul tablet in verticale foto sopra i campi (160px) e nascosta finche' non c'e' */
.amb-repair-image .amb-image-empty {
	display: none;
}
@media (min-width: 992px) {
	.amb-repair-image .amb-image:has(img[src=""], img:not([src]), img[style*="none"]) .amb-image-empty {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: 220px;
		margin: 10px 16px;
		border: 1px dashed #d6d0c4;
		border-radius: 4px;
		background: #faf9f7;
		color: #b3ab9c;
		font-size: 11px;
		letter-spacing: 2px;
		text-transform: uppercase;
	}
	.amb-repair-image .amb-image-empty .fa {
		font-size: 34px;
		letter-spacing: 0;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.amb-repair-row {
		display: flex;
		flex-direction: column;
	}
	.amb-repair-row > .amb-repair-image {
		order: -1;
		margin-bottom: 6px;
		padding-bottom: 10px;
		border-bottom: 1px solid #ece8e1;
	}
	.amb-repair-row > .amb-repair-image:has(.amb-image img[src=""], .amb-image img:not([src]), .amb-image img[style*="none"]) {
		display: none;
	}
	.amb-repair-image .amb-image img.zoom-img {
		width: auto !important;
		max-width: 100%;
		max-height: 160px;
	}
	.amb-repair-image .amb-subtitle {
		margin-top: 4px;
	}
}

/* Consensi privacy della riparazione (riparazioni/gdprRiparazione.jsp): pulsanti "No | Si'" al posto del menu */
.amb-consent .amb-consent-native {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.amb-consent .amb-consent-toggle {
	display: flex;
}
.amb-consent .amb-consent-toggle button {
	flex: 1 1 50%;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #ccc;
	background: #fff;
	color: #666;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
}
.amb-consent .amb-consent-toggle button + button {
	border-left: 0;
}
.amb-consent .amb-consent-toggle button[data-value=""].is-on {
	border-color: #222;
	color: #222;
	box-shadow: inset 0 0 0 1px #222;
}
.amb-consent .amb-consent-toggle button[data-value="X"].is-on {
	border-color: #111;
	background: #111;
	color: #fff;
}
.amb-consent .amb-consent-toggle button:focus-visible {
	outline: 2px solid #222;
	outline-offset: 2px;
}
.amb-consent .amb-consent-note {
	margin: 4px 0 0;
}

/* Riepilogo riparazione (riparazioni/riassuntoRiparazione.jsp) dal tablet in su: etichetta e valore sulla stessa
   riga (etichette in colonna da 180px), un dato per riga; consensi a tutta larghezza; firma su fondo grigio
   (l'immagine della firma ha il bianco pieno: con multiply il bianco prende il colore del riquadro) */
@media (min-width: 768px) {
	.amb-repair-sumcard .amb-repair-summary .amb-field,
	.amb-repair-sumcard .amb-repair-consents-row .amb-field {
		display: flex;
		align-items: baseline;
		gap: 12px;
		width: 100%;
		margin-bottom: 10px;
	}
	.amb-repair-sumcard .amb-field > .amb-label {
		flex: 0 0 180px;
		margin: 0;
	}
	.amb-repair-sumcard .amb-field > .amb-value {
		flex: 1 1 auto;
		min-width: 0;
	}
}
/* consensi fuori dalla colonna dei dati: stessa dimensione del testo dei valori */
.amb-repair-consents-row .amb-value {
	font-size: 14px;
}
.amb-repair-sumcard .amb-repair-signature {
	border-color: #e6e1d8;
	background: #f4f3f1;
}
.amb-repair-sumcard .amb-repair-signature img {
	mix-blend-mode: multiply;
}
/* tablet in verticale: foto e firma in alto, affiancate; consensi con l'etichetta sopra (a fianco non ci stanno) */
@media (min-width: 768px) and (max-width: 991px) {
	.amb-repair-sumrow {
		display: flex;
		flex-direction: column;
	}
	.amb-repair-sumrow > .amb-repair-image {
		order: -1;
		display: flex;
		align-items: center;
		gap: 16px;
		margin-bottom: 14px;
		padding-top: 6px;
		padding-bottom: 14px;
		border-bottom: 1px solid #ece8e1;
	}
	.amb-repair-sumrow > .amb-repair-image > * {
		flex: 1 1 50%;
		min-width: 0;
		margin: 0;
	}
	.amb-repair-sumcard .amb-repair-consents-row .amb-field.amb-field-wide {
		display: block;
	}
	.amb-repair-sumcard .amb-repair-consents-row .amb-field.amb-field-wide > .amb-label {
		margin-bottom: 6px;
	}
}

/* Esito inserimento riparazione (riparazioni/riparazioneInserita.jsp) */
.amb-repair-result .amb-repair-result-data {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 32px;
	margin-top: 10px;
	font-size: 15px;
	font-weight: 600;
}
.amb-repair-result .amb-repair-result-data small {
	display: block;
	color: #888;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.amb-repair-result .amb-repair-ticket {
	font-size: 22px;
	letter-spacing: 1px;
}
.amb-repair-result .amb-repair-ticket-link {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dashed #bbb;
}
.amb-repair-result .amb-repair-ticket-link .fa {
	margin-left: 4px;
	color: #8c7b62;
	font-size: 15px;
}
.amb-repair-result .amb-repair-ticket-link:hover {
	border-bottom-color: #111;
}
/* con numero pratica e ordine di vendita (Z2) in grande, il prodotto va sotto, in piccolo */
.amb-repair-result .amb-repair-ticket ~ .amb-repair-ticket ~ .amb-repair-product {
	flex-basis: 100%;
	font-size: 13px;
}
.amb-repair-reminder {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding: 12px 16px;
	border: 1px solid #e6e1d8;
	border-left: 4px solid #8c7b62;
	background: #faf9f7;
	color: #333;
	font-size: 14px;
	line-height: 1.45;
}
.amb-repair-reminder .fa {
	flex: 0 0 auto;
	color: #8c7b62;
	font-size: 22px;
}
.amb-repair-docs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin-bottom: 4px;
}
.amb-repair-doc {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 16px 12px;
	border: 1px solid #ddd;
	border-radius: 2px;
	background: #fff;
	color: #222;
	text-align: center;
	cursor: pointer;
}
.amb-repair-doc:hover,
.amb-repair-doc:focus-visible {
	border-color: #111;
}
.amb-repair-doc .fa {
	margin-bottom: 4px;
	color: #b03a2e;
	font-size: 26px;
}
.amb-repair-doc .amb-repair-doc-name {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.amb-repair-doc .amb-repair-doc-desc {
	color: #777;
	font-size: 12px;
}
/* pulsanti finali larghi uguali (il primo, Nuova richiesta, resta quello principale) */
body.amb-pagehead .amb-repair-after {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
body.amb-pagehead .amb-repair-after .btn {
	flex: 1 1 0;
	max-width: 300px;
	margin: 0;
	z-index: 1; /* nel contenitore flex lo z-index -1 di .customBtn (style_Damiani.css) vale e li metteva sotto: non cliccabili */
}
@media (max-width: 991px) {
	body.amb-pagehead .amb-repair-after .btn {
		padding: 0 10px;
		letter-spacing: 1px;
	}
}
#rettificaModal .modal-footer .amb-btn-dark {
	border-color: #111;
	background: #111;
	color: #fff;
}

/* Crea scheda laboratorio e Crea DDT (riparazioni/scheda/ricercaSchedaRiparazioni.jsp, riparazioni/ddt/ricercaDDTRiparazioni.jsp): caselle grandi, riga cliccabile,
   righe scelte evidenziate, barra fissa in basso con il pulsante e il numero di riparazioni scelte */
#example input[name=toScheda],
#example input[name=toDDT],
#example .amb-scheda-all {
	width: 22px;
	height: 22px;
	margin: 0;
	accent-color: #111;
	vertical-align: middle;
	cursor: pointer;
}
#example .amb-scheda-allwrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-weight: inherit;
	cursor: pointer;
}
#example:has(input[name=toScheda]) tbody tr,
#example:has(input[name=toDDT]) tbody tr {
	cursor: pointer;
}
#example tbody tr.amb-scheda-sel > td {
	background: #f4f1ea !important;
}
#example .amb-scheda-date {
	display: none;
	color: #888;
	font-size: 11px;
}
#example.amb-scheda-nodate .amb-scheda-date {
	display: block;
}
.amb-scheda-bar {
	position: sticky;
	bottom: 0;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px;
	margin: 14px -18px -4px;
	padding: 12px 18px;
	border-top: 1px solid #e6e1d8;
	background: rgba(255, 255, 255, .96);
}
.amb-scheda-bar .customBtn {
	z-index: 1;
	min-width: 260px;
	height: 42px;
	border-color: #111 !important;
	background: #111 !important;
	color: #fff !important;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.amb-scheda-bar .customBtn:disabled {
	border-color: #ccc !important;
	background: #ccc !important;
	cursor: not-allowed;
}
.amb-scheda-hint {
	color: #888;
	font-size: 12px;
}

/* -------------------------------------------------------------------------
   Ricerca riparazioni (ricercaRiparazioneForm.jsp / ricercaRiparazione.jsp)
   ------------------------------------------------------------------------- */
/* Criteri: righe a capo senza "scalini" (i campi hanno altezze diverse), date larghe come gli altri campi */
#riparazioneSearchForm .amb-card > .row,
#schedaSearchForm .amb-card > .row,
#ddtSearchForm .amb-card > .row {
	display: flex;
	flex-wrap: wrap;
}
#riparazioneSearchForm .amb-card > .row:before,
#riparazioneSearchForm .amb-card > .row:after,
#schedaSearchForm .amb-card > .row:before,
#schedaSearchForm .amb-card > .row:after,
#ddtSearchForm .amb-card > .row:before,
#ddtSearchForm .amb-card > .row:after {
	display: none;
}
body.amb-pagehead #riparazioneSearchForm .amb-value input.amb-date,
body.amb-pagehead #schedaSearchForm .amb-value input.amb-date,
body.amb-pagehead #ddtSearchForm .amb-value input.amb-date {
	max-width: none;
}
/* Elenco: testo 13px grigio scuro, nomi lunghi su una riga, riga cliccabile */
#example tbody td {
	color: #333;
	font-size: 13px;
}
#example tbody td.amb-ell {
	max-width: 190px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#example tbody tr.amb-row-open {
	cursor: pointer;
}
#example tbody tr.amb-row-open:hover > td {
	background: rgba(0, 0, 0, 0.035);
}
#example tbody td table,
#example tbody td table td {
	background: transparent !important;
}
/* Azioni: il cestino distanziato dalle altre icone, rosso tenue al passaggio */
#example input#removeButton {
	margin-left: 14px;
	padding: 2px;
	border-radius: 4px;
	opacity: 0.7;
}
#example input#removeButton:hover,
#example input#removeButton:focus {
	background: #f6e3e1;
	opacity: 1;
}
/* DDT: righe che non possono entrare nel documento (casella disattivata) */
#example tbody tr.amb-ddt-off > td {
	color: #8c887f;
	cursor: default;
}
#example tbody tr.amb-ddt-off input[name=toDDT] {
	cursor: not-allowed;
}
/* Finestra colli / peso / aspetto prima della creazione del DDT */
.amb-ddt-colli {
	text-align: left;
}
.ui-dialog .ui-dialog-buttonpane button.amb-ddt-ok {
	border: 1px solid #111;
	background: #111;
	color: #fff;
	font-weight: 600;
}
.ui-dialog .ui-dialog-buttonpane button.amb-ddt-ok:hover {
	background: #333;
}
.amb-ddt-colli label {
	display: block;
	margin: 8px 0 3px;
	color: #6b675f;
	font-size: 12px;
	font-weight: 400;
}
.amb-ddt-colli label:first-child {
	margin-top: 0;
}
/* Stato come badge, colori per fase */
.amb-st {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 11px;
	background: #e6eef6;
	color: #23466b;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	white-space: nowrap;
}
.amb-st-APER { background: #e7efe3; color: #2f5a22; }
.amb-st-PREV, .amb-st-EPRE, .amb-st-CPRE { background: #fbf3dc; color: #6b5200; }
.amb-st-INLA { background: #ece8f6; color: #4a3a7a; }
.amb-st-TCON { background: #fbeed9; color: #7a4a00; }
.amb-st-CONS, .amb-st-FATT { background: #ebe9e5; color: #555; }
.amb-st-CHMA { background: #f6e3e1; color: #8a2a20; }

/* -------------------------------------------------------------------------
   Bordo di focus uguale in tutta l'applicazione: niente bordo dopo un clic o un tocco
   (prima compariva quello del browser, spesso nel colore di sistema, es. arancione);
   con la tastiera (Tab) un bordo sottile grigio scuro. I campi di testo hanno gia' il
   loro stile di focus (bordo e ombra), quindi niente bordo in piu'.
   ------------------------------------------------------------------------- */
:root :focus:not(:focus-visible) {
	outline: none !important;
}
:root :focus-visible {
	outline: 2px solid #222;
	outline-offset: 2px;
}
:root input:focus-visible,
:root textarea:focus-visible,
:root select:focus-visible {
	outline: none;
}

/* Verifica garanzie (selectProductDiogene.jsp, modalita' WARRENTY): vendita come scheda di dati, garanzie e servizi
   in tabelle con intestazione su fondo chiaro, righe alternate e stato a badge. Testo a peso normale (non light) e
   contrasto pieno per la leggibilita' */
.amb-warranty {
	text-align: left;
	width: 100%;
	color: #111;
	font-weight: 400;
}
.amb-warranty .amb-wr-section + .amb-wr-section {
	margin-top: 30px;
}
.amb-warranty .amb-sheet-table-title {
	margin: 0 0 12px;
	color: #222;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
}
.amb-warranty .amb-wr-sale {
	display: grid;
	grid-template-columns: 1fr;
	border: 1px solid #e3e0da;
}
.amb-warranty .amb-wr-sale-2col {
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}
.amb-warranty .amb-wr-block {
	min-width: 0;
	padding: 16px 20px;
}
.amb-warranty .amb-wr-block + .amb-wr-block {
	border-left: 1px solid #e3e0da;
}
.amb-warranty .amb-wr-block-title {
	margin: -16px -20px 14px;
	padding: 10px 20px;
	background: #f4f2ee;
	border-bottom: 1px solid #e3e0da;
	color: #4a4741;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.amb-warranty .amb-wr-customer-name {
	margin-bottom: 12px;
	color: #111;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
}
.amb-warranty .amb-wr-rows {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 8px 20px;
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}
.amb-warranty .amb-wr-rows dt {
	color: #6b6760;
	font-weight: 400;
}
.amb-warranty .amb-wr-rows dd {
	margin: 0;
	color: #111;
	font-weight: 500;
	overflow-wrap: anywhere;
}
.amb-warranty .amb-wr-scroll {
	overflow-x: auto;
	border: 1px solid #e3e0da;
}
.amb-warranty .amb-wr-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.amb-warranty .amb-wr-table th {
	padding: 10px 16px;
	background: #f4f2ee;
	border-bottom: 1px solid #e3e0da;
	color: #4a4741;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}
.amb-warranty .amb-wr-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #eeebe6;
	color: #111;
	font-weight: 400;
	line-height: 1.4;
	vertical-align: middle;
	white-space: nowrap;
}
.amb-warranty .amb-wr-table td.amb-wr-name {
	width: 40%;
	font-weight: 600;
	white-space: normal;
}
.amb-warranty .amb-wr-table tbody tr:nth-child(even) td {
	background: #fbfaf8;
}
.amb-warranty .amb-wr-table tbody tr:last-child td {
	border-bottom: 0;
}
.amb-warranty .amb-wr-code {
	font-family: Menlo, Consolas, monospace;
	font-size: 14px;
	color: #333;
}
.amb-warranty .amb-wr-muted {
	color: #b3aea5;
	font-weight: 400;
}
.amb-warranty .amb-wr-badge {
	display: inline-block;
	min-width: 44px;
	padding: 0 10px;
	border-radius: 11px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 22px;
	text-align: center;
	text-transform: uppercase;
}
.amb-warranty .amb-wr-badge-on {
	background: #dff0dd;
	color: #1e6b22;
}
.amb-warranty .amb-wr-badge-off {
	background: #ecebe8;
	color: #555;
}
.amb-warranty .amb-wr-badge-wait {
	background: #f9eeda;
	color: #8a5c00;
}
@media (max-width: 767px) {
	.amb-warranty .amb-wr-sale-2col {
		grid-template-columns: 1fr;
	}
	.amb-warranty .amb-wr-block + .amb-wr-block {
		border-left: 0;
		border-top: 1px solid #e3e0da;
	}
}

/* Ricerca stock (ricartellinatura/ricercaRicartellinatura.jsp): prodotto fuori folder, punto esclamativo ambra prima del
   prezzo attuale e legenda sopra la tabella (visibile solo se nella pagina c'e' almeno un prodotto fuori folder) */
.amb-folder-badge,
.amb-folder-icon {
	color: #c98a00;
	font-size: 13px;
}
.amb-folder-badge {
	position: relative;
	display: inline-block;
	margin-right: 5px;
	cursor: pointer;
	outline: none;
}
/* fumetto con la spiegazione (data-tip): al passaggio del mouse, oppure fisso dopo un clic/tocco (.open) */
.amb-folder-badge::after {
	content: attr(data-tip);
	position: absolute;
	top: calc(100% + 6px);
	right: -10px;
	z-index: 30;
	width: 230px;
	padding: 8px 10px;
	border-radius: 3px;
	background: #222;
	color: #fff;
	font-family: Lato, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	white-space: normal;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s;
	pointer-events: none;
}
.amb-folder-badge:hover::after,
.amb-folder-badge.open::after {
	opacity: 1;
	visibility: visible;
}
.amb-folder-badge:focus-visible {
	outline: 1px dotted #c98a00;
	outline-offset: 2px;
}
.amb-folder-note {
	margin: 0 0 10px;
}
.amb-folder-note[hidden] {
	display: none;
}

/* DataTables: pallini di caricamento ("processing") e righe selezionate nel colore dell'interfaccia (nero dei pulsanti
   e della paginazione) invece del blu di default della libreria (--dt-row-selected in jquery.dataTables-1.13.11.min.css) */
:root {
	--dt-row-selected: 34, 34, 34;
}
div.dataTables_processing > div:last-child > div {
	background: #222;
}

/* Caricamenti da file Excel (inserimentoXls.jsp, diogene/inserimentoXls.jsp, ricartellinatura/inserimentoXls.jsp,
   ricartellinatura/trasferimentoXls.jsp, ricartellinatura/printDocumentStock.jsp): istruzioni, scelta del file e
   campi in riga, pulsanti sotto. Il pulsante del file e' il label di component.css (.inputfile), qui ridisegnato */
/* Come preparare il file: istruzioni in cima alla scheda, centrate, con il link al modello in evidenza */
.amb-upload-guide {
	max-width: 760px;
	margin: 4px auto 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid #eee;
	text-align: center;
}
.amb-upload-help,
.amb-upload-guide .amb-upload-help {
	margin: 0;
	color: #555;
	font-size: 13px;
	line-height: 1.75;
	text-align: center;
}
.amb-upload-help a {
	font-weight: 600;
}
.amb-upload-help a {
	color: #8c7b62;
	text-decoration: underline;
}
.amb-upload-hint {
	margin-top: 10px;
	color: #666;
}
.amb-upload-hint a {
	margin-left: 6px;
	white-space: nowrap;
}
.amb-upload-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding-top: 6px;
}
.amb-upload .box {
	margin: 0;
	padding: 0;
}
.amb-upload .inputfile + label {
	max-width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px dashed #999;
	background: #faf9f7;
	color: #333;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 42px;
	text-transform: uppercase;
}
.amb-upload .inputfile:focus + label,
.amb-upload .inputfile.has-focus + label,
.amb-upload .inputfile + label:hover {
	border-color: #111;
	background: #fff;
	color: #111;
}
.amb-upload .amb-upload-row .form-control {
	width: auto;
	min-width: 200px;
	max-width: 100%;
	height: 44px;
}
.amb-upload .amb-upload-row .amb-upload-type {
	flex: 1 1 320px;
	max-width: 600px;
}
.amb-upload .amb-actions {
	position: relative;
	z-index: 0; /* customBtn ha z-index -1: come elemento flex finirebbe sotto lo sfondo della scheda */
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
}

/* Esito generico (note.jsp) e riparazione rimessa in lavorazione (riparazioni/datiResetRiparazione.jsp) */
body.amb-pagehead .amb-card.amb-outcome {
	padding: 28px 24px 18px;
	text-align: center;
}
.amb-outcome-text {
	max-width: 760px;
	margin: 0 auto;
	color: #222;
	font-size: 16px;
	line-height: 1.6;
}
.amb-outcome .amb-actions,
body.amb-pagehead .amb-outcome .amb-actions {
	margin-top: 22px;
	text-align: center;
}

/* Dati per la consegna di una riparazione (riparazioni/datiChiusuraRiparazione.jsp) */
.amb-close-repair .amb-help {
	margin: 0 0 14px;
}
.amb-close-repair input[type=file].form-control {
	height: auto;
	padding: 8px;
}
.amb-close-repair > form > .amb-actions {
	margin-top: 18px;
}

/* Caricamenti da file: pulsante del file, selettori e pulsanti della stessa altezza (44px) e larghezza (280px),
   allineati in colonne centrate; il tipo documento della stampa stock e' piu' largo */
.amb-upload .amb-upload-row,
.amb-upload .amb-actions {
	align-items: stretch;
	justify-content: center;
	gap: 12px;
}
.amb-upload .amb-upload-row > .box,
.amb-upload .amb-upload-row > select,
.amb-upload .amb-actions > .btn,
body.amb-pagehead .amb-upload .amb-actions > .btn {
	flex: 0 1 280px;
	min-width: 0;
	margin: 0;
}
/* tipo documento (stampa stock): descrizioni lunghe, su una riga sua sopra il file, larga quanto due colonne */
.amb-upload .amb-upload-row > select.amb-upload-type,
body.amb-pagehead .amb-card.amb-upload .amb-upload-row > select.amb-upload-type {
	order: -1;
	flex: 0 0 auto;
	width: 572px;
	max-width: 100%;
	height: 44px;
}
.amb-upload .amb-upload-row:has(> select.amb-upload-type) {
	flex-direction: column;
	align-items: center;
}
.amb-upload .amb-upload-row:has(> select.amb-upload-type) > .box {
	flex: 0 0 auto;
	width: 280px;
}
.amb-upload .inputfile + label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	line-height: normal;
}
.amb-upload .inputfile + label svg {
	margin: 0;
}
.amb-upload .amb-upload-row > select.form-control,
body.amb-pagehead .amb-card.amb-upload .amb-upload-row > select.form-control {
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	height: 44px;
	margin: 0;
}
.amb-upload .amb-actions > .btn,
body.amb-pagehead .amb-upload .amb-actions > .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	height: 44px;
	padding: 0 14px;
}
.amb-upload .amb-actions,
body.amb-pagehead .amb-upload .amb-actions {
	margin: 12px 0 6px;
}

/* Home ricerca clienti: pulsanti delle azioni rapide piu' alti (vedi anche la griglia sopra, min-width 992px) */
.amb-cs-home .amb-cs-side #csQuickCol .amb-quick .amb-quick-item {
	min-height: 64px;
	padding-top: 12px;
	padding-bottom: 12px;
	font-size: 15px;
}
.amb-cs-home .amb-cs-side #csQuickCol .amb-quick .amb-quick-item .fa:not(.amb-quick-ext) {
	font-size: 18px;
}

/* Foto della nuova richiesta di riparazione (riparazioni/repairPhotos.jspf) e del riepilogo */
.amb-repair-photos .amb-help {
	margin: 0 0 12px;
}
.amb-repair-photos-readonly .amb-help {
	margin: 12px 0 0;
}
.amb-repair-photos-count {
	color: #777;
	font-weight: 400;
}
.amb-repair-photos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 12px;
}
.amb-repair-photo,
.amb-repair-photo-add {
	position: relative;
	aspect-ratio: 1 / 1;
	margin: 0;
	border: 1px solid #e3e1dd;
	background: #f6f4f0;
	overflow: hidden;
}
.amb-repair-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: zoom-in;
}
/* x per togliere la foto: grande abbastanza per il tocco */
.amb-repair-photo-remove {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(17, 17, 17, 0.75);
	color: #fff;
	font-size: 22px;
	line-height: 36px;
	cursor: pointer;
}
.amb-repair-photo-remove:hover,
.amb-repair-photo-remove:focus {
	background: #111;
}
.amb-repair-photo-add {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-style: dashed;
	border-color: #bbb;
	background: #fff;
	color: #555;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
}
.amb-repair-photo-add:hover,
.amb-repair-photo-add:focus-within {
	border-color: #111;
	color: #111;
}
.amb-repair-photo-add[hidden] {
	display: none;
}
.amb-repair-photo-add .fa-camera {
	font-size: 28px;
}
.amb-repair-photo-add input[type=file] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.amb-repair-photo-add-wait {
	display: none;
	font-weight: 400;
}
.amb-repair-photo-add.amb-uploading {
	pointer-events: none;
}
.amb-repair-photo-add.amb-uploading .amb-repair-photo-add-text,
.amb-repair-photo-add.amb-uploading .fa-camera {
	display: none;
}
.amb-repair-photo-add.amb-uploading .amb-repair-photo-add-wait {
	display: block;
}
.amb-repair-photos-msg {
	margin-top: 12px;
	color: #a94442;
	font-size: 14px;
}
.amb-repair-photos-msg[hidden] {
	display: none;
}
.amb-repair-photos-queued .fa {
	margin-right: 6px;
}

/* Ingresso in una boutique in corso (js/amb-entry-guard.js): pagina bloccata con l'indicatore di attesa */
html.amb-entering,
html.amb-entering * {
	cursor: progress !important;
}
html.amb-entering body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(255, 255, 255, 0.45);
}
html.amb-entering body::before {
	content: "";
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 100001;
	width: 44px;
	height: 44px;
	margin: -22px 0 0 -22px;
	border: 4px solid #ddd;
	border-top-color: #111;
	border-radius: 50%;
	animation: amb-entering-spin .8s linear infinite;
}
@keyframes amb-entering-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Riparazione: caratteri rimasti sotto i testi con limite (Lavorazione, Condizione oggetto) */
.amb-value .amb-charcount {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	color: #777;
	text-align: right;
}
