/* ==========================================================================
   Homepage extras on top of original styles.css (v1.7.0)
   Keep minimal — original design lives in main.css
   ========================================================================== */

/* Contact Form 7 in the original contact card shell */
.contact-form--cf7 .wpcf7 {
  width: 100%;
  margin: 0;
}

.contact-form--cf7 .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}

.contact-form--cf7 .wpcf7-form p {
  margin: 0;
}

.contact-form--cf7 label {
  display: block;
  font-weight: 700;
  font-size: var(--fs-sm, 0.95rem);
  color: var(--text-secondary, #3a6b72);
  margin-bottom: 0.35rem;
}

.contact-form--cf7 input[type="text"],
.contact-form--cf7 input[type="email"],
.contact-form--cf7 input[type="tel"],
.contact-form--cf7 textarea,
.contact-form--cf7 select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0.85rem 1.1rem !important;
  border-radius: var(--radius-sm, 12px) !important;
  border: 2px solid var(--border-soft, rgba(11, 92, 99, 0.12)) !important;
  background: var(--color-icy, #e8f7f8) !important;
  font-family: inherit;
  font-size: 1rem;
}

.contact-form--cf7 textarea {
  min-height: 140px !important;
}

.contact-form--cf7 .wpcf7-submit,
.contact-form--cf7 input[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0.9rem 1.75rem !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0b5c63, #0d7a85) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  cursor: pointer;
}

/* Blog grid on homepage when few posts */
.sf-blog-home .sf-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  max-width: 1040px;
  margin: 0 auto 1.75rem;
}

.sf-blog-home .sf-blog-grid--one {
  grid-template-columns: minmax(0, 380px);
  justify-content: center;
}

.sf-blog-home .sf-blog-grid--two {
  grid-template-columns: repeat(2, minmax(0, 360px));
  justify-content: center;
}

.sf-blog-home__cta {
  text-align: center;
}

@media (max-width: 800px) {
  .sf-blog-home .sf-blog-grid,
  .sf-blog-home .sf-blog-grid--two,
  .sf-blog-home .sf-blog-grid--one {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    width: 100% !important;
    justify-content: stretch !important;
  }
}

/* Hide empty product home-shop section if still loaded somewhere */
.sf-home-shop {
  /* unused when intro includes product card */
}

/* --------------------------------------------------------------------------
   Homepage product image — full bottle visible (no 4:3 crop)
   -------------------------------------------------------------------------- */
.product-intro__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  max-height: min(560px, 70vw);
  padding: clamp(1.25rem, 3.5vw, 2.5rem);
  background:
    radial-gradient(ellipse at 50% 88%, rgba(11, 92, 99, 0.1), transparent 55%),
    linear-gradient(160deg, #ffffff 0%, #e8f7f8 55%, #d4f5e9 120%);
  border: 1px solid rgba(46, 196, 182, 0.22);
  box-sizing: border-box;
}

.product-intro__media img,
.product-intro__media .attachment-large,
.product-intro__media .size-large,
.product-intro__media .wp-post-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 18px 36px rgba(11, 92, 99, 0.18));
}

@media (max-width: 860px) {
  .product-intro__media {
    max-height: min(420px, 88vw);
    margin-inline: auto;
    max-width: 100%;
    width: 100%;
  }
}