/* ================================================================
   FABILIVE BRAND CSS  —  Design System Override Layer
   Loaded last in front.blade.php  (all !important wins over theme)
   ================================================================ */

/* ──────────── CSS CUSTOM PROPERTIES ──────────── */
:root {
  --fb-green:        #0F9D58;
  --fb-green-dark:   #0C8A4D;
  --fb-mint:         #20C997;
  --fb-black:        #111111;
  --fb-gray:         #F5F6F7;
  --fb-white:        #FFFFFF;
  --fb-discount-bg:  #C8F3DE;
  --fb-discount-txt: #0C5C38;

  /* Override GeniusCart theme tokens */
  --theme-primary-color:     #0F9D58 !important;
  --theme-primary-color-rgb: 15, 157, 88 !important;
  --theme-secondary-color:   #111111 !important;
  --theme-white-color:       #FFFFFF !important;
  --theme-light-color:       #F5F6F7 !important;
}

/* ──────────── TYPOGRAPHY — POPPINS ──────────── */
body,
h1, h2, h3, h4, h5, h6,
p, span, a, li, input, select, textarea, button,
.nav-link, .btn, .form-control, .dropdown-item,
.navbar, .widget-title, .product-title,
.price, .strok, .banner-content * {
  font-family: 'Poppins', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.price, .strok, .widget-title, .section-title {
  font-weight: 600 !important;
}

.btn, .nav-link, label, .form-label,
.navbar-nav .nav-link {
  font-weight: 500 !important;
}

body, p, li, span, a, td, th {
  font-weight: 400;
}

/* ──────────── PAGE BACKGROUND ──────────── */
body,
#page_wrapper {
  background-color: var(--fb-gray) !important;
}

/* ──────────── BUTTON SYSTEM ──────────── */
/* Primary (green pill) */
.btn-primary,
.btn-success,
.btn-theme,
button.btn-primary,
input[type="submit"].btn-primary {
  background-color: var(--fb-green) !important;
  border-color:     var(--fb-green) !important;
  border-radius:    50px !important;
  color: #fff !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
.btn-primary:hover,
.btn-success:hover,
.btn-theme:hover {
  background-color: var(--fb-green-dark) !important;
  border-color:     var(--fb-green-dark) !important;
  color: #fff !important;
}
/* Outline (white + green border) */
.btn-outline-primary,
.btn-outline-success {
  background: #fff !important;
  border: 2px solid var(--fb-green) !important;
  color: var(--fb-green) !important;
  border-radius: 50px !important;
}
.btn-outline-primary:hover,
.btn-outline-success:hover {
  background: var(--fb-green) !important;
  color: #fff !important;
}
/* Secondary (black pill) */
.btn-secondary,
.btn-dark {
  background-color: var(--fb-black) !important;
  border-color:     var(--fb-black) !important;
  border-radius:    50px !important;
  color: #fff !important;
}
.btn-secondary:hover,
.btn-dark:hover {
  background-color: #333 !important;
  border-color:     #333 !important;
}

/* ──────────── BADGE / PILL SYSTEM ──────────── */
.badge-new, .badge.new {
  background: var(--fb-green) !important;
  color: #fff !important;
  border-radius: 50px !important;
}
.badge-hot, .badge.hot {
  background: var(--fb-black) !important;
  color: #fff !important;
  border-radius: 50px !important;
}
.badge-sale, .badge.sale {
  background: var(--fb-mint) !important;
  color: #fff !important;
  border-radius: 50px !important;
}
.badge-discount, .discount-badge {
  background: var(--fb-discount-bg) !important;
  color: var(--fb-discount-txt) !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
}

/* ──────────── CART & NOTIFICATION BADGE COUNTS ──────────── */
.header-cart-count,
.notification-count,
.cart-count-badge {
  background-color: var(--fb-green) !important;
  background:       var(--fb-green) !important;
  color: #fff !important;
}

/* ──────────── LINKS & ACTIVE STATES ──────────── */
a { color: var(--fb-black); }
a:hover { color: var(--fb-green) !important; }
.text-primary { color: var(--fb-green) !important; }
.bg-primary    { background-color: var(--fb-green) !important; }
.border-primary { border-color: var(--fb-green) !important; }

/* ──────────── FORM INPUTS ──────────── */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
select,
textarea {
  background-color: var(--fb-gray) !important;
  border-color: #e0e0e0 !important;
  border-radius: 8px !important;
}
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--fb-green) !important;
  box-shadow: 0 0 0 0.2rem rgba(15, 157, 88, 0.25) !important;
}

