/* ============================================================
   Pixel Perfect Themes — Main Stylesheet v1.0.0
   ============================================================ */

/* ─── CSS Variables (defaults — Customizer overrides in gt-customizer-css) ── */
/* ─── Reset (WP-only — do not override header/nav; Tailwind handles base) ─── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img:not(.gt-author-avatar):not(.gt-logo-text-img):not(.gt-footer__logo):not(.gt-media-grid-card__image), video { max-width: 100%; height: auto; display: block; }
img.gt-media-grid-card__image {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
img.gt-footer__logo {
  display: block;
  margin: 0;
  padding: 0;
  width: var(--gt-footer-logo-w, 110px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
img.gt-logo-text-img {
  display: block;
  margin: 0;
  padding: 0;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: calc(var(--gt-header-logo-w, 140px) * 0.2);
  object-fit: contain;
}
img.gt-author-avatar {
  display: block;
  margin: 0;
  padding: 0;
  max-width: none;
  width: var(--gt-avatar-size, 40px);
  height: var(--gt-avatar-size, 40px);
  object-fit: cover;
  border-radius: 9999px;
  flex-shrink: 0;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:not(.gt-hdr-btn):not(.gt-search-btn):not(.gt-nav-link):not([class*="gt-btn"]):not([class*="gt-cookie-bar"]):not(.gt-buy-btn):not(.gt-search-popular__tag):not(.wp-block-search__button):not(.search-submit):not(.gt-back-top):not(.gt-el-theme-listing__tab):not(.gt-widget-coupon__code):not(.gt-el-coupon__code-btn):not(.gt-announcement-bar__code):not(.elementor-button):not(.wpcf7-submit):not(.ff-btn-submit):not(.frm_button_submit):not(.gt-form-submit):not(.gt-theme-feature-card):not(.gt-feature-filter-pill):not(.show-password-input) {
  border: none;
  background: none;
}

/* ─── Typography ───────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 { font-family: var(--gt-font-display); font-weight: 700; line-height: 1.2; color: var(--gt-text); margin: 0; }
h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
h2 { font-size: clamp(1.375rem, 3vw, 1.875rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.125rem; }
p  { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }

/* ─── Container ────────────────────────────────────────────── */
/* gt-container is defined in global.css — do NOT redefine here.
   Only the modifier variants are needed. */
.gt-container--narrow   { max-width: 768px; }
.gt-container--standard { max-width: 1024px; }
.gt-container--wide     { max-width: 1280px; }
.gt-container--full {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.gt-container--fluid    { max-width: 100%; width: 100%; padding-left: 1rem; padding-right: 1rem; }
.gt-container--page     { padding-bottom: 3rem; }
@media (min-width: 640px) {
  .gt-container--fluid { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* ─── Layout row ───────────────────────────────────────────── */
.gt-row {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
}
.gt-main { flex: 1 1 0; min-width: 0; padding-block: 0; }
.gt-sidebar { width: 18rem; flex-shrink: 0; padding-block: 0; align-self: flex-start; }

.gt-row--no-sidebar .gt-sidebar { display: none; }
.gt-row--left  { flex-direction: row-reverse; }
.gt-row--right { flex-direction: row; }

@media (max-width: 1023px) {
  .gt-row { flex-direction: column !important; }
  .gt-sidebar { width: 100%; }
}

/* ─── Dropdown nav flydown (regular dropdown, not mega) ─────────────────────── */
div.gt-nav-item--dropdown::after {
  content: '';
  position: absolute;
  left: -6px;
  right: -6px;
  top: 100%;
  height: 14px;
  z-index: 199;
}
.gt-nav-flydown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 200;
  min-width: 220px;
  padding-top: 10px;
  background: transparent;
  border: none;
  box-shadow: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
}
.gt-nav-flydown__list {
  margin: 0;
  padding: .5rem;
  list-style: none;
  background: #fff;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  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-nav-link--sub {
  width: 100%;
}
.gt-flyout-wrap > .gt-nav-link--sub {
  justify-content: space-between;
}
.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; }
div.gt-nav-item:hover > .gt-nav-flydown,
div.gt-nav-item:focus-within > .gt-nav-flydown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* ─── Nav link subtitle (gt_menu_desc) ─────────────────────────────────────── */
.gt-nav-link__title { display: block; line-height: 1.2; }
.gt-nav-link__desc  { display: block; font-size: .65rem; opacity: .65; margin-top: .1rem; line-height: 1.1; }
/* 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-weight: 400;
}
.gt-nav-link--stacked .gt-nav-link__chevron {
  flex-shrink: 0;
  margin-left: auto;
}

/* ─── Highlight nav item ────────────────────────────────────────────────────── */
div.gt-nav-item--highlight > a.gt-nav-link,
div.gt-nav-item--highlight > button.gt-nav-link,
.gt-nav-flydown .gt-nav-item--highlight > a.gt-nav-link--sub,
.gt-flyout-panel .gt-nav-item--highlight > a {
  color: var(--gt-primary) !important;
  font-weight: 700 !important;
}

/* ─── Nav item from WP menu (replaces hardcoded header divs) ─────────────────── */
/* gt-nav-item used in GT_Walker_Nav_Menu outputs <div> at depth=0 */
div.gt-nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
}
#gt-header button.gt-nav-link {
  border: none;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  cursor: pointer;
}
/* sub-item <li> inside dropdowns */
li.gt-nav-item { position: relative; list-style: none; }
/* PRO / menu meta badge — matches header design (8px pill) */
.gt-pro-badge,
.gt-nav-item .gt-nav-badge,
#gt-header .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;
  background: #10b981;
  color: #fff;
}
.gt-nav-link__row .gt-nav-badge {
  margin-left: 0;
}
.gt-nav-link__head {
  width: 100%;
}
.gt-nav-link--sub.flex-col > .gt-nav-link__head {
  align-self: stretch;
}

/* ─── Header: search, cart & utility buttons ──────────────────────────────── */
#gt-header .gt-hdr-btn,
#gt-header .gt-search-btn,
#gt-header .gt-hdr-btn.border,
#gt-header .gt-search-btn.border {
  border-width: 1px;
  border-style: solid;
  border-color: #e2e8f0;
}
#gt-header .gt-search-btn {
  width: 200px;
  background: #f8fafc;
}
#gt-header.gt-header-dark .gt-hdr-btn {
  border-color: rgba(255,255,255,.16);
}
#gt-header.gt-header-dark .gt-search-btn {
  border-color: rgba(255,255,255,.14);
  background: transparent;
}
#gt-header .gt-search-btn .border {
  border-width: 1px;
  border-style: solid;
}
#gt-header-cart {
  position: relative;
}
.gt-cart-count {
  position: absolute;
  top: -0.25rem;
  right: -0.25rem;
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.25rem;
  border-radius: 9999px;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  background-color: var(--gt-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-sizing: border-box;
  pointer-events: none;
}
.gt-cart-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--gt-border);
  border-radius: 0.625rem;
  overflow: hidden;
  background: #fff;
}
.gt-cart-qty--busy { opacity: .65; pointer-events: none; }
.gt-cart-qty__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  background: transparent;
  color: #475569;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.gt-cart-qty__btn:hover:not(:disabled) { background: #f1f5f9; color: var(--gt-primary); }
.gt-cart-qty__btn:disabled { cursor: not-allowed; opacity: .5; }
.gt-cart-qty__value {
  min-width: 1.75rem;
  padding: 0 0.25rem;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.75rem;
  border-left: 1px solid var(--gt-border);
  border-right: 1px solid var(--gt-border);
}
.gt-cart-item__media,
.gt-cart-item__title {
  text-decoration: none;
  color: inherit;
  transition: opacity .15s ease, color .15s ease;
}
.gt-cart-item__title:hover { color: var(--gt-primary); }
.gt-cart-item__media:hover { opacity: .9; }

/* Cart drawer / cross-sell price pairs */
.gt-price-pair {
  display: inline-flex;
  align-items: baseline;
  gap: 0.375rem;
  flex-wrap: wrap;
}
.gt-price-pair--inline {
  justify-content: flex-end;
}
.gt-price-pair__regular {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--gt-text-muted, #94a3b8);
  text-decoration: line-through;
  line-height: 1.2;
}
.gt-price-pair__sale {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gt-primary, #5233eb);
  line-height: 1.2;
}
.gt-price-pair__sale--emphasis {
  font-size: 0.9375rem;
  color: var(--gt-text-heading, #0f172a);
}
.gt-cart-cross-sell__price .gt-price-pair__sale {
  font-size: 0.8125rem;
}
#gt-header .gt-hdr-cta.gt-header-cta--custom {
  background: var(--gt-header-cta-bg, var(--gt-primary));
  border-color: var(--gt-header-cta-bg, var(--gt-primary));
  color: var(--gt-header-cta-color, #fff);
}
#gt-header .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);
}

/* Admin bar offset — WP html margin removed in theme-setup.php; JS syncs --gt-admin-bar-h */
html {
  margin-top: 0 !important;
}
body.gt-header-sticky #gt-page-content,
body.gt-header-sticky .gt-page-content {
  padding-top: var(--gt-header-h, 72px);
}
body.gt-header-absolute #gt-page-content,
body.gt-header-absolute .gt-page-content {
  padding-top: 0;
}
body.gt-header-absolute {
  --gt-header-overlay-padding: calc(var(--gt-header-offset, var(--gt-header-h, 72px)) + var(--gt-admin-bar-h, 0px) + var(--gt-announcement-h, 0px) + var(--gt-announcement-header-gap, 0px));
}
body.gt-header-absolute .gt-header-overlay-target {
  padding-top: var(--gt-header-overlay-padding);
}
body.gt-header-absolute .gt-header-overlay-target.gt-hero-with-overlay {
  padding-top: calc(var(--gt-header-overlay-padding) + 5rem);
}
@media (min-width: 1024px) {
  body.gt-header-absolute .gt-header-overlay-target.gt-hero-with-overlay {
    padding-top: calc(var(--gt-header-overlay-padding) + 7rem);
  }
}
body.gt-header-hidden #gt-page-content,
body.gt-header-hidden .gt-page-content {
  padding-top: 0;
}
body.admin-bar.gt-header-sticky #gt-header,
body.admin-bar.gt-header-absolute #gt-header {
  top: var(--gt-admin-bar-h, 32px);
}
body.admin-bar.gt-header-sticky #gt-page-content,
body.admin-bar.gt-header-sticky .gt-page-content {
  padding-top: calc(var(--gt-header-h, 72px) + var(--gt-admin-bar-h, 32px));
}
body.admin-bar.gt-header-absolute #gt-page-content,
body.admin-bar.gt-header-absolute .gt-page-content {
  padding-top: 0;
}
body.admin-bar.gt-header-static {
  padding-top: var(--gt-admin-bar-h, 32px);
}
body.admin-bar.gt-header-static #gt-page-content,
body.admin-bar.gt-header-static .gt-page-content {
  padding-top: 0;
}
@media screen and (max-width: 782px) {
  body.admin-bar.gt-header-sticky #gt-header,
  body.admin-bar.gt-header-absolute #gt-header {
    top: var(--gt-admin-bar-h, 0px);
  }
  body.admin-bar.gt-header-sticky #gt-page-content,
  body.admin-bar.gt-header-sticky .gt-page-content {
    padding-top: calc(var(--gt-header-h, 72px) + var(--gt-admin-bar-h, 0px));
  }
  body.admin-bar.gt-header-absolute #gt-page-content,
  body.admin-bar.gt-header-absolute .gt-page-content {
    padding-top: 0;
  }
  body.admin-bar.gt-header-static {
    padding-top: var(--gt-admin-bar-h, 0px);
  }
  body.admin-bar.gt-header-static #gt-page-content,
  body.admin-bar.gt-header-static .gt-page-content {
    padding-top: 0;
  }
}

/* ─── Page title bar ────────────────────────────────────────── */
.gt-page-title-bar {
  position: relative;
  border-bottom: 1px solid #e2e8f0;
  overflow: hidden;
  margin-bottom: 3rem;
}
.gt-page-title-bar--dark {
  border-bottom-color: rgba(255,255,255,.08);
}
.gt-page-title-bar__pattern {
  position: absolute; inset: 0; pointer-events: none;
}
.gt-page-title-bar__pattern--dots {
  background-image: radial-gradient(rgba(99,102,241,.07) 1px, transparent 1px);
  background-size: 28px 28px;
}
.gt-page-title-bar__pattern--glow {
  background: radial-gradient(ellipse at 30% 50%, color-mix(in srgb, var(--gt-primary) 18%, transparent) 0%, transparent 60%);
}
.gt-page-title-bar__inner {
  position: relative;
  padding-block: 4rem;
}
/* Absolute header overlay: keep header clearance on the bar, not stacked on inner padding. */
body.gt-header-absolute .gt-page-title-bar.gt-header-overlay-target {
  padding-top: calc(var(--gt-header-overlay-padding) + 4rem);
  padding-bottom: 4rem;
}
body.gt-header-absolute .gt-page-title-bar.gt-header-overlay-target .gt-page-title-bar__inner {
  padding-block: 0;
}
.gt-page-title-bar .gt-breadcrumb {
  margin-bottom: 0.75rem;
}
.gt-page-title-bar__title {
  font-size: clamp(1.875rem, 4vw, 3rem);
  line-height: 1.15;
  margin: 0;
  color: var(--gt-titlebar-text, var(--gt-text));
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-page-title-bar--blog .gt-page-title-bar__title {
  font-size: 2.25rem;
  line-height: 1.1;
}
@media (min-width: 1024px) {
  .gt-page-title-bar--blog .gt-page-title-bar__title { font-size: 3rem; }
}
.gt-page-title-bar--blog.gt-page-title-bar--dark .gt-page-title-bar__pattern--glow {
  background: radial-gradient(ellipse at 30% 50%, color-mix(in srgb, var(--gt-primary) 28%, transparent) 0%, transparent 60%);
}
.gt-page-title-bar--blog.gt-page-title-bar--dark .gt-page-title-bar__pattern--dots {
  background-image: radial-gradient(color-mix(in srgb, var(--gt-primary) 12%, transparent) 1px, transparent 1px);
}
.gt-page-title-bar__eyebrow {
  font-size: .75rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; margin: 0 0 .5rem;
  color: var(--gt-titlebar-subtitle, var(--gt-muted));
}
.gt-page-title-bar__desc {
  font-size: 1.125rem; line-height: 1.65;
  margin: .75rem 0 0; max-width: 42rem;
  color: var(--gt-titlebar-subtitle, var(--gt-muted));
}
.gt-page-title-bar--dark .gt-page-title-bar__desc { font-size: 1.125rem; }
.gt-page-title-bar__count {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .875rem;
  margin: 1rem 0 0;
  color: var(--gt-titlebar-subtitle, var(--gt-muted));
}
.gt-page-title-bar__count-num {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
  color: var(--gt-titlebar-text, var(--gt-text));
}
.gt-page-title-bar__count-label {
  font-weight: 400;
  line-height: 1.25;
  opacity: .85;
}
.gt-page-title-bar--dark .gt-page-title-bar__count-num {
  color: #fff;
}
.gt-page-title-bar--dark .gt-page-title-bar__count-label {
  color: rgba(255,255,255,.55);
  opacity: 1;
}
/* Blog archives — match archive.html (uniform muted line) */
.gt-page-title-bar--blog .gt-page-title-bar__count {
  margin-top: 1rem;
}
.gt-page-title-bar--blog.gt-page-title-bar--dark .gt-page-title-bar__count {
  color: rgba(255,255,255,.4);
}
.gt-page-title-bar--blog.gt-page-title-bar--dark .gt-page-title-bar__count-num {
  font-size: inherit;
  font-weight: 700;
  letter-spacing: normal;
  color: #fff;
}
.gt-page-title-bar--blog.gt-page-title-bar--dark .gt-page-title-bar__count-label {
  color: rgba(255,255,255,.4);
}
/* Themes archives — match blog count line */
.gt-page-title-bar--themes .gt-page-title-bar__count {
  margin-top: 1rem;
}
.gt-page-title-bar--themes.gt-page-title-bar--light .gt-page-title-bar__count-num {
  font-size: inherit;
  font-weight: 700;
  letter-spacing: normal;
}
.gt-page-title-bar--themes.gt-page-title-bar--dark .gt-page-title-bar__count {
  color: rgba(255,255,255,.4);
}
.gt-page-title-bar--themes.gt-page-title-bar--dark .gt-page-title-bar__count-num {
  font-size: inherit;
  font-weight: 700;
  letter-spacing: normal;
  color: #fff;
}
.gt-page-title-bar--themes.gt-page-title-bar--dark .gt-page-title-bar__count-label {
  color: rgba(255,255,255,.4);
}
.gt-titlebar-search {
  width: 100%;
  max-width: 32rem;
  margin: 2.25rem auto 0;
}
.gt-page-title-bar--align-left .gt-titlebar-search {
  margin-left: 0;
  margin-right: 0;
}
.gt-page-title-bar--align-right .gt-titlebar-search {
  margin-left: auto;
  margin-right: 0;
}
.gt-page-title-bar--blog .gt-page-title-bar__desc {
  margin-bottom: 0;
}
.gt-page-title-bar--blog .gt-page-title-bar__desc + .gt-titlebar-search,
.gt-page-title-bar--blog .gt-page-title-bar__count + .gt-titlebar-search {
  margin-top: 2.25rem;
}
.gt-titlebar-search__wrap {
  position: relative;
}
.gt-page-title-bar .gt-titlebar-search__field {
  width: 100%;
  padding: 1rem 1rem 1rem 3rem;
  border-radius: 1rem;
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
}
.gt-titlebar-search__icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  z-index: 1;
}
.gt-page-title-bar--dark .gt-titlebar-search__icon {
  color: rgba(255,255,255,.4);
}
.gt-page-title-bar--light .gt-titlebar-search__icon {
  color: #94a3b8;
}
/* ─── Title bar: blog category filters ─────────────────────────────────────── */
.gt-titlebar-cat-filters {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.1);
}
.gt-page-title-bar--light .gt-titlebar-cat-filters {
  border-top-color: #e2e8f0;
}
.gt-titlebar-cat-filters__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.gt-page-title-bar--align-center .gt-titlebar-cat-filters__list {
  justify-content: center;
}
.gt-page-title-bar--align-right .gt-titlebar-cat-filters__list {
  justify-content: flex-end;
}
.gt-titlebar-cat-filters__pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .375rem .75rem;
  border-radius: .5rem;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.25;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.gt-titlebar-cat-filters__count {
  font-size: .6875rem;
  font-weight: 600;
  opacity: .65;
}
.gt-page-title-bar--dark .gt-titlebar-cat-filters__pill {
  border-color: rgba(255,255,255,.15);
  color: rgba(255,255,255,.5);
}
.gt-page-title-bar--dark .gt-titlebar-cat-filters__pill:hover {
  color: #fff;
}
.gt-page-title-bar--dark .gt-titlebar-cat-filters__pill.is-active {
  background: var(--gt-primary);
  border-color: #6654f6;
  color: #fff;
}
.gt-page-title-bar--dark .gt-titlebar-cat-filters__pill.is-active .gt-titlebar-cat-filters__count {
  opacity: .85;
}
.gt-page-title-bar--light .gt-titlebar-cat-filters__pill {
  background: #fff;
  border-color: #e2e8f0;
  color: #334155;
}
.gt-page-title-bar--light .gt-titlebar-cat-filters__pill:hover {
  border-color: #c4b5fd;
  color: var(--gt-primary);
}
.gt-page-title-bar--light .gt-titlebar-cat-filters__pill.is-active {
  background: var(--gt-primary);
  border-color: var(--gt-primary);
  color: #fff;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--gt-primary) 20%, transparent);
}
.gt-page-title-bar--align-left { text-align: left; }
.gt-page-title-bar--align-center { text-align: center; }
.gt-page-title-bar--align-center .gt-breadcrumb__track { justify-content: center; }
.gt-page-title-bar--align-center .gt-page-title-bar__desc { margin-inline: auto; }
.gt-page-title-bar--align-center .gt-page-title-bar__count { justify-content: center; }
.gt-page-title-bar--align-right { text-align: right; }
.gt-page-title-bar--align-right .gt-breadcrumb__track { justify-content: flex-end; }
.gt-page-title-bar--align-right .gt-page-title-bar__count { justify-content: flex-end; }
.gt-page-title-bar--align-right .gt-page-title-bar__desc { margin-left: auto; }

