/* ==========================================================================
   AgroMart Theme - Custom Styles
   Design tokens are declared in style.css (:root). This file holds every
   component built on top of Bootstrap 5.
   ========================================================================== */

.bg-agro-dark   { background-color: var(--agro-green-dark) !important; }
.bg-agro-light  { background-color: var(--agro-green-light) !important; }
.text-success   { color: var(--agro-green) !important; }
.btn-success    { background-color: var(--agro-green); border-color: var(--agro-green); }
.btn-success:hover, .btn-success:focus { background-color: var(--agro-green-dark); border-color: var(--agro-green-dark); }
.btn-outline-success { color: var(--agro-green); border-color: var(--agro-green); }
.btn-outline-success:hover { background-color: var(--agro-green); border-color: var(--agro-green); }

/* ---------------- Topbar & Header ---------------- */
.agro-topbar a:hover{ opacity:.8; }

.agro-header{ z-index: 1030; }
.agro-logo small{ font-size: .68rem; }
.agro-search-form{ gap:0; }
.agro-search-form .form-select{ border-right:0; border-radius: .5rem 0 0 .5rem; }
.agro-search-form .form-control{ border-radius:0; border-left:0; border-right:0; }
.agro-search-form .btn{ border-radius: 0 .5rem .5rem 0; }
.agro-header-actions a i{ display:block; }
.agro-cart-count{ font-size:.6rem; }

