/* Premium Agricultural & Organic Fertilizer Branding System */
:root {
    --agri-green-dark: #1b4332;   /* Deep Forest Green - Primary */
    --agri-green-mid: #2d6a4f;    /* Emerald Green - Secondary */
    --agri-green-light: #40916c;  /* Fresh Leaf Green - Accent */
    --agri-green-pale: #74c69d;   /* Light Mint Accent */
    --agri-mint-bg: #f4fcf6;      /* Page backgrounds */
    --agri-soil-brown: #6f4e37;   /* Soil/Compost Brown - Highlights */
    --agri-soil-light: #a06a42;   /* Warm Soil Accent */
    --agri-gold: #f5a623;         /* Rating stars */
    --agri-white: #ffffff;
    --agri-text-dark: #202c25;    /* Charcoal with green tint for text readability */
    --agri-text-muted: #66756c;   /* Soft green-gray for secondary text */
}

/* Global Font Overrides */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Inter:wght@300;400;500;600;700;800;900&display=swap');

body {
    font-family: 'DM Sans', 'Inter', sans-serif !important;
    background-color: #fbfdfb !important;
    color: var(--agri-text-dark) !important;
}

/* Headings: serif for premium organic branding */
h1, h2, h3, h4, h5, h6, 
.main-title, 
.why-section-title h2, 
.expert-section .main-title, 
.stories-section .main-title,
.shop-by-concern-title {
    font-family: 'Playfair Display', serif !important;
    color: var(--agri-green-dark) !important;
    font-weight: 700 !important;
}

/* Preloader custom style */
#preloader {
    background-color: var(--agri-mint-bg) !important;
}
.letters-loading {
    color: var(--agri-green-dark) !important;
}
.letters-loading::before {
    color: var(--agri-green-light) !important;
}

/* Sticky Header Restyle */
.header-sticky-main {
    background: #ffffff !important;
    border-bottom: 2px solid var(--agri-green-dark) !important;
}
.btn-outline-custom {
    border: 1.5px solid var(--agri-green-dark) !important;
    color: var(--agri-green-dark) !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    border-radius: 30px !important;
    background: transparent !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    padding: 6px 18px !important;
}
.btn-outline-custom:hover {
    background: var(--agri-green-dark) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(27, 67, 50, 0.25) !important;
    transform: translateY(-1px) !important;
}

/* Search Bar focus design */
.header-search-form input:focus {
    border-color: var(--agri-green-mid) !important;
    box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.15) !important;
}

