/**
 * elm-asma.ir - unified "Option 1 Soft Glass" form kit (ELM-FORMS-IMPL-001, v1.8.0; ELM-POLISH-004 round 3).
 *
 * Faithful port of the approved mockup (ELM-FORMS-DESIGN-001 previews/
 * forms-option-1-glass.html) onto the REAL captured markup
 * (evidence: ELM-FORMS-IMPL-001/cf7-markup.txt, comments-markup.txt):
 *   1. shared field tokens + kit classes (.elm-field)
 *   2. CF7 consultation form (/contact-us/) - labels WRAP their inputs
 *   3. native WP comment form (.comment-respond, p > label + input)
 *   4. WooCommerce checkout billing grid + native notices (glass alerts)
 *   5. CTA (brand blue like the login), busy spinner, success toast,
 *      red/green glass alerts
 * Logical properties only (RTL-first). No error text under fields until
 * submit - validation is communicated by label color only.
 */

:root {
	--elm-font-heading: 'PeydaWebFaNum', Tahoma, sans-serif;
	--elm-font-body: 'iransansxv', 'IRANSansX', Tahoma, sans-serif;
	--elm-blue: #253e88;
	--elm-blue-ink: #1d3170;
	--elm-gold: #e4b823;
	--elm-ink: #1d2436;
	--elm-muted: #5c6579;
	--elm-danger: #c43d3d;
	--elm-success: #1e7f4f;
	--elm-field-bg: rgba(255, 255, 255, 0.72);
	--elm-hairline: rgba(29, 36, 54, 0.12);
	--elm-glass: rgba(255, 255, 255, 0.60);
	--elm-glass-border: rgba(255, 255, 255, 0.85);
	--elm-r-card: 8px;
	--elm-r-field: 5px;
}

/* ---------- 1) shared label + field system ---------- */

/* Labels: 13.5px / 700, sit above the field; state chip (green/red
   micro-check) injected by elm-forms.js right after the label text. */
.elm-field > label,
.comment-form label,
.form-row > label:not(.woocommerce-form__label),
.wpcf7-form label {
	display: block;
	font-family: var(--elm-font-body);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--elm-ink);
	margin-block-end: 8px;
	transition: color 0.15s ease;
}

/* Mockup: label text line, then the field below it (CF7 labels wrap
   the control, so the wrap span must stack under the text). */
.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	margin-block-start: 2px;
}

/* Label state micro-check chip (mockup .lstate). */
.elm-lstate {
	display: inline-grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	margin-inline-start: 6px;
	vertical-align: middle;
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.18s ease;
}

.elm-lstate svg {
	width: 10px;
	height: 8px;
}

.elm-lstate svg path {
	stroke: var(--elm-success);
}

/* Glass fields (base). */
.elm-field input[type="text"],
.elm-field input[type="tel"],
.elm-field input[type="email"],
.elm-field input[type="search"],
.elm-field textarea,
.elm-field select,
.wpcf7-form .wpcf7-form-control,
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.form-row input.input-text,
.form-row textarea,
.form-row select {
	font-family: var(--elm-font-body);
	font-size: 15px;
	box-sizing: border-box;
	color: var(--elm-ink);
	background: var(--elm-field-bg);
	border: 1px solid var(--elm-hairline);
	border-radius: var(--elm-r-field);
	padding: 13px 14px;
	line-height: 1.8;
	width: 100%;
	outline: none;
}

