/* Reset defaults */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto', 'Signika', sans-serif;
  line-height: 1.6;
  background: #ffffff;
  color: #333;
}

/* Hero Background Image */
.hero {
  position: relative;
  min-height: 95vh;
  border-radius: 20px;
  overflow: hidden;
  margin: 10px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

/* Background mask container */
.hero-bg {
  position: absolute;
  inset: 0; /* cover full section */
  background: url("../images/hero 1.jpg") no-repeat center 90% / cover;
  filter: brightness(0.9) contrast(1.7);

  --r: 20px; /* radius */
  --s: 35px; /* inner curve size */
  --x: 120px; /* horizontal offset */
  --y: 20px; /* vertical offset */

  border-radius: var(--r);
  --_m:/calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%);
  --_g:conic-gradient(at calc(100% - var(--r)) var(--r),#0000 25%,#000 0);
  --_d:(var(--s) + var(--r));
  mask:
    calc(100% - var(--_d) - var(--x)) 0 var(--_m),
    100% calc(var(--_d) + var(--y)) var(--_m),
    radial-gradient(var(--s) at 100% 0,#0000 99%,#000 calc(100% + 1px))
     calc(-1*var(--r) - var(--x)) calc(var(--r) + var(--y)),
    var(--_g) calc(-1*var(--_d) - var(--x)) 0,
    var(--_g) 0 calc(var(--_d) + var(--y));
  mask-repeat: no-repeat;
}

/* Content on top */
.hero-content {
  position: relative;
  z-index: 2;
  text-align: left;
  max-width: 600px;
  margin-right: 400px;
  margin-bottom: -10px;
  
}

.hero-content .tagline {
  display: inline-block;
  font-size: 0.8rem;
  padding: 4px 12px;
  border: 1px solid #fff;
  border-radius: 20px;
  margin-bottom: 10px;
}

.hero-content h1 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 15px;
}

.hero-content p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #f1f1f1;
}

.btn-hero {
  display: inline-block;
  background: #fff;
  color: #000;
  padding: 8px 22px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 400;
  margin-top: -10px;
}

.navbar {
  background: transparent;
  position: absolute;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 35px;
  flex-wrap: nowrap;
  box-sizing: border-box;
  width: 100%;
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 88%;
}

/* Group logo + menu on the left */
.nav-left {
  display: flex;
  align-items: center;
  gap: 20px; /* space between logo and menu */
}

.logo img {
  max-height: 100px;
  height: auto;
  width: auto;
  margin-left: 70px;
}

/* --------------------------
   Navigation links 
--------------------------- */
.main-nav ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 10px;
  margin-bottom: 50px;
}

.main-nav ul li {
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  position: relative;
  color: #fff;
}

.main-nav ul li::before {
  content: "•";
  color: yellow;
  margin-right: 10px;
  font-size: 12px;
}

.main-nav ul li:first-child::before {
  content: "•";
  margin-right: 12px;
}

.main-nav ul li a {
  text-decoration: none;
  color: #ffffff;
  font-weight: bold;
  transition: color 0.3s;
}

.navbar ul li a.active {
  font-weight: bold;
  color: #f6cd44;
}

.navbar ul li a:hover {
  color: #d3a304;
}

/* --------------------------
   Right section 
--------------------------- */
.nav-right {
  display: flex;
  align-items: center;
  gap: 20px; /* space between call, search, button */
  padding-bottom: 35px;
}

/* Call us */
.call-us {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #ffffff;
  gap: 10px;
}

.call-us img {
  width: 30px;
  height: 30px;
  filter: brightness(0) invert(1);
}

/* --------------------------
   Search 
--------------------------- */
.search-container {
  position: relative;
  display: inline-block;
  margin: 0 10px -5px 10px;
}

.search-icon {
  width: 40px;
  height: 40px;
  background: #ffffff;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-icon img {
  width: 18px;
  height: 18px;
}

.search-box {
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  padding: 20px;
  border: 1px solid #0096ff;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 150, 255, 0.25);
  z-index: 1000;

  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}

