/* =====================================================================
   Grimdrop Sections 2.0 : design system
   ---------------------------------------------------------------------
   One stylesheet for every widget. Everything is scoped under .gd, the
   root class each widget prints.

   Specificity contract
     base resets ........ .gd :where(...)            (0,1,0)
     components ......... .gd .gd-x                  (0,2,0)
     Elementor controls . .elementor-N .elementor-element.elementor-element-ID .gd-x  (0,4,0)+
   so anything set in the Elementor style panel always wins.

   Theme guard
     Hello Elementor paints every button pink on hover/focus at (0,2,0).
     The button rules below beat it, and components drive their colours
     through --gd-bbg / --gd-bfg / --gd-bbd so hover states still work.
   ===================================================================== */

/* ---------- Page canvas: only on pages that carry a v2 content section ---------- */
html:has(.gd-sec),
body:has(.gd-sec) { background-color: #DCEDB4; }

/* ---------- Tokens ---------- */
.gd {
	--gd-canvas: #DCEDB4;
	--gd-mist: #E6F4C6;
	--gd-mist-2: #D3EC98;
	--gd-paper: #F2F7E6;
	--gd-card: #F7FAF1;
	--gd-white: #FFFFFF;
	--gd-lime: #D2F27F;
	--gd-volt: #BDEB45;
	--gd-leaf: #1F4D2B;
	--gd-leaf-2: #163C20;
	--gd-forest: #13261D;
	--gd-forest-2: #1B3328;
	--gd-forest-3: #244234;
	--gd-ink: #0E1C14;
	--gd-ink-2: #26382C;
	--gd-muted: #4C5E52;
	--gd-sage: #9DB3A2;
	--gd-sage-2: #6E8574;
	--gd-cream: #E9F3DA;
	--gd-bright: #F2F9E4;
	--gd-pale: #CFE2C2;
	--gd-line: rgba(14, 28, 20, .13);
	--gd-line-d: rgba(210, 242, 127, .14);
	--gd-hair: #E3E8DC;
	--gd-r: 28px;
	--gd-r-md: 22px;
	--gd-r-sm: 16px;
	--gd-gutter: 12px;
	--gd-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 104px);
	--gd-ease: cubic-bezier(.2, .8, .2, 1);
	--gd-ease-out: cubic-bezier(.16, 1, .3, 1);
	--gd-font: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;

	font-family: var(--gd-font);
	font-size: 16px;
	line-height: 1.55;
	color: var(--gd-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
@media (max-width: 680px) {
	.gd { --gd-gutter: 8px; --gd-r: 22px; --gd-r-md: 18px; }
}

/* ---------- Base resets (low specificity) ---------- */
.gd *, .gd *::before, .gd *::after { box-sizing: border-box; }
.gd :where(h1, h2, h3, h4, h5, p, ul, ol, figure, dl, dd, blockquote):where(:not(.gd-foreign *)) { margin: 0; }
.gd :where(ul, ol):where(:not(.gd-foreign *)) { padding: 0; list-style: none; }
.gd :where(img, svg, canvas, video) { display: block; max-width: 100%; }
.gd :where(a):where(:not(.gd-foreign *)) { color: inherit; text-decoration: none; }
/* Hello Elementor underlines every link in page content (.page-content a,
   0-1-1) and recolours links on hover (a:hover). Both beat the reset above,
   so links in the widgets came out underlined. These two lines sit just above
   the theme (0-1-2) and below every component rule (0-2-0 and up), so
   components that underline or colour a link on purpose still do. */
html .gd a:where(:not(.gd-foreign *)) { text-decoration: none; }
html .gd a:where(:not(.gd-foreign *)):where(:hover, :active) { color: inherit; }
.gd :where(input[type=checkbox]) { accent-color: var(--gd-leaf); }

/* Buttons: beat the theme's [type=button] / button:hover rules.
   Content a widget only hosts (WooCommerce account, form shortcodes) sits in
   a .gd-foreign box and keeps its own button styling. */
.gd :is(button, [type=button], [type=submit]):where(:not(.gd-foreign *)) {
	font: inherit; color: inherit; background: none; border: 0; border-radius: 0;
	padding: 0; margin: 0; cursor: pointer; text-transform: none; letter-spacing: inherit;
	line-height: inherit; white-space: normal; transition: none; display: inline-flex;
	align-items: center; text-align: inherit; user-select: auto; box-shadow: none;
}
.gd :is(button, [type=button], [type=submit]):is(:hover, :focus, :active):where(:not(.gd-foreign *)) {
	background-color: var(--gd-bbg, transparent);
	color: var(--gd-bfg, inherit);
	border-color: var(--gd-bbd, transparent);
	text-decoration: none;
}
.gd :focus-visible { outline: 2px solid var(--gd-leaf); outline-offset: 3px; border-radius: 6px; }
.gd.gd-dark :focus-visible, .gd .gd-dark :focus-visible { outline-color: var(--gd-lime); }

/* ---------- Section cards ---------- */
.gd.gd-sec, .gd.gd-frame {
	margin: var(--gd-gutter) var(--gd-gutter) 0;
	border-radius: var(--gd-r);
	position: relative;
	isolation: isolate;
}
.gd.gd-clip { overflow: hidden; }
.gd.gd-dark { background-color: var(--gd-forest); color: var(--gd-cream); }
.gd.gd-paper { background-color: var(--gd-paper); color: var(--gd-ink); }
.gd .gd-inner { width: min(1240px, 100% - 64px); margin-inline: auto; }
@media (max-width: 680px) { .gd .gd-inner { width: calc(100% - 36px); } }

/* Consecutive dark sections join into one continuous panel, like the
   prototype's shell. Progressive: without :has() they stay separate cards.
   Works whether each widget has its own container (.e-parent siblings) or
   several widgets share one container (.elementor-widget siblings). */
:is(.e-parent, .elementor-widget):has(.gd-sec.gd-dark):has(+ :is(.e-parent, .elementor-widget) .gd-sec.gd-dark) .gd-sec.gd-dark {
	border-bottom-left-radius: 0; border-bottom-right-radius: 0;
}
:is(.e-parent, .elementor-widget):has(.gd-sec.gd-dark) + :is(.e-parent, .elementor-widget):has(.gd-sec.gd-dark) .gd-sec.gd-dark {
	margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0;
	box-shadow: inset 0 1px 0 var(--gd-line-d);
}

/* ---------- Type ---------- */
.gd .gd-kicker {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 14px; line-height: 1.3; color: var(--gd-muted);
}
.gd .gd-kicker::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto;
	background: var(--gd-volt); box-shadow: 0 0 0 4px rgba(189, 235, 69, .2);
}
.gd.gd-dark .gd-kicker { color: var(--gd-sage); }
.gd .gd-h2 {
	font-family: inherit; font-size: clamp(36px, 4.4vw, 64px); font-weight: 420;
	letter-spacing: -.035em; line-height: 1.02; color: inherit; margin-top: 22px;
	text-wrap: balance;
}
.gd.gd-dark .gd-h2 { color: var(--gd-bright); }
.gd .gd-lede { font-size: 17px; line-height: 1.6; color: var(--gd-muted); max-width: 44ch; }
.gd.gd-dark .gd-lede { color: var(--gd-sage); }
/* Highlighted phrase in a heading. The fill is a band, not the whole text
   box: Geist's box is 1.3em tall and headings use a line height under 1, so a
   full background would run into the line above. The band runs from just
   above the capitals to just under the baseline (Geist: caps at .295em,
   baseline at 1.01em of the box), leaving a .135em gap between lines. */
.gd .gd-hl, .gd .gd-about__h1 .alt, .gd .gd-contact__h1 .alt, .gd .gd-about__pull .mark {
	--gd-hl-c: var(--gd-lime); --gd-hl-t: .24em; --gd-hl-b: .22em;
	background: linear-gradient(to bottom, transparent var(--gd-hl-t), var(--gd-hl-c) var(--gd-hl-t), var(--gd-hl-c) calc(100% - var(--gd-hl-b)), transparent calc(100% - var(--gd-hl-b)));
	padding: 0 .1em; margin: 0 -.1em; border-radius: .16em;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.gd .gd-num { font-variant-numeric: tabular-nums; }

/* ---------- Buttons ---------- */
.gd .gd-btn {
	--gd-bbg: var(--gd-leaf); --gd-bfg: var(--gd-lime); --gd-bbd: transparent;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: 52px; padding: 0 24px; border-radius: 999px; border: 1px solid var(--gd-bbd);
	background-color: var(--gd-bbg); color: var(--gd-bfg);
	font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1; letter-spacing: -.005em;
	white-space: nowrap; text-decoration: none;
	transition: background-color .25s, color .25s, border-color .25s, transform .35s var(--gd-ease);
}
.gd .gd-btn:hover { color: var(--gd-bfg); }
.gd .gd-btn svg { width: 14px; height: 14px; flex: 0 0 auto; transition: transform .3s var(--gd-ease); }
.gd .gd-btn:hover svg { transform: translateX(3px); }
.gd .gd-btn--leaf { --gd-bbg: var(--gd-leaf); --gd-bfg: var(--gd-lime); box-shadow: 0 0 0 4px rgba(31, 77, 43, .12); }
.gd .gd-btn--leaf:hover { --gd-bbg: var(--gd-leaf-2); }
.gd .gd-btn--lime { --gd-bbg: var(--gd-lime); --gd-bfg: var(--gd-ink); }
.gd .gd-btn--lime:hover { --gd-bbg: var(--gd-volt); }
.gd .gd-btn--ghost { --gd-bbg: transparent; --gd-bfg: var(--gd-lime); --gd-bbd: rgba(210, 242, 127, .4); }
.gd .gd-btn--ghost:hover { --gd-bbg: rgba(210, 242, 127, .08); }
.gd .gd-btn--line { --gd-bbg: rgba(255, 255, 255, .35); --gd-bfg: var(--gd-ink); --gd-bbd: var(--gd-line); }
.gd .gd-btn--line:hover { --gd-bbg: rgba(255, 255, 255, .75); }
.gd .gd-btn--white { --gd-bbg: var(--gd-white); --gd-bfg: var(--gd-leaf); }
.gd .gd-btn--white:hover { --gd-bbg: var(--gd-card); }
.gd .gd-btn--sm { height: 42px; padding: 0 18px; font-size: 14px; }
.gd .gd-btn--block { width: 100%; }

/* Theme page title above an Elementor-built page (twin of the PHP filter). */
body.page .page-header:has(~ .page-content > .elementor[data-elementor-type="wp-page"]) { display: none; }

/* =====================================================================
   HEADER
   ===================================================================== */
.gd.gd-hdr { margin: var(--gd-gutter) var(--gd-gutter) 0; position: relative; z-index: 60; }
.gd.gd-hdr--sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--gd-gutter)); }
.gd .gd-hdr__bar {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px;
	min-height: 68px; padding: 10px 10px 10px 22px;
	background: var(--gd-paper); border: 1px solid transparent; border-radius: var(--gd-r);
	-webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
	transition: background-color .3s var(--gd-ease), border-color .3s var(--gd-ease), box-shadow .3s var(--gd-ease);
}
/* Once the page scrolls under a sticky header, the bar turns translucent and
   lifts off the content; at rest it is one more paper card on the canvas. */
.gd.gd-hdr.is-stuck .gd-hdr__bar {
	background: rgba(242, 247, 230, .86); border-color: var(--gd-line);
	box-shadow: 0 16px 36px -22px rgba(14, 28, 20, .5);
}
/* Header plugins (UAE / Header Footer Elementor) wrap the widget in #masthead
   and an Elementor container. The wrapper is what has to stick, and its
   container background would otherwise paint a band across the top. */
