/* =========================================================
   EA PACK & WARRANTY MANAGER — FRONT END
========================================================= */

.ea-forms-wrap,
.ea-forms-wrap * {
	box-sizing: border-box;
}

/* =========================
   EMAIL ME THE PACK — EXACT SUPPLIED STYLE
========================= */

.ea-email-btn {
	appearance: none;
	-webkit-appearance: none;
	background: transparent !important;
	color: #000 !important;
	padding: 16px 45px !important;
	border: 2px solid #c9a45c !important;
	border-radius: 2px !important;
	cursor: pointer;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	transition: all .25s ease;
}

.ea-email-btn:hover,
.ea-email-btn:focus {
	background: #c9a45c !important;
	color: #fff !important;
	border-color: #c9a45c !important;
}

.ea-email-popup {
	display: none;
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .55);
	z-index: 9999999;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.ea-email-popup.is-open {
	display: flex;
}

.ea-email-box {
	background: #fff;
	width: 100%;
	max-width: 480px;
	padding: 42px 40px 35px;
	border-radius: 4px;
	text-align: center;
	position: relative;
}

.ea-email-box h3 {
	margin: 0 0 28px;
	padding: 0;
	color: #d4cabf;
	font-size: 38px;
	line-height: 1.2;
	font-weight: 400;
}

.ea-email-box input[type="email"] {
	display: block;
	width: 100%;
	height: 58px;
	padding: 0 18px;
	margin: 0 0 18px;
	background: #fff;
	color: #222;
	border: 1px solid #222;
	border-radius: 2px;
	font-size: 16px;
	outline: none;
}

.ea-email-box input[type="email"]:focus {
	border-color: #c9a45c;
}

.ea-email-box input::placeholder {
	color: #777;
	opacity: 1;
}

.ea-send-btn {
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	min-height: 56px;
	padding: 14px 20px;
	background: transparent !important;
	color: #000 !important;
	border: 1px solid #c9a45c !important;
	border-radius: 2px !important;
	cursor: pointer;
	font-size: 17px;
	font-weight: 400;
	transition: all .25s ease;
}

.ea-send-btn:hover {
	background: #c9a45c !important;
	color: #fff !important;
}

.ea-send-btn:disabled,
.ea-warranty-submit:disabled {
	opacity: .6;
	cursor: not-allowed;
}

.ea-close {
	display: inline-block;
	margin-top: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #777;
	font-size: 17px;
	cursor: pointer;
}

.ea-close:hover {
	color: #000;
}

