/* Edglow bundle: edglow-brand, edglow-product-cards, edglow-latest-blogs, edglow-typography, edglow-pages, edglow-header, edglow-canvas, edglow-footer-boost, edglow-responsive, edglow-cart-drawer, edglow-ui, edglow-search, edglow-quiz, edglow-marquee, edglow-rhythm, edglow-badges */

/* ---- edglow-brand ---- */
/* ==========================================================================
   Edglow — Brand layer for Woodmart
   Palette pulled from the Edglow logo (deep teal) and GLOGIN packaging (copper)
   ========================================================================== */

:root {
	--edg-teal:        #0f4a44;
	--edg-teal-dark:   #0a3733;
	--edg-teal-soft:   #e7efed;
	--edg-teal-line:   #cfe0dd;
	--edg-copper:      #c89a64;
	--edg-copper-dark: #b0834f;
	--edg-copper-soft: #f6efe4;
	--edg-cream:       #faf7f2;
	--edg-cream-2:     #f3efe9;
	--edg-ink:         #14201e;
	--edg-body:        #5c6663;
	--edg-muted:       #8a9491;
	--edg-line:        #e6e2db;
	--edg-sale:        #b23b3b;
	--edg-radius:      8px;
	--edg-radius-lg:   16px;

	--wd-primary-color: #0f4a44;
	--wd-alternative-color: #c89a64;
	--wd-link-color: #14201e;
	--wd-link-color-hover: #0f4a44;
	--wd-text-color: #5c6663;
	--wd-title-color: #14201e;
	--wd-entities-title-color: #14201e;
	--wd-entities-title-color-hover: #0f4a44;
	--wd-widget-title-color: #14201e;

	--btn-accented-bgcolor: #0f4a44;
	--btn-accented-bgcolor-hover: #0a3733;
	--btn-default-bgcolor: #f3efe9;
	--btn-default-bgcolor-hover: #e8e1d6;

	--notices-success-bg: #0f4a44;
	--notices-success-color: #fff;
	--notices-warning-bg: #c89a64;
	--notices-warning-color: #fff;

	--wd-title-font: "Jost", "Helvetica Neue", Arial, sans-serif;
	--wd-entities-title-font: "Jost", "Helvetica Neue", Arial, sans-serif;
	--wd-widget-title-font: "Jost", "Helvetica Neue", Arial, sans-serif;
	--wd-alternative-font: "Jost", "Helvetica Neue", Arial, sans-serif;
	--wd-title-font-weight: 600;
	--wd-entities-title-font-weight: 600;
	--wd-widget-title-transform: none;
}

/* --------------------------------------------------------------- typography */

h1, h2, h3, h4, h5,
.title,
.wd-entities-title,
.widget-title,
.woocommerce-loop-product__title,
.product_title {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	color: var(--edg-ink);
	letter-spacing: -0.01em;
}

.edg-script {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	font-weight: 500;
	color: var(--edg-copper);
}

body { color: var(--edg-body); }

/* ------------------------------------------------------------------ buttons */

.single_add_to_cart_button,
.woocommerce-cart .button[name="update_cart"],
.wc-proceed-to-checkout .checkout-button {
	background-color: var(--edg-teal) !important;
	color: #fff !important;
	border: 1px solid var(--edg-teal) !important;
	border-radius: var(--edg-radius) !important;
	font-weight: 700;
	letter-spacing: .02em;
}

.single_add_to_cart_button:hover,
.woocommerce-cart .button[name="update_cart"]:hover,
.wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--edg-teal-dark) !important;
	border-color: var(--edg-teal-dark) !important;
}

/* Buy Now (copper) */
.edg-buy-now {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	margin-top: 10px;
	border: 1px solid var(--edg-copper);
	border-radius: var(--edg-radius);
	background-color: var(--edg-copper);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, transform .1s ease;
}

.edg-buy-now:hover,
.edg-buy-now:focus {
	background-color: var(--edg-copper-dark);
	border-color: var(--edg-copper-dark);
	color: #fff;
}

.edg-buy-now:active { transform: translateY(1px); }
.edg-buy-now.edg-loading { opacity: .65; pointer-events: none; }

.edg-buy-now--loop {
	min-height: 38px;
	margin-top: 6px;
	padding: 8px 14px;
	font-size: 12px;
}

/* ------------------------------------------------------- prices & discounts */

.price { color: var(--edg-teal); font-weight: 700; }

.price del,
.price del .woocommerce-Price-amount {
	color: var(--edg-muted) !important;
	font-weight: 400;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	opacity: 1;
}

.price ins,
.price ins .woocommerce-Price-amount {
	color: var(--edg-sale) !important;
	font-weight: 800;
	text-decoration: none;
	background: none;
}

.edg-save {
	display: inline-block;
	margin-inline-start: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background-color: var(--edg-copper-soft);
	color: var(--edg-copper-dark);
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
	vertical-align: middle;
	white-space: nowrap;
}

.product-labels .onsale,
.product-label.onsale,
span.onsale {
	background-color: var(--edg-sale) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.product-labels .new,
.product-label.new {
	background-color: var(--edg-teal) !important;
	color: #fff !important;
	border-radius: 999px !important;
}

/* -------------------------------------------------------------- product card */

.wd-product .wd-entities-title { font-size: 15px; line-height: 1.35; }
.wd-product .wd-entities-title a:hover { color: var(--edg-teal); }
.wd-product .product-image-link img { border-radius: var(--edg-radius-lg); }

/* --------------------------------------------------------- single product */

.single-product .product_title {
	font-size: clamp(24px, 3.4vw, 38px);
	line-height: 1.15;
	margin-bottom: 10px;
}

.single-product .summary .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 26px;
	margin-bottom: 6px;
}

.single-product .summary .price del { font-size: 18px; }

.edg-trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	margin: 22px 0 0;
	padding: 16px;
	border: 1px solid var(--edg-line);
	border-radius: var(--edg-radius-lg);
	background-color: var(--edg-cream);
	list-style: none;
}

.edg-trust li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: var(--edg-body);
}

.edg-trust li::before {
	content: "";
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--edg-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat;
}

.edg-trust li strong { color: var(--edg-ink); font-weight: 700; }

.quantity .qty {
	border-radius: var(--edg-radius);
	border-color: var(--edg-line);
	font-weight: 700;
	color: var(--edg-ink);
}

/* ------------------------------------------------------------ cart & checkout */

.woocommerce-cart-form__contents th,
.shop_table thead th,
.cart_totals h2,
.woocommerce-checkout h3,
#order_review_heading {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	color: var(--edg-ink);
}

.woocommerce-checkout #place_order,
#place_order {
	background-color: var(--edg-teal) !important;
	border-color: var(--edg-teal) !important;
	color: #fff !important;
	border-radius: var(--edg-radius) !important;
	min-height: 52px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .03em;
}

.woocommerce-checkout #place_order:hover { background-color: var(--edg-teal-dark) !important; }

.woocommerce-checkout .wd-prefooter,
.woocommerce-cart .wd-prefooter,
.woocommerce-checkout .cross-sells,
.woocommerce-checkout .related.products {
	display: none !important;
}

.edg-checkout-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
	counter-reset: edgstep;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
}

.edg-checkout-steps li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--edg-muted);
	text-transform: uppercase;
}

.edg-checkout-steps li::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: var(--edg-cream-2);
	color: var(--edg-muted);
	font-size: 12px;
	counter-increment: edgstep;
	content: counter(edgstep);
}

.edg-checkout-steps li.is-active { color: var(--edg-teal); }

.edg-checkout-steps li.is-active::before,
.edg-checkout-steps li.is-done::before {
	background-color: var(--edg-teal);
	color: #fff;
}

.edg-checkout-steps li:not(:last-child) {
	padding-inline-end: 8px;
	border-inline-end: 1px solid var(--edg-line);
}

.edg-checkout-assure {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	justify-content: center;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--edg-line);
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 12.5px;
	color: var(--edg-muted);
}

.cart-empty { font-family: "Jost", "Helvetica Neue", Arial, sans-serif; color: var(--edg-ink); }

/* ------------------------------------------------------------------- FAQ */

.edg-faq { max-width: 860px; margin-inline: auto; }
.edg-faq__item { border-bottom: 1px solid var(--edg-line); }

.edg-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 20px 2px;
	border: 0;
	background: none;
	color: var(--edg-ink);
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	text-align: start;
	cursor: pointer;
}

.edg-faq__q:hover { color: var(--edg-teal); }

.edg-faq__q::after {
	content: "";
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 3px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f4a44' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/18px no-repeat;
	transition: transform .25s ease;
}

.edg-faq__item.is-open .edg-faq__q::after { transform: rotate(45deg); }

.edg-faq__a {
	display: none;
	padding: 0 2px 22px;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--edg-body);
}

.edg-faq__item.is-open .edg-faq__a { display: block; }
.edg-faq__a a { color: var(--edg-teal); text-decoration: underline; }

/* --------------------------------------------------------------- footer */

.edg-footer-about {
	max-width: 320px;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.7;
}

.edg-footer-logo { max-width: 170px; height: auto; margin-bottom: 16px; }

.edg-contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.7;
}

.edg-contact-list li { margin-bottom: 10px; }
.edg-contact-list a { color: inherit; }
.edg-contact-list a:hover { color: var(--edg-teal); }

/* ------------------------------------------------------------------ misc */

.wd-nav > li > a:hover,
.wd-nav > li.current-menu-item > a { color: var(--edg-teal); }

a:hover { color: var(--edg-teal); }

