/* ═══════════════════════════════════════════════════
   Pixel Perfect Themes — Global Design System
   Production-ready CSS for WordPress integration
   ═══════════════════════════════════════════════════ */

/* ─── CSS Custom Properties ───────────────────────── */
:root {
  --gt-primary:       #5233eb;
  --gt-primary-dark:  #4628cf;
  --gt-secondary:     #7c3aed;
  --gt-violet:        #7c3aed;
  --gt-emerald:       #10b981;
  --gt-bg:            #ffffff;
  --gt-bg-muted:      #f8fafc;
  --gt-bg-subtle:     #f1f5f9;
  --gt-surface:       #ffffff;
  --gt-surface-raised:#ffffff;
  --gt-text:          #334155;
  --gt-text-heading:  #0f172a;
  --gt-text-muted:    #64748b;
  --gt-text-faint:    #94a3b8;
  --gt-border:        #e2e8f0;
  --gt-border-light:  #e2e8f0;
  --gt-input-bg:      #ffffff;
  --gt-input-border:  #cbd5e1;
  --gt-overlay:       rgba(15, 23, 42, 0.6);
  --gt-container:     94rem;
  --gt-shadow-sm:     0 1px 3px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.04);
  --gt-shadow-md:     0 4px 24px rgba(0,0,0,.09), 0 24px 48px rgba(0,0,0,.06);
  --gt-radius:        0.75rem;
  --gt-radius-lg:     1.25rem;
  --gt-radius-sm:     0.75rem;
  --gt-btn-radius:    0.75rem;
  --gt-accent-subtle: #f0edfd;
  --gt-btn-primary-bg: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  --gt-btn-primary-bg-hover: #6d28d9;
  --gt-btn-shadow:    none;
  --gt-btn-font-weight: 600;
  --gt-transition:    0.22s cubic-bezier(0.4, 0, 0.2, 1);
  --gt-transition-sm: 0.16s ease;
  --gt-transition-smooth: 0.38s cubic-bezier(0.22, 1, 0.36, 1);
  --gt-header-h:      72px;
  --gt-header-offset: var(--gt-header-h, 72px);
  --gt-admin-bar-h:   0px;
  --gt-announcement-offset: calc(var(--gt-announcement-h, 0px) + var(--gt-announcement-header-gap, 0px));
  --gt-font:          'Outfit', system-ui, -apple-system, sans-serif;
  --gt-font-display:  'Outfit', system-ui, -apple-system, sans-serif;
  --gt-font-size:     16px;
  color-scheme: light;
}

/* ─── Reset ───────────────────────────────────────── */
[x-cloak] { display: none !important; }

::selection {
  background: var(--gt-primary, #5233eb);
  color: #fff;
}

::-moz-selection {
  background: var(--gt-primary, #5233eb);
  color: #fff;
}

/* ─── Global Smooth Interactions ─────────────────── */
/* Consistent transitions on interactive elements — skip gt-btn* (gradient hover flash) */
a:not([class*="gt-btn"]), button:not([class*="gt-btn"]) {
  transition: color var(--gt-transition), background-color var(--gt-transition), border-color var(--gt-transition), box-shadow var(--gt-transition), opacity var(--gt-transition-sm);
}
[class*="gt-btn"] {
  transition: transform var(--gt-transition-smooth), box-shadow var(--gt-transition-smooth), opacity var(--gt-transition-smooth), filter var(--gt-transition-smooth), border-color var(--gt-transition-smooth), color var(--gt-transition);
}
input, select, textarea { transition: border-color var(--gt-transition), box-shadow var(--gt-transition), background-color var(--gt-transition); }

/* Card hover quality — legacy selector kept for broad coverage */
[class*="hover:-translate-y-"] {
  transition-property: transform, box-shadow, border-color, background-color, opacity;
  transition-duration: 0.38s;
  transition-timing-function: cubic-bezier(0.34, 1.2, 0.64, 1);
}

/* ─── Header Color Modes ──────────────────────────── */
#gt-header {
  display: flex;
  align-items: center;
  min-height: var(--gt-header-h, 72px);
  height: var(--gt-header-h, 72px);
  transition: background 0.3s cubic-bezier(0.4,0,0.2,1),
              box-shadow 0.3s ease,
              border-bottom-color 0.3s ease;
}
#gt-header > div {
  width: 100%;
}
.gt-header-bar {
  display: flex;
  align-items: center;
  width: 100%;
}
#gt-header.gt-header-dark {
  background: transparent;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  --gt-header-dark-hover-bg: rgba(255, 255, 255, 0.08);
  --gt-header-dark-active-bg: rgba(255, 255, 255, 0.12);
}
#gt-header.gt-header-dark.gt-header-solid {
  background: var(--gt-header-dark-bg, #0f172a);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--gt-header-shadow-dark, 0 4px 24px rgba(0, 0, 0, 0.15));
}
#gt-header.gt-header-light {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: var(--gt-header-shadow-light, 0 1px 24px rgba(15, 23, 42, 0.06));
}
#gt-header.gt-header-light.is-scrolled {
  background: #fff;
  border-bottom-color: rgba(148, 163, 184, 0.45);
}
body.gt-header-no-shadow #gt-header,
#gt-header.gt-header-no-shadow,
body.gt-header-no-shadow #gt-header.gt-header-light,
body.gt-header-no-shadow #gt-header.gt-header-dark.gt-header-solid,
#gt-header.gt-header-no-shadow.gt-header-light,
#gt-header.gt-header-no-shadow.gt-header-dark.gt-header-solid,
#gt-header.gt-header-no-shadow.gt-header-light.is-scrolled {
  box-shadow: none !important;
}

/* Header nav link colors — matches static HTML defaults */
#gt-header.gt-header-dark  a.gt-nav-link,
#gt-header.gt-header-dark  button.gt-nav-link        { color: #fff; }
#gt-header.gt-header-dark  .gt-nav-active            { color: #fff; background: var(--gt-header-dark-active-bg); font-weight: 600; }
#gt-header.gt-header-dark  .gt-nav-link > span:not(.gt-pro-badge):not(.gt-nav-badge) { opacity: 1 !important; color: inherit; }

#gt-header.gt-header-light a.gt-nav-link,
#gt-header.gt-header-light button.gt-nav-link        { color: #475569; }
#gt-header.gt-header-light .gt-nav-active            { color: var(--gt-primary); background: var(--gt-accent-subtle); font-weight: 600; }
#gt-header.gt-header-light .gt-nav-link > span:not(.gt-pro-badge):not(.gt-nav-badge) { color: inherit; }

/* Nav hover — background highlight */
body.gt-nav-hover-background #gt-header.gt-header-dark  a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-background #gt-header.gt-header-dark  button.gt-nav-link:not(.gt-nav-active):hover  { color: #fff; background: var(--gt-header-dark-hover-bg) !important; }
body.gt-nav-hover-background #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-background #gt-header.gt-header-light button.gt-nav-link:not(.gt-nav-active):hover  { color: #0f172a; background: #f1f5f9; }

/* Nav hover — background + underline (static HTML default) */
body.gt-nav-hover-both #gt-header.gt-header-light a.gt-nav-link,
body.gt-nav-hover-both #gt-header.gt-header-dark a.gt-nav-link {
  position: relative;
}
body.gt-nav-hover-both #gt-header.gt-header-dark  a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-both #gt-header.gt-header-dark  button.gt-nav-link:not(.gt-nav-active):hover  { color: #fff; background: var(--gt-header-dark-hover-bg) !important; }
body.gt-nav-hover-both #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-both #gt-header.gt-header-light button.gt-nav-link:not(.gt-nav-active):hover  { color: #0f172a; background: #f1f5f9; }
body.gt-nav-hover-both #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active)::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 1.5px;
  background: var(--gt-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
  border-radius: 1px;
}
body.gt-nav-hover-both #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover::after {
  transform: scaleX(1);
}
body.gt-nav-hover-both #gt-header.gt-header-dark a.gt-nav-link:not(.gt-nav-active)::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 1.5px;
  background: rgba(255, 255, 255, 0.92);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
  border-radius: 1px;
}
body.gt-nav-hover-both #gt-header.gt-header-dark a.gt-nav-link:not(.gt-nav-active):hover::after {
  transform: scaleX(1);
}

/* Nav hover — color only (static HTML: text darkens / brightens, no fill) */
body.gt-nav-hover-color #gt-header.gt-header-dark  a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-color #gt-header.gt-header-dark  button.gt-nav-link:not(.gt-nav-active):hover  { color: #fff; background: transparent !important; }
body.gt-nav-hover-color #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-color #gt-header.gt-header-light button.gt-nav-link:not(.gt-nav-active):hover  { color: #0f172a; background: transparent !important; }
body.gt-nav-hover-color #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active)::after,
body.gt-nav-hover-color #gt-header.gt-header-dark  a.gt-nav-link:not(.gt-nav-active)::after  { content: none; }
body.gt-header-text-custom.gt-nav-hover-color #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-header-text-custom.gt-nav-hover-color #gt-header.gt-header-light button.gt-nav-link:not(.gt-nav-active):hover  { color: var(--gt-primary, #5233eb) !important; background: transparent !important; }
body.gt-header-text-custom.gt-nav-hover-color #gt-header.gt-header-dark a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-header-text-custom.gt-nav-hover-color #gt-header.gt-header-dark button.gt-nav-link:not(.gt-nav-active):hover  { color: #fff !important; background: transparent !important; }

/* Logo, utility buttons, search */
#gt-header.gt-header-dark  .gt-logo-text  { color: #fff; }
#gt-header.gt-header-light .gt-logo-text  { color: #0f172a; }

#gt-header.gt-header-dark  .gt-hdr-btn   { color: #fff; border-color: rgba(255,255,255,.16); }
#gt-header.gt-header-dark  .gt-hdr-btn:hover { color: #fff; border-color: rgba(255,255,255,.32); background: var(--gt-header-dark-hover-bg); }
#gt-header.gt-header-light .gt-hdr-btn   { color: #475569; border-color: #e2e8f0; }
#gt-header.gt-header-light .gt-hdr-btn:hover { color: #0f172a; border-color: #cbd5e1; background: #f8fafc; }

#gt-header.gt-header-dark  .gt-search-btn { color: #fff; border-color: rgba(255,255,255,.14); background: transparent; }
#gt-header.gt-header-dark  .gt-search-btn:hover { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.07); }
#gt-header.gt-header-light .gt-search-btn { color: #94a3b8; border-color: #e2e8f0; background: #f8fafc; }
#gt-header.gt-header-light .gt-search-btn:hover { color: #475569; border-color: var(--gt-primary); background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 8%, transparent); }

/* Customizer — text/icon color override (only when changed from default) */
body.gt-header-text-custom #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active),
body.gt-header-text-custom #gt-header.gt-header-light button.gt-nav-link:not(.gt-nav-active),
body.gt-header-text-custom #gt-header.gt-header-light .gt-logo-text,
body.gt-header-text-custom #gt-header.gt-header-light .gt-hdr-btn,
body.gt-header-text-custom #gt-header.gt-header-light .gt-search-btn,
body.gt-header-text-custom #gt-header.gt-header-light #gt-account-text,
body.gt-header-text-custom #gt-header.gt-header-light .gt-hdr-cta:not(.gt-header-cta--custom) {
  color: var(--gt-header-text) !important;
}

/* Customizer — background override (only when changed from default) */
body.gt-header-bg-custom #gt-header.gt-header-light,
body.gt-header-bg-custom #gt-header.gt-header-light.is-scrolled {
  background: var(--gt-header-bg) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.gt-header-bg-custom #gt-header.gt-header-dark.gt-header-solid {
  background: var(--gt-header-dark-bg) !important;
}

#gt-header.gt-header-dark  .gt-pro-badge:not([style*="background"]),
#gt-header.gt-header-dark  .gt-nav-badge:not([style*="background"]) { background: rgba(16,185,129,.85); }
#gt-header.gt-header-dark  .gt-pro-badge:not([style*="color"]),
#gt-header.gt-header-dark  .gt-nav-badge:not([style*="color"]) { color: #fff; }
#gt-header.gt-header-light .gt-pro-badge:not([style*="background"]),
#gt-header.gt-header-light .gt-nav-badge:not([style*="background"]) { background: #10b981; }
#gt-header.gt-header-light .gt-pro-badge:not([style*="color"]),
#gt-header.gt-header-light .gt-nav-badge:not([style*="color"]) { color: #fff; }

