/* ========================================
   GIDEL THEME - MAIN STYLES
   Modern, Clean, Accessible
   Version 2.0.0
   ======================================== */

/* ----------------------------------------
   CSS VARIABLES (Design System)
   ---------------------------------------- */
:root {
  /* Colors */
  --g-navy: #0a1628;
  --g-navy-light: #0f2140;
  --g-navy-dark: #071020;
  --g-blue: #002f5b;
  --g-blue-light: #0066ff;
  --g-blue-bright: #3d8bff;
  --g-red: #c00000;
  --g-red-dark: #a00000;
  --g-yellow: #f9a800;
  --g-yellow-light: #fbbf24;
  --g-yellow-dark: #e09500;
  --g-green: #0aac0a;
  --g-green-dark: #089408;
  --g-white: #ffffff;
  --g-gray-50: #f8fafc;
  --g-gray-100: #f1f5f9;
  --g-gray-200: #e2e8f0;
  --g-gray-300: #cbd5e1;
  --g-gray-400: #94a3b8;
  --g-gray-500: #64748b;
  --g-gray-600: #475569;
  --g-gray-700: #334155;
  --g-gray-800: #1e293b;
  --g-gray-900: #0f172a;

  /* Typography */
  --g-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Spacing - Tighter values per client request */
  --g-space-xs: 0.25rem; /* 4px */
  --g-space-sm: 0.5rem; /* 8px */
  --g-space-md: 1rem; /* 16px */
  --g-space-lg: 1.25rem; /* 20px - reduced from 24px */
  --g-space-xl: 1.5rem; /* 24px - reduced from 32px */
  --g-space-2xl: 2rem; /* 32px - reduced from 48px */
  --g-space-3xl: 2.5rem; /* 40px - reduced from 64px */
  --g-space-4xl: 3rem; /* 48px - reduced from 64px */

  /* Effects */
  --g-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --g-shadow-md:
    0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --g-shadow-lg:
    0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --g-shadow-xl:
    0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --g-radius-sm: 6px;
  --g-radius-md: 10px;
  --g-radius-lg: 16px;
  --g-radius-xl: 24px;
  --g-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --g-transition-fast: 0.15s ease;

  /* Transforms - hover effects */
  --g-hover-lift-sm: translateY(-3px);
  --g-hover-lift-md: translateY(-5px);
  --g-hover-lift-lg: translateY(-8px);
  --g-hover-zoom-sm: scale(1.02);
  --g-hover-zoom-md: scale(1.05);
  --g-hover-zoom-lg: scale(1.1);

  /* Overlays */
  --g-navy-overlay-light: rgba(10, 22, 40, 0.4);
  --g-navy-overlay-medium: rgba(10, 22, 40, 0.6);
  --g-navy-overlay-dark: rgba(10, 22, 40, 0.8);

  /* Media Heights */
  --g-media-height-sm: 120px;
  --g-media-height-md: 180px;
  --g-media-height-lg: 280px;

  /* Layout */
  --g-container: 1280px;
  --g-header-height: 80px;
}

/* ----------------------------------------
   RESET & BASE
   ---------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--g-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--g-gray-600);
  background: var(--g-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

body.menu-open {
  overflow: hidden;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--g-transition-fast);
}

button {
  font: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--g-gray-900);
}

p {
  margin: 0;
}
figure {
  margin: 0;
}
address {
  font-style: normal;
}

.admin-bar .g-header {
  top: 32px;
}

.admin-bar .g-mobile-menu {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .g-header {
    top: 46px;
  }

  .admin-bar .g-mobile-menu {
    top: 46px;
  }
}

/* Focus Styles */
:focus-visible {
  outline: 2px solid var(--g-blue-light);
  outline-offset: 2px;
}

/* ----------------------------------------
   LAYOUT
   ---------------------------------------- */
.g-container {
  width: 100%;
  max-width: var(--g-container);
  margin: 0 auto;
  padding: 0 var(--g-space-lg);
}

/* ----------------------------------------
   SKIP LINK (Accessibility)
   ---------------------------------------- */
.g-skip-link {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--g-blue);
  color: var(--g-white);
  padding: var(--g-space-md) var(--g-space-xl);
  border-radius: 0 0 var(--g-radius-md) var(--g-radius-md);
  font-weight: 600;
  z-index: 10000;
  transition: top var(--g-transition);
}

.g-skip-link:focus {
  top: 0;
}

/* ========================================
   HEADER
   ======================================== */
.g-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--g-white);
  box-shadow: var(--g-shadow-sm);
  transition:
    box-shadow var(--g-transition),
    background var(--g-transition);
}

.g-header.is-scrolled {
  box-shadow: var(--g-shadow-md);
}

.g-header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--g-container);
  margin: 0 auto;
  padding: 0 var(--g-space-lg);
  height: var(--g-header-height);
}

/* Logo */
.g-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.g-header__logo img {
  height: 50px;
  width: auto;
  transition: height var(--g-transition);
}

.g-header.is-scrolled .g-header__logo img {
  height: 45px;
}

/* ----------------------------------------
   DESKTOP NAVIGATION
   ---------------------------------------- */
.g-header__nav {
  display: flex;
  align-items: center;
}

.g-nav {
  display: flex;
  align-items: center;
  gap: var(--g-space-xs);
}

.g-nav__item {
  position: relative;
}

.g-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 600;
  color: var(--g-blue);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
}

.g-nav__link:hover,
.g-nav__item.is-active > .g-nav__link {
  color: var(--g-green);
  background: var(--g-gray-100);
}

/* Contact Us Button (CTA) */
.g-nav__cta {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  color: var(--g-white);
  background: var(--g-green);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition);
}

.g-nav__cta:hover {
  background: var(--g-green-dark);
  color: var(--g-white);
}

/* ----------------------------------------
   DROPDOWN MENU
   ---------------------------------------- */
.g-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--g-white);
  border-radius: var(--g-radius-md);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  border-top: 2px solid var(--g-blue);
  padding: var(--g-space-sm) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--g-transition);
  z-index: 100;
}

.g-nav__item:hover > .g-dropdown,
.g-nav__item.is-active > .g-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(12px);
}

.g-dropdown__link {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--g-gray-600);
  transition: all var(--g-transition-fast);
}

.g-dropdown__link:hover {
  color: var(--g-blue);
  background: var(--g-gray-50);
}

/* 2nd-level items with 3rd-level submenu */
.g-dropdown li {
  position: relative;
}

.g-dropdown li.has-submenu > .g-dropdown__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 16px;
}

.g-dropdown li.has-submenu > .g-dropdown__link svg {
  flex-shrink: 0;
  opacity: 0.5;
  transition: all var(--g-transition-fast);
}

.g-dropdown li.has-submenu:hover > .g-dropdown__link svg {
  opacity: 1;
  transform: translateX(2px);
}

/* 3rd-level submenu */
.g-dropdown--sub {
  position: absolute;
  top: calc(-1 * var(--g-space-sm));
  left: 100%;
  margin-left: 1px;
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-10px);
}

.g-dropdown li.has-submenu:hover > .g-dropdown--sub {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* Prevent gap between menus causing flicker */
.g-dropdown li.has-submenu::after {
  content: "";
  position: absolute;
  top: 0;
  right: -10px;
  width: 10px;
  height: 100%;
}

/* 4th-level submenu */
.g-dropdown--sub-2 {
  position: absolute;
  top: calc(-1 * var(--g-space-sm));
  left: 100%;
  margin-left: 1px;
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-10px);
}

.g-dropdown--sub li.has-submenu:hover > .g-dropdown--sub-2 {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* ----------------------------------------
   MOBILE MENU TOGGLE
   ---------------------------------------- */
.g-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  gap: 5px;
  border-radius: var(--g-radius-sm);
  transition: background var(--g-transition-fast);
}

.g-header__toggle:hover {
  background: var(--g-gray-100);
}

.g-header__toggle-bar {
  width: 22px;
  height: 2px;
  background: var(--g-blue);
  border-radius: 2px;
  transition: all var(--g-transition);
}

.g-header__toggle.is-active .g-header__toggle-bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.g-header__toggle.is-active .g-header__toggle-bar:nth-child(2) {
  opacity: 0;
}

.g-header__toggle.is-active .g-header__toggle-bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ----------------------------------------
   MOBILE MENU
   ---------------------------------------- */
.g-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 2000;
  visibility: hidden;
  transition: visibility var(--g-transition);
}

.g-mobile-menu.is-open {
  visibility: visible;
}

.g-mobile-menu__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 22, 40, 0.6);
  opacity: 0;
  transition: opacity var(--g-transition);
}

.g-mobile-menu.is-open .g-mobile-menu__overlay {
  opacity: 1;
}

.g-mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 380px;
  height: 100%;
  background: var(--g-white);
  box-shadow: var(--g-shadow-xl);
  transform: translateX(100%);
  transition: transform var(--g-transition);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.g-mobile-menu.is-open .g-mobile-menu__panel {
  transform: translateX(0);
}

.g-mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-lg);
  border-bottom: 1px solid var(--g-gray-200);
}

.g-mobile-menu__logo img {
  height: 40px;
  width: auto;
}

.g-mobile-menu__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--g-gray-500);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
}

.g-mobile-menu__close:hover {
  color: var(--g-red);
  background: var(--g-gray-100);
}

/* Mobile Navigation */
.g-mobile-menu__nav {
  flex: 1;
  padding: var(--g-space-md);
}

.g-mobile-nav__item {
  border-bottom: 1px solid var(--g-gray-100);
}

.g-mobile-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--g-space-md) var(--g-space-sm);
  font-size: 16px;
  font-weight: 600;
  color: var(--g-blue);
  text-align: left;
  transition: all var(--g-transition-fast);
}

.g-mobile-nav__link:hover {
  color: var(--g-green);
}

/* Mobile Dropdown */
.g-mobile-dropdown {
  display: none;
  padding-bottom: var(--g-space-sm);
}

.g-mobile-nav__item.is-open .g-mobile-dropdown {
  display: block;
}

.g-mobile-dropdown__link {
  display: block;
  padding: var(--g-space-sm) var(--g-space-md);
  padding-left: var(--g-space-xl);
  font-size: 14px;
  font-weight: 500;
  color: var(--g-gray-600);
  transition: all var(--g-transition-fast);
}

.g-mobile-dropdown__link:hover {
  color: var(--g-blue);
  background: var(--g-gray-50);
}

/* Mobile 3rd-level dropdown */
.g-mobile-dropdown__link--parent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.g-mobile-dropdown__link--parent svg {
  transition: transform var(--g-transition-fast);
}

.g-mobile-dropdown
  li.has-submenu.is-open
  > .g-mobile-dropdown__link--parent
  svg {
  transform: rotate(180deg);
}

.g-mobile-dropdown--sub {
  display: none;
  padding-left: var(--g-space-md);
  background: var(--g-gray-50);
  border-radius: var(--g-radius-sm);
  margin: var(--g-space-xs) 0;
}

.g-mobile-dropdown li.has-submenu.is-open > .g-mobile-dropdown--sub {
  display: block;
}

.g-mobile-dropdown--sub .g-mobile-dropdown__link {
  padding-left: var(--g-space-lg);
  font-size: 13px;
}

/* Mobile 4th-level dropdown */
.g-mobile-dropdown--sub-2 {
  display: none;
  padding-left: var(--g-space-md);
  background: var(--g-gray-100);
  border-radius: var(--g-radius-sm);
  margin: var(--g-space-xs) 0;
}

.g-mobile-dropdown--sub li.has-submenu.is-open > .g-mobile-dropdown--sub-2 {
  display: block;
}

.g-mobile-dropdown--sub-2 .g-mobile-dropdown__link {
  padding-left: var(--g-space-xl);
  font-size: 12px;
}

/* Mobile CTA */
.g-mobile-nav__cta {
  display: block;
  margin: var(--g-space-md) var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-lg);
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  color: var(--g-white);
  background: var(--g-red);
  border-radius: var(--g-radius-md);
}

/* Mobile Footer */
.g-mobile-menu__footer {
  padding: var(--g-space-lg);
  border-top: 1px solid var(--g-gray-200);
  background: var(--g-gray-50);
}

.g-mobile-menu__contact {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-sm) 0;
  font-size: 14px;
  color: var(--g-gray-600);
}

.g-mobile-menu__contact i {
  width: 20px;
  color: var(--g-blue);
}

/* ========================================
   HEADER - ACTIONS
   ======================================== */
.g-header__actions {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
}

.g-header__search-btn {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-gray-100);
  border: none;
  border-radius: var(--g-radius-md);
  color: var(--g-navy);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-header__search-btn:hover {
  background: var(--g-navy);
  color: var(--g-white);
}

/* ========================================
   SEARCH MODAL
   ======================================== */
.g-search-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
}

.g-search-modal.is-open {
  display: block;
}

.g-search-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 22, 40, 0.8);
  backdrop-filter: blur(4px);
  cursor: pointer;
  animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.g-search-modal__container {
  position: relative;
  width: 100%;
  max-width: 720px;
  max-height: 80vh;
  margin: 10vh auto 0;
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Search Header */
.g-search-modal__header {
  padding: var(--g-space-lg);
  border-bottom: 1px solid var(--g-gray-200);
  background: var(--g-gray-50);
}

.g-search-modal__form {
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
}

.g-search-modal__input-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-white);
  border: 2px solid var(--g-gray-200);
  border-radius: var(--g-radius-lg);
  transition: border-color var(--g-transition);
}

.g-search-modal__input-wrap:focus-within {
  border-color: var(--g-blue-light);
  box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.1);
}

.g-search-modal__input-wrap svg {
  flex-shrink: 0;
  color: var(--g-gray-400);
}

.g-search-modal__input {
  flex: 1;
  border: none;
  background: none;
  font-size: 1.125rem;
  font-family: var(--g-font);
  color: var(--g-gray-800);
  outline: none;
}

.g-search-modal__input::placeholder {
  color: var(--g-gray-400);
}

.g-search-modal__spinner {
  color: var(--g-blue-light);
}

.g-search-modal__close {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-white);
  border: none;
  border-radius: var(--g-radius-md);
  color: var(--g-gray-500);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-search-modal__close:hover {
  background: var(--g-gray-100);
  color: var(--g-navy);
}

.g-search-modal__hint {
  font-size: 12px;
  color: var(--g-gray-400);
  margin-top: var(--g-space-sm);
  text-align: center;
}

.g-search-modal__hint kbd {
  display: inline-block;
  padding: 2px 6px;
  background: var(--g-white);
  border: 1px solid var(--g-gray-300);
  border-radius: 4px;
  font-family: inherit;
  font-size: 11px;
}

/* Search Body */
.g-search-modal__body {
  flex: 1;
  overflow-y: auto;
  padding: var(--g-space-lg);
}

/* Initial State */
.g-search-modal__initial h3 {
  font-size: 13px;
  font-weight: 600;

  letter-spacing: 1px;
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-md);
}

.g-search-modal__quick {
  margin-bottom: var(--g-space-xl);
}

.g-search-modal__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--g-space-sm);
}

.g-search-tag {
  display: inline-flex;
  padding: 8px 16px;
  background: var(--g-gray-100);
  border-radius: var(--g-radius-full);
  font-size: 14px;
  font-weight: 500;
  color: var(--g-navy);
  transition: all var(--g-transition);
}

.g-search-tag:hover {
  background: var(--g-navy);
  color: var(--g-white);
}

.g-search-modal__cat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--g-space-sm);
}

.g-search-cat {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-white);
  border: 2px solid var(--g-gray-200);
  border-radius: var(--g-radius-md);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  transition: all var(--g-transition);
}

.g-search-cat:hover {
  border-color: var(--g-navy);
  background: var(--g-gray-50);
}

.g-search-cat svg {
  color: var(--g-blue-light);
}

/* Results */
.g-search-modal__results {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-xl);
}

/* Results Tabs */
.g-search-tabs {
  display: flex;
  gap: var(--g-space-xs);
  padding-bottom: var(--g-space-md);
  border-bottom: 1px solid var(--g-gray-200);
  overflow-x: auto;
  scrollbar-width: none;
}

.g-search-tabs::-webkit-scrollbar {
  display: none;
}

.g-search-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  padding: var(--g-space-sm) var(--g-space-md);
  background: transparent;
  border: none;
  border-radius: var(--g-radius-md);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-gray-500);
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--g-transition);
}

.g-search-tab:hover {
  background: var(--g-gray-100);
  color: var(--g-navy);
}

.g-search-tab.is-active {
  background: var(--g-navy);
  color: var(--g-white);
}

.g-search-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--g-radius-full);
  font-size: 11px;
  font-weight: 700;
}

.g-search-tab:not(.is-active) .g-search-tab__count {
  background: var(--g-gray-200);
}

/* Results List */
.g-search-results-list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-sm);
}

.g-search-result {
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
  padding: var(--g-space-md);
  background: var(--g-white);
  border: 1px solid var(--g-gray-200);
  border-radius: var(--g-radius-md);
  transition: all var(--g-transition);
}

.g-search-result:hover {
  border-color: var(--g-blue-light);
  box-shadow: var(--g-shadow-md);
  transform: translateX(4px);
}

.g-search-result__image {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: var(--g-radius-sm);
  overflow: hidden;
  background: var(--g-gray-100);
}

.g-search-result__image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-search-result__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-gray-300);
}

.g-search-result__content {
  flex: 1;
  min-width: 0;
}

.g-search-result__header {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  margin-bottom: 2px;
}

.g-search-result__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--g-navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.g-search-result__badge {
  flex-shrink: 0;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;

  border-radius: var(--g-radius-sm);
}

.g-search-result__badge--top {
  background: var(--g-green);
  color: var(--g-white);
}

.g-search-result__badge--type {
  background: var(--g-gray-200);
  color: var(--g-gray-600);
}

.g-search-result__excerpt {
  font-size: 13px;
  color: var(--g-gray-500);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.g-search-result__arrow {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-gray-100);
  border-radius: 50%;
  color: var(--g-gray-400);
  transition: all var(--g-transition);
}

.g-search-result:hover .g-search-result__arrow {
  background: var(--g-blue-light);
  color: var(--g-white);
}

/* View All Link */
.g-search-view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--g-space-xs);
  padding: var(--g-space-md);
  background: var(--g-gray-50);
  border-radius: var(--g-radius-md);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-blue-light);
  margin-top: var(--g-space-md);
  transition: all var(--g-transition);
}

.g-search-view-all:hover {
  background: var(--g-navy);
  color: var(--g-white);
}

/* Empty State */
.g-search-modal__empty {
  display: none; /* Hidden by default */
  text-align: center;
  padding: var(--g-space-3xl) var(--g-space-lg);
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.g-search-modal__empty.is-visible {
  display: flex; /* Show as flex when visible */
}

.g-search-modal__empty-icon {
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-lg);
}

.g-search-modal__empty h3 {
  font-size: 1.25rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
}

.g-search-modal__empty p {
  color: var(--g-gray-500);
}

/* Mobile Search Button in Menu */
.g-mobile-menu__search {
  padding: var(--g-space-md);
  border-bottom: 1px solid var(--g-gray-200);
}

.g-mobile-search-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-gray-100);
  border: none;
  border-radius: var(--g-radius-md);
  font-size: 15px;
  color: var(--g-gray-500);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-mobile-search-btn:hover {
  background: var(--g-gray-200);
}

/* Responsive */
@media (max-width: 768px) {
  .g-search-modal__container {
    margin: 0;
    max-height: 100vh;
    border-radius: 0;
  }

  .g-search-modal__cat-grid {
    grid-template-columns: 1fr;
  }

  .g-search-result__image {
    width: 50px;
    height: 50px;
  }
}

/* ========================================
   FOOTER
   ======================================== */
.g-footer {
  background: var(--g-navy);
  color: var(--g-gray-300);
  position: relative;
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}

.g-footer__top-border {
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--g-red) 0%,
    var(--g-red) 25%,
    var(--g-yellow) 25%,
    var(--g-yellow) 50%,
    var(--g-green) 50%,
    var(--g-green) 75%,
    var(--g-blue-light) 75%,
    var(--g-blue-light) 100%
  );
  box-shadow: 0 -0.5px 0 0 var(--g-navy);
  border-top: 0.5px solid var(--g-navy);
}

.g-footer__main {
  padding: var(--g-space-2xl) 0 var(--g-space-2xl);
}

.g-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr;
  gap: var(--g-space-2xl);
}

/* Footer Logo & Info Column */
.g-footer__col--info {
  padding-right: var(--g-space-xl);
}

.g-footer__logo {
  display: inline-block;
  background: var(--g-white);
  padding: var(--g-space-md) var(--g-space-lg);
  border-radius: var(--g-radius-md);
  margin-bottom: var(--g-space-lg);
}

.g-footer__logo img {
  height: 70px;
  width: auto;
}

.g-footer__address {
  font-size: 14px;
  line-height: 1.8;
}

.g-footer__address p {
  margin-bottom: 2px;
}

.g-footer__address a {
  color: var(--g-white);
  transition: color var(--g-transition-fast);
}

.g-footer__address a:hover {
  color: var(--g-yellow);
}

/* Footer Titles */
.g-footer__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--g-yellow);

  letter-spacing: 0.5px;
  margin-bottom: var(--g-space-md);
  padding-bottom: var(--g-space-sm);
  border-bottom: 2px solid rgba(249, 168, 0, 0.3);
}

.g-footer__title--mt {
  margin-top: var(--g-space-xl);
}

/* Footer Links */
.g-footer__links {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-xs);
}

.g-footer__links a {
  font-size: 14px;
  color: var(--g-gray-300);
  padding: 4px 0;
  transition: all var(--g-transition-fast);
}

.g-footer__links a:hover {
  color: var(--g-white);
}

/* Footer Social */
.g-footer__col--social {
  text-align: left;
}

.g-footer__social {
  display: flex;
  gap: var(--g-space-sm);
  margin-bottom: var(--g-space-lg);
}

.g-footer__social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--g-radius-sm);
  color: var(--g-white);
  font-size: 16px;
  transition: all var(--g-transition);
}

