/* Testimonials Page Styles */

/* About Section Label (for featured testimonial) */
.about__label {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--color-dark-green);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-16);
  display: block;
}

/* Testimonials Hero Section - Using hero styles from index.css */
/* Hero spacing is handled by index.css */

/* Featured Testimonial Section - Using about section styles */
/* Spacing handled by about section in index.css */
/* Additional spacing adjustments for testimonial content */
section.about {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.about .about__card {
  padding: var(--space-48);
}

.about .about__title {
  margin-bottom: var(--space-24);
}

.about .about__text {
  margin-bottom: var(--space-32);
}

/* Featured testimonial specific styles */
.featured-testimonial__rating {
  display: flex;
  gap: var(--space-4);
  margin-bottom: var(--space-24);
}

.featured-testimonial__rating svg {
  width: 24px;
  height: 24px;
  color: var(--color-accent);
}

/* Featured testimonial quote styling */
.about .about__text.featured-testimonial__quote {
  font-style: italic;
  font-size: var(--fs-lg);
  margin-bottom: var(--space-32);
}

/* Featured testimonial author info styling */
.featured-testimonial__author-name {
  font-weight: 600;
  font-size: var(--fs-base);
  color: var(--color-text);
}

.featured-testimonial__author-location {
  font-size: var(--fs-sm);
  color: var(--color-text-light);
}

/* Featured testimonial details styling */
.featured-testimonial__detail-item {
  display: flex;
  flex-direction: column;
}

.featured-testimonial__detail-label-text {
  font-size: var(--fs-sm);
  color: var(--color-text-light);
  margin-bottom: var(--space-4);
}

.featured-testimonial__detail-value-text {
  font-size: var(--fs-xl);
  font-weight: 600;
  color: var(--color-dark-green);
}

/* Featured testimonial author and details spacing */
.featured-testimonial__author {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  margin-bottom: var(--space-32);
}

.featured-testimonial__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.featured-testimonial__author-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.featured-testimonial__name {
  font-size: var(--fs-base);
  font-weight: 600;
  color: var(--color-text);
}

.featured-testimonial__location {
  font-size: var(--fs-sm);
  color: var(--color-text-light);
}

.featured-testimonial__details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-24);
  padding-top: var(--space-24);
  border-top: 1px solid var(--color-border);
  margin-top: var(--space-24);
}

.featured-testimonial__detail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.featured-testimonial__detail-label {
  font-size: var(--fs-sm);
  color: var(--color-text-light);
  margin-bottom: var(--space-4);
}

.featured-testimonial__detail-value {
  font-size: var(--fs-xl);
  font-weight: 600;
  color: var(--color-dark-green);
}

/* Testimonials Grid Section - Using properties section styles */
/* Add exactly 30px margin above the properties section */
section.properties {
  padding-top: 0 !important;
  padding-bottom: var(--space-80);
  margin-top: 30px !important;
}

/* Ensure proper spacing above the header */
section.properties .properties__header {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: var(--space-48);
}

/* Additional spacing for testimonial cards */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-32);
  margin-top: var(--space-48);
}

/* Testimonial Card */
.testimonial-card {
  background-color: #fff;
  border-radius: var(--radius-lg);
  padding: var(--space-40);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border);
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}

.testimonial-card__rating {
  display: flex;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.testimonial-card__rating svg {
  width: 18px;
  height: 18px;
  color: #fbbf24;
}

.testimonial-card__quote {
  font-size: var(--fs-base);
  line-height: var(--lh-relaxed);
  color: #374151;
  margin-bottom: 0;
  flex: 1;
  padding-top: var(--space-4);
}

.testimonial-card__author {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  margin-bottom: 0;
  margin-top: var(--space-8);
  padding-top: var(--space-16);
}

.testimonial-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.testimonial-card__author-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.testimonial-card__name {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
}

.testimonial-card__location {
  font-size: var(--fs-xs);
  color: var(--color-text-light);
}

.testimonial-card__tag {
  display: inline-block;
  padding: var(--space-6) var(--space-16);
  border-radius: var(--radius-full);
  font-size: var(--fs-xs);
  font-weight: 500;
  width: fit-content;
  margin-top: var(--space-12);
}

.testimonial-card__tag--buying {
  background-color: rgba(59, 130, 246, 0.1);
  color: #2563eb;
}

.testimonial-card__tag--selling {
  background-color: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}

.testimonial-card__tag--both {
  background-color: rgba(168, 85, 247, 0.1);
  color: #9333ea;
}

/* CTA Section - Using contact section styles */
/* Spacing handled by contact section in contact.css */
/* Additional spacing adjustments if needed */

/* ==========================================
   Forminator Form Styles Override
   ========================================== */

/* Reset Forminator default styles */
.contact__form-wrapper .forminator-custom-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

/* Form rows - make them stack vertically by default */
.contact__form-wrapper .forminator-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  margin: 0 !important;
  padding: 0 !important;
}