/* PRO / menu meta badge — matches header design (8px pill) */
.gt-pro-badge,
.gt-nav-item .gt-nav-badge,
#gt-header .gt-nav-badge,
.gt-mega-link .gt-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  border-radius: 9999px;
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ─── Global Container Width ──────────────────────────── */
.gt-container {
  width: 100%;
  max-width: var(--gt-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px) {
  .gt-container { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1024px) {
  .gt-container { padding-left: 2rem; padding-right: 2rem; }
}

/* Full width page shell — edge-to-edge, no horizontal gutter */
.gt-container.gt-container--full,
.gt-container--page.gt-container--full {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Standard containers always keep horizontal gutter (including mobile). */
.gt-container:not(.gt-container--full) {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px) {
  .gt-container:not(.gt-container--full) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .gt-container:not(.gt-container--full) {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

body.gt-container-is-full .gt-page-title-bar__inner {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Elementor-built pages — no theme content shell width cap */
body.gt-page-elementor #gt-page-content {
  width: 100%;
  max-width: none;
}

.gt-container,
.max-w-7xl,
.max-w-\\[1400px\\] { max-width: var(--gt-container); }

/* Header inner row width — each Customizer option keeps its own max-width */
#gt-header .gt-header-bar.gt-container {
  max-width: var(--gt-container, 94rem);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#gt-header .gt-header-bar.max-w-7xl {
  max-width: 80rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#gt-header .gt-header-bar.max-w-6xl {
  max-width: 72rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#gt-header .gt-header-bar.w-full {
  max-width: 100% !important;
  width: 100%;
}

/* Footer + theme single — bar container width (Customizer) */
#gt-footer .gt-footer__inner.max-w-7xl,
.gt-theme-single-wrap.max-w-7xl,
#product-nav .gt-theme-single-wrap.max-w-7xl {
  max-width: 80rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#gt-footer .gt-footer__inner.max-w-6xl,
.gt-theme-single-wrap.max-w-6xl,
#product-nav .gt-theme-single-wrap.max-w-6xl {
  max-width: 72rem !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#gt-footer .gt-footer__inner.w-full,
.gt-theme-single-wrap.w-full,
#product-nav .gt-theme-single-wrap.w-full {
  max-width: 100% !important;
  width: 100%;
}
#gt-footer .gt-footer__inner.gt-container,
/* Theme single — hero stats marquee (Elementor Trust Marquee markup) */
.gt-theme-hero-marquee .gt-el-trust-marquee {
  padding-block: 1.25rem;
}

.gt-theme-single-wrap.gt-container,
#product-nav .gt-theme-single-wrap.gt-container {
  max-width: var(--gt-container, 94rem);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* ─── Global border utility override ─────────────────── */
.border-slate-100 { border-color: var(--gt-border-light) !important; }
.border-slate-200 { border-color: var(--gt-border) !important; }

/* ─── Premium card hover transitions ─────────────────── */
.theme-card, .demo-card, .cat-card-woo, .cat-card-events, .cat-card-blog,
.cat-card-biz, .cat-card-port,
[class*="hover:shadow-card-hover"], [class*="hover:shadow-lg"],
[class*="hover:shadow-md"], [class*="hover:shadow-xl"],
article.group, a.group.block.rounded-2xl, a[class*="cat-card-"] {
  transition-property: transform, box-shadow, border-color, background-color, opacity, color;
  transition-duration: 0.48s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.theme-card:hover, .demo-card:hover, article.group:hover,
a.group.block.rounded-2xl:hover, a[class*="cat-card-"]:hover {
  will-change: transform, box-shadow;
}
.theme-card-overlay {
  opacity: 0;
  transition: opacity 0.25s ease;
}
.theme-card:hover .theme-card-overlay {
  opacity: 1;
}
.gt-section-every-need [class*="cat-card-"] h3 {
  transition: color 0.38s ease;
}
.gt-section-every-need [class*="cat-card-"] svg {
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.gt-section-every-need [class*="cat-card-"] .text-4xl {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ─── Typography ───────────────────────────── */
body {
  font-family: var(--gt-font, 'Outfit', system-ui, -apple-system, sans-serif);
  font-size: var(--gt-font-size, 16px);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.text-gradient {
  display: inline;
  color: transparent;
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .text-gradient {
    background: none;
    color: var(--gt-secondary, var(--gt-primary));
    -webkit-text-fill-color: currentColor;
  }
}
.grid-overlay {
  background-image:
    linear-gradient(rgba(99, 102, 241, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 102, 241, 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* Theme single hero — loaded in global bundle (not inline at page footer). */
.hero-bg {
  background: linear-gradient(160deg, #0a0818 0%, #130d2e 35%, #0f0f1f 65%, #0a0818 100%);
}

/* ─── Dark CTA / badges (inner pages — no Tailwind color bleed) ─── */
.gt-hire-cta {
  color: var(--gt-footer-muted, rgba(255, 255, 255, 0.6));
  background: var(--gt-footer-bg, #020617);
}
.gt-hire-cta__glow {
  background: radial-gradient(ellipse at center bottom, color-mix(in srgb, var(--gt-primary) 20%, transparent) 0%, transparent 65%);
}
.gt-theme-prefooter {
  background: linear-gradient(135deg, var(--gt-theme-prefooter-bg-start, #0a0818) 0%, var(--gt-theme-prefooter-bg-end, #1e1254) 100%);
  color: #fff;
}
.gt-theme-prefooter h2 {
  color: #fff;
}
.gt-theme-prefooter p {
  color: rgba(255, 255, 255, 0.6);
}

/* ─── Sticky product nav (theme single) ─────────────────────────── */
.gt-product-nav {
  top: calc(var(--gt-admin-bar-h, 0px) + var(--gt-announcement-offset, 0px) + var(--gt-header-h, 72px));
  background: var(--gt-product-nav-bg, #fff);
  border-color: var(--gt-product-nav-border, #f1f5f9);
  pointer-events: none;
  opacity: 0;
}
body.gt-header-static .gt-product-nav {
  top: var(--gt-admin-bar-h, 0px);
}
body.gt-header-absolute .gt-product-nav {
  top: calc(var(--gt-admin-bar-h, 0px) + var(--gt-announcement-offset, 0px) + var(--gt-header-offset, var(--gt-header-h, 72px)));
}
.gt-product-nav.is-visible {
  pointer-events: auto;
}
#product-nav .gt-theme-single-wrap {
  padding-block: 0;
}
#product-nav .flex.items-center.h-12 {
  height: 3rem;
  min-height: 3rem;
  max-height: 3rem;
}
.gt-product-nav .gt-product-nav__link {
  color: var(--gt-product-nav-link, #64748b);
}
.gt-product-nav .gt-product-nav__link:hover {
  color: var(--gt-primary);
}
.gt-product-nav .gt-product-nav__title {
  color: var(--gt-product-nav-title, #0f172a);
}
.gt-product-nav__demo {
  color: #475569;
  border-color: #e2e8f0;
}
.gt-product-nav__demo:hover {
  color: var(--gt-primary);
  border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent);
}
/* ─── Footer widget grid (Customizer: Widget Columns) ─── */
.gt-footer__widgets-grid {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .gt-footer__widgets-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .gt-footer__widgets-grid .gt-footer__brand-col {
    grid-column: 1 / -1;
  }
}
@media (min-width: 1024px) {
  .gt-footer__widgets-grid--cols-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .gt-footer__widgets-grid--cols-2 { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
  .gt-footer__widgets-grid--cols-3 { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); }
  .gt-footer__widgets-grid--cols-4 { grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr)); }
  .gt-footer__widgets-grid--no-brand.gt-footer__widgets-grid--cols-1 { grid-template-columns: minmax(0, 1fr); }
  .gt-footer__widgets-grid--no-brand.gt-footer__widgets-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-footer__widgets-grid--no-brand.gt-footer__widgets-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gt-footer__widgets-grid--no-brand.gt-footer__widgets-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gt-footer__widgets-grid .gt-footer__brand-col {
    grid-column: auto;
  }
}
.gt-footer__widgets-grid--cols-1 .gt-footer-widget-col[data-footer-sidebar="footer-2"],
.gt-footer__widgets-grid--cols-1 .gt-footer-widget-col[data-footer-sidebar="footer-3"],
.gt-footer__widgets-grid--cols-1 .gt-footer-widget-col[data-footer-sidebar="footer-4"],
.gt-footer__widgets-grid--cols-2 .gt-footer-widget-col[data-footer-sidebar="footer-3"],
.gt-footer__widgets-grid--cols-2 .gt-footer-widget-col[data-footer-sidebar="footer-4"],
.gt-footer__widgets-grid--cols-3 .gt-footer-widget-col[data-footer-sidebar="footer-4"] {
  display: none;
}

.gt-hire-cta h2 {
  color: var(--gt-footer-heading, #fff);
}
.gt-hire-cta h2 .text-gradient {
  color: transparent;
}
.gt-hire-cta p {
  color: var(--gt-footer-muted, rgba(255, 255, 255, 0.6));
}
.gt-hire-cta .gt-cta-tag {
  color: var(--gt-footer-link, rgba(255, 255, 255, 0.65)) !important;
  border-color: var(--gt-footer-border, rgba(255, 255, 255, 0.1)) !important;
  background: rgba(255, 255, 255, 0.04);
}
body.gt-footer-skin-light .gt-hire-cta__glow {
  background: radial-gradient(ellipse at center bottom, color-mix(in srgb, var(--gt-primary) 10%, transparent) 0%, transparent 68%);
}
body.gt-footer-skin-light .gt-hire-cta .gt-cta-tag {
  background: rgba(15, 23, 42, 0.03);
}
body.gt-footer-skin-light .gt-hire-cta .gt-cta-badge {
  color: #047857 !important;
  background: rgba(16, 185, 129, 0.1) !important;
  border-color: rgba(16, 185, 129, 0.28) !important;
}
body.gt-footer-skin-light .gt-hire-cta .gt-btn-outline-light {
  color: var(--gt-footer-heading, #0f172a);
  border-color: rgba(15, 23, 42, 0.18);
}
body.gt-footer-skin-light .gt-hire-cta .gt-btn-outline-light:hover {
  color: var(--gt-footer-heading, #0f172a) !important;
  border-color: rgba(15, 23, 42, 0.28) !important;
  background: rgba(15, 23, 42, 0.05) !important;
}
body:not(.gt-footer-skin-light) .gt-hire-cta .gt-cta-badge {
  color: #fff !important;
  background: rgba(16, 185, 129, 0.22) !important;
  border: 1px solid rgba(16, 185, 129, 0.4) !important;
}
.gt-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
}
.gt-cta-badge-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: #34d399;
  flex-shrink: 0;
  animation: gtPulse 2s ease-in-out infinite;
}
.gt-cta-badge--light {
  color: #fff !important;
  background: rgba(16, 185, 129, 0.22) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
}
.gt-cta-badge--light .gt-cta-badge-dot {
  background: #34d399;
}
@keyframes gtPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.88); }
}

/* ─── Hero 1 — pre-hide until GSAP finishes (no double-pop) ─── */
#hero-1:not(.gt-hero-ready) .h1-badge,
#hero-1:not(.gt-hero-ready) .h1-headline > span,
#hero-1:not(.gt-hero-ready) .h1-sub,
#hero-1:not(.gt-hero-ready) .h1-ctas > *,
#hero-1:not(.gt-hero-ready) .h1-stat,
#hero-1:not(.gt-hero-ready) .h1-card {
  opacity: 0;
  visibility: hidden;
}
#hero-1:not(.gt-hero-ready) .h1-badge,
#hero-1:not(.gt-hero-ready) .h1-headline > span,
#hero-1:not(.gt-hero-ready) .h1-sub,
#hero-1:not(.gt-hero-ready) .h1-ctas > *,
#hero-1:not(.gt-hero-ready) .h1-stat {
  transform: translateY(18px);
}
#hero-1 .h1-badge,
#hero-1 .h1-headline > span,
#hero-1 .h1-sub,
#hero-1 .h1-ctas > *,
#hero-1 .h1-stat,
#hero-1 .h1-card {
  transition: none !important;
  will-change: auto;
}
#hero-1 a,
#hero-1 button {
  transition-property: color, background-color, border-color, box-shadow, transform !important;
}

/* ─── FAQ Accordion Toggle ──────────────────────────── */
.gt-faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: 1rem 1.5rem;
  border: 0;
  background: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.gt-faq-label {
  flex: 1;
  min-width: 0;
  line-height: 1.35;
}
.gt-faq-chevron {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: 2px solid var(--gt-border-light);
  background: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.gt-faq-chevron svg {
  width: 0.75rem;
  height: 0.75rem;
  display: block;
  color: #94a3b8;
  transition: transform 0.28s ease, color 0.2s ease;
}
.gt-faq-chevron.is-active {
  border-color: var(--gt-primary);
  background: var(--gt-primary);
}
.gt-faq-chevron.is-active svg {
  color: #fff;
  transform: rotate(180deg);
}

/* ─── Accordion / Collapse (grid-template-rows) ──────── */
.gt-collapse-inner {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.36s cubic-bezier(0.32, 0.72, 0, 1);
  interpolate-size: allow-keywords;
}
.gt-collapse.is-open .gt-collapse-inner { grid-template-rows: 1fr; }
.gt-collapse-content {
  overflow: hidden;
  min-height: 0;
}
/* Padding on inner child — clipped when closed, no layout jump on open */
.gt-collapse-content > p {
  margin: 0;
  padding: 0 1.5rem 1.25rem;
}
.gt-collapse-content > * {
  opacity: 0;
  transition: opacity 0.14s ease;
}
.gt-collapse.is-open .gt-collapse-content > * {
  opacity: 1;
  transition: opacity 0.24s ease 0.1s;
}

/* ─── Media grid cards (feature section) ─────────────── */
.gt-media-grid-card {
  display: block;
  width: 100%;
  isolation: isolate;
  border-radius: 1rem;
  border: 1px solid rgb(226 232 240 / 0.8);
  box-shadow: var(--gt-shadow-sm);
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.gt-media-grid-card:hover {
  box-shadow: var(--gt-shadow-md);
  transform: translateY(-2px);
}

.gt-media-grid-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #0f172a;
}

.gt-media-grid-card__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #0f172a;
}

.gt-media-grid-card__media img.gt-media-grid-card__image,
.gt-media-grid-card__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center;
  transform-origin: center;
  transition: transform 0.5s ease;
}

.gt-media-grid-card:hover .gt-media-grid-card__image {
  transform: scale(1.05);
}

.gt-media-grid-card__gradient {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 58%;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgb(0 0 0 / 0.92) 0%,
    rgb(0 0 0 / 0.72) 32%,
    rgb(0 0 0 / 0.28) 58%,
    transparent 100%
  );
}

.gt-media-grid-card__content {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 1;
  padding: 1rem 1rem 1.125rem;
  pointer-events: none;
}

.gt-media-grid-card__title {
  margin: 0;
  font-family: var(--gt-font-display, inherit);
  font-weight: 700;
  font-size: clamp(0.875rem, 0.82rem + 0.15vw, 1rem);
  line-height: 1.3;
  color: #fff;
}

.gt-media-grid-card__desc {
  margin: 0.25rem 0 0;
  font-size: clamp(0.75rem, 0.72rem + 0.15vw, 0.875rem);
  line-height: 1.5;
  color: rgb(255 255 255 / 0.75);
}

.gt-media-grid-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.75rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgb(255 255 255 / 0.2);
  background: rgb(255 255 255 / 0.15);
  backdrop-filter: blur(4px);
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  pointer-events: auto;
  transition: background-color 0.2s ease;
}

.gt-media-grid-card__link:hover {
  background: rgb(255 255 255 / 0.25);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .gt-media-grid-card,
  .gt-media-grid-card__image {
    transition: none;
  }

  .gt-media-grid-card:hover {
    transform: none;
  }

  .gt-media-grid-card:hover .gt-media-grid-card__image {
    transform: none;
  }
}

/* ─── Sticky Sidebar ─────────────────────────────── */
[data-gt-sticky-wrap] {
  align-items: stretch;
}
.gt-sticky-sidebar { align-self: flex-start; }
@media (min-width: 1024px) {
  [data-gt-sticky-wrap] .gt-sticky-sidebar {
    position: sticky;
    top: calc(var(--gt-admin-bar-h, 0px) + var(--gt-announcement-offset, 0px) + var(--gt-header-h, 72px) + var(--gt-product-nav-offset, 0px) + 16px);
    max-height: calc(100vh - var(--gt-admin-bar-h, 0px) - var(--gt-announcement-offset, 0px) - var(--gt-header-h, 72px) - var(--gt-product-nav-offset, 0px) - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  /* Purchase sidebar — full height, no inner scroll; unsticks at column end */
  [data-gt-sticky-wrap] .gt-sticky-sidebar--purchase {
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
  }

  .gt-ask-question-card__btn {
    gap: 0.5rem;
  }

  .gt-feature-section-desc :where(p, ul, ol):not(:last-child) {
    margin-bottom: 0.75rem;
  }

  .gt-feature-section-desc a {
    color: var(--gt-violet, var(--gt-secondary));
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  [data-gt-sticky-wrap] .gt-sticky-sidebar--blog {
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
  }
  [data-gt-sticky-wrap] .gt-sticky-sidebar--themes {
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
  }
}
@media (max-width: 1023px) {
  .gt-sticky-sidebar { position: static !important; transform: none !important; max-height: none !important; }
}

/* ─── Form feedback alerts (global) ───────────────── */
.elementor-widget-form .elementor-message.elementor-hidden {
  display: none !important;
}

.elementor-widget-form .elementor-message {
  display: flex !important;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 1rem !important;
  padding: 0.875rem 1rem !important;
  border-radius: 0.75rem !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  border: 1px solid transparent !important;
}

.elementor-widget-form .elementor-message-success {
  color: #047857 !important;
  background-color: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
}

.elementor-widget-form .elementor-message-success .elementor-message-icon,
.elementor-widget-form .elementor-message-success svg {
  color: #047857 !important;
  fill: currentColor;
}

.elementor-widget-form .elementor-message-danger {
  color: #b91c1c !important;
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
}

.elementor-widget-form .elementor-message-danger .elementor-message-icon,
.elementor-widget-form .elementor-message-danger svg {
  color: #b91c1c !important;
  fill: currentColor;
}

.elementor-widget-form .elementor-message-warning {
  color: #b45309 !important;
  background-color: #fffbeb !important;
  border-color: #fde68a !important;
}

.elementor-widget-form .elementor-message-warning .elementor-message-icon,
.elementor-widget-form .elementor-message-warning svg {
  color: #b45309 !important;
  fill: currentColor;
}

.elementor-widget-form .elementor-message-info,
.elementor-widget-form .elementor-message:not(.elementor-message-success):not(.elementor-message-danger):not(.elementor-message-warning) {
  color: #1d4ed8 !important;
  background-color: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.elementor-widget-form .elementor-message-info .elementor-message-icon,
.elementor-widget-form .elementor-message-info svg,
.elementor-widget-form .elementor-message:not(.elementor-message-success):not(.elementor-message-danger):not(.elementor-message-warning) .elementor-message-icon,
.elementor-widget-form .elementor-message:not(.elementor-message-success):not(.elementor-message-danger):not(.elementor-message-warning) svg {
  color: #1d4ed8 !important;
  fill: currentColor;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0 !important;
  padding: 0.875rem 1rem !important;
  border-radius: 0.75rem !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  border: 1px solid transparent !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  color: #047857 !important;
  background-color: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  color: #b91c1c !important;
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  color: #b45309 !important;
  background-color: #fffbeb !important;
  border-color: #fde68a !important;
}

/* Ask-question modal — form layout */
#gsap-ask-question-box .gt-ask-question-form .wpcf7,
#gsap-ask-question-box .gt-ask-question-form .elementor-widget-form,
#gsap-ask-question-box .gt-ask-question-form .fluentform,
#gsap-ask-question-box .gt-ask-question-form .wpforms-container {
  margin: 0;
}

/* ─── Theme Toggle (Light / Dark) ──────────────────── */
#gt-theme-toggle {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
}
.gt-theme-btn {
  width: 44px; height: auto;
  min-height: 44px;
  padding: 8px 6px;
  border-radius: 14px;
  background: var(--gt-surface);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--gt-border);
  box-shadow: var(--gt-shadow-sm);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  color: var(--gt-text-muted);
  cursor: pointer;
  transition: all .22s ease;
}
.gt-theme-btn:hover { color: var(--gt-primary); border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent); transform: scale(1.05); }
.gt-theme-btn .gt-theme-icon { display: flex; align-items: center; justify-content: center; }
.gt-theme-btn .icon-dark { display: none; }
.gt-theme-btn .gt-theme-label {
  font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  color: var(--gt-text-faint); line-height: 1;
}
.gt-theme-btn.is-dark {
  background: #1e293b;
  border-color: #475569;
  color: #fbbf24;
  box-shadow: 0 4px 24px rgba(0,0,0,.35);
}
.gt-theme-btn.is-dark .icon-light { display: none; }
.gt-theme-btn.is-dark .icon-dark { display: flex; }
.gt-theme-btn.is-dark .gt-theme-label { color: #94a3b8; }
.gt-theme-btn.is-light .icon-dark { display: none; }
.gt-theme-btn.is-light .icon-light { display: flex; }
@media (max-width: 768px) { #gt-theme-toggle { display: none; } }

/* ─── Mobile bottom nav — iOS safe-area (requires viewport-fit=cover) ── */
@media (max-width: 767px) {
  :root {
    --gt-mobile-nav-h: 56px;
  }
  body {
    padding-bottom: calc(var(--gt-mobile-nav-h) + env(safe-area-inset-bottom, 0px));
  }
  #gt-mobile-nav {
    position: fixed !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 70;
    box-sizing: border-box;
    min-height: var(--gt-mobile-nav-h);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ─── Dark Mode Global ─────────────────────────────── */
html.theme-dark {
  color-scheme: dark;
  --gt-bg:            #0b1120;
  --gt-bg-muted:      #0f172a;
  --gt-bg-subtle:     #1e293b;
  --gt-surface:       #111827;
  --gt-surface-raised:#1e293b;
  --gt-text:          #cbd5e1;
  --gt-text-heading:  #f1f5f9;
  --gt-text-muted:    #94a3b8;
  --gt-text-faint:    #64748b;
  --gt-border:        #334155;
  --gt-border-light:  #1e293b;
  --gt-input-bg:      #1e293b;
  --gt-input-border:  #334155;
  --gt-overlay:       rgba(0, 0, 0, 0.72);
  --gt-shadow-sm:     0 1px 3px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.15);
  --gt-shadow-md:     0 4px 24px rgba(0,0,0,.25), 0 24px 48px rgba(0,0,0,.2);
}
html.theme-dark body {
  background: var(--gt-bg) !important;
  color: var(--gt-text) !important;
}
html.theme-dark .bg-white { background-color: var(--gt-surface) !important; }
html.theme-dark .bg-slate-50 { background-color: var(--gt-bg-muted) !important; }
html.theme-dark .bg-slate-100 { background-color: var(--gt-bg-subtle) !important; }
html.theme-dark .bg-slate-950 { background-color: #020617 !important; }
html.theme-dark .text-slate-900 { color: var(--gt-text-heading) !important; }
html.theme-dark .text-slate-800 { color: #e2e8f0 !important; }
html.theme-dark .text-slate-700 { color: #cbd5e1 !important; }
html.theme-dark .text-slate-600 { color: var(--gt-text-muted) !important; }
html.theme-dark .text-slate-500 { color: #64748b !important; }
html.theme-dark .text-slate-400 { color: var(--gt-text-faint) !important; }
html.theme-dark .text-brand-600, html.theme-dark .text-brand-700 { color: #a9a4ff !important; }
html.theme-dark .text-purple-600, html.theme-dark .text-rose-600, html.theme-dark .text-emerald-600 { filter: brightness(1.25); }
html.theme-dark .border-slate-100,
html.theme-dark .border-slate-200 { border-color: var(--gt-border) !important; }
html.theme-dark .bg-brand-50 { background: color-mix(in srgb, var(--gt-primary) 12%, transparent) !important; }
html.theme-dark .border-brand-100, html.theme-dark .border-brand-200 { border-color: color-mix(in srgb, var(--gt-primary) 28%, transparent) !important; }
html.theme-dark .bg-emerald-50 { background: rgba(16,185,129,.12) !important; }
html.theme-dark .border-emerald-100 { border-color: rgba(16,185,129,.25) !important; }
html.theme-dark input::placeholder, html.theme-dark textarea::placeholder { color: #64748b !important; opacity: 1; }
html.theme-dark #gt-header.gt-header-dark {
  --gt-header-dark-hover-bg: rgba(255, 255, 255, 0.06);
  --gt-header-dark-active-bg: rgba(255, 255, 255, 0.10);
}
html.theme-dark #gt-header.gt-header-light {
  background: rgba(11, 17, 32, 0.82) !important;
  border-bottom-color: rgba(51, 65, 85, 0.55) !important;
}
html.theme-dark #gt-header.gt-header-light .gt-logo-text { color: var(--gt-text-heading) !important; }
html.theme-dark #gt-header.gt-header-light a.gt-nav-link,
html.theme-dark #gt-header.gt-header-light button.gt-nav-link { color: var(--gt-text-muted) !important; }
html.theme-dark #gt-header.gt-header-light a.gt-nav-link:hover { color: var(--gt-text-heading) !important; background: rgba(255,255,255,.06) !important; }
html.theme-dark #gt-header.gt-header-light .gt-hdr-btn { color: var(--gt-text-muted) !important; border-color: var(--gt-border) !important; }
html.theme-dark #gt-header.gt-header-light .gt-search-btn { background: var(--gt-input-bg) !important; border-color: var(--gt-input-border) !important; color: var(--gt-text-muted) !important; }
html.theme-dark .gt-mega-wrap,
html.theme-dark .gt-mega-blog,
html.theme-dark .gt-flyout-panel { background: var(--gt-surface) !important; border-color: var(--gt-border) !important; }
html.theme-dark .gt-mega-wrap a, html.theme-dark .gt-flyout-panel a { color: var(--gt-text) !important; }
html.theme-dark .gt-input-light,
html.theme-dark input:not([type=checkbox]):not([type=radio]):not(#gt-search-input),
html.theme-dark select, html.theme-dark textarea {
  background: var(--gt-input-bg) !important;
  border-color: var(--gt-input-border) !important;
  color: var(--gt-text-heading) !important;
}
html.theme-dark #gt-mobile-nav { background: var(--gt-surface) !important; border-color: var(--gt-border) !important; }
html.theme-dark #gt-mobile-nav svg, html.theme-dark #gt-mobile-nav span { color: var(--gt-text-faint) !important; }
html.theme-dark #gt-mobile-nav a:hover svg,
html.theme-dark #gt-mobile-nav button:hover svg,
html.theme-dark #gt-mobile-nav a:hover span,
html.theme-dark #gt-mobile-nav button:hover span { color: var(--gt-text-muted) !important; }
html.theme-dark footer:not(.gt-footer--light) { background: #020617 !important; }
html.theme-dark .gt-collapse { background: var(--gt-surface) !important; border-color: var(--gt-border) !important; }
html.theme-dark #gsap-cart-panel,
html.theme-dark #gsap-login-box,
html.theme-dark #gsap-search-panel,
html.theme-dark #gsap-filter-drawer,
html.theme-dark #gt-mobile-menu { background: var(--gt-surface) !important; }
html.theme-dark #gsap-cart-panel .bg-slate-50,
html.theme-dark .gsap-cart-item { background: var(--gt-bg-subtle) !important; }
html.theme-dark #gsap-cart-panel button:hover,
html.theme-dark #gsap-login-box button:hover,
html.theme-dark #gsap-search-panel button:hover {
  background: var(--gt-bg-subtle) !important;
  color: var(--gt-text-heading) !important;
}
html.theme-dark .from-brand-50, html.theme-dark .to-violet-50 { --tw-gradient-from: color-mix(in srgb, var(--gt-primary) 15%, transparent) !important; --tw-gradient-to: color-mix(in srgb, var(--gt-secondary) 10%, transparent) !important; }
html.theme-dark .article-body blockquote { background: color-mix(in srgb, var(--gt-primary) 12%, transparent) !important; color: var(--gt-text) !important; }
html.theme-dark .article-body .callout { background: color-mix(in srgb, var(--gt-primary) 10%, transparent) !important; border-color: color-mix(in srgb, var(--gt-primary) 25%, transparent) !important; }
html.theme-dark .woocommerce .woocommerce-MyAccount-navigation {
  background: var(--gt-surface) !important;
  border-color: var(--gt-border) !important;
}
html.theme-dark .woocommerce table.shop_table,
html.theme-dark .woocommerce .woocommerce-orders-table {
  background: var(--gt-surface) !important;
  color: var(--gt-text) !important;
}
html.theme-dark .woocommerce ul.products li.product {
  background: var(--gt-surface) !important;
  border-color: var(--gt-border) !important;
}

/* ─── Agency Typography System ────────────────────────── */
.gt-label {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase; color: var(--gt-primary);
}
.gt-label::before {
  content: ''; display: inline-block;
  width: 28px; height: 2px; background: currentColor; border-radius: 1px; flex-shrink: 0;
}
h2 { letter-spacing: -.025em; }
h3 { letter-spacing: -.015em; }

/* ─── Agency Header — Nav hover underline (light mode) ─ */
body.gt-nav-hover-underline #gt-header.gt-header-light a.gt-nav-link {
  position: relative;
}
body.gt-nav-hover-underline #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-underline #gt-header.gt-header-light button.gt-nav-link:not(.gt-nav-active):hover {
  background: transparent;
}
body.gt-nav-hover-underline #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active)::after {
  content: '';
  position: absolute;
  bottom: 0; left: 12px; right: 12px;
  height: 1.5px;
  background: var(--gt-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
  border-radius: 1px;
}
body.gt-nav-hover-underline #gt-header.gt-header-light a.gt-nav-link:not(.gt-nav-active):hover::after {
  transform: scaleX(1);
}

/* Nav hover underline — dark / transparent header */
body.gt-nav-hover-underline #gt-header.gt-header-dark a.gt-nav-link {
  position: relative;
}
body.gt-nav-hover-underline #gt-header.gt-header-dark a.gt-nav-link:not(.gt-nav-active):hover,
body.gt-nav-hover-underline #gt-header.gt-header-dark button.gt-nav-link:not(.gt-nav-active):hover {
  background: transparent;
}
body.gt-nav-hover-underline #gt-header.gt-header-dark a.gt-nav-link:not(.gt-nav-active)::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 1.5px;
  background: rgba(255, 255, 255, 0.92);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
  border-radius: 1px;
}
body.gt-nav-hover-underline #gt-header.gt-header-dark a.gt-nav-link:not(.gt-nav-active):hover::after {
  transform: scaleX(1);
}

/* Logo images
   Sources: logo-dark-text  → /2021/10/logo-dark.svg
            logo-light-text → /2021/10/logo-light.svg (attachment 5782)
            logo-dark-full  → /2023/09/logo-alternative.svg
            logo-light-full → /2023/09/logo-light.svg (logo-light-2) */
.gt-logo-link {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: var(--gt-header-logo-w, 140px);
  height: calc(var(--gt-header-logo-w, 140px) * 0.214);
  min-height: 20px;
  transition: opacity 0.3s ease;
}
.gt-logo-link:hover { opacity: 0.85; }
.gt-logo-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.gt-logo-text-img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(var(--gt-header-logo-w, 140px) * 0.2);
  object-fit: contain;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
#gt-mobile-menu .gt-logo-wrap .gt-logo-text-img {
  height: calc(var(--gt-mobile-logo-w, 118px) * 0.2);
  max-width: var(--gt-mobile-logo-w, 118px);
  max-height: calc(var(--gt-mobile-logo-w, 118px) * 0.2);
}
.gt-logo-text-img--dark  { opacity: 1; }
.gt-logo-text-img--light { opacity: 0; }
#gt-header.gt-header-dark .gt-logo-text-img--dark,
html.theme-dark #gt-header .gt-logo-text-img--dark  { opacity: 0; }
#gt-header.gt-header-dark .gt-logo-text-img--light,
html.theme-dark #gt-header .gt-logo-text-img--light { opacity: 1; }
#gt-mobile-menu .gt-logo-wrap {
  position: relative;
  width: var(--gt-mobile-logo-w, 118px);
  height: calc(var(--gt-mobile-logo-w, 118px) * 0.22);
  min-height: 20px;
  flex-shrink: 0;
}
#gt-mobile-menu .gt-logo-text-img--dark  { opacity: 1; }
#gt-mobile-menu .gt-logo-text-img--light { opacity: 0; }
html.theme-dark #gt-mobile-menu .gt-logo-text-img--dark  { opacity: 0; }
html.theme-dark #gt-mobile-menu .gt-logo-text-img--light { opacity: 1; }
.gt-logo-full-img {
  height: 56px;
  width: auto;
  max-width: 110px;
  object-fit: contain;
  display: block;
}
#gt-footer .gt-footer__logo-link {
  line-height: 0;
}
#gt-footer .gt-footer__logo {
  display: block;
  width: var(--gt-footer-logo-w, 110px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* ─── Logo tagline (legacy — replaced by SVG logos) ─── */
.gt-logo-studio {
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1;
  transition: color 0.3s ease;
}
#gt-header.gt-header-dark  .gt-logo-studio { color: color-mix(in srgb, var(--gt-primary) 70%, transparent); }
#gt-header.gt-header-light .gt-logo-studio { color: color-mix(in srgb, var(--gt-primary) 60%, transparent); }

/* ─── Refined sticky header state ─────────────────────── */
#gt-header.gt-header-light {
  border-bottom-color: rgba(226, 232, 240, 0.6);
}

/* ─── Agency CTA button in header ─────────────────────── */
.gt-hdr-cta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 18px; border-radius: 10px; font-weight: var(--gt-btn-font-weight, 600);
  font-size: 13px; white-space: nowrap;
  transition: all 0.2s ease;
}
#gt-header.gt-header-dark  .gt-hdr-cta {
  background: color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 25%, transparent);
  border: 1.5px solid color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 35%, transparent);
  color: color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 55%, #fff);
}
#gt-header.gt-header-dark  .gt-hdr-cta:hover {
  background: color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 45%, transparent);
  color: #fff;
  border-color: color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 60%, transparent);
}
#gt-header.gt-header-light .gt-hdr-cta {
  background: var(--gt-header-cta-bg, var(--gt-primary));
  border: 1.5px solid var(--gt-header-cta-bg, var(--gt-primary));
  color: var(--gt-header-cta-color, #fff);
  box-shadow: 0 1px 8px color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 25%, transparent);
}
#gt-header.gt-header-light .gt-hdr-cta:hover {
  background: var(--gt-header-cta-hover, var(--gt-primary-dark));
  border-color: var(--gt-header-cta-hover, var(--gt-primary-dark));
  color: var(--gt-header-cta-color, #fff);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 35%, transparent);
  transform: translateY(-1px);
}
#gt-header.gt-header-dark .gt-hdr-cta.gt-header-cta--custom,
#gt-header.gt-header-light .gt-hdr-cta.gt-header-cta--custom {
  background: var(--gt-header-cta-bg, var(--gt-primary));
  border: 1.5px solid var(--gt-header-cta-bg, var(--gt-primary));
  color: var(--gt-header-cta-color, #fff);
  box-shadow: 0 1px 8px color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 25%, transparent);
}
#gt-header.gt-header-dark .gt-hdr-cta.gt-header-cta--custom:hover,
#gt-header.gt-header-light .gt-hdr-cta.gt-header-cta--custom:hover {
  background: var(--gt-header-cta-hover, var(--gt-primary-dark));
  border-color: var(--gt-header-cta-hover, var(--gt-primary-dark));
  color: var(--gt-header-cta-color, #fff);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--gt-header-cta-bg, var(--gt-primary)) 35%, transparent);
  transform: translateY(-1px);
}

