/*******************************/
/********* General CSS *********/
/*******************************/

/* Scroll Progress Bar */
.scroll-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-gold), var(--primary-navy));
  width: 0%;
  z-index: 10000;
  transition: width 0.1s ease-out;
  box-shadow: 0 2px 10px rgba(244, 180, 0, 0.4);
}

body {
    color: #666666;
    background: #dddddd;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
}

h1,
h2, 
h3, 
h4,
h5, 
h6 {
    color: #030f27;
}

a {
    color: #666666;
    transition: .3s;
}

a:hover,
a:active,
a:focus {
    color: hwb(0 7% 93%);
    outline: none;
    text-decoration: none;
}

.btn:focus {
    box-shadow: none;
}

.wrapper {
    position: relative;
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    background: #ffffff;
}

.back-to-top {
    position: fixed;
    display: none;
    background: #fdbe33;
    color: #121518;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 1;
    font-size: 22px;
    right: 15px;
    bottom: 15px;
    transition: background 0.5s;
    z-index: 9;
}

.back-to-top:hover {
    color: #fdbe33;
    background: #121518;
}

.back-to-top i {
    padding-top: 10px;
}

.btn {
    transition: .3s;
}


:root {
  --primary-navy: #0B1F3A;
  --navy-depth: #061325;
  --accent-gold: #F4B400;
  --glass-surface: rgba(255, 255, 255, 0.65);
  --glass-surface-sticky: rgba(255, 255, 255, 0.85);
  --glass-border: rgba(255, 255, 255, 0.4);
  --text-dark: #0F172A;
  --text-muted: #64748B;
  --pure-white: #FFFFFF;
  --radius-capsule: 100px;
  --radius-panel: 20px;
  --radius-item: 12px;
  --shadow-ambient: 0 20px 40px -15px rgba(11, 31, 58, 0.07);
  --shadow-sticky: 0 20px 50px -10px rgba(11, 31, 58, 0.12);
  --shadow-glow: 0 8px 25px rgba(244, 180, 0, 0.3);
  --transition-smooth: all 350ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Dark Mode Variables */
body.dark-mode {
  --primary-navy: #1a3a5c;
  --navy-depth: #0d1f33;
  --accent-gold: #FFD700;
  --glass-surface: rgba(30, 41, 59, 0.8);
  --glass-surface-sticky: rgba(30, 41, 59, 0.95);
  --glass-border: rgba(255, 255, 255, 0.1);
  --text-dark: #E2E8F0;
  --text-muted: #94A3B8;
  --pure-white: #0F172A;
  --shadow-ambient: 0 20px 40px -15px rgba(0, 0, 0, 0.3);
  --shadow-sticky: 0 20px 50px -10px rgba(0, 0, 0, 0.4);
}

body.dark-mode {
  background-color: #0F172A;
  color: #E2E8F0;
}

body.dark-mode h1, 
body.dark-mode h2, 
body.dark-mode h3, 
body.dark-mode h4,
body.dark-mode h5, 
body.dark-mode h6 {
  color: #E2E8F0;
}

body.dark-mode .wrapper {
  background: #0F172A;
}

/* Dark Mode Toggle Button */
.dark-mode-toggle {
  position: fixed;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--primary-navy);
  border: 2px solid var(--accent-gold);
  color: var(--accent-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9998;
  transition: var(--transition-smooth);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.dark-mode-toggle:hover {
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 20px rgba(244, 180, 0, 0.4);
}

.dark-mode-toggle i {
  font-size: 1.2rem;
  transition: var(--transition-smooth);
}

body.dark-mode .dark-mode-toggle {
  background: var(--accent-gold);
  color: var(--primary-navy);
}

.luxury-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
}

.header-container {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 24px;
}

/* TOP UTILITY BAR */
.top-utility-bar {
  background: #1034A6;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px 0;
  font-size: 0.82rem;
  color: var(--pure-white);
  transition: var(--transition-smooth);
}

.utility-wrapper, .utility-left, .utility-right {
  display: flex;
  align-items: center;
  gap: 18px;
}

.utility-wrapper { justify-content: space-between; }

.utility-link {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--transition-smooth);
}

.utility-link:hover { color: var(--accent-gold); }
.utility-divider { width: 1px; height: 12px; background: rgba(255, 255, 255, 0.15); }
.icon-glow { color: var(--accent-gold); }

.social-pills { display: flex; gap: 8px; }
.social-pill-item {
  width: 26px; height: 26px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--pure-white);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.72rem; text-decoration: none;
  transition: var(--transition-smooth);
}

/* 1. Normal State: फोटोमा जस्तै सेतो ब्याकग्राउन्ड र प्रष्ट आइकन */
.top-utility-bar .social-pill-item {
    background: #ffffff !important;           /* ब्याकग्राउन्ड सेतो */
    color: #1034A6 !important;                /* आइकनको रङ Egyptian Blue */
    width: 36px !important;                   /* गोलोको साइज */
    height: 36px !important;
    border-radius: 50% !important;            /* पूर्ण गोलो */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15) !important; /* हल्का Shadow प्रष्ट देखिनका लागि */
    transition: all 0.3s ease !important;
}

/* भित्रको FontAwesome आइकन प्रष्ट देखाउन */
.top-utility-bar .social-pill-item i {
    color: #1034A6 !important;
    font-size: 16px !important;
    opacity: 1 !important;
}

/* 2. Hover State: Hover गर्दा पहेंलो (Yellow) हुने र उचालिने */
.top-utility-bar .social-pill-item:hover {
    background: #FFD700 !important;           /* पहेंलो रङ (Yellow / Gold) */
    transform: translateY(-2px) !important;   /* हल्का माथि उचालिने */
}

/* Hover हुँदा आइकनको रङ Egyptian Blue नै रहने (वा कालो बनाउन #000 राख्न सक्नुहुन्छ) */
.top-utility-bar .social-pill-item:hover i {
    color: #1034A6 !important;
}

/* GLASS NAVBAR */
.nav-floating-wrapper { padding-top: 14px; transition: var(--transition-smooth); }

.glass-navbar {
  background: var(--glass-surface);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-capsule);
  padding: 10px 18px 10px 28px;
  display: flex; align-items: center; justify-content: space-between;
  box-shadow: var(--shadow-ambient);
  transition: var(--transition-smooth);
}

/* STICKY HEADER STATE */
.luxury-header.is-sticky .top-utility-bar { margin-top: -45px; opacity: 0; pointer-events: none; }
.luxury-header.is-sticky .nav-floating-wrapper { padding-top: 10px; }
.luxury-header.is-sticky .glass-navbar {
  background: var(--glass-surface-sticky);
  box-shadow: var(--shadow-sticky);
  padding-top: 8px; padding-bottom: 8px;
}

/* LOGO */
.brand-logo-container { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.logo-badge {
  width: 44px; height: 44px; border-radius: 12px;
  background: #ffffff; padding: 6px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}
.brand-img { max-height: 100%; width: auto; object-fit: contain; }
.brand-typography { display: flex; flex-direction: column; }
.brand-title { font-size: 1.25rem; font-weight: 800; color: var(--primary-navy); letter-spacing: -0.5px; line-height: 1; }
.brand-subtitle { font-size: 0.68rem; font-weight: 700; color: var(--text-muted); letter-spacing: 1.5px; margin-top: 3px; display: flex; align-items: center; gap: 5px; }
.accent-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent-gold); display: inline-block; }

/* NAV MENU LINKS */
.nav-links-hub { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 6px; }

.nav-hub-link {
  color: var(--text-dark);
  font-weight: 600; font-size: 0.92rem;
  padding: 10px 18px; border-radius: var(--radius-capsule);
  text-decoration: none; display: flex; align-items: center; gap: 6px;
  position: relative; transition: var(--transition-smooth);
}

.nav-hub-link:hover, .nav-hub-link.active { color: var(--primary-navy); background: rgba(255, 255, 255, 0.6); }

/* Animated Underline */
.nav-hub-link::after {
  content: ""; position: absolute; bottom: 6px; left: 50%;
  width: 0; height: 3px; background: var(--accent-gold);
  border-radius: 10px; transform: translateX(-50%);
  transition: var(--transition-smooth);
}

.nav-hub-link:hover::after, .nav-hub-link.active::after { width: 22px; }

/* DROPDOWN */
.has-glass-dropdown { position: relative; }
.drop-chevron { font-size: 0.7rem; color: var(--text-muted); transition: var(--transition-smooth); }
.has-glass-dropdown:hover .drop-chevron { transform: rotate(180deg); color: var(--primary-navy); }

.glass-dropdown-panel {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(16px);
  width: 260px; background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--radius-panel); padding: 10px;
  box-shadow: 0 30px 60px -12px rgba(11, 31, 58, 0.25);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: var(--transition-smooth);
}

.has-glass-dropdown:hover .glass-dropdown-panel {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(8px);
}

.dropdown-links-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }

.dropdown-hub-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: var(--radius-item);
  text-decoration: none; transition: var(--transition-smooth);
}

.dropdown-hub-item:hover { background: rgba(244, 180, 0, 0.12); transform: translateX(4px); }

.dropdown-icon-box {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--primary-navy); color: var(--accent-gold);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.9rem; flex-shrink: 0;
}

.dropdown-text { display: flex; flex-direction: column; }
.dropdown-text strong { color: var(--text-dark); font-size: 0.88rem; font-weight: 700; }
.dropdown-text small { color: var(--text-muted); font-size: 0.72rem; }
/* Normal State: कालो ब्याकग्राउन्डलाई Egyptian Blue बनाउन */
.quote-btn-luxury {
  position: relative; 
  background: #1034A6 !important; /* Normal ब्याकग्राउन्ड Egyptian Blue */
  color: #ffffff !important;      /* अक्षर सेतो */
  font-size: 0.88rem; 
  font-weight: 700; 
  padding: 12px 26px;
  border-radius: var(--radius-capsule); 
  text-decoration: none;
  display: inline-flex; 
  align-items: center; 
  gap: 10px;
  overflow: hidden; 
  box-shadow: 0 10px 25px rgba(16, 52, 166, 0.2) !important;
  transition: var(--transition-smooth);
}

/* Hover State: Hover गर्दा पहेंलो (Yellow) हुने */
.quote-btn-luxury:hover {
  background:#fdbe33 !important; /* Hover गर्दा पहेंलो */
  color: #1034A6 !important;      /* पहेंलोमा अक्षर प्रष्ट देखिन Egyptian Blue */
  box-shadow: var(--shadow-glow); 
  transform: translateY(-2px);
}

/* Glossy Shine Effect */
.btn-shine {
  position: absolute; 
  top: 0; 
  left: -100%; 
  width: 60%; 
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 600ms ease;
}

.quote-btn-luxury:hover .btn-shine { left: 120%; }

/* MOBILE HAMBURGER & DRAWER */
.mobile-hamburger-trigger {
  display: none; background: transparent; border: none; cursor: pointer;
  padding: 6px; flex-direction: column; gap: 5px;
}

.hamburger-line { display: block; width: 24px; height: 2.5px; background: var(--primary-navy); border-radius: 2px; }

.mobile-glass-drawer {
  position: fixed; top: 0; right: -100%;
  width: 320px; max-width: 85vw; height: 100vh;
  background: rgba(11, 31, 58, 0.96); backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px); z-index: 10000;
  display: flex; flex-direction: column; padding: 28px 24px;
  transition: right 400ms ease; box-shadow: -20px 0 50px rgba(0, 0, 0, 0.3);
}

.mobile-glass-drawer.is-active { right: 0; }

.mobile-drawer-backdrop {
  position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
  background: rgba(6, 19, 37, 0.6); backdrop-filter: blur(6px);
  z-index: 9999; opacity: 0; visibility: hidden; transition: var(--transition-smooth);
}

.mobile-drawer-backdrop.is-active { opacity: 1; visibility: visible; }