::selection { background-color: var(--edg-teal); color: #fff; }

/* ------------------------------------------------------------- responsive */

@media (max-width: 768.98px) {
	.single-product .summary .price { font-size: 22px; }
	.edg-buy-now,
	.single_add_to_cart_button { min-height: 50px; font-size: 14px; }
	.edg-trust { grid-template-columns: 1fr; }
	.edg-checkout-steps li { font-size: 11px; }
	.edg-faq__q { font-size: 16px; padding: 17px 2px; }
}


/* ================= layout corrections ================= */

/* hero copy */
.edg-hero-copy, .elementor-element-816d3fc { max-width: 640px; width: 100% !important; }
@media (max-width: 1024px) { .edg-hero-copy, .elementor-element-816d3fc { max-width: 100%; } }

/* trust bar */
.edg-trustbar, .elementor-element-c805da4 { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; align-items: start; }
.elementor-element-c805da4 > .e-con, .edg-trustbar > .e-con { width: auto !important; max-width: none !important; }
.elementor-element-c805da4 p, .edg-trustbar p { text-align: center; }
@media (max-width: 900px) { .edg-trustbar, .elementor-element-c805da4 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { .edg-trustbar, .elementor-element-c805da4 { grid-template-columns: 1fr !important; } }

/* GLOGIN split section */
.edg-split, .elementor-element-9808007 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important; }
.elementor-element-9808007 > .e-con, .edg-split > .e-con { width: auto !important; max-width: none !important; }
@media (max-width: 900px) { .edg-split, .elementor-element-9808007 { grid-template-columns: 1fr !important; } }

/* why-Edglow cards */
.edg-cardgrid, .elementor-element-c45f68e { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
.elementor-element-c45f68e > .e-con, .edg-cardgrid > .e-con { width: auto !important; max-width: none !important; }
@media (max-width: 900px) { .edg-cardgrid, .elementor-element-c45f68e { grid-template-columns: 1fr !important; } }

/* FAQ questions read as sentences, not shouting */
.edg-faq__q { text-transform: none !important; letter-spacing: 0; }

/* even product cards */
.wd-product { display: flex; flex-direction: column; }
.wd-product > .wd-product-wrapper { flex: 1 1 auto; display: flex; flex-direction: column; }
.wd-product > .wd-product-wrapper > .price { margin-bottom: 8px; }
.wd-product > .wd-product-wrapper > .edg-buy-now--loop { margin-top: auto; }

/* free-delivery nudge */
.edg-ship-nudge { margin: 0 0 14px; padding: 10px 14px; border-radius: 8px; background: #f6efe4; color: #b0834f; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 13.5px; font-weight: 700; }
.edg-ship-nudge.is-free { background: #e7efed; color: #0f4a44; }

.edg-continue { display: inline-flex; align-items: center; margin-top: 14px; }

/* category tiles: one consistent crop */
.wd-cats .wd-cat-thumb { aspect-ratio: 3 / 4; overflow: hidden; border-radius: 12px; }
.wd-cats .wd-cat-thumb a { display: block; width: 100%; height: 100%; }
.wd-cats .wd-cat-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wd-cats .wd-cat-content { padding-top: 14px; text-align: center; }
.wd-cats .wd-cat-content .wd-entities-title { font-size: 16px; text-transform: none; letter-spacing: 0; }
.wd-cats .wd-cat-count { font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 12.5px; color: #8a9491; }

/* keep Buy Now aligned across a row */
.wd-products .wd-grid-g, .products.wd-grid-g { align-items: stretch; }
.wd-product { height: 100%; }

/* consistent card rhythm: two-line titles, one-line prices */
.wd-product > .wd-product-wrapper > .wd-entities-title { min-height: 2.7em; display: flex; align-items: flex-start; justify-content: center; }
.wd-product > .wd-product-wrapper > .price { min-height: 46px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; }
.wd-product > .wd-product-wrapper > .wd-product-cats { min-height: 1.4em; }
/* ============ footer + hero slider ============ */

/* hero slider: full-bleed 1920x750 banners */
.edg-hero-slider, .edg-hero-slider > .e-con-inner { padding: 0 !important; max-width: none !important; }
.edg-hero-slider .wd-banner-carousel, .edg-hero-slider .wd-carousel-container { margin: 0 !important; }
.edg-hero-slider img { width: 100%; height: auto; display: block; }
.edg-hero-slider .wd-banner-title { line-height: 1.1; }
@media (max-width: 768.98px) { .edg-hero-slider .wd-banner-title { font-size: 26px !important; } }

/* ---------------- footer ---------------- */
.wd-footer .main-footer { padding-top: 0; }

.edg-f-assure { padding: 30px 0 34px; border-bottom: 1px solid #e6e2db; }
.edg-f-assure__head { margin: 0 0 20px; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 22px; font-weight: 600; color: #14201e; text-align: center; }
.edg-f-assure__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.edg-f-assure__item { display: flex; flex-direction: column; gap: 4px; align-items: center; text-align: center; padding: 0 10px; }
.edg-f-assure__item strong { font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-weight: 600; color: #14201e; }
.edg-f-assure__item span { font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 13.5px; line-height: 1.55; color: #5c6663; }

.edg-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; padding: 42px 0 46px; }
.edg-f-col { min-width: 0; }
.edg-f-logo { display: block; max-width: 160px; height: auto; margin: 0 0 16px; }
.edg-f-about { margin: 0 0 20px; max-width: 330px; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 14px; line-height: 1.75; color: #5c6663; }
.edg-f-contact { margin: 0; padding: 0; list-style: none; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 14px; line-height: 1.6; color: #14201e; }
.edg-f-contact li { margin-bottom: 14px; }
.edg-f-lbl { display: block; margin-bottom: 2px; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: #c89a64; }
.edg-f-contact a { color: #14201e; text-decoration: none; }
.edg-f-contact a:hover { color: #0f4a44; text-decoration: underline; }

.edg-f-head { margin: 0 0 16px; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 17px; font-weight: 600; color: #14201e; }
.edg-f-head--soc { margin-top: 26px; }
.edg-f-links { margin: 0; padding: 0; list-style: none; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 14px; line-height: 1.6; }
.edg-f-links li { margin-bottom: 11px; }
.edg-f-links a { color: #5c6663; text-decoration: none; }
.edg-f-links a:hover { color: #0f4a44; }

.edg-f-social { display: flex; flex-wrap: wrap; gap: 10px; }
.edg-soc { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #dfd9d0; border-radius: 50%; color: #0f4a44; background: #fff; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.edg-soc:hover { background: #0f4a44; border-color: #0f4a44; color: #fff; }
.edg-soc svg { display: block; }

@media (max-width: 1024px) { .edg-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 700px) { .edg-f-assure__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .edg-footer-grid { grid-template-columns: 1fr; gap: 30px; } .edg-f-assure__grid { grid-template-columns: 1fr; } .edg-f-about { max-width: none; } }
/* ---- hero slider desktop guarantees ---- */
.edg-hero-slider { width: 100%; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.edg-hero-slider > .e-con-inner { max-width: 100% !important; width: 100% !important; padding: 0 !important; }
.edg-hero-slider .banners-carousel-wrapper, .edg-hero-slider .wd-carousel-inner { margin: 0 !important; padding: 0 !important; }
.edg-hero-slider .promo-banner { border-radius: 0 !important; }
.edg-hero-slider .banner-image img { width: 100%; height: auto; display: block; object-fit: cover; }
.edg-hero-slider .wrapper-content-banner { padding-inline: clamp(20px, 7vw, 120px); }
.edg-hero-slider .content-banner { max-width: 640px; }
.edg-hero-slider .banner-title { font-family: "Jost", "Helvetica Neue", Arial, sans-serif !important; font-weight: 600 !important; line-height: 1.1 !important; }
.edg-hero-slider .banner-subtitle { font-family: "Jost", "Helvetica Neue", Arial, sans-serif !important; font-style: italic; color: #e2c79c !important; }
@media (max-width: 1024px) { .edg-hero-slider .banner-title { font-size: 32px !important; } }
@media (max-width: 768.98px) { .edg-hero-slider .banner-title { font-size: 24px !important; } .edg-hero-slider .content-banner p { display: none; } }
/* ============ Inside the glow (4-card section) ============ */
:root { --edg-glow-bg: #F8F5EF; --edg-glow-ink: #0A2E2A; --edg-glow-body: #173630; --edg-glow-accent: #B88C59; }

/* full-bleed section */
.elementor-element-edga100 {
  --edg-half: calc(var(--edg-vw, 100vw) / 2);
  width: var(--edg-vw, 100vw) !important;
  max-width: var(--edg-vw, 100vw) !important;
  margin-left: calc(50% - var(--edg-half)) !important;
  margin-right: calc(50% - var(--edg-half)) !important;
  background-color: var(--edg-glow-bg);
  padding: clamp(56px, 6vw, 104px) 0 clamp(60px, 6.5vw, 112px) !important;
}
.elementor-element-edga100 > .e-con-inner { max-width: 100% !important; width: 100% !important; padding: 0 !important; }

/* heading */
.edg-glow-head { padding: 0 clamp(20px, 5vw, 72px); margin: 0 auto clamp(34px, 4vw, 56px); text-align: center; }
.edg-glow-eyebrow { display: block; margin-bottom: 12px; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-style: italic; font-weight: 500; font-size: clamp(19px, 2vw, 24px); letter-spacing: .01em; color: var(--edg-glow-accent); }
.edg-glow-title { margin: 0; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-weight: 600; font-size: clamp(27px, 3.6vw, 46px); line-height: 1.15; letter-spacing: -0.015em; color: var(--edg-glow-ink); }
.edg-glow-title::after { content: ""; display: block; width: 54px; height: 1px; margin: 20px auto 0; background: var(--edg-glow-accent); opacity: .55; }

/* grid */
.elementor-element-edga110 { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: clamp(16px, 1.6vw, 26px) !important; align-items: stretch; width: 100% !important; max-width: 100% !important; padding: 0 clamp(20px, 5vw, 72px) !important; }
.elementor-element-edga110 > .e-con-inner { display: contents; }

/* card */
.elementor-element-edga121, .elementor-element-edga122, .elementor-element-edga123, .elementor-element-edga124 {
  display: flex !important; flex-direction: column; width: auto !important; max-width: none !important;
  background: #FFFDFA; border: 1px solid rgba(10,46,42,.10); border-radius: 4px; overflow: hidden;
  transition: border-color .3s ease, transform .3s ease; }
.elementor-element-edga121:hover, .elementor-element-edga122:hover, .elementor-element-edga123:hover, .elementor-element-edga124:hover {
  border-color: var(--edg-glow-accent); transform: translateY(-4px); }

/* image area - replace each image in Elementor */
.edg-glow-card__img { margin: 0 !important; width: 100%; }
.edg-glow-card__img .elementor-widget-container, .edg-glow-card__img figure, .edg-glow-card__img .elementor-image { margin: 0; }
.edg-glow-card__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #EFE9DF; }

/* card text */
.edg-glow-card__body { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 1.8vw, 30px) clamp(18px, 1.6vw, 28px) clamp(24px, 2vw, 34px); }
.edg-glow-card__title { margin: 0; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-weight: 600; font-size: clamp(18px, 1.35vw, 22px); line-height: 1.25; color: var(--edg-glow-ink); }
.edg-glow-card__text { margin: 0; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 14.5px; line-height: 1.75; color: var(--edg-glow-body); opacity: .82; }

/* the html widget must not add its own spacing */
.elementor-element-edga151, .elementor-element-edga152, .elementor-element-edga153, .elementor-element-edga154 { margin: 0 !important; flex: 1 1 auto; }
.elementor-element-edga151 .elementor-widget-container, .elementor-element-edga152 .elementor-widget-container, .elementor-element-edga153 .elementor-widget-container, .elementor-element-edga154 .elementor-widget-container { height: 100%; }
.elementor-element-edga151 .edg-glow-card__body, .elementor-element-edga152 .edg-glow-card__body, .elementor-element-edga153 .edg-glow-card__body, .elementor-element-edga154 .edg-glow-card__body { height: 100%; }

/* responsive */
@media (max-width: 1024px) { .elementor-element-edga110 { grid-template-columns: repeat(2, 1fr) !important; gap: 22px !important; } }
@media (max-width: 600px) { .elementor-element-edga110 { grid-template-columns: 1fr !important; gap: 20px !important; padding: 0 20px !important; } .edg-glow-card__img img { aspect-ratio: 16 / 10; } }

/* placeholder hint - disappears automatically once a real image is set */
/* Elementor 4 renders the img as a direct child of the widget element */
.edg-glow-card__img:has(img[src*="elementor/assets/images/placeholder"]) { position: relative; }
.edg-glow-card__img:has(img[src*="elementor/assets/images/placeholder"])::after {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  border: 1px dashed rgba(184,140,89,.6); background: #EFE9DF;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 11.5px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: #B88C59; text-align: center; padding: 12px;
  content: "Add your image"; }
.elementor-element-edga141:has(img[src*="placeholder"])::after { content: "Image 1 \2014\0020 add yours here"; }
.elementor-element-edga142:has(img[src*="placeholder"])::after { content: "Image 2 \2014\0020 add yours here"; }
.elementor-element-edga143:has(img[src*="placeholder"])::after { content: "Image 3 \2014\0020 add yours here"; }
.elementor-element-edga144:has(img[src*="placeholder"])::after { content: "Image 4 \2014\0020 add yours here"; }


/* ---- edglow-product-cards ---- */
/* ==========================================================================
   Edglow product cards - Featured products / Best sellers
   Structure follows the Beautenic reference; palette is Edglow's own.
   Loaded after brand.css so it wins on equal specificity.
   ========================================================================== */

:root {
  --edg-green:       #123F39;
  --edg-green-dark:  #0A2E2A;
  --edg-text:        #173630;
  --edg-gold:        #B88C59;
  --edg-ivory:       #F8F5EF;
  --edg-thumb-bg:    #EFE9E0;
}

/* ---------------------------------------------------- section headings --- */

.elementor-element-9bf5579 .liner-continer,
.elementor-element-c021774 .liner-continer { margin-bottom: 0; }

.elementor-element-9bf5579 .title-after_title,
.elementor-element-c021774 .title-after_title { display: none; }

.elementor-element-9bf5579 .woodmart-title-container::after,
.elementor-element-c021774 .woodmart-title-container::after,
.elementor-element-9bf5579 .wd-title-wrapp::after,
.elementor-element-c021774 .wd-title-wrapp::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  margin: 22px auto 0;
  background: var(--edg-gold);
  opacity: .55;
}

/* ------------------------------------------------------------- the card --- */

.wd-products .wd-product {
  height: 100%;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.wd-products .wd-product > .wd-product-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  text-align: center;
}

/* image block - the dominant part of the card */
.wd-products .wd-product .wd-product-thumb {
  position: relative;
  margin: 0 0 16px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--edg-thumb-bg);
}

.wd-products .wd-product .wd-product-thumb .product-image-link,
.wd-products .wd-product .wd-product-thumb > a { display: block; }

.wd-products .wd-product .wd-product-thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center center;
  padding: 6%;
  background-color: #F8F5EF;
  border-radius: 0;
  transition: transform .55s cubic-bezier(.2, .6, .2, 1);
}

/* subtle, premium hover - no dark overlay */
.wd-products .wd-product:hover .wd-product-thumb img { transform: scale(1.045); }

.wd-products .wd-product .wd-product-img-hover,
.wd-products .wd-product .hover-img { display: none !important; }

/* ------------------------------------------------------------- badges --- */

.wd-products .wd-product .product-labels {
  top: 12px;
  inset-inline-start: 12px;
  inset-inline-end: auto;
  z-index: 3;
}

/* only the discount badge earns a place */
.wd-products .wd-product .product-label.featured,
.wd-products .wd-product .product-label.new,
.wd-products .wd-product .product-label.out-of-stock { display: none !important; }

.wd-products .wd-product .product-labels .onsale {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--edg-gold) !important;
  color: #fff !important;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .05em;
}

/* Woodmart also prints a bare duplicate badge - hide it */
.wd-products .wd-product .wd-product-thumb > span.onsale { display: none !important; }

/* wishlist / compare / quick view - quiet until hover */
.wd-products .wd-product .wd-buttons {
  opacity: 0;
  transition: opacity .25s ease;
}

.wd-products .wd-product:hover .wd-buttons { opacity: 1; }

@media (hover: none) {
  .wd-products .wd-product .wd-buttons { opacity: 1; }
}

/* --------------------------------------------------------------- text --- */

.wd-products .wd-product .wd-entities-title {
  display: block;
  min-height: 0;
  margin: 0 0 6px;
  padding: 0;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: -0.005em;
  text-align: center;
  text-transform: none;
  color: var(--edg-green-dark);
}

.wd-products .wd-product .wd-entities-title a { color: var(--edg-green-dark); }
.wd-products .wd-product .wd-entities-title a:hover { color: var(--edg-green); }

.wd-products .wd-product .wd-product-cats {
  min-height: 0;
  margin: 0 0 11px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.4;
}

.wd-products .wd-product .wd-product-cats a {
  color: var(--edg-text);
  opacity: .52;
}

.wd-products .wd-product .wd-product-cats a:hover {
  color: var(--edg-green);
  opacity: 1;
}

/* ------------------------------------------------------------- prices --- */

.wd-products .wd-product .price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  min-height: 0;
  margin: 0 0 15px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
}

.wd-products .wd-product .price del,
.wd-products .wd-product .price del .woocommerce-Price-amount {
  color: var(--edg-text) !important;
  opacity: .45;
  font-size: 14px;
  font-weight: 400;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.wd-products .wd-product .price ins,
.wd-products .wd-product .price ins .woocommerce-Price-amount,
.wd-products .wd-product .price > .woocommerce-Price-amount {
  color: var(--edg-green) !important;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none;
  background: none;
}

.wd-products .wd-product .edg-save {
  margin: 0;
  padding: 3px 8px;
  background: #EFE7DA;
  color: #8A6538;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .05em;
}

/* star rating only renders when real reviews exist - style it, never fake it */
.wd-products .wd-product .star-rating { margin: 0 auto 12px; color: var(--edg-gold); }
.wd-products .wd-product .wd-product-rating { justify-content: center; margin-bottom: 12px; }

/* ------------------------------------------------------- add to cart --- */

.wd-products .wd-product .edg-buy-now--loop,
.wd-products .wd-product .edg-atc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: auto 0 0;
  padding: 13px 14px;
  min-height: 48px;
  border: 1px solid var(--edg-green);
  border-radius: 8px;
  background-color: var(--edg-green);
  color: #FFFFFF;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .25s ease, border-color .25s ease;
}

.wd-products .wd-product .edg-buy-now--loop:hover,
.wd-products .wd-product .edg-buy-now--loop:focus,
.wd-products .wd-product .edg-atc:hover,
.wd-products .wd-product .edg-atc:focus {
  background-color: var(--edg-green-dark);
  border-color: var(--edg-green-dark);
  color: #FFFFFF;
}

/* hide Woodmart's own loop add-to-cart so there is exactly one button */
.wd-products .wd-product .wd-add-btn,
.wd-products .wd-product .add-to-cart-loop,
.wd-products .wd-product .wd-bottom-actions .woocommerce-loop-product__link + .button { display: none !important; }

/* --------------------------------------------------------- responsive --- */

@media (max-width: 1024px) {
  .wd-products .wd-product .wd-entities-title { font-size: 16px; }
  .wd-products .wd-product .price ins,
  .wd-products .wd-product .price > .woocommerce-Price-amount { font-size: 18px; }
}

@media (max-width: 768.98px) {
  .wd-products .wd-product .wd-product-thumb { margin-bottom: 13px; border-radius: 12px; }
  .wd-products .wd-product .wd-entities-title { font-size: 14.5px; line-height: 1.3; margin-bottom: 5px; }
  .wd-products .wd-product .wd-product-cats { font-size: 10px; letter-spacing: .07em; margin-bottom: 8px; }
  .wd-products .wd-product .price { gap: 3px 6px; margin-bottom: 11px; }
  .wd-products .wd-product .price del,
  .wd-products .wd-product .price del .woocommerce-Price-amount { font-size: 12.5px; }
  .wd-products .wd-product .price ins,
  .wd-products .wd-product .price > .woocommerce-Price-amount { font-size: 16px; }
  .wd-products .wd-product .edg-save { font-size: 9.5px; padding: 2px 6px; }
  .wd-products .wd-product .edg-buy-now--loop,
  .wd-products .wd-product .edg-atc {
    min-height: 44px;
    padding: 11px 8px;
    font-size: 11px;
    letter-spacing: .08em;
    border-radius: 7px;
  }
  .wd-products .wd-product .wd-buttons { display: none !important; }
}

/* very narrow phones: one card per row so nothing is squeezed */
@media (max-width: 400px) {
  .wd-products.wd-grid-g,
  .products.wd-products.wd-grid-g,
  .wd-products .wd-grid-g { --wd-col-sm: 1 !important; }
  .wd-products .wd-product .wd-entities-title { font-size: 17px; }
  .wd-products .wd-product .price ins,
  .wd-products .wd-product .price > .woocommerce-Price-amount { font-size: 19px; }
  .wd-products .wd-product .edg-buy-now--loop,
  .wd-products .wd-product .edg-atc { font-size: 12px; letter-spacing: .12em; min-height: 48px; }
}
/* ============ GLOGIN feature split (stretched container) ============ */
/* the section is inside an XTemos stretched container - keep it edge to edge */
.elementor-element-9808007 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: clamp(500px, 42vw, 680px);
  background: #F8F5EF;
}
.elementor-element-9808007 > .e-con-inner { display: contents; }
.elementor-element-9808007 > .e-con,
.elementor-element-9808007 > .e-con > .e-con-inner {
  width: auto !important; max-width: none !important; margin: 0 !important;
}

/* LEFT - the full GLOGIN photograph, never cropped */
.edg-glogin-media, .elementor-element-836700d {
  min-height: 0 !important;
  padding: 0 !important;
  background-color: #D6C0AB !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

/* RIGHT - the content card fills its half completely, no grey gutter */
.edg-glogin-panel, .elementor-element-8661e8e {
  min-height: 0 !important;
  padding: 0 !important;
  background: #F8F5EF !important;
  justify-content: center;
}
.elementor-element-8661e8e > .e-con-inner { width: 100%; height: 100%; padding: 0 !important; }
.elementor-element-9be59df { width: 100%; height: 100%; margin: 0 !important; }
.elementor-element-9be59df > .elementor-widget-container { height: 100%; }
.elementor-element-9be59df .edg-featured-product {
  height: 100%;
  display: flex;
  align-items: center;
  border: 0 !important;
}
.elementor-element-9be59df .edg-featured-product__inner { width: 100%; }

/* ---------------- tablet: still two columns, still uncropped ---------------- */
@media (max-width: 1024px) {
  .elementor-element-9808007 { min-height: clamp(420px, 52vw, 560px); }
  .elementor-element-9be59df .edg-featured-product { padding: 40px 30px; }
}

/* ---------------- stack before anything is squeezed ---------------- */
@media (max-width: 900px) {
  .elementor-element-9808007 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .edg-glogin-media, .elementor-element-836700d {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1;
    max-height: none !important;
    background-size: contain !important;
    background-position: center center !important;
  }
  .elementor-element-8661e8e { width: 100% !important; max-width: none !important; }
}

@media (max-width: 480px) {
  .edg-glogin-media, .elementor-element-836700d { aspect-ratio: 4 / 5; }
}
/* ---- GLOGIN CTA + suppress the old detached pill ---- */
/* the old rounded 'Shop GLOGIN' button, hidden rather than deleted so it stays hidden after Elementor saves */
.elementor-element-9808007 .elementor-widget-wd_button,
.elementor-element-d2e1962 { display: none !important; }

.edg-featured-product__cta {
  display: flex; align-items: center; justify-content: center;
  width: 100%; margin-top: 30px; padding: 17px 22px; min-height: 56px;
  border: 1px solid #123F39; border-radius: 2px;
  background: #123F39; color: #FFFFFF;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 13px; font-weight: 800;
  line-height: 1.2; letter-spacing: .18em; text-transform: uppercase;
  text-align: center; text-decoration: none; cursor: pointer;
  transition: background-color .25s ease, border-color .25s ease;
}
.edg-featured-product__cta:hover,
.edg-featured-product__cta:focus,
.edg-featured-product__cta:active {
  background: #0A2E2A; border-color: #0A2E2A; color: #FFFFFF; text-decoration: none;
}
@media (max-width: 767px) {
  .edg-featured-product__cta { margin-top: 26px; min-height: 52px; font-size: 12px; letter-spacing: .14em; }
}


/* ---- edglow-latest-blogs ---- */
/* ==========================================================================
   Edglow - Latest insights section
   Same palette, spacing rhythm and Jost typography as the rest of the site.
   ========================================================================== */

.edg-blogs {
  --edg-b-bg:    #F8F5EF;
  --edg-b-deep:  #0A2E2A;
  --edg-b-green: #123F39;
  --edg-b-text:  #173630;
  --edg-b-muted: #5F6D68;
  --edg-b-gold:  #B88C59;
  --edg-b-line:  rgba(10, 46, 42, .12);

  padding: clamp(56px, 6vw, 96px) 0 clamp(58px, 6vw, 100px);
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  color: var(--edg-b-text);
}

/* ---------------------------------------------------------------- head --- */

.edg-blogs__head {
  margin: 0 auto clamp(32px, 3.6vw, 50px);
  text-align: center;
}

.edg-blogs__eyebrow {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--edg-b-gold);
}

.edg-blogs__title {
  margin: 0;
  font-family: inherit;
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.02em;
  color: var(--edg-b-deep);
}

.edg-blogs__title::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  margin: 20px auto 0;
  background: var(--edg-b-gold);
  opacity: .55;
}

/* ---------------------------------------------------------------- grid --- */

.edg-blogs__inner,
.edg-blogs__head,
.edg-blogs__grid,
.edg-blogs__foot {
  max-width: 1240px;
  margin-inline: auto;
}

.edg-blogs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2vw, 32px);
  align-items: stretch;
  justify-content: center;
}

/* Keep the grid balanced when there are only one or two posts, instead of
   letting a single card stretch across a third of an empty row. */
.edg-blogs__grid[data-count="1"] {
  grid-template-columns: minmax(0, 1fr);
  max-width: 720px;
}

.edg-blogs__grid[data-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 900px;
}

.edg-blog {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #FFFDFA;
  border: 1px solid var(--edg-b-line);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color .3s ease, transform .3s ease;
}

.edg-blog:hover {
  border-color: var(--edg-b-gold);
  transform: translateY(-4px);
}

/* --------------------------------------------------------------- media --- */

.edg-blog__media {
  display: block;
  overflow: hidden;
  background: #EFE9E0;
}

.edg-blog__img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
  transition: transform .55s cubic-bezier(.2, .6, .2, 1);
}

.edg-blog:hover .edg-blog__img { transform: scale(1.04); }

.edg-blog__img--empty { background: #EFE9E0; }

/* ---------------------------------------------------------------- body --- */

.edg-blog__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 9px;
  padding: clamp(20px, 1.8vw, 28px) clamp(18px, 1.6vw, 26px) clamp(22px, 2vw, 30px);
}

.edg-blog__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-bottom: 2px;
}

.edg-blog__cat {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid rgba(184, 140, 89, .5);
  border-radius: 999px;
  background: rgba(184, 140, 89, .08);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  color: #8A6432;
}

.edg-blog__date {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--edg-b-muted);
  opacity: .8;
}

.edg-blog__title {
  margin: 0;
  font-family: inherit;
  font-size: clamp(18px, 1.35vw, 21px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.008em;
}

.edg-blog__title a {
  color: var(--edg-b-deep);
  text-decoration: none;
}

.edg-blog__title a:hover { color: var(--edg-b-green); }

.edg-blog__excerpt {
  margin: 0;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.72;
  color: var(--edg-b-muted);
}

.edg-blog__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--edg-b-green);
  text-decoration: none;
}

.edg-blog__more::after {
  content: "";
  width: 18px;
  height: 1px;
  background: currentColor;
  transition: width .25s ease;
}

.edg-blog__more:hover { color: var(--edg-b-deep); }
.edg-blog__more:hover::after { width: 28px; }

/* ---------------------------------------------------------------- foot --- */

.edg-blogs__foot {
  margin-top: clamp(30px, 3vw, 44px);
  text-align: center;
}

.edg-blogs__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 38px;
  border: 1px solid var(--edg-b-green);
  border-radius: 2px;
  background: transparent;
  color: var(--edg-b-green);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease;
}

.edg-blogs__all:hover,
.edg-blogs__all:focus {
  background: var(--edg-b-green);
  color: #FFFFFF;
  text-decoration: none;
}

/* ------------------------------------------- blog listing / archives --- */

.blog .wd-post-img img,
.archive .wd-post-img img,
.search .wd-post-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
}

.blog .wd-post-cat a,
.archive .wd-post-cat a {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid rgba(184, 140, 89, .5);
  border-radius: 999px;
  background: rgba(184, 140, 89, .08);
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  color: #8A6432;
}

.blog .wd-post-cat a:hover,
.archive .wd-post-cat a:hover { background: #123F39; border-color: #123F39; color: #FFF; }

/* ---------------------------------------------------------- responsive --- */

@media (max-width: 1024px) {
  .edg-blogs__grid,
  .edg-blogs__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 100%; }
  .edg-blogs__grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
}

@media (max-width: 680px) {
  .edg-blogs__grid,
  .edg-blogs__grid[data-count="1"],
  .edg-blogs__grid[data-count="2"] { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 100%; }
  .edg-blogs__eyebrow { font-size: 14px; }
  .edg-blog__title { font-size: 19px; }
  .edg-blog__excerpt { font-size: 15px; }
  .edg-blogs__all { width: 100%; }
}


/* ---- edglow-typography ---- */
/* ==========================================================================
   Edglow typography - Jost everywhere, one step up in size and weight.
   Loaded last. Layout, spacing and colour are deliberately untouched.
   ========================================================================== */

:root {
  --edg-font: "Jost", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --wd-text-font: var(--edg-font);
  --wd-title-font: var(--edg-font);
  --wd-entities-title-font: var(--edg-font);
  --wd-widget-title-font: var(--edg-font);
  --wd-alternative-font: var(--edg-font);
  --wd-header-el-font: var(--edg-font);

  --wd-text-font-weight: 450;
  --wd-title-font-weight: 600;
  --wd-entities-title-font-weight: 600;
  --wd-widget-title-font-weight: 600;

  --wd-text-font-size: 16px;
  --wd-widget-title-font-size: 18px;
  --wd-header-el-font-size: 14px;
}

/* --------------------------------------------------------- one family --- */

body,
button,
input,
optgroup,
select,
textarea,
h1, h2, h3, h4, h5, h6,
p, li, td, th, label,
.title,
.wd-entities-title,
.widget-title,
.product_title,
.price,
.woocommerce-Price-amount,
.wd-nav a,
.wd-accordion-title,
.wd-accordion-content,
.elementor-heading-title {
  font-family: var(--edg-font);
}

/* Elements that hard-code a serif inline or in their own rules. */
[style*="Playfair"],
[style*="playfair"],
[style*="Cormorant"],
[style*="cormorant"],
[style*="Lato"],
[style*="Satisfy"] {
  font-family: var(--edg-font) !important;
}

/* Icon fonts keep their own family - never Jost, or the glyphs turn into empty boxes. */
[class*="wd-icon"],
[class*="wd-icon"]:before,
.wd-action-icon,
.wd-action-icon:before,
.wd-action-btn > a:before,
.wd-btn-arrow:before,
.wd-nav-arrows i,
.wd-tools-icon:before,
.wd-dropdown-menu li.menu-item-has-children > a:after,
.wd-nav > li.menu-item-has-children > a:after,
.woodmart-font,
[class^="wd-"]:before,
[class*=" wd-"]:before,
.wd-checkout-steps li:before,
td.product-remove a:before,
.woocommerce-remove-coupon:before {
  font-family: "woodmart-font" !important;
}

/* FontAwesome and generic icon sets */
i[class^="fa"], i[class*=" fa"],
.fas, .far, .fab, .fa,
i[class^="icon-"], i[class*=" icon-"] { font-family: inherit; }

/* WooCommerce star rating */
.star-rating,
.star-rating:before,
.star-rating span:before {
  font-family: star !important;
}


/* ------------------------------------------------- scale and weight --- */

body { font-size: 16px; font-weight: 450; letter-spacing: .002em; }

/* headings: a touch larger, a touch tighter */
h1, .elementor-heading-title.elementor-size-xxl { font-weight: 600; letter-spacing: -.018em; }
h2 { font-weight: 600; letter-spacing: -.016em; }
h3, h4 { font-weight: 600; letter-spacing: -.01em; }
h5, h6 { font-weight: 600; letter-spacing: 0; }

/* header + navigation */
html .wd-nav.wd-nav-main > li > a { font-size: 14px; font-weight: 600; letter-spacing: .05em; }
.wd-dropdown-menu .wd-nav a, .wd-sub-menu a { font-size: 14.5px; font-weight: 450; }
.wd-header-nav .wd-tools-text, .wd-header-cart .wd-tools-text { font-size: 13.5px; font-weight: 600; }
.wd-toolbar .wd-tools-text { font-size: 12px; font-weight: 600; }

/* product cards */
.wd-products .wd-product .wd-entities-title { font-size: 17.5px; font-weight: 600; letter-spacing: -.005em; }
.wd-products .wd-product .wd-product-cats { font-size: 12px; font-weight: 600; letter-spacing: .09em; }
.wd-products .wd-product .price ins, .wd-products .wd-product .price > .woocommerce-Price-amount { font-size: 20px; font-weight: 700; }
.wd-products .wd-product .price del, .wd-products .wd-product .price del .woocommerce-Price-amount { font-size: 15px; font-weight: 400; }
.wd-products .wd-product .edg-buy-now--loop, .wd-products .wd-product .edg-atc { font-size: 13px; font-weight: 600; letter-spacing: .12em; }
.edg-save { font-size: 11.5px; font-weight: 600; }
.product-labels .onsale, span.onsale { font-size: 12px !important; font-weight: 600 !important; }

/* single product */
.single-product .product_title { font-size: clamp(29px, 3vw, 42px); font-weight: 600; }
.single-product .summary .price, .edg-sp-price .price > .woocommerce-Price-amount, .edg-sp-price .price ins .woocommerce-Price-amount { font-size: 32px; font-weight: 700; }
.edg-sp-price .price del, .edg-sp-price .price del .woocommerce-Price-amount { font-size: 19px; }
.single-product .woocommerce-product-details__short-description { font-size: 16px; font-weight: 450; line-height: 1.8; }
.single-product .single_add_to_cart_button, .single-product .edg-buy-now { font-size: 13.5px; font-weight: 600; letter-spacing: .12em; }
.single-product .wd-accordion-title { font-size: 17px; font-weight: 600; }
.single-product .wd-accordion-content { font-size: 15.5px; font-weight: 450; line-height: 1.8; }

/* buttons everywhere */
.btn, .button, button, input[type=submit], .wd-button, .edg-featured-product__cta { font-weight: 600; letter-spacing: .1em; }
.single_add_to_cart_button, #place_order, .checkout-button { font-size: 13.5px; font-weight: 600; }

/* forms */
input, select, textarea { font-size: 15.5px; font-weight: 450; }
label, .form-row label { font-size: 14px; font-weight: 500; }

/* --------------------------------------- custom Edglow sections --- */

/* homepage: Inside the glow */
.edg-glow-eyebrow { font-size: clamp(15px, 1.3vw, 17px); font-weight: 500; font-style: italic; letter-spacing: .04em; text-transform: uppercase; }
.edg-glow-title { font-size: clamp(28px, 3.6vw, 47px); font-weight: 600; letter-spacing: -.02em; }
.edg-glow-card__title { font-size: clamp(19px, 1.4vw, 23px); font-weight: 600; letter-spacing: -.008em; }
.edg-glow-card__text { font-size: 15.5px; font-weight: 450; line-height: 1.72; }

/* homepage: GLOGIN feature */
.edg-featured-product__eyebrow { font-size: 16px; font-weight: 500; font-style: italic; letter-spacing: .05em; text-transform: uppercase; }
.edg-featured-product__title { font-size: clamp(32px, 3.3vw, 45px); font-weight: 600; letter-spacing: -.02em; }
.edg-featured-product__desc { font-size: 16.5px; font-weight: 450; line-height: 1.78; }
.edg-featured-product__benefits li { font-size: 16px; font-weight: 500; }
.edg-featured-product__price { font-size: 38px; font-weight: 700; letter-spacing: -.02em; }
.edg-featured-product__price-label, .edg-featured-product__note { font-size: 11.5px; font-weight: 600; letter-spacing: 1.4px; }
.edg-featured-product__cta { font-size: 13.5px; font-weight: 600; letter-spacing: .14em; }

/* homepage: section headings */
.wd-title-wrapp .title, .liner-continer .title { font-weight: 600; letter-spacing: -.018em; }
.wd-title-wrapp .title-subtitle, .liner-continer .title-subtitle { font-weight: 500; font-style: italic; letter-spacing: .04em; text-transform: uppercase; }

/* homepage: hero slider */
.edg-hero-slider .banner-title { font-weight: 600 !important; letter-spacing: -.02em; }
.edg-hero-slider .banner-subtitle { font-weight: 500 !important; font-style: italic; letter-spacing: .05em; text-transform: uppercase; }

/* FAQ */
.edg-faq__q { font-size: 18px; font-weight: 600; letter-spacing: -.006em; }
.edg-faq__a { font-size: 15.5px; font-weight: 450; line-height: 1.78; }

/* cart, checkout, trust strips */
.edg-trust li { font-size: 14px; font-weight: 450; }
.edg-checkout-steps li { font-size: 13.5px; font-weight: 600; }
.edg-ship-nudge { font-size: 14.5px; font-weight: 600; }
.edg-checkout-assure { font-size: 13.5px; font-weight: 450; }

/* footer */
.edg-f-assure__head { font-size: 23px; font-weight: 600; letter-spacing: -.012em; }
.edg-f-assure__item strong { font-size: 17px; font-weight: 600; }
.edg-f-assure__item span { font-size: 14.5px; font-weight: 450; }
.edg-f-head { font-size: 18px; font-weight: 600; letter-spacing: -.008em; }
.edg-f-about { font-size: 15px; font-weight: 450; line-height: 1.75; }
.edg-f-links, .edg-f-contact { font-size: 15px; font-weight: 450; }
.edg-f-lbl { font-size: 11.5px; font-weight: 600; letter-spacing: .09em; }
.wd-copyrights { font-size: 14px; font-weight: 450; }

/* --------------------------------------------------------- mobile --- */

@media (max-width: 767px) {
  body { font-size: 15.5px; }
  html .wd-nav.wd-nav-main > li > a { font-size: 15px; }
  .wd-products .wd-product .wd-entities-title { font-size: 15px; }
  .wd-products .wd-product .wd-product-cats { font-size: 10.5px; }
  .wd-products .wd-product .price ins, .wd-products .wd-product .price > .woocommerce-Price-amount { font-size: 17px; }
  .wd-products .wd-product .price del, .wd-products .wd-product .price del .woocommerce-Price-amount { font-size: 13px; }
  .wd-products .wd-product .edg-buy-now--loop, .wd-products .wd-product .edg-atc { font-size: 11.5px; letter-spacing: .08em; }
  .single-product .product_title { font-size: 27px; }
  .single-product .summary .price, .edg-sp-price .price > .woocommerce-Price-amount, .edg-sp-price .price ins .woocommerce-Price-amount { font-size: 27px; }
  .single-product .wd-accordion-title { font-size: 16px; }
  .single-product .wd-accordion-content { font-size: 15px; }
  .edg-glow-card__title { font-size: 19px; }
  .edg-glow-card__text { font-size: 15px; }
  .edg-featured-product__title { font-size: 31px; }
  .edg-featured-product__desc { font-size: 15.5px; }
  .edg-featured-product__price { font-size: 33px; }
  .edg-faq__q { font-size: 16.5px; }
  .edg-faq__a { font-size: 15px; }
  .edg-f-assure__head { font-size: 20px; }
  .edg-f-head { font-size: 17px; }
}


/* ---- edglow-pages ---- */
/* ==========================================================================
   Edglow - About / Contact page layout
   Full-width bands on desktop, clean single column on mobile.
   ========================================================================== */

.edg-page {
  --edg-p-deep:  #0A2E2A;
  --edg-p-green: #123F39;
  --edg-p-text:  #223A35;
  --edg-p-muted: #4A5A55;
  --edg-p-gold:  #B88C59;
  --edg-p-cream: #F8F5EF;
  --edg-p-alt:   #F1EBE1;
  --edg-p-line:  rgba(10, 46, 42, .12);
  --edg-p-wide:  1240px;

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  color: var(--edg-p-text);
  overflow-x: clip;
}

.edg-page * { box-sizing: border-box; }

.edg-page__hero,
.edg-page__band,
.edg-page__cta {
  padding-inline: clamp(20px, 4vw, 48px);
}

.edg-page__hero > *,
.edg-page__band > *,
.edg-page__cta > * {
  max-width: var(--edg-p-wide);
  margin-inline: auto;
}

/* ---------------------------------------------------------------- hero --- */

.edg-page__hero {
  padding-block: clamp(48px, 5.5vw, 86px) clamp(34px, 4vw, 58px);
  text-align: center;
}

.edg-page__eyebrow {
  display: block;
  margin-bottom: 12px;
  font-size: 17px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: .05em;
  color: var(--edg-p-gold);
}

.edg-page__title {
  margin: 0 0 20px;
  font-family: inherit;
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.024em;
  color: var(--edg-p-deep);
}

.edg-page__lead {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(16.5px, 1.2vw, 18.5px);
  font-weight: 450;
  line-height: 1.8;
  color: var(--edg-p-muted);
}

.edg-page__lead--sm { font-size: 16.5px; }
.edg-page__lead strong { color: var(--edg-p-deep); font-weight: 600; }

/* --------------------------------------------------------------- bands --- */

.edg-page__band {
  padding-block: clamp(44px, 4.6vw, 76px);
  border-top: 1px solid var(--edg-p-line);
}

.edg-page__band--alt { background: var(--edg-p-alt); }

.edg-page__h2 {
  margin: 0 0 clamp(24px, 2.4vw, 38px);
  font-family: inherit;
  font-size: clamp(25px, 2.6vw, 34px);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -.02em;
  color: var(--edg-p-deep);
  text-align: center;
}

.edg-page__h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 16px auto 0;
  background: var(--edg-p-gold);
  opacity: .6;
}

.edg-page__note {
  max-width: 760px;
  margin: 26px auto 0;
  font-size: 15.5px;
  line-height: 1.75;
  color: var(--edg-p-muted);
  text-align: center;
}

/* The note under the numbered steps shares the steps' exact box, so its
   text starts on the same line as the step text. Forced, because the band
   wrapper also sets a width on every direct child. */
.edg-page__band .edg-steps,
.edg-page__band .edg-steps + .edg-page__note {
  width: 100% !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.edg-page__band .edg-steps + .edg-page__note {
  margin-top: 30px !important;
  padding-top: 22px;
  padding-left: 52px;
  border-top: 1px solid var(--edg-p-line);
  text-align: left;
}

.edg-page__note a,
.edg-page__lead a {
  color: var(--edg-p-green);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* -------------------------------------------------------------- values --- */

.edg-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px);
}

.edg-value {
  padding: clamp(22px, 2vw, 30px);
  background: #FFFDFA;
  border: 1px solid var(--edg-p-line);
  border-radius: 4px;
}

.edg-value__title {
  margin: 0 0 10px;
  font-family: inherit;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--edg-p-deep);
}

.edg-value__copy {
  margin: 0;
  font-size: 15.5px;
  font-weight: 450;
  line-height: 1.7;
  color: var(--edg-p-muted);
}

/* ---------------------------------------------------------- categories --- */

.edg-cats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px);
}