.g-footer__social a:hover {
  background: var(--g-yellow);
  color: var(--g-navy);
  transform: translateY(-3px);
}

/* Footer Bottom */
.g-footer__bottom {
  padding: var(--g-space-lg) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.g-footer__bottom p {
  font-size: 14px;
  color: var(--g-gray-300);
}

.g-footer__cta {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: var(--g-white);
  transition: color var(--g-transition-fast);
}

.g-footer__cta:hover {
  color: var(--g-yellow);
}

/* ========================================
   FLOATING BUTTONS
   ======================================== */

/* Back to Top */
.g-back-top {
  position: fixed;
  bottom: 100px;
  right: 25px;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-blue);
  color: var(--g-white);
  border-radius: var(--g-radius-md);
  box-shadow: var(--g-shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all var(--g-transition);
  z-index: 900;
}

.g-back-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.g-back-top:hover {
  background: var(--g-navy);
  color: var(--g-white);
}

/* Quote - Yellow Button (Right Side) */
.g-float-quote {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 700;
  color: var(--g-navy);
  background: var(--g-yellow);
  border-radius: var(--g-radius-md) 0 0 var(--g-radius-md);
  box-shadow: var(--g-shadow-md);
  writing-mode: vertical-rl;
  z-index: 900;
  transition: all var(--g-transition);
}

.g-float-quote:hover {
  background: var(--g-yellow-dark);
  padding-right: 20px;
  color: var(--g-navy);
}

/* Quote Counter Badge */
.g-float-quote__count {
  position: absolute;
  top: -8px;
  left: -14px;
  width: 28px;
  height: 28px;
  padding: 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--g-white);
  background: var(--g-green);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(10, 172, 10, 0.4);
}

.g-float-quote__count[hidden] {
  display: none;
}

/* Quote Toast Notification */
.g-quote-notification {
  position: fixed;
  top: calc(var(--g-header-height) + 50px);
  right: var(--g-space-lg);
  z-index: 9999;
  animation: g-slideInRight 0.3s ease forwards;
}

@keyframes g-slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.g-quote-notification[hidden] {
  display: none;
}

.g-quote-notification__content {
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  padding: var(--g-space-md) var(--g-space-lg);
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  border-left: 4px solid var(--g-green);
}

.g-quote-notification.is-error .g-quote-notification__content {
  border-left-color: var(--g-red);
}

.g-quote-notification__icon {
  width: 40px;
  height: 40px;
  background: var(--g-green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-white);
  flex-shrink: 0;
}

.g-quote-notification__icon svg {
  width: 20px;
  height: 20px;
}

.g-quote-notification.is-error .g-quote-notification__icon {
  background: var(--g-red);
}

.g-quote-notification__message {
  font-size: 15px;
  font-weight: 600;
  color: var(--g-navy);
  margin: 0;
}

/* ========================================
   BUTTONS (Global)
   ======================================== */
.g-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--g-space-sm);
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  border-radius: var(--g-radius-md);
  transition: all var(--g-transition);
  white-space: nowrap;
}

.g-btn svg {
  transition: transform var(--g-transition);
}

.g-btn:hover svg {
  transform: translateX(4px);
}

.g-btn--primary {
  color: var(--g-white);
  background: var(--g-red);
}

.g-btn--primary:hover {
  background: var(--g-red-dark);
}

.g-btn--green {
  color: var(--g-white);
  background: var(--g-green);
}

.g-btn--green:hover {
  background: var(--g-green-dark);
}

.g-btn--red {
  color: var(--g-white);
  background: var(--g-red);
}

.g-btn--red:hover {
  background: var(--g-red-dark);
}

.g-btn--ghost {
  color: var(--g-white);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.g-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
}

.g-btn--outline {
  color: var(--g-navy);
  background: transparent;
  border: 2px solid var(--g-navy);
}

.g-btn--outline:hover {
  color: var(--g-white);
  background: var(--g-navy);
}

.g-btn--yellow {
  color: var(--g-navy);
  background: var(--g-yellow);
}

.g-btn--yellow:hover {
  background: var(--g-yellow-dark);
}

/* ========================================
   FADE-UP ANIMATION
   ======================================== */
.g-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.g-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
   SECTION HEADERS
   ======================================== */
.g-section-header {
  margin-bottom: var(--g-space-2xl);
}

.g-section-header--center {
  text-align: center;
}

.g-section-header--center .g-section-desc {
  margin-left: auto;
  margin-right: auto;
}

.g-section-header--row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--g-space-lg);
}

.g-section-header--row .g-section-header {
  margin-bottom: 0;
}

.g-section-header--row .g-section-title {
  margin-bottom: 0;
}

.g-section-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--g-gray-900);
  margin-bottom: var(--g-space-md);
}

.g-section-title--light {
  color: var(--g-white);
}

.g-text-gradient {
  background: linear-gradient(135deg, var(--g-yellow), var(--g-red));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.g-section-desc {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 768px;
  color: var(--g-gray-900);
}

.g-section-desc--light {
  color: var(--g-gray-300);
}

/* ========================================
   HERO SECTION
   ======================================== */
.g-hero-wrap {
  margin-top: var(--g-header-height);
  display: flex;
  flex-direction: column;
}

.g-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--g-navy);
  overflow: hidden;
}

.g-hero__slider {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.g-hero__slide {
  grid-area: 1 / 1;
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.6s ease,
    visibility 0.6s ease;
}

.g-hero__slide.is-active {
  opacity: 1;
  visibility: visible;
}

.g-hero__slide > .g-container {
  position: relative;
}

.g-hero__bg {
  position: absolute;
  inset: 0;
}

.g-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.95),
    rgba(10, 22, 40, 0.7)
  );
}

.g-hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-3xl);
  align-items: center;
  padding: var(--g-space-3xl) 0;
}

.g-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  color: var(--g-white);
  margin-bottom: var(--g-space-lg);
}

.g-hero__desc {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-xl);
}

.g-hero__desc p {
  margin: 0;
}

.g-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--g-space-md);
}

.g-hero__dots-bar {
  position: sticky;
  bottom: 0;
  z-index: 5;
  display: flex;
  justify-content: center;
  padding: var(--g-space-md) 0;
  background: var(--g-navy);
}

.g-hero__dots {
  display: flex;
  gap: 2px;
}

.g-hero__dot {
  width: 24px;
  height: 24px;
  background: transparent;
  border-radius: 0;
  position: relative;
  transition: all var(--g-transition);
}

.g-hero__dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all var(--g-transition);
}

.g-hero__dot:hover::after {
  background: rgba(255, 255, 255, 0.5);
}

.g-hero__dot.is-active::after {
  background: var(--g-yellow);
  transform: translate(-50%, -50%) scale(1.2);
}

.g-hero__visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.g-hero__visual picture {
  display: contents;
}

.g-hero__visual img {
  width: 420px;
  height: auto;
  object-fit: contain;
  animation: heroFloat 6s ease-in-out infinite;
}

@keyframes heroFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}

/* ========================================
   EVENT BANNER SECTION
   ======================================== */
.g-event {
  background: linear-gradient(135deg, #1a1a2e, #16213e);
  padding: var(--g-space-lg) 0;
  position: relative;
}

.g-event::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--g-red),
    var(--g-yellow),
    var(--g-green)
  );
}

.g-event__inner {
  display: flex;
  align-items: center;
  gap: var(--g-space-xl);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--g-radius-lg);
  padding: var(--g-space-lg) var(--g-space-xl);
}

.g-event__badge {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  background: var(--g-red);
  color: var(--g-white);
  padding: var(--g-space-sm) var(--g-space-md);
  border-radius: var(--g-radius-md);
  font-size: 13px;
  font-weight: 600;

  white-space: nowrap;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(220, 38, 38, 0);
  }
}

.g-event__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: var(--g-space-xl);
}

.g-event__title {
  font-size: 1.25rem;
  color: var(--g-white);
  margin-bottom: var(--g-space-sm);
}

.g-event__meta {
  display: flex;
  gap: var(--g-space-lg);
}

.g-event__meta span {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  color: var(--g-gray-400);
  font-size: 14px;
}

.g-event__meta svg {
  color: var(--g-yellow);
}

/* Event Slider */
.g-event__slider {
  position: relative;
  overflow: hidden;
}

.g-event__slide {
  display: none;
  animation: eventFadeIn 0.5s ease;
}

.g-event__slide.is-active {
  display: block;
}

@keyframes eventFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.g-event__nav {
  display: flex;
  justify-content: center;
  gap: var(--g-space-sm);
  margin-top: var(--g-space-md);
}

.g-event__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  padding: 0;
  transition: all var(--g-transition);
}

.g-event__dot.is-active {
  background: var(--g-yellow);
  transform: scale(1.3);
}

/* ========================================
   CARDS
   ======================================== */
/* Base Card */
.g-card {
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  background: var(--g-white);
  box-shadow: var(--g-shadow-md);
  transition: all var(--g-transition);
}

.g-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--g-shadow-xl);
}

.g-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
}

.g-card__media {
  position: relative;
  overflow: hidden;
}

.g-card__media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.5s ease;
}

.g-card:hover .g-card__media img {
  transform: scale(1.05);
}

.g-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.8), transparent 60%);
}

.g-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 13px;
  font-weight: 600;
  color: var(--g-blue-light);
  transition: gap var(--g-transition);
}

.g-card:hover .g-card__cta {
  gap: var(--g-space-sm);
}

.g-card__cta--btn {
  background: var(--g-red);
  color: var(--g-white);
  padding: var(--g-space-sm) var(--g-space-lg);
  border-radius: var(--g-radius-md);
}

/* Featured Card */
.g-card--featured {
  position: relative;
  height: 100%;
  min-height: 380px;
}

.g-card--featured .g-card__link {
  position: relative;
  height: 100%;
}

.g-card--featured .g-card__media {
  position: absolute;
  inset: 0;
}

.g-card--featured .g-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--g-space-xl);
  z-index: 2;
}

.g-card--featured .g-card__title {
  font-size: 1.5rem;
  color: var(--g-white);
  margin-bottom: var(--g-space-md);
}

.g-card--featured .g-card__title h5 {
  margin: 0;
  font-size: inherit;
  color: inherit;
}

.g-card--featured .g-card__desc {
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-lg);
  line-height: 1.6;
}

.g-card--featured .g-card__desc p {
  margin: 0;
}

/* Small Card */
.g-card--small .g-card__media {
  height: 120px;
}

.g-card--small .g-card__body {
  padding: var(--g-space-md);
}

.g-card--small .g-card__title {
  font-size: 15px;
  color: var(--g-gray-900);
  margin-bottom: var(--g-space-sm);
  line-height: 1.3;
}

.g-card--small .g-card__title h5 {
  margin: 0;
  font-size: inherit;
}

/* Equal Card */
.g-card--equal {
  display: flex;
  flex-direction: column;
}

.g-card--equal .g-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.g-card--equal .g-card__media {
  aspect-ratio: 1;
  flex-shrink: 0;
}

.g-card--equal .g-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.g-card--equal .g-card__body {
  padding: var(--g-space-md);
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.g-card--equal .g-card__title {
  font-size: 15px;
  color: var(--g-gray-900);
  margin-bottom: var(--g-space-sm);
  line-height: 1.3;
}

.g-card--equal .g-card__title h5 {
  margin: 0;
  font-size: inherit;
}

.g-card--equal .g-card__cta {
  margin-top: auto;
}

/* ========================================
   SOLUTIONS SECTION
   ======================================== */
.g-solutions {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}

.g-solutions__grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--g-space-xl);
}

/* Equal-size grid for 8 cards */
.g-solutions__grid--equal {
  grid-template-columns: repeat(4, 1fr);
  gap: var(--g-space-lg);
}

.g-solutions__grid--equal .g-card--equal {
  height: 100%;
  min-height: 280px;
}

.g-solutions__grid--equal .g-card--equal .g-card__link {
  height: 100%;
}

/* ========================================
   CLIENTS SECTION
   ======================================== */
.g-clients {
  padding: var(--g-space-xl) 0;
  border-top: 1px solid var(--g-gray-200);
  border-bottom: 1px solid var(--g-gray-200);
  overflow: hidden;
}

.g-clients__header {
  text-align: center;
  margin-bottom: var(--g-space-lg);
}

.g-clients__header span {
  font-size: 12px;
  font-weight: 600;

  letter-spacing: 2px;
  color: var(--g-gray-500);
}

.g-clients__marquee {
  position: relative;
}

.g-clients__marquee::before,
.g-clients__marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 150px;
  z-index: 2;
  pointer-events: none;
}

.g-clients__marquee::before {
  left: 0;
  background: linear-gradient(90deg, var(--g-white), transparent);
}

.g-clients__marquee::after {
  right: 0;
  background: linear-gradient(-90deg, var(--g-white), transparent);
}

.g-clients__track {
  display: flex;
  gap: var(--g-space-3xl);
  animation: marquee 30s linear infinite;
  width: max-content;
}

.g-clients__marquee:hover .g-clients__track {
  animation-play-state: paused;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-33.333%);
  }
}

.g-clients__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  height: 60px;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: all var(--g-transition);
}

.g-clients__logo:hover {
  opacity: 1;
  filter: grayscale(0);
}

.g-clients__logo img {
  max-height: 65px;
  max-width: 120px;
}

/* ========================================
   DISTRIBUTORS SECTION
   ======================================== */
.g-distributors {
  position: relative;
  padding: var(--g-space-2xl) 0;
  background: var(--g-navy);
  overflow: hidden;
}

.g-distributors__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse at 80% 50%,
      rgba(0, 102, 255, 0.15),
      transparent 50%
    ),
    radial-gradient(ellipse at 20% 80%, rgba(0, 102, 255, 0.1), transparent 40%);
}

.g-distributors__header {
  text-align: center;
  margin-bottom: var(--g-space-xl);
  position: relative;
  z-index: 1;
}

.g-distributors__carousel {
  position: relative;
  z-index: 1;
}

.g-distributors__track {
  display: flex;
  gap: var(--g-space-lg);
  overflow: hidden;
  scroll-behavior: smooth;
  padding: var(--g-space-sm) 0;
}

.g-distributors__track::-webkit-scrollbar {
  display: none;
}

.g-distributor-card {
  flex: 0 0 calc(25% - var(--g-space-lg) * 3 / 4);
  scroll-snap-align: start;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  text-align: center;
  transition: all var(--g-transition);
}

.g-distributor-card:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-4px);
}

.g-distributor-card__image {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.03);
  padding: var(--g-space-md);
}

.g-distributor-card__image img {
  max-height: 100px;
  max-width: 180px;
  object-fit: fill;
  border-radius: var(--g-radius-md);
}

.g-distributor-card__content {
  padding: var(--g-space-md);
}

.g-distributor-card__name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--g-white);
  margin-bottom: var(--g-space-xs);
}

.g-distributor-card__countries {
  font-size: 13px;
  color: var(--g-gray-400);
  line-height: 1.5;
}

.g-distributors__nav {
  display: flex;
  justify-content: center;
  gap: var(--g-space-sm);
  margin-top: var(--g-space-xl);
}

.g-distributors__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--g-white);
  cursor: pointer;
  transition: all var(--g-transition-fast);
}

.g-distributors__btn:hover {
  background: var(--g-blue);
  border-color: var(--g-blue);
}

.g-distributors__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .g-distributors__track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .g-distributors__track::-webkit-scrollbar {
    display: none;
  }

  .g-distributor-card {
    flex: 0 0 240px;
  }

  /* Hide slider nav arrows on mobile - touch scrolling is available */
  .g-distributors__nav {
    display: none;
  }
}

/* ========================================
   APPLICATIONS SECTION
   ======================================== */
.g-apps {
  background: var(--g-yellow);
  overflow: hidden;
}

.g-apps__header {
  padding: var(--g-space-2xl) 0 var(--g-space-xl);
}

.g-apps__header-inner {
  display: flex;
  align-items: flex-start;
  gap: var(--g-space-xl);
}

.g-apps__header .g-section-header {
  margin-bottom: 0;
}

.g-apps__slider {
  padding-bottom: var(--g-space-3xl);
  overflow: hidden;
}

.g-apps__track {
  display: flex;
  gap: var(--g-space-lg);
  overflow: hidden;
  scroll-behavior: smooth;
  padding: var(--g-space-md) 0;
}

.g-apps__track::-webkit-scrollbar {
  display: none;
}

/* Application Card */
.g-app-card {
  flex: 0 0 calc(25% - var(--g-space-lg) * 3 / 4);
  scroll-snap-align: start;
}

.g-app-card__link {
  display: block;
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  background: var(--g-navy);
  box-shadow: var(--g-shadow-lg);
  border: 2px solid white;
  transition: transform var(--g-transition);
}

.g-app-card__link:hover {
  transform: translateY(-8px) scale(1.02);
}

.g-app-card__media {
  position: absolute;
  inset: 0;
}

.g-app-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.g-app-card__link:hover .g-app-card__media img {
  transform: scale(1.1);
}

.g-app-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.9), transparent 60%);
}

.g-app-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--g-space-xl);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.g-app-card__content h3 {
  font-size: 1.25rem;
  color: var(--g-white);
}

.g-app-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 13px;
  font-weight: 600;
  color: var(--g-yellow);
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--g-transition);
}

.g-app-card__link:hover .g-app-card__cta {
  opacity: 1;
  transform: translateY(0);
}

.g-app-card__cta svg {
  transition: transform var(--g-transition-fast);
}

.g-app-card__link:hover .g-app-card__cta svg {
  transform: translateX(4px);
}

.g-apps__nav {
  display: flex;
  justify-content: center;
  gap: var(--g-space-md);
  margin-top: var(--g-space-xl);
}

.g-apps__btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-white);
  border-radius: 50%;
  color: var(--g-navy);
  box-shadow: var(--g-shadow-md);
  transition: all var(--g-transition);
}

.g-apps__btn:hover {
  background: var(--g-navy);
  color: var(--g-white);
  transform: scale(1.1);
}

/* Applications Header Row */
.g-apps__header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--g-space-lg);
}

/* Dark outline button */
.g-btn--dark {
  color: var(--g-navy);
  border-color: var(--g-navy);
}

.g-btn--dark:hover {
  background: var(--g-navy);
  color: var(--g-white);
}

@media (max-width: 768px) {
  .g-apps__header-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .g-apps__header-row .g-btn {
    width: 100%;
    justify-content: center;
  }
}
/* ========================================
   NEWS SECTION
   ======================================== */
.g-news {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

.g-news__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-xl);
}

.g-news__small {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-lg);
}

/* ----------------------------------------
   Shared Post Card Base Styles
   (Used by g-news-card and g-archive-card)
   ---------------------------------------- */
.g-news-card,
.g-archive-card {
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  background: var(--g-white);
  transition: all var(--g-transition);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.g-news-card:hover,
.g-archive-card:hover {
  transform: var(--g-hover-lift-md);
}

.g-news-card__link,
.g-archive-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
}

.g-news-card__media,
.g-archive-card__media {
  position: relative;
  overflow: hidden;
}

.g-news-card__media img,
.g-archive-card__img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.5s ease;
}

.g-news-card:hover .g-news-card__media img,
.g-archive-card:hover .g-archive-card__img {
  transform: var(--g-hover-zoom-md);
}

.g-news-card__body,
.g-archive-card__body {
  padding: var(--g-space-lg);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.g-news-card__meta,
.g-archive-card__meta {
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
  margin-bottom: var(--g-space-sm);
}

.g-news-card__title,
.g-archive-card__title {
  color: var(--g-navy);
  margin-bottom: var(--g-space-md);
  transition: color var(--g-transition);
}

.g-news-card:hover .g-news-card__title,
.g-archive-card:hover .g-archive-card__title {
  color: var(--g-blue-light);
}

.g-news-card__excerpt,
.g-archive-card__excerpt {
  color: var(--g-gray-500);
  line-height: 1.6;
  flex: 1;
}

.g-news-card__read,
.g-archive-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-red);
  margin-top: auto;
}

.g-news-card__read svg,
.g-archive-card__cta svg {
  transition: transform var(--g-transition);
}

.g-news-card:hover .g-news-card__read svg,
.g-archive-card:hover .g-archive-card__cta svg {
  transform: translateX(4px);
}

.g-news-card__placeholder,
.g-archive-card__placeholder {
  width: 100%;
  height: 100%;
  background: var(--g-gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-gray-300);
}

/* ----------------------------------------
   News Card Specific Styles
   ---------------------------------------- */
.g-news-card {
  border: 1px solid var(--g-gray-200);
}

.g-news-card:hover {
  border-color: var(--g-blue-light);
  box-shadow: var(--g-shadow-xl);
}

.g-news-card--featured .g-news-card__media {
  height: var(--g-media-height-lg);
}

.g-news-card:not(.g-news-card--featured) .g-news-card__media {
  height: 140px;
}

.g-news-card:not(.g-news-card--featured) .g-news-card__body {
  padding: var(--g-space-md);
}

.g-news-card__date {
  font-size: 13px;
  font-weight: 700;
  color: var(--g-yellow);
  margin-bottom: var(--g-space-sm);
}

.g-news-card__title {
  font-size: 1.25rem;
}

.g-news-card:not(.g-news-card--featured) .g-news-card__title {
  font-size: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.g-news-card__excerpt {
  margin-bottom: var(--g-space-lg);
}

.g-news-card__reading {
  font-size: 12px;
  color: var(--g-gray-400);
}

/* ========================================
   PRODUCT SHOWCASE SECTION
   ======================================== */
.g-showcase {
  padding: var(--g-space-3xl) 0;
}

.g-showcase .g-section-header {
  margin-bottom: var(--g-space-xl);
}

/* Desktop Tabs */
.g-showcase__nav-wrap {
  background: var(--g-navy);
  border-radius: var(--g-radius-lg);
  margin-bottom: var(--g-space-2xl);
}

.g-showcase__tabs {
  display: flex;
  justify-content: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-lg);
}