.drawer-header-row { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.drawer-brand { display: flex; align-items: center; gap: 10px; }
.drawer-logo { height: 32px; width: auto; }
.drawer-title { color: var(--pure-white); font-size: 1.1rem; font-weight: 800; }

.drawer-close-btn {
  background: rgba(255, 255, 255, 0.08); border: none; color: var(--pure-white);
  width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
}

.drawer-scroll-body { overflow-y: auto; padding-top: 20px; display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
.mobile-menu-tree { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mobile-tree-link { color: rgba(255, 255, 255, 0.9); font-size: 1.05rem; font-weight: 700; text-decoration: none; padding: 14px 20px; display: block; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.mobile-tree-link:hover, .mobile-tree-link.active { color: var(--accent-gold); padding-left: 28px; }

.accordion-head { display: flex; align-items: center; justify-content: space-between; }
.accordion-head .mobile-tree-link { padding: 14px 20px; }
.accordion-plus-btn { background: transparent; border: none; color: rgba(255, 255, 255, 0.6); font-size: 0.9rem; padding: 10px; cursor: pointer; }
.accordion-body-collapse { display: none; background: rgba(255, 255, 255, 0.04); border-radius: var(--radius-item); padding: 6px 16px; margin-top: 4px; }
.accordion-body-collapse a { display: block; color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; font-weight: 600; padding: 8px 0; text-decoration: none; }
.accordion-body-collapse a:hover { color: var(--accent-gold); }

.drawer-footer-card { padding: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.drawer-contacts p { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; margin-bottom: 8px; }
.drawer-contacts i { color: var(--accent-gold); margin-right: 8px; }

@media (max-width: 1024px) {
  .desktop-menu-center, .desktop-action-right { display: none; }
  .mobile-hamburger-trigger { display: flex; }
  .glass-navbar { padding: 10px 18px; }
}

@media (min-width: 992px) {
  .mobile-hamburger-trigger { display: none !important; }
  .mobile-drawer-backdrop, .mobile-glass-drawer { display: none !important; }
}

@media (max-width: 768px) {
  .d-mobile-none { display: none; }
  .header-container { padding: 0 16px; }
  .brand-title { font-size: 1.1rem; }
  .brand-subtitle { font-size: 0.6rem; }
  .logo-badge { width: 38px; height: 38px; }
}

@media (max-width: 640px) {
  .d-mobile-none { display: none; }
  .utility-left { gap: 12px; }
  .utility-link { font-size: 0.75rem; }
  .header-container { padding: 0 12px; }
  .glass-navbar { padding: 8px 14px; }
}
/* Contact Icons Color */
.icon-glow {
    color: #fdbe33 !important; /* Construction Gold/Yellow */
    margin-right: 6px !important;
    font-size: 14px !important;
}

/* Original Social Media Colors */
.social-pill-item .fa-facebook-f {
    color: #1877F2 !important; /* Original Facebook Blue */
}

.social-pill-item .fa-instagram {
    /* Original Instagram Gradient */
    background: -webkit-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.social-pill-item .fa-linkedin-in {
    color: #0A66C2 !important; /* Original LinkedIn Blue */
}

/* Hover Effect - हल्का ठूलो हुने */
.social-pill-item:hover {
    transform: scale(1.2);
    transition: transform 0.2s ease-in-out;
}


/*******************************/
/******** Carousel CSS *********/
/*******************************/
.carousel {
    position: relative;
    width: 100%;
    height: calc(100vh - 170px);
    min-height: 400px;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
}

.carousel .carousel-inner,
.carousel .carousel-item {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.carousel .carousel-item::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .3);
    z-index: 1;
}

.carousel .carousel-caption {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: calc(100vh - 170px);
    min-height: 400px;
}

.carousel .carousel-caption p {
    color: #ffffff;
    font-size: 30px;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.carousel .carousel-caption h1 {
    color: #ffffff;
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 35px;
}

.carousel .carousel-caption .btn {
    padding: 15px 35px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #ffffff;
    background: transparent;
    border: 2px solid #ffffff;
    border-radius: 0;
    transition: .3s;
}

.carousel .carousel-caption .btn:hover {
    color: #030f27;
    background: #fdbe33;
    border-color: #fdbe33;
}

@media (max-width: 767.98px) {
    .carousel .carousel-caption h1 {
        font-size: 40px;
        font-weight: 700;
    }
    
    .carousel .carousel-caption p {
        font-size: 20px;
    }
    
    .carousel .carousel-caption .btn {
        padding: 12px 30px;
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 0;
    }
}

@media (max-width: 575.98px) {
    .carousel .carousel-caption h1 {
        font-size: 30px;
        font-weight: 500;
    }
    
    .carousel .carousel-caption p {
        font-size: 16px;
    }
    
    .carousel .carousel-caption .btn {
        padding: 10px 25px;
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 0;
    }
}

.carousel .animated {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
}


/*******************************/
/******* Page Header CSS *******/
/*******************************/
.page-header {
    position: relative;
    margin-bottom: 45px;
    padding: 90px 0;
    text-align: center;
    background: #fdbe33;
}

.page-header h2 {
    position: relative;
    color: #030f27;
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 5px;
}

.page-header h2::after {
    position: absolute;
    content: "";
    width: 100px;
    height: 2px;
    left: calc(50% - 50px);
    bottom: 0;
    background: #030f27;
}

.page-header a {
    position: relative;
    padding: 0 12px;
    font-size: 22px;
    color: #030f27;
}

.page-header a:hover {
    color: #ffffff;
}

.page-header a::after {
    position: absolute;
    content: "/";
    width: 8px;
    height: 8px;
    top: -2px;
    right: -7px;
    text-align: center;
    color: #121518;
}

.page-header a:last-child::after {
    display: none;
}

@media (max-width: 991.98px) {
    .page-header {
        padding: 60px 0;
    }
    
    .page-header h2 {
        font-size: 45px;
    }
    
    .page-header a {
        font-size: 20px;
    }
}

@media (max-width: 767.98px) {
    .page-header {
        padding: 45px 0;
    }
    
    .page-header h2 {
        font-size: 35px;
    }
    
    .page-header a {
        font-size: 18px;
    }
}


/*******************************/
/******* Section Header ********/
/*******************************/
.section-header {
    position: relative;
    width: 100%;
    margin-bottom: 45px;
}

.section-header p {
    color: #fdbe33;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
}

.section-header h2 {
    margin: 0;
    position: relative;
    font-size: 50px;
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .section-header h2 {
        font-size: 30px;
    }
}


/*******************************/
/********* Feature CSS *********/
/*******************************/


.feature .col-md-12 {
    background: #030f27;
}
    
.feature .col-md-12:nth-child(2n) {
    color: #030f27;
    background: #fdbe33;
}




.feature .col-md-12:nth-child(2n) .feature-icon::after {
    background: #fdbe33;
}

.feature .feature-icon [class^="flaticon-"]::before {
    position: relative;
    margin: 0;
    color: #fdbe33;
    font-size: 60px;
    line-height: 60px;
    z-index: 3;
}



.feature .feature-text h3 {
    margin: 0 0 10px 0;
    color: #fdbe33;
    font-size: 25px;
    font-weight: 600;
}

.feature .feature-text p {
    margin: 0;
    color: #fdbe33;
    font-size: 18px;
    font-weight: 400;
}

.feature .col-md-12:nth-child(2n) [class^="flaticon-"]::before,
.feature .col-md-12:nth-child(2n) h3,
.feature .col-md-12:nth-child(2n) p {
    color: #030f27;
}


/*******************************/
/********** About CSS **********/
/*******************************/
.about {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.about .section-header {
    margin-bottom: 30px;
}

.about .about-img {
    position: relative;
    height: 100%;
}

.about .about-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about .about-text p {
    font-size: 16px;
}

.about .about-text a.btn {
    position: relative;
    margin-top: 15px;
    padding: 15px 35px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #030f27;
    border-radius: 0;
    background: #fdbe33;
    transition: .3s;
}

.about .about-text a.btn:hover {
    color: #fdbe33;
    background: #030f27;
}

@media (max-width: 767.98px) {
    .about .about-img {
        margin-bottom: 30px;
        height: auto;
    }
}


/*******************************/
/********** Fact CSS ***********/
/*******************************/


.fact .col-6 {
    display: flex;
    align-items: flex-start;
}



.fact .fact-icon [class^="flaticon-"]::before {
    margin: 0;
    font-size: 60px;
    line-height: 60px;
    background-image: linear-gradient(#ffffff, #fdbe33);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.fact .fact-right .fact-icon [class^="flaticon-"]::before {
    background-image: linear-gradient(#ffffff, #030f27);
}

.fact .fact-left,
.fact .fact-right {
    padding-top: 60px;
    padding-bottom: 60px;
}

.fact .fact-text h2 {
    font-size: 35px;
    font-weight: 700;
}

.fact .fact-text p {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.fact .fact-left {
    color: #fdbe33;
    background: #030f27;
}

.fact .fact-right {
    color: #030f27;
    background: #fdbe33;
}

.fact .fact-left h2 {
    color: #fdbe33;
}


/*******************************/
/********* Service CSS *********/
/*******************************/




.service .service-img {
    position: relative;
    overflow: hidden;
}

.service .service-img img {
    width: 100%;
}





.service .service-overlay p {
    margin: 0;
    color: #ffffff;
}



.service .service-text h3 {
    margin: 0;
    padding: 0 15px 0 25px;
    width: calc(100% - 60px);
    font-size: 20px;
    font-weight: 700;
    color: #fdbe33;
    text-align: left;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.service .service-item a.btn {
    width: 60px;
    height: 60px;
    padding: 3px 0 0 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    line-height: 60px;
    font-weight: 100;
    color: #030f27;
    background: #fdbe33;
    border-radius: 0;
    transition: .3s;
}

.service .service-item:hover a.btn {
    color: #ffffff;
}


/*******************************/
/********** Video CSS **********/
/*******************************/
.video {
    position: relative;
    margin: 45px 0;
    height: 100%;
    min-height: 500px;
    background: linear-gradient(rgba(3, 15, 39, .9), rgba(3, 15, 39, .9)), url(../img/carousel-1.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.video .btn-play {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    box-sizing: content-box;
    display: block;
    width: 32px;
    height: 44px;
    border-radius: 50%;
    border: none;
    outline: none;
    padding: 18px 20px 18px 28px;
}

.video .btn-play:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 100px;
    height: 100px;
    background: #fdbe33;
    border-radius: 50%;
    animation: pulse-border 1500ms ease-out infinite;
}

.video .btn-play:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 100px;
    height: 100px;
    background: #fdbe33;
    border-radius: 50%;
    transition: all 200ms;
}

.video .btn-play:hover:after {
    background-color: darken(#fdbe33, 10%);
}

.video .btn-play img {
    position: relative;
    z-index: 3;
    max-width: 100%;
    width: auto;
    height: auto;
}

.video .btn-play span {
    display: block;
    position: relative;
    z-index: 3;
    width: 0;
    height: 0;
    border-left: 32px solid #030f27;
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
}

@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    opacity: 0;
  }
}

#videoModal .modal-dialog {
    position: relative;
    max-width: 800px;
    margin: 60px auto 0 auto;
}

#videoModal .modal-body {
    position: relative;
    padding: 0px;
}

#videoModal .close {
    position: absolute;
    width: 30px;
    height: 30px;
    right: 0px;
    top: -30px;
    z-index: 999;
    font-size: 30px;
    font-weight: normal;
    color: #ffffff;
    background: #000000;
    opacity: 1;
}


/*******************************/
/*********** Team CSS **********/
/*******************************/






.team .team-img img {
    width: 100%;
}



.team .team-text h2 {
    font-size: 20px;
    font-weight: 600;
    color: #fdbe33;
    transition: .5s;
}

.team .team-text p {
    margin: 0;
    color: #ffffff;
}



.team .team-item:hover .team-text h2 {
    color: #030f27;
    letter-spacing: 1px;
}



.team .team-social a {
    position: relative;
    left: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #ffffff;
}

.team .team-item:hover .team-social a:first-child {
    background: #00acee;
    left: 50px;
    transition: .3s 0s;
}

.team .team-item:hover .team-social a:nth-child(2) {
    background: #3b5998;
    left: 50px;
    transition: .3s .1s;
}

.team .team-item:hover .team-social a:nth-child(3) {
    background: #0e76a8;
    left: 50px;
    transition: .3s .2s;
}

.team .team-item:hover .team-social a:nth-child(4) {
    background: #3f729b;
    left: 50px;
    transition: .3s .3s;
}


/*******************************/
/*********** FAQs CSS **********/
/*******************************/
.faqs {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.faqs .row {
    position: relative;
}

.faqs .row::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    top: 0;
    left: calc(50% - .5px);
    background: #fdbe33;
}

.faqs #accordion-1 {
    padding-right: 15px;
}

.faqs #accordion-2 {
    padding-left: 15px;
}

@media(max-width: 767.98px) {
    .faqs .row::after {
        display: none;
    }
    
    .faqs #accordion-1,
    .faqs #accordion-2 {
        padding: 0;
    }
    
    .faqs #accordion-2 {
        padding-top: 15px;
    }
}

.faqs .card {
    margin-bottom: 15px;
    border: none;
    border-radius: 0;
}

.faqs .card:last-child {
    margin-bottom: 0;
}

.faqs .card-header {
    padding: 0;
    border: none;
    background: #ffffff;
}

.faqs .card-header a {
    display: block;
    padding: 10px 25px;
    width: 100%;
    color: #121518;
    font-size: 16px;
    line-height: 40px;
    border: 1px solid rgba(0, 0, 0, .1);
    transition: .5s;
}

.faqs .card-header [data-toggle="collapse"][aria-expanded="true"] {
    background: #fdbe33;
}

.faqs .card-header [data-toggle="collapse"]:after {
    font-family: "font Awesome 5 Free";
    content: "";
    float: right;
    color: #fdbe33;
    font-size: 12px;
    font-weight: 900;
    transition: .5s;
}

.faqs .card-header [data-toggle="collapse"][aria-expanded="true"]:after {
    font-family: "font Awesome 5 Free";
    content: "";
    float: right;
    color: #030f27;
    font-size: 12px;
    font-weight: 900;
    transition: .5s;
}

.faqs .card-body {
    padding: 20px 25px;
    font-size: 16px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, .1);
    border-top: none;
}
.faqs .row::after {
    display: none;
}

/*******************************/
/******* Testimonial CSS *******/
/*******************************/
.testimonial {
    position: relative;
    margin: 45px 0;
    padding: 90px 0;
    text-align: center;
    background: linear-gradient(rgba(3, 15, 39, .9), rgba(3, 15, 39, .9)), url(../img/carousel-1.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.testimonial .container {
    max-width: 760px;
}

.about-page .testimonial {
    padding-bottom: 90px;
}

.testimonial .testimonial-slider-nav {
    position: relative;
    width: 300px;
    margin: 0 auto;
}

.testimonial .testimonial-slider-nav .slick-slide {
    position: relative;
    opacity: 0;
    transition: .5s;
}

.testimonial .testimonial-slider-nav .slick-active {
    opacity: 1;
    transform: scale(1.3);
}

.testimonial .testimonial-slider-nav .slick-center {
    transform: scale(1.8);
    z-index: 1;
}

.testimonial .testimonial-slider-nav .slick-slide img {
    position: relative;
    display: block;
    margin-top: 37px;
    width: 100%;
    height: auto;
    border-radius: 100px;
}

.testimonial .testimonial-slider {
    position: relative;
    margin-top: 15px;
    padding-top: 50px;
}

.testimonial .testimonial-slider::before {
    position: absolute;
    content: "";
    width: 60px;
    height: 50px;
    top: 0;
    left: calc(50% - 30px);
    background: url(../img/quote.png) top center no-repeat;
}

.testimonial .testimonial-slider h3 {
    color: #fdbe33;
    font-size: 22px;
    font-weight: 700;
}

.testimonial .testimonial-slider h4 {
    font-size: 14px;
    font-weight: 300;
    color: #ffffff;
    font-style: italic;
    margin-bottom: 10px;
}

.testimonial .testimonial-slider p {
    color: #ffffff;
    font-size: 16px;
    font-weight: 300;
    margin: 0;
}


/*******************************/
/*********** Blog CSS **********/
/*******************************/






.blog .blog-img img {
    width: 100%;
}



.blog .blog-title h3 {
    margin: 0;
    padding: 0 15px 0 25px;
    width: calc(100% - 60px);
    font-size: 18px;
    font-weight: 700;
    color: #fdbe33;
    text-align: left;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.blog .blog-title a.btn {
    width: 60px;
    height: 60px;
    padding: 3px 0 0 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    line-height: 60px;
    font-weight: 100;
    color: #030f27;
    background: #fdbe33;
    border-radius: 0;
    transition: .3s;
}

.blog .blog-item:hover a.btn {
    color: #ffffff;
}





.blog .blog-meta p {
    display: inline-block;
    margin: 0;
    padding: 0 3px;
    font-size: 14px;
    font-weight: 300;
    font-style: italic;
    color: #666666;
}

.blog .blog-meta p a {
    margin-left: 5px;
    font-style: normal;
}



.blog .blog-text p {
    margin: 0;
    font-size: 16px;
}



.blog .pagination .page-item.active .page-link{
    color: #fdbe33;
    background: #030f27;
}




/*******************************/
/******* Single Post CSS *******/
/*******************************/




.single .single-content img {
    margin-bottom: 20px;
    width: 100%;
}



.single .single-tags a {
    margin: 5px;
    display: inline-block;
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 400;
    color: #666666;
    border: 1px solid #dddddd;
}

.single .single-tags a:hover {
    color: #fdbe33;
    background: #030f27;
}





.single .single-bio-img img {
    width: 100%;
}



.single .single-bio-text h3 {
    font-size: 20px;
    font-weight: 700;
}

.single .single-bio-text p {
    margin: 0;
}



.single .single-related h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
}

.single .related-slider {
    position: relative;
    margin: 0 -15px;
    width: calc(100% + 30px);
}

.single .related-slider .post-item {
    margin: 0 15px;
}





.single .post-item .post-img img {
    width: 100%;
}



.single .post-item .post-text a {
    font-size: 16px;
    font-weight: 400;
}



.single .post-item .post-meta p {
    display: inline-block;
    margin: 0;
    padding: 0 3px;
    font-size: 14px;
    font-weight: 300;
    font-style: italic;
}

.single .post-item .post-meta p a {
    margin-left: 5px;
    font-size: 14px;
    font-weight: 300;
    font-style: normal;
}

.single .related-slider .owl-nav {
    position: absolute;
    width: 90px;
    top: -55px;
    right: 15px;
    display: flex;
}

.single .related-slider .owl-nav .owl-prev,
.single .related-slider .owl-nav .owl-next {
    margin-left: 15px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #030f27;
    background: #fdbe33;
    font-size: 16px;
    transition: .3s;
}

.single .related-slider .owl-nav .owl-prev:hover,
.single .related-slider .owl-nav .owl-next:hover {
    color: #fdbe33;
    background: #030f27;
}



.single .single-comment h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
}









.single .comment-img img {
    width: 100%;
}



.single .comment-text h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 3px;
}

.single .comment-text span {
    display: block;
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 5px;
}

.single .comment-text .btn {
    padding: 3px 10px;
    font-size: 14px;
    color: #030f27;
    background: #dddddd;
    border-radius: 0;
}

.single .comment-text .btn:hover {
    background: #fdbe33;
}



.single .comment-form h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
}

.single .comment-form form {
    padding: 30px;
    background: #f3f6ff;
}

.single .comment-form form .form-group:last-child {
    margin: 0;
}

.single .comment-form input,
.single .comment-form textarea {
    border-radius: 0;
}

.single .comment-form .btn {
    padding: 15px 30px;
    color: #030f27;
    background: #fdbe33;
}

.single .comment-form .btn:hover {
    color: #fdbe33;
    background: #030f27;
}


/**********************************/
/*********** Sidebar CSS **********/
/**********************************/


@media(max-width: 991.98px) {
    
}



.sidebar .sidebar-widget .widget-title {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 5px;
    font-size: 30px;
    font-weight: 700;
}

.sidebar .sidebar-widget .widget-title::after {
    position: absolute;
    content: "";
    width: 60px;
    height: 2px;
    bottom: 0;
    left: 0;
    background: #fdbe33;
}



.sidebar .search-widget input {
    height: 50px;
    border: 1px solid #dddddd;
    border-radius: 0;
}

.sidebar .search-widget input:focus {
    box-shadow: none;
}

.sidebar .search-widget .btn {
    position: absolute;
    top: 6px;
    right: 15px;
    height: 40px;
    padding: 0;
    font-size: 25px;
    color: #fdbe33;
    background: none;
    border-radius: 0;
    border: none;
    transition: .3s;
}

.sidebar .search-widget .btn:hover {
    color: #030f27;
}







.sidebar .tab-post .nav.nav-pills .nav-link.active{
    color: #030f27;
    background: #fdbe33;
}



.sidebar .tab-post .tab-content .container {
    padding: 0;
}



.sidebar .category-widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar .category-widget ul li {
    margin: 0 0 12px 22px; 
}

.sidebar .category-widget ul li:last-child {
    margin-bottom: 0; 
}

.sidebar .category-widget ul li a {
    display: inline-block;
    line-height: 23px;
}

.sidebar .category-widget ul li::before {
    position: absolute;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fdbe33;
    left: 1px;
}

.sidebar .category-widget ul li span {
    display: inline-block;
    float: right;
}



.single .tag-widget a {
    margin: 5px;
    display: inline-block;
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 400;
    color: #666666;
    border: 1px solid #dddddd;
}

.single .tag-widget a:hover {
    color: #fdbe33;
    background: #030f27;
}



.sidebar .image-widget img {
    max-width: 100%;
    transition: .3s;
}

.sidebar .image-widget img:hover {
    transform: scale(1.1);
}


/*******************************/
/******** Portfolio CSS ********/
/*******************************/
.portfolio {
    position: relative;
    padding: 45px 0;
}

.portfolio #portfolio-flters {
    padding: 0;
    margin: -15px 0 25px 0;
    list-style: none;
    font-size: 0;
    text-align: center;
}

.portfolio #portfolio-flters li,
.portfolio .load-more .btn {
    cursor: pointer;
    display: inline-block;
    margin: 5px;
    padding: 8px 15px;
    color: #030f27;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    border-radius: 0;
    background: #fdbe33;
    border: none;
    transition: .3s;
}

.portfolio #portfolio-flters li:hover,
.portfolio #portfolio-flters li.filter-active {
    background: #030f27;
    color: #fdbe33;
}

.portfolio .load-more {
    text-align: center;
}

.portfolio .load-more .btn {
    padding: 15px 35px;
    font-size: 16px;
    transition: .3s;
}

.portfolio .load-more .btn:hover {
    color: #fdbe33;
    background: #030f27;
}

.portfolio .portfolio-warp {
    position: relative;
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
}

.portfolio .portfolio-img {
    position: relative;
    overflow: hidden;
}

.portfolio .portfolio-img img {
    width: 100%;
    transition: .3s;
}

.portfolio .portfolio-item:hover img {
    transform: scale(1.1);
}

.portfolio .portfolio-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(3, 15, 39, .7);
    transition: .5s;
    opacity: 0;
}

.portfolio .portfolio-warp:hover .portfolio-overlay {
    opacity: 1;
}

.portfolio .portfolio-overlay p {
    margin: 0;
    color: #ffffff;
}

.portfolio .portfolio-text {
    display: flex;
    align-items: center;
    height: 60px;
    background: #030f27;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.portfolio .portfolio-text h3 {
    margin: 0;
    padding: 0 15px 0 25px;
    width: calc(100% - 60px);
    font-size: 20px;
    font-weight: 700;
    color: #fdbe33;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.portfolio .portfolio-warp a.btn {
    width: 60px;
    height: 60px;
    padding: 3px 0 0 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    line-height: 60px;
    font-weight: 100;
    color: #030f27;
    background: #ffffff;
    border-radius: 0;
    transition: .3s;
}

.portfolio .portfolio-warp:hover a.btn {
    color: #ffffff;
    background: #fdbe33;
}


/*******************************/
/********* Contact CSS *********/
/*******************************/


.contact .col-md-6 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.contact .col-md-6:first-child {
    background: #030f27;
}

.contact .col-md-6:last-child {
    background: #fdbe33;
}





.contact .contact-item [class^="flaticon-"]::before {
    margin: 0;
    color: #fdbe33;
    font-size: 40px;
}



.contact .contact-text h2 {
    color: #fdbe33;
    font-size: 20px;
    font-weight: 600;
}

.contact .contact-text p {
    margin: 0;
    color: #ffffff;
    font-size: 16px;
}





.contact .contact-form input {
    color: #ffffff;
    height: 40px;
    border-radius: 0;
    border-width: 1px;
    border-color: rgba(256, 256, 256, .4);
    background: transparent;
}

.contact .contact-form textarea {
    color: #ffffff;
    height: 185px;
    border-radius: 0;
    border-width: 1px;
    border-color: rgba(256, 256, 256, .4);
    background: transparent;
}

.contact .contact-form input:focus,
.contact .contact-form textarea {
    box-shadow: none;
}

.contact .contact-form .form-control::placeholder {
  color: #ffffff;
  opacity: 1;
}

.contact .contact-form .form-control::-ms-input-placeholder {
  color: #ffffff;
}



.contact .contact-form .btn {
    padding: 16px 30px;
    font-size: 16px;
    font-weight: 600;
    color: #fdbe33;
    background: #030f27;
    border: none;
    border-radius: 0;
    transition: .3s;
}

.contact .contact-form .btn:hover {
    color: #030f27;
    background: #ffffff;
}

.contact .help-block ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}


/*******************************/
/********* Footer CSS **********/
/*******************************/
.footer {
    position: relative;
    margin-top: 45px;
    padding-top: 90px;
    background: #030f27;
    color: #ffffff;
}

.footer .footer-contact,
.footer .footer-link,
.footer .newsletter {
    position: relative;
    margin-bottom: 45px;
}

.footer h2 {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: 20px;
    font-weight: 600;
    color: #fdbe33;
}

.footer h2::after {
    position: absolute;
    content: "";
    width: 60px;
    height: 2px;
    left: 0;
    bottom: 0;
    background: #fdbe33;
}

.footer .footer-link a {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    transition: .3s;
}