.edg-cat {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: clamp(22px, 2vw, 30px);
  background: #FFFDFA;
  border: 1px solid var(--edg-p-line);
  border-radius: 4px;
  text-decoration: none;
  transition: border-color .25s ease, transform .25s ease;
}

.edg-cat:hover { border-color: var(--edg-p-gold); transform: translateY(-3px); }

.edg-cat__name {
  font-size: 19px;
  font-weight: 600;
  color: var(--edg-p-deep);
}

.edg-cat__copy {
  font-size: 15px;
  font-weight: 450;
  line-height: 1.65;
  color: var(--edg-p-muted);
}

.edg-cat__more {
  margin-top: auto;
  padding-top: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--edg-p-green);
}

/* --------------------------------------------------------------- steps --- */

.edg-steps {
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  counter-reset: edg;
}

.edg-steps li {
  position: relative;
  margin: 0 0 18px;
  padding: 0 0 0 52px;
  font-size: 16px;
  font-weight: 450;
  line-height: 1.75;
  color: var(--edg-p-muted);
}

.edg-steps li::before {
  counter-increment: edg;
  content: counter(edg);
  position: absolute;
  left: 0;
  top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--edg-p-gold);
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
  color: var(--edg-p-green);
}

.edg-steps strong { color: var(--edg-p-deep); font-weight: 600; }