.search-box::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 10px solid #fff;
}

.search-box::after {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 12px solid #0096ff;
  z-index: -1;
}

.search-box.active {
  max-height: 200px;
  opacity: 1;
  overflow: visible;
}

.search-box form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search-box input {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid #0096ff;
  border-radius: 4px;
  font-size: 14px;
}

.search-box button {
  padding: 6px 14px;
  background: #0096ff;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  white-space: nowrap;
  transition: background 0.3s ease;
}

.search-box button:hover {
  background: #007bff;
}

/* --------------------------
   Get In Touch Button 
--------------------------- */

.get-in-touch-hero {
  position: absolute;
  top: 15px;
  right: 10px;
  background: #0382fa;
  color: #fff;
  padding: 12px 22px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  z-index: 3;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.get-in-touch-hero img {
  width: 16px;
  height: auto;
  filter: brightness(0) invert(1);
}

.get-in-touch-hero:hover {
   background: #142b17;
}

.get-in-touch-hero:hover img {
  filter: brightness(0) invert(1);
}

/* --------------------------
   Responsive tweaks
--------------------------- */

/* Big screens (1920px+) */
@media (min-width: 1800px) {
  .get-in-touch-wrapper {
    margin-right: -25px;
  }
}

/* Normal desktops (~1440px) */
@media (max-width: 1600px) {
  .get-in-touch-wrapper {
    margin-right: -15px;
  }
}

/* Small laptops (~1280px) */
@media (max-width: 1366px) {
  .get-in-touch-wrapper {
    margin-right: -10px;
  }
}






/* Who We Are Section*/
.about-badge {
  background: #1f8afc;
}

.badge-number {
  color: #ffffff;
}

.about-badge p {
  color: #ffffff;
}

.about-right .highlight {
  color: #007bff;
  
}

.feature-box img {
  width: 100px;
  height: 100px;
  margin-left: -25px;
  margin-bottom: -15px;
}

.section-label {
  color: #007bff;
}







/* Our Services Section */
.our-products {
  background: url('../images/bg-farm.jpg') center/cover no-repeat;
  position: relative;
  color: #333;
  min-height: 110vh;       /* Full hero height */
  display: flex;
  justify-content: center; /* Center horizontally */
  align-items: center;     /* Center vertically */
  flex-direction: column;
  padding: 0;              /* Remove extra padding */
  
}

.our-products::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);  /* Dark overlay */
  z-index: 1;
}

/* Ensure content is above overlay */
.our-products .container {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;   /* 👈 align items to left */
  width: 100%;
  padding-left: 180px;        /* optional: give breathing space */
  margin-top: -20px;
}

/* Section header */
.section-header {
  text-align: left;
  align-self: flex-start;   /* move header to left */
  margin-left: 0;           /* remove forced centering */
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
}

.section-header .tag {
  display: inline-block;
  background: #fff;
  color: #000;
  font-size: 0.9rem;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 10px;
}

.tag .img {
  width: 16px;
  height: 16px;
  position: relative;
  top: -3px;
  margin-right: 6px;
}

.section-header h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}

/* Product cards wrapper */
.products-slider {
  display: flex;
  gap: 30px;
  flex-wrap: nowrap;
  position: relative;
}

/* Product card */
.product-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
  overflow: hidden;
  flex: 0 0 320px;
  position: relative;
  transition: transform 0.3s ease;
}

.product-card:hover {
  transform: translateY(-10px);
}

.product-card img {
  width: calc(100% - 20px);   /* reduce width */
  height: 160px;              /* adjust if needed */
  object-fit: cover;
  display: block;
  margin: 10px auto 0;        /* center + top gap */
  border-radius: 12px;        /* optional rounded corners */
  background: #fff;           /* white border look */
  padding: 5px;               /* actual white border */
  box-sizing: border-box;     /* keep padding inside width */
}

/* Product content */
.product-content {
  padding: 20px;
}

.product-content .category {
  font-size: 0.8rem;
  color: #333;
  display: block;
  margin-bottom: 8px;
}