.footer .footer-link a::before {
    position: relative;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.footer .footer-link a:hover {
    color: #fdbe33;
    letter-spacing: 1px;
}

.footer .footer-contact p i {
    width: 25px;
}

.footer .footer-social {
    position: relative;
    margin-top: 20px;
}

.footer .footer-social a {
    display: inline-block;
    width: 40px;
    height: 40px;
    padding: 7px 0;
    text-align: center;
    border: 1px solid rgba(256, 256, 256, .3);
    border-radius: 60px;
    transition: .3s;
}

.footer .footer-social a i {
    font-size: 15px;
    color: #ffffff;
}

.footer .footer-social a:hover {
    background: #fdbe33;
    border-color: #fdbe33;
}

.footer .footer-social a:hover i {
    color: #030f27;
}

.footer .newsletter .form {
    position: relative;
    max-width: 400px;
    margin: 0 auto;
}

.footer .newsletter input {
    height: 50px;
    border: 2px solid #121518;
    border-radius: 0;
}

.footer .newsletter .btn {
    position: absolute;
    top: 5px;
    right: 5px;
    height: 40px;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fdbe33;
    background: #121518;
    border-radius: 0;
    border: 2px solid #fdbe33;
    transition: .3s;
}

.footer .newsletter .btn:hover {
    color: #121518;
    background: #fdbe33;
}

.footer .footer-menu .f-menu {
    position: relative;
    padding: 15px 0;
    font-size: 0;
    text-align: center;
    border-top: 1px solid rgba(256, 256, 256, .1);
    border-bottom: 1px solid rgba(256, 256, 256, .1);
}

.footer .footer-menu .f-menu a {
    color: #ffffff;
    font-size: 16px;
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.footer .footer-menu .f-menu a:hover {
    color: #fdbe33;
}

.footer .footer-menu .f-menu a:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}


.footer .copyright {
    padding: 30px 15px;
}

.footer .copyright p {
    margin: 0;
    color: #ffffff;
}

.footer .copyright .col-md-6:last-child p {
    text-align: right;
}

.footer .copyright p a {
    color: #fdbe33;
    font-weight: 500;
    letter-spacing: 1px;
}

.footer .copyright p a:hover {
    color: #ffffff;
}

@media (max-width: 768px) {
    .footer .copyright p,
    .footer .copyright .col-md-6:last-child p {
        margin: 5px 0;
        text-align: center;
    }
}


/* ================================
   FULL WIDTH FIX
   ================================ */

html,
body{
    width:100%;
    margin:0;
    padding:0;
    overflow-x:hidden;
    background:#fff;
}

/* Main Wrapper */
.wrapper{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

/* Sticky Navbar */
.nav-bar.nav-sticky{
    left:0;
    width:100% !important;
    max-width:100% !important;
}

/* Top Bar */


/* Navigation */
.nav-bar{
    width:100%;
}

/* Hero Slider */
.carousel{
    width:100%;
}

.carousel .carousel-item img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Bootstrap Container Override */
.wrapper .container-fluid{
    width:100%;
}
/* ===== Center Navbar Menu ===== */

@media (min-width: 992px) {

    .nav-bar .navbar-collapse {
        display: flex !important;
        justify-content: center !important;
    }

    .nav-bar .navbar-nav {
        margin: 0 auto !important;
        display: flex;
        justify-content: center;
        align-items: center;
        width: auto;
    }

    .nav-bar .ml-auto {
        display: none;
    }

}
/* ===== Logo with Company Name ===== */



.logo-box img{
    width:55px;
    height:55px;
    object-fit:contain;
    transition:.3s;
}

.logo-box img:hover{
    transform:scale(1.08);
}

.logo-box h1{
    margin:0;
    font-size:30px;
    font-weight:700;
    color:#030f27;
}
/* ===== Navbar Logo ===== */



.nav-logo img{
    width:45px;
    height:45px;
    object-fit:contain;
}

@media (max-width:991px){

    

}


/* Dropdown smooth performance */


.dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
/* Non-breaking isolated styling */
.cp-bs-header {
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

.cp-bs-title {
  color: hsl(221, 39%, 11%);
  font-size: 32px;
}

.cp-bs-subtitle {
  font-size: 13px;
  line-height: 1.6;
}

/* Timeline Layout */
.cp-bs-timeline {
  position: relative;
  max-width: 850px;
  margin: 0 auto;
  padding: 10px 0;
}

/* Vertical Center Line */
.cp-bs-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background-color: hwb(221 7% 73%);
  transform: translateX(-50%);
}

.cp-bs-item {
  position: relative;
  width: 50%;
  padding: 0 25px;
  margin-bottom: 35px;
  box-sizing: border-box;
}

.cp-bs-left {
  left: 0;
}

.cp-bs-right {
  left: 50%;
}

/* Number Circle Badges */
.cp-bs-badge {
  position: absolute;
  top: 15px;
  width: 32px;
  height: 32px;
  background-color: #f97316;
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 0 0 4px #ffffff;
}

.cp-bs-left .cp-bs-badge {
  right: -16px;
}

.cp-bs-right .cp-bs-badge {
  left: -16px;
}

/* Individual Process Box */
.cp-bs-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cp-bs-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.cp-bs-img-wrap {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.cp-bs-img-wrap img {
  max-height: 100%;
  object-fit: contain;
}

.cp-bs-card-title {
  color: hsl(0, 0%, 6%);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}

.cp-bs-card-desc {
  font-size: 18px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0;
}

/* Mobile Friendly Behavior (768px below) */
@media screen and (max-width: 768px) {
  .cp-bs-timeline::before {
    left: 16px;
  }

  .cp-bs-item {
    width: 100% !important;
    left: 0 !important;
    padding-left: 45px !important;
    padding-right: 0 !important;
  }

  .cp-bs-left .cp-bs-badge,
  .cp-bs-right .cp-bs-badge {
    left: 0 !important;
    right: auto !important;
  }
}
/* Custom Text Size Adjustments */

/* Body/General Paragraph Size */
body, p {
    font-size: 18px !important; /* Larger than the standard paragraph size (14px-16px) */
    line-height: 1.7 !important; /* Improved readability spacing */
}

/* Timeline/Process card text size */
.cp-bs-card-title {
    font-size: 22px !important;
    font-weight: 600 !important;
}

.cp-bs-card-desc {
    font-size: 16px !important;
}

/* Section Subtitles & Paragraphs */
.cp-bs-subtitle, .section-header p {
    font-size: 18px !important;
}

/* Headings (H1, H2, H3, H4) Size Increase */
.section-header h2, .cp-bs-title {
    font-size: 38px !important;
}

/* Navigation Menu Items */


/* Footer Text Size */
.footer p, .footer a {
    font-size: 16px !important;
}
.section-header p {
    font-size: 40px !important;
}
/* Reduce welcome text spacing and improve responsiveness */
.about .section-header p {
    margin-bottom: 5px !important; /* Reduce bottom margin */
    font-size: clamp(15px, 2.5vw, 24px) !important; /* Auto-adjust font size from mobile to desktop */
    white-space: nowrap; /* Keep text on a single line on small screens */
}

.about .section-header h2 {
    margin-top: 0 !important;
}

/* Font adjustment for very small mobile screens */
@media (max-width: 480px) {
    .about .section-header p {
        font-size: 14px !important;
    }
}
/* Service Card Custom Styling */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 12px !important;
    background: #ffffff;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15) !important;
}

.service-img {
    height: 220px;
    object-fit: cover;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}





/* Modal Popup Enhancements */
.modal-content {
    border-radius: 15px !important;
}

.modal-body ul li {
    margin-bottom: 8px;
}

@media (max-width: 576px) {
    .service-img {
        height: 180px;
    }
}
/*******************************/
/********* Service CSS *********/
/*******************************/






.service .service-img {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.service .service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.service .service-item:hover .service-img img {
    transform: scale(1.05);
}



.service .service-text h3 {
    font-size: 20px;
    font-weight: 700;
    color: #030f27;
    margin-bottom: 10px;
}

.service .service-text p {
    font-size: 14px;
    color: #666666;
    line-height: 1.6;
    margin-bottom: 18px;
    flex-grow: 1;
}





/* Responsive adjustments */
@media (max-width: 767.98px) {
    .service .service-img {
        height: 190px;
    }
    
    .service .service-text h3 {
        font-size: 18px;
    }
}

/* Back Button Style */
.back-btn {
    background-color: #030f27;
    color: #ffffff;
    border: none;
    padding: 10px 22px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.back-btn:hover {
    background-color: #fdbe33;
    color: #030f27;
}

/* Banner Image Adjustment */
.detail-banner-img img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Full Text Body Formatting */
.detail-text-body p {
    font-size: 16px;
    line-height: 1.8;
    color: #444444;
    margin-bottom: 18px;
}

.detail-text-body h3 {
    color: #030f27;
    font-weight: 700;
    font-size: 24px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .detail-banner-img img {
        max-height: 280px;
    }
    .detail-text-body p {
        font-size: 15px;
        line-height: 1.7;
    }
}
/* ==========================================
   WHY CHOOSE US - EXACT MATCH STYLES
========================================== */


/* Heading Styling */
.ruwali-wc-title {
    font-size: 30px;
    font-weight: 800;
    color: #0b2545; /* Dark Navy Blue */
    margin-bottom: 25px;
}

.ruwali-wc-title .highlight {
    color: #f2994a; /* Orange Highlight Color */
}

/* White Card Box Container */
.ruwali-wc-card-wrapper {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* List Item Layout */
.ruwali-wc-item {
    display: flex;
    align-items: flex-start;
    padding: 20px;
    gap: 18px;
    transition: background-color 0.3s ease;
}

/* Alternating Greyish/Blue Light Background */
.ruwali-wc-item.active-bg {
    background-color: #f3f5f8;
}

/* Blue Soft Icon Box */
.ruwali-wc-icon-box {
    width: 48px;
    height: 48px;
    min-width: 48px;
    background-color: hsl(225, 70%, 16%); /* Soft Blue Icon Box */
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

/* Text Formatting */
.ruwali-wc-text p {
    font-size: 14.5px;
    color: #555555;
    line-height: 1.6;
    margin: 0;
}

.ruwali-wc-text strong {
    color: #1a1a1a;
    font-weight: 700;
}

/* Right Side Image Box */
.ruwali-wc-image-box img {
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* ==========================================
   MOBILE & DESKTOP RESPONSIVE
========================================== */
@media (max-width: 991.98px) {
    .ruwali-wc-title {
        font-size: 24px;
        text-align: center;
    }
    
    .ruwali-wc-item {
        padding: 15px;
        gap: 14px;
    }

    .ruwali-wc-icon-box {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 18px;
    }

    .ruwali-wc-text p {
        font-size: 13.5px;
    }

    .ruwali-wc-image-box img {
        max-height: 350px;
    }
}
/* Isolated Section Scope */


.featured-gallery-section * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}



/* Badge Styles */








/* Titles */


.featured-gallery-section .gallery-title .highlight {
  color: #d97736;
}



/* Carousel Section */






/* Responsive Grid Cards */


.featured-gallery-section .gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.featured-gallery-section .gallery-card:hover img {
  transform: scale(1.05);
}

/* Overlay & View Button */






.featured-gallery-section .view-gallery-trigger {
  background: #ffffff;
  color: #0b63e6;
  border: none;
  padding: 10px 20px;
  border-radius: 25px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: background 0.2s, transform 0.2s;
}

.featured-gallery-section .view-gallery-trigger:hover {
  background: #f1f5f9;
  transform: scale(1.05);
}

/* Outer Carousel Arrows */


.featured-gallery-section .prev-btn { left: -15px; }
.featured-gallery-section .next-btn { right: -15px; }

/* Bottom CTA */




/* LIGHTBOX MODAL STYLES */


.gallery-lightbox.active {
  display: flex;
}





.gallery-lightbox .lightbox-image-container img {
  max-width: 80vw;
  max-height: 80vh;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 5px 25px rgba(0,0,0,0.5);
}

/* Modal Controls */











/* RESPONSIVE BREAKPOINTS */
@media (max-width: 992px) {
  
}

@media (max-width: 650px) {
  

  /* Adjust lightbox for mobile screens */
  
  
  .gallery-lightbox .lightbox-image-container img {
    max-width: 95vw;
    max-height: 70vh;
  }
}
/* Isolated Base Styles */






/* Header & Badge */














/* Carousel Section */


















.featured-gallery-section .view-gallery-trigger {
  background: #ffffff;
  color: #0b63e6;
  border: none;
  padding: 10px 20px;
  border-radius: 25px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: transform 0.2s;
}

.featured-gallery-section .view-gallery-trigger:hover {
  transform: scale(1.05);
}










/* =========================================
   STEP 1: GRID GALLERY MODAL 
========================================= */


.grid-modal.active {
  display: flex;
}





/* Breadcrumb Navigation */
.breadcrumb-nav {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
}













/* Photo Grid Scrollable */








.grid-photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================================
   STEP 2: BIG SCREEN LIGHTBOX MODAL
========================================= */


.lightbox-modal.active {
  display: flex;
}





.lightbox-content img {
  max-width: 85vw;
  max-height: 80vh;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  object-fit: contain;
}

/* CLOSE BUTTON RIGHT ON IMAGE TOP CORNER */




/* Lightbox Prev / Next Arrows */









/* RESPONSIVE MEDIA QUERIES */
@media (max-width: 992px) {
  
  
}

@media (max-width: 600px) {
  
  
  
  
  
  
}
/* Container Scope */
.ruwali-projects-section {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  overflow: hidden;
}

/* Nav Icons */
.ruwali-nav-btn {
  background: #0d6efd;
  color: #fff;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  margin-left: 6px;
  transition: 0.3s;
}

.ruwali-nav-btn:hover {
  background: #0b5ed7;
}

/* Slider Track */
.ruwali-projects-slider {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 10px 5px;
}

.ruwali-projects-slider::-webkit-scrollbar {
  display: none;
}

/* Card Styling */
.ruwali-project-card {
  min-width: 320px;
  max-width: 360px;
  flex: 0 0 auto;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ruwali-card-img {
  height: 220px;
  overflow: hidden;
}

.ruwali-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.ruwali-project-card:hover .ruwali-card-img img {
  transform: scale(1.05);
}

.ruwali-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.ruwali-card-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 10px;
}

.ruwali-card-desc {
  color: #fdbe33;
  font-size: 0.88rem;
  margin-bottom: 15px;
}

.ruwali-card-meta p {
  margin: 4px 0;
  font-size: 0.85rem;
  color: #555;
}

.ruwali-card-meta i {
  color: #0d6efd;
  width: 18px;
}

.ruwali-btn-details {
  background: #0d6efd;
  color: #fff;
  border: none;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 15px;
  align-self: flex-start;
  transition: 0.2s;
}

.ruwali-btn-details:hover {
  background: #0b5ed7;
}

/* View All Button */
.ruwali-btn-viewall {
  background: #111;
  color: #fff;
  border: none;
  padding: 12px 30px;
  border-radius: 30px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.ruwali-btn-viewall:hover {
  background: #0d6efd;
}

/* RIGHT SIDE PANEL (SLIDE DRAWER) */
.ruwali-side-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  display: none;
  z-index: 9998;
}

.ruwali-side-panel {
  position: fixed;
  top: 0;
  right: -85%;
  width: 80%;
  max-width: 950px;
  height: 100%;
  background: #fff;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.25);
  z-index: 9999;
  transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  overflow-y: auto;
}

@media (max-width: 768px) {
  .ruwali-side-panel {
    width: 95%;
    right: -100%;
  }
}

.ruwali-side-panel.active {
  right: 0;
}

.ruwali-close-btn {
  position: absolute;
  top: 15px;
  right: 20px;
  background: rgba(0, 0, 0, 0.5);
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Dynamic Details Content UI (Matches Photos Exactly) */
.details-hero {
  background-size: cover;
  background-position: center;
  padding: 60px 40px 30px 40px;
  color: #fff;
  position: relative;
}

.details-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7));
}

.details-hero-content {
  position: relative;
  z-index: 2;
}

.details-hero .breadcrumbs {
  font-size: 0.85rem;
  opacity: 0.8;
  margin-bottom: 10px;
}

.details-hero h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.hero-meta-row {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  font-size: 0.9rem;
}

.hero-meta-row i {
  color: #f39c12;
  margin-right: 5px;
}

.details-body {
  padding: 30px;
  background: #f8f9fa;
}

.details-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 25px;
}

@media (max-width: 768px) {
  .details-grid {
    grid-template-columns: 1fr;
  }
}

.details-main-img img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.details-card-info {
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.04);
}

.details-card-info h4 {
  color: #0d6efd;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 1.1rem;
}

.details-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  font-size: 0.88rem;
}

.details-table td {
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}

.details-table td:last-child {
  text-align: right;
  font-weight: 600;
  color: #333;
}

.amenities-box {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #eef2f5;
}

.amenities-box h5 {
  color: #fdbe33;
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 12px;
}

.amenities-box ul {
  padding-left: 18px;
  margin: 0;
  font-size: 0.85rem;
  color: #555;
  line-height: 1.7;
}

.project-description-text {
  margin-top: 25px;
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  font-size: 0.9rem;
  color: #555;
  line-height: 1.6;
}

/* FULL PAGE OVERLAY */
.ruwali-fullpage-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f8f9fa;
  z-index: 10000;
  display: none;
  overflow-y: auto;
}

.ruwali-fullpage-header {
  background: #111;
  padding: 20px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ruwali-close-btn-light {
  background: none;
  border: none;
  color: #fff;
  font-size: 32px;
  cursor: pointer;
}

/* Container Scope */


/* Nav Icons */




/* Slider Track */




/* Card Styling */












.ruwali-card-desc {
  color: #666;
  font-size: 0.88rem;
  margin-bottom: 15px;
}

.ruwali-card-meta p {
  margin: 4px 0;
  font-size: 0.85rem;
  color:#030f27;
}



.ruwali-btn-details {
  background:#fdbe33;
  color: #fff;
  border: none;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 15px;
  align-self: flex-start;
  transition: 0.2s;
}

.ruwali-btn-details:hover {
  background:  #030f27;
}

/* View All Button */
.ruwali-btn-viewall {
  background: #fdbe33;
  color: #fff;
  border: none;
  padding: 12px 30px;
  border-radius: 30px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.ruwali-btn-viewall:hover {
  background:  #030f27;
}

/* ===================================================
   HEADER & CLOSE BUTTON FIX (RUWALI OVERLAY)
   =================================================== */

/* १. बिग्रिएको Close Button (×) लाई ट्याक्क Top-Right मा गोलो र सफा बनाउने */
.ruwali-fullpage-overlay .ruwali-close-btn,
button.ruwali-close-btn {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  z-index: 10005 !important;
  cursor: pointer !important;
}

/* Close button hover appearance */
.ruwali-fullpage-overlay .ruwali-close-btn:hover {
  background: #fdbe33 !important;
  color: #000000 !important;
}

/* ===================================================
   MOBILE CARD LAYOUT FIX (1 CARD PER ROW)
   =================================================== */

@media screen and (max-width: 768px) {

  /* २. Overlay Padding & Grid Reset */
  .ruwali-fullpage-overlay {
    padding-top: 20px !important;
  }

  .ruwali-fullpage-overlay .container,
  .ruwali-fullpage-overlay .row,
  .ruwali-fullpage-overlay div[class*="grid"] {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 10px !important;
    margin: 0 !important;
    gap: 20px !important;
  }

  /* ३. Card लाई Full Width (100%) बनाउने */
  .ruwali-fullpage-overlay .row > *,
  .ruwali-fullpage-overlay [class*="col-"],
  .ruwali-fullpage-overlay .service-slide-card,
  .ruwali-fullpage-overlay .project-card,
  .ruwali-fullpage-overlay .card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 0 10px 0 !important;
    box-sizing: border-box !important;
  }

  /* ४. Modern Card Body & Shadow */
  .ruwali-fullpage-overlay .service-slide-card,
  .ruwali-fullpage-overlay .project-card,
  .ruwali-fullpage-overlay .card {
    background: #ffffff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
  }

  /* ५. Photo Height Fix */
  .ruwali-fullpage-overlay img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* ६. Card भित्रको Action Button लाई मात्र नीलो र Full Width बनाउने (Close Button लाई असर गर्दैन) */
  .ruwali-fullpage-overlay .card-content button,
  .ruwali-fullpage-overlay .card-body button,
  .ruwali-fullpage-overlay .card-action-btn {
    width: 100% !important;
    display: block !important;
    background: #1d4ed8 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    padding: 12px !important;
    border-radius: 10px !important;
    border: none !important;
    text-align: center !important;
    margin-top: 12px !important;
  }
}

/* Exact Details Layout Matching Your Screenshots */
.details-hero {
  background-size: cover;
  background-position: center;
  padding: 80px 40px 40px 40px;
  color: #fff;
  position: relative;
}

.details-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}

.details-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}

.details-hero .breadcrumbs {
  font-size: 0.9rem;
  opacity: 0.85;
  margin-bottom: 12px;
}

.details-hero h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.hero-meta-row {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  font-size: 0.95rem;
}

.hero-meta-row i {
  color: #0d6efd;
  margin-right: 6px;
}

.details-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

.details-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 30px;
}

@media (max-width: 992px) {
  .details-grid {
    grid-template-columns: 1fr;
  }
}

.details-main-img img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.details-card-info {
  background: #fff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.06);
  border: 1px solid #eee;
}

.details-card-info h4 {
  color: #fdbe33;
  font-weight: 700;
  margin-bottom: 20px;
  font-size: 1.2rem;
  border-bottom: 2px solid ;
  display: inline-block;
  padding-bottom: 5px;
}