.g-showcase__tab {
  padding: var(--g-space-sm) var(--g-space-2xl);
  background: transparent;
  border: none;
  border-radius: var(--g-radius-md);
  color: var(--g-gray-400);
  font-size: 1.125rem;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-showcase__tab:hover {
  color: var(--g-white);
  background: rgba(255, 255, 255, 0.1);
}

.g-showcase__tab.is-active {
  background: var(--g-yellow);
  color: var(--g-navy);
}

/* Panels */
.g-showcase__panel {
  display: none;
}

.g-showcase__panel.is-active {
  display: block;
}

/* Card border */
.g-showcase .g-card {
  border: 1px solid var(--g-gray-200);
}

/* Accordion - hidden on desktop */
.g-showcase__accordion {
  display: none;
}

.g-showcase__acc-item {
  border: 1px solid var(--g-gray-200);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  margin-bottom: var(--g-space-md);
}

.g-showcase__acc-item:last-child {
  margin-bottom: 0;
}

.g-showcase__acc-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--g-space-lg);
  background: var(--g-navy);
  border: none;
  color: var(--g-white);
  font-size: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--g-transition);
}

.g-showcase__acc-trigger svg {
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.g-showcase__acc-item.is-open .g-showcase__acc-trigger svg {
  transform: rotate(180deg);
}

.g-showcase__acc-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.g-showcase__acc-item.is-open .g-showcase__acc-content {
  max-height: 2000px;
}

.g-showcase__acc-content .g-solutions__grid {
  padding: var(--g-space-lg);
}

@media (max-width: 768px) {
  .g-showcase__nav-wrap,
  .g-showcase__panels {
    display: none;
  }

  .g-showcase__accordion {
    display: block;
  }
}

/* ========================================
   PRODUCTS SECTION
   ======================================== */
.g-products {
  position: relative;
  padding: var(--g-space-2xl) 0;
  background: var(--g-navy);
  overflow: hidden;
}

.g-products__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse at 20% 50%,
      rgba(0, 102, 255, 0.15),
      transparent 50%
    ),
    radial-gradient(ellipse at 80% 50%, rgba(249, 168, 0, 0.1), transparent 50%);
  pointer-events: none;
}

.g-products__header {
  text-align: center;
  margin-bottom: var(--g-space-2xl);
  position: relative;
  z-index: 1;
}

.g-products__header .g-section-header {
  margin-bottom: 0;
}

.g-products__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--g-space-lg);
  position: relative;
  z-index: 1;
}

.g-products__grid > * {
  flex: 0 0 calc(25% - var(--g-space-lg) * 3 / 4);
}

/* Product Card - Homepage "Our Partners" Section ONLY */
.g-products .g-product-card {
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  transition: all var(--g-transition);
}

.g-products .g-product-card:hover {
  transform: translateY(-8px);
  border-color: rgba(255, 255, 255, 0.2);
}

.g-products .g-product-card__link {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: var(--g-space-md);
  height: 240px;
}

.g-products .g-product-card__media {
  flex: 1;
  min-height: 0;
  border-radius: var(--g-radius-md);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--g-space-sm);
}

.g-products .g-product-card__media img {
  border-radius: var(--g-radius-md);
}

.g-products .g-product-card__media img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transition:
    transform 0.4s ease,
    opacity 0.3s ease;
}

.g-products .g-product-card:hover .g-product-card__media img {
  transform: scale(1.05);
  opacity: 0.3;
}

.g-products .g-product-card__body {
  text-align: center;
}

.g-products .g-product-card__body h3 {
  font-size: 0.875rem;
  color: var(--g-white);
  margin: 0;
  line-height: 1.3;
  transition: opacity 0.3s ease;
}

.g-products .g-product-card:hover .g-product-card__body h3 {
  opacity: 0.3;
}

/* Explore CTA - absolute overlay, no layout shift (Homepage only) */
.g-products .g-product-card__cta {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  padding: var(--g-space-sm) var(--g-space-md);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  background: var(--g-yellow);
  border-radius: var(--g-radius-full);
  opacity: 0;
  transition: all 0.25s ease;
  white-space: nowrap;
  z-index: 2;
}

.g-products .g-product-card:hover .g-product-card__cta {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.g-products .g-product-card__cta svg {
  transition: transform 0.2s ease;
}

.g-products .g-product-card:hover .g-product-card__cta:hover svg {
  transform: translateX(3px);
}

/* ========================================
   PAGE TEMPLATE
   ======================================== */

/* Page Header */
.g-page-header {
  position: relative;
  min-height: 250px;
  display: flex;
  align-items: flex-end;
  background: var(--g-navy);
  margin-top: var(--g-header-height);
  padding: var(--g-space-2xl) 0;
  overflow: hidden;
}

.g-page-header__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.92),
    rgba(0, 47, 91, 0.85)
  );
  z-index: 1;
}

.g-page-header__content {
  position: relative;
  z-index: 2;
  width: 100%;
}

.g-page-header__title {
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--g-white);
  margin: 0;
  line-height: 1.2;
}

/* Breadcrumbs Bar (below hero) */
.g-breadcrumbs-bar {
  padding: var(--g-space-sm) 0;
}

.g-breadcrumbs-bar + section,
.g-breadcrumbs-bar + article,
.g-breadcrumbs-bar + div {
  padding-top: 0;
}

/* Yoast Breadcrumbs */
.g-breadcrumbs {
  font-size: 12px;
}

.g-breadcrumbs a {
  color: var(--g-gray-300);
  transition: color var(--g-transition-fast);
}

.g-breadcrumbs a:hover {
  color: var(--g-yellow);
}

.g-breadcrumbs--light a {
  color: rgba(255, 255, 255, 0.8);
}

.g-breadcrumbs--light a:hover {
  color: var(--g-white);
}

.g-breadcrumbs span[aria-current="page"] {
  color: var(--g-white);
  font-weight: 500;
}

/* Dark breadcrumbs (for light backgrounds) */
.g-breadcrumbs--dark a,
.g-breadcrumbs--dark span {
  color: var(--g-gray-500);
}

.g-breadcrumbs--dark a:hover {
  color: var(--g-blue);
}

.g-breadcrumbs--dark span[aria-current="page"] {
  color: var(--g-navy);
  font-weight: 500;
}

/* Page Content */
.g-page-content {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
}

.g-page-content__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.g-page-content__main {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--g-gray-600);
}

/* Content Typography */
.g-page-content__main h2 {
  font-size: 1.75rem;
  color: var(--g-navy);
  margin: var(--g-space-2xl) 0 var(--g-space-md);
}

.g-page-content__main h2:first-child {
  margin-top: 0;
}

.g-page-content__main h3 {
  font-size: 1.375rem;
  color: var(--g-navy);
  margin: var(--g-space-xl) 0 var(--g-space-sm);
}

.g-page-content__main h4 {
  font-size: 1.125rem;
  color: var(--g-navy);
  margin: var(--g-space-lg) 0 var(--g-space-sm);
}

.g-page-content__main p {
  margin-bottom: var(--g-space-md);
}

.g-page-content__main p:last-child {
  margin-bottom: 0;
}

.g-page-content__main a {
  color: var(--g-blue-light);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--g-transition-fast);
}

.g-page-content__main a:hover {
  color: var(--g-blue);
}

.g-page-content__main ul,
.g-page-content__main ol {
  margin: var(--g-space-md) 0;
  padding-left: var(--g-space-xl);
}

.g-page-content__main ul {
  list-style: disc;
}

.g-page-content__main ol {
  list-style: decimal;
}

.g-page-content__main li {
  margin-bottom: var(--g-space-xs);
}

.g-page-content__main li::marker {
  color: var(--g-yellow);
}

.g-page-content__main img {
  border-radius: var(--g-radius-md);
  margin: var(--g-space-lg) 0;
  max-width: 100%;
  height: auto;
}

.g-page-content__main blockquote {
  margin: var(--g-space-xl) 0;
  padding: var(--g-space-lg) var(--g-space-xl);
  background: var(--g-gray-50);
  border-left: 4px solid var(--g-yellow);
  border-radius: 0 var(--g-radius-md) var(--g-radius-md) 0;
  font-style: italic;
  color: var(--g-gray-700);
}

.g-page-content__main blockquote p:last-child {
  margin-bottom: 0;
}

.g-page-content__main table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--g-space-lg) 0;
  font-size: 15px;
}

.g-page-content__main th,
.g-page-content__main td {
  padding: var(--g-space-sm) var(--g-space-md);
  text-align: left;
  border-bottom: 1px solid var(--g-gray-200);
}

.g-page-content__main th {
  background: var(--g-gray-50);
  font-weight: 600;
  color: var(--g-navy);
}

.g-page-content__main tr:hover td {
  background: var(--g-gray-50);
}

/* ========================================
   404 ERROR PAGE
   ======================================== */
.g-error-page {
  position: relative;
  min-height: calc(100vh - var(--g-header-height));
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-navy);
  margin-top: var(--g-header-height);
  padding: var(--g-space-3xl) var(--g-space-lg);
  overflow: hidden;
}

.g-error-page__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.g-error-page__shape {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.3;
}

.g-error-page__shape--1 {
  width: 400px;
  height: 400px;
  background: var(--g-blue-light);
  top: -100px;
  right: -100px;
}

.g-error-page__shape--2 {
  width: 300px;
  height: 300px;
  background: var(--g-yellow);
  bottom: -50px;
  left: -50px;
}

.g-error-page__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  text-align: center;
}

.g-error-page__code {
  display: block;
  font-size: clamp(8rem, 20vw, 12rem);
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(135deg, var(--g-yellow), var(--g-red));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: var(--g-space-md);
}

.g-error-page__title {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  color: var(--g-white);
  margin-bottom: var(--g-space-md);
}

.g-error-page__desc {
  font-size: 1.125rem;
  color: var(--g-gray-400);
  margin-bottom: var(--g-space-xl);
}

.g-error-page__actions {
  display: flex;
  justify-content: center;
  gap: var(--g-space-md);
  margin-bottom: var(--g-space-2xl);
  flex-wrap: wrap;
}

.g-error-page__actions .g-btn--outline {
  color: var(--g-white);
  border-color: rgba(255, 255, 255, 0.3);
}

.g-error-page__actions .g-btn--outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
}

.g-error-page__search {
  margin-bottom: var(--g-space-xl);
}

.g-error-page__search > p {
  font-size: 14px;
  color: var(--g-gray-400);
  margin-bottom: var(--g-space-md);
}

/* ========================================
   SEARCH FORM COMPONENT
   ======================================== */
.g-search-form {
  display: flex;
  position: relative;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
}

.g-search-form--large {
  max-width: 600px;
}

.g-search-form__input {
  flex: 1;
  width: 100%;
  padding: 14px 20px;
  padding-right: 56px;
  font-size: 16px;
  font-family: var(--g-font);
  color: var(--g-gray-800);
  background: var(--g-white);
  border: 2px solid var(--g-gray-200);
  border-radius: var(--g-radius-md);
  transition: all var(--g-transition-fast);
}

.g-search-form__input:focus {
  outline: none;
  border-color: var(--g-blue-light);
  box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.1);
}

.g-search-form__input::placeholder {
  color: var(--g-gray-400);
}

.g-search-form__btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-blue);
  color: var(--g-white);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
}

.g-search-form__btn:hover {
  background: var(--g-navy);
}

/* Screen Reader Text (Accessibility) */
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
/* ========================================
   POPULAR LINKS COMPONENT
   ======================================== */
.g-popular-links__title {
  font-size: 14px;
  color: var(--g-gray-400);
  margin-bottom: var(--g-space-md);
}

/* Inline Style (for 404) */
.g-popular-links--inline .g-popular-links__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--g-space-sm) var(--g-space-lg);
}

.g-popular-links--inline .g-popular-links__list a {
  color: var(--g-gray-300);
  font-size: 14px;
  transition: color var(--g-transition-fast);
}

.g-popular-links--inline .g-popular-links__list a:hover {
  color: var(--g-yellow);
}

/* Buttons Style (for Search) */
.g-popular-links--buttons {
  text-align: center;
}

.g-popular-links--buttons .g-popular-links__buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--g-space-sm);
}

/* Search Card */
.g-search-card {
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  box-shadow: var(--g-shadow-sm);
  transition: all var(--g-transition);
}

.g-search-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--g-shadow-lg);
}

.g-search-card__link {
  display: flex;
  height: 100%;
}

.g-search-card__media {
  flex-shrink: 0;
  width: 180px;
  overflow: hidden;
}

.g-search-card__image {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.5s ease;
}

.g-search-card:hover .g-search-card__image {
  transform: scale(1.05);
}

.g-search-card__body {
  flex: 1;
  padding: var(--g-space-lg);
  display: flex;
  flex-direction: column;
}

.g-search-card__type {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;

  letter-spacing: 1px;
  color: var(--g-blue-light);
  margin-bottom: var(--g-space-xs);
}

.g-search-card__title {
  font-size: 1.125rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
  line-height: 1.3;
  transition: color var(--g-transition-fast);
}

.g-search-card:hover .g-search-card__title {
  color: var(--g-blue-light);
}

.g-search-card__excerpt {
  font-size: 14px;
  color: var(--g-gray-500);
  line-height: 1.6;
  margin-bottom: var(--g-space-md);
  flex: 1;
}

.g-search-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-red);
  margin-top: auto;
}

.g-search-card__cta svg {
  transition: transform var(--g-transition);
}

.g-search-card:hover .g-search-card__cta svg {
  transform: translateX(4px);
}

/* Pagination */
.g-pagination {
  display: flex;
  justify-content: center;
}

.g-pagination ul {
  display: flex;
  align-items: center;
  gap: var(--g-space-xs);
}

.g-pagination li {
  list-style: none;
}

.g-pagination a,
.g-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 var(--g-space-sm);
  font-size: 15px;
  font-weight: 500;
  color: var(--g-gray-600);
  background: var(--g-white);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
}

.g-pagination a:hover {
  color: var(--g-white);
  background: var(--g-blue);
}

.g-pagination .current {
  color: var(--g-white);
  background: var(--g-navy);
}

/* Page Header Search Variant */
.g-page-header--search {
  min-height: auto;
  padding: var(--g-space-lg) 0;
}

.g-page-header--search .g-page-header__title {
  font-size: clamp(1.5rem, 4vw, 2.25rem);
}

.g-page-header__meta {
  font-size: 1rem;
  color: var(--g-gray-400);
  margin-top: var(--g-space-sm);
}

.g-page-header__meta strong {
  color: var(--g-yellow);
}

.g-text-highlight {
  color: var(--g-yellow);
}

/* ========================================
   SINGLE POST (Featured Article Style)
   ======================================== */

/* Banner */
.g-post-banner {
  position: relative;
  min-height: 250px;
  display: flex;
  align-items: center;
  background: var(--g-navy);
  background-size: fill;
  background-position: center;
  margin-top: var(--g-header-height);
  padding: var(--g-space-xl) 0;
}

.g-post-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.9) 0%,
    rgba(10, 22, 40, 0.7) 100%
  );
}

.g-post-banner__content {
  position: relative;
  z-index: 2;
}

.g-post-banner__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--g-white);
  margin-top: var(--g-space-md);
  line-height: 1.3;
}

.g-post-banner__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--g-space-md);
  margin-top: var(--g-space-lg);
}

.g-post-banner__category {
  display: inline-block;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 700;

  letter-spacing: 1px;
  color: var(--g-navy);
  background: var(--g-yellow);
  border-radius: var(--g-radius-sm);
}

.g-post-banner__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}

/* Post Banner Description */
.g-post-banner__desc {
  font-size: 1rem;
  color: var(--g-white);
  margin-top: var(--g-space-md);
  max-width: 768px;
}

.g-post-banner > div.g-container > div > p {
  color: var(--g-white) !important;
}

/* Tags */
.g-post__tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--g-space-sm);
  padding: var(--g-space-lg) 0;
}

.g-post__tags-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
}

.g-post__tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--g-space-xs);
}

.g-post__tag {
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--g-gray-600);
  background: var(--g-gray-100);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
}

.g-post__tag:hover {
  color: var(--g-white);
  background: var(--g-blue);
}

/* Share placement */
.g-post__share-top {
  margin-bottom: var(--g-space-lg);
}

.g-post__share-bottom {
  padding: var(--g-space-lg) 0;
  border-top: 1px solid var(--g-gray-200);
  border-bottom: 1px solid var(--g-gray-200);
  margin-bottom: var(--g-space-xl);
}

/* Products Mobile Scroll */
.g-post__products-scroll {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--g-space-lg);
}

@media (max-width: 768px) {
  .g-post__products-scroll {
    grid-template-columns: 1fr;
  }

  .g-related-posts__item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .g-share__btn {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }
}

/* Breadcrumbs Light */
.g-breadcrumbs--light a,
.g-breadcrumbs--light span {
  color: rgba(255, 255, 255, 0.8);
}

.g-breadcrumbs--light a:hover {
  color: var(--g-white);
}

/* Post Layout */
.g-post {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
}

.g-post__layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--g-space-2xl);
  align-items: start;
}

/* Main Content */
.g-post__main {
  min-width: 0;
}

.g-post__featured-image {
  margin-bottom: var(--g-space-lg);
  border-radius: var(--g-radius-md);
  overflow: hidden;
}

.g-post__image {
  width: 100%;
  height: auto;
  display: block;
}

.g-post__divider {
  height: 5px;
  background: var(--g-blue);
  margin-bottom: var(--g-space-lg);
}

.g-post__divider--full {
  margin: 0;
}

/* Post Content */
.g-post__content {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--g-gray-700);
  margin-bottom: var(--g-space-2xl);
}

.g-post__content h2 {
  font-size: 1.75rem;
  color: var(--g-navy);
  font-weight: 700;
  scroll-margin-top: calc(var(--g-header-height) + 30px);
}

.g-post__content h3 {
  font-size: 1.5rem;
  color: var(--g-navy);
  margin: var(--g-space-xl) 0 var(--g-space-md);
  font-weight: 600;
  scroll-margin-top: calc(var(--g-header-height) + 30px);
}

.g-post__content h4 {
  font-size: 1.25rem;
  color: var(--g-navy);
  margin: var(--g-space-lg) 0 var(--g-space-sm);
  font-weight: 600;
  scroll-margin-top: calc(var(--g-header-height) + 30px);
}

.g-post__content p {
  margin-bottom: var(--g-space-md);
}

.g-post__content img {
  border-radius: var(--g-radius-md);
  margin: var(--g-space-lg) 0;
  max-width: 100%;
  height: auto;
}

.g-post__content a {
  color: var(--g-blue-light);
  text-decoration: underline;
}

.g-post__content ul,
.g-post__content ol {
  margin: var(--g-space-md) 0;
  padding-left: var(--g-space-xl);
}

.g-post__content li {
  margin-bottom: var(--g-space-xs);
}

.g-post__content blockquote {
  margin: var(--g-space-lg) 0;
  padding: var(--g-space-lg);
  background: var(--g-gray-50);
  border-left: 4px solid var(--g-blue);
  border-radius: 0 var(--g-radius-md) var(--g-radius-md) 0;
  font-style: italic;
}

/* ========================================
   POST CONTENT - IMAGE CONSTRAINTS
   ======================================== */
.g-post__content {
  overflow: hidden; /* מונע גלישה */
}

.g-post__content img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* תמונות עם style inline */
.g-post__content img[style*="width"] {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
}

/* WordPress alignment classes */
.g-post__content .alignnone,
.g-post__content .aligncenter,
.g-post__content .alignleft,
.g-post__content .alignright {
  max-width: 100%;
  height: auto;
}

.g-post__content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.g-post__content .alignleft {
  float: left;
  margin: 0 var(--g-space-lg) var(--g-space-md) 0;
  max-width: 50%;
}

.g-post__content .alignright {
  float: right;
  margin: 0 0 var(--g-space-md) var(--g-space-lg);
  max-width: 50%;
}

/* WordPress caption */
.g-post__content .wp-caption {
  max-width: 100%;
  height: auto;
}

.g-post__content .wp-caption img {
  display: block;
  max-width: 100%;
  height: auto;
}

.g-post__content .wp-caption-text {
  font-size: 14px;
  color: var(--g-gray-500);
  text-align: center;
  margin-top: var(--g-space-xs);
}

/* WordPress block images */
.g-post__content .wp-block-image {
  max-width: 100%;
  margin: var(--g-space-lg) 0;
}

.g-post__content .wp-block-image img {
  max-width: 100%;
  height: auto;
}

.g-post__content .wp-block-image.alignfull,
.g-post__content .wp-block-image.alignwide {
  max-width: 100%;
  width: 100%;
}

/* Figures */
.g-post__content figure {
  max-width: 100%;
  margin: var(--g-space-lg) 0;
}

.g-post__content figure img {
  max-width: 100%;
  height: auto;
  display: block;
}

.g-post__content figcaption {
  font-size: 14px;
  color: var(--g-gray-500);
  text-align: center;
  margin-top: var(--g-space-xs);
}

/* Tables overflow */
.g-post__content table {
  max-width: 100%;
  overflow-x: auto;
  display: block;
}

/* Iframes (YouTube, etc.) */
.g-post__content iframe {
  max-width: 100%;
}

/* Mobile - cancel float */
@media (max-width: 576px) {
  .g-post__content .alignleft,
  .g-post__content .alignright {
    float: none;
    display: block;
    margin: var(--g-space-md) auto;
    max-width: 100%;
  }
}

/* Download Button */
.g-post__download {
  margin: var(--g-space-xl) 0;
}

.g-post__download .g-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-sm);
}

/* Author Box */
.g-author-box {
  display: flex;
  gap: var(--g-space-lg);
  padding: var(--g-space-xl);
  background: linear-gradient(
    135deg,
    var(--g-gray-50) 0%,
    var(--g-gray-100) 100%
  );
  border-radius: var(--g-radius-lg);
  border-left: 5px solid var(--g-blue);
  margin: var(--g-space-2xl) 0;
}

.g-author-box__avatar img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: fill;
  border: 4px solid var(--g-white);
  box-shadow: var(--g-shadow-md);
}

.g-author-box__info {
  flex: 1;
}