/* ──────────── ALERTS ──────────── */
.alert-success {
  background-color: #d4edda !important;
  border-color: var(--fb-green) !important;
  color: #155724 !important;
}
.alert-primary {
  background-color: #d4edda !important;
  border-color: var(--fb-green) !important;
  color: #155724 !important;
}
.alert-danger { border-color: #dc3545 !important; }

/* ──────────── MAIN HEADER ──────────── */
.ecommerce-header {
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ──────────── TOP UTILITY BAR ──────────── */
.fb-utility-bar {
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 6px 20px;
  font-size: 12px;
}
.fb-utility-bar a {
  color: var(--fb-black);
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
}
.fb-utility-bar a:hover { color: var(--fb-green) !important; }
.fb-utility-bar .fb-util-left { color: #555; font-size: 12px; }
.fb-utility-bar .fb-util-right { display: flex; gap: 18px; align-items: center; }
.fb-utility-bar .fb-util-right a { display: flex; align-items: center; gap: 4px; }

/* ──────────── GREEN NAVIGATION BAR ──────────── */
.fb-navbar {
  background: var(--fb-green);
  padding: 0;
  width: 100%;
}
.fb-navbar .container-fluid {
  padding-left: 20px;
  padding-right: 20px;
}
.fb-navbar a,
.fb-navbar .nav-link {
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 14px;
  padding: 11px 16px !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: background 0.15s ease;
}
.fb-navbar a:hover,
.fb-navbar .nav-link:hover {
  color: var(--fb-mint) !important;
  background: var(--fb-green-dark) !important;
  text-decoration: none;
}
.fb-navbar .fb-all-cat {
  background: var(--fb-green-dark);
  font-weight: 600 !important;
  gap: 8px;
}
.fb-navbar .fb-all-cat:hover {
  background: #0a7040 !important;
}
.fb-navbar .fb-nav-links {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ──────────── SEARCH BAR ──────────── */
.search-form,
.search-form.form-inline.search-pill-shape {
  background: var(--fb-gray) !important;
  border-radius: 50px !important;
  border: 1.5px solid #e0e0e0 !important;
  overflow: hidden;
  display: flex !important;
  align-items: center;
}
.search-form .search-field,
.search-form .form-control {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 8px 16px !important;
  font-size: 14px;
}
.search-form .categori-container,
.search-form #catSelectForm {
  border-left: 1px solid #ddd;
  padding: 0 8px;
}
.search-form .categori-container select,
.search-form .form-control.categoris {
  background: transparent !important;
  border: none !important;
  font-size: 13px;
  min-width: 120px;
}
.search-submit {
  background: var(--fb-green) !important;
  border: none !important;
  border-radius: 0 50px 50px 0 !important;
  padding: 9px 22px !important;
  color: #fff !important;
  cursor: pointer;
  transition: background 0.2s ease !important;
}
.search-submit:hover { background: var(--fb-green-dark) !important; }
/* select2 in search bar */
.select2-container--default .select2-selection--single {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
}

/* ──────────── HERO BANNER ──────────── */
.banner-slide-item {
  background-color: var(--fb-black) !important;
  border-radius: 12px;
}
.banner-content .subtitle {
  color: var(--fb-mint) !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-shadow: none !important;
}
.banner-content .title {
  font-weight: 600 !important;
  color: #fff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
}
.banner-content .details-text {
  color: rgba(255,255,255,0.80) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}
/* Hero CTA button override */
.premium-btn,
.banner-content a.premium-btn {
  background: var(--fb-green) !important;
  background-image: none !important;
  box-shadow: 0 4px 16px rgba(15,157,88,0.4) !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #fff !important;
}
.premium-btn:hover {
  background: var(--fb-green-dark) !important;
  box-shadow: 0 6px 20px rgba(15,157,88,0.5) !important;
}
/* Carousel arrows */
.nextBtn, .prevBtn {
  background: rgba(255,255,255,0.92) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.18) !important;
}
.nextBtn:hover, .prevBtn:hover {
  background: #fff !important;
}
/* Owl dots */
.home-slider .owl-dot.active span,
.home-slider .owl-dot:hover span {
  background: var(--fb-green) !important;
  width: 24px !important;
}

/* ──────────── TRUST STRIP ──────────── */
.fb-trust-strip {
  background: var(--fb-gray);
  border-bottom: 1px solid #e4e4e4;
  padding: 14px 0;
}
.fb-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 6px 10px;
}
.fb-trust-icon {
  width: 44px;
  height: 44px;
  border: 2px solid var(--fb-green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fb-trust-icon i { color: var(--fb-green); font-size: 18px; }
.fb-trust-text strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--fb-black);
}
.fb-trust-text span { font-size: 11px; color: #666; }

/* ──────────── CATEGORY SECTION HEADING ──────────── */
.fb-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.fb-section-heading h2 {
  font-size: 20px;
  font-weight: 600;
  color: var(--fb-black);
  margin: 0;
}
.fb-section-heading .view-all {
  color: var(--fb-green);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}
.fb-section-heading .view-all:hover {
  color: var(--fb-green-dark) !important;
  text-decoration: underline;
}

/* ──────────── CATEGORY CARDS ──────────── */
.category-carousel-wrap .product-wrapper {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.07) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  overflow: hidden;
}
.category-carousel-wrap .product-wrapper:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.13) !important;
}
.category-carousel-wrap .product-image {
  background: var(--fb-gray) !important;
}
.category-carousel-wrap .product-info {
  background: rgba(255,255,255,0.92) !important;
}
.category-carousel-wrap .product-info .product-title span {
  font-weight: 500 !important;
  color: var(--fb-black) !important;
}
.category-carousel-wrap .product-info .strok {
  color: var(--fb-green) !important;
  font-weight: 600 !important;
}
.category-carousel-wrap .owl-prev:hover,
.category-carousel-wrap .owl-next:hover {
  background: var(--fb-green) !important;
  color: #fff !important;
}