.product-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
}

.product-content p {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.5;
}

/* Corner button */
.corner-btn {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background: #007bff;   /* blue pill */
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none; /* remove underline */
}

.corner-btn svg {
  width: 25px;
  height: 25px;
  stroke: #fff; /* white arrow */
}

/* Navigation arrows */
.slider-nav {
  position: absolute;
  top: 50px;             /* moves arrows above cards */
  right: 150px;               /* align with last card */
  display: flex;
  gap: 10px;
}

.slider-nav button {
  border: #fff;
  width: 35px;
  height: 35px;
  border-radius: 10%;
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.slider-nav button:hover {
  background: #fab700;
}




/* Our Products Section */
.products-section {
  text-align: center;
  padding: 50px 20px;
  background: #ffffff;
  font-family: 'Roboto', 'Signika', sans-serif;
}

.section-title {
  margin-bottom: 25px;
}

.section-title .subtitle {
  display: inline-block;
  background: #fff;
  border: 1px solid #ddd;
  padding: 5px 25px;
  border-radius: 20px;
  font-size: 14px;
  color: #000000;
}

.section-title .img {
  width: 16px;
  height: 16px;
  position: relative;
  top: -5px;   /* negative = move upward */
  right: 10px;
}

.section-title h2 {
  font-size: 32px;
  font-weight: bold;
  margin-top: 15px;
  color: #333;
}

.section-title h2 .highlight {
  color: #0073c0;
}

.products-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
}

.products-left,
.products-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 50px;
  max-width: 300px;
}

.product-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  text-align: left;
}

.product-item h3 {
  margin: 0;
  font-size: 18px;
  color: #333;
}

.product-item p {
  margin: 5px 0 0;
  color: #666;
  font-size: 14px;
}

.icon {
  width: 70px;               /* width = height for a perfect circle */
  height: 70px;
  border-radius: 50%;        /* makes it circular */
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0073c0;       /* blue circle */
  color: #fff;               /* for font awesome icons */
  font-size: 28px;           /* adjust icon size */
  overflow: hidden;          /* ensures img doesn't overflow */
  flex-shrink: 0;            /* prevents parent from squishing the circle */
}

.icon img {
  width: 50%;               /* scale image inside the circle */
  height: 50%;
  object-fit: contain;
}




.products-image img {
  max-width: 350px;
  height: auto;
  margin-top: -10px;
}



/* Farm Gallery Section */
.farm-gallery {
  padding: 20px 30px;
  background: #f8f9f6;
}

.farm-images {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
  max-width: 1500px;
  margin: 0 auto;
  align-items: center; /* ensures shorter cards center-align */
}

.farm-card {
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  background: #fff;
  display: flex;
}

.farm-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.farm-card:hover img {
  transform: scale(1.05);
}

/* Different sizes */
.farm-card.small {
  height: 250px;   /* smaller cards */
  align-self: center; /* centers vertically within grid cell */
}

.farm-card.tall {
  height: 350px;   /* taller cards */
}




/* Testimonial Cards Section */
.quote-icon {
  position: absolute;
  width: 42px;
  height: 42px;
  background: #1e90ff;  /* blue circle */
}

.quote-icon img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1); /* makes black icons white */
}






/* What We Do Section */
.info-section {
  margin: 0px 0;
  display: flex;
  justify-content: center;
}

/* Flex container */
.info-container {
  display: flex;
  max-width: 1000px;
  border-radius: 20px;
  overflow: hidden;
  background: #f8f8f8;
}

/* Left side image */
.info-image {
  flex: 1;
  background: url("../images/farmer.jpg") center center / cover no-repeat;
  min-height: 400px;
  max-width: 900px;
  padding-right: 60px;
}

/* Right side content */
.info-content {
  flex: 1;
  background: #007bff;
  color: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 0px 0px 0px 0px;
}

