/*
Theme Name: Digiex Custom Theme
Theme URI: http://example.com
Author: Digiex
Author URI: http://example.com
Description: WordPress theme cloned from Next.js Digiex website
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: custom-theme
*/

/* Navbar - Match Reference Proportions */

/* Removed empty media query and empty classes */

/* Utility Classes */

.position-relative {
    position: relative !important;
}

.br-0 {
    border-radius: 0px !important;
}

.fs-16 {
    font-size: 16px !important;
}


/* Clean up duplicates */
.mainnav ul li a {
    font-family: "Geist","Geist Mono Fallback";
}


/* Footer - Minimal Compact Overrides */
.footerbg {
    /* background-image: linear-gradient(to bottom, rgba(5, 16, 34, 0.85), rgba(5, 16, 34, 0.95)), url('assets/img/Footer-image.webp') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important; */
}

/* Navbar - Services MegaMenu Styles */
.navbarheader {
    position: relative;
    width: 100%;
}

.navbarheader .megamenu {
  width: 100% !important;
  position: absolute;
  top: 100%; /* Adjust to starting position */
  transition: all 0.2s ease-in-out;
  left: 0px !important;
  visibility: hidden;
  opacity: 0;
  background: linear-gradient(45deg, #091e3e9e, rgba(17, 17, 17, 0.6));
  backdrop-filter: blur(40px);
  border-radius: 0px 0px 20px 20px;
  box-shadow: 19px 20px 18px 0px #3c3c3cab;
  margin: 0px;
  padding: 0px;
  /* min-height: 400px; REMOVED */
  /* padding-bottom: 20px; Removed to fix extra bottom space */
  z-index: 2000;
}


/* ... content ... */

/* Navbar hover to show megamenu fixes */
.mainnav ul li {
    /* position: static !important; REMOVED global static to fix Portfolio */
    position: relative; 
}

/* Apply static only to the mega menu parent so it can go full width */
.mainnav ul li.menu-static {
    position: static !important;
}



.mainnav > ul > li:hover .megamenu {
  top: 99%;
  visibility: visible;
  opacity: 1;
}

.megamenu1 {
  margin: 0px;
  padding: 0px;
  display: flex;
  justify-content: space-between;
}

.megamenu1width {
  width: 40%;
  display: flex;
  flex-direction: row;
  flex: 1;
  margin: 0px;
  padding: 20px;
}

.megamenu1width.w-50 { width: 50% !important; }
.megamenu1width.w-25 { width: 25% !important; }

.megamenu1width:nth-child(1) {
  z-index: 999;
  background-color: transparent;
  backdrop-filter: blur(24px);
  border-radius: 0px 0px 0px 20px;
}

.megamenu1width:nth-child(2) {
  z-index: 999;
  background-color: transparent;
  backdrop-filter: blur(24px);
}

.megamenu1width:nth-child(3) {
  z-index: 999;
  background-color: transparent;
  backdrop-filter: blur(24px);
  border-radius: 0px 0px 20px 0px;
}

/* Tab Logic */
.tab {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.tab button {
  border: none;
  outline: none;
  cursor: pointer;
  padding: 15px 16px;
  transition: 0.3s;
  text-align: left;
  color: #ffca2c;
  font-size: 13px; /* Next.js size */
  background-color: transparent !important;
  border-bottom: solid 1px #d3d3d3;
  width: 100%;
}

.tab button:last-child {
  border-bottom: none;
}

.tab button:hover {
  color: rgb(32, 32, 32); /* Next.js ref */
  background-color: rgba(255,255,255,0.1) !important;
}

.tab button.active {
  color: #fff;
  background-color: rgba(255,255,255,0.1) !important;
}

.tablinks a {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
}

/* Tab Content */
.tabcontent {
  background: transparent;
  width: 100%;
  padding: 6px 12px;
  /* font-family: arial; REMOVED to match theme font */
  line-height: 21px;
}

.tabcontentboxmain {
  margin: 0px;
  padding: 0px;
  display: flex;
  width: 100%;
}

.tabcontentbox {
  margin: 0px;
  padding: 0px;
  width: 100%; /* Full width */
  display: block;
}

.tabcontentbox ul {
  margin: 0px;
  padding: 0px;
  display: block;
}

.tabcontentbox ul li {
  margin: 0px;
  padding: 6px 0px;
  list-style: none !important;
}


.tabcontentbox ul li a {
  margin: 0px;
  padding: 0px;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  color: #ffca2c;
  transition: all 0.7s ease-in-out;
  padding-bottom: 10px; /* Match Next.js */
  display: inline-block;
  border-bottom: 1px solid transparent;
}

.tabcontentbox ul li a:hover {
  color: #fff;
  border-bottom: solid 1px #fff;
}

/* Right Side - Industries Slider */
.tabright {
  margin: 0px;
  padding: 0px;
  width: 100%;
  display: block;
}

.tabright h4 {
  color: #f9b003;
  font-size: 18px;
  font-family: "Merriweather", serif;
  font-weight: 400;
  margin-bottom: 15px;
}

.tabright1 {
  margin: 6px 0px;
  padding: 0px;
  text-align: left;
  display: none;
}

.tabright1.active-slide {
    display: block;
    animation: fadeIn 0.5s;
}

.tabright1 p {
  color: #64b2ff !important;
  font-size: 1.5rem;
  font-family: "baloo thambi 2", sans-serif;
  text-align: justify;
  margin-top: 5px;
  display: block;
  padding-bottom: 10px;
  font-weight: 600;
  margin-bottom: 0;
}

.tabright1 span {
  color: #e7e7e7 !important;
  text-align: left !important;
  font-size: 14px;
  display: block;
  line-height: 1.4;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* Portfolio Menu Styles */
.portfolio-link {
  position: relative;
  display: inline-block;
  margin: 0px;
  padding: 0px;
}

/* Show menu when either the link or the menu is hovered */
.portfolio-link:hover + .portfoliomenu,
.portfoliomenu:hover,
.mainnav ul li:hover .portfoliomenu {
  top: 68px; /* Position it further down to clear header completely */
  opacity: 1;
  visibility: visible;
  left: 50%;
  transform: translateX(-50%);
}

.portfoliomenu {
  position: absolute;
  top: 100px; /* Start lower for slide-up effect */
  opacity: 0;
  visibility: hidden;
  width: max-content; /* Fit content exactly */
  min-width: 250px;   /* But maintain at least this width */

  background: linear-gradient(45deg, #091e3e9e, rgba(17, 17, 17, 0.6));
  backdrop-filter: blur(40px);
  border-radius: 0px 0px 20px 20px;
  color: #fff;
  box-shadow: 19px 20px 18px 0px #3c3c3cab;
  transition: all 0.2s ease-in-out;
  z-index: 1000;
  left: 50%;
  transform: translateX(-50%); /* Center the dropdown relative to the link */
}

.portfoliomenu-item {
  display: block;
  padding: 12px 25px; /* Slightly more side padding */
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  text-align: center; 
  transition: all 0.2s ease-in-out;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  white-space: nowrap; /* Prevent wrapping */
}

.portfoliomenu-item:last-child {
  border-bottom: none;
}

.portfoliomenu-item a {
    color: #fff !important; 
    text-decoration: none;
    display: block;
}

.portfoliomenu-item:hover {
    background-color: rgba(255,255,255,0.1);
}

.portfoliomenu-item:hover a {
  color: #f4ba1b !important; 
}





/* Cleaned up duplicate rules */






/* Responsive Navbar Styles - REPLACED BY NEW SIDEBAR LOGIC BELOW */
/* .responsive-navbar styles removed to prevent conflicts */

@media (max-width: 991px) {
    .dis-none { display: block !important; }
    .mainnav { display: none !important; }
    .navbar-toggler { display: block !important; }
}

/* Footer copyright bar - Dark Blue Text with Merriweather font */
.footercopyright {
    background-color: #f4ba1b !important;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footercopyright p {
    color: #090d61 !important;
    font-size: 20px !important;
    font-family: 'Merriweather', serif !important;
    margin: 0;
    padding: 20px 0;
}

/* Footer text colors */
.footerlogotext p, 
.footercontactus p, 
.footerphoneno p a,
.footernav ul li a {
    color: #ffffff !important;
}

/* Footer headings - yellow */
.footercontactus h4, 
.footerphoneno h4,
.footerflag h4 {
    /* color: #f4ba1b !important; */
}

/* Footer borders */
.footercontactus,
.footerphoneno {
    border-bottom: 1px dashed #f4ba1b !important;
}

/* Blog title color */
.blogpageLefttextheader a {
    color: #090d61 !important;
    text-decoration: none;
    transition: all .3s ease-in-out;
}


.blogpageLefttextheader .portfolio-button {
  color: #fff !important;
}

.blogpageLefttextheader .portfolio-button:hover {
  color: #090d61 !important;
}


.blogpageLefttextheader a:hover {
    /* color: #f4ba1b !important; */
}

/* Sidebar & Single Post Styles */ 
.blog-meta-item {
    font-size: 15px;
    color: #333; /* Dark Grey text */
    display: flex;
    align-items: center;
}

.blog-meta-item span {
    font-weight: 400 !important; 
    margin-left: 5px;
}

.blog-meta-item i {
    color: #333; /* Dark Grey Icon as per screenshot */
    font-size: 16px;
}

/* Sidebar & Single Post Styles */
.sidebar-title {
    color: #090d61;
    font-family: "Merriweather", serif;
    font-weight: 700;
    font-size: 20px;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 20px;
    position: relative;
}

.sidebar-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: #f4ba1b;
}

.recent-post-item {
    transition: all 0.3s ease;
}

.recent-post-item:hover h5 a {
    color: #f4ba1b !important;
}

.category-pill {
    transition: all 0.3s ease;
    font-size: 12px;
    font-weight: 600;
}

.category-pill:hover {
    background-color: #090d61 !important;
    transform: translateY(-2px);
}

.category-pill.bg-success {
    background-color: #28a745 !important;
}

/* Blog Content Styles */
.blog-content-body h1, 
.blog-content-body h2, 
.blog-content-body h3, 
.blog-content-body h4, 
.blog-content-body h5, 
.blog-content-body h6 {
    color: #090d61;
    font-family: "Merriweather", serif;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 15px;
}

.blog-content-body p {
    color: #555;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 15px;
}

/* .blog-meta-item i {
    color: #090d61; 
} */

/* Blog Listing Meta - Text Blue Only */
.blogpageLefttextadminicon p {
    color: #090d61 !important; /* Theme Blue */
    margin-bottom: 0;
}

/* Single Post Header Title */
.servicedtailsbgtext h1,
.servicedtailsbgtext .h1 {
    /* Font size restored to default/larger as container is dynamic */
    line-height: 1.3;
    margin-bottom: 15px;
    font-size: 2.5rem; /* Explicitly set size if needed, or rely on Bootstrap .h1 */
}

/* Single Post Page Layout Classes (Replacing Inline Styles) */
.single-blog-header-bg {
    margin-top: 0 !important;
    padding-top: 100px;
    height: auto !important;
    background-size: cover;
}

.single-blog-header-container {
    margin-top: 0 !important;
}

.single-blog-content-section {
    background-color: #fff;
}

.recent-post-img {
    width: 80px;
    height: 60px;
    object-fit: cover;
}

@media (max-width: 991px) {
    .single-blog-header-bg {
        padding-top: 80px !important;
        padding-bottom: 30px !important;
    }
    
    .single-blog-header-container {
        margin-top: 0 !important;
    }

    .servicedtailsbgtext h1,
    .servicedtailsbgtext .h1 {
        font-size: 28px !important; /* Fallback/Specific for mobile */
        margin-bottom: 20px; /* Add gap between title and meta/excerpt as requested */
    }

    /* Ensure Breadcrumbs are strictly handled if Bootstrap classes fail */
    .d-none.d-lg-block {
        display: none !important;
    }
}

/* User-Requested Glassmorphism Sidebar (Left Slide) */
.responsive-navbar {
    display: block !important;
    margin: 0;
    padding: 0;
    width: 250px;
    height: 100vh;
    position: fixed;
    top: 0;
    left: -100%;
    z-index: 99999 !important;
    background-color: #0000009e;
    -webkit-backdrop-filter: blur(36px);
    backdrop-filter: blur(36px);
    box-shadow: 0 5px 15px 10px #0000009c;
    transition: all .5s ease-in-out;
    overflow-y: auto;
    padding-top: 20px; /* Minimal padding */
}

/* Open State */
.responsive-navbar.is-open {
    left: 0 !important;
}

/* User Provided Spacing */
.responsive-navbar ul {
    margin: 0;
    padding: 15px; /* User request */
    display: block;
}

.responsive-navbar ul li {
    margin: 0;
    padding: 8px 0; /* User request */
    list-style: none;
    cursor: pointer;
    border-bottom: none !important;
    display: block;
}

.responsive-navbar ul li a {
    margin: 0;
    padding: 0; /* User request had 0, but usually needed for touch target. Sticking to simple. */
    font-size: 18px !important;
    color: #c4c4c4 !important;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
    transition: all .5s ease-in-out;
    font-family: 'Geist', sans-serif !important;
    display: block;
}

.responsive-navbar ul li a:hover {
    color: #fff !important;
    padding-left: 5px; 
}

/* Submenu Styles - Smaller as requested */
.responsive-navbar .sub-menu-block {
    display: none; /* Toggled by JS */
    padding-left: 10px;
    padding-top: 5px;
}

.responsive-navbar .sub-menu-block a {
    font-size: 15px !important; /* Smaller font for submenu */
    color: #adadad !important;
    padding: 5px 0;
}

.responsive-navbar .sub-menu-block a.sub-menu-head {
    font-size: 16px !important;
    color: #f4ba1b !important; /* Highlight headers - Yellow */
    margin-top: 5px;
    display: block;
    font-weight: 600; /* Optional: make it pop */
}

/* Mobile Hamburger Button Styling */
/* Mobile Specific Stylings */
@media (max-width: 991px) {
    .blogpageLefttextheader a {
        display: block;
        margin-top: 1rem !important; /* User Request */
    }

    /* Mobile Hamburger Button Styling - User Request */
    .mobile-menu-btn {
        color: #ffac0a !important;
        border: 1px solid #ffac0a !important; /* using border property to ensure 1px solid */
        border-color: #ffac0a !important;
        margin: 15px 20px 10px !important;
        padding: 5px 12px !important;
        border-radius: 5px;
        background: transparent !important;
        font-size: 18px;
        cursor: pointer;
        display: inline-block; /* Changed from block to inline-block */
    }
}

.mobile-menu-btn:hover {
    background: rgba(255, 172, 10, 0.1) !important;
}

/* Hide hamburger on Desktop */
@media (min-width: 992px) {
    .mobile-menu-btn {
        display: none !important;
    }
}

/* Blog Listing Spacing Updates - Super Strict */
html body .blogpageLefttextadmin {
    margin-bottom: 0px !important; 
    padding-bottom: 0px !important;
}

html body .blogpageLefttextheader {
    margin-top: 0px !important;
    padding-top: 0px !important;
}

html body .blogpageLefttextheader h2 {
    margin-top: 5px !important; /* Tiny optical gap */
    padding-top: 0px !important;
    line-height: 1.2 !important;
}

/* Fix Read More Button Width */
.portfolio-button {
    display: inline-block !important;
    width: auto !important;
    padding: 10px 20px; /* Ensure specific padding */
    background: #090d61; /* Dark blue background from screenshot? */
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 10px;
}
.portfolio-button:hover {
    color: #f4ba1b;
}

/* Close Button Style */
#responsiveNavbar .navbar-toggler i {
    color: #fff !important;
    font-size: 24px;
}

.navbar-toggler {
    border: none;
    background: transparent;
    font-size: 24px;
    color: #333;
}

.sidebar-widget {
    background: #fff;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* Social Share Buttons */
.social-share-section h5 {
    font-family: 'Merriweather', serif;
    color: #090d61;
    font-size: 22px;
    margin-bottom: 20px !important;
    position: relative;
    display: inline-block;
    font-weight: 700;
}

.social-share-section h5::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: #f4ba1b; /* Thematic yellow accent */
    margin-top: 8px;
    border-radius: 2px;
}

.social-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px; /* Increased size */
    height: 40px; /* Increased size */
    border-radius: 50%;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Bouncy modern transition */
    color: #fff !important;
    font-size: 16px; /* Larger icon */
    box-shadow: 0 8px 20px rgba(0,0,0,0.15); /* Softer, deeper shadow */
    position: relative;
    overflow: hidden;
    margin-right: 15px; /* Ensure spacing if gap utility fails */
}

.social-share-btn:last-child {
    margin-right: 0;
}

.social-share-btn:hover {
    transform: translateY(-5px) scale(1.1);
    box-shadow: 0 15px 30px rgba(0,0,0,0.25);
    color: #fff !important;
}

/* Shine Effect on Hover */
.social-share-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
    pointer-events: none;
}