/* ──────────── PRODUCT CARDS (global) ──────────── */
.product-wrapper,
.product-card,
.product-wapper {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.product-wrapper:hover,
.product-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.11) !important;
  transform: translateY(-3px);
}
.product-image,
.product-img-wrap {
  background-color: var(--fb-gray) !important;
}
.product-title a,
.product-card .product-name,
.product-title span {
  font-weight: 500 !important;
  color: var(--fb-black) !important;
}
.price,
.product-price,
.strok {
  color: var(--fb-green) !important;
  font-weight: 600 !important;
}
.price-old,
del, .old-price, s {
  color: #999 !important;
  font-weight: 400 !important;
}
/* Star rating — amber */
.rating i, .star-rating i, .review-star i,
.fa-star, .fas.fa-star, .far.fa-star {
  color: #FBBF24 !important;
}
/* Wishlist heart */
.wishlist-btn, .add-to-wishlist, .wishlist-icon {
  color: #ccc !important;
}
.wishlist-btn:hover, .add-to-wishlist:hover { color: var(--fb-green) !important; }

/* Product card Add to Cart button */
.product-wrapper .btn-primary,
.product-wrapper .btn-success,
.product-wrapper .buy-btn,
.product-wrapper .cart-btn,
.cart-btn, .add-to-cart-btn {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  border-radius: 50px !important;
  color: #fff !important;
  font-size: 13px !important;
  padding: 7px 18px !important;
}

/* ──────────── FLASH DEALS / COUNTDOWN ──────────── */
.countdown-item,
.deal-timer-box,
.timer-box {
  background: var(--fb-black) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  min-width: 42px;
  text-align: center;
  padding: 4px 8px;
}
.deal-timer-label { color: #666; font-size: 11px; }

/* ──────────── SIDEBAR (vertical menu, filters) ──────────── */
.vertical-menu {
  background: #fff !important;
  border-radius: 10px !important;
}
.vertical-menu .mega-menu-item:hover { background: var(--fb-gray) !important; }
.vertical-menu .mega-menu-item:hover .text-dark { color: var(--fb-green) !important; }
.mega-menu-item:hover .mega-menu-content a:hover { color: var(--fb-green) !important; }

/* ──────────── PRICE SLIDER ──────────── */
.ui-widget-header { background: var(--fb-green) !important; }
.ui-slider-handle { background: var(--fb-green) !important; border-color: var(--fb-green) !important; }

/* ──────────── PAGINATION ──────────── */
.page-item.active .page-link {
  background-color: var(--fb-green) !important;
  border-color:     var(--fb-green) !important;
}
.page-link { color: var(--fb-green) !important; }
.page-link:hover { background: var(--fb-gray) !important; color: var(--fb-green-dark) !important; }

/* ──────────── BREADCRUMB ──────────── */
.breadcrumb-item.active { color: var(--fb-green) !important; }
.breadcrumb-item a { color: var(--fb-green) !important; }

/* ──────────── TABS ──────────── */
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  color: #fff !important;
}
.nav-tabs .nav-link:hover { color: var(--fb-green) !important; }

/* ──────────── CART & CHECKOUT ──────────── */
.cart-area .btn-primary,
.checkout-area .btn-primary,
.checkout-section .btn,
.order-confirm-btn {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  border-radius: 50px !important;
}
.coupon-field .btn { background: var(--fb-green) !important; border-color: var(--fb-green) !important; }