/* ─── Mega Menu (Themes, Blog) ────────────────────── */
/* Invisible bridge — prevents menu closing in the gap below nav trigger */
.gt-nav-megahit::after {
  content: '';
  position: absolute;
  left: -6px;
  right: -6px;
  top: 100%;
  height: 14px;
  z-index: 59;
}
/* Resources L1 dropdown — padding bridges trigger → panel */
.gt-nav-flydown {
  padding-top: 10px;
  background: transparent;
  box-shadow: none;
  border: none;
}
.gt-nav-flydown__list {
  background: #fff;
  border-radius: 1rem;
  border: 1px solid var(--gt-border, #e2e8f0);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  padding: .5rem;
  margin: 0;
  list-style: none;
  overflow: visible;
}
.gt-nav-flydown,
.gt-flyout-panel {
  overflow: visible;
}
.gt-flyout-panel__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
li.gt-nav-item.gt-flyout-wrap {
  position: relative;
  display: block;
}
.gt-flyout-wrap > .gt-nav-link--sub {
  justify-content: space-between;
  width: 100%;
}
.gt-flyout-panel .gt-flyout-panel {
  z-index: calc(70 + var(--gt-flyout-depth, 0));
}
.gt-nav-flydown .gt-flyout-wrap .gt-flyout-panel { --gt-flyout-depth: 1; }
.gt-nav-flydown .gt-flyout-wrap .gt-flyout-wrap .gt-flyout-panel { --gt-flyout-depth: 2; }
.gt-nav-flydown .gt-flyout-wrap .gt-flyout-wrap .gt-flyout-wrap .gt-flyout-panel { --gt-flyout-depth: 3; }
.gt-nav-flydown .gt-flyout-wrap .gt-flyout-wrap .gt-flyout-wrap .gt-flyout-wrap .gt-flyout-panel { --gt-flyout-depth: 4; }
/* Invisible bridge for regular dropdowns (Shop etc.) */
div.gt-nav-item--dropdown::after {
  content: '';
  position: absolute;
  left: -6px;
  right: -6px;
  top: 100%;
  height: 14px;
  z-index: 199;
}
/* Full-width mega — center on header container row, not the trigger item */
#gt-header > div > div.mx-auto {
  position: relative;
}
.gt-nav-megahit:has(.gt-mega-wrap--full),
.gt-nav-megahit:has(.gt-mega-blog.gt-mega-wrap--full) {
  position: static;
}
.gt-mega-wrap,
.gt-mega-blog {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(720px, calc(100vw - 32px));
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 60px -10px rgba(0,0,0,.16), 0 4px 20px rgba(0,0,0,.07);
  border: 1px solid var(--gt-border);
  overflow: hidden;
  z-index: 60;
  transform: translateX(0);
  will-change: transform;
}
.gt-mega-blog {
  width: min(680px, calc(100vw - 32px));
}
.gt-mega-wrap.gt-mega-wrap--full,
.gt-mega-blog.gt-mega-wrap--full {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: min(var(--gt-container), calc(100vw - 32px));
  transform: none;
  will-change: auto;
}
@media (max-width: 1280px) {
  .gt-mega-wrap,
  .gt-mega-blog {
    width: min(680px, calc(100vw - 24px));
  }
  .gt-mega-wrap.gt-mega-wrap--full,
  .gt-mega-blog.gt-mega-wrap--full {
    width: min(var(--gt-container), calc(100vw - 24px));
  }
}