.info-badge {
  display: inline-block;   /* only as wide as text */
  background: #fff;
  color: #000000;
  font-size: 12px;         /* smaller text */
  font-weight: 600;
  padding: 4px 12px;       /* smaller padding */
  border-radius: 20px;     /* pill shape */
  margin-bottom: 20px;
  width: auto;
  max-width: fit-content;
}

.info-badge .img {
  width: 16px;
  height: 16px;
  position: relative;
  top: -5px;   /* negative = move upward */
  right: 7px;
}

.info-content h2 {
  font-size: 26px;
  margin-bottom: 15px;
  font-weight: 700;
}

.info-content p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* Stats container */
.info-stats {
  display: flex;
  gap: 30px;                 /* reduced gap between circles */
  justify-content: center;
  margin-top: 10px;
}

/* Each stat block */
.stat {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
}

/* Progress ring */
.progress-ring {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: conic-gradient(
    #ffffff calc(var(--percent) * 1%),
    rgba(255, 255, 255, 0.2) 0
  );
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Inner circle */
.progress-ring::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  background: #007bff;   /* same as section background */
  border-radius: 50%;
  z-index: 1;            /* sits below the text */
}

/* Number inside */
.progress-ring span {
  position: relative;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  z-index: 2;            /* ensures number stays above inner circle */
}

/* Label beside */
.stat p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}




/* Blogs Section */

.latest-blogs {
  padding: 5px 50px;
  margin: auto;
  max-width: 1450px;
}

/* Latest Blog pill */
.blog-section-label {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border-radius: 50px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: bold;
  color: #000000;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  margin-bottom: 3px;
  margin-left: 80px;
  margin-top: 10px;
}

.blog-section-label .img {
  width: 16px;
  height: 16px;
  position: relative;
  top: -7px;   /* negative = move upward */
  right: 7px;
}

.blogs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding: 0 80px;
}

.blogs-header h2 {
  font-size: 2rem;
  font-weight: 700;
}

.arrows {
  display: flex;
  gap: 10px;
  padding: 0 20px;
}

.arrow {
  background: #fff;
  border: 1px solid #ccc;
  font-size: 1.2rem;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.arrow:hover {
  background: #fcc102;
  transform: translateY(-2px);
}

.blog-carousel-container {
  overflow: hidden;
  width: calc(320px * 3 + 20px * 2);
  margin: 0 auto;
}

.blog-carousel {
  display: flex;
  gap: 20px;
  transition: transform 0.5s ease;
}

/* Cards now have natural height, not square */
.blog-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.08);
  overflow: hidden;
  flex: 0 0 320px;   /* do not shrink below 320 */
  width: 320px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}

.blog-image {
  position: relative;   /* important: anchors button inside */
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.blog-category {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #ffffff;
  color: #559e11;
  padding: 4px 14px;
  font-size: 0.85rem;
  font-weight: 550;
  border-radius: 50px;
  z-index: 999;          /* make sure it's on top */
  display: inline-block;
}

.blog-link-btn {
  position: absolute;
  bottom: 0px;     /* small spacing from bottom */
  right: 0px;      /* small spacing from right */
  background: #0978f7;
  width: 40px;      /* button size */
  height: 40px;
  border-radius: 50%;  /* circle */
  display: flex;       /* center icon */
  align-items: center;
  justify-content: center;
  z-index: 999;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: background 0.3s ease;
}

.blog-link-btn:hover {
  background: #065ac1;
}

.blog-link-btn img {
  width: 18px;   /* adjust to fit inside circle */
  height: 18px;
  filter: brightness(0) invert(1);
}

.blog-content {
  padding: 15px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.blog-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
}

.blog-content p {
  font-size: 3.0rem;
  color: #555;
}

.blog-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 0.8rem;
  color: #777;
  margin-bottom: 10px;
}

.blog-meta span {
  display: flex;              /* make each span a flex container */
  align-items: center;        /* vertically center icon + text */
  gap: 6px;                   /* spacing between icon and text */
  font-weight: 600;      /* makes text bold */
}

.blog-meta img {
  width: 18px;
  height: 18px;
  display: block;
  font-weight: bold;
}































