*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: "roboto", sans-serif;
	font-style: normal;
	list-style: none;
	text-decoration: none;
	scroll-behavior: smooth;
}

@font-face{
	font-family:"roboto";
	src: url(../fonts/roboto-v20-latin-regular.woff2) format("woff2"),
	url(../fonts/roboto-v20-latin-regular.woff) format("woff"), url(../fonts/roboto-v20-latin-regular.ttf) format("truetype"), url(../fonts/roboto-v20-latin-regular.svg#Roboto) format("svg");
	font-weight: 400;
	font-style: bold;
}


:root{
	--bg-color: #ffffff;
	--text-color: #111111;
	--main-color: #28455d;
	--big-font: 4.5rem;
	--h2-font-family: "dazzle-unicase", sans-serif;
	--h2-font: 3.3rem;
	--h3-font: 2rem;
	--normal-font: 1rem;
}

body{
	font-family: "roboto", sans-serif;
	font-weight: 200; /* or 300 depending on the style */
	background: var(--bg-color);
	color: var(--text-color);
}
header{
	width: 100%;
	top: 0;
	right: 0;
	z-index: 1000;
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	padding: 20px 14%;
}

.navlist{
	display: flex;
}
.navlist a{
	color: var(--text-color);
	font-weight: 600;
	padding: 10px 25px;
	font-size: var(--normal-font);
	transition: all .36s ease;
}
.navlist a:hover{
	color: var(--main-color);
}
/* shop page nav */

.sub-header {
  position: fixed;
  top: 126px; /* how far is it from the header box */
  width: 100%;
  background-color: #28455d;; 
  z-index: 999;
  padding: 10px ;
  display: flex;
  justify-content: center;
}

.header-list {
  display: flex;
  gap: 40px;
  letter-spacing: .03em;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-list a {
  color: white;
  font-weight: 600;
  text-decoration: none;
  font-size: 16px;
  transition: 0.3s;
}

.header-list a:hover {
  color: #e6dcbb; /* highlight on hover */
}

/* shop page nav END */


.header-icons i{
	font-size: 32px;
	color: var(--text-color);
	margin-right: 20px;
	transition: all .36s ease;
}
.header-icons i:hover{
	color: var(--main-color);
}
#menu-icon{
	font-size: 34px;
	color: var(--text-color);
	z-index: 10001;
	margin-right: 20px;
	display: none;
}

section{
	padding: 100px 14%;
}
.home{
	min-height: 100vh;
	width: 100%;
	background: url(../img/home-img.jpg);
	background-size: cover;
	background-position: center top;
	position: relative;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	align-items: center;
}
.home-text h1{
	font-family: "dazzle-unicase", sans-serif;
	font-size: var(--big-font);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .6rem;
	margin-bottom: 1.4rem;
}
.home-text span{
	font-family: "dazzle-unicase", sans-serif;
	font-size: var(--h2-font);
}
.home-text p{
	font-family: "roboto", sans-serif;
	font-size: 18px;
	font-weight: 500;
	font-style: normal;
	margin-bottom: 3rem;
}
.btn{
	display: inline-block;
	padding: 13px 25px;
	background: var(--main-color);
	color: var(--bg-color);
	font-size: 15px;
	letter-spacing: 1px;
	font-weight: 600;
	border-radius: 5px;
	transition: all .35s ease;
}
.btn:hover{
	transform: translateY(-5px);
	background: var(--text-color);
}

header.sticky{
	background: var(--bg-color);
	padding: 14px 14%;
	box-shadow: 0px 0px 10px rgb(0 0 0 / 10%);
}

.center-text{
	text-align: center;
}
.center-text h2{
	font-family: var(--h2-font-family);
	font-size: var(--h3-font);
	letter-spacing: .1rem;

}
.product-content{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	max-width: 1200px; /* 3 × 350px + gap allowance */
	margin-left: auto;
	margin-right: auto;
	gap: 1.3rem;
	padding-top: 30px;
	align-items: center;
	margin-top: 4rem;
}
.product-text {
	padding: 20px 0 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.product-text p{
	font-family: "dazzle-unicase", sans-serif;
	font-weight: 400;
	letter-spacing: .1rem;

}
.row{
	position: relative;
	transition: all .35s ease;
}
.row img{
	width: 100%;
	height: auto;
}
.card-text{
	position: absolute;
	top: 40px;
	left: 50px;
}
.card-text h5{
	font-family: "dazzle-unicase", sans-serif;
	font-size: 17px;
	margin-bottom: 1rem;
}
.card-text p{
	font-family: "roboto", sans-serif;	color: #28455d;;
	font-size: 15px;
	letter-spacing: 1px;
	font-weight: 700;
}
.row .arrow{
	position: absolute;
	bottom: 40px;
	left: 50px;
}
.row .arrow i{
	height: 35px;
	width: 35px;
	background: var(--bg-color);
	border-radius: 50%;
	font-size: 20px;
	color: var(--text-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all .35s ease;
}
.row:hover{
	transform: scale(0.9) translateY(-5px);
	cursor: pointer;
}
.row:hover i{
	background: var(--main-color);
	color: var(--bg-color);
}

/* card flip effect / image container */

.image-container {
	position: relative;
	width: 100%;
	overflow: hidden;
  }
  
  .image-container img {
	width: 100%;
	display: block;
  }
  
  .back-img {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
  }
  
  .image-container:hover .back-img {
	opacity: 1;
  }
  
  .image-container:hover .front-img {
	opacity: 0;
  }

  /* card flip effect / image container */


.cta{
	height: 70vh;
	width: 100%;
	background: url(../img/model-2-section-.jpg);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
}
.cta-text h6{
	font-family: "roboto", sans-serif;
	font-weight: bold;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .6px;
	margin-bottom: 14px;
}
.cta-text h4{
	font-family: "dazzle-unicase", sans-serif;
	font-size: 3.3rem;
	line-height: 1.2;
	letter-spacing: .6rem;
	margin-bottom: 30px;
}

.new-content{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, auto));
	gap: 1.3rem;
	align-items: center;
	margin-top: 4rem;
	text-align: center;
}
.box{
	position: relative;
	transition: all .40s ease;
}
.box img{
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	border-radius: 10px;
}
.box h5{
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 10px;
}
.box h6{
	font-size: 16px;
	font-weight: 700;
}
.sale{
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: 30px;
	background: var(--main-color);
	color: var(--bg-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.box:hover{
	transform: scale(0.9) translateY(-5px);
	cursor: pointer;
}

.brand{
	padding: 50px 14%;
}
.brand-content{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, auto));
	gap: 2rem;
	align-items: center;
	justify-content: center;
}
.main img{
	width: 100%;
	height: auto;
	opacity: 0.6;
	transition: all .35s ease;
	cursor: pointer;
}
.main img:hover{
	opacity: 1;
}

.contact{
	background: var(--text-color);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, auto));
	gap: 2rem;
}
.main-contact h3{
	font-size: 23px;
	margin-bottom: 1.6rem;
	color: var(--bg-color);
}
.main-contact h5{
	font-size: 15px;
	font-weight: 600;
	color: #555;
}
.icons{
	display: flex;
	margin-top: 2rem;
}
.icons i{
	font-size: 25px;
	margin-right: 1rem;
	color: #8f8b8b;
	transition: all .35s ease;
}
.icons i:hover{
	color: var(--bg-color);
	transform: scale(1.1) translateY(-5px);
}
.main-contact li{
	margin-bottom: 15px;
}
.main-contact li a{
	display: block;
	color: #555;
	font-size: var(--normal-font);
	font-weight: 600;
	transition: all .35s ease;
}
.main-contact li a:hover{
	transform: translateX(-8px);
	color: var(--bg-color);
}

