/**
 * Login dialog. Falls back to sane values where the theme has no colour tokens.
 */

dialog.sv-cc-modal {
	width: min(420px, calc(100vw - 32px));
	padding: 0;
	color: inherit;
	background: var(--ast-global-color-4, #fff);
	border: 1px solid var(--ast-border-color, rgba(0, 0, 0, 0.15));
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}

dialog.sv-cc-modal::backdrop {
	background: rgba(0, 0, 0, 0.5);
}

.sv-cc-modal__inner {
	position: relative;
	padding: 26px 24px 20px;
}

.sv-cc-modal__close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 34px;
	height: 34px;
	padding: 0;
	font-size: 22px;
	line-height: 1;
	color: inherit;
	background: none;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.sv-cc-modal__close:hover,
.sv-cc-modal__close:focus-visible {
	background: var(--ast-global-color-5, rgba(0, 0, 0, 0.06));
}

.sv-cc-modal__title {
	margin: 0 0 6px;
	font-size: 1.3rem;
	line-height: 1.3;
}

.sv-cc-modal__lead {
	margin: 0 0 18px;
	font-size: 0.92rem;
	opacity: 0.85;
}

.sv-cc-modal__form .form-row {
	display: block;
	margin: 0 0 14px;
}

.sv-cc-modal__form label {
	display: block;
	margin-bottom: 4px;
	font-size: 0.88rem;
	font-weight: 600;
}

.sv-cc-modal__form input.input-text {
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--ast-border-color, rgba(0, 0, 0, 0.2));
	border-radius: 8px;
}

.sv-cc-modal__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 0;
}

.sv-cc-modal__remember {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 0.88rem;
	font-weight: 400;
}

.sv-cc-modal__remember input { margin: 0; }

.sv-cc-modal__actions .button { margin: 0; }

.sv-cc-modal__links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 16px 0 0;
	padding-top: 14px;
	font-size: 0.85rem;
	border-top: 1px solid var(--ast-border-color, rgba(0, 0, 0, 0.12));
}

/**
 * A WooCommerce beépített, mező alatti kupon-hibaüzenete.
 *
 * A kupon-űrlap flex elrendezésében a szöveg a gomb mellé szorul, és keskeny hasábban
 * törik. Teljes sort kap, hogy olvasható maradjon.
 */
.woocommerce .coupon-error-notice,
.woocommerce-page .coupon-error-notice {
	display: block;
	flex-basis: 100%;
	width: 100%;
	margin: 8px 0 0;
	line-height: 1.5;
}

/**
 * A pénztár kuponmezője 47% széles sorban ül (.form-row-first), ezért a hibaüzenet keskeny
 * hasábba törne. Ha van hibaüzenet, a sor teljes szélességet kap. A :has() nélküli
 * böngészőkben csak az eredeti, keskenyebb elrendezés marad — a szöveg akkor is olvasható.
 */
.woocommerce form.checkout_coupon .form-row-first:has( .coupon-error-notice ),
.woocommerce-page form.checkout_coupon .form-row-first:has( .coupon-error-notice ) {
	float: none;
	width: 100%;
}

/**
 * Sikertelen bejelentkezés üzenete a felugró ablakban.
 */
.sv-cc-login-error {
	margin: 0 0 14px;
	padding: 10px 12px;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--ast-global-color-2, inherit);
	background: var(--ast-global-color-5, rgba(0, 0, 0, 0.05));
	border-left: 3px solid var(--ast-global-color-0, #b32d2e);
	border-radius: 6px;
}