.social-share-btn:hover::before {
    left: 100%;
}

/* Gradient Backgrounds for Modern Look */
.social-share-btn.facebook {
    background: linear-gradient(135deg, #1877F2 0%, #0C5DC7 100%);
}

.social-share-btn.linkedin {
    background: linear-gradient(135deg, #0077b5 0%, #005582 100%);
}

.social-share-btn.whatsapp {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}

.social-share-btn.instagram {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

/* Custom Toast Notification */
.custom-toast {
    visibility: hidden;
    min-width: 280px;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 8px;
    padding: 16px;
    position: fixed;
    z-index: 9999;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    font-size: 15px;
    opacity: 0;
    transition: opacity 0.5s, bottom 0.5s;
    font-family: 'Geist', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 5px solid #28a745; 
}

.custom-toast.show {
    visibility: visible;
    opacity: 1;
    bottom: 50px; /* Slight slide up effect */
}

.toast-content {
    display: flex;
    align-items: center;
}

.toast-content i {
    font-size: 20px;
    margin-right: 10px;
    color: #28a745; /* Success Green */
}

@media (min-width: 768px) {
    .custom-toast {
        left: auto;
        right: 30px;
        bottom: 30px;
        transform: none; /* Reset center translate */
    }
    
    .custom-toast.show {
        bottom: 50px;
    }
}

/* Blog Banner Title Custom Style */
.servicedtailsbgtext .blog-banner-title {
    color: #ffca2c !important;
    font-size: clamp(1.8rem, 5vw, 3.5rem);
    font-weight: 800 !important;
    text-align: center !important;
    font-family: "Expletus Sans", cursive !important;
    margin-bottom: 1.5rem !important;
    margin-top: 3.5rem;
    line-height: 1.3;
}