html{
scroll-behavior:smooth;
scroll-snap-type:y mandatory;
}

body{
user-select:none;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
}

body{
overflow: hidden;
font-family: 'Poppins', sans-serif;
}

h1,h2,h3,h4,h5,h6{
font-family: 'Montserrat', sans-serif;
font-weight:600;
}

/* LOGO */

header {
    background: #000;
    height: 100vh;
    width: 100%;
    position: relative;
    display: block;
}

.logo{
position:fixed;
top:20px;
left:0px;
z-index:999;
}

.logo img{
width: auto;
}

footer {
    position: fixed;
    bottom: 20px;
    left: 0px;
    z-index: 999;
}

footer p {
	color: #ccc;
	font-size: 14px;
	font-weight: normal;
	max-width: 280px;
	text-align:center;
    margin: 0px auto;
}

footer p a{
    color: #ffc107;
}

/* LEFT MENU */

.side-menu{
position:fixed;
left:0;
top:0;
width:300px;
height:100vh;
background:#111;
display:flex;
align-items:center;
z-index:100;
}

.side-menu ul{
list-style:none;
width:100%;
padding:0;
text-align:center;
}

.side-menu li{ 
    text-align: left;
    padding: 12px 32px;
}

.side-menu a{
color:#fff;
text-decoration:none;
font-size:18px;
cursor:pointer;
display:block;
transition:0.3s;
}

.side-menu i{
margin-right:8px;
}

.side-menu a:hover{
color:#ffc107;
}

.side-menu a.active{
color:#ffc107;
}

.slide h1{
font-size:48px;
letter-spacing:1px;
margin-bottom:20px;
}

.slide p{
font-size:16px;
line-height:1.7;
}


/* SLIDES */

.slide{
scroll-snap-align:start;
}

.slide{
position:relative;
left:300px;
width:calc(100% - 300px);
min-height:100vh;
color:white;

display:flex;
align-items:center;
justify-content:center;

text-align:center;
}


/* PARALLAX BACKGROUNDS */

#home{
background: url(../img/home-bg1.jpg) center/cover fixed;
}

#infrastructure{
background: url(../img/infra.jpg) center/cover fixed;
}

#products{
background: url(../img/product.jpg) center/cover fixed;
}

#quality{
background: url(../img/quality.jpg) center/cover fixed;
}

#contact{
background: url(../img/contact.jpg) center/cover fixed;
}

.black-overlay{
	background: rgba(0, 0, 0, 0.4);
}

.home-content{
	padding: 30px;
    border-radius: 25px;
}

.infra-bg{
	padding: 25px;
    border-radius: 18px;
	margin-bottom: 15px;
}

.infra-bg h2{
	font-size: 24px;
	margin-bottom: 16px;
}

.quality-bg{
	padding: 30px;
    border-radius: 25px;
	text-align: left;
}

.quality-bg ul{
    list-style-type: none;
    padding-inline-start: 0px;
}

.quality-bg ul li{
    margin-bottom: 15px;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.quality-bg ul li i{
    color: #ffc107;
}

.contact-bg{
	padding: 30px;
    border-radius: 25px;
}

/* Tabs */
/* Tabs */
.product-tabs {
  width: 100%;
  margin: 30px auto;
}

.tab-buttons {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  overflow-x: auto;
    justify-content: center;
}

.tab-buttons button {
  padding: 10px 20px;
  border: none;
  background: #eee;
  cursor: pointer;
  font-weight: bold;
  border-radius: 5px;
  transition: 0.3s;
  white-space: nowrap;
}

.tab-buttons button.active {
  background: #ffc107;
  color: #fff;
}

.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}


/* Carousel styles (same as before) */
.product-carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.product-track {
  display: flex;
  transition: transform 0.5s ease;
}

.product-item {
  flex: 0 0 259px; /* default width */
  margin: 0 10px;
  background: #fff;
  padding: 10px;
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
  text-align: center;
  border-radius: 8px;
}

.product-item img{
	margin-bottom: 20px;
  border-radius: 6px;
}

.product-content{
	padding: 10px;
	padding-bottom: 0px;
}

