/* ==========================================================
   Energex – PREMIUM LAYER
   Loaded last on every page. Principles: generous whitespace,
   one type family (Sora), a calm ivory /
   charcoal foundation with brand orange used sparingly, quiet
   motion, editorial imagery.
   ========================================================== */

:root {
	--egx-ink: #141414;
	--egx-ink-2: #1E1E1C;
	--egx-text: #4A4944;
	--egx-muted: #8A877F;
	--egx-line: #E7E2D9;
	--egx-tint: #F5F2EC;
	--egx-ivory: #FBFAF7;
	--egx-orange: #F6640A;
	--egx-orange-dark: #D9530A;
	--egx-green: #4E9B54;
	--egx-green-dark: #3C7D42;
	--egx-radius: 6px;
	--egx-shadow: 0 1px 2px rgba(20,20,20,.04), 0 12px 32px rgba(20,20,20,.06);
	--egx-serif: "Sora", "Helvetica Neue", Arial, sans-serif;
	--egx-sans: "Sora", "Helvetica Neue", Arial, sans-serif;
	--egx-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Foundation ---------- */
body.egx-full { background: var(--egx-ivory); }
.egx-home { color: var(--egx-text); font-family: var(--egx-sans); font-size: 16px; line-height: 1.75; letter-spacing: .005em; }
.egx-home ::selection { background: var(--egx-ink); color: #fff; }
.egx-wrap { max-width: 1280px; padding-left: 40px; padding-right: 40px; }
.egx-section { padding: 136px 0; background: var(--egx-ivory); }
.egx-section--tint { background: var(--egx-tint); }
.egx-section--dark { background: var(--egx-ink); }

/* ---------- Typography: serif display + sans body ---------- */
.egx-home h1, .egx-home h2,
.egx-footer h2 {
	font-family: var(--egx-serif) !important;
	font-weight: 400 !important;
	letter-spacing: -0.015em !important;
	line-height: 1.04 !important;
	color: var(--egx-ink);
}
.egx-home h1 em, .egx-home h2 em { font-style: italic; color: inherit; }
.egx-home h3 { font-family: var(--egx-sans); font-weight: 500 !important; letter-spacing: -0.005em; color: var(--egx-ink); }
.egx-head h2 { font-size: clamp(38px, 4.6vw, 64px) !important; }
.egx-head { margin-bottom: 64px; }
.egx-head p { font-size: 17px; line-height: 1.75; color: var(--egx-muted); max-width: 540px; margin-top: 18px; }
.egx-eyebrow {
	font-family: var(--egx-sans); font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase;
	color: var(--egx-muted) !important; margin-bottom: 22px; display: inline-flex; align-items: center; gap: 12px;
}
.egx-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--egx-orange); }
.egx-section--dark .egx-eyebrow, .egx-hero .egx-eyebrow, .egx-phero .egx-eyebrow { color: rgba(255,255,255,.6) !important; }

