/* Carrello e checkout: "Completa il treno" e montaggio nella sede (Tyre Quick Upload). */
.tqu-upsell {
	margin: 24px 0;
	padding: 20px 24px;
	background: var(--wp--preset--color--sand, #f4f2eb);
	border: 1px solid var(--wp--preset--color--border, #e7e7e7);
	border-left: 6px solid var(--wp--preset--color--primary, #f7c601);
	border-radius: 10px;
	color: var(--wp--preset--color--text, #333);
}
.tqu-upsell__title { margin: 0 0 6px; font-size: 1.25rem; line-height: 1.3; }
.tqu-upsell__intro { margin: 0 0 16px; }
.tqu-upsell__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.tqu-upsell__item { display: flex; flex-direction: column; gap: 8px; padding: 12px; background: #fff; border: 1px solid var(--wp--preset--color--border, #e7e7e7); border-radius: 10px; }
.tqu-upsell__item img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.tqu-upsell__name { font-weight: 600; line-height: 1.3; text-decoration: none; color: inherit; }
.tqu-upsell__badge { align-self: flex-start; padding: 2px 8px; font-size: .75rem; font-weight: 600; background: var(--wp--preset--color--primary, #f7c601); color: #000; border-radius: 9999px; }
.tqu-upsell__price { margin-top: auto; font-weight: 700; }
.tqu-upsell__button,
.tqu-upsell a.tqu-upsell__button {
	display: inline-block; padding: 10px 18px; font-weight: 700; text-align: center; text-decoration: none;
	background: var(--wp--preset--color--primary, #f7c601); color: #000; border: 2px solid #000; border-radius: 9999px;
}
.tqu-upsell__button:hover, .tqu-upsell__button:focus-visible { background: #000; color: #fff; }
.tqu-upsell__button--ghost { background: transparent; }
.tqu-upsell__table { width: 100%; margin: 0 0 12px; border-collapse: collapse; }
.tqu-upsell__table th, .tqu-upsell__table td { padding: 6px 8px 6px 0; text-align: left; border-bottom: 1px solid var(--wp--preset--color--border, #e7e7e7); }
.tqu-upsell__table td:last-child, .tqu-upsell__table th:last-child { text-align: right; }
.tqu-upsell__total { margin: 0 0 12px; font-size: 1.1rem; }
.tqu-upsell__note { margin: 12px 0 0; font-size: .875rem; opacity: .85; }
.tqu-upsell__done { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.tqu-upsell--added { border-left-color: #1a7f37; }
.tqu-fitting-fields { margin: 24px 0; padding: 16px 20px; border: 1px solid var(--wp--preset--color--border, #e7e7e7); border-left: 6px solid var(--wp--preset--color--primary, #f7c601); border-radius: 10px; }
.tqu-fitting-fields h3 { margin-top: 0; }
.tqu-upsell__table td small { display: block; font-size: .75rem; opacity: .8; }
.tqu-upsell__subtitle { margin: 20px 0 8px; font-size: 1.05rem; }
.tqu-upsell__services { margin: 0; padding: 0; list-style: none; }
.tqu-upsell__service { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--wp--preset--color--border, #e7e7e7); }
.tqu-upsell__service:last-child { border-bottom: 0; }
.tqu-upsell__service-text { flex: 1 1 220px; display: flex; flex-direction: column; line-height: 1.35; }
.tqu-upsell__service-text small { font-size: .8125rem; opacity: .85; }
.tqu-upsell__service-price { font-weight: 700; white-space: nowrap; }
.tqu-upsell__service .tqu-upsell__badge { align-self: center; }
.tqu-upsell__button--small, .tqu-upsell a.tqu-upsell__button--small { padding: 6px 14px; font-size: .875rem; }
.tqu-fixed-quantity { font-weight: 600; }
.tqu-appointment { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 220px); gap: 12px 20px; align-items: start; margin: 0; }
.tqu-appointment label { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: .875rem; font-weight: 600; }
.tqu-appointment select {
	-webkit-appearance: none; appearance: none; display: block; width: 100%; min-height: 46px; margin: 0; padding: 8px 40px 8px 12px;
	font: inherit; font-size: 16px; font-weight: 600; line-height: 1.3; text-align: left; color: #000; cursor: pointer;
	background: #fff no-repeat right 12px center / 18px 18px; border: 1px solid #000; border-radius: 8px; transform: none;
}
.tqu-appointment select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.tqu-appointment select:disabled { opacity: .5; cursor: default; }
.tqu-cal { box-sizing: border-box; width: 100%; max-width: 300px; padding: 10px 12px 12px; background: #fff; border: 1px solid var(--wp--preset--color--border, #e7e7e7); border-radius: 12px; box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
.tqu-cal[hidden] { display: none; }
.tqu-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.tqu-cal__title { font-weight: 700; text-transform: capitalize; }
.tqu-cal button { -webkit-appearance: none; appearance: none; margin: 0; padding: 0; font: inherit; line-height: 1; color: #000; background: none; border: 0; border-radius: 50%; box-shadow: none; cursor: pointer; transform: none; }
.tqu-cal button:hover, .tqu-cal button:focus { color: #000; transform: none; }
.tqu-cal button.tqu-cal__nav { width: 38px; height: 38px; font-size: 1.5rem; }
.tqu-cal button.tqu-cal__nav:hover:not(:disabled) { background: var(--wp--preset--color--sand, #f4f2eb); }
.tqu-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; justify-items: center; align-items: center; }
.tqu-cal__dow { padding: 4px 0; font-size: .75rem; font-weight: 600; text-transform: capitalize; opacity: .65; }
.tqu-cal button.tqu-cal__day { width: 100%; max-width: 40px; aspect-ratio: 1; font-size: .9375rem; font-weight: 700; }
.tqu-cal button.tqu-cal__day:hover:not(:disabled) { background: var(--wp--preset--color--primary, #f7c601); }
.tqu-cal button.tqu-cal__day.is-selected, .tqu-cal button.tqu-cal__day.is-selected:hover { color: #fff; background: #000; }
.tqu-cal button:disabled { font-weight: 400; opacity: .3; cursor: default; }
.tqu-upsell--appointment .tqu-upsell__title { margin-bottom: 10px; }
.tqu-upsell--appointment .tqu-upsell__note { margin-top: 10px; }
@media (max-width: 600px) {
	.tqu-upsell { margin: 16px 0; padding: 14px; }
	.tqu-upsell__title { font-size: 1.1rem; }
	.tqu-upsell__intro { margin-bottom: 12px; font-size: .9375rem; }
	.tqu-upsell__table { font-size: .875rem; }
	.tqu-upsell__table th, .tqu-upsell__table td { padding: 5px 6px 5px 0; }
	.tqu-upsell__done { gap: 8px; }
	.tqu-upsell__done .tqu-upsell__button { width: 100%; }
	.tqu-upsell__total { margin-bottom: 0; }
	.tqu-upsell__note { font-size: .8125rem; }
	.tqu-fitting-fields { padding: 14px; }
}
@media (max-width: 600px) { .tqu-appointment { grid-template-columns: 1fr; } .tqu-cal { max-width: 340px; } }