.wpcf7-form textarea,
.comment-form textarea,
.form-row textarea {
	min-height: 110px;
	resize: vertical;
	line-height: 1.9;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder,
.comment-form input::placeholder,
.comment-form textarea::placeholder,
.form-row input::placeholder,
.form-row textarea::placeholder {
	color: #9aa2b4;
}

/* Phone + email values read LTR (mockup: input.ltr). */
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.comment-form input[type="email"],
.form-row input[type="tel"],
.form-row input[type="email"] {
	direction: ltr;
	text-align: left;
}

.wpcf7-form .wpcf7-form-control:focus,
.comment-form input:focus,
.comment-form textarea:focus,
.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus,
.elm-field input:focus,
.elm-field textarea:focus,
.elm-field select:focus {
	border-color: var(--elm-blue);
	box-shadow: 0 0 0 3px rgba(37, 62, 136, 0.14);
}

/* ---------- validation states (label color ONLY - no error text) ---------- */

.elm-field.elm-valid > label,
label.elm-valid,
p.elm-valid > label,
.form-row.elm-valid > label {
	color: var(--elm-success);
}

.elm-field.elm-invalid > label,
label.elm-invalid,
p.elm-invalid > label,
.form-row.elm-invalid > label {
	color: var(--elm-danger);
}

.elm-valid > .elm-lstate,
label.elm-valid .elm-lstate,
p.elm-valid .elm-lstate,
.form-row.elm-valid .elm-lstate {
	opacity: 1;
	transform: scale(1);
	background: rgba(30, 127, 79, 0.14);
}

.elm-valid .elm-lstate svg path,
label.elm-valid .elm-lstate svg path,
p.elm-valid .elm-lstate svg path,
.form-row.elm-valid .elm-lstate svg path {
	stroke: var(--elm-success);
}

.elm-invalid > .elm-lstate,
label.elm-invalid .elm-lstate,
p.elm-invalid .elm-lstate,
.form-row.elm-invalid .elm-lstate {
	opacity: 1;
	transform: scale(1);
	background: rgba(196, 61, 61, 0.14);
}

.elm-invalid .elm-lstate svg path,
label.elm-invalid .elm-lstate svg path,
p.elm-invalid .elm-lstate svg path,
.form-row.elm-invalid .elm-lstate svg path {
	stroke: var(--elm-danger);
}

.elm-field.elm-valid input,
.elm-field.elm-valid textarea,
label.elm-valid .wpcf7-form-control,
p.elm-valid input,
p.elm-valid textarea,
.form-row.elm-valid input,
.form-row.elm-valid textarea {
	border-color: rgba(30, 127, 79, 0.45);
	background: rgba(30, 127, 79, 0.045);
}

.elm-field.elm-invalid input,
.elm-field.elm-invalid textarea,
label.elm-invalid .wpcf7-form-control,
p.elm-invalid input,
p.elm-invalid textarea,
.form-row.elm-invalid input,
.form-row.elm-invalid textarea {
	border-color: rgba(196, 61, 61, 0.55);
	box-shadow: 0 0 0 3px rgba(196, 61, 61, 0.10);
}

/* Required star: gold micro-accent (mockup .req). */
.comment-form .required,
.form-row .required {
	color: var(--elm-gold);
	font-weight: 800;
}

/* Woo hides .form-row .required via visibility; restore the star
   (site already prints visibility: visible - kept for safety). */
.woocommerce form .form-row .required {
	visibility: visible;
}

/* ---------- 2) CF7 consultation form ---------- */

.wpcf7-form label,
.wpcf7-form p {
	font-family: var(--elm-font-body);
}

/* Re-assert focus/invalid against Flatsome .form-flat defaults so the
   ring always wins (specificity-safe boost). */
.wpcf7-form .wpcf7-form-control:focus {
	border-color: var(--elm-blue) !important;
	box-shadow: 0 0 0 3px rgba(37, 62, 136, 0.14) !important;
}

/* CF7 native per-field error tips stay hidden - errors are communicated
   by the red label + the red response alert (mockup behavior). */
.wpcf7-form .wpcf7-not-valid-tip {
	display: none !important;
}

/* ---------- 3) WP comment form (white-glass card) ---------- */

.comment-respond {
	font-family: var(--elm-font-body);
	background: var(--elm-glass);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid var(--elm-glass-border);
	box-shadow: 0 16px 48px rgba(37, 62, 136, 0.10), 0 1px 2px rgba(29, 36, 54, 0.04);
	border-radius: var(--elm-r-card);
	padding: 20px 22px;
	margin-block: 28px;
}

.comment-respond .comment-reply-title {
	font-family: var(--elm-font-heading);
	font-size: 16px;
	font-weight: 800;
	margin-block-end: 16px;
}

.comment-respond .comment-notes {
	font-size: 13px;
	color: var(--elm-muted);
	line-height: 1.9;
	margin-block-end: 14px;
}

.comment-form .comment-form-comment,
.comment-form .comment-form-author,
.comment-form .comment-form-email {
	margin-block-end: 18px;
}

/* White-glass comment cards (mockup .c-card). */
.comment-list .comment-body {
	background: var(--elm-glass);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid var(--elm-glass-border);
	box-shadow: 0 16px 48px rgba(37, 62, 136, 0.10), 0 1px 2px rgba(29, 36, 54, 0.04);
	border-radius: var(--elm-r-card);
	padding: 20px 22px;
	margin-block-end: 14px;
}

.comment-list .comment-author img {
	border-radius: 50%;
}

.comment-list .comment-author .fn {
	font-family: var(--elm-font-heading);
	font-size: 14.5px;
	font-weight: 800;
	color: var(--elm-ink);
	font-style: normal;
}

.comment-list .comment-metadata {
	font-size: 12px;
	color: var(--elm-muted);
}

.comment-list .comment-content {
	font-size: 14px;
	line-height: 2;
	color: #333c50;
}

.comment-list ul.children {
	padding-inline-start: 26px;
	border-inline-start: 2px solid rgba(37, 62, 136, 0.14);
}

/* ---------- 4) CTA (brand blue, like the approved login) ---------- */

.wpcf7-submit,
.comment-form #submit,
#place_order,
.elm-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--elm-font-heading);
	font-size: 14.5px;
	line-height: 1.25;
	font-weight: 800;
	color: #fff !important;
	background: var(--elm-blue);
	border: 0;
	border-radius: var(--elm-r-field);
	padding: 11px 18px;
	min-height: 42px;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.1s ease, opacity 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.wpcf7-submit:hover,