/* Two-column rows (name fields) */
.contact__form-wrapper .forminator-row.forminator-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
}

/* Single column fields */
.contact__form-wrapper .forminator-col {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

/* Field wrapper */
.contact__form-wrapper .forminator-field {
  margin: 0 !important;
  padding: 0 !important;
}

/* Labels */
.contact__form-wrapper .forminator-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--color-text) !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Required asterisk */
.contact__form-wrapper .forminator-required {
  color: #dc2626 !important;
}

/* Input fields */
.contact__form-wrapper .forminator-input,
.contact__form-wrapper .forminator-textarea,
.contact__form-wrapper .forminator-select-input,
.contact__form-wrapper input[type="text"],
.contact__form-wrapper input[type="email"],
.contact__form-wrapper input[type="tel"],
.contact__form-wrapper input[type="number"],
.contact__form-wrapper select,
.contact__form-wrapper textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  color: var(--color-text) !important;
  background-color: #fff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: auto !important;
  line-height: 1.5 !important;
}

/* Placeholder */
.contact__form-wrapper .forminator-input::placeholder,
.contact__form-wrapper .forminator-textarea::placeholder,
.contact__form-wrapper input::placeholder,
.contact__form-wrapper textarea::placeholder {
  color: #999 !important;
}

/* Focus state */
.contact__form-wrapper .forminator-input:focus,
.contact__form-wrapper .forminator-textarea:focus,
.contact__form-wrapper .forminator-select-input:focus,
.contact__form-wrapper input:focus,
.contact__form-wrapper select:focus,
.contact__form-wrapper textarea:focus {
  outline: none !important;
  border-color: var(--color-dark-green) !important;
  box-shadow: 0 0 0 3px rgba(38, 70, 59, 0.1) !important;
}

/* Textarea */
.contact__form-wrapper .forminator-textarea,
.contact__form-wrapper textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* Select dropdown */
.contact__form-wrapper .forminator-select,
.contact__form-wrapper .forminator-select-wrapper {
  width: 100% !important;
}

.contact__form-wrapper select {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23666'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 20px !important;
  padding-right: 40px !important;
}

/* Radio buttons and checkboxes container */
.contact__form-wrapper .forminator-radio,
.contact__form-wrapper .forminator-checkbox {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-12) !important;
}

/* Individual radio/checkbox items */
.contact__form-wrapper .forminator-radio-inline,
.contact__form-wrapper .forminator-checkbox-inline {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}

/* Make radio group horizontal */
.contact__form-wrapper .forminator-field-radio .forminator-radio,
.contact__form-wrapper .forminator-field-checkbox .forminator-checkbox {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: var(--space-24) !important;
}

/* Radio/checkbox inputs */
.contact__form-wrapper .forminator-radio input[type="radio"],
.contact__form-wrapper .forminator-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--color-dark-green) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Radio/checkbox labels */
.contact__form-wrapper .forminator-radio label,
.contact__form-wrapper .forminator-checkbox label,
.contact__form-wrapper .forminator-radio-label,
.contact__form-wrapper .forminator-checkbox-label {
  font-size: 14px !important;
  color: var(--color-text) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Submit button */
.contact__form-wrapper .forminator-button,
.contact__form-wrapper .forminator-button-submit,
.contact__form-wrapper button[type="submit"] {
  width: 100% !important;
  padding: 16px 24px !important;
  background-color: var(--color-dark-green) !important;
  color: #fff !important;
  font-size: var(--fs-base) !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  border: none !important;
  border-radius: var(--radius-full) !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  margin-top: var(--space-8) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.contact__form-wrapper .forminator-button:hover,
.contact__form-wrapper .forminator-button-submit:hover,
.contact__form-wrapper button[type="submit"]:hover {
  background-color: var(--color-dark-green-hover) !important;
}

/* Hide Forminator branding/footer */
.contact__form-wrapper .forminator-response-message,
.contact__form-wrapper .forminator-pagination-footer {
  margin-top: var(--space-16) !important;
}

/* Error messages */
.contact__form-wrapper .forminator-error-message {
  color: #dc2626 !important;
  font-size: 13px !important;
  margin-top: 4px !important;
}

/* Success message */
.contact__form-wrapper .forminator-success {
  background-color: #d1fae5 !important;
  border: 1px solid #10b981 !important;
  color: #065f46 !important;
  padding: var(--space-16) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}

/* Fix multicolumn layouts - force single column for specific field types */
.contact__form-wrapper .forminator-field-email,
.contact__form-wrapper .forminator-field-phone,
.contact__form-wrapper .forminator-field-textarea,
.contact__form-wrapper .forminator-field-select,
.contact__form-wrapper .forminator-field-radio {
  width: 100% !important;
}

/* Name field row should be two columns */
.contact__form-wrapper .forminator-field-name {
  width: 100% !important;
}

/* Forminator name field subfields */
.contact__form-wrapper .forminator-field-name .forminator-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-16) !important;
}

