/* Riverside Contact Form - Styling */

body {
  font-family: Arial, Helvetica, sans-serif;
}

/* ========== HERO SECTION ========== */
.red-bar-top {
  height: 4px;
  background-color: #d32f2f;
  width: 100%;
}

.interior-hero {
  background: linear-gradient(135deg, #1464d1 0%, #0d4a9e 100%);
  color: white;
  padding: 60px 20px;
  text-align: center;
  border-bottom: 4px solid #d32f2f;
}

.interior-hero h1 {
  color: white;
  font-size: 2.5rem;
  margin: 0 0 15px 0;
  font-weight: bold;
}

.interior-hero p {
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.1rem;
  margin: 0;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.red-bar-bottom {
  height: 4px;
  background-color: #d32f2f;
  width: 100%;
}

/* ========== CONTACT METHODS CARDS ========== */
.contact-methods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 50px auto;
  padding: 0 20px;
}

.contact-card {
  background: white;
  border: 2px solid #1464d1;
  border-radius: 8px;
  padding: 30px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.contact-card:hover {
  box-shadow: 0 4px 16px rgba(20, 100, 209, 0.15);
  transform: translateY(-2px);
}

.contact-card h3 {
  color: #1464d1;
  font-size: 1.4rem;
  margin: 0 0 15px 0;
  font-weight: bold;
}

.contact-card p {
  color: #333;
  margin: 10px 0;
  line-height: 1.6;
  font-size: 1rem;
}

.contact-card strong {
  color: #1464d1;
  font-weight: bold;
}

.contact-link {
  color: #1464d1;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.05rem;
  transition: color 0.3s ease;
}

.contact-link:hover {
  color: #d32f2f;
  text-decoration: underline;
}

/* ========== MAIN FORM SECTION ========== */
.contact-page {
  max-width: 900px;
  margin: 40px auto;
  padding: 2rem 1.5rem 3rem;
  background: #ffffff;
}

.contact-title {
  color: #1464d1;
  font-size: 2.2rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

.contact-intro {
  font-size: 1.05rem;
  margin-bottom: 2rem;
  line-height: 1.6;
  color: #333;
}

.contact-form .form-row {
  margin-bottom: 1.5rem;
}

.contact-form label {
  font-weight: bold;
  display: block;
  margin-bottom: 0.4rem;
  color: #333;
}

.field-wrap {
  position: relative;
}

.field-wrap input,
.field-wrap select,
.field-wrap textarea {
  width: 100%;
  padding: 12px 12px 12px 40px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

.field-wrap textarea {
  min-height: 150px;
  resize: vertical;
}

/* Icon base */
.field-wrap::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  opacity: 0.7;
}

/* User icon */
.icon-user::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v1h16v-1c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

/* Email icon */
.icon-email::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 13 2 6.76V18h20V6.76L12 13zm0-2.47L21.5 4H2.5L12 10.53z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

/* Phone icon */
.icon-phone::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.62 10.79a15.091 15.091 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1V21a1 1 0 01-1 1C10.07 22 2 13.93 2 3a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.59a1 1 0 01-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

/* Location icon */
.icon-location::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C8.69 2 6 4.69 6 8c0 4.17 4.5 9.54 5.29 10.47.38.45 1.04.45 1.42 0C13.5 17.54 18 12.17 18 8c0-3.31-2.69-6-6-6zm0 8.5A2.5 2.5 0 1112 5.5a2.5 2.5 0 010 5z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

/* Notes icon */
.icon-notes::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 4h14v2H5zm0 4h14v2H5zm0 4h9v2H5z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

/* Select icon */
.icon-select::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

/* Lock icon */
.icon-lock::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%231464d1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a5 5 0 00-5 5v3H6a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2v-8a2 2 0 00-2-2h-1V7a5 5 0 00-5-5zm-3 5a3 3 0 016 0v3H9V7zm3 5a2 2 0 012 2 2 2 0 01-1 1.73V18h-2v-2.27A2 2 0 0110 14a2 2 0 012-2z'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: no-repeat;
}

.field-wrap input:focus,
.field-wrap select:focus,
.field-wrap textarea:focus {
  border-color: #1464d1;
  box-shadow: 0 0 4px rgba(20, 100, 209, 0.4);
  outline: none;
}

.form-actions {
  margin-top: 1.5rem;
}

.contact-submit {
  background: #1464d1;
  color: #fff;
  padding: 14px 30px;
  font-size: 1.1rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s ease;
}

.contact-submit:hover {
  background: #0d4a9e;
}

.contact-submit:active {
  background: #c62828;
}

.required {
  color: #d32f2f;
  font-weight: bold;
}

/* Hide honeypot */
.hp-field {
  display: none !important;
}

/* ========== THANK YOU PAGE ========== */
.thankyou-page {
  max-width: 700px;
  margin: 3rem auto;
  text-align: center;
  padding: 2rem 1rem 3rem;
}

.thankyou-page h1 {
  color: #1464d1;
  font-size: 2.2rem;
  margin-bottom: 1rem;
}

.thankyou-page p {
  color: #333;
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 1rem 0;
}

.thankyou-page a {
  color: #1464d1;
  text-decoration: none;
  font-weight: bold;
}

.thankyou-page a:hover {
  color: #d32f2f;
  text-decoration: underline;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
  .interior-hero h1 {
    font-size: 1.8rem;
  }
  
  .interior-hero p {
    font-size: 1rem;
  }
  
  .contact-methods {
    gap: 20px;
    padding: 0 10px;
  }
  
  .contact-form {
    font-size: 0.9rem;
  }
  
  .field-wrap input,
  .field-wrap select,
  .field-wrap textarea {
    padding: 10px 10px 10px 35px;
  }
}