.details-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 25px;
  font-size: 0.9rem;
}

.details-table td {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
}

.details-table td:first-child {
  color: #555;
  font-weight: 600;
}

.details-table td:last-child {
  text-align: right;
  font-weight: 600;
  color: #222;
}

.amenities-box {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border-left: 4px solid #fdbe33;
}

.amenities-box h5 {
  color:  #fdbe33;
  font-weight: 700;
  font-size: 1.05rem;
  margin-bottom: 12px;
}

.amenities-box ul {
  padding-left: 20px;
  margin: 0;
  font-size: 0.88rem;
  color: #444;
  line-height: 1.8;
}

.project-description-text {
  margin-top: 35px;
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  font-size: 0.95rem;
  color: #444;
  line-height: 1.7;
  box-shadow: 0 4px 15px rgba(0,0,0,0.04);
}
/* Full Width Footer Styling */


/* Titles */




/* Links */
.footer-links li {
  margin-bottom: 10px;
  font-size: 0.9rem;
}

.footer-links a {
  color: #d1d5db;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: #f39c12;
  padding-left: 5px;
}

/* Social Icons */
.social-icons a {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.85rem;
  transition: all 0.3s;
}

.social-icons a:hover {
  background-color: #f39c12;
  border-color: #f39c12;
}

/* Newsletter Input & Button */
.newsletter-box {
  display: flex;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
}

.newsletter-box input {
  border: none;
  padding: 8px 12px;
  font-size: 0.85rem;
  width: 100%;
  outline: none;
}

.newsletter-box .btn-submit {
  background-color: #f39c12;
  color: #000000;
  font-weight: 700;
  font-size: 0.8rem;
  border: none;
  padding: 8px 15px;
  cursor: pointer;
}

/* Divider & Text */




.footer-bottom-links a {
  color: #a0aec0;
  text-decoration: underline;
  margin-left: 15px;
  font-size: 0.85rem;
}

.footer-bottom-links a:hover {
  color: #ffffff;
}
/* Details Hero Title specific yellow color without affecting other elements */
.details-hero h1 {
  color: #fdbe33 !important; /* Yellow/Gold Accent Color */
  text-shadow: 1.5px 1px 4px rgba(0, 0, 0, 0.8); 
}

/* ======================================================
   MOBILE ONLY: View All Projects Overlay - 2 Cards per Row
   (Home Page Slider Card मा कुनै असर पर्दैन)
   ====================================================== */
@media (max-width: 576px) {

  /* Overlay Grid Container */
  #fullPageOverlay #allProjectsGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
  }

  /* Overlay Column Wrapper: Exactly 2 cards per row */
  #fullPageOverlay #allProjectsGrid > [class*="col-"] {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 12px !important;
  }

  /* Overlay Card Internal Styling */
  #fullPageOverlay .ruwali-project-card {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  #fullPageOverlay .ruwali-card-img {
    height: 110px !important;
  }

  #fullPageOverlay .ruwali-card-body {
    padding: 8px !important;
  }

  #fullPageOverlay .ruwali-card-title {
    font-size: 0.82rem !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
  }

  #fullPageOverlay .ruwali-card-desc {
    font-size: 0.70rem !important;
    margin-bottom: 6px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  #fullPageOverlay .ruwali-card-meta p {
    font-size: 0.68rem !important;
    margin: 2px 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #fullPageOverlay .ruwali-card-meta i {
    font-size: 0.68rem !important;
  }

  #fullPageOverlay .ruwali-btn-details {
    padding: 4px 8px !important;
    font-size: 0.70rem !important;
    margin-top: 6px !important;
    width: 100% !important;
    text-align: center;
  }
}
/* ======================================================
   OUR PROJECTS SLIDER: CLEAN & RESPONSIVE LAYOUT
   ====================================================== */

/* 1. Blue Navigation Buttons Hide गर्ने */


/* 2. Slider Container Setup (Smooth Horizontal Scroll) */
.ruwali-projects-slider {
  display: flex !important;
  flex-direction: row !important;
  overflow-x: auto !important;
  scroll-behavior: smooth;
  gap: 20px; /* Card हरू बिचको दुरी */
  padding: 10px 5px 25px 5px; /* Box Shadow नकाटियोस् भनेर bottom padding */
  -webkit-overflow-scrolling: touch;
}

/* Horizontal Scrollbar लुकाउने (स्वच्छ देखिनका लागि) */

.ruwali-projects-slider {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* 3. Card Responsive Width (Desktop & Large Screens) */
.ruwali-projects-slider .ruwali-project-card {
  flex: 0 0 calc(33.333% - 14px) !important; /* Large Screen मा 3 वटा Card */
  min-width: 300px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  background: #fff;
  transition: transform 0.3s ease;
}

.ruwali-projects-slider .ruwali-project-card:hover {
  transform: translateY(-5px); /* Mouse लैजाँदा थोरै माथि उचालिने */
}

/* 4. Responsive Adjustments for Tablet & Mobile */
@media (max-width: 992px) {
  /* Tablet / iPad मा 2 वटा Card देखिने */
  .ruwali-projects-slider .ruwali-project-card {
    flex: 0 0 calc(50% - 10px) !important;
    min-width: 260px !important;
  }
}

@media (max-width: 576px) {
  /* Mobile ma Single Card side-by-side scroll huni */
  .ruwali-projects-slider .ruwali-project-card {
    flex: 0 0 85% !important; /* थोरै अर्को card को भाग पनि झुल्किन्छ जसले scroll गर्न मिल्छ भन्ने थाहा हुन्छ */
    min-width: 85% !important;
  }
  
  .ruwali-projects-slider {
    gap: 15px;
  }
}
/* Slider Wrapper Relative Positioning */
.ruwali-slider-wrapper {
  position: relative;
}

/* Center Left/Right Icons Base Style */
.ruwali-nav-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 42px;
  height: 42px;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  color: #333333 !important;
  border: 1px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  transition: all 0.3s ease !important;
  cursor: pointer;
}

/* Left and Right Positions */
.ruwali-nav-left {
  left: -18px !important;
}

.ruwali-nav-right {
  right: -18px !important;
}

/* Hover Accent Color */
.ruwali-nav-btn:hover {
  background-color: #fdbe33 !important;
  color: #ffffff !important;
  border-color: #fdbe33 !important;
  transform: translateY(-50%) scale(1.1) !important;
}

/* Mobile Screen Responsive Positions */
@media (max-width: 576px) {
  .ruwali-nav-btn {
    width: 34px;
    height: 34px;
    font-size: 0.8rem;
  }
  .ruwali-nav-left {
    left: -5px !important;
  }
  .ruwali-nav-right {
    right: -5px !important;
  }
}
/* ======================================================
   BLOG SECTION & CARDS STYLING
   ====================================================== */







.blog-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



.blog-card-body {
  padding: 15px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}







/* MOBILE RESPONSIVE (View All Posts Modal मा 1 Row ma 2 Cards) */
@media (max-width: 576px) {
  #fullPageBlogOverlay #allBlogsGrid > [class*="col-"] {
    width: 50% !important;
    max-width: 50% !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  

  

  

  
}
/* ======================================================
   RESPONSIVE BLOG SECTION STYLES
   ====================================================== */

.blog-section {
  background-color: #f8f9fa;
  position: relative;
  overflow: hidden;
}

.blog-subtitle {
  color: #f39c12;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.85rem;
}

.blog-main-title {
  font-weight: 800;
  color: #1a1a1a;
  margin-top: 4px;
}

.blog-subtext {
  color: #6c757d;
  font-size: 0.95rem;
}

/* Slider Wrapper & Navigation Buttons */
.blog-slider-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.blog-cards-container {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 15px 5px;
  scrollbar-width: none; /* Firefox */
}

.blog-cards-container::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

/* Individual Blog Card */
.blog-card {
  flex: 0 0 calc(33.333% - 14px);
  min-width: 290px;
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.blog-card-img {
  position: relative;
  height: 190px;
  width: 100%;
}

.blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #f39c12;
  color: #000;
  font-weight: bold;
  padding: 6px 10px;
  border-radius: 6px;
  text-align: center;
  line-height: 1;
  font-size: 0.9rem;
}

.blog-card-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.blog-meta-tags {
  font-size: 0.8rem;
  color: #777;
  margin-bottom: 8px;
}

.blog-card-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #222;
  line-height: 1.35;
  margin-bottom: 10px;
}

.blog-card-desc {
  font-size: 0.85rem;
  color: #555;
  margin-bottom: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Navigation Buttons */
.blog-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 50%;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  transition: background 0.2s;
}

.blog-nav-btn:hover {
  background: #f39c12;
  color: #fff;
  border-color: #f39c12;
}

.blog-nav-left { left: -18px; }
.blog-nav-right { right: -18px; }

/* Buttons */
.btn-read-more {
  background: transparent;
  border: none;
  color: #f39c12;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0;
  cursor: pointer;
  margin-top: auto;
  text-align: left;
  transition: color 0.2s;
}

.btn-read-more:hover {
  color:#030f27;
}

.btn-view-all-posts {
  background:#fdbe33;
  color: #ffffff;
  border: none;
  padding: 10px 24px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-view-all-posts:hover {
  background: #030f27;
  color:#ffffff;
}

/* ======================================================
   SIDE PANEL & ARTICLE IMAGE STYLING (RESPONSIVE)
   ====================================================== */

.article-panel-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.6);
  z-index: 1040;
}

.article-side-panel {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  max-width: 680px; /* Tablet & Desktop Width */
  height: 100vh;
  background: #ffffff;
  z-index: 1050;
  box-shadow: -5px 0 25px rgba(0,0,0,0.2);
  transition: right 0.35s ease-in-out;
  display: flex;
  flex-direction: column;
}

.article-side-panel.open {
  right: 0 !important;
}

.panel-header {
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  background: #fdfdfd;
}

.btn-close-panel {
  background: none;
  border: none;
  font-size: 1.8rem;
  line-height: 1;
  color: #fdbe33;
  cursor: pointer;
}

.panel-content-body {
  padding: 24px;
  overflow-y: auto;
  flex-grow: 1;
  font-family: inherit;
  color: #333;
}

/* Article Layout Matching Image */
.article-header-img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 20px;
}

.article-heading-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #2c3e50;
  margin-top: 22px;
  margin-bottom: 12px;
}

.article-paragraph {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #444;
  margin-bottom: 16px;
}

.highlight-orange {
  color: #e67e22;
  font-weight: 600;
}

/* ALL BLOGS OVERLAY */
.all-blogs-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #ffffff;
  z-index: 1060;
  overflow-y: auto;
}

.modal-header-bar {
  background: #111;
  padding: 15px 25px;
  position: sticky;
  top: 0;
  z-index: 10;
}

.btn-close-white {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
}

/* ======================================================
   MOBILE & TABLET RESPONSIVENESS
   ====================================================== */

@media (max-width: 991px) {
  .blog-card {
    flex: 0 0 calc(50% - 10px); /* 2 Cards on Tablet */
  }
}

@media (max-width: 576px) {
  .blog-nav-left { left: 2px; }
  .blog-nav-right { right: 2px; }

  .blog-card {
    flex: 0 0 85%; /* Single Card visible on Mobile Slider */
    min-width: unset;
  }

  .article-side-panel {
    max-width: 100%; /* Full screen on mobile */
  }

  .panel-content-body {
    padding: 16px;
  }

  /* View All Posts: 2 Cards per row on mobile */
  #allBlogsGridContainer > [class*="col-"] {
    width: 50% !important;
    padding-left: 4px;
    padding-right: 4px;
  }

  #allBlogsGridContainer .blog-card {
    min-width: 100% !important;
  }

  #allBlogsGridContainer .blog-card-img {
    height: 120px !important;
  }

  #allBlogsGridContainer .blog-card-title {
    font-size: 0.85rem !important;
  }

  #allBlogsGridContainer .blog-card-desc {
    display: none; /* Hide desc on mobile grid for space */
  }
}
/* ALL BLOGS MODAL */
#allBlogsModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #ffffff;
  z-index: 1050 !important; /* Base Layer for Modal */
  overflow-y: auto;
}

/* READ MORE OVERLAY & SIDE PANEL (माथि देखाउनका लागि z-index उच्च बनाइएको) */
#articleOverlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9998 !important; /* Modal भन्दा धेरै माथि */
}

#articleSidePanel {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  max-width: 680px;
  height: 100vh;
  background: #ffffff;
  z-index: 9999 !important; /* सबैभन्दा माथिल्लो Layer */
  transition: right 0.35s ease-in-out;
  box-shadow: -5px 0 25px rgba(0,0,0,0.3);
}

#articleSidePanel.open {
  right: 0 !important;
}
/* Read More button को click गर्दा आउने कालो Focus Line/Box हटाउन */
.btn-read-more,
.btn-read-more:focus,
.btn-read-more:active,
.btn-read-more:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
/* Close buttons मा Click वा Focus गर्दा आउने कालो Outline Line हटाउन */
.btn-close-panel, .btn-close-white, .btn-close-panel:focus, .btn-close-white:focus, .btn-close-panel:active, .btn-close-white:active, .btn-close-panel:focus-visible, .btn-close-white:focus-visible{
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Modal वा Side Panel भित्रका कुनै पनि बटन Close गर्दा Outline नआओस् भन्नका लागि */
#articleSidePanel button:focus,
#allBlogsModal button:focus,
#sidePanel button:focus {
  outline: none !important;
  box-shadow: none !important;
}




/* Mouse Hover गर्दा Animation रोक्नका लागि */




/* Slide Animation Keyframes */
@keyframes scrollLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%); /* देब्रेतिर स्लाइड गराउँछ */
  }
}
/*nepali land conveter*/
/* ==========================================================================
   ISOLATED DESIGN TOKENS
   ========================================================================== */
.nlc-app {
    --nlc-bg-main: #f8fafc;
    --nlc-bg-card: rgba(255, 255, 255, 0.75);
    --nlc-bg-card-hover: rgba(255, 255, 255, 0.9);
    --nlc-border-color: rgba(226, 232, 240, 0.8);
    --nlc-border-focus: #2563eb;
    
    --nlc-text-primary: #0f172a;
    --nlc-text-secondary: #475569;
    --nlc-text-muted: #94a3b8;
    
    --nlc-accent-primary: #2563eb;
    --nlc-accent-glow: rgba(37, 99, 235, 0.15);
    
    --nlc-badge-hill-bg: #eff6ff;
    --nlc-badge-hill-text: #1d4ed8;
    --nlc-badge-terai-bg: #f0fdf4;
    --nlc-badge-terai-text: #15803d;
    --nlc-badge-intl-bg: #fefce8;
    --nlc-badge-intl-text: #a16207;

    --nlc-input-bg: #ffffff;
    --nlc-input-border: #cbd5e1;
    --nlc-input-text: #0f172a;

    --nlc-danger-color: #ef4444;

    --nlc-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --nlc-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --nlc-shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    --nlc-glass-backdrop: blur(16px) saturate(180%);

    --nlc-radius-sm: 8px;
    --nlc-radius-md: 12px;
    --nlc-radius-lg: 20px;

    --nlc-transition-fast: 0.15s ease;
    --nlc-transition-normal: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.nlc-app[data-theme="dark"] {
    --nlc-bg-main: #0b0f19;
    --nlc-bg-card: rgba(17, 24, 39, 0.7);
    --nlc-bg-card-hover: rgba(31, 41, 55, 0.8);
    --nlc-border-color: rgba(255, 255, 255, 0.08);
    --nlc-border-focus: #3b82f6;

    --nlc-text-primary: #f8fafc;
    --nlc-text-secondary: #cbd5e1;
    --nlc-text-muted: #64748b;

    --nlc-accent-primary: #3b82f6;
    --nlc-accent-glow: rgba(59, 130, 246, 0.25);

    --nlc-badge-hill-bg: rgba(30, 58, 138, 0.4);
    --nlc-badge-hill-text: #93c5fd;
    --nlc-badge-terai-bg: rgba(20, 83, 45, 0.4);
    --nlc-badge-terai-text: #86efac;
    --nlc-badge-intl-bg: rgba(113, 63, 18, 0.4);
    --nlc-badge-intl-text: #fde047;

    --nlc-input-bg: #1e293b;
    --nlc-input-border: #334155;
    --nlc-input-text: #f8fafc;
}

/* ==========================================================================
   SCOPED BASE & CONTAINER (No Global Leak)
   ========================================================================== */
.nlc-app, .nlc-app * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
}

.nlc-app {
    width: 100%;
    min-height: 100vh;
    background-color: var(--nlc-bg-main);
    color: var(--nlc-text-primary);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px 16px;
    position: relative;
    overflow-x: hidden;
    transition: background-color var(--nlc-transition-normal);
}

.nlc-bg-blur {
    position: fixed;
    border-radius: 50%;
    filter: blur(100px);
    z-index: 0;
    opacity: 0.5;
    pointer-events: none;
}
.nlc-bg-blur-1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(37,99,235,0.3) 0%, rgba(0,0,0,0) 70%);
    top: -100px;
    left: -100px;
}
.nlc-bg-blur-2 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(16,185,129,0.2) 0%, rgba(0,0,0,0) 70%);
    bottom: -150px;
    right: -150px;
}

.nlc-app-container {
    width: 100%;
    max-width: 1280px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    z-index: 1;
}

/* ==========================================================================
   SCOPED COMPONENTS
   ========================================================================== */






.nlc-brand h1 {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}







.nlc-app[data-theme="dark"] .nlc-sun-icon { display: block; }
.nlc-app[data-theme="dark"] .nlc-moon-icon { display: none; }



.nlc-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 12px 20px;
    background: var(--nlc-bg-card);
    backdrop-filter: var(--nlc-glass-backdrop);
    -webkit-backdrop-filter: var(--nlc-glass-backdrop);
    border: 1px solid var(--nlc-border-color);
    border-radius: var(--nlc-radius-md);
}

.nlc-toolbar-info {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--nlc-text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.nlc-pulse-dot {
    width: 8px;
    height: 8px;
    background-color: #10b981;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    animation: nlc-pulse 2s infinite;
}

@keyframes nlc-pulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

.nlc-toolbar-buttons {
    display: flex;
    gap: 12px;
}

.nlc-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--nlc-radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    transition: all var(--nlc-transition-fast);
}

.nlc-btn-secondary {
    background-color: var(--nlc-input-bg);
    border-color: var(--nlc-input-border);
    color: var(--nlc-text-primary);
}

.nlc-btn-secondary:hover {
    background-color: var(--nlc-border-color);
}

.nlc-btn-danger {
    background-color: rgba(239, 68, 68, 0.1);
    color: var(--nlc-danger-color);
    border-color: rgba(239, 68, 68, 0.2);
}

.nlc-btn-danger:hover {
    background-color: var(--nlc-danger-color);
    color: #ffffff;
}

.nlc-converter-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.nlc-category-card {
    background: var(--nlc-bg-card);
    backdrop-filter: var(--nlc-glass-backdrop);
    -webkit-backdrop-filter: var(--nlc-glass-backdrop);
    border: 1px solid var(--nlc-border-color);
    border-radius: var(--nlc-radius-lg);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: var(--nlc-shadow-md);
    transition: transform var(--nlc-transition-normal), box-shadow var(--nlc-transition-normal);
}

.nlc-category-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--nlc-shadow-lg);
    background: var(--nlc-bg-card-hover);
}

.nlc-category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--nlc-border-color);
    padding-bottom: 12px;
}

.nlc-category-title {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nlc-category-title h2 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--nlc-text-primary);
}

.nlc-badge {
    align-self: flex-start;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 2px 8px;
    border-radius: 4px;
}

.nlc-hill-badge { background: var(--nlc-badge-hill-bg); color: var(--nlc-badge-hill-text); }
.nlc-terai-badge { background: var(--nlc-badge-terai-bg); color: var(--nlc-badge-terai-text); }
.nlc-intl-badge { background: var(--nlc-badge-intl-bg); color: var(--nlc-badge-intl-text); }