.g-author-box__label {
  font-size: 12px;
  font-weight: 600;

  letter-spacing: 1px;
  color: var(--g-gray-400);
}

.g-author-box__name {
  font-size: 1.25rem;
  color: var(--g-navy);
  margin: var(--g-space-xs) 0 var(--g-space-sm);
}

.g-author-box__bio {
  font-size: 15px;
  color: var(--g-gray-600);
  line-height: 1.7;
  margin-bottom: var(--g-space-md);
}

.g-author-box__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--g-space-sm);
}

.g-author-box__social a {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-navy);
  color: var(--g-white);
  border-radius: 50%;
  font-size: 16px;
  transition: all var(--g-transition-fast);
}

.g-author-box__social a:hover {
  background: var(--g-red);
  transform: translateY(-3px);
}

/* Sidebar */
.g-post__sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-lg);
}

/* TOC Desktop */
.g-post__toc-desktop {
  display: block;
}

.g-post__toc-box {
  padding: var(--g-space-lg);
  background: var(--g-gray-50);
  border-radius: var(--g-radius-md);
  border-left: 4px solid var(--g-blue);
}

.g-post__toc-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--g-navy);
  margin-bottom: var(--g-space-md);
}

.g-post__toc-box nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.g-post__toc-box nav li {
  margin-bottom: var(--g-space-sm);
  font-size: 14px;
  display: flex;
  align-items: flex-start;
  gap: var(--g-space-xs);
}

.g-post__toc-box nav li::before {
  content: "●";
  color: var(--g-yellow);
  font-size: 8px;
  margin-top: 6px;
}

.g-post__toc-box nav a {
  color: var(--g-navy);
  transition: color var(--g-transition-fast);
}

.g-post__toc-box nav a:hover {
  color: var(--g-red);
}

/* TOC Mobile */
.g-post__toc-mobile {
  display: none;
  margin-bottom: var(--g-space-lg);
}

.g-post__toc-toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-white);
  border: 2px solid var(--g-blue);
  border-radius: var(--g-radius-md);
  font-size: 1rem;
  font-weight: 600;
  color: var(--g-navy);
  cursor: pointer;
  transition: all var(--g-transition-fast);
}

.g-post__toc-toggle svg {
  transition: transform var(--g-transition-fast);
}

.g-post__toc-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.g-post__toc-content {
  display: none;
  padding: var(--g-space-lg);
  background: var(--g-gray-50);
  border-radius: 0 0 var(--g-radius-md) var(--g-radius-md);
  border: 2px solid var(--g-blue);
  border-top: none;
}

.g-post__toc-content.is-open {
  display: block;
}

.g-post__toc-content nav ul {
  list-style: disc;
  padding-left: var(--g-space-lg);
  margin: 0;
}

.g-post__toc-content nav li {
  margin-bottom: var(--g-space-sm);
  font-size: 14px;
}

.g-post__toc-content nav a {
  color: var(--g-navy);
}

/* Related Products Sidebar */
.g-post__products {
  display: block;
}

.g-post__products-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--g-navy);
  padding-bottom: var(--g-space-sm);
  border-bottom: 3px solid var(--g-blue);
  margin-bottom: var(--g-space-lg);
}

.g-post__products-wrapper {
  position: relative;
}

.g-post__products-wrapper.has-slider {
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.g-post__products-inner {
  transition: transform 0.4s ease;
  padding-bottom: var(--g-space-sm);
}

.g-post__product-item {
  padding-bottom: var(--g-space-lg);
  margin-bottom: var(--g-space-lg);
  border-bottom: 1px solid var(--g-gray-200);
}

.g-post__product-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: var(--g-space-xl);
}

.g-post__product-image img {
  width: 100%;
  max-height: 200px;
  object-fit: fill;
  border-radius: var(--g-radius-md);
  transition: transform var(--g-transition);
}

.g-post__product-image:hover img {
  transform: scale(1.02);
}

.g-post__product-name {
  font-size: 1rem;
  margin: var(--g-space-md) 0;
}

.g-post__product-name a {
  color: var(--g-navy);
  transition: color var(--g-transition-fast);
}

.g-post__product-name a:hover {
  color: var(--g-red);
}

.g-post__products-arrow {
  width: 100%;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-gray-200);
  color: var(--g-navy);
  border: none;
  border-radius: var(--g-radius-sm);
  cursor: pointer;
  margin: var(--g-space-sm) 0;
  transition: all var(--g-transition-fast);
}

.g-post__products-arrow--prev {
  margin-bottom: var(--g-space-md);
}

.g-post__products-arrow--next {
  margin-top: var(--g-space-md);
}

.g-post__products-arrow:hover:not(:disabled) {
  background: var(--g-green);
}

.g-post__products-arrow:disabled {
  background: var(--g-gray-300);
  cursor: not-allowed;
}

.g-post__products-counter {
  text-align: center;
  font-size: 14px;
  color: var(--g-gray-500);
}

/* Products Mobile */
.g-post__products-mobile {
  display: none;
  margin-top: var(--g-space-2xl);
}

/* Sticky Form */
.g-post__form-sticky {
  position: sticky;
  top: calc(var(--g-header-height) + 20px);
}

/* Contact Form Component in Sidebar */
.g-post__form-sticky .g-contact-form--boxed {
  background: var(--g-gray-50);
  border-radius: var(--g-radius-md);
  border-left: none;
}

.g-post__form-sticky .g-contact-form__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--g-navy);
  padding-bottom: var(--g-space-sm);
  border-bottom: 3px solid var(--g-blue);
  margin-bottom: var(--g-space-sm);
}

.g-post__form-sticky .g-contact-form__desc {
  font-size: 14px;
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-lg);
}

/* ========================================
   SHARE BUTTONS COMPONENT
   ======================================== */
.g-share {
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
}

.g-share--vertical {
  flex-direction: column;
  align-items: flex-start;
}

.g-share__label {
  font-size: 13px;
  font-weight: 600;

  letter-spacing: 1px;
  color: var(--g-gray-500);
}

.g-share__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--g-space-xs);
}

.g-share__btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--g-radius-sm);
  font-size: 16px;
  color: var(--g-white);
  transition: all var(--g-transition-fast);
  border: none;
  cursor: pointer;
}

.g-share__btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--g-shadow-md);
}

.g-share__btn--linkedin {
  background: #0077b5;
}
.g-share__btn--twitter {
  background: #000;
}
.g-share__btn--facebook {
  background: #1877f2;
}
.g-share__btn--whatsapp {
  background: #25d366;
}
.g-share__btn--email {
  background: var(--g-gray-600);
}
.g-share__btn--copy {
  background: var(--g-gray-400);
}
.g-share__btn--copy.copied {
  background: var(--g-green);
}

/* ========================================
   RELATED POSTS COMPONENT
   ======================================== */

.g-related-posts {
  margin-top: var(--g-space-3xl);
}

.g-related-posts__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-lg) var(--g-space-xl);
  background: var(--g-navy);
  border-radius: var(--g-radius-lg);
  margin-bottom: var(--g-space-xl);
}

.g-related-posts__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--g-white);
  margin: 0;
}

.g-related-posts__list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-md);
}

.g-related-posts__item.is-hidden,
.g-tax-resources__card-wrap.is-hidden {
  display: none;
}

.g-related-posts__more,
.g-tax-resources__more {
  margin-top: var(--g-space-lg);
  text-align: center;
}

/* ========================================
   CONTACT FORM COMPONENT
   ======================================== */
.g-contact-form {
  max-width: 600px;
}

.g-contact-form--boxed {
  background: var(--g-gray-50);
  border-radius: var(--g-radius-xl);
  padding: var(--g-space-xl);
}

.g-contact-form__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
}

.g-contact-form__desc {
  font-size: 14px;
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-lg);
}

/* ========================================
   CF7 FORM STYLING
   ======================================== */
.wpcf7 {
  font-family: var(--g-font);
}

/* Reset CF7 default spacing */
.wpcf7-form p {
  margin: 0 0 var(--g-space-md) 0;
}

.wpcf7-form br {
  display: none;
}

.wpcf7-form label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--g-navy);
  margin-bottom: 6px;
}

/* Input Fields */
.wpcf7-form-control:not([type="submit"]):not(button) {
  width: 100%;
  padding: 12px 16px;
  font-size: 15px;
  font-family: var(--g-font);
  color: var(--g-gray-800);
  background: var(--g-white);
  border: 2px solid var(--g-gray-200);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
  margin-top: 0;
}

.wpcf7-form-control:not([type="submit"]):not(button):focus {
  outline: none;
  border-color: var(--g-blue-light);
  box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.1);
}

.wpcf7-form-control::placeholder {
  color: var(--g-gray-400);
}

/* Textarea */
.wpcf7-textarea {
  min-height: 120px;
  resize: vertical;
}

/* Submit Button (works for both input and button) */
.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--g-font);
  color: var(--g-white);
  background: var(--g-green);
  border: none;
  border-radius: var(--g-radius-sm);
  cursor: pointer;
  transition: all var(--g-transition-fast);
  margin-top: var(--g-space-sm);
}

.wpcf7-submit:hover {
  background: var(--g-green-dark);
}

.wpcf7-submit:hover svg {
  transform: translate(3px, -3px);
}

.wpcf7-submit:focus {
  outline: 2px solid var(--g-navy);
  outline-offset: 2px;
}

.wpcf7-submit:focus:not(:focus-visible) {
  outline: none;
}

.wpcf7-submit:focus-visible {
  outline: 2px solid var(--g-navy);
  outline-offset: 2px;
}

.wpcf7-submit:active {
  transform: translateY(0);
}

.wpcf7-submit svg {
  flex-shrink: 0;
  transition: transform var(--g-transition-fast);
}

/* Loading State */
.wpcf7-submit.submitting,
.wpcf7-submit[disabled] {
  pointer-events: none;
  opacity: 0.7;
}

/* Validation */
.wpcf7-not-valid {
  border-color: var(--g-red) !important;
}

.wpcf7-not-valid-tip {
  display: block;
  font-size: 12px;
  color: var(--g-red);
  margin-top: 4px;
}

/* Response Messages */
.wpcf7-response-output {
  margin: var(--g-space-md) 0 0 !important;
  padding: var(--g-space-md) !important;
  border-radius: var(--g-radius-sm);
  font-size: 14px;
  border: none !important;
}

.wpcf7-form.sent .wpcf7-response-output {
  background: rgba(10, 172, 10, 0.1);
  color: var(--g-green);
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
  background: rgba(192, 0, 0, 0.1);
  color: var(--g-red);
}

/* Spinner */
.wpcf7-spinner {
  display: none;
}

/* TOC Active State */
.g-post__toc-box nav a.active {
  color: var(--g-blue-light);
  font-weight: 600;
}

/* ========================================
   ARCHIVE PAGE
   ======================================== */

/* Archive Layout */
.g-archive {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
}

.g-archive__layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--g-space-2xl);
  align-items: start;
}

.g-archive__main {
  min-width: 0;
}

/* Archive Grid */
.g-archive__search-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--g-space-md);
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-gray-100);
  border-radius: var(--g-radius-md);
  margin-bottom: var(--g-space-lg);
  font-size: 14px;
  color: var(--g-gray-600);
}

.g-archive__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--g-space-lg);
  margin-bottom: var(--g-space-2xl);
}

.g-archive__grid .g-archive-card__media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-archive__grid .g-archive-card__media {
  border-bottom: 1px solid var(--g-gray-200);
}

/* ----------------------------------------
   Archive Card Specific Styles
   (Shared base styles are defined with g-news-card)
   ---------------------------------------- */
.g-archive-card {
  box-shadow: var(--g-shadow-sm);
}

.g-archive-card:hover {
  box-shadow: var(--g-shadow-lg);
}

.g-archive-card__media {
  height: var(--g-media-height-md);
}

.g-archive-card__categories {
  max-width: calc(100% - 1rem);
}

.g-archive-card__meta {
  font-size: 12px;
  color: var(--g-gray-500);
}

.g-archive-card__meta time {
  font-weight: 700;
  color: var(--g-yellow);
}

.g-archive-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: var(--g-space-sm);
  line-height: 1.4;
}

.g-archive-card__excerpt {
  font-size: 14px;
  color: var(--g-gray-600);
  margin-bottom: var(--g-space-md);
}

/* Archive Empty State */
.g-archive__empty {
  text-align: center;
  padding: var(--g-space-3xl) var(--g-space-lg);
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
}

.g-archive__empty-icon {
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-lg);
}

.g-archive__empty h2 {
  font-size: 1.5rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
}

.g-archive__empty p {
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-xl);
}

/* ========================================
   CATEGORIES NAVIGATION
   ======================================== */
.g-categories-nav {
  background: var(--g-white);
  padding: var(--g-space-lg) 0;
  border-bottom: 1px solid var(--g-gray-200);
}

.g-categories-nav__inner {
  display: flex;
  justify-content: center;
}

.g-categories-nav__inner--start {
  justify-content: flex-start;
}

.g-categories-nav__back {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-blue-light);
  text-decoration: none;
  padding: var(--g-space-sm) 0;
  transition: color var(--g-transition-fast);
}

.g-categories-nav__back:hover {
  color: var(--g-navy);
}

.g-categories-nav__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.g-categories-nav__list {
  display: flex;
  gap: var(--g-space-sm);
  overflow-x: auto;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.g-categories-nav__list::-webkit-scrollbar {
  display: none;
}

.g-categories-nav__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  background: var(--g-gray-100);
  border-radius: var(--g-radius-md);
  white-space: nowrap;
  flex-shrink: 0;
  transition: all var(--g-transition-fast);
}

.g-categories-nav__item:hover {
  background: var(--g-gray-200);
  color: var(--g-navy);
}

.g-categories-nav__item.is-active {
  background: var(--g-yellow);
  color: var(--g-navy);
}

.g-categories-nav__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--g-white);
  background: var(--g-navy);
  border-radius: 11px;
}

.g-categories-nav__item.is-active .g-categories-nav__count {
  background: var(--g-navy);
  color: var(--g-white);
}

/* Responsive */
@media (max-width: 768px) {
  .g-categories-nav {
    padding: var(--g-space-md) 0;
  }

  .g-categories-nav__inner {
    justify-content: flex-start;
  }

  .g-categories-nav__list {
    width: 100%;
  }
}

/* ========================================
   SIDEBAR WIDGETS
   ======================================== */
.g-archive__sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-lg);
}

.g-widget {
  background: var(--g-white);
  border-radius: var(--g-radius-md);
  padding: var(--g-space-lg);
}

.g-widget__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--g-navy);
  padding-bottom: var(--g-space-sm);
  border-bottom: 3px solid var(--g-blue);
  margin-bottom: var(--g-space-md);
}

/* Search Widget */
.g-widget--search {
  background: var(--g-navy);
  padding: var(--g-space-lg);
}

.g-widget__search-form {
  display: flex;
  position: relative;
}

.g-widget__search-input {
  flex: 1;
  width: 100%;
  padding: 12px 16px;
  padding-right: 50px;
  font-size: 15px;
  font-family: var(--g-font);
  color: var(--g-gray-800);
  background: var(--g-white);
  border: none;
  border-radius: var(--g-radius-sm);
}

.g-widget__search-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(249, 168, 0, 0.3);
}

.g-widget__search-btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-yellow);
  color: var(--g-navy);
  border: none;
  border-radius: var(--g-radius-sm);
  cursor: pointer;
  transition: all var(--g-transition-fast);
}

.g-widget__search-btn:hover {
  background: var(--g-yellow-light);
}

/* Popular Posts Widget */
.g-widget__posts {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-md);
}

.g-widget-post__link {
  display: flex;
  gap: var(--g-space-md);
  color: inherit;
}

.g-widget-post__image {
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  border-radius: var(--g-radius-sm);
  overflow: hidden;
}

.g-widget-post__image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform var(--g-transition);
}

.g-widget-post__link:hover .g-widget-post__image img {
  transform: scale(1.1);
}

.g-widget-post__placeholder {
  width: 100%;
  height: 100%;
  background: var(--g-gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-gray-300);
}

.g-widget-post__content {
  flex: 1;
  min-width: 0;
}

.g-widget-post__content time {
  font-size: 12px;
  color: var(--g-yellow);
  font-weight: 600;
}

.g-widget-post__content h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  margin-top: 4px;
  line-height: 1.4;
  transition: color var(--g-transition-fast);
}

.g-widget-post__link:hover h4 {
  color: var(--g-blue-light);
}

/* Popular Articles - Compact Style (for category/tag archive pages) */
.g-widget__posts-compact {
  list-style: none;
  padding: 0;
  margin: 0;
}

.g-widget__posts-compact li {
  border-bottom: 1px solid var(--g-gray-100);
}

.g-widget__posts-compact li:last-child {
  border-bottom: none;
}

.g-widget__posts-compact a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-sm) 0;
  color: var(--g-gray-600);
  transition: all var(--g-transition-fast);
}

.g-widget__posts-compact a:hover {
  color: var(--g-navy);
  padding-left: 5px;
}

.g-widget__post-title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.g-widget__posts-compact time {
  flex-shrink: 0;
  background: var(--g-gray-100);
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--g-gray-500);
  white-space: nowrap;
}

.g-widget__posts-compact a:hover time {
  background: var(--g-yellow);
  color: var(--g-navy);
}

/* Categories Widget */
.g-widget__categories {
  list-style: none;
  padding: 0;
  margin: 0;
}

.g-widget__categories li {
  border-bottom: 1px solid var(--g-gray-100);
}

.g-widget__categories li:last-child {
  border-bottom: none;
}

.g-widget__categories a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--g-space-sm) 0;
  color: var(--g-gray-600);
  transition: all var(--g-transition-fast);
}

.g-widget__categories a:hover {
  color: var(--g-navy);
  padding-left: 5px;
}

.g-widget__cat-count {
  background: var(--g-gray-100);
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--g-gray-500);
}

.g-widget__categories a:hover .g-widget__cat-count {
  background: var(--g-yellow);
  color: var(--g-navy);
}

/* Tags Widget */
.g-widget__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--g-space-xs);
}

.g-widget__tag {
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--g-gray-600);
  background: var(--g-gray-100);
  border-radius: var(--g-radius-sm);
  transition: all var(--g-transition-fast);
}

.g-widget__tag:hover {
  color: var(--g-white);
  background: var(--g-blue);
}

/* CTA Widget */
.g-widget--cta {
  background: linear-gradient(135deg, var(--g-navy), var(--g-navy-light));
  text-align: center;
}

.g-widget__cta-content h3 {
  font-size: 1.25rem;
  color: var(--g-white);
  margin-bottom: var(--g-space-sm);
}

.g-widget__cta-content p {
  font-size: 14px;
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-lg);
}

.g-widget__cta-content .g-btn {
  width: 100%;
}

/* ========================================
   SEARCH PAGE
   ======================================== */
.g-search-page {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
  min-height: 60vh;
}

.g-search-page > .g-container {
  padding-left: var(--g-space-xl);
  padding-right: var(--g-space-xl);
}

.g-search-page__form-wrap {
  max-width: 700px;
  margin: 0 auto var(--g-space-2xl);
}

/* Controls */
.g-search-page__controls {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* ← שינוי מ-flex-end */
  gap: var(--g-space-lg);
  margin-bottom: var(--g-space-xl);
  padding-bottom: var(--g-space-lg);
  border-bottom: 1px solid var(--g-gray-200);
}

.g-search-page__controls-label {
  font-size: 14px;
  color: var(--g-gray-500);
  margin-left: auto; /* ← דוחף את זה לצד ימין */
}

/* More notice */
.g-search-more-notice {
  text-align: center;
  padding: var(--g-space-lg);
  background: var(--g-gray-100);
  border-radius: var(--g-radius-md);
  font-size: 14px;
  color: var(--g-gray-600);
  margin-top: var(--g-space-lg);
}

/* View Toggle */
.g-view-toggle {
  display: flex;
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  padding: 4px;
  box-shadow: var(--g-shadow-sm);
}

.g-view-toggle__btn {
  display: flex;
  align-items: center;
  gap: var(--g-space-xs);
  padding: var(--g-space-sm) var(--g-space-lg);
  background: transparent;
  border: none;
  border-radius: var(--g-radius-md);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-gray-500);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-view-toggle__btn:hover {
  color: var(--g-navy);
}

.g-view-toggle__btn.is-active {
  background: var(--g-navy);
  color: var(--g-white);
  box-shadow: var(--g-shadow-md);
}

.g-view-toggle__btn svg {
  flex-shrink: 0;
}

/* ========================================
   PAGE ABOUT SECTION
   ======================================== */
.g-page-about {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
}

.g-page-about__grid {
  display: grid;
  grid-template-columns: 1fr 450px;
  gap: var(--g-space-4xl);
  align-items: center;
}

.g-page-about__grid--full {
  grid-template-columns: 1fr;
  max-width: 1100px;
}

.g-page-about__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  color: var(--g-navy);
  line-height: 1.3;
  margin-bottom: var(--g-space-xl);
  position: relative;
  padding-bottom: var(--g-space-sm);
}

.g-page-about__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120px;
  height: 4px;
  background: var(--g-yellow);
  border-radius: 2px;
}

.g-page-about__grid--full .g-page-about__title::after {
  left: 0;
  transform: none;
}

.g-page-about__text {
  color: var(--g-gray-600);
  line-height: 1.8;
}

.g-page-about__features {
  list-style: none;
  padding: 0;
  margin: var(--g-space-xl) 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--g-space-md);
}

.g-page-about__features li {
  display: flex;
  align-items: flex-start;
  gap: var(--g-space-sm);
  font-size: 15px;
  color: var(--g-gray-700);
}

.g-page-about__features li svg {
  flex-shrink: 0;
  color: var(--g-green);
  margin-top: 2px;
}

.g-page-about__media {
  position: relative;
}

.g-page-about__image-box {
  position: relative;
  z-index: 2;
  border-radius: var(--g-radius-xl);
  overflow: hidden;
  box-shadow: var(--g-shadow-2xl);
}