/* ─── Nested Flyout Menu ──────────────────────────── */
.gt-flyout-wrap { position: relative; }
/* Invisible bridge — parent item → flyout panel (covers gap) */
.gt-flyout-wrap::after {
  content: '';
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: 100%;
  width: 20px;
  z-index: 69;
}
.gt-flyout-panel {
  position: absolute;
  left: calc(100% + 12px);
  top: 0;
  min-width: 220px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 16px 40px -8px rgba(0,0,0,.14), 0 4px 16px rgba(0,0,0,.06);
  border: 1px solid var(--gt-border);
  padding: 6px 0;
  z-index: 70;
  opacity: 0;
  visibility: hidden;
  transform: translateX(4px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  pointer-events: none;
  overflow: visible;
}
.gt-flyout-wrap:hover > .gt-flyout-panel,
.gt-flyout-wrap:focus-within > .gt-flyout-panel {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}
.gt-flyout-indicator {
  margin-left: auto;
  flex-shrink: 0;
  color: #94a3b8;
  transition: transform 0.16s ease, color 0.16s ease;
}
.gt-flyout-wrap:hover .gt-flyout-indicator { transform: translateX(3px); color: var(--gt-primary); }

/* Submenu links — color only on hover, no background */
.gt-nav-flydown a.gt-nav-link--sub:hover,
.gt-nav-flydown a.gt-nav-link--sub:focus-visible,
.gt-flyout-panel a:hover,
.gt-flyout-panel a:focus-visible {
  background-color: transparent !important;
  color: var(--gt-primary, #5233eb);
}

/* ─── Theme Toggle — removed (light mode only) ───── */
#gt-theme-toggle { display: none !important; }

/* ─── Scroll Reveal ───────────────────────────────── */
[data-reveal],
[data-reveal-item] {
  transition: opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

#hero-1,
#hero-1 [class*="h1-"] {
  transition: none !important;
}

html.gt-reveal-on #hero-1 [data-reveal],
html.gt-reveal-on #hero-1 [data-reveal-item] {
  opacity: 1 !important;
  transform: none !important;
}

html.gt-reveal-on body:not(.gt-footer-skin-light) .gt-hire-cta .gt-cta-badge {
  color: #fff !important;
}
html.gt-reveal-on body:not(.gt-footer-skin-light) .gt-hire-cta .gt-cta-tag {
  color: rgba(255, 255, 255, 0.5) !important;
}

html.gt-reveal-on .gt-hire-cta [data-reveal]:not(.is-visible),
html.gt-reveal-on .hero-bg [data-reveal]:not(.is-visible) {
  opacity: 0;
  transform: translateY(16px);
}

html.gt-reveal-on footer,
html.gt-reveal-on footer * {
  opacity: 1 !important;
  transform: none !important;
}

footer {
  position: relative;
  z-index: 1;
}
footer a,
footer button {
  transition-property: color, background-color, border-color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
footer a:hover,
footer button:hover {
  transform: none;
}

html.gt-reveal-on [data-reveal]:not(.is-visible)         { opacity: 0; transform: translateY(20px); }
html.gt-reveal-on [data-reveal="left"]:not(.is-visible)  { opacity: 0; transform: translateX(-24px); }
html.gt-reveal-on [data-reveal="right"]:not(.is-visible) { opacity: 0; transform: translateX(24px); }
html.gt-reveal-on [data-reveal="scale"]:not(.is-visible) { opacity: 0; transform: scale(0.96); }
html.gt-reveal-on [data-reveal="fade"]:not(.is-visible)  { opacity: 0; transform: none; }
html.gt-reveal-on [data-reveal="down"]:not(.is-visible)  { opacity: 0; transform: translateY(-20px); }
html.gt-reveal-on [data-reveal-item]:not(.is-visible)    { opacity: 0; transform: translateY(16px); }

[data-reveal].is-visible,
[data-reveal-item].is-visible {
  opacity: 1;
  transform: none;
}

html.gt-reveal-on [data-reveal-item].is-visible[class*="transition-all"],
html.gt-reveal-on [data-reveal-item].is-visible.theme-card,
html.gt-reveal-on [data-reveal-item].is-visible[class*="cat-card-"] {
  transition-property: opacity, transform, box-shadow, border-color, background-color !important;
}

@media (prefers-reduced-motion: reduce) {
  html.gt-reveal-on [data-reveal]:not(.is-visible),
  html.gt-reveal-on [data-reveal-item]:not(.is-visible) { opacity: 1 !important; transform: none !important; }
}

/* ─── Hero Items ──────────────────────────────────── */
[data-hero-item] { animation: gtHeroReveal 0.7s cubic-bezier(0.4,0,0.2,1) both; }
[data-hero-item]:nth-child(1) { animation-delay: 0.06s; }
[data-hero-item]:nth-child(2) { animation-delay: 0.20s; }
[data-hero-item]:nth-child(3) { animation-delay: 0.34s; }
[data-hero-item]:nth-child(4) { animation-delay: 0.48s; }
[data-hero-item]:nth-child(5) { animation-delay: 0.62s; }
@keyframes gtHeroReveal {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: none; }
}

/* ─── Mobile Menu Transitions ─────────────────────── */
.gt-backdrop-enter      { transition: opacity 0.3s ease; }
.gt-backdrop-enter-from { opacity: 0; }
.gt-backdrop-enter-to   { opacity: 1; }
.gt-backdrop-leave      { transition: opacity 0.22s ease; }
.gt-backdrop-leave-from { opacity: 1; }
.gt-backdrop-leave-to   { opacity: 0; }

.gt-drawer-enter      { transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1); }
.gt-drawer-enter-from { transform: translateY(100%); }
.gt-drawer-enter-to   { transform: translateY(0); }
.gt-drawer-leave      { transition: transform 0.26s cubic-bezier(0.32, 0.72, 0, 1); }
.gt-drawer-leave-from { transform: translateY(0); }
.gt-drawer-leave-to   { transform: translateY(100%); }