/* ----------------------------------------------------------------- cta --- */

.edg-page__cta {
  padding-block: clamp(46px, 5vw, 80px);
  background: var(--edg-p-alt);
  border-top: 1px solid var(--edg-p-line);
  text-align: center;
}

.edg-page__cta .edg-page__h2 { color: var(--edg-p-deep); }
.edg-page__cta .edg-page__lead { color: var(--edg-p-muted); }

.edg-page__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}

.edg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 15px 38px;
  border-radius: 2px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

.edg-btn--solid { background: var(--edg-p-green); border: 1px solid var(--edg-p-green); color: #FFFFFF; }
.edg-btn--solid:hover { background: var(--edg-p-deep); border-color: var(--edg-p-deep); color: #FFFFFF; }

.edg-btn--ghost { background: transparent; border: 1px solid var(--edg-p-green); color: var(--edg-p-green); }
.edg-btn--ghost:hover { background: var(--edg-p-green); border-color: var(--edg-p-green); color: #FFFFFF; }

/* ====================================================== contact: reach --- */

.edg-reach {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px);
}

.edg-reach__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(24px, 2.2vw, 32px);
  background: #FFFDFA;
  border: 1px solid var(--edg-p-line);
  border-radius: 4px;
}

.edg-reach__label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #8A6432;
}

.edg-reach__value {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--edg-p-deep);
  text-decoration: none;
  word-break: break-word;
}

a.edg-reach__value:hover { color: var(--edg-p-green); text-decoration: underline; }

.edg-reach__note {
  margin: 4px 0 0;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.65;
  color: var(--edg-p-muted);
}

/* ======================================================= contact: form --- */

.edg-form {
  max-width: 900px;
  margin-inline: auto;
  padding: clamp(24px, 2.6vw, 40px);
  background: #FFFDFA;
  border: 1px solid var(--edg-p-line);
  border-radius: 4px;
}

.edg-form .edg-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

.edg-form .edg-form__field { margin: 0; }
.edg-form .edg-form__field--full { grid-column: 1 / -1; }

.edg-form label {
  display: block;
  margin-bottom: 7px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--edg-p-deep);
}

.edg-form input[type="text"],
.edg-form input[type="email"],
.edg-form input[type="tel"],
.edg-form select,
.edg-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 16px;
  border: 1px solid rgba(10, 46, 42, .18);
  border-radius: 3px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  color: var(--edg-p-text);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.edg-form textarea { min-height: 150px; line-height: 1.7; resize: vertical; }

.edg-form input:focus,
.edg-form select:focus,
.edg-form textarea:focus {
  outline: none;
  border-color: var(--edg-p-green);
  box-shadow: 0 0 0 3px rgba(18, 63, 57, .09);
}

.edg-form ::placeholder { color: #93A19C; font-weight: 400; }

.edg-form .edg-form__submit { margin: 24px 0 0; }

.edg-form input[type="submit"],
.edg-form .wpcf7-submit {
  width: 100%;
  min-height: 56px;
  padding: 16px 34px;
  border: 1px solid var(--edg-p-green);
  border-radius: 2px;
  background: var(--edg-p-green);
  color: #FFFFFF;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .25s ease;
}

.edg-form input[type="submit"]:hover,
.edg-form .wpcf7-submit:hover { background: var(--edg-p-deep); border-color: var(--edg-p-deep); }

.edg-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #B3261E;
}

.edg-form .wpcf7-response-output {
  margin: 20px 0 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--edg-p-line) !important;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 500;
  color: var(--edg-p-text);
}

.edg-form .wpcf7-spinner { margin-inline: 12px; }

/* ======================================================== contact: faq --- */

.edg-cfaq {
  max-width: 860px;
  margin-inline: auto;
  border-top: 1px solid var(--edg-p-line);
}

.edg-cfaq__item { border-bottom: 1px solid var(--edg-p-line); }

.edg-cfaq__q {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 2px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--edg-p-deep);
  cursor: pointer;
  list-style: none;
}

.edg-cfaq__q::-webkit-details-marker { display: none; }

.edg-cfaq__q::after {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f4a44' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/18px no-repeat;
  transition: transform .25s ease;
}

.edg-cfaq__item[open] .edg-cfaq__q::after { transform: rotate(45deg); }

.edg-cfaq__a {
  padding: 0 2px 22px;
  font-size: 16px;
  font-weight: 450;
  line-height: 1.75;
  color: var(--edg-p-muted);
}

/* ---------------------------------------------------------- responsive --- */