.ea-form-status {
	display: none;
	margin-top: 15px;
	padding: 11px 14px;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.ea-form-status.success {
	display: block;
	background: #edf4e7;
	color: #365019;
}

.ea-form-status.error {
	display: block;
	background: #fff0ee;
	color: #b42318;
}

.ea-hp {
	position: absolute !important;
	left: -99999px !important;
	width: 1px !important;
	height: 1px !important;
	top: auto !important;
	overflow: hidden !important;
}

body.ea-modal-open {
	overflow: hidden;
}

/* =========================
   ELITE AZURE WARRANTY PAGE
========================= */

.ea-warranty-page {
	--ea-olive: #4f5d2b;
	--ea-olive-dark: #3f4a22;
	--ea-gold: #C4A95F;
	--ea-ink: #171817;
	--ea-muted: #6f706d;
	--ea-line: #dddcd7;
	--ea-cream: #f4f3ed;
	position: relative;
	isolation: isolate;
	width: 100%;
	min-height: 1000px;
	overflow: hidden;
	padding: 54px 28px 42px;
	background:
		radial-gradient(circle at 7% 16%, rgba(193, 175, 144, .08) 0 1px, transparent 1.4px) 0 0 / 7px 7px,
		linear-gradient(180deg, #fbfaf8 0%, #f8f7f4 48%, #fff 100%);
	color: var(--ea-ink);
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

.ea-warranty-page::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 465px;
	left: 0;
	right: 0;
	height: 480px;
	background: rgba(255, 255, 255, .68);
}

.ea-warranty-shell {
	position: relative;
	z-index: 2;
	width: min(1180px, 100%);
	margin: 0 auto;
}

/* Decorative travertine slabs and botanical branch */

.ea-travertine-art {
	position: absolute;
	z-index: 0;
	top: -65px;
	right: -45px;
	width: min(470px, 42vw);
	height: 355px;
	pointer-events: none;
}

.ea-slab {
	position: absolute;
	right: -55px;
	width: 440px;
	height: 98px;
	border: 1px solid rgba(134, 108, 74, .16);
	border-radius: 2px;
	background:
		radial-gradient(ellipse at 20% 30%, rgba(160, 122, 82, .12) 0 1px, transparent 2px) 0 0 / 16px 12px,
		radial-gradient(ellipse at 70% 65%, rgba(112, 83, 57, .1) 0 1px, transparent 2px) 0 0 / 23px 17px,
		linear-gradient(135deg, #e9ddca, #f3eadb 45%, #ded0ba);
	box-shadow: -8px 16px 19px rgba(81, 66, 47, .13), inset 0 -11px 0 rgba(135, 101, 67, .12);
	transform: rotate(27deg) skewX(-9deg);
}

.ea-slab-one { top: 24px; }
.ea-slab-two { top: 86px; right: -30px; }
.ea-slab-three { top: 148px; right: -5px; }

.ea-botanical {
	position: absolute;
	z-index: 3;
	top: 0;
	right: -8px;
	width: 235px;
	height: 270px;
	overflow: visible;
	color: #425126;
	fill: #445329;
	filter: drop-shadow(0 6px 5px rgba(35, 45, 22, .15));
	transform: rotate(-7deg);
}

/* Brand lockup */

.ea-brand-lockup {
	position: relative;
	z-index: 2;
	width: 390px;
	max-width: 60%;
	margin: 0 auto 42px;
	text-align: center;
}

.ea-brand-monogram {
	margin-bottom: 4px;
	color: var(--ea-gold);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(66px, 7.5vw, 96px);
	font-weight: 400;
	line-height: .92;
	letter-spacing: -9px;
}

.ea-brand-name {
	color: #1d1e1c;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(18px, 2.2vw, 29px);
	letter-spacing: .38em;
	text-indent: .38em;
}

.ea-brand-tagline {
	margin-top: 13px;
	color: #42433f;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .34em;
	text-indent: .34em;
}

.ea-brand-rule,
.ea-gold-rule {
	display: block;
	width: 43px;
	height: 1px;
	margin: 17px auto 0;
	background: var(--ea-gold);
}

/* Intro */

.ea-warranty-intro {
	width: 65%;
	margin: 0 0 34px;
}

.ea-warranty-kicker {
	position: relative;
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 15px;
	color: var(--ea-olive);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .16em;
}

.ea-warranty-kicker::after {
	content: "";
	position: absolute;
	left: 35px;
	bottom: -12px;
	width: 32px;
	height: 1px;
	background: var(--ea-gold);
}

.ea-icon-leaf {
	width: 25px;
	height: 25px;
	flex: 0 0 25px;
}

.ea-warranty-intro h1 {
	margin: 0 0 19px;
	color: var(--ea-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 62px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.025em;
}

.ea-warranty-intro p {
	max-width: 640px;
	margin: 0;
	color: #30312f;
	font-size: 15px;
	line-height: 1.75;
}

/* Two-column content */

.ea-warranty-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(285px, 1fr);
	gap: 34px;
	align-items: start;
}

.ea-warranty-card,
.ea-side-card {
	background: rgba(255, 255, 255, .9);
	border: 1px solid rgba(194, 190, 181, .32);
	box-shadow: 0 12px 40px rgba(71, 63, 50, .035);
}

.ea-warranty-card {
	padding: 32px 35px 27px;
}

.ea-form-section + .ea-form-section {
	margin-top: 27px;
}

.ea-form-section h2,
.ea-side-card h2 {
	margin: 0;
	color: var(--ea-olive);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .13em;
}

.ea-form-section > h2 {
	padding-bottom: 13px;
	margin-bottom: 20px;
	border-bottom: 1px solid #deded9;
}

.ea-warranty-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 28px;
}

.ea-field-wide,
.ea-address-group {
	grid-column: 1 / -1;
}

.ea-address-group {
	margin-top: 20px;
}

.ea-field label {
	display: block;
	margin-bottom: 8px;
	color: #181916;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.ea-field label b,
.ea-warranty-consent b {
	color: #9f3528;
	font-weight: 500;
}

.ea-field input:not([type="checkbox"]),
.ea-field textarea {
	display: block;
	width: 100%;
	height: 48px;
	padding: 0 13px;
	background: rgba(255, 255, 255, .85);
	color: #20211f;
	border: 1px solid #cbcbc7;
	border-radius: 2px;
	box-shadow: none;
	font: 400 13px/1.2 "Montserrat", "Helvetica Neue", Arial, sans-serif;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.ea-field input::placeholder,
.ea-field textarea::placeholder {
	color: #969791;
	opacity: 1;
}

.ea-field input:focus,
.ea-field textarea:focus {
	border-color: var(--ea-olive);
	box-shadow: 0 0 0 3px rgba(79, 93, 43, .09);
}

.ea-address-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 12px;
}

.ea-purchaser-section {
	padding-top: 2px;
}

/* Upload */

.ea-upload-section > h2 {
	padding: 0;
	margin-bottom: 7px;
	border: 0;
}

.ea-upload-section > p {
	margin: 0 0 11px;
	color: #555650;
	font-size: 13px;
}

.ea-upload-zone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 92px;
	padding: 15px;
	border: 1px dashed #b9b9b4;
	background: rgba(255, 255, 255, .58);
	color: var(--ea-olive);
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}

.ea-upload-zone:hover,
.ea-upload-zone.is-dragging {
	border-color: var(--ea-olive);
	background: #f7f8f3;
}

.ea-upload-zone input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.ea-icon-upload {
	width: 45px;
	height: 45px;
	flex: 0 0 45px;
}

.ea-upload-copy {
	display: block;
	color: #777872;
	font-size: 13px;
}

.ea-upload-copy strong {
	color: #171817;
	font-weight: 600;
}

.ea-upload-copy small {
	display: block;
	margin-top: 7px;
	color: #969791;
	font-size: 12px;
}

.ea-warranty-consent {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin: 24px 0 20px;
	color: #363734;
	font-size: 13px;
	line-height: 1.55;
	cursor: pointer;
}

.ea-warranty-consent input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--ea-olive);
	flex: 0 0 18px;
}

