/*
Theme Name: EarthPath
Template:   twentytwentyfive
Description: EarthPath one-page website child theme
Version:    1.0
*/

body { background-color: #F8F0E6 !important; }
.wp-site-blocks { padding-top: 0 !important; }

/* Logo */
.ep-logo { max-width: 400px; margin-left: auto !important; margin-right: auto !important; }
.ep-logo img { width: 100%; height: auto; }

/* Tagline */
.ep-tagline { font-size: 0.82rem; letter-spacing: 0.18em; text-transform: uppercase; color: #7A6A5A !important; }

/* Section headings */
.ep-section-heading { color: #2C4A3E !important; font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 400; letter-spacing: 0.04em; margin-bottom: 1.2rem; }

/* Body text */
.ep-body { color: #3D3530 !important; font-size: 1.05rem !important; line-height: 1.9 !important; }

/* Clients line */
.ep-clients { color: #7A6A5A !important; font-size: 0.95rem !important; letter-spacing: 0.03em; margin-top: 0.5rem; }

/* Sub-heading & copyright */
.ep-subheading { color: #7A6A5A !important; font-size: 1rem; }
.ep-copyright { color: #A8987A !important; font-size: 0.8rem !important; letter-spacing: 0.08em; margin-top: 2rem !important; }

/* Dandelion image */
.ep-nature-img img {
  width: 100%; max-height: 580px;
  object-fit: cover; object-position: center;
  border-radius: 8px; display: block;
}

/* Circular profile picture */
.ep-circular { display: flex; justify-content: center; }
.ep-circular figure.wp-block-image,
.ep-circular .wp-block-image {
  overflow: hidden; border-radius: 50%;
  width: 260px !important; height: 260px !important;
  flex-shrink: 0; margin: 0 auto;
}
.ep-circular img {
  width: 260px !important; height: 260px !important;
  object-fit: cover; object-position: 50% 70%;
  border-radius: 50% !important;
}

/* Mandala decorative */
.ep-mandala { display: flex; justify-content: center; }
.ep-mandala figure.wp-block-image,
.ep-mandala .wp-block-image {
  overflow: hidden; border-radius: 50%;
  width: 200px !important; height: 200px !important;
  margin: 0 auto; opacity: 0.82;
}
.ep-mandala img {
  width: 200px !important; height: 200px !important;
  object-fit: cover; object-position: 50% 55%;
  border-radius: 50% !important;
}

/* Separator */
.wp-block-separator.is-style-wide { border-color: #C9B99A !important; opacity: 0.6; }

/* Contact Form */
.ep-contact-form {
  max-width: 560px; margin: 0 auto;
  display: flex; flex-direction: column; gap: 14px;
}
.ep-contact-form input[type="text"],
.ep-contact-form input[type="email"],
.ep-contact-form textarea {
  width: 100%; padding: 13px 18px;
  border: 1px solid #C9B99A; border-radius: 6px;
  background: rgba(255,255,255,0.55); color: #3D3530;
  font-family: inherit; font-size: 0.97rem;
  transition: border-color .2s ease, box-shadow .2s ease;
  box-sizing: border-box; outline: none; -webkit-appearance: none;
}
.ep-contact-form input[type="text"]:focus,
.ep-contact-form input[type="email"]:focus,
.ep-contact-form textarea:focus {
  border-color: #5A8A6F;
  box-shadow: 0 0 0 3px rgba(90,138,111,.12);
}
.ep-contact-form textarea { resize: vertical; min-height: 130px; }
.ep-contact-form button[type="submit"] {
  align-self: center; padding: 13px 38px;
  background: #2C4A3E; color: #F8F0E6;
  border: none; border-radius: 6px;
  font-family: inherit; font-size: 0.95rem;
  letter-spacing: 0.08em; text-transform: uppercase;
  cursor: pointer; transition: background .25s ease;
}
.ep-contact-form button[type="submit"]:hover { background: #5A8A6F; }
.ep-form-success {
  max-width: 560px; margin: 0 auto;
  padding: 18px 24px;
  background: rgba(90,138,111,.13); border-left: 3px solid #5A8A6F;
  color: #2C4A3E; border-radius: 4px; text-align: center; font-size: .97rem;
}
.ep-form-error {
  max-width: 560px; margin: 0 auto 14px;
  padding: 14px 20px;
  background: rgba(180,80,80,.09); border-left: 3px solid #b45a5a;
  color: #5a1a1a; border-radius: 4px; text-align: center; font-size: .9rem;
}

@media (max-width: 768px) {
  .ep-circular figure.wp-block-image,
  .ep-circular .wp-block-image,
  .ep-circular img { width: 200px !important; height: 200px !important; }
  .ep-contact-form { padding: 0 4px; }
}
