/*
 * Theme Name: Astra Child United Agricare
 * Template: astra
 * Author: United Agricare
 * Version: 3.0.0
 */

/* Google Fonts Import */
/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Open+Sans:wght@400;600&display=swap'); */

/* === DESIGN SYSTEM TOKENS === */
:root {
  --uai-green: #1B5E20;
  --uai-green-light: #2E7D32;
  --uai-slate: #37474F;
  --uai-white: #FFFFFF;
  --uai-dark: #1a1a1a;
  --uai-gray-bg: #F8F9FA;
  --uai-font-heading: 'Manrope', sans-serif;
  --uai-font-body: 'Inter', sans-serif;
}

/* === BASE TYPOGRAPHY === */
body {
  font-family: var(--uai-font-body);
  color: var(--uai-dark);
}

/* === WOOCOMMERCE CATALOGUE MODE === */
.uai-enquire-btn {
  background-color: var(--uai-green);
  color: var(--uai-white);
  border-radius: 4px;
  padding: 10px 25px;
  font-family: var(--uai-font-heading);
  font-weight: 600;
}

/* Hide default Astra page title on page builder pages */
.ast-page-builder-template .entry-header {
  display: none !important;
}

/* Hard reset for white space around edges */
body, html, .site, .ast-page-builder-template, body.ast-separate-container, body.ast-separate-container .site-content, body.ast-separate-container #page, .ast-separate-container .ast-container {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  max-width: 100% !important;
  overflow-x: hidden;
}

/* ============================================================
   SONI FULL-WIDTH OVERRIDES
   Force all Soni widgets to span edge-to-edge regardless of
   Astra's .ast-container (1200px) or Elementor's e-con-boxed.
   ============================================================ */

