/* VALUE GRAINS THEME FIX – OPTION D (Complete Visibility Patch)
   ---------------------------------------------------------------
   Fixes:
   ✔ Dark gold icons
   ✔ Soft shadow for contrast
   ✔ Darkened grayscale partner logos
   ✔ Better contrast in feature tabs
   ✔ Mobile navigation visibility issues
   ---------------------------------------------------------------
*/

/* Global Mobile Fixes */
@media (max-width: 960px) {
  /* Ensure header is always visible */
  .header {
    background-color: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    z-index: 9996 !important;
  }

  /* Make sure header content is visible */
  .header .container-fluid {
    background: transparent !important;
  }

  /* Ensure logo is visible */
  .header .logo img {
    max-height: 70px !important;
    width: auto !important;
  }

  /* Ensure CTA button is visible */
  .header .cta-btn {
    background-color: #C8A162 !important;
    color: #ffffff !important;
    border: 2px solid #C8A162 !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    text-wrap:nowrap
  }

  .header .cta-btn:hover {
    background-color: transparent!important;
    border-color: #8C6B2E !important;
    color: #ffffff !important;
   transition: transform 0.5s ease !important;

  }

  /* Fix header SHOP NOW button so text is not clipped */
  .header .cta-btn {
    text-wrap: nowrap!important;
    min-width: 90px !important;
    max-width: 140px !important;
    padding: 10px 18px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    background: #C8A162 !important;
    color: #fff !important;
    white-space: normal !important;
    word-break: break-word !important;
    text-align: center !important;
    display: inline-block !important;
    box-shadow: none !important;
    border: none !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    font-family: inherit !important;
  }

  /* Ensure header SHOP NOW button is always visible and styled correctly */
  .header .cta-btn {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #C8A162 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    min-width: 90px !important;
    max-width: 160px !important;
    box-shadow: none !important;
    border: none !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    font-family: inherit !important;
    margin: 0 0 0 10px !important;
  }

  /* Make header background transparent when mobile nav is open */
  .mobile-nav-active .header {
    background: transparent !important;
    box-shadow: none !important;
  }

  .mobile-nav-active .header .container-fluid {
    background: transparent !important;
  }

  /* Hide header/logo when mobile nav is open */
  .mobile-nav-active .header {
    display: none !important;
  }

  /* Force header, container, and logo backgrounds to be fully transparent when mobile nav is open */
  .mobile-nav-active .header,
  .mobile-nav-active .header .container-fluid,
  .mobile-nav-active .header .logo,
  .mobile-nav-active .header .logo img {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  /* Globally override all parent backgrounds to transparent when mobile nav is open */
  .mobile-nav-active,
  .mobile-nav-active body,
  .mobile-nav-active .header,
  .mobile-nav-active .header > *,
  .mobile-nav-active .header .container-fluid,
  .mobile-nav-active .header .logo,
  .mobile-nav-active .header .logo img,
  .mobile-nav-active .navmenu,
  .mobile-nav-active .navmenu > *,
  .mobile-nav-active .navmenu ul,
  .mobile-nav-active .navmenu ul > *,
  .mobile-nav-active .navmenu li,
  .mobile-nav-active .navmenu li > *,
  .mobile-nav-active .navmenu a {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  /* Always keep header and logo area fully transparent on mobile */
  .header,
  .header .container-fluid,
  .header .logo,
  .header .logo img {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  /* Remove display:none from header if previously set */
  .mobile-nav-active .header {
    display: flex !important;
  }

  /* Remove any border, box-shadow, or background under logo/header when mobile menu is open */
  .mobile-nav-active .header,
  .mobile-nav-active .header * {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
  }

  /* Remove top border or shadow from menu list */
  .mobile-nav-active .navmenu > ul {
    border-top: none !important;
    box-shadow: none !important;
    margin-top: 0 !important;
  }

  /* Remove any border, box-shadow, margin, or background from logo, header, and pseudo-elements */
  .mobile-nav-active .header,
  .mobile-nav-active .header *,
  .mobile-nav-active .header::before,
  .mobile-nav-active .header::after,
  .mobile-nav-active .logo,
  .mobile-nav-active .logo *,
  .mobile-nav-active .logo::before,
  .mobile-nav-active .logo::after,
  .mobile-nav-active .logo img,
  .mobile-nav-active .logo img::before,
  .mobile-nav-active .logo img::after {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    outline: none !important;
  }

  /* When mobile menu is NOT active, hide navmenu borders/backgrounds/lines */
  body:not(.mobile-nav-active) .navmenu,
  body:not(.mobile-nav-active) .navmenu > ul,
  body:not(.mobile-nav-active) .navmenu > ul > li,
  body:not(.mobile-nav-active) .navmenu > ul > li > a {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  /* Only show the hamburger icon when menu is closed */
  body:not(.mobile-nav-active) .navmenu > ul {
    display: none !important;
  }
}

/* Darker gold for icons */
.features .icon i,
.stats-item i,
.section .icon-box i,
.services .icon i,
.bi {
  color: #8C6B2E !important; /* Dark Gold */
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.18);
}

/* Improve visibility of partner logo images */
.clients img {
  filter: brightness(0.1) invert(0.1) contrast(1.4);
  opacity: 0.9;
  transition: 0.3s ease;
}

.clients img:hover {
  filter: brightness(1) invert(0) contrast(1);
  opacity: 1;
}

/* Feature Tabs: ensure icons stay visible */
.features .icon-box i,
.features .icon-box:hover i {
  color: #8C6B2E !important;
}

/* Stats Section Contrast */
.stats .stats-item i {
  color: #8C6B2E !important;
}

/* Fix for any icons that get theme color automatically */
i[class*="bi-"] {
  color: #8C6B2E !important;
}

/* Ensure any orange leftover from template is replaced */
.color-orange,
.text-orange,
.bg-orange {
  color: #C8A162 !important;
  background-color: #C8A162 !important;
}

/* === FIX: Portfolio Hover - Ensure Text is Always Visible === */
.portfolio .portfolio-content .portfolio-info {
  opacity: 0;
  visibility: hidden;
}

.portfolio .portfolio-content:hover .portfolio-info {
  opacity: 1 !important;
  visibility: visible !important;
}

.portfolio .portfolio-content .portfolio-info h4 {
  color: var(--color-dark) !important;
  background-color: #C8A162 !important;
  display: block !important;
  position: static !important;
}

.portfolio .portfolio-content .portfolio-info p {
  color: #ffffff !important;
  display: block !important;
  position: static !important;
}

.portfolio .portfolio-content .portfolio-info a,
.portfolio .portfolio-content .portfolio-info i {
  color: #ffffff !important;
  display: inline-block !important;
  position: static !important;
}

/* === MOBILE NAVIGATION FIX === */
/* Ensure mobile nav toggle is always visible with good contrast */
@media (max-width: 960px) {
  .mobile-nav-toggle {
    color: #000000 !important;
    
    border-radius: 4px !important;
    padding: 8px !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-right: 10px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    z-index: 9999 !important;
    display: block !important;
    visibility: visible !important;
  }

  .mobile-nav-toggle:hover {
    color: #C8A162 !important;
    background-color: rgba(255, 255, 255, 1) !important;
  }

  /* Ensure mobile nav menu has proper background and visibility */
  .mobile-nav-active .navmenu {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(33, 37, 41, 0.95) !important;
    transition: 0.3s !important;
    z-index: 9998 !important;
    overflow: hidden !important;
  }

  /* Ensure mobile nav menu displays all links vertically and does not overlap header */
  .mobile-nav-active .navmenu > ul {
    display: block !important;
    position: absolute !important;
    top: 80px !important; /* Add space for header/logo */
    left: 20px !important;
    right: 20px !important;
    bottom: 20px !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    overflow-y: auto !important;
    z-index: 9998 !important;
  }

  /* Ensure all nav links are visible and stacked vertically */
  .navmenu ul li {
    display: block !important;
    width: 100% !important;
  }

  .navmenu a,
  .navmenu a:focus {
    color: #273d4e !important;
    background: transparent !important;
    padding: 15px 20px !important;
    font-family: var(--nav-font) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    display: block !important;
    border-bottom: 1px solid #f1f1f1 !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* Fix franchise button in mobile navigation */
  .navmenu .franchise-nav-btn {
    background-color: #C8A162 !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 6px !important;
    margin: 10px 20px !important;
    text-align: center !important;
    font-weight: 600 !important;
    border: none !important;
  }

  .navmenu .franchise-nav-btn:hover {
    background-color: #8C6B2E !important;
    color: #ffffff !important;
  }

  /* Ensure mobile nav toggle in active state is visible */
  .mobile-nav-active .mobile-nav-toggle {
    color: #ffffff !important;
    background-color: rgba(0, 0, 0, 0.8) !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    font-size: 32px !important;
    margin-right: 0 !important;
    z-index: 9999 !important;
    padding: 10px !important;
    border-radius: 6px !important;
  }

  .mobile-nav-active .mobile-nav-toggle:hover {
    color: #C8A162 !important;
    background-color: rgba(0, 0, 0, 1) !important;
  }

  /* Fix any body overflow issues on mobile */
  .mobile-nav-active {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Force all nav links to display in mobile menu */
  .mobile-nav-active .navmenu ul,
  .mobile-nav-active .navmenu ul li,
  .mobile-nav-active .navmenu ul li a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Ensure menu overlay covers the whole screen */
  .mobile-nav-active .navmenu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(33, 37, 41, 0.98) !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    box-shadow: 0 0 0 9999px rgba(33, 37, 41, 0.98) !important;
  }

  /* Add extra padding to menu container */
  .mobile-nav-active .navmenu > ul {
    top: 80px !important;
    left: 10vw !important;
    right: 10vw !important;
    bottom: 5vh !important;
    padding: 30px 0 !important;
    border-radius: 12px !important;
    background-color: #fff !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18) !important;
  }

  /* Mobile menu overlay: full screen, semi-transparent, scrollable */
  .mobile-nav-active .navmenu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(33, 37, 41, 0.7) !important; /* semi-transparent */
    z-index: 99999 !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  /* Menu list: no margin, no border, full width, scrollable if needed */
  .mobile-nav-active .navmenu > ul {
    display: block !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 90px 0 0 0 !important; /* leave space for header/logo */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
  }

  /* Menu items: full width, visible, no clipping */
  .mobile-nav-active .navmenu ul li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Menu links: full width, visible, good contrast */
  .mobile-nav-active .navmenu a,
  .mobile-nav-active .navmenu a:focus {
    color: #273d4e !important;
    background: #fff !important;
    padding: 18px 24px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #eee !important;
    width: 100% !important;
    display: block !important;
    text-align: left !important;
  }

  /* Franchise button: highlight */
  .mobile-nav-active .navmenu .franchise-nav-btn {
    background: #C8A162 !important;
    color: #fff !important;
    border-radius: 6px !important;
    margin: 18px 24px !important;
    text-align: center !important;
    font-weight: 700 !important;
    border: none !important;
  }
}

/* Ensure normal navigation is visible above 960px */
@media (min-width: 961px) {
  .mobile-nav-toggle {
    display: none !important;
  }
  
  .navmenu {
    display: block !important;
  }
  
  .navmenu ul {
    display: flex !important;
  }
  
  .navmenu ul li {
    display: inline-block !important;
  }
}

/* FINAL: Match Shop Now button to screenshot style everywhere */
.hero a.cta-btn {
  background: #C8A162 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  padding: 16px 24px !important;
  text-align: center !important;
  line-height: 1.1 !important;
  min-width: 110px !important;
  max-width: 150px !important;
  display: inline-block !important;
  border: none !important;
  box-shadow: none !important;
  white-space: normal !important;
  word-break: break-word !important;
  letter-spacing: 0 !important;
  font-family: inherit !important;
}