/* ==========================================================================
   Vertrag widerrufen (/vertrag-widerrufen/)
   Restyles woocommerce-germanized's EU Order Withdrawal Button form
   (packages/eu-order-withdrawal-button-for-woocommerce) to match the
   design tokens in theme.json. Third-party markup is left untouched;
   visuals are redeclared here the same way page-checkout.css does for
   #place_order and the WC order-confirmation blocks.
   ========================================================================== */

.order-withdrawal-request {
	margin: 0 auto;
	padding: var(--wp--preset--spacing--8);
	border: 1px solid var(--wp--preset--color--border-default);
	border-radius: var(--wp--custom--radius--xxl);
	background: var(--wp--preset--color--surface-default);
}

@media (max-width: 640px) {
	.order-withdrawal-request {
		padding: var(--wp--preset--spacing--5);
	}
}

/* ── Notices ─────────────────────────────────────────────────────────────── */

.order-withdrawal-request .woocommerce-error,
.order-withdrawal-request .woocommerce-message,
.order-withdrawal-request .woocommerce-info {
	margin: 0;
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--border-default);
	border-radius: var(--wp--custom--radius--lg);
	font-size: var(--wp--preset--font-size--base);
	list-style: none;
}

.order-withdrawal-request .woocommerce-error {
	border-color: var(--wp--preset--color--status-stock-out);
	background: var(--wp--preset--color--status-stock-out-bg);
	color: var(--wp--preset--color--status-stock-out-text);
}

.order-withdrawal-request .woocommerce-message,
.order-withdrawal-request .woocommerce-info {
	border-color: var(--wp--preset--color--teal-action-border);
	background: var(--wp--preset--color--teal-action-light);
	color: var(--wp--preset--color--action-primary);
}

.eu-owb-form-fields > .woocommerce-info {
	display: block !important;
}

/* ── Field grid ──────────────────────────────────────────────────────────── */

.order-withdrawal-request .form-row-full,
.order-withdrawal-request .form-row-order-number,
.order-withdrawal-request .form-row-email,
.order-withdrawal-request .form-row-additional-information,
.order-withdrawal-request .form-row-manually-select-items,
.order-withdrawal-request .form-row-order,
.order-withdrawal-request .eu-owb-order-item-select-wrapper,
.order-withdrawal-request .order-supports-partial-withdrawal {
	grid-column: 1 / -1;
}

.order-withdrawal-request .form-row-email-repeat {
	grid-column: 1 / -1;
}

.order-withdrawal-request .clear {
	display: none;
}

.order-withdrawal-request .form-row {
	margin: 0;
	padding: 0;
}

.order-withdrawal-request .form-row label {
	display: block;
	margin-bottom: var(--wp--preset--spacing--2);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
	color: var(--wp--preset--color--text-primary);
}

.order-withdrawal-request .form-row .required {
	color: var(--wp--preset--color--status-stock-out);
	text-decoration: none;
}

.order-withdrawal-request .form-row .optional {
	color: var(--wp--preset--color--text-tertiary);
}

/* ── Inputs ──────────────────────────────────────────────────────────────── */

.order-withdrawal-request input.input-text,
.order-withdrawal-request select,
.order-withdrawal-request textarea {
	width: 100%;
	min-height: 46px;
	padding: 11px var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--border-default);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--surface-default);
	color: var(--wp--preset--color--text-primary);
	font-size: var(--wp--preset--font-size--input);
	box-shadow: none;
}

.order-withdrawal-request textarea {
	min-height: 120px;
	resize: vertical;
}

.order-withdrawal-request input.input-text:focus,
.order-withdrawal-request select:focus,
.order-withdrawal-request textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--action-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--action-primary) 16%, transparent);
}

/* ── Checkbox rows (manually select items / delete original request) ─────── */

.order-withdrawal-request .form-row label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--2);
	margin-bottom: 0;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 400;
	color: var(--wp--preset--color--text-primary);
	cursor: pointer;
}

.order-withdrawal-request input.input-checkbox,
.order-withdrawal-request input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-height: 0;
	margin-top: 2px;
	accent-color: var(--wp--preset--color--action-primary);
}

.order-withdrawal-request .eu-owb-woocommerce-select-certain-items-desc {
	display: block;
	margin-top: var(--wp--preset--spacing--2);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--text-tertiary);
}

/* ── Order details + item selection ─────────────────────────────────────── */

.eu-owb-woocommerce-withdrawal-order-details {
	margin: 0 0 var(--wp--preset--spacing--3);
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--text-secondary);
}

.eu-owb-woocommerce-withdrawal-order-details mark {
	padding: 0 var(--wp--preset--spacing--1);
	background: var(--wp--preset--color--teal-action-light);
	color: var(--wp--preset--color--action-primary);
	font-weight: 600;
}

.order-withdrawal-request-items-table {
	width: 100% !important;
	margin: var(--wp--preset--spacing--3) 0 0;
	border: 1px solid var(--wp--preset--color--border-default);
	border-radius: var(--wp--custom--radius--lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--base);
}

.order-withdrawal-request-items-table th,
.order-withdrawal-request-items-table td {
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	border-bottom: 1px solid var(--wp--preset--color--border-default);
	text-align: left;
}

.order-withdrawal-request-items-table thead th {
	background: var(--wp--preset--color--surface-secondary);
	color: var(--wp--preset--color--text-secondary);
	font-weight: 600;
}

.order-withdrawal-request-items-table tbody tr:last-child td {
	border-bottom: 0;
}

.order-withdrawal-request-items-table .product-select {
	width: 40px;
}

.order-withdrawal-request-items-table .product-quantity {
	width: 120px;
}

.order-withdrawal-request-items-table .order-item-non-withdrawable {
	color: var(--wp--preset--color--text-tertiary);
}

/* ── Submit ──────────────────────────────────────────────────────────────── */

.order-withdrawal-request .form-row-submit {
	margin-top: var(--wp--preset--spacing--2);
}

.order-withdrawal-request .woocommerce-form-return_request__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6);
	border: 1px solid var(--wp--preset--color--action-primary);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--action-primary);
	color: var(--wp--preset--color--text-inverse);
	font-size: var(--wp--preset--font-size--input);
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s;
}

.order-withdrawal-request .woocommerce-form-return_request__submit:hover {
	background: var(--wp--preset--color--action-primary-hover);
	border-color: var(--wp--preset--color--action-primary-hover);
}