.ea-warranty-consent a,
.ea-side-card a {
	color: var(--ea-olive-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ea-warranty-submit {
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 13px 18px;
	background: var(--ea-olive) !important;
	color: #fff !important;
	border: 1px solid var(--ea-olive) !important;
	border-radius: 2px !important;
	cursor: pointer;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .18em;
	transition: background .22s ease, transform .22s ease;
}

.ea-warranty-submit:hover {
	background: var(--ea-olive-dark) !important;
	transform: translateY(-1px);
}

.ea-secure-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
	color: #858681;
	font-size: 11px;
	text-align: center;
}

.ea-icon-lock {
	width: 14px;
	height: 14px;
}

/* Sidebar */

.ea-warranty-sidebar {
	display: grid;
	gap: 28px;
	margin-top: -95px;
}

.ea-side-card {
	padding: 34px 31px;
}

.ea-includes-card {
	min-height: 376px;
	text-align: center;
}

.ea-25-lockup {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 15px;
	margin: 13px 0 0;
	color: var(--ea-olive);
}

.ea-25-lockup strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 88px;
	font-weight: 400;
	line-height: .95;
}

.ea-25-lockup span {
	margin-bottom: 11px;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .15em;
}

.ea-includes-card h3 {
	margin: 5px 0 25px;
	color: var(--ea-olive);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .13em;
}

.ea-includes-card p {
	margin: 0 auto 28px;
	color: #3f403d;
	font-size: 13px;
	line-height: 1.8;
}

.ea-includes-card > a {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	text-decoration: none;
}

.ea-includes-card > a span {
	font-size: 21px;
}