/* ---------- Buttons: quiet, confident ---------- */
.egx-btn {
	height: 54px; padding: 0 30px; border-radius: 999px; font-family: var(--egx-sans);
	font-size: 14px; font-weight: 500; letter-spacing: .04em; box-shadow: none !important;
	transition: background .35s var(--egx-ease), color .35s var(--egx-ease), border-color .35s var(--egx-ease), transform .35s var(--egx-ease);
}
.egx-btn:hover { transform: none; }
.egx-btn svg { transition: transform .35s var(--egx-ease); }
.egx-btn:hover svg { transform: translateX(4px); }
.egx-btn--primary { background: var(--egx-ink); color: #fff !important; }
.egx-btn--primary:hover { background: #000; }
.egx-btn--outline { background: transparent; border: 1px solid var(--egx-ink); color: var(--egx-ink) !important; }
.egx-btn--outline:hover { background: var(--egx-ink); color: #fff !important; }
/* on dark backgrounds */
.egx-hero .egx-btn--primary, .egx-phero .egx-btn--primary, .egx-shop-hero .egx-btn--primary,
.egx-section--dark .egx-btn--primary, .egx-sidecta .egx-btn--primary { background: var(--egx-ivory); color: var(--egx-ink) !important; }
.egx-hero .egx-btn--primary:hover, .egx-shop-hero .egx-btn--primary:hover, .egx-sidecta .egx-btn--primary:hover { background: #fff; }
.egx-btn--ghost { border: 1px solid rgba(255,255,255,.4); }
.egx-btn--ghost:hover { background: rgba(255,255,255,.08); color: #fff !important; border-color: #fff; }
.egx-btn--white { background: var(--egx-ivory); color: var(--egx-ink) !important; }
.egx-btn--white:hover { background: #fff; color: var(--egx-ink) !important; }
/* WhatsApp: no more loud green blocks – a quiet button with a green mark */
.egx-btn--wa, .egx-btn--wa-solid { background: transparent !important; border: 1px solid currentColor !important; }
.egx-btn--wa { color: #fff !important; border-color: rgba(255,255,255,.4) !important; }
.egx-btn--wa:hover { background: rgba(255,255,255,.08) !important; border-color: #fff !important; }
.egx-btn--wa-solid { color: var(--egx-ink) !important; border-color: var(--egx-line) !important; }
.egx-btn--wa-solid:hover { border-color: var(--egx-ink) !important; }
.egx-sidecta .egx-btn--wa-solid { color: #fff !important; border-color: rgba(255,255,255,.3) !important; }
.egx-btn--wa svg, .egx-btn--wa-solid svg { color: #25D366; }
.egx-link { font-weight: 500; letter-spacing: .02em; color: var(--egx-ink); border-bottom: 1px solid var(--egx-line); padding-bottom: 4px; }
.egx-link:hover { color: var(--egx-ink); border-color: var(--egx-ink); }
.egx-link--light { color: #fff; border-color: rgba(255,255,255,.3); }
.egx-link--light:hover { color: #fff; border-color: #fff; }

/* ---------- Hero: editorial ---------- */
.egx-hero { min-height: min(94vh, 900px); }
.egx-hero__shade { background: linear-gradient(90deg, rgba(12,12,11,.86) 0%, rgba(12,12,11,.55) 50%, rgba(12,12,11,.25) 100%), linear-gradient(0deg, rgba(12,12,11,.7) 0%, rgba(12,12,11,0) 45%); }
.egx-hero h1 { font-size: clamp(48px, 7.2vw, 104px) !important; max-width: 980px; margin-bottom: 30px; color: #fff; }
.egx-hero__lead { font-size: clamp(17px, 1.4vw, 20px); font-weight: 300; line-height: 1.7; color: rgba(255,255,255,.78); max-width: 560px; }
.egx-hero__ctas { margin-top: 48px; gap: 16px; }
.egx-hero__proof { margin-top: 88px; padding-top: 30px; gap: 64px; border-top-color: rgba(255,255,255,.14); }
.egx-hero__proof strong { font-family: var(--egx-serif); font-weight: 400; font-size: 36px; letter-spacing: -0.01em; }
.egx-hero__proof span { font-size: 13px; letter-spacing: .04em; }
.egx-phero h1, .egx-shop-hero h1 { color: #fff !important; font-size: clamp(42px, 5.6vw, 80px) !important; }
.egx-phero p, .egx-shop-hero p { font-weight: 300; font-size: 18px; line-height: 1.7; }
.egx-phero__stats strong { font-family: var(--egx-serif); font-weight: 400; font-size: 38px; color: #fff; }
.egx-phero__shade { background: linear-gradient(90deg, rgba(12,12,11,.9) 0%, rgba(12,12,11,.6) 55%, rgba(12,12,11,.3) 100%); }
.egx-shop-hero { background: var(--egx-ink); padding-bottom: 72px; }
.egx-crumbs { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* Editorial grade on photography (not on product cut-outs or logos) */
.egx-hero__video, .egx-phero__bg, .egx-project img, .egx-pcard__media img, .egx-gallery__item img {
	filter: saturate(.86) contrast(1.04) brightness(.98);
}

/* ---------- Logo strips ---------- */
.egx-clients, .egx-brands { padding: 72px 0; background: var(--egx-ivory); border-color: var(--egx-line); }
.egx-clients__label { font-size: 11px; letter-spacing: .24em; color: var(--egx-muted); margin-bottom: 36px !important; }
.egx-logos { gap: 36px 88px; }
.egx-logos img { opacity: .45; }

/* ---------- Cards: hairlines, not shadows ---------- */
.egx-cat, .egx-card, .egx-pcard, .egx-point, .egx-facts, .egx-filters__block, .egx-formcard, .egx-ccard, .egx-faq__item, .egx-viewer {
	border-radius: var(--egx-radius) !important; box-shadow: none !important; border: 1px solid var(--egx-line); background: #fff;
}
.egx-cat:hover, .egx-card:hover, .egx-pcard:hover, .egx-ccard:hover { transform: none !important; box-shadow: none !important; border-color: var(--egx-ink) !important; }
.egx-cat__img img, .egx-card__media img, .egx-pcard__media img, .egx-project img { transition: transform 1.2s var(--egx-ease) !important; }
.egx-cat:hover .egx-cat__img img, .egx-pcard:hover .egx-pcard__media img, .egx-project:hover img { transform: scale(1.04) !important; }
.egx-cat__body h3, .egx-card__title { font-weight: 500 !important; }
.egx-cats, .egx-services, .egx-pgrid, .egx-grid { gap: 28px; }
.egx-service { background: #fff; border: 1px solid var(--egx-line); border-radius: var(--egx-radius); box-shadow: none; padding: 40px 32px; }
.egx-service h3, .egx-point h3 { font-size: 20px; }
.egx-ico { background: transparent; border: 1px solid var(--egx-line); color: var(--egx-ink); border-radius: 50%; width: 56px; height: 56px; font-size: 22px; }
.egx-project { border-radius: var(--egx-radius); }
.egx-project h3 { font-family: var(--egx-serif); font-weight: 400 !important; font-size: 28px !important; line-height: 1.15; }
.egx-tag { background: rgba(20,20,20,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-weight: 500; letter-spacing: .06em; font-size: 11px; text-transform: uppercase; padding: 6px 12px; }
.egx-pcard h2 { font-family: var(--egx-serif) !important; font-size: 28px !important; line-height: 1.15 !important; }
.egx-pcard__more, .egx-card__cat, .egx-cat__body span { color: var(--egx-muted) !important; }
.egx-pcard:hover .egx-pcard__more { color: var(--egx-ink) !important; }
.egx-card__cat { letter-spacing: .14em; font-weight: 500; }
.egx-card__flag { background: var(--egx-ink); }
.egx-steps li { box-shadow: none; border: 1px solid var(--egx-line); border-radius: var(--egx-radius); padding: 36px 30px; background: #fff; }
.egx-steps span { font-family: var(--egx-serif); font-size: 40px; font-weight: 400; color: var(--egx-orange); letter-spacing: 0; }

/* ---------- Why section ---------- */
.egx-why { gap: 96px; }
.egx-why__intro h2 { font-size: clamp(36px, 4vw, 56px) !important; }

/* ---------- Closing band: calm, dark, serif ---------- */
.egx-cta { background: var(--egx-ink); padding: 120px 0; }
.egx-cta h2 { color: #fff !important; font-size: clamp(36px, 4.4vw, 60px) !important; }
.egx-cta p { color: rgba(255,255,255,.65); font-weight: 300; font-size: 17px; margin-top: 16px; }
.egx-cta__inner { align-items: flex-end; }

/* ---------- Catalogue / forms: calmer accents ---------- */
.egx-iconbtn { border-radius: 50%; border: 1px solid var(--egx-line); }
.egx-iconbtn--quote { background: var(--egx-ink); border-color: var(--egx-ink); }
.egx-iconbtn--quote:hover { background: #000; border-color: #000; }
.egx-iconbtn--wa { color: #25D366 !important; background: #fff; }
.egx-iconbtn--wa:hover { background: #fff; border-color: var(--egx-ink); color: #25D366 !important; }
.egx-check input:checked + .egx-check__box { background: var(--egx-ink); border-color: var(--egx-ink); }
.egx-tree__row:has(input:checked) { background: var(--egx-tint); }
.egx-check input:checked ~ .egx-check__count { color: var(--egx-ink); }
.egx-chip { background: var(--egx-tint); color: var(--egx-ink) !important; }
.egx-pager a.is-current { background: var(--egx-ink); border-color: var(--egx-ink); }
.egx-searchbar { border-radius: 999px; border-width: 1px; }
.egx-home .egx-searchbar__btn { border-radius: 999px; font-weight: 500; letter-spacing: .04em; }
.egx-home .egx-searchbar__btn:hover { background: #000; }
.egx-pill input:checked + span, .egx-pfilter button.is-active { background: var(--egx-ink); border-color: var(--egx-ink); }
.egx-pfilter button { font-weight: 500; letter-spacing: .02em; border-width: 1px; }
.egx-ccard--wa { background: #fff; border-color: var(--egx-line); }
.egx-ccard--wa strong { color: var(--egx-ink); }
.egx-ccard--wa small { color: var(--egx-muted); }
.egx-ccard--wa .egx-ccard__ico { background: transparent; border: 1px solid var(--egx-line); color: #25D366; }
.egx-ccard__ico { background: transparent; border: 1px solid var(--egx-line); color: var(--egx-ink); border-radius: 50%; }
.egx-quote-note { background: var(--egx-tint); border-color: var(--egx-line); }
.egx-quote-note strong { color: var(--egx-ink); }
.egx-faq__item summary { font-weight: 500; }
.egx-faq__item[open] summary span { background: var(--egx-ink); }

/* WooCommerce flow buttons */
.egx-wc .button, .egx-wc button.button, .egx-wc a.button, .egx-wc #place_order, .egx-wc .checkout-button {
	background: var(--egx-ink) !important; border-radius: 999px !important; box-shadow: none !important; font-weight: 500 !important; letter-spacing: .04em !important;
}
.egx-wc .button:hover, .egx-wc #place_order:hover { background: #000 !important; }
.egx-steps-bar li.is-current span { background: var(--egx-ivory); border-color: var(--egx-ivory); color: var(--egx-ink); }
.egx-steps-bar li.is-done span { background: transparent; border-color: rgba(255,255,255,.6); }

/* ---------- Header (desktop): lighter, spaced navigation ---------- */
@media (min-width: 768px) {
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .nav-link-text {
		font-family: var(--egx-sans) !important; font-weight: 500 !important; font-size: 13px !important; letter-spacing: .14em !important;
	}
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li:hover > a .nav-link-text,
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a:hover { color: #fff !important; opacity: .7; }
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-item > a .nav-link-text { color: #fff !important; box-shadow: inset 0 -1px 0 var(--egx-orange); padding-bottom: 4px; }
}

/* ---------- Footer ---------- */
.egx-footer { background: #111110; }
.egx-footer__cta h2 { font-size: clamp(30px, 3.2vw, 44px) !important; font-weight: 400 !important; }
.egx-fbtn { border-radius: 999px; font-weight: 500; letter-spacing: .04em; }
.egx-fbtn--primary { background: var(--egx-ivory); color: var(--egx-ink) !important; }
.egx-fbtn--primary:hover { background: #fff; }
.egx-fbtn--wa { background: transparent; border: 1px solid rgba(255,255,255,.3); }
.egx-fbtn--wa:hover { background: rgba(255,255,255,.06); }
.egx-fbtn--wa svg { color: #25D366; }
.egx-footer__col h3 { font-family: var(--egx-sans) !important; font-size: 11px !important; letter-spacing: .24em !important; font-weight: 500 !important; color: rgba(255,255,255,.45) !important; }
.egx-footer__all { color: #fff !important; }

/* Floating buttons: smaller and calmer */
.egx-wafloat { width: 52px; height: 52px; background: var(--egx-ink); box-shadow: 0 8px 24px rgba(0,0,0,.25); color: #25D366 !important; }
.egx-wafloat svg { width: 24px; height: 24px; }
.egx-qfloat { background: var(--egx-ink); }
.egx-qcount { background: var(--egx-orange); }

/* Product page quote box */
.egx-quote { background: #fff; border-color: var(--egx-line); border-radius: var(--egx-radius); }
.egx-qbtn { border-radius: 999px; font-weight: 500; letter-spacing: .03em; }
.egx-qbtn--wa { background: var(--egx-ink); color: #fff !important; }
.egx-qbtn--wa:hover { background: #000; }
.egx-qbtn--wa svg { color: #25D366; }

/* Mobile menu tone */
@media (max-width: 767px) {
	.egx-mbar { background: rgba(251,250,247,.92); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); }
	.egx-mbar__menu { border-radius: 50%; background: var(--egx-ink); }
	.egx-mnav__panel { background: var(--egx-ivory); }
	.egx-mnav__link { font-family: var(--egx-serif); font-weight: 400; font-size: 30px; min-height: 58px; letter-spacing: -0.01em; }
	.egx-mnav__link.is-active { color: var(--egx-ink) !important; background: transparent; font-style: italic; }
	.egx-mnav__wa { background: var(--egx-ink); border-radius: 999px; }
	.egx-mnav__wa svg { color: #25D366; }
	.egx-mnav__call { border-radius: 999px; }
}

/* ---------- Quiet motion: reveal on scroll ---------- */
html.egx-anim .egx-reveal { opacity: 0; transform: translateY(18px); transition: opacity 1s var(--egx-ease), transform 1s var(--egx-ease); }
html.egx-anim .egx-reveal.is-in { opacity: 1; transform: none; }
html.egx-anim .egx-hero__inner > * { animation: egxRise 1.2s var(--egx-ease) both; }
html.egx-anim .egx-hero__inner > *:nth-child(2) { animation-delay: .12s; }
html.egx-anim .egx-hero__inner > *:nth-child(3) { animation-delay: .24s; }
html.egx-anim .egx-hero__inner > *:nth-child(4) { animation-delay: .36s; }
html.egx-anim .egx-hero__inner > *:nth-child(5) { animation-delay: .5s; }
@keyframes egxRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	html.egx-anim .egx-reveal, html.egx-anim .egx-hero__inner > * { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
}

/* ---------- Responsive spacing ---------- */
@media (max-width: 1024px) {
	.egx-section { padding: 104px 0; }
	.egx-why { gap: 56px; }
}
@media (max-width: 640px) {
	.egx-wrap { padding-left: 20px; padding-right: 20px; }
	.egx-section { padding: 80px 0; }
	.egx-head { margin-bottom: 40px; }
	.egx-hero h1 { font-size: 46px !important; }
	.egx-hero__proof { gap: 22px 36px; margin-top: 56px; }
	.egx-hero__proof strong { font-size: 28px; }
	.egx-cta { padding: 80px 0; }
	.egx-clients, .egx-brands { padding: 56px 0; }
	.egx-logos { gap: 28px 44px; }
}

/* Keep text light on dark sections (after the serif override above) */
.egx-section--dark h2, .egx-section--dark h3, .egx-project h3, .egx-sidecta h3,
.egx-hero h1, .egx-phero h1, .egx-shop-hero h1, .egx-cta h2 { color: #fff !important; }

/* Statement section */
.egx-statement { background: var(--egx-ivory); padding: 152px 0 40px; text-align: center; }
.egx-statement__text { font-family: var(--egx-serif); font-size: clamp(30px, 3.6vw, 52px); line-height: 1.22; letter-spacing: -0.01em; color: var(--egx-ink); max-width: 980px; margin: 0 auto 36px !important; }
.egx-statement__text em { font-style: italic; }
@media (max-width: 640px) { .egx-statement { padding: 96px 0 16px; } }

/* Hero bottoms: breathing room below stats */
.egx-phero__inner { padding-bottom: 96px; }
.egx-hero__inner { padding-bottom: 96px; }
@media (max-width: 640px) { .egx-phero__inner, .egx-hero__inner { padding-bottom: 64px; } }

/* ==========================================================
   Footer – premium
   ========================================================== */
.egx-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 64px; padding-top: 104px; padding-bottom: 88px; }
.egx-footer__logo { background: transparent; padding: 0; border-radius: 0; margin-bottom: 28px; }
.egx-footer__logo img { height: 40px; filter: brightness(0) invert(1); opacity: .92; }
.egx-footer__brand p { font-family: var(--egx-serif); font-size: 26px; line-height: 1.3; color: rgba(255,255,255,.88); max-width: 380px; letter-spacing: -0.005em; }
.egx-footer__col h3 { margin-bottom: 26px !important; }
.egx-footer__col li { margin-bottom: 14px; }
.egx-footer__col a { color: rgba(255,255,255,.62); font-size: 15px; text-transform: capitalize; }
.egx-footer__col a:hover { color: #fff; }
.egx-footer__contact li { color: rgba(255,255,255,.62); }
.egx-footer__contact a[href^="tel"] { font-family: var(--egx-serif); font-size: 26px; color: #fff !important; text-transform: none; }
.egx-footer__bottom .egx-footer__wrap { padding-top: 28px; padding-bottom: 28px; font-size: 12px; letter-spacing: .06em; color: rgba(255,255,255,.4); }
.egx-footer__bottom { border-color: rgba(255,255,255,.08); }
@media (max-width: 1024px) { .egx-footer__grid { grid-template-columns: 1fr 1fr; gap: 48px; padding-top: 72px; } }
@media (max-width: 560px) {
	.egx-footer__grid { grid-template-columns: 1fr; gap: 40px; padding-top: 64px; padding-bottom: 56px; }
	.egx-footer__brand p { font-size: 22px; }
}

/* ==========================================================
   Search overlay – all screen sizes (replaces the old pop-up)
   ========================================================== */
.egx-msearch:not([hidden]) {
	display: block; position: fixed; inset: 0; z-index: 100003;
	background: rgba(12,12,11,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	padding: 14vh 24px 24px; animation: egxFade .25s ease;
}
@keyframes egxFade { from { opacity: 0; } to { opacity: 1; } }
.egx-msearch__inner { max-width: 760px; margin: 0 auto; background: var(--egx-ivory); border-radius: 18px; padding: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.35); font-family: var(--egx-sans); }
.egx-msearch__form { position: relative; display: flex; align-items: center; gap: 8px; height: 62px; background: #fff; border: 1px solid var(--egx-line); border-radius: 12px; padding: 0 8px 0 52px; box-shadow: none; }
.egx-msearch__form > svg { position: absolute; left: 18px; width: 22px; height: 22px; color: var(--egx-muted); }
.egx-msearch__form input { flex: 1; min-width: 0; height: 100%; border: 0 !important; box-shadow: none !important; background: transparent !important; font-size: 18px; padding: 0 !important; outline: none; font-family: inherit; color: var(--egx-ink); }
.egx-msearch__go { height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--egx-ink); color: #fff; font-family: inherit; font-size: 14px; font-weight: 500; letter-spacing: .04em; cursor: pointer; text-transform: none; }
.egx-msearch__go:hover { background: #000; }
.egx-msearch__close { width: 46px; height: 46px; border: 0; background: transparent; color: var(--egx-ink); border-radius: 50%; padding: 0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.egx-msearch__close:hover { background: var(--egx-tint); }
.egx-msearch__close svg { width: 22px; height: 22px; }
.egx-msearch__results { display: flex; flex-direction: column; margin-top: 6px; max-height: 50vh; overflow-y: auto; }
.egx-msearch__results:empty { display: none; }
.egx-msearch__state { padding: 18px 12px; color: var(--egx-muted); font-size: 14px; margin: 0; }
.egx-msearch__state a { color: var(--egx-ink); text-decoration: underline; }
.egx-sres { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 10px; color: var(--egx-ink) !important; text-decoration: none; }
.egx-sres:hover, .egx-sres:focus { background: #fff; }
.egx-sres img, .egx-sres__ph { width: 52px; height: 52px; border-radius: 8px; object-fit: contain; background: #fff; border: 1px solid var(--egx-line); flex: none; }
.egx-sres strong { display: block; font-weight: 500; font-size: 15px; line-height: 1.35; }
.egx-sres small { display: block; color: var(--egx-muted); font-size: 12px; margin-top: 2px; }
.egx-sres__all { margin: 6px 12px 4px; padding: 10px 0; border: 0; background: none; text-align: left; font-family: inherit; font-size: 14px; font-weight: 500; color: var(--egx-ink); cursor: pointer; text-transform: none; }
.egx-msearch__hint { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 8px 6px; font-size: 13px; color: var(--egx-muted); }
.egx-msearch__hint a { padding: 6px 12px; border: 1px solid var(--egx-line); border-radius: 999px; color: var(--egx-ink) !important; text-decoration: none; text-transform: capitalize; }
.egx-msearch__hint a:hover { border-color: var(--egx-ink); }
@media (max-width: 767px) {
	.egx-msearch:not([hidden]) { padding: 10px; }
	.egx-msearch__inner { border-radius: 14px; padding: 10px; }
	.egx-msearch__go { display: none; }
	.egx-msearch__form { height: 56px; }
}
/* Hide the old Elementor/WoodMart search pop-up if it ever opens */
.elementor-popup-modal[data-elementor-id="24877"], #elementor-popup-modal-24877 { display: none !important; }

/* ==========================================================
   My account – premium
   ========================================================== */
.egx-wc .woocommerce-MyAccount-navigation { width: 240px; float: none; margin: 0; }
.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 64px; align-items: start; }
.egx-wc .woocommerce-MyAccount-navigation ul { flex-direction: column; gap: 2px; border-left: 1px solid var(--egx-line); }
.egx-wc .woocommerce-MyAccount-navigation a { height: 46px; border: 0; border-radius: 0; padding: 0 20px; margin-left: -1px; border-left: 2px solid transparent; font-weight: 500; font-size: 15px; color: var(--egx-muted); background: transparent; }
.egx-wc .woocommerce-MyAccount-navigation a:hover { color: var(--egx-ink); border-color: transparent; border-left-color: var(--egx-line); }
.egx-wc .woocommerce-MyAccount-navigation li.is-active a { background: transparent; color: var(--egx-ink); border-left-color: var(--egx-ink); }
.egx-wc .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--egx-muted); margin-top: 18px; }
/* hide WoodMart's leftover dashboard tiles */
.egx-wc .wd-my-account-links, .egx-wc .woodmart-my-account-links { display: none !important; }
.egx-dash { display: flex; flex-direction: column; gap: 48px; }
.egx-dash__hello h2 { font-size: clamp(40px, 4.6vw, 64px) !important; margin: 0 0 12px; }
.egx-dash__hello p:last-child { color: var(--egx-muted); font-size: 17px; }
.egx-dash__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.egx-dash__stats a { display: flex; flex-direction: column; gap: 6px; padding: 28px; background: #fff; border: 1px solid var(--egx-line); border-radius: var(--egx-radius); color: var(--egx-ink) !important; text-decoration: none; transition: border-color .3s; }
.egx-dash__stats a:hover { border-color: var(--egx-ink); }
.egx-dash__stats strong { font-family: var(--egx-serif); font-weight: 400; font-size: 48px; line-height: 1; }
.egx-dash__stats span { font-size: 14px; color: var(--egx-muted); }
.egx-dash__new { background: var(--egx-ink) !important; border-color: var(--egx-ink) !important; }
.egx-dash__new strong, .egx-dash__new span { color: #fff !important; }
.egx-dash__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
.egx-dash__head h3 { font-size: 20px; }
.egx-dash__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--egx-line); }
.egx-dash__list li { margin: 0; border-bottom: 1px solid var(--egx-line); }
.egx-dash__list a { display: grid; grid-template-columns: 110px 1fr auto 24px; align-items: center; gap: 16px; padding: 20px 4px; color: var(--egx-ink) !important; text-decoration: none; }
.egx-dash__list a:hover { background: #fff; }
.egx-dash__no { font-family: var(--egx-serif); font-size: 24px; }
.egx-dash__meta { color: var(--egx-muted); font-size: 14px; }
.egx-dash__go { color: var(--egx-muted); transition: transform .3s; }
.egx-dash__list a:hover .egx-dash__go { transform: translateX(4px); color: var(--egx-ink); }
.egx-status { font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; background: var(--egx-tint); color: var(--egx-ink); white-space: nowrap; }
.egx-status--quote-request { background: #FFF4EC; color: #B4480A; }
.egx-status--quote-sent { background: #EEF6EF; color: #2F6B35; }
.egx-status--completed { background: var(--egx-ink); color: #fff; }
.egx-dash__empty { padding: 40px; text-align: center; border: 1px dashed var(--egx-line); border-radius: var(--egx-radius); display: flex; flex-direction: column; align-items: center; gap: 18px; color: var(--egx-muted); }
.egx-dash__help { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 32px; background: var(--egx-tint); border-radius: var(--egx-radius); }
.egx-dash__help h3 { font-size: 20px; margin-bottom: 4px; }
.egx-dash__help p { color: var(--egx-muted); margin: 0; }
.egx-dash__helpbtns { display: flex; gap: 12px; flex-wrap: wrap; }
/* Orders table on "My quote requests" */
.egx-wc .woocommerce-orders-table { border: 0 !important; border-top: 1px solid var(--egx-line) !important; border-radius: 0 !important; background: transparent !important; }
.egx-wc .woocommerce-orders-table th { background: transparent !important; }
.egx-wc .woocommerce-orders-table td { border-top: 1px solid var(--egx-line) !important; }
@media (max-width: 900px) {
	.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: 32px; }
	.egx-wc .woocommerce-MyAccount-navigation { width: 100%; }
	.egx-wc .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; border-left: 0; border-bottom: 1px solid var(--egx-line); scrollbar-width: none; }
	.egx-wc .woocommerce-MyAccount-navigation a { border-left: 0; border-bottom: 2px solid transparent; margin: 0 0 -1px; white-space: nowrap; padding: 0 14px; }
	.egx-wc .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: var(--egx-ink); }
	.egx-wc .woocommerce-MyAccount-navigation-link--customer-logout a { margin-top: 0; }
	.egx-dash__stats { grid-template-columns: 1fr 1fr; }
	.egx-dash__new { grid-column: 1 / -1; }
	.egx-dash__list a { grid-template-columns: 1fr auto; }
	.egx-dash__meta { grid-column: 1; grid-row: 2; }
	.egx-dash__go { display: none; }
}

/* ---------- My account: explicit two-column layout (fixes WoodMart grid clash) ---------- */
.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid !important;
	grid-template-columns: 220px minmax(0, 1fr) !important;
	grid-auto-columns: auto !important;
	column-gap: 72px !important;
	row-gap: 0 !important;
	align-items: start;
	max-width: none !important;
}
.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > * {
	grid-column: 1 / -1 !important;
	width: auto !important; max-width: none !important; min-width: 0 !important;
	flex: none !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
}
.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > :has(> .woocommerce-MyAccount-navigation) { grid-column: 1 !important; grid-row: 2 !important; }
.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: 2 !important; grid-row: 2 !important; }
/* WoodMart's extra "My account" title in the sidebar – the page header already says it */
.egx-wc :has(> .woocommerce-MyAccount-navigation) > :not(.woocommerce-MyAccount-navigation) { display: none !important; }
.egx-wc .woocommerce-MyAccount-navigation { width: 100% !important; position: sticky; top: 24px; }
.egx-wc .woocommerce-MyAccount-navigation a { white-space: nowrap; }

/* Dashboard internals */
.egx-dash__hello .egx-eyebrow { white-space: nowrap; }
.egx-dash__stats a { min-height: 170px; justify-content: space-between; }
.egx-dash__head { align-items: center; }
.egx-dash__head .egx-link { white-space: nowrap; }
.egx-dash__list a { grid-template-columns: 120px minmax(0, 1fr) auto 24px; }
.egx-dash__help { align-items: center; }
.egx-dash__help > div:first-child { flex: 1 1 320px; }
.egx-dash__helpbtns .egx-btn { height: 48px; padding: 0 24px; }

@media (max-width: 900px) {
	.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr) !important; row-gap: 32px !important; }
	.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
	.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > :has(> .woocommerce-MyAccount-navigation) { grid-column: 1 !important; grid-row: auto !important; }
	.egx-flow__body .egx-wc.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: 1 !important; grid-row: auto !important; }
	.egx-wc .woocommerce-MyAccount-navigation { position: static; }
	.egx-dash__list a { grid-template-columns: 1fr auto; }
}

/* ---------- Account details: password section + forgot password ---------- */
.egx-wc .woocommerce-EditAccountForm fieldset {
	border: 1px solid #E7E2D9 !important; border-radius: 16px; background: #fff;
	padding: 28px 32px 12px !important; margin: 40px 0 0 !important;
}
.egx-wc .woocommerce-EditAccountForm fieldset legend {
	float: left; width: 100%; padding: 0 !important; margin: 0 0 4px !important;
	font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important;
	font-size: 28px !important; line-height: 1.2; color: #141414;
}
.egx-wc .woocommerce-EditAccountForm fieldset legend::after {
	content: "Leave these blank to keep your current password.";
	display: block; margin-top: 6px; font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-size: 13px; color: #7a746b;
}
.egx-wc .woocommerce-EditAccountForm fieldset legend + * { clear: both; }
.egx-wc .woocommerce-EditAccountForm label { font-weight: 500 !important; font-size: 14px !important; margin-bottom: 8px; }
.egx-wc .woocommerce-EditAccountForm .form-row { margin-bottom: 20px !important; }
.egx-forgot {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
	margin: 16px 0 32px; padding: 20px 24px; border-radius: 14px; background: #F5F2EC;
}
.egx-forgot strong { display: block; font-weight: 600; font-size: 15px; color: #141414; }
.egx-forgot span { display: block; font-size: 13px; color: #7a746b; margin-top: 2px; word-break: break-word; }
.egx-forgot .egx-btn { height: 44px; padding: 0 22px; white-space: nowrap; }

/* Lost / reset password pages */
.egx-wc .woocommerce-ResetPassword {
	max-width: 520px; margin: 0 auto; padding: 40px !important;
	border: 1px solid #E7E2D9 !important; border-radius: 20px; background: #fff;
}
.egx-wc .woocommerce-ResetPassword > p:first-child { font-size: 15px; color: #5c574f; margin-bottom: 24px; }
.egx-wc .woocommerce-ResetPassword .form-row-first,
.egx-wc .woocommerce-ResetPassword .form-row-last { width: 100% !important; float: none !important; }
.egx-wc .woocommerce-ResetPassword button[type="submit"] { width: 100%; }
.egx-wc .woocommerce-LostPassword a,
.egx-wc .lost_password a { color: #F6640A; font-weight: 500; }

@media (max-width: 600px) {
	.egx-wc .woocommerce-EditAccountForm fieldset { padding: 22px 18px 6px !important; }
	.egx-forgot .egx-btn { width: 100%; justify-content: center; }
	.egx-wc .woocommerce-ResetPassword { padding: 24px !important; }
}

/* ==========================================================
   Luxury header + Products mega-menu
   ========================================================== */
@media (min-width: 768px) {
	/* Top-level links: smaller, airier, soft white, hairline underline on hover */
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .nav-link-text {
		font-size: 12px !important; font-weight: 500 !important; letter-spacing: .2em !important;
		text-shadow: none !important;
	}
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a { position: relative; }
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .nav-link-text { position: relative; padding-bottom: 6px !important; box-shadow: none !important; }
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .nav-link-text::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor;
		transform: scaleX(0); transform-origin: center; transition: transform .35s cubic-bezier(.2,.7,.2,1);
	}
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li:hover > a .nav-link-text::after,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-item > a .nav-link-text::after,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-ancestor > a .nav-link-text::after { transform: scaleX(1); }

	/* One calm colour: white text; no green/orange states */
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .nav-link-text,
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a,
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .nav-link-text { color: rgba(255,255,255,.82) !important; opacity: 1 !important; }
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li:hover > a,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li:hover > a .nav-link-text,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-item > a .nav-link-text,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-ancestor > a .nav-link-text,
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li:hover > a .nav-link-text,
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-item > a .nav-link-text,
	body.egx-full .elementor-location-header > .elementor-hidden-mobile .wd-nav > li.current-menu-ancestor > a .nav-link-text { color: #fff !important; }
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a .wd-nav-arrow,
	.elementor-location-header > .elementor-hidden-mobile .wd-nav > li > a::after { color: inherit !important; font-size: 8px !important; opacity: .6; }

	/* Search: thin outlined circle instead of a solid white disc */
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon {
		background: transparent !important; border: 1px solid rgba(255,255,255,.35) !important;
		box-shadow: none !important; width: 44px; height: 44px; font-size: 16px !important;
		display: inline-flex !important; align-items: center; justify-content: center;
		transition: background .25s, border-color .25s;
	}
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon,
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon svg,
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon i { color: #fff !important; fill: #fff !important; }
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon svg { width: 16px; height: 16px; }
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon:hover { background: rgba(255,255,255,.1) !important; border-color: #fff !important; }

	/* ---------- Mega-menu panel ---------- */
	.elementor-location-header .wd-dropdown-menu.wd-design-full-width {
		background: #FBFAF7 !important; border-top: 0 !important;
		box-shadow: 0 30px 60px -20px rgba(20,20,20,.25) !important;
	}
	.elementor-location-header .wd-dropdown-menu.wd-design-full-width > * { opacity: 0; transform: translateY(8px); transition: opacity .4s ease .05s, transform .5s cubic-bezier(.2,.7,.2,1) .05s; }
	.elementor-location-header li:hover > .wd-dropdown-menu.wd-design-full-width > *,
	.elementor-location-header .wd-dropdown-menu.wd-design-full-width.wd-opened > *,
	.elementor-location-header .wd-dropdown-menu.wd-design-full-width:hover > * { opacity: 1; transform: none; }

	.egx-mm-row {
		display: grid !important; grid-template-columns: 250px minmax(0, 1fr) !important;
		gap: 56px !important; align-items: start !important;
		max-width: 1320px; margin: 0 auto !important; padding: 44px 40px 48px !important; width: 100% !important;
	}
	.egx-mm-row > .elementor-widget-loop-carousel { width: 100% !important; max-width: none !important; margin: 0 !important; }

	/* Intro column */
	.egx-mm-intro { font-family: var(--egx-sans, "Sora", "Helvetica Neue", Arial, sans-serif); padding-right: 40px; border-right: 1px solid #E7E2D9; min-height: 100%; }
	.egx-mm-intro__eyebrow { margin: 0 0 14px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
	.egx-mm-intro__title { margin: 0 0 14px !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-size: 36px; line-height: 1.05; color: #141414; letter-spacing: -.01em; }
	.egx-mm-intro__title em { font-style: italic; color: #F6640A; }
	.egx-mm-intro__text { margin: 0 0 24px !important; font-size: 14px; line-height: 1.65; color: #5c574f; }
	.egx-mm-intro__all {
		display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 22px; border-radius: 999px;
		background: #141414; color: #fff !important; font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
		transition: background .25s, gap .25s;
	}
	.egx-mm-intro__all:hover { background: #000; gap: 14px; }
	.egx-mm-intro__links { margin-top: 28px; padding-top: 20px; border-top: 1px solid #E7E2D9; display: grid; gap: 10px; }
	.egx-mm-intro__links a { font-size: 13px; color: #141414 !important; text-decoration: underline; text-decoration-color: #cfc8bc; text-underline-offset: 4px; transition: text-decoration-color .2s; }
	.egx-mm-intro__links a:hover { text-decoration-color: #141414; }

	/* Category grid: editorial tiles */
	.egx-mm-row .swiper-wrapper { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; gap: 28px 20px !important; }
	.egx-mm-row .e-loop-item.elementor-24600 > .e-con,
	.egx-mm-row .e-loop-item.elementor-24600:hover > .e-con {
		background: transparent !important; padding: 0 !important; gap: 14px !important;
		box-shadow: none !important; transform: none !important; border-radius: 0 !important; overflow: visible;
	}
	.egx-mm-row .e-loop-item.elementor-24600 .elementor-widget-image {
		width: 100%; background: #F1EDE6; border-radius: 14px; overflow: hidden; padding: 16% 14%;
		transition: background .35s ease;
	}
	.egx-mm-row .e-loop-item.elementor-24600:hover .elementor-widget-image { background: #EAE4DA; }
	.egx-mm-row .e-loop-item.elementor-24600 .elementor-widget-image img { aspect-ratio: 1 / 1; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
	.egx-mm-row .e-loop-item.elementor-24600:hover .elementor-widget-image img { transform: scale(1.07); }
	.egx-mm-row .e-loop-item.elementor-24600 .elementor-widget-heading { text-align: left !important; }
	.egx-mm-row .e-loop-item.elementor-24600 .elementor-heading-title,
	.egx-mm-row .e-loop-item.elementor-24600 .elementor-heading-title a {
		font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; color: #141414 !important; text-align: left !important;
	}
	.egx-mm-row .e-loop-item.elementor-24600:hover .elementor-heading-title a { color: #141414 !important; }
	.egx-mm-row .e-loop-item.elementor-24600 .elementor-heading-title a::after { color: #141414; }
}
@media (min-width: 768px) and (max-width: 1200px) {
	.egx-mm-row { grid-template-columns: 210px minmax(0, 1fr) !important; gap: 36px !important; padding: 32px 28px 36px !important; }
	.egx-mm-intro { padding-right: 28px; }
	.egx-mm-intro__title { font-size: 30px; }
	.egx-mm-row .swiper-wrapper { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important; }
}

/* ==========================================================
   Products page – quiet, editorial, lots of air
   ========================================================== */
@media (min-width: 1025px) {
	.egx-shop__layout { grid-template-columns: 250px minmax(0, 1fr) !important; gap: 64px !important; }
}
/* Sidebar: no box, just a clean list */
.egx-filters__block { background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.egx-filters__title { padding: 0 !important; margin-bottom: 4px; }
.egx-filters__title h3 { font-family: var(--egx-sans, "Sora", "Helvetica Neue", Arial, sans-serif) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: .24em !important; text-transform: uppercase; color: #8a8378 !important; }
.egx-filters__hint { display: none; }
.egx-clear { font-size: 12px; color: #141414 !important; text-decoration: underline; text-underline-offset: 3px; }
.egx-tree--d0 { max-height: none !important; overflow: visible !important; border-top: 1px solid #E7E2D9; margin-top: 14px !important; }
.egx-tree--d0 > .egx-tree__item { border-bottom: 1px solid #EFEBE4; }
.egx-tree__row, .egx-tree__row:hover, .egx-tree__row:has(input:checked) { background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
.egx-check { padding: 12px 0 !important; font-size: 14px !important; gap: 12px !important; color: #3a3631; transition: color .2s; }
.egx-tree__row:hover .egx-check { color: #141414; }
.egx-check__box { width: 15px !important; height: 15px !important; border-radius: 3px !important; border-width: 1px !important; border-color: #BDB5A8 !important; }
.egx-check input:checked + .egx-check__box { background: #141414 !important; border-color: #141414 !important; }
.egx-check input:checked ~ .egx-check__label { color: #141414; font-weight: 500; }
.egx-check__count, .egx-check input:checked ~ .egx-check__count { font-size: 11px !important; color: #A39B8E !important; font-weight: 400 !important; font-variant-numeric: tabular-nums; }
.egx-tree__toggle { width: 22px !important; height: 22px !important; color: #8a8378; }
.egx-tree__toggle:hover { background: transparent !important; color: #141414; }
.egx-tree .egx-tree { border-left: 0 !important; margin: 0 0 10px 27px !important; padding-left: 0 !important; }
.egx-tree .egx-tree .egx-check { padding: 7px 0 !important; font-size: 13px !important; color: #6b655c; }
.egx-help { background: #F5F2EC !important; border: 0 !important; border-radius: 16px !important; padding: 24px !important; margin-top: 16px; }

/* Search + toolbar: lighter */
.egx-searchbar { height: 56px !important; border: 1px solid #E7E2D9 !important; border-radius: 999px !important; box-shadow: none !important; padding: 5px 5px 5px 52px !important; background: #fff !important; margin-bottom: 36px !important; }
.egx-searchbar:focus-within { border-color: #141414 !important; box-shadow: none !important; }
.egx-home .egx-searchbar__btn { border-radius: 999px !important; padding: 0 28px !important; font-weight: 500 !important; letter-spacing: .08em !important; font-size: 12px !important; text-transform: uppercase !important; }
.egx-home .egx-searchbar__btn:hover { background: #000 !important; }
.egx-toolbar { margin-bottom: 36px !important; padding-bottom: 20px; border-bottom: 1px solid #E7E2D9; }
.egx-count { font-size: 13px !important; color: #8a8378 !important; letter-spacing: .02em; }
.egx-count strong { font-weight: 500; }
.egx-sort label { font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; color: #8a8378 !important; }
.egx-sort select { height: 40px !important; min-width: 170px !important; border: 0 !important; border-bottom: 1px solid #141414 !important; border-radius: 0 !important; background-color: transparent !important; padding-left: 0 !important; font-size: 14px !important; }
.egx-chip { background: #141414 !important; color: #fff !important; font-weight: 400 !important; height: 32px !important; }
.egx-chip--clear { background: transparent !important; color: #141414 !important; }

/* Product tiles */
.egx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 56px 32px !important; }
.egx-card, .egx-card:hover { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; transform: none !important; }
.egx-card__media { background: #F4F1EC !important; border-radius: 18px; padding: 14% !important; overflow: hidden; transition: background .4s ease; }
.egx-card:hover .egx-card__media { background: #EDE8E0 !important; }
.egx-card__media img { mix-blend-mode: multiply; }
.egx-card:hover .egx-card__media img { transform: scale(1.06); }
.egx-card__body { border-top: 0 !important; padding: 20px 2px 0 !important; }
.egx-card__cat { font-size: 10.5px !important; letter-spacing: .2em !important; color: #8a8378 !important; font-weight: 500 !important; }
.egx-card__title { font-size: 15px !important; font-weight: 400 !important; line-height: 1.45 !important; margin: 8px 0 4px !important; letter-spacing: 0 !important; }
.egx-card__title a { color: #141414 !important; }
.egx-card__title a:hover { color: #141414 !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.egx-card__sku { font-size: 12px !important; color: #A39B8E !important; }
.egx-card__foot { padding-top: 16px !important; align-items: center !important; }
.egx-card__price { min-height: 0 !important; }
.egx-card__poa { font-size: 13px !important; color: #6b655c !important; font-weight: 400 !important; white-space: nowrap; }
.egx-card__actions { gap: 6px !important; }
.egx-iconbtn { width: 38px !important; height: 38px !important; border-radius: 50% !important; border: 1px solid #E0DAD0 !important; background: transparent !important; color: #141414 !important; }
.egx-iconbtn svg { width: 16px !important; height: 16px !important; }
.egx-iconbtn:hover { background: #141414 !important; border-color: #141414 !important; color: #fff !important; }
.egx-iconbtn--quote { background: #141414 !important; border-color: #141414 !important; color: #fff !important; }
.egx-iconbtn--quote:hover { background: #F6640A !important; border-color: #F6640A !important; }
.egx-iconbtn--quote.is-added { background: #4E9B54 !important; border-color: #4E9B54 !important; }
.egx-iconbtn--wa { color: #1EBE5A !important; }
.egx-iconbtn--wa:hover { background: #25D366 !important; border-color: #25D366 !important; color: #fff !important; }
.egx-pager { margin-top: 72px !important; }
.egx-pager a { border: 0 !important; border-radius: 50% !important; font-weight: 400 !important; font-size: 14px !important; }
.egx-pager a:hover { background: #F4F1EC; }
.egx-pager a.is-current { background: #141414 !important; color: #fff !important; }
@media (max-width: 1200px) { .egx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 1024px) {
	.egx-filters__block { padding: 0 !important; }
}
@media (max-width: 640px) {
	.egx-grid { gap: 36px 14px !important; }
	.egx-card__media { border-radius: 14px; padding: 12% !important; }
	.egx-card__body { padding-top: 12px !important; }
	.egx-card__title { font-size: 13.5px !important; }
	.egx-card__foot { flex-direction: column; align-items: flex-start !important; gap: 10px; }
	.egx-card__actions { width: 100%; }
	.egx-card__actions .egx-iconbtn { flex: 1; border-radius: 999px !important; height: 36px !important; }
	.egx-toolbar { margin-bottom: 24px !important; }
}

/* ==========================================================
   Quote basket
   ========================================================== */
.egx-basket { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.egx-basket__head { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid #141414; }
.egx-basket__eyebrow { margin: 0 !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-wc .egx-basket__head h2 { margin: 0; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 30px; }
.egx-wc table.egx-basket__table { border: 0 !important; border-radius: 0 !important; background: transparent !important; margin: 0 !important; }
.egx-wc table.egx-basket__table td { border-top: 0 !important; border-bottom: 1px solid #E7E2D9 !important; padding: 24px 0 !important; background: transparent !important; vertical-align: middle; }
.egx-wc table.egx-basket__table td.egx-basket__img { width: 112px; padding-right: 24px !important; }
.egx-wc table.egx-basket__table td.egx-basket__img img { width: 96px !important; height: 96px !important; object-fit: contain; background: #F4F1EC; border-radius: 14px; padding: 12px; mix-blend-mode: multiply; }
.egx-basket__cat { display: block; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: #8a8378; margin-bottom: 6px; }
.egx-wc .egx-basket__title, .egx-wc table.shop_table td.product-name a.egx-basket__title { display: block; color: #141414 !important; font-size: 15px; font-weight: 400 !important; line-height: 1.45; }
.egx-basket__sku { display: block; font-size: 12px; color: #A39B8E; margin-top: 4px; }
.egx-wc table.egx-basket__table td.egx-basket__qty { width: 150px; padding-left: 16px !important; }
.egx-wc table.egx-basket__table td.egx-basket__remove { width: 110px; text-align: right; }
/* Quantity: one pill with – 1 + */
.egx-basket .quantity { display: inline-flex !important; align-items: center; height: 42px; border: 1px solid #E0DAD0; border-radius: 999px; overflow: hidden; background: #fff; }
.egx-basket .quantity input[type="button"], .egx-basket .quantity .minus, .egx-basket .quantity .plus {
	width: 38px !important; height: 40px !important; min-height: 0 !important; border: 0 !important; background: transparent !important; color: #141414 !important; font-size: 16px !important; padding: 0 !important; box-shadow: none !important; cursor: pointer;
}
.egx-basket .quantity .minus:hover, .egx-basket .quantity .plus:hover { background: #F4F1EC !important; }
.egx-wc .egx-basket .quantity input.qty { width: 40px !important; height: 40px !important; min-height: 0 !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; text-align: center; font-size: 14px; background: transparent !important; -moz-appearance: textfield; }
.egx-basket .quantity input.qty::-webkit-outer-spin-button, .egx-basket .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* Remove */
.egx-wc .egx-remove { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #8a8378 !important; background: none !important; width: auto !important; height: auto !important; }
.egx-wc .egx-remove::before, .egx-wc .egx-remove::after { content: none !important; display: none !important; }
.egx-remove svg { width: 14px; height: 14px; }
.egx-wc .egx-remove:hover { color: #B3261E !important; }
/* Update button: hidden – quantities save automatically */
.egx-basket__actions-row, .egx-basket__actions-row td { border: 0 !important; padding: 0 !important; }
.egx-basket__update { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; padding: 0; }
.egx-basket__more { display: inline-flex; gap: 10px; margin-top: 28px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #141414 !important; }
.egx-basket__more:hover { gap: 14px; }
/* Summary */
.egx-basket__side { width: 100% !important; float: none !important; position: sticky; top: 24px; }
.egx-wc .egx-basket__side .cart_totals { width: 100% !important; float: none !important; background: #F4F1EC !important; border: 0 !important; border-radius: 20px !important; padding: 32px !important; box-shadow: none !important; }
.egx-wc .egx-basket__side .cart_totals table, .egx-wc .egx-basket__side .cart_totals .shop_table { display: none !important; }
.egx-wc .egx-basket__side .cart-totals-inner { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.egx-wc .egx-basket__side .cart_totals h2 { font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 30px !important; margin: 0 0 8px !important; border: 0 !important; padding: 0 !important; text-transform: none !important; }
.egx-wc .egx-basket__side .cart_totals h2::after { font-family: var(--egx-sans, "Sora", "Helvetica Neue", Arial, sans-serif); font-size: 14px !important; line-height: 1.6; color: #6b655c !important; margin-top: 10px !important; }
.egx-wc .egx-basket__side .wc-proceed-to-checkout { padding: 20px 0 0 !important; }
.egx-wc .egx-basket__side .checkout-button { width: 100% !important; min-height: 54px !important; border-radius: 999px !important; background: #141414 !important; font-size: 13px !important; letter-spacing: .12em !important; text-transform: uppercase !important; font-weight: 500 !important; box-shadow: none !important; }
.egx-wc .egx-basket__side .checkout-button:hover { background: #000 !important; }
@media (max-width: 960px) {
	.egx-basket { grid-template-columns: 1fr; gap: 32px; }
	.egx-basket__side { position: static; }
}
@media (max-width: 640px) {
	.egx-wc table.egx-basket__table, .egx-wc table.egx-basket__table tbody { display: block; }
	.egx-wc table.egx-basket__table tr.cart_item { display: grid !important; grid-template-columns: 84px 1fr; grid-template-areas: "img name" "img qty"; column-gap: 16px; row-gap: 12px; padding: 20px 0; border-bottom: 1px solid #E7E2D9; position: relative; }
	.egx-wc table.egx-basket__table tr.cart_item td { display: block !important; border: 0 !important; padding: 0 !important; width: auto !important; text-align: left !important; }
	.egx-wc table.egx-basket__table tr.cart_item td::before { content: none !important; display: none !important; }
	.egx-wc table.egx-basket__table td.egx-basket__img { grid-area: img; }
	.egx-wc table.egx-basket__table td.egx-basket__img img { width: 84px !important; height: 84px !important; }
	.egx-wc table.egx-basket__table td.egx-basket__name { grid-area: name; padding-right: 36px !important; }
	.egx-wc table.egx-basket__table td.egx-basket__qty { grid-area: qty; }
	.egx-wc table.egx-basket__table td.egx-basket__remove { position: absolute; top: 20px; right: 0; }
	.egx-remove span { display: none; }
	.egx-wc .egx-basket__side .cart_totals { padding: 24px !important; }
}

/* ==========================================================
   Quote request (checkout)
   ========================================================== */
.egx-wc form.checkout.egx-checkout { display: grid !important; grid-template-columns: minmax(0, 1fr) 400px !important; gap: 64px !important; align-items: start; }
.egx-checkout__main, .egx-checkout__side { min-width: 0; }
.egx-checkout__sticky { position: sticky; top: 24px; background: #F4F1EC; border-radius: 20px; padding: 32px; }
.egx-checkout__eyebrow { margin: 0 0 6px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-wc .egx-checkout #order_review_heading { margin: 0 0 20px !important; padding: 0 !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 32px !important; text-transform: none !important; letter-spacing: 0 !important; text-align: left !important; }
.egx-wc .egx-checkout #order_review { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.egx-wc .egx-checkout #order_review::before, .egx-wc .egx-checkout #order_review::after,
.egx-wc .egx-checkout__side *::before { background-image: none; }
.egx-wc table.egx-review { border: 0 !important; border-radius: 0 !important; background: transparent !important; margin: 0 0 20px !important; width: 100%; }
.egx-wc table.egx-review td, .egx-wc table.egx-review th { background: transparent !important; border: 0 !important; border-top: 1px solid #E2DCD2 !important; padding: 14px 0 !important; vertical-align: middle; text-transform: none !important; letter-spacing: 0 !important; }
.egx-wc table.egx-review tbody tr:first-child td { border-top: 0 !important; }
.egx-wc table.egx-review .egx-review__img { width: 64px; padding-right: 14px !important; }
.egx-wc table.egx-review .egx-review__img img { width: 56px !important; height: 56px !important; object-fit: contain; background: #fff; border-radius: 10px; padding: 6px; }
.egx-review__title { display: block; font-size: 14px; line-height: 1.45; color: #141414; }
.egx-review__sku { display: block; font-size: 12px; color: #A39B8E; margin-top: 2px; }
.egx-wc table.egx-review .egx-review__qty { width: 44px; text-align: right; font-size: 13px; color: #6b655c; white-space: nowrap; }
.egx-wc .egx-checkout #order_review table.egx-review tfoot { display: table-footer-group !important; }
.egx-wc table.egx-review tfoot th, .egx-wc table.egx-review tfoot td { border-top: 1px solid #141414 !important; font-size: 12px !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #141414 !important; font-weight: 500 !important; }
.egx-wc table.egx-review tfoot td { text-align: right; }
/* Payment block: only the button is needed */
.egx-wc .egx-checkout #payment { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
.egx-wc .egx-checkout #payment ul.payment_methods { display: none !important; }
.egx-wc .egx-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; }
.egx-wc .egx-checkout #payment .woocommerce-privacy-policy-text p { font-size: 12px; line-height: 1.6; color: #8a8378; margin: 0 0 16px; }
.egx-wc .egx-checkout #place_order { width: 100% !important; min-height: 56px !important; border-radius: 999px !important; background: #141414 !important; font-size: 13px !important; letter-spacing: .12em !important; text-transform: uppercase !important; font-weight: 500 !important; box-shadow: none !important; }
.egx-wc .egx-checkout #place_order:hover { background: #000 !important; }
.egx-checkout__notes { list-style: none; margin: 22px 0 0 !important; padding: 18px 0 0 !important; border-top: 1px solid #E2DCD2; display: grid; gap: 8px; }
.egx-checkout__notes li { position: relative; margin: 0; padding-left: 18px; font-size: 12.5px; line-height: 1.55; color: #6b655c; }
.egx-checkout__notes li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: #F6640A; }
/* Left column */
.egx-wc .egx-checkout .col2-set .col-1, .egx-wc .egx-checkout .col2-set .col-2 { width: 100% !important; float: none !important; max-width: none !important; padding: 0 !important; }
.egx-wc .egx-checkout h3 { font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 30px !important; margin: 0 0 20px !important; text-transform: none !important; letter-spacing: 0 !important; }
.egx-wc .egx-checkout .woocommerce-additional-fields { margin-top: 40px; padding-top: 32px; border-top: 1px solid #E7E2D9; }
.egx-wc .egx-checkout .woocommerce-additional-fields h3 { margin-bottom: 6px !important; }
.egx-wc .egx-checkout #order_comments_field label { font-weight: 400 !important; font-size: 14px !important; color: #6b655c !important; margin-bottom: 12px; }
.egx-wc .egx-checkout #order_comments_field label .optional { display: none; }
.egx-wc .egx-checkout textarea#order_comments { min-height: 170px !important; height: 170px; padding: 16px 18px !important; line-height: 1.6; resize: vertical; }
@media (max-width: 1024px) {
	.egx-wc form.checkout.egx-checkout { grid-template-columns: 1fr !important; gap: 40px !important; }
	.egx-checkout__sticky { position: static; }
}
@media (max-width: 640px) {
	.egx-checkout__sticky { padding: 24px 20px; border-radius: 16px; }
}

/* ---------- Quote request v2: one calm column + contained summary ---------- */
.egx-wc form.checkout.egx-checkout { grid-template-columns: minmax(0, 1fr) 380px !important; gap: 80px !important; max-width: 1180px; margin: 0 auto; }
.egx-checkout__main { max-width: 640px; }
.egx-wc .egx-checkout .col2-set, .egx-wc .egx-checkout #customer_details { display: block !important; width: 100% !important; margin: 0 !important; }
.egx-wc .egx-checkout .col2-set::before, .egx-wc .egx-checkout .col2-set::after { content: none !important; }
.egx-wc .egx-checkout .col2-set > .col-1, .egx-wc .egx-checkout .col2-set > .col-2 { display: block !important; width: 100% !important; max-width: 100% !important; flex: none !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 0; }
.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: 1 / -1; width: 100% !important; float: none !important; margin: 0 0 24px !important; padding: 0 !important; }
.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first { grid-column: 1; }
.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: 2; }
.egx-wc .egx-checkout .form-row label { display: block; font-size: 13px !important; font-weight: 500 !important; color: #3a3631 !important; margin: 0 0 8px !important; line-height: 1.4; }
.egx-wc .egx-checkout .form-row label .required { color: #F6640A; text-decoration: none; }
.egx-wc .egx-checkout .form-row label .optional { color: #A39B8E; font-weight: 400; }
.egx-wc .egx-checkout input.input-text, .egx-wc .egx-checkout .select2-selection, .egx-wc .egx-checkout select { min-height: 52px !important; border: 1px solid #E0DAD0 !important; border-radius: 12px !important; padding: 0 16px !important; font-size: 15px; background: #fff; }
.egx-wc .egx-checkout .select2-selection__rendered { line-height: 50px !important; padding: 0 !important; }
.egx-wc .egx-checkout .select2-selection__arrow { height: 50px !important; right: 10px !important; }
.egx-wc .egx-checkout input.input-text:focus, .egx-wc .egx-checkout textarea:focus { border-color: #141414 !important; }
.egx-wc .egx-checkout h3 { margin-bottom: 28px !important; }
.egx-wc .egx-checkout .woocommerce-additional-fields { margin-top: 24px !important; padding-top: 40px !important; }
.egx-wc .egx-checkout .woocommerce-additional-fields__field-wrapper .form-row { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.egx-wc .egx-checkout textarea#order_comments { border: 1px solid #E0DAD0 !important; border-radius: 12px !important; }
.egx-wc .egx-checkout .woocommerce-shipping-fields:empty { display: none; }
.egx-wc .egx-quote-note { max-width: 1180px; margin: 0 auto 48px !important; padding: 16px 22px !important; font-size: 14px !important; border-radius: 14px !important; }

/* Summary: stay inside the panel */
.egx-checkout__sticky { overflow: hidden; padding: 36px 32px !important; }
.egx-wc table.egx-review { table-layout: fixed !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; display: table !important; }
.egx-wc table.egx-review thead { display: none !important; }
.egx-wc table.egx-review tbody { display: table-row-group !important; }
.egx-wc table.egx-review tr { display: table-row !important; }
.egx-wc table.egx-review td, .egx-wc table.egx-review th { display: table-cell !important; float: none !important; width: auto !important; overflow-wrap: anywhere; }
.egx-wc table.egx-review td::before, .egx-wc table.egx-review th::before { content: none !important; display: none !important; }
.egx-wc table.egx-review td.egx-review__img { width: 70px !important; }
.egx-wc table.egx-review td.egx-review__qty { width: 48px !important; }
.egx-wc table.egx-review .egx-review__img img { opacity: 1 !important; display: block; }
.egx-wc table.egx-review tbody td:nth-child(n+4), .egx-wc table.egx-review tbody th { display: none !important; }
.egx-wc table.egx-review tfoot th { width: auto !important; }
.egx-wc table.egx-review tfoot td { width: 60px !important; }
.egx-review__title { font-size: 13.5px !important; }
.egx-wc .egx-checkout #payment .woocommerce-privacy-policy-text p { font-size: 11.5px !important; }

@media (max-width: 1024px) {
	.egx-wc form.checkout.egx-checkout { grid-template-columns: 1fr !important; gap: 48px !important; }
	.egx-checkout__main { max-width: none; }
}
@media (max-width: 560px) {
	.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
	.egx-wc .egx-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: 1; }
}

/* ==========================================================
   Legal pages (privacy policy)
   ========================================================== */
.egx-legal { background: #FBFAF7; }
.egx-legal__hero { background: #141414; color: #fff; padding: 150px 0 72px; }
.egx-legal__hero .egx-crumbs, .egx-legal__hero .egx-crumbs a { color: rgba(255,255,255,.55) !important; }
.egx-legal__eyebrow { margin: 32px 0 14px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.egx-legal__hero h1 { margin: 0 0 20px !important; color: #fff !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: clamp(44px, 6vw, 76px) !important; line-height: 1 !important; letter-spacing: -.01em; }
.egx-legal__hero h1 em { font-style: italic; color: #F6640A; }
.egx-legal__lead { max-width: 620px; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.75); margin: 0 0 18px !important; }
.egx-legal__date { font-size: 12px; letter-spacing: .08em; color: rgba(255,255,255,.45); margin: 0 !important; }
.egx-legal__body { padding: 88px 0 120px; }
.egx-legal__grid { display: grid; grid-template-columns: 220px minmax(0, 720px); gap: 88px; }
.egx-legal__toc { position: sticky; top: 32px; align-self: start; }
.egx-legal__toc p { margin: 0 0 16px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-legal__toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid #E7E2D9; }
.egx-legal__toc li { margin: 0; }
.egx-legal__toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 1px solid transparent; font-size: 13px; color: #6b655c !important; transition: color .2s, border-color .2s; }
.egx-legal__toc a:hover { color: #141414 !important; border-left-color: #141414; }
.egx-legal__content { font-size: 16px; line-height: 1.8; color: #3a3631; }
.egx-legal__content h2 { scroll-margin-top: 32px; margin: 56px 0 16px !important; padding-top: 40px; border-top: 1px solid #E7E2D9; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 32px !important; line-height: 1.15; color: #141414 !important; text-transform: none !important; letter-spacing: 0 !important; }
.egx-legal__content h2:first-child { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.egx-legal__content p { margin: 0 0 16px !important; }
.egx-legal__content ul { margin: 0 0 16px !important; padding: 0 !important; list-style: none; }
.egx-legal__content li { position: relative; margin: 0 0 10px; padding-left: 22px; }
.egx-legal__content li::before { content: ""; position: absolute; left: 0; top: 13px; width: 8px; height: 1px; background: #141414; }
.egx-legal__content strong { color: #141414; font-weight: 500; }
.egx-legal__content a { color: #141414 !important; text-decoration: underline; text-decoration-color: #cfc8bc; text-underline-offset: 4px; }
.egx-legal__content a:hover { text-decoration-color: #141414; }
.egx-legal__contact { margin-top: 56px; padding: 36px; border-radius: 20px; background: #F4F1EC; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.egx-legal__contact p { margin: 0 !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-size: 26px; color: #141414; }
.egx-legal__contact .egx-btn { text-decoration: none !important; color: #fff !important; }
@media (max-width: 900px) {
	.egx-legal__hero { padding: 110px 0 56px; }
	.egx-legal__grid { grid-template-columns: 1fr; gap: 40px; }
	.egx-legal__toc { position: static; }
	.egx-legal__body { padding: 56px 0 80px; }
	.egx-legal__content h2 { font-size: 28px !important; }
}

/* ==========================================================
   Storytelling over selling
   ========================================================== */
/* WhatsApp float: hidden until the visitor scrolls, then fades in quietly */
.egx-wafloat { opacity: 0; visibility: hidden; transform: translateY(12px) !important; transition: opacity .5s ease, transform .5s ease, visibility .5s; }
body.egx-scrolled .egx-wafloat { opacity: 1; visibility: visible; transform: none !important; }
body.egx-scrolled .egx-wafloat:hover { transform: translateY(-2px) !important; }

/* Product page: "Where it belongs" line before the description */
.egx-pstory { margin: 0 0 22px; padding: 0 0 22px; border-bottom: 1px solid #E7E2D9; }
.egx-pstory__eyebrow { margin: 0 0 8px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-pstory__text { margin: 0 !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-size: 24px; line-height: 1.3; color: #141414; }

/* Product page quote box: calm, one dark primary + quiet secondary */
.egx-quote { background: #F4F1EC !important; border: 0 !important; border-radius: 18px !important; padding: 26px !important; }
.egx-qbtn { border-radius: 999px !important; height: 50px !important; font-weight: 500 !important; font-size: 14px !important; }
.egx-qbtn--wa { background: #141414 !important; color: #fff !important; }
.egx-qbtn--wa svg { color: #25D366; }
.egx-qbtn--wa:hover { background: #000 !important; }
.egx-qbtn--mail { background: transparent !important; border: 1px solid #CFC8BC !important; }
.egx-qbtn--mail:hover { border-color: #141414 !important; }
.egx-quote__perks li { font-size: 13px !important; color: #6b655c !important; }
.egx-quote__perks li::before { background: none !important; width: 8px !important; height: 1px !important; top: 10px !important; border-radius: 0 !important; background-color: #141414 !important; }
.egx-quote__perks li { padding-left: 20px !important; }
@media (max-width: 640px) { .egx-pstory__text { font-size: 21px; } }

/* Search overlay: one panel, no box-in-a-box */
.egx-msearch__inner { background: #fff !important; padding: 8px 28px 22px !important; border-radius: 20px !important; }
.egx-msearch__form { background: transparent !important; border: 0 !important; border-bottom: 1px solid #E7E2D9 !important; border-radius: 0 !important; height: 76px !important; padding: 0 0 0 40px !important; }
.egx-msearch__form > svg { left: 0 !important; color: #141414 !important; }
.egx-msearch__form input { font-size: 20px !important; }
.egx-msearch__form input::placeholder { color: #A39B8E; }
.egx-msearch__go { display: none !important; }
.egx-msearch__hint { padding: 18px 0 0 !important; gap: 6px 18px !important; font-size: 12px !important; }
.egx-msearch__hint span { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; margin-right: 4px; }
.egx-msearch__hint a { padding: 0 !important; border: 0 !important; border-radius: 0 !important; font-size: 14px; color: #3a3631 !important; text-transform: none !important; }
.egx-msearch__hint a:hover { color: #141414 !important; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
	.egx-msearch__inner { padding: 4px 18px 18px !important; }
	.egx-msearch__form { height: 64px !important; }
	.egx-msearch__form input { font-size: 17px !important; }
}

/* Summary rows: image | name | qty – hide anything else the theme injects */
.egx-wc table.egx-review tbody tr:not(.egx-review__row) { display: none !important; }
.egx-wc table.egx-review tr.egx-review__row td { display: table-cell !important; }
.egx-wc table.egx-review tr.egx-review__row td.egx-review__name { width: auto !important; padding-right: 12px !important; }
.egx-wc table.egx-review tr.egx-review__row td.egx-review__qty { width: 48px !important; text-align: right !important; font-weight: 400 !important; }
.egx-wc table.egx-review tfoot th { text-align: left !important; }

/* Sticky elements (privacy contents, checkout summary, account menu):
   theme wrappers used overflow:hidden, which disables position:sticky. clip keeps the same look. */
html:has(body.egx-full), body.egx-full,
body.egx-full .website-wrapper, body.egx-full .main-page-wrapper, body.egx-full .wd-page-content,
body.egx-full .site-content, body.egx-full .content-layout-wrapper, body.egx-full .wd-content-layout,
body.egx-full .egx-home, body.egx-full .egx-legal, body.egx-full .egx-legal__body, body.egx-full .egx-flow, body.egx-full .egx-flow__body {
	overflow-x: clip !important; overflow-y: visible !important;
}
.egx-legal__toc { position: sticky !important; top: 40px !important; align-self: start; max-height: calc(100vh - 80px); overflow-y: auto; scrollbar-width: none; }
.egx-legal__toc a.is-active { color: #141414 !important; border-left-color: #141414; }
@media (max-width: 900px) { .egx-legal__toc { position: static !important; max-height: none; } }

/* Text fields: no orange focus box – the field's own line/border darkens instead */
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: none !important; }
.egx-msearch__form input:focus, .egx-msearch__form input:focus-visible { outline: none !important; box-shadow: none !important; }
.egx-msearch__form { transition: border-color .25s; }
.egx-msearch__form:focus-within { border-bottom-color: #141414 !important; }
.egx-searchbar input:focus-visible { outline: none !important; }
/* Buttons & links keep a subtle focus ring for keyboard users */
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 1px solid #141414 !important; outline-offset: 3px; }

/* ==========================================================
   Home hero: film first, words second
   ========================================================== */
.egx-hero__shade { transition: opacity 1.6s cubic-bezier(.2,.7,.2,1); }
.egx-hero.is-film .egx-hero__shade { opacity: .12; }
.egx-hero.was-film .egx-hero__inner > * { animation: none !important; transition: opacity 1.2s cubic-bezier(.2,.7,.2,1), transform 1.2s cubic-bezier(.2,.7,.2,1); }
.egx-hero.was-film .egx-hero__inner > *:nth-child(2) { transition-delay: .12s; }
.egx-hero.was-film .egx-hero__inner > *:nth-child(3) { transition-delay: .24s; }
.egx-hero.was-film .egx-hero__inner > *:nth-child(4) { transition-delay: .36s; }
.egx-hero.was-film .egx-hero__inner > *:nth-child(5) { transition-delay: .48s; }
.egx-hero.is-film .egx-hero__inner > * { opacity: 0 !important; transform: translateY(18px) !important; transition-delay: 0s !important; transition-duration: .6s !important; }
.egx-hero.is-film .egx-hero__inner { pointer-events: none; }
.egx-hero.is-film { cursor: pointer; }

/* Quiet caption + film button (desktop, only when the video is playing) */
.egx-hero__caption, .egx-hero__film { display: none; }
.egx-hero.has-film .egx-hero__film {
	display: inline-flex; align-items: center; gap: 12px; position: absolute; right: 48px; bottom: 40px; z-index: 3;
	background: transparent; border: 0; padding: 0; color: #fff; cursor: pointer; font-family: var(--egx-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
	font-size: 11px; letter-spacing: .24em; text-transform: uppercase;
}
.egx-hero__filmicon { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.45); display: inline-flex; align-items: center; justify-content: center; transition: background .3s, border-color .3s; }
.egx-hero__filmicon svg { width: 14px; height: 14px; margin-left: 2px; }
.egx-hero__film:hover .egx-hero__filmicon { background: rgba(255,255,255,.12); border-color: #fff; }
.egx-hero__filmtxt--back { display: none; }
.egx-hero.is-film .egx-hero__filmtxt--watch { display: none; }
.egx-hero.is-film .egx-hero__filmtxt--back { display: inline; }
.egx-hero.has-film .egx-hero__caption {
	display: block; position: absolute; left: 48px; bottom: 50px; z-index: 2; margin: 0;
	font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: rgba(255,255,255,.8);
	opacity: 0; transform: translateY(8px); transition: opacity 1s ease, transform 1s ease;
}
.egx-hero.is-film .egx-hero__caption { opacity: 1; transform: none; transition-delay: .6s; }
@media (max-width: 767px) { .egx-hero__film, .egx-hero__caption { display: none !important; } }

/* Hero = exactly one screen; text sits compactly at the bottom-left so the film fills the view */
@media (min-width: 768px) {
	.egx-hero { height: 100vh; height: 100svh; min-height: 620px !important; max-height: 1100px; display: flex; flex-direction: column; justify-content: flex-end; }
	.egx-hero__inner { padding-top: 150px !important; padding-bottom: 48px !important; width: 100%; }
	.egx-hero .egx-eyebrow { margin-bottom: 14px !important; }
	.egx-hero h1 { font-size: clamp(44px, 5.4vw, 84px) !important; margin: 0 0 18px !important; line-height: 1 !important; }
	.egx-hero__lead { font-size: clamp(15px, 1.15vw, 18px) !important; line-height: 1.6 !important; max-width: 520px !important; margin: 0 !important; }
	.egx-hero__ctas { margin-top: 28px !important; }
	.egx-hero__ctas .egx-btn { height: 52px; padding: 0 28px; }
	.egx-hero__proof { margin-top: 40px !important; padding-top: 22px !important; gap: 48px !important; max-width: 760px; }
	.egx-hero__proof strong { font-size: 26px !important; }
	.egx-hero__proof span { font-size: 12px !important; }
	/* Lighter overlay on the right half so the film shows through */
	.egx-hero__shade { background: linear-gradient(90deg, rgba(12,12,11,.78) 0%, rgba(12,12,11,.4) 45%, rgba(12,12,11,.08) 100%), linear-gradient(0deg, rgba(12,12,11,.55) 0%, rgba(12,12,11,0) 40%) !important; }
	.egx-hero.has-film .egx-hero__film { bottom: 52px; }
}
/* Shorter laptop screens: drop the numbers row so nothing crowds the film */
@media (min-width: 768px) and (max-height: 820px) {
	.egx-hero__proof { margin-top: 26px !important; padding-top: 16px !important; gap: 40px !important; }
	.egx-hero__proof strong { font-size: 22px !important; }
	.egx-hero__lead { max-width: 560px !important; }
	.egx-hero__ctas { margin-top: 22px !important; }
	.egx-hero__ctas .egx-btn { height: 48px; }
	.egx-hero h1 { font-size: clamp(40px, 4.8vw, 68px) !important; }
	.egx-hero__inner { padding-bottom: 40px !important; }
}

/* Longer headline: two balanced lines */
@media (min-width: 768px) {
	.egx-hero h1 { font-size: clamp(42px, 4.8vw, 76px) !important; max-width: 13.5em !important; text-wrap: balance; }
	.egx-hero h1 em { display: inline-block; }
}
@media (min-width: 768px) and (max-height: 820px) { .egx-hero h1 { font-size: clamp(38px, 4.2vw, 62px) !important; } }

/* Header icons: account + quote basket, same style as search */
.egx-hicons { display: none; }
@media (min-width: 768px) {
	.elementor-location-header .egx-hicons:not([hidden]) { display: inline-flex; align-items: center; gap: 6px; margin-right: 10px; align-self: center; }
	.egx-hicon { position: relative; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; transition: background .25s; }
	.egx-hicon:hover { background: rgba(255,255,255,.1); }
	.egx-hicon svg { width: 20px; height: 20px; }
	.egx-hicon .egx-qcount {
		position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
		background: #F6640A; color: #fff; font-size: 10px; font-weight: 600; line-height: 18px; text-align: center;
	}
	.egx-hicon .egx-qcount[data-count="0"] { display: none; }
}
.elementor-location-header .egx-hide, .elementor-location-header li:has(> a) .egx-hide { display: none !important; }
.elementor-location-header .elementor-widget:has(.wd-nav > li.egx-hide):not(:has(.wd-nav > li:not(.egx-hide))) { display: none !important; }

/* ==========================================================
   Catalogue flipbook
   ========================================================== */
.egx-flip { position: relative; outline: none; background: #141414; border-radius: 24px; padding: 56px 40px 28px; overflow: hidden; }
.egx-flip::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, rgba(255,255,255,.07), transparent 65%); pointer-events: none; }
.egx-flip__stage { position: relative; max-width: 1180px; margin: 0 auto; min-height: 420px; }
.egx-flip__book { margin: 0 auto; opacity: 0; transition: opacity .6s ease; }
.egx-flip.is-ready .egx-flip__book { opacity: 1; }
.egx-flip__sheet { background: #fff; overflow: hidden; }
.egx-flip__sheet canvas { display: block; width: 100%; height: 100%; opacity: 0; transition: opacity .4s ease; }
.egx-flip__sheet.is-ready canvas { opacity: 1; }
.egx-flip__loading { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; color: rgba(255,255,255,.7); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; transition: opacity .4s; }
.egx-flip__loading p { margin: 0 !important; }
.egx-flip.is-ready .egx-flip__loading { opacity: 0; pointer-events: none; }
.egx-flip__progress { width: 180px; height: 1px; background: rgba(255,255,255,.15); overflow: hidden; }
.egx-flip__progress i { display: block; width: 8%; height: 100%; background: #fff; transition: width .3s ease; }
.egx-flip__controls { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 28px; color: #fff; }
.egx-flip__btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff !important; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: background .25s, border-color .25s, opacity .25s; }
.egx-flip__btn svg { width: 18px; height: 18px; }
.egx-flip__btn:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.egx-flip__btn:disabled { opacity: .3; cursor: default; }
.egx-flip__page { min-width: 88px; text-align: center; font-size: 12px; letter-spacing: .2em; color: rgba(255,255,255,.75); font-variant-numeric: tabular-nums; }
.egx-flip__sep { width: 1px; height: 22px; background: rgba(255,255,255,.2); margin: 0 10px; }
.egx-flip__hint { position: relative; margin: 14px 0 0 !important; text-align: center; font-size: 12px; color: rgba(255,255,255,.4); }
.egx-flip__fallback { display: none; }
.egx-flip.is-failed { background: #fff; padding: 0; border: 1px solid #E7E2D9; }
.egx-flip.is-failed::before, .egx-flip.is-failed .egx-flip__stage, .egx-flip.is-failed .egx-flip__controls, .egx-flip.is-failed .egx-flip__hint { display: none; }
.egx-flip.is-failed .egx-flip__fallback { display: block; }
.egx-flip.is-full { border-radius: 0; padding: 32px 24px 20px; display: flex; flex-direction: column; justify-content: center; }
.egx-flip.is-full .egx-flip__stage { width: 100%; max-width: min(1500px, calc((100vh - 140px) * 1.42)); }
@media (max-width: 767px) {
	.egx-flip { border-radius: 18px; padding: 24px 12px 18px; margin: 0 -8px; }
	.egx-flip__stage { min-height: 320px; }
	.egx-flip__controls { margin-top: 18px; gap: 6px; }
	.egx-flip__sep { margin: 0 4px; }
	.egx-flip__hint { display: none; }
}

/* Header: search · account · basket — all the same quiet style; logo = home */
@media (min-width: 1025px) {
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon { border: 0 !important; width: 44px !important; height: 44px !important; }
	.elementor-location-header > .elementor-hidden-mobile .elementor-widget-icon .elementor-icon svg { width: 19px !important; height: 19px !important; }
	.elementor-location-header .egx-hicons:not([hidden]) { margin: 0 0 0 2px !important; gap: 2px !important; }
}

/* Flipbook: type a page number */
.egx-flip__page { display: inline-flex; align-items: center; gap: 8px; margin: 0 6px; cursor: text; }
.egx-flip .egx-flip__input {
	width: 58px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important;
	border: 1px solid rgba(255,255,255,.25) !important; border-radius: 999px !important; background: transparent !important; box-shadow: none !important;
	color: #fff !important; text-align: center; font-size: 14px !important; letter-spacing: .06em; font-variant-numeric: tabular-nums; -moz-appearance: textfield;
	transition: border-color .25s, background .25s;
}
.egx-flip .egx-flip__input:hover { border-color: rgba(255,255,255,.6) !important; }
.egx-flip .egx-flip__input:focus { border-color: #fff !important; background: rgba(255,255,255,.08) !important; outline: none; }
.egx-flip__input::-webkit-outer-spin-button, .egx-flip__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.egx-flip__of { font-size: 13px; letter-spacing: .14em; color: rgba(255,255,255,.6); white-space: nowrap; }

/* ==========================================================
   Sign in / create account
   ========================================================== */
.egx-wc #customer_login.egx-auth {
	display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important;
	max-width: 1080px; margin: 16px auto 40px; border: 1px solid #E7E2D9; border-radius: 24px; overflow: hidden; background: #fff;
}
.egx-wc #customer_login.egx-auth--single { grid-template-columns: 1fr !important; max-width: 520px; }
.egx-auth__panel { padding: 56px 56px 52px; min-width: 0; }
.egx-auth__panel--register { background: #F4F1EC; }
.egx-auth__eyebrow { margin: 0 0 10px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-wc .egx-auth h2 { margin: 0 0 10px !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 40px !important; line-height: 1.05; letter-spacing: -.01em; color: #141414; text-transform: none !important; text-align: left !important; }
.egx-auth__lead { margin: 0 0 32px !important; font-size: 14px; line-height: 1.65; color: #6b655c; max-width: 400px; text-align: left !important; }
.egx-wc .egx-auth__form { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 16px; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; background: transparent !important; max-width: none !important; }
.egx-auth__form > * { grid-column: 1 / -1; }
.egx-auth__form > .form-row-first { grid-column: 1; }
.egx-auth__form > .form-row-last { grid-column: 2; }
.egx-wc .egx-auth .form-row { width: 100% !important; float: none !important; margin: 0 0 18px !important; padding: 0 !important; }
.egx-wc .egx-auth label { display: block; font-size: 13px !important; font-weight: 500 !important; color: #3a3631 !important; margin: 0 0 8px !important; text-align: left; }
.egx-wc .egx-auth label .required { color: #F6640A; text-decoration: none; }
.egx-wc .egx-auth input.input-text { width: 100% !important; min-height: 52px !important; border: 1px solid #E0DAD0 !important; border-radius: 12px !important; background: #fff !important; padding: 0 16px !important; font-size: 15px !important; box-shadow: none !important; }
.egx-wc .egx-auth input.input-text:focus { border-color: #141414 !important; }
.egx-wc .egx-auth .password-input { display: block; position: relative; width: 100%; }
.egx-wc .egx-auth .show-password-input { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
.egx-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 24px; flex-wrap: wrap; }
.egx-wc .egx-auth__remember { display: inline-flex !important; align-items: center; gap: 10px; margin: 0 !important; font-weight: 400 !important; font-size: 13px !important; color: #6b655c !important; cursor: pointer; }
.egx-auth__remember input { width: 16px; height: 16px; accent-color: #141414; margin: 0; }
.egx-auth__forgot { font-size: 13px; color: #141414 !important; text-decoration: underline; text-decoration-color: #cfc8bc; text-underline-offset: 4px; }
.egx-auth__forgot:hover { text-decoration-color: #141414; }
.egx-auth__note { font-size: 13px; color: #6b655c; margin: 0 0 18px !important; }
.egx-wc .egx-auth .woocommerce-privacy-policy-text p { font-size: 12px; line-height: 1.6; color: #8a8378; margin: 0 0 20px; }
.egx-wc .egx-auth .woocommerce-privacy-policy-text a { color: #141414; }
.egx-wc .egx-auth .egx-auth__submit {
	width: 100% !important; min-height: 54px !important; margin: 0 !important; border-radius: 999px !important;
	background: #141414 !important; color: #fff !important; border: 0 !important; box-shadow: none !important;
	font-size: 13px !important; font-weight: 500 !important; letter-spacing: .12em !important; text-transform: uppercase !important;
}
.egx-wc .egx-auth .egx-auth__submit:hover { background: #000 !important; }
@media (max-width: 900px) {
	.egx-wc #customer_login.egx-auth { grid-template-columns: 1fr !important; border-radius: 20px; }
	.egx-auth__panel { padding: 36px 24px 32px; }
	.egx-wc .egx-auth h2 { font-size: 34px !important; }
}
@media (max-width: 480px) {
	.egx-auth__form > .form-row-first, .egx-auth__form > .form-row-last { grid-column: 1 / -1; }
}

/* ==========================================================
   B2B trade portal
   ========================================================== */
/* Sign-up: account type choice */
.egx-wc .egx-acctype { border: 0 !important; padding: 0 !important; margin: 0 0 22px !important; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.egx-wc .egx-acctype legend { grid-column: 1 / -1; float: left; width: 100%; margin: 0 0 10px !important; padding: 0 !important; font-size: 13px; font-weight: 500; color: #3a3631; font-family: inherit !important; }
.egx-wc .egx-acctype__opt { position: relative; display: block !important; margin: 0 !important; cursor: pointer; }
.egx-acctype__opt input { position: absolute; opacity: 0; pointer-events: none; }
.egx-acctype__opt span { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 14px 16px; border: 1px solid #E0DAD0; border-radius: 14px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.egx-acctype__opt strong { font-size: 14px; font-weight: 500; color: #141414; }
.egx-acctype__opt small { font-size: 12px; color: #8a8378; line-height: 1.4; }
.egx-acctype__opt input:checked + span { border-color: #141414; box-shadow: inset 0 0 0 1px #141414; }
.egx-acctype__opt input:focus-visible + span { outline: 1px solid #141414; outline-offset: 3px; }
.egx-biz { grid-column: 1 / -1; }
.egx-biz[hidden] { display: none !important; }
.egx-wc select.egx-select { width: 100%; min-height: 52px !important; border: 1px solid #E0DAD0 !important; border-radius: 12px !important; background-color: #fff !important; padding: 0 40px 0 16px !important; font-size: 15px !important; color: #141414; }
.egx-file input[type="file"] { display: block; width: 100%; padding: 12px; border: 1px dashed #CFC8BC; border-radius: 12px; background: #fff; font-size: 13px; cursor: pointer; }
.egx-file input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 999px; background: #141414; color: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.egx-file__hint { display: block; margin-top: 6px; font-size: 12px; color: #8a8378; }
.egx-biz__note { margin: 0 0 18px !important; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.6); font-size: 12.5px; line-height: 1.55; color: #6b655c; }
.egx-wc .egx-auth .optional { color: #A39B8E; font-weight: 400; }
@media (max-width: 480px) { .egx-wc .egx-acctype { grid-template-columns: 1fr; } }

/* Dashboard trade card */
.egx-tradecard { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; margin: 0 0 24px; padding: 24px 28px; border-radius: 18px; border: 1px solid #E7E2D9; background: #fff; }
.egx-tradecard.is-approved { background: #141414; border-color: #141414; color: #fff; }
.egx-tradecard.is-pending { background: #F4F1EC; border-color: #F4F1EC; }
.egx-tradecard__eyebrow { margin: 0 0 6px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-tradecard.is-approved .egx-tradecard__eyebrow { color: rgba(255,255,255,.55); }
.egx-tradecard__title { margin: 0 0 4px !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-size: 28px; line-height: 1.15; color: inherit; }
.egx-tradecard__meta { margin: 0 !important; font-size: 13px; color: #6b655c; max-width: 520px; }
.egx-tradecard.is-approved .egx-tradecard__meta { color: rgba(255,255,255,.7); }
.egx-tradecard__terms { text-align: right; }
.egx-tradecard__terms span { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 4px; }
.egx-tradecard__terms strong { font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-weight: 400; font-size: 26px; }
@media (max-width: 640px) { .egx-tradecard { padding: 20px; } .egx-tradecard__terms { text-align: left; } }

/* Account details: trade section */
.egx-wc .egx-tradefs { border: 1px solid #E7E2D9 !important; border-radius: 16px; background: #fff; padding: 28px 32px 16px !important; margin: 32px 0 0 !important; display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; scroll-margin-top: 90px; }
.egx-wc .egx-tradefs > * { grid-column: 1 / -1; }
.egx-wc .egx-tradefs > .form-row-first { grid-column: 1; }
.egx-wc .egx-tradefs > .form-row-last { grid-column: 2; }
.egx-wc .egx-tradefs legend { float: left; width: 100%; padding: 0 !important; margin: 0 0 10px !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; font-size: 28px !important; color: #141414; }
.egx-wc .egx-tradefs .form-row { width: 100% !important; float: none !important; margin: 0 0 18px !important; }
.egx-tradefs__note, .egx-tradefs__hint { font-size: 13px; color: #6b655c; margin: 0 0 18px !important; }
.egx-tradefs__hint { color: #A39B8E; font-size: 12px; }
.egx-tradefs__summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; margin-bottom: 16px; }
.egx-tradefs__summary p { margin: 0 !important; }
.egx-tradefs__summary span { display: block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #8a8378; }
.egx-tradefs__summary strong { font-weight: 500; color: #141414; }
@media (max-width: 560px) { .egx-wc .egx-tradefs { grid-template-columns: 1fr; padding: 22px 18px 8px !important; } .egx-wc .egx-tradefs > .form-row-first, .egx-wc .egx-tradefs > .form-row-last { grid-column: 1; } }

/* Request page: accept quotation */
.egx-accept { margin: 0 0 32px; padding: 32px; border-radius: 20px; background: #F4F1EC; }
.egx-accept.is-done { background: #141414; color: #fff; }
.egx-accept.is-info { background: #fff; border: 1px solid #E7E2D9; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; }
.egx-accept__eyebrow { margin: 0 0 6px !important; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #8a8378; }
.egx-accept.is-done .egx-accept__eyebrow { color: rgba(255,255,255,.55); }
.egx-accept__title { margin: 0 0 6px !important; font-family: "Sora", "Helvetica Neue", Arial, sans-serif; font-size: 30px; line-height: 1.15; color: inherit; }
.egx-accept__text { margin: 0 0 20px !important; font-size: 14px; color: #6b655c; }
.egx-accept.is-done .egx-accept__text { color: rgba(255,255,255,.72); }
.egx-accept.is-info .egx-accept__text { margin: 0 !important; }
.egx-accept.is-done .egx-link { color: #fff !important; }
.egx-accept__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 0 16px; }
.egx-accept__wide { grid-column: 1 / -1; }
.egx-wc .egx-accept .form-row { width: 100% !important; float: none !important; margin: 0 0 16px !important; }
.egx-wc .egx-accept textarea { width: 100%; min-height: 96px !important; border: 1px solid #E0DAD0 !important; border-radius: 12px !important; padding: 14px 16px !important; }
.egx-wc .egx-accept .egx-accept__btn { width: 100%; height: 54px; border-radius: 999px !important; background: #141414 !important; color: #fff !important; border: 0; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; cursor: pointer; }
.egx-wc .egx-accept .egx-accept__btn:hover { background: #000 !important; }
@media (max-width: 640px) { .egx-accept { padding: 22px 18px; } .egx-accept__grid { grid-template-columns: 1fr; } }

/* Checkout: payment terms line */
.egx-terms-line { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 16px !important; padding: 14px 0; border-top: 1px solid #E2DCD2; border-bottom: 1px solid #E2DCD2; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #6b655c; }
.egx-terms-line strong { font-size: 14px; letter-spacing: 0; text-transform: none; color: #141414; font-weight: 500; }

/* Status badge for accepted quotes */
.egx-status--quote-accepted { background: rgba(78,155,84,.12) !important; color: #2e7d32 !important; }

/* Project page: tighter gap under the hero */
.egx-projectpage > .egx-phero + .egx-section { padding-top: 64px !important; }
@media (max-width: 767px) { .egx-projectpage > .egx-phero + .egx-section { padding-top: 40px !important; } }