body #masthead:has(.gd-hdr--sticky) { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; }
body #masthead:has(.gd-hdr--sticky) .gd.gd-hdr--sticky { position: relative; top: auto; }
body #masthead :is(.e-con, .elementor-section, .elementor-container, .elementor-widget-container):has(.gd-hdr) { background: transparent; }
.gd .gd-hdr__brand {
	display: inline-flex; align-items: center; gap: 10px; justify-self: start;
	font-weight: 600; font-size: 20px; letter-spacing: -.02em; color: var(--gd-ink); line-height: 1;
}
.gd .gd-hdr__logo { height: 34px; width: auto; }
.gd .gd-hdr__brandtext { white-space: nowrap; }
.gd .gd-hdr__mark { width: 30px; height: 30px; flex: 0 0 auto; }
.gd .gd-hdr__menu {
	display: flex; gap: 4px; padding: 5px;
	background: rgba(255, 255, 255, .55); border: 1px solid var(--gd-line); border-radius: 999px;
}
.gd .gd-hdr__link {
	display: block; padding: 8px 16px; border-radius: 999px; white-space: nowrap;
	font-size: 14px; line-height: 1.3; color: var(--gd-ink-2);
	transition: background-color .25s, color .25s;
}
.gd .gd-hdr__link:hover, .gd .gd-hdr__link.is-active { background: var(--gd-white); color: var(--gd-ink); }
.gd .gd-hdr__right { display: flex; align-items: center; justify-content: flex-end; gap: 14px; justify-self: end; }
.gd .gd-hdr__signin { font-size: 14px; color: var(--gd-muted); padding: 6px 4px; transition: color .2s; }
.gd .gd-hdr__signin:hover { color: var(--gd-ink); }
.gd .gd-hdr__cart {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: inherit; font-size: 14px; font-weight: 500; color: var(--gd-ink);
	font-variant-numeric: tabular-nums; line-height: 1;
}
.gd .gd-hdr__cartico {
	position: relative; display: inline-grid; place-items: center; width: 42px; height: 42px;
	border-radius: 50%; border: 1px solid var(--gd-line); background: rgba(255, 255, 255, .55);
	transition: background-color .2s;
}
.gd .gd-hdr__cart:hover .gd-hdr__cartico { background: var(--gd-white); }
.gd .gd-hdr__cartico svg { width: 18px; height: 18px; }
.gd.gd-hdr .gdc-count {
	position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 999px; background: var(--gd-leaf); color: var(--gd-lime);
	font-family: inherit; font-size: 10.5px; font-weight: 600; line-height: 1;
}
.gd.gd-hdr .gdc-count--empty { display: none; }
.gd.gd-hdr .gdc-total { white-space: nowrap; }
.gd.gd-hdr .gdc-total:empty { display: none; }
.gd .gd-hdr__cta { height: 44px; padding: 0 18px; font-size: 14px; }
.gd .gd-hdr__burger {
	display: none; width: 44px; height: 44px; border-radius: 50%; position: relative;
	--gd-bbg: rgba(255, 255, 255, .55); --gd-bbd: var(--gd-line);
	background-color: var(--gd-bbg); border: 1px solid var(--gd-bbd);
}
.gd .gd-hdr__burger i {
	position: absolute; left: 14px; right: 14px; height: 1.6px; background: var(--gd-ink);
	transition: transform .3s var(--gd-ease), top .3s var(--gd-ease);
}
.gd .gd-hdr__burger i:nth-child(1) { top: 17px; }
.gd .gd-hdr__burger i:nth-child(2) { top: 24px; }

/* Drawer (mobile menu) */
.gd .gd-hdr__drawer {
	position: fixed; inset: var(--gd-gutter); z-index: 1000;
	display: flex; flex-direction: column; padding: 96px 24px 24px;
	background: var(--gd-forest); color: var(--gd-cream); border-radius: var(--gd-r);
	opacity: 0; visibility: hidden; transform: scale(.985);
	transition: opacity .35s var(--gd-ease), transform .35s var(--gd-ease), visibility .35s;
	overflow-y: auto;
}
.gd .gd-hdr__drawer.is-open { opacity: 1; visibility: visible; transform: none; }
.gd .gd-hdr__dclose {
	position: absolute; top: 22px; right: 22px; width: 46px; height: 46px; border-radius: 50%;
	justify-content: center; --gd-bfg: var(--gd-lime); --gd-bbd: var(--gd-line-d);
	color: var(--gd-bfg); border: 1px solid var(--gd-bbd); font-size: 22px; line-height: 1;
}
.gd .gd-hdr__dbrand { position: absolute; top: 30px; left: 24px; font-weight: 600; font-size: 20px; letter-spacing: -.02em; color: var(--gd-bright); }
.gd .gd-hdr__dlink {
	display: block; padding: 10px 0; border-bottom: 1px solid var(--gd-line-d);
	font-size: clamp(30px, 8vw, 40px); line-height: 1.15; letter-spacing: -.03em; color: var(--gd-bright);
	transition: color .2s;
}
.gd .gd-hdr__dlink:hover, .gd .gd-hdr__dlink.is-active { color: var(--gd-lime); }
.gd .gd-hdr__dfoot { margin-top: auto; padding-top: 28px; display: grid; gap: 10px; }
.gd .gd-hdr__dfoot .gd-btn { width: 100%; }
.gd .gd-hdr__dcart { display: flex; justify-content: space-between; align-items: center; padding: 14px 4px; color: var(--gd-sage); font-size: 15px; }
.gd .gd-hdr__dcart .gdc-total { color: var(--gd-bright); }
html.gd-lock, html.gd-lock body { overflow: hidden; }

/* Collapsed header. The class is set by script; each widget instance also
   prints the same rules inside its own breakpoint media query, so the
   compact layout is correct before any script runs. */
.gd.gd-hdr--compact .gd-hdr__bar { grid-template-columns: 1fr auto; padding: 8px 8px 8px 18px; min-height: 62px; }
.gd.gd-hdr--compact .gd-hdr__menu,
.gd.gd-hdr--compact .gd-hdr__signin,
.gd.gd-hdr--compact .gd-hdr__cta,
.gd.gd-hdr--compact .gd-hdr__cart .gdc-total { display: none; }
.gd.gd-hdr--compact .gd-hdr__burger { display: inline-flex; }
.gd.gd-hdr--compact .gd-hdr__right { gap: 8px; }

/* =====================================================================
   HERO
   ===================================================================== */
.gd.gd-hero { background: linear-gradient(135deg, var(--gd-mist) 0%, var(--gd-mist-2) 100%); color: var(--gd-ink); }
.gd .gd-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: min(780px, calc(100vh - 120px)); }
.gd .gd-hero__left { display: grid; grid-template-rows: auto 1fr auto; border-right: 1px solid var(--gd-line); position: relative; z-index: 3; }
.gd .gd-hero__top { padding: 40px 36px 44px; border-bottom: 1px solid var(--gd-line); }
.gd .gd-hero__tag { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--gd-muted); transition: color .2s; }
.gd a.gd-hero__tag:hover { color: var(--gd-ink); }
.gd .gd-hero__tagnew { background: var(--gd-lime); color: var(--gd-ink); font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; line-height: 1.3; }
.gd .gd-hero__tag svg { width: 12px; height: 12px; }
.gd .gd-hero__title {
	font-family: inherit; font-size: clamp(44px, 5.4vw, 82px); font-weight: 400; letter-spacing: -.04em; line-height: .98;
	margin: 26px 0 34px; max-width: 11.5ch; color: var(--gd-ink); text-wrap: balance;
}
.gd .gd-hero__title .gd-ln { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.gd .gd-hero__title .gd-ln > span { display: inline-block; }
.gd-js .gd .gd-hero__title .gd-ln > span { transform: translateY(108%); transition: transform 1.1s var(--gd-ease-out); }
.gd-js .gd.gd-hero.is-in .gd-hero__title .gd-ln > span { transform: none; }
.gd .gd-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.gd .gd-hero__mid { padding: 34px 36px; display: flex; flex-direction: column; justify-content: flex-end; gap: 18px; border-bottom: 1px solid var(--gd-line); }
.gd .gd-hero__dots { display: flex; gap: 6px; }
.gd .gd-hero__dots b { width: 7px; height: 7px; border-radius: 50%; background: rgba(14, 28, 20, .2); transition: background .3s; }
.gd .gd-hero__dots b.is-on { background: var(--gd-leaf); }
.gd .gd-hero__ticker { position: relative; height: 26px; overflow: hidden; font-size: 14px; font-weight: 500; color: var(--gd-leaf); }
.gd .gd-hero__ticker > span { position: absolute; inset: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: transform .6s var(--gd-ease), opacity .6s; }
.gd .gd-hero__sub { max-width: 38ch; font-size: 17px; line-height: 1.6; color: var(--gd-ink-2); }
.gd .gd-hero__bot { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 36px; flex-wrap: wrap; }
.gd .gd-hero__trust { font-size: 13px; color: var(--gd-muted); }
.gd .gd-hero__trustwrap { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.gd .gd-hero__avs { display: flex; flex: 0 0 auto; }
.gd .gd-hero__avs span { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; margin-left: -9px; border: 2px solid var(--gd-mist); background: var(--gd-leaf); }
.gd .gd-hero__avs span:first-child { margin-left: 0; }
.gd .gd-hero__avs img { width: 100%; height: 100%; object-fit: cover; }
.gd .gd-hero__facts { display: flex; flex-wrap: wrap; gap: 6px; }
.gd .gd-hero__facts span { font-size: 13px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--gd-line); background: rgba(255, 255, 255, .4); color: var(--gd-ink-2); }
.gd .gd-hero__trustlink { font-size: 13px; font-weight: 500; color: var(--gd-leaf); display: inline-flex; gap: 6px; align-items: center; }
.gd .gd-hero__trustlink:hover { color: var(--gd-ink); }
.gd .gd-hero__trustlink svg { width: 12px; height: 12px; flex: 0 0 auto; }
.gd .gd-hero__right { position: relative; overflow: hidden; min-height: 420px; }
.gd .gd-hero__globe { position: absolute; inset: 0; width: 100%; height: 100%; cursor: grab; touch-action: pan-y; }
.gd .gd-hero__globe:active { cursor: grabbing; }
.gd .gd-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gd .gd-float {
	position: absolute; z-index: 4; border-radius: 18px; padding: 14px 16px;
	background: rgba(255, 255, 255, .74); border: 1px solid rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	box-shadow: 0 18px 40px -26px rgba(14, 28, 20, .45);
}
.gd .gd-float--stat { left: 7%; top: 11%; min-width: 210px; max-width: 270px; }
.gd .gd-float--stat small { display: block; font-size: 13px; color: var(--gd-muted); }
.gd .gd-float--stat b { display: block; font-size: 38px; font-weight: 450; letter-spacing: -.04em; line-height: 1.1; margin: 2px 0 4px; font-variant-numeric: tabular-nums; }
.gd .gd-float--stat em { font-style: normal; font-size: 13px; font-weight: 600; color: var(--gd-leaf); }
.gd .gd-float__spark { display: block; width: 100%; height: 26px; margin: 2px 0 6px; color: var(--gd-leaf); }
.gd .gd-float--live { left: 9%; bottom: 11%; display: flex; align-items: center; gap: 12px; max-width: 330px; }
.gd .gd-float__ic { width: 40px; height: 40px; border-radius: 12px; background: var(--gd-forest); color: var(--gd-lime); display: grid; place-items: center; flex: 0 0 auto; }
.gd .gd-float__ic svg { width: 20px; height: 20px; }
.gd .gd-float--live b { display: block; font-weight: 600; font-size: 14px; line-height: 1.3; }
.gd .gd-float__pills { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.gd .gd-float__pills span { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: rgba(19, 38, 29, .07); color: var(--gd-ink-2); }

/* Optional in-hero topbar (hero "Show nav pill" switch) */
.gd .gd-hero__nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 72px; padding: 0 28px; border-bottom: 1px solid var(--gd-line); }
.gd .gd-hero__navbrand { font-weight: 600; font-size: 20px; letter-spacing: -.02em; }
.gd .gd-hero__navlinks { display: flex; gap: 4px; padding: 5px; border-radius: 999px; border: 1px solid var(--gd-line); background: rgba(255, 255, 255, .45); }
.gd .gd-hero__navlinks a { padding: 8px 16px; border-radius: 999px; font-size: 14px; transition: background .25s; }
.gd .gd-hero__navlinks a:hover { background: var(--gd-white); }

/* =====================================================================
   WALLET (new widget)
   ===================================================================== */
.gd .gd-wallet__head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: end; padding-top: 110px; }
.gd .gd-wallet__title { color: var(--gd-lime); }
.gd.gd-dark .gd-wallet__title { color: var(--gd-lime); }
.gd .gd-wallet__stage { position: relative; padding: 76px 0 40px; display: grid; place-items: center; perspective: 1400px; }
.gd .gd-wallet__rings { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.gd .gd-wallet__rings i { position: absolute; border: 1px solid var(--gd-line-d); border-radius: 50%; }
.gd .gd-wcard { position: relative; width: min(560px, 86vw); aspect-ratio: 1.7; transform-style: preserve-3d; transform: rotateX(8deg); transition: transform .8s var(--gd-ease); z-index: 2; }
.gd .gd-wcard__b1, .gd .gd-wcard__b2, .gd .gd-wcard__front { position: absolute; inset: 0; border-radius: 22px; }
.gd .gd-wcard__b1 { background: var(--gd-lime); transform: translate3d(0, -44px, -60px) scale(.9); }
.gd .gd-wcard__b2 { background: #E4F6B3; transform: translate3d(0, -22px, -30px) scale(.95); }
.gd .gd-wcard__front {
	background: linear-gradient(115deg, #24582F 0%, #163F22 62%, var(--gd-card-accent, var(--gd-lime)) 62%, var(--gd-card-accent, var(--gd-lime)) 100%);
	padding: 30px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden;
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6);
}
.gd .gd-wcard__front::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .13) 45%, transparent 55%);
	transform: translateX(var(--gd-sheen, -60%)); transition: transform .3s;
}
.gd .gd-wcard__chip { width: 52px; height: 40px; border-radius: 8px; background: linear-gradient(135deg, #E5E8E3, #AEB5AD); position: relative; }
.gd .gd-wcard__chip::before { content: ""; position: absolute; inset: 9px 12px; border: 1.5px solid rgba(0, 0, 0, .22); border-radius: 4px; }
.gd .gd-wcard__auto { position: absolute; right: 22px; top: 26px; display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--gd-ink); }
.gd .gd-wcard__auto::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gd-leaf); }
.gd .gd-wcard__label { display: block; font-size: 13px; color: #A9C7AE; }
.gd .gd-wcard__bal { color: #F2F9E4; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.04em; font-weight: 450; line-height: 1.1; font-variant-numeric: tabular-nums; }
.gd .gd-wcard__wm { position: absolute; right: 22px; bottom: 22px; color: var(--gd-leaf); font-weight: 650; letter-spacing: -.03em; font-size: 20px; }
.gd .gd-wallet__notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 56px 0 104px; }
.gd .gd-wallet__note { border-top: 1px solid var(--gd-line-d); padding-top: 18px; }
.gd .gd-wallet__n { font-size: 13px; color: var(--gd-lime); font-variant-numeric: tabular-nums; }
.gd .gd-wallet__nt { font-size: 21px; letter-spacing: -.02em; line-height: 1.2; color: var(--gd-bright); margin: 10px 0 8px; font-weight: 450; }
.gd .gd-wallet__nd { font-size: 15px; color: var(--gd-sage); max-width: 34ch; }

/* =====================================================================
   HOW IT WORKS (steps)
   ===================================================================== */
.gd.gd-steps { padding: 110px 0; }
.gd .gd-steps__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: 56px; }
.gd .gd-steps__head .gd-h2 { max-width: 14ch; }
.gd .gd-steps__head--center { flex-direction: column; align-items: center; text-align: center; }
.gd .gd-steps__head--center .gd-h2 { max-width: 18ch; }
.gd .gd-steps__row {
	position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.45fr) 56px;
	gap: 24px; align-items: center; padding: 28px 0; border-top: 1px solid var(--gd-line-d);
}
.gd .gd-steps__row:last-child { border-bottom: 1px solid var(--gd-line-d); }
.gd .gd-steps__num {
	font-size: clamp(76px, 9vw, 140px); line-height: .8; font-weight: 400; letter-spacing: -.06em;
	color: transparent; -webkit-text-stroke: 1px rgba(210, 242, 127, .38); font-variant-numeric: tabular-nums;
	transition: color .5s, -webkit-text-stroke-color .5s;
}
.gd .gd-steps__t { font-family: inherit; font-size: clamp(24px, 2.3vw, 34px); font-weight: 420; letter-spacing: -.03em; line-height: 1.08; color: var(--gd-bright); }
.gd .gd-steps__d { font-size: 15px; line-height: 1.6; color: var(--gd-sage); max-width: 40ch; }
.gd .gd-steps__go {
	width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--gd-line-d);
	display: grid; place-items: center; color: var(--gd-lime);
	transition: background-color .4s, color .4s, transform .5s var(--gd-ease);
}
.gd .gd-steps__go svg { width: 18px; height: 18px; }
.gd .gd-steps__row:hover .gd-steps__num,
.gd .gd-steps__row:focus-within .gd-steps__num { color: var(--gd-lime); -webkit-text-stroke-color: var(--gd-lime); }
.gd .gd-steps__row:hover .gd-steps__go { background: var(--gd-lime); color: var(--gd-ink); transform: rotate(-45deg); }
.gd .gd-steps__row--accent .gd-steps__num { -webkit-text-stroke-color: rgba(210, 242, 127, .7); }

