@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* --- 1. Page Background & Wrapper --- */
body {
  background-color: #f8fafc; /* Soft, airy background */
}

.rt-contact-wrapper {
  font-family: 'Poppins', sans-serif;
  max-width: 1200px;
  margin: 60px auto 100px auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.rt-contact-wrapper * { box-sizing: border-box; }

/* --- 2. The Unified Floating Panel --- */
.rt-contact-panel {
  display: flex;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
  overflow: hidden;
}

/* --- 3. Left Side: Brand Info (Deep Gradient) --- */
.rt-panel-info {
  flex: 1;
  background: linear-gradient(135deg, #059669 0%, #0f172a 100%);
  color: #ffffff;
  padding: 60px 50px;
  position: relative;
  overflow: hidden;
}
/* Beautiful decorative circles in the background */
.rt-panel-info::before {
  content: ''; position: absolute; width: 300px; height: 300px;
  background: rgba(255, 255, 255, 0.05); border-radius: 50%;
  bottom: -100px; right: -100px;
}
.rt-panel-info::after {
  content: ''; position: absolute; width: 150px; height: 150px;
  background: rgba(255, 255, 255, 0.05); border-radius: 50%;
  top: 50px; left: -50px;
}

.rt-info-header h2 { font-size: 32px; font-weight: 700; margin: 0 0 10px; letter-spacing: -0.5px; }
.rt-info-header p { font-size: 15px; color: #d1d5db; margin: 0 0 50px; font-weight: 300; line-height: 1.6; }

/* Minimalist Contact Items */
.rt-contact-item {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 35px;
  position: relative;
  z-index: 2;
}
.rt-contact-item i {
  font-size: 24px;
  color: #34d399; /* Bright mint accent */
  width: 30px;
}
.rt-contact-text h4 { font-size: 13px; font-weight: 400; color: #9ca3af; margin: 0 0 4px; text-transform: uppercase; letter-spacing: 1px; }
.rt-contact-text a, .rt-contact-text p { font-size: 17px; font-weight: 500; color: #ffffff; text-decoration: none; margin: 0; transition: 0.2s; }
.rt-contact-text a:hover { color: #34d399; }

/* --- 4. Right Side: Floating Label Form --- */
.rt-panel-form {
  flex: 1.3;
  padding: 60px 60px;
  background: #ffffff;
}
.rt-panel-form h3 { font-size: 28px; font-weight: 700; color: #0f172a; margin: 0 0 40px; letter-spacing: -0.5px; }

/* Premium Floating Label Inputs */
.rt-input-group {
  position: relative;
  margin-bottom: 35px;
}
.rt-input-group input, .rt-input-group textarea {
  width: 100%;
  border: none;
  border-bottom: 2px solid #e2e8f0;
  padding: 10px 0;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  color: #0f172a;
  background: transparent;
  outline: none;
  transition: 0.3s;
}
.rt-input-group textarea { resize: none; height: 40px; }

/* The label that floats up */
.rt-input-group label {
  position: absolute;
  top: 10px;
  left: 0;
  font-size: 16px;
  color: #94a3b8;
  pointer-events: none;
  transition: 0.3s ease all;
}

/* Float animation triggers on focus OR when there is text */
.rt-input-group input:focus, 
.rt-input-group textarea:focus,
.rt-input-group input:not(:placeholder-shown),
.rt-input-group textarea:not(:placeholder-shown) {
  border-bottom-color: #059669;
}

.rt-input-group input:focus ~ label, 
.rt-input-group textarea:focus ~ label,
.rt-input-group input:not(:placeholder-shown) ~ label,
.rt-input-group textarea:not(:placeholder-shown) ~ label {
  top: -20px;
  font-size: 12px;
  color: #059669;
  font-weight: 600;
}

/* Send Button */
.rt-send-btn {
  background: #059669;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 16px 40px;
  border: none;
  border-radius: 50px; /* Pill shape is very fresh */
  cursor: pointer;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 10px 20px rgba(5, 150, 105, 0.2);
}
.rt-send-btn:hover {
  background: #047857;
  transform: translateY(-2px);
  box-shadow: 0 15px 25px rgba(5, 150, 105, 0.3);
}

/* --- 5. Mobile Responsiveness --- */
@media (max-width: 900px) {
  .rt-contact-panel { flex-direction: column; }
  .rt-panel-info { padding: 50px 30px; }
  .rt-panel-form { padding: 50px 30px; }
}
@media (max-width: 480px) {
  .rt-contact-wrapper { margin: 30px auto 60px auto; padding: 0 15px; }
  .rt-contact-panel { border-radius: 16px; }
  .rt-info-header h2 { font-size: 28px; }
  .rt-contact-text a, .rt-contact-text p { font-size: 15px; }
  .rt-panel-form h3 { font-size: 24px; margin-bottom: 30px; }
  .rt-send-btn { width: 100%; justify-content: center; }
}