.ea-help-card {
	display: flex;
	gap: 22px;
	min-height: 195px;
	background: linear-gradient(135deg, #f2f2eb, #fbfaf6);
}

.ea-icon-headset {
	width: 46px;
	height: 46px;
	color: var(--ea-olive);
	flex: 0 0 46px;
}

.ea-help-card h2 {
	margin: 0 0 5px;
}

.ea-help-card p,
.ea-help-card a {
	display: block;
	margin: 0 0 10px;
	color: #3f403d;
	font-size: 12px;
	line-height: 1.6;
}

.ea-help-card a {
	width: fit-content;
}

.ea-why-card {
	min-height: 345px;
}

.ea-why-card h2 {
	text-align: center;
}

.ea-why-card ul {
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
}

.ea-why-card li {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin: 0 0 22px;
	color: #383936;
	font-size: 13px;
	line-height: 1.6;
}

.ea-icon-check {
	width: 22px;
	height: 22px;
	color: var(--ea-olive);
	flex: 0 0 22px;
}

/* Footer mark */

.ea-warranty-footer {
	display: grid;
	grid-template-columns: 145px 26px 145px;
	justify-content: center;
	align-items: center;
	gap: 17px;
	margin: 33px auto 0;
	color: var(--ea-olive);
	text-align: center;
}

.ea-warranty-footer > span {
	height: 1px;
	background: var(--ea-gold);
}

.ea-warranty-footer .ea-icon-leaf {
	width: 25px;
	height: 25px;
}

.ea-warranty-footer p {
	grid-column: 1 / -1;
	margin: -4px 0 0;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .3em;
}

@media (max-width: 980px) {
	.ea-travertine-art {
		right: -150px;
		op: -70px;
		opacity: .82;
	}

	.ea-warranty-intro {
		width: 75%;
	}

	.ea-warranty-layout {
		grid-template-columns: minmax(0, 1.65fr) minmax(245px, .85fr);
		gap: 22px;
	}

	.ea-warranty-card,
	.ea-side-card {
		padding-left: 24px;
		padding-right: 24px;
	}

	.ea-warranty-sidebar {
		margin-top: -72px;
	}
}

@media (max-width: 767px) {
	.ea-email-btn {
		padding: 14px 28px !important;
		font-size: 16px;
	}

	.ea-email-box {
		padding: 32px 22px 28px;
	}

	.ea-email-box h3 {
		font-size: 30px;
	}

	.ea-warranty-page {
		padding: 34px 15px 30px;
	}

	.ea-travertine-art {
		top: -95px;
		right: -220px;
		width: 430px;
		opacity: .55;
	}

	.ea-botanical {
		right: 118px;
		width: 180px;
		opacity: .75;
	}

	.ea-brand-lockup {
		max-width: 78%;
		margin-bottom: 54px;
	}

	.ea-brand-monogram {
		font-size: 66px;
	}

	.ea-brand-name {
		font-size: 18px;
	}

	.ea-brand-tagline {
		font-size: 9px;
	}

	.ea-warranty-intro {
		width: 100%;
		margin-bottom: 26px;
	}

	.ea-warranty-kicker {
		font-size: 11px;
	}

	.ea-warranty-kicker::after {
		display: none;
	}

	.ea-warranty-intro h1 {
		font-size: 43px;
	}

	.ea-warranty-layout {
		grid-template-columns: 1fr;
	}

	.ea-warranty-card {
		padding: 25px 18px 22px;
	}

	.ea-warranty-grid {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	.ea-address-row {
		grid-template-columns: 1fr;
		gap: 11px;
	}

	.ea-upload-zone {
		align-items: center;
		gap: 11px;
	}

	.ea-icon-upload {
		width: 38px;
		height: 38px;
		flex-basis: 38px;
	}

	.ea-warranty-sidebar {
		margin-top: 0;
	}

	.ea-side-card {
		padding: 29px 24px;
	}

	.ea-warranty-footer {
		grid-template-columns: 80px 25px 80px;
	}
}

@media (max-width: 420px) {
	.ea-brand-lockup {
		max-width: 92%;
	}

	.ea-brand-name {
		font-size: 16px;
		letter-spacing: .28em;
		text-indent: .28em;
	}

	.ea-warranty-intro h1 {
		font-size: 37px;
	}

	.ea-warranty-kicker {
		letter-spacing: .1em;
	}

	.ea-help-card {
		gap: 14px;
	}
}

/* =========================================================
   WARRANTY FORM-ONLY EMBED
   Slider/branding and page background are controlled by Elementor.
   Important sizing prevents theme typography from enlarging the form.
========================================================= */

.ea-forms-wrap.ea-warranty-page {
	min-height: 0 !important;
	padding: 28px 16px 36px !important;
	overflow: visible !important;
	background: transparent !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.ea-forms-wrap.ea-warranty-page::before,
.ea-warranty-page .ea-travertine-art,
.ea-warranty-page .ea-brand-lockup {
	display: none !important;
}

.ea-warranty-page .ea-warranty-shell {
	width: 100% !important;
	max-width: 1160px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.ea-warranty-page .ea-warranty-intro {
	width: 100% !important;
	max-width: 760px !important;
	margin: 0 0 28px !important;
}

.ea-warranty-page .ea-warranty-kicker {
	margin-bottom: 14px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: .14em !important;
}

.ea-warranty-page .ea-warranty-intro h1 {
	margin: 0 0 14px !important;
	font-size: 40px !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
	letter-spacing: -.02em !important;
}

.ea-warranty-page .ea-warranty-intro p {
	max-width: 680px !important;
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

.ea-warranty-page .ea-warranty-layout {
	grid-template-columns: minmax(0, 2fr) minmax(280px, .82fr) !important;
	gap: 28px !important;
}

.ea-warranty-page .ea-warranty-card {
	padding: 28px 30px 25px !important;
}

.ea-warranty-page .ea-warranty-sidebar {
	gap: 24px !important;
	margin-top: 0 !important;
}

.ea-warranty-page .ea-side-card {
	padding: 28px 26px !important;
}

.ea-warranty-page .ea-form-section h2,
.ea-warranty-page .ea-side-card h2 {
	margin-top: 0 !important;
	color: #C4A95F !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: .12em !important;
}

.ea-warranty-page .ea-field label {
	margin-bottom: 7px !important;
	color: #C4A95F !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

.ea-warranty-page .ea-field input:not([type="checkbox"]),
.ea-warranty-page .ea-field textarea {
	height: 46px !important;
	min-height: 46px !important;
	padding: 0 12px !important;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}

.ea-warranty-page .ea-upload-section > p,
.ea-warranty-page .ea-upload-copy,
.ea-warranty-page .ea-warranty-consent,
.ea-warranty-page .ea-includes-card p,
.ea-warranty-page .ea-includes-card > a,
.ea-warranty-page .ea-help-card p,
.ea-warranty-page .ea-help-card a,
.ea-warranty-page .ea-why-card li {
	font-size: 12px !important;
}

.ea-warranty-page .ea-upload-copy small,
.ea-warranty-page .ea-secure-note {
	font-size: 11px !important;
}

.ea-warranty-page .ea-includes-card {
	min-height: 0 !important;
}

.ea-warranty-page .ea-25-lockup strong {
	font-size: 66px !important;
	font-weight: 400 !important;
	line-height: .95 !important;
}

.ea-warranty-page .ea-25-lockup span {
	font-size: 14px !important;
	font-weight: 600 !important;
}

.ea-warranty-page .ea-includes-card h3 {
	margin: 4px 0 20px !important;
	color: #C4A95F !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: .11em !important;
}

.ea-warranty-page .ea-field label b,
.ea-warranty-page .ea-warranty-consent b {
	color: #9f3528 !important;
}

.ea-warranty-page .ea-warranty-submit {
	min-height: 48px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
}

.ea-warranty-page .ea-warranty-footer p {
	font-size: 9px !important;
}

@media (max-width: 980px) {
	.ea-warranty-page .ea-warranty-layout {
		grid-template-columns: minmax(0, 1.55fr) minmax(240px, .75fr) !important;
		gap: 20px !important;
	}

	.ea-warranty-page .ea-warranty-card,
	.ea-warranty-page .ea-side-card {
		padding-right: 22px !important;
		padding-left: 22px !important;
	}
}

@media (max-width: 767px) {
	.ea-forms-wrap.ea-warranty-page {
		padding: 20px 10px 28px !important;
	}

	.ea-warranty-page .ea-warranty-intro h1 {
		font-size: 32px !important;
	}

	.ea-warranty-page .ea-warranty-intro p {
		font-size: 13px !important;
	}

	.ea-warranty-page .ea-warranty-layout,
	.ea-warranty-page .ea-warranty-grid,
	.ea-warranty-page .ea-address-row {
		grid-template-columns: 1fr !important;
	}

	.ea-warranty-page .ea-warranty-card {
		padding: 22px 17px 20px !important;
	}
}