.g-page-about__image-box img {
  width: 100%;
  height: auto;
  display: block;
}

.g-page-about__decor {
  position: absolute;
  border-radius: var(--g-radius-lg);
  z-index: 1;
}

.g-page-about__decor--1 {
  width: 200px;
  height: 200px;
  background: var(--g-yellow);
  top: -20px;
  right: -20px;
}

.g-page-about__decor--2 {
  width: 150px;
  height: 150px;
  background: var(--g-navy);
  bottom: -20px;
  left: -20px;
}

/* ========================================
   APPS SECTION (Yellow Background)
   ======================================== */
.g-apps-section {
  position: relative;
  padding: var(--g-space-2xl) 0;
  background: var(--g-yellow);
  overflow: hidden;
}

.g-apps-section__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.g-apps-section__shape {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    135deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 100%
  );
}

.g-apps-section__header {
  margin-bottom: var(--g-space-2xl);
}

/* ========================================
   HIGHLIGHT SECTION (More Content)
   ======================================== */
.g-highlight-section {
  padding: var(--g-space-2xl) 0;
  background: linear-gradient(180deg, var(--g-gray-50) 0%, var(--g-white) 100%);
}

.g-highlight-section__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--g-space-4xl);
  align-items: center;
}

.g-highlight-section__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  color: var(--g-navy);
  line-height: 1.3;
  margin-bottom: var(--g-space-lg);
  text-align: center;
}

.g-highlight-section__text {
  color: var(--g-gray-600);
  margin-bottom: var(--g-space-xl);
}

.g-highlight-section__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--g-space-lg);
}

.g-stat-card {
  background: var(--g-white);
  padding: var(--g-space-xl);
  border-radius: var(--g-radius-lg);
  text-align: center;
  box-shadow: var(--g-shadow-md);
  border-left: 4px solid var(--g-yellow);
}

.g-stat-card__number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--g-navy);
  line-height: 1;
  margin-bottom: var(--g-space-xs);
}

.g-stat-card__label {
  font-size: 14px;
  color: var(--g-gray-500);

  letter-spacing: 1px;
}

/* ========================================
   RESOURCES SECTION
   ======================================== */
.g-resources-section {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
}

.g-resources-section__header {
  margin-bottom: var(--g-space-2xl);
}

.g-resources-grid {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-lg);
}

/* Support page - 3 column grid with vertical cards */
.page-support-gidel .g-resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* About Us - Testimonials: logos should not be cropped */
.page-about-us .g-listing-card__media {
  background: var(--g-white);
}

.page-about-us .g-listing-card__media img {
  object-fit: contain;
  padding: var(--g-space-sm);
}

.page-support-gidel .g-app-card__content {
  padding: 10px 15px;
}

.page-support-gidel .g-products .g-product-card__link {
  height: auto;
}

.page-support-gidel .g-products .g-product-card__media {
  aspect-ratio: 4/3;
}

.page-support-gidel .g-products .g-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--g-space-sm);
  background: var(--g-white);
}

.page-support-gidel .g-listing-card {
  grid-template-columns: 1fr;
  text-align: center;
}

.page-support-gidel .g-listing-card__media {
  aspect-ratio: 16/12;
  max-width: 100%;
}

.page-support-gidel .g-listing-card__content {
  align-items: center;
  justify-content: center;
}

.page-support-gidel .g-listing-card .g-btn {
  align-self: center;
  margin-top: var(--g-space-md);
}

.page-support-gidel .g-listing-card__title {
  font-size: 1.5rem;
}

.page-support-gidel .g-listing-card__desc {
  max-width: 400px;
}

@media (max-width: 1024px) {
  .page-support-gidel .g-resources-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .page-support-gidel .g-resources-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================
   CTA SECTION
   ======================================== */
.g-cta-section {
  position: relative;
  padding: var(--g-space-2xl) 0;
  overflow: hidden;
}

.g-cta-section__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.g-cta-section__bg img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-cta-section__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.95) 0%,
    rgba(23, 92, 211, 0.85) 100%
  );
}

.g-cta-section__content {
  position: relative;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}

.g-cta-section__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--g-white);
  margin-bottom: var(--g-space-md);
}

.g-cta-section__text {
  font-size: 1.125rem;
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-xl);
}

.g-cta-section__actions {
  display: flex;
  justify-content: center;
  gap: var(--g-space-md);
  flex-wrap: wrap;
}

/* ========================================
   DEFAULT PAGE CONTENT
   ======================================== */
.g-page-content {
  padding: var(--g-space-2xl) 0;
}

.g-page-content__inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* ========================================
   RESPONSIVE - PAGE DEFAULT
   ======================================== */
@media (max-width: 1024px) {
  .g-page-about__grid {
    grid-template-columns: 1fr;
    gap: var(--g-space-2xl);
  }

  .g-page-about__media {
    max-width: 500px;
    margin: 0 auto;
  }

  .g-highlight-section__inner {
    grid-template-columns: 1fr;
    gap: var(--g-space-2xl);
  }

  .g-highlight-section__stats {
    max-width: 400px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .g-page-about__features {
    grid-template-columns: 1fr;
  }

  .g-page-about__decor--1,
  .g-page-about__decor--2 {
    display: none;
  }

  .g-highlight-section__stats {
    grid-template-columns: 1fr;
  }

  .g-cta-section__actions {
    flex-direction: column;
  }

  .g-cta-section__actions .g-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .g-stat-card {
    padding: var(--g-space-lg);
  }

  .g-stat-card__number {
    font-size: 2rem;
  }
}

/* Views */
.g-search-page__view {
  display: none;
}

.g-search-page__view.is-active {
  display: block;
  animation: fadeIn 0.3s ease;
}

/* Search Tabs (for advanced view) */
.g-search-tabs {
  display: flex;
  gap: var(--g-space-xs);
  margin-bottom: var(--g-space-xl);
  padding-bottom: var(--g-space-md);
  border-bottom: 2px solid var(--g-gray-200);
  overflow-x: auto;
  scrollbar-width: none;
}

.g-search-tabs::-webkit-scrollbar {
  display: none;
}

.g-search-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-xl);
  background: transparent;
  border: none;
  border-radius: var(--g-radius-md) var(--g-radius-md) 0 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--g-gray-500);
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  transition: all var(--g-transition);
}

.g-search-tab::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  border-radius: 3px 3px 0 0;
  transition: background var(--g-transition);
}

.g-search-tab:hover {
  color: var(--g-navy);
  background: var(--g-gray-100);
}

.g-search-tab.is-active {
  color: var(--g-navy);
  background: var(--g-white);
}

.g-search-tab.is-active::after {
  background: var(--g-yellow);
}

.g-search-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  background: var(--g-gray-200);
  border-radius: var(--g-radius-full);
  font-size: 12px;
  font-weight: 700;
}

.g-search-tab.is-active .g-search-tab__count {
  background: var(--g-navy);
  color: var(--g-white);
}

/* Search Panels */
.g-search-panel {
  display: none;
}

.g-search-panel.is-active {
  display: block;
  animation: fadeInUp 0.4s ease;
}

/* Results List (Advanced View) */
.g-search-results-list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-md);
}

.g-search-result {
  display: flex;
  align-items: center;
  gap: var(--g-space-lg);
  padding: var(--g-space-lg);
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  box-shadow: var(--g-shadow-sm);
  transition: all var(--g-transition);
}

.g-search-result:hover {
  box-shadow: var(--g-shadow-lg);
  transform: translateX(4px);
}

.g-search-result__image {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: var(--g-radius-md);
  overflow: hidden;
  background: var(--g-gray-100);
}

.g-search-result__image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-search-result__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-gray-300);
}

.g-search-result__content {
  flex: 1;
  min-width: 0;
}

.g-search-result__header {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.g-search-result__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--g-navy);
}

.g-search-result__badge {
  flex-shrink: 0;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;

  border-radius: var(--g-radius-sm);
  letter-spacing: 0.5px;
}

.g-search-result__badge--type {
  background: var(--g-gray-200);
  color: var(--g-gray-600);
}

.g-search-result__badge--top {
  background: var(--g-green);
  color: var(--g-white);
}

.g-search-result__excerpt {
  font-size: 14px;
  color: var(--g-gray-500);
  line-height: 1.6;
  margin: 0;
}

.g-search-result__arrow {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-gray-100);
  border-radius: 50%;
  color: var(--g-gray-400);
  transition: all var(--g-transition);
}

.g-search-result:hover .g-search-result__arrow {
  background: var(--g-yellow);
  color: var(--g-navy);
}

/* Grid View - Search Results */
.g-search-page__view--grid {
  padding: var(--g-space-xl) 0;
}

.g-search-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--g-space-lg);
  margin-bottom: var(--g-space-2xl);
}

/* Column options */
.g-search-grid[data-cols="2"] {
  grid-template-columns: repeat(2, 1fr);
}
.g-search-grid[data-cols="3"] {
  grid-template-columns: repeat(3, 1fr);
}
.g-search-grid[data-cols="4"] {
  grid-template-columns: repeat(4, 1fr);
}

/* Column selector */
.g-col-selector {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
}

.g-col-selector[hidden] {
  display: none;
}

.g-col-selector__label {
  font-size: 13px;
  color: var(--g-gray-500);
}

.g-col-selector__btns {
  display: flex;
  background: var(--g-gray-100);
  border-radius: var(--g-radius-md);
  padding: 3px;
}

.g-col-selector__btn {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--g-gray-500);
  background: transparent;
  border: none;
  border-radius: var(--g-radius-sm);
  cursor: pointer;
  transition: all var(--g-transition-fast);
}

.g-col-selector__btn:hover {
  color: var(--g-navy);
}

.g-col-selector__btn.is-active {
  background: var(--g-white);
  color: var(--g-navy);
  box-shadow: var(--g-shadow-sm);
}

.g-search-grid .g-search-card {
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  box-shadow: var(--g-shadow-md);
  transition: all var(--g-transition);
  border: 1px solid var(--g-gray-200);
}

.g-search-grid .g-search-card:hover {
  box-shadow: var(--g-shadow-xl);
  transform: translateY(-5px);
  border-color: var(--g-blue-light);
}

.g-search-grid .g-search-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
}

.g-search-grid .g-search-card__media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--g-gray-100);
  width: 100%;
}

.g-search-grid .g-search-card__media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.5s ease;
}

.g-search-grid .g-search-card:hover .g-search-card__media img {
  transform: scale(1.05);
}

.g-search-grid .g-search-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-gray-300);
}

.g-search-grid .g-search-card__body {
  padding: var(--g-space-lg);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.g-search-grid .g-search-card__type {
  display: inline-block;
  padding: 5px 12px;
  background: var(--g-gray-100);
  border-radius: var(--g-radius-sm);
  font-size: 11px;
  font-weight: 700;

  color: var(--g-gray-600);
  letter-spacing: 0.5px;
  margin-bottom: var(--g-space-md);
  align-self: flex-start;
}

.g-search-grid .g-search-card__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
  line-height: 1.4;
}

.g-search-grid .g-search-card__excerpt {
  font-size: 14px;
  color: var(--g-gray-500);
  line-height: 1.6;
  margin-bottom: var(--g-space-md);
  flex: 1;
}

.g-search-grid .g-search-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-blue-light);
  margin-top: auto;
  transition: gap var(--g-transition);
}

.g-search-grid .g-search-card:hover .g-search-card__cta {
  gap: var(--g-space-sm);
}

@media (max-width: 1200px) {
  .g-search-grid[data-cols="4"] {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .g-search-grid[data-cols="3"],
  .g-search-grid[data-cols="4"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .g-col-selector {
    display: none;
  }
}

@media (max-width: 768px) {
  .g-search-grid,
  .g-search-grid[data-cols="2"],
  .g-search-grid[data-cols="3"],
  .g-search-grid[data-cols="4"] {
    grid-template-columns: 1fr;
  }
}

/* Empty State */
.g-search-page__empty {
  text-align: center;
  padding: var(--g-space-4xl) var(--g-space-lg);
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
}

.g-search-page__empty-icon {
  color: var(--g-gray-300);
  margin-bottom: var(--g-space-lg);
}

.g-search-page__empty h2 {
  font-size: 1.5rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
}

.g-search-page__empty p {
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-xl);
}

.g-search-page__suggestions {
  display: inline-block;
  text-align: left;
  background: var(--g-gray-50);
  padding: var(--g-space-lg);
  border-radius: var(--g-radius-md);
  margin-bottom: var(--g-space-xl);
}

.g-search-page__suggestions h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  margin-bottom: var(--g-space-sm);
}

.g-search-page__suggestions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.g-search-page__suggestions li {
  font-size: 14px;
  color: var(--g-gray-600);
  padding: 4px 0;
  padding-left: 20px;
  position: relative;
}

.g-search-page__suggestions li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--g-yellow);
  font-weight: bold;
}

/* Responsive */
@media (max-width: 768px) {
  .g-search-page__controls {
    flex-direction: column;
    align-items: stretch;
  }

  .g-view-toggle {
    justify-content: center;
  }

  .g-search-tabs {
    justify-content: flex-start;
  }

  .g-search-result {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .g-search-result__image {
    width: 100%;
    height: 160px;
  }

  .g-search-result__arrow {
    align-self: flex-end;
  }

  .g-search-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================
   CARD SLIDER
   ======================================== */
.g-card-slider {
  position: relative;
  overflow: hidden;
}

.g-card-slider__track {
  display: flex;
  gap: var(--g-space-lg);
  overflow: hidden;
  scroll-behavior: smooth;
  padding: var(--g-space-sm) 0;
  margin: 0 calc(-1 * var(--g-space-lg));
  padding-left: var(--g-space-lg);
  padding-right: var(--g-space-lg);
}

.g-card-slider__track::-webkit-scrollbar {
  display: none;
}

.g-card-slider__item {
  flex: 0 0 calc(25% - var(--g-space-lg) * 3 / 4);
  scroll-snap-align: start;
}

.g-card-slider--no-scroll .g-card-slider__track {
  justify-content: center;
  overflow-x: visible;
}

.g-card-slider__nav {
  display: flex;
  justify-content: center;
  gap: var(--g-space-md);
  margin-top: var(--g-space-xl);
}

.g-card-slider__btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-white);
  border: none;
  border-radius: 50%;
  color: var(--g-navy);
  box-shadow: var(--g-shadow-md);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-card-slider__btn:hover {
  background: var(--g-navy);
  color: var(--g-white);
  transform: scale(1.1);
}

.g-card-slider__btn:focus-visible {
  outline: 2px solid var(--g-blue-light);
  outline-offset: 2px;
}

/* ========================================
   RESOURCES SECTION
   ======================================== */
.g-resources-section {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
}

.g-resources-section__header {
  text-align: center;
  margin-bottom: var(--g-space-2xl);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.g-resources-section__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--g-navy);
  margin-bottom: var(--g-space-md);
  position: relative;
  padding-bottom: var(--g-space-md);
}

.g-resources-section__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--g-blue);
}

.g-resources-section__desc {
  font-size: 1rem;
  color: var(--g-gray-600);
  line-height: 1.7;
}

/* Resources List */
.g-resources-list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-xl);
}

/* ========================================
   PROSE (Rich Text Content)
   ======================================== */
.g-prose h2 {
  font-size: 1.5rem;
  color: var(--g-navy);
  margin: var(--g-space-xl) 0 var(--g-space-md);
}

.g-prose h3 {
  font-size: 1.25rem;
  color: var(--g-navy);
  margin: var(--g-space-sm) 0;
}

.g-prose hr {
  margin-bottom: var(--g-space-md);
}

.g-prose p {
  margin-bottom: var(--g-space-md);
}

.g-prose ul,
.g-prose ol {
  padding-left: var(--g-space-xl);
}

.g-prose ul {
  list-style: disc;
}

.g-prose ol {
  list-style: decimal;
}

.g-prose li {
  margin-bottom: var(--g-space-xs);
}

.g-prose li::marker {
  color: var(--g-yellow);
}

.g-prose a {
  color: var(--g-blue-light);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.g-prose a:hover {
  color: var(--g-blue);
}

.g-prose img {
  border-radius: var(--g-radius-md);
  margin: var(--g-space-lg) 0;
}

.g-prose blockquote {
  margin: var(--g-space-lg) 0;
  padding: var(--g-space-lg);
  background: var(--g-gray-100);
  border-left: 4px solid var(--g-yellow);
  border-radius: 0 var(--g-radius-md) var(--g-radius-md) 0;
  font-style: italic;
}

.g-prose table {
  max-width: 100%;
  overflow-x: auto;
  display: block;
  border-collapse: collapse;
}

.g-prose table th,
.g-prose table td {
  padding: var(--g-space-sm) var(--g-space-md);
  border: 1px solid var(--g-gray-200);
  text-align: left;
}

.g-prose iframe {
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: var(--g-radius-md);
}

/* ========================================
   APPLICATION PAGE - HERO
   ======================================== */
.g-app-hero {
  position: relative;
  display: flex;
  align-items: center;
  padding: calc(var(--g-header-height) + var(--g-space-xl)) 0 var(--g-space-xl);
  overflow: hidden;
}

.g-app-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--g-navy);
}

.g-app-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-app-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.9),
    rgba(10, 22, 40, 0.7)
  );
}

.g-app-hero__content {
  max-width: 700px;
}

.g-app-hero__badge {
  display: inline-block;
  padding: 6px 16px;
  background: var(--g-yellow);
  color: var(--g-navy);
  font-size: 13px;
  font-weight: 600;

  letter-spacing: 0.05em;
  border-radius: var(--g-radius-full);
  margin-bottom: var(--g-space-md);
}

.g-app-hero__title {
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--g-white);
  line-height: 1.2;
}

.g-app-hero__subtitle {
  font-size: 1.25rem;
  color: var(--g-gray-300);
  line-height: 1.6;
  margin-bottom: var(--g-space-xl);
}

.g-app-hero__actions {
  display: flex;
  gap: var(--g-space-md);
  flex-wrap: wrap;
}

/* ========================================
   APPLICATION PAGE - CONTENT
   ======================================== */
.g-app-content {
  padding: var(--g-space-2xl) 0;
}

.g-app-content__grid {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: var(--g-space-2xl);
  align-items: start;
}

.g-app-content__main {
  max-width: none;
}

.g-app-content__sidebar {
  position: sticky;
  top: calc(var(--g-header-height) + var(--g-space-lg));
}

.g-app-content__sidebar .g-post__toc-desktop {
  margin-bottom: var(--g-space-lg);
}

/* ========================================
   APPLICATION PAGE - PRODUCTS
   ======================================== */
.g-app-products {
  position: relative;
  padding: var(--g-space-2xl) 0;
  overflow: hidden;
  isolation: isolate; /* Creates stacking context so z-index:-1 bg stays within section */
}

/* Shared premium blue gradient background (used by app-products and tax-products) */
.g-app-products__bg,
.g-tax-products__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 80% 60% at 90% 10%,
      rgba(23, 92, 211, 0.25) 0%,
      transparent 60%
    ),
    radial-gradient(
      ellipse 60% 50% at 10% 90%,
      rgba(23, 92, 211, 0.15) 0%,
      transparent 50%
    ),
    linear-gradient(
      145deg,
      rgba(0, 47, 91, 0.95) 0%,
      rgba(10, 22, 40, 1) 50%,
      rgba(5, 15, 30, 1) 100%
    ),
    var(--g-navy);
  z-index: -1;
}

.g-app-products__bg::before,
.g-tax-products__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(255, 255, 255, 0.003) 2px,
    rgba(255, 255, 255, 0.003) 4px
  );
  pointer-events: none;
}

.g-app-products__bg::after,
.g-tax-products__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1) 20%,
    rgba(255, 255, 255, 0.1) 80%,
    transparent
  );
}

.g-app-products__header {
  margin-bottom: var(--g-space-2xl);
}

.g-app-products__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--g-space-lg);
}

/* Product Card */
.g-product-card {
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  transition:
    transform var(--g-transition),
    box-shadow var(--g-transition);
}

.g-product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.g-product-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.g-product-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  flex-shrink: 0;
}

.g-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.g-product-card:hover .g-product-card__media img {
  transform: scale(1.1);
}

.g-product-card__overlay {
  position: absolute;
  inset: 0;
  background: transparent;
}

.g-product-card__content {
  padding: var(--g-space-lg);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.g-product-card__title {
  font-size: 1.125rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-xs);
}

.g-product-card__desc {
  font-size: 14px;
  color: var(--g-gray-600);
  line-height: 1.6;
  margin-bottom: var(--g-space-md);
}

.g-product-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 14px;
  font-weight: 600;
  margin-top: auto;
}

.g-product-card__cta svg {
  transition: transform var(--g-transition-fast);
}

.g-product-card:hover .g-product-card__cta svg {
  transform: translateX(4px);
}

/* ========================================
   APPLICATION PAGE - RESOURCES
   ======================================== */
.g-app-resources {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
}

.g-app-resources__section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-lg) var(--g-space-xl);
  background: var(--g-navy);
  border-radius: var(--g-radius-lg);
  margin-bottom: var(--g-space-xl);
}

.g-app-resources__section-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--g-white);
  margin: 0;
}

.g-app-resources__grid {
  display: grid;
  gap: var(--g-space-xl);
}

/* App Card - Used by products-solutions component */
.g-app-card {
  scroll-snap-align: start;
}

.g-app-card__link {
  display: block;
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  background: var(--g-navy);
  box-shadow: var(--g-shadow-lg);
  border: 2px solid white;
}

.g-app-card__media {
  position: absolute;
  inset: 0;
}

.g-app-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.g-app-card__link:hover .g-app-card__media img {
  transform: scale(1.1);
}

.g-app-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.9), transparent 60%);
}

.g-app-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--g-space-xl);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.g-app-card__content h3 {
  font-size: 1.125rem;
  color: var(--g-white);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-break: break-word;
}

/* ========================================
   APPLICATION PAGE - CONTACT
   ======================================== */
.g-app-contact {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
}

.g-app-contact__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-3xl);
  align-items: start;
}

