/* TGP EU Withdrawal – front-end styles (theme-neutral). */
.tgp-euw {
	--tgp-euw-accent: #1d4ed8;
	--tgp-euw-accent-text: #fff;
	--tgp-euw-border: #cbd5e1;
	--tgp-euw-error: #b91c1c;
	--tgp-euw-success: #166534;
	--tgp-euw-warning: #92400e;
	--tgp-euw-focus: #f59e0b;
	max-width: 44rem;
	margin: 0 auto;
	line-height: 1.5;
}
.tgp-euw__intro,
.tgp-euw__step,
.tgp-euw-note { margin: 0 0 1rem; }
.tgp-euw__step { font-weight: 600; }
.tgp-euw__legal { margin: 0 0 1rem; font-size: 0.9em; opacity: 0.85; }

.tgp-euw-field { margin: 0 0 1.25rem; }
.tgp-euw-field__label { display: block; font-weight: 600; margin-bottom: 0.35rem; }
.tgp-euw-field__input {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem;
	font: inherit;
	border: 1px solid var(--tgp-euw-border);
	border-radius: 4px;
	background: #fff;
	color: inherit;
}
.tgp-euw-field--invalid .tgp-euw-field__input { border-color: var(--tgp-euw-error); border-width: 2px; }
.tgp-euw-field__error { display: block; margin-top: 0.35rem; color: var(--tgp-euw-error); font-weight: 600; }
.tgp-euw-field__error::before { content: "\26A0\FE0F "; }
.tgp-euw-required { color: var(--tgp-euw-error); font-weight: 700; }
.tgp-euw-required-note { font-size: 0.9em; }

.tgp-euw-errors {
	border: 2px solid var(--tgp-euw-error);
	border-left-width: 6px;
	padding: 0.75rem 1rem;
	margin: 0 0 1.5rem;
	background: #fff5f5;
}
.tgp-euw-errors__title { margin: 0 0 0.5rem; font-size: 1.05em; }
.tgp-euw-errors__list { margin: 0; padding-left: 1.25rem; }
.tgp-euw-errors__list a { color: var(--tgp-euw-error); text-decoration: underline; }

