/**
 * Stili frontend scoped sotto .pulsante-reso per compatibilità con temi diversi.
 * I colori ereditano dal tema dove possibile; i pulsanti usano anche .woocommerce-button.
 */

.pulsante-reso {
	--pr-text: inherit;
	--pr-text-muted: color-mix(in srgb, currentColor 72%, transparent);
	--pr-border: color-mix(in srgb, currentColor 18%, transparent);
	--pr-surface: color-mix(in srgb, currentColor 4%, transparent);
	--pr-accent: var(--woocommerce-primary, var(--wp--preset--color--primary, currentColor));
	--pr-accent-text: var(--woocommerce-primary-text, var(--wp--preset--color--background, #fff));
	--pr-danger: #b32d2e;
	--pr-danger-bg: color-mix(in srgb, #b32d2e 12%, transparent);
	--pr-info-bg: color-mix(in srgb, currentColor 6%, transparent);
	--pr-success-bg: color-mix(in srgb, #198754 14%, transparent);
	--pr-success-text: #0f5132;
	--pr-radius: 4px;
	--pr-font-size: inherit;
	--pr-line-height: 1.5;

	color: var(--pr-text);
	font-size: var(--pr-font-size);
	line-height: var(--pr-line-height);
}

.pulsante-reso *,
.pulsante-reso *::before,
.pulsante-reso *::after {
	box-sizing: border-box;
}

.pulsante-reso-footer-link {
	text-align: center;
	padding: 12px 16px;
	margin-top: 24px;
}

.pulsante-reso-form-wrapper {
	max-width: var(--pr-form-max-width, 640px);
	margin: 0 auto;
	padding: 24px 0;
}

.woocommerce-MyAccount-content .pulsante-reso-form-wrapper {
	max-width: none;
	padding-top: 0;
}

.pulsante-reso-form__title {
	margin: 0 0 8px;
	font-size: inherit;
	font-weight: 600;
	line-height: inherit;
}

.pulsante-reso-form__intro {
	margin: 0 0 24px;
	color: var(--pr-text-muted);
}

.pulsante-reso-exclusions-notice {
	margin: 0 0 24px;
}

.pulsante-reso-exclusions-notice__title {
	margin: 0 0 8px;
	font-weight: 600;
}

.pulsante-reso-exclusions-notice__text {
	margin: 0;
	font-size: 0.92em;
}

.pulsante-reso-exclusions-notice__text p:last-child {
	margin-bottom: 0;
}

.pulsante-reso-field {
	margin: 0 0 18px;
}

.pulsante-reso-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.pulsante-reso-field__help {
	display: block;
	margin-top: 6px;
	font-size: 0.9em;
	color: var(--pr-text-muted);
}

.pulsante-reso-required {
	color: var(--pr-danger);
}

.pulsante-reso-field--checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: normal;
}

.pulsante-reso-field--checkbox input[type="checkbox"] {
	margin-top: 0.2em;
	flex-shrink: 0;
}

/* Input testo/email: larghezza piena; le quantità restano compatte */
.pulsante-reso-field .pulsante-reso-input {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.pulsante-reso .pulsante-reso-input:not(.input-text) {
	padding: 10px 12px;
	border: 1px solid var(--pr-border);
	border-radius: var(--pr-radius);
	background: transparent;
	color: inherit;
	font: inherit;
}

.pulsante-reso .pulsante-reso-item-qty {
	max-width: 100%;
	width: 5em;
	min-width: 4rem;
}

.pulsante-reso-form__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.pulsante-reso-order-withdrawal {
	display: inline-block;
	padding: 2px 8px;
	border-radius: var(--pr-radius);
	font-size: 0.85em;
	font-weight: 600;
	line-height: 1.4;
	background: var(--pr-info-bg);
	border: 1px solid var(--pr-border);
}

.pulsante-reso-order-withdrawal--full {
	background: var(--pr-surface);
}

.pulsante-reso-order-withdrawals {
	margin: 24px 0;
	padding: 16px;
	background: var(--pr-surface);
	border: 1px solid var(--pr-border);
	border-radius: var(--pr-radius);
}

.pulsante-reso-order-withdrawals__list {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.pulsante-reso-order-withdrawals__item + .pulsante-reso-order-withdrawals__item {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--pr-border);
}

.pulsante-reso-order-withdrawals__date,
.pulsante-reso-order-withdrawals__products {
	color: var(--pr-text-muted);
	font-size: 0.92em;
}

.pulsante-reso-order-item-withdrawal {
	margin: 8px 0 0;
}

.pulsante-reso-order-item-withdrawal__badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: var(--pr-radius);
	font-size: 0.85em;
	font-weight: 600;
	background: var(--pr-info-bg);
	border: 1px solid var(--pr-border);
	color: inherit;
}

.woocommerce-orders-table__cell-order-pulsante-reso-withdrawal,
.woocommerce-table--order-details .pulsante-reso-order-item-withdrawal {
	font-size: inherit;
}

.woocommerce-MyAccount-content .pulsante-reso-form__actions .pulsante-reso-button {
	text-align: center;
}

/* Pulsanti: con .woocommerce-button il tema gestisce colori e dimensioni */
.pulsante-reso .pulsante-reso-button:not(.woocommerce-button) {
	display: inline-block;
	padding: 0.75em 1.25em;
	border-radius: var(--pr-radius);
	text-decoration: none;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	border: 1px solid transparent;
	cursor: pointer;
	text-align: center;
	transition: opacity 0.2s ease;
}

.pulsante-reso .pulsante-reso-button.woocommerce-button {
	display: inline-block;
	text-decoration: none;
}

.pulsante-reso .pulsante-reso-button:not(.woocommerce-button):hover,
.pulsante-reso .pulsante-reso-button.woocommerce-button:hover {
	opacity: 0.92;
	text-decoration: none;
}

.pulsante-reso .pulsante-reso-button:not(.woocommerce-button).pulsante-reso-button--primary,
.pulsante-reso .pulsante-reso-button:not(.woocommerce-button).pulsante-reso-button--confirm {
	background: var(--pr-accent);
	color: var(--pr-accent-text);
	border-color: var(--pr-accent);
}

.pulsante-reso .pulsante-reso-button:not(.woocommerce-button).pulsante-reso-button--secondary {
	background: var(--pr-surface);
	color: inherit;
	border-color: var(--pr-border);
}

.pulsante-reso-summary,
.pulsante-reso-declaration {
	background: var(--pr-surface);
	border: 1px solid var(--pr-border);
	border-radius: var(--pr-radius);
	padding: 16px;
	margin-bottom: 20px;
}

.pulsante-reso-declaration h3 {
	margin: 0 0 8px;
	font-size: inherit;
	font-weight: 600;
}

.pulsante-reso-declaration__text {
	margin: 12px 0 0;
	padding: 12px 0 12px 16px;
	border: 0;
	border-left: 3px solid var(--pr-accent);
	font: inherit;
	font-style: normal;
	white-space: pre-wrap;
	line-height: var(--pr-line-height);
	background: transparent;
	color: inherit;
}

.pulsante-reso-notice {
	padding: 12px 16px;
	border-radius: var(--pr-radius);
	margin-bottom: 20px;
	border: 1px solid var(--pr-border);
}

.pulsante-reso-notice--error {
	background: var(--pr-danger-bg);
	border-color: color-mix(in srgb, var(--pr-danger) 35%, transparent);
	color: inherit;
}

.pulsante-reso-notice--info {
	background: var(--pr-info-bg);
	color: inherit;
}

.pulsante-reso-success {
	text-align: center;
	padding: 32px 16px;
}

.pulsante-reso-success__title {
	margin: 0 0 12px;
	font-size: inherit;
	font-weight: 600;
}

.pulsante-reso-success__icon {
	width: 64px;
	height: 64px;
	line-height: 64px;
	border-radius: 50%;
	background: var(--pr-success-bg);
	color: var(--pr-success-text);
	font-size: 32px;
	margin: 0 auto 16px;
}

.pulsante-reso-items-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}

.pulsante-reso-items-table th,
.pulsante-reso-items-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--pr-border);
	text-align: left;
	vertical-align: middle;
}

.pulsante-reso-items-table__select {
	width: 90px;
	text-align: center;
}

.woocommerce-orders-table__cell-order-actions .woocommerce-button.pulsante_reso {
	white-space: nowrap;
}
