/* =========================================================
   GAMERCITY CONTACT THEME (NO CLASS SELECTORS — ONLY [data-*])
   ========================================================= */

[data-gc-contact]{
  --gc-bg: rgba(35,34,39,1);
  --gc-panel: rgba(255,255,255,0.04);
  --gc-border: rgba(255,255,255,0.10);
  --gc-text: rgba(255,255,255,0.92);
  --gc-muted: rgba(255,255,255,0.70);
  --gc-muted-2: rgba(255,255,255,0.55);
  --gc-accent: #403E8F;
  --gc-accent-2: rgba(64,62,143,0.35);
  color: var(--gc-text);
}

[data-gc-contact-hero]{
  background:
    radial-gradient(1200px 500px at 20% 15%, var(--gc-accent-2), transparent 55%),
    radial-gradient(900px 600px at 92% 35%, rgba(255,255,255,0.05), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid var(--gc-border);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.30);
}

/* Badge */
[data-gc-badge]{
  background: rgba(0,0,0,0.22);
  border: 1px solid var(--gc-border);
  border-radius: 999px;
  padding: 8px 12px;
}
[data-gc-dot]{
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--gc-accent);
  box-shadow: 0 0 0 6px rgba(64,62,143,0.18);
}

[data-gc-title]{ letter-spacing: -0.02em; }
[data-gc-lead]{ color: var(--gc-muted); }
[data-gc-muted]{ color: var(--gc-muted); }
[data-gc-muted-2]{ color: var(--gc-muted-2); }
[data-gc-hr]{ border-color: var(--gc-border); opacity: 1; }

/* Panels */
[data-gc-panel]{
  background: rgba(0,0,0,0.18);
  border: 1px solid var(--gc-border);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.28);
}

/* Mini note */
[data-gc-mini-note]{
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--gc-border);
  border-radius: 18px;
}

/* Info cards */
[data-gc-info-card]{
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
  border: 1px solid var(--gc-border);
  border-radius: 18px;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
[data-gc-info-card]:hover{
  transform: translateY(-2px);
  border-color: rgba(64,62,143,0.45);
  box-shadow: 0 18px 45px rgba(0,0,0,0.32);
}
[data-gc-icon]{
  width: 42px; height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(64,62,143,0.18);
  border: 1px solid rgba(64,62,143,0.35);
  font-size: 18px;
}

/* Map placeholder */
[data-gc-map]{
  background: rgba(255,255,255,0.03);
  border: 1px dashed rgba(255,255,255,0.16);
  border-radius: 18px;
}

/* Form styling: we won't target .form-control etc; only data-gc-input */
[data-gc-label]{ color: var(--gc-muted); }
[data-gc-input]{
  background: rgba(0,0,0,0.25) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: var(--gc-text) !important;
  border-radius: 14px !important;
}
[data-gc-input]::placeholder{ color: rgba(255,255,255,0.45) !important; }
[data-gc-input]:focus{
  box-shadow: 0 0 0 .25rem rgba(64,62,143,0.25) !important;
  border-color: rgba(64,62,143,0.55) !important;
}

/* Segmented priority buttons */
[data-gc-seg]{ flex-wrap: wrap; }
[data-gc-seg-btn]{
  border-radius: 999px !important;
}
[data-gc-seg] input:checked + [data-gc-seg-btn]{
  background: rgba(64,62,143,0.30) !important;
  border-color: rgba(64,62,143,0.55) !important;
}

/* Checkbox */
[data-gc-check] .form-check-input{
  background-color: rgba(0,0,0,0.25);
  border-color: rgba(255,255,255,0.25);
}
[data-gc-check] .form-check-input:checked{
  background-color: var(--gc-accent);
  border-color: var(--gc-accent);
}

/* Buttons enhancements */
[data-gc-cta-primary]{
  background: var(--gc-accent);
  border-color: rgba(255,255,255,0.10);
  box-shadow: 0 10px 25px rgba(64,62,143,0.28);
}
[data-gc-cta-primary]:hover{ filter: brightness(1.08); }
[data-gc-cta-secondary]{
  border-color: rgba(255,255,255,0.25);
}
[data-gc-cta-secondary]:hover{
  background: rgba(255,255,255,0.08);
}

/* FAQ */
[data-gc-faq]{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
}

/* Mobile polish */
@media (max-width: 575.98px){
  [data-gc-contact-hero]{ border-radius: 18px; }
  [data-gc-panel], [data-gc-info-card], [data-gc-mini-note]{ border-radius: 18px; }
}