.tgp-euw-notice { border: 1px solid var(--tgp-euw-border); border-left-width: 6px; padding: 0.75rem 1rem; margin: 0 0 1.25rem; background: #f8fafc; }
.tgp-euw-notice p { margin: 0; }
.tgp-euw-notice--success { border-color: var(--tgp-euw-success); background: #f0fdf4; }
.tgp-euw-notice--success .tgp-euw-notice__title { font-weight: 700; }
.tgp-euw-notice--success .tgp-euw-notice__title::before { content: "\2713 "; }
.tgp-euw-notice--warning { border-color: var(--tgp-euw-warning); background: #fffbeb; }
.tgp-euw-notice--info { border-color: var(--tgp-euw-accent); background: #eff6ff; }

.tgp-euw-summary { margin: 0 0 1.5rem; padding: 0; border: 1px solid var(--tgp-euw-border); border-radius: 4px; }
.tgp-euw-summary__row { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; padding: 0.6rem 0.9rem; border-bottom: 1px solid var(--tgp-euw-border); }
.tgp-euw-summary__row:last-child { border-bottom: 0; }
.tgp-euw-summary dt { flex: 0 0 14rem; font-weight: 600; margin: 0; }
.tgp-euw-summary dd { flex: 1 1 12rem; margin: 0; overflow-wrap: anywhere; }
.tgp-euw-summary__tz { opacity: 0.8; }

.tgp-euw-order { margin: 0 0 1.5rem; }
.tgp-euw-order__title { font-size: 1.1em; margin: 0 0 0.75rem; }
.tgp-euw-scope, .tgp-euw-items { border: 1px solid var(--tgp-euw-border); border-radius: 4px; padding: 0.75rem 1rem 1rem; margin: 0 0 1rem; }
.tgp-euw-scope__legend, .tgp-euw-items__legend { font-weight: 700; padding: 0 0.35rem; }
.tgp-euw-choice { margin: 0.35rem 0; }
.tgp-euw-choice input, .tgp-euw-item__select input { margin-right: 0.5rem; }
.tgp-euw-items__hint { margin: 0 0 0.75rem; font-size: 0.9em; }
.tgp-euw-items__list { list-style: none; margin: 0; padding: 0; }
.tgp-euw-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; padding: 0.6rem 0; border-top: 1px solid var(--tgp-euw-border); }
.tgp-euw-item__select { flex: 1 1 16rem; }
.tgp-euw-item__sku { opacity: 0.75; font-size: 0.9em; }
.tgp-euw-item__qty label { display: inline-block; margin-right: 0.5rem; font-size: 0.9em; }
.tgp-euw-item__qty input { width: 5rem; padding: 0.4rem; font: inherit; border: 1px solid var(--tgp-euw-border); border-radius: 4px; }
.tgp-euw-items[hidden] { display: none; }

.tgp-euw-declaration { margin: 0 0 1rem; padding: 0.75rem 1rem; border-left: 4px solid var(--tgp-euw-accent); background: #f8fafc; }
.tgp-euw-declaration p { margin: 0; }

.tgp-euw-actions { margin: 1.25rem 0; }
.tgp-euw-button {
	display: inline-block;
	padding: 0.8rem 1.5rem;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	border: 2px solid var(--tgp-euw-accent);
	border-radius: 4px;
	background: var(--tgp-euw-accent);
	color: var(--tgp-euw-accent-text);
	cursor: pointer;
	text-decoration: none;
}
.tgp-euw-button:hover { filter: brightness(1.1); }
.tgp-euw-button[disabled], .tgp-euw-button[aria-disabled="true"] { opacity: 0.6; cursor: wait; }
.tgp-euw-button--confirm { font-size: 1.1em; min-width: 16rem; }
.tgp-euw-back { font-size: 0.95em; }

.tgp-euw-statement { margin: 1.5rem 0 0; }
.tgp-euw-statement summary { cursor: pointer; font-weight: 600; }
.tgp-euw-statement__text { white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; background: #f8fafc; border: 1px solid var(--tgp-euw-border); padding: 1rem; border-radius: 4px; }

/* Focus: always visible, not colour-only. */
.tgp-euw a:focus-visible,
.tgp-euw button:focus-visible,
.tgp-euw input:focus-visible,
.tgp-euw summary:focus-visible,
.tgp-euw-cta:focus-visible,
.tgp-euw-sitewide__link:focus-visible,
.tgp-euw-footer__link:focus-visible,
.tgp-euw-info__link:focus-visible {
	outline: 3px solid var(--tgp-euw-focus, #f59e0b);
	outline-offset: 3px;
}

/* Call-to-action shortcode / view-order button. */
.tgp-euw-cta--button {
	display: inline-block;
	padding: 0.65rem 1.25rem;
	font-weight: 700;
	border: 2px solid currentColor;
	border-radius: 4px;
	text-decoration: none;
}
.tgp-euw-cta--link { text-decoration: underline; font-weight: 600; }

/* Site-wide control: prominent, not a popup, no JS. */
.tgp-euw-sitewide { position: fixed; z-index: 9990; bottom: 1rem; }
.tgp-euw-sitewide--bottom-right { right: 1rem; }
.tgp-euw-sitewide--bottom-left { left: 1rem; }
.tgp-euw-sitewide__link {
	display: inline-block;
	padding: 0.75rem 1.1rem;
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.2;
	color: #fff;
	background: #1f2937;
	border: 2px solid #fff;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	text-decoration: none;
}
.tgp-euw-sitewide__link:hover { background: #111827; color: #fff; }
.tgp-euw-sitewide--bottom-bar { left: 0; right: 0; bottom: 0; text-align: center; background: #1f2937; padding: 0.5rem 1rem; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.3); }
.tgp-euw-sitewide--bottom-bar .tgp-euw-sitewide__link { box-shadow: none; border-color: transparent; }
@media (max-width: 600px) {
	.tgp-euw-sitewide--bottom-right, .tgp-euw-sitewide--bottom-left { left: 0.75rem; right: 0.75rem; text-align: center; }
	.tgp-euw-sitewide__link { display: block; }
	.tgp-euw-summary dt { flex-basis: 100%; }
}
@media print { .tgp-euw-sitewide, .tgp-euw-footer { display: none; } }

.tgp-euw-footer { text-align: center; padding: 0.75rem 1rem; }
.tgp-euw-footer__link { font-weight: 600; text-decoration: underline; }

.tgp-euw-info { margin: 0 0 1rem; }
.tgp-euw-info--checkout { padding: 0.75rem 1rem; border-left: 4px solid currentColor; background: rgba(0, 0, 0, 0.03); }
.tgp-euw-view-order { margin: 1rem 0; }
