.pc-recesso {
	--pc-recesso-button-bg: #172C84;
	--pc-recesso-radius: 4px;
	--pc-recesso-border-color: #cccccc;
	--pc-recesso-border-width: 1px;
	--pc-recesso-field-padding: 10px 12px;
	/* Pulsante: default in stile WooCommerce (radius 3px, nessun bordo) */
	--pc-recesso-button-radius: 3px;
	--pc-recesso-button-border-width: 0px;
	--pc-recesso-button-border-color: #cccccc;
	--pc-recesso-button-padding: 12px 22px;
	--pc-recesso-notice-success-bg: #e8f5e9;
	--pc-recesso-notice-success-color: #1b5e20;
	--pc-recesso-notice-error-bg: #fdecea;
	--pc-recesso-notice-error-color: #842029;
	--pc-recesso-notice-warning-bg: #fff8e1;
	--pc-recesso-notice-warning-color: #7a5b00;
	--pc-recesso-declaration-bg: #f6f7fb;

	max-width: 640px;
	margin: 0 auto;
}
.pc-recesso h2 {
	color: var(--pc-recesso-button-bg);
	margin-top: 0;
}
.pc-recesso-field {
	margin-bottom: 18px;
}
.pc-recesso-field > label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}
.pc-recesso-field input[type="text"],
.pc-recesso-field input[type="email"],
.pc-recesso-field textarea,
.pc-recesso-form input[type="text"],
.pc-recesso-form input[type="email"] {
	width: 100%;
	padding: var(--pc-recesso-field-padding);
	border: var(--pc-recesso-border-width) solid var(--pc-recesso-border-color);
	border-radius: var(--pc-recesso-radius);
	box-sizing: border-box;
}
.pc-recesso-field input[readonly] {
	background: #f5f5f5;
	color: #555;
}
.pc-recesso-item {
	display: block;
	font-weight: 400;
	margin: 4px 0;
}
/* Il pulsante mantiene la classe .button: lo stile di base (colore, font)
   arriva dal tema/WooCommerce e, con Elementor, dalle impostazioni generali.
   Qui forniamo i default WooCommerce-like per padding/bordo/raggio SENZA
   !important, così Elementor li può sovrascrivere; aggiungiamo il full width. */
.pc-recesso-button {
	padding: var(--pc-recesso-button-padding);
	border: var(--pc-recesso-button-border-width) solid var(--pc-recesso-button-border-color);
	border-radius: var(--pc-recesso-button-radius);
}
.pc-recesso-button:not(.pc-recesso-button--small),
a.pc-recesso-button:not(.pc-recesso-button--small),
button.pc-recesso-button:not(.pc-recesso-button--small) {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}
/* Nel modale il full width deve battere il .button del tema */
.pc-recesso-modal .pc-recesso-button:not(.pc-recesso-button--small) {
	display: block;
	width: 100%;
}
.pc-recesso-button-wrap {
	margin: 18px 0;
}
/* Variante compatta per la colonna ordini: larghezza naturale */
.pc-recesso-button--small {
	display: inline-block;
	width: auto;
	padding: 6px 12px;
	font-size: 13px;
}
.pc-recesso-na {
	color: #999;
}
.pc-recesso-review {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
}
.pc-recesso-review th,
.pc-recesso-review td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid #eee;
	vertical-align: top;
}
.pc-recesso-review th {
	width: 38%;
	color: #444;
}
.pc-recesso-declaration {
	background: var(--pc-recesso-declaration-bg);
	border-left: 3px solid var(--pc-recesso-button-bg);
	padding: 14px 18px;
	margin: 20px 0;
}
.pc-recesso-notice {
	padding: 14px 18px;
	border-radius: var(--pc-recesso-radius);
	margin: 16px 0;
}
.pc-recesso-notice--error {
	background: var(--pc-recesso-notice-error-bg);
	border: 1px solid var(--pc-recesso-notice-error-color);
	color: var(--pc-recesso-notice-error-color);
}
.pc-recesso-notice--success {
	background: var(--pc-recesso-notice-success-bg);
	border: 1px solid var(--pc-recesso-notice-success-color);
	color: var(--pc-recesso-notice-success-color);
}
.pc-recesso-notice--warning {
	background: var(--pc-recesso-notice-warning-bg);
	border: 1px solid var(--pc-recesso-notice-warning-color);
	color: var(--pc-recesso-notice-warning-color);
}
.pc-recesso-ref {
	color: #777;
	font-size: 14px;
}
.pc-recesso-hp {
	position: absolute !important;
	left: -9999px !important;
	height: 0;
	overflow: hidden;
}

/* Popup / modale */
.pc-recesso-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.pc-recesso-modal {
	background: #fff;
	border-radius: var(--pc-recesso-radius, 4px);
	max-width: 680px;
	width: 100%;
	max-height: 88vh;
	overflow-y: auto;
	position: relative;
	padding: 32px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}
.pc-recesso-modal-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	background: #f0f0f0;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	color: #333;
}
.pc-recesso-modal-close:hover {
	background: #e0e0e0;
}
.pc-recesso-modal-loading {
	text-align: center;
	padding: 40px 0;
	color: #777;
}