.nlc-inputs-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nlc-input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nlc-input-group label {
    font-size: 0.825rem;
    font-weight: 600;
    color: var(--nlc-text-secondary);
}

.nlc-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.nlc-input-wrapper input {
    width: 100%;
    padding: 10px 50px 10px 12px;
    background-color: var(--nlc-input-bg);
    border: 1.5px solid var(--nlc-input-border);
    border-radius: var(--nlc-radius-sm);
    color: var(--nlc-input-text);
    font-family: "Space Grotesk", monospace;
    font-size: 0.95rem;
    font-weight: 500;
    outline: none;
    transition: all var(--nlc-transition-fast);
}

.nlc-input-wrapper input:focus {
    border-color: var(--nlc-border-focus);
    box-shadow: 0 0 0 3px var(--nlc-accent-glow);
}

.nlc-input-wrapper input::-webkit-outer-spin-button,
.nlc-input-wrapper input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.nlc-input-wrapper input[type=number] {
    -moz-appearance: textfield;
}

.nlc-unit-tag {
    position: absolute;
    right: 12px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--nlc-text-muted);
    text-transform: lowercase;
    pointer-events: none;
}

.nlc-input-wrapper input.active-input {
    border-color: var(--nlc-border-focus);
    background-color: rgba(37, 99, 235, 0.03);
}

.nlc-formula-details {
    background: var(--nlc-bg-card);
    border: 1px solid var(--nlc-border-color);
    border-radius: var(--nlc-radius-md);
    padding: 12px 16px;
    font-size: 0.85rem;
    color: var(--nlc-text-secondary);
}

.nlc-formula-details summary {
    font-weight: 600;
    cursor: pointer;
    color: var(--nlc-text-primary);
}

.nlc-reference-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--nlc-border-color);
}

.nlc-reference-grid div strong {
    display: block;
    margin-bottom: 6px;
    color: var(--nlc-text-primary);
}

.nlc-reference-grid ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nlc-toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    padding: 12px 20px;
    background-color: #0f172a;
    color: #ffffff;
    border-radius: var(--nlc-radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    box-shadow: var(--nlc-shadow-lg);
    opacity: 0;
    transform: translateY(20px);
    transition: all var(--nlc-transition-normal);
    pointer-events: none;
    z-index: 1000;
}

.nlc-toast.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 1024px) {
    .nlc-converter-grid { grid-template-columns: repeat(1, 1fr); }
    .nlc-reference-grid { grid-template-columns: repeat(1, 1fr); }
}

@media (max-width: 640px) {
    .nlc-app { padding: 12px 8px; }
    
    
    .nlc-toolbar { flex-direction: column; align-items: stretch; }
    .nlc-toolbar-buttons { width: 100%; }
    .nlc-toolbar-buttons .nlc-btn { flex: 1; justify-content: center; }
}
/* ==========================================================================
   ISOLATED ANIMATED TESTIMONIAL CAROUSEL
   ========================================================================== */


/* Big White Outer Card Container */
.tw-main-card {
    background: #ffffff;
    border-radius: 32px;
    padding: 50px 0 60px 0;
    width: 100%;
    max-width: 1100px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
}

/* Background Quote Watermark Effect */
.tw-bg-quote {
    position: absolute;
    top: -20px;
    left: 80px;
    font-size: 160px;
    line-height: 1;
    color: #f1f3f8;
    font-weight: 900;
    font-family: Georgia, serif;
    pointer-events: none;
    user-select: none;
}

/* Section Header Styles */


.tw-header h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
}



/* Carousel Outer Track Window */
.tw-carousel-container {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
    position: relative;
}

/* Endless Infinite Scroll Track Animation */
.tw-track {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: tw-scroll 25s linear infinite;
}

/* Pause Scrolling on Hover */
.tw-carousel-container:hover .tw-track {
    animation-play-state: paused;
}

/* Keyframe for Horizontal Infinite Movement */
@keyframes tw-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 12px));
    }
}

/* Individual Floating Card Design */
.tw-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 24px;
    width: 280px;
    flex-shrink: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    border: 1px solid #f0f2f6;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 1;
}

/* Floating Lift Animation on Hover */
.tw-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    border-color: #e2e8f0;
}

/* Avatar Image */
.tw-avatar {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Name */
.tw-name {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 8px 0;
}

/* Card Small Quote Icon */
.tw-quote-mark {
    font-size: 32px;
    line-height: 1;
    color: #e2e8f0;
    font-family: Georgia, serif;
    margin-bottom: 4px;
}

/* Feedback Text */
.tw-text {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .tw-main-card {
        padding: 40px 0;
        border-radius: 20px;
    }
    .tw-header h2 {
        font-size: 1.5rem;
    }
    .tw-card {
        width: 240px;
        padding: 24px 18px;
    }
    .tw-bg-quote {
        left: 20px;
        font-size: 100px;
    }
}
/* ==========================================================================
   ISOLATED ANIMATED TESTIMONIAL CAROUSEL (WHITE BACKGROUND VERSION)
   ========================================================================== */


/* Big White Outer Card Container */
.tw-main-card {
    background: #ffffff;
    border-radius: 32px;
    padding: 50px 0 60px 0;
    width: 100%;
    max-width: 1100px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05); /* Light Soft Shadow */
    border: 1px solid #f1f5f9;
    position: relative;
    overflow: hidden;
}

/* Background Quote Watermark Effect */
.tw-bg-quote {
    position: absolute;
    top: -20px;
    left: 80px;
    font-size: 160px;
    line-height: 1;
    color: #f1f5f9; /* Watermark को लागि हलुका Grey */
    font-weight: 900;
    font-family: Georgia, serif;
    pointer-events: none;
    user-select: none;
}

/* Section Header Styles */


.tw-header h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
}



/* Carousel Outer Track Window */


/* Endless Infinite Scroll Track Animation */


/* Pause Scrolling on Hover */


/* Keyframe for Horizontal Infinite Movement */
@keyframes tw-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 12px));
    }
}

/* Individual Card Design (Highlighted on White BG) */
.tw-card {
    background: #f8fafc; /* Card हरूलाई सेतो background मा प्रस्ट पार्न Light Grey दिइएको छ */
    border-radius: 20px;
    padding: 30px 24px;
    width: 280px;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    border: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 1;
}

/* Floating Lift Animation & Highlight on Hover */
.tw-card:hover {
    background: #ffffff; /* Hover गर्दा Card सेतो हुनेछ */
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

/* Avatar Image */
.tw-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

/* Name */
.tw-name {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 4px 0;
}

/* Card Small Quote Icon */
.tw-quote-mark {
    font-size: 30px;
    line-height: 1;
    color: #cbd5e1;
    font-family: Georgia, serif;
    margin-bottom: 4px;
}

/* Feedback Text */
.tw-text {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .tw-main-card {
        padding: 40px 0;
        border-radius: 20px;
    }
    .tw-header h2 {
        font-size: 1.5rem;
    }
    .tw-card {
        width: 240px;
        padding: 24px 18px;
    }
    .tw-bg-quote {
        left: 20px;
        font-size: 100px;
    }
}
/* Background Quote Watermark Effect (Yellow Color) */
.tw-bg-quote {
    position: absolute;
    top: -20px;
    left: 80px;
    font-size: 160px;
    line-height: 1;
    color: #fdbe33; /* Yellow / Amber Color */
    
    font-weight: 900;
    font-family: Georgia, serif;
    pointer-events: none;
    user-select: none;
}
/* Card Small Quote Icon (Yellow) */
.tw-quote-mark {
    font-size: 30px;
    line-height: 1;
    color: #fdbe33; /* Yellow Color */
    font-family: Georgia, serif;
    margin-bottom: 4px;
}
/* Base Desktop Styles */
.tw-bg-quote {
    position: absolute;
    top: -20px;
    left: 80px;
    font-size: 160px;
    line-height: 1;
    color: #f59e0b;
    opacity: 0.25;
    font-weight: 900;
    font-family: Georgia, serif;
    pointer-events: none;
    user-select: none;
    transition: all 0.3s ease; /* Smooth Resizing */
}

/* ==========================================================================
   MOBILE & TABLET RESPONSIVE ADJUSTMENTS
   ========================================================================== */

/* Tablet Screens (768px भन्दा तल) */
@media (max-width: 768px) {
    .tw-bg-quote {
        font-size: 100px; /* सानो बनाइयो */
        top: -10px;
        left: 30px;      /* देब्रेपट्टिको नजिक सारियो */
    }
}

/* Mobile Screens (480px भन्दा तल) */
@media (max-width: 480px) {
    .tw-bg-quote {
        font-size: 70px;  /* अझ सानो बनाइयो */
        top: -5px;
        left: 15px;       /* मोबाइलमा कुनामा मिलाइयो */
        
    }
}
/* Unique CSS scoping: app-gal- */
.app-gal-section {
  padding: 60px 20px;
  background: #f8faff;
  font-family: "Segoe UI", Roboto, sans-serif;
  box-sizing: border-box;
}

.app-gal-container {
  max-width: 1200px;
  margin: 0 auto;
}

.app-gal-header-wrapper {
  text-align: center;
  margin-bottom: 40px;
}

.app-gal-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f0f4ff;
  padding: 6px 20px;
  border-radius: 30px;
  margin-bottom: 15px;
}

.app-gal-badge-line {
  width: 20px;
  height: 2px;
  background-color: #f39c12;
}

.app-gal-badge-text {
  color: #f39c12;
  font-size: 13px;
  font-weight: 700;
}

.app-gal-main-title {
  font-size: 36px;
  color: #1d3557;
  margin: 0 0 10px 0;
  font-weight: 800;
}

.app-gal-main-title span { color: #f39c12; }

.app-gal-subtitle {
  color: #6c757d;
  font-size: 15px;
}

/* Slider Section */
.app-gal-slider-container {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}

.app-gal-slider-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 10px 5px;
  width: 100%;
}

.app-gal-slider-track::-webkit-scrollbar { display: none; }

.app-gal-card {
  min-width: calc(33.333% - 14px);
  box-sizing: border-box;
  flex-shrink: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0,0,0,0.06);
  background: #000;
  transition: transform 0.3s ease;
}

.app-gal-card:hover { transform: translateY(-5px); }

.app-gal-card-img-wrap {
  position: relative;
  height: 320px;
  width: 100%;
}

.app-gal-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease, opacity 0.5s ease;
  opacity: 0.85;
}

.app-gal-card:hover .app-gal-card-img-wrap img {
  transform: scale(1.1);
  opacity: 0.6;
}

/* CENTER ALIGNED TEXT & BUTTON WITH ANIMATION */
.app-gal-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  text-align: center;
  color: #fff;
}

.app-gal-card-overlay h3 {
  margin: 0 0 15px 0;
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  transform: translateY(10px);
  transition: transform 0.4s ease;
}

.app-gal-card:hover .app-gal-card-overlay h3 {
  transform: translateY(-5px);
}

/* YELLOW BUTTON WITH WHITE TEXT */
.app-gal-view-link {
  background: #f39c12;
  color: #ffffff !important;
  border: none;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(243, 156, 18, 0.4);
  transition: all 0.4s ease;
  transform: translateY(15px);
  opacity: 0.9;
}

.app-gal-card:hover .app-gal-view-link {
  transform: translateY(0);
  opacity: 1;
  background: #e67e22;
  box-shadow: 0 6px 16px rgba(230, 126, 34, 0.6);
}

/* Arrows */
.app-gal-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #1d4ed8;
  border: 2px solid #fff;
  color: white;
  font-size: 24px;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.app-gal-arrow-left { left: -15px; }
.app-gal-arrow-right { right: -15px; }

.app-gal-action-center { text-align: center; }

.app-gal-main-btn {
  background: linear-gradient(90deg, #1d4ed8, #2563eb);
  color: white;
  border: none;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 30px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.3);
  transition: all 0.3s ease;
}

.app-gal-main-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.4);
}

/* Modal Window */
.app-gal-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 99999;
  overflow-y: auto;
  padding: 30px 15px;
}

.app-gal-modal-content {
  background: #fff;
  max-width: 1050px;
  margin: 0 auto;
  border-radius: 12px;
  padding: 30px;
  position: relative;
  min-height: 500px;
}

.app-gal-modal-close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
}

.app-gal-breadcrumb { font-size: 14px; color: #666; margin-bottom: 15px; }

.app-gal-modal-heading {
  text-align: center;
  color: #1e3a8a;
  margin-bottom: 30px;
  font-size: 28px;
}

/* Inner Cards Grid inside Modal */
.app-gal-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* Inner Unlimited Image Grid */
.app-gal-image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.app-gal-image-grid img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.app-gal-image-grid img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* BIG SCREEN LIGHTBOX */
.app-gal-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 100000;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.app-gal-lightbox img {
  max-width: 90%;
  max-height: 85vh;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255,255,255,0.2);
}

.app-gal-lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: white;
  font-size: 40px;
  cursor: pointer;
}

/* Mobile Responsiveness */
@media (max-width: 900px) {
  .app-gal-card { min-width: calc(50% - 10px); }
  .app-gal-cards-grid, .app-gal-image-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .app-gal-card { min-width: 100%; }
  .app-gal-cards-grid, .app-gal-image-grid { grid-template-columns: 1fr; }
}
/* VIEW GALLERY BUTTON - Yellow Background & White Text */
.app-gal-view-link {
  background-color: #fdbe33 !important; /* Premium Yellow / Amber Color */
  color: #ffffff !important;            /* White Font Color */
  border: none;
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(243, 156, 18, 0.4);
  transition: all 0.3s ease-in-out;
}

/* Mouse Hover Garda View Gallery Button Animation */
.app-gal-view-link:hover {
  background-color: #030f27 !important; /* Tikaulo Warm Dark Yellow/Orange */
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(230, 126, 34, 0.6);
}
/* VIEW ALL GALLERIES (Bottom Main Button) Styling */
.app-gal-main-btn {
  background: #fdbe33 !important;      /* Premium Yellow Color */
  color: #ffffff !important;           /* White Font Color */
  border: none;
  padding: 14px 34px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 30px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(243, 156, 18, 0.4);
  transition: all 0.3s ease-in-out;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Arrow inside "View All Galleries" Button */
.app-gal-btn-arrow {
  color:#fdbe33 !important;
  font-size: 18px;
  transition: transform 0.3s ease;
}

/* Mouse Hover Garda Animation */
.app-gal-main-btn:hover {
  background: #030f27  !important;     /* Hover huda Slightly Darker Yellow/Orange */
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(230, 126, 34, 0.6);
}

/* Hover huda Arrow sangai right move hos */
.app-gal-main-btn:hover .app-gal-btn-arrow {
  transform: translateX(5px);
}
/* Left ra Right Arrow Icons Complete Remove/Hide Garnako Lagi */
.app-gal-arrow {
  display: none !important;
}
/* Modal Heading Text Color to Black */
.app-gal-modal-heading {
  color: #000000 !important; /* Pure Black Text Color */
  text-align: center;
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: 700;
}
/* Slider Parent Container */
.app-gal-slider-container {
  position: relative;
  margin-bottom: 35px;
  padding: 0 10px; /* Space for edge overlapping buttons */
}

/* LEFT & RIGHT ARROW BASE STYLING (Image ma bhaye jastai) */
.app-gal-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff !important;         /* Default Background White */
  color: #2c3e50 !important;                /* Default Arrow Icon Color Dark */
  border: 1px solid #e2e8f0;               /* Light Subtle Border */
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12); /* Clean Soft Shadow */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  outline: none;
}

/* Left Button Position - Half Outside, Half Inside on First Card */
.app-gal-arrow-left {
  left: -10px;
}

/* Right Button Position - Half Outside, Half Inside on Last Card */
.app-gal-arrow-right {
  right: -10px;
}

/* 1. MOUSE HOVER GARDA: Background Yellow (#f39c12), Arrow Icon White */
.app-gal-arrow:hover {
  background: #f39c12 !important;        /* Yellow Background */
  color: #ffffff !important;             /* White Icon */
  border-color: #f39c12;
  box-shadow: 0 6px 18px rgba(243, 156, 18, 0.45); /* Yellow Glow Shadow */
  transform: translateY(-50%) scale(1.08);         /* Smooth Slightly Larger */
}

/* 2. MOUSE CLICK (ACTIVE) GARDA: Darker Yellow/Orange Background */
.app-gal-arrow:active {
  background: #e67e22 !important;        /* Slightly Darker Yellow on Click */
  color: #ffffff !important;
  border-color: #e67e22;
  transform: translateY(-50%) scale(0.95); /* Press Down Animation */
  box-shadow: 0 2px 8px rgba(230, 126, 34, 0.4);
}

/* Mobile Devices Adjustment */
@media (max-width: 600px) {
  .app-gal-arrow {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }
  .app-gal-arrow-left { left: 0px; }
  .app-gal-arrow-right { right: 0px; }
}
/* Slider Parent Box relative positioning */
.app-gal-slider-container {
  position: relative;
  margin-bottom: 35px;
  padding: 0; /* Align arrows to the exact edge */
}

/* BASE ARROW STYLING - Clean white background by default */
.app-gal-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff !important;          /* Default White Background */
  color: #1e293b !important;                 /* Dark Arrow Icon */
  border: 1px solid #e2e8f0;                /* Light Border */
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 25;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.25s ease-in-out;
  user-select: none;
  outline: none;
}

/* Left side exact card edge position */
.app-gal-arrow-left {
  left: -22px; /* Half outside the container edge */
}

/* Right side exact card edge position */
.app-gal-arrow-right {
  right: -22px; /* Half outside the container edge */
}

/* 🌟 HOVER & CLICK GARDA ONLY YELLOW BACKGROUND 🌟 */
.app-gal-arrow:hover,
.app-gal-arrow:active {
  background: #fdbe33 !important;         /* Yellow Background */
  color: #ffffff !important;              /* Arrow turns White */
  border-color: #f39c12 !important;
  box-shadow: 0 6px 16px rgba(243, 156, 18, 0.5); /* Yellow Glow */
  transform: translateY(-50%) scale(1.1); /* Slight Zoom Effect */
}

/* Active / Mouse Press Effect */
.app-gal-arrow:active {
  background: #e67e22 !important;         /* Slightly darker yellow on click */
  transform: translateY(-50%) scale(0.95);
}

/* Mobile Screens */
@media (max-width: 600px) {
  .app-gal-arrow {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }
  .app-gal-arrow-left { left: 2px; }
  .app-gal-arrow-right { right: 2px; }
}
.section-subtitle {
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 0.25rem;
    color: #fdbe33;
}

.section-title {
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #030f27;
}

.slider-wrapper {
    position: relative;
    width: 100%;
}

.service-slide-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    text-align: left;
    transition: transform 0.3s ease;
}

.service-slide-card:hover {
    transform: translateY(-5px);
}

.card-img-wrap {
    height: 200px;
    width: 100%;
    overflow: hidden;
}

.card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-content {
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}

.card-content h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #030f27;
    margin-bottom: 8px;
}

.card-desc {
    font-size: 0.88rem;
    color: #666;
    margin-bottom: 12px;
}

.card-meta {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
    font-size: 0.85rem;
    color: #030f27;
}

.card-meta li {
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-meta i {
    color: #fdbe33;
    width: 16px;
}

.card-action-btn {
    background: #fdbe33;
    color: #030f27;
    border: none;
    padding: 8px 20px;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    align-self: flex-start;
}

.view-all-services-btn {
    background: #fdbe33;
    color: #030f27;
    border: none;
    padding: 12px 32px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(253, 190, 51, 0.4);
}

.fullpage-detail-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: 9999;
    overflow-y: auto;
}

.back-nav-btn {
    background: #030f27;
    color: #fff;
    border: none;
    padding: 8px 18px;
    border-radius: 6px;
    cursor: pointer;
}