/* Navigation icon & cart */
.nav-icon-link:hover, .cart-btn:hover {
    color: var(--agri-green-mid) !important;
}
.cart-badge {
    background: var(--agri-green-mid) !important;
    animation: pulseBadge 2.5s infinite;
}
@keyframes pulseBadge {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* Crop Concern Section styling */
.select-concern-section {
    background: var(--agri-mint-bg) !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid rgba(45, 106, 79, 0.08) !important;
}
.concern-label {
    color: var(--agri-green-dark) !important;
    font-size: 13.5px !important;
    letter-spacing: 0.8px !important;
}
.concern-label i {
    color: var(--agri-green-light) !important;
}
.concern-pill {
    border: 1px solid rgba(45, 106, 79, 0.3) !important;
    border-radius: 30px !important; /* Fully rounded capsules */
    color: var(--agri-text-dark) !important;
    background: #ffffff !important;
    padding: 8px 18px !important;
    transition: all 0.25s ease !important;
}
.concern-pill:hover, .concern-pill.active {
    border-color: var(--agri-green-mid) !important;
    background: var(--agri-green-mid) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(45, 106, 79, 0.15) !important;
}
.concern-pill.active::before {
    color: #ffffff !important;
}

/* Product Section overrides */
.kpv-card {
    border: 1px solid rgba(45, 106, 79, 0.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.015) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.kpv-card:hover {
    border-color: rgba(45, 106, 79, 0.3) !important;
    box-shadow: 0 12px 28px rgba(27, 67, 50, 0.08) !important;
    transform: translateY(-4px) !important;
}
.kpv-card-image {
    background: #f8faf8 !important;
}
.kpv-discount-badge {
    background: var(--agri-soil-brown) !important;
    border-radius: 4px !important;
    font-size: 10px !important;
}
.kpv-rating {
    color: var(--agri-text-dark) !important;
}
.kpv-rating .star-icon {
    color: var(--agri-gold) !important;
}
.kpv-product-name a {
    font-weight: 600 !important;
    color: var(--agri-green-dark) !important;
    transition: color 0.2s;
}
.kpv-product-name a:hover {
    color: var(--agri-green-light) !important;
}
.kpv-price-current {
    color: var(--agri-green-dark) !important;
    font-weight: 800 !important;
}
.kpv-buynow-btn {
    background: var(--agri-green-mid) !important;
    transition: background 0.3s ease !important;
}
.kpv-buynow-btn:hover {
    background: var(--agri-green-dark) !important;
}
.kpv-cart-btn {
    background: var(--agri-text-dark) !important;
    transition: background 0.3s ease !important;
}
.kpv-cart-btn:hover {
    background: var(--agri-green-dark) !important;
}

/* Why Welldone Section OVERRIDES */
.why-item {
    background: #ffffff !important;
    border: 1px solid rgba(45, 106, 79, 0.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.01) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.why-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(27, 67, 50, 0.05) !important;
}
.why-number {
    color: var(--agri-green-light) !important;
    opacity: 0.18 !important;
    font-family: 'Playfair Display', serif !important;
}
.why-item h4 {
    color: var(--agri-green-dark) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
.why-item p {
    color: var(--agri-text-muted) !important;
    font-size: 14.5px !important;
}

/* Experts / Agronomist Section */
.expert-section {
    background-color: var(--agri-mint-bg) !important;
    border-top: 1px solid rgba(45, 106, 79, 0.08);
    border-bottom: 1px solid rgba(45, 106, 79, 0.08);
}
.expert-card {
    border: 1px solid rgba(45, 106, 79, 0.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01) !important;
    background: #ffffff !important;
}
.expert-info .name {
    color: var(--agri-green-dark) !important;
}
.expert-rating i {
    color: var(--agri-gold) !important;
}
.btn-expert {
    background: var(--agri-green-mid) !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 14px rgba(45, 106, 79, 0.25) !important;
    transition: all 0.3s ease !important;
}
.btn-expert:hover {
    background: var(--agri-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(27, 67, 50, 0.35) !important;
}

/* Farmers Success / Stories Section */
.story-card {
    border: 1px solid rgba(45, 106, 79, 0.08) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.01) !important;
    background: #ffffff !important;
}
.story-img-wrapper {
    border-radius: 10px !important;
}
.story-rating i {
    color: var(--agri-green-light) !important;
}
.story-name {
    color: var(--agri-green-dark) !important;
}
.story-text {
    color: var(--agri-text-muted) !important;
}

/* Subscription Banner */
.kpv-subscribe-banner {
    border-top: 4px solid var(--agri-green-dark) !important;
}
.kpv-subscribe-banner h2 {
    font-family: 'Playfair Display', serif !important;
    color: #ffffff !important;
}
.kpv-subscribe-form button {
    background: var(--agri-green-dark) !important;
}
.kpv-subscribe-form button:hover {
    background: var(--agri-green-mid) !important;
}

/* Footer styling */
.kpv-footer-new {
    background: #f4faf6 !important;
    border-top: 3px solid var(--agri-green-dark) !important;
}
.kpv-brand-logo {
    border: 2px solid var(--agri-green-dark) !important;
    color: var(--agri-green-dark) !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 800 !important;
    border-radius: 6px !important;
}
.kpv-new-col-title {
    color: var(--agri-green-dark) !important;
}
.kpv-mail-input button {
    background: var(--agri-green-dark) !important;
}
.kpv-mail-input button:hover {
    background: var(--agri-green-mid) !important;
}
.kpv-new-social a:hover {
    color: var(--agri-green-mid) !important;
}
.kpv-dark-copy {
    background: var(--agri-green-dark) !important;
}
.kpv-dark-copy p {
    color: var(--agri-green-pale) !important;
}
.kpv-policy-bar .policy-links a:hover {
    color: var(--agri-green-mid) !important;
}

/* ────────────────────────────────────────────────────────
   ADVANCED ANIMATIONS & CATALOG FILTER STYLES
   ──────────────────────────────────────────────────────── */

/* Floating Leaves CSS Animation */
.floating-leaves-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}
.floating-leaf {
    position: absolute;
    display: block;
    width: 15px;
    height: 15px;
    background: rgba(45, 106, 79, 0.12);
    border-radius: 0 100% 0 100%;
    transform: rotate(45deg);
    animation: floatLeaf 15s linear infinite;
}
.floating-leaf:nth-child(1) { left: 8%; animation-delay: 0s; animation-duration: 12s; }
.floating-leaf:nth-child(2) { left: 28%; animation-delay: 3s; animation-duration: 18s; width: 12px; height: 12px; }
.floating-leaf:nth-child(3) { left: 55%; animation-delay: 6s; animation-duration: 15s; }
.floating-leaf:nth-child(4) { left: 78%; animation-delay: 1.5s; animation-duration: 20s; width: 18px; height: 18px; }
.floating-leaf:nth-child(5) { left: 88%; animation-delay: 8s; animation-duration: 14s; }

@keyframes floatLeaf {
    0% {
        top: -30px;
        transform: translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.7;
    }
    90% {
        opacity: 0.7;
    }
    100% {
        top: 100%;
        transform: translateX(80px) rotate(360deg);
        opacity: 0;
    }
}

/* Live Catalog Filter Styles */
.catalog-filter-bar {
    background: #ffffff;
    border: 1px solid rgba(45, 106, 79, 0.1);
    border-radius: 16px;
    padding: 22px;
    margin-bottom: 35px;
    box-shadow: 0 10px 30px rgba(27, 67, 50, 0.04);
}
.catalog-search-holder {
    position: relative;
    width: 100%;
}
.catalog-search-holder i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--agri-green-mid);
    font-size: 16px;
}
.catalog-search-input {
    border: 1.5px solid rgba(45, 106, 79, 0.15);
    border-radius: 30px;
    padding: 12px 20px 12px 48px;
    font-size: 14px;
    outline: none;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    width: 100%;
    color: var(--agri-text-dark);
    font-family: 'Inter', sans-serif;
}
.catalog-search-input:focus {
    border-color: var(--agri-green-mid);
    box-shadow: 0 0 0 4px rgba(45, 106, 79, 0.12);
}
.catalog-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.catalog-filter-pill {
    background: #f4faf6;
    border: 1px solid rgba(45, 106, 79, 0.1);
    border-radius: 24px;
    padding: 6px 18px;
    font-size: 13px;
    font-weight: 600;
    color: var(--agri-text-dark);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    user-select: none;
}
.catalog-filter-pill:hover, .catalog-filter-pill.active {
    background: var(--agri-green-mid) !important;
    border-color: var(--agri-green-mid) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(45, 106, 79, 0.2);
}
.catalog-info-text {
    font-size: 14px;
    color: var(--agri-text-muted);
    font-weight: 500;
    font-family: 'Inter', sans-serif;
}
.catalog-info-count {
    color: var(--agri-green-dark);
    font-weight: 700;
}