.comment-form #submit:hover,
#place_order:hover,
.elm-cta:hover {
	background: var(--elm-blue-ink) !important;
	color: #fff !important;
}

.wpcf7-submit:active,
.comment-form #submit:active,
#place_order:active,
.elm-cta:active {
	transform: translateY(1px);
}

.wpcf7-submit:focus-visible,
.comment-form #submit:focus-visible,
#place_order:focus-visible,
.elm-cta:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(37, 62, 136, 0.30);
}

/* Busy state (CF7 beforesend -> CTA busy + disabled). */
.wpcf7-form.elm-busy .wpcf7-submit,
.elm-busy.elm-cta {
	pointer-events: none;
	opacity: 0.78;
	background: var(--elm-blue-ink) !important;
}

.elm-busy-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	margin-inline-start: 10px;
	vertical-align: middle;
	animation: elm-spin 0.8s linear infinite;
}

.wpcf7.elm-busy .elm-busy-spinner {
	display: inline-block;
}

@keyframes elm-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ---------- 5) glass alerts (red/green) + Woo notices ---------- */

.wpcf7.elm-has-error .wpcf7-response-output,
.elm-alert-error,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	font-size: 13.5px;
	line-height: 1.9;
	border-radius: 12px;
	padding: 12px 16px;
	font-family: var(--elm-font-body);
}

.wpcf7.elm-has-error .wpcf7-response-output,
.elm-alert-error,
.woocommerce .woocommerce-error {
	background: rgba(196, 61, 61, 0.09);
	border: 1px solid rgba(196, 61, 61, 0.30);
	color: #9c2f2f;
	margin-block-start: 16px;
}

.wpcf7 .wpcf7-response-output:empty {
	display: none;
}