/* ======================================= */
/* MOBILE ONLY STYLES (< 992px)            */
/* ======================================= */
@media (max-width: 991.98px) {
    .services-slider-container {
        display: flex;
        gap: 15px;
        overflow-x: auto;
        scroll-behavior: smooth;
        scrollbar-width: none;
        padding: 15px 5px;
        width: 100%;
    }

    .services-slider-container::-webkit-scrollbar {
        display: none;
    }

    .service-slide-card {
        min-width: 280px;
        max-width: 320px;
        flex: 0 0 auto;
    }

    .slide-nav-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        background: #fdbe33;
        color: #030f27;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        z-index: 5;
        box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .prev-btn { left: -10px; }
    .next-btn { right: -10px; }
}

/* ========================================== */
/* DESKTOP ONLY STYLES (>= 992px)            */
/* ========================================== */
@media (min-width: 992px) {
    .slide-nav-btn {
        display: none !important;
    }

    .services-slider-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
        overflow: visible;
        padding: 10px 0;
    }

    .service-slide-card {
        width: 100%;
    }
}
/* Service Detail Section Styling */
.detail-banner-wrap {
    width: 100%;
    max-height: 420px;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 25px;
    background-color: #f8f9fa;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.detail-banner-wrap img {
    width: 100%;
    height: 100%;
    max-height: 420px;
    object-fit: cover; /* Image stretch nadera crop garera milauchha */
    object-position: center; /* Image ko bich ko part dekhaunchha */
    display: block;
}

/* Desktop layout constraint for detail container */
@media (min-width: 992px) {
    #serviceDetailContent {
        max-width: 850px;
        margin: 0 auto; /* Desktop ma bich ma rakhna */
        text-align: left;
    }
}
/* Card Action Button (View Details) Base Style */
.card-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;                          /* Mobile ma full width */
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 700;                     /* Bold Text */
  color: #0d1117;                       /* Dark Text Color */
  background-color: #ffc107;            /* Image ma bhako exact Yellow color */
  border: none;
  border-radius: 50px;                  /* Pill Shape (Fully Rounded) */
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(255, 193, 7, 0.3); /* Mild Yellow Shadow */
  transition: all 0.3s ease;            /* Smooth Hover Effect */
  box-sizing: border-box;
}

/* Card Button Hover Effect (Background Black, Text White) */
.card-action-btn:hover {
  background-color: #000000;            /* Background Black */
  color: #ffffff;                       /* Text ra Arrow White */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); /* Dark Shadow on hover */
  transform: translateY(-2px);          /* Mild lift effect */
}


/* View All Button Base Style */
.view-all-services-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;                          /* Mobile ma full width */
  padding: 12px 32px;
  font-size: 15px;
  font-weight: 700;                     /* Bold Text */
  color: #0d1117;                       /* Dark Text Color */
  background-color: #ffc107;            /* Yellow color */
  border: none;
  border-radius: 50px;                  /* Fully Rounded */
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 6px 15px rgba(255, 193, 7, 0.4);
  transition: all 0.3s ease;
  box-sizing: border-box;
}

/* View All Button Hover Effect */
.view-all-services-btn:hover {
  background-color: #000000;            /* Background Black */
  color: #ffffff;                       /* Text ra Arrow White */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}


/* Responsive Styles (Desktop ko lagi) */
@media (min-width: 768px) {
  .card-action-btn,
  .view-all-services-btn {
    width: auto;                        /* Desktop ma auto width */
  }
}
/* Back Button Base Style */
.back-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;                          /* Mobile ma full width */
  padding: 10px 24px;
  font-size: 15px;
  font-weight: 700;                     /* Bold Text */
  color: #0d1117;                       /* Dark Text Color */
  background-color: #ffc107;            /* Yellow Color */
  border: none;
  border-radius: 50px;                  /* Pill Shape */
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(255, 193, 7, 0.3); /* Subtle Yellow Shadow */
  transition: all 0.3s ease;            /* Smooth Hover Effect */
  box-sizing: border-box;
}

/* Back Button Hover Effect */
.back-nav-btn:hover {
  background-color: #000000;            /* Background Black */
  color: #ffffff;                       /* Text & Arrow White */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);          /* Subtle lift effect */
}

/* Desktop Responsiveness */
@media (min-width: 768px) {
  .back-nav-btn {
    width: auto;                        /* Desktop ma fit width */
    padding: 10px 28px;
  }
}
/* --- SECTION BASE STYLING --- */
.ruwali-wc-section {
  background-color: #f8f9fa;
  overflow: hidden;
}

/* Heading Highlight Animation */
.ruwali-wc-title .highlight {
  color: #000;
  background: linear-gradient(120deg, #ffc107 0%, #ffc107 100%);
  background-repeat: no-repeat;
  background-size: 100% 30%;
  background-position: 0 88%;
  transition: background-size 0.25s ease-in;
}

/* --- LEFT SIDE: CARDS ANIMATION --- */
.ruwali-wc-card-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Individual Feature Card */
.ruwali-wc-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px 20px;
  background: #ffffff;
  border-radius: 16px;
  border-left: 5px solid transparent;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
  position: relative;
}

/* Alternating background color */
.ruwali-wc-item.active-bg {
  background: #fdfdfd;
}

/* Icon Box Animation */
.ruwali-wc-icon-box {
  min-width: 50px;
  height: 50px;
  background: #ffc107;
  color: #0d1117;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 20px;
  transition: transform 0.5s ease, background-color 0.3s ease, color 0.3s ease;
  box-shadow: 0 4px 10px rgba(255, 193, 7, 0.3);
}

.ruwali-wc-text p {
  margin: 0;
  font-size: 14.5px;
  color: #4A5568;
  line-height: 1.5;
}

.ruwali-wc-text strong {
  color: #1A202C;
}

/* UNIQUE HOVER EFFECT */
.ruwali-wc-item:hover {
  transform: translateX(10px); /* Card Slide Right */
  border-left-color: #ffc107;   /* Left Border Highlight */
  background-color: #ffffff;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.ruwali-wc-item:hover .jadan-wc-icon-box {
  transform: rotate(360deg) scale(1.1); /* Icon Spin + Zoom Effect */
  background-color: #000000;            /* Icon BG turns Black */
  color: #ffffff;                       /* Icon turns White */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}


/* --- RIGHT SIDE: PHOTO UNIQUE FLOATING EFFECT --- */
.ruwali-wc-image-box {
  position: relative;
  border-radius: 24px;
  padding: 10px;
  z-index: 1;
}

/* Yellow Background Animated Frame behind Image */
.ruwali-wc-image-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #ffc107 0%, #000000 100%);
  border-radius: 28px;
  z-index: -1;
  transform: rotate(-2deg) scale(0.98);
  transition: all 0.5s ease;
}

.ruwali-wc-image-box img {
  border-radius: 20px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
  transition: all 0.5s ease;
  width: 100%;
  object-fit: cover;
}

/* Image Hover Interaction */
.ruwali-wc-image-box:hover::before {
  transform: rotate(0deg) scale(1.02); /* Frame straightens up */
}

.ruwali-wc-image-box:hover img {
  transform: scale(1.01);
}


/* --- RESPONSIVENESS --- */
@media (max-width: 991px) {
  .ruwali-wc-item:hover {
    transform: translateY(-5px); /* Mobile ma mathi slide hune */
  }
}
/* Card Meta Section */
.card-meta li i {
  color: #0066ff; 
  margin-right: 6px; 
}

/* Fully Isolated Scope - background White */
.white-feature-section {
    background: #ffffff !important;
    padding: 80px 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Card Surface - Pure White with Subtle Border & Soft Shadow */
.white-feature-section .white-feature-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 45px 25px 35px 25px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
}
/* ===================================================
   WHITE FEATURE SECTION
=================================================== */

/* Hover Effect - Border Glows Egyptian Blue & Lifts Up */
.white-feature-section .white-feature-card:hover {
    transform: translateY(-10px) !important;
    border-color: #1034A6 !important;
    box-shadow: 0 15px 35px rgba(16, 52, 166, 0.25) !important;
}

/* Outer Ring for Icon */
.white-feature-section .white-icon-ring {
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto 25px auto !important;
    background: #fff9e6 !important; /* Soft Yellow Tint */
    border: 1px dashed #fdbe33 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.4s ease !important;
}

/* Inner Icon Circle */
.white-feature-section .white-icon-inner {
    width: 60px !important;
    height: 60px !important;
    background: #fdbe33 !important;
    color: #111111 !important; /* Black Icon Color */
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    transition: all 0.4s ease !important;
}

/* Icon Animation on Hover */
.white-feature-section .white-feature-card:hover .white-icon-ring {
    border-style: solid !important;
    border-color: #1034A6 !important;
    transform: rotate(180deg) !important;
}

.white-feature-section .white-feature-card:hover .white-icon-inner {
    transform: rotate(-180deg) scale(1.1) !important;
    background: #1034A6 !important;
    color: #ffffff !important; /* White Icon on Egyptian Blue Circle */
}

/* Typography - Bold Pure Black Text */
.white-feature-section .white-feature-text h3 {
    color: #111111 !important; /* Pure Black Title */
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 12px 0 !important;
    letter-spacing: 0.5px !important;
    transition: color 0.3s !important;
}

.white-feature-section .white-feature-card:hover .white-feature-text h3 {
    color: #1034A6 !important; /* Hover Title to Egyptian Blue */
}

.white-feature-section .white-feature-text p {
    color: #4a5568 !important; /* Dark Gray Sub-text for Easy Reading */
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Bottom Expanding Accent Line */
.white-feature-section .white-hover-line {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 30px !important;
    height: 3px !important;
    background: #fdbe33 !important;
    border-radius: 3px 3px 0 0 !important;
    transition: width 0.4s ease, background 0.4s ease !important;
}

.white-feature-section .white-feature-card:hover .white-hover-line {
    width: 100% !important;
    background: #1034A6 !important; /* Line turns Egyptian Blue on Hover */
}

/* Responsive Adjustments for Mobile and Tablet */
@media (max-width: 991px) {
    .white-feature-section {
        padding: 50px 0 !important;
    }
}

@media (max-width: 768px) {
    .white-feature-section .white-feature-card {
        padding: 35px 20px 25px 20px !important;
    }
}


/* ===================================================
   WHITE FACT SECTION
=================================================== */

/* Fully Scoped Section Background */
.white-fact-section {
    background: #ffffff !important;
    padding: 60px 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Fact Cards Matching Feature Cards */
.white-fact-section .white-fact-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 35px 15px 25px 15px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
}

/* Hover Effect - Lifts Up & Borders Glow Egyptian Blue */
.white-fact-section .white-fact-card:hover {
    transform: translateY(-8px) !important;
    border-color: #1034A6 !important;
    box-shadow: 0 15px 35px rgba(16, 52, 166, 0.25) !important;
}

/* Outer Ring for Icon */
.white-fact-section .white-icon-ring {
    width: 70px !important;
    height: 70px !important;
    margin: 0 auto 20px auto !important;
    background: #fff9e6 !important;
    border: 1px dashed #fdbe33 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.4s ease !important;
}

/* Inner Icon Circle */
.white-fact-section .white-icon-inner {
    width: 52px !important;
    height: 52px !important;
    background: #fdbe33 !important;
    color: #111111 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    transition: all 0.4s ease !important;
}

/* Icon Animation on Hover */
.white-fact-section .white-fact-card:hover .white-icon-ring {
    border-style: solid !important;
    border-color: #1034A6 !important;
    transform: rotate(180deg) !important;
}

.white-fact-section .white-fact-card:hover .white-icon-inner {
    transform: rotate(-180deg) scale(1.1) !important;
    background: #1034A6 !important;
    color: #ffffff !important;
}

/* Text & Counter Formatting */
.white-fact-section .white-fact-text h2 {
    color: #111111 !important; /* Bold Black for Numbers */
    font-size: 36px !important;
    font-weight: 800 !important;
    margin: 0 0 5px 0 !important;
    line-height: 1 !important;
    transition: color 0.3s !important;
}

.white-fact-section .white-fact-card:hover .white-fact-text h2 {
    color: #1034A6 !important; /* Number turns Egyptian Blue on Hover */
}

.white-fact-section .white-fact-text p {
    color: #4a5568 !important; /* Dark Gray for Subtitle */
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    text-transform: capitalize !important;
}

/* Bottom Expanding Line */
.white-fact-section .white-hover-line {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 25px !important;
    height: 3px !important;
    background: #fdbe33 !important;
    border-radius: 3px 3px 0 0 !important;
    transition: width 0.4s ease, background 0.4s ease !important;
}

.white-fact-section .white-fact-card:hover .white-hover-line {
    width: 100% !important;
    background: #1034A6 !important; /* Line turns Egyptian Blue on Hover */
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .white-fact-section {
        padding: 40px 0 !important;
    }
    
    .white-fact-section .white-fact-card {
        padding: 25px 10px 20px 10px !important;
    }

    .white-fact-section .white-fact-text h2 {
        font-size: 28px !important;
    }

    .white-fact-section .white-fact-text p {
        font-size: 12px !important;
    }
}


/* ===================================================
   WHITE TEAM SECTION
=================================================== */

/* Isolated Base Section */
.white-team-section {
    background: #ffffff !important;
    padding: 80px 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Section Header Styling */
.white-team-section .white-section-header {
    margin-bottom: 40px !important;
}

.white-team-section .white-section-header p {
    color: #1034A6 !important; /* Subtitle Header in Egyptian Blue */
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 5px !important;
}

.white-team-section .white-section-header h2 {
    color: #111111 !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.white-team-section .white-section-header .header-line {
    width: 60px !important;
    height: 3px !important;
    background: #1034A6 !important; /* Line in Egyptian Blue */
    margin: 12px auto 0 auto !important;
    border-radius: 3px !important;
}
/* Base Team Card Styling */
.white-team-section .white-team-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 15px 15px 25px 15px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    box-sizing: border-box !important;
}

/* Hover Effect - Border Glows Egyptian Blue & Lifts Up */
.white-team-section .white-team-card:hover {
    transform: translateY(-8px) !important;
    border-color: #1034A6 !important;
    box-shadow: 0 15px 35px rgba(16, 52, 166, 0.25) !important;
}

/* Image Box */
.white-team-section .team-img-box {
    position: relative !important;
    width: 100% !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}

.white-team-section .team-img-box img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}

/* Social Media Overlay */
.white-team-section .team-social-overlay {
    position: absolute !important;
    bottom: -50px !important;
    left: 0 !important;
    width: 100% !important;
    padding: 12px 0 !important;
    background: #fdbe33 !important;
    backdrop-filter: blur(4px) !important;
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    transition: bottom 0.4s ease !important;
}

.white-team-section .white-team-card:hover .team-social-overlay {
    bottom: 0 !important;
}

/* Social Icons Button - Egyptian Blue Background with White Icons */
.white-team-section .team-social-overlay a {
    width: 35px !important;
    height: 35px !important;
    background: #1034A6 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.white-team-section .team-social-overlay a:hover {
    background:#ffffff  !important; /* Icon Hover मा हल्का पहेंलो हुने */
    color: #1034A6 !important;
}

/* Member Text Details */
.white-team-section .white-team-info h3 {
    color: #111111 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 0 5px 0 !important;
    transition: color 0.3s ease !important;
}

/* Member Name turns Egyptian Blue on Card Hover */
.white-team-section .white-team-card:hover .white-team-info h3 {
    color: #1034A6 !important;
}

