:root{
  --primary:#3f51b5; /* Indigo */
  --accent:#1976d2;
  --muted:#6c757d;
  --surface:#ffffff;
  --elev:0 6px 18px rgba(31,45,61,0.08);
  --font-sans: 'Poppins', sans-serif;
}

*{box-sizing:border-box}
body{font-family:var(--font-sans);background:#f7f8fb;color:#222;}

/* NAV */
.navbar-brand .logo{height:36px}
#mainNav.scrolled{background:#fff;box-shadow:var(--elev);transition:all .25s}
#mainNav .brand-text{font-weight:600;color:var(--surface)}

/* HERO */
.hero{position:relative;height:70vh;min-height:420px;display:block;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(15,23,42,0.5), rgba(25,32,50,0.3));z-index:1}
.hero-content{position:relative;z-index:2;color:#fff;padding-top:6rem}

/* Feature cards */
.feature-card{border-radius:12px;box-shadow:var(--elev);transition:transform .18s,box-shadow .18s}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(31,45,61,0.14)}
.feature-card .material-icons{font-size:44px;color:var(--primary)}

/* Product cards */
.product-card{border:0;border-radius:12px;overflow:hidden}
.product-card img{height:190px;object-fit:cover}
.product-card .price{font-weight:700;color:var(--primary)}

/* Modal */
.product-modal{position:fixed;inset:0;background:rgba(10,12,15,0.45);display:none;align-items:center;justify-content:center;padding:1rem;z-index:1050;overflow-y:auto}
.product-modal .modal-content{width:100%;max-width:450px;border-radius:12px;background:var(--surface);position:relative;padding:1rem;box-sizing:border-box}
.product-modal .modal-content img{max-height:200px;object-fit:contain;margin-bottom:1rem;width:100%;border-radius:6px}
.modal-close{position:absolute;right:10px;top:10px;border:0;background:transparent;cursor:pointer}


/* ripple effect */
.ripple{position:relative;overflow:hidden}
.ripple:after{content:"";position:absolute;border-radius:50%;transform:scale(0);opacity:0.6;transition:transform .5s,opacity 1s;pointer-events:none}
.ripple:active:after{transform:scale(4);opacity:0}

/* Testimonials */
.testimonials .carousel-inner{min-height:160px}

/* Partners */
.grayscale{filter:grayscale(1) brightness(.9);opacity:.85;transition:filter .25s,opacity .25s}
.grayscale:hover{filter:grayscale(0) brightness(1.02);opacity:1}

/* Partner grid specifics */
.partner-item img{max-height:64px;object-fit:contain;opacity:.95;transition:transform .18s}
.partner-item img:hover{transform:scale(1.03);opacity:1}

/* Team card */
.team-card{border-radius:12px;overflow:hidden}
.team-card img{height:200px;object-fit:cover}

/* Timeline */
.timeline{background:transparent}
.timeline-item{padding:8px 0;border-left:3px solid rgba(0,0,0,0.06);margin-left:12px;padding-left:12px}

/* contact */
.form-floating .form-control:focus{box-shadow:none}
.map-responsive iframe{border-radius:8px}

/* Hero video attribution */
.video-attribution {
  position: absolute;
  bottom: 10px;
  right: 15px;
  font-size: 0.7rem;
  background: rgba(255, 255, 255, 0.5);
  padding: 2px 6px;
  border-radius: 4px;
  z-index: 3;
}

.video-attribution a {
  color: #000;
  text-decoration: none;
}


/* small devices */
@media (max-width:767px){
  .hero-content{padding-top:4rem}
  #productEdit {
    flex-basis: 100%; /* forces full-width */
    margin-top: 1.1rem; /* spacing below heading */
  }
    .product-modal{padding:0.5rem}
    .product-modal .modal-content{max-width:95%;margin:auto}
    .product-modal .modal-content img{max-height:160px}
  
}

/* Dark mode variables */ 
body.dark{background:#0e1622;color:#e6eef8} 
body.dark .feature-card{background:#4a4b4b;color:#e6eef8;} 
body.dark .featured-products{color: #0b1220;} 

/* Base dark mode styles */ 
body.dark { background-color: #0e1622; color: #e6eef8; } 

/* Product card in dark mode */ 
body.dark .product-card { background-color: #1e2a38; color: #e6eef8; border: 1px solid #2c3e50; } 

/* Product card text */ body.dark .product-card .card-title { color: #ffffff; } 
body.dark .product-card .card-text { color: #cbd5e1; } 

/* Feature cards */ 
body.dark .feature-card { background-color: #1e2a38; color: #e6eef8; } 

/* Modal content */ 
body.dark .modal-content { background-color: #1e2a38; color: #e6eef8 ; } 

/*inner card hidden*/
body.dark .text-muted{color: #d1d9e6ed !important;}

/* Buttons */ 
body.dark .btn-primary { background-color: #3f51b5; border-color: #3f51b5; color: white; } 

/*ensure images are not affected */ 
body.dark img { filter: none; } 

/* Dark mode card text color fixes */ 
body.dark .product-card .card-title { color: #e6eef8!important; } 
body.dark .product-card *{ color: #cbd5e1 !important; /* lighter muted text for dark backgrounds */ } 
body.dark .product-card .description, body.dark .product-card .specs, 
body.dark .product-card .features { color: #d1d9e6 !important; /* Slightly muted light color */ } 

body.dark .partners{color:#0b1220 ;} 

body.dark .navbar{background:transparent}