/* ─── Mobile Submenu Accordion (CSS grid-template-rows trick) ── */
/* More precise than max-height — no blank-space lag at end */
.gt-submenu-inner {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.gt-submenu-inner.open { grid-template-rows: 1fr; }
.gt-submenu-content {
  overflow: hidden;
  min-height: 0;
  transition: opacity 0.22s ease;
  opacity: 0;
}
.gt-submenu-inner.open .gt-submenu-content { opacity: 1; }

/* ─── Mobile Menu Drawer (theme-safe, no Tailwind hover flash) ── */
#gt-mobile-menu-backdrop {
  background: var(--gt-overlay, rgba(15, 23, 42, 0.7));
}
#gt-mobile-menu {
  background: var(--gt-surface, #fff);
  border-top: 1px solid var(--gt-border-light, #e2e8f0);
  box-shadow: 0 -12px 48px rgba(15, 23, 42, 0.12);
}
html.theme-dark #gt-mobile-menu {
  box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.45);
}
#gt-mobile-menu .gt-mm-handle-bar { background: var(--gt-border, #cbd5e1); }
#gt-mobile-menu .gt-mm-header {
  border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
}
#gt-mobile-menu .gt-mm-brand { color: var(--gt-text-heading, #0f172a); }
#gt-mobile-menu .gt-mm-close {
  color: var(--gt-text-faint, #94a3b8);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#gt-mobile-menu .gt-mm-close:hover {
  color: var(--gt-text-heading, #0f172a);
  background: var(--gt-bg-subtle, #f1f5f9);
}
#gt-mobile-menu .gt-mm-search {
  background: var(--gt-bg-subtle, #f1f5f9);
  color: var(--gt-text-muted, #64748b);
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#gt-mobile-menu .gt-mm-search:hover {
  background: var(--gt-bg-muted, #e2e8f0);
  color: var(--gt-text, #334155);
}
#gt-mobile-menu .gt-mm-parent {
  color: var(--gt-text-heading, #0f172a);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#gt-mobile-menu .gt-mm-parent:hover,
#gt-mobile-menu .gt-mm-parent.is-open {
  background: var(--gt-bg-subtle, #f1f5f9);
}
#gt-mobile-menu .gt-mm-parent .gt-mm-chevron { color: var(--gt-text-faint, #94a3b8); }
#gt-mobile-menu .gt-mm-link,
#gt-mobile-menu .gt-mm-nav-link {
  color: var(--gt-text-muted, #64748b);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#gt-mobile-menu .gt-mm-link:hover,
#gt-mobile-menu .gt-mm-nav-link:hover {
  background: color-mix(in srgb, var(--gt-primary) 10%, transparent);
  color: var(--gt-primary, #5233eb);
}
html.theme-dark #gt-mobile-menu .gt-mm-link:hover,
html.theme-dark #gt-mobile-menu .gt-mm-nav-link:hover {
  background: color-mix(in srgb, var(--gt-primary) 18%, transparent);
  color: #c4b5fd;
}
#gt-mobile-menu .gt-mm-divider {
  border-color: var(--gt-border-light, #e2e8f0);
}
#gt-mobile-menu .gt-mm-cta-stack {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
#gt-mobile-menu a.gt-mm-cta-primary,
#gt-mobile-menu a.gt-mm-cta-secondary {
  display: block;
  width: 100%;
  border-radius: 1rem;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s ease, border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
#gt-mobile-menu a.gt-mm-cta-primary {
  padding: 1rem 1.25rem;
  font-size: 1rem;
  font-weight: var(--gt-btn-font-weight, 600);
  color: #fff !important;
  background: linear-gradient(135deg, var(--gt-primary, #5233eb), var(--gt-secondary, #7c3aed)) !important;
  border: none !important;
  box-shadow: 0 2px 12px color-mix(in srgb, var(--gt-primary, #5233eb) 28%, transparent);
}
#gt-mobile-menu a.gt-mm-cta-primary:hover,
#gt-mobile-menu a.gt-mm-cta-primary:focus-visible {
  color: #fff !important;
  opacity: 0.92;
}
#gt-mobile-menu a.gt-mm-cta-secondary,
#gt-mobile-menu .gt-mm-outline {
  padding: 0.875rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--gt-text, #334155) !important;
  background: var(--gt-surface, #fff) !important;
  border: 1px solid var(--gt-border, #cbd5e1) !important;
}
#gt-mobile-menu a.gt-mm-cta-secondary:hover,
#gt-mobile-menu a.gt-mm-cta-secondary:focus-visible,
#gt-mobile-menu .gt-mm-outline:hover {
  border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent) !important;
  color: var(--gt-primary, #5233eb) !important;
  background: color-mix(in srgb, var(--gt-primary) 6%, transparent) !important;
}
html.theme-dark #gt-mobile-menu a.gt-mm-cta-secondary,
html.theme-dark #gt-mobile-menu .gt-mm-outline {
  color: var(--gt-text, #e2e8f0) !important;
  background: var(--gt-surface, #1e293b) !important;
  border-color: var(--gt-border, #334155) !important;
}
#gt-mobile-menu .gt-mm-logout {
  margin-top: 0.125rem;
}
#gt-mobile-menu .gt-mm-logout-link {
  color: var(--gt-text-muted, #64748b);
  text-decoration: none;
}
#gt-mobile-menu .gt-mm-logout-link:hover,
#gt-mobile-menu .gt-mm-logout-link:focus-visible {
  background: color-mix(in srgb, var(--gt-primary) 10%, transparent);
  color: var(--gt-primary, #5233eb);
}
#gt-mobile-menu .gt-mm-signin {
  color: var(--gt-text-muted, #64748b);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#gt-mobile-menu .gt-mm-signin:hover {
  color: var(--gt-primary, #5233eb);
  background: color-mix(in srgb, var(--gt-primary) 10%, transparent);
}
#gt-mobile-menu .gt-mm-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
}
#gt-mobile-menu .gt-mm-icon-brand { background: color-mix(in srgb, var(--gt-primary) 12%, transparent); color: var(--gt-primary, #5233eb); }
#gt-mobile-menu .gt-mm-icon-emerald { background: rgba(16, 185, 129, 0.12); color: #059669; }
#gt-mobile-menu .gt-mm-icon-violet { background: color-mix(in srgb, var(--gt-secondary) 12%, transparent); color: var(--gt-secondary); }
#gt-mobile-menu .gt-mm-icon-amber { background: rgba(245, 158, 11, 0.12); color: #d97706; }
html.theme-dark #gt-mobile-menu .gt-mm-icon-brand { background: color-mix(in srgb, var(--gt-primary) 22%, transparent); color: #c4b5fd; }
html.theme-dark #gt-mobile-menu .gt-mm-icon-emerald { background: rgba(16, 185, 129, 0.18); color: #6ee7b7; }
html.theme-dark #gt-mobile-menu .gt-mm-icon-violet { background: color-mix(in srgb, var(--gt-secondary) 20%, transparent); color: #d8b4fe; }
html.theme-dark #gt-mobile-menu .gt-mm-icon-amber { background: rgba(245, 158, 11, 0.18); color: #fcd34d; }

/* ─── Homepage: Every Need section ───────────────── */
.gt-section-every-need {
  background: linear-gradient(180deg, #eef2ff 0%, #f1f5f9 45%, #faf5ff 100%);
}
.gt-section-every-need::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.5;
  pointer-events: none;
  background-image: radial-gradient(color-mix(in srgb, var(--gt-primary) 7%, transparent) 1px, transparent 1px);
  background-size: 28px 28px;
}
.gt-section-every-need .gt-section-top-line {
  background: linear-gradient(to right, transparent, color-mix(in srgb, var(--gt-primary) 25%, transparent), transparent);
}
.gt-cat-badge-purple { background: color-mix(in srgb, var(--gt-secondary) 12%, transparent); color: var(--gt-secondary); }
.gt-cat-badge-brand { background: color-mix(in srgb, var(--gt-primary) 10%, transparent); color: var(--gt-primary); }
.gt-cat-badge-emerald { background: rgba(16, 185, 129, 0.1); color: #059669; }
.gt-cat-badge-blue { background: rgba(59, 130, 246, 0.1); color: #2563eb; }
.gt-cat-badge-rose { background: rgba(244, 63, 94, 0.1); color: #e11d48; }
.gt-cat-badge-amber { background: rgba(245, 158, 11, 0.12); color: #d97706; }
html.theme-dark .gt-section-every-need {
  background: linear-gradient(180deg, #0c1222 0%, #111827 50%, #0a0f1a 100%);
}
html.theme-dark .gt-section-every-need::before {
  background-image: radial-gradient(color-mix(in srgb, var(--gt-primary) 12%, transparent) 1px, transparent 1px);
  opacity: 0.35;
}
html.theme-dark .gt-section-every-need .gt-section-top-line {
  background: linear-gradient(to right, transparent, color-mix(in srgb, var(--gt-primary) 35%, transparent), transparent);
}
html.theme-dark .gt-section-every-need .gt-cat-badge-purple { background: color-mix(in srgb, var(--gt-secondary) 20%, transparent); color: #d8b4fe; }
html.theme-dark .gt-section-every-need .gt-cat-badge-brand { background: color-mix(in srgb, var(--gt-primary) 20%, transparent); color: #c4b5fd; }
html.theme-dark .gt-section-every-need .gt-cat-badge-emerald { background: rgba(16, 185, 129, 0.18); color: #6ee7b7; }
html.theme-dark .gt-section-every-need .gt-cat-badge-blue { background: rgba(59, 130, 246, 0.18); color: #93c5fd; }
html.theme-dark .gt-section-every-need .gt-cat-badge-amber { background: rgba(245, 158, 11, 0.18); color: #fcd34d; }
html.theme-dark .gt-section-every-need .gt-cat-badge-rose { background: rgba(244, 63, 94, 0.18); color: #fda4af; }
html.theme-dark .gt-section-every-need [class*="cat-card-"]:hover {
  border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}
html.theme-dark .gt-section-every-need .border-dashed {
  border-color: var(--gt-border) !important;
}
html.theme-dark .gt-section-every-need .border-dashed:hover {
  border-color: color-mix(in srgb, var(--gt-primary) 40%, transparent) !important;
}
html.theme-dark .gt-section-every-need .from-slate-50 {
  --tw-gradient-from: var(--gt-bg-subtle) !important;
}
html.theme-dark .gt-section-every-need .to-brand-50 {
  --tw-gradient-to: color-mix(in srgb, var(--gt-primary) 12%, transparent) !important;
}

/* ─── Accordion / FAQ Transitions ────────────────── */
.gt-accord-enter      { transition: opacity 0.22s ease, transform 0.22s ease; }
.gt-accord-enter-from { opacity: 0; transform: translateY(-6px); }
.gt-accord-enter-to   { opacity: 1; transform: translateY(0); }
.gt-accord-leave      { transition: opacity 0.16s ease; }
.gt-accord-leave-from { opacity: 1; }
.gt-accord-leave-to   { opacity: 0; }

/* ─── Form Input Readability (Dark Backgrounds) ───── */
/* For use in footer, dark hero search forms, etc. */
.gt-input-dark {
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  caret-color: #fff;
}
.gt-input-dark::placeholder { color: rgba(255, 255, 255, 0.38) !important; }
.gt-input-dark:focus {
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: color-mix(in srgb, var(--gt-primary) 70%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 18%, transparent) !important;
  outline: none !important;
}

/* For use on light backgrounds */
.gt-input-light {
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #0f172a;
}
.gt-input-light::placeholder { color: #94a3b8; }
.gt-input-light:focus {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
  outline: none;
}

/* ─── Global form controls (Elementor, CF7, Fluent, native) ─── */
:root {
  --gt-field-bg: var(--gt-input-bg, #fff);
  --gt-field-border: var(--gt-input-border, #cbd5e1);
  --gt-field-text: var(--gt-text, #0f172a);
  --gt-field-muted: #94a3b8;
  --gt-field-radius: 0.75rem;
  --gt-check-size: 1.125rem;
  --gt-check-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.5 6.5 11.5 12.5 4.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --gt-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' stroke='%2394a3b8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.gt-field-scope form :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="file"]):not([type="image"]):not([type="reset"]):not([type="range"]):not([type="color"]):not(.gt-search-popular__tag):not(#gt-search-input):not(.gt-search-modal__input):not(.gt-titlebar-search__field),
  select,
  textarea
),
.elementor-widget-form :is(
  input.elementor-field-textual,
  select.elementor-field-textual,
  textarea.elementor-field-textual
),
.wpcf7 :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]), select, textarea),
.fluentform :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]), select, textarea),
.frm_forms :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]), select, textarea) {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--gt-field-text);
  background-color: var(--gt-field-bg);
  border: 1px solid var(--gt-field-border);
  border-radius: var(--gt-field-radius);
  box-shadow: none;
  transition: border-color var(--gt-transition), box-shadow var(--gt-transition), background-color var(--gt-transition);
}

.gt-field-scope form select,
.elementor-widget-form select,
.elementor-widget-form select.elementor-field,
.elementor-widget-form select.elementor-field-textual,
.wpcf7 select,
.fluentform select,
.frm_forms select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 2.75rem;
  background-color: var(--gt-field-bg);
  background-image: var(--gt-select-arrow) !important;
  background-repeat: no-repeat !important;
  background-position: right 0.875rem center !important;
  background-size: 1rem !important;
  cursor: pointer;
}

.gt-field-scope form select::-ms-expand,
.elementor-widget-form select::-ms-expand,
.wpcf7 select::-ms-expand,
.fluentform select::-ms-expand,
.frm_forms select::-ms-expand {
  display: none;
}

.gt-field-scope form textarea,
.elementor-widget-form textarea.elementor-field-textual,
.wpcf7 textarea,
.fluentform textarea,
.frm_forms textarea {
  min-height: 8rem;
  resize: vertical;
}

.gt-field-scope form :is(input, select, textarea)::placeholder,
.elementor-widget-form :is(input, textarea)::placeholder,
.wpcf7 :is(input, textarea)::placeholder,
.fluentform :is(input, textarea)::placeholder {
  color: var(--gt-field-muted);
  opacity: 1;
}

.gt-field-scope form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus,
.elementor-widget-form :is(input.elementor-field-textual, select.elementor-field-textual, textarea.elementor-field-textual):focus,
.wpcf7 :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus,
.fluentform :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus,
.frm_forms :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
  outline: none;
}

/* Checkbox / radio — real form controls only (exclude .sr-only UI toggles) */
.gt-field-scope form :is(input[type="checkbox"]:not(.sr-only), input[type="radio"]:not(.sr-only)),
.elementor-widget-form :is(input[type="checkbox"], input[type="radio"]),
.wpcf7 input[type="checkbox"],
.fluentform input[type="checkbox"],
.frm_forms input[type="checkbox"],
.gt-form-checkbox input[type="checkbox"],
.gt-comment-form__cookies input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  width: var(--gt-check-size) !important;
  min-width: var(--gt-check-size) !important;
  max-width: var(--gt-check-size) !important;
  height: var(--gt-check-size) !important;
  min-height: var(--gt-check-size) !important;
  margin: 0.125rem 0 0;
  padding: 0;
  border: 1.5px solid var(--gt-field-border);
  border-style: solid;
  background-color: var(--gt-field-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  cursor: pointer;
}

.gt-field-scope form input[type="checkbox"]:not(.sr-only),
.elementor-widget-form input[type="checkbox"],
.wpcf7 input[type="checkbox"],
.fluentform input[type="checkbox"],
.frm_forms input[type="checkbox"],
.gt-form-checkbox input[type="checkbox"],
.gt-comment-form__cookies input[type="checkbox"] {
  border-radius: 0.375rem;
}

.gt-field-scope form input[type="radio"]:not(.sr-only),
.elementor-widget-form input[type="radio"] {
  border-radius: 9999px;
}

.gt-field-scope form :is(input[type="checkbox"]:not(.sr-only), input[type="radio"]:not(.sr-only)):checked,
.elementor-widget-form :is(input[type="checkbox"], input[type="radio"]):checked,
.wpcf7 input[type="checkbox"]:checked,
.fluentform input[type="checkbox"]:checked,
.frm_forms input[type="checkbox"]:checked,
.gt-form-checkbox input[type="checkbox"]:checked,
.gt-comment-form__cookies input[type="checkbox"]:checked {
  background-color: var(--gt-primary);
  border-color: var(--gt-primary);
}

.gt-field-scope form input[type="checkbox"]:not(.sr-only):checked,
.elementor-widget-form input[type="checkbox"]:checked,
.wpcf7 input[type="checkbox"]:checked,
.fluentform input[type="checkbox"]:checked,
.frm_forms input[type="checkbox"]:checked,
.gt-form-checkbox input[type="checkbox"]:checked,
.gt-comment-form__cookies input[type="checkbox"]:checked {
  background-image: var(--gt-check-mark);
}

.gt-field-scope form input[type="radio"]:not(.sr-only):checked,
.elementor-widget-form input[type="radio"]:checked {
  background-image: radial-gradient(circle, #fff 0 30%, transparent 32%);
}

.gt-field-scope form :is(input[type="checkbox"]:not(.sr-only), input[type="radio"]:not(.sr-only)):focus-visible,
.elementor-widget-form :is(input[type="checkbox"], input[type="radio"]):focus-visible,
.wpcf7 input[type="checkbox"]:focus-visible,
.gt-form-checkbox input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 14%, transparent);
}

/* Checkbox / radio label rows — plugin forms only */
.wpcf7-list-item,
.fluentform .ff-el-form-check,
.frm_forms .frm_checkbox,
.elementor-widget-form .elementor-field-option,
.gt-form-checkbox,
.gt-comment-form__cookies {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--gt-text-muted, #64748b);
  cursor: pointer;
}

.elementor-widget-form .elementor-field-type-checkbox .elementor-field-subgroup,
.elementor-widget-form .elementor-field-type-radio .elementor-field-subgroup,
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display: grid;
  gap: 0.625rem;
}

.elementor-widget-form .elementor-field-type-checkbox .elementor-field-label,
.elementor-widget-form .elementor-field-type-radio .elementor-field-label,
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-label {
  margin-bottom: 0.5rem;
}

.gt-field-scope form .wpcf7-form-control-wrap,
.gt-field-scope form .ff-el-group {
  margin-bottom: 1rem;
}

/* Login popup + overlays */
.gt-form-input,
.gt-popup .gt-form-group input:not([type="checkbox"]) {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: var(--gt-field-text);
  background: var(--gt-field-bg);
  border: 1px solid var(--gt-field-border);
  border-radius: var(--gt-field-radius);
}

.gt-form-input:focus,
.gt-popup .gt-form-group input:not([type="checkbox"]):focus {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
  outline: none;
}

.gt-form-label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-field-text);
}

.gt-form-checkbox {
  margin: 0.75rem 0 1rem;
}

.gt-form-checkbox span {
  flex: 1;
}

/* Form buttons — submit inside forms only (never pagination/UI buttons) */
.gt-field-scope form :is(
  input[type="submit"],
  input[type="reset"],
  button[type="submit"]
):not(.gt-hdr-btn):not(.gt-nav-link):not(.gt-search-btn):not([class*="gt-btn"]):not(.wp-block-search__button):not(.search-submit):not(.gt-back-top),
.elementor-widget-form .elementor-button,
.elementor-widget-form button.elementor-button,
.elementor-widget-form input[type="submit"],
.wpcf7 input.wpcf7-submit,
.wpcf7 input[type="submit"],
.fluentform .ff-btn-submit,
.fluentform button[type="submit"],
.frm_forms .frm_button_submit,
.frm_forms input[type="submit"],
.gt-form-submit,
.gt-popup button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: auto;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: var(--gt-btn-font-weight, 600);
  line-height: 1.25;
  color: #fff;
  text-decoration: none;
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary)));
  border: 1.5px solid transparent;
  border-radius: var(--gt-btn-radius, var(--gt-field-radius, 0.75rem));
  box-shadow: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: transform var(--gt-transition-smooth, 0.2s ease), filter var(--gt-transition-smooth, 0.2s ease), box-shadow var(--gt-transition, 0.15s ease), opacity var(--gt-transition, 0.15s ease);
}

.gt-field-scope form :is(input[type="submit"], input[type="reset"], button[type="submit"]):not(.gt-hdr-btn):not(.gt-nav-link):not(.gt-search-btn):not([class*="gt-btn"]):not(.wp-block-search__button):not(.search-submit):hover,
.elementor-widget-form .elementor-button:hover,
.elementor-widget-form button.elementor-button:hover,
.elementor-widget-form input[type="submit"]:hover,
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 input[type="submit"]:hover,
.fluentform .ff-btn-submit:hover,
.fluentform button[type="submit"]:hover,
.frm_forms .frm_button_submit:hover,
.frm_forms input[type="submit"]:hover,
.gt-form-submit:hover,
.gt-popup button[type="submit"]:hover {
  color: #fff;
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary)));
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: none;
}