@media (max-width: 1024px) {
  .edg-values,
  .edg-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edg-reach { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .edg-values,
  .edg-cats,
  .edg-reach { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .edg-form .edg-form__grid { grid-template-columns: minmax(0, 1fr); }
  .edg-form { padding: 20px; }
  .edg-cfaq__q { font-size: 16px; }
  .edg-cfaq__a { font-size: 15.5px; }
  .edg-page__title { font-size: 30px; }
  .edg-page__lead { font-size: 16px; }
  .edg-steps li { padding-left: 44px; font-size: 15.5px; }
  .edg-steps li::before { width: 28px; height: 28px; }
  .edg-page__band .edg-steps + .edg-page__note { padding-left: 44px; }
  .edg-btn { width: 100%; }
}


/* ---- edglow-header ---- */
/* ==========================================================================
   Edglow - warm ivory header
   Same tone as the footer (#FAF7F2) so the top and bottom of every page
   belong to one another. Layout, heights and structure are untouched.
   ========================================================================== */

:root {
  --edg-hd-bg:      #FAF7F2;
  --edg-hd-line:    rgba(10, 46, 42, .10);
  --edg-hd-ink:     #0A2E2A;
  --edg-hd-ink-2:   #123F39;
  --edg-hd-gold:    #B88C59;
}

/* ------------------------------------------------------ the background --- */

.whb-header,
.whb-header .whb-main-header,
.whb-header .whb-row,
.whb-header .whb-row.whb-with-bg,
.whb-header .whb-row.whb-color-dark,
.whb-header .whb-row.whb-color-dark:not(.whb-with-bg),
.whb-clone .whb-row,
.whb-sticked .whb-row,
.whb-header.whb-sticked .whb-main-header {
  background-color: var(--edg-hd-bg) !important;
  background-image: none !important;
}

/* Woodmart paints a translucent row over hero sections - keep it ivory. */
body:not(.single-product) .whb-overcontent:not(.whb-sticked) .whb-row:not(.whb-with-bg) {
  background-color: var(--edg-hd-bg) !important;
}

/* Soft warm separator instead of a hard white edge. */
.whb-header .whb-row.whb-border-fullwidth,
.whb-header .whb-header-bottom {
  border-color: var(--edg-hd-line) !important;
}

.whb-header .whb-general-header {
  border-bottom: 1px solid var(--edg-hd-line);
}

/* --------------------------------------------------------- navigation --- */

.whb-header .wd-nav-main > li > a,
.whb-header .wd-nav-secondary > li > a,
.whb-header .wd-nav > li > a {
  color: var(--edg-hd-ink) !important;
  font-weight: 700;
}

.whb-header .wd-nav > li > a .nav-link-text { letter-spacing: .06em; }

.whb-header .wd-nav > li > a:hover,
.whb-header .wd-nav > li > a:focus,
.whb-header .wd-nav > li.current-menu-item > a,
.whb-header .wd-nav > li.current-menu-ancestor > a,
.whb-header .wd-nav > li.wd-active > a {
  color: var(--edg-hd-ink-2) !important;
}

/* Keep the underline indicator visible against ivory. */
.whb-header .wd-nav.wd-style-underline > li > a .nav-link-text:after,
.whb-header .wd-nav > li > a .nav-link-text:after {
  background-color: var(--edg-hd-gold) !important;
}

/* -------------------------------------------------------------- tools --- */

.whb-header .wd-tools-element {
  --wd-header-el-color: #0A2E2A;
  --wd-header-el-color-hover: #123F39;
}

.whb-header .wd-tools-element > a,
.whb-header .wd-tools-element > a .wd-tools-icon,
.whb-header .wd-tools-element > a .wd-tools-text {
  color: var(--edg-hd-ink);
}

.whb-header .wd-tools-element > a:hover,
.whb-header .wd-tools-element > a:hover .wd-tools-text { color: var(--edg-hd-ink-2); }

/* Cart amount + counter stay legible. */
.whb-header .wd-cart-subtotal,
.whb-header .wd-tools-text,
.whb-header .subtotal-divider {
  color: var(--edg-hd-ink) !important;
  font-weight: 600;
}

.whb-header .wd-tools-count,
.whb-header .wd-cart-number {
  background-color: var(--edg-hd-ink-2) !important;
  color: #FFFFFF !important;
}

/* ------------------------------------------------------ social icons --- */

.whb-header .wd-social-icons.wd-style-bordered .wd-social-icon {
  border-color: rgba(10, 46, 42, .22);
  color: var(--edg-hd-ink);
  background-color: transparent;
}

.whb-header .wd-social-icons.wd-style-bordered .wd-social-icon:hover {
  border-color: var(--edg-hd-ink-2);
  background-color: var(--edg-hd-ink-2);
  color: #FFFFFF;
}

/* ---------------------------------------------------------------- logo --- */

.whb-header .wd-logo img {
  filter: none;
  opacity: 1;
}

/* --------------------------------------------------------- mobile bar --- */

@media (max-width: 1024px) {
  /* A taller, calmer bar - the old 60px felt cramped. */
  :root { --wd-header-general-sm-h: 78px; }

  .whb-header .whb-row,
  .whb-header .whb-main-header,
  .whb-clone .whb-row {
    background-color: var(--edg-hd-bg) !important;
  }

  .whb-header .whb-general-header { border-bottom: 1px solid var(--edg-hd-line); }

  .whb-header .whb-general-header-inner,
  .whb-header .whb-general-header > .container > .whb-flex-row {
    height: 78px;
    max-height: 78px;
  }

  .whb-header .whb-general-header > .container { padding-inline: 16px; }

  /* Logo: sized by height so it always sits optically centred. */
  .whb-header .whb-mobile-center .site-logo { display: flex; justify-content: center; }

  .whb-header .whb-mobile-center .wd-logo img {
    max-width: none !important;
    max-height: 50px;
    width: auto;
    height: 50px;
    object-fit: contain;
  }

  /* Comfortable, evenly weighted tap targets. */
  .whb-header .whb-mobile-left,
  .whb-header .whb-mobile-right { flex: 0 0 auto; }

  .whb-header .whb-mobile-right { gap: 4px; }

  .whb-header .wd-tools-element > a,
  .whb-header .wd-header-mobile-nav > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    color: var(--edg-hd-ink);
  }

  .whb-header .whb-hidden-lg .wd-tools-icon:before,
  .whb-header .wd-header-mobile-nav .wd-tools-icon:before {
    font-size: 23px;
  }

  .whb-header .whb-hidden-lg .wd-tools-count,
  .whb-header .whb-hidden-lg .wd-cart-number {
    min-width: 17px;
    height: 17px;
    font-size: 10px;
    line-height: 17px;
  }

  /* The running cart total crowds the bar on a phone. */
  .whb-header .whb-mobile-right .wd-cart-subtotal,
  .whb-header .whb-mobile-right .wd-tools-text { display: none; }
}

@media (max-width: 420px) {
  .whb-header .whb-mobile-center .wd-logo img { max-height: 44px; height: 44px; }
  .whb-header .whb-general-header > .container { padding-inline: 12px; }
}

/* header social row: follow links, limited to five.
   Scoped to this one header element - the sticky social rail keeps YouTube and TikTok. */
.whb-20zkpzxdk3dbjrfv0wgn .wd-social-icon.social-youtube,
.whb-20zkpzxdk3dbjrfv0wgn .wd-social-icon.social-tiktok {
  display: none !important;
}


/* ---- edglow-canvas ---- */
/* ==========================================================================
   Edglow - one continuous ivory canvas
   The whole site sits on the footer tone, so no bare white gaps appear
   between the header, the sections and the footer.
   ========================================================================== */

html,
body,
body.woodmart-theme,
.wd-page-wrapper,
.wd-page-content,
.main-page-wrapper,
.site-content,
.wd-content-area,
.wd-content-layout,
main#main-content,
.wd-builder-off,
.woocommerce-page .wd-page-content,
.single-product .wd-page-content,
.archive .wd-page-content,
.blog .wd-page-content,
.page .wd-page-content,
.error404 .wd-page-content {
  background-color: #FAF7F2;
}

/* Elementor wrappers must not paint their own white. */
.wd-page-content .elementor,
.wd-page-content .elementor-section-wrap,
.elementor-location-single,
.elementor-location-archive {
  background-color: transparent;
}

/* Woodmart page-title strip: warm band, dark ink (the demo photo is gone). */
.wd-page-title,
.wd-page-title.color-scheme-light,
.wd-page-title.title-shop,
.wd-page-title.title-blog,
body .wd-page-title {
  background-color: #F1EBE1 !important;
  background-image: none !important;
}

.wd-page-title .wd-page-title-bg { display: none; }

.wd-page-title.color-scheme-light .entry-title,
.wd-page-title.color-scheme-light .title,
.wd-page-title .entry-title,
.wd-page-title .title {
  color: #0A2E2A !important;
  font-weight: 600;
}

.wd-page-title.color-scheme-light .wd-breadcrumbs,
.wd-page-title.color-scheme-light .wd-breadcrumbs a,
.wd-page-title .wd-breadcrumbs,
.wd-page-title .wd-breadcrumbs a {
  color: #4A5A55 !important;
}

.wd-page-title .wd-breadcrumbs a:hover { color: #123F39 !important; }

/* Shop / archive / account / cart / checkout pages keep the same ground. */
.woocommerce-cart .wd-page-content,
.woocommerce-checkout .wd-page-content,
.woocommerce-account .wd-page-content,
.woocommerce-order-received .wd-page-content {
  background-color: #FAF7F2;
}

/* Nothing should leave a white strip under the last section. */
.wd-page-content > *:last-child { margin-bottom: 0; }

.wd-prefooter:empty { display: none; }

/* Side drawers keep their own dark treatment - deliberately not repainted. */


/* ---- edglow-footer-boost ---- */
/* ==========================================================================
   Edglow - footer legibility boost
   Same layout and palette, stronger type so the footer reads as clearly as
   the rest of the site.
   ========================================================================== */

.edg-footer-pro {
  --muted: #4A5A55;   /* was #5F6D68 - deeper for real contrast */
  --text:  #14302B;
}

/* ------------------------------------------------------ assurance row --- */

.edg-footer-pro .edg-assure__intro {
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.72 !important;
  color: #3F4F4A !important;
}

.edg-footer-pro .edg-assure__copy,
.edg-footer-pro .edg-assure__copy p,
.edg-footer-pro .edg-assure__copy span {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: #2C403B !important;
}

.edg-footer-pro .edg-assure__copy strong,
.edg-footer-pro .edg-assure__copy b {
  font-weight: 700 !important;
  color: #0A2E2A !important;
}

/* ---------------------------------------------------------- brand col --- */

.edg-footer-pro .edg-brand__about,
.edg-footer-pro .edg-brand__tag {
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  color: #3F4F4A !important;
}

.edg-footer-pro .edg-contact-label {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  color: #7A6444 !important;
}

.edg-footer-pro .edg-contact-text,
.edg-footer-pro .edg-contact-text a {
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  color: #14302B !important;
}

.edg-footer-pro .edg-contact-text a:hover { color: #123F39 !important; }

/* ------------------------------------------------------------ headings --- */

.edg-footer-pro .edg-footer-heading {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  color: #0A2E2A !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------- links --- */

.edg-footer-pro .edg-footer-links a,
.edg-footer-pro .edg-footer-links li a {
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #2C403B !important;
  opacity: 1 !important;
}

.edg-footer-pro .edg-footer-links a:hover {
  color: #0A2E2A !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------- support box --- */

.edg-footer-pro .edg-support-card,
.edg-footer-pro .edg-support-card p,
.edg-footer-pro .edg-support-card span:not(.edg-support-card__eyebrow) {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  color: #2C403B !important;
}

.edg-footer-pro .edg-support-card__eyebrow {
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  color: #7A6444 !important;
}

/* ------------------------------------------------------------- bottom --- */

.edg-footer-pro .edg-footer-bottom__copy,
.edg-footer-pro .edg-footer-bottom__copy p {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #3F4F4A !important;
}

.edg-footer-pro .edg-footer-bottom__links a {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #2C403B !important;
}

.edg-footer-pro .edg-footer-bottom__links a:hover { color: #0A2E2A !important; }

/* Woodmart copyright strip, if it ever shows. */
.wd-copyrights,
.wd-copyrights p,
.wd-copyrights a {
  color: #3F4F4A !important;
  font-size: 14px;
  font-weight: 500;
}

/* ==========================================================================
   MOBILE FOOTER
   The block ships desktop-only grids, so the whole mobile layout is rebuilt
   here: nothing overflows, nothing clips, one word per line never happens.
   ========================================================================== */

/* Grid children must be allowed to shrink, or long words widen the track. */
.edg-footer-pro .edg-assure__grid > *,
.edg-footer-pro .edg-footer-main > * { min-width: 0; }

@media (max-width: 1024px) {
  .edg-footer-pro__container { padding-inline: 24px !important; }

  .edg-footer-pro .edg-assure__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .edg-footer-pro .edg-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 40px 32px !important;
    padding: 48px 0 40px !important;
  }

  .edg-footer-pro .edg-footer-main > *:first-child { grid-column: 1 / -1; }

  .edg-footer-pro .edg-support-card { width: 100%; }
}

@media (max-width: 767px) {

  /* ---------------------------------------------------------- shell --- */

  .edg-footer-pro {
    overflow-x: hidden;
    text-align: left;
  }

  .edg-footer-pro__container {
    max-width: 100% !important;
    padding-inline: 20px !important;
  }

  /* ------------------------------------------------- shop with confidence --- */

  .edg-footer-pro .edg-assure {
    padding: 38px 0 32px !important;
  }

  .edg-footer-pro .edg-assure__headrow {
    display: block !important;
    margin-bottom: 22px !important;
  }

  .edg-footer-pro .edg-assure__eyebrow {
    font-size: 17px !important;
    margin-bottom: 6px !important;
  }

  .edg-footer-pro .edg-assure__title {
    font-size: 27px !important;
    line-height: 1.18 !important;
    letter-spacing: -.02em !important;
  }

  .edg-footer-pro .edg-assure__intro {
    max-width: 100% !important;
    margin-top: 12px !important;
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    text-align: left !important;
  }

  /* One card per row: full sentences, never one word per line. */
  .edg-footer-pro .edg-assure__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .edg-footer-pro .edg-assure__card {
    min-height: 0 !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 15px 16px !important;
    border-radius: 10px !important;
  }

  .edg-footer-pro .edg-assure__icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  .edg-footer-pro .edg-assure__copy {
    min-width: 0;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
  }

  .edg-footer-pro .edg-assure__copy strong {
    display: block;
    margin-bottom: 2px;
    font-size: 15px !important;
  }

  /* ------------------------------------------------------ main columns --- */

  /* One block per row, in the order they are written. Each section keeps
     its own heading and its own card together - nothing floats away. */
  .edg-footer-pro .edg-footer-main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
    padding: 36px 0 32px !important;
  }

  /* Links pair up so a four-item column is two short rows, not a long list. */
  .edg-footer-pro .edg-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px 18px !important;
  }

  .edg-footer-pro .edg-footer-col + .edg-footer-col {
    padding-top: 26px;
    border-top: 1px solid rgba(18, 63, 57, .10);
  }

  .edg-footer-pro .edg-brand__logo {
    width: 148px !important;
    margin-bottom: 16px !important;
  }

  .edg-footer-pro .edg-brand__tag {
    font-size: 12px !important;
    letter-spacing: .12em !important;
    line-height: 1.6 !important;
  }

  .edg-footer-pro .edg-brand__about {
    font-size: 15px !important;
    line-height: 1.72 !important;
    text-align: left !important;
  }

  .edg-footer-pro .edg-brand__contact { gap: 13px !important; }

  .edg-footer-pro .edg-contact-text {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere;
  }

  .edg-footer-pro .edg-footer-heading {
    margin-bottom: 16px !important;
    padding-bottom: 9px !important;
    font-size: 13px !important;
    letter-spacing: .13em !important;
    overflow-wrap: normal;
    hyphens: none;
  }

  .edg-footer-pro .edg-footer-links a {
    font-size: 14.5px !important;
    line-height: 1.45 !important;
  }

  .edg-footer-pro .edg-support-card {
    width: 100%;
    margin-top: 22px !important;
    padding: 18px 16px !important;
  }

  .edg-footer-pro .edg-support-card p { font-size: 14px !important; }
  .edg-footer-pro .edg-support-card strong { font-size: 17px !important; }
  .edg-footer-pro .edg-support-card a { font-size: 12px !important; }

  /* Social row centred under the columns. */
  .edg-footer-pro .wd-social-icons,
  .edg-footer-pro .edg-social {
    justify-content: flex-start;
  }

  /* ---------------------------------------------------------- bottom --- */

  .edg-footer-pro .edg-footer-bottom {
    padding: 20px 20px 26px !important;
    gap: 12px !important;
  }

  .edg-footer-pro .edg-footer-bottom__copy { font-size: 12.5px !important; }
  .edg-footer-pro .edg-footer-bottom__links a { font-size: 12.5px !important; }
}

/* Clear Woodmart's fixed bottom bar so nothing hides behind it. */
@media (max-width: 1024px) {
  .edg-footer-pro { padding-bottom: var(--wd-toolbar-h, 60px); }
}

@media (max-width: 430px) {
  .edg-footer-pro__container { padding-inline: 16px !important; }

  .edg-footer-pro .edg-assure__title { font-size: 25px !important; }
  .edg-footer-pro .edg-assure__intro { font-size: 15px !important; }

  .edg-footer-pro .edg-footer-main { gap: 28px !important; }

  .edg-footer-pro .edg-footer-heading { font-size: 12.5px !important; }
  .edg-footer-pro .edg-footer-links a { font-size: 14px !important; }
  .edg-footer-pro .edg-brand__logo { width: 138px !important; }
}

@media (max-width: 340px) {
  .edg-footer-pro .edg-footer-links {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* ---- edglow-responsive ---- */
/* ==========================================================================
   Edglow - responsive pass
   Wider, full-bleed sections on desktop; clean single-column stacking on
   phones; and no horizontal overflow anywhere.
   ========================================================================== */

/* ------------------------------------------------- never scroll sideways --- */

/* NOTE: the clip lives on the page wrapper, not on html/body. A clip on the
   root also clips position:fixed elements, which cut the sticky social rail
   off at the right edge. */
html,
body {
  max-width: 100%;
}

.wd-page-content,
.wd-footer,
.wd-prefooter {
  overflow-x: clip;
}

img,
video,
iframe,
svg { max-width: 100%; }

/* Wide content scrolls inside itself instead of pushing the page. */
.wd-page-content table,
.woocommerce table.shop_table,
.woocommerce-cart-form,
.wd-entry-content pre {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* Full-bleed blocks measure the real viewport, so a scrollbar cannot make
   them 15px too wide. --edg-vw is published by the front-end script. */
.edg-page,
.edg-footer-pro {
  width: var(--edg-vw, 100vw);
  max-width: var(--edg-vw, 100vw);
  margin-left: calc(var(--edg-vw, 100vw) / -2);
}

/* --------------------------------------------------------- wide screens --- */

@media (min-width: 1500px) {
  :root { --wd-container-w: 1440px; }

  .container,
  .wd-content-layout.container,
  main#main-content.container { max-width: 1440px; }

  .edg-footer-pro__container { max-width: 1440px; }

  .edg-page__hero > *,
  .edg-page__band > *,
  .edg-page__cta > * { max-width: 1440px; }

  .edg-blogs__inner,
  .edg-blogs__head,
  .edg-blogs__grid,
  .edg-blogs__foot { max-width: 1440px; }
}

@media (min-width: 1800px) {
  :root { --wd-container-w: 1600px; }

  .container,
  .wd-content-layout.container,
  main#main-content.container,
  .edg-footer-pro__container,
  .edg-page__hero > *,
  .edg-page__band > *,
  .edg-page__cta > * { max-width: 1600px; }
}

/* ------------------------------------------------------------- tablets --- */

@media (max-width: 1024px) {
  .wd-page-content .container,
  main#main-content.container { padding-inline: 24px; }

  /* Product grids: two clean columns rather than three cramped ones. */
  .wd-products.wd-grid-g { --wd-col-md: 2; }
}

/* -------------------------------------------------------------- phones --- */

@media (max-width: 767px) {
  .wd-page-content .container,
  main#main-content.container { padding-inline: 16px; }

  /* Two product cards per row keeps browsing quick on a phone. */
  .wd-products.wd-grid-g { --wd-col-sm: 2; --wd-gap-sm: 12px; }

  /* Comfortable tap targets everywhere. */
  .wd-products .wd-product .edg-buy-now--loop,
  .wd-products .wd-product .edg-atc,
  .button,
  .wp-element-button,
  .woocommerce a.button,
  .woocommerce button.button { min-height: 46px; }

  /* Single product: full-width action buttons. */
  .single-product .edg-buy-now,
  .single-product .single_add_to_cart_button { width: 100%; }

  /* Cart / checkout tables stack instead of squeezing. */
  .woocommerce-cart table.cart thead { display: none; }

  /* Headings should never overflow their box. */
  h1, h2, h3, .wd-entities-title, .product_title { overflow-wrap: anywhere; }
}

@media (max-width: 480px) {
  .wd-products.wd-grid-g { --wd-col-sm: 1; }
}

/* ==========================================================================
   Woodmart "Stretch container" correction
   The theme sets the negative margin and width with JavaScript from the
   document width. When a stretched container holds another stretched one the
   offset is applied twice, so the block drifts left and spills off screen.
   ========================================================================== */

/* Desktop is left exactly as the theme builds it - the nested stretch there
   is what breaks the inner container out of the boxed wrapper, so touching
   it pushes the whole section off to the right.

   On phones and tablets the container already fills the screen, so the
   stretch offsets have nothing to correct - they only push it off centre. */
@media (max-width: 1024px) {
  .wd-page-content .wd-section-stretch,
  .wd-page-content .wd-section-stretch.e-parent {
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  .wd-page-content .wd-section-stretch > .e-con-inner {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
}

/* ------------------------------------------ mobile polish, whole site --- */

@media (max-width: 767px) {
  /* Latest insights sits closer to the footer instead of floating. */
  .edg-blogs { padding: 44px 0 40px; }
  .edg-blogs__head { margin-bottom: 26px; }

  /* Section headings scale down cleanly rather than wrapping mid-word. */
  .edg-page__h2,
  .edg-blogs__title { overflow-wrap: normal; hyphens: none; }

  /* Anything that lays itself out in fixed columns collapses safely. */
  .wd-page-content [class*="grid-template-columns"] { min-width: 0; }

  /* Elementor containers must not force a min width on small screens. */
  .wd-page-content .e-con,
  .wd-page-content .e-con-inner,
  .wd-page-content .elementor-widget-wrap { min-width: 0; max-width: 100%; }

  /* Hand-built homepage sections stay inside the screen and centred. */
  .edg-why,
  .edg-why__container,
  .edg-faq,
  .edg-glow,
  .edg-assure {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }
}

/* ------------------------------------------------ sensible touch sizing --- */

@media (hover: none) {
  .wd-nav a,
  .wd-tools-element > a,
  .edg-footer-links a,
  .edg-faq__q,
  .edg-cfaq__q { min-height: 40px; }
}


/* ---- edglow-cart-drawer ---- */
/* ==========================================================================
   Edglow - shopping cart side drawer
   Dark drawer kept as-is; every text element rebuilt for readable contrast.
   Structure, widths, image sizes and behaviour are untouched.
   ========================================================================== */

.cart-widget-side {
  --edg-cd-ink:     #FFFFFF;   /* primary text        */
  --edg-cd-ivory:   #F5F1EA;   /* headings / titles   */
  --edg-cd-soft:    #C6D2CE;   /* secondary text      */
  --edg-cd-accent:  #7FD8BD;   /* prices / totals     */
  --edg-cd-gold:    #D8AE79;   /* hover accent        */
  --edg-cd-line:    rgba(255, 255, 255, .14);
}

/* Nothing inside the drawer may inherit a dark brand colour. */
.cart-widget-side,
.cart-widget-side p,
.cart-widget-side span,
.cart-widget-side div,
.cart-widget-side li,
.cart-widget-side dt,
.cart-widget-side dd,
.cart-widget-side strong {
  color: var(--edg-cd-ink);
}

/* ------------------------------------------------------------ heading --- */

.cart-widget-side > .wd-heading {
  border-bottom: 1px solid var(--edg-cd-line);
}

.cart-widget-side > .wd-heading .title {
  color: var(--edg-cd-ivory) !important;
  font-weight: 600;
  letter-spacing: -.01em;
  opacity: 1;
}

.cart-widget-side .close-side-widget a,
.cart-widget-side .close-side-widget .wd-action-text,
.cart-widget-side .close-side-widget .wd-action-icon {
  color: var(--edg-cd-ink) !important;
  opacity: 1;
}

.cart-widget-side .close-side-widget a:hover,
.cart-widget-side .close-side-widget a:hover .wd-action-text,
.cart-widget-side .close-side-widget a:hover .wd-action-icon {
  color: var(--edg-cd-gold) !important;
}

.cart-widget-side .shopping-cart-widget-body,
.cart-widget-side .shopping-cart-widget-footer,
.cart-widget-side .cart-info {
  color: var(--edg-cd-ink);
}

/* ------------------------------------------------------------- items --- */

.cart-widget-side .woocommerce-mini-cart li,
.cart-widget-side .cart_list li,
.cart-widget-side .mini_cart_item {
  border-color: var(--edg-cd-line) !important;
}

.cart-widget-side .wd-entities-title,
.cart-widget-side .wd-entities-title a,
.cart-widget-side .cart_list li > a:not(.remove),
.cart-widget-side .woocommerce-mini-cart-item a:not(.remove) {
  color: var(--edg-cd-ivory) !important;
  font-weight: 600;
  opacity: 1;
}

.cart-widget-side .wd-entities-title a:hover,
.cart-widget-side .woocommerce-mini-cart-item a:not(.remove):hover {
  color: var(--edg-cd-accent) !important;
}

/* Quantity line: "3 x Rs 1,999" */
.cart-widget-side .quantity,
.cart-widget-side .quantity span,
.cart-widget-side .wd-product-detail,
.cart-widget-side .variation,
.cart-widget-side .variation dt,
.cart-widget-side .variation dd,
.cart-widget-side .variation p {
  color: var(--edg-cd-soft) !important;
  opacity: 1;
  font-weight: 500;
}

/* ------------------------------------------------------------- prices --- */

.cart-widget-side .amount,
.cart-widget-side bdi,
.cart-widget-side .woocommerce-Price-amount,
.cart-widget-side .quantity .woocommerce-Price-amount,
.cart-widget-side .price,
.cart-widget-side .price .woocommerce-Price-amount,
.cart-widget-side .price ins,
.cart-widget-side .price ins .woocommerce-Price-amount,
.cart-widget-side .woocommerce-Price-currencySymbol {
  color: var(--edg-cd-accent) !important;
  opacity: 1;
}

.cart-widget-side .price del,
.cart-widget-side .price del .woocommerce-Price-amount,
.cart-widget-side del,
.cart-widget-side del .woocommerce-Price-amount {
  color: var(--edg-cd-soft) !important;
  opacity: .7 !important;
}

/* -------------------------------------------------------- remove icon --- */

.cart-widget-side a.remove,
.cart-widget-side a.remove_from_cart_button,
.cart-widget-side .cart_list li > a.remove {
  color: var(--edg-cd-ink) !important;
  background-color: transparent !important;
  opacity: .95;
  font-weight: 400;
}

.cart-widget-side a.remove:hover,
.cart-widget-side a.remove_from_cart_button:hover {
  color: var(--edg-cd-gold) !important;
  background-color: transparent !important;
  opacity: 1;
}

/* ------------------------------------------------------------ totals --- */

.cart-widget-side .woocommerce-mini-cart__total,
.cart-widget-side .total {
  border-top: 1px solid var(--edg-cd-line) !important;
  color: var(--edg-cd-ivory) !important;
}

.cart-widget-side .woocommerce-mini-cart__total strong,
.cart-widget-side .total strong,
.cart-widget-side .wd-cart-subtotal {
  color: var(--edg-cd-ivory) !important;
  font-weight: 600;
}

.cart-widget-side .woocommerce-mini-cart__total .amount,
.cart-widget-side .total .amount,
.cart-widget-side .total bdi {
  color: var(--edg-cd-accent) !important;
  font-weight: 700;
}

/* --------------------------------------------------- messages / notes --- */

.cart-widget-side .woocommerce-mini-cart__empty-message,
.cart-widget-side .wd-empty-mini-cart,
.cart-widget-side .edg-ship-nudge,
.cart-widget-side .woocommerce-message,
.cart-widget-side .wd-free-progress-bar,
.cart-widget-side .wd-free-progress-bar span {
  color: var(--edg-cd-soft) !important;
  opacity: 1;
}

.cart-widget-side .edg-ship-nudge strong,
.cart-widget-side .wd-free-progress-bar strong {
  color: var(--edg-cd-accent) !important;
}

/* ------------------------------------------------------------ buttons --- */

/* View cart - ivory panel, deep green ink */
.cart-widget-side .buttons .button:not(.checkout),
.cart-widget-side a.wc-forward:not(.checkout) {
  background-color: #F5F1EA !important;
  border: 1px solid #F5F1EA !important;
  color: #0A2E2A !important;
  font-weight: 700 !important;
  letter-spacing: .12em;
}

.cart-widget-side .buttons .button:not(.checkout):hover,
.cart-widget-side a.wc-forward:not(.checkout):hover,
.cart-widget-side .buttons .button:not(.checkout):focus {
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #0A2E2A !important;
}

/* Checkout - brighter green so it lifts off the dark drawer */
.cart-widget-side .buttons a.checkout,
.cart-widget-side a.checkout.wc-forward,
.cart-widget-side .button.checkout {
  background-color: #14554B !important;
  border: 1px solid #2E7E70 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  letter-spacing: .12em;
}

.cart-widget-side .buttons a.checkout:hover,
.cart-widget-side a.checkout.wc-forward:hover,
.cart-widget-side .buttons a.checkout:focus,
.cart-widget-side .buttons a.checkout:active {
  background-color: #1B6C5F !important;
  border-color: #7FD8BD !important;
  color: #FFFFFF !important;
}

/* Any residual link inside the drawer stays visible. */
.cart-widget-side a:not(.button):not(.checkout):not(.remove) { color: var(--edg-cd-ivory); }
.cart-widget-side a:not(.button):not(.checkout):not(.remove):hover { color: var(--edg-cd-accent); }


/* ---- edglow-ui ---- */
/* ==========================================================================
   Edglow - floating controls
   Scroll-to-top, carousel arrows and the WhatsApp help launcher.
   ========================================================================== */

:root {
  --edg-ui-deep:  #0A2E2A;
  --edg-ui-green: #123F39;
  --edg-ui-gold:  #B88C59;
  --edg-ui-cream: #F8F5EF;
  --edg-ui-wa:    #25D366;
  --edg-ui-wa-dk: #128C7E;
  --edg-ui-bottom: 24px;
}

@media (max-width: 1024px) {
  :root { --edg-ui-bottom: calc(var(--wd-toolbar-h, 60px) + 14px); }
}

/* ------------------------------------------------------- scroll to top --- */

a.scrollToTop {
  right: 20px !important;
  bottom: calc(var(--edg-ui-bottom) + 74px) !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background-color: var(--edg-ui-deep) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 26px -10px rgba(10, 46, 42, .6) !important;
  opacity: 1 !important;
  transition: background-color .25s ease, transform .25s ease;
}

a.scrollToTop:hover {
  background-color: var(--edg-ui-green) !important;
  transform: translateY(-3px);
}

a.scrollToTop::before,
a.scrollToTop::after {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* --------------------------------------------------- carousel controls --- */

.wd-nav-arrows .wd-btn-arrow {
  --wd-arrow-color: #FFFFFF;
  --wd-arrow-bg: var(--edg-ui-deep);
}

.wd-nav-arrows .wd-btn-arrow .wd-arrow-inner {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--edg-ui-deep);
  border: 1px solid rgba(10, 46, 42, .18);
  color: #FFFFFF;
  box-shadow: 0 8px 22px -12px rgba(10, 46, 42, .7);
  transition: background-color .25s ease, border-color .25s ease;
}

.wd-nav-arrows .wd-btn-arrow .wd-arrow-inner::before,
.wd-nav-arrows .wd-btn-arrow .wd-arrow-inner::after {
  color: #FFFFFF !important;
}

.wd-nav-arrows .wd-btn-arrow:hover .wd-arrow-inner {
  background-color: var(--edg-ui-green);
  border-color: var(--edg-ui-gold);
}

.wd-nav-arrows .wd-btn-arrow.wd-disabled .wd-arrow-inner {
  background-color: rgba(10, 46, 42, .28);
  border-color: transparent;
  opacity: 1;
}

/* Pagination dots */
.wd-nav-pagin li a,
.wd-nav-pagin-wrap .swiper-pagination-bullet {
  background-color: rgba(10, 46, 42, .28) !important;
  border-color: rgba(10, 46, 42, .28) !important;
}

.wd-nav-pagin li.wd-active a,
.wd-nav-pagin-wrap .swiper-pagination-bullet-active {
  background-color: var(--edg-ui-gold) !important;
  border-color: var(--edg-ui-gold) !important;
}

/* ------------------------------------------------- sticky social rail --- */

.wd-sticky-social.wd-sticky-social-right {
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 340;
  max-width: none !important;
  border-radius: 6px 0 0 6px;
  overflow: hidden;
  box-shadow: -6px 0 20px -12px rgba(10, 46, 42, .5);
}

.wd-sticky-social.wd-sticky-social-right .wd-social-icon {
  border-radius: 0 !important;
  margin: 0 !important;
}

/* It must not sit on top of the help launcher or the back-to-top button. */
@media (max-width: 1500px) {
  .wd-sticky-social.wd-sticky-social-right {
    top: 42% !important;
  }
}

/* On a phone the rail covers the content and fights the bottom bar. */
@media (max-width: 1024px) {
  .wd-sticky-social.wd-sticky-social-right { display: none !important; }
}

/* ==========================================================================
   WhatsApp help launcher
   ========================================================================== */

.edg-wa {
  position: fixed;
  right: 20px;
  bottom: var(--edg-ui-bottom);
  z-index: 998;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
}

.edg-wa * { box-sizing: border-box; }

/* ------------------------------------------------------------- button --- */

.edg-wa__launch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 54px;
  padding: 0 20px 0 16px;
  border: 0;
  border-radius: 999px;
  background: var(--edg-ui-wa);
  color: #FFFFFF;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  box-shadow: 0 14px 30px -12px rgba(18, 63, 57, .65);
  transition: background-color .25s ease, transform .25s ease;
}

.edg-wa__launch:hover { background: var(--edg-ui-wa-dk); transform: translateY(-2px); }

.edg-wa__launch svg { width: 26px; height: 26px; flex: 0 0 26px; }
.edg-wa__icon-x { display: none; }

.edg-wa.is-open .edg-wa__icon-wa { display: none; }
.edg-wa.is-open .edg-wa__icon-x { display: block; }
.edg-wa.is-open .edg-wa__launch { background: var(--edg-ui-deep); }

/* -------------------------------------------------------------- panel --- */

.edg-wa__panel {
  position: absolute;
  right: 0;
  bottom: 66px;
  width: min(340px, calc(100vw - 40px));
  border-radius: 14px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(10, 46, 42, .12);
  box-shadow: 0 26px 60px -24px rgba(10, 46, 42, .55);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.98);
  transform-origin: bottom right;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}

.edg-wa.is-open .edg-wa__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.edg-wa__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 14px;
  background: var(--edg-ui-deep);
  color: #FFFFFF;
}

.edg-wa__id { display: flex; align-items: center; gap: 11px; min-width: 0; }

.edg-wa__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: var(--edg-ui-wa);
  color: #FFFFFF;
}

.edg-wa__avatar svg { width: 22px; height: 22px; }

.edg-wa__who { display: flex; flex-direction: column; min-width: 0; }
.edg-wa__who strong { font-size: 15px; font-weight: 600; line-height: 1.25; }
.edg-wa__who span { font-size: 12px; font-weight: 450; color: rgba(255, 255, 255, .72); }

.edg-wa__close {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  color: #FFFFFF;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.edg-wa__close:hover { background: rgba(255, 255, 255, .26); }

.edg-wa__body { padding: 16px 14px 6px; background: var(--edg-ui-cream); }

.edg-wa__bubble {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 3px 14px 14px 14px;
  background: #FFFFFF;
  border: 1px solid rgba(10, 46, 42, .10);
  font-size: 14px;
  font-weight: 450;
  line-height: 1.6;
  color: #2C403B;
}

.edg-wa__topics { display: grid; gap: 8px; }

.edg-wa__topic {
  display: block;
  padding: 11px 14px;
  border: 1px solid rgba(18, 63, 57, .28);
  border-radius: 999px;
  background: #FFFFFF;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--edg-ui-green);
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.edg-wa__topic:hover {
  background: var(--edg-ui-green);
  border-color: var(--edg-ui-green);
  color: #FFFFFF;
  text-decoration: none;
}

.edg-wa__foot {
  padding: 14px;
  background: var(--edg-ui-cream);
  text-align: center;
}

.edg-wa__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  border-radius: 999px;
  background: var(--edg-ui-wa);
  color: #FFFFFF !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none !important;
  transition: background-color .2s ease;
}

.edg-wa__cta:hover { background: var(--edg-ui-wa-dk); }
.edg-wa__cta svg { width: 20px; height: 20px; }

.edg-wa__num {
  display: block;
  margin-top: 9px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #5F6D68;
}

/* ------------------------------------------------------------- mobile --- */

@media (max-width: 600px) {
  .edg-wa { right: 14px; left: 14px; }
  .edg-wa__launch { float: right; }
  .edg-wa__panel { width: 100%; right: 0; bottom: 68px; }
  .edg-wa__label { display: none; }
  .edg-wa__launch { padding: 0; width: 54px; justify-content: center; }
  a.scrollToTop { right: 14px !important; }
}

@media print {
  .edg-wa, a.scrollToTop { display: none !important; }
}


/* ---- edglow-search ---- */
/* ==========================================================================
   Edglow - slide-in search drawer
   ========================================================================== */

.edg-search {
  --edg-s-deep:  #0A2E2A;
  --edg-s-green: #123F39;
  --edg-s-gold:  #B88C59;
  --edg-s-cream: #F8F5EF;
  --edg-s-muted: #5F6D68;
  --edg-s-line:  rgba(10, 46, 42, .12);

  position: fixed;
  inset: 0;
  z-index: 1200;
  visibility: hidden;
  pointer-events: none;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
}

.edg-search * { box-sizing: border-box; }

.edg-search.is-open { visibility: visible; pointer-events: auto; }

/* The theme's own full-screen search is replaced by this drawer. */
.wd-search-full-screen { display: none !important; }

.edg-search-lock, .edg-search-lock body { overflow: hidden; }

.edg-search__scrim {
  position: absolute;
  inset: 0;
  background: rgba(10, 46, 42, .42);
  opacity: 0;
  transition: opacity .32s ease;
}

.edg-search.is-open .edg-search__scrim { opacity: 1; }

.edg-search__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: min(440px, 100vw);
  background: #FFFDFA;
  border-right: 1px solid var(--edg-s-line);
  box-shadow: 24px 0 60px -30px rgba(10, 46, 42, .55);
  transform: translateX(-100%);
  transition: transform .34s cubic-bezier(.22, .7, .25, 1);
}

.edg-search.is-open .edg-search__panel { transform: translateX(0); }

.edg-search__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 20px 14px;
}

.edg-search__eyebrow {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--edg-s-gold);
}

.edg-search__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--edg-s-line);
  border-radius: 50%;
  background: transparent;
  color: var(--edg-s-deep);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.edg-search__close svg { width: 17px; height: 17px; }
.edg-search__close:hover { background: var(--edg-s-deep); color: #FFFFFF; }

/* ---------------------------------------------------------------- input --- */

.edg-search__form {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 20px 6px;
}

.edg-search__icon {
  position: absolute;
  left: 16px;
  display: flex;
  color: var(--edg-s-green);
  pointer-events: none;
}

.edg-search__icon svg { width: 19px; height: 19px; }

.edg-search__input {
  width: 100%;
  height: 56px;
  padding: 0 44px 0 46px;
  border: 1px solid rgba(10, 46, 42, .20);
  border-radius: 3px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 16.5px;
  font-weight: 500;
  color: #173630;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.edg-search__input:focus {
  outline: none;
  border-color: var(--edg-s-green);
  box-shadow: 0 0 0 3px rgba(18, 63, 57, .10);
}

.edg-search__input::placeholder { color: #93A19C; font-weight: 400; }
.edg-search__input::-webkit-search-cancel-button { display: none; }

.edg-search__clear {
  position: absolute;
  right: 12px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  background: rgba(10, 46, 42, .08);
  color: var(--edg-s-deep);
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
}

.edg-search__clear:hover { background: rgba(10, 46, 42, .16); }

/* ----------------------------------------------------------------- body --- */

.edg-search__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 14px 20px 28px;
  -webkit-overflow-scrolling: touch;
}

.edg-search__label {
  display: block;
  margin: 16px 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--edg-s-muted);
}

.edg-search__label:first-child { margin-top: 4px; }

.edg-search__chips { display: flex; flex-wrap: wrap; gap: 8px; }

.edg-search__chip {
  padding: 9px 15px;
  border: 1px solid rgba(18, 63, 57, .26);
  border-radius: 999px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--edg-s-green);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.edg-search__chip:hover {
  background: var(--edg-s-green);
  border-color: var(--edg-s-green);
  color: #FFFFFF;
}

/* -------------------------------------------------------------- results --- */

.edg-search__list { display: grid; gap: 6px; }

.edg-search__hit {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  text-decoration: none;
  opacity: 0;
  transform: translateY(6px);
  animation: edg-hit-in .3s cubic-bezier(.22, .7, .25, 1) forwards;
  animation-delay: calc(var(--i, 0) * 45ms);
  transition: background-color .2s ease, border-color .2s ease;
}

.edg-search__hit:hover {
  background: var(--edg-s-cream);
  border-color: var(--edg-s-line);
  text-decoration: none;
}

@keyframes edg-hit-in {
  to { opacity: 1; transform: translateY(0); }
}

.edg-search__thumb {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--edg-s-cream);
}