.woocommerce .woocommerce-info {
	background: rgba(37, 62, 136, 0.06);
	border: 1px solid rgba(37, 62, 136, 0.16);
	color: #2c3e73;
}

.woocommerce .woocommerce-message,
.wpcf7.elm-sent .wpcf7-response-output,
.elm-alert-success {
	background: rgba(30, 127, 79, 0.09);
	border: 1px solid rgba(30, 127, 79, 0.30);
	color: #166240;
	margin-block-start: 16px;
}

.woocommerce .woocommerce-error li,
.woocommerce .woocommerce-info li,
.woocommerce .woocommerce-message li {
	list-style: none;
}

/* ---------- 6) WooCommerce checkout ---------- */

/* Billing grid: 2-col desktop, 1-col mobile (mockup .co-grid). */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 16px;
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-additional-fields .form-row {
	float: none;
	width: 100%;
	margin: 0 0 18px;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

.form-row.place-order {
	margin: 20px 0 0;
}

/* Payment box: blue-glass note (mockup .paynote). */
.woocommerce-checkout #payment {
	border-radius: var(--elm-r-card);
	background: var(--elm-glass);
	border: 1px solid var(--elm-glass-border);
}

.woocommerce-checkout #payment div.payment_box {
	background: rgba(37, 62, 136, 0.06);
	border-radius: 12px;
	color: #41507a;
	line-height: 1.9;
	font-size: 13.5px;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

/* ---------- 7) success toast (bottom) ---------- */

