:root {
  --accent: #00AA13;
  --nav-bg: rgba(255, 255, 255, 0.8);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', -apple-system, system-ui, 'Helvetica Neue', Arial, sans-serif;
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: #00AA13; color: #fff; }
a { color: inherit; }
img { max-width: 100%; display: block; }

/* ---- hover states ---- */
.gc-navlink:hover { background: rgba(0, 170, 19, 0.1); color: var(--accent); }
.gc-mobilelink:hover { background: rgba(0, 170, 19, 0.08); color: var(--accent); }
.gc-login-link:hover { color: #0B0B0C; }
.gc-fillbtn-glow:hover { filter: brightness(1.08); }
.gc-liftglow-btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.gc-outline-btn:hover { border-color: #0B0B0C; }
.gc-pillar-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(0, 0, 0, 0.22); border-color: rgba(0, 170, 19, 0.4); }
.gc-white-btn:hover { transform: translateY(-1px); }
.gc-route-link:hover { gap: 9px; }
.gc-footer-link:hover { color: #0B0B0C; }

/* ---- language switcher ---- */
.gc-seg {
  padding: 6px 11px;
  border: none;
  border-radius: 100px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  background: transparent;
  color: #4A4B4D;
  transition: background .15s ease, color .15s ease;
}
.gc-seg-on { background: var(--accent); color: #fff; }

/* ---- mobile nav ---- */
.gc-burger { display: none; }

@media (max-width: 880px) {
  .gc-navlinks { display: none !important; }
  .gc-hide-sm { display: none !important; }
  .gc-burger { display: inline-flex !important; }
  .gc-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .gc-grid-3 { grid-template-columns: 1fr !important; }
  .gc-swap-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .gc-swap-img { order: 2 !important; aspect-ratio: 4 / 3 !important; }
  .gc-rumah-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .gc-price-grid { grid-template-columns: 1fr !important; }
  .gc-bundle-head { flex-direction: column !important; }
  .gc-breakdown-grid { grid-template-columns: 1fr !important; }
  .gc-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .gc-foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px !important; }
  .gc-store-grid { grid-template-columns: 1fr !important; }
  .gc-pad { padding-top: 60px !important; padding-bottom: 60px !important; }
  .gc-padt { padding-top: 64px !important; }
  .gc-padf { padding-top: 56px !important; }
}

@media (max-width: 520px) {
  .gc-grid-4 { grid-template-columns: 1fr !important; }
  .gc-foot-grid { grid-template-columns: 1fr !important; }
}