.g-app-contact__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--g-navy);
  margin: var(--g-space-sm) 0 var(--g-space-md);
}

.g-app-contact__desc {
  font-size: 1.0625rem;
  color: var(--g-gray-600);
  line-height: 1.7;
  margin-bottom: var(--g-space-xl);
}


.g-app-contact__features {
  display: none; /* TODO: restore in the future */
  list-style: none;
  padding: 0;
  margin: 0 0 var(--g-space-xl);
}

.g-app-contact__features li {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-sm) 0;
  color: var(--g-gray-700);
}

.g-app-contact__features li svg {
  color: var(--g-green);
  flex-shrink: 0;
}

.g-app-contact__direct {
  padding-top: var(--g-space-lg);
  border-top: 1px solid var(--g-gray-200);
}

.g-app-contact__direct p {
  font-size: 14px;
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-sm);
}

.g-app-contact__link {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-sm);
  font-size: 1rem;
  font-weight: 600;
  color: var(--g-blue-light);
}

.g-app-contact__link:hover {
  color: var(--g-blue);
}

.g-app-contact__form {
  background: var(--g-gray-50);
  border-radius: var(--g-radius-xl);
  padding: var(--g-space-xl);
}

/* Contact Us page only */
.page-contact-us .g-app-contact__form {
  background: var(--g-navy);
  color: var(--g-white);
}

.page-contact-us .g-app-contact__form .g-form-label {
  color: var(--g-white);
}

.page-contact-us .g-app-contact__form .g-radio__label {
  color: var(--g-gray-200);
}

.page-contact-us .g-app-contact__form .g-form-input,
.page-contact-us .g-app-contact__form .g-form-textarea,
.page-contact-us .g-app-contact__form .g-form-select:not(.tomselected) {
  background: var(--g-navy-light);
  border-color: var(--g-gray-600);
  color: var(--g-white);
}

.page-contact-us .g-app-contact__form .g-form-input::placeholder,
.page-contact-us .g-app-contact__form .g-form-textarea::placeholder {
  color: var(--g-gray-400);
}

.page-contact-us .g-app-contact__form .g-radio__check {
  border-color: var(--g-gray-500);
}

/* ========================================
   RESPONSIVE - APPLICATION PAGE
   ======================================== */
@media (max-width: 1024px) {
  .g-app-content__grid {
    grid-template-columns: 1fr;
  }

  .g-app-content__sidebar {
    position: static;
  }

  .g-app-contact__grid {
    grid-template-columns: 1fr;
    gap: var(--g-space-2xl);
  }
}

@media (max-width: 768px) {
  .g-app-hero {
    min-height: 320px;
  }

  .g-app-hero__actions {
    flex-direction: column;
  }

  .g-app-hero__actions .g-btn {
    width: 100%;
    justify-content: center;
  }

  .g-apps__track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .g-apps__track::-webkit-scrollbar {
    display: none;
  }

  .g-app-card {
    flex: 0 0 85vw;
  }

  .g-products-solutions__track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .g-products-solutions__track::-webkit-scrollbar {
    display: none;
  }

  /* Hide slider nav arrows on mobile - touch scrolling is available */
  .g-apps__nav {
    display: none;
  }

  .g-products-solutions__nav {
    display: none;
  }
}

/* ========================================
   TAXONOMY PRODUCT CATEGORY - HERO
   ======================================== */
.g-tax-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  padding: calc(var(--g-header-height) + var(--g-space-xl)) 0 var(--g-space-xl);
  overflow: hidden;
}

.g-tax-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.g-tax-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.g-tax-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.92) 0%,
    rgba(10, 22, 40, 0.75) 100%
  );
}

.g-tax-hero__inner {
  display: flex;
  align-items: stretch;
  gap: var(--g-space-3xl);
  justify-content: space-between;
}

.g-tax-hero__text {
  flex: 1;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.g-tax-hero__top {
  margin-bottom: var(--g-space-lg);
}

.g-tax-hero__title {
  font-size: clamp(2rem, 5vw, 3.25rem);
  color: var(--g-white);
  line-height: 1.15;
  margin-bottom: 0;
}

.g-tax-hero__subtitle {
  font-size: 1.125rem;
  color: var(--g-gray-300);
  line-height: 1.7;
  margin-bottom: var(--g-space-xl);
}

.g-tax-hero__actions {
  display: flex;
  gap: var(--g-space-md);
  flex-wrap: wrap;
}

/* TODO: Temporarily hidden — restore .g-tax-hero__media in the future */
.g-tax-hero__media {
  flex-shrink: 0;
  max-width: 420px;
  display: none;
}

.g-tax-hero__image-box {
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
  padding: var(--g-space-md);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.g-tax-hero__image-box img {
  width: 100%;
  height: auto;
  border-radius: var(--g-radius-lg);
  display: block;
  object-fit: fill;
}

/* ========================================
   TAXONOMY - ABOUT SECTION
   ======================================== */
.g-tax-about {
  padding: var(--g-space-2xl) 0;
}

.g-tax-about__grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--g-space-3xl);
  align-items: start;
}

.g-tax-about__grid--full {
  grid-template-columns: 1fr;
}

.g-tax-about__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--g-navy);
  margin-bottom: var(--g-space-lg);
  padding-bottom: var(--g-space-md);
  border-bottom: 4px solid var(--g-yellow);
}

.g-tax-about__text {
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.g-tax-about__text > p,
.g-tax-about__text > ul,
.g-tax-about__text > ol,
.g-tax-about__text > h2,
.g-tax-about__text > h3,
.g-tax-about__text > h4,
.g-tax-about__text > blockquote {
  max-width: 800px;
}

.g-tax-about__text > table,
.g-tax-about__text > .acf-table-wrap {
  width: 100%;
  max-width: none;
  display: table;
}

.g-tax-about__text[data-collapsed="true"] {
  max-height: 280px;
  position: relative;
}

.g-tax-about__text[data-collapsed="true"]::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to bottom, transparent, var(--g-white));
  pointer-events: none;
}

.g-tax-about__media {
  position: sticky;
  top: calc(var(--g-header-height) + var(--g-space-lg));
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  box-shadow: var(--g-shadow-xl);
}

.g-tax-about__media img {
  width: 100%;
  height: auto;
  display: block;
}

/* Table th link hover styling */
.g-tax-about__text th a {
  color: var(--g-navy);
  text-decoration: none;
  transition: color 0.2s ease;
}

.g-tax-about__text th a:hover {
  color: var(--g-red);
}

/* ========================================
   READ MORE BUTTON - Global Component
   ======================================== */
.g-read-more-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-2xl);
  background: var(--g-navy);
  color: var(--g-white);
  border: 2px solid var(--g-navy);
  border-radius: var(--g-radius-full);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  margin: var(--g-space-xl) auto 0;
  transition: all var(--g-transition);
}

.g-read-more-btn:hover {
  background: transparent;
  color: var(--g-navy);
  transform: translateY(-2px);
  box-shadow: var(--g-shadow-md);
}

.g-read-more-btn:hover .g-read-more-btn__icon {
  background: var(--g-navy);
}

.g-read-more-btn:hover .g-read-more-btn__icon svg {
  stroke: var(--g-white);
}

.g-read-more-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  transition: transform var(--g-transition);
}

.g-read-more-btn[aria-expanded="true"] .g-read-more-btn__icon {
  transform: rotate(180deg);
}

/* ========================================
   TAXONOMY - PRODUCTS SECTION
   ======================================== */
.g-tax-products {
  position: relative;
  padding: var(--g-space-2xl) 0;
  isolation: isolate; /* Creates stacking context for z-index:-1 bg */
}

/* .g-tax-products__bg styles are shared with .g-app-products__bg above */

.g-tax-products__section {
  margin-bottom: var(--g-space-3xl);
}

.g-tax-products__section:last-child {
  margin-bottom: 0;
}

.g-tax-products__header {
  margin-bottom: var(--g-space-2xl);
}

.g-tax-products__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--g-space-lg);
}

.g-tax-products__slider {
  position: relative;
}

.g-tax-products__slider .g-card-slider__item {
  flex: 0 0 calc(25% - var(--g-space-lg) * 3 / 4);
}

.g-tax-products__slider .g-product-card {
  height: 100%;
}

/* ========================================
   TAXONOMY - RESOURCES SECTION
   ======================================== */
.g-tax-resources {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
}

.g-tax-resources__header {
  margin-bottom: var(--g-space-2xl);
}

/* Tabs - for 3+ categories */
.g-tax-resources__tabs {
  display: flex;
  justify-content: center;
  gap: var(--g-space-sm);
  margin-bottom: var(--g-space-2xl);
  flex-wrap: wrap;
}

.g-tax-resources__tab {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-md) var(--g-space-xl);
  background: var(--g-white);
  border: 2px solid var(--g-gray-200);
  border-radius: var(--g-radius-lg);
  font-size: 15px;
  font-weight: 600;
  color: var(--g-gray-600);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-tax-resources__tab:hover {
  border-color: var(--g-navy);
  color: var(--g-navy);
}

.g-tax-resources__tab.is-active {
  background: var(--g-navy);
  border-color: var(--g-navy);
  color: var(--g-white);
}

.g-tax-resources__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: var(--g-gray-100);
  border-radius: var(--g-radius-full);
  font-size: 13px;
  font-weight: 700;
}

.g-tax-resources__tab.is-active .g-tax-resources__tab-count {
  background: var(--g-yellow);
  color: var(--g-navy);
}

/* Panels */
.g-tax-resources__panel {
  display: none;
}

.g-tax-resources__panel.is-active {
  display: block;
  animation: fadeInUp 0.4s ease;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Section headers - for 1-2 categories */
.g-tax-resources__section {
  margin-bottom: var(--g-space-3xl);
}

.g-tax-resources__section:last-child {
  margin-bottom: 0;
}

.g-tax-resources__section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-lg) var(--g-space-xl);
  background: var(--g-navy);
  border-radius: var(--g-radius-lg);
  margin-bottom: var(--g-space-xl);
}

.g-tax-resources__section-title {
  font-size: 1.25rem;
  color: var(--g-white);
  margin: 0;
}

.g-tax-resources__section-count {
  font-size: 14px;
  font-weight: 600;
  color: var(--g-yellow);
}

.g-tax-resources__list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-lg);
}

/* ========================================
   UNIFIED LISTING CARD
   A single smart component for all listings:
   Articles, Videos, Resources, Use Cases
   ======================================== */
.g-listing-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--g-space-xl);
  padding: var(--g-space-xl);
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
  box-shadow: var(--g-shadow-md);
  transition: all var(--g-transition);
}

.g-listing-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--g-shadow-xl);
}

/* Vertical layout variant */
.g-listing-card--vertical {
  grid-template-columns: 1fr;
  text-align: center;
}

.g-listing-card--vertical .g-listing-card__content {
  align-items: center;
}

.g-listing-card--vertical .g-btn {
  align-self: center;
}

/* Applications archive: card overrides */
.g-archive-apps__grid .g-listing-card {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.g-archive-apps__grid .g-listing-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}

.g-archive-apps__grid .g-listing-card__title {
  font-size: 1rem;
}

.g-archive-apps__grid .g-listing-card__media img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
}

.g-archive-apps__grid .g-listing-card .g-btn {
  align-self: flex-start;
  margin-top: auto;
}

/* Media */
.g-listing-card__media {
  position: relative;
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  aspect-ratio: 16/12;
}

.g-listing-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.g-listing-card:hover .g-listing-card__media img {
  transform: scale(1.05);
}

.g-listing-card__media-link {
  display: block;
  width: 100%;
  height: 100%;
}

/* Video button */
.g-listing-card__video-btn {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  position: relative;
}

.g-listing-card__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 22, 40, 0);
  transition: background var(--g-transition);
}

.g-listing-card:hover .g-listing-card__play {
  background: rgba(10, 22, 40, 0.4);
}

.g-listing-card__play svg {
  transform: scale(1);
  transition: transform var(--g-transition);
}

.g-listing-card:hover .g-listing-card__play svg {
  transform: scale(1.1);
}

/* Preview Icon (for PDF/images) */
.g-listing-card__preview-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-navy-overlay-light);
  opacity: 0;
  transition:
    opacity var(--g-transition),
    background var(--g-transition);
}

.g-listing-card__preview-icon svg {
  color: var(--g-white);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  transform: scale(1);
  transition: transform var(--g-transition);
}

button.g-listing-card__media-link {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  position: relative;
}

.g-listing-card:hover .g-listing-card__preview-icon {
  opacity: 1;
  background: var(--g-navy-overlay-medium);
}

.g-listing-card:hover .g-listing-card__preview-icon svg {
  transform: scale(1.1);
}

/* Content */
.g-listing-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--g-space-sm);
}

/* Meta (date, category) */
.g-listing-card__meta {
  font-size: 13px;
  color: var(--g-gray-500);
}

.g-listing-card__date {
  color: var(--g-gray-500);
}

.g-listing-card__category a {
  color: var(--g-blue-light);
  transition: color var(--g-transition-fast);
}

.g-listing-card__category a:hover {
  color: var(--g-blue);
}

/* Title */
.g-listing-card__title {
  font-size: 1.375rem;
  color: var(--g-navy);
  margin: 0;
  line-height: 1.3;
}

.g-listing-card__title a,
.g-listing-card__title-btn {
  color: inherit;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
  transition: color var(--g-transition-fast);
}

.g-listing-card__title a:hover,
.g-listing-card__title-btn:hover {
  color: var(--g-blue-light);
}

/* Badge */
.g-listing-card__badge {
  display: inline-block;
  margin-left: var(--g-space-sm);
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;

  background: var(--g-yellow);
  color: var(--g-navy);
  border-radius: var(--g-radius-sm);
  vertical-align: middle;
}

/* Description */
.g-listing-card__desc {
  font-size: 15px;
  color: var(--g-gray-600);
  line-height: 1.7;
}

.g-listing-card__desc p {
  margin: 0;
}

/* CTA Button */
.g-listing-card .g-btn {
  align-self: flex-start;
  margin-top: var(--g-space-md);
}

/* List layout - no cards, separator lines */
/* Listing card spacing in list contexts */
.g-related-posts__list .g-listing-card,
.g-product-tabs__panel .g-listing-card,
.g-tax-resources__panel .g-listing-card,
.g-tax-resources__list .g-listing-card,
.g-app-resources__grid .g-listing-card {
  margin-bottom: var(--g-space-lg);
}

.g-related-posts__list .g-listing-card:last-child,
.g-product-tabs__panel .g-listing-card:last-child,
.g-tax-resources__panel .g-listing-card:last-child,
.g-tax-resources__list .g-listing-card:last-child,
.g-app-resources__grid .g-listing-card:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .g-listing-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .g-listing-card__media {
    max-width: 300px;
    margin: 0 auto;
  }

  .g-listing-card__content {
    align-items: center;
  }

  .g-listing-card .g-btn {
    align-self: center;
  }

  .g-listing-card__title-btn {
    text-align: center;
  }
}

/* ========================================
   TAXONOMY - RELATED PRODUCTS
   ======================================== */
/* ========================================
   PRODUCTS & SOLUTIONS - Reusable Component
   Smart component: slider for >4 items, centered grid for <=4
   ======================================== */
.g-products-solutions {
  position: relative;
  padding: var(--g-space-2xl) 0;
  background: var(--g-yellow);
  overflow: hidden;
}

.g-products-solutions__header {
  margin-bottom: var(--g-space-2xl);
}

/* Slider Mode */
.g-products-solutions__slider {
  position: relative;
}

.g-products-solutions__track {
  display: flex;
  gap: var(--g-space-lg);
  overflow: hidden;
  scroll-behavior: smooth;
  padding: var(--g-space-sm) 0;
}

.g-products-solutions__track::-webkit-scrollbar {
  display: none;
}

.g-products-solutions__track .g-app-card {
  flex: 0 0 calc(25% - var(--g-space-lg) * 3 / 4);
  scroll-snap-align: start;
}

.g-products-solutions__nav {
  display: flex;
  justify-content: center;
  gap: var(--g-space-md);
  margin-top: var(--g-space-xl);
}

.g-products-solutions__btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--g-white);
  border: none;
  border-radius: 50%;
  color: var(--g-navy);
  box-shadow: var(--g-shadow-md);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-products-solutions__btn:hover {
  background: var(--g-navy);
  color: var(--g-white);
  transform: scale(1.1);
}

.g-products-solutions__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

/* Grid Mode - Centered */
.g-products-solutions__grid {
  display: flex;
  justify-content: center;
  gap: var(--g-space-lg);
  flex-wrap: wrap;
}

.g-products-solutions__grid .g-app-card {
  flex: 0 0 280px;
  max-width: 280px;
}

@media (max-width: 1024px) {
  .g-products-solutions__track .g-app-card {
    flex: 0 0 85vw;
  }
}

/* ========================================
   TAXONOMY - CONTACT SECTION
   ======================================== */
.g-tax-contact {
  padding: var(--g-space-2xl) 0;
  background: var(--g-white);
}

.g-tax-contact__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-3xl);
  align-items: start;
}

.g-tax-contact__info {
  display: flex;
  flex-direction: column;
}

.g-tax-contact__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--g-navy);
  margin: var(--g-space-sm) 0 var(--g-space-md);
}

.g-tax-contact__desc {
  font-size: 1.0625rem;
  color: var(--g-gray-600);
  line-height: 1.7;
  margin-bottom: var(--g-space-xl);
}

.g-tax-contact__features {
  display: none; /* TODO: restore in the future */
  list-style: none;
  padding: 0;
  margin: 0 0 var(--g-space-xl);
  flex-direction: column;
  gap: var(--g-space-xs);
}

.g-tax-contact__features li {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  padding: var(--g-space-sm) 0;
  color: var(--g-gray-700);
  font-size: 15px;
}

.g-tax-contact__features li svg {
  color: var(--g-green);
  flex-shrink: 0;
}

.g-tax-contact__direct {
  padding-top: var(--g-space-lg);
  border-top: 1px solid var(--g-gray-200);
  margin-top: auto;
}

.g-tax-contact__direct p {
  font-size: 14px;
  color: var(--g-gray-500);
  margin-bottom: var(--g-space-sm);
}

.g-tax-contact__link {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-sm);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--g-blue-light);
  transition: color var(--g-transition-fast);
}

.g-tax-contact__link:hover {
  color: var(--g-blue);
}

.g-tax-contact__link svg {
  flex-shrink: 0;
}

.g-tax-contact__form {
  background: var(--g-gray-50);
  border-radius: var(--g-radius-xl);
  padding: var(--g-space-xl);
}

/* ========================================
   RESPONSIVE
   ======================================== */

/* Tablet & below: Show mobile toggle */
@media (max-width: 1024px) {
  .g-hero-wrap {
    height: auto;
  }

  .g-header__nav {
    display: none;
  }

  .g-header__toggle {
    display: flex;
  }

  .g-hero__content {
    grid-template-columns: 1fr;
    text-align: center;
    min-height: 380px;
  }

  .g-hero__visual {
    display: none;
  }

  .g-solutions__grid {
    grid-template-columns: 1fr;
  }

  .g-solutions__grid--equal {
    grid-template-columns: repeat(2, 1fr);
  }

  .g-news__grid {
    grid-template-columns: 1fr;
  }

  .g-products__grid > * {
    flex: 0 0 calc(50% - var(--g-space-lg) / 2);
  }

  .g-footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--g-space-xl);
  }

  .g-footer__col--info {
    grid-column: span 2;
    padding-right: 0;
    margin-bottom: var(--g-space-xl);
  }
}