.gt-field-scope form :is(input[type="submit"], input[type="reset"], button[type="submit"]):not(.gt-hdr-btn):not(.gt-nav-link):not(.gt-search-btn):not([class*="gt-btn"]):not(.wp-block-search__button):not(.search-submit):focus-visible,
.elementor-widget-form .elementor-button:focus-visible,
.wpcf7 input.wpcf7-submit:focus-visible,
.fluentform .ff-btn-submit:focus-visible,
.frm_forms .frm_button_submit:focus-visible,
.gt-form-submit:focus-visible,
.gt-popup button[type="submit"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 14%, transparent);
}

.gt-field-scope form :is(input[type="submit"], input[type="reset"], button[type="submit"]):not(.gt-hdr-btn):not(.gt-nav-link):not(.gt-search-btn):not([class*="gt-btn"]):not(.wp-block-search__button):not(.search-submit):active,
.elementor-widget-form .elementor-button:active,
.wpcf7 input.wpcf7-submit:active,
.fluentform .ff-btn-submit:active,
.frm_forms .frm_button_submit:active,
.gt-form-submit:active,
.gt-popup button[type="submit"]:active {
  transform: translateY(0);
  filter: brightness(1);
}

.elementor-widget-form .elementor-field-type-submit,
.elementor-widget-form .e-form__buttons,
.gt-field-scope .wpcf7-form p:has(input[type="submit"]),
.gt-field-scope .ff_submit_btn_wrapper,
.gt-field-scope .frm_submit {
  margin-top: 0.25rem;
}