/* ──────────── LOGIN / REGISTER ──────────── */
.login-page .btn-primary,
.register-page .btn-primary,
.sign-in-btn {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  border-radius: 50px !important;
}
.social-login-btn { border-radius: 50px !important; }

/* ──────────── ACCOUNT DASHBOARD ──────────── */
.user-nav .nav-link.active,
.user-nav .nav-link:hover {
  color: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
}
.account-section .btn-primary { background: var(--fb-green) !important; }

/* ──────────── TOASTR ──────────── */
.toast-success { background-color: var(--fb-green) !important; }
.toast-info    { background-color: #17a2b8 !important; }

/* ──────────── COOKIE BAR ──────────── */
.btn-accept { background: var(--fb-green) !important; border-color: var(--fb-green) !important; border-radius: 50px !important; }

/* ──────────── SCROLL TO TOP ──────────── */
.scroller { background: var(--fb-green) !important; }

/* ──────────── FOOTER ──────────── */
footer.full-row,
footer {
  background: var(--fb-black) !important;
  color: #ccc;
}
footer .widget-title,
footer h3, footer h4, footer h5, footer h6 {
  color: #fff !important;
  font-weight: 600 !important;
  margin-bottom: 14px;
}
footer ul li a,
footer a {
  color: #aaa !important;
  font-size: 13px !important;
  line-height: 2.0;
  text-decoration: none !important;
}
footer a:hover { color: var(--fb-mint) !important; }
footer .footer-logo img { filter: brightness(10); }
footer .text-dark,
footer .text-general,
footer .text-secondary { color: #aaa !important; }
footer p, footer span.d-block { color: #aaa !important; }
footer .media-widget a i { color: #aaa !important; }
footer .media-widget a:hover i { color: var(--fb-mint) !important; }
footer .media-widget a img { filter: brightness(0) invert(0.5); }
footer .media-widget a:hover img { filter: brightness(0) invert(1); }
/* Footer newsletter */
.full-row.bg-dark { background: #0a0a0a !important; }
.subscribe-form { background: transparent !important; }
.subscribe-form .form-control {
  background: #fff !important;
  border-radius: 50px 0 0 50px !important;
  border: none !important;
}
.subscribe-form .btn,
.subscribe-form button[type="submit"] {
  background: var(--fb-green) !important;
  border-radius: 0 50px 50px 0 !important;
  border: none !important;
  color: #fff !important;
}
.subscribe-form .btn:hover { background: var(--fb-green-dark) !important; }
/* Footer newsletter heading */
.full-row.bg-dark h4 { color: #fff !important; font-weight: 600 !important; }
/* Copyright */
.container .sm-mb-10 { color: #777 !important; }
#page_wrapper > .container.text-center { background: var(--fb-black); border-top: 1px solid #222; }

/* ──────────── MOBILE SEARCH BAR ──────────── */
.mobile-search-bar {
  background: var(--fb-green) !important;
  padding: 8px 12px;
}
.mobile-search-bar input {
  background: #fff !important;
  border: none !important;
}
.mobile-search-bar button {
  background: var(--fb-green-dark) !important;
  color: #fff !important;
  border: none !important;
}
.mobile-search-bar i { color: #fff !important; }

/* ──────────── MOBILE CONTACT BANNER ──────────── */
.mobile-contact-banner {
  background: var(--fb-black) !important;
}
.mobile-contact-banner a { color: #fff !important; font-size: 12px; }
.mobile-contact-banner a:hover { color: var(--fb-mint) !important; }

/* ──────────── MY ACCOUNT POPUP ──────────── */
.my-account-popup { border-radius: 8px !important; }
.my-account-popup li a:hover { color: var(--fb-green) !important; }
.my-account-popup .sign-in { color: var(--fb-green) !important; }
.my-account-popup .join { color: var(--fb-mint) !important; font-weight: 600; }

/* ──────────── NOTIFICATION DROPDOWN ──────────── */
#userDropdown, .header-user .dropdown-menu {
  border-radius: 10px !important;
  border: 1px solid #eee !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}
.dropdown-custom .dropdown-header { color: var(--fb-green) !important; font-weight: 600 !important; }
.dropdown-menu ul li a:hover { color: var(--fb-green) !important; }

/* ──────────── VENDOR PAGE / SHOP PAGE ──────────── */
.shop-area .btn-primary,
.vendor-area .btn-primary {
  background: var(--fb-green) !important;
  border-radius: 50px !important;
}
.filter-sidebar .widget-title { color: var(--fb-black) !important; }

/* ──────────── ORDER TRACKING ──────────── */
.tracking-step.active .step-icon { background: var(--fb-green) !important; border-color: var(--fb-green) !important; }
.tracking-step.active .step-line { background: var(--fb-green) !important; }

/* ──────────── PRODUCT DETAIL PAGE ──────────── */
.product-detail .btn-primary,
.product-detail .buy-now-btn,
.product-detail-area .btn-primary {
  background: var(--fb-green) !important;
  border-radius: 50px !important;
}
.product-detail .price { color: var(--fb-green) !important; font-size: 24px; font-weight: 600; }

/* ──────────── PUSH MENU (mobile slide-out) ──────────── */
.login-signup.bg-secondary { background: var(--fb-black) !important; }
.navbar-slide-push .nav-link { color: var(--fb-black) !important; }
.navbar-slide-push .nav-link:hover { color: var(--fb-green) !important; }
.push-nav-toggle i, .push-nav-toggle { color: var(--fb-green) !important; }

/* ──────────── RESPONSIVE ──────────── */
@media (max-width: 991px) {
  .fb-navbar { display: none !important; }  /* hide green nav on mobile – hamburger replaces it */
  .fb-utility-bar { display: none !important; }
  body { background: var(--fb-gray) !important; }
}
@media (min-width: 992px) {
  .fb-utility-bar { display: flex; }
}

/* ──────────── SELECT2 DROPDOWN ──────────── */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--fb-green) !important;
}
.select2-container--default .select2-selection--single:focus {
  border-color: var(--fb-green) !important;
}

/* ================================================================
   SECTION 6 — PRODUCT CARDS: BADGES & HOVER BUTTONS
   ================================================================ */

/* Discount badge: "- 20%" top-left on image */
.on-sale,
.product-image .on-sale {
  background: var(--fb-discount-bg) !important;
  color: var(--fb-discount-txt) !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  padding: 3px 10px !important;
  border: none !important;
}

/* "New" / "Hot" / "Sale" corner labels */
.product-image .new-badge, .product-image .new {
  background: var(--fb-green) !important;
  color: #fff !important;
  border-radius: 50px !important;
}
.product-image .hot-badge, .product-image .hot {
  background: var(--fb-black) !important;
  color: #fff !important;
  border-radius: 50px !important;
}

/* ── HOVER-AREA: circular icon buttons ──────────────────────────
   The theme hides button text via text-indent:-9999px and renders
   icons through ::after (Flaticon). We style them as 36×36 circles
   with enough gap so they never overlap.
   ──────────────────────────────────────────────────────────────── */

/* Gap between stacked icon buttons (column layout) */
.product-wrapper .hover-area [class*="-button"],
.product-image .hover-area [class*="-button"] {
  margin-top: 8px !important;
}
.product-wrapper .hover-area [class*="-button"]:first-child,
.product-image .hover-area [class*="-button"]:first-child {
  margin-top: 0 !important;
}

/* Each anchor = a 36×36 circle */
.product-wrapper .hover-area [class*="-button"] a,
.product-image .hover-area [class*="-button"] a {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: none !important;
  padding: 0 !important;
  text-indent: -9999px !important;     /* keep text hidden */
  position: relative !important;
  display: block !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.14) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
.product-wrapper .hover-area [class*="-button"] a:hover,
.product-image .hover-area [class*="-button"] a:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,0.20) !important;
}

/* Icon (::after): centered inside the circle */
.product-wrapper .hover-area [class*="-button"] a::after,
.product-image .hover-area [class*="-button"] a::after {
  text-indent: 0 !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--fb-black) !important;
}

/* Cart button → green circle, white icon */
.product-wrapper .hover-area .cart-button a,
.product-image .hover-area .cart-button a {
  background: var(--fb-green) !important;
}
.product-wrapper .hover-area .cart-button a::after,
.product-image .hover-area .cart-button a::after {
  color: #fff !important;
}
.product-wrapper .hover-area .cart-button a:hover,
.product-image .hover-area .cart-button a:hover {
  background: var(--fb-green-dark) !important;
}

/* Wishlist → white circle, turns green on hover */
.product-wrapper .hover-area .wishlist-button a,
.product-image .hover-area .wishlist-button a {
  background: #fff !important;
}
.product-wrapper .hover-area .wishlist-button a:hover,
.product-image .hover-area .wishlist-button a:hover {
  background: var(--fb-green) !important;
}
.product-wrapper .hover-area .wishlist-button a:hover::after,
.product-image .hover-area .wishlist-button a:hover::after {
  color: #fff !important;
}

/* Compare → white circle, turns black on hover */
.product-wrapper .hover-area .compare-button a,
.product-image .hover-area .compare-button a {
  background: #fff !important;
}
.product-wrapper .hover-area .compare-button a:hover,
.product-image .hover-area .compare-button a:hover {
  background: var(--fb-black) !important;
}
.product-wrapper .hover-area .compare-button a:hover::after,
.product-image .hover-area .compare-button a:hover::after {
  color: #fff !important;
}

/* Quickview → white circle */
.product-wrapper .hover-area .quickview-button a {
  background: #fff !important;
}
.product-wrapper .hover-area .quickview-button a:hover {
  background: var(--fb-mint) !important;
}
.product-wrapper .hover-area .quickview-button a:hover::after {
  color: #fff !important;
}

/* Out-of-stock circle — gray */
.product-wrapper .hover-area .closed a,
.product-image .hover-area .closed a {
  background: #ddd !important;
  cursor: not-allowed !important;
}
.product-wrapper .hover-area .closed a::after,
.product-image .hover-area .closed a::after {
  color: #999 !important;
}

/* Product price: current in green, old struck through */
.product-info .price ins,
.product-wapper .price ins {
  color: var(--fb-green) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.product-info .price del,
.product-wapper .price del {
  color: #aaa !important;
  font-size: 0.85em;
}

/* Star rating amber */
.star-rating .fas.fa-star,
.star-rating .fa-star,
.rating-wrap i {
  color: #FBBF24 !important;
}

/* Product card background — white, not gray */
.product-wrapper,
.product-wapper {
  background: #fff !important;
  border-radius: 12px !important;
}

/* ================================================================
   SECTION 7 — SHOP / CATEGORY LISTING PAGE
   ================================================================ */

/* Sort bar and filter controls */
.products-header {
  background: #fff !important;
  border-radius: 10px;
  margin-bottom: 16px;
}
.products-header .orderby,
.products-header .short-itemby-no {
  background: var(--fb-gray) !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 6px 10px;
  font-size: 13px;
}
.products-view a { color: var(--fb-black) !important; }
.products-view a:hover { color: var(--fb-green) !important; }

/* Filter sidebar */
.filter-widget, .shop-filter-sidebar {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 16px !important;
}
.filter-widget .widget-title,
.shop-filter-sidebar h5 {
  color: var(--fb-black) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* ================================================================
   SECTION 8 — PRODUCT DETAIL PAGE
   ================================================================ */

.product_title.entry-title {
  font-size: clamp(20px, 3vw, 28px) !important;
  font-weight: 600 !important;
  color: var(--fb-black) !important;
  line-height: 1.3 !important;
}

/* Price block on detail page */
.summary-inner .price,
.single-product-wrapper .price {
  color: var(--fb-green) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
}
.summary-inner .price del,
.single-product-wrapper .price del {
  color: #aaa !important;
  font-size: 16px !important;
}

/* Add to cart & Buy Now buttons on detail page */
.single_add_to_cart_button,
.woocommerce-variation-add-to-cart .btn,
.single-product-wrapper .btn-primary,
.single-product-wrapper .add-to-cart-btn,
.summary-inner .btn-primary {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  border-radius: 50px !important;
  padding: 11px 28px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
}
.single_add_to_cart_button:hover,
.summary-inner .btn-primary:hover {
  background: var(--fb-green-dark) !important;
}

/* Wishlist / compare on detail page */
.product-detail-wishlist a,
.product-detail-compare a {
  color: var(--fb-green) !important;
}

/* Thumbnail gallery active border */
.product-slide-thumb .active img,
.product-slide-thumb a.active img {
  border: 2px solid var(--fb-green) !important;
  border-radius: 6px;
}

/* Product images bg */
.woocommerce-product-gallery .bg-light,
.product-images .bg-light {
  background: var(--fb-gray) !important;
  border-radius: 12px;
}

/* Tab navigation on product detail */
.woocommerce-tabs .nav-tabs .nav-link.active,
.woocommerce-tabs .nav-tabs .nav-link:hover {
  color: var(--fb-green) !important;
  border-bottom: 2px solid var(--fb-green) !important;
}

/* ================================================================
   SECTION 9 — CART PAGE
   ================================================================ */

/* Cart table */
.cartpage .shop_table {
  width: 100%;
  border-collapse: collapse;
}
.cartpage .shop_table th {
  color: var(--fb-black) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 12px 8px;
  border-bottom: 2px solid #eee;
  background: #fff;
}
.cartpage .shop_table td {
  padding: 12px 8px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  vertical-align: middle;
}
/* Cart totals box */
.cart-totals, .cart_totals {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 20px !important;
}
.cart_totals h4, .cart-totals h4 {
  color: var(--fb-black) !important;
  font-weight: 600 !important;
}
/* Quantity +/- buttons in cart */
.quantity .plus,
.quantity .minus {
  background: var(--fb-gray) !important;
  color: var(--fb-black) !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
}
.quantity .plus:hover,
.quantity .minus:hover {
  background: var(--fb-green) !important;
  color: #fff !important;
  border-color: var(--fb-green) !important;
}
/* Proceed to checkout button */
.checkout-btn, .wc-proceed-to-checkout .btn,
.cart-totals .btn-primary,
.cart_totals .btn-primary {
  background: var(--fb-green) !important;
  border-radius: 50px !important;
  border-color: var(--fb-green) !important;
  font-weight: 500 !important;
}

/* Coupon input + apply */
.coupon .form-control { border-radius: 8px 0 0 8px !important; }
.coupon .btn { border-radius: 0 8px 8px 0 !important; background: var(--fb-green) !important; }

/* Remove item X */
.product-remove a { color: #dc3545 !important; }

/* ================================================================
   SECTION 10 — LOGIN & REGISTER PAGES
   ================================================================ */

.sign-in-form,
.registration-form {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 32px !important;
  border: none !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
}
.sign-in-form h3,
.registration-form h3 {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--fb-black) !important;
  margin-bottom: 20px !important;
}
.sign-in-form label,
.registration-form label {
  font-weight: 500 !important;
  font-size: 13px !important;
  color: var(--fb-black) !important;
}
/* Login/register submit */
.woocommerce-form-login__submit,
.registration-form .submit-btn,
.sign-in-form .submit-btn {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  padding: 11px !important;
}
.woocommerce-form-login__submit:hover,
.registration-form .submit-btn:hover {
  background: var(--fb-green-dark) !important;
}
/* Links */
.sign-in-form a.text-secondary,
.registration-form a.text-secondary {
  color: var(--fb-green) !important;
  font-size: 13px;
}
.sign-in-form a.text-secondary:hover,
.registration-form a.text-secondary:hover {
  color: var(--fb-green-dark) !important;
}
/* Required star */
.required { color: #dc3545 !important; }

/* ================================================================
   SECTION 11 — USER ACCOUNT DASHBOARD
   ================================================================ */

.user-dashboard-sidebar,
.dashboard-sidebar {
  background: #fff !important;
  border-radius: 12px !important;
}
.user-dashboard-sidebar .nav-link,
.dashboard-sidebar .nav-link {
  color: var(--fb-black) !important;
  font-size: 14px;
  font-weight: 400;
  padding: 10px 16px !important;
  border-radius: 8px !important;
}
.user-dashboard-sidebar .nav-link.active,
.user-dashboard-sidebar .nav-link:hover,
.dashboard-sidebar .nav-link.active,
.dashboard-sidebar .nav-link:hover {
  background: var(--fb-gray) !important;
  color: var(--fb-green) !important;
}
.user-dashboard-sidebar .nav-link i,
.dashboard-sidebar .nav-link i {
  color: var(--fb-green);
  margin-right: 8px;
}

/* Account page content area */
.dashboard-content, .user-dashboard-content {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
.user-profile-info h4 { color: var(--fb-black) !important; font-weight: 600 !important; }

/* ================================================================
   SECTION 12 — CHECKOUT PAGE
   ================================================================ */

.checkout-section,
.checkout-area {
  background: var(--fb-gray) !important;
}
.checkout-section .card,
.woocommerce-checkout-payment,
.checkout-form-wrapper {
  background: #fff !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
.checkout-section h5,
.checkout-section h4,
.checkout-section legend {
  color: var(--fb-black) !important;
  font-weight: 600 !important;
}
/* Place order button */
#place_order,
.place-order-btn,
.checkout-section .btn-primary {
  background: var(--fb-green) !important;
  border-color: var(--fb-green) !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  padding: 12px 28px !important;
}
#place_order:hover,
.place-order-btn:hover {
  background: var(--fb-green-dark) !important;
}

/* Payment method radio active */
.payment_method input[type="radio"]:checked + label {
  color: var(--fb-green) !important;
}

/* ================================================================
   SECTION 13 — ORDER SUCCESS / THANK YOU PAGE
   ================================================================ */

.success-area, .order-success-area {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 40px !important;
}
.success-icon, .order-success-icon {
  color: var(--fb-green) !important;
  font-size: 60px !important;
}
.order-number { color: var(--fb-green) !important; font-weight: 600 !important; }

/* ================================================================
   SECTION 14 — BREADCRUMB BANNER
   ================================================================ */

/* Make breadcrumb overlay a bit stronger so white text is readable */
.overlay-dark {
  position: relative;
}
.overlay-dark::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(17,17,17,0.55);
  z-index: 0;
}
.overlay-dark > * { position: relative; z-index: 1; }
.overlay-dark h3 { color: #fff !important; font-weight: 600 !important; }
.overlay-dark .breadcrumb-item a { color: rgba(255,255,255,0.8) !important; }
.overlay-dark .breadcrumb-item.active { color: #fff !important; }
.overlay-dark .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.5) !important; }

/* ================================================================
   SECTION 15 — MOBILE IMPROVEMENTS
   ================================================================ */

@media (max-width: 767px) {
  .sign-in-form, .registration-form {
    padding: 20px !important;
    border-radius: 12px !important;
  }
  .product_title.entry-title { font-size: 18px !important; }
  .cartpage .shop_table th,
  .cartpage .shop_table td { padding: 8px 4px; font-size: 12px; }
  /* Mobile green nav on push menu */
  .navbar-slide-push .nav-link { color: var(--fb-black) !important; font-size: 14px; padding: 10px 16px !important; }
  .navbar-slide-push .nav-link:hover,
  .navbar-slide-push .nav-link.active { color: var(--fb-green) !important; background: var(--fb-gray); border-radius: 8px; }
  /* Mobile search bar pill */
  .mobile-search-bar { border-radius: 0; }
  .mobile-search-bar form { border-radius: 50px; overflow: hidden; }
}

@media (max-width: 991px) {
  /* Push menu toggle — green */
  .push-nav-toggle .flaticon-menu-2::before { color: var(--fb-green) !important; }
}

/* ================================================================
   SECTION 16 — FLASH SALES PAGE
   ================================================================ */

.flash-sale-area h2,
.flash-section-title {
  font-weight: 600 !important;
  color: var(--fb-black) !important;
}
/* Countdown digits */
.counter-box, .countdown-box {
  background: var(--fb-black) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
}
.counter-label, .countdown-label { color: #666 !important; font-size: 11px; }

/* Flash deals section heading */
.flash-deals-section .section-title,
.deal-section .widget-title {
  color: var(--fb-black) !important;
  font-weight: 600 !important;
}

/* ================================================================
   SECTION 17 — VENDOR / SELLER STORE PAGE
   ================================================================ */

.vendor-info-box, .seller-info-card {
  background: #fff !important;
  border-radius: 12px !important;
}
.vendor-follow-btn, .follow-seller-btn {
  background: var(--fb-green) !important;
  border-radius: 50px !important;
  color: #fff !important;
}

/* ================================================================
   SECTION 18 — WISHLIST PAGE
   ================================================================ */

.wishlist-table th { color: var(--fb-black) !important; font-weight: 600 !important; }
.wishlist-remove a { color: #dc3545 !important; }
.wishlist-add-to-cart .btn {
  background: var(--fb-green) !important;
  border-radius: 50px !important;
  color: #fff !important;
}

/* ================================================================
   SECTION 19 — MOBILE HORIZONTAL PRODUCT SCROLL
   (used in extraindex.blade.php: Top Sellers, New Arrivals, etc.)
   ================================================================ */

.mobile-horizontal-scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
  gap: 10px !important;
  padding: 4px 0 12px !important;
  scrollbar-width: none !important;
}
.mobile-horizontal-scroll::-webkit-scrollbar {
  display: none !important;
}
.mobile-horizontal-scroll .item {
  flex: 0 0 155px !important;
  width: 155px !important;
  scroll-snap-align: start !important;
}
/* Card style — matches jumia-style-carousel desktop */
.mobile-horizontal-scroll .item .product-wrapper {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 10px !important;
  border: 1px solid #eaeaea !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}
.mobile-horizontal-scroll .item .product-image {
  width: 100% !important;
  height: 130px !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}
.mobile-horizontal-scroll .item .product-image img {
  width: 90% !important;
  height: 90% !important;
  object-fit: contain !important;
}
.mobile-horizontal-scroll .item .product-info {
  padding-top: 8px !important;
}
.mobile-horizontal-scroll .item .product-title {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  max-height: 34px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  margin-bottom: 4px !important;
}
.mobile-horizontal-scroll .item .product-price ins {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0F9D58 !important;
  text-decoration: none !important;
}
.mobile-horizontal-scroll .item .product-price del {
  font-size: 11px !important;
  color: #999 !important;
}
.mobile-horizontal-scroll .item .on-sale {
  background: #C8F3DE !important;
  color: #0a6e39 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 6px !important;
  border-radius: 50px !important;
  top: 6px !important;
  right: 6px !important;
}
/* Star rating */
.mobile-horizontal-scroll .item .star-rating p {
  font-size: 11px !important;
  margin: 0 !important;
}
.mobile-horizontal-scroll .item .star-rating .fas.fa-star {
  color: #f59e0b !important;
  font-size: 10px !important;
}
