/* =========================================================
   CONTACT PAGE - SMALLER PAGE HEIGHT / LESS EMPTY SPACE
   ✅ gss-contact-page padding reduced
   ✅ panel margin-top reduced
   ✅ responsive spacing reduced
   ========================================================= */

.gss-contact-page{
  position: relative;
  min-height: auto;              /* ✅ was 100vh */
  overflow: hidden;
  padding: 40px 0 55px;          /* ✅ was 90px 0 120px */
}

/* BG */
.gss-bg{
  position: absolute;
  inset: 0;
  background: url("../img/contact.png") center/cover no-repeat;
  background-attachment: fixed;
  transform: scale(1.02);
  z-index: 0;
}

/* Overlay */
.gss-overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 700px at 18% 20%, rgba(90,170,255,.22), transparent 62%),
    radial-gradient(900px 520px at 86% 55%, rgba(255,120,120,.16), transparent 58%),
    linear-gradient(180deg, rgba(3,10,22,.45), rgba(3,10,22,.78));
  z-index: 1;
}

.gss-wrap{
  position: relative;
  z-index: 2;
  max-width: 1200px;
}

/* Title */
.gss-page-title{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 12px;
  text-align: left;
}

.gss-page-title h1{
  color: #fff;
  font-weight: 900;
  margin: 0;
  font-size: clamp(30px, 3.6vw, 52px); /* ✅ slightly smaller */
}

.gss-bc{
  color: rgba(255,255,255,.75);
  font-size: 13px;
  margin-top: 6px;
}

/* Panel */
.gss-panel{
  position: relative;
  margin-top: 16px;              /* ✅ was 38px */
  border-radius: 18px;
  padding: 20px;                 /* ✅ was 28px */
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(16px);
  box-shadow:
    0 25px 70px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.15);
  overflow: hidden;
}

.gss-panel::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 18px;
  padding: 2px;
  background: linear-gradient(90deg,
    rgba(120,200,255,.45),
    rgba(255,255,255,.12),
    rgba(255,120,120,.35)
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  opacity: .55;
}

.gss-panel-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(600px 260px at 25% 25%, rgba(120,200,255,.10), transparent 60%),
    radial-gradient(700px 320px at 85% 55%, rgba(255,120,120,.08), transparent 60%);
  pointer-events:none;
}

/* Left text */
.gss-kicker{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(120,200,255,.92);
  margin-bottom: 6px;
}

.gss-h2{
  color: rgba(255,255,255,.95);
  font-weight: 900;
  margin: 0 0 8px;
  font-size: clamp(20px, 2.1vw, 32px);
}

.gss-p{
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  margin: 0 0 14px;
}

/* Info */
.gss-info{
  border-radius: 14px;
  padding: 12px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.10);
}

.gss-info-row{
  display: flex;
  gap: 12px;
  padding: 8px 6px;            /* ✅ smaller */
}

.gss-info-row + .gss-info-row{
  border-top: 1px solid rgba(255,255,255,.10);
}

.gss-ico{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(184,15,18,.22);
  border: 1px solid rgba(184,15,18,.25);
  flex: 0 0 34px;
}

.gss-info-title{
  color: rgba(255,255,255,.92);
  font-weight: 800;
  font-size: 13px;
  margin-bottom: 2px;
}

.gss-info-text{
  color: rgba(255,255,255,.70);
  font-size: 14px;
}

/* Form (tight) */
.gss-form{
  margin-top: 12px;
  border-radius: 14px;
  padding: 10px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.10);
}

.gss-form-title{
  color: rgba(255,255,255,.92);
  font-weight: 900;
  font-size: 14px;
  margin-bottom: 6px;
}

.gss-input{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.92) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.gss-input::placeholder{ color: rgba(255,255,255,.55); }

.gss-input--xs{
  height: 34px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.gss-textarea--xs{
  height: 70px !important;
  min-height: 70px !important;
  resize: none;
  padding-top: 8px !important;
}

.gss-btn{
  background: linear-gradient(90deg, #6d080a, #b80f12, #e11b22);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: 0 18px 40px rgba(184,15,18,.30);
}
.gss-btn--xs{
  height: 40px;
  padding: 10px 14px;
}
.gss-btn:hover{ opacity: .92; }

/* Map */
.gss-map{
  height: 100%;
  min-height: 400px;             /* ✅ slightly smaller */
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
}

.gss-map iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Responsive */
@media (max-width: 991px){
  .gss-contact-page{ padding: 35px 0 55px; } /* ✅ smaller */
  .gss-panel{ padding: 16px; }
  .gss-map{ min-height: 420px; }
  .gss-page-title{ text-align: center; }
}

@media (max-width: 768px){
  .gss-bg{ background-attachment: scroll; }
}