/* EGAST content and alignment refinements — 2026-07-16 */

/* Product catalogue cards */
.egast-page-products .approved-products-grid {
  align-items: stretch !important;
  gap: clamp(20px, 2.4vw, 32px) !important;
}

.egast-page-products .approved-products-grid .product-card {
  height: 100% !important;
  overflow: hidden !important;
}

.egast-page-products .approved-products-grid .product-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: clamp(20px, 2.2vw, 28px) !important;
}

.egast-page-products .approved-products-grid .product-body .meta,
.egast-page-products .approved-products-grid .product-body h3,
.egast-page-products .approved-products-grid .product-body p {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.egast-page-products .approved-products-grid .product-body h3 {
  color: var(--green-950, #12351f) !important;
  font-size: clamp(1.28rem, 1.7vw, 1.58rem) !important;
  line-height: 1.22 !important;
}

.egast-page-products .approved-products-grid .product-body p {
  color: var(--muted, #5f6f62) !important;
  flex: 1 1 auto !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.egast-page-products .approved-products-grid .product-body .btn {
  justify-content: center !important;
  align-self: stretch !important;
  width: 100% !important;
  margin-top: 8px !important;
}

/* Product detail copy and specification cards */
.product-intro-spec-section .product-intro-copy p {
  max-width: 72ch !important;
  margin: 0 !important;
  color: var(--muted, #5f6f62) !important;
  font-size: clamp(1rem, 1.2vw, 1.08rem) !important;
  line-height: 1.78 !important;
}

.product-intro-spec-section .spec-list {
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: clamp(14px, 1.7vw, 20px) !important;
}

.product-intro-spec-section .spec {
  box-sizing: border-box !important;
  border: 1px solid rgba(23, 75, 46, 0.13) !important;
  border-inline-start: 4px solid var(--green-700, #1f6a43) !important;
  border-radius: 18px !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: clamp(18px, 1.8vw, 24px) !important;
  box-shadow: 0 10px 28px rgba(17, 45, 27, 0.06) !important;
}

.product-intro-spec-section .spec > strong {
  border-bottom: 1px solid rgba(23, 75, 46, 0.1) !important;
  padding-bottom: 9px !important;
  color: var(--green-800, #195d39) !important;
  font-size: 0.83rem !important;
  font-weight: 750 !important;
  letter-spacing: 0.055em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

.product-intro-spec-section .spec > span,
.product-intro-spec-section .spec-points {
  width: 100% !important;
  margin: 0 !important;
  color: var(--text, #243128) !important;
  font-size: 0.98rem !important;
  line-height: 1.68 !important;
}

.product-intro-spec-section .spec-points {
  display: grid !important;
  gap: 8px !important;
  padding-inline-start: 20px !important;
}

.product-intro-spec-section .spec-points li {
  padding-inline-start: 3px !important;
}

.product-intro-spec-section .spec-points li::marker {
  color: var(--green-700, #1f6a43) !important;
}

.product-intro-spec-section .planning-details-spec {
  grid-column: 1 / -1 !important;
  background: linear-gradient(135deg, #f8fcf6 0%, #fff 100%) !important;
}

.product-classification-section .product-classification-head > p.lead {
  max-width: 70ch !important;
  color: var(--muted, #5f6f62) !important;
  line-height: 1.72 !important;
}

html[dir="rtl"] .product-intro-spec-section .spec > strong {
  letter-spacing: 0 !important;
}

/* Compact, aligned location cards */
.egast-page-contact .egast-address-section .grid {
  align-items: stretch !important;
}

.egast-page-contact .egast-address-section .seo-copy-card {
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: clamp(18px, 1.8vw, 24px) !important;
}

.egast-page-contact .egast-address-section .seo-copy-card h3 {
  min-height: 0 !important;
  margin: 0 0 4px !important;
  font-size: clamp(1.1rem, 1.4vw, 1.28rem) !important;
  line-height: 1.3 !important;
}

.egast-page-contact .egast-address-section .seo-copy-card p {
  flex: 0 1 auto !important;
  margin: 0 !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
}

/* Contact image and form alignment */
.egast-page-contact #request-meeting > .container.grid-2 {
  align-items: stretch !important;
}

.egast-page-contact #request-meeting > .container.grid-2 > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.egast-page-contact #request-meeting .contact-form-media {
  flex: 1 1 auto !important;
  min-height: 640px !important;
  max-height: none !important;
  margin-top: 24px !important;
  overflow: hidden !important;
}

.egast-page-contact #request-meeting .contact-form-media img {
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 640px !important;
}

.egast-page-contact #request-meeting .form-card {
  height: 100% !important;
}

/* Sourcing-center RFQ checklist alignment */
.egast-page-buyer-hub .buyer-needs-section .buyer-hero-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  align-items: stretch !important;
}

.egast-page-buyer-hub .buyer-needs-section .buyer-hero-grid > div:first-child {
  align-self: center !important;
  min-width: 0 !important;
}

.egast-page-buyer-hub .rfq-checklist-panel-v5 {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.egast-page-buyer-hub .rfq-steps-grid-v5 {
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  gap: 14px !important;
}

.egast-page-buyer-hub .rfq-step-card-v5 {
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 16px !important;
}

.egast-page-buyer-hub .rfq-step-number {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
}

.egast-page-buyer-hub .rfq-step-body {
  min-width: 0 !important;
}

.egast-page-buyer-hub .rfq-step-title-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.egast-page-buyer-hub .rfq-step-title-line strong,
.egast-page-buyer-hub .rfq-step-card-v5 small {
  overflow-wrap: anywhere !important;
}

.egast-page-buyer-hub .rfq-step-tag {
  align-self: start !important;
  white-space: nowrap !important;
}

@media (max-width: 1080px) {
  .egast-page-buyer-hub .buyer-needs-section .buyer-hero-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .egast-page-products .approved-products-grid .product-body {
    padding: 20px !important;
  }

  .product-intro-spec-section .planning-details-spec {
    grid-column: auto !important;
  }

  .egast-page-contact #request-meeting .contact-form-media,
  .egast-page-contact #request-meeting .contact-form-media img {
    min-height: 380px !important;
  }

  .egast-page-buyer-hub .rfq-step-title-line {
    grid-template-columns: 1fr !important;
  }

  .egast-page-buyer-hub .rfq-step-tag {
    justify-self: start !important;
  }
}

/* Client feedback refinements — 2026-07-17 */
:root {
  --egast-body-copy-size: 1rem;
  --egast-body-copy-line-height: 1.72;
}

/* Keep content typography consistent while retaining stronger section headings. */
main .section p,
main .section p.lead,
main .section-sm p,
main .section-sm p.lead {
  font-family: inherit !important;
  font-size: var(--egast-body-copy-size) !important;
  font-weight: 400 !important;
  line-height: var(--egast-body-copy-line-height) !important;
  letter-spacing: normal !important;
}

.egast-page-index .market-proof-grid p,
.egast-page-quality .quality-intro-copy p,
.egast-page-sustainability .story-grid p {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

.egast-page-index .market-proof-grid p:last-child,
.egast-page-quality .quality-intro-copy p:last-child,
.egast-page-sustainability .story-grid p:last-child {
  margin-bottom: 0 !important;
}

/* Quality standards: balanced copy and a deliberately smaller certification image. */
.egast-page-quality .quality-intro-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.72fr) !important;
  align-items: center !important;
  gap: clamp(30px, 5vw, 64px) !important;
}

.egast-page-quality .quality-intro-copy {
  min-width: 0 !important;
}

.egast-page-quality .quality-intro-media {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 0 !important;
}

.egast-page-quality .quality-intro-media img {
  object-fit: contain !important;
  object-position: center !important;
  width: min(100%, 390px) !important;
  max-width: 390px !important;
  height: auto !important;
  max-height: 470px !important;
  margin: 0 auto !important;
}

/* Certification artwork supplied by the client. */
.egast-page-certificates .cert-detail-card .cert-logo {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: 184px !important;
  height: 184px !important;
  padding: 20px !important;
  overflow: hidden !important;
}

.egast-page-certificates .cert-detail-card .cert-logo img {
  object-fit: contain !important;
  object-position: center !important;
  width: auto !important;
  max-width: 88% !important;
  height: auto !important;
  max-height: 138px !important;
  margin: auto !important;
}

.egast-page-certificates .cert-detail-card .cert-logo .cert-logo-sedex {
  max-width: 94% !important;
}

/* Sustainability development image: consistent 16:9 crop and full-width clarity. */
.egast-page-sustainability .story-development-media.operations-wide-media {
  aspect-ratio: 16 / 9 !important;
  max-height: none !important;
}

.egast-page-sustainability .story-development-media.operations-wide-media img {
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Buyer Hub hero: retain readable copy over the updated grading-line photograph. */
.egast-page-buyer-hub .hero-bg-page-buyer-hub .egast-hero-media img {
  object-position: center 52% !important;
}

.egast-page-buyer-hub .hero-bg-page-buyer-hub .egast-hero-overlay {
  background: linear-gradient(90deg, rgba(5, 35, 24, 0.86) 0%, rgba(5, 35, 24, 0.66) 46%, rgba(5, 35, 24, 0.28) 100%) !important;
}

.egast-page-buyer-hub .hero-bg-page-buyer-hub h1,
.egast-page-buyer-hub .hero-bg-page-buyer-hub p {
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.34) !important;
}

/* Export map presentation on the Markets page. */
.egast-page-market .market-proof-grid .export-map-media {
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  min-height: 360px !important;
  padding: clamp(20px, 3.8vw, 46px) !important;
  background: linear-gradient(145deg, #f7fbf5 0%, #edf6e9 100%) !important;
  border: 1px solid rgba(24, 82, 49, 0.14) !important;
  border-radius: 26px !important;
  box-shadow: 0 18px 46px rgba(17, 45, 27, 0.1) !important;
}

.egast-page-market .market-proof-grid .export-map-media picture {
  display: block !important;
  width: 100% !important;
}

.egast-page-market .market-proof-grid .export-map-media img {
  object-fit: contain !important;
  object-position: center !important;
  width: 100% !important;
  max-width: 1024px !important;
  height: auto !important;
  max-height: none !important;
  border-radius: 0 !important;
  margin: auto !important;
}

/* Shorter contact-address cards with equal rows. */
.egast-page-contact .egast-address-section .grid {
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}

.egast-page-contact .egast-address-section .seo-copy-card {
  justify-content: flex-start !important;
  gap: 5px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 18px 20px !important;
}

.egast-page-contact .egast-address-section .seo-copy-card h3 {
  margin-bottom: 2px !important;
}

/* Restore visible 01–04 buyer-journey headers and equal card heights. */
.egast-page-buyer-hub .journey-line {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
}

.egast-page-buyer-hub .journey-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 22px !important;
}

.egast-page-buyer-hub .journey-step-number {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: 44px !important;
  color: #174b2e !important;
  background: #edf6e8 !important;
  border: 1px solid #dcebd7 !important;
  border-radius: 12px !important;
  font-size: 0.94rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
}

.egast-page-buyer-hub .journey-card h3,
.egast-page-buyer-hub .journey-card p {
  margin: 0 !important;
}

.egast-page-buyer-hub .journey-card p {
  flex: 1 !important;
}

@media (max-width: 1180px) {
  .egast-page-buyer-hub .journey-line {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .egast-page-quality .quality-intro-grid {
    grid-template-columns: 1fr !important;
  }

  .egast-page-quality .quality-intro-copy {
    order: 1 !important;
  }

  .egast-page-quality .quality-intro-media {
    order: 2 !important;
  }

  .egast-page-quality .quality-intro-media img {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
  }

  .egast-page-market .market-proof-grid .export-map-media {
    min-height: 0 !important;
  }
}

@media (max-width: 760px) {
  :root {
    --egast-body-copy-size: 0.98rem;
  }

  .egast-page-buyer-hub .journey-line {
    grid-template-columns: 1fr !important;
  }

  .egast-page-buyer-hub .hero-bg-page-buyer-hub .egast-hero-overlay {
    background: rgba(5, 35, 24, 0.7) !important;
  }

  .egast-page-market .market-proof-grid .export-map-media {
    padding: 18px !important;
    border-radius: 20px !important;
  }
}

/* Alignment refinements — regional markets, homepage quality, and key matrices */
.egast-page-market .regional-presence-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  gap: 22px !important;
}

.egast-page-market .regional-presence-card {
  display: grid !important;
  grid-template-rows: minmax(3.3em, auto) 44px minmax(1.4em, auto) 1fr !important;
  align-items: start !important;
  align-content: stretch !important;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 100% !important;
  height: 100% !important;
  padding: 28px !important;
}

.egast-page-market .regional-presence-card h3,
.egast-page-market .regional-presence-card .region-share,
.egast-page-market .regional-presence-card .region-coverage-label,
.egast-page-market .regional-presence-card .region-countries {
  margin: 0 !important;
}

.egast-page-market .regional-presence-card h3 {
  align-self: start !important;
  max-width: 24ch !important;
  line-height: 1.35 !important;
}

.egast-page-market .regional-presence-card .region-share {
  align-self: center !important;
  justify-self: start !important;
  min-width: 78px !important;
  height: 44px !important;
  min-height: 44px !important;
}

.egast-page-market .regional-presence-card .region-coverage-label {
  align-self: start !important;
  line-height: 1.4 !important;
}

.egast-page-market .regional-presence-card .region-countries {
  align-self: start !important;
  overflow-wrap: anywhere !important;
}

/* Match the homepage quality image frame to the full copy-column height. */
.egast-page-index .approved-quality-band {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr) !important;
  grid-template-areas: "quality-copy quality-image" !important;
  align-items: stretch !important;
  gap: clamp(32px, 4.5vw, 58px) !important;
}

.egast-page-index .approved-quality-band > div:first-child {
  grid-area: quality-copy !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.egast-page-index .approved-quality-band > .approved-quality-media {
  grid-area: quality-image !important;
  position: relative !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  background: #fff !important;
  border: 1px solid rgba(18, 63, 95, 0.1) !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 48px rgba(18, 63, 95, 0.12) !important;
  direction: ltr !important;
  z-index: 0 !important;
}

.egast-page-index .approved-quality-band > .approved-quality-media > img {
  position: absolute !important;
  inset: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 16px !important;
  filter: none !important;
  box-shadow: none !important;
}

/* One professional card geometry for every key-matrix component. */
.home-keymatrix-section > .stats.home-keymatrix,
.home-keymatrix-section .stats.home-keymatrix {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: min(calc(100% - 40px), 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}

.home-keymatrix-section .stats.home-keymatrix > .stat {
  box-sizing: border-box !important;
  flex: 0 0 205px !important;
  display: grid !important;
  grid-template-rows: 3.25rem minmax(2.7rem, auto) !important;
  align-content: center !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 12px !important;
  width: 205px !important;
  min-width: 205px !important;
  max-width: 205px !important;
  height: 168px !important;
  min-height: 168px !important;
  max-height: 168px !important;
  padding: 20px 14px !important;
  text-align: center !important;
}

.home-keymatrix-section .stats.home-keymatrix > .stat strong {
  align-self: center !important;
  white-space: nowrap !important;
  margin: 0 !important;
  font-size: clamp(2rem, 3.1vw, 2.75rem) !important;
  line-height: 1 !important;
}

.home-keymatrix-section .stats.home-keymatrix > .stat span {
  align-self: center !important;
  max-width: 20ch !important;
  margin: 0 !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

@media (max-width: 1080px) {
  .home-keymatrix-section .stats.home-keymatrix > .stat {
    flex-basis: 250px !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
  }
}

@media (max-width: 820px) {
  .egast-page-index .approved-quality-band {
    grid-template-columns: 1fr !important;
    grid-template-areas: "quality-copy" "quality-image" !important;
    align-items: start !important;
  }

  .egast-page-index .approved-quality-band > .approved-quality-media {
    aspect-ratio: 1024 / 973 !important;
    justify-self: center !important;
    width: min(100%, 520px) !important;
    height: auto !important;
  }

  .egast-page-market .regional-presence-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }

  .egast-page-market .regional-presence-card {
    grid-template-rows: auto 44px auto auto !important;
    min-height: 0 !important;
  }
}

@media (max-width: 760px) {
  .home-keymatrix-section > .stats.home-keymatrix,
  .home-keymatrix-section .stats.home-keymatrix {
    gap: 12px !important;
    width: min(calc(100% - 24px), 560px) !important;
  }

  .home-keymatrix-section .stats.home-keymatrix > .stat {
    flex: 0 1 calc(50% - 6px) !important;
    grid-template-rows: 2.75rem minmax(2.45rem, auto) !important;
    width: calc(50% - 6px) !important;
    min-width: 0 !important;
    max-width: 260px !important;
    height: 142px !important;
    min-height: 142px !important;
    max-height: 142px !important;
    padding: 16px 10px !important;
  }

  .home-keymatrix-section .stats.home-keymatrix > .stat strong {
    font-size: clamp(1.55rem, 7vw, 2.15rem) !important;
  }

  .home-keymatrix-section .stats.home-keymatrix > .stat span {
    font-size: 0.76rem !important;
  }
}

@media (max-width: 420px) {
  .home-keymatrix-section .stats.home-keymatrix > .stat {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 360px !important;
    height: 122px !important;
    min-height: 122px !important;
    max-height: 122px !important;
  }
}

/* Public dual-email presentation */
.dual-email-links {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px 8px !important;
  min-width: 0 !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

.dual-email-separator {
  color: currentColor !important;
  opacity: 0.55 !important;
  user-select: none !important;
}

.site-footer .footer-email-pair .dual-email-links {
  line-height: 1.55 !important;
}

.site-footer .footer-email-pair a {
  overflow-wrap: anywhere !important;
}

.legal-email-pair {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px 8px !important;
  color: #0d5a36 !important;
  font-weight: 850 !important;
}

.legal-email-pair .dual-email-links {
  gap: 4px 8px !important;
}

.egast-page-contact .contact-detail-email-card {
  cursor: default !important;
}

.egast-page-contact .contact-detail-value-v6.contact-email-pair {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px 9px !important;
}

.egast-page-contact .contact-email-pair a {
  color: var(--green-800, #174b2e) !important;
  overflow-wrap: anywhere !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.egast-page-contact .contact-email-pair a:hover,
.egast-page-contact .contact-email-pair a:focus-visible {
  text-decoration: underline !important;
}

@media (max-width: 520px) {
  .site-footer .footer-email-pair .dual-email-links,
  .egast-page-contact .contact-detail-value-v6.contact-email-pair {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  .site-footer .footer-email-pair .dual-email-separator,
  .egast-page-contact .contact-email-pair .dual-email-separator {
    display: none !important;
  }
}

/* Match paired email typography to the Contact card value style. */
.dual-email-links,
.dual-email-links a,
.dual-email-links .dual-email-separator {
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}

.dual-email-links a {
  font-weight: 600 !important;
  text-decoration: none !important;
}

.dual-email-links a:hover,
.dual-email-links a:focus-visible {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.egast-page-contact .contact-detail-value-v6.contact-email-pair,
.egast-page-contact .contact-detail-value-v6.contact-email-pair a,
.egast-page-contact .contact-detail-value-v6.contact-email-pair .dual-email-separator {
  color: var(--muted, #667265) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.legal-email-pair,
.legal-email-pair .legal-email-label,
.legal-email-pair .dual-email-links,
.legal-email-pair .dual-email-links a {
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.legal-email-pair .legal-email-label,
.legal-email-pair .dual-email-links a {
  font-weight: 600 !important;
}

.site-footer .footer-email-pair .dual-email-links,
.site-footer .footer-email-pair .dual-email-links a {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

/* Compact, equal-height office address cards driven by their content. */
html body.egast-page-contact main .egast-address-section > .container > .grid.grid-3 {
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  align-content: start !important;
  gap: clamp(16px, 2vw, 22px) !important;
  min-height: 0 !important;
  height: auto !important;
}

html body.egast-page-contact main .egast-address-section > .container > .grid.grid-3 > article.card.seo-copy-card {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  align-items: center !important;
  justify-items: stretch !important;
  align-self: stretch !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  padding: 20px 22px !important;
  text-align: center !important;
}

html body.egast-page-contact main .egast-address-section > .container > .grid.grid-3 > article.card.seo-copy-card > h3 {
  align-self: end !important;
  min-height: 0 !important;
  margin: 0 !important;
  font-size: clamp(1.05rem, 1.25vw, 1.2rem) !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

html body.egast-page-contact main .egast-address-section > .container > .grid.grid-3 > article.card.seo-copy-card > p {
  align-self: start !important;
  flex: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  font-size: 0.96rem !important;
  line-height: 1.55 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

@media (max-width: 760px) {
  html body.egast-page-contact main .egast-address-section > .container > .grid.grid-3 > article.card.seo-copy-card {
    align-content: start !important;
    padding: 18px 20px !important;
  }
}

/* Final safeguard: location cards follow their text height instead of the grid row. */
body.egast-page-contact main section#location-map .grid.grid-3 {
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  align-content: start !important;
  min-height: 0 !important;
  height: auto !important;
}

body.egast-page-contact main section#location-map .grid.grid-3 > article.card.seo-copy-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  align-self: stretch !important;
  min-height: 0 !important;
  min-block-size: 0 !important;
  max-height: none !important;
  max-block-size: none !important;
  height: auto !important;
  block-size: auto !important;
  gap: 0 !important;
  padding: 28px 20px 22px !important;
  text-align: center !important;
}

body.egast-page-contact main section#location-map .grid.grid-3 > article.card.seo-copy-card > h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  height: 34px !important;
  margin: 0 0 10px !important;
  width: 100% !important;
  text-align: center !important;
}

body.egast-page-contact main section#location-map .grid.grid-3 > article.card.seo-copy-card > p {
  display: block !important;
  flex: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  width: 100% !important;
  text-align: center !important;
  text-wrap: balance !important;
}

/* Product-card release v15: compact copy, equal rows, and no hidden content. */
html body main [data-cms-products].approved-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  gap: clamp(22px, 2.5vw, 34px) !important;
  overflow: visible !important;
}

html body main [data-cms-products].approved-products-grid > article.product-card.card {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(17, 45, 27, 0.11) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 16px 40px rgba(17, 45, 27, 0.07) !important;
}

html body main [data-cms-products].approved-products-grid > .product-card > .product-art {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 248px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 248px !important;
  min-height: 248px !important;
  max-height: 248px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f3f8f1 !important;
}

html body main [data-cms-products].approved-products-grid > .product-card > .product-art > img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body main [data-cms-products].approved-products-grid > .product-card > .product-body {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: clamp(22px, 2.1vw, 28px) !important;
  overflow: visible !important;
  text-align: start !important;
}

html body main [data-cms-products].approved-products-grid .product-body > .meta {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
}

html body main [data-cms-products].approved-products-grid .product-body > h3 {
  width: 100% !important;
  min-height: 1.25em !important;
  margin: 0 !important;
  color: var(--green-950, #12351f) !important;
  font-size: clamp(1.32rem, 1.65vw, 1.58rem) !important;
  line-height: 1.22 !important;
  text-align: start !important;
}

html body main [data-cms-products].approved-products-grid .product-body > p {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 6.35em !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  color: var(--muted, #5f6f62) !important;
  font-size: 1rem !important;
  line-height: 1.58 !important;
  text-align: start !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

html body main [data-cms-products].approved-products-grid .product-body > .btn {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  align-self: stretch !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: auto 0 0 !important;
  text-align: center !important;
}

@media (max-width: 1080px) {
  html body main [data-cms-products].approved-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body main [data-cms-products].approved-products-grid > .product-card > .product-art {
    flex-basis: 228px !important;
    height: 228px !important;
    min-height: 228px !important;
    max-height: 228px !important;
  }
}

@media (max-width: 700px) {
  html body main [data-cms-products].approved-products-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: auto !important;
    gap: 20px !important;
  }

  html body main [data-cms-products].approved-products-grid > article.product-card.card {
    height: auto !important;
  }

  html body main [data-cms-products].approved-products-grid > .product-card > .product-art {
    flex-basis: 210px !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
  }

  html body main [data-cms-products].approved-products-grid .product-body > p {
    min-height: 0 !important;
  }
}

/* Product-detail release v16: balanced introduction and polished spec cards. */
html body main .product-intro-spec-section > .container.product-detail {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr) !important;
  grid-template-areas:
    "product-visual product-copy"
    "product-specs product-specs" !important;
  align-items: stretch !important;
  gap: clamp(26px, 3vw, 40px) !important;
  width: min(100% - 32px, var(--max, 1240px)) !important;
  margin-inline: auto !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid rgba(17, 45, 27, 0.12) !important;
  border-radius: 32px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdf9 100%) !important;
  box-shadow: 0 22px 58px rgba(17, 45, 27, 0.08) !important;
}

html body main .product-intro-spec-section .product-detail > .detail-visual {
  grid-area: product-visual !important;
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: clamp(440px, 32vw, 560px) !important;
  min-height: 440px !important;
  max-height: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(17, 45, 27, 0.12) !important;
  border-radius: 26px !important;
  background: #f1f7ed !important;
  box-shadow: 0 16px 38px rgba(17, 45, 27, 0.1) !important;
}

html body main .product-intro-spec-section .product-detail > .detail-visual > img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body main .product-intro-spec-section .product-detail > .product-intro-copy {
  box-sizing: border-box !important;
  grid-area: product-copy !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  align-self: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 440px !important;
  margin: 0 !important;
  padding: clamp(28px, 3.4vw, 48px) !important;
  border: 1px solid rgba(17, 94, 60, 0.12) !important;
  border-radius: 26px !important;
  background: linear-gradient(145deg, #f2f9ee 0%, #ffffff 72%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

html body main .product-intro-spec-section .product-intro-copy > .kicker {
  align-self: flex-start !important;
  margin: 0 !important;
}

html body main .product-intro-spec-section .product-intro-copy > h2 {
  width: 100% !important;
  margin: 0 !important;
  font-size: clamp(2.2rem, 4vw, 3.6rem) !important;
  line-height: 1.05 !important;
  text-align: start !important;
}

html body main .product-intro-spec-section .product-intro-copy > p {
  width: 100% !important;
  max-width: 64ch !important;
  margin: 0 !important;
  color: var(--muted, #52665a) !important;
  font-size: clamp(1rem, 1.15vw, 1.08rem) !important;
  line-height: 1.78 !important;
  text-align: start !important;
}

html body main .product-intro-spec-section .product-detail > .spec-list {
  grid-area: product-specs !important;
  counter-reset: egast-product-spec !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: clamp(18px, 2vw, 24px) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body main .product-intro-spec-section .spec-list > .spec {
  box-sizing: border-box !important;
  counter-increment: egast-product-spec !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 184px !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(17, 82, 52, 0.14) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(17, 45, 27, 0.07) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

html body main .product-intro-spec-section .spec-list > .spec::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 4px !important;
  background: linear-gradient(90deg, #0b6b3e, #80bd12) !important;
}

html body main .product-intro-spec-section .spec-list > .spec:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(11, 107, 62, 0.3) !important;
  box-shadow: 0 20px 44px rgba(17, 45, 27, 0.11) !important;
}

html body main .product-intro-spec-section .spec-list > .spec > strong {
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 11px !important;
  width: 100% !important;
  min-height: 68px !important;
  margin: 0 !important;
  padding: 20px 22px 15px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(17, 82, 52, 0.09) !important;
  background: linear-gradient(135deg, #eff8ea 0%, #f8fbf6 100%) !important;
  color: var(--green-900, #103f28) !important;
  font-size: 0.92rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.025em !important;
  line-height: 1.3 !important;
  text-align: start !important;
  text-transform: uppercase !important;
}

html body main .product-intro-spec-section .spec-list > .spec > strong::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 12px !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
  border: 3px solid rgba(11, 107, 62, 0.18) !important;
  border-radius: 50% !important;
  background: #0b6b3e !important;
  box-shadow: 0 0 0 4px rgba(11, 107, 62, 0.07) !important;
}

html body main .product-intro-spec-section .spec-list > .spec > strong::after {
  content: counter(egast-product-spec, decimal-leading-zero) !important;
  flex: none !important;
  margin-inline-start: auto !important;
  color: rgba(16, 63, 40, 0.42) !important;
  font-size: 0.76rem !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

html body main .product-intro-spec-section .spec-list > .spec > span,
html body main .product-intro-spec-section .spec-list > .spec > .spec-points {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  color: #52665a !important;
  font-size: 0.97rem !important;
  line-height: 1.65 !important;
  text-align: start !important;
}

html body main .product-intro-spec-section .spec-list > .spec > span {
  flex: 1 1 auto !important;
  padding: 18px 22px 24px !important;
}

html body main .product-intro-spec-section .spec-list > .spec > .spec-points {
  display: grid !important;
  gap: 8px !important;
  padding: 18px 22px 24px !important;
  padding-inline-start: 44px !important;
}

html body main .product-intro-spec-section .spec-list > .planning-details-spec {
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
}

html body main .product-intro-spec-section .spec-list > .planning-details-spec > .spec-points {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 42px !important;
}

@media (max-width: 1100px) {
  html body main .product-intro-spec-section > .container.product-detail {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "product-visual"
      "product-copy"
      "product-specs" !important;
  }

  html body main .product-intro-spec-section .product-detail > .detail-visual {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
  }

  html body main .product-intro-spec-section .product-detail > .product-intro-copy {
    min-height: 0 !important;
  }

  html body main .product-intro-spec-section .product-detail > .spec-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html body main .product-intro-spec-section > .container.product-detail {
    width: min(100% - 20px, var(--max, 1240px)) !important;
    gap: 20px !important;
    padding: 14px !important;
    border-radius: 24px !important;
  }

  html body main .product-intro-spec-section .product-detail > .detail-visual {
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    border-radius: 20px !important;
  }

  html body main .product-intro-spec-section .product-detail > .product-intro-copy {
    gap: 13px !important;
    padding: 24px 20px !important;
    border-radius: 20px !important;
  }

  html body main .product-intro-spec-section .product-intro-copy > h2 {
    font-size: clamp(2rem, 11vw, 2.8rem) !important;
  }

  html body main .product-intro-spec-section .product-detail > .spec-list {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  html body main .product-intro-spec-section .spec-list > .spec {
    min-height: 0 !important;
    border-radius: 19px !important;
  }

  html body main .product-intro-spec-section .spec-list > .planning-details-spec {
    grid-column: auto !important;
  }

  html body main .product-intro-spec-section .spec-list > .planning-details-spec > .spec-points {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body main .product-intro-spec-section .spec-list > .spec {
    transition: none !important;
  }
}