.edg-search__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5%;
}

.edg-search__meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }

.edg-search__name {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--edg-s-deep);
}

.edg-search__price { font-size: 13.5px; font-weight: 700; color: var(--edg-s-green); }

.edg-search__price del {
  margin-left: 6px;
  font-weight: 400;
  color: var(--edg-s-muted);
  opacity: .8;
}

.edg-search__date {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--edg-s-muted);
}

.edg-search__hit--post { padding-inline: 10px; }

.edg-search__all {
  display: block;
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--edg-s-green);
  border-radius: 2px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
  color: var(--edg-s-green);
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.edg-search__all:hover { background: var(--edg-s-green); color: #FFFFFF; text-decoration: none; }

.edg-search__empty {
  margin: 22px 0 0;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.7;
  color: var(--edg-s-muted);
}

.edg-search__empty a { color: var(--edg-s-green); font-weight: 600; text-decoration: underline; }

/* -------------------------------------------------------------- loading --- */

.edg-search__loading {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 26px 4px;
}

.edg-search__loading span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--edg-s-gold);
  animation: edg-dot 1s ease-in-out infinite;
}

.edg-search__loading span:nth-child(2) { animation-delay: .15s; }
.edg-search__loading span:nth-child(3) { animation-delay: .3s; }

@keyframes edg-dot {
  0%, 100% { opacity: .25; transform: translateY(0); }
  50%      { opacity: 1;   transform: translateY(-5px); }
}