/* Card Filtering Transition Animation */
.kpv-card-wrapper {
    transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.kpv-card-wrapper.filtered-out {
    opacity: 0;
    transform: scale(0.9);
    position: absolute;
    width: 0;
    height: 0;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    overflow: hidden;
    pointer-events: none;
}

/* Visual tags for the Agri store */
.kpv-card-tag {
    position: absolute;
    top: 15px;
    left: 15px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    z-index: 5;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    font-family: 'Inter', sans-serif;
    pointer-events: none;
}
.kpv-card-tag.tag-organic { background: var(--agri-green-dark) !important; }
.kpv-card-tag.tag-booster { background: var(--agri-soil-light) !important; }
.kpv-card-tag.tag-bio { background: var(--agri-green-mid) !important; }
.kpv-card-tag.tag-defense { background: #b05c3c !important; }

/* 3D tilt interaction parameters */
.kpv-card {
    transform-style: preserve-3d;
    perspective: 1000px;
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.kpv-card:hover {
    box-shadow: 0 15px 35px rgba(27, 67, 50, 0.12) !important;
    border-color: rgba(45, 106, 79, 0.25) !important;
}
.kpv-card-image img {
    transform: translateZ(15px);
    transition: transform 0.4s ease;
}
.kpv-card-body {
    transform: translateZ(10px);
}

/* Styled Laravel Pagination overrides */
.pagination {
    margin-top: 35px;
    display: flex;
    gap: 8px;
    justify-content: center;
}
.pagination li .page-link,
.pagination li span {
    color: var(--agri-green-mid) !important;
    border: 1px solid rgba(45, 106, 79, 0.2) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    padding: 10px 18px !important;
    transition: all 0.2s ease !important;
    background: #ffffff !important;
}
.pagination li.active span,
.pagination li.active .page-link {
    background-color: var(--agri-green-mid) !important;
    border-color: var(--agri-green-mid) !important;
    color: #ffffff !important;
}
.pagination li a:hover {
    background-color: var(--agri-green-pale) !important;
    color: var(--agri-green-dark) !important;
}
