/*
 * Product page — CEP lookup block.
 * Printed by `woocommerce_after_add_to_cart_form`, so it sits directly under
 * the add-to-cart button inside the product summary.
 */

.hda-cep {
	--hda-p-deep: var(--e-global-color-6597c5e, #261559);
	--hda-p-purple: var(--e-global-color-e02c158, #471ea7);
	--hda-p-soft: #f1ecfb;
	--hda-p-ink: #2c2640;
	--hda-p-ink-soft: #6b6580;
	--hda-p-line: rgba(60, 40, 100, 0.13);
	--hda-p-font: var(--e-global-typography-text-font-family, "Roboto"), sans-serif;
	--hda-p-focus: 0 0 0 3px rgba(71, 30, 167, 0.35);

	margin: 18px 0 0;
	padding: 16px 18px;
	border: 1px solid var(--hda-p-line);
	border-radius: 14px;
	background: #fbfafd;
	font-family: var(--hda-p-font);
}

.hda-cep__head {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 12px;
}

.hda-cep__icon {
	display: flex;
	color: var(--hda-p-purple);
}

.hda-cep__title {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--hda-p-deep);
}

.hda-cep__form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.hda-cep__input {
	flex: 1 1 150px;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--hda-p-line);
	border-radius: 10px;
	background: #fff;
	font-family: var(--hda-p-font);
	/* 16px keeps iOS from zooming the page when the field takes focus. */
	font-size: 16px;
	color: var(--hda-p-ink);
	letter-spacing: 0.02em;
}

.hda-cep__input:focus,
.hda-cep__input:focus-visible {
	outline: none;
	border-color: var(--hda-p-purple);
	box-shadow: var(--hda-p-focus);
}

.hda-cep__submit {
	flex: 0 0 auto;
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	background: var(--hda-p-purple);
	color: #fff;
	font-family: var(--hda-p-font);
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

.hda-cep__submit:hover:not(:disabled) {
	background: var(--hda-p-deep);
}

.hda-cep__submit:disabled {
	opacity: 0.65;
	cursor: default;
}

.hda-cep__submit:focus-visible {
	outline: none;
	box-shadow: var(--hda-p-focus);
}

/* Result line */

.hda-cep__result {
	margin: 12px 0 0;
	padding: 11px 13px;
	border-radius: 10px;
	font-size: 13.8px;
	line-height: 1.45;
}

.hda-cep__result.is-covered {
	background: #e7f6ec;
	color: #14793a;
	font-weight: 600;
}

.hda-cep__result.is-outside {
	background: #fdf1e7;
	color: #a15c00;
}

.hda-cep__result.is-invalid {
	background: #fdecec;
	color: #b3261e;
}

.hda-cep__result.is-loading,
.hda-cep__result.is-unknown {
	background: var(--hda-p-soft);
	color: var(--hda-p-ink);
}

/* Standing notice about the sales area */

.hda-cep__notice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--hda-p-line);
	font-size: 12.8px;
	line-height: 1.45;
	color: var(--hda-p-ink-soft);
}

.hda-cep__notice .hda-icon {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--hda-p-purple);
}

@media (max-width: 480px) {
	.hda-cep__submit {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hda-cep__submit {
		transition: none;
	}
}