@media (max-width: 768px) {
  :root {
    --g-header-height: 70px;
  }

  .g-header__logo img {
    height: 40px;
  }

  .g-hero {
    min-height: auto;
  }

  .g-hero__content {
    padding: var(--g-space-xl) 0;
    min-height: 380px;
  }

  .g-hero__actions {
    flex-direction: column;
  }

  .g-event__inner {
    flex-direction: column;
    text-align: center;
  }

  .g-event__content {
    flex-direction: column;
  }

  .g-event__meta {
    justify-content: center;
  }

  .g-apps__header-inner {
    flex-direction: column;
    text-align: center;
  }

  .g-section-header--row {
    flex-direction: column;
    align-items: flex-start;
  }

  .g-news__small {
    grid-template-columns: 1fr;
  }

  .g-footer__grid {
    grid-template-columns: 1fr;
  }

  .g-footer__col--info {
    grid-column: span 1;
    text-align: center;
  }

  .g-footer__col--social {
    text-align: center;
  }

  .g-footer__social {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .g-container {
    padding: 0 var(--g-space-md);
  }

  .g-hero__title {
    font-size: 2rem;
  }

  .g-btn {
    width: 100%;
    justify-content: center;
  }

  .g-event__badge {
    font-size: 12px;
  }

  .g-event__meta {
    flex-direction: column;
    gap: var(--g-space-sm);
  }

  .g-solutions__grid--equal {
    grid-template-columns: 1fr;
  }

  .g-solutions__grid--equal .g-card--equal {
    min-height: 200px;
  }

  .g-products__grid > * {
    flex: 0 0 100%;
  }

  .g-float-quote {
    font-size: 12px;
    padding: 10px 12px;
  }

  .g-back-top {
    width: 40px;
    height: 40px;
    right: 16px;
    bottom: 80px;
  }

  .g-float-quote {
    top: auto;
    bottom: 130px;
    transform: none;
  }
}

/* Page Template Responsive */
@media (max-width: 768px) {
  .g-page-header {
    min-height: 220px;
    padding: var(--g-space-2xl) 0 var(--g-space-xl);
  }

  .g-page-content {
    padding: var(--g-space-2xl) 0;
  }

  .g-page-content__main {
    font-size: 1rem;
  }

  .g-page-content__main h2 {
    font-size: 1.5rem;
  }

  .g-page-content__main h3 {
    font-size: 1.25rem;
  }
}

@media (max-width: 576px) {
  .g-page-header {
    min-height: 180px;
  }

  .g-page-content__main blockquote {
    padding: var(--g-space-md);
  }

  .g-page-content__main table {
    font-size: 14px;
  }

  .g-page-content__main th,
  .g-page-content__main td {
    padding: var(--g-space-xs) var(--g-space-sm);
  }
}

/* ========================================
   ACCESSIBILITY & MOTION
   ======================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }

  .g-clients__track {
    animation: none;
  }

  .g-hero__visual img {
    animation: none;
  }
}

/* 404 & Search Responsive */
@media (max-width: 768px) {
  .g-error-page__actions {
    flex-direction: column;
    align-items: center;
  }

  .g-error-page__actions .g-btn {
    width: 100%;
    max-width: 280px;
  }

  .g-search-card__link {
    flex-direction: column;
  }

  .g-search-card__media {
    width: 100%;
    height: 160px;
  }

  .g-popular-links--inline .g-popular-links__list {
    flex-direction: column;
    gap: var(--g-space-sm);
  }
}

@media (max-width: 576px) {
  .g-error-page {
    padding: var(--g-space-xl) var(--g-space-md);
  }

  .g-popular-links--buttons .g-popular-links__buttons {
    flex-direction: column;
  }

  .g-popular-links--buttons .g-btn {
    width: 100%;
  }

  .g-pagination a,
  .g-pagination span {
    min-width: 38px;
    height: 38px;
    font-size: 14px;
  }
}

/* ========================================
   SINGLE POST RESPONSIVE
   ======================================== */
@media (max-width: 1024px) {
  .g-post__layout {
    grid-template-columns: 1fr;
  }

  .g-post__sidebar {
    order: -1;
  }

  .g-post__toc-desktop {
    display: none;
  }

  .g-post__toc-mobile {
    display: block;
  }

  .g-post__products {
    display: none;
  }

  .g-post__products-mobile {
    display: block;
  }

  .g-post__form-sticky {
    position: static;
  }
}

@media (max-width: 768px) {
  .g-post-banner {
    min-height: 220px;
    padding: var(--g-space-2xl) 0;
  }

  .g-author-box {
    flex-direction: column;
    text-align: center;
  }

  .g-author-box__avatar img {
    width: 80px;
    height: 80px;
  }

  .g-author-box__social {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .g-post {
    padding: var(--g-space-2xl) 0;
  }

  .g-author-box {
    padding: var(--g-space-lg);
  }
}

/* Admin Bar Fix for Sticky */
.admin-bar .g-post__form-sticky {
  top: calc(var(--g-header-height) + 52px);
}

@media (max-width: 782px) {
  .admin-bar .g-post__form-sticky {
    top: calc(var(--g-header-height) + 66px);
  }
}

/* Archive Responsive */
@media (max-width: 1024px) {
  .g-archive__layout {
    grid-template-columns: 1fr;
  }

  .g-archive__sidebar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--g-space-lg);
  }

  .g-widget--search {
    grid-column: span 2;
  }

  .g-widget--cta {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .g-archive__grid {
    grid-template-columns: 1fr;
  }

  .g-archive__sidebar {
    grid-template-columns: 1fr;
  }

  .g-widget--search,
  .g-widget--cta {
    grid-column: span 1;
  }
}

@media (max-width: 576px) {
  .g-archive {
    padding: var(--g-space-2xl) 0;
  }

  .g-archive-card__media {
    height: 160px;
  }
}

/* ========================================
   RESPONSIVE - PAGE TEMPLATE
   ======================================== */
@media (max-width: 768px) {
  .g-card-slider__track {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .g-card-slider__track::-webkit-scrollbar {
    display: none;
  }

  .g-card-slider__item,
  .g-tax-products__slider .g-card-slider__item {
    flex: 0 0 260px;
  }

  .g-card-slider__nav {
    display: none;
  }
}

@media (max-width: 576px) {
  .g-card-slider__item,
  .g-tax-products__slider .g-card-slider__item {
    flex: 0 0 85vw;
  }
}

/* ========================================
   RESPONSIVE - TAXONOMY
   ======================================== */
@media (max-width: 1024px) {
  .g-tax-hero__inner {
    flex-direction: column;
    text-align: center;
  }

  .g-tax-hero__text {
    max-width: 100%;
  }

  .g-tax-hero__actions {
    justify-content: center;
  }

  .g-tax-hero__media {
    max-width: 350px;
  }

  .g-tax-about__grid {
    grid-template-columns: 1fr;
  }

  .g-tax-about__media {
    position: static;
    max-width: 500px;
    margin: 0 auto;
  }

  .g-tax-related__icon {
    display: none;
  }

  .g-tax-contact__grid {
    grid-template-columns: 1fr;
    gap: var(--g-space-2xl);
  }
}

@media (max-width: 768px) {
  .g-tax-hero {
    min-height: auto;
    padding-top: calc(var(--g-header-height) + var(--g-space-xl));
  }

  .g-tax-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  .g-tax-hero__actions .g-btn {
    width: 100%;
    justify-content: center;
  }

  .g-tax-resources__tabs {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: var(--g-space-sm);
    scrollbar-width: none;
  }

  .g-tax-resources__tabs::-webkit-scrollbar {
    display: none;
  }

  .g-tax-resources__tab {
    flex-shrink: 0;
  }

  .g-tax-resources__section-header {
    flex-direction: column;
    gap: var(--g-space-sm);
    text-align: center;
  }

  .g-related-posts__header,
  .g-app-resources__section-header {
    padding: var(--g-space-md) var(--g-space-lg);
  }

  .g-related-posts__title,
  .g-app-resources__section-title {
    font-size: 1.125rem;
  }
}

@media (max-width: 576px) {
  .g-tax-products__grid {
    grid-template-columns: 1fr;
  }

  .g-read-more-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 576px) {
  .g-app-products__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .g-tax-contact__grid {
    grid-template-columns: 1fr;
    gap: var(--g-space-2xl);
  }
}

@media (max-width: 768px) {
  .g-tax-contact {
    padding: var(--g-space-2xl) 0;
  }

  .g-tax-contact__features li {
    font-size: 14px;
  }
}
/* ========================================
   RESPONSIVE FIXES - Mobile (576px)
   ======================================== */
@media (max-width: 576px) {
  /* Distributor carousel - full-width cards on mobile */
  .g-distributor-card {
    flex: 0 0 85vw;
  }

  /* Error page - reduce decorative shapes */
  .g-error-page__shape--1 {
    width: 200px;
    height: 200px;
  }
  .g-error-page__shape--2 {
    width: 150px;
    height: 150px;
  }

  /* Listing card image - full width on mobile */
  .g-listing-card__media {
    max-width: 100%;
  }

  /* Product gallery - 2 columns on mobile */
  .g-product-gallery__thumbs {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Hero title - fluid scaling */
  .g-hero__title {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }

  /* Gallery title bar - smaller on mobile */
  .g-product-gallery__title-text {
    font-size: 1.25rem;
  }

  /* Related posts header - smaller on mobile */
  .g-related-posts__header {
    padding: var(--g-space-sm) var(--g-space-md);
  }
  .g-related-posts__title {
    font-size: 1rem;
  }

  /* FAQ title - smaller on mobile */
  .g-product-faq__title {
    font-size: 1rem;
  }
}

/* ========================================
   PRINT STYLES
   ======================================== */
@media print {
  .g-header,
  .g-footer,
  .g-back-top,
  .g-float-quote,
  .g-mobile-menu {
    display: none !important;
  }

  .g-hero-wrap,
  .g-hero {
    margin-top: 0;
  }

  .g-hero__dots-bar {
    display: none;
  }
}

/* ========================================
   SINGLE PRODUCT
   ======================================== */

/* Hero */
.g-product-hero {
  padding-top: calc(var(--g-header-height) + var(--g-space-lg));
  padding-bottom: var(--g-space-xl);
  background: var(--g-white);
}

/* Gallery Title Bar */
.g-product-gallery__title-bar {
  background: var(--g-navy);
  padding: var(--g-space-md) 0;
  text-align: center;
}

.g-product-gallery__title-bar .g-container {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--g-space-sm);
  flex-wrap: wrap;
}

.g-product-gallery__title-text {
  color: var(--g-yellow);
  font-size: 1.725rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.g-product-gallery__h1 {
  color: var(--g-white);
  font-size: 1.725rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: 0.02em;
}

@media (max-width: 768px) {
  .g-product-gallery__title-bar {
    padding: var(--g-space-sm) 0;
  }

  .g-product-gallery__title-bar .g-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .g-product-gallery__title-text {
    font-size: clamp(1.5rem, 3vw, 2rem);
  }

  .g-product-gallery__h1 {
    font-size: 1rem;
  }

  .g-product-gallery__colon {
    display: none;
  }
}

.g-product-hero__gallery > .g-breadcrumbs {
  margin-top: var(--g-space-sm);
  margin-bottom: var(--g-space-sm);
}

.g-product-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-4xl);
  align-items: start;
}

/* Gallery */
.g-product-gallery__main {
  position: relative;
  background: var(--g-gray-50);
  border: 1px solid var(--g-gray-200);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  margin-bottom: var(--g-space-md);
}

.g-product-gallery__main-btn {
  display: block;
  width: 100%;
  background: none;
  border: none;
  cursor: zoom-in;
  padding: 0;
}

.g-product-gallery__main img {
  width: 100%;
  height: auto;
  display: block;
}

.g-product-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--g-space-sm);
}

.g-product-gallery__thumb {
  padding: 0;
  background: var(--g-white);
  border: 1px solid var(--g-gray-200);
  border-radius: var(--g-radius-md);
  overflow: hidden;
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-product-gallery__thumb:hover {
  border-color: var(--g-blue-light);
}

.g-product-gallery__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

/* Product Info */
.g-product-hero__info {
  padding-top: calc(var(--g-space-md) + 20px);
}

.g-product-hero__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--g-navy);
  line-height: 1.3;
  margin-bottom: var(--g-space-sm);
}

.g-product-hero__subtitle {
  font-size: 1.25rem;
  color: var(--g-gray-900);
  font-weight: 700;
  margin-bottom: var(--g-space-sm);
}

.g-product-hero__desc {
  color: var(--g-gray-600);
  margin-bottom: var(--g-space-xl);
}

.g-product-hero__desc ul {
  list-style: none;
  padding-left: 0;
}

.g-product-hero__desc ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: var(--g-space-sm);
}

.g-product-hero__desc ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  background-image: url("../img/gidel-icon.png");
  background-size: contain;
  background-repeat: no-repeat;
}

.g-product-hero__desc ul ul {
  list-style: none !important;
  margin-top: var(--g-space-sm);
  margin-left: var(--g-space-md);
  padding-left: 0;
}

.g-product-hero__desc ul ul li {
  padding-left: 24px;
}

.g-product-hero__desc ul ul li::marker {
  content: none;
}

.g-product-hero__desc ul ul li::before {
  width: 14px;
  height: 14px;
  top: 5px;
}

/* Product Quote Actions - stack button + link */
.g-product-hero__quote {
  display: flex;
  flex-direction: column;
  align-items: anchor-center;
  gap: var(--g-space-sm);
}

/* View Quote Link */
.g-view-quote-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--g-blue-light);
  text-decoration: none;
  transition:
    color 0.2s ease,
    gap 0.2s ease;
}

.g-view-quote-link:hover {
  color: var(--g-blue);
  gap: 10px;
}

.g-view-quote-link svg {
  flex-shrink: 0;
}

/* Tabs */
.g-product-tabs__nav-wrap {
  background: var(--g-navy);
  position: sticky;
  top: var(--g-header-height);
  z-index: 100;
}

.admin-bar .g-product-tabs__nav-wrap {
  top: calc(var(--g-header-height) + 32px);
}

@media (max-width: 782px) {
  .admin-bar .g-product-tabs__nav-wrap {
    top: calc(var(--g-header-height) + 46px);
  }
}

.g-product-tabs__nav {
  display: flex;
  gap: var(--g-space-xs);
  overflow-x: auto;
  scrollbar-width: none;
  padding: var(--g-space-sm) 0;
}

.g-product-tabs__nav::-webkit-scrollbar {
  display: none;
}

.g-product-tabs__btn {
  padding: var(--g-space-sm) var(--g-space-lg);
  background: transparent;
  border: none;
  color: var(--g-gray-400);
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  border-radius: var(--g-radius-md);
  transition: all var(--g-transition);
}

.g-product-tabs__btn:hover {
  color: var(--g-white);
  background: rgba(255, 255, 255, 0.1);
}

.g-product-tabs__btn.is-active {
  background: var(--g-yellow);
  color: var(--g-navy);
}

.g-product-tabs__content {
  padding: var(--g-space-xl) 0;
  padding-bottom: 0 !important;
  background: var(--g-gray-50);
}

.g-product-tabs__panel {
  display: none;
  animation: fadeIn 0.3s ease;
}

.g-product-tabs__panel.is-active {
  display: block;
}

.g-product-tabs__grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: var(--g-space-3xl);
}

.g-product-tabs__main.g-prose > h3:first-child,
.g-product-tabs__main.g-prose > h2:first-child {
  margin-top: 0;
}

.g-product-tabs__sidebar {
  background: linear-gradient(135deg, var(--g-navy), var(--g-navy-light));
  padding: var(--g-space-xl);
  border-radius: var(--g-radius-lg);
  color: rgba(255, 255, 255, 0.9);
  align-self: start;
}

.g-product-tabs__sidebar h2,
.g-product-tabs__sidebar h3,
.g-product-tabs__sidebar h4,
.g-product-tabs__sidebar strong {
  color: var(--g-white);
}

.g-product-tabs__sidebar ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.g-product-tabs__sidebar ul li {
  position: relative;
  padding-left: 1.75em;
  margin-bottom: var(--g-space-sm);
  line-height: 1.5;
}

.g-product-tabs__sidebar ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23f9a800' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.g-product-tabs__sidebar a {
  color: var(--g-yellow);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.g-product-tabs__sidebar a:hover {
  color: var(--g-yellow-light);
}

.g-product-tabs__note {
  margin-top: var(--g-space-xl);
  padding: var(--g-space-lg);
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  border-left: 4px solid var(--g-yellow);
}

.g-product-tabs__cta {
  margin-top: var(--g-space-xl);
}

/* Documentation Table */
.g-docs-table-wrap {
  overflow-x: auto;
  border-radius: var(--g-radius-lg);
  border: 1px solid var(--g-gray-200);
  background: var(--g-white);
}

.g-docs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  table-layout: fixed;
}

.g-docs-table thead {
  background: var(--g-navy);
  color: var(--g-white);
}

.g-docs-table th {
  padding: var(--g-space-md) var(--g-space-lg);
  text-align: left;
  font-weight: 600;
  font-size: 14px;

  letter-spacing: 0.03em;
}

.g-docs-table__th-name {
  width: 28%;
}

.g-docs-table__th-desc {
  width: 32%;
}

.g-docs-table__th-type {
  width: 10%;
  text-align: center;
}

.g-docs-table__th-size {
  width: 10%;
  text-align: center;
}

.g-docs-table__th-action {
  width: 20%;
  text-align: center;
}

.g-docs-table__row {
  border-bottom: 1px solid var(--g-gray-200);
  transition: background-color var(--g-transition-fast);
}

.g-docs-table__row:last-child {
  border-bottom: none;
}

.g-docs-table__row:hover {
  background: var(--g-gray-50);
}

.g-docs-table__cell {
  padding: var(--g-space-md) var(--g-space-lg);
  vertical-align: middle;
}

.g-docs-table__cell-name {
  font-weight: 600;
  color: var(--g-navy);
}

.g-docs-table__name-wrap {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
}

.g-docs-table__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--g-gray-200);
  color: var(--g-gray-600);
  border-radius: var(--g-radius-sm);
  flex-shrink: 0;
}

.g-docs-table__icon--pdf {
  background: #fee2e2;
  color: #dc2626;
}

.g-docs-table__icon--word {
  background: #dbeafe;
  color: #2563eb;
}

.g-docs-table__icon--excel {
  background: #dcfce7;
  color: #16a34a;
}

.g-docs-table__icon--archive {
  background: #fef3c7;
  color: #d97706;
}

.g-docs-table__icon--image {
  background: #e0e7ff;
  color: #4f46e5;
}

.g-docs-table__title {
  line-height: 1.3;
}

.g-docs-table__cell-desc {
  color: var(--g-gray-600);
  font-size: 14px;
  line-height: 1.5;
}

.g-docs-table__cell-type {
  width: 10%;
}

.g-docs-table__type-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;

  letter-spacing: 0.03em;
  border-radius: var(--g-radius-sm);
  background: var(--g-gray-200);
  color: var(--g-gray-700);
}

.g-docs-table__type-badge--pdf {
  background: #fee2e2;
  color: #dc2626;
}

.g-docs-table__type-badge--word {
  background: #dbeafe;
  color: #2563eb;
}

.g-docs-table__type-badge--excel {
  background: #dcfce7;
  color: #16a34a;
}

.g-docs-table__type-badge--archive {
  background: #fef3c7;
  color: #d97706;
}

.g-docs-table__type-badge--image {
  background: #e0e7ff;
  color: #4f46e5;
}

.g-docs-table__cell-size {
  width: 10%;
  color: var(--g-gray-500);
  font-size: 13px;
  white-space: nowrap;
}

.g-docs-table__cell-action {
  text-align: center;
  width: 20%;
}

.g-docs-table__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--g-white);
  background: var(--g-red);
  border-radius: var(--g-radius-sm);
  transition: background-color var(--g-transition-fast);
}

.g-docs-table__btn:hover {
  background: var(--g-red-dark);
  color: var(--g-white);
}

.g-docs-table__btn--view {
  background: var(--g-blue);
}

.g-docs-table__btn--view:hover {
  background: var(--g-navy);
}

.g-docs-table__btn--remove {
  padding: 8px 16px;
  background: var(--g-red);
  color: var(--g-white);
}

.g-docs-table__btn--remove:hover {
  background: var(--g-red-dark);
}

/* Product Image in Docs Table */
.g-docs-table__icon--product {
  width: 44px;
  height: 44px;
  background: var(--g-gray-100);
  border-radius: var(--g-radius-sm);
  overflow: hidden;
}

.g-docs-table__icon--product img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

/* Quote Table Category Link */
.g-quote-table__category {
  color: var(--g-blue-light);
  font-weight: 500;
}

.g-quote-table__category:hover {
  color: var(--g-blue);
  text-decoration: underline;
}

/* Button Loading State */
.g-btn.is-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.7;
}

.g-btn.is-loading::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: 50%;
  left: 50%;
  margin: -9px 0 0 -9px;
  border: 2px solid transparent;
  border-top-color: currentColor;
  border-radius: 50%;
  animation: g-spin 0.8s linear infinite;
}

@keyframes g-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Documentation Table Responsive - Tablet */
@media (max-width: 1024px) {
  .g-docs-table {
    table-layout: auto;
  }

  .g-docs-table__th-desc {
    width: auto;
  }

  .g-docs-table__cell-desc {
    max-width: 200px;
  }
}

/* Documentation Table Responsive - Mobile */
@media (max-width: 768px) {
  .g-docs-table thead {
    display: none;
  }

  .g-docs-table,
  .g-docs-table tbody,
  .g-docs-table tr,
  .g-docs-table td {
    display: block;
  }

  .g-docs-table__row {
    padding: var(--g-space-md);
    margin-bottom: var(--g-space-sm);
    border: 1px solid var(--g-gray-200);
    border-radius: var(--g-radius-md);
  }

  .g-docs-table__row:last-child {
    margin-bottom: 0;
  }

  .g-docs-table__icon {
    display: none;
  }

  .g-docs-table__cell {
    padding: var(--g-space-xs) 0;
  }

  .g-docs-table__cell-name {
    padding-bottom: var(--g-space-sm);
  }

  .g-docs-table__cell-desc {
    padding-bottom: var(--g-space-sm);
  }

  .g-docs-table__cell-type {
    text-align: left;
    padding-bottom: var(--g-space-sm);
  }

  .g-docs-table__cell-size {
    text-align: left;
    padding-bottom: var(--g-space-sm);
  }

  .g-docs-table__cell-size::before {
    content: "Size: ";
    font-weight: 600;
    color: var(--g-navy);
  }

  .g-docs-table__cell-qty {
    text-align: left;
    padding-bottom: var(--g-space-sm);
  }

  .g-docs-table__cell-qty::before {
    content: "Qty: ";
    font-weight: 600;
    color: var(--g-navy);
    display: inline;
    vertical-align: middle;
    margin-right: var(--g-space-xs);
  }

  .g-docs-table__cell-action {
    text-align: left;
    padding-top: var(--g-space-sm);
  }

  .g-docs-table__btn {
    width: 100%;
    justify-content: center;
  }
}

/* ========================================
   UNIFIED MEDIA LIGHTBOX
   For videos, PDFs, and images
   ======================================== */
.g-media-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
}

.g-media-lightbox[aria-hidden="false"],
.g-media-lightbox.is-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.g-media-lightbox__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 22, 40, 0.95);
  backdrop-filter: blur(8px);
}

.g-media-lightbox__container {
  position: relative;
  z-index: 1;
  width: 95vw;
  max-width: 1200px;
  height: 90vh;
  background: var(--g-navy-dark);
  border-radius: var(--g-radius-xl);
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: mediaLightboxIn 0.3s ease;
}

@keyframes mediaLightboxIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.g-media-lightbox__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-navy);
  color: var(--g-white);
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.g-media-lightbox__info {
  display: flex;
  align-items: center;
  gap: var(--g-space-md);
  min-width: 0;
  flex: 1;
}

.g-media-lightbox__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--g-red);
  border-radius: var(--g-radius-md);
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.g-media-lightbox__icon--video {
  background: #ff0000;
}

.g-media-lightbox__icon--image {
  background: var(--g-blue-light);
}

.g-media-lightbox__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.g-media-lightbox__title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: var(--g-white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.g-media-lightbox__subtitle {
  font-size: 13px;
  color: var(--g-gray-400);
}

.g-media-lightbox__actions {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  flex-shrink: 0;
}

.g-media-lightbox__action {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--g-white);
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--g-radius-sm);
  transition: background-color var(--g-transition-fast);
}