.last-text{
	text-align: center;
	padding: 20px;
	background: var(--text-color);
}
.last-text p{
	color: #555;
	font-size: 14px;
	letter-spacing: 1px;
}

.top{
	position: fixed;
	bottom: 2rem;
	right: 2rem;
}
.top i{
	font-size: 22px;
	color: var(--bg-color);
	padding: 14px;
	background: var(--main-color);
	border-radius: 2rem;
}

/* Product-swiper */

.slider-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 1440px;
	margin: 0 auto;
  }
  
.slider-header p {
	text-align: center;
	font-family: "dazzle-unicase", sans-serif;
	font-size: var(--h3-font);
	font-weight: 600;
	letter-spacing: .1rem;
	margin-bottom: 40px;
  }


  .slider-container {
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	padding: 0 40px; /* give room for arrows */
	/* Hide scrollbar for cleaner look */
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE and Edge */
  }
  
  /* Hide scrollbar for Chrome, Safari and Opera */
  .slider-container::-webkit-scrollbar {
	display: none;
  }
  
  .slider-track {
	display: flex;
	gap: 16px;
	width: max-content;
  }
  
  .slider-track img {
	width: 22vw;
	height: 350px;
	object-fit: cover;
	scroll-snap-align: start;
	flex-shrink: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  .slider-track a {
	display: block;
	cursor: pointer;
	overflow: hidden;
	border-radius: 8px;
  }
  
  .slider-track a:hover img {
	transform: scale(1.05);
	opacity: 0.9;
  }
  
  .arrow {
	position: absolute;
	border: none;
	font-size: 2rem;
	cursor: pointer;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
  }
  
  .arrow.left {
	left: 0;
  }
  
  .arrow.right {
	right: 0;
  }

  /* Slider section specific styling */
.slider-section {
  padding: 60px 4%;
}

/* END OF Product-swiper */


/* Enhanced Lightbox Styles */
/* Main lightbox container - covers the entire screen when active */
.lightbox {
  display: none; /* Hidden by default, shown when activated by JavaScript */
  position: fixed; /* Fixed position covers the entire viewport */
  z-index: 9999; /* High z-index ensures it appears above all other content */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3); /* Semi-transparent black background */
  overflow: hidden; /* Prevents scrolling while lightbox is open */
}