/* Remove any extra margins from Forminator */
.contact__form-wrapper .forminator-custom-form > .forminator-row:first-child {
  margin-top: 0 !important;
}

.contact__form-wrapper .forminator-custom-form > .forminator-row:last-child {
  margin-bottom: 0 !important;
}

/* Fix for Forminator grid system override */
.contact__form-wrapper .forminator-col-12 {
  width: 100% !important;
  max-width: 100% !important;
}

.contact__form-wrapper .forminator-col-6 {
  width: 100% !important;
  max-width: 100% !important;
}

/* Edit form link - hide in frontend */
.contact__form-wrapper a[href*="forminator"] {
  display: none !important;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-24);
  }

  .testimonial-card {
    padding: var(--space-32);
    gap: var(--space-20);
  }

  .featured-testimonial__details {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-20);
  }

  .about .about__card {
    padding: var(--space-32);
  }
}

/* Responsive - Mobile */
@media (max-width: 768px) {
  section.about {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  section.properties {
    padding-top: 0 !important;
    padding-bottom: var(--space-48);
    margin-top: 30px !important;
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: var(--space-24);
    margin-top: var(--space-32);
  }

  .testimonial-card {
    padding: var(--space-32);
    gap: var(--space-20);
  }

  .testimonial-card__rating {
    margin-bottom: var(--space-8);
  }

  .testimonial-card__quote {
    margin-bottom: var(--space-16);
    padding-top: var(--space-8);
  }

  .testimonial-card__author {
    margin-top: var(--space-12);
    padding-top: var(--space-12);
  }

  .featured-testimonial__details {
    grid-template-columns: 1fr;
    gap: var(--space-16);
  }

  .featured-testimonial__author {
    margin-bottom: var(--space-24);
  }

  .about .about__card {
    padding: var(--space-24);
  }

  .about .about__title {
    margin-bottom: var(--space-20);
    font-size: var(--fs-xl);
  }

  .about .about__text {
    margin-bottom: var(--space-24);
  }

  /* Forminator form responsive */
  .contact__form-wrapper .forminator-row.forminator-row-2,
  .contact__form-wrapper .forminator-field-name .forminator-row {
    grid-template-columns: 1fr !important;
  }

  .contact__form-wrapper .forminator-field-radio .forminator-radio,
  .contact__form-wrapper .forminator-field-checkbox .forminator-checkbox {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: var(--space-12) !important;
  }
}

/* Responsive - Small Mobile */
@media (max-width: 480px) {
  section.about {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  section.properties {
    padding-top: 0 !important;
    padding-bottom: var(--space-48);
    margin-top: 30px !important;
  }

  .testimonials-grid {
    gap: var(--space-24);
  }

  .testimonial-card {
    padding: var(--space-24);
    gap: var(--space-16);
  }

  .testimonial-card__rating {
    margin-bottom: var(--space-8);
  }

  .testimonial-card__quote {
    padding-top: var(--space-8);
  }

  .testimonial-card__author {
    margin-top: var(--space-12);
    padding-top: var(--space-12);
  }

  .featured-testimonial__avatar {
    width: 48px;
    height: 48px;
  }

  .featured-testimonial__author {
    gap: var(--space-12);
  }

  .featured-testimonial__details {
    gap: var(--space-12);
    padding-top: var(--space-20);
    margin-top: var(--space-20);
  }

  .about .about__card {
    padding: var(--space-20);
  }

  .about .about__title {
    font-size: var(--fs-lg);
    margin-bottom: var(--space-16);
  }

  .about .about__text {
    font-size: var(--fs-sm);
    margin-bottom: var(--space-20);
  }
}