/* ------------------------------------------------------------ responsive --- */

@media (max-width: 600px) {
  .edg-search__panel { width: 100vw; }
  .edg-search__input { height: 52px; font-size: 16px; }
  .edg-search__body { padding-bottom: calc(var(--wd-toolbar-h, 60px) + 24px); }
}

@media (prefers-reduced-motion: reduce) {
  .edg-search__panel,
  .edg-search__scrim { transition: none; }
  .edg-search__hit { animation: none; opacity: 1; transform: none; }
}


/* ============================================================
   edg-search hardening
   Scoped to #edg-search so Woodmart's own button and input rules,
   which load after this file, cannot override the drawer.
   ============================================================ */

/* 1. the hidden attribute must always win */
#edg-search [hidden] { display: none !important; }

/* 2. search field: keep the text clear of the icon */
#edg-search .edg-search__form { position: relative !important; }

#edg-search .edg-search__icon {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2;
  pointer-events: none;
  color: var(--edg-s-green);
}

#edg-search .edg-search__input {
  padding-left: 50px !important;
  padding-right: 48px !important;
  background: #FFFFFF !important;
  text-indent: 0 !important;
}

/* 3. close button: ivory circle, dark cross - never a filled dark blob */
#edg-search .edg-search__close {
  background-color: transparent !important;
  border: 1px solid rgba(10, 46, 42, .18) !important;
  color: #173630 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

#edg-search .edg-search__close svg { stroke: currentColor !important; fill: none !important; }

#edg-search .edg-search__close:hover,
#edg-search .edg-search__close:focus {
  background-color: #173630 !important;
  border-color: #173630 !important;
  color: #FFFFFF !important;
}

/* 4. clear button inside the field */
#edg-search .edg-search__clear {
  background-color: rgba(10, 46, 42, .08) !important;
  color: #173630 !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  align-items: center;
  justify-content: center;
}

#edg-search .edg-search__clear:not([hidden]) { display: flex; }
#edg-search .edg-search__loading:not([hidden]) { display: flex; }

/* ---- edglow-quiz ---- */
/* ==========================================================================
   Edglow - skin quiz
   ========================================================================== */

/* The quiz carries its own h1, so the title bar keeps only the breadcrumb. */
.edg-quiz-page .wd-page-title .entry-title { display: none; }
.edg-quiz-page .wd-page-title { padding: 22px 0 0; min-height: 0; }
.edg-quiz-page main#main-content.container { padding-top: 10px; padding-bottom: 0; }
.edg-quiz-page article.entry-content { max-width: 100%; }

.edg-quiz {
  --q-deep:  #0A2E2A;
  --q-green: #123F39;
  --q-gold:  #B88C59;
  --q-cream: #F8F5EF;
  --q-alt:   #F1EBE1;
  --q-text:  #223A35;
  --q-muted: #4A5A55;
  --q-line:  rgba(10, 46, 42, .12);

  position: relative;
  left: 50%;
  width: var(--edg-vw, 100vw);
  max-width: var(--edg-vw, 100vw);
  margin-left: calc(var(--edg-vw, 100vw) / -2);
  padding: clamp(44px, 5vw, 84px) clamp(20px, 4vw, 48px);
  background: var(--q-cream);
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  color: var(--q-text);
  overflow-x: clip;
}

.edg-quiz * { box-sizing: border-box; }

.edg-quiz__stage { display: none; max-width: 820px; margin-inline: auto; }
.edg-quiz__stage.is-active { display: block; animation: edg-q-in .35s ease both; }

@keyframes edg-q-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------- type --- */

.edg-quiz__eyebrow {
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--q-gold);
  text-align: center;
}

.edg-quiz__title {
  margin: 0 0 18px;
  font-family: inherit;
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.022em;
  color: var(--q-deep);
  text-align: center;
}

.edg-quiz__lead {
  max-width: 640px;
  margin: 0 auto 22px;
  font-size: 17px;
  font-weight: 450;
  line-height: 1.75;
  color: var(--q-muted);
  text-align: center;
}

/* --------------------------------------------------------------- intro --- */

.edg-quiz__intro { text-align: center; }

.edg-quiz__facts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}

.edg-quiz__facts li {
  padding: 8px 15px;
  border: 1px solid rgba(184, 140, 89, .45);
  border-radius: 999px;
  background: rgba(184, 140, 89, .08);
  font-size: 12.5px;
  font-weight: 600;
  color: #8A6432;
}

/* ------------------------------------------------------------ progress --- */

.edg-quiz__progress { margin-bottom: clamp(26px, 3vw, 42px); }

.edg-quiz__bar {
  height: 3px;
  border-radius: 999px;
  background: rgba(10, 46, 42, .12);
  overflow: hidden;
}

.edg-quiz__bar span {
  display: block;
  width: 14%;
  height: 100%;
  border-radius: 999px;
  background: var(--q-gold);
  transition: width .38s cubic-bezier(.22, .7, .25, 1);
}

.edg-quiz__count {
  display: block;
  margin-top: 11px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--q-muted);
  text-align: center;
}

.edg-quiz__count b { color: var(--q-deep); }

/* ------------------------------------------------------------- a step --- */

.edg-quiz__step { display: none; }
.edg-quiz__step.is-active { display: block; animation: edg-q-in .32s ease both; }

.edg-quiz__q {
  margin: 0 0 8px;
  font-family: inherit;
  font-size: clamp(23px, 2.5vw, 31px);
  font-weight: 600;
  line-height: 1.24;
  letter-spacing: -.018em;
  color: var(--q-deep);
  text-align: center;
}

.edg-quiz__note {
  margin: 0 auto 26px;
  max-width: 520px;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.65;
  color: var(--q-muted);
  text-align: center;
}