/* Container for the lightbox content (image and buttons) */
.lightbox-content {
  position: relative; /* Allows positioning of child elements */
  width: 80%; /* Takes 80% of the lightbox width */
  max-width: 580px; /* Maximum width limit */
  height: auto; /* Height adjusts to content */
  margin: 50px auto; /* Centers the content with 50px top margin */
  display: flex; /* Flexbox for centering content */
  justify-content: center; /* Horizontal centering */
  align-items: center; /* Vertical centering */
  border-radius: 8px; /* Rounded corners */
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.6); /* Shadow effect for depth */
}

/* The actual image displayed in the lightbox */
#lightbox-img {
  max-width: 100%; /* Ensures image doesn't overflow container */
  max-height: 80vh; /* Limits height to 80% of viewport height */
  object-fit: contain; /* Preserves aspect ratio */
  display: block; /* Block display for proper sizing */
  transition: opacity 0.3s ease; /* Smooth transition for opacity changes */
  border-radius: 4px; /* Slightly rounded corners for the image */
}

/* Shared styles for both navigation buttons (prev and next) */
.lightbox-prev, 
.lightbox-next {
  position: absolute; /* Positioned relative to lightbox-content */
  bottom: 20px; /* Positioned 20px from bottom of container */
  background-color: rgba(255, 255, 255, 0.945); /* Semi-transparent white */
  color: #28455d; /* White text/arrow */
  font-size: 20px; /* Size of the arrow */
  font-weight: bold; /* Makes arrows more visible */
  width: 40px; /* Fixed width */
  height: 40px; /* Fixed height - creates a circle */
  border: none; /* No border */
  border-radius: 50%; /* Circular buttons */
  cursor: pointer; /* Hand cursor on hover */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
  display: flex; /* Flexbox for centering arrow */
  justify-content: center; /* Horizontal centering of arrow */
  align-items: center; /* Vertical centering of arrow */
}

/* Previous button specific position (left side) */
.lightbox-prev {
  left: 40px; /* 20px from left edge */
}

/* Next button specific position (right side) */
.lightbox-next {
  right: 40px; /* 20px from right edge */
}

/* Hover effects for navigation buttons */
.lightbox-prev:hover, 
.lightbox-next:hover {
  background-color: rgba(255, 255, 255, 0.4); /* More opaque on hover */
  transform: scale(1.1); /* Slightly enlarge on hover */
}

/* Close button styling */
.lightbox-close {
  position: absolute; /* Positioned relative to lightbox-content */
  top: 20px; /* 10px from top */
  right: 20px; /* 10px from right */
  background-color: rgba(255, 255, 255, 0.2); /* Semi-transparent white */
  color: #28455d; /* White X symbol */
  font-size: 30px; /* Size of X */
  width: 40px; /* Fixed width */
  height: 40px; /* Fixed height - creates a circle */
  border: none; /* No border */
  border-radius: 50%; /* Circular button */
  cursor: pointer; /* Hand cursor on hover */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
  display: flex; /* Flexbox for centering X */
  justify-content: center; /* Horizontal centering of X */
  align-items: center; /* Vertical centering of X */
  padding: 0; /* No padding */
}

/* Hover effect for close button */
.lightbox-close:hover {
  background-color: rgba(255, 255, 255, 0.4); /* More opaque on hover */
  transform: scale(1.1); /* Slightly enlarge on hover */
}