/* 1. Override Astra's boxed site-content container */
.ast-page-builder-template .site-content > .ast-container,
.ast-page-builder-template #primary,
.ast-page-builder-template .site-primary {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2. Remove Elementor's inner boxed constraint */
.e-con-boxed > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3. Eliminate any top padding on the page content area */
.ast-page-builder-template #content.site-content,
.ast-page-builder-template .ast-builder-layout-element {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 4. Ensure each Soni widget container itself is 100% wide */
.elementor-widget-soni_header .elementor-widget-container,
.elementor-widget-soni_hero .elementor-widget-container,
.elementor-widget-soni_stats .elementor-widget-container,
.elementor-widget-soni_solutions .elementor-widget-container,
.elementor-widget-soni_industries .elementor-widget-container,
.elementor-widget-soni_marquee .elementor-widget-container,
.elementor-widget-soni_products .elementor-widget-container,
.elementor-widget-soni_video_gallery .elementor-widget-container,
.elementor-widget-soni_partners .elementor-widget-container,
.elementor-widget-soni_why_us .elementor-widget-container,
.elementor-widget-soni_cta .elementor-widget-container,
.elementor-widget-soni_footer .elementor-widget-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================
   ELEMENTOR FREE LAYOUT FIXES
   Elementor Free does not honour the "width" setting on
   inner containers that we inject via PHP.  We use the
   Elementor-generated data-id attributes to target each
   container and force the correct widths.
   ============================================================ */

/* --- BENTO ROW 1: 60 / 40 split --- */
[data-id="bento-r1"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
}
[data-id="bc1"] {
  width: calc(60% - 12px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}
[data-id="bc-right"] {
  width: calc(40% - 12px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

/* --- BENTO ROW 2: 3 equal columns --- */
[data-id="bento-r2"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
}
[data-id="bc4"],
[data-id="bc5"],
[data-id="bc6"] {
  width: calc(33.33% - 16px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* --- INDUSTRIES ROW: 4 equal columns --- */
[data-id="ind-row"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
}
[data-id="ind1"],
[data-id="ind2"],
[data-id="ind3"],
[data-id="ind4"] {
  width: calc(25% - 18px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* --- PRODUCT GRID: 3 columns wrapping --- */
[data-id="prod-r1"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  justify-content: center !important;
}
[data-id="pr1"],
[data-id="pr2"],
[data-id="pr3"],
[data-id="pr4"],
[data-id="pr5"],
[data-id="pr6"] {
  width: calc(33.33% - 16px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  max-width: 380px;
}

/* --- BRANDS ROW: 2 equal columns --- */
[data-id="br-row"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 30px !important;
}
[data-id="br1"],
[data-id="br2"] {
  width: calc(50% - 15px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* --- WHY US ROW: 4 equal columns --- */
[data-id="why-row"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
}
[data-id="wr1"],
[data-id="wr2"],
[data-id="wr3"],
[data-id="wr4"] {
  width: calc(25% - 18px) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* --- FOOTER: 3-column layout --- */
[data-id="footer-row"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
}

/* === ASTRA SCROLL TO TOP === */
#ast-scroll-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: linear-gradient(135deg, rgba(6, 20, 10, 0.92) 0%, rgba(0, 60, 25, 0.8) 60%, rgba(6, 20, 10, 0.92) 100%);
  box-shadow: 0 18px 40px rgba(6, 20, 10, 0.28), 0 0 0 1px rgba(215, 241, 124, 0.08) inset;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

#ast-scroll-top:hover,
#ast-scroll-top:focus {
  transform: translateY(-3px);
  background: linear-gradient(135deg, rgba(10, 34, 16, 0.96) 0%, rgba(27, 94, 32, 0.9) 60%, rgba(10, 34, 16, 0.96) 100%);
  box-shadow: 0 22px 46px rgba(6, 20, 10, 0.34), 0 0 0 1px rgba(215, 241, 124, 0.16) inset;
}

#ast-scroll-top .ast-icon.icon-arrow svg {
  width: 20px;
  height: 20px;
  fill: #f5f9ea;
  margin: 0;
  vertical-align: middle;
  transform: rotate(180deg);
}

#ast-scroll-top .ast-icon.icon-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transform: translate(-50%, -50%);
}

#ast-scroll-top .ast-icon.icon-arrow svg path {
  fill: #f5f9ea;
}

@media (max-width: 768px) {
  #ast-scroll-top {
    right: 16px;
    bottom: 16px;
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }

  #ast-scroll-top .ast-icon.icon-arrow svg {
    width: 18px;
    height: 18px;
  }
}
[data-id="fcol-1"] { width: 40% !important; flex-shrink: 0 !important; }
[data-id="fcol-2"] { width: 25% !important; flex-shrink: 0 !important; }
[data-id="fcol-3"] { width: 30% !important; flex-shrink: 0 !important; }

/* --- STATS BAR: 4 equal columns --- */
[data-id="sec-stats"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
[data-id="st1"],
[data-id="st2"],
[data-id="st3"],
[data-id="st4"] {
  width: 25% !important;
  flex-shrink: 0 !important;
}

/* --- CTA BUTTONS ROW --- */
[data-id="cta-row"] {
  display: flex !important;
  flex-direction: row !important;
  gap: 20px !important;
  justify-content: center !important;
}

/* === PRODUCT IMAGE STYLING === */
[data-id="prod-r1"] .elementor-image img,
[data-id="bento-r1"] .elementor-image img,
[data-id="bento-r2"] .elementor-image img {
  max-height: 200px;
  width: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* === HOVER EFFECTS === */
[data-id="pr1"],
[data-id="pr2"],
[data-id="pr3"],
[data-id="pr4"],
[data-id="pr5"],
[data-id="pr6"] {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
[data-id="pr1"]:hover,
[data-id="pr2"]:hover,
[data-id="pr3"]:hover,
[data-id="pr4"]:hover,
[data-id="pr5"]:hover,
[data-id="pr6"]:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
}


/* Make all Elementor containers full width and remove side spacing */
.e-con-boxed, 
.elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove internal container constraints */
.e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Ensure Astra's main content area is also full width */
.ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}



/* === RESPONSIVE: TABLET & MOBILE === */
@media (max-width: 1024px) {
  [data-id="bc1"],
  [data-id="bc-right"] {
    width: 100% !important;
  }
  [data-id="bc4"],
  [data-id="bc5"],
  [data-id="bc6"] {
    width: calc(50% - 12px) !important;
  }
  [data-id="pr1"],
  [data-id="pr2"],
  [data-id="pr3"],
  [data-id="pr4"],
  [data-id="pr5"],
  [data-id="pr6"] {
    width: calc(50% - 12px) !important;
    max-width: none;
  }
  [data-id="ind1"],
  [data-id="ind2"],
  [data-id="ind3"],
  [data-id="ind4"] {
    width: calc(50% - 12px) !important;
  }
  [data-id="ind-row"],
  [data-id="bento-r2"] {
    flex-wrap: wrap !important;
  }
  [data-id="wr1"],
  [data-id="wr2"],
  [data-id="wr3"],
  [data-id="wr4"] {
    width: calc(50% - 12px) !important;
  }
  [data-id="why-row"] {
    flex-wrap: wrap !important;
  }
}

@media (max-width: 767px) {
  [data-id="bc4"],
  [data-id="bc5"],
  [data-id="bc6"],
  [data-id="pr1"],
  [data-id="pr2"],
  [data-id="pr3"],
  [data-id="pr4"],
  [data-id="pr5"],
  [data-id="pr6"],
  [data-id="ind1"],
  [data-id="ind2"],
  [data-id="ind3"],
  [data-id="ind4"],
  [data-id="wr1"],
  [data-id="wr2"],
  [data-id="wr3"],
  [data-id="wr4"],
  [data-id="br1"],
  [data-id="br2"] {
    width: 100% !important;
  }
  [data-id="bento-r2"],
  [data-id="prod-r1"],
  [data-id="ind-row"],
  [data-id="why-row"],
  [data-id="br-row"] {
    flex-wrap: wrap !important;
  }
  [data-id="footer-row"] {
    flex-direction: column !important;
  }
  [data-id="fcol-1"],
  [data-id="fcol-2"],
  [data-id="fcol-3"] {
    width: 100% !important;
  }
}