.agro-cat-dropdown{ border:1px solid #eee; }

/* ---------------- Category grid ---------------- */
.agro-cat-card{
	background:#fff;
	border:1px solid #eee;
	transition: transform .15s ease, box-shadow .15s ease;
	color:#23291f;
}
.agro-cat-card:hover{
	transform: translateY(-3px);
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
	border-color: var(--agro-green);
}
.agro-cat-icon{ font-size: 1.6rem; color: var(--agro-green); }

/* ---------------- Hero ---------------- */
.agro-hero{ background: linear-gradient(180deg, #fdf9ef 0%, #ffffff 100%); }
.agro-hero-image{ min-height: 320px; background:#eee; }
.agro-hero-placeholder{
	height: 340px;
	background: repeating-linear-gradient(45deg, #e9f5ec, #e9f5ec 10px, #f4faf5 10px, #f4faf5 20px);
	color: var(--agro-green);
}
.agro-hero-callout{
	max-width: 230px;
	bottom: -20px;
	right: 10px;
}

/* ---------------- Farm & Product Cards ---------------- */
.agro-farms-scroll{ scroll-snap-type: x mandatory; }
.agro-farm-card{ width: 260px; scroll-snap-align: start; transition: transform .15s ease; }
.agro-farm-card:hover{ transform: translateY(-4px); }
.agro-farm-placeholder{
	height: 170px;
	background: repeating-linear-gradient(45deg, #e9f5ec, #e9f5ec 10px, #f4faf5 10px, #f4faf5 20px);
	color: var(--agro-green);
	font-size: 2rem;
}

.agro-product-card{ transition: transform .15s ease; }
.agro-product-card:hover{ transform: translateY(-3px); }
.agro-product-placeholder{
	height: 110px;
	background: repeating-linear-gradient(45deg, #e9f5ec, #e9f5ec 10px, #f4faf5 10px, #f4faf5 20px);
	color: var(--agro-green);
	display:flex;align-items:center;justify-content:center;
	font-size: 1.5rem;
}

/* ---------------- Find Farms banner ---------------- */
.agro-find-farms{ background:#fff; }
.agro-map-preview{
	background:
		radial-gradient(circle at 30% 40%, var(--agro-green) 0 6px, transparent 7px),
		radial-gradient(circle at 60% 60%, var(--agro-green) 0 6px, transparent 7px),
		radial-gradient(circle at 75% 30%, var(--agro-green) 0 6px, transparent 7px),
		#dfeee1;
}

/* ---------------- Feature icons / How it works ---------------- */
.agro-feature-icon{
	width: 56px; height:56px; border-radius:50%;
	background: var(--agro-green-light);
	color: var(--agro-green);
	display:flex; align-items:center; justify-content:center;
	font-size: 1.4rem;
}
.agro-steps .col{ position:relative; }

/* ---------------- Countdown ---------------- */
.agro-countdown-box{
	background: var(--agro-green-dark);
	color:#fff;
	border-radius:.4rem;
	padding: .3rem .6rem;
	min-width: 46px;
	font-weight:700;
}
.agro-countdown-box small{ font-size:.55rem; opacity:.7; }

/* ---------------- Stats bar ---------------- */
.bg-agro-dark .dashicons{ opacity:.85; }

/* ---------------- Filters / archive ---------------- */
.agro-filter-panel{ position: sticky; top: 100px; }

/* ---------------- Farm profile ---------------- */
.agro-farm-header{ margin-top:-3rem; }

/* ---------------- Quantity input ---------------- */
.agro-qty-input .form-control{ max-width:50px; }

/* ---------------- Footer ---------------- */
.agro-footer a:hover{ color:#fff !important; }

/* ---------------- Blog / content ---------------- */
.agro-content img{ max-width:100%; height:auto; border-radius:.5rem; }
.agro-sidebar{ position: sticky; top: 100px; }

/* ---------------- Misc ---------------- */
@media (max-width: 991.98px){
	.agro-hero-callout{ position:static !important; max-width:100%; margin-top:1rem; }
	.agro-farm-header{ margin-top:1rem !important; }
}

/* ---------------- Hero slideshow ---------------- */
.agro-hero-slider{min-height:560px;background:#173f20;color:#fff;}
.agro-hero-slides,.agro-hero-slide,.agro-hero-overlay{position:absolute;inset:0;}
.agro-hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.02);transition:opacity .9s ease,transform 6s ease;}
.agro-hero-slide.is-active{opacity:1;transform:scale(1);}
.agro-hero-overlay{background:linear-gradient(90deg,rgba(5,28,12,.88) 0%,rgba(8,34,15,.70) 46%,rgba(8,34,15,.30) 100%);z-index:1;}
.agro-hero-slider .min-vh-50{min-height:560px;}
.agro-hero-title{max-width:850px;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.agro-hero-copy{max-width:720px;color:rgba(255,255,255,.94)!important;text-shadow:0 1px 5px rgba(0,0,0,.35);}
.agro-hero-benefits li{color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.45);}
.agro-hero-benefits i{color:#8ee58f;}
.agro-hero-controls{pointer-events:none;}
.agro-hero-controls > *{pointer-events:auto;}
.agro-hero-dot,.agro-testimonial-dot{width:11px;height:11px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5);transition:transform .2s ease,background .2s ease;}
.agro-hero-dot.is-active,.agro-testimonial-dot.is-active{background:#fff;transform:scale(1.25);}
.agro-hero-arrow,.agro-testimonial-arrow{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.25);color:#fff;display:inline-flex;align-items:center;justify-content:center;}
.agro-hero-arrow:hover{background:rgba(255,255,255,.18);}

/* ---------------- Testimonials slideshow ---------------- */
.agro-testimonials-section{background:#f7faf7;}
.agro-testimonial-slider{max-width:820px;margin:0 auto;}
.agro-testimonial-track{position:relative;min-height:285px;}
.agro-testimonial-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease,visibility .45s ease;}
.agro-testimonial-slide.is-active{opacity:1;visibility:visible;transform:translateY(0);}
.agro-testimonial-card{width:100%;background:#fff;border:1px solid #e6ece6;border-radius:1rem;padding:2.5rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.06);text-align:center;}
.agro-testimonial-card blockquote{font-size:1.08rem;line-height:1.75;color:#394236;}
.agro-testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--agro-green-light);color:var(--agro-green);display:flex;align-items:center;justify-content:center;font-size:1.35rem;}
.agro-testimonial-arrow{color:var(--agro-green);border-color:#d5e1d5;background:#fff;}
.agro-testimonial-arrow:hover{background:var(--agro-green);color:#fff;}

/* ---------------- Navigation links ---------------- */
.agro-main-nav a,
.agro-main-nav .nav-link,
.agro-main-nav .menu-item a,
.agro-footer a,
.agro-footer .menu-item a,
.agro-footer .nav-link,
.agro-header a{text-decoration:none !important;}
.agro-main-nav a:hover,.agro-main-nav .nav-link:hover,.agro-main-nav .menu-item a:hover,
.agro-footer a:hover,.agro-footer .menu-item a:hover,.agro-footer .nav-link:hover{text-decoration:none !important;}
.agro-footer ul.menu,.agro-footer ul{padding-left:0;}

@media (max-width: 767.98px){
  .agro-hero-slider,.agro-hero-slider .min-vh-50{min-height:620px;}
  .agro-hero-overlay{background:linear-gradient(90deg,rgba(5,28,12,.88),rgba(8,34,15,.58));}
  .agro-hero-title{font-size:2.25rem;}
  .agro-testimonial-track{min-height:345px;}
  .agro-testimonial-card{padding:1.7rem 1.2rem;}
}

/* ---------------- Hero slideshow ---------------- */
.agro-hero-slider{min-height:560px;background:#173f20;color:#fff;}
.agro-hero-slides,.agro-hero-slide,.agro-hero-overlay{position:absolute;inset:0;}
.agro-hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.02);transition:opacity .9s ease,transform 6s ease;}
.agro-hero-slide.is-active{opacity:1;transform:scale(1);}
.agro-hero-overlay{background:linear-gradient(90deg,rgba(5,28,12,.88) 0%,rgba(8,34,15,.70) 46%,rgba(8,34,15,.30) 100%);z-index:1;}
.agro-hero-slider .min-vh-50{min-height:560px;}
.agro-hero-title{max-width:850px;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.agro-hero-copy{max-width:720px;color:rgba(255,255,255,.94)!important;text-shadow:0 1px 5px rgba(0,0,0,.35);}
.agro-hero-benefits li{color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.45);}
.agro-hero-benefits i{color:#8ee58f;}
.agro-hero-controls{pointer-events:none;}
.agro-hero-controls > *{pointer-events:auto;}
.agro-hero-dot,.agro-testimonial-dot{width:11px;height:11px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5);transition:transform .2s ease,background .2s ease;}
.agro-hero-dot.is-active,.agro-testimonial-dot.is-active{background:#fff;transform:scale(1.25);}
.agro-hero-arrow,.agro-testimonial-arrow{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.25);color:#fff;display:inline-flex;align-items:center;justify-content:center;}
.agro-hero-arrow:hover{background:rgba(255,255,255,.18);}

/* ---------------- Testimonials slideshow ---------------- */
.agro-testimonials-section{background:#f7faf7;}
.agro-testimonial-slider{max-width:820px;margin:0 auto;}
.agro-testimonial-track{position:relative;min-height:285px;}
.agro-testimonial-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease,visibility .45s ease;}
.agro-testimonial-slide.is-active{opacity:1;visibility:visible;transform:translateY(0);}
.agro-testimonial-card{width:100%;background:#fff;border:1px solid #e6ece6;border-radius:1rem;padding:2.5rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.06);text-align:center;}
.agro-testimonial-card blockquote{font-size:1.08rem;line-height:1.75;color:#394236;}
.agro-testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--agro-green-light);color:var(--agro-green);display:flex;align-items:center;justify-content:center;font-size:1.35rem;}
.agro-testimonial-arrow{color:var(--agro-green);border-color:#d5e1d5;background:#fff;}
.agro-testimonial-arrow:hover{background:var(--agro-green);color:#fff;}

/* ---------------- Navigation links ---------------- */
.agro-main-nav a,
.agro-main-nav .nav-link,
.agro-main-nav .menu-item a,
.agro-footer a,
.agro-footer .menu-item a,
.agro-footer .nav-link,
.agro-header a{text-decoration:none !important;}
.agro-main-nav a:hover,.agro-main-nav .nav-link:hover,.agro-main-nav .menu-item a:hover,
.agro-footer a:hover,.agro-footer .menu-item a:hover,.agro-footer .nav-link:hover{text-decoration:none !important;}
.agro-footer ul.menu,.agro-footer ul{padding-left:0;}

@media (max-width: 767.98px){
  .agro-hero-slider,.agro-hero-slider .min-vh-50{min-height:620px;}
  .agro-hero-overlay{background:linear-gradient(90deg,rgba(5,28,12,.88),rgba(8,34,15,.58));}
  .agro-hero-title{font-size:2.25rem;}
  .agro-testimonial-track{min-height:345px;}
  .agro-testimonial-card{padding:1.7rem 1.2rem;}
}


/* ---------------- Utility bar + PWA install ---------------- */
.agro-topbar{position:relative;z-index:1040;}
.agro-top-links{line-height:1.2;}
.agro-top-links a,.agro-top-links button{font-size:.82rem;white-space:nowrap;}
.agro-top-links a:hover,.agro-top-links button:hover{opacity:.86;text-decoration:none!important;}
.agro-pwa-install-link{cursor:pointer;}
.agro-install-app-btn{white-space:nowrap;}
@media (max-width: 575.98px){
  .agro-topbar{padding:.45rem 0!important;}
  .agro-topbar .container{justify-content:center!important;}
  .agro-top-links{width:100%;justify-content:center;margin-left:0!important;gap:.65rem!important;}
  .agro-top-links a,.agro-top-links button{font-size:.72rem;}
  .agro-top-socials{display:none!important;}
  .agro-header{padding-top:.7rem!important;padding-bottom:.7rem!important;}
  .agro-header-actions{gap:.6rem!important;}
  .agro-header-actions .agro-install-app-btn{display:none!important;}
}
@media (min-width:576px) and (max-width:991.98px){
  .agro-topbar-msg{display:none!important;}
  .agro-topbar .container{justify-content:center!important;}
  .agro-top-links{margin-left:0!important;}
}

/* ---------------- Responsive AgroMart branding ---------------- */
.agro-logo{min-width:0;max-width:240px;}
.agro-logo .custom-logo-link{display:block;line-height:0;max-width:100%;}
.agro-logo .custom-logo{display:block;width:auto;max-width:220px;height:auto;max-height:60px;object-fit:contain;object-position:left center;}
.agro-logo img{max-width:220px;height:auto;}
.agro-whatsapp-float{right:20px;bottom:88px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:1049;}
.agro-whatsapp-float:hover{color:#fff!important;transform:translateY(-2px);}
@media (max-width: 991.98px){
  .agro-logo{max-width:205px;}
  .agro-logo .custom-logo{max-width:190px;max-height:54px;}
  .agro-logo img{max-width:190px;}
}
@media (max-width: 575.98px){
  .agro-logo{max-width:175px;}
  .agro-logo .custom-logo{max-width:165px;max-height:48px;}
  .agro-logo img{max-width:165px;}
  .agro-whatsapp-float{right:14px;bottom:78px;width:52px;height:52px;}
}
.agromart-default-logo{display:block;width:220px;height:auto;max-width:100%;object-fit:contain;object-position:left center;}
@media (max-width: 991.98px){.agromart-default-logo{width:190px;}}
@media (max-width: 575.98px){.agromart-default-logo{width:165px;}}
/* AgroMart front-end account dashboards */
.agro-dashboard-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.agro-dashboard-wide{max-width:1500px;margin-inline:auto}.agro-dashboard-sidebar{position:sticky;top:20px}.agro-dashboard-link{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:10px;color:#26352c;text-decoration:none;font-weight:500;margin-bottom:3px}.agro-dashboard-link:hover,.agro-dashboard-link.active{background:#e9f7ee;color:#198754}.agro-dashboard-link i{font-size:1.05rem;width:20px;text-align:center}.dashboard-action-card{display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:16px;padding:22px;box-shadow:0 .125rem .35rem rgba(0,0,0,.08);text-decoration:none;color:#1d2a22;height:100%;transition:transform .15s,box-shadow .15s}.dashboard-action-card:hover{transform:translateY(-2px);box-shadow:0 .4rem 1rem rgba(0,0,0,.1);color:#198754}.dashboard-action-card i{font-size:1.8rem;color:#198754}.dashboard-action-card span{color:#6c757d;font-size:.9rem}.agro-dashboard-main{min-width:0}.agro-dashboard-main .table td,.agro-dashboard-main .table th{vertical-align:middle}@media(max-width:991.98px){.agro-dashboard-layout{grid-template-columns:1fr}.agro-dashboard-sidebar{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.agro-dashboard-sidebar>div:first-child{grid-column:1/-1}.agro-dashboard-sidebar form{grid-column:1/-1}.agro-dashboard-link{margin:0}}@media(max-width:575.98px){.agro-dashboard-sidebar{grid-template-columns:1fr}.agro-dashboard-main .btn{white-space:normal}}

/* AgroMart footer/app icon */
.agromart-footer-icon{width:42px;height:42px;object-fit:contain;border-radius:10px;display:block;flex:0 0 auto;}
.agro-cat-icon{width:58px;height:58px;border-radius:50%;font-size:1.65rem;line-height:1;}
.agro-cat-icon i{line-height:1;}

/* Dashboard pages intentionally use their own sidebar navigation; hide the public primary menu. */
body.agro-dashboard-page .agro-main-nav, body.agro-dashboard-page #agroMainNav { display:none !important; }
.agro-category-picture { width:64px; height:64px; object-fit:contain; border-radius:16px; display:block; }
.agro-progress-card { border:1px solid rgba(25,135,84,.12); }
.agro-progress-bar { height:10px; border-radius:999px; overflow:hidden; background:#e9f2ec; }
.agro-progress-bar > span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#198754,#65b741); }
/* AgroMart 2.2.4 real-photo category cards */
.agro-category-grid .agro-cat-card{overflow:hidden;}
.agro-category-grid .agro-cat-photo{aspect-ratio:3/2;background:#edf5ee;}
.agro-category-grid .agro-category-picture{width:100%;height:100%;min-height:130px;object-fit:cover;border-radius:0;transition:transform .25s ease;}
.agro-category-grid .agro-cat-card:hover .agro-category-picture{transform:scale(1.04);}
.agro-category-grid .agro-cat-name{line-height:1.25;}
@media(max-width:575.98px){.agro-category-grid .agro-category-picture{min-height:105px;}.agro-category-grid .agro-cat-name{font-size:.88rem;}}

/* v2.4 performance/category/gallery presentation */
.agro-cat-dropdown .dropdown-item{white-space:normal;line-height:1.35;padding:.65rem .75rem}
.agro-more-categories{max-width:720px;margin-left:auto;margin-right:auto}
.agro-gallery-card video,.agro-gallery-card img{background:#f4f6f4}
.agro-gallery-card{transition:transform .18s ease,box-shadow .18s ease}
.agro-gallery-card:hover{transform:translateY(-2px)}
.agro-home-gallery .carousel-item img{min-height:260px;background:#f4f6f4}
.agro-home-gallery-caption{background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,0) 100%);border-radius:0 0 1rem 1rem;padding:1.25rem 1.25rem 1rem;left:0;right:0;bottom:0;text-align:left}
.agro-home-gallery .carousel-indicators{margin-bottom:.5rem}
.agro-home-gallery .carousel-control-prev,.agro-home-gallery .carousel-control-next{width:8%}