/* Positioning for size buttons - aligned to left edge of lightbox */
.lightbox-sizes {
  display: flex; /* Use flex for better control */
  flex-direction: column; /* Stack items vertically */
  position: absolute; /* Position absolutely within the lightbox-content */
  left: 0px; /* Align to the left edge with some padding */
  bottom: 90px; /* Position above the nav buttons */
  margin: 0; /* Remove the top/bottom margins */
}
  
.size-btn {
  width: 60px; /* Fixed width for all buttons */
  height: 40px; /* Fixed height for all buttons */
  padding: 0; /* Remove padding and use fixed dimensions */
  background-color: #f4f4f4;
  border: 0px solid #ccc;
  font-weight: bold;
  text-align: center; /* Center text horizontally */
  line-height: 40px; /* Center text vertically */
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Active state for the size button - this will show when a size is selected */
.size-btn.active {
  background-color: #28455d;
  color: white;
  border: 1px solid #28455d;
  transform: scale(1.05);
}
  
.size-btn:hover {
  background-color: #28455d;
  color: white;
  border: 1px solid #28455d;
  transform: scale(1.1); /* Slightly enlarge on hover */
}

.add-cart {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--main-color);
	color: var(--bg-color);
	font-size: 15px;
	padding: 5px 15px;
	border-radius: 5px;
	transition: all .35s ease;
}

.add-cart:hover{
	background-color: #e6dcbb; /* More opaque on hover */
	color: var(--text-color);
	cursor: pointer;
}



/* Mobile responsive adjustments */
@media (max-width: 768px) {
  /* Smaller buttons on mobile devices */
  .lightbox-prev, 
  .lightbox-next {
    width: 35px; /* Smaller width */
    height: 35px; /* Smaller height */
    font-size: 18px; /* Smaller arrow */
  }
  
  .lightbox-close {
    width: 25px; /* Smaller width */
    height: 25px; /* Smaller height */
    font-size: 16px; /* Smaller X */
  }
  
  /* Responsive slider adjustments for tablets */
  .slider-track img {
    width: 40vw; /* Wider images on tablets */
    height: 320px;
    object-fit: cover;
  }
  
  .slider-container {
    padding: 0 30px; /* Slightly reduced padding */
  }
}

/* Responsive slider adjustments for medium screens */
@media (max-width: 1024px) and (min-width: 769px) {
  .slider-track img {
    width: 30vw; /* Adjusted for medium screens */
    height: 320px;
  }
  
  .slider-container {
    padding: 0 35px;
  }
  
  .slider-track {
    gap: 14px; /* Slightly reduced gap */
  }
}

/* Responsive slider adjustments for mobile phones */
@media (max-width: 670px) {
  .slider-track img {
    width: 70vw; /* Much wider images on mobile */
    height: 280px;
  }
  
  .slider-container {
    padding: 0 20px; /* Further reduced padding */
  }
  
  .arrow {
    font-size: 1.5rem; /* Smaller arrows */
  }
  
  .slider-track {
    gap: 12px; /* Reduced gap between images */
  }
}

/* Very small mobile screens */
@media (max-width: 360px) {
  .slider-track img {
    width: 80vw; /* Full width images minus padding */
    height: 260px;
  }
  
  .arrow {
    font-size: 1.2rem;
  }
  
  .slider-container {
    padding: 0 15px;
  }
  
  .slider-section {
    padding: 30px 2%;
  }
}

@media (max-width: 1000px){
	header{
		padding: 7px 4%;
		transition: .2s;
	}
	header.sticky{
		padding: 14px 4%;
		transition: .2s;
	}
	section{
		padding: 80px 4%;
		transition: .1s;
	}
}

@media (max-width: 670px){

	.home-text h1{
		font-size: 3.5rem;
		text-shadow: #9c9c9c 1px 1px 1px;

	}
	.home-text p{
		font-weight: 700px;
		text-shadow: #ffffff -1.5px -1.5px 1px;
		max-width: 200px;
		white-space: normal;
		
	}
	#menu-icon{
		display: block;
		cursor: pointer;
	}
	.header-icons{
		display: inline-flex;
	}
	.navlist{
		position: absolute;
		top: 100%;
		left: -100%;
		width: 280px;
		height: 120vh;
		background: var(--bg-color);
		display: flex;
		align-items: center;
		flex-direction: column;
		padding: 150px 30px;
		transition: all .45s ease;
	}
	.navlist a{
		display: block;
		margin: 1.2rem 0;
	}
	.navlist.open{
		left: 0;
	}
}