.product-item h4{
	color: #000;
    font-size: 22px;
}

.product-item p{
	color: #222;
	font: 14px;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 10;
}

.carousel-btn.prev {
  left: 10px;
}

.carousel-btn.next {
  right: 10px;
}

.product-modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.7);
z-index:9999;
justify-content:center;
align-items:center;
}

.product-modal.active{
display:flex;
}

.modal-content{
background:#fff;
width:90%;
max-width:900px;
padding:30px;
border-radius:8px;
max-height:90vh;
overflow-y:auto;
position:relative;
}

.close-modal{
position:absolute;
right:15px;
top:10px;
font-size:24px;
cursor:pointer;
}

.product-img{
}

.product-img h2{
}

.product-img img{
	border-radius:8px;
	margin-bottom: 25px;
}

.product-subtitle h3{
	font-size: 22px;
}

.product-table th, .product-table td{
	font-size: 14px;
}

.product-table th{
	color: #3eac4b;
	font-weight: 500;
}

.product-table td{
	color: #666666;
}

button.read-more{
	background: #3eac4b;
	color: #fff;
	border: none;
	padding: 8px 12px;
	border-radius: 6px;
}

.fixed-contact-icons{
position:fixed;
right:20px;
bottom:20px;
display:flex;
flex-direction:column;
gap:10px;
z-index:9999;
}

.fixed-contact-icons a{
width:55px;
height:55px;
text-decoration: none;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
box-shadow:0 4px 10px rgba(0,0,0,0.2);
}

.fixed-contact-icons i{
font-size:28px;
color: #fff
}

.whatsapp{
background:#25D366;
}

.call{
background:#007bff;
}

.mobile-footer{
	display: none;
}

/* --- Responsive Adjustments --- */
@media (max-width: 1024px) {
  .product-item {
    flex: 0 0 32%;
  }
}

@media (max-width: 991px) {
  .product-item {
    flex: 0 0 49%;
  }
 }

@media (max-width: 768px) {
  .product-item {
    flex: 0 0 49%;
  }
  .tab-buttons button {
    padding: 8px 15px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .product-item {
    flex: 0 0 93%;
    padding: 10px;
  }
  .tab-buttons {
    gap: 5px;
    flex-wrap: wrap;
  }
}

/* MOBILE */

@media(max-width:991px){

body{
overflow:auto;
}

.side-menu{
position:relative;
width:100%;
height:auto;
}

.side-menu ul{
display:flex;
justify-content:space-around;
padding:15px;
}

.slide{
position:relative;
left:0;
width:100%;
height:auto;
padding:120px 20px;
opacity:1;
visibility:visible;
}

.slide{
background-attachment:scroll;
}

.logo{
right:20px;
}

}


/* Mobile Menu Button */
.mobile-menu-btn{
  display:none;
  position:fixed;
  top:20px;
  right:20px;
  font-size:28px;
  color:#fff;
  z-index:9999;
  cursor:pointer;
}

/* Mobile Layout */
@media (max-width:991px){

header {
    background: #000;
    height: 88px;
    width: 100%;
    position: relative;
    display: block;
    position: fixed;
    overflow: hidden;
    top: 0;
    z-index: 1;
}

.logo{
  position:fixed;
  top:10px;
  left:0px;
  z-index:9999;
}

.logo img{
  height: auto;
}

/* show hamburger */
.mobile-menu-btn{
  display:block;
}

/* hide side menu */
.side-menu{
  position:fixed;
  left:-300px;
  top:0;
  width:300px;
  height:100%;
  background:#111;
  transition:0.4s;
  z-index:9998;
}

/* menu open */
.side-menu.active{
  left:0;
}

.side-menu ul{
  flex-direction:column;
  padding-top:80px;
}

.side-menu ul li{
    display: block;
    padding: 10px 20px;
    margin: 0px;
    text-align: left;
}

footer {
	display: none;
}

.mobile-footer{
    display: block;
    bottom: 0;
	 position: relative;
	 margin-top: 30px;
}

.mobile-footer p{
    color: #fff;
    max-width: 100%;
    font-size: 14px;
    text-shadow: 1px 1px black;
}

}
