/* ================================
CONTACT PAGE ROOT
================================ */
:root {
  --bg-main: #120028;
  --bg-card: #1c043d;
  --violet: #8234c5;
  --violet-dark: #230952;
  --pink: #ffb4f0;
  --text-main: #e0dcff;
}

/* ================================
BASE
================================ */
body {
  margin: 0;
  font-family: "Inter", sans-serif;
  background: var(--bg-main);
  color: var(--text-main);
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}

.grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 40px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }

/* ================================
CONTACT HERO
================================ */
.contact-hero {
  padding: 130px 0;
  text-align: center;
  background: linear-gradient(336deg, #8234c5, #230952);
}

.contact-badge {
  display: inline-block;
  padding: 8px 22px;
  border-radius: 30px;
  background: linear-gradient(135deg, var(--pink), var(--violet));
  color: #240046;
  font-size: 14px;
}

.contact-hero h1 {
  font-size: 44px;
  color: #fff;
  margin: 18px 0;
}

.contact-hero p {
  max-width: 700px;
  margin: auto;
  color: #ecdfff;
}

/* ================================
CONTACT INFO
================================ */
.contact-info {
  padding: 100px 0;
}

.contact-card {
  padding: 36px;
  border-radius: 24px;
  background: linear-gradient(145deg, #1f063f, #35106d);
  text-align: center;
  transition: transform .4s, box-shadow .4s;
}

.contact-card i {
  font-size: 34px;
  color: var(--pink);
  margin-bottom: 12px;
}

.contact-card a {
  color: var(--pink);
  text-decoration: none;
  font-weight: 500;
}

.contact-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 30px 80px rgba(255,180,240,.4);
}

/* ================================
FORM + MAP
================================ */
.contact-form-section {
  padding: 120px 0;
}

.contact-map iframe {
  width: 100%;
  height: 100%;
  min-height: 380px;
  border-radius: 26px;
  border: none;
}

.contact-form {
  padding: 44px;
  border-radius: 28px;
  background: linear-gradient(145deg, #22064a, #3b0f7a);
}

.contact-form h3 {
  color: #fff;
}

.form-group {
  position: relative;
  margin-bottom: 18px;
}

.form-group i {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  color: var(--pink);
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 14px 16px 14px 44px;
  border-radius: 14px;
  border: none;
  background: #120028;
  color: #fff;
}

.submit-btn {
  width: 100%;
  margin-top: 10px;
  padding: 14px;
  border-radius: 30px;
  border: none;
  background: linear-gradient(135deg, var(--pink), var(--violet));
  color: #240046;
  font-weight: 600;
  cursor: pointer;
}

/* ================================
EXTRA SECTION
================================ */
.contact-extra {
  padding: 110px 0;
}

.extra-card {
  padding: 34px;
  border-radius: 24px;
  background: linear-gradient(145deg, #1c043d, #2c0a5f);
  text-align: center;
  transition: transform .4s, box-shadow .4s;
}

.extra-card i {
  font-size: 32px;
  color: var(--pink);
  margin-bottom: 12px;
}

.extra-card:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 28px 70px rgba(130,52,197,.45);
}

/* ================================
RESPONSIVE
================================ */
@media(max-width:992px){
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-2{grid-template-columns:1fr;}
}

@media(max-width:600px){
  .grid-3{grid-template-columns:1fr;}
  .contact-hero h1{font-size:30px;}
}