/* ─── Page Layout Templates ─────────────────────────── */
.gt-page-layout--no-sidebar .gt-page-sidebar { display: none !important; }
.gt-page-layout--no-sidebar .gt-page-content { max-width: 48rem; margin-left: auto; margin-right: auto; width: 100%; }
body[data-sidebar="disabled"] .gt-page-sidebar { display: none !important; }

/* ─── Link Smoothing in Mega Menus ───────────────── */
.gt-mega-panel-header :is(p, h3, h4) {
  margin: 0;
  line-height: 1.35;
}
.gt-mega-panel-header :is(p, h4) + :is(p, h4) {
  margin-top: 0.125rem;
}
.gt-mega-panel-header__lead {
  align-items: center;
}

.gt-mega-wrap a:not([class*="gt-btn"]), .gt-mega-blog a:not([class*="gt-btn"]), .gt-flyout-panel a {
  transition: color 0.16s ease;
}
.gt-nav-flydown a.gt-nav-link--sub {
  transition: color 0.16s ease;
}
.gt-mega-wrap a:not([class*="gt-btn"]):hover,
.gt-mega-wrap a:not([class*="gt-btn"]):focus-visible,
.gt-mega-blog a:not([class*="gt-btn"]):hover,
.gt-mega-blog a:not([class*="gt-btn"]):focus-visible {
  background-color: transparent !important;
  color: var(--gt-primary, #5233eb);
}
.gt-mega-link--highlight,
.gt-mega-link--highlight .gt-mega-link__desc {
  color: var(--gt-primary, #5233eb) !important;
}
.gt-mega-link--highlight {
  font-weight: 700;
}
.gt-mega-link--highlight .gt-mega-link__desc {
  opacity: 0.75;
  font-weight: 400;
}
.gt-nav-link--sub .gt-nav-link__desc,
.gt-mega-link__desc {
  display: block;
  font-size: 0.75rem;
  line-height: 1.25;
  color: #64748b;
  font-weight: 400;
}
/* Submenus mega — tight column item spacing */
.gt-mega-submenus .gt-mega-submenus__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.gt-mega-submenus .gt-mega-submenus__list > li + li {
  margin-top: 0.125rem;
}
.gt-mega-submenus a.gt-mega-link {
  padding: 0.25rem 0;
  width: 100%;
}
.gt-mega-submenus .gt-mega-submenus__group:last-child {
  margin-bottom: 0 !important;
}
.gt-nav-item--highlight > .gt-nav-link--sub .gt-nav-link__desc {
  color: var(--gt-primary, #5233eb);
  opacity: 0.75;
}
.gt-nav-link__row .gt-nav-badge {
  margin-left: 0;
  flex-shrink: 0;
}
.gt-nav-link__head {
  width: 100%;
}
.gt-nav-link--sub.flex-col > .gt-nav-link__head {
  align-self: stretch;
}
/* Top-level nav: subtitle below label */
.gt-nav-link--stacked {
  white-space: normal;
  align-items: flex-start;
}
.gt-nav-link--stacked .gt-nav-link__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
}
.gt-nav-link--stacked .gt-nav-link__desc {
  display: block;
  width: 100%;
  margin-top: 0;
  font-size: 0.65rem;
  line-height: 1.1;
  opacity: 0.65;
  font-weight: 400;
}
.gt-nav-link--stacked .gt-nav-link__chevron {
  flex-shrink: 0;
  margin-left: auto;
}
.gt-nav-flydown .gt-nav-item--highlight > a.gt-nav-link--sub,
.gt-flyout-panel .gt-nav-item--highlight > a {
  color: var(--gt-primary, #5233eb) !important;
  font-weight: 700 !important;
}

/* Blog archive grid — Customizer columns */
.gt-post-grid {
  display: grid;
  gap: 1.75rem;
  grid-template-columns: 1fr;
}
.gt-post-grid--cols-1 { grid-template-columns: 1fr !important; }
.gt-post-grid--cols-2 { grid-template-columns: 1fr; }
.gt-post-grid--cols-3 { grid-template-columns: 1fr; }
@media (min-width: 768px) {
  .gt-post-grid--cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .gt-post-grid--cols-3 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 1024px) {
  .gt-post-grid--cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
}
.gt-post-grid--list { grid-template-columns: 1fr !important; }

/* Showcase archive grid — Customizer columns */
.gt-showcase-grid {
  display: grid;
  grid-template-columns: 1fr;
}
.gt-showcase-grid.gap-4 { gap: 1rem; }
.gt-showcase-grid.gap-6 { gap: 1.5rem; }
.gt-showcase-grid.gap-8 { gap: 2rem; }
.gt-showcase-grid--cols-1 { grid-template-columns: 1fr !important; }
@media (min-width: 640px) {
  .gt-showcase-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
  .gt-showcase-grid--cols-3 { grid-template-columns: repeat(2, 1fr); }
  .gt-showcase-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .gt-showcase-grid--cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .gt-showcase-grid--cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
  .gt-showcase-grid--cols-4 { grid-template-columns: repeat(4, 1fr) !important; }
}

.gt-post-card--list {
  display: grid;
  grid-template-columns: minmax(0, 280px) 1fr;
  gap: 1.25rem;
  align-items: start;
}
@media (max-width: 640px) {
  .gt-post-card--list { grid-template-columns: 1fr; }
}

/* Mobile menu item icons */
.gt-mm-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  flex-shrink: 0;
}

/* Desktop nav + mega menu icons */
.gt-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.45rem;
  flex-shrink: 0;
}
.gt-nav-icon--sm {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.35rem;
}
.gt-nav-icon img {
  width: 0.875rem;
  height: 0.875rem;
  object-fit: contain;
}
/* Customizer: hide top-level nav icons only (submenus keep icons) */
body.gt-header-nav-no-top-icons #gt-header .gt-nav__menu > .gt-nav-item > .gt-nav-link .gt-nav-link__row > .gt-nav-icon,
body.gt-header-nav-no-top-icons #gt-header .gt-nav__menu > .gt-nav-megahit > .gt-nav-link .gt-nav-link__row > .gt-nav-icon {
  display: none !important;
}

/* Footer */
.gt-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  border: 1px solid rgb(255 255 255 / 0.1);
  color: rgb(255 255 255 / 0.4);
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.gt-social-link__icon {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
  display: block;
}
.gt-social-link:hover {
  color: #fff;
  border-color: rgb(255 255 255 / 0.3);
  background: rgb(255 255 255 / 0.08);
}
.gt-footer-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-footer-nav-item {
  margin: 0;
}
.gt-footer-widgets .widget-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gt-footer-heading, #fff);
  margin-bottom: 1.25rem;
}
.gt-footer--light .gt-footer-widgets .widget-title {
  color: var(--gt-footer-heading, #0f172a);
}
.gt-footer--light .gt-social-link {
  border-color: rgba(15, 23, 42, 0.12);
  color: #64748b;
}
.gt-footer--light .gt-social-link:hover {
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.22);
  background: rgba(15, 23, 42, 0.04);
}

