/* Reset / Base */
:root {
    --primary-color: #1a7b4c; /* Main vibrant green */
    --primary-dark: #0f3020;  /* Very dark green for topbar/footer */
    --orange: #c85a32;        /* Button/Banner orange */
    --text-dark: #2d3748;
    --text-muted: #718096;
    --border-color: #e2e8f0;
    --bg-light: #f7fafc;
    --bg-light-green: #eaf3ee;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--text-dark);
    background-color: #ffffff;
    overflow-x: hidden;
}

/* Utilities */
.text-primary-dark { color: var(--primary-dark) !important; }
.bg-primary-dark { background-color: var(--primary-dark) !important; }
.text-primary-theme { color: var(--primary-color) !important; }
.bg-primary-theme { background-color: var(--primary-color) !important; }
.text-orange { color: var(--orange) !important; }
.btn-orange { background-color: var(--orange); color: white; border: none; transition: 0.2s; }
.btn-orange:hover { background-color: #a84825; color: white; }
.bg-light-green { background-color: var(--bg-light-green); }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.lh-sm-custom { line-height: 1.2 !important; }

/* Top Bar */
.top-bar { background-color: var(--primary-dark); }
.top-bar-links a { color: rgba(255,255,255,0.8); text-decoration: none; margin-left: 15px; transition: 0.2s; }
.top-bar-links a:hover { color: white; }
.social-icons a { color: white; margin-left: 10px; font-size: 14px; opacity: 0.8; transition: 0.2s; }
.social-icons a:hover { opacity: 1; }

/* Header */
.main-header { border-bottom: 1px solid var(--border-color); }
.header-actions .action-item { transition: 0.2s; }
.header-actions .action-item:hover { opacity: 0.8; }
.badge-count { font-size: 9px; width: 16px; height: 16px; padding: 0; display: flex; align-items: center; justify-content: center; background-color: var(--primary-color) !important; border: 2px solid white;}

/* Sidebar Menu */
.category-menu { border: 1px solid var(--border-color); }
.category-menu .menu-header { background-color: var(--primary-dark); }
.category-list li { border-bottom: 1px solid var(--border-color); }
.category-list li:last-child { border-bottom: none; }
.category-list a { display: flex; align-items: center; padding: 12px 15px; color: var(--text-dark); text-decoration: none; font-size: 13px; font-weight: 500; transition: all 0.2s; }
.category-list a:hover { background-color: var(--bg-light-green); color: var(--primary-color); padding-left: 18px; }
.category-list .bi { width: 18px; font-size: 16px; margin-right: 12px; color: var(--primary-dark); opacity: 0.7; text-align: center; }

/* Hero Area */
.hero-banner { background-color: #f6f8f7; min-height: 380px; }
.hero-image-grid {
    display: grid;
    grid-template-columns: 50% 25% 25%;
    grid-template-rows: 50% 50%;
    gap: 8px; /* white gap between images */
    background-color: white; 
}
.hero-img-main { grid-column: 1; grid-row: 1 / span 2; overflow: hidden; }
.hero-img-main img { width: 100%; height: 100%; object-fit: cover; }
.hero-img-top-right { grid-column: 2 / span 2; grid-row: 1; overflow: hidden; }
.hero-img-top-right img { width: 100%; height: 100%; object-fit: cover; }
.hero-img-bottom-middle { grid-column: 2; grid-row: 2; overflow: hidden; }
.hero-img-bottom-middle img { width: 100%; height: 100%; object-fit: cover; }
.hero-img-bottom-right { grid-column: 3; grid-row: 2; overflow: hidden; }
.hero-img-bottom-right img { width: 100%; height: 100%; object-fit: cover; }

.banner-card-beige { background-color: #f5eedf !important; }
.banner-card-beige .btn-dark-green { background-color: #0c3829; border-color: #0c3829; color: white; }
.banner-card-rust { background-color: #ca5d34 !important; }

.bg-light-custom { background-color: #f7f9f8; }
.slanted-bg { clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }
.hero-features-bar { border-radius: 0 50px 0 0; }

.hero-feature-title { font-size: 13px; font-weight: 700; color: #0d2c3e; }
.hero-feature-subtitle { font-size: 11px; color: #8e9ca8; margin-top: 3px; }
.hero-feature-icon { font-size: 26px; color: #007b5e; margin-right: 14px; }
.hero-feature-divider { border-left: 1px solid #e2e8f0; height: 35px; margin: 0 5px; }

.hero-badge { 
    width: 110px; height: 110px; border-radius: 50%; background: white; 
    position: absolute; left: 55%; top: 50%; transform: translate(-50%, -50%);
    box-shadow: 0 5px 25px rgba(0,0,0,0.15); display: flex; flex-direction: column; 
    justify-content: center; align-items: center; z-index: 5;
}

.hero-features .icon-box { background-color: var(--bg-light-green); color: var(--primary-color); }

/* Product Cards */
.product-card { transition: transform 0.2s, box-shadow 0.2s; border: 1px solid transparent !important; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05) !important; border-color: var(--border-color) !important; }
.product-carousel-container { position: relative; }
.product-carousel-container .btn-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: white; border: 1px solid var(--border-color); color: var(--text-dark); width: 35px; height: 35px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.product-carousel-container .btn-nav:hover { background: var(--bg-light-green); color: var(--primary-color); }
.product-carousel-container .btn-nav.right { right: -17px; }
.product-carousel-container .btn-nav.left { left: -17px; }
.btn-cart { background-color: var(--bg-light-green); color: var(--primary-color); border: none; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: 0.2s; }
.btn-cart:hover { background-color: var(--primary-color); color: white; }

/* Banners */
.banner-card { border: none; border-radius: 1rem; overflow: hidden; }
.banner-card-light { background-color: #f5eedc; } /* Adjust based on exact visual */
.banner-card-orange { background-color: var(--orange); color: white; }

/* Brands */
.brands-row img { transition: 0.2s; max-height: 25px; object-fit: contain; }
.brands-row img:hover { transform: scale(1.05); }

/* Articles */
.article-card { transition: 0.2s; border: 1px solid #e2e8f0 !important; }
.article-card:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important; }

/* Categories Circles */
.category-circle-item { transition: 0.2s; opacity: 0.8; }
.category-circle-item:hover { opacity: 1; transform: translateY(-5px); }
.category-card { border-radius: 8px; overflow: visible; border: 1px solid var(--border-color) !important; }
.category-circle-item .rounded-circle { transition: 0.2s; border: 1px solid var(--border-color) !important; background-color: white !important;}
.category-circle-item:hover .rounded-circle { border-color: var(--primary-color) !important; box-shadow: 0 5px 15px rgba(26,123,76,0.1); }

/* Bottom Features */
.feature-box { border-color: var(--border-color) !important; transition: 0.2s; }
.feature-box:hover { border-color: var(--primary-color) !important; box-shadow: 0 5px 15px rgba(0,0,0,0.03); }

/* FAQ Accordion */
.accordion-button:not(.collapsed) { background-color: var(--bg-light-green); color: var(--primary-dark); box-shadow: none; }
.accordion-button:focus { box-shadow: none; border-color: rgba(0,0,0,0.125); }

/* Footer */
footer { background-color: var(--primary-dark); }
.footer-logo { max-width: 200px; filter: brightness(0) invert(1); }
.footer-social { width: 35px; height: 35px; display: flex; align-items: center; justify-content: center; border-color: rgba(255,255,255,0.2) !important; color: white !important; transition: 0.2s; }
.footer-social:hover { background-color: var(--primary-color) !important; border-color: var(--primary-color) !important; }
.footer-links a { color: rgba(255,255,255,0.6); text-decoration: none; transition: 0.2s; display: block; }
.footer-links a:hover { color: white; padding-left: 5px; }

/* Responsive adjustments */
@media (max-width: 991.98px) {
    .top-bar { display: none; }
    .hero-banner { min-height: auto; text-align: center; }
    .hero-badge { display: none; }
    .banner-card { margin-bottom: 1rem; }
    .article-card .row { flex-direction: column; }
    .article-card .col-6 { width: 100%; }
    .article-card img { height: 200px; }
}

/* --- Image Extraction from 1.jpeg --- */
/* Using 1.jpeg as the source image as requested */
.sprite-img {
    background-image: url('../1.jpeg');
    background-repeat: no-repeat;
    /* Base scaling assumes a 1920px wide screenshot */
    background-size: 1920px auto; 
    border-radius: 8px;
}

/* Approximate coordinates for elements from the main screenshot */
.hero-main-img {
    background-position: right 140px; /* Hero image area */
    background-size: 2400px auto;
}

.sprite-support {
    background-position: -230px -400px; /* Small support banner image */
    background-size: 2000px auto;
}

.sprite-product-1 { background-position: -460px -540px; }
.sprite-product-2 { background-position: -680px -540px; }
.sprite-product-3 { background-position: -900px -540px; }
.sprite-product-4 { background-position: -1120px -540px; }
.sprite-product-5 { background-position: -1340px -540px; }

.sprite-banner-1 { background-position: -230px -900px; }
.sprite-banner-2 { background-position: -730px -900px; }

.sprite-article-1 { background-position: -230px -1150px; background-size: 2200px auto;}
.sprite-article-2 { background-position: -730px -1150px; background-size: 2200px auto;}
.sprite-article-3 { background-position: -1230px -1150px; background-size: 2200px auto;}

@media (max-width: 767.98px) {
    .header-actions .action-item .text-start { display: none !important; }
    .search-bar { order: 3; margin-top: 15px; }
    .logo img { max-width: 150px; }
    .hero-banner h1 { font-size: 2rem; }
    .newsletter-form { flex-direction: column; }
    .newsletter-form input { border-radius: 50rem !important; margin-bottom: 10px; border-right: 1px solid var(--border-color) !important; }
    .newsletter-form button { border-radius: 50rem !important; }
    .product-carousel-container .btn-nav { display: none; } /* Hide navigation buttons on mobile, rely on scroll */
}

/* Responsive Hero Banner */
.hero-banner-mobile { flex-direction: column; min-height: auto; height: auto; }
.hero-image-container { width: 100%; position: relative; height: 250px; z-index: 0; }
.hero-slanted-bg { display: none; background-color: #f7f9f8; }
.hero-content { width: 100%; padding: 1.5rem; position: relative; z-index: 2; background-color: #f7f9f8; }
.hero-features-bar { width: 100%; flex-wrap: wrap; justify-content: center; gap: 15px; border-radius: 0; }
.hero-features-bar .hero-feature-divider { display: none; }

@media (min-width: 992px) {
    .hero-banner-mobile { flex-direction: row; height: 420px !important; }
    .hero-image-container { width: 58%; position: absolute; right: 0; top: 0; height: 100%; }
    .hero-slanted-bg { display: block; position: absolute; height: 100%; top: 0; left: 0; z-index: 1; width: 52%; clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }
    .hero-content { width: 55%; padding: 3rem; background-color: transparent; }
    .hero-features-bar { width: 100%; flex-wrap: nowrap; justify-content: space-between; border-radius: 0 50px 0 0; }
    .hero-features-bar .hero-feature-divider { display: block; }
}

/* Mobile product carousel arrows */
.btn-scroll-left { left: -15px; }
.btn-scroll-right { right: -15px; }
@media (max-width: 991px) {
    .btn-scroll-left { left: 0; }
    .btn-scroll-right { right: 0; }
}

/* MEGA MENU FIXES FOR TEMAHEADER */
.desktop-main-menu-wrapper .dropdown:hover > .dropdown-menu { display: block !important; visibility: visible !important; opacity: 1 !important; }
.desktop-main-menu-wrapper .dropdown-menu { display: none !important; position: absolute; top: 100%; left: 0; min-width: 250px !important; z-index: 1000; background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.desktop-main-menu-wrapper .infinite-cat-menu .dropdown { position: relative; }
.desktop-main-menu-wrapper .infinite-cat-menu .dropdown:hover > .infinite-sub-menu { display: block !important; }
.desktop-main-menu-wrapper .infinite-sub-menu { display: none !important; position: absolute; top: 0; left: 100%; min-width: 250px !important; z-index: 1001; background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.1); border: 1px solid #eee; padding-left:0; }
.infinite-sub-menu li { list-style: none; }
.infinite-cat-menu { padding-left: 0; margin-bottom: 0; }

/* Veteriner Ciftlik AVM Logosu & Kurumsal Renk Uyumu */
:root {
  --vet-green: #3A6B25;
  --vet-green-dark: #2F521B;
  --vet-orange: #F36F21;
  --vet-orange-dark: #D95A10;
}
.top-bar, .top-bar-wrapper, .header-top, .top-bar.navbar-nav {
  background-color: var(--vet-green) !important;
  color: #ffffff !important;
}
.desktop-main-menu-wrapper, #main-menu, .main-menu, .main-menu-3 {
  background-color: var(--vet-green) !important;
}
.main-menu > .j-menu > li > a, 
.main-menu > .j-menu > li > a > .links-text,
.main-menu-item > a,
.main-menu-item > a > .links-text {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
.main-menu-item > a:hover > .links-text, .main-menu-item:hover > a > .links-text {
  color: var(--vet-orange) !important;
}

/* LEFT SIDEBAR MENU FIXES */
.sidebar .category-list .hover-menu-item { position: relative; }
.sidebar .category-list .hover-menu-item:hover > .sub-category-list { display: block !important; }
.sidebar .sub-category-list { display: none !important; position: absolute; left: 100%; top: 0; min-width: 250px; background: white; box-shadow: 0 5px 15px rgba(0,0,0,0.1); border: 1px solid #eee; z-index: 1050; padding-left: 0; }
.sidebar .sub-category-list li { list-style: none; }

/* FIX SIDEBAR FLYOUT FOR INFINITE-SUB-MENU */
.sidebar .category-list .hover-menu-item { position: relative; }
.sidebar .category-list .hover-menu-item:hover > .infinite-sub-menu { display: block !important; }
.sidebar .infinite-sub-menu { display: none !important; position: absolute; left: 100%; top: 0; min-width: 250px; background: white; box-shadow: 0 5px 15px rgba(0,0,0,0.1); border: 1px solid #eee; z-index: 1050; padding-left: 0; }
.sidebar .infinite-sub-menu li { list-style: none; }


/* ==========================================================================
   LEGACY THEME PATCHES (Icons & Buttons)
   ========================================================================== */
.btn-outline-primary-2 { padding: 10px 25px !important; min-width: 130px; font-weight: 600; text-transform: uppercase; border-radius: 4px; 
    color: var(--primary-color) !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 1px solid var(--primary-color) !important;
    transition: all 0.3s;
}
.btn-outline-primary-2:hover, .btn-outline-primary-2:focus, .btn-outline-primary-2:active {
    color: #fff !important;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    box-shadow: none !important;
}

/* Map missing Molla / Icomoon icons to Bootstrap Icons */
.icon-long-arrow-right::before {
    content: '\e5c8'; /* bi-arrow-right */
    font-family: 'icomoon' !important;
}
.icon-close::before, .btn-remove i::before, .btn-remove::before {
    content: '\e5cd'; /* bi-x */
    font-family: 'icomoon' !important;
}
.btn-remove {
    background: transparent;
    border: none;
    color: #cc0000;
    font-size: 1.2rem;
}

/* Product Gallery Arrows */
.swiper-button-next::after, .swiper-button-prev::after {
    display: none !important; /* hide default swiper arrows if any */
}
.swiper-buttons .swiper-button-next::before,
.product-image .main-image .swiper-button-next::before,
.additional-images .swiper-button-next::before,
.swiper-button-next::before {
    content: '\e93f' !important; /* bi-chevron-right */
    font-family: 'icomoon' !important;
    font-size: 30px;
    color: #696973;
}
.swiper-buttons .swiper-button-prev::before,
.product-image .main-image .swiper-button-prev::before,
.additional-images .swiper-button-prev::before,
.swiper-button-prev::before {
    content: '\e93e' !important; /* bi-chevron-left */
    font-family: 'icomoon' !important;
    font-size: 30px;
    color: #696973;
}
.lg-next::before {
    content: '\e93f' !important; /* bi-chevron-right */
    font-family: 'icomoon' !important;
}
.lg-prev::after, .lg-prev::before {
    content: '\e93e' !important; /* bi-chevron-left */
    font-family: 'icomoon' !important;
}

@font-face {
  font-family: 'icomoon';
  src:
    url('../icons/fonts/icomoon.woff2?v1') format('woff2'),
    url('../icons/fonts/icomoon.woff?v1') format('woff'),
    url('../icons/fonts/icomoon.ttf?v1') format('truetype'),
    url('../icons/fonts/icomoon.svg?v1#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.mobile-hero-img { width: 100%; height: 380px; object-fit: cover; display: block; }
@media (max-width: 991.98px) {
    .mobile-hero-img { height: auto; object-fit: contain; }
}