.elm-toast {
	position: fixed;
	inset-inline: 0;
	bottom: 24px;
	margin-inline: auto;
	width: max-content;
	max-width: min(92vw, 480px);
	font-family: var(--elm-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
	color: #166240;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(30, 127, 79, 0.35);
	box-shadow: 0 16px 48px rgba(37, 62, 136, 0.18);
	border-radius: 14px;
	padding: 14px 20px;
	text-align: center;
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	z-index: 99999;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.elm-toast.show {
	opacity: 1;
	transform: translateY(0);
}


/* ---------- 9) checkout clarity boost (ELM-FORMS-IMPL-002 #3) ---------- */

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	gap: 14px;
}

:root {
	--elm-field-bg-solid: rgba(255, 255, 255, 0.82);
	--elm-hairline-str: rgba(29, 36, 54, 0.18);
}

.woocommerce-checkout .form-row > label,
.woocommerce-checkout .form-row label:not(.woocommerce-form__label) {
	font-size: 13.5px;
	font-weight: 700;
	display: block;
	margin-block-end: 6px;
}

html body .woocommerce-checkout .form-row input.input-text,
html body .woocommerce-checkout .form-row textarea,
html body .woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-selection--single {
	background-color: var(--elm-field-bg-solid) !important;
	border-color: var(--elm-hairline-str) !important;
}

/* ---------- 10) LuckyWP TOC breathing room (ELM-FORMS-IMPL-002 #4) ---------- */

.lwptoc {
	margin-block: 20px;
}

.lwptoc_i,
.lwptoc .lwptoc_item,
.lwptoc .lwptoc_item a {
	font-size: 14px;
}

.lwptoc_i {
	line-height: 2.1;
	padding: 18px 22px;
}

.lwptoc .lwptoc_item {
	margin-block: 7px;
}

.lwptoc .lwptoc_item a {
	text-decoration: none;
	border-block-end: 1px solid var(--elm-hairline);
	padding-block-end: 4px;
}

.lwptoc .lwptoc_item:last-child a {
	border-block-end: 0;
	padding-block-end: 0;
}

.lwptoc .lwptoc_header {
	margin-block-end: 10px;
}


/* ---------- 11) round-3 polish (ELM-POLISH-004) ---------- */

/* ITEM 2: validation tick chip gets explicit breathing room from the
   label text and from the field below (owner: " tik zir-e field ha
   bayad fasele begire "). Baseline was margin-inline-start:6px only. */
.elm-lstate {
	margin-inline-start: 8px;
	margin-inline-end: 2px;
	vertical-align: -2px;
	transform-origin: center;
}

/* ITEM 4: vertical rhythm between the account/coupon toggles and the
   billing block on /checkout/ (owner: gap between " hesab karbari "
   and " kupun takhif "). Standard Woo classes only; spacing = 18px. */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle {
	margin-block: 18px;
	border-radius: var(--elm-r-field);
}

.woocommerce-checkout .woocommerce-form-coupon {
	margin-block-end: 18px;
	border-radius: var(--elm-r-field);
}

.woocommerce-checkout .woocommerce-billing-fields {
	margin-block-start: 6px;
}

/* ITEM 5: Woo country/state <select> text was washed out (" matn
   dakhelash be dorosti mashkhod nist "). Plain selects (no select2 on
   the checkout) get full ink on solid white; option list matches. */
.woocommerce form .form-row select,
.woocommerce-billing-fields select,
.wpcf7-form select,
.elm-field select,
.form-row select {
	color: var(--elm-ink) !important;
	background-color: #ffffff !important;
	opacity: 1 !important;
	-webkit-appearance: menulist;
	appearance: menulist;
}

.woocommerce form .form-row select option,
.form-row select option,
.wpcf7-form select option,
.elm-field select option {
	color: #1d2436 !important;
	background: #ffffff !important;
}

.woocommerce form .form-row .select2-selection--single {
	color: var(--elm-ink) !important;
}

select::-ms-expand {
	color: #1d2436;
}

/* =====================================================================
 * ITEM 6 — BUTTON HARMONY LAW (single documented system, ELM-POLISH-004)
 * ---------------------------------------------------------------------
 * TWO color categories and NOTHING else:
 *   - SHOP actions (#place_order, add-to-cart, checkout CTAs):
 *       brand blue #253e88 bg, white text, hover #1d3170.
 *   - NON-SHOP form actions (consultation/contact CF7 submit, comment
 *       submit, newsletter/subscribe CTAs): brand gold #e4b823 bg,
 *       dark ink #1d2436 text, hover #c49d15.
 * Shared geometry (fixed by law): heading font, 14.5px, weight 800,
 *   padding 11px 18px, min-height 42px, radius 5px, transition .15s,
 *   letter-spacing 0, full-width on CF7 forms.
 * Contrast: gold #e4b823 vs ink #1d2436 = 7.9:1 (AA+); blue vs white
 *   = 10.4:1. This section OVERRIDES the earlier all-blue CTA block.
 * ===================================================================== */
html body .wpcf7-submit,
html body .comment-form #submit,
html body .elm-cta:not(.elm-shop-cta) {
	background-color: var(--elm-gold) !important;
	border-color: var(--elm-gold) !important;
	color: var(--elm-ink) !important;
	transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

html body .wpcf7-submit:hover,
html body .comment-form #submit:hover,
html body .elm-cta:not(.elm-shop-cta):hover {
	background-color: #c49d15 !important;
	border-color: #c49d15 !important;
	color: #1d2436 !important;
}

html body .wpcf7-submit:focus-visible,
html body .comment-form #submit:focus-visible,
html body .elm-cta:not(.elm-shop-cta):focus-visible {
	box-shadow: 0 0 0 3px rgba(228, 184, 35, 0.45);
}

/* Shop side of the law stays blue/white (re-asserted against the old
   block above so the two categories are explicit and greppable). */
html body #place_order,
html body .single_add_to_cart_button,
html body .add_to_cart_button,
html body .checkout-button,
html body .elm-shop-cta {
	background-color: var(--elm-blue) !important;
	border-color: var(--elm-blue) !important;
	color: #fff !important;
}

html body #place_order:hover,
html body .single_add_to_cart_button:hover,
html body .add_to_cart_button:hover,
html body .checkout-button:hover,
html body .elm-shop-cta:hover {
	background-color: var(--elm-blue-ink) !important;
	border-color: var(--elm-blue-ink) !important;
	color: #fff !important;
}

/* Law geometry for shop buttons too (radius 5px, min-height 42px). */
html body #place_order,
html body .single_add_to_cart_button,
html body .add_to_cart_button,
html body .checkout-button,
html body .elm-shop-cta {
	border-radius: var(--elm-r-field) !important;
	min-height: 42px !important;
	padding: 11px 18px !important;
	font-family: var(--elm-font-heading) !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
}

/* ---------- 8) responsive ---------- */

@media (max-width: 640px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.comment-list ul.children {
		padding-inline-start: 14px;
	}

	.comment-respond {
		padding: 16px 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elm-busy-spinner {
		animation: none;
	}

	.elm-lstate,
	.elm-toast,
	.wpcf7-submit,
	.elm-cta,
	.comment-form #submit,
	#place_order {
		transition: none !important;
	}
}

/* ---------- Live-cascade guard (ELM-FORMS-IMPL-001) ----------
   Flatsome ships `.rounded,.form-flat input:not([type=submit]),...` with
   `border-radius:var(--elm-radius-sm)!important` plus a flat bg reset;
   inside the merged LiteSpeed CSS bundle those rules load AFTER this kit
   and beat the base glass rule. Re-assert glass fields + blue CTA with
   matched-or-higher specificity and !important. */
html body .wpcf7-form .wpcf7-form-control:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
html body .comment-form textarea,
html body .comment-form input[type="text"],
html body .comment-form input[type="email"],
html body .form-row input.input-text,
html body .form-row textarea,
html body .form-row select {
	background-color: var(--elm-field-bg) !important;
	border-color: var(--elm-hairline) !important;
	border-radius: var(--elm-r-field) !important;
}

html body .wpcf7-submit,
html body #submit,
html body #place_order {
	background-color: var(--elm-blue) !important;
	border-color: var(--elm-blue) !important;
	border-radius: var(--elm-r-field) !important;
	color: #fff !important;
	font-size: 14.5px !important;
	line-height: 1.25 !important;
	min-height: 42px !important;
}

/* ELM-FORMS-IMPL-002 (#1): compact CTA paddings, keep guard specificity. */
html body .wpcf7-submit,
html body #submit,
html body #place_order,
html body .elm-cta {
	padding: 11px 18px !important;
}

/* ---------- Phone inputs stay RTL (ELM-POLISH-005) ----------
   Iranian mobile numbers read right-to-left like surrounding Persian
   text; the placeholder aligns right. These selectors win over the
   generic LTR value rule earlier in this file (equal-or-greater
   specificity + later position). The Button Harmony block below must
   remain the last block in this file. */
form.checkout input[type=tel],
.wpcf7 input[type=tel] {
	direction: rtl;
	text-align: right;
}

/* ---------- 12) Button Harmony final enforcement (ELM-POLISH-004) ----------
   Must stay the LAST block in this file: it overrides the earlier
   live-cascade guard (which paints every submit blue). Non-shop form
   CTAs end gold/ink; shop CTAs re-asserted blue/white. */
html body .wpcf7-submit,
html body .comment-form #submit,
html body .elm-cta:not(.elm-shop-cta) {
	background-color: var(--elm-gold) !important;
	border-color: var(--elm-gold) !important;
	color: var(--elm-ink) !important;
}

html body .wpcf7-submit:hover,
html body .comment-form #submit:hover,
html body .elm-cta:not(.elm-shop-cta):hover {
	background-color: #c49d15 !important;
	border-color: #c49d15 !important;
	color: var(--elm-ink) !important;
}

html body #place_order,
html body .single_add_to_cart_button,
html body .add_to_cart_button,
html body .checkout-button,
html body .elm-shop-cta {
	background-color: var(--elm-blue) !important;
	border-color: var(--elm-blue) !important;
	color: #fff !important;
}