.edg-quiz__input {
  display: block;
  width: min(420px, 100%);
  margin: 0 auto;
  height: 58px;
  padding: 0 18px;
  border: 1px solid rgba(10, 46, 42, .2);
  border-radius: 3px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 17px;
  font-weight: 500;
  color: var(--q-text);
  text-align: center;
}

.edg-quiz__input:focus {
  outline: none;
  border-color: var(--q-green);
  box-shadow: 0 0 0 3px rgba(18, 63, 57, .10);
}

/* ------------------------------------------------------------- options --- */

.edg-quiz__opts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 700px;
  margin-inline: auto;
}

.edg-quiz__opt {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 18px 20px;
  border: 1px solid var(--q-line);
  border-radius: 6px;
  background: #FFFDFA;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  animation: edg-q-opt .3s ease forwards;
  animation-delay: calc(var(--i, 0) * 55ms);
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

@keyframes edg-q-opt { to { opacity: 1; transform: none; } }

.edg-quiz__opt:hover {
  border-color: var(--q-gold);
  transform: translateY(-2px);
}

.edg-quiz__opt.is-picked {
  border-color: var(--q-green);
  background: var(--q-green);
}

.edg-quiz__opt.is-picked .edg-quiz__opt-l { color: #FFFFFF; }
.edg-quiz__opt.is-picked .edg-quiz__opt-s { color: rgba(255, 255, 255, .8); }

.edg-quiz__opt-l { font-size: 17px; font-weight: 600; color: var(--q-deep); }
.edg-quiz__opt-s { font-size: 14px; font-weight: 450; line-height: 1.5; color: var(--q-muted); }

/* ---------------------------------------------------------------- nav --- */

.edg-quiz__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}

.edg-quiz__back {
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--q-muted);
  cursor: pointer;
}

.edg-quiz__back:hover { color: var(--q-deep); }

/* -------------------------------------------------------------- button --- */

.edg-quiz__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 15px 34px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease;
}

.edg-quiz__btn--solid { background: var(--q-green); border-color: var(--q-green); color: #FFFFFF; }
.edg-quiz__btn--solid:hover { background: var(--q-deep); border-color: var(--q-deep); color: #FFFFFF; }

.edg-quiz__btn--ghost { background: transparent; border-color: var(--q-green); color: var(--q-green); }
.edg-quiz__btn--ghost:hover { background: var(--q-green); color: #FFFFFF; }

.edg-quiz__btn--wa { background: #25D366; border-color: #25D366; color: #FFFFFF; }
.edg-quiz__btn--wa:hover { background: #128C7E; border-color: #128C7E; color: #FFFFFF; }

/* -------------------------------------------------------------- result --- */

.edg-quiz__result { max-width: 900px; }

.edg-quiz__notice {
  max-width: 700px;
  margin: 0 auto 26px;
  padding: 16px 18px;
  border-inline-start: 3px solid var(--q-gold);
  border-radius: 3px;
  background: rgba(184, 140, 89, .10);
}

.edg-quiz__notice p {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
  color: #6E5228;
}

.edg-quiz__notice p:last-child { margin-bottom: 0; }

.edg-quiz__picks { display: grid; gap: 16px; margin: 26px 0 34px; }

.edg-quiz__pick {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 20px;
  padding: 20px;
  border: 1px solid var(--q-line);
  border-radius: 8px;
  background: #FFFDFA;
}

.edg-quiz__pick.is-lead { border-color: var(--q-gold); box-shadow: 0 16px 40px -28px rgba(10, 46, 42, .5); }

.edg-quiz__badge {
  position: absolute;
  top: -11px;
  left: 20px;
  padding: 5px 13px;
  border-radius: 999px;
  background: var(--q-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #FFFFFF;
}

.edg-quiz__pick-media {
  display: block;
  border-radius: 5px;
  overflow: hidden;
  background: var(--q-cream);
  aspect-ratio: 1 / 1;
}

.edg-quiz__pick-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6%;
}

.edg-quiz__role {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--q-gold);
}

.edg-quiz__pick-name { margin: 0 0 9px; font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.3; }
.edg-quiz__pick-name a { color: var(--q-deep); text-decoration: none; }
.edg-quiz__pick-name a:hover { color: var(--q-green); }

.edg-quiz__why { margin: 0 0 9px; font-size: 15px; font-weight: 450; line-height: 1.68; color: var(--q-muted); }
.edg-quiz__use { margin: 0 0 14px; font-size: 14.5px; font-weight: 450; line-height: 1.6; color: var(--q-muted); }
.edg-quiz__use b { color: var(--q-deep); font-weight: 600; }

.edg-quiz__pick-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.edg-quiz__price { font-size: 19px; font-weight: 700; color: var(--q-green); }

.edg-quiz__add {
  padding: 11px 22px;
  border-radius: 2px;
  background: var(--q-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.edg-quiz__add:hover { background: var(--q-deep); }

.edg-quiz__view {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--q-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --------------------------------------------------------------- truth --- */

.edg-quiz__truth {
  padding: 22px 24px;
  border: 1px solid var(--q-line);
  border-radius: 8px;
  background: var(--q-alt);
}

.edg-quiz__truth h3 {
  margin: 0 0 12px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  color: var(--q-deep);
}

.edg-quiz__truth ul { margin: 0; padding-inline-start: 20px; }
.edg-quiz__truth li { margin-bottom: 8px; font-size: 15px; font-weight: 450; line-height: 1.65; color: var(--q-muted); }
.edg-quiz__truth li:last-child { margin-bottom: 0; }

.edg-quiz__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

/* =========================================================== promo band --- */

.edg-quizpromo {
  position: relative;
  left: 50%;
  width: var(--edg-vw, 100vw);
  max-width: var(--edg-vw, 100vw);
  margin-left: calc(var(--edg-vw, 100vw) / -2);
  padding: clamp(46px, 5vw, 82px) clamp(20px, 4vw, 48px);
  background: #0A2E2A;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  text-align: center;
  overflow-x: clip;
}

.edg-quizpromo__inner { max-width: 700px; margin-inline: auto; }

.edg-quizpromo__eyebrow {
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: #D8AE79;
}

.edg-quizpromo__title {
  margin: 0 0 16px;
  font-family: inherit;
  font-size: clamp(27px, 3.2vw, 40px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.022em;
  color: #FFFFFF;
}

.edg-quizpromo__copy {
  margin: 0 0 26px;
  font-size: 16.5px;
  font-weight: 450;
  line-height: 1.75;
  color: rgba(255, 255, 255, .78);
}

.edg-quizpromo__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 40px;
  border-radius: 2px;
  background: #F5F1EA;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #0A2E2A !important;
  text-decoration: none !important;
  transition: background-color .22s ease;
}

.edg-quizpromo__cta:hover { background: #FFFFFF; }

/* ---------------------------------------------------------- responsive --- */

@media (max-width: 767px) {
  .edg-quiz__opts { grid-template-columns: minmax(0, 1fr); }
  .edg-quiz__opt { padding: 16px 18px; }
  .edg-quiz__opt-l { font-size: 16px; }

  .edg-quiz__pick { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .edg-quiz__pick-media { max-width: 180px; }
  .edg-quiz__pick-foot { gap: 10px; }
  .edg-quiz__add, .edg-quiz__btn { width: 100%; }
  .edg-quiz__view { width: 100%; text-align: center; }
  .edg-quizpromo__cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .edg-quiz__stage.is-active,
  .edg-quiz__step.is-active,
  .edg-quiz__opt { animation: none; opacity: 1; transform: none; }
  .edg-quiz__bar span { transition: none; }
}


/* ---- edglow-marquee ---- */
/* ==========================================================================
   Edglow - brand marquee band
   Seamless left drift: one group of items printed twice, the track slides
   exactly half its width, then snaps back with nothing to see.
   ========================================================================== */

.edg-mq {
  --edg-mq-speed: 42s;
  --mq-deep: #0A2E2A;
  --mq-gold: #B88C59;

  position: relative;
  left: 50%;
  width: var(--edg-vw, 100vw);
  max-width: var(--edg-vw, 100vw);
  margin-left: calc(var(--edg-vw, 100vw) / -2);
  padding: clamp(18px, 2vw, 30px) 0;
  overflow: hidden;
  background:
    linear-gradient(
      100deg,
      #F4EFE6 0%,
      #F8F5EF 22%,
      #F3EDE3 46%,
      #EFE7DA 68%,
      #F8F5EF 88%,
      #F1EBE1 100%
    );
  border-block: 1px solid rgba(10, 46, 42, .10);
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  user-select: none;
}

/* Soft fade at both edges so items enter and leave instead of being cut. */
.edg-mq::before,
.edg-mq::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(40px, 8vw, 130px);
  z-index: 2;
  pointer-events: none;
}

.edg-mq::before { left: 0;  background: linear-gradient(to right, #F4EFE6, rgba(244, 239, 230, 0)); }
.edg-mq::after  { right: 0; background: linear-gradient(to left,  #F1EBE1, rgba(241, 235, 225, 0)); }

/* ---------------------------------------------------------------- track --- */

.edg-mq__track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
  animation: edg-mq-slide var(--edg-mq-speed) linear infinite;
}

/* Nothing here may ever become a scroll container. */
.edg-mq,
.edg-mq__track,
.edg-mq__group { overflow: hidden; }
.edg-mq__track,
.edg-mq__group { overflow: visible; }

.edg-mq:hover .edg-mq__track { animation-play-state: paused; }

@keyframes edg-mq-slide {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

.edg-mq__group { display: flex; flex: 0 0 auto; }

/* ---------------------------------------------------------------- items --- */

.edg-mq__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding-inline: clamp(28px, 4vw, 62px);
}

.edg-mq__main {
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.2vw, 18px);
  font-size: clamp(21px, 2.6vw, 38px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mq-deep);
  white-space: nowrap;
}

.edg-mq__main b { font-weight: 600; }

.edg-mq__star {
  font-style: normal;
  font-size: .72em;
  line-height: 1;
  color: var(--mq-gold);
  transform: translateY(-.04em);
}

.edg-mq__sub {
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 500;
  letter-spacing: .04em;
  color: #4A5A55;
  white-space: nowrap;
}

/* ----------------------------------------------------------- responsive --- */

@media (max-width: 767px) {
  .edg-mq { padding: 15px 0; --edg-mq-speed: 30s; }
  .edg-mq__item { padding-inline: 24px; gap: 4px; }
  .edg-mq__main { font-size: 20px; letter-spacing: .05em; }
  .edg-mq__sub { font-size: 11px; }
}

/* Some desktops run with system animations switched off. The band is the
   point of the section, so it keeps moving - just gently - and it never
   turns into a scrollbar. */
@media (prefers-reduced-motion: reduce) {
  .edg-mq { overflow: hidden; }
  .edg-mq__track { animation-duration: calc(var(--edg-mq-speed) * 2); }
}


/* ---- edglow-rhythm ---- */
/* ==========================================================================
   Edglow - homepage vertical rhythm

   Several sections are hand-built blocks that already carry their own top and
   bottom padding, sitting inside an Elementor container that adds its own on
   top. That doubling is what made the gaps between sections so wide. Here the
   wrapper stands down and each section owns its spacing.
   ========================================================================== */

.home {
  --edg-gap:    clamp(46px, 4.6vw, 72px);
  --edg-gap-sm: clamp(38px, 4vw, 58px);
}

/* --------------------------------- wrappers around hand-built sections --- */

/* "What we do differently" - wrapper had 76px on top of the block's own 90px. */
.home .elementor-element-c68e198 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.home .edg-why {
  padding-top: var(--edg-gap) !important;
  padding-bottom: var(--edg-gap) !important;
}

/* ------------------------------------------------- Elementor sections --- */

/* Product carousel. The glow cards above it sit on the same ivory, so a
   large top padding here just reads as dead space - the heading needs far
   less room above it than below. */
.home .elementor-element-aca1796 {
  padding-top: clamp(26px, 2.2vw, 38px) !important;
  padding-bottom: var(--edg-gap) !important;
}

/* Nothing trailing under the glow cards. */
.home .elementor-element-edga100 { padding-bottom: 0 !important; }
.home .elementor-element-edga110 { margin-bottom: 0 !important; }

/* The section title carries its own breathing room below it already. */
.home .elementor-element-aca1796 .elementor-widget-wd_title { margin-top: 0 !important; }
.home .elementor-element-aca1796 .title-wrapper { margin-top: 0 !important; }
.home .elementor-element-aca1796 .title-wrapper.wd-set-mb { --wd-tt-mb: 26px; }

/* FAQ + "Tell us about your skin" */
.home .elementor-element-4c4bc36 {
  padding-top: var(--edg-gap-sm) !important;
  padding-bottom: var(--edg-gap-sm) !important;
}

/* ------------------------------------------------ hand-built sections --- */

.edg-quizpromo {
  padding-top: var(--edg-gap-sm, 44px) !important;
  padding-bottom: var(--edg-gap-sm, 44px) !important;
}

.edg-blogs {
  padding-top: var(--edg-gap, 52px) !important;
  padding-bottom: var(--edg-gap-sm, 44px) !important;
}

/* No stray gap where one section meets the next. */
.home .wd-page-content .e-con > .e-con-inner > *:last-child { margin-bottom: 0; }
.home .elementor-widget:last-child { margin-bottom: 0; }
.home .elementor-widget-shortcode { margin-bottom: 0; }
.home .elementor-shortcode > section:last-child { margin-bottom: 0; }

/* The prefooter must not add a band of its own on top of the sections. */
.wd-prefooter { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ------------------------------------------------------------ mobile --- */

@media (max-width: 767px) {
  .home {
    --edg-gap:    40px;
    --edg-gap-sm: 34px;
  }

  .home .edg-why__head { margin-bottom: 26px !important; }
}


/* ---- edglow-badges ---- */
/* ============================================================
   Edglow trust badges - full width strip above the footer
   ============================================================ */

.edg-badges {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: clamp(40px, 4.6vw, 68px) clamp(16px, 4vw, 64px);
  background-color: #FAF7F2;
  border-top: 1px solid rgba(23, 54, 48, .07);
}

.edg-badges__inner {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(18px, 1.8vw, 30px) clamp(10px, 1.4vw, 24px);
  width: 100%;
  max-width: 1560px;
  margin: 0 auto;
}

/* ---------------------------------------------------- badge --- */

.edg-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 1.1vw, 18px);
  text-align: center;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s cubic-bezier(.22, .9, .3, 1);
  transition-delay: var(--edg-badge-delay, 0ms);
}

.edg-badges.is-in .edg-badge {
  opacity: 1;
  transform: translateY(0);
}

.edg-badge__icon {
  display: block;
  width: clamp(62px, 5.6vw, 88px);
  transition: transform .35s cubic-bezier(.22, .9, .3, 1);
}

.edg-badge:hover .edg-badge__icon {
  transform: translateY(-4px) scale(1.06);
}

.edg-badge__svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  color: inherit;
}

.edg-badge__text {
  display: block;
  max-width: 15ch;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(10.5px, .78vw, 12.5px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: inherit;
}

/* ----------------------------------------------- responsive --- */

@media (max-width: 1200px) {
  .edg-badges__inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(26px, 3vw, 38px) 16px;
  }
}

@media (max-width: 600px) {
  .edg-badges {
    padding: 38px 16px 42px;
  }

  .edg-badges__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .edg-badge {
    gap: 10px;
  }

  .edg-badge__icon {
    width: 62px;
  }

  .edg-badge__text {
    max-width: 16ch;
    font-size: 10.5px;
    letter-spacing: .09em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .edg-badge {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .edg-badge:hover .edg-badge__icon {
    transform: none;
  }
}