.white-team-section .white-team-info p {
    color: #4a5568 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* Bottom Expanding Accent Line */
.white-team-section .white-hover-line {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 30px !important;
    height: 3px !important;
    background: #fdbe33 !important;
    border-radius: 3px 3px 0 0 !important;
    transition: width 0.4s ease, background 0.4s ease !important;
}

.white-team-section .white-team-card:hover .white-hover-line {
    width: 100% !important;
    background: #1034A6 !important; /* Bottom line turns Egyptian Blue */
}

/* Desktop Grid Layout (769px+) */
@media (min-width: 769px) {
    .white-team-section .team-slider-track {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 25px !important;
    }
}

/* Mobile Layout Auto Swipe Animation */
@media (max-width: 768px) {
    .white-team-section {
        padding: 40px 0 !important;
    }

    .white-team-section .white-section-header h2 {
        font-size: 28px !important;
    }

    .white-team-section .team-mobile-slider {
        overflow: hidden !important;
        width: 100% !important;
        max-width: 330px !important;
        margin: 0 auto !important;
    }

    .white-team-section .team-slider-track {
        display: flex !important;
        width: 400% !important;
        animation: autoTeamSwipe 16s infinite cubic-bezier(0.77, 0, 0.175, 1) !important;
    }

    .white-team-section .team-slide-item {
        width: 25% !important;
        padding: 0 5px !important;
        box-sizing: border-box !important;
    }
}

/* Auto-Swipe Keyframe Animation */
@keyframes autoTeamSwipe {
    0%, 20% { transform: translateX(0%); }
    25%, 45% { transform: translateX(-25%); }
    50%, 70% { transform: translateX(-50%); }
    75%, 95% { transform: translateX(-75%); }
    100% { transform: translateX(0%); }
}
/* Scoped Main Wrapper - Pure White Background */
.white-testimonial-section {
    background: #ffffff !important;
    padding: 80px 0 !important;
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.white-testimonial-section .tw-main-card {
    position: relative !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

/* Background Decorative Big Quote */
.white-testimonial-section .tw-bg-quote {
    position: absolute !important;
    top: -40px !important;
    left: 20px !important;
    font-size: 180px !important;
    color: rgba(253, 190, 51, 0.12) !important; /* Soft Yellow Aura */
    font-family: Georgia, serif !important;
    line-height: 1 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Header Styling */
.white-testimonial-section .white-section-header {
    margin-bottom: 40px !important;
    position: relative !important;
    z-index: 2 !important;
}

.white-testimonial-section .white-section-header p {
    color: #fdbe33 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 5px !important;
}

.white-testimonial-section .white-section-header h2 {
    color: #111111 !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.white-testimonial-section .white-section-header .header-line {
    width: 60px !important;
    height: 3px !important;
    background: #fdbe33 !important;
    margin: 12px auto 0 auto !important;
    border-radius: 3px !important;
}

/* Carousel Container */
.white-testimonial-section .tw-carousel-container {
    width: 100% !important;
    overflow: hidden !important;
    padding: 20px 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Infinite Track Scroll */
.white-testimonial-section .tw-track {
    display: flex !important;
    gap: 25px !important;
    width: max-content !important;
    animation: infiniteScroll 25s linear infinite !important;
}

/* Mouse Hover गर्दा Infinite Animation रोकिन्छ */
.white-testimonial-section .tw-track:hover {
    animation-play-state: paused !important;
}

/* Testimonial Card Surface */
.white-testimonial-section .tw-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 30px 25px !important;
    width: 320px !important;
    min-width: 320px !important;
    text-align: center !important;
    position: relative !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    box-sizing: border-box !important;
}

.white-testimonial-section .tw-card:hover {
    transform: translateY(-8px) !important;
    border-color: #fdbe33 !important;
    box-shadow: 0 15px 35px rgba(253, 190, 51, 0.25) !important;
}

/* Avatar Image Frame */
.white-testimonial-section .avatar-box {
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto 15px auto !important;
    border-radius: 50% !important;
    border: 2px dashed #fdbe33 !important;
    padding: 4px !important;
    background: #fff9e6 !important;
    transition: transform 0.4s ease !important;
}

.white-testimonial-section .tw-card:hover .avatar-box {
    transform: scale(1.08) rotate(5deg) !important;
    border-style: solid !important;
}

.white-testimonial-section .tw-avatar {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Member Name & Details */
.white-testimonial-section .tw-name {
    color: #111111 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 0 5px 0 !important;
    transition: color 0.3s !important;
}

.white-testimonial-section .tw-card:hover .tw-name {
    color: #fdbe33 !important;
}

.white-testimonial-section .tw-quote-mark {
    color: #fdbe33 !important;
    font-size: 32px !important;
    font-family: Georgia, serif !important;
    line-height: 1 !important;
    margin-bottom: 5px !important;
}

.white-testimonial-section .tw-text {
    color: #4a5568 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Expanding Bottom Hover Line */
.white-testimonial-section .white-hover-line {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 30px !important;
    height: 3px !important;
    background: #fdbe33 !important;
    border-radius: 3px 3px 0 0 !important;
    transition: width 0.4s ease !important;
}

.white-testimonial-section .tw-card:hover .white-hover-line {
    width: 100% !important;
}

/* Keyframes for Continuous Infinite Scroll */
@keyframes infiniteScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Total width of 4 original cards + gaps */
        transform: translateX(calc(-320px * 4 - 25px * 4));
    }
}

/* Responsive Adjustments for Mobile */
@media (max-width: 768px) {
    .white-testimonial-section {
        padding: 40px 0 !important;
    }

    .white-testimonial-section .white-section-header h2 {
        font-size: 28px !important;
    }

    .white-testimonial-section .tw-card {
        width: 270px !important;
        min-width: 270px !important;
        padding: 25px 18px !important;
    }

    @keyframes infiniteScroll {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(calc(-270px * 4 - 25px * 4));
        }
    }
}
/* Isolated Features Base Wrapper */
.custom-features-section {
    background: #ffffff !important;
    padding: 90px 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Header Styling */
.custom-features-section .white-section-header {
    margin-bottom: 60px !important;
}

.custom-features-section .white-section-header p {
    color: #fdbe33 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 5px !important;
}

.custom-features-section .white-section-header h2 {
    color: #111111 !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.custom-features-section .white-section-header .header-line {
    width: 60px !important;
    height: 3px !important;
    background: #fdbe33 !important;
    margin: 12px auto 0 auto !important;
    border-radius: 3px !important;
}

/* Features Grid Container */
.custom-features-section .features-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    position: relative !important;
    margin-top: 20px !important;
}

/* Single Feature Card */
.custom-features-section .feature-card-item {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 35px 25px 30px 25px !important;
    position: relative !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.custom-features-section .feature-card-item:hover {
    transform: translateY(-8px) !important;
    border-color: #fdbe33 !important;
    box-shadow: 0 15px 35px rgba(253, 190, 51, 0.2) !important;
}

/* Pin Line & Node Indicator */
.custom-features-section .pin-wrapper {
    position: absolute !important;
    top: -25px !important;
    left: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.custom-features-section .pin-line {
    width: 2px !important;
    height: 25px !important;
    background: linear-gradient(to bottom, transparent, #fdbe33) !important;
}

.custom-features-section .pin-node {
    width: 14px !important;
    height: 14px !important;
    background: #ffffff !important;
    border: 3px solid #fdbe33 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 10px rgba(253, 190, 51, 0.5) !important;
    transition: all 0.3s ease !important;
}

.custom-features-section .feature-card-item:hover .pin-node {
    background: #fdbe33 !important;
    transform: scale(1.3) !important;
}

/* Feature Content */
.custom-features-section .feature-number {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #fdbe33 !important;
    background: rgba(253, 190, 51, 0.1) !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    display: inline-block !important;
    margin-bottom: 15px !important;
    width: max-content !important;
}

.custom-features-section .feature-content h3 {
    color: #111111 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 12px 0 !important;
    transition: color 0.3s !important;
}

.custom-features-section .feature-card-item:hover .feature-content h3 {
    color: #fdbe33 !important;
}

.custom-features-section .feature-content p {
    color: #4a5568 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Responsive Styles (Tablet & Mobile) */
@media (max-width: 991px) {
    .custom-features-section .features-grid {
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 35px !important;
    }

    .custom-features-section {
        padding: 50px 0 !important;
    }
}

@media (max-width: 768px) {
    .custom-features-section .white-section-header h2 {
        font-size: 28px !important;
    }
}
/* --- Force Render Font Awesome Icons --- */
.fa, .fas {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-style: normal !important;
}

/* Glass Dropdown Layout */


.drop-chevron {
    font-size: 11px;
    margin-left: 6px;
    transition: transform 0.3s ease;
    color: inherit;
}

.has-glass-dropdown:hover .drop-chevron {
    transform: rotate(180deg);
}

/* Glassmorphism Box Effect */
.glass-dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 1000;
}

.has-glass-dropdown:hover .glass-dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-links-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Dropdown Single Link Item */
.dropdown-hub-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.3s ease;
}

.dropdown-hub-item:hover {
    background: rgba(3, 15, 39, 0.05);
}

/* Icon Container Styling */
.dropdown-icon-box {
    width: 42px;
    height: 42px;
    background-color: #030f27; /* Dark Navy Background */
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dropdown-icon-box i {
    color: #fdbe33 !important; /* Premium Construction Gold Color */
    font-size: 18px !important;
}

/* Text Formatting */
.dropdown-text {
    display: flex;
    flex-direction: column;
}

.dropdown-text strong {
    color: #030f27;
    font-size: 14px;
    line-height: 1.2;
}

.dropdown-text small {
    color: #666666;
    font-size: 11px;
    margin-top: 3px;
}

/* --- Mobile View Responsiveness --- */
@media (max-width: 991.98px) {
    .glass-dropdown-panel {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: transparent;
        border: none;
        padding: 5px 0 5px 15px;
        backdrop-filter: none;
    }

    .dropdown-icon-box {
        width: 36px;
        height: 36px;
    }

    .dropdown-icon-box i {
        font-size: 15px !important;
    }
}
/* ==========================================
   MODERN WHITE CONSTRUCTION FOOTER STYLES
   ========================================== */

.site-footer-modern {
    background-color: #ffffff !important;
    color: #444444;
    font-family: inherit;
    border-top: 1px solid #eaeaea;
    position: relative;
}

/* CTA Top Banner Style */
.footer-cta-banner {
    margin-top: -40px;
    position: relative;
    z-index: 10;
}

.cta-inner-box {
    background: #030f27; /* Dark Navy Accent Container */
    border-radius: 16px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 15px 35px rgba(3, 15, 39, 0.15);
    border-bottom: 4px solid #fdbe33;
}

.cta-text h3 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
}

.cta-text p {
    color: #cccccc;
    margin: 0;
    font-size: 14px;
}

.btn-cta-gold {
    background: #fdbe33;
    color: #030f27;
    font-weight: 700;
    padding: 12px 25px;
    border-radius: 8px;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-cta-gold:hover {
    background: #ffffff;
    color: #030f27;
    transform: translateY(-2px);
}

/* Main Footer Area */
.footer-main-content {
    padding: 70px 0 50px 0;
}

.footer-logo-text {
    font-size: 22px;
    font-weight: 800;
    color: #030f27;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.footer-logo-text span {
    color: #fdbe33;
}

.company-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #666666;
    margin-bottom: 20px;
}

.working-hours h5 {
    font-size: 14px;
    font-weight: 700;
    color: #030f27;
    margin-bottom: 5px;
}

.working-hours p {
    font-size: 13px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* Widget Titles */
.widget-title {
    font-size: 18px;
    font-weight: 700;
    color: #030f27;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 20px;
}

.widget-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 3px;
    background: #fdbe33;
    border-radius: 2px;
}

/* Links Lists */
.footer-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links-list li {
    margin-bottom: 10px;
}

.footer-links-list a {
    color: #555555;
    text-decoration: none !important;
    font-size: 14px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.footer-links-list a i {
    font-size: 12px;
    color: #fdbe33;
    transition: transform 0.2s ease;
}

.footer-links-list a:hover {
    color: #030f27;
    font-weight: 600;
    padding-left: 4px;
}

/* Office Info Section */
.footer-contact-info p {
    font-size: 14px;
    color: #555555;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-contact-info a {
    color: #555555;
    text-decoration: none !important;
}

.footer-contact-info a:hover {
    color: #030f27;
}

.icon-gold {
    color: #fdbe33 !important;
    font-size: 16px;
    width: 20px;
}

/* Social Media Icons with Brand Colors */
.footer-social-original {
    display: flex;
    gap: 8px;
    margin-top: 15px;
}

.social-icon {
    width: 36px;
    height: 36px;
    background: #f4f6f8;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.social-icon.fb i { color: #1877F2 !important; }
.social-icon.insta i { color: #E4405F !important; }
.social-icon.linkedin i { color: #0A66C2 !important; }
.social-icon.twitter i { color: #1DA1F2 !important; }
.social-icon.yt i { color: #FF0000 !important; }

.social-icon:hover {
    transform: translateY(-3px);
    background: #030f27;
}

.social-icon:hover i {
    color: #fdbe33 !important;
}

/* Newsletter Box */
.newsletter-box h5 {
    font-size: 13px;
    font-weight: 700;
    color: #030f27;
    margin-bottom: 8px;
}

.newsletter-form {
    display: flex;
    background: #f4f6f8;
    border-radius: 8px;
    padding: 3px;
    border: 1px solid #e0e0e0;
}

.newsletter-form input {
    border: none;
    background: transparent;
    padding: 8px 12px;
    font-size: 13px;
    width: 100%;
    outline: none;
    color: #333;
}

.newsletter-form button {
    background: #030f27;
    color: #fdbe33;
    border: none;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.newsletter-form button:hover {
    background: #fdbe33;
    color: #030f27;
}

/* Bottom Bar */
.footer-bottom-bar {
    background: #f8f9fa;
    border-top: 1px solid #eeeeee;
    padding: 20px 0;
}

.copyright-text {
    font-size: 13px;
    color: #666666;
    margin: 0;
}

.bottom-legal-links {
    display: flex;
    gap: 18px;
    justify-content: flex-end;
}

.bottom-legal-links a {
    color: #666666;
    font-size: 13px;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.bottom-legal-links a:hover {
    color: #030f27;
    font-weight: 600;
}

/* --- Responsive Layout Rules --- */
@media (max-width: 991.98px) {
    .cta-inner-box {
        flex-direction: column;
        text-align: center;
        gap: 15px;
        padding: 25px 20px;
    }

    .bottom-legal-links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 8px;
    }

    .footer-main-content {
        padding: 50px 0 30px 0;
    }
}

@media (max-width: 575.98px) {
    .cta-text h3 {
        font-size: 18px;
    }
    .widget-title {
        font-size: 16px;
    }
}
/* ==========================================
   PAGE HEADER WITH BACKGROUND IMAGE & OVERLAY
   ========================================== */

.page-header-banner {
    position: relative;
    width: 100%;
    /* Navbar भन्दा हल्का तलबाट सुरु हुन र Navbar सँग नछोपियोस् भनेर Padding मिलाइएको */
    padding-top: 150px; /* Floating Navbar को उचाइ अनुसार */
    padding-bottom: 90px;
    
    /* Background Image setup */
    background-image: linear-gradient(
        135deg, 
        rgba(3, 15, 39, 0.85) 0%,   /* Left: Dark Navy Blue Accent */
        rgba(3, 15, 39, 0.65) 50%,  /* Middle: Soft Blue Tint */
        rgba(253, 190, 51, 0.75) 100% /* Right: Construction Gold Overlay */
    ), url("img/header-bg.jpg"); /* <-- यहाँ आफ्नो Background Photo को Link राख्नुहोस् */
    
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    box-shadow: inset 0 -10px 20px rgba(0, 0, 0, 0.1);
}

/* Title Styling */
.page-header-content {
    position: relative;
    z-index: 2;
}

.page-title {
    color: #ffffff !important;
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: 1px;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    text-transform: capitalize;
}

/* Breadcrumb Navigation (Home / About Us) */
.breadcrumb-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.breadcrumb-nav li, 
.breadcrumb-nav li a {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.breadcrumb-nav li a:hover {
    color: #fdbe33; /* Gold Hover */
}

.breadcrumb-nav .separator {
    color: #fdbe33;
    font-weight: 700;
}

.breadcrumb-nav .active {
    color: #fdbe33; /* Current Page Highlight */
}

/* --- Mobile Responsive Rules --- */
@media (max-width: 991.98px) {
    .page-header-banner {
        padding-top: 120px; /* Mobile मा Header र Navbar को Distance */
        padding-bottom: 60px;
    }

    .page-title {
        font-size: 32px;
    }

    .breadcrumb-nav li, 
    .breadcrumb-nav li a {
        font-size: 14px;
    }
}

@media (max-width: 575.98px) {
    .page-header-banner {
        padding-top: 100px;
        padding-bottom: 50px;
    }

    .page-title {
        font-size: 26px;
    }
}
/* ==========================================
   Global Reusable Page Header Banner
========================================== */

/* Outer Container (Navigation bar भन्दा हल्का तल) */
.page-header-banner {
  position: relative;
  width: 100%;
  min-height: 320px; /* Desktop Height */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: 25px; /* Nav bar भन्दा हल्का तल राख्न */
}

/* Background Image in HTML */
.banner-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Responsive photo frame */
  object-position: center;
  z-index: 1;
}

/* Gradient Overlay (Photo 1 जस्तै Blue देखि Orange/Yellow) */
.banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(15, 76, 129, 0.8) 0%, rgba(243, 156, 18, 0.7) 100%);
  z-index: 2;
}

/* Content Container Wrapper */
.relative-content {
  position: relative;
  z-index: 3;
}

.page-header-content {
  padding: 40px 15px;
}

/* Page Title Style (Exact Same Size & White Color) */
.page-title {
  color: #ffffff !important;
  font-size: 42px !important;
  font-weight: 700;
  margin-bottom: 12px;
  text-transform: capitalize;
}

/* Breadcrumb Navigation Style */
.breadcrumb-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.breadcrumb-nav li, 
.breadcrumb-nav a {
  color: #ffffff !important;
  font-size: 16px;
  text-decoration: none;
  font-weight: 500;
}

.breadcrumb-nav a:hover {
  text-decoration: underline;
}

.breadcrumb-nav .separator {
  color: #ffffff;
  opacity: 0.8;
}

.breadcrumb-nav .active {
  color: #ffffff;
  opacity: 0.85;
}

/* ==========================================
   Responsive Styles for Mobile / Tablet
========================================== */
@media (max-width: 768px) {
  .page-header-banner {
    min-height: 220px; /* Mobile ma height अलि कम */
    margin-top: 15px;
  }

  .page-title {
    font-size: 28px !important; /* Mobile Font Size */
  }

  .breadcrumb-nav li, 
  .breadcrumb-nav a {
    font-size: 14px;
  }
}
/* ==========================================
   MOBILE DRAWER STYLES (Isolated Scope)
========================================== */

/* 1. Backdrop Overlay */
.mobile-drawer-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.mobile-drawer-backdrop.active {
  opacity: 1;
  visibility: visible;
}

/* 2. Main Drawer (White Background) */
.mobile-glass-drawer {
  position: fixed;
  top: 0;
  right: -100%; /* Hidden off-screen by default */
  width: 85%;
  max-width: 320px;
  height: 100vh;
  background-color: #ffffff !important; /* Pure White Background */
  z-index: 9999;
  display: flex;
  flex-direction: column;
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
  transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.mobile-glass-drawer.active {
  right: 0; /* Slide in on screen */
}

/* 3. Header Row (Logo & Close Button) */
.drawer-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid #eeeeee;
  background-color: #ffffff;
}

.drawer-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.drawer-logo {
  height: 36px;
  width: auto;
  object-fit: contain;
}

.drawer-title {
  font-size: 18px;
  font-weight: 700;
  color: #111111 !important; /* Black Title */
  letter-spacing: 0.5px;
}

/* Close Button (X) */
.drawer-close-btn {
  background: transparent;
  border: none;
  font-size: 22px;
  color: #111111 !important; /* Black Icon */
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 4. Scrollable Body */
.drawer-scroll-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* 5. Menu List & Links */
.mobile-menu-tree {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu-tree li {
  margin-bottom: 8px;
}

.mobile-tree-link {
  display: block;
  padding: 12px 14px;
  font-size: 16px;
  font-weight: 600;
  color: #111111 !important; /* Black Text */
  text-decoration: none;
  border-radius: 8px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.mobile-tree-link:hover,
.mobile-tree-link.active {
  background-color: #f4f5f7;
  color: #000000 !important;
}

/* 6. Accordion Sub-menu (Pages Dropdown) */
.accordion-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.accordion-head .mobile-tree-link {
  flex: 1;
}

.accordion-plus-btn {
  background: transparent;
  border: none;
  color: #111111 !important; /* Black Plus Icon */
  font-size: 14px;
  padding: 12px;
  cursor: pointer;
}

.accordion-body-collapse {
  padding-left: 15px;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.accordion-body-collapse a {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  color: #444444 !important; /* Slightly softer black for sub-items */
  text-decoration: none;
  border-radius: 6px;
}

.accordion-body-collapse a i {
  color: #111111 !important;
}

.accordion-body-collapse a:hover {
  background-color: #f4f5f7;
  color: #000000 !important;
}

/* 7. Footer CTA Button (Get a Quote) */
.drawer-footer-card {
  margin-top: 25px;
  padding-top: 15px;
  border-top: 1px solid #eeeeee;
}

.quote-btn-luxury {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #111111; /* Solid dark button */
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 600;
  border-radius: 8px;
  transition: opacity 0.2s ease;
}

.quote-btn-luxury:hover {
  opacity: 0.9;
  color: #ffffff !important;
}
/* Custom Read More Button Styling */
.btn-read-more-custom {
  background-color:#ffb400 !important; /* Navy Black Background */
  color: #ffffff !important;            /* White Text */
  border: none !important;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

/* Hover State */
.btn-read-more-custom:hover {
  background-color: #0b132b !important; /* Yellow Background on Hover */
  color: #ffffff !important;            /* Navy Black Text on Hover */
  transform: translateY(-2px);           /* हल्का माथि उठ्ने effect */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
/* Exact Pill Button Design */
.btn-pill-custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffc107 !important; /* Yellow Background */
  color: #0b132b !important;            /* Navy Black Text */
  font-weight: 700 !important;
  font-size: 14px;
  padding: 10px 22px;
  border-radius: 50px !important;       /* Rounded Pill Shape */
  border: none !important;
  box-shadow: 0 6px 15px rgba(255, 193, 7, 0.4); /* Yellow Soft Glow */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
  text-decoration: none !important;
}

/* Hover Effect: Navy Black Background + White Text */
.btn-pill-custom:hover {
  background-color: #0b132b !important; 
  color: #ffffff !important;            
  box-shadow: 0 8px 20px rgba(11, 19, 43, 0.3);
  transform: translateY(-2px);           
}

/* Arrow Animation */
.btn-pill-custom:hover .btn-arrow {
  transform: translateX(4px);
}

.btn-arrow {
  display: inline-block;
  transition: transform 0.2s ease;
  margin-left: 8px;
}

/* Responsive Fix for Mobile */
@media (max-width: 576px) {
  .btn-pill-custom {
    width: 100%;             
    padding: 12px 18px;
    font-size: 14px;
  }
}
/* ==========================================
   MOBILE RESPONSIVE BLOG CARDS STYLING
   ========================================== */

/* Slider Scroll Container */
.blog-cards-container {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory; /* Keeps the active card aligned during horizontal scrolling */
  padding: 10px 5px 25px 5px;
  -webkit-overflow-scrolling: touch;
}

/* Hide Scrollbar */
.blog-cards-container::-webkit-scrollbar {
  display: none;
}

/* Base Card Wrapper */
.blog-card-item {
  scroll-snap-align: center; /* Mobile मा स्वाइप गर्दा Card Center मा बस्छ */
  width: 320px; /* Standard desktop width */
}

.blog-custom-card {
  border-radius: 16px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid #eef2f5 !important;
}

.blog-card-img {
  height: 200px;
}

.blog-card-img img {
  height: 100%;
  object-fit: cover;
}

/* Badge Styling */
.blog-badge {
  top: 12px;
  left: 12px;
  z-index: 2;
  background-color: #0b132b !important;
  color: #ffffff;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

/* Pill Button Alignment */
.blog-custom-card .btn-pill-custom {
  width: 100%; /* Makes the button fill the card width */
  padding: 11px 20px;
  font-size: 14px;
}

/* MOBILE SPECIFIC RESPONSIVE (Phones: < 576px) */
@media (max-width: 576px) {
  .blog-card-item {
    width: 85vw; /* Shows most of the next card on mobile */
    max-width: 340px;
  }

  .blog-card-img {
    height: 180px; /* Optimized image height for mobile screens */
  }

  .blog-card-title {
    font-size: 15px !important;
    line-height: 1.4;
  }

  .blog-card-desc {
    font-size: 13px !important;
  }
}
/* All blogs modal container */
.all-blogs-modal {
  background: rgba(11, 19, 43, 0.95) !important; /* Dark navy modal backdrop */
  backdrop-filter: blur(8px);
}

/* Keeps modal cards aligned on small screens */
#allBlogsGridContainer .col-12 {
  padding-left: 8px;
  padding-right: 8px;
}

/* Modal header styling */
.all-blogs-modal .modal-header-bar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
  padding-bottom: 15px;
}

/* Close Button Style */
.btn-close-white {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.btn-close-white:hover {
  background: #ffc107;
  color: #0b132b;
  border-color: #ffc107;
}
/* =========================================================
   CSS ISOLATION & RECOVERY (अरू CSS ले असर नगर्ने बनाउन)
   ========================================================= */

/* 1. Protect modal display and positioning */
#allBlogsModal {
  box-sizing: border-box !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  z-index: 99999 !important;
}

/* 2. Normalize sizing for all modal elements */
#allBlogsModal *,
#allBlogsModal *::before,
#allBlogsModal *::after {
  box-sizing: border-box !important;
}

/* 3. Restore grid layout and prevent overflow issues */
#allBlogsModal .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-right: -15px !important;
  margin-left: -15px !important;
}

/* 4. Reset text, font, and line-height conflicts */
#allBlogsModal .modal-title-header-box {
  all: unset; /* अरू पुरानो CSS Property हरू Clear गर्ने */

  /* Apply the required modal header design */
  display: block !important;
  background-color: #0b132b !important;
  color: #ffffff !important;
  padding: 18px 25px !important;
  border-radius: 16px !important;
  text-align: center !important;
  max-width: 600px !important;
  margin: 0 auto 30px auto !important;
  box-shadow: 0 8px 20px rgba(11, 19, 43, 0.25) !important;
}

/* 5. Title Text Fix */
#allBlogsModal .modal-title-text {
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
/* ==========================================
   HOMEPAGE EXACT CARD DESIGN FOR VIEW ALL MODAL
   ========================================== */

/* Grid Container Layout */
#allProjectsGridContainer {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 25px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 10px !important;
}

/* White project card */
.exact-home-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  border: 1px solid #f0f0f0 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.exact-home-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
}

/* Card Image Height & Alignment */
.exact-card-img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  background-color: #f4f4f4 !important;
}

/* Card Inner Content */
.exact-card-body {
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex-grow: 1 !important;
}

/* Title & Description */
.exact-card-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin-bottom: 10px !important;
}

.exact-card-desc {
  font-size: 14px !important;
  color: #666666 !important;
  line-height: 1.5 !important;
  margin-bottom: 18px !important;
}

/* Card metadata section */
.exact-card-meta {
  font-size: 14px !important;
  color: #333333 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
}

.exact-card-meta i {
  color: #0d6efd !important; /* Theme blue icon color */
  font-size: 15px !important;
  width: 16px !important;
  text-align: center !important;
}

/* Yellow pill button */
.exact-yellow-btn {
  background-color: #ffb703 !important; /* Theme yellow */
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  margin-top: 15px !important;
  width: fit-content !important;
  box-shadow: 0 4px 10px rgba(255, 183, 3, 0.3) !important;
}

.exact-yellow-btn:hover {
  background-color: #0b132b !important; /* Navy hover state */
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* Mobile responsive layout */
@media (max-width: 576px) {
  #allProjectsGridContainer {
    grid-template-columns: 1fr !important;
  }
}
/* Responsive project card */
.custom-project-card {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    border: 1px solid #eef0f2;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.custom-project-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

/* Yellow button with navy hover effect */
.btn-yellow-hover-navy {
    background-color: #ffb703 !important;
    color: #ffffff !important;
    font-weight: 700;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    font-size: 13.5px;
    transition: all 0.3s ease;
    box-shadow: 0 3px 8px rgba(255, 183, 3, 0.3);
}

.btn-yellow-hover-navy:hover {
    background-color: #111827 !important; /* Navy Black Color */
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(17, 24, 39, 0.4);
}

/* Mobile card settings */
.card-img-container {
    width: 100%;
    height: 190px;
    overflow: hidden;
    background: #f8f9fa;
}

.card-title-text {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 6px;
    line-height: 1.3;
}

.card-desc-text {
    font-size: 13px;
    color: #6c757d;
    margin-bottom: 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-meta-text {
    font-size: 13px;
    color: #212529;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

/* Tablet and desktop card settings */
@media (min-width: 768px) {
    .card-img-container {
        height: 200px;
    }
    .card-title-text {
        font-size: 18px;
    }
    .card-desc-text {
        font-size: 13.5px;
    }
    .card-meta-text {
        font-size: 13px;
    }
    .btn-yellow-hover-navy {
        font-size: 14px;
        padding: 10px 20px;
    }
}

/* Hide the navbar and header when the blog modal is open */
#allBlogsModal:target ~ .navbar,
body:has(#allBlogsModal[style*="display: block"]) .navbar,
body:has(#allBlogsModal[style*="display: flex"]) .navbar,
body:has(#allBlogsModal.show) .navbar,
body:has(#allBlogsModal.active) .navbar {
    display: none !important;
}

/* Keep the modal above the navbar */

/* ==========================================================================
   SERVICES SECTION HEADER RESPONSIVE FIX
   ========================================================================== */
.services-section-header {
    text-align: center !important;
    padding: 0 15px;
    margin-bottom: 2.5rem;
    width: 100%;
}

/* Yellow services subtitle */
.services-sub-title {
    display: inline-block;
    color: #ffb400; /* Theme yellow / gold */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: clamp(0.85rem, 1.5vw, 1.1rem); /* Responsive font size */
    margin-bottom: 8px;
}

/* Main services heading */
.services-main-title {
    color: #0b132a; /* Dark Navy Color */
    font-weight: 800;
    line-height: 1.3;
    margin: 0 auto;
    max-width: 850px; /* Prevent excessive text width */
    /* Automatically scales between mobile and desktop */
    font-size: clamp(1.4rem, 4vw, 2.3rem) !important;
}

/* Mobile refinements */
@media (max-width: 576px) {
    .services-section-header {
        margin-bottom: 1.8rem;
    }
    .services-sub-title {
        letter-spacing: 1px;
    }
    .services-main-title {
        line-height: 1.35;
    }
}
/* FAQ Section Wrapper */
.faq-section {
    padding: 60px 20px;
    background-color: #ffffff;
    font-family: 'Poppins', sans-serif;
}

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* FAQ header */
.faq-header {
    text-align: center;
    margin-bottom: 40px;
}

.faq-header h4 {
    color: #fdbe33; /* Theme gold */
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 5px;
}

.faq-header h2 {
    color: #030f27; /* Theme navy */
    font-size: 32px;
    font-weight: 700;
    margin: 0;
}

/* FAQ grid layout */
.faq-grid {
    display: flex;
    gap: 20px;
}

.faq-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* FAQ item styling */
.faq-item {
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-question {
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #ffffff;
    user-select: none;
    gap: 15px;
}

.faq-question:hover {
    background-color: #f8fafc;
}

/* Question text layout */
.question-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.q-en {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
}

.q-np {
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    line-height: 1.4;
}

.faq-icon {
    color: #fdbe33;
    font-size: 24px;
    font-weight: bold;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

/* FAQ answer container */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0, 1, 0, 1), padding 0.3s ease;
    background-color: #fafafa;
}

/* Active FAQ state */
.faq-item.active {
    border-color: #fdbe33;
}

.faq-item.active .faq-answer {
    max-height: 500px;
    padding: 18px 20px;
    border-top: 1px solid #edf2f7;
    transition: max-height 0.4s ease-in-out, padding 0.3s ease;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg); /* Turns the plus icon into an X */
}

/* Answer text formats */
.lang-en {
    color: #334155;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 10px;
}

.lang-np {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.7;
    border-top: 1px dashed #cbd5e1;
    padding-top: 8px;
}

/* Mobile responsive layout */
@media (max-width: 768px) {
    .faq-grid {
        flex-direction: column;
    }
}
/* Accordion Hide/Show Rules */
.reno-card-body {
    display: none;
    padding: 10px 15px;
}

.reno-card.active .reno-card-body {
    display: block !important;
}

.reno-card.active .reno-icon {
    transform: rotate(45deg);
}

.reno-card-header {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/* Container alignment and z-index fix */
.custom-view-all-wrapper {
    width: 100%;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 25px !important;    /* Card bhanda thikka muni */
    position: relative !important;
    z-index: 999 !important;         /* Slider ko pachadi nalukos bhannakalagi */
    padding: 0 15px;
    box-sizing: border-box;
}

/* Exact Yellow Pill Button Style */
.custom-view-all-btn {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 380px;               /* Card ko width sanga milne */
    background-color: #ffc800 !important; /* Exact Bright Yellow */
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 16px;
    padding: 14px 20px;
    border-radius: 50px !important; /* Photo ma jastai Pill Shape */
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(255, 200, 0, 0.4) !important;
    transition: all 0.3s ease;
    border: none !important;
}

/* Hover Effect */
.custom-view-all-btn:hover {
    background-color: #e6b400 !important;
    color: #000000 !important;
    transform: translateY(-2px);
}

/* Phone View (Mobile Specific Fix) */
@media (max-width: 768px) {
    .custom-view-all-wrapper {
        margin-top: 20px !important;
    }
    
    .custom-view-all-btn {
        width: 100% !important;     /* Mobile screen ma Card ko width jati nai hune */
        font-size: 15px;
        padding: 13px 15px;
    }
}
/* ==========================================
   RESPONSIVE IMAGE STYLES FOR MODAL
   ========================================== */

/* 1. Main Banner Image (Top Image) */
.detail-banner-wrap {
    width: 100%;
    max-height: 350px;      /* Desktop मा धेरै ठूलो हुन नदिन */
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 20px;
}

.detail-banner-wrap img {
    width: 100%;
    height: 100%;
    max-height: 350px;
    object-fit: cover;      /* फोटो बिग्रिन/खिचिन नदिने */
    display: block;
}

/* 2. Service Sub Images Grid & Box */
.service-type-grid {
    display: grid;
    grid-template-columns: 1fr; /* Mobile मा 1 Column */
    gap: 20px;
    margin: 20px 0;
}

/* Desktop मा 2 Columns देखाउने */
@media (min-width: 768px) {
    .service-type-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.service-sub-img {
    width: 100%;
    height: 500px;           /* Default Height */
    overflow: hidden;
    border-radius: 8px;
    margin-bottom: 12px;
}

.service-sub-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;      /* Image Auto-Crop भइ Responsive बस्छ */
    display: block;
    transition: transform 0.3s ease;
}

.service-sub-img img:hover {
    transform: scale(1.05); /* Hover Effect */
}

/* 3. Mobile Specific Adjustments (768px भन्दा लहान स्क्रिनमा) */
@media (max-width: 767px) {
    .detail-banner-wrap {
        max-height: 200px;  /* Mobile मा Main Banner को Height घटाउने */
    }
    
    .detail-banner-wrap img {
        max-height: 200px;
    }

    .service-sub-img {
        height: 160px;      /* Mobile मा Sub-images को Height मिलाउने */
    }
}
/* Container Scope */
.ruwali-contact-wrapper {
  background-color: #f8f9fa;
}

/* Left Contact Cards */
.ruwali-contact-wrapper .contact-info-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ruwali-contact-wrapper .modern-card {
  display: flex;
  align-items: center;
  padding: 16px;
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e0e0e0;
  text-decoration: none !important;
  color: #333;
  transition: all 0.3s ease;
}

.ruwali-contact-wrapper .modern-card:hover {
  border-color: #ffc107;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.ruwali-contact-wrapper .card-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-right: 15px;
  flex-shrink: 0;
}

.ruwali-contact-wrapper .icon-location { background: #fff8e1; color: #ffa000; }
.ruwali-contact-wrapper .icon-phone { background: #e3f2fd; color: #1976d2; }
.ruwali-contact-wrapper .icon-whatsapp { background: #e8f5e9; color: #388e3c; }
.ruwali-contact-wrapper .icon-email { background: #fce4ec; color: #c2185b; }

.ruwali-contact-wrapper .card-details h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: #111;
}

.ruwali-contact-wrapper .card-details p {
  margin: 2px 0 0 0;
  font-size: 13px;
  color: #666;
}

.ruwali-contact-wrapper .action-link {
  font-size: 11px;
  font-weight: 600;
  color: #ffc107;
}

/* Social Media Fix */
.ruwali-contact-wrapper .social-title {
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
  color: #333;
}

.ruwali-contact-wrapper .social-icons {
  display: flex;
  gap: 10px;
}

.ruwali-contact-wrapper .social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #ddd;
  color: #555;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  font-size: 16px;
  transition: all 0.3s ease;
}

.ruwali-contact-wrapper .social-btn:hover {
  color: #fff;
  border-color: transparent;
  transform: translateY(-2px);
}

.ruwali-contact-wrapper .social-btn.facebook:hover { background: #1877f2; }
.ruwali-contact-wrapper .social-btn.instagram:hover { background: #e4405f; }
.ruwali-contact-wrapper .social-btn.linkedin:hover { background: #0a66c2; }
.ruwali-contact-wrapper .social-btn.whatsapp:hover { background: #25d366; }

/* Right Side Form Fix - Flexbox Layout */
.ruwali-contact-wrapper .contact-form-card {
  background: #ffffff;
  padding: 30px;
  border-radius: 12px;
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.ruwali-contact-wrapper .form-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #222;
}

/* Flexbox Input Group (No Overlapping Guaranteed) */
.ruwali-contact-wrapper .field-box {
  display: flex;
  align-items: center;
  background: #fdfdfd;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.ruwali-contact-wrapper .field-box:focus-within {
  border-color: #ffc107;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.15);
}

.ruwali-contact-wrapper .field-icon {
  padding: 0 14px;
  color: #888;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.ruwali-contact-wrapper .field-box input,
.ruwali-contact-wrapper .field-box textarea {
  width: 100%;
  padding: 12px 14px 12px 0;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 14px;
  color: #333;
}

.ruwali-contact-wrapper .field-textarea {
  align-items: flex-start;
}

.ruwali-contact-wrapper .field-textarea .field-icon {
  padding-top: 12px;
}

.ruwali-contact-wrapper .field-textarea textarea {
  padding-top: 10px;
  resize: vertical;
}

/* Submit Button */
.ruwali-contact-wrapper .submit-btn {
  background-color: #ffc107;
  color: #000;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
}

@media (min-width: 576px) {
  .ruwali-contact-wrapper .submit-btn {
    width: auto;
  }
}

.ruwali-contact-wrapper .submit-btn:hover {
  background-color: #e5ad00;
  transform: translateY(-2px);
}
/* ===================================================
   ALL BUTTONS: Default (#1034A6) & Hover (#fdbe33)
   (Navbar, Mobile Menu र Close Button बाहेक)
=================================================== */

/* १. Normal State: नेभबार र Close Button बाहेकका बटनहरू Egyptian Blue हुने */
:not(nav):not(.navbar):not(.mobile-menu):not(.nav-container) > button:not(.btn-close):not(.close):not([class*="close"]),
:not(nav):not(.navbar):not(.mobile-menu) input[type="button"],
:not(nav):not(.navbar):not(.mobile-menu) input[type="submit"],
:not(nav):not(.navbar):not(.mobile-menu) input[type="reset"],
:not(nav):not(.navbar):not(.mobile-menu) .btn:not(.navbar-toggler):not(.btn-close):not(.close):not([class*="close"]),
:not(nav):not(.navbar):not(.mobile-menu) .button:not(.btn-close):not(.close):not([class*="close"]),
:not(nav):not(.navbar):not(.mobile-menu) a.btn:not(.btn-close):not(.close):not([class*="close"]),
:not(nav):not(.navbar):not(.mobile-menu) a.button:not(.btn-close):not(.close):not([class*="close"]),
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.navbar-toggler):not(.nav-link):not(.btn-close):not(.close):not([class*="close"]) {
    background-color: #1034A6 !important;
    color: #ffffff !important;
    border-color: #1034A6 !important;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

/* बटनभित्रका आइकन र एरो (पछाडि कुनै नीलो डब्बा नबस्ने गरी) */
:not(nav):not(.navbar):not(.mobile-menu) .btn:not(.btn-close):not(.close) i,
:not(nav):not(.navbar):not(.mobile-menu) .btn:not(.btn-close):not(.close) span,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close) i,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close) span,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close) i::before,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close) span::before {
    color: #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    transition: color 0.3s ease !important;
}


/* २. Hover State: माउस लैजाँदा पहेंलो (#fdbe33) हुने र अक्षर गाढा हुने */
:not(nav):not(.navbar):not(.mobile-menu) .btn:not(.navbar-toggler):not(.btn-close):not(.close):not([class*="close"]):hover,
:not(nav):not(.navbar):not(.mobile-menu) .button:not(.btn-close):not(.close):not([class*="close"]):hover,
:not(nav):not(.navbar):not(.mobile-menu) a.btn:not(.btn-close):not(.close):not([class*="close"]):hover,
:not(nav):not(.navbar):not(.mobile-menu) a.button:not(.btn-close):not(.close):not([class*="close"]):hover,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.navbar-toggler):not(.btn-close):not(.close):not([class*="close"]):hover {
    background-color: #fdbe33 !important;
    color: #111111 !important;
    border-color: #fdbe33 !important;
}

/* Hover हुँदा एरो वा आइकनको पछाडिको ब्याकग्राउन्ड हटेर pure पहेंलो मात्र देखिने */
:not(nav):not(.navbar):not(.mobile-menu) .btn:not(.btn-close):not(.close):hover i,
:not(nav):not(.navbar):not(.mobile-menu) .btn:not(.btn-close):not(.close):hover span,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close):hover i,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close):hover span,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close):hover i::before,
:not(nav):not(.navbar):not(.mobile-menu) [class*="btn"]:not(.btn-close):not(.close):hover span::before {
    color: #111111 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}


/* ===================================================
   MOBILE NAVBAR & CLOSE BUTTON OVERRIDE (सुरक्षा घेरा)
=================================================== */
.navbar-toggler,
.navbar-toggler-icon,
.mobile-menu-btn,
nav button,
header button,
.btn-close,
.close,
.close-btn,
.mobile-nav-close,
[class*="close-btn"],
[class*="btn-close"] {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Top-Left Positioning */
.article-close-top-left {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 1050;
}

/* Button & Flex Alignment */
.article-close-top-left .btn-close-modal-bottom {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
  color: #ffffff; /* यदि Text पनि सेतो चाहिने भए */
}

/* SVG Arrow Style (Pure White) */
.close-arrow-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: #ffffff !important; /* Arrow को लाइन सेतो बनाउन */
  transition: transform 0.2s ease;
}

/* Hover Effect: Arrow देब्रेतिर सर्ने */
.article-close-top-left .btn-close-modal-bottom:hover .close-arrow-icon {
  transform: translateX(-3px);
}

/* Mobile Screen Responsiveness */
@media (max-width: 768px) {
  .article-close-top-left {
    top: 10px;
    left: 10px;
  }
  
  .article-close-top-left .btn-close-modal-bottom {
    padding: 6px 12px;
    font-size: 13px;
    gap: 6px;
  }

  .close-arrow-icon {
    width: 15px;
    height: 15px;
  }
}