.gt-author-avatar-link {
  display: block;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
  font-size: 0;
  transition: opacity .15s ease;
}
.gt-author-avatar-link:hover { opacity: .88; }
.gt-author-avatar--initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  color: #fff;
  font-weight: 700;
  line-height: 1;
}

/* Breadcrumbs */
.gt-breadcrumb {
  display: block;
  max-width: 100%;
  font-size: .75rem;
  line-height: 1.25;
}
.gt-breadcrumb__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .5rem;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.gt-breadcrumb__track::-webkit-scrollbar {
  display: none;
}
.gt-breadcrumb__item,
.gt-breadcrumb__sep-wrap {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.gt-breadcrumb__link,
.gt-breadcrumb__current {
  display: inline-block;
  white-space: nowrap;
}
.gt-breadcrumb__current {
  font-weight: 600;
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gt-breadcrumb--light { color: #94a3b8; }
.gt-breadcrumb--light .gt-breadcrumb__link { color: #94a3b8; }
.gt-breadcrumb--light .gt-breadcrumb__link:hover { color: #475569; }
.gt-breadcrumb--light .gt-breadcrumb__current { color: #475569; }
.gt-breadcrumb--dark { color: rgba(255,255,255,.4); }
.gt-breadcrumb--dark .gt-breadcrumb__link { color: rgba(255,255,255,.4); }
.gt-breadcrumb--dark .gt-breadcrumb__link:hover { color: rgba(255,255,255,.7); }
.gt-breadcrumb--dark .gt-breadcrumb__current { color: rgba(255,255,255,.72); }
.gt-breadcrumb__sep { opacity: .85; }
.woocommerce-breadcrumb a,
.woocommerce-breadcrumb .breadcrumb_last {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
  text-decoration: none;
}
.woocommerce-breadcrumb .breadcrumb_last {
  font-weight: 600;
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.woocommerce-breadcrumb .gt-breadcrumb__sep {
  display: inline-flex;
  flex-shrink: 0;
}
@media (max-width: 639px) {
  .gt-breadcrumb__item--collapse-sm,
  .gt-breadcrumb__sep-wrap--collapse-sm {
    display: none;
  }
}
@media (min-width: 640px) {
  .gt-breadcrumb__current {
    max-width: 20rem;
  }
}
@media (min-width: 1024px) {
  .gt-breadcrumb__track {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  .gt-breadcrumb__current {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
  }
}

/* ─── Buttons ───────────────────────────────────────────────── */
.gt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem; font-weight: var(--gt-btn-font-weight, 600);
  border-radius: var(--gt-btn-radius, var(--gt-radius));
  border: 1.5px solid transparent;
  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);
  white-space: nowrap; text-decoration: none; cursor: pointer;
}

/* Overrides Tailwind font-bold (700) on all theme buttons */
button,
input[type="submit"],
input[type="button"],
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
[class*="gt-btn"],
button.font-bold,
a.font-bold[class*="gt-btn"],
a.font-bold.button,
input.font-bold[type="submit"],
input.font-bold[type="button"] {
  font-weight: var(--gt-btn-font-weight, 600);
}

.gt-btn--primary {
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary)));
  color: #fff; border-color: transparent;
  filter: brightness(1);
  box-shadow: none;
}
.gt-btn--primary:hover {
  opacity: 1;
  transform: translateY(-1px);
  color: #fff !important;
  box-shadow: none;
  background: var(--gt-btn-primary-bg) !important;
  filter: brightness(1.06);
}

.gt-btn--outline {
  background: transparent; color: var(--gt-primary);
  border-color: var(--gt-primary);
}
.gt-btn--outline:hover { background: var(--gt-accent-subtle, #f0edfd); color: var(--gt-primary); }

/* Neutral outline — card footers, secondary actions on light backgrounds */
.gt-btn--outline-neutral {
  background: #fff;
  color: #334155;
  border-color: #e2e8f0;
}
.gt-btn--outline-neutral:hover {
  background: #f8fafc !important;
  border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent) !important;
  color: var(--gt-primary) !important;
}

.gt-btn--outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.gt-btn--outline-white:hover { background: rgba(255,255,255,.12); color: #fff; }

/* Outline on dark backgrounds (hero CTAs, prefooter) — one global style */
.gt-btn-outline-light,
a.gt-btn-outline-light,
button.gt-btn-outline-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--gt-btn-radius, var(--gt-radius));
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
  transition:
    transform var(--gt-transition-smooth),
    background-color var(--gt-transition-smooth),
    border-color var(--gt-transition-smooth),
    box-shadow var(--gt-transition-smooth);
}
.gt-btn-outline-light:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
}

.gt-btn--white { background: #fff; color: var(--gt-primary); border-color: #fff; }
.gt-btn--white:hover { background: #f0edfd; color: var(--gt-primary); }

.gt-btn--lg { padding: 1rem 1.75rem; font-size: 1rem; border-radius: var(--gt-radius-lg); }
.gt-btn svg:not([width]) { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.gt-btn--sm svg:not([width]) { width: 1rem; height: 1rem; }
.gt-btn--lg svg:not([width]) { width: 1.25rem; height: 1.25rem; }
.gt-btn--icon-only svg:not([width]) { width: 1.25rem; height: 1.25rem; }
.gt-btn--icon-only { flex-shrink: 0; aspect-ratio: 1; padding: 1rem; box-sizing: border-box; }
.gt-btn--lg.gt-btn--icon-only { width: auto; height: auto; min-height: 0; padding: 1rem; }

.gt-btn--sm { padding: 0.4375rem 0.875rem; font-size: 0.8125rem; }

/* Equal-width card footer buttons — default for 3–4 column grids */
.gt-btn--card {
  flex: 1 1 0;
  min-width: 0;
  padding: 0.625rem 0.75rem;
  font-size: 0.75rem;
  border-radius: var(--gt-radius-lg);
}

/* Larger labels when archive is 2 columns per row */
.gt-themes-grid--2 .gt-btn--card {
  padding: 0.6875rem 0.875rem;
  font-size: 0.875rem;
}

/* Full-width block button (sidebar, modals) */
.gt-btn--block {
  display: flex;
  width: 100%;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  border-radius: var(--gt-btn-radius, var(--gt-radius));
}

button.gt-btn {
  appearance: none;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  font-weight: var(--gt-btn-font-weight, 600);
}

.gt-btn--card.gt-btn-primary-gradient {
  color: #fff;
  border-color: transparent;
}

/* Theme Buy Now — smooth hover (single hero, sidebar, sticky nav, archive cards) */
.gt-buy-btn {
  filter: brightness(1);
  box-shadow: none;
  transition:
    transform var(--gt-transition-smooth),
    box-shadow var(--gt-transition-smooth),
    filter var(--gt-transition-smooth),
    opacity var(--gt-transition-smooth),
    border-color var(--gt-transition-smooth);
}
.gt-buy-btn:hover {
  transform: translateY(-2px);
}
.gt-buy-btn.gt-btn-primary-gradient:hover,
.gt-buy-btn[style*="gradient"]:hover {
  background: var(--gt-btn-primary-bg) !important;
  filter: brightness(1.06);
  box-shadow: none;
  opacity: 1 !important;
  color: #fff !important;
}
.gt-buy-btn.gt-btn-outline-light:hover {
  transform: translateY(-2px);
}
.gt-add-to-cart.is-loading {
  opacity: 0.72;
  pointer-events: none;
  cursor: wait;
}

/* ─── GT Theme Card ─────────────────────────────────────────── */
.gt-themes-archive { padding-block: 2.5rem; }

/* Theme archive — active filter bar */
.gt-archive-filter-bar { align-items: center; }
.gt-archive-filter-count {
  display: inline-flex;
  align-items: center;
  line-height: 1.25;
}
.gt-archive-filter-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  vertical-align: middle;
}
.gt-archive-filter-pill svg {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  display: block;
}
.gt-archive-filter-clear {
  display: inline-flex;
  align-items: center;
  line-height: 1.25;
  padding-block: 0.25rem;
}
.gt-themes-filters { margin-bottom: 2rem; }
.gt-themes-filters__cats {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.gt-themes-filters__cat {
  padding: 0.4375rem 1rem;
  font-size: 0.8125rem; font-weight: 600;
  border-radius: 999px;
  border: 1.5px solid var(--gt-border);
  color: var(--gt-muted);
  transition: all var(--gt-transition);
}
.gt-themes-filters__cat:hover,
.gt-themes-filters__cat.is-active {
  border-color: var(--gt-primary);
  color: var(--gt-primary);
  background: #f0edfd;
}

.gt-themes-grid {
  display: grid;
  gap: 1.5rem;
  --gt-grid-cols: 1;
  grid-template-columns: repeat(var(--gt-grid-cols), minmax(0, 1fr));
}
.gt-themes-grid--2 { --gt-grid-cols: 2; }
.gt-themes-grid--3 { --gt-grid-cols: 3; }
.gt-themes-grid--4 { --gt-grid-cols: 4; }
@media (max-width: 639px) {
  .gt-themes-grid--2,
  .gt-themes-grid--3,
  .gt-themes-grid--4 {
    --gt-grid-cols: 1;
  }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .gt-themes-grid--3 { --gt-grid-cols: 2; }
  .gt-themes-grid--4 { --gt-grid-cols: 2; }
}

/* Theme Card */
.gt-theme-card {
  background: #fff;
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow var(--gt-transition), transform var(--gt-transition);
}
.gt-theme-card:hover {
  box-shadow: var(--gt-shadow-lg);
  transform: translateY(-2px);
}
.gt-theme-card__thumb {
  position: relative; overflow: hidden;
  aspect-ratio: 3/2; background: var(--gt-surface);
}
.gt-theme-card__badge {
  position: absolute; top: 0.75rem; left: 0.75rem; z-index: 2;
  padding: 0.25rem 0.625rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 800;
  color: #fff; background: #f59e0b; text-transform: uppercase; letter-spacing: 0.03em;
}
.gt-theme-card__demos {
  position: absolute; bottom: 0.75rem; right: 0.75rem; z-index: 2;
  padding: 0.25rem 0.5rem; border-radius: 0.5rem; font-size: 0.75rem; font-weight: 600;
  color: #fff; background: rgba(0,0,0,.4); backdrop-filter: blur(4px);
}
.gt-theme-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.gt-theme-card:hover .gt-theme-card__img { transform: scale(1.04); }

.gt-theme-card__overlay {
  position: absolute; inset: 0;
  background: rgba(10,8,24,.55);
  display: flex; align-items: center; justify-content: center; gap: 0.75rem;
  opacity: 0; transition: opacity var(--gt-transition);
}
.gt-theme-card:hover .gt-theme-card__overlay { opacity: 1; }

.gt-theme-card__body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
.gt-theme-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
.gt-theme-card__head-main { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.gt-theme-card__cats {
  display: inline;
  line-height: 1.4;
}
.gt-theme-card__cat {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  color: #64748b;
  background: none;
  padding: 0;
  border-radius: 0;
}
.gt-theme-card__cat:hover { color: #334155; }
.gt-theme-card__cat-sep { color: #94a3b8; font-size: 0.75rem; }
.gt-theme-card__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.gt-theme-card__price-current { font-size: 1.125rem; font-weight: 800; color: var(--gt-text, #0f172a); line-height: 1; }
.gt-theme-card__price-original { font-size: 0.75rem; color: #94a3b8; text-decoration: line-through; line-height: 1; }
.gt-theme-card__price-free { font-size: 0.875rem; font-weight: 600; color: #059669; }
.gt-theme-card-cats { display: block; margin: 0; padding: 0; line-height: 1.35; }
.gt-theme-card__version { font-size: 0.75rem; color: var(--gt-muted); }
.gt-theme-card__title { font-size: 1rem; font-weight: 700; }
.gt-theme-card__title a { color: var(--gt-text); }
.gt-theme-card__title a:hover { color: var(--gt-primary); }
.gt-theme-card__excerpt { font-size: 0.8125rem; color: var(--gt-muted); line-height: 1.5; }
.gt-theme-card__rating {
  display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: var(--gt-muted);
}
.gt-theme-card__stars { color: #f59e0b; letter-spacing: 0.05em; }

.gt-theme-card__features {
  display: flex; flex-wrap: wrap; gap: 0.375rem; margin-top: auto;
}
.gt-theme-card__features li {
  font-size: 0.6875rem; color: #475569;
  background: var(--gt-surface); border: 1px solid var(--gt-border);
  padding: 0.1875rem 0.5rem; border-radius: 999px;
}
.gt-theme-card__features-more { color: var(--gt-muted); }

.gt-theme-card__footer {
  padding: 0 1.25rem 1.25rem;
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
}

/* ─── Single Theme Page ─────────────────────────────────────── */
.gt-single-theme__hero {
  background: linear-gradient(160deg,#0a0818 0%,#130d2e 35%,#0f0f1f 65%,#0a0818 100%);
  padding-block: 3rem;
}
.gt-single-theme__hero-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .gt-single-theme__hero-inner { grid-template-columns: 1fr 380px; }
}
.gt-single-theme__media { position: relative; border-radius: var(--gt-radius-lg); overflow: hidden; }
.gt-single-theme__screenshot { width: 100%; object-fit: cover; border-radius: var(--gt-radius-lg); }
.gt-single-theme__video-btn {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 56px; height: 56px; border-radius: 50%;
  background: rgba(255,255,255,.9); color: var(--gt-primary);
  display: flex; align-items: center; justify-content: center;
  transition: all var(--gt-transition);
}
.gt-single-theme__video-btn svg { width: 20px; height: 20px; }
.gt-single-theme__video-btn:hover { background: #fff; transform: translate(-50%,-50%) scale(1.08); }

.gt-single-theme__summary { color: #fff; }
.gt-single-theme__cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.gt-tag {
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 0.25rem 0.75rem; border-radius: 999px;
  background: rgba(255,255,255,.15); color: #a9a4ff; border: 1px solid rgba(255,255,255,.2);
}
.gt-single-theme__title { font-size: clamp(1.5rem,4vw,2.25rem); color: #fff; margin-bottom: 0.75rem; }
.gt-single-theme__excerpt { color: rgba(255,255,255,.65); font-size: 1rem; line-height: 1.7; margin-bottom: 1.5rem; }
.gt-single-theme__price { font-size: 2rem; font-weight: 800; color: #fff; margin-bottom: 1rem; }
.gt-single-theme__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.5rem; }

.gt-single-theme__meta-table { width: 100%; border-collapse: collapse; margin-bottom: 1.25rem; }
.gt-single-theme__meta-table th,
.gt-single-theme__meta-table td { padding: 0.5rem 0; font-size: 0.8125rem; }
.gt-single-theme__meta-table th { color: rgba(255,255,255,.55); font-weight: 500; text-align: left; width: 50%; }
.gt-single-theme__meta-table td { color: rgba(255,255,255,.9); font-weight: 600; }
.gt-single-theme__meta-table tr + tr th,
.gt-single-theme__meta-table tr + tr td { border-top: 1px solid rgba(255,255,255,.08); }

.gt-single-theme__links { display: flex; flex-wrap: wrap; gap: 1rem; }
.gt-single-theme__link { font-size: 0.8125rem; font-weight: 600; color: rgba(255,255,255,.55); border-bottom: 1px solid rgba(255,255,255,.2); }
.gt-single-theme__link:hover { color: #fff; border-color: #fff; }

/* Theme detail body */
.gt-single-theme__body { padding-block: 3rem; }

/* Tabs */
.gt-tabs__nav {
  display: flex; gap: 0.25rem; flex-wrap: wrap;
  border-bottom: 2px solid var(--gt-border);
  margin-bottom: 2rem;
}
.gt-tabs__btn {
  padding: 0.75rem 1.25rem; font-size: 0.875rem; font-weight: 600;
  color: var(--gt-muted); border-radius: 0; border: none;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  background: none; cursor: pointer; transition: all var(--gt-transition);
}
.gt-tabs__btn:hover { color: var(--gt-primary); }
.gt-tabs__btn.is-active { color: var(--gt-primary); border-bottom-color: var(--gt-primary); }

.gt-tabs__panel[hidden] { display: none; }
.gt-tabs__panel.is-active { display: block; }

/* Theme description */
.gt-theme-description { font-size: 0.9375rem; line-height: 1.8; color: #334155; }
.gt-theme-description h2,
.gt-theme-description h3 { margin-block: 1.5rem 0.75rem; }
.gt-theme-description ul,
.gt-theme-description ol { padding-left: 1.5rem; margin-bottom: 1rem; }
.gt-theme-description ul li { list-style: disc; }
.gt-theme-description img { border-radius: var(--gt-radius); margin-block: 1.5rem; }

/* Feature list */
.gt-theme-features { margin-top: 2.5rem; }
.gt-theme-features h3 { margin-bottom: 1rem; }
.gt-feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr));
  gap: 0.5rem;
}
.gt-feature-list__item {
  display: flex; align-items: center; gap: 0.625rem;
  font-size: 0.875rem; color: #334155;
}
.gt-feature-list__item svg { width: 16px; height: 16px; color: #10b981; flex-shrink: 0; }

/* Compatibility */
.gt-theme-compat { margin-top: 2rem; }
.gt-compat-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.gt-compat-list li {
  padding: 0.375rem 0.875rem; font-size: 0.8125rem; font-weight: 600;
  background: #f1f5f9; border: none;
  border-radius: 999px; color: #475569;
}

/* Requirements table */
.gt-requirements-table { width: 100%; border-collapse: collapse; }
.gt-requirements-table th,
.gt-requirements-table td { padding: 0.875rem 1rem; font-size: 0.875rem; text-align: left; border-bottom: 1px solid var(--gt-border); }
.gt-requirements-table th { font-weight: 600; color: var(--gt-muted); width: 45%; background: var(--gt-surface); }
.gt-requirements-table td { font-weight: 600; }

/* Changelog */
.gt-changelog-entry { padding-block: 1.25rem; border-bottom: 1px solid var(--gt-border); }
.gt-changelog-entry__header { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.gt-changelog-entry__version { font-size: 1rem; font-weight: 800; color: var(--gt-primary); }
.gt-changelog-entry__date { font-size: 0.8125rem; color: var(--gt-muted); }
.gt-changelog-entry__type {
  font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 0.1875rem 0.625rem; border-radius: 999px;
}
.gt-changelog-entry__type--feature { background: #dcfce7; color: #16a34a; }
.gt-changelog-entry__type--fix     { background: #fef3c7; color: #d97706; }
.gt-changelog-entry__type--update  { background: #dbeafe; color: #2563eb; }
.gt-changelog-entry__type--breaking{ background: #fee2e2; color: #dc2626; }
.gt-changelog-entry__notes { font-size: 0.875rem; color: #334155; line-height: 1.7; }

/* ─── Blog / Post Cards ─────────────────────────────────────── */
.gt-post-grid {
	display: grid;
	gap: 1.5rem;
}
.gt-post-grid--list { grid-template-columns: 1fr !important; }
.gt-post-card__cat { display: inline-block; text-decoration: none; }
.gt-post-card__cat:hover { opacity: .85; }
.gt-post-card__title a { color: inherit; text-decoration: none; overflow-wrap: anywhere; word-break: break-word; }
.gt-post-card__title a:hover { color: var(--gt-primary); }
.gt-post-cover-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.gt-post-cover-placeholder__inner {
  text-align: center;
  color: #fff;
  max-width: 92%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-post-cover-placeholder__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  margin: 0 auto .75rem;
  background: rgba(255,255,255,.2);
}
.gt-post-cover-placeholder__title {
  font-weight: 700;
  line-height: 1.35;
  opacity: .92;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-post-cover-placeholder--card .gt-post-cover-placeholder__title {
  font-size: .875rem;
  -webkit-line-clamp: 2;
}
.gt-post-cover-placeholder--compact .gt-post-cover-placeholder__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: .75rem;
  margin-bottom: .5rem;
}
.gt-post-cover-placeholder--compact .gt-post-cover-placeholder__title {
  font-size: .6875rem;
  -webkit-line-clamp: 2;
}
.gt-post-cover-placeholder--featured {
  min-height: 100%;
}
.gt-post-cover-placeholder--featured .gt-post-cover-placeholder__icon {
  width: 5rem;
  height: 5rem;
  border-radius: 1.5rem;
  margin-bottom: 1rem;
}
.gt-post-cover-placeholder--featured .gt-post-cover-placeholder__title {
  font-size: clamp(1rem, 2.5vw, 1.375rem);
  -webkit-line-clamp: 3;
}
.gt-cover-tone--wordpress { background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary)); }
.gt-cover-tone--woocommerce { background: linear-gradient(135deg,#059669,#0284c7); }
.gt-cover-tone--elementor { background: linear-gradient(135deg,#db2777,#f43656); }
.gt-cover-tone--themes { background: linear-gradient(135deg,#d97706,#dc2626); }

/* Post meta separators */
.gt-post-card__meta {
  gap: 0;
}
.gt-meta-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  padding: 0 0.375rem;
  color: #64748b;
  font-weight: 700;
  font-size: 1em;
  line-height: 1;
  user-select: none;
}
.gt-post-card__author {
  gap: 0.375rem;
}

/* Featured post card */
.gt-blog-featured__card { position: relative; }
.gt-blog-featured__grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 1024px) {
  .gt-blog-featured__grid { grid-template-columns: 1fr 1fr; }
}
.gt-blog-featured__media {
  width: 100%;
  min-height: 14rem;
}
@media (min-width: 1024px) {
  .gt-blog-featured__media { min-height: 18rem; height: 100%; }
}
.gt-blog-featured__media--placeholder { background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary),#a855f7); }
.gt-blog-featured__body { min-width: 0; position: relative; z-index: 2; }
.gt-blog-featured__overlay {
  position: absolute; inset: 0; z-index: 1;
}
.gt-blog-featured__title,
.gt-blog-featured__author,
.gt-blog-featured__read { position: relative; z-index: 3; }
.gt-blog-featured__title { color: inherit; text-decoration: none; overflow-wrap: anywhere; word-break: break-word; }
.gt-blog-featured__read { text-decoration: none; width: fit-content; }

/* ─── Sidebar widgets ───────────────────────────────────────── */
.gt-sidebar .gt-sticky-sidebar,
.gt-sticky-sidebar.space-y-8 { display: flex; flex-direction: column; gap: 2rem; }

/* #features uses space-y-10 (not in compiled tailwind.css) */
#features.space-y-10 {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  #features.space-y-10 { gap: 3rem; }
}
.gt-sidebar .gt-widget,
.gt-widget {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.gt-sidebar-block__title,
.gt-sidebar .widget-title {
  font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  color: #0f172a; margin: 0 0 1rem;
}
/* ─── Sidebar: category list ───────────────────────────────────────────────── */
.gt-sidebar-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .375rem; }
.gt-sidebar-cats__link {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  padding: .625rem .75rem; border-radius: .75rem; font-size: .875rem;
  color: #334155; text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
/* blog.html — hover & active: brand purple bg, purple text, pill count */
.gt-sidebar-cats__link:hover {
  background: #f0f0ff;
  color: var(--gt-primary);
  font-weight: 600;
}
.gt-sidebar-cats__link:hover .gt-sidebar-cats__count {
  background: #e2e2ff;
  color: var(--gt-primary-dark);
}
.gt-sidebar-cats__link.is-active {
  color: var(--gt-primary);
  background: #f0f0ff;
  font-weight: 700;
}
.gt-sidebar-cats__count {
  font-size: .75rem; font-weight: 500;
  padding: .125rem .5rem; border-radius: 999px;
  background: #f1f5f9; color: #64748b;
  transition: background-color .2s ease, color .2s ease;
}
.gt-sidebar-cats__link.is-active .gt-sidebar-cats__count {
  background: #e2e2ff;
  color: var(--gt-primary-dark);
}
.gt-sidebar-popular { display: flex; flex-direction: column; gap: 1rem; }
.gt-sidebar-popular__item { display: flex; gap: .75rem; text-decoration: none; }
.gt-sidebar-popular__thumb {
  width: 4rem; height: 3rem; border-radius: .75rem; flex-shrink: 0; overflow: hidden;
}
.gt-sidebar-popular__title {
  font-size: .875rem; font-weight: 600; color: #1e293b; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.gt-sidebar-popular__item:hover .gt-sidebar-popular__title { color: var(--gt-primary); }
.gt-sidebar-popular__meta { font-size: .75rem; color: #94a3b8; margin-top: .125rem; }
.gt-sidebar-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.gt-sidebar-tags__link {
  padding: .375rem .75rem; border-radius: 999px; font-size: .75rem; font-weight: 500;
  background: #f1f5f9; color: #475569; text-decoration: none; transition: background .2s, color .2s;
}
.gt-sidebar-tags__link:hover { background: #f0f0ff; color: #4338ca; }
.gt-sidebar-newsletter {
  background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary));
}
.gt-sidebar-newsletter__input {
  width: 100%; padding: .625rem .75rem; border-radius: .75rem; margin-bottom: .5rem;
  background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2);
  color: #fff; font-size: .875rem; outline: none;
}
.gt-sidebar-newsletter__input::placeholder { color: rgba(255,255,255,.4); }
.gt-sidebar-newsletter__input:focus { box-shadow: 0 0 0 2px rgba(255,255,255,.3); }
.gt-sidebar-newsletter__btn {
  width: 100%; padding: .625rem; border-radius: .75rem; font-weight: var(--gt-btn-font-weight, 600); font-size: .875rem;
  color: #fff; background: rgba(255,255,255,.2); border: none; cursor: pointer; transition: background .2s;
}
.gt-sidebar-newsletter__btn:hover { background: rgba(255,255,255,.3); }
.gt-sidebar-cta__btn {
  display: block; width: 100%; padding: .75rem; border-radius: .75rem; text-align: center;
  font-size: .875rem; font-weight: var(--gt-btn-font-weight, 600); color: #fff; text-decoration: none;
  background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary)); transition: opacity .2s;
}
.gt-sidebar-cta__btn:hover { opacity: .9; color: #fff; }
/* WP Categories widget — block (wp-block-categories) + classic (widget_categories) */
.gt-sidebar .wp-block-categories-list,
.gt-sidebar .widget_categories ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .375rem;
}
.gt-sidebar .wp-block-categories-list li,
.gt-sidebar .widget_categories ul li { list-style: none; }
.gt-sidebar .wp-block-categories-list li a,
.gt-sidebar .widget_categories ul li a {
  display: flex; align-items: center; justify-content: space-between;
  padding: .625rem .75rem; border-radius: .75rem; font-size: .875rem;
  color: #334155; text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.gt-sidebar .wp-block-categories-list li a:hover,
.gt-sidebar .widget_categories ul li a:hover {
  background: #f0f0ff;
  color: var(--gt-primary);
  font-weight: 600;
}
.gt-sidebar .wp-block-categories-list li a:hover .gt-sidebar-cats__count,
.gt-sidebar .widget_categories ul li a:hover .gt-sidebar-cats__count {
  background: #e2e2ff;
  color: var(--gt-primary-dark);
}
.gt-sidebar .widget_categories ul li.current-cat > a,
.gt-sidebar .widget_categories ul li.cat-item-current > a,
.gt-sidebar .wp-block-categories-list li a.current {
  color: var(--gt-primary);
  background: #f0f0ff;
  font-weight: 700;
}
.gt-sidebar .widget_categories ul li.current-cat > a .gt-sidebar-cats__count,
.gt-sidebar .widget_categories ul li.cat-item-current > a .gt-sidebar-cats__count,
.gt-sidebar .wp-block-categories-list li a.current .gt-sidebar-cats__count {
  background: #e2e2ff;
  color: var(--gt-primary-dark);
}
.gt-sidebar .wp-block-categories-list li a .gt-sidebar-cats__count,
.gt-sidebar .widget_categories ul li a .gt-sidebar-cats__count { margin-left: auto; }

/* Generic widget list */
.gt-sidebar .widget ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .375rem; }
.gt-sidebar .widget ul li a {
  display: flex; align-items: center; justify-content: space-between;
  padding: .625rem .75rem; border-radius: .75rem; font-size: .875rem;
  color: #334155; text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.gt-sidebar .widget ul li a:hover {
  background: #f8fafc;
  color: #334155;
}

/* Tag cloud — classic widget + block (match blog.html sidebar tags) */
.gt-sidebar .widget_tag_cloud .tagcloud,
.gt-sidebar .wp-block-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.gt-sidebar .widget_tag_cloud a,
.gt-sidebar .wp-block-tag-cloud a,
.gt-sidebar .tagcloud a {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: .375rem .75rem;
  border-radius: 9999px;
  font-size: .75rem !important;
  line-height: 1.25;
  font-weight: 500;
  background: #f1f5f9;
  color: #475569;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.gt-sidebar .widget_tag_cloud a:hover,
.gt-sidebar .wp-block-tag-cloud a:hover,
.gt-sidebar .tagcloud a:hover {
  background: #f0f0ff;
  color: #4338ca;
}

/* Widget posts */
.gt-widget-posts { display: flex; flex-direction: column; gap: 1rem; }
.gt-widget-posts__item { display: flex; gap: .75rem; align-items: flex-start; }
.gt-widget-posts__thumb {
  display: block;
  width: 4rem;
  height: 3rem;
  border-radius: .75rem;
  flex-shrink: 0;
  overflow: hidden;
  text-decoration: none;
  line-height: 0;
}
.gt-widget-posts__thumb-img,
.gt-widget-posts__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  max-width: none;
  object-fit: cover;
}
.gt-widget-posts__thumb-placeholder {
  display: block;
  width: 100%;
  height: 100%;
}
.gt-widget-posts__body {
  flex: 1;
  min-width: 0;
}
.gt-widget-posts__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  font-size: .875rem;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.35;
  text-decoration: none;
  transition: color .2s;
}
.gt-widget-posts__item:hover .gt-widget-posts__title { color: var(--gt-primary); }
.gt-widget-posts__item--no-image { gap: 0; }
.gt-widget-posts__meta {
  margin: .125rem 0 0;
  font-size: .75rem;
  color: #94a3b8;
  line-height: 1.35;
}
.gt-widget-posts__meta-sep { opacity: .65; }
:is(.gt-widget-posts__meta, .gt-post-card__meta, .gt-blog-featured__meta) a {
  color: inherit;
  text-decoration: none;
}
:is(.gt-widget-posts__meta, .gt-post-card__meta, .gt-blog-featured__meta) a:hover {
  color: var(--gt-primary);
}

/* CTA widget */
.gt-widget-cta {
  border-radius: 1rem;
  padding: 1.25rem;
}
.gt-widget-cta--bordered {
  background: #fff;
  border: 1px solid #e2e8f0;
}
.gt-widget-cta--gradient {
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  color: #fff;
}
.gt-widget-cta__title {
  font-weight: 700;
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  line-height: 1.35;
}
.gt-widget-cta--bordered .gt-widget-cta__title { color: #0f172a; }
.gt-widget-cta--gradient .gt-widget-cta__title { color: #fff; }
.gt-widget-cta__desc {
  font-size: 0.875rem;
  line-height: 1.625;
  margin: 0 0 1rem;
}
.gt-widget-cta--bordered .gt-widget-cta__desc { color: #64748b; }
.gt-widget-cta--gradient .gt-widget-cta__desc { color: rgba(255, 255, 255, 0.75); }
.gt-widget-cta__btn {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s, background 0.2s, color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.gt-widget-cta--bordered .gt-widget-cta__btn {
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  color: #fff !important;
}
.gt-widget-cta--bordered .gt-widget-cta__btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--gt-primary) 30%, transparent);
}
.gt-widget-cta--gradient .gt-widget-cta__btn {
  background: #fff;
  color: #4338ca !important;
}
.gt-widget-cta--gradient .gt-widget-cta__btn:hover {
  background: rgba(255, 255, 255, 0.9);
  color: #4338ca !important;
}

.gt-newsletter-widget--dark { background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary)); }

/* Discount codes sidebar widget */
.gt-widget-coupon {
  position: relative;
  border-radius: 1rem;
  padding: 1.25rem;
}
.gt-widget-coupon.is-gt-coupon-hidden {
  display: none !important;
}
.gt-widget-coupon--gradient {
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  color: #fff;
}
.gt-widget-coupon--light {
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #0f172a;
}
.gt-widget-coupon--dark {
  background: #0f172a;
  color: #fff;
}
.gt-widget-coupon__dismiss {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.1);
  color: inherit;
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.gt-widget-coupon--gradient .gt-widget-coupon__dismiss,
.gt-widget-coupon--dark .gt-widget-coupon__dismiss {
  background: rgba(255, 255, 255, 0.16);
}
.gt-widget-coupon__dismiss:hover {
  transform: scale(1.05);
}
.gt-widget-coupon__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.gt-widget-coupon__item + .gt-widget-coupon__item {
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.25);
}
.gt-widget-coupon--gradient .gt-widget-coupon__item + .gt-widget-coupon__item,
.gt-widget-coupon--dark .gt-widget-coupon__item + .gt-widget-coupon__item {
  border-top-color: rgba(255, 255, 255, 0.16);
}
.gt-widget-coupon__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.5rem;
}
.gt-widget-coupon__badge {
  display: inline-flex;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.18);
}
.gt-widget-coupon--light .gt-widget-coupon__badge {
  background: #ede9fe;
  color: #6d28d9;
}
.gt-widget-coupon__discount {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.9;
}
.gt-widget-coupon__title {
  margin: 0 0 0.35rem;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.35;
}
.gt-widget-coupon__desc {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  opacity: 0.85;
}
.gt-widget-coupon--light .gt-widget-coupon__desc {
  color: #64748b;
  opacity: 1;
}
.gt-widget-coupon__code {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  margin: 0 0 0.75rem;
  padding: 0.75rem 1rem;
  border: 2px dashed rgba(255, 255, 255, 0.55);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.1);
  color: inherit;
  font: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.gt-widget-coupon--gradient .gt-widget-coupon__code,
.gt-widget-coupon--dark .gt-widget-coupon__code {
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.08);
}
.gt-widget-coupon--light .gt-widget-coupon__code {
  border: 2px dashed #94a3b8;
  background: #f8fafc;
  color: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.12);
}
.gt-widget-coupon__code:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.14);
}
.gt-widget-coupon--light .gt-widget-coupon__code:hover {
  border-color: var(--gt-primary, #5233eb);
  background: #fff;
}
.gt-widget-coupon__code.is-copied {
  background: rgba(16, 185, 129, 0.18);
  border-color: rgba(16, 185, 129, 0.65);
  box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.18);
}
.gt-widget-coupon__code-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.gt-widget-coupon__code-copy {
  flex-shrink: 0;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.16);
  font-size: 0.6875rem;
  font-weight: 700;
  white-space: nowrap;
}
.gt-widget-coupon__code--no-copy-label:not(.is-copied) .gt-widget-coupon__code-copy {
  display: none;
}
.gt-widget-coupon--light .gt-widget-coupon__code-copy {
  background: #e2e8f0;
}
.gt-widget-coupon__btn {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
  padding: 0.7rem 1rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
  color: #fff !important;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.gt-widget-coupon__btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}
.gt-widget-coupon__btn--light {
  background: #fff;
  color: var(--gt-primary) !important;
}
.gt-widget-coupon__expiry {
  margin: 0;
  font-size: 0.75rem;
  opacity: 0.72;
}
.gt-widget-coupon--light .gt-widget-coupon__expiry {
  color: #64748b;
  opacity: 1;
}

/* ─── Sidebar: search widget (block + classic) ─────────────────────────────── */
.gt-sidebar .wp-block-search { margin: 0; }
.gt-sidebar .wp-block-search__label { display: none; }
.gt-sidebar .wp-block-search__inside-wrapper,
.gt-sidebar .widget_search .search-form {
  display: flex;
  align-items: center;
  border: 1.5px solid #e2e8f0;
  border-radius: .875rem;
  overflow: hidden;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.gt-sidebar .wp-block-search__inside-wrapper:focus-within,
.gt-sidebar .widget_search .search-form:focus-within {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
}
.gt-sidebar .wp-block-search__input,
.gt-sidebar .widget_search .search-field,
.gt-sidebar .widget_search input[type="search"] {
  flex: 1;
  min-width: 0;
  display: block;
  width: auto;
  box-sizing: border-box;
  padding: .75rem 1rem .75rem 2.75rem;
  border: none;
  outline: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: .75rem 50%;
  background-size: 1rem;
  font-size: .875rem;
  color: #0f172a;
}
.gt-sidebar .wp-block-search__input::placeholder,
.gt-sidebar .widget_search .search-field::placeholder,
.gt-sidebar .widget_search input[type="search"]::placeholder { color: #94a3b8; }
.gt-sidebar .wp-block-search__button,
.gt-sidebar .widget_search .search-submit,
.gt-sidebar .widget_search input[type="submit"] {
  flex-shrink: 0;
  margin: .25rem;
  padding: .5rem .875rem;
  border: none;
  border-radius: .625rem;
  background: #0f172a;
  color: #fff;
  font-size: .8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.gt-sidebar .wp-block-search__button:hover,
.gt-sidebar .widget_search .search-submit:hover,
.gt-sidebar .widget_search input[type="submit"]:hover { background: #1e293b; }
.gt-sidebar .widget_search .search-form label { display: contents; }
.gt-sidebar .widget_search .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
.gt-sidebar .widget_recent_entries ul,
.gt-sidebar .widget_recent_comments ul { gap: .75rem; }
.gt-sidebar .widget_recent_entries ul li a,
.gt-sidebar .widget_recent_comments ul li a {
  display: block; padding: 0; font-size: .875rem; font-weight: 600; color: #1e293b;
  line-height: 1.45; background: transparent;
}
.gt-sidebar .widget_recent_entries ul li a:hover,
.gt-sidebar .widget_recent_comments ul li a:hover { color: var(--gt-primary); background: transparent; }
.gt-sticky-sidebar--static { position: static !important; max-height: none !important; }

/* Blog single — referenced theme sidebar cards */
.gt-referenced-themes {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.gt-referenced-themes__heading {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}
.gt-referenced-theme {
  border-radius: 1rem;
  padding: 1.5rem;
  color: #fff;
}
.gt-referenced-theme__label {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}
.gt-referenced-theme__title {
  margin: 0 0 0.5rem;
  font-family: var(--gt-font-display, 'Outfit', sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
}
.gt-referenced-theme__rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.gt-referenced-theme__stars {
  display: flex;
  font-size: 0.875rem;
  line-height: 1;
  color: #fcd34d;
  letter-spacing: 0.02em;
}
.gt-referenced-theme__rating-meta {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.7);
}
.gt-referenced-theme__desc {
  margin: 0 0 1.25rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
}
.gt-referenced-theme__btn {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}
.gt-referenced-theme__btn + .gt-referenced-theme__btn {
  margin-top: 0.5rem;
}
.gt-referenced-theme__btn--primary {
  background: #fff;
  color: var(--gt-primary, #5233eb);
}
.gt-referenced-theme__btn--primary:hover {
  background: rgba(255, 255, 255, 0.92);
  color: var(--gt-primary-dark, var(--gt-primary, #5233eb));
}
.gt-referenced-theme__btn--demo {
  color: rgba(255, 255, 255, 0.75);
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.gt-referenced-theme__btn--demo:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* ─── Comments ─────────────────────────────────────────────── */
.gt-comments__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.gt-comments__list > .gt-comment {
  margin: 0;
  padding: 0;
}

/* Nested reply threads — ol.children lives inside parent li */
.gt-comments__list ol.children {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0 0 0 1rem;
  border: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.gt-comments__list ol.children ol.children {
  padding-left: .75rem;
  margin-left: 0;
}

.gt-comment__article--reply {
  padding-left: 1rem;
  border-left: 2px solid #e2e8f0;
}

.gt-comment.depth-2 > .gt-comment__article--reply,
.gt-comment.depth-2 .gt-comment__article--reply {
  border-left-color: #c7d2fe;
}

.gt-comment.depth-3 .gt-comment__article--reply,
.gt-comment.depth-4 .gt-comment__article--reply {
  border-left-color: #e2e8f0;
}

.gt-comment.depth-5 .gt-comment__article--reply,
.gt-comment.depth-6 .gt-comment__article--reply,
.gt-comment.depth-7 .gt-comment__article--reply,
.gt-comment.depth-8 .gt-comment__article--reply,
.gt-comment.depth-9 .gt-comment__article--reply,
.gt-comment.depth-10 .gt-comment__article--reply {
  border-left-color: #f1f5f9;
}

.gt-comment__article--reply .gt-comment__avatar img {
  width: 2.5rem;
  height: 2.5rem;
}

.gt-comment.depth-3 .gt-comment__avatar img,
.gt-comment.depth-4 .gt-comment__avatar img {
  width: 2.25rem;
  height: 2.25rem;
}

.gt-comment.depth-5 .gt-comment__avatar img,
.gt-comment.depth-6 .gt-comment__avatar img,
.gt-comment.depth-7 .gt-comment__avatar img,
.gt-comment.depth-8 .gt-comment__avatar img,
.gt-comment.depth-9 .gt-comment__avatar img,
.gt-comment.depth-10 .gt-comment__avatar img {
  width: 2rem;
  height: 2rem;
}

.gt-comment__reply-link {
  font-size: .875rem;
  font-weight: 700;
  color: var(--gt-primary);
  text-decoration: none;
  transition: color var(--gt-transition);
}
.gt-comment__reply-link:hover {
  color: var(--gt-primary-dark, var(--gt-primary));
}

.gt-comments__respond { margin-top: 2rem; }

.gt-comment-form {
  margin-top: 0;
  padding: 1.5rem;
  background: var(--gt-bg-muted, #f8fafc);
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: var(--gt-radius-lg, 1rem);
}

.gt-comment-form__title {
  font-family: var(--gt-font-display, inherit);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 1rem;
}

.gt-comment-form__cancel a {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--gt-primary);
  text-decoration: none;
}
.gt-comment-form__cancel a:hover { text-decoration: underline; }

.gt-comment-form .logged-in-as {
  font-size: .875rem;
  color: #64748b;
  margin: 0 0 1rem;
}
.gt-comment-form .logged-in-as a {
  color: var(--gt-primary);
  font-weight: 600;
  text-decoration: none;
}
.gt-comment-form .logged-in-as a:hover { text-decoration: underline; }

.gt-comment-form .comment-form-author,
.gt-comment-form .comment-form-email {
  margin-bottom: 1rem;
}

@media (min-width: 640px) {
  .gt-comment-form .comment-form-author,
  .gt-comment-form .comment-form-email {
    display: inline-block;
    width: calc(50% - .5rem);
    vertical-align: top;
  }
  .gt-comment-form .comment-form-author { margin-right: 1rem; }
}

.gt-comment-form .comment-form-comment,
.gt-comment-form .comment-form-cookies-consent,
.gt-comment-form .form-submit {
  margin-bottom: 1rem;
}
.gt-comment-form .form-submit { margin-bottom: 0; }

.gt-comment-form label {
  display: block;
  font-size: .8125rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: .375rem;
}

.gt-comment-form__cookies {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .8125rem;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
}
.gt-comment-form__cookies input { margin-top: .15rem; flex-shrink: 0; }

.gt-comment-form .gt-input,
.gt-comment-form textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: var(--gt-radius, .75rem);
  font-size: .875rem;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}
.gt-comment-form textarea { min-height: 8rem; resize: vertical; display: block; }
.gt-comment-form .gt-input:focus,
.gt-comment-form textarea:focus {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 12%, transparent);
}

.gt-comment-form__submit {
  min-width: 10rem;
}

/* Password-protected post/page */
.gt-post-password {
  max-width: 32rem;
  margin: 0 auto;
  padding: 2rem;
  text-align: center;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 1.25rem;
}
.gt-post-password__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: #f0edfd;
  color: var(--gt-primary);
}
.gt-post-password__title {
  font-family: var(--gt-font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 .5rem;
}
.gt-post-password__message {
  font-size: .9375rem;
  line-height: 1.6;
  color: #64748b;
  margin: 0 0 1.5rem;
}
.gt-post-password__form {
  text-align: left;
}
.gt-post-password__label {
  display: block;
  font-size: .8125rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: .5rem;
}
.gt-post-password__fields {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
@media (min-width: 480px) {
  .gt-post-password__fields {
    flex-direction: row;
    align-items: stretch;
  }
  .gt-post-password__input { flex: 1; min-width: 0; }
  .gt-post-password__submit { flex-shrink: 0; }
}
.gt-post-password__input {
  width: 100%;
  padding: .75rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: .75rem;
  font-size: .875rem;
  outline: none;
  background: #fff;
  color: #0f172a;
}
.gt-post-password__input::placeholder { color: #94a3b8; }
.gt-post-password__input:focus {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 12%, transparent);
}
.gt-post-password__submit {
  width: 100%;
}
@media (min-width: 480px) {
  .gt-post-password__submit { width: auto; }
}

/* Legacy single-post helpers */
.gt-single-post { max-width: 760px; margin-inline: auto; padding-block: 2.5rem; }
.gt-single-post__hero img { border-radius: var(--gt-radius-lg); margin-bottom: 2rem; }
.gt-single-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 1rem; font-size: 0.8125rem; color: var(--gt-muted); }
.gt-single-post__cat { @extend .gt-post-card__cat; }
.gt-single-post__title { margin-bottom: 2rem; }
.gt-single-post__content { font-size: 1rem; line-height: 1.8; color: #334155; }
.gt-single-post__content p { margin-bottom: 1.5rem; }
.gt-single-post__content h2:not([class*="gt-el-"]),
.gt-single-post__content h3:not([class*="gt-el-"]) { margin-block: 2rem 1rem; }
.gt-single-post__content img { border-radius: var(--gt-radius); margin-block: 1.5rem; }
.gt-single-post__content a { color: var(--gt-primary); text-decoration: underline; }
.gt-single-post__footer { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--gt-border); }

/* Post navigation */
.gt-post-navigation { margin-top: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.gt-post-navigation .nav-link {
  display: flex; flex-direction: column; gap: 0.25rem;
  padding: 1rem; border: 1px solid var(--gt-border); border-radius: var(--gt-radius);
  transition: all var(--gt-transition);
}
.gt-post-navigation .nav-link:hover { border-color: var(--gt-primary); background: #f0edfd; }
.gt-nav-label { font-size: 0.75rem; color: var(--gt-muted); font-weight: 600; }
.gt-nav-title { font-weight: 700; color: var(--gt-text); font-size: 0.9375rem; overflow-wrap: anywhere; word-break: break-word; }

/* ─── Reading progress (single post) ──────────────────────────────────────── */
#reading-progress-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: 3px; background: #e2e8f0; }
#reading-progress-fill { height: 100%; width: 0; background: var(--gt-primary); transition: width .1s linear; }

/* ─── Single blog post hero & featured image ──────────────────────────────── */
.gt-single-post__hero { position: relative; overflow: hidden; }
.gt-single-post__hero-glow {
  pointer-events: none;
  background: radial-gradient(ellipse at 20% 50%, color-mix(in srgb, var(--gt-primary) 18%, transparent) 0%, transparent 60%);
}
.gt-single-post__hero-dots {
  pointer-events: none;
  background-image: radial-gradient(rgba(99,102,241,.05) 1px, transparent 1px);
  background-size: 24px 24px;
}
.gt-single-post__cat-pill {
  display: inline-block;
  text-decoration: none;
  background: var(--gt-primary);
  transition: opacity .2s;
}
.gt-single-post__cat-pill:hover { opacity: .9; color: #fff; }
.gt-single-post__featured-media { aspect-ratio: 16 / 9; }
.gt-single-post__featured-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gt-single-post__author-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.gt-single-post__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.gt-single-post__author-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.125rem;
  min-width: 0;
}
.gt-single-post__author-name,
.gt-single-post__author-handle {
  margin: 0;
  line-height: 1.25;
}
.gt-single-post__author-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
}
.gt-single-post__author-name a {
  color: inherit;
  text-decoration: none;
}
.gt-single-post__author-name a:hover { color: rgba(255, 255, 255, 0.9); }
.gt-single-post__author-handle {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.4);
}

/* ─── WordPress core content (blocks + classic markup) ────────────────────── */
.gt-wp-content,
.article-body {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Text nodes — long URLs/strings must not bleed into sidebar */
.gt-wp-content :is(p, li, td, th, figcaption, blockquote, cite, dd, dt, span, a, em, strong, small, label, h1, h2, h3, h4, h5, h6),
.article-body :is(p, li, td, th, figcaption, blockquote, cite, dd, dt, span, a, em, strong, small, label, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Typography — prose only; skip GT Elementor widget titles */
.gt-wp-content h2:not([class*="gt-el-"]),
.article-body h2:not([class*="gt-el-"]) {
  font-family: var(--gt-font-display, 'Outfit', sans-serif);
  font-weight: 800;
  font-size: 1.5rem;
  color: #0f172a;
  margin: 2.5rem 0 1rem;
  line-height: 1.3;
  scroll-margin-top: 5rem;
}
/* WooCommerce address cards — never use prose heading spacing */
body.woocommerce-account :is(.gt-wp-content, .gt-page__content, .gt-woo-content, .article-body) .woocommerce-Address .woocommerce-Address-title :is(h2, h3),
body.woocommerce-account .woocommerce-Address .woocommerce-Address-title :is(h2, h3) {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  scroll-margin-top: 0 !important;
}
.gt-wp-content > :first-child,
.article-body > :first-child,
.gt-wp-content > h2:first-child:not([class*="gt-el-"]),
.gt-wp-content > h3:first-child:not([class*="gt-el-"]),
.gt-wp-content > h4:first-child:not([class*="gt-el-"]),
.gt-wp-content > p:first-child,
.article-body > h2:first-child:not([class*="gt-el-"]),
.article-body > h3:first-child:not([class*="gt-el-"]),
.article-body > h4:first-child:not([class*="gt-el-"]),
.article-body > p:first-child {
  margin-top: 0;
}
.gt-wp-content h3:not([class*="gt-el-"]),
.gt-wp-content h4:not([class*="gt-el-"]),
.article-body h3:not([class*="gt-el-"]),
.article-body h4:not([class*="gt-el-"]) {
  font-family: var(--gt-font-display, 'Outfit', sans-serif);
  font-weight: 700;
  font-size: 1.15rem;
  color: #0f172a;
  margin: 2rem 0 .75rem;
  scroll-margin-top: 5rem;
}

/* Elementor widgets inside page content — no prose heading margins */
.gt-wp-content .elementor-widget :is(h1, h2, h3, h4, h5, h6),
.article-body .elementor-widget :is(h1, h2, h3, h4, h5, h6) {
  margin-block: 0;
  scroll-margin-top: 0;
}
.gt-wp-content p,
.article-body p {
  font-size: 1rem;
  line-height: 1.8;
  color: #475569;
  margin: 0 0 1.1rem;
}
.gt-wp-content ul,
.gt-wp-content ol,
.article-body ul,
.article-body ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
  color: #475569;
}
.gt-wp-content li,
.article-body li {
  margin-bottom: .4rem;
  line-height: 1.75;
  font-size: 1rem;
}
.gt-wp-content ul li,
.article-body ul li { list-style: disc; }
body.woocommerce-account .woocommerce-MyAccount-content :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods),
body.woocommerce-account .gt-wp-content :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods),
body.woocommerce-account .article-body :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) {
  list-style: none !important;
  padding-left: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) > li,
body.woocommerce-account .gt-wp-content :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) > li,
body.woocommerce-account .article-body :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) > li {
  list-style: none !important;
  list-style-type: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) > li::marker,
body.woocommerce-account .gt-wp-content :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) > li::marker,
body.woocommerce-account .article-body :is(ul.payment_methods, ul.woocommerce-PaymentMethods, ul.methods) > li::marker {
  content: none !important;
}
.gt-wp-content ol li,
.article-body ol li { list-style: decimal; }
.gt-wp-content a:not([class]),
.article-body a:not([class]) {
  color: var(--gt-primary);
  text-decoration: underline;
}
/* WooCommerce My Account — anchor tags often have no class (class is on <li>) */
.gt-wp-content .woocommerce-MyAccount-navigation a,
.gt-wp-content .woocommerce-MyAccount-content a,
.article-body .woocommerce-MyAccount-navigation a,
.article-body .woocommerce-MyAccount-content a {
  text-decoration: none;
}
.gt-wp-content a:not([class]):hover,
.article-body a:not([class]):hover { color: var(--gt-primary-dark); }
.gt-wp-content .woocommerce-MyAccount-navigation a:hover,
.gt-wp-content .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover,
.article-body .woocommerce-MyAccount-navigation a:hover,
.article-body .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover {
  color: var(--gt-primary);
  opacity: 0.88;
}
.gt-wp-content blockquote,
.gt-wp-content .wp-block-quote,
.article-body blockquote,
.article-body .wp-block-quote {
  border-left: 3px solid var(--gt-primary);
  padding: .75rem 1.25rem;
  background: #f8f7ff;
  margin: 1.5rem 0;
  border-radius: 0 .75rem .75rem 0;
  color: #334155;
  font-style: italic;
}
.gt-wp-content .wp-block-pullquote {
  border-top: 3px solid var(--gt-primary);
  border-bottom: 3px solid var(--gt-primary);
  padding: 1.5rem 0;
  margin: 2rem 0;
  text-align: center;
}
.gt-wp-content .wp-block-pullquote blockquote {
  border: 0;
  background: transparent;
  border-radius: 0;
  font-style: normal;
  margin: 0;
  padding: 0;
}
.gt-wp-content img,
.gt-wp-content .wp-block-image img,
.article-body img {
  border-radius: 1rem;
  margin: 1.5rem 0;
  max-width: 100%;
  height: auto;
}
.gt-wp-content .callout,
.article-body .callout {
  background: #f0edfd;
  border: 1px solid #c7d2fe;
  border-radius: 1rem;
  padding: 1.25rem;
  margin: 1.5rem 0;
}
.gt-wp-content strong,
.article-body strong { color: #0f172a; }

/* Classic + block galleries */
.gt-wp-content .gallery,
.gt-wp-content .wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}
.gt-wp-content .gallery-columns-1 .gallery-item { width: 100%; }
.gt-wp-content .gallery-columns-2 .gallery-item { width: calc(50% - .375rem); }
.gt-wp-content .gallery-columns-3 .gallery-item { width: calc(33.333% - .5rem); }
.gt-wp-content .gallery-columns-4 .gallery-item { width: calc(25% - .5625rem); }
.gt-wp-content .gallery-columns-5 .gallery-item { width: calc(20% - .6rem); }
.gt-wp-content .gallery-columns-6 .gallery-item { width: calc(16.666% - .625rem); }
.gt-wp-content .gallery-item,
.gt-wp-content .blocks-gallery-item,
.gt-wp-content .wp-block-gallery .wp-block-image {
  margin: 0;
  max-width: 100%;
}
.gt-wp-content .gallery-item img,
.gt-wp-content .wp-block-gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: .75rem;
  margin: 0;
}
.gt-wp-content .gallery-caption,
.gt-wp-content .blocks-gallery-caption,
.gt-wp-content .wp-block-gallery figcaption {
  font-size: .8125rem;
  color: #64748b;
  text-align: center;
  margin-top: .375rem;
  line-height: 1.4;
}
@media (max-width: 640px) {
  .gt-wp-content .gallery-columns-3 .gallery-item,
  .gt-wp-content .gallery-columns-4 .gallery-item,
  .gt-wp-content .gallery-columns-5 .gallery-item,
  .gt-wp-content .gallery-columns-6 .gallery-item {
    width: calc(50% - .375rem);
  }
}

/* Captions */
.gt-wp-content .wp-caption,
.gt-wp-content figure.wp-block-image,
.gt-wp-content figure.wp-block-embed,
.gt-wp-content figure.wp-block-video,
.gt-wp-content figure.wp-block-audio {
  max-width: 100%;
  margin: 1.5rem 0;
}
.gt-wp-content .wp-caption img { margin: 0; border-radius: .75rem .75rem 0 0; }
.gt-wp-content .wp-caption-text,
.gt-wp-content figcaption {
  font-size: .8125rem;
  color: #64748b;
  text-align: center;
  margin-top: .5rem;
  line-height: 1.4;
}

/* Alignments */
.gt-wp-content .alignleft {
  float: left;
  margin: .25rem 1.5rem 1rem 0;
  max-width: 50%;
}
.gt-wp-content .alignright {
  float: right;
  margin: .25rem 0 1rem 1.5rem;
  max-width: 50%;
}
.gt-wp-content .aligncenter,
.gt-wp-content .alignnone {
  display: block;
  margin-left: auto;
  margin-right: auto;
  clear: both;
}
.gt-wp-content .alignwide {
  margin-left: -2rem;
  margin-right: -2rem;
  max-width: calc(100% + 4rem);
  width: auto;
}
.gt-wp-content .alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}
.gt-wp-content::after { content: ""; display: table; clear: both; }

/* Tables */
.gt-wp-content .wp-block-table,
.gt-wp-content .wp-block-table.alignwide,
.gt-wp-content .wp-block-table.alignfull {
  overflow-x: auto;
  margin: 1.5rem 0;
}
.gt-wp-content table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: .9375rem;
}
.gt-wp-content th,
.gt-wp-content td {
  border: 1px solid #e2e8f0;
  padding: .625rem .875rem;
  text-align: left;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-wp-content th {
  background: #f8fafc;
  font-weight: 700;
  color: #0f172a;
}
/* WooCommerce My Account — undo prose h2/h3 margins inside address cards */
body.woocommerce-account :is(.gt-wp-content, .gt-page__content, .gt-woo-content, .article-body) .woocommerce-MyAccount-content .woocommerce-Address-title :is(h2, h3),
body.woocommerce-account :is(.gt-wp-content, .gt-page__content, .gt-woo-content, .article-body) .woocommerce-Address .woocommerce-Address-title :is(h2, h3),
body.woocommerce-account .woocommerce-Address .woocommerce-Address-title :is(h2, h3) {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
/* WooCommerce My Account tables — grid borders live in woocommerce.min.css */
body.woocommerce-account .gt-wp-content .woocommerce-MyAccount-content table.shop_table :is(th, td),
body.woocommerce-account .gt-wp-content table.woocommerce-orders-table :is(th, td),
body.woocommerce-account .gt-wp-content table.woocommerce-table--order-downloads :is(th, td) {
  border: none;
}
body.woocommerce-account .gt-wp-content .woocommerce-MyAccount-content table.shop_table :is(th, td):not(:last-child),
body.woocommerce-account .gt-wp-content table.woocommerce-orders-table :is(th, td):not(:last-child),
body.woocommerce-account .gt-wp-content table.woocommerce-table--order-downloads :is(th, td):not(:last-child) {
  border-right: 1px solid var(--gt-account-grid, #eef2f7) !important;
}
body.woocommerce-account .gt-wp-content table.woocommerce-orders-table tbody tr:not(:last-child) :is(th, td),
body.woocommerce-account .gt-wp-content .woocommerce-MyAccount-content table.shop_table tbody tr:not(:last-child) :is(th, td),
body.woocommerce-account .gt-wp-content table.woocommerce-table--order-downloads tbody tr:not(:last-child) :is(th, td) {
  border-bottom: 1px solid var(--gt-account-grid, #eef2f7) !important;
}
body.woocommerce-account .gt-wp-content table.woocommerce-orders-table tbody th,
body.woocommerce-account .gt-wp-content .woocommerce-MyAccount-content table.shop_table tbody th {
  background: #fff !important;
  font-weight: 400;
}
.gt-wp-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: #f8fafc;
}

/* Code */
.gt-wp-content pre,
.gt-wp-content .wp-block-code,
.gt-wp-content .wp-block-preformatted {
  background: #0f172a;
  color: #e2e8f0;
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  font-size: .875rem;
  line-height: 1.6;
  margin: 1.5rem 0;
  max-width: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-wp-content code {
  background: #f1f5f9;
  color: var(--gt-primary);
  padding: .125rem .375rem;
  border-radius: .25rem;
  font-size: .875em;
}
.gt-wp-content pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}

/* Buttons */
.gt-wp-content .wp-block-button { margin: 1rem 0; }
.gt-wp-content .wp-block-button__link {
  background: var(--gt-primary);
  color: #fff;
  border-radius: .75rem;
  padding: .625rem 1.25rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  transition: background .15s ease;
}
.gt-wp-content .wp-block-button__link:hover {
  background: var(--gt-primary-dark);
  color: #fff;
}
.gt-wp-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--gt-primary);
  border: 2px solid var(--gt-primary);
}
.gt-wp-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #f0edfd;
}

/* Separator, spacing blocks */
.gt-wp-content hr,
.gt-wp-content .wp-block-separator {
  border: 0;
  border-top: 1px solid #e2e8f0;
  margin: 2rem 0;
}
.gt-wp-content .wp-block-separator.is-style-wide { width: 100%; }
.gt-wp-content .wp-block-separator.is-style-dots {
  border: 0;
  text-align: center;
  background: transparent;
}
.gt-wp-content .wp-block-spacer { clear: both; }

/* Media & text, cover */
.gt-wp-content .wp-block-media-text {
  margin: 1.5rem 0;
  border-radius: 1rem;
  overflow: hidden;
}
.gt-wp-content .wp-block-cover {
  margin: 1.5rem 0;
  border-radius: 1rem;
  overflow: hidden;
  min-height: 280px;
}

/* Columns */
.gt-wp-content .wp-block-columns {
  gap: 1.5rem;
  margin: 1.5rem 0;
}
@media (max-width: 781px) {
  .gt-wp-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}

/* Group / row blocks */
.gt-wp-content .wp-block-group,
.gt-wp-content .wp-block-columns,
.gt-wp-content .wp-block-media-text {
  max-width: 100%;
}

/* ─── Single post: layout + responsive embeds (theme polish on core) ──────── */
.gt-single-layout {
  align-items: start;
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .gt-single-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 3rem;
  }
}
.gt-single-layout > article {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

/* Comments — same word-break as article body */
.gt-comment__body,
.gt-comment__content {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-comment__content :is(p, li, td, a, span) {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-wp-content .wp-block-embed,
.gt-wp-content figure.wp-block-embed,
.gt-wp-content .wp-embed,
.article-body .wp-block-embed,
.article-body figure.wp-block-embed,
.article-body .wp-embed {
  margin: 1.5rem 0;
  max-width: 100%;
}
.gt-wp-content .wp-block-embed__wrapper,
.article-body .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 1rem;
  background: #0f172a;
}
.gt-wp-content .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper::before,
.article-body .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.gt-wp-content .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before,
.article-body .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}
.gt-wp-content .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before,
.article-body .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}
.gt-wp-content .wp-block-embed.wp-has-aspect-ratio iframe,
.gt-wp-content .wp-block-embed__wrapper iframe,
.article-body .wp-block-embed.wp-has-aspect-ratio iframe,
.article-body .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  border: 0;
}
.gt-wp-content .wp-block-embed:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper,
.article-body .wp-block-embed:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
}
.gt-wp-content .wp-block-embed:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper iframe,
.article-body .wp-block-embed:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}
.gt-wp-content > p > iframe,
.gt-wp-content > iframe,
.article-body > p > iframe,
.article-body > iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  margin: 1.5rem 0;
  border: 0;
  border-radius: 1rem;
}
.gt-wp-content .wp-video,
.gt-wp-content .mejs-container,
.article-body .wp-video,
.article-body .mejs-container {
  width: 100% !important;
  max-width: 100%;
}

/* ─── Sidebar (legacy global widget rules) ──────────────────── */
.gt-sidebar .widget { margin-bottom: 0; }
.widget-title { font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1rem; color: var(--gt-muted); }

/* ─── WooCommerce overrides ─────────────────────────────────── */
/* Product grid */
.gt-woo-content { flex: 1; min-width: 0; }
ul.products { display: grid; gap: 1.5rem; list-style: none; padding: 0; margin: 0; }
ul.products.columns-2 { grid-template-columns: repeat(2,1fr); }
ul.products.columns-3 { grid-template-columns: repeat(3,1fr); }
ul.products.columns-4 { grid-template-columns: repeat(4,1fr); }
@media (max-width: 767px) { ul.products { grid-template-columns: 1fr; } }

/* Product card */
li.product, .gt-product-card {
  background: #fff; border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius-lg); overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow var(--gt-transition), transform var(--gt-transition);
}
li.product:hover, .gt-product-card:hover { box-shadow: var(--gt-shadow-lg); transform: translateY(-2px); }
.gt-product-card__thumb { aspect-ratio: 3/2; overflow: hidden; position: relative; background: var(--gt-surface); }
.gt-product-card__thumb > a { display: block; height: 100%; }
.gt-product-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gt-product-card__thumb .onsale,
.gt-product-card__thumb span.onsale {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 3;
  margin: 0;
}
.gt-product-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(10, 8, 24, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  opacity: 0;
  transition: opacity var(--gt-transition);
  pointer-events: none;
}
.gt-product-card:hover .gt-product-card__overlay {
  opacity: 1;
  pointer-events: auto;
}
.gt-product-card__overlay .gt-btn {
  text-decoration: none;
  border-width: 1px;
  border-style: solid;
}
.gt-product-card__body { padding: 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.375rem; }
.gt-product-card__title { font-size: 0.9375rem; font-weight: 700; color: var(--gt-text); margin: 0; }
.gt-product-card__title a { color: inherit; text-decoration: none; }
.gt-product-card__title a:hover { color: var(--gt-primary); }
.gt-product-card__price { font-weight: 800; color: var(--gt-primary); line-height: 1.35; }
.gt-product-card__price,
.gt-product-card__price a,
.gt-product-card__price .amount,
.gt-product-card__price ins,
.gt-product-card__price del {
  text-decoration: none;
}
.gt-product-card__price del .amount {
  text-decoration: line-through;
  color: var(--gt-muted);
  font-weight: 500;
  font-size: 0.875rem;
}
.gt-product-card__price ins {
  background: none;
  font-weight: 800;
}
.gt-product-card__footer { padding: 0.875rem 1rem; border-top: 1px solid var(--gt-border); }
.gt-product-card__footer .button,
.gt-product-card__footer .add_to_cart_button {
  width: 100%;
  margin: 0 !important;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
}

/* Shop loop toolbar */
.gt-shop-loop-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1.5rem;
}
.gt-shop-loop-toolbar .woocommerce-result-count {
  margin: 0;
  flex: 1 1 auto;
}
.gt-shop-loop-toolbar .woocommerce-ordering {
  margin: 0;
  flex: 0 0 auto;
}
.gt-shop-loop-toolbar .woocommerce-ordering select {
  width: auto;
  min-width: 200px;
  max-width: min(100%, 280px);
}

/* WC add to cart */
.button, .woocommerce-Button { @extend .gt-btn; @extend .gt-btn--primary; }
.added_to_cart { display: none !important; }
a.add_to_cart_button,
a.button:not([class*="gt-btn"]) {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.5rem 1rem; font-size: 0.8125rem; font-weight: var(--gt-btn-font-weight, 600);
  background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary));
  color: #fff; border-radius: var(--gt-radius);
  transition: opacity var(--gt-transition);
}
a.add_to_cart_button:hover, a.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
  opacity: 1; color: #fff !important; background: var(--gt-secondary) !important;
}

/* WC price */
.price, .amount { color: var(--gt-primary); font-weight: 800; }
del .amount { color: var(--gt-muted); font-weight: 500; }

/* Star rating */
.star-rating { color: #f59e0b; font-size: 0.75rem; }

/* Breadcrumb */
.woocommerce-breadcrumb { font-size: 0.875rem; color: #94a3b8; margin-bottom: 0; }
.woocommerce-breadcrumb a { color: #94a3b8; text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: #475569; }
.gt-breadcrumb--dark.woocommerce-breadcrumb { color: rgba(255,255,255,.4); }
.gt-breadcrumb--dark.woocommerce-breadcrumb a { color: rgba(255,255,255,.4); }
.gt-breadcrumb--dark.woocommerce-breadcrumb a:hover { color: rgba(255,255,255,.7); }
.gt-breadcrumb--dark.woocommerce-breadcrumb .breadcrumb_last { color: rgba(255,255,255,.72); }

/* Single product — breathing room under fixed header (product.html py-10) */
body.gt-header-sticky.single-product #gt-page-content,
body.gt-header-absolute.single-product #gt-page-content {
  padding-top: calc(var(--gt-header-h, 72px) + var(--gt-admin-bar-h, 0px) + 2.5rem);
}
body.gt-header-static.single-product #gt-page-content {
  padding-top: 2.5rem;
}
body.admin-bar.gt-header-sticky.single-product #gt-page-content,
body.admin-bar.gt-header-absolute.single-product #gt-page-content {
  padding-top: calc(var(--gt-header-h, 72px) + var(--gt-admin-bar-h, 32px) + 2.5rem);
}
@media screen and (max-width: 782px) {
  body.admin-bar.gt-header-sticky.single-product #gt-page-content,
  body.admin-bar.gt-header-absolute.single-product #gt-page-content {
    padding-top: calc(var(--gt-header-h, 72px) + var(--gt-admin-bar-h, 0px) + 2.5rem);
  }
}

/* ─── Product meta info box ─────────────────────────────────── */
.gt-product-theme-info { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--gt-border); }
.gt-product-theme-ctas { display: flex; gap: 0.75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.gt-btn-demo { background: linear-gradient(135deg,var(--gt-primary),var(--gt-secondary)); color: #fff; padding: 0.625rem 1.25rem; border-radius: var(--gt-radius); font-weight: var(--gt-btn-font-weight, 600); font-size: 0.875rem; }
.gt-btn-docs { border: 1.5px solid var(--gt-primary); color: var(--gt-primary); padding: 0.625rem 1.25rem; border-radius: var(--gt-radius); font-weight: var(--gt-btn-font-weight, 600); font-size: 0.875rem; }
.gt-theme-meta-table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.gt-theme-meta-table th, .gt-theme-meta-table td { padding: 0.5rem 0; font-size: 0.8125rem; border-bottom: 1px solid var(--gt-border); }
.gt-theme-meta-table th { color: var(--gt-muted); font-weight: 500; width: 50%; }
.gt-theme-meta-table td { font-weight: 600; }

.gt-view-theme-link { font-size: 0.875rem; font-weight: 700; color: var(--gt-primary); }

/* ─── Pagination (global — tek class: .gt-pagination) ───────── */
.gt-pagination {
  margin-top: 2.5rem;
}
.gt-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-pagination li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.gt-pagination li > a,
.gt-pagination li > button,
.gt-pagination li > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding-inline: 0.625rem;
  border: 1px solid var(--gt-border, #e2e8f0);
  border-radius: var(--gt-radius, 0.75rem);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  color: #475569;
  background: #fff;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  transition: border-color var(--gt-transition, 0.2s ease), color var(--gt-transition, 0.2s ease), background var(--gt-transition, 0.2s ease);
}
.gt-pagination li > a:hover,
.gt-pagination li > button:hover:not(:disabled) {
  border-color: var(--gt-primary, #5233eb);
  color: var(--gt-primary, #5233eb);
  background: #f0edfd;
}
.gt-pagination li.is-current > span {
  background: var(--gt-primary, #5233eb);
  color: #fff;
  border-color: var(--gt-primary, #5233eb);
  cursor: default;
}
.gt-pagination li > button:disabled,
.gt-pagination li.is-disabled > span,
.gt-pagination li.is-disabled > button {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.gt-pagination li.is-dots > span {
  border: none;
  background: transparent;
  min-width: auto;
  padding-inline: 0.25rem;
  color: #94a3b8;
  cursor: default;
  pointer-events: none;
}
.gt-pagination svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.gt-pagination .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  min-width: 0;
}
.gt-pagination[data-gt-blog-pagination].is-loading {
  opacity: 0.55;
  pointer-events: none;
}

.gt-pagination--load-more,
.gt-pagination.is-align-left,
.gt-pagination.is-align-center,
.gt-pagination.is-align-right {
  display: flex;
  width: 100%;
}

.gt-pagination--load-more.is-align-left,
.gt-pagination.is-align-left { justify-content: flex-start; }
.gt-pagination--load-more.is-align-center,
.gt-pagination.is-align-center { justify-content: center; }
.gt-pagination--load-more.is-align-right,
.gt-pagination.is-align-right { justify-content: flex-end; }

.gt-pagination--load-more > .gt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-width: auto;
  height: auto;
  white-space: nowrap;
}

.gt-el-theme-listing-wrap .gt-pagination--load-more > .gt-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.625rem !important;
  min-width: auto !important;
  height: auto !important;
  padding: 0.625rem 1.25rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #334155 !important;
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: var(--gt-radius-lg, var(--gt-radius, 0.75rem)) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.gt-el-theme-listing-wrap .gt-pagination--load-more > .gt-btn:hover:not(:disabled) {
  background: #f8fafc !important;
  border-color: color-mix(in srgb, var(--gt-primary, #5233eb) 35%, transparent) !important;
  color: var(--gt-primary, #5233eb) !important;
}

.gt-wp-content .gt-pagination ul,
.article-body .gt-pagination ul,
.gt-el-theme-listing-wrap .gt-pagination ul {
  padding-left: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.gt-wp-content .gt-pagination li,
.article-body .gt-pagination li,
.gt-el-theme-listing-wrap .gt-pagination li {
  margin: 0 !important;
  list-style: none !important;
}
.gt-wp-content .gt-pagination li > a,
.gt-wp-content .gt-pagination li > button,
.gt-wp-content .gt-pagination li > span,
.article-body .gt-pagination li > a,
.article-body .gt-pagination li > button,
.article-body .gt-pagination li > span,
.gt-el-theme-listing-wrap .gt-pagination li > a,
.gt-el-theme-listing-wrap .gt-pagination li > button,
.gt-el-theme-listing-wrap .gt-pagination li > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding-inline: 0.625rem !important;
  border: 1px solid var(--gt-border, #e2e8f0) !important;
  border-radius: var(--gt-radius, 0.75rem) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #475569 !important;
  background: #fff !important;
  text-decoration: none !important;
  margin: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: border-color var(--gt-transition, 0.2s ease), color var(--gt-transition, 0.2s ease), background var(--gt-transition, 0.2s ease) !important;
}
.gt-wp-content .gt-pagination li > a:hover,
.gt-wp-content .gt-pagination li > button:hover:not(:disabled),
.article-body .gt-pagination li > a:hover,
.article-body .gt-pagination li > button:hover:not(:disabled),
.gt-el-theme-listing-wrap .gt-pagination li > a:hover,
.gt-el-theme-listing-wrap .gt-pagination li > button:hover:not(:disabled) {
  border-color: var(--gt-primary, #5233eb) !important;
  color: var(--gt-primary, #5233eb) !important;
  background: #f0edfd !important;
}
.gt-wp-content .gt-pagination li.is-current > span,
.article-body .gt-pagination li.is-current > span,
.gt-el-theme-listing-wrap .gt-pagination li.is-current > span {
  background: var(--gt-primary, #5233eb) !important;
  color: #fff !important;
  border-color: var(--gt-primary, #5233eb) !important;
  cursor: default !important;
}
.gt-wp-content .gt-pagination li > button:disabled,
.gt-wp-content .gt-pagination li.is-disabled > span,
.gt-wp-content .gt-pagination li.is-disabled > button,
.article-body .gt-pagination li > button:disabled,
.article-body .gt-pagination li.is-disabled > span,
.article-body .gt-pagination li.is-disabled > button,
.gt-el-theme-listing-wrap .gt-pagination li > button:disabled,
.gt-el-theme-listing-wrap .gt-pagination li.is-disabled > span,
.gt-el-theme-listing-wrap .gt-pagination li.is-disabled > button {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
.gt-wp-content .gt-pagination li.is-dots > span,
.article-body .gt-pagination li.is-dots > span,
.gt-el-theme-listing-wrap .gt-pagination li.is-dots > span {
  border: none !important;
  background: transparent !important;
  min-width: auto !important;
  padding-inline: 0.25rem !important;
  color: #94a3b8 !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* WooCommerce — same visual system as .gt-pagination */
.woocommerce nav.woocommerce-pagination {
  margin-top: 2.5rem;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  margin: 0;
  padding: 0;
  border: 0;
  float: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding-inline: 0.625rem;
  border: 1px solid var(--gt-border, #e2e8f0);
  border-radius: var(--gt-radius, 0.75rem);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  color: #475569;
  background: #fff;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--gt-primary, #5233eb);
  color: var(--gt-primary, #5233eb);
  background: #f0edfd;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gt-primary, #5233eb);
  color: #fff;
  border-color: var(--gt-primary, #5233eb);
}

/* ─── Footer ────────────────────────────────────────────────── */
.gt-footer,
#gt-footer.gt-footer {
  background: var(--gt-footer-bg, #020617);
  color: #fff;
}
.gt-footer__heading,
#gt-footer .gt-footer__heading {
  color: var(--gt-footer-heading, #fff);
}
.gt-footer__muted,
#gt-footer .gt-footer__muted {
  color: var(--gt-footer-muted, rgba(255, 255, 255, 0.5));
}
.gt-footer__cta-band,
.gt-footer__bottom {
  border-color: var(--gt-footer-border, rgba(255, 255, 255, 0.1));
}
.gt-footer__trust-badge,
.gt-footer__badge {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--gt-footer-border, rgba(255, 255, 255, 0.1));
}
.gt-footer__badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  line-height: 0;
}
.gt-footer__badge-icon--img {
  width: 0.875rem;
  height: 0.875rem;
  object-fit: contain;
}
.gt-footer__badge-icon--svg svg {
  display: block;
  width: 0.875rem;
  height: 0.875rem;
}
.gt-footer__badges {
  margin-top: 0;
}
.gt-footer__copy {
  color: var(--gt-footer-copy, rgba(255, 255, 255, 0.3));
}
#gt-footer .gt-footer-nav a,
#gt-footer .gt-footer-widgets a {
  color: var(--gt-footer-link, rgba(255, 255, 255, 0.5));
}
#gt-footer .gt-footer-nav a:hover,
#gt-footer .gt-footer-widgets a:hover {
  color: var(--gt-footer-link-hover, #fff);
}
#gt-footer .gt-footer__bottom .gt-footer-nav a {
  color: var(--gt-footer-copy, rgba(255, 255, 255, 0.3));
}
#gt-footer .gt-footer__bottom .gt-footer-nav a:hover {
  color: rgba(255, 255, 255, 0.6);
}
#gt-footer .widget-title {
  color: var(--gt-footer-heading, #fff);
}
.gt-footer--light {
  background: var(--gt-footer-bg, #f8fafc);
  color: var(--gt-footer-muted, #64748b);
  border-top: 1px solid var(--gt-footer-border, rgba(15, 23, 42, 0.08));
}

/* Back to top — page-agnostic colors (not footer tokens) */
.gt-back-top {
  position: fixed;
  right: 1.25rem;
  bottom: 5.5rem;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  margin: 0;
  border: 1px solid var(--gt-border, #e2e8f0);
  border-radius: 0.875rem;
  background: #fff;
  color: var(--gt-text, #0f172a);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  cursor: pointer;
  line-height: 0;
  appearance: none;
  -webkit-appearance: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.5rem);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.gt-back-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.gt-back-top:hover {
  background: var(--gt-surface, #f8fafc);
  border-color: rgba(15, 23, 42, 0.16);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16);
}
.gt-back-top:focus-visible {
  outline: 2px solid var(--gt-primary);
  outline-offset: 2px;
}
.gt-back-top__icon {
  display: block;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
}
@media (min-width: 768px) {
  .gt-back-top { bottom: 1.5rem; }
}
.gt-footer--light .gt-footer__heading,
.gt-footer--light .gt-footer-widgets .widget-title {
  color: var(--gt-footer-heading, #0f172a);
}
.gt-footer--light .gt-footer__muted {
  color: var(--gt-footer-muted, #64748b);
}
.gt-footer--light .gt-footer__badge,
.gt-footer--light .gt-footer__trust-badge {
  background: rgba(15, 23, 42, 0.04);
  border-color: var(--gt-footer-border, rgba(15, 23, 42, 0.1));
}
.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);
}
.gt-footer--light .gt-btn-outline-light {
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.18);
}
.gt-footer--light .gt-btn-outline-light:hover {
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, 0.28) !important;
  background: rgba(15, 23, 42, 0.05) !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.gt-footer-skin-light .gt-hire-cta h2 {
  color: var(--gt-footer-heading, #0f172a);
}
body.gt-footer-skin-light .gt-hire-cta p {
  color: var(--gt-footer-muted, #64748b);
}
body.gt-footer-skin-light .gt-hire-cta .gt-cta-tag {
  color: var(--gt-footer-link, #64748b) !important;
  border-color: var(--gt-footer-border, rgba(15, 23, 42, 0.1)) !important;
}
.gt-footer--light .gt-footer__copy a { color: var(--gt-footer-copy, #94a3b8); }

.gt-footer__widgets { padding-block: 4rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.gt-footer--light .gt-footer__widgets { border-color: var(--gt-border); }
.gt-footer__grid {
  display: grid; gap: 2.5rem;
  grid-template-columns: repeat(1,1fr);
}
@media (min-width: 640px)  { .gt-footer__grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .gt-footer__grid { grid-template-columns: repeat(4,1fr); } }

.gt-footer .widget-title { color: rgba(255,255,255,.45); }
.gt-footer .widget a { color: var(--gt-footer-link, rgba(255,255,255,0.5)); }
.gt-footer .widget a:hover { color: var(--gt-footer-link-hover, #fff); }
.gt-footer--light .widget-title { color: var(--gt-footer-heading, #0f172a); }
.gt-footer--light .widget a { color: var(--gt-footer-link, #64748b); }
.gt-footer--light .widget a:hover { color: var(--gt-footer-link-hover, var(--gt-primary)); }

.gt-footer__bottom { padding-block: 1.5rem; }
.gt-footer__bottom-inner {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between;
  gap: 1rem;
}
.gt-footer__copy { font-size: 0.8125rem; }
.gt-footer__copy a { color: var(--gt-footer-copy, rgba(255,255,255,0.3)); }
.gt-footer__copy a:hover { color: rgba(255,255,255,0.6); }
.gt-footer--light .gt-footer__copy a { color: var(--gt-muted); }
.gt-footer__menu { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.gt-footer__menu a { font-size: 0.8125rem; padding: 0.375rem 0.75rem; border-radius: 0.5rem; color: var(--gt-footer-copy, rgba(255,255,255,0.3)); }
.gt-footer__menu a:hover { color: rgba(255,255,255,0.6); background: rgba(255,255,255,.08); }
.gt-footer--light .gt-footer__menu a { color: var(--gt-muted); }
.gt-footer--light .gt-footer__menu a:hover { color: var(--gt-primary); background: #f0edfd; }

/* Footer payment card logos */
.gt-footer__card-logos {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.gt-footer__card-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.625rem;
  min-width: 2.625rem;
  padding: 0.3125rem 0.5rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--gt-footer-border, rgba(255, 255, 255, 0.1));
  border-radius: 0.375rem;
  color: var(--gt-footer-copy, rgba(255, 255, 255, 0.45));
  line-height: 0;
  box-sizing: border-box;
}
.gt-footer__card-logo-svg {
  display: block;
  height: 0.8125rem;
  width: auto;
  flex-shrink: 0;
}
.gt-footer__card-logo--visa .gt-footer__card-logo-svg {
  width: 1.75rem;
  height: auto;
}
.gt-footer__card-logo--mastercard .gt-footer__card-logo-svg {
  width: 1.125rem;
  height: auto;
}
.gt-footer__card-logo--paypal .gt-footer__card-logo-svg {
  width: 0.875rem;
  height: auto;
}
.gt-footer__card-logo--stripe .gt-footer__card-logo-svg {
  width: 2.125rem;
  height: auto;
}
.gt-footer__card-logo--skrill .gt-footer__card-logo-svg {
  width: 2.375rem;
  height: auto;
}
.gt-footer--light .gt-footer__card-logo {
  background: rgba(15, 23, 42, 0.04);
  border-color: var(--gt-border);
  color: var(--gt-muted, #64748b);
}

/* ─── 404 ───────────────────────────────────────────────────── */
.gt-404 { text-align: center; padding-block: 6rem; }
.gt-404__code { font-size: 8rem; font-weight: 900; color: var(--gt-primary); opacity: .12; display: block; line-height: 1; margin-bottom: -1rem; }
.gt-404__title { font-size: 2rem; margin-bottom: 1rem; }
.gt-404__desc { color: var(--gt-muted); margin-bottom: 2rem; }

/* ─── Search page form ──────────────────────────────────────── */
.gt-search-form { width: 100%; }
.gt-search-form__inner {
  display: flex;
  align-items: center;
  border: 1.5px solid #e2e8f0;
  border-radius: .875rem;
  overflow: hidden;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.gt-search-form__inner:focus-within {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
}
.gt-search-form__field {
  flex: 1;
  min-width: 0;
  padding: .75rem 1rem .75rem 2.75rem;
  border: none;
  outline: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: .75rem 50%;
  background-size: 1rem;
  font-size: .875rem;
  color: #0f172a;
}
.gt-search-form__field::placeholder { color: #94a3b8; }
.gt-search-form__submit {
  flex-shrink: 0;
  margin: .25rem;
  padding: .5rem .875rem;
  border: none;
  border-radius: .625rem;
  background: #0f172a;
  color: #fff;
  font-size: .8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.gt-search-form__submit:hover { background: #1e293b; }

/* ─── Search results header ─────────────────────────────────── */
.gt-search-header { margin-bottom: 2rem; }
.gt-search-header__title { font-size: 1.5rem; margin-bottom: 1rem; }
.gt-search-header__title span { color: var(--gt-primary); }
.search-form { display: flex; gap: 0.5rem; }
.search-field {
  flex: 1; padding: 0.625rem 1rem;
  border: 1.5px solid var(--gt-border); border-radius: var(--gt-radius);
  font-size: 0.9375rem; outline: none;
  transition: border-color var(--gt-transition);
}
.search-field:focus { border-color: var(--gt-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 12%, transparent); }
.search-submit {
  padding: 0.625rem 1.25rem;
  background: var(--gt-primary); color: #fff;
  border: none; border-radius: var(--gt-radius);
  font-weight: var(--gt-btn-font-weight, 600); cursor: pointer;
}

/* ─── Utility classes ───────────────────────────────────────── */
.gt-no-results { text-align: center; padding-block: 3rem; color: var(--gt-muted); font-size: 1rem; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* ─── Admin: product theme link ────────────────────────────── */
.gt-product-theme-link { background: #f0edfd; border-radius: var(--gt-radius); }

/* ═══════════════════════════════════════════════════════════
   SINGLE THEME PAGE
════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────── */
.gt-single-hero {
  position: relative; overflow: hidden;
  padding-block: 5rem 4rem;
}
.gt-single-hero__grid-overlay {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(99,102,241,.06) 1px,transparent 1px),
                    linear-gradient(90deg,rgba(99,102,241,.06) 1px,transparent 1px);
  background-size: 48px 48px;
}
.gt-single-hero__glow {
  position: absolute; top: -100px; right: -80px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,.35), transparent 70%);
  pointer-events: none;
}
.gt-single-hero__inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: start;
}
@media (min-width: 1100px) {
  .gt-single-hero__inner {
    grid-template-columns: 1fr 440px 320px;
    gap: 2.5rem;
    align-items: start;
  }
}

/* Subtitle badge */
.gt-single-hero__subtitle {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .375rem 1rem; border-radius: 999px;
  font-size: .75rem; font-weight: 700; letter-spacing: .06em;
  background: rgba(255,255,255,.1); color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.2);
  margin-bottom: 1rem;
}
.gt-single-hero__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,.25);
}
.gt-single-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 800; line-height: 1.1;
  color: #fff; margin-bottom: 1rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-single-hero-heading__name {
  color: inherit;
}
.gt-single-hero-heading__tagline {
  font-weight: 500 !important;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: rgba(255, 255, 255, 0.62) !important;
}
.gt-badge-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  flex-shrink: 0;
}
.gt-badge-icon--emoji {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.125rem;
  line-height: 1;
}
.gt-hero-float-badge__icon {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gt-hero-float-badge__icon .gt-badge-icon,
.gt-hero-float-badge__icon .gt-badge-icon--emoji,
.gt-badge-icon--hero {
  width: 1rem !important;
  height: 1rem !important;
  max-width: 1rem !important;
  max-height: 1rem !important;
  font-size: 0.875rem !important;
}
.gt-single-post__hero-title {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-single-post__hero-desc {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gt-single-hero__desc {
  font-size: 1rem; line-height: 1.75;
  color: rgba(255,255,255,.65);
  margin-bottom: 1.5rem;
}

/* Key features checklist */
.gt-single-hero__features {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: .5rem .75rem;
  margin-bottom: 1.5rem;
}
.gt-single-hero__features li {
  display: flex; align-items: center; gap: .5rem;
  font-size: .875rem; color: rgba(255,255,255,.8);
}
.gt-single-hero__features li svg { width: 16px; height: 16px; color: #10b981; flex-shrink: 0; }

/* Rating row */
.gt-single-hero__rating {
  display: flex; align-items: center; gap: .375rem;
  margin-bottom: 1rem;
}
.gt-star { width: 18px; height: 18px; }
.gt-star--filled { color: #f59e0b; }
.gt-single-hero__rating-score { font-size: 1rem; font-weight: 800; color: #fff; }
.gt-single-hero__rating-link { font-size: .875rem; color: rgba(255,255,255,.55); margin-left: .25rem; }
.gt-single-hero__rating-link:hover { color: rgba(255,255,255,.85); }

.gt-single-hero__support-link {
  display: inline-block; font-size: .8125rem; font-weight: 600;
  color: rgba(255,255,255,.5); margin-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.2);
}

/* Trust signals */
.gt-single-hero__trust {
  display: flex; flex-wrap: wrap; gap: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.1);
}
.gt-single-hero__trust li {
  display: flex; align-items: center; gap: .5rem;
  font-size: .8125rem; color: rgba(255,255,255,.5);
}
.gt-trust-icon { width: 16px; height: 16px; color: #10b981; flex-shrink: 0; }
.gt-hero-trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  color: #34d399;
  line-height: 0;
}
.gt-hero-trust-icon--builtin {
  width: 0.875rem;
  height: 0.875rem;
}
.gt-hero-trust-icon--img {
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  object-fit: contain;
  flex-shrink: 0;
}

/* Feature section icons */
.gt-feature-label-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.gt-feature-icon--img {
  display: block;
  width: 1rem;
  height: 1rem;
  object-fit: contain;
}
.gt-feature-icon--emoji {
  font-size: 1rem;
  line-height: 1;
}
.gt-feature-card-icon__img.gt-feature-icon--img {
  width: 1.25rem;
  height: 1.25rem;
}

/* Hero browser mockup */
.gt-single-hero__media { position: relative; }
.gt-single-hero__browser-mock {
  border-radius: 12px; overflow: hidden;
  background: #1e1b4b;
  box-shadow: 0 32px 64px rgba(0,0,0,.4);
}
.gt-single-hero__browser-bar {
  display: flex; align-items: center; gap: .5rem;
  padding: .625rem 1rem; background: rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.gt-browser-dot {
  width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.2); flex-shrink: 0;
}
.gt-browser-url {
  flex: 1; font-size: .6875rem; color: rgba(255,255,255,.4);
  text-align: center; font-family: monospace;
}
.gt-single-hero__browser-mock img {
  width: 100%; display: block;
  max-height: 360px; object-fit: cover;
}

/* Floating badges */
.gt-single-hero__float-badge,
.gt-single-hero__version-badge {
  position: absolute;
  background: #fff;
  border-radius: .875rem;
  padding: .75rem 1rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
  display: flex; align-items: center; gap: .75rem;
}
.gt-single-hero__float-badge { bottom: -1rem; left: -1.5rem; }
.gt-single-hero__version-badge {
  bottom: 3rem; right: -1.5rem;
  flex-direction: column; align-items: flex-start; gap: .125rem;
}
.gt-single-hero__float-badge strong,
.gt-single-hero__version-badge strong { font-size: .875rem; font-weight: 800; color: #0f172a; }
.gt-single-hero__float-badge span,
.gt-single-hero__version-badge span { font-size: .75rem; color: #64748b; }
.gt-single-hero__float-icon { font-size: 1.5rem; line-height: 1; }

/* Hero floating badges — tight title/meta stack */
.gt-hero-float-badge__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.125rem;
  min-width: 0;
}
.gt-hero-float-badge__title {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0f172a;
}
.gt-hero-float-badge__meta {
  display: block;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.25;
  color: #94a3b8;
}
a.group:hover .gt-hero-float-badge__title {
  color: var(--gt-primary);
}

/* Purchase sidebar card */
.gt-purchase-card {
  padding: 0;
  display: block;
}
.gt-purchase-card__header {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem;
}
.gt-purchase-card__recommended {
  display: inline-flex; align-items: center; gap: .375rem;
  padding: .375rem .875rem; border-radius: 999px;
  background: var(--gt-primary); color: #fff;
  font-size: .8125rem; font-weight: 700;
}
.gt-purchase-card__direct { font-size: .8125rem; color: var(--gt-muted); font-weight: 500; }

.gt-purchase-card__price { display: flex; align-items: baseline; gap: .625rem; flex-wrap: wrap; }
.gt-purchase-card__amount { font-size: 2.25rem; font-weight: 900; color: var(--gt-text); line-height: 1; }
.gt-purchase-card__original { font-size: 1.125rem; color: var(--gt-muted); text-decoration: line-through; }
.gt-purchase-card__save {
  padding: .25rem .625rem; border-radius: 999px;
  background: #fef2f2; color: #dc2626; font-size: .8125rem; font-weight: 700;
}
.gt-purchase-card__note { font-size: .8125rem; color: var(--gt-muted); margin-top: -.5rem; }
.gt-purchase-card__cta { font-size: 1rem; padding-block: .875rem; }

.gt-purchase-card__benefits {
  display: flex; flex-direction: column; gap: .5rem;
}
.gt-purchase-card__benefits li {
  display: flex; align-items: center; gap: .5rem;
  font-size: .875rem; color: #334155;
}
.gt-purchase-card__benefits li svg { width: 16px; height: 16px; color: #10b981; flex-shrink: 0; }

.gt-purchase-card__security {
  display: flex; align-items: flex-start; gap: .625rem;
  padding: .875rem; border-radius: var(--gt-radius);
  background: #f0fdf4; font-size: .8125rem; color: #166534;
}
.gt-purchase-card__security svg { width: 18px; height: 18px; color: #16a34a; flex-shrink: 0; margin-top: .1rem; }

.gt-purchase-card__also { padding-top: 1rem; border-top: 1px solid #e2e8f0; }
.gt-purchase-card__also-label { font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--gt-muted); margin-bottom: .625rem; }
.gt-purchase-card__also-row { display: flex; align-items: center; gap: .625rem; margin-bottom: .75rem; }
.gt-purchase-card__tf-logo {
  width: 32px; height: 32px; border-radius: .5rem;
  background: #82b548; color: #fff; font-size: .75rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.gt-purchase-card__also-row span:nth-child(2) { font-size: .875rem; font-weight: 600; flex: 1; }
.gt-purchase-card__tf-price { font-size: .875rem; font-weight: 700; color: var(--gt-muted); }

/* ── Demos section ────────────────────────────────────────── */
.gt-demos-section { padding-block: 4rem; background: var(--gt-surface); }
.gt-demos-section__header { text-align: center; margin-bottom: 2rem; }
.gt-demos-section__header h2 { font-size: 1.875rem; font-weight: 800; margin-bottom: .5rem; }
.gt-demos-section__header p { color: var(--gt-muted); }
.gt-demos-grid {
  display: grid; gap: 1.25rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px)  { .gt-demos-grid { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 1024px) { .gt-demos-grid--4col { grid-template-columns: repeat(4,1fr); } }

/* Preview video modal */
.gt-preview-video-modal__player {
  position: relative;
  width: 100%;
}
.gt-preview-video-modal__embed,
.gt-preview-video-modal__embed iframe,
.gt-preview-video-modal__embed video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
}
.gt-preview-video-modal__embed {
  position: absolute;
  inset: 0;
}
.gt-preview-video-modal__embed iframe {
  aspect-ratio: 16 / 9;
  min-height: 100%;
}

/* Demo cards */
.gt-demo-card { text-decoration: none; color: inherit; }
a.demo-card,
div.demo-card {
  display: block;
  cursor: pointer;
  overflow: hidden;
  border-radius: .75rem;
  border: 1px solid #f1f5f9;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  text-decoration: none;
  color: inherit;
  transform: none;
  translate: 0 0;
  transition:
    translate 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.3s ease;
}
a.demo-card:hover,
div.demo-card:hover {
  translate: 0 -2px;
  border-color: #c7d2fe;
  box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.05);
}
a.demo-card:focus-visible {
  outline: 2px solid var(--gt-primary);
  outline-offset: 2px;
}
.demo-card .gt-demo-card__thumb,
.gt-demo-card__thumb {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
}
.gt-demo-card__thumb--4-3  { aspect-ratio: 4 / 3; }
.gt-demo-card__thumb--11-5 { aspect-ratio: 11 / 5; }
.gt-demo-card__thumb--3-4  { aspect-ratio: 3 / 4; }
.gt-demo-card__thumb--16-10 { aspect-ratio: 16 / 10; }
.gt-demo-card__thumb--16-9  { aspect-ratio: 16 / 9; }
.gt-demo-card__thumb--3-2   { aspect-ratio: 3 / 2; }
.gt-demo-card__thumb--1-1   { aspect-ratio: 1 / 1; }
.gt-demo-card__thumb--9-16  { aspect-ratio: 9 / 16; }
.gt-demo-card__shot {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  transform: translateY(0);
  will-change: auto;
}
.gt-demo-card__thumb.is-scrollable .gt-demo-card__shot {
  transition: transform 6s ease-in-out;
  will-change: transform;
}
.gt-demo-card__thumb.is-cover .gt-demo-card__shot {
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.demo-card:hover .gt-demo-card__thumb.is-scrollable .gt-demo-card__shot,
.gt-demo-card:hover .gt-demo-card__thumb.is-scrollable .gt-demo-card__shot,
.gt-demo-card__thumb.is-scrollable:hover .gt-demo-card__shot {
  transform: translateY(calc(-1 * var(--gt-demo-scroll, 0px)));
}
@media (prefers-reduced-motion: reduce) {
  .gt-demo-card__shot { transition: none; }
  .demo-card:hover .gt-demo-card__thumb.is-scrollable .gt-demo-card__shot,
  .gt-demo-card:hover .gt-demo-card__thumb.is-scrollable .gt-demo-card__shot,
  .gt-demo-card__thumb.is-scrollable:hover .gt-demo-card__shot {
    transform: none;
  }
}
.gt-demo-card__placeholder {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: .75rem;
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
}
.gt-demo-card__placeholder-dots {
  display: flex;
  gap: .25rem;
  margin-bottom: .375rem;
}
.gt-demo-card__placeholder-dots span {
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}
.gt-demo-card__placeholder-lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .375rem;
}
.gt-demo-card__placeholder-lines span {
  display: block;
  border-radius: .25rem;
  background: rgba(255, 255, 255, 0.25);
}
.gt-demo-card__placeholder-lines span:first-child {
  width: 75%;
  height: .5rem;
}
.gt-demo-card__placeholder-lines span:last-child {
  width: 50%;
  height: .375rem;
  background: rgba(255, 255, 255, 0.15);
}
.demo-card-overlay,
.gt-demo-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: rgba(10, 8, 24, 0.7);
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
a.demo-card:hover .demo-card-overlay,
a.demo-card:hover .gt-demo-card__overlay,
div.demo-card:hover .demo-card-overlay,
div.demo-card:hover .gt-demo-card__overlay,
.demo-card:hover .demo-card-overlay,
.demo-card:hover .gt-demo-card__overlay {
  opacity: 1;
  visibility: visible;
}
.gt-demo-card__preview-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  padding: .5rem .75rem;
  border-radius: .5rem;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  pointer-events: none;
  transform: translateY(4px);
  opacity: 0;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}
a.demo-card:hover .gt-demo-card__preview-btn,
div.demo-card:hover .gt-demo-card__preview-btn,
.demo-card:hover .gt-demo-card__preview-btn {
  opacity: 1;
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}
.gt-demo-card__preview-label {
  display: block;
  line-height: 1;
}
.gt-demo-card__preview-icon {
  display: block;
  width: .75rem;
  height: .75rem;
  flex-shrink: 0;
}
.gt-demo-card__label {
  position: absolute;
  top: .5rem;
  left: .5rem;
  z-index: 3;
  pointer-events: none;
}
.gt-demo-card__label span {
  display: inline-block;
  padding: .125rem .5rem;
  border-radius: 999px;
  font-size: .625rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
.gt-demo-card__body {
  padding: .75rem;
  background: #fff;
}
.gt-demo-card__title {
  margin: 0;
  font-size: .875rem;
  font-weight: 600;
  color: #1e293b;
  transition: color .2s ease;
}
.demo-card:hover .gt-demo-card__title,
a.demo-card:hover .gt-demo-card__title {
  color: var(--gt-primary);
}

.gt-demos-section__footer { text-align: center; margin-top: 2rem; }

/* ── Feature sections ─────────────────────────────────────── */
.gt-feature-section { padding-block: 5rem; }
.gt-feature-section--split-dark,
.gt-feature-section--split-reverse.gt-feature-section--dark { background: #0d0820; }
.gt-feature-section--split-light,
.gt-feature-section--stack-centered,
.gt-feature-section--cards-light { background: #fff; }
.gt-feature-section--cards-dark  { background: #0f172a; }
.gt-feature-section--steps       { background: #f0edfd; }
.gt-feature-section--table       { background: var(--gt-surface); }

.gt-feature-section__inner {
  display: grid; gap: 3rem;
  align-items: center;
}
@media (min-width: 900px) {
  .gt-feature-section--split-light .gt-feature-section__inner,
  .gt-feature-section--split-dark  .gt-feature-section__inner  { grid-template-columns: 1fr 1fr; }
  .gt-feature-section--split-reverse .gt-feature-section__inner { grid-template-columns: 1fr 1fr; direction: rtl; }
  .gt-feature-section--split-reverse .gt-feature-section__inner > * { direction: ltr; }
}

.gt-feature-section__label {
  display: inline-flex; align-items: center; gap: .375rem;
  padding: .3rem .875rem; border-radius: 999px;
  font-size: .8125rem; font-weight: 600;
  background: rgba(255,255,255,.1); color: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.2);
  margin-bottom: 1rem;
}
.gt-feature-section--split-light .gt-feature-section__label,
.gt-feature-section--stack-centered .gt-feature-section__label,
.gt-feature-section--cards-light .gt-feature-section__label,
.gt-feature-section--steps .gt-feature-section__label {
  background: #f0edfd; color: var(--gt-primary);
  border-color: #c7d2fe;
}

.gt-feature-section__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 800; line-height: 1.15; margin-bottom: .875rem;
}
.gt-feature-section--split-dark .gt-feature-section__title,
.gt-feature-section--cards-dark .gt-feature-section__title  { color: #fff; }
.gt-feature-section--steps .gt-feature-section__title { color: var(--gt-text); }

.gt-feature-section__desc {
  font-size: 1rem; line-height: 1.75; margin-bottom: 1.5rem;
}
.gt-feature-section--split-dark .gt-feature-section__desc,
.gt-feature-section--cards-dark .gt-feature-section__desc  { color: rgba(255,255,255,.65); }
.gt-feature-section--split-light .gt-feature-section__desc,
.gt-feature-section--stack-centered .gt-feature-section__desc { color: var(--gt-muted); }

/* Stack centered — text top, image bottom */
.gt-feature-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}
@media (min-width: 1024px) {
  .gt-feature-stack { gap: 2rem; }
}
.gt-feature-stack__content {
  width: 100%;
  max-width: 42rem;
  margin-inline: auto;
}
.gt-feature-stack__content .gt-feature-section-desc {
  margin-bottom: 0;
}
.gt-feature-stack__list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.gt-feature-stack__list li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}
.gt-feature-stack__visual {
  width: 100%;
  max-width: 56rem;
  margin-inline: auto;
}

.gt-feature-section__list { display: flex; flex-direction: column; gap: .625rem; }
.gt-feature-section__list li {
  display: flex; align-items: center; gap: .625rem;
  font-size: .9375rem;
}
.gt-feature-section--split-dark .gt-feature-section__list li { color: rgba(255,255,255,.85); }
.gt-feature-section__list li svg { width: 18px; height: 18px; color: #10b981; flex-shrink: 0; }

.gt-feature-section__image img {
  border-radius: var(--gt-radius-lg);
  box-shadow: 0 24px 64px rgba(0,0,0,.2);
  width: 100%;
}

/* Cards grid inside feature section */
.gt-feature-section__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 768px) { .gt-feature-section__cards { grid-template-columns: repeat(4, 1fr); } }

.gt-feature-card {
  padding: 1.25rem;
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius);
  background: var(--gt-surface);
  transition: box-shadow var(--gt-transition), transform var(--gt-transition);
}
.gt-feature-card:hover { box-shadow: var(--gt-shadow-md); transform: translateY(-2px); }
.gt-feature-section--cards-dark .gt-feature-card {
  background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1);
}
.gt-feature-card__icon { font-size: 1.75rem; margin-bottom: .625rem; display: block; }
.gt-feature-card h3 { font-size: .9375rem; font-weight: 700; margin-bottom: .25rem; }
.gt-feature-card p  { font-size: .8125rem; color: var(--gt-muted); }
.gt-feature-section--cards-dark .gt-feature-card h3 { color: #fff; }
.gt-feature-section--cards-dark .gt-feature-card p  { color: rgba(255,255,255,.55); }

/* Steps section */
.gt-feature-section__steps { display: grid; gap: 1rem; }
@media (min-width: 768px) { .gt-feature-section__steps { grid-template-columns: 1fr 1fr; } }
.gt-feature-section__step {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.25rem; border-radius: var(--gt-radius);
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.gt-feature-section__step-num {
  min-width: 40px; height: 40px; border-radius: .75rem;
  background: var(--gt-primary); color: #fff;
  font-size: .875rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.gt-feature-section__step strong { display: block; font-size: .9375rem; margin-bottom: .25rem; }
.gt-feature-section__step p { font-size: .875rem; color: var(--gt-muted); }

/* ── Requirements section ─────────────────────────────────── */
.gt-requirements-section { padding-block: 4rem; background: #fff; }
.gt-requirements-section__grid {
  display: grid; gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) { .gt-requirements-section__grid { grid-template-columns: 1fr 1fr; } }

.gt-req-card {
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius-lg);
  overflow: hidden;
}
.gt-req-card__header {
  padding: 1.25rem 1.5rem;
  background: var(--gt-surface);
  border-bottom: 1px solid var(--gt-border);
}
.gt-req-card__header h3 { font-size: 1.125rem; font-weight: 800; }
.gt-req-card__label {
  display: block; font-size: .6875rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--gt-primary); margin-bottom: .25rem;
}
.gt-req-table { width: 100%; border-collapse: collapse; }
.gt-req-table th,
.gt-req-table td { padding: .75rem 1.5rem; font-size: .875rem; border-bottom: 1px solid var(--gt-border); text-align: left; }
.gt-req-table th { color: var(--gt-muted); font-weight: 500; width: 55%; }
.gt-req-table td { font-weight: 700; }
.gt-req-table tr:last-child th,
.gt-req-table tr:last-child td { border-bottom: none; }

.gt-compat-tags {
  display: flex; flex-wrap: wrap; gap: .5rem;
  padding: 1.25rem 1.5rem;
}
.gt-compat-tag {
  padding: .375rem .875rem; border-radius: 999px;
  border: none;
  background: #f1f5f9;
  font-size: .8125rem; font-weight: 600;
  color: #475569; transition: all var(--gt-transition);
  text-decoration: none;
}
.gt-compat-tag:hover { color: var(--gt-primary); background: #f0f0ff; }

/* ── Support section ──────────────────────────────────────── */
.gt-update-card__header h3,
.gt-update-card__title {
  color: #fff;
  margin: 0;
}
.gt-update-card__header p {
  color: rgba(255, 255, 255, 0.6);
  margin: 0.25rem 0 0;
}
.gt-update-card__item {
  align-items: flex-start;
}
.gt-update-card__item > div:last-child > :is(p, h3, h4) {
  margin: 0;
  line-height: 1.35;
}
.gt-update-card__item > div:last-child > :is(p, h4) + :is(p, h4) {
  margin-top: 0.125rem;
}

.gt-support-section { padding-block: 4rem; background: var(--gt-surface); }
.gt-support-section__grid {
  display: grid; gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) { .gt-support-section__grid { grid-template-columns: 1fr 1fr; } }

.gt-support-card {
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius-lg);
  overflow: hidden;
  background: #fff;
}
.gt-support-card--dark { background: #0f172a; border-color: transparent; }
.gt-support-card__header {
  padding: 1.5rem;
  border-bottom: 1px solid var(--gt-border);
}
.gt-support-card--dark .gt-support-card__header { border-color: rgba(255,255,255,.1); }
.gt-support-card__header h3 { font-size: 1.125rem; font-weight: 800; }
.gt-support-card__header p  { font-size: .875rem; color: var(--gt-muted); margin-top: .25rem; }
.gt-support-card--dark .gt-support-card__header h3 { color: #fff; }
.gt-support-card--dark .gt-support-card__header p  { color: rgba(255,255,255,.55); }
.gt-support-card__label {
  display: block; font-size: .6875rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--gt-primary); margin-bottom: .375rem;
}
.gt-support-card__list { padding: 1.5rem; display: flex; flex-direction: column; gap: 1.25rem; }
.gt-support-card__list li { display: flex; gap: 1rem; align-items: flex-start; }
.gt-support-card__icon {
  width: 36px; height: 36px; border-radius: .75rem; flex-shrink: 0;
  background: rgba(255,255,255,.08); color: #a5b4fc;
  font-size: 1rem; display: flex; align-items: center; justify-content: center;
}
.gt-support-card__list strong { display: block; font-size: .9375rem; color: #fff; margin-bottom: .25rem; }
.gt-support-card__list p { font-size: .8125rem; color: rgba(255,255,255,.55); }

.gt-package-list { padding: 1.5rem; display: flex; flex-direction: column; gap: .625rem; }
.gt-package-list li {
  display: flex; align-items: center; gap: .625rem;
  font-size: .9rem; color: #334155;
}
.gt-package-list li svg { width: 16px; height: 16px; color: #10b981; flex-shrink: 0; }

/* ── Changelog section ────────────────────────────────────── */
.gt-changelog-section { padding-block: 4rem; background: #fff; }
.gt-changelog-card {
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius-lg); overflow: hidden;
}
.gt-changelog-card__header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background: var(--gt-surface);
  border-bottom: 1px solid var(--gt-border);
}
.gt-changelog-card__header h3 { font-size: 1rem; font-weight: 800; margin: 0; }
.gt-changelog-card__header p  { font-size: .8125rem; color: var(--gt-muted); }
.gt-changelog-full-link { font-size: .875rem; font-weight: 700; color: var(--gt-primary); white-space: nowrap; }
.gt-changelog-list { }
.gt-changelog-entry {
  display: flex; gap: 1.25rem; align-items: flex-start;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--gt-border);
}
.gt-changelog-entry:last-child { border-bottom: none; }
.gt-changelog-ver {
  min-width: 60px; padding: .375rem .625rem; border-radius: .5rem;
  background: #f0edfd; color: var(--gt-primary);
  font-size: .8125rem; font-weight: 800; text-align: center;
}
.gt-changelog-entry__date {
  margin: 0 0 .375rem;
  font-size: .875rem;
  font-weight: 700;
  color: #0f172a;
}
.gt-changelog-body {
  min-width: 0;
  flex: 1 1 auto;
}
.gt-changelog-entry__notes {
  font-size: .875rem;
  line-height: 1.625;
  color: #475569;
}
.gt-changelog-body > strong {
  display: block;
  font-size: .875rem;
  font-weight: 700;
  margin-bottom: .25rem;
}
.gt-changelog-body p { font-size: .8125rem; color: var(--gt-muted); }
.gt-changelog-entry__notes :where(ul, ol) {
  margin: .5rem 0 0;
  padding-left: 1.25rem;
}
.gt-changelog-entry__notes ul {
  list-style: disc;
}
.gt-changelog-entry__notes ol {
  list-style: decimal;
}
.gt-changelog-entry__notes li {
  display: list-item;
  margin-bottom: .35rem;
}
.gt-changelog-entry__notes li:last-child {
  margin-bottom: 0;
}
.gt-changelog-entry__notes li > strong,
.gt-changelog-entry__notes li strong {
  display: inline;
  font-weight: 700;
}
.gt-changelog-entry__notes--compact {
  max-height: 4.75rem;
  overflow: hidden;
  position: relative;
}
.gt-changelog-entry__notes--compact::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.75rem;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  pointer-events: none;
}
.gt-changelog-modal__list .gt-changelog-entry {
  align-items: flex-start;
}
.gt-changelog-modal__list .gt-changelog-entry__notes {
  max-height: none;
}
.gt-changelog-ver--latest {
  background: #ecfdf5;
  color: #047857;
}
.gt-changelog-ver--default {
  background: #f1f5f9;
  color: #475569;
}

/* ── Reviews section ──────────────────────────────────────── */
.gt-reviews-section { padding-block: 3rem; }
.gt-reviews-section__header { margin-bottom: 2rem; }
.gt-reviews-section__title-row {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .625rem 1rem;
}
.gt-reviews-section__title-row h2 { margin-bottom: 0; }
.gt-reviews-leave-link,
.gt-reviews-view-all-link {
  appearance: none; background: none; border: none; padding: 0;
  font-size: .9375rem; font-weight: 600; color: var(--gt-primary);
  cursor: pointer; text-decoration: none;
  transition: color var(--gt-transition-smooth);
}
.gt-reviews-leave-link:hover,
.gt-reviews-view-all-link:hover { color: var(--gt-violet, var(--gt-secondary)); text-decoration: underline; }
.gt-reviews-section__header h2:not(.gt-theme-section-title) { font-size: 1.5rem; font-weight: 800; }
.gt-reviews-section__title-row h2 { margin-bottom: 0; }
.gt-reviews-summary {
  display: flex; align-items: center; gap: .625rem;
}
.gt-reviews-summary__stars { display: flex; gap: .125rem; }
.gt-reviews-summary__score { font-size: 1.25rem; font-weight: 800; }
.gt-reviews-summary__count { font-size: .875rem; color: var(--gt-muted); }
.gt-reviews-summary__count-link {
  appearance: none; background: none; border: none; padding: 0;
  font: inherit; color: var(--gt-primary); cursor: pointer;
  transition: color var(--gt-transition-smooth);
}
.gt-reviews-summary__count-link:hover { color: var(--gt-violet, var(--gt-secondary)); text-decoration: underline; }

/* ── Theme scroll modals (reviews all, changelog, …) ─────── */
.gt-theme-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  overflow: hidden;
  overscroll-behavior: none;
}
@media (min-width: 640px) {
  .gt-theme-modal-overlay { padding: 1.5rem; }
}
.gt-theme-modal-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
}
.gt-theme-modal {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 42rem;
  max-height: min(85dvh, 720px);
  overflow: hidden;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.28);
}
.gt-theme-modal__accent {
  flex-shrink: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gt-primary, #5233eb), var(--gt-violet, #7c3aed));
}
.gt-theme-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #f1f5f9;
  flex-shrink: 0;
  background: #fff;
}
@media (min-width: 640px) {
  .gt-theme-modal__header { padding-inline: 1.5rem; }
}
.gt-theme-modal__header h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 800;
  color: #0f172a;
}
@media (min-width: 640px) {
  .gt-theme-modal__header h2 { font-size: 1.25rem; }
}
.gt-theme-modal__subtitle {
  margin: .375rem 0 0;
  font-size: .875rem;
  color: #64748b;
  line-height: 1.4;
}
.gt-theme-modal__close {
  appearance: none;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: .75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #94a3b8;
  background: transparent;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease;
}
.gt-theme-modal__close:hover {
  color: #475569;
  background: #f1f5f9;
}
.gt-theme-modal__list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.gt-theme-modal__list .gt-reviews-summary { margin-top: .375rem; }

/* Reviews modal — compact list */
.gt-review-modal-item {
  padding: 1.125rem 1.25rem;
  border-bottom: 1px solid #f1f5f9;
}
@media (min-width: 640px) {
  .gt-review-modal-item { padding-inline: 1.5rem; }
}
.gt-review-modal-item:last-child { border-bottom: 0; }
.gt-review-modal-item--own {
  background: linear-gradient(180deg, rgba(82, 51, 235, 0.04) 0%, rgba(255, 255, 255, 0) 100%);
}
.gt-review-modal-item__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: .75rem 1rem; margin-bottom: .625rem;
}
.gt-review-modal-item__author {
  display: flex; align-items: center; gap: .625rem; min-width: 0;
}
.gt-review-modal-item__avatar {
  width: 2.25rem; height: 2.25rem; border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: .6875rem; font-weight: 800; flex-shrink: 0;
}
.gt-review-modal-item__identity {
  display: flex;
  flex-direction: column;
  gap: .125rem;
  min-width: 0;
  line-height: 1.2;
}
.gt-review-modal-item__name {
  margin: 0;
  font-size: .8125rem; font-weight: 700; color: #0f172a;
  line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gt-review-modal-item__role {
  margin: 0;
  font-size: .6875rem; color: #94a3b8;
  line-height: 1.2;
}
.gt-review-modal-item__meta {
  display: flex; flex-direction: column; align-items: flex-end;
  gap: .25rem; flex-shrink: 0;
}
.gt-review-modal-item__meta .flex { font-size: .75rem; line-height: 1; margin: 0; }
.gt-review-modal-item__badge {
  display: inline-flex; align-items: center;
  padding: .125rem .5rem; border-radius: 9999px;
  font-size: .625rem; font-weight: 700; color: #fff; line-height: 1.4;
}
.gt-review-modal-item__own-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: .75rem; margin-bottom: .5rem;
}
.gt-review-modal-item__own-badge {
  font-size: .6875rem; font-weight: 700; color: var(--gt-primary);
  background: rgba(82, 51, 235, 0.08); border: 1px solid rgba(82, 51, 235, 0.12);
  padding: .125rem .5rem; border-radius: 9999px;
}
.gt-review-modal-item__edit {
  appearance: none; background: none; border: none; padding: 0;
  font-size: .6875rem; font-weight: 700; color: var(--gt-primary);
  cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
.gt-review-modal-item__text {
  font-size: .875rem; line-height: 1.6; color: #475569;
  margin: 0;
}
.gt-review-modal-item__text:not(.gt-review-modal-item__text--full) {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
  overflow: hidden;
}
.gt-review-modal-item__toggle {
  appearance: none; background: none; border: none; padding: 0;
  margin-top: .5rem; font-size: .8125rem; font-weight: 600;
  color: var(--gt-primary); cursor: pointer;
}
.gt-review-modal-item__toggle:hover { color: var(--gt-violet, var(--gt-secondary)); text-decoration: underline; }

.gt-reviews-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 640px) {
  .gt-reviews-grid { grid-template-columns: 1fr 1fr; }
}

/* Review preview cards — equal-height grid cells, footer pinned to bottom */
.gt-review-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.gt-review-card__own-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-shrink: 0;
  margin-bottom: .75rem;
}
.gt-review-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-shrink: 0;
  margin-bottom: .75rem;
}
.gt-review-card__content {
  flex: 1 1 auto;
  font-size: .875rem;
  line-height: 1.625;
  color: #475569;
  margin: 0;
}
.gt-review-card__footer {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: auto;
  flex-shrink: 0;
  padding-top: 1rem;
}
.gt-review-card__author {
  display: flex;
  flex-direction: column;
  gap: .125rem;
  min-width: 0;
  line-height: 1.2;
}
.gt-review-card__name,
.gt-review-card__role {
  margin: 0;
  line-height: 1.2;
}
.gt-review-card__name { font-size: .75rem; font-weight: 700; color: #0f172a; }
.gt-review-card__role { font-size: .75rem; color: #94a3b8; }
.gt-review-card--own { position: relative; }
.gt-review-card__own-badge svg { flex-shrink: 0; }
.gt-review-card__edit { background: none; border: none; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.gt-purchase-owned { box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.08); }
.gt-purchase-review-btn { background: #fff; cursor: pointer; }
.gt-purchase-variation__select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2.25rem;
}
.gt-purchase-price-regular {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--gt-text-muted, #94a3b8);
  text-decoration: line-through;
  text-decoration-color: currentColor;
  line-height: 1;
}
.gt-purchase-card--variable .gt-add-to-cart:disabled {
  opacity: 0.72;
  cursor: not-allowed;
  transform: none;
}

/* Sidebar star review prompt */
.gt-review-prompt__star {
  background: none;
  border: none;
  padding: 0.125rem;
  cursor: pointer;
  line-height: 1;
}
.gt-review-prompt__star:hover,
.gt-review-prompt__star:focus-visible {
  transform: scale(1.08);
}
.gt-review-prompt__stars:focus-within .gt-review-prompt__star:not(:hover) {
  opacity: 0.85;
}

/* Showcase archive cards */
.gt-showcase-card__link { text-decoration: none; }
.gt-wp-content .gt-showcase-card__title,
.gt-showcase-card h2.gt-showcase-card__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
  scroll-margin-top: 0;
  color: var(--gt-text-heading, #0f172a);
  transition: color 0.15s ease;
}
.gt-showcase-card__link:hover .gt-showcase-card__title {
  color: var(--gt-primary, #5233eb);
}
.gt-showcase-single__preview img { display: block; width: 100%; height: auto; }

.gt-reviews-section__more { text-align: center; margin-top: 1.5rem; }

/* Compatibility — clickable term pills */
.gt-compat-pill { text-decoration: none; }
.gt-compat-term-link { text-decoration: none; }
.gt-compat-term-link:hover { text-decoration: underline; }

/* Theme single — content section rhythm */
.gt-theme-single-layout {
  padding-block: 2rem;
}
@media (min-width: 1024px) {
  .gt-theme-single-layout { padding-block: 2.5rem; }
}
.gt-theme-single-content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .gt-theme-single-content { gap: 3rem; }
}
  .gt-theme-single-content :is(
  .gt-reviews-section,
  .gt-changelog-section,
  .gt-demos-section,
  .gt-theme-showcases-section,
  .gt-faq-section,
  .gt-seo-section,
  .gt-related-section,
  .gt-theme-package-block
) {
  padding-block: 0;
  margin-block: 0;
}
.gt-theme-single-content .gt-reviews-section__header {
  margin-bottom: 1.25rem;
}
.gt-theme-icon-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--gt-font-display, 'Outfit', sans-serif);
  font-size: 0.6875rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
}
.gt-theme-icon-fallback span {
  transform: translateY(0.5px);
}
.gt-theme-single-content .gt-theme-section-title {
  font-family: var(--gt-font-display, 'Outfit', sans-serif);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #0f172a;
  letter-spacing: -0.01em;
}
@media (min-width: 640px) {
  .gt-theme-single-content .gt-theme-section-title {
    font-size: 1.875rem;
  }
}

/* Theme package block (support + included + changelog) */
.gt-theme-package-block { margin-top: 0; }

/* FAQ section ──────────────────────────────────────────── */
.gt-faq-section { padding-block: 4rem; background: var(--gt-surface); }
.gt-faq-section h2 { font-size: 1.75rem; font-weight: 800; margin-bottom: 2rem; text-align: center; }
.gt-faq-list { display: flex; flex-direction: column; gap: .5rem; max-width: 800px; margin-inline: auto; }
.gt-faq-item {
  background: #fff; border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius); overflow: hidden;
}
.gt-faq-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 1.125rem 1.25rem;
  font-size: .9375rem; font-weight: 600; color: var(--gt-text);
  background: none; border: none; cursor: pointer; text-align: left;
}
.gt-faq-btn svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--gt-muted); transition: transform .2s ease; }
.gt-faq-item.is-open .gt-faq-btn svg { transform: rotate(180deg); }
.gt-faq-body { display: none; }
.gt-faq-item.is-open .gt-faq-body { display: block; }
.gt-faq-answer { padding: 0 1.25rem 1.25rem; font-size: .9rem; color: var(--gt-muted); line-height: 1.7; }

/* ── SEO text ─────────────────────────────────────────────── */
.gt-seo-section { padding-block: 4rem; background: #fff; }
.gt-seo-text {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  background: var(--gt-surface);
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-radius-lg);
  padding: 2rem;
  font-size: .9375rem;
  line-height: 1.8;
  color: #334155;
}
.gt-seo-text h2, .gt-seo-text h3 { margin-block: 1.5rem .625rem; color: var(--gt-text); }
.gt-seo-text > :first-child,
.gt-seo-text > h2:first-child,
.gt-seo-text > h3:first-child,
.gt-seo-text > p:first-child { margin-top: 0; }
.gt-seo-text p { margin-bottom: 1rem; }

/* ── Related themes ───────────────────────────────────────── */
.gt-related-section { padding-block: 4rem; background: var(--gt-surface); }
.gt-related-section h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 1.75rem; }

/* ── Single hero responsive ───────────────────────────────── */
@media (max-width: 1099px) {
  #product-hero .gt-single-hero__desc {
    font-size: 0.9375rem;
    line-height: 1.65;
    margin-bottom: 1.25rem;
  }
  .gt-single-hero__browser-mock--mobile .gt-single-hero__browser-shot {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #0f172a;
  }
  .gt-single-hero__browser-mock--mobile .gt-single-hero__browser-shot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
  }
  .gt-single-hero__purchase { order: -1; }
  .gt-purchase-card { max-width: 480px; }
  .gt-single-hero__float-badge,
  .gt-single-hero__version-badge { display: none; }
}

/* FAQ Alpine.js fallback (non-Alpine JS toggle) */
.gt-faq-item.is-open .gt-faq-answer { display: block; }

/* ─── Overlays, modals & shared buttons ─────────────────────── */
.gt-btn-primary {
  background: var(--gt-primary);
  color: #fff;
  transition: transform var(--gt-transition), box-shadow var(--gt-transition), opacity var(--gt-transition), filter var(--gt-transition);
}
.gt-btn-primary:hover {
  background: var(--gt-primary) !important;
  filter: brightness(1.08);
  color: #fff !important;
  opacity: 1 !important;
  transform: translateY(-1px);
  box-shadow: none;
}
.gt-btn-primary-gradient {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary)));
  color: #fff;
  border: 1.5px solid transparent;
  font-weight: var(--gt-btn-font-weight, 600);
  line-height: 1;
  text-align: center;
  border-radius: var(--gt-btn-radius, var(--gt-radius));
  filter: brightness(1);
  box-shadow: none;
  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);
}
.gt-btn-primary-gradient:hover {
  background: var(--gt-btn-primary-bg) !important;
  filter: brightness(1.06);
  color: #fff !important;
  opacity: 1 !important;
  transform: translateY(-2px);
  box-shadow: none;
}
/* Side-by-side CTA pairs — always share button radius token */
.gt-btn-primary-gradient,
a.gt-btn-primary-gradient,
button.gt-btn-primary-gradient,
.gt-btn-outline-light,
a.gt-btn-outline-light,
button.gt-btn-outline-light {
  border-radius: var(--gt-btn-radius, var(--gt-radius));
}
.gt-badge-primary {
  background: var(--gt-primary);
  color: #fff;
}
.gt-login-icon {
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary));
}
.gt-login-modal__social-output {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: stretch;
}
.gt-login-modal__social-output .nsl-container,
.gt-login-modal__social-output .nsl-container-block {
  max-width: 100%;
}
.gt-input-brand:focus {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 12%, transparent);
  outline: none;
}
/* ─── Share buttons ─────────────────────────────────────────────────────────── */
.gt-share-btn__icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: block;
}
/* ─── Share: copy link success ─────────────────────────────────────────────── */
.gt-share-copy-btn__state {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}
.gt-share-copy-btn--copied.gt-share-copy-btn--light {
  border-color: #6ee7b7 !important;
  color: #059669 !important;
  background: #ecfdf5 !important;
}
.gt-share-copy-btn--copied.gt-share-copy-btn--dark {
  background: rgba(16,185,129,.22) !important;
  color: #6ee7b7 !important;
}
.gt-safe-area-bottom {
  height: env(safe-area-inset-bottom, 0px);
}


/* Search modal — borderless input (override @tailwindcss/forms base styles) */
#gt-search-input,
.gt-search-modal__input {
  appearance: none;
  border: none !important;
  border-radius: 0;
  background: transparent !important;
  padding: 0;
  min-width: 0;
  width: 100%;
  box-shadow: none !important;
  outline: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
}
#gt-search-input:focus,
#gt-search-input:focus-visible,
.gt-search-modal__input:focus,
.gt-search-modal__input:focus-visible {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
}

/* Search modal — responsive column results */
.gt-search-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px) {
  .gt-search-columns--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .gt-search-columns--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.gt-search-col {
  min-width: 0;
}
.gt-search-col__heading {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 0.75rem;
  padding: 0 0.25rem;
}
.gt-search-col__empty {
  font-size: 0.8125rem;
  color: #94a3b8;
  padding: 0.75rem 0.5rem;
}
.gt-search-result {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.5rem;
  border-radius: 0.75rem;
  transition: background-color 0.15s ease;
}
.gt-search-result:hover {
  background: #f8fafc;
}
.gt-search-result__thumb {
  width: 2.75rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
.gt-search-result__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gt-search-result__icon--blog {
  background: #eff6ff;
  color: #2563eb;
}
.gt-search-result__icon--doc {
  background: #ecfdf5;
  color: #059669;
}
.gt-search-result__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.125rem;
}
.gt-search-result__title {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gt-search-result:hover .gt-search-result__title {
  color: var(--gt-primary);
}
.gt-search-result__meta {
  display: block;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.25;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Search modal — idle state (popular + featured) */
.gt-search-idle {
  padding: 1.25rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .gt-search-idle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.gt-search-popular__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.gt-search-popular__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  color: #475569;
  background: #f1f5f9;
  border: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.gt-search-popular__tag:hover {
  background: #f5f3ff;
  color: var(--gt-primary);
}
.gt-search-featured__list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.gt-search-featured__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
}
.gt-search-featured__item > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.125rem;
  min-width: 0;
}
.gt-search-featured__thumb {
  width: 3rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
.gt-search-featured__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gt-search-featured__title {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
  color: #1e293b;
  transition: color 0.15s ease;
}
.gt-search-featured__item:hover .gt-search-featured__title {
  color: var(--gt-primary);
}
.gt-search-featured__meta {
  display: block;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.25;
  color: #94a3b8;
}

/* Taxonomy filter icons */
.gt-term-filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  line-height: 1;
  flex-shrink: 0;
}
.gt-term-filter-icon--sm {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.85rem;
}
.gt-term-filter-icon__img {
  width: 1rem;
  height: 1rem;
  object-fit: contain;
}

/* Theme archive — scrollable filter option lists */
.gt-filter-scroll {
  max-height: 18rem;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  /* Native scroll: thumb + gap from content */
  padding-right: calc(0.75rem + 6px);
}
.gt-filter-scroll--list {
  display: block;
}
.gt-filter-scroll--pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-content: flex-start;
}
.gt-filter-scroll--features .simplebar-content {
  display: block;
  line-height: 0;
}
.gt-theme-archive .gt-filter-scroll--features .gt-feature-filter-pill,
.gt-sticky-sidebar .gt-filter-scroll--features .gt-feature-filter-pill,
#gsap-filter-drawer .gt-filter-scroll--features .gt-feature-filter-pill {
  display: inline-flex;
  vertical-align: top;
  margin: 0 2.5px 2.5px 0;
}
.gt-theme-archive button.gt-feature-filter-pill,
.gt-sticky-sidebar button.gt-feature-filter-pill,
#gsap-filter-drawer button.gt-feature-filter-pill {
  background-color: #f3f4f6;
  color: #475569;
  border: none;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.gt-feature-filter-pill--tag {
  display: inline-flex;
  align-items: center;
  padding: 0.3125rem 0.5625rem;
  border-radius: 999px;
  line-height: 1.25;
  white-space: nowrap;
}
.gt-theme-archive button.gt-feature-filter-pill:hover,
.gt-sticky-sidebar button.gt-feature-filter-pill:hover,
#gsap-filter-drawer button.gt-feature-filter-pill:hover,
.gt-theme-archive button.gt-feature-filter-pill.is-active,
.gt-sticky-sidebar button.gt-feature-filter-pill.is-active,
#gsap-filter-drawer button.gt-feature-filter-pill.is-active {
  background-color: #f0edff;
  color: var(--gt-primary);
}
.gt-filter-scroll--grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  align-content: start;
}
/* SimpleBar — always-visible track (iOS + desktop) */
.gt-filter-scroll[data-simplebar] {
  /* Reserve gap + track width so counts/labels never touch the bar */
  padding-right: calc(0.875rem + 6px);
  box-sizing: border-box;
}
.gt-filter-scroll[data-simplebar] .simplebar-content {
  padding-right: 0;
  box-sizing: border-box;
}
.gt-filter-scroll[data-simplebar] .simplebar-offset {
  padding-right: 0 !important;
}
.gt-filter-scroll .simplebar-track.simplebar-vertical {
  width: 6px;
  background: #e2e8f0;
  border-radius: 999px;
  right: 0;
  top: 0;
  bottom: 0;
}
.gt-filter-scroll .simplebar-scrollbar:before {
  background: #64748b;
  border-radius: 999px;
  opacity: 1;
  left: 1px;
  right: 1px;
}
.gt-filter-scroll .simplebar-scrollbar.simplebar-visible:before {
  opacity: 1;
}

/* Theme archive — grid/list view toggle (after Tailwind CDN) */
.gt-view-toggle {
  gap: 0.25rem;
  padding: 0.25rem;
  border-radius: 0.75rem;
  background: rgb(241 245 249);
}
.gt-view-toggle__btn {
  color: rgb(100 116 139);
  background-color: 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);
  background-color: #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);
  background-color: #fff;
  box-shadow: none;
  opacity: 0.88;
}

/* Header shadow — Customizer gt_header_shadow (style.min.css loads last) */
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;
}

/* ─── Form controls (late — after Elementor + Tailwind preflight) ─── */
.elementor-widget-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"]),
  select,
  textarea
),
.elementor-widget-form input.elementor-field-textual,
.elementor-widget-form select.elementor-field-textual,
.elementor-widget-form textarea.elementor-field-textual {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--gt-field-text, var(--gt-text, #0f172a));
  background-color: var(--gt-field-bg, var(--gt-input-bg, #fff));
  border: 1px solid var(--gt-field-border, var(--gt-input-border, #cbd5e1));
  border-radius: var(--gt-field-radius, 0.75rem);
  box-shadow: none;
  transition: border-color var(--gt-transition, 0.15s ease), box-shadow var(--gt-transition, 0.15s ease), background-color var(--gt-transition, 0.15s ease);
}

.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, var(--gt-input-bg, #fff));
  background-image: var(--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")) !important;
  background-repeat: no-repeat !important;
  background-position: right 0.875rem center !important;
  background-size: 1rem !important;
  cursor: pointer;
}

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

.elementor-widget-form textarea,
.elementor-widget-form textarea.elementor-field-textual {
  min-height: 8rem;
  resize: vertical;
}

.elementor-widget-form :is(input, textarea)::placeholder {
  color: var(--gt-field-muted, #94a3b8);
  opacity: 1;
}

.elementor-widget-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 {
  border-color: var(--gt-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
  outline: none;
}

.elementor-widget-form :is(input[type="checkbox"], input[type="radio"]),
.elementor-widget-form input[type="checkbox"].elementor-field,
.elementor-widget-form input[type="radio"].elementor-field,
.gt-field-scope form :is(input[type="checkbox"]:not(.sr-only), input[type="radio"]:not(.sr-only)),
.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, 1.125rem) !important;
  min-width: var(--gt-check-size, 1.125rem) !important;
  max-width: var(--gt-check-size, 1.125rem) !important;
  height: var(--gt-check-size, 1.125rem) !important;
  min-height: var(--gt-check-size, 1.125rem) !important;
  margin: 0.125rem 0 0;
  padding: 0 !important;
  border: 1.5px solid var(--gt-field-border, var(--gt-input-border, #cbd5e1));
  border-style: solid;
  background-color: var(--gt-field-bg, var(--gt-input-bg, #fff));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  cursor: pointer;
}

.elementor-widget-form input[type="checkbox"],
.gt-field-scope form input[type="checkbox"]:not(.sr-only),
.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;
}

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

.elementor-widget-form :is(input[type="checkbox"], input[type="radio"]):checked,
.gt-field-scope form :is(input[type="checkbox"]:not(.sr-only), input[type="radio"]:not(.sr-only)):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);
}

.elementor-widget-form input[type="checkbox"]:checked,
.gt-field-scope form input[type="checkbox"]:not(.sr-only):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, 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"));
}

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

.elementor-widget-form :is(input[type="checkbox"], input[type="radio"]):focus-visible,
.gt-field-scope form :is(input[type="checkbox"]:not(.sr-only), input[type="radio"]:not(.sr-only)):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);
}

.elementor-widget-form .elementor-field-option,
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-option,
.wpcf7-list-item,
.fluentform .ff-el-form-check,
.frm_forms .frm_checkbox,
.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;
}

/* Form buttons — late cascade, 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 !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: auto !important;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.75rem 1.5rem !important;
  font-size: 0.875rem;
  font-weight: var(--gt-btn-font-weight, 600);
  line-height: 1.25;
  color: #fff !important;
  text-decoration: none;
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary))) !important;
  border: 1.5px solid transparent !important;
  border-radius: var(--gt-btn-radius, var(--gt-field-radius, 0.75rem)) !important;
  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);
}

.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 !important;
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary))) !important;
  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 {
  margin-top: 0.25rem;
}

/* Archive / filter UI — keep Tailwind layout (not form controls) */
.gt-sticky-sidebar input[type="checkbox"].sr-only,
.gt-filter-scroll input[type="checkbox"].sr-only,
.gt-theme-archive input[type="checkbox"].sr-only {
  position: absolute !important;
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.gt-sticky-sidebar .gt-filter-scroll--pills:not(.gt-filter-scroll--features),
.gt-theme-archive .gt-filter-scroll--pills:not(.gt-filter-scroll--features) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-content: flex-start;
}

.gt-sticky-sidebar .gt-filter-scroll--features .simplebar-content,
.gt-theme-archive .gt-filter-scroll--features .simplebar-content,
#gsap-filter-drawer .gt-filter-scroll--features .simplebar-content {
  display: block;
  line-height: 0;
}

.gt-sticky-sidebar .gt-filter-scroll--features .gt-feature-filter-pill,
.gt-theme-archive .gt-filter-scroll--features .gt-feature-filter-pill,
#gsap-filter-drawer .gt-filter-scroll--features .gt-feature-filter-pill {
  display: inline-flex !important;
  vertical-align: top;
  margin: 0 2.5px 2.5px 0 !important;
}

/* Form feedback alerts (global, after Elementor) */
.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-danger {
  color: #b91c1c !important;
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
}

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

.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;
}

.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;
}