/* =====================================================================
   PRODUCT GRID (eBay export)
   ===================================================================== */
.gd.gd-grid { padding: 96px 0; }
.gd .gd-grid__bar { display: flex; flex-wrap: wrap; gap: 20px 32px; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.gd .gd-grid__title { font-family: inherit; font-size: clamp(32px, 3.6vw, 52px); font-weight: 420; letter-spacing: -.035em; line-height: 1.04; color: var(--gd-ink); margin-top: 18px; }
.gd .gd-grid__sub { font-size: 16px; color: var(--gd-muted); margin-top: 10px; max-width: 48ch; }
.gd .gd-grid__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.gd .gd-grid__selall { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 500; cursor: pointer; color: var(--gd-ink); user-select: none; }
.gd .gd-grid__selall input { width: 18px; height: 18px; margin: 0; }
.gd .gd-grid__count { font-size: 14px; color: var(--gd-muted); font-variant-numeric: tabular-nums; min-width: 82px; }
.gd .gd-grid__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.gd .gd-pc {
	position: relative; display: flex; flex-direction: column; cursor: pointer;
	background: var(--gd-white); border: 1px solid var(--gd-hair); border-radius: 22px; padding: 10px 10px 14px;
	transition: border-color .2s, box-shadow .25s, transform .35s var(--gd-ease);
}
.gd .gd-pc:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -22px rgba(14, 28, 20, .45); }
.gd .gd-pc.is-selected { border-color: var(--gd-leaf); box-shadow: 0 0 0 2px var(--gd-leaf); }
.gd .gd-pc__cb { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.gd .gd-pc__select {
	position: absolute; top: 18px; right: 18px; z-index: 4; gap: 7px; height: 30px; padding: 0 12px 0 8px;
	--gd-bbg: rgba(255, 255, 255, .92); --gd-bfg: var(--gd-ink-2); --gd-bbd: var(--gd-hair);
	background-color: var(--gd-bbg); color: var(--gd-bfg); border: 1px solid var(--gd-bbd); border-radius: 999px;
	font-size: 12px; font-weight: 500; line-height: 1; transition: background-color .15s, color .15s, border-color .15s;
}
.gd .gd-pc__check { width: 15px; height: 15px; border-radius: 4px; border: 1.5px solid currentColor; display: inline-grid; place-items: center; flex: 0 0 auto; }
.gd .gd-pc__check::after { content: ""; width: 7px; height: 4px; border-left: 2px solid var(--gd-forest); border-bottom: 2px solid var(--gd-forest); transform: rotate(-45deg) scale(0); transition: transform .15s; margin-top: -2px; }
.gd .gd-pc__selon { display: none; }
.gd .gd-pc.is-selected .gd-pc__select { --gd-bbg: var(--gd-forest); --gd-bfg: var(--gd-lime); --gd-bbd: var(--gd-forest); }
.gd .gd-pc.is-selected .gd-pc__check { background: var(--gd-lime); border-color: var(--gd-lime); }
.gd .gd-pc.is-selected .gd-pc__check::after { transform: rotate(-45deg) scale(1); }
.gd .gd-pc.is-selected .gd-pc__selidle { display: none; }
.gd .gd-pc.is-selected .gd-pc__selon { display: inline; }
.gd .gd-pc__media { position: relative; display: block; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: #F1F4EC; }
.gd .gd-pc__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--gd-ease); }
.gd .gd-pc:hover .gd-pc__media img { transform: scale(1.03); }
.gd .gd-pc__stock { position: absolute; left: 8px; top: 8px; font-size: 11.5px; font-weight: 600; padding: 4px 9px; border-radius: 999px; line-height: 1.2; }
.gd .gd-pc__stock--in { background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-pc__stock--out { background: var(--gd-forest); color: var(--gd-cream); }
.gd .gd-pc__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 6px 0; flex: 1; }
.gd .gd-pc__title {
	font-size: 15px; font-weight: 500; line-height: 1.3; letter-spacing: -.01em; color: var(--gd-ink);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em;
}
.gd .gd-pc__title:hover { text-decoration: underline; text-underline-offset: 3px; }
.gd .gd-pc__sku { font-size: 12px; color: var(--gd-muted); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.gd .gd-pc__price { font-size: 19px; font-weight: 500; letter-spacing: -.02em; color: var(--gd-ink); margin-top: auto; padding-top: 10px; font-variant-numeric: tabular-nums; }
.gd .gd-pc__price del { opacity: .45; font-weight: 400; font-size: .8em; margin-right: 6px; }
.gd .gd-pc__price ins { text-decoration: none; }
.gd .gd-pc__btns { display: grid; gap: 8px; margin-top: 12px; }
.gd .gd-pc__cart, .gd .gd-pc__import {
	display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 12px;
	border-radius: 999px; font-size: 13.5px; font-weight: 500; line-height: 1; text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}
.gd .gd-pc__cart { --gd-bbg: var(--gd-forest); --gd-bfg: var(--gd-lime); background-color: var(--gd-bbg); color: var(--gd-bfg); }
.gd .gd-pc__cart:hover { --gd-bbg: var(--gd-leaf); color: var(--gd-lime); }
.gd .gd-pc__import { --gd-bbg: transparent; --gd-bfg: var(--gd-ink); --gd-bbd: var(--gd-hair); background-color: var(--gd-bbg); color: var(--gd-bfg); border: 1px solid var(--gd-bbd); }
.gd .gd-pc__import:hover { --gd-bbg: var(--gd-card); }
.gd .gd-pc__import.is-added { --gd-bbg: var(--gd-lime); --gd-bbd: var(--gd-lime); --gd-bfg: var(--gd-forest); }
.gd .gd-pc--hidden { display: none; }

/* Floating selection bar: sits after the grid, so position:sticky keeps it at
   the bottom of the screen only while the grid is being scrolled. Hidden until
   something is ticked; never covers the heading or the products above. */
.gd .gd-grid__float {
	position: sticky; z-index: 30; bottom: calc(var(--gd-float-bottom, 14px) + env(safe-area-inset-bottom, 0px));
	display: flex; align-items: center; gap: 6px; width: max-content; max-width: 100%; margin: 20px auto 0;
	padding: 6px 6px 6px 20px; border-radius: 999px; background: var(--gd-forest); color: var(--gd-cream);
	box-shadow: 0 20px 44px -18px rgba(14, 28, 20, .6);
	opacity: 0; visibility: hidden; transform: translateY(14px);
	transition: opacity .3s var(--gd-ease), transform .3s var(--gd-ease), visibility .3s;
}
.gd .gd-grid__float.is-on { opacity: 1; visibility: visible; transform: none; }
.gd .gd-grid__fcount { font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; margin-right: 6px; }
.gd .gd-grid__fclear { height: 42px; padding: 0 14px; border-radius: 999px; font-size: 14px; color: var(--gd-sage); --gd-bfg: var(--gd-bright); --gd-bbg: rgba(210, 242, 127, .08); }
body:has(.gd-bnav, .gdmn) { --gd-float-bottom: 14px; }
@media (max-width: 768px) { body:has(.gd-bnav, .gdmn) .gd { --gd-float-bottom: 96px; } }
@media (max-width: 560px) {
	.gd .gd-grid__float { width: 100%; gap: 2px; padding: 5px 5px 5px 16px; }
	.gd .gd-grid__fcount { font-size: 13px; margin-right: auto; }
	.gd .gd-grid__fclear { padding: 0 10px; font-size: 13px; }
	.gd .gd-grid__fexport { min-width: 0; padding: 0 14px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.gd .gd-grid__fexport svg { display: none; }
}
.gd .gd-grid__empty { grid-column: 1 / -1; text-align: center; color: var(--gd-muted); padding: 40px; }
.gd .gd-grid__more { text-align: center; margin-top: 36px; }
.gd .gd-grid__loadmore { --gd-bbg: var(--gd-white); --gd-bfg: var(--gd-ink); --gd-bbd: var(--gd-hair); }
.gd .gd-grid__loadmore:hover { --gd-bbg: var(--gd-forest); --gd-bfg: var(--gd-lime); --gd-bbd: var(--gd-forest); }

/* Locked state: what logged-out visitors and unapproved accounts see */
.gd .gd-grid__lock {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center;
	background: var(--gd-forest); color: var(--gd-cream); border-radius: 24px; padding: 26px 28px;
}
.gd .gd-grid__lockico { width: 58px; height: 58px; border-radius: 16px; background: var(--gd-lime); color: var(--gd-forest); display: grid; place-items: center; }
.gd .gd-grid__lockico svg { width: 24px; height: 24px; }
.gd .gd-grid__lockt { font-size: 22px; letter-spacing: -.02em; line-height: 1.2; color: var(--gd-bright); font-weight: 450; }
.gd .gd-grid__lockd { font-size: 15px; color: var(--gd-sage); margin-top: 6px; max-width: 56ch; }
.gd .gd-grid__lockbtns { display: flex; gap: 10px; flex-wrap: wrap; }
.gd .gd-grid__teaser { margin-top: 14px; }
.gd .gd-pc--teaser { cursor: default; }
.gd .gd-pc--teaser .gd-pc__price { color: var(--gd-muted); font-size: 13px; font-weight: 500; letter-spacing: 0; display: inline-flex; align-items: center; gap: 6px; }
.gd .gd-pc--teaser .gd-pc__price svg { width: 13px; height: 13px; }

/* =====================================================================
   WHY GRIMDROP (differentiators)
   ===================================================================== */
.gd.gd-why { padding: 14px; }
.gd .gd-why__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 14px; }
.gd .gd-why__grid--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
.gd .gd-why__grid--flip .gd-why__panel { order: 2; }
.gd .gd-why__panel {
	position: relative; min-height: 600px; border-radius: 22px; overflow: hidden; padding: 38px;
	display: flex; flex-direction: column; justify-content: space-between;
	background: var(--gd-forest-2); border: 1px solid var(--gd-line-d);
}
.gd .gd-why__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.gd .gd-why__panel--photo::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(19, 38, 29, .9) 0%, rgba(19, 38, 29, .35) 42%, rgba(19, 38, 29, .3) 58%, rgba(19, 38, 29, .92) 100%);
}
.gd .gd-why__ph, .gd .gd-why__pf { position: relative; z-index: 2; }
.gd .gd-why__ph .gd-h2 { max-width: 11ch; color: var(--gd-bright); }
.gd .gd-why__pf { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.gd .gd-why__pf p { color: #C8D8C4; max-width: 36ch; font-size: 16px; }
.gd .gd-why__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.gd .gd-why__chips span {
	font-size: 13px; padding: 7px 14px; border-radius: 999px; color: #E3EFD6;
	border: 1px solid rgba(210, 242, 127, .3); background: rgba(19, 38, 29, .45);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.gd .gd-why__cards { display: grid; gap: 14px; align-content: stretch; }
.gd .gd-svc {
	display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; align-items: center;
	background: var(--gd-forest-2); border: 1px solid var(--gd-line-d); border-radius: 22px; padding: 14px 20px 14px 14px;
	transition: background-color .3s, transform .4s var(--gd-ease);
}
.gd .gd-svc:hover { background: var(--gd-forest-3); transform: translateX(-3px); }
.gd .gd-svc__ill { height: 112px; border-radius: 16px; display: grid; place-items: center; }
.gd .gd-svc__ill svg { width: 42px; height: 42px; }
.gd .gd-svc__ill--lime { background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-svc__ill--paper { background: var(--gd-paper); color: var(--gd-forest); }
.gd .gd-svc__ill--deep { background: var(--gd-forest-3); color: var(--gd-lime); border: 1px solid var(--gd-line-d); }
.gd .gd-svc__big { font-size: 30px; font-weight: 500; letter-spacing: -.04em; line-height: 1; text-align: center; padding: 0 6px; }
.gd .gd-svc__t { font-family: inherit; font-size: 22px; font-weight: 450; letter-spacing: -.025em; line-height: 1.15; color: var(--gd-bright); margin-bottom: 6px; }
.gd .gd-svc__d { font-size: 14.5px; line-height: 1.55; color: var(--gd-sage); }

/* =====================================================================
   NUMBERS (new widget)
   ===================================================================== */
.gd.gd-nums { padding: 110px 0; }
.gd .gd-nums__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: end; margin-bottom: 48px; }
.gd .gd-nums__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 220px; gap: 14px; }
.gd .gd-num-card {
	position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end;
	padding: 26px; border-radius: 24px; background: #E3EBD6; color: var(--gd-ink);
}
.gd .gd-num-card--tall { grid-row: span 2; }
.gd .gd-num-card--wide { grid-column: span 2; }
.gd .gd-num-card--lime { background: var(--gd-lime); }
.gd .gd-num-card--dark { background: var(--gd-forest); color: var(--gd-bright); }
.gd .gd-num-card__v { position: relative; z-index: 2; font-size: clamp(46px, 5vw, 72px); font-weight: 400; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.gd .gd-num-card__l { position: relative; z-index: 2; font-size: 15px; line-height: 1.45; color: var(--gd-muted); max-width: 26ch; margin-top: 10px; }
.gd .gd-num-card--lime .gd-num-card__l { color: #34482F; }
.gd .gd-num-card--dark .gd-num-card__l { color: var(--gd-sage); }
.gd .gd-num-card__corner { position: absolute; right: 18px; top: 18px; z-index: 2; width: 42px; height: 42px; border-radius: 50%; background: var(--gd-white); display: grid; place-items: center; transition: transform .4s var(--gd-ease); }
.gd .gd-num-card__corner svg { width: 16px; height: 16px; }
.gd .gd-num-card--dark .gd-num-card__corner { background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-num-card:hover .gd-num-card__corner { transform: rotate(-45deg); }
.gd .gd-num-card__wave { position: absolute; inset: 0 0 auto; height: 58%; width: 100%; z-index: 1; }
.gd .gd-num-card__bars { position: absolute; left: 26px; right: 76px; top: 30px; display: flex; gap: 5px; z-index: 1; }
.gd .gd-num-card__bars i { flex: 1; height: 10px; border-radius: 5px; background: rgba(242, 249, 228, .12); }
.gd .gd-num-card__bars i.is-on { background: var(--gd-lime); }
.gd .gd-num-card__dots { position: absolute; left: 26px; top: 26px; z-index: 1; display: grid; grid-template-columns: repeat(6, 8px); gap: 6px; }
.gd .gd-num-card__dots i { width: 8px; height: 8px; border-radius: 50%; background: rgba(19, 38, 29, .18); }
.gd .gd-num-card__dots i.is-on { background: var(--gd-forest); }

/* =====================================================================
   DASHBOARD (engine)
   ===================================================================== */
.gd.gd-dash { padding: 110px 0; }
.gd .gd-dash__head { text-align: center; max-width: 780px; margin: 0 auto 56px; }
.gd .gd-dash__head .gd-kicker { justify-content: center; }
.gd .gd-dash__head .gd-lede { margin: 18px auto 0; max-width: 52ch; }
.gd .gd-dash__head--left { text-align: left; margin-left: 0; }
.gd .gd-dash__head--left .gd-lede { margin-left: 0; }
.gd .gd-dash__wrap { perspective: 2000px; }
.gd .gd-dsh {
	display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 16px;
	background: #F4F7EF; color: var(--gd-ink); border-radius: 28px; border: 1px solid rgba(255, 255, 255, .2);
}
.gd-js .gd .gd-dsh { transform: rotateX(12deg) scale(.95); transform-origin: 50% 0; transition: transform 1.2s var(--gd-ease-out); }
.gd-js .gd .gd-dsh.is-in { transform: none; }
.gd .gd-dsh > * { min-width: 0; }
.gd .gd-dsh__side { background: var(--gd-white); border-radius: 22px; padding: 12px 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.gd .gd-dsh__logo { width: 40px; height: 40px; border-radius: 12px; background: var(--gd-lime); display: grid; place-items: center; margin-bottom: 12px; }
.gd .gd-dsh__logo svg { width: 22px; height: 22px; }
.gd .gd-dsh__logo { color: var(--gd-forest); }
.gd .gd-dsh__sbtn {
	width: 42px; height: 42px; border-radius: 50%; justify-content: center;
	--gd-bbg: var(--gd-white); --gd-bbd: #E3E8DC; background-color: var(--gd-bbg); border: 1px solid var(--gd-bbd);
	transition: background-color .25s;
}
.gd .gd-dsh__sbtn svg { width: 18px; height: 18px; fill: none; stroke: var(--gd-ink); stroke-width: 1.7; }
.gd .gd-dsh__sbtn svg * { stroke: var(--gd-ink); }
.gd .gd-dsh__sbtn.is-on { --gd-bbg: var(--gd-forest); --gd-bbd: var(--gd-forest); }
.gd .gd-dsh__sbtn.is-on svg, .gd .gd-dsh__sbtn.is-on svg * { stroke: var(--gd-lime); }
.gd .gd-dsh__sp { flex: 1; }
.gd .gd-dsh__main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
.gd .gd-dsh__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.gd .gd-dsh__top h3 { font-family: inherit; font-size: 26px; font-weight: 450; letter-spacing: -.03em; line-height: 1.1; color: var(--gd-ink); }
.gd .gd-dsh__top small { font-size: 14px; color: var(--gd-muted); }
.gd .gd-dsh__tabs { display: flex; gap: 4px; padding: 4px; background: var(--gd-white); border: 1px solid #E3E8DC; border-radius: 999px; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.gd .gd-dsh__tab { padding: 9px 16px; border-radius: 999px; font-size: 14px; white-space: nowrap; --gd-bbg: transparent; background-color: var(--gd-bbg); transition: background-color .25s; }
.gd .gd-dsh__tab.is-on { --gd-bbg: var(--gd-lime); font-weight: 550; }
.gd .gd-dsh__promo { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 26px 30px; border-radius: 22px; background: var(--gd-lime); }
.gd .gd-dsh__promo h4 { position: relative; z-index: 1; font-family: inherit; font-size: clamp(22px, 2.3vw, 30px); font-weight: 500; letter-spacing: -.03em; line-height: 1.12; margin-bottom: 6px; color: var(--gd-ink); }
.gd .gd-dsh__promo p { position: relative; z-index: 1; color: #34482F; max-width: 52ch; }
.gd .gd-dsh__promo .gd-btn { position: relative; z-index: 1; }
.gd .gd-dsh__shape { position: absolute; right: 220px; top: -44px; width: 220px; height: 220px; border-radius: 44px; background: var(--gd-volt); transform: rotate(24deg); }
.gd .gd-dsh__shape::after { content: ""; position: absolute; inset: 48px; border-radius: 50%; background: #A7D93A; }
.gd .gd-dsh__grid { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 14px; }
.gd .gd-dsh__panel { background: var(--gd-white); border: 1px solid #E3E8DC; border-radius: 22px; padding: 20px; min-width: 0; }
.gd .gd-dsh__ph { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.gd .gd-dsh__ph b { font-weight: 550; font-size: 15px; }
.gd .gd-dsh__ph small { font-size: 13px; color: var(--gd-muted); }
.gd .gd-dsh__cur { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: #F1F4EC; font-size: 13px; font-weight: 500; }
.gd .gd-dsh__cur i { width: 22px; height: 22px; border-radius: 50%; background: var(--gd-forest); color: var(--gd-lime); display: grid; place-items: center; font-style: normal; font-size: 12px; }
.gd .gd-dsh__chip { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: #E7F5CF; color: #3A6B12; }
.gd .gd-dsh__amt { font-size: clamp(30px, 2.8vw, 38px); font-weight: 450; letter-spacing: -.04em; margin: 16px 0 4px; font-variant-numeric: tabular-nums; }
.gd .gd-dsh__meta { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--gd-muted); padding-bottom: 16px; border-bottom: 1px solid #EDF0E8; margin-bottom: 14px; }
.gd .gd-dsh__meta b { display: block; color: var(--gd-ink); font-weight: 550; }
.gd .gd-dsh__acts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.gd .gd-dsh__act {
	display: grid; justify-items: center; gap: 6px; padding: 12px 6px; border-radius: 14px; font-size: 12.5px; text-align: center;
	--gd-bbg: #F1F4EC; background-color: var(--gd-bbg); transition: background-color .25s;
}
.gd .gd-dsh__act:hover { --gd-bbg: #E4ECD6; }
.gd .gd-dsh__act--main { --gd-bbg: var(--gd-lime); }
.gd .gd-dsh__act--main:hover { --gd-bbg: var(--gd-volt); }
.gd .gd-dsh__act svg { width: 18px; height: 18px; fill: none; stroke: var(--gd-ink); stroke-width: 1.7; }
.gd .gd-dsh__list { display: grid; gap: 8px; }
.gd .gd-dsh__list li {
	display: grid; grid-template-columns: 22px 36px minmax(0, 1fr) auto; gap: 10px; align-items: center;
	padding: 10px 12px; border-radius: 16px; background: #F7F9F3; border: 1px solid #EDF0E8; transition: background-color .3s;
}
.gd .gd-dsh__list li.is-sent { background: #EEF7DC; }
.gd .gd-dsh__list input { width: 16px; height: 16px; margin: 0; }
.gd .gd-dsh__thumb { width: 36px; height: 36px; border-radius: 50%; background: var(--gd-white); border: 1px solid #E3E8DC; display: grid; place-items: center; overflow: hidden; }
.gd .gd-dsh__thumb svg { width: 16px; height: 16px; }
.gd .gd-dsh__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gd .gd-dsh__list b { display: block; font-weight: 550; font-size: 14px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gd .gd-dsh__list small { font-size: 12.5px; color: var(--gd-muted); }
.gd .gd-dsh__r { text-align: right; font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gd .gd-dsh__st { display: inline-block; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.gd .gd-dsh__st--ok { background: #E7F5CF; color: #3A6B12; }
.gd .gd-dsh__st--no { background: #FCE9D6; color: #A04C00; }
.gd .gd-dsh__st--sent { background: var(--gd-forest); color: var(--gd-lime); }
.gd .gd-dsh__pay {
	width: 100%; justify-content: center; height: 46px; margin-top: 12px; border-radius: 999px; font-weight: 550; font-size: 14px;
	--gd-bbg: var(--gd-forest); --gd-bfg: var(--gd-lime); background-color: var(--gd-bbg); color: var(--gd-bfg); transition: opacity .2s;
}
.gd .gd-dsh__pay[disabled] { opacity: .4; cursor: not-allowed; }
.gd .gd-dsh__log { font-size: 12.5px; color: var(--gd-muted); margin-top: 8px; min-height: 18px; }
.gd .gd-dsh__feed { display: grid; gap: 8px; margin: 2px 0 14px; }
.gd .gd-dsh__feed li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: #F7F9F3; border: 1px solid #EDF0E8; font-size: 13.5px; }
.gd .gd-dsh__feed li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gd-volt); flex: 0 0 auto; }
.gd .gd-dsh__fnote { font-size: 13px; color: var(--gd-muted); margin-bottom: 14px; }
.gd .gd-dash__note { text-align: center; font-size: 13px; color: var(--gd-sage-2); margin-top: 18px; }
.gd .gd-dash__img { width: 100%; height: auto; border-radius: 28px; }
.gd .gd-dash__feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 56px; }
.gd .gd-feat { padding: 24px; border-radius: 22px; background: var(--gd-forest-2); border: 1px solid var(--gd-line-d); }
.gd .gd-feat__ico { width: 44px; height: 44px; border-radius: 13px; background: var(--gd-lime); color: var(--gd-forest); display: grid; place-items: center; margin-bottom: 18px; }
.gd .gd-feat__ico svg { width: 20px; height: 20px; fill: currentColor; }
.gd .gd-feat__ico i { font-size: 19px; color: var(--gd-forest); }
.gd .gd-feat__t { font-size: 19px; font-weight: 450; letter-spacing: -.02em; color: var(--gd-bright); margin-bottom: 6px; }
.gd .gd-feat__d { font-size: 14.5px; color: var(--gd-sage); line-height: 1.55; }
.gd .gd-toast {
	position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 999;
	transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
	background: var(--gd-forest); color: var(--gd-lime); padding: 12px 20px; border-radius: 999px; font-size: 14px;
	border: 1px solid var(--gd-line-d); transition: opacity .3s, transform .3s;
}
.gd .gd-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* =====================================================================
   MARQUEE (new widget)
   ===================================================================== */
.gd.gd-mq { background: var(--gd-lime); color: var(--gd-ink); }
.gd .gd-mq__track { display: flex; width: max-content; animation: gd-mq var(--gd-mq-speed, 46s) linear infinite; }
.gd.gd-mq:hover .gd-mq__track { animation-play-state: paused; }
.gd .gd-mq__item { display: flex; align-items: center; gap: 28px; padding: 22px 28px; white-space: nowrap; font-size: clamp(24px, 3.1vw, 42px); letter-spacing: -.03em; line-height: 1.1; }
.gd .gd-mq__item::after { content: ""; width: 14px; height: 14px; border-radius: 4px; background: var(--gd-forest); transform: rotate(45deg); flex: 0 0 auto; }
.gd.gd-mq--dark { background: var(--gd-forest); color: var(--gd-lime); }
.gd.gd-mq--dark .gd-mq__item::after { background: var(--gd-lime); }
.gd.gd-mq--rev .gd-mq__track { animation-direction: reverse; }
@keyframes gd-mq { to { transform: translateX(-50%); } }

/* =====================================================================
   FAQ
   ===================================================================== */
.gd.gd-faq { padding: 104px 0 120px; }
.gd .gd-faq__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 64px; }
.gd .gd-faq__grid--stack { grid-template-columns: minmax(0, 1fr); gap: 44px; max-width: 900px; }
.gd .gd-faq__grid--stack .gd-faq__head { text-align: center; }
.gd .gd-faq__grid--stack .gd-kicker { justify-content: center; }
.gd .gd-faq__head .gd-h2 { position: sticky; top: var(--gd-sticky-top); }
.gd .gd-faq__grid--stack .gd-faq__head .gd-h2 { position: static; }
.gd .gd-faq__item { border-bottom: 1px solid var(--gd-line-d); }
.gd .gd-faq__item:first-child { border-top: 1px solid var(--gd-line-d); }
.gd .gd-faq__q {
	position: relative; display: flex; width: 100%; padding: 26px 64px 26px 0; text-align: left;
	font-size: clamp(19px, 1.8vw, 23px); letter-spacing: -.02em; line-height: 1.3; color: var(--gd-bright);
	--gd-bfg: var(--gd-bright);
}
.gd .gd-faq__pm { position: absolute; right: 0; top: 50%; width: 42px; height: 42px; margin-top: -21px; border-radius: 50%; border: 1px solid var(--gd-line-d); transition: background-color .3s, transform .4s var(--gd-ease); }
.gd .gd-faq__pm::before, .gd .gd-faq__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.6px; margin: -.8px 0 0 -7px; background: var(--gd-lime); transition: transform .4s var(--gd-ease), background-color .3s; }
.gd .gd-faq__pm::after { transform: rotate(90deg); }
.gd .gd-faq__item.is-open .gd-faq__pm { background: var(--gd-lime); transform: rotate(180deg); }
.gd .gd-faq__item.is-open .gd-faq__pm::before, .gd .gd-faq__item.is-open .gd-faq__pm::after { background: var(--gd-ink); }
.gd .gd-faq__item.is-open .gd-faq__pm::after { transform: rotate(0); }
.gd .gd-faq__a { overflow: hidden; height: 0; transition: height .45s var(--gd-ease); }
.gd .gd-faq__item.is-open .gd-faq__a { height: auto; }
.gd .gd-faq__ai { padding: 0 64px 26px 0; color: var(--gd-sage); max-width: 64ch; font-size: 16px; line-height: 1.65; }
.gd .gd-faq__ai a { color: var(--gd-lime); text-decoration: underline; text-underline-offset: 3px; }

/* =====================================================================
   CTA
   ===================================================================== */
.gd.gd-cta { padding: 120px 0 96px; }
.gd .gd-cta__title { font-family: inherit; margin-top: 26px; font-size: clamp(46px, 7.4vw, 120px); font-weight: 420; letter-spacing: -.05em; line-height: .95; color: var(--gd-lime); }
.gd .gd-cta__ln { display: block; will-change: transform; }
.gd .gd-cta__ln + .gd-cta__ln { padding-left: 12%; color: var(--gd-bright); }
.gd .gd-cta__row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 56px; align-items: end; }
.gd .gd-cta__text { color: var(--gd-sage); max-width: 42ch; font-size: 17px; }
.gd .gd-cta__btns { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.gd.gd-ftr { margin-bottom: var(--gd-gutter); padding: 88px 0 0; }
.gd .gd-ftr__cols { display: grid; grid-template-columns: 1.6fr repeat(var(--gd-ftr-cols, 2), minmax(0, 1fr)); gap: 32px; }
.gd .gd-ftr__brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 20px; letter-spacing: -.02em; color: var(--gd-bright); }
.gd .gd-ftr__logo { height: 38px; width: auto; }
/* Built-in Grimdrop logo (assets/brand): a little air above and below so the
   widget's logo height reads as the box, not the letters (40px box, 28px logo).
   The widgets' own height controls still win. */
.gd .gd-logo--brand { padding-block: 6px; box-sizing: border-box; width: auto; max-width: 100%; }
.gd .gd-hdr__logo.gd-logo--brand { height: 40px; }
.gd .gd-ftr__logo.gd-logo--brand { height: 44px; }
.gd .gd-ftr__logomask { display: inline-block; background: var(--gd-lime); -webkit-mask: var(--gd-logo) center / contain no-repeat; mask: var(--gd-logo) center / contain no-repeat; }
.gd .gd-ftr__logomask--light { background: var(--gd-bright); }
.gd .gd-ftr__logomask .gd-ftr__logo { opacity: 0; }
.gd .gd-ftr__mark { width: 30px; height: 30px; }
.gd .gd-ftr__tagline { color: var(--gd-sage); max-width: 30ch; margin-top: 16px; font-size: 15px; line-height: 1.6; }
.gd .gd-ftr__cta { margin-top: 22px; }
.gd .gd-ftr__coltitle { font-size: 14px; color: var(--gd-sage-2); font-weight: 500; margin-bottom: 14px; }
.gd .gd-ftr__link { display: block; padding: 4px 0; font-size: 15px; color: var(--gd-pale); transition: color .2s; }
.gd .gd-ftr__link:hover { color: var(--gd-lime); }
.gd .gd-ftr__wordmark { margin: 64px 0 0; padding-bottom: .02em; text-align: center; white-space: nowrap; font-size: 21.5vw; line-height: .92; font-weight: 500; letter-spacing: -.07em; color: var(--gd-lime); user-select: none; pointer-events: none; will-change: transform; }
.gd .gd-ftr__legal { position: relative; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 22px 0 26px; border-top: 1px solid var(--gd-line-d); font-size: 13px; color: var(--gd-sage-2); }
.gd .gd-ftr__legallinks { display: flex; gap: 18px; flex-wrap: wrap; }
.gd .gd-ftr__legallinks a { color: var(--gd-sage-2); transition: color .2s; }
.gd .gd-ftr__legallinks a:hover { color: var(--gd-lime); }
.gd.gd-ftr--nomark .gd-ftr__legal { margin-top: 64px; }

/* Mobile app-style bottom bar. Hidden here; each instance prints a media
   query that sets display:flex below its own breakpoint. */
.gd.gd-bnav {
	display: none; position: fixed; z-index: 9990;
	left: var(--gd-gutter); right: var(--gd-gutter); bottom: calc(var(--gd-gutter) + env(safe-area-inset-bottom, 0px));
	justify-content: space-around; align-items: stretch; gap: 2px; padding: 8px 6px;
	background: rgba(19, 38, 29, .94); border: 1px solid var(--gd-line-d); border-radius: 22px;
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .55);
}
.gd .gd-bnav__item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--gd-sage); transition: color .2s; }
.gd .gd-bnav__ico { width: 46px; height: 30px; border-radius: 999px; display: grid; place-items: center; transition: background-color .2s; }
.gd .gd-bnav__item i { font-size: 20px; line-height: 1; }
.gd .gd-bnav__item svg { width: 20px; height: 20px; fill: currentColor; }
.gd .gd-bnav__label { font-size: 11px; font-weight: 500; }
.gd .gd-bnav__item.is-active { color: var(--gd-lime); }
.gd .gd-bnav__item.is-active .gd-bnav__ico { background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-bnav__item.is-active .gd-bnav__ico i { color: var(--gd-forest); }

/* =====================================================================
   INNER PAGES (2.1): About, Contact, Blog, Post, Account, Product card
   ===================================================================== */

/* ---------- About ---------- */
.gd.gd-about { display: block; }
.gd .gd-about__hero { background: linear-gradient(135deg, var(--gd-mist) 0%, var(--gd-mist-2) 100%); padding: clamp(80px, 11vw, 150px) 0 clamp(56px, 7vw, 96px); }
.gd .gd-about__herogrid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.gd .gd-about__h1 { margin-top: 24px; font-size: clamp(46px, 6.6vw, 104px); font-weight: 400; letter-spacing: -.045em; line-height: .98; color: var(--gd-ink); text-wrap: balance; }
.gd .gd-about__sub { max-width: 46ch; color: var(--gd-ink-2); }
.gd .gd-about__story { background: var(--gd-paper); padding: clamp(72px, 9vw, 120px) 0; }
.gd .gd-about__storygrid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gd .gd-about__storytext .gd-h2 { margin-top: 0; max-width: 16ch; }
.gd .gd-about__body { margin-top: 24px; font-size: 17px; line-height: 1.7; color: var(--gd-ink-2); max-width: 54ch; }
.gd .gd-about__body p { margin: 0 0 14px; }
.gd .gd-about__quote { position: relative; margin: 0; padding: clamp(28px, 4vw, 48px); border-radius: var(--gd-r-md); background: var(--gd-forest); color: var(--gd-bright); }
.gd .gd-about__qmark { width: 40px; height: 30px; color: var(--gd-lime); margin-bottom: 22px; }
.gd .gd-about__pull { margin: 0; font-size: clamp(22px, 2.3vw, 30px); line-height: 1.3; letter-spacing: -.02em; font-weight: 420; }
.gd .gd-about__pull .mark { color: var(--gd-forest); }
.gd .gd-about__stats { background: var(--gd-paper); padding: 14px; }
.gd .gd-about__stats .gd-inner { width: 100%; }
.gd .gd-about__statgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.gd .gd-about__stat { display: flex; flex-direction: column; justify-content: flex-end; min-height: 220px; padding: 26px; border-radius: 22px; background: #E3EBD6; }
.gd .gd-about__stat--hl { background: var(--gd-lime); }
.gd .gd-about__n { font-size: clamp(46px, 5vw, 72px); font-weight: 400; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--gd-ink); }
.gd .gd-about__l { margin-top: 10px; font-size: 15px; line-height: 1.45; color: var(--gd-muted); max-width: 24ch; }
.gd .gd-about__stat--hl .gd-about__l { color: #34482F; }
.gd .gd-about__diff { padding: clamp(80px, 10vw, 120px) 0; }
.gd .gd-about__diffhead { max-width: 640px; margin-bottom: 48px; }
.gd .gd-about__diffgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gd .gd-about__dcard { display: flex; flex-direction: column; padding: 14px 14px 26px; border-radius: 22px; background: var(--gd-forest-2); border: 1px solid var(--gd-line-d); }
.gd .gd-about__dico { height: 150px; margin-bottom: 22px; }
.gd .gd-about__dt { margin: 0 12px 8px; font-size: 22px; font-weight: 450; letter-spacing: -.025em; line-height: 1.15; color: var(--gd-bright); }
.gd .gd-about__dd { margin: 0 12px; font-size: 15px; line-height: 1.6; color: var(--gd-sage); }

/* ---------- Contact ---------- */
.gd.gd-contact { background: var(--gd-paper); padding: clamp(72px, 9vw, 130px) 0; }
.gd .gd-contact__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.gd .gd-contact__h1 { margin-top: 22px; font-size: clamp(44px, 5.6vw, 84px); font-weight: 400; letter-spacing: -.045em; line-height: .98; color: var(--gd-ink); }
.gd .gd-contact__intro { margin-top: 22px; }
.gd .gd-contact__methods { margin-top: 34px; border-top: 1px solid var(--gd-line); }
.gd .gd-contact__method { display: grid; grid-template-columns: 44px 110px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--gd-line); }
.gd .gd-contact__ico { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--gd-forest); color: var(--gd-lime); font-size: 16px; }
.gd .gd-contact__ico svg { width: 18px; height: 18px; fill: currentColor; }
.gd .gd-contact__mk { font-size: 14px; color: var(--gd-muted); }
.gd .gd-contact__mv { font-size: 16px; color: var(--gd-ink); overflow-wrap: anywhere; }
.gd a.gd-contact__mv { text-decoration: underline; text-decoration-color: var(--gd-volt); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.gd a.gd-contact__mv:hover { text-decoration-color: var(--gd-leaf); }
.gd .gd-contact__note { margin-top: 26px; padding: 16px 18px; border-radius: 18px; background: rgba(210, 242, 127, .35); font-size: 14.5px; line-height: 1.55; color: var(--gd-ink-2); }
.gd .gd-contact__note b, .gd .gd-contact__note strong { color: var(--gd-ink); font-weight: 600; }
.gd .gd-contact__form { padding: clamp(24px, 3.4vw, 40px); border-radius: var(--gd-r-md); background: var(--gd-white); border: 1px solid var(--gd-hair); }
.gd .gd-contact__ft { margin: 0 0 22px; font-size: 24px; font-weight: 450; letter-spacing: -.02em; color: var(--gd-ink); }
.gd .gd-contact__empty { color: var(--gd-muted); }
.gd .gd-contact__form .qtcf { background: none !important; border: 0 !important; padding: 0 !important; max-width: none !important; border-radius: 0 !important; }
.gd .gd-contact__form .wpforms-container { margin: 0; }
.gd .gd-contact__form .wpforms-form .wpforms-field-label { font-family: var(--gd-font) !important; font-weight: 500 !important; font-size: 13.5px !important; color: var(--gd-ink) !important; margin-bottom: 7px !important; }
.gd .gd-contact__form .wpforms-form :is(input[type=text], input[type=email], input[type=url], input[type=tel], textarea, select) {
	width: 100% !important; max-width: none !important; background: #F5F9EC !important; border: 1px solid #D3DDC8 !important; border-radius: 14px !important;
	padding: 13px 15px !important; font-family: var(--gd-font) !important; font-size: 15px !important; color: var(--gd-ink) !important; box-shadow: none !important; height: auto !important;
}
.gd .gd-contact__form .wpforms-form :is(input, textarea, select):focus { outline: none !important; background: #fff !important; border-color: var(--gd-leaf) !important; box-shadow: 0 0 0 4px rgba(31, 77, 43, .12) !important; }
.gd .gd-contact__form .wpforms-form .wpforms-required-label { color: var(--gd-leaf) !important; }
.gd .gd-contact__form .wpforms-form button[type=submit] {
	width: 100% !important; height: auto !important; background: var(--gd-leaf) !important; color: var(--gd-lime) !important; font-family: var(--gd-font) !important;
	font-weight: 500 !important; font-size: 15.5px !important; border: 0 !important; border-radius: 999px !important; padding: 16px 26px !important; box-shadow: 0 0 0 4px rgba(31, 77, 43, .1) !important;
}
.gd .gd-contact__form .wpforms-form button[type=submit]:hover { background: var(--gd-leaf-2) !important; }

/* ---------- Blog ---------- */
.gd.gd-blog { background: var(--gd-paper); padding: clamp(72px, 9vw, 120px) 0; }
.gd .gd-blog__head { margin-bottom: 44px; max-width: 760px; }
.gd .gd-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gd .gd-blog__card { display: flex; flex-direction: column; padding: 10px; border-radius: 22px; background: var(--gd-white); border: 1px solid var(--gd-hair); transition: box-shadow .25s, transform .35s var(--gd-ease); }
.gd .gd-blog__card:hover { transform: translateY(-2px); box-shadow: 0 16px 34px -24px rgba(14, 28, 20, .45); }
.gd .gd-blog__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; border-radius: 16px; background: #EEF3E4; }
.gd .gd-blog__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--gd-ease); }
.gd .gd-blog__card:hover .gd-blog__media img { transform: scale(1.03); }
.gd .gd-blog__ph { display: grid; place-items: center; height: 100%; }
.gd .gd-blog__ph svg { width: 54px; height: 54px; opacity: .9; }
.gd .gd-blog__body { display: flex; flex-direction: column; flex: 1; padding: 16px 12px 14px; }
.gd .gd-blog__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.gd .gd-blog__pill { font-size: 12px; font-weight: 500; padding: 4px 10px; border-radius: 999px; background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-blog__date { font-size: 13px; color: var(--gd-muted); font-variant-numeric: tabular-nums; }
.gd .gd-blog__title { margin: 0; font-size: 20px; font-weight: 450; line-height: 1.25; letter-spacing: -.02em; }
.gd .gd-blog__title a { color: var(--gd-ink); }
.gd .gd-blog__title a:hover { color: var(--gd-leaf); }
.gd .gd-blog__excerpt { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: var(--gd-muted); }
.gd .gd-blog__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 18px; font-size: 14.5px; font-weight: 500; color: var(--gd-leaf); align-self: flex-start; }
.gd .gd-blog__more svg { width: 13px; height: 13px; transition: transform .3s var(--gd-ease); }
.gd .gd-blog__more:hover svg { transform: translateX(3px); }
.gd .gd-blog__empty { color: var(--gd-muted); font-size: 16px; }

/* ---------- Post ---------- */
.gd.gd-post { background: var(--gd-paper); padding: clamp(56px, 8vw, 110px) clamp(18px, 4vw, 48px); }
.gd .gd-post__col { max-width: 760px; margin-inline: auto; }
.gd .gd-post__back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 26px; font-size: 14px; color: var(--gd-muted); }
.gd .gd-post__back svg { width: 14px; height: 14px; }
.gd .gd-post__back:hover { color: var(--gd-ink); }
.gd .gd-post__pill { display: inline-block; margin-bottom: 18px; font-size: 12px; font-weight: 500; padding: 4px 10px; border-radius: 999px; background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-post__title { margin: 0; font-size: clamp(36px, 4.6vw, 62px); font-weight: 400; letter-spacing: -.04em; line-height: 1.03; color: var(--gd-ink); text-wrap: balance; }
.gd .gd-post__title a { color: inherit; }
.gd .gd-post__meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; font-size: 14px; color: var(--gd-muted); }
.gd .gd-post__media { max-width: 1100px; margin: 40px auto 0; aspect-ratio: 16 / 9; border-radius: var(--gd-r-md); overflow: hidden; background: #EEF3E4; }
.gd .gd-post__media img { width: 100%; height: 100%; object-fit: cover; }
.gd .gd-post__content { margin-top: 40px; font-size: 17.5px; line-height: 1.75; color: var(--gd-ink-2); }
.gd .gd-post__content > * + * { margin-top: 1.1em; }
.gd .gd-post__content :is(h2, h3, h4) { margin-top: 1.7em; font-weight: 450; letter-spacing: -.02em; line-height: 1.2; color: var(--gd-ink); }
.gd .gd-post__content h2 { font-size: 30px; }
.gd .gd-post__content h3 { font-size: 23px; }
.gd .gd-post__content a { color: var(--gd-leaf); text-decoration: underline; text-decoration-color: var(--gd-volt); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.gd .gd-post__content :is(ul, ol) { padding-left: 1.2em; list-style: revert; }
.gd .gd-post__content li + li { margin-top: .4em; }
.gd .gd-post__content li::marker { color: var(--gd-leaf); }
.gd .gd-post__content blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--gd-volt); color: var(--gd-ink); font-size: 1.1em; }
.gd .gd-post__content img { border-radius: 16px; height: auto; }
.gd .gd-post__content code { padding: 1px 6px; border-radius: 6px; background: #E9F0DD; font-size: .9em; }
.gd .gd-post__empty { padding: 16px; border: 1px dashed var(--gd-sage); border-radius: 16px; color: var(--gd-muted); font-size: 13px; }

/* ---------- Account shell ---------- */
.gd.gd-acct { background: var(--gd-paper); padding: clamp(56px, 7vw, 96px) 0 clamp(40px, 6vw, 80px); }
.gd .gd-acct__intro, .gd .gd-acct__pending { max-width: 640px; margin: 0 auto 40px; text-align: center; }
.gd .gd-acct__intro .gd-lede, .gd .gd-acct__pending .gd-lede { margin: 18px auto 0; max-width: 48ch; }
.gd .gd-acct__tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: var(--gd-forest); color: var(--gd-lime); font-size: 13px; }
.gd .gd-acct__tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gd-lime); }
.gd .gd-acct__h1 { margin-top: 20px; font-size: clamp(38px, 5vw, 68px); font-weight: 400; letter-spacing: -.045em; line-height: 1; color: var(--gd-ink); }
.gd .gd-acct__dash { margin-bottom: 36px; }
.gd .gd-acct__dash .gd-acct__h1 { font-size: clamp(34px, 4vw, 56px); }
.gd .gd-acct__badge { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-acct__badge svg { width: 30px; height: 30px; }
.gd .gd-acct__steps { margin: 32px 0 0; text-align: left; border-radius: 22px; overflow: hidden; background: var(--gd-white); border: 1px solid var(--gd-hair); }
.gd .gd-acct__step { display: flex; gap: 16px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--gd-hair); }
.gd .gd-acct__step:last-child { border-bottom: 0; }
.gd .gd-acct__mark { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 600; background: #E7EDDF; color: var(--gd-muted); }
.gd .gd-acct__mark svg { width: 15px; height: 15px; }
.gd .gd-acct__step--done .gd-acct__mark { background: var(--gd-leaf); color: var(--gd-lime); }
.gd .gd-acct__step--now .gd-acct__mark { background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-acct__step b { display: block; font-size: 16px; font-weight: 500; color: var(--gd-ink); }
.gd .gd-acct__step small { display: block; margin-top: 2px; font-size: 14px; color: var(--gd-muted); }
.gd .gd-acct__step--next b { color: var(--gd-muted); }
.gd .gd-acct__woo--split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; max-width: 1080px; margin: 0 auto; }
.gd .gd-acct__points { display: grid; gap: 10px; padding: 26px; border-radius: 22px; background: var(--gd-forest); }
.gd .gd-acct__points li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.45; color: var(--gd-bright); }
.gd .gd-acct__points svg { flex: 0 0 auto; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--gd-lime); color: var(--gd-forest); margin-top: 1px; }
.gd .gd-acct__woo--split .gd-acct__engine #customer_login.u-columns { margin: 0 !important; max-width: none !important; }
.gd .gd-acct__note { padding: 24px; border: 1px dashed var(--gd-sage); border-radius: 18px; text-align: center; color: var(--gd-muted); }

/* ---------- Product card ---------- */
.gd.gd-prod { display: flex; flex-direction: column; max-width: 360px; padding: 10px 10px 14px; border-radius: 22px; background: var(--gd-white); border: 1px solid var(--gd-hair); }
.gd .gd-prod__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1; border-radius: 16px; background: #F1F4EC; }
.gd .gd-prod__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--gd-ease); }
.gd.gd-prod:hover .gd-prod__media img { transform: scale(1.03); }
.gd .gd-prod__stock { position: absolute; top: 8px; left: 8px; font-size: 11.5px; font-weight: 600; padding: 4px 9px; border-radius: 999px; line-height: 1.2; }
.gd .gd-prod__stock--in { background: var(--gd-lime); color: var(--gd-forest); }
.gd .gd-prod__stock--out { background: var(--gd-forest); color: var(--gd-cream); }
.gd .gd-prod__body { display: flex; flex-direction: column; flex: 1; padding: 14px 6px 0; }
.gd .gd-prod__title { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.3; letter-spacing: -.01em; }
.gd .gd-prod__title a { color: var(--gd-ink); }
.gd .gd-prod__excerpt { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--gd-muted); }
.gd .gd-prod__price { margin-top: 10px; font-size: 21px; font-weight: 500; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--gd-ink); }
.gd .gd-prod__price del { opacity: .45; font-weight: 400; font-size: .75em; margin-right: 6px; }
.gd .gd-prod__price ins { text-decoration: none; }
.gd .gd-prod__btns { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.gd .gd-prod__btns .gd-btn { height: 46px; width: 100%; font-size: 14px; }
.gd .gd-prod__import.is-added { --gd-bbg: var(--gd-lime); --gd-bbd: var(--gd-lime); --gd-bfg: var(--gd-forest); }
.gd .gd-prod__import.is-loading { opacity: .6; pointer-events: none; }
.gd .gd-prod__note { padding: 16px; border: 1px dashed var(--gd-sage); border-radius: 16px; color: var(--gd-muted); font-size: 13px; }

@media (max-width: 980px) {
	.gd .gd-about__herogrid, .gd .gd-about__storygrid, .gd .gd-contact__grid, .gd .gd-acct__woo--split { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.gd .gd-about__statgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gd .gd-about__diffgrid, .gd .gd-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.gd .gd-about__stat { min-height: 170px; padding: 20px; }
	.gd .gd-about__diffgrid, .gd .gd-blog__grid { grid-template-columns: minmax(0, 1fr); }
	.gd .gd-about__dico { height: 110px; }
	.gd .gd-contact__method { grid-template-columns: 44px minmax(0, 1fr); }
	.gd .gd-contact__ico { grid-row: span 2; }
	.gd .gd-contact__method { row-gap: 2px; }
	.gd .gd-acct__step { padding: 16px 18px; }
}

/* =====================================================================
   Motion: scroll reveal. Hidden only once JS has confirmed it can run.
   ===================================================================== */
.gd-js .gd .gd-rv { opacity: 0; transform: translateY(30px); transition: opacity 1s var(--gd-ease-out), transform 1s var(--gd-ease-out); }
.gd-js .gd .gd-rv.is-in { opacity: 1; transform: none; }
.gd-js .gd .gd-rv.gd-d1 { transition-delay: .08s; }
.gd-js .gd .gd-rv.gd-d2 { transition-delay: .16s; }
.gd-js .gd .gd-rv.gd-d3 { transition-delay: .24s; }
.elementor-editor-active .gd .gd-rv,
.elementor-editor-active .gd .gd-hero__title .gd-ln > span,
.elementor-editor-active .gd .gd-dsh { opacity: 1 !important; transform: none !important; }

/* =====================================================================
   eBay export v2 snippet: the selection bar no longer follows the scroll
   (the snippet makes it sticky); a floating pill takes over while products
   are ticked, exactly like the product grid. The pill is built by gd-v2.js.
   ===================================================================== */
body .gde2g .gde2g__bar { position: static; top: auto; }
.gd-e2float {
	position: sticky; z-index: 30; bottom: calc(14px + env(safe-area-inset-bottom, 0px));
	display: flex; align-items: center; gap: 6px; width: max-content; max-width: 100%; margin: 20px auto 0;
	padding: 6px 6px 6px 20px; border-radius: 999px; background: #13261D; color: #F2F9E4;
	font-family: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;
	box-shadow: 0 20px 44px -18px rgba(14, 28, 20, .6);
	opacity: 0; visibility: hidden; transform: translateY(14px);
	transition: opacity .3s cubic-bezier(.2, .8, .2, 1), transform .3s cubic-bezier(.2, .8, .2, 1), visibility .3s;
}
.gd-e2float.is-on { opacity: 1; visibility: visible; transform: none; }
.gd-e2float__n { font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; margin-right: 6px; }
.gd-e2float :is(.gd-e2float__clear, .gd-e2float__go) {
	height: 42px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer;
	font: inherit; font-size: 14px; line-height: 1; letter-spacing: 0; text-transform: none; box-shadow: none; white-space: nowrap;
	transition: background-color .2s;
}
.gd-e2float .gd-e2float__clear { background: rgba(210, 242, 127, .08); color: #9DB3A2; }
.gd-e2float .gd-e2float__clear:hover { background: rgba(210, 242, 127, .16); color: #F2F9E4; }
.gd-e2float .gd-e2float__go { background: #D2F27F; color: #13261D; font-weight: 500; padding: 0 20px; }
.gd-e2float .gd-e2float__go:hover { background: #BDEB45; color: #13261D; }
@media (max-width: 768px) { body:has(.gd-bnav, .gdmn) .gd-e2float { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); } }
@media (max-width: 560px) {
	.gd-e2float { width: 100%; gap: 2px; padding: 5px 5px 5px 16px; }
	.gd-e2float__n { font-size: 13px; margin-right: auto; }
	.gd-e2float :is(.gd-e2float__clear, .gd-e2float__go) { padding: 0 12px; font-size: 13px; }
	.gd-e2float .gd-e2float__go { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}

/* =====================================================================
   RESELLER DASHBOARD (My Account, live) - the homepage preview, for real.
   Reuses every .gd-dsh__* rule above; this block only adapts it to links,
   live data and the WooCommerce account content it frames.
   ===================================================================== */
.gd.gd-acct--app { background: transparent; padding: 0; }
.gd.gd-acct--app > .gd-inner { width: 100%; }
.gd .gd-dsh--live { padding: clamp(10px, 1.4vw, 16px); border: 0; border-radius: var(--gd-r); background: #F4F7EF; min-height: 640px; }
.gd-js .gd .gd-dsh--live, .gd-js .gd .gd-dsh--live.is-in { transform: none; transition: none; }
.gd-dsh--live :where(a) { color: inherit; text-decoration: none; }
/* The dashboard frame and overview are inside .gd-foreign (WooCommerce
   content), so they get their own guard against the theme's underline. */
html .gd-dsh--live :is(.gd-dsh__side, .gd-dsh__top, .gd-dhome) a,
html .gd-dsh--live :is(.gd-dsh__side, .gd-dsh__top, .gd-dhome) a:is(:hover, :focus, :active) { text-decoration: none; }
html .gd-dsh--live :is(.gd-dsh__side, .gd-dsh__top, .gd-dhome) a:where(:not([class*="gd-btn"])):where(:hover, :active) { color: inherit; }
.gd-dsh--live :where(ul) { margin: 0; padding: 0; list-style: none; }
.gd-dsh--live :where(h1, h2, p) { margin: 0; }
.gd .gd-dsh--live .gd-dsh__side { align-self: start; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px); min-height: 520px; }
.gd .gd-dsh--live .gd-dsh__logo { color: var(--gd-forest); }
.gd .gd-dsh--live .gd-dsh__sbtn { display: inline-flex; align-items: center; color: var(--gd-ink); }
.gd .gd-dsh--live .gd-dsh__sbtn:hover { --gd-bbg: #F1F4EC; }
.gd .gd-dsh--live .gd-dsh__sbtn.is-on { --gd-bbg: var(--gd-forest); }
.gd .gd-dsh--live .gd-dsh__sbtn:focus-visible, .gd .gd-dsh--live .gd-dsh__tab:focus-visible { outline: 2px solid var(--gd-leaf); outline-offset: 2px; }
.gd .gd-dsh--live .gd-dsh__main { align-content: start; }
.gd .gd-dsh__top .gd-dsh__h { font-family: inherit; font-size: 26px; font-weight: 450; letter-spacing: -.03em; line-height: 1.1; color: var(--gd-ink); }
.gd .gd-dsh__top .gd-dsh__h + small { display: block; margin-top: 4px; }
.gd .gd-dsh--live .gd-dsh__tab { display: inline-flex; align-items: center; color: var(--gd-ink); }
.gd .gd-dsh--live .gd-dsh__tab:not(.is-on):hover { --gd-bbg: #F1F4EC; }
.gd .gd-dsh__promo .gd-dsh__ptitle { position: relative; z-index: 1; font-family: inherit; font-size: clamp(22px, 2.3vw, 30px); font-weight: 500; letter-spacing: -.03em; line-height: 1.12; margin-bottom: 6px; color: var(--gd-ink); }
.gd .gd-dsh__promo .gd-dsh__ptitle + p { position: relative; z-index: 1; color: #34482F; max-width: 52ch; font-size: 16px; line-height: 1.5; }
.gd .gd-dsh--live .gd-dsh__import { position: relative; z-index: 1; }
.gd .gd-dsh__chip--warn { background: #FCE9D6; color: #A04C00; }
.gd .gd-dsh__meta-r { text-align: right; }
.gd .gd-dsh__neg { color: #A04C00; }
.gd .gd-dsh--live .gd-dsh__amt { line-height: 1.05; }
.gd .gd-dsh--live .gd-dsh__act { color: var(--gd-ink); align-content: center; }
.gd .gd-dsh__tick { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; background: var(--gd-leaf); color: var(--gd-lime); }
.gd .gd-dsh__tick svg { width: 11px; height: 11px; }
.gd .gd-dsh__tick--off { background: transparent; border: 1.5px solid #CBD3C3; }
.gd .gd-dsh--live .gd-dsh__list b a:hover { color: var(--gd-leaf); }
.gd .gd-dsh--live .gd-dsh__thumb svg { color: var(--gd-ink); }
.gd .gd-dsh__more { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--gd-muted); }
.gd .gd-dsh--live .gd-dsh__more:hover { color: var(--gd-ink); }
.gd .gd-dsh__payform { margin: 0; }
.gd .gd-dsh--live .gd-dsh__pay {
	display: flex; align-items: center; justify-content: center; border: 0; cursor: pointer;
	font-family: inherit; line-height: 1; text-decoration: none; text-transform: none; letter-spacing: 0; box-shadow: none;
	color: var(--gd-bfg); background-color: var(--gd-bbg);
}
.gd .gd-dsh--live .gd-dsh__pay:hover { --gd-bbg: var(--gd-leaf); color: var(--gd-bfg); }
.gd .gd-dsh--live .gd-dsh__pay--short { --gd-bbg: var(--gd-lime); --gd-bfg: var(--gd-forest); }
.gd .gd-dsh--live .gd-dsh__pay--short:hover { --gd-bbg: var(--gd-volt); }
.gd .gd-dsh--live .gd-dsh__log { min-height: 0; line-height: 1.45; }
.gd .gd-dsh__empty { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 16px; background: #F7F9F3; border: 1px solid #EDF0E8; }
.gd .gd-dsh__empty .gd-dsh__thumb { flex: 0 0 36px; color: var(--gd-leaf); }
.gd .gd-dsh__empty p { font-size: 13.5px; line-height: 1.5; color: var(--gd-muted); }
.gd .gd-dsh--live .gd-dsh__feed { grid-template-columns: minmax(0, 1fr); }
.gd .gd-dsh--live .gd-dsh__feed li { min-width: 0; }
.gd .gd-dsh--live .gd-dsh__feed li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gd .gd-dsh--live .gd-dsh__olink { border: 0; color: inherit; }
.gd .gd-dsh--live .gd-dsh__fnote { line-height: 1.5; }
.gd .gd-dsh--live .gd-btn { text-decoration: none; }
.gd .gd-dhome { display: grid; gap: 14px; }

/* The account content inside the frame: WooCommerce's own menu is replaced
   by the rail and tabs; each tab's content sits in one white panel. */
.gd.gd-acct--app .gd-acct__engine .woocommerce { display: block !important; margin: 0 !important; }
.gd.gd-acct--app .gd-acct__engine .woocommerce::before, .gd.gd-acct--app .gd-acct__engine .woocommerce::after { display: none !important; }
.gd.gd-acct--app .woocommerce-MyAccount-navigation { display: none !important; }
.gd.gd-acct--app .woocommerce-MyAccount-content {
	float: none !important; width: 100% !important; margin: 0 !important; min-width: 0;
	background: var(--gd-white); border: 1px solid #E3E8DC; border-radius: 22px; padding: clamp(18px, 2.4vw, 30px); box-shadow: none;
}
.gd.gd-acct--app .woocommerce-MyAccount-content:has(> .gd-dhome) { background: transparent; border: 0; padding: 0; }
.gd.gd-acct--app .woocommerce-MyAccount-content:has(> .gd-dhome) > :is(p, div:has(> .gdc-btn), div[style*="3DDC84"]) { display: none !important; }
.gd.gd-acct--app .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 14px; }
/* Snippet tabs that bring their own card (Inventory Feed): one panel, not two. */
.gd.gd-acct--app .woocommerce-MyAccount-content > div[style*="FBF9F3"] { background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
body .gd.gd-acct--app .woocommerce-MyAccount-content > .qtbo > .qtbo__card--narrow { background: transparent; border: 0; padding: 0; box-shadow: none; max-width: 720px; margin: 0; }
body .gd.gd-acct--app .qtbo__card--narrow > .qtbo__sq { display: none; }

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width: 1180px) {
	.gd .gd-dsh__grid { grid-template-columns: 1fr 1fr; }
	.gd .gd-dsh__grid .gd-dsh__panel--queue { grid-column: 1 / -1; order: -1; }
	.gd .gd-dsh--live .gd-dsh__top { flex-direction: column; align-items: flex-start; }
	.gd .gd-nums__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gd .gd-grid__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
	.gd .gd-hero__grid { grid-template-columns: 1fr; min-height: 0; }
	.gd .gd-hero__left { border-right: 0; }
	.gd .gd-hero__right { min-height: 0; height: min(540px, 108vw); border-top: 1px solid var(--gd-line); }
	.gd .gd-wallet__head, .gd .gd-nums__head, .gd .gd-why__grid, .gd .gd-why__grid--flip, .gd .gd-faq__grid, .gd .gd-cta__row { grid-template-columns: 1fr; gap: 28px; }
	.gd .gd-why__grid--flip .gd-why__panel { order: 0; }
	.gd .gd-faq__head .gd-h2 { position: static; }
	.gd .gd-steps__row { grid-template-columns: auto minmax(0, 1fr) 48px; gap: 18px; }
	.gd .gd-steps__num { grid-row: 1 / 3; align-self: start; }
	.gd .gd-steps__d { grid-column: 2 / 4; }
	.gd .gd-steps__go { width: 48px; height: 48px; grid-row: 1; grid-column: 3; }
	.gd .gd-wallet__notes { grid-template-columns: 1fr; gap: 0; }
	.gd .gd-wallet__note { padding: 18px 0; }
	.gd .gd-dash__feats { grid-template-columns: 1fr; }
	.gd .gd-ftr__cols { grid-template-columns: repeat(var(--gd-ftr-cols, 2), minmax(0, 1fr)); }
	.gd .gd-ftr__cols > :first-child { grid-column: 1 / -1; }
	.gd .gd-cta__btns { justify-content: flex-start; }
	.gd .gd-grid__lock { grid-template-columns: auto minmax(0, 1fr); }
	.gd .gd-grid__lockbtns { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.gd .gd-grid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.gd .gd-grid__bar { flex-direction: column; align-items: stretch; }
	.gd .gd-grid__actions { justify-content: space-between; }
	.gd .gd-grid__export { flex: 1 1 100%; }
	/* On phones only the action row sticks; the heading scrolls away. */
}
@media (max-width: 680px) {
	.gd .gd-hero__top, .gd .gd-hero__mid, .gd .gd-hero__bot { padding-left: 18px; padding-right: 18px; }
	.gd .gd-hero__cta .gd-btn { flex: 1 1 auto; }
	.gd .gd-float--stat { left: 14px; top: 14px; min-width: 0; max-width: 62%; padding: 12px; }
	.gd .gd-float--stat b { font-size: 28px; }
	.gd .gd-float--live { left: 14px; right: 14px; bottom: 14px; max-width: none; }
	.gd .gd-wallet__head { padding-top: 84px; }
	.gd .gd-wcard__front { padding: 20px; }
	.gd .gd-wallet__notes { padding-bottom: 72px; }
	.gd.gd-steps, .gd.gd-nums, .gd.gd-dash, .gd.gd-grid { padding: 84px 0; }
	.gd.gd-why { padding: 8px; }
	.gd .gd-why__panel { min-height: 520px; padding: 24px; }
	.gd .gd-svc { grid-template-columns: 84px minmax(0, 1fr); padding: 12px 16px 12px 12px; }
	.gd .gd-svc__ill { height: 84px; }
	.gd .gd-svc__big { font-size: 23px; }
	.gd .gd-nums__grid { grid-template-columns: 1fr; grid-auto-rows: 190px; }
	.gd .gd-num-card--wide { grid-column: auto; }
	.gd .gd-num-card--tall { grid-row: span 1; }
	.gd .gd-num-card__wave { display: none; }
	.gd .gd-dsh { grid-template-columns: minmax(0, 1fr); padding: 10px; border-radius: 22px; }
	.gd-js .gd .gd-dsh { transform: none; }
	.gd .gd-dsh__side { flex-direction: row; justify-content: center; padding: 8px; border-radius: 999px; }
	.gd .gd-dsh__logo { margin: 0 6px 0 0; }
	.gd .gd-dsh__sp { display: none; }
	.gd .gd-dsh__grid { grid-template-columns: minmax(0, 1fr); }
	.gd .gd-dsh__promo { padding: 22px; }
	.gd .gd-dsh__promo .gd-btn { width: 100%; }
	.gd .gd-dsh__shape { right: -60px; }
	.gd .gd-dsh--live { min-height: 0; }
	.gd .gd-dsh--live .gd-dsh__side { position: static; min-height: 0; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
	.gd .gd-dsh--live .gd-dsh__sbtn { flex: 0 0 auto; width: 38px; height: 38px; }
	.gd .gd-dsh--live .gd-dsh__logo { display: none; }
	.gd .gd-dsh--live .gd-dsh__side { gap: 6px; }
	.gd .gd-dsh--live .gd-dsh__sp { display: block; flex: 1 0 8px; }
	.gd .gd-dsh--live .gd-dsh__tabs { width: 100%; }
	.gd .gd-dsh--live .gd-dsh__top { order: -1; padding: 6px 6px 2px; }
	.gd .gd-dsh--live { gap: 12px; }
	.gd .gd-faq__q { padding-right: 56px; }
	.gd .gd-faq__ai { padding-right: 0; }
	.gd.gd-cta { padding: 88px 0 72px; }
	.gd .gd-cta__btns .gd-btn { flex: 1 1 auto; }
	.gd .gd-ftr__cols { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
	.gd .gd-ftr__wordmark { margin-top: 48px; }
	.gd .gd-grid__lock { grid-template-columns: minmax(0, 1fr); padding: 22px; }
	.gd .gd-grid__lockbtns .gd-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
	.gd *, .gd *::before, .gd *::after { animation: none !important; transition: none !important; }
	.gd-js .gd .gd-rv, .gd-js .gd .gd-hero__title .gd-ln > span, .gd-js .gd .gd-dsh { opacity: 1; transform: none; }
}
