/* GoToMoto — shared brand theme */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root {
  --gtm-primary: #E8590C;
  --gtm-primary-dark: #C2410C;
  --gtm-primary-light: #F48C06;
  --gtm-accent: #FFC107;
  --gtm-dark: #0F0F0F;
  --gtm-dark-soft: #1C1C1E;
  --gtm-surface: #2D2D30;
  --gtm-bg: #F4F4F5;
  --gtm-bg-warm: #FAFAF9;
  --gtm-white: #F0F0F0;
  --gtm-text: #1C1C1E;
  --gtm-text-muted: #6B7280;
  --gtm-border: #E5E7EB;
  --gtm-gradient: linear-gradient(135deg, #0F0F0F 0%, #1C1C1E 45%, #E8590C 100%);
  --gtm-gradient-soft: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  --gtm-gradient-auth: linear-gradient(145deg, #0A0A0A 0%, #1C1C1E 50%, #3D2817 100%);
  --gtm-gradient-hero: linear-gradient(135deg, #0A0A0A 0%, #141414 40%, #2A1810 75%, #E8590C 140%);
  --gtm-shadow: 0 8px 24px rgba(15, 15, 15, 0.12);
  --gtm-shadow-primary: 0 8px 24px rgba(232, 89, 12, 0.35);
  --gtm-radius: 12px;
  --gtm-radius-lg: 20px;
  --gtm-font: 'Outfit', 'Segoe UI', system-ui, sans-serif;
  --gtm-focus: 2px solid var(--gtm-primary);
  --gtm-focus-ring: rgba(232, 89, 12, 0.22);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body.gtm-theme {
  font-family: var(--gtm-font);
  color: var(--gtm-text);
  background: var(--gtm-bg);
}

.gtm-brand {
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--gtm-dark-soft);
  line-height: 1;
}

.gtm-brand .gtm-brand-go {
  color: var(--gtm-dark-soft);
}

.gtm-brand .gtm-brand-moto {
  color: var(--gtm-primary);
}

.gtm-brand span {
  color: var(--gtm-primary);
}

.gtm-page-bg {
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(232, 89, 12, 0.08), transparent 60%),
    var(--gtm-bg);
}

.gtm-hero {
  position: relative;
  overflow: hidden;
  background: var(--gtm-gradient-hero);
  color: #fff;
}

.gtm-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 48px,
      rgba(255, 255, 255, 0.03) 48px,
      rgba(255, 255, 255, 0.03) 50px
    );
  pointer-events: none;
}

.gtm-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--gtm-primary), var(--gtm-accent), transparent);
  opacity: 0.85;
}

.gtm-card {
  background: var(--gtm-white);
  border: 1px solid var(--gtm-border);
  border-radius: var(--gtm-radius-lg);
  box-shadow: var(--gtm-shadow);
}

.gtm-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-family: inherit;
  background: linear-gradient(135deg, var(--gtm-primary) 0%, var(--gtm-primary-dark) 100%);
  color: #fff;
  box-shadow: var(--gtm-shadow-primary);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gtm-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(232, 89, 12, 0.45);
}

.gtm-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  border: 2px solid rgba(232, 89, 12, 0.35);
  font-family: inherit;
  background: rgba(240, 240, 240, 0.96);
  color: var(--gtm-dark-soft);
  transition: transform 0.15s ease, background 0.15s ease;
}

.gtm-btn-secondary:hover {
  background: #FFF7ED;
  transform: translateY(-1px);
}