.g-media-lightbox__action:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--g-white);
}

.g-media-lightbox__action--source {
  background: #ff0000;
}

.g-media-lightbox__action--source:hover {
  background: #cc0000;
}

.g-media-lightbox__action--download {
  background: var(--g-green);
}

.g-media-lightbox__action--download:hover {
  background: var(--g-green-dark);
}

.g-media-lightbox__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: var(--g-radius-sm);
  color: var(--g-white);
  cursor: pointer;
  transition: background-color var(--g-transition-fast);
  margin-left: var(--g-space-sm);
}

.g-media-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.g-media-lightbox__content {
  flex: 1;
  position: relative;
  background: var(--g-gray-900);
  overflow: hidden;
}

.g-media-lightbox__loader {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--g-space-md);
  background: var(--g-gray-900);
  color: var(--g-gray-400);
  font-size: 14px;
  z-index: 1;
}

.g-media-lightbox__loader.is-hidden {
  display: none;
}

.g-media-lightbox__spinner {
  width: 44px;
  height: 44px;
  border: 3px solid var(--g-gray-700);
  border-top-color: var(--g-red);
  border-radius: 50%;
  animation: mediaSpinner 0.8s linear infinite;
}

@keyframes mediaSpinner {
  to {
    transform: rotate(360deg);
  }
}

.g-media-lightbox__video,
.g-media-lightbox__pdf,
.g-media-lightbox__image {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.g-media-lightbox__video.is-active,
.g-media-lightbox__pdf.is-active {
  display: block;
}

.g-media-lightbox__image.is-active {
  display: block;
  object-fit: fill;
  padding: var(--g-space-lg);
  background: var(--g-gray-900);
}

/* Responsive */
@media (max-width: 768px) {
  .g-media-lightbox__container {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }

  .g-media-lightbox__header {
    padding: var(--g-space-sm) var(--g-space-md);
    gap: var(--g-space-sm);
  }

  .g-media-lightbox__info {
    gap: var(--g-space-sm);
  }

  .g-media-lightbox__icon {
    width: 36px;
    height: 36px;
    font-size: 10px;
  }

  .g-media-lightbox__icon svg {
    width: 16px;
    height: 16px;
  }

  .g-media-lightbox__title {
    font-size: 0.9rem;
  }

  .g-media-lightbox__subtitle {
    font-size: 0.7rem;
  }

  .g-media-lightbox__actions {
    gap: var(--g-space-xs);
  }

  .g-media-lightbox__action span {
    display: none;
  }

  .g-media-lightbox__action,
  .g-media-lightbox__close {
    padding: 8px;
    width: 36px;
    height: 36px;
  }

  .g-media-lightbox__action svg,
  .g-media-lightbox__close svg {
    width: 18px;
    height: 18px;
  }
}

/* Spec Table */
.g-spec-group {
  margin-bottom: var(--g-space-2xl);
}

.g-spec-group__title {
  font-size: 1.25rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-lg);
  padding-bottom: var(--g-space-sm);
  border-bottom: 2px solid var(--g-yellow);
}

.g-spec-table {
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  box-shadow: var(--g-shadow-sm);
}

.g-spec-table__row {
  display: grid;
  grid-template-columns: 250px 1fr;
}

.g-spec-table__row:not(:last-child) {
  border-bottom: 1px solid var(--g-gray-200);
}

.g-spec-table__label {
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-navy);
  color: var(--g-white);
  font-weight: 600;
  font-size: 14px;
}

.g-spec-table__value {
  padding: var(--g-space-md) var(--g-space-lg);
  color: var(--g-gray-700);
}

.g-spec-table__value ul {
  list-style: disc;
  padding-left: var(--g-space-xl);
}

.g-spec-table__value ol {
  list-style: decimal;
  padding-left: var(--g-space-xl);
}

.g-spec-table__value li {
  margin-bottom: var(--g-space-xs);
}

/* FPGA Table */
.g-fpga-table-wrap {
  background: var(--g-white);
  border-radius: var(--g-radius-lg);
  overflow: hidden;
  box-shadow: var(--g-shadow-md);
}

.g-fpga-table__title {
  padding: var(--g-space-lg);
  background: var(--g-yellow);
  color: var(--g-navy);
  font-size: 1.125rem;
  margin: 0;
}

.g-fpga-table {
  overflow-x: auto;
}

.g-fpga-table table {
  width: 100%;
  border-collapse: collapse;
}

.g-fpga-table th,
.g-fpga-table td {
  padding: var(--g-space-md);
  text-align: left;
  border: 1px solid var(--g-gray-200);
}

.g-fpga-table th {
  background: var(--g-gray-100);
  font-weight: 600;
  color: var(--g-navy);
}

.g-fpga-table__header-main,
.g-fpga-table__cell-main {
  background: var(--g-navy) !important;
  color: var(--g-white) !important;
  font-weight: 600;
}

/* Resources Section */
.g-resources-section {
  margin-bottom: var(--g-space-2xl);
}

.g-resources-section__title {
  font-size: 1.25rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-lg);
  padding-bottom: var(--g-space-sm);
  border-bottom: 2px solid var(--g-yellow);
}

.g-resources-list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-lg);
}

/* Related Articles */
.g-related-articles {
  padding: 0 0 var(--g-space-xl);
  background: var(--g-gray-50);
}

.g-related-articles .g-tax-resources__section-header {
  margin-bottom: var(--g-space-lg);
}

/* Product FAQ */
.g-product-faq {
  padding: var(--g-space-xl) 0;
  background: var(--g-gray-50);
}

.g-product-faq__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-lg) var(--g-space-xl);
  background: var(--g-navy);
  border-radius: var(--g-radius-lg);
  margin-bottom: var(--g-space-xl);
}

.g-product-faq__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--g-white);
  margin: 0;
}

.g-product-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--g-space-sm);
}

.g-product-faq__more {
  margin-top: var(--g-space-lg);
  text-align: center;
}

.g-faq-item {
  background: var(--g-white);
  border-radius: var(--g-radius-md);
  border: 1px solid var(--g-gray-200);
  overflow: hidden;
  transition: box-shadow var(--g-transition);
}

.g-faq-item:hover {
  box-shadow: var(--g-shadow-sm);
}

.g-faq-item.is-hidden {
  display: none;
}

.g-faq-item__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--g-space-md);
  padding: var(--g-space-lg) var(--g-space-xl);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  color: var(--g-navy);
  text-align: left;
  line-height: 1.5;
}

.g-faq-item__question svg {
  flex-shrink: 0;
  color: var(--g-gray-400);
  transition: transform 0.3s ease;
}

.g-faq-item__question[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.g-faq-item__answer {
  padding: 0 var(--g-space-xl) var(--g-space-lg);
  color: var(--g-gray-600);
  line-height: 1.7;
  font-size: 15px;
}

.g-faq-item__answer p {
  margin-bottom: var(--g-space-sm);
}

.g-faq-item__answer p:last-child {
  margin-bottom: 0;
}

.g-faq-item__answer ul {
  list-style: disc;
  padding-left: var(--g-space-xl);
  margin-top: var(--g-space-sm);
}

.g-faq-item__answer li {
  margin-bottom: var(--g-space-xs);
}

/* ========================================
   QUOTE PAGE
   ======================================== */

/* Quote Items Section */
.g-quote-items {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
}

.g-quote-items__header {
  margin-bottom: var(--g-space-2xl);
}

/* Quote Table */
.g-quote-table {
  width: 100%;
  border-collapse: collapse;
}

.g-quote-table thead {
  background: var(--g-navy);
  color: var(--g-white);
}

.g-quote-table th {
  padding: var(--g-space-md) var(--g-space-lg);
  text-align: left;
  font-weight: 600;
  font-size: 14px;

  letter-spacing: 0.5px;
}

.g-quote-table th:last-child {
  text-align: center;
  width: 100px;
}

.g-quote-table td {
  padding: var(--g-space-md) var(--g-space-lg);
  border-bottom: 1px solid var(--g-gray-200);
  vertical-align: middle;
}

.g-quote-table tbody tr:last-child td {
  border-bottom: none;
}

.g-quote-table tbody tr:hover {
  background: var(--g-gray-50);
}

/* Quantity Stepper */
.g-qty-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--g-gray-300);
  border-radius: var(--g-radius-md);
  overflow: hidden;
}

.g-qty-stepper__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: var(--g-gray-100);
  color: var(--g-gray-700);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease;
  user-select: none;
  line-height: 1;
}

.g-qty-stepper__btn:hover {
  background: var(--g-gray-200);
  color: var(--g-navy);
}

.g-qty-stepper__btn:active {
  background: var(--g-gray-300);
}

.g-qty-stepper__input {
  width: 48px;
  height: 36px;
  border: none;
  border-left: 1px solid var(--g-gray-300);
  border-right: 1px solid var(--g-gray-300);
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  background: var(--g-white);
  -moz-appearance: textfield;
}

.g-qty-stepper__input::-webkit-outer-spin-button,
.g-qty-stepper__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.g-qty-stepper__input:focus {
  outline: none;
  background: var(--g-blue-50, #eff6ff);
}

.g-docs-table__th-qty {
  width: 140px;
  text-align: center;
}

.g-docs-table__cell-qty {
  text-align: center;
}

.g-form-group {
  margin-bottom: var(--g-space-lg);
}

.g-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--g-space-lg);
}

.g-form-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--g-navy);
  margin-bottom: var(--g-space-xs);
}

.g-required {
  color: var(--g-red);
}

.g-form-input,
.g-form-textarea {
  width: 100%;
  padding: var(--g-space-md);
  border: 1px solid var(--g-gray-300);
  border-radius: var(--g-radius-md);
  font-size: 15px;
  transition: all var(--g-transition);
}

.g-form-select {
  width: 100%;
  border-radius: var(--g-radius-md);
  font-size: 15px;
  transition: all var(--g-transition);
}

.g-form-select:not(.tomselected) {
  padding: var(--g-space-md);
  border: 1px solid var(--g-gray-300);
}

.g-form-input:focus,
.g-form-textarea:focus,
.g-form-select:focus {
  outline: none;
  border-color: var(--g-blue-light);
  box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.1);
}

/* Tom Select overrides to match theme */
.ts-wrapper.single .ts-control {
  padding: var(--g-space-md);
  border: 1px solid var(--g-gray-300);
  border-radius: var(--g-radius-md);
  font-size: 15px;
  background: #fff;
  cursor: pointer;
}

.ts-wrapper.single .ts-control:hover,
.ts-wrapper.single.focus .ts-control {
  border-color: var(--g-blue-light);
  box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.1);
}

.ts-dropdown {
  border: 1px solid var(--g-gray-300);
  border-radius: var(--g-radius-md);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.ts-dropdown .option {
  padding: var(--g-space-sm) var(--g-space-md);
  font-size: 14px;
}

.ts-dropdown .active {
  background: var(--g-gray-100);
}

.g-radio-group {
  display: flex;
  gap: var(--g-space-lg);
}

.g-radio-group--wrap {
  flex-wrap: wrap;
}

.g-radio {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
  cursor: pointer;
}

.g-radio input {
  display: none;
}

.g-radio__check {
  width: 20px;
  height: 20px;
  border: 2px solid var(--g-gray-300);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--g-transition);
}

.g-radio__check::after {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--g-blue-light);
  border-radius: 50%;
  transform: scale(0);
  transition: transform var(--g-transition);
}

.g-radio input:checked + .g-radio__check {
  border-color: var(--g-blue-light);
}

.g-radio input:checked + .g-radio__check::after {
  transform: scale(1);
}

.g-radio__label {
  font-size: 14px;
  color: var(--g-gray-700);
}

.g-form-group--submit {
  margin-top: var(--g-space-xl);
  text-align: center;
}

/* ========================================
   THANK YOU PAGE
   ======================================== */
.g-thank-you {
  min-height: calc(100vh - var(--g-header-height) - 200px);
  display: flex;
  align-items: center;
  padding: var(--g-space-2xl) 0;
}

.g-thank-you__content {
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

.g-thank-you__icon {
  width: 120px;
  height: 120px;
  margin: 0 auto var(--g-space-xl);
  color: var(--g-gray-200);
}

.g-thank-you__icon svg {
  width: 100%;
  height: 100%;
}

.g-thank-you__circle {
  animation: circleIn 0.8s ease forwards 0.2s;
}

.g-thank-you__check {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: checkIn 0.5s ease forwards 0.8s;
}

@keyframes circleIn {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes checkIn {
  to {
    stroke-dashoffset: 0;
  }
}

.g-thank-you__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--g-navy);
  margin-bottom: var(--g-space-lg);
}

.g-thank-you__message {
  color: var(--g-gray-600);
  margin-bottom: var(--g-space-2xl);
}

.g-thank-you__actions {
  display: flex;
  gap: var(--g-space-md);
  justify-content: center;
  flex-wrap: wrap;
}

/* Lightbox */
.g-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.g-lightbox[hidden] {
  display: none;
}

.g-lightbox__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  cursor: pointer;
}

.g-lightbox__content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
}

.g-lightbox__close {
  position: absolute;
  top: -50px;
  right: 0;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: var(--g-white);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--g-transition);
}

.g-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.g-lightbox__nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: var(--g-white);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--g-transition);
  z-index: 1;
}

.g-lightbox__nav:hover {
  background: rgba(255, 255, 255, 0.2);
}

.g-lightbox__nav--prev {
  left: 20px;
}

.g-lightbox__nav--next {
  right: 20px;
}

.g-lightbox__image {
  max-width: 100%;
  max-height: 80vh;
  border-radius: var(--g-radius-md);
}

.g-lightbox__counter {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--g-white);
  font-size: 14px;
  background: rgba(0, 0, 0, 0.5);
  padding: 4px 16px;
  border-radius: var(--g-radius-full);
}

/* Responsive */
@media (max-width: 1024px) {
  .g-product-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--g-space-2xl);
  }

  .g-product-tabs__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .g-spec-table__row {
    grid-template-columns: 1fr;
  }

  .g-spec-table__label {
    padding: var(--g-space-sm) var(--g-space-md);
  }

  .g-spec-table__value {
    padding: var(--g-space-sm) var(--g-space-md);
  }

  .g-form-row {
    grid-template-columns: 1fr;
  }

  .g-lightbox__nav--prev {
    left: 10px;
  }

  .g-lightbox__nav--next {
    right: 10px;
  }
}

.g-tax-hero__inner {
  display: flex;
  flex-direction: row;
}

/* ========================================
   APPLICATIONS ARCHIVE
   ======================================== */
.g-archive-apps {
  padding: var(--g-space-2xl) 0;
}

.g-archive-apps__header {
  margin-bottom: var(--g-space-2xl);
}

.g-archive-apps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--g-space-lg);
}

.g-archive-apps__empty {
  text-align: center;
  padding: var(--g-space-3xl);
  color: var(--g-gray-500);
}

/* Application Archive Card */
.g-archive-app-card {
  position: relative;
  border-radius: var(--g-radius-xl);
  overflow: hidden;
  background: var(--g-white);
  box-shadow: var(--g-shadow-md);
  transition: all var(--g-transition);
}

.g-archive-app-card:hover {
  box-shadow: var(--g-shadow-xl);
  transform: translateY(-4px);
}

.g-archive-app-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.g-archive-app-card__media {
  position: relative;
  aspect-ratio: 16/12;
  overflow: hidden;
}

.g-archive-app-card__media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.5s ease;
}

.g-archive-app-card:hover .g-archive-app-card__media img {
  transform: scale(1.08);
}

.g-archive-app-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(10, 22, 40, 0.8) 0%,
    transparent 60%
  );
  opacity: 0.7;
  transition: opacity var(--g-transition);
}

.g-archive-app-card:hover .g-archive-app-card__overlay {
  opacity: 1;
}

.g-archive-app-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--g-space-lg);
  color: var(--g-white);
}

.g-archive-app-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: var(--g-space-xs);
  line-height: 1.3;
}

.g-archive-app-card__desc {
  font-size: 14px;
  opacity: 0.85;
  line-height: 1.5;
  margin-bottom: var(--g-space-sm);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.g-archive-app-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 14px;
  font-weight: 600;
  color: var(--g-yellow);
  opacity: 0;
  transform: translateY(10px);
  transition: all var(--g-transition);
}

.g-archive-app-card:hover .g-archive-app-card__cta {
  opacity: 1;
  transform: translateY(0);
}

.g-archive-app-card__cta svg {
  transition: transform var(--g-transition);
}

.g-archive-app-card:hover .g-archive-app-card__cta svg {
  transform: translateX(4px);
}

/* Responsive - Applications Archive */
@media (max-width: 1200px) {
  .g-archive-apps__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .g-archive-apps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .g-archive-apps__grid {
    grid-template-columns: 1fr;
  }

  .g-archive-app-card__title {
    font-size: 1.125rem;
  }
}

/* ========================================
   SOLUTIONS ARCHIVE
   ======================================== */
.g-solutions-archive {
  padding: var(--g-space-2xl) 0;
  background: var(--g-gray-50);
}

.g-solutions-archive__layout {
  display: block;
}

/* Solutions Main Content */
.g-solutions-main {
  min-width: 0;
}

.g-solutions-main__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--g-space-lg);
  padding: var(--g-space-lg);
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
  margin-bottom: var(--g-space-xl);
  box-shadow: var(--g-shadow-sm);
}

.g-solutions-main__info {
  flex: 1;
  min-width: 0;
}

.g-solutions-main__title {
  font-size: 1.5rem;
  color: var(--g-navy);
  margin-bottom: var(--g-space-xs);
}

.g-solutions-main__desc {
  font-size: 14px;
  color: var(--g-gray-600);
  line-height: 1.6;
  margin: 0;
}

/* Solutions Grid */
.g-solutions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--g-space-lg);
}

.g-solutions-empty {
  text-align: center;
  padding: var(--g-space-3xl);
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
  color: var(--g-gray-500);
}

.g-solutions-empty svg {
  margin-bottom: var(--g-space-md);
  opacity: 0.3;
}

/* Solution Card */
.g-solution-card {
  background: var(--g-white);
  border-radius: var(--g-radius-xl);
  overflow: hidden;
  box-shadow: var(--g-shadow-md);
  transition: all var(--g-transition);
}

.g-solution-card:hover {
  box-shadow: var(--g-shadow-lg);
  transform: translateY(-3px);
}

.g-solution-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.g-solution-card__media {
  aspect-ratio: 4/3;
  background: var(--g-gray-100);
  overflow: hidden;
}

.g-solution-card__media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.4s ease;
}

.g-solution-card:hover .g-solution-card__media img {
  transform: scale(1.05);
}

.g-solution-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-gray-300);
}

.g-solution-card__content {
  padding: var(--g-space-lg);
}

.g-solution-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--g-navy);
  margin-bottom: var(--g-space-xs);
  line-height: 1.3;
}

.g-solution-card__desc {
  font-size: 13px;
  color: var(--g-gray-600);
  line-height: 1.5;
  margin-bottom: var(--g-space-sm);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.g-solution-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--g-space-xs);
  font-size: 13px;
  font-weight: 600;
  color: var(--g-blue-light);
  transition: color var(--g-transition);
}

.g-solution-card:hover .g-solution-card__cta {
  color: var(--g-blue);
}

.g-solution-card__cta svg {
  transition: transform var(--g-transition);
}

.g-solution-card:hover .g-solution-card__cta svg {
  transform: translateX(3px);
}

/* Mobile Category Navigation */
.g-solutions-mobile-nav {
  display: none;
  position: relative;
  margin-bottom: var(--g-space-xl);
}

.g-solutions-mobile-nav__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--g-space-md) var(--g-space-lg);
  background: var(--g-white);
  border: 1px solid var(--g-gray-300);
  border-radius: var(--g-radius-lg);
  font-size: 1rem;
  font-weight: 600;
  color: var(--g-navy);
  cursor: pointer;
  transition: all var(--g-transition);
}

.g-solutions-mobile-nav__toggle:hover {
  border-color: var(--g-blue-light);
}

.g-solutions-mobile-nav__label {
  display: flex;
  align-items: center;
  gap: var(--g-space-sm);
}

.g-solutions-mobile-nav__label svg {
  color: var(--g-blue-light);
}

.g-solutions-mobile-nav__icon {
  transition: transform var(--g-transition);
}

.g-solutions-mobile-nav.is-open .g-solutions-mobile-nav__icon {
  transform: rotate(180deg);
}

.g-solutions-mobile-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: var(--g-space-xs);
  background: var(--g-white);
  border: 1px solid var(--g-gray-200);
  border-radius: var(--g-radius-lg);
  box-shadow: var(--g-shadow-lg);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all var(--g-transition);
}

.g-solutions-mobile-nav.is-open .g-solutions-mobile-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.g-solutions-mobile-nav__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--g-space-md) var(--g-space-lg);
  color: var(--g-gray-700);
  text-decoration: none;
  border-bottom: 1px solid var(--g-gray-100);
  transition: all var(--g-transition);
}

.g-solutions-mobile-nav__item:last-child {
  border-bottom: none;
}

.g-solutions-mobile-nav__item:hover {
  background: var(--g-gray-50);
  color: var(--g-navy);
}

.g-solutions-mobile-nav__item.is-active {
  background: var(--g-blue-light);
  color: var(--g-white);
}

.g-solutions-mobile-nav__count {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: var(--g-radius-full);
}

.g-solutions-mobile-nav__item.is-active .g-solutions-mobile-nav__count {
  background: rgba(255, 255, 255, 0.2);
}

/* Responsive - Solutions Archive */
@media (max-width: 1200px) {
  .g-solutions-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .g-solutions-mobile-nav {
    display: block;
  }

  .g-solutions-main__header {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .g-solutions-main__header .g-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .g-solutions-grid {
    grid-template-columns: 1fr;
  }

  .g-solutions-main__title {
    font-size: 1.25rem;
  }
}

/* Search Highlight */
mark.g-search-highlight {
  background-color: #faed27;
  color: inherit;
  padding: 1px 2px;
  border-radius: 2px;
}