/* Back to top — canonical styles live in style.min.css */
.gt-footer-widgets .widget {
  color: var(--gt-footer-muted, rgba(255, 255, 255, 0.5));
}
.gt-footer-widgets .widget a {
  color: var(--gt-footer-link, rgba(255, 255, 255, 0.5));
  text-decoration: none;
  transition: color 0.2s;
}
.gt-footer-widgets .widget a:hover {
  color: var(--gt-footer-link-hover, #fff);
}

/* Footer widget menus — match static footer.html (space-y-3, text-sm links) */
.gt-footer-widgets .widget_nav_menu div[class*="menu-"],
.gt-footer-widgets .widget_nav_menu nav {
  margin: 0;
  padding: 0;
}
.gt-footer-widgets .widget_nav_menu .gt-footer-widget-menu,
.gt-footer-widgets .widget_nav_menu .menu,
.gt-footer-widgets .widget > ul,
.gt-footer-widgets .wp-block-navigation ul,
.gt-footer-widgets .wp-block-page-list,
.gt-footer-widgets .wp-block-pages-list__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.gt-footer-widgets .widget_nav_menu .menu-item,
.gt-footer-widgets .widget > ul > li,
.gt-footer-widgets .wp-block-navigation-item,
.gt-footer-widgets .wp-block-pages-list__item {
  margin: 0;
  padding: 0;
}
.gt-footer-widgets .widget_nav_menu .menu-item a,
.gt-footer-widgets .widget > ul > li > a,
.gt-footer-widgets .wp-block-navigation-item__content,
.gt-footer-widgets .wp-block-pages-list__item__link {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--gt-footer-link, rgba(255, 255, 255, 0.5));
  text-decoration: none;
  transition: color 0.2s ease;
}
.gt-footer-widgets .widget_nav_menu .menu-item a:hover,
.gt-footer-widgets .widget > ul > li > a:hover,
.gt-footer-widgets .wp-block-navigation-item__content:hover,
.gt-footer-widgets .wp-block-pages-list__item__link:hover {
  color: var(--gt-footer-link-hover, #fff);
}
.gt-footer-widgets .widget_nav_menu .sub-menu {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0 0 0 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.gt-footer-widgets .wp-block-navigation .wp-block-navigation__container,
.gt-footer-widgets .wp-block-navigation ul.wp-block-navigation__container {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}
.gt-footer-widgets .wp-block-navigation .wp-block-navigation-item__content {
  padding: 0;
}
.gt-footer-widgets .wp-block-navigation .wp-block-navigation__submenu-container {
  margin-top: 0.5rem;
  padding-left: 0.75rem;
  gap: 0.5rem;
}

/* Theme archive — grid/list view toggle */
.gt-view-toggle {
  gap: 0.25rem;
  padding: 0.25rem;
  border-radius: 0.75rem;
  background: rgb(241 245 249); /* slate-100 — original track */
}
.gt-view-toggle__btn {
  color: rgb(100 116 139); /* slate-500 */
  background: transparent;
  border: none;
  transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}
.gt-view-toggle__btn:not(.is-active) {
  opacity: 0.42;
}
.gt-view-toggle__btn.is-active {
  color: rgb(15 23 42); /* slate-900 */
  background: #fff;
  box-shadow: 0 1px 2px 0 rgb(15 23 42 / 0.06);
  opacity: 1;
}
.gt-view-toggle__btn:not(.is-active):hover {
  color: rgb(51 65 85); /* slate-700 */
  background-color: #fff;
  box-shadow: none;
  opacity: 0.88;
}

/* ── Header account dropdown (logged in) ───────────────────────────────── */
.gt-account-dropdown {
  position: relative;
}
.gt-account-dropdown__wrap {
  position: relative;
}
.gt-account-dropdown__wrap::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 10px;
  z-index: 199;
}
.gt-account-dropdown__panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 220px;
  padding: 0.375rem;
  background: #fff;
  border: 1px solid var(--gt-border, #e2e8f0);
  border-radius: 0.875rem;
  box-shadow: 0 12px 32px -8px rgb(15 23 42 / 0.16), 0 4px 12px rgb(15 23 42 / 0.06);
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.gt-account-dropdown__wrap:hover > .gt-account-dropdown__panel,
.gt-account-dropdown__wrap:focus-within > .gt-account-dropdown__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.gt-account-dropdown__list,
.gt-mm-account-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-account-dropdown__link,
.gt-mm-account-link {
  display: block;
  padding: 0.625rem 0.75rem;
  border-radius: 0.625rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-text, #334155);
  text-decoration: none;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.gt-account-dropdown__link:hover,
.gt-account-dropdown__link:focus-visible,
.gt-mm-account-link:hover,
.gt-mm-account-link:focus-visible {
  color: var(--gt-primary, #5233eb);
  background: rgb(82 51 235 / 0.08);
  text-decoration: none;
}
.gt-account-dropdown__footer {
  margin-top: 0.375rem;
  padding-top: 0.375rem;
  border-top: 1px solid var(--gt-border-light, #e2e8f0);
}
.gt-account-dropdown__link--logout,
.gt-mm-account-link--logout {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.gt-account-dropdown__link--logout:hover,
.gt-account-dropdown__link--logout:focus-visible,
.gt-mm-account-link--logout:hover,
.gt-mm-account-link--logout:focus-visible {
  color: var(--gt-primary, #5233eb);
  background: rgb(82 51 235 / 0.08);
}
.gt-account-dropdown__logout-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  opacity: 0.75;
}
.gt-account-dropdown__chevron {
  transition: transform 0.18s ease, opacity 0.18s ease;
}
.gt-account-dropdown__wrap:hover .gt-account-dropdown__chevron,
.gt-account-dropdown__wrap:focus-within .gt-account-dropdown__chevron {
  transform: rotate(180deg);
  opacity: 0.9;
}
html.theme-dark .gt-account-dropdown__panel {
  background: var(--gt-surface, #1e293b);
  border-color: var(--gt-border, #334155);
}
html.theme-dark .gt-account-dropdown__link,
html.theme-dark .gt-mm-account-link {
  color: var(--gt-text, #e2e8f0);
}
html.theme-dark .gt-account-dropdown__footer {
  border-top-color: var(--gt-border, #334155);
}

/* Theme archive — list view card thumb (landscape, not square) */
.gt-theme-list-card__thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
}
@media (min-width: 768px) {
  .gt-theme-list-card__thumb {
    width: 18rem;
    max-width: 42%;
  }
}
@media (min-width: 1280px) {
  .gt-theme-list-card__thumb {
    width: 20rem;
  }
}

/* ── Announcement bar (Customizer) ─────────────────────────────────────── */
#gt-announcement-bar {
  position: relative;
  z-index: 45;
  width: 100%;
}
body.gt-has-announcement-bar.gt-header-static #gt-announcement-bar {
  margin-bottom: var(--gt-announcement-header-gap, 0px);
}
#gt-announcement-bar.is-gt-announcement-hidden {
  display: none;
}
.gt-announcement-bar__surface {
  background: var(--gt-announcement-bg, var(--gt-primary));
  color: var(--gt-announcement-color, #fff);
  font-size: var(--gt-announcement-font-size, 14px);
  font-weight: var(--gt-announcement-font-weight, 600);
  line-height: 1.45;
}
.gt-announcement-bar__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: var(--gt-announcement-py, 10px) var(--gt-announcement-px, 16px);
  min-height: var(--gt-announcement-h, auto);
}
.gt-announcement-bar__track {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}
.gt-announcement-bar__slide {
  display: none;
}
.gt-announcement-bar__slide.is-active {
  display: block;
}
.gt-announcement-bar:not(.gt-announcement-bar--cycle) .gt-announcement-bar__slide {
  display: block;
}
.gt-announcement-bar__message {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.75rem;
}
.gt-announcement-bar__text,
.gt-announcement-bar__link {
  color: inherit;
  font-weight: inherit;
}
.gt-announcement-bar__link {
  text-decoration: none;
}
.gt-announcement-bar__link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gt-announcement-bar__code {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: var(--gt-announcement-code-py, 0.35rem) var(--gt-announcement-code-px, 0.75rem);
  border-radius: 0.65rem;
  border: var(--gt-announcement-code-border-width, 2px) dashed var(--gt-announcement-code-border, rgba(255, 255, 255, 0.55));
  background: var(--gt-announcement-code-bg, rgba(255, 255, 255, 0.1));
  color: var(--gt-announcement-code-color, inherit);
  font-size: var(--gt-announcement-code-size, inherit);
  font-weight: var(--gt-announcement-code-weight, 700);
  letter-spacing: 0.06em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.gt-announcement-bar__code:hover {
  filter: brightness(1.08);
  border-color: var(--gt-announcement-code-border, rgba(255, 255, 255, 0.75));
}
.gt-announcement-bar__code.is-copied {
  border-color: var(--gt-announcement-code-border, rgba(255, 255, 255, 0.9));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
.gt-announcement-bar__code-copy {
  font-size: 0.85em;
  font-weight: 600;
  opacity: 0.85;
}
.gt-announcement-bar__code--no-copy-label:not(.is-copied) .gt-announcement-bar__code-copy {
  display: none;
}
.gt-announcement-bar__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: var(--gt-announcement-btn-py, 0.35rem) var(--gt-announcement-btn-px, 0.75rem);
  border-radius: 999px;
  background: var(--gt-announcement-btn-bg, rgba(255, 255, 255, 0.16));
  border: var(--gt-announcement-btn-border-width, 1px) solid var(--gt-announcement-btn-border, transparent);
  color: var(--gt-announcement-btn-color, inherit);
  font-size: var(--gt-announcement-btn-size, inherit);
  font-weight: var(--gt-announcement-btn-weight, 700);
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.gt-announcement-bar__cta:hover {
  filter: brightness(1.08);
  color: var(--gt-announcement-btn-color, inherit);
}
.gt-announcement-bar__dismiss {
  position: absolute;
  right: max(0px, calc(var(--gt-announcement-px, 16px) - 4px));
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  opacity: 0.75;
  cursor: pointer;
  line-height: 0;
}
.gt-announcement-bar__dismiss-icon {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.gt-announcement-bar__dismiss:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.12);
}
@media (max-width: 767px) {
  body.gt-has-announcement-bar {
    --gt-announcement-h: 0px;
    --gt-announcement-header-gap: 0px;
    --gt-announcement-offset: 0px;
  }
  #gt-announcement-bar {
    display: none !important;
  }
  body.gt-has-announcement-bar.gt-header-static #gt-announcement-bar {
    margin-bottom: 0;
  }
}
@media (max-width: 640px) {
  .gt-announcement-bar__inner {
    padding-right: calc(var(--gt-announcement-px, 16px) + 1.75rem);
  }
  .gt-announcement-bar__message {
    justify-content: flex-start;
    text-align: left;
  }
  .gt-announcement-bar__track {
    text-align: left;
  }
}

/* Cart drawer above cookie bar (cookie bar = 99990).
   Do not use Tailwind z-[100000] — it is not in the compiled CSS. */
.gt-cart-drawer {
  z-index: 100001;
}

/* ── Cookie consent bar ─────────────────────────────────────────────────── */
.gt-cookie-bar {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 99990;
  padding: 0.75rem 1rem 1rem;
  pointer-events: none;
  opacity: 0;
  transform: translateY(110%);
  transition: opacity 0.32s ease, transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.gt-cookie-bar--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.gt-cookie-bar--hide {
  opacity: 0;
  transform: translateY(110%);
  pointer-events: none;
}
.gt-cookie-bar__surface {
  position: relative;
  max-width: 56rem;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 1px solid rgb(226 232 240 / 0.9);
  background: rgb(255 255 255 / 0.94);
  box-shadow:
    0 24px 48px -12px rgb(15 23 42 / 0.18),
    0 0 0 1px rgb(255 255 255 / 0.6) inset;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.gt-cookie-bar__accent {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--gt-primary) 0%, var(--gt-secondary) 45%, color-mix(in srgb, var(--gt-secondary) 70%, #ec4899) 100%);
}
.gt-cookie-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  padding: 1.25rem 1.375rem 1.375rem;
  padding-top: calc(1.25rem + 3px);
}
.gt-cookie-bar__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.875rem;
  color: var(--gt-primary);
  background: linear-gradient(135deg, color-mix(in srgb, var(--gt-primary) 12%, transparent), color-mix(in srgb, var(--gt-secondary) 8%, transparent));
  border: 1px solid color-mix(in srgb, var(--gt-primary) 14%, transparent);
}
.gt-cookie-bar__content {
  flex: 1 1 14rem;
  min-width: 0;
}
.gt-cookie-bar__title {
  margin: 0 0 0.25rem;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: rgb(15 23 42);
  line-height: 1.35;
}
.gt-cookie-bar__text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: rgb(100 116 139);
}
.gt-cookie-bar__actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.625rem;
  width: 100%;
}
@media (min-width: 640px) {
  .gt-cookie-bar__actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem 1rem;
    width: auto;
    margin-left: auto;
  }
}
.gt-cookie-bar__buttons {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  width: 100%;
}
@media (min-width: 640px) {
  .gt-cookie-bar__buttons {
    width: auto;
    flex-shrink: 0;
  }
}
.gt-cookie-bar__policy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgb(100 116 139);
  text-decoration: none;
  padding: 0.5625rem 0.75rem;
  border-radius: 0.625rem;
  white-space: nowrap;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.gt-cookie-bar__policy:hover {
  color: var(--gt-primary);
  background: color-mix(in srgb, var(--gt-primary) 6%, transparent);
}
.gt-cookie-bar .gt-cookie-bar__btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: var(--gt-btn-font-weight, 600);
  line-height: 1.2;
  padding: 0.6875rem 1.125rem;
  border-radius: 0.75rem;
  white-space: nowrap;
  flex-shrink: 0;
  min-height: 2.375rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.gt-cookie-bar .gt-cookie-bar__btn:active {
  transform: scale(0.98);
}
.gt-cookie-bar .gt-cookie-bar__btn--ghost {
  color: rgb(51 65 85);
  background: rgb(241 245 249);
  border: 1px solid rgb(226 232 240);
}
.gt-cookie-bar .gt-cookie-bar__btn--ghost:hover {
  background: rgb(226 232 240);
  border-color: rgb(203 213 225);
}
.gt-cookie-bar .gt-cookie-bar__btn--accept {
  color: #fff;
  background: var(--gt-btn-primary-bg);
  border: 1px solid transparent;
  box-shadow: 0 4px 14px -4px color-mix(in srgb, var(--gt-primary) 55%, transparent);
}
.gt-cookie-bar .gt-cookie-bar__btn--accept:hover {
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-primary-dark));
  box-shadow: 0 6px 18px -4px color-mix(in srgb, var(--gt-primary) 65%, transparent);
}
html.theme-dark .gt-cookie-bar__surface {
  background: rgb(15 23 42 / 0.92);
  border-color: rgb(51 65 85 / 0.8);
  box-shadow: 0 24px 48px -12px rgb(0 0 0 / 0.45);
}
html.theme-dark .gt-cookie-bar__title {
  color: rgb(248 250 252);
}
html.theme-dark .gt-cookie-bar__text,
html.theme-dark .gt-cookie-bar__policy {
  color: rgb(148 163 184);
}
html.theme-dark .gt-cookie-bar .gt-cookie-bar__btn--ghost {
  color: rgb(226 232 240);
  background: rgb(30 41 59);
  border-color: rgb(51 65 85);
}
html.theme-dark .gt-cookie-bar .gt-cookie-bar__btn--ghost:hover {
  background: rgb(51 65 85);
}
html.theme-dark .gt-cookie-bar .gt-cookie-bar__btn--accept {
  color: #fff;
  background: var(--gt-btn-primary-bg);
}
