*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial,sans-serif;
}

html,
body{
  width:100%;
  overflow-x:hidden;
  scroll-behavior:smooth;
}

/* =========================================
   THEME VARIABLES
========================================= */

:root{

  /* DARK MODE */

  --bg:#050505;
  --text:#ffffff;
  --secondary:#cfcfcf;

  --glass:rgba(255,255,255,0.05);
  --glass-border:rgba(255,255,255,0.08);

  --button:#ffffff;
  --button-text:#000000;

  --shadow:
  0 8px 32px rgba(0,0,0,0.35);

  /* BLACK GLASS */

  --black-glass:
  rgba(0,0,0,0.55);

  --black-glass-border:
  rgba(255,255,255,0.06);
}

/* LIGHT MODE */

body.light-mode{

  --bg:#f5f5f5;
  --text:#111111;
  --secondary:#555555;

  --glass:rgba(255,255,255,0.55);
  --glass-border:rgba(0,0,0,0.08);

  --button:#111111;
  --button-text:#ffffff;

  --shadow:
  0 10px 35px rgba(0,0,0,0.08);

  /* KEEP NEWSLETTER + FOOTER BLACK GLASS */

  --black-glass:
  rgba(0,0,0,0.75);

  --black-glass-border:
  rgba(255,255,255,0.08);
}

/* =========================================
   BODY
========================================= */

body{

  background:var(--bg);
  color:var(--text);

  transition:0.4s ease;
}

/* =========================================
   HEADER
========================================= */

.header{

  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:20px 5%;

  position:fixed;

  top:0;
  left:0;

  z-index:1000;

  background:var(--glass);

  backdrop-filter:blur(18px);

  border-bottom:
  1px solid var(--glass-border);
}

/* LOGO */

.logo{

  font-size:32px;
  font-weight:bold;

  color:var(--text);
}

/* NAV */

.nav-links{

  display:flex;

  gap:35px;

  list-style:none;
}

.nav-links a{

  text-decoration:none;

  color:var(--text);

  opacity:0.8;

  transition:0.3s;
}

.nav-links a:hover{

  opacity:1;
}

/* SEARCH */

.header-search{

  width:320px;

  display:flex;

  overflow:hidden;

  border-radius:16px;

  background:var(--glass);

  backdrop-filter:blur(18px);

  border:
  1px solid var(--glass-border);
}

.header-search input{

  width:100%;

  border:none;
  outline:none;

  padding:14px;

  background:transparent;

  color:var(--text);
}

.header-search button{

  width:60px;

  border:none;

  background:var(--button);

  color:var(--button-text);

  cursor:pointer;
}

/* RIGHT */

.header-icons{

  display:flex;

  align-items:center;

  gap:20px;
}

/* THEME BUTTON */

.theme-toggle{

  width:50px;
  height:50px;

  border:none;

  border-radius:50%;

  background:var(--glass);

  backdrop-filter:blur(18px);

  border:
  1px solid var(--glass-border);

  color:var(--text);

  cursor:pointer;

  font-size:20px;

  transition:0.3s;
}

.theme-toggle:hover{

  transform:scale(1.1);
}

/* ACCOUNT */

.account-btn{

  display:flex;

  align-items:center;

  gap:10px;

  padding:10px 18px;

  border-radius:16px;

  text-decoration:none;

  color:var(--text);

  background:var(--glass);

  backdrop-filter:blur(18px);

  border:
  1px solid var(--glass-border);
}

.account-icon{

  width:36px;
  height:36px;

  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  background:var(--button);

  color:var(--button-text);
}

/* =========================================
   HERO
========================================= */

.hero{

  width:100%;

  min-height:100vh;

  display:flex;

  align-items:center;
  justify-content:space-between;

  padding:140px 5% 80px;

  position:relative;
}

/* GLOW */

.hero::before{

  content:"";

  position:absolute;

  width:700px;
  height:700px;

  border-radius:50%;

  background:
  rgba(255,255,255,0.06);

  filter:blur(120px);

  top:-150px;
  right:-100px;
}

/* LEFT */

.hero-left{

  width:45%;
}

.hero-mini-text{

  display:inline-block;

  padding:12px 22px;

  border-radius:30px;

  background:var(--glass);

  border:
  1px solid var(--glass-border);

  margin-bottom:30px;
}

.hero h1{

  font-size:88px;

  line-height:1;

  margin-bottom:30px;
}

.hero p{

  font-size:20px;

  line-height:1.8;

  color:var(--secondary);

  margin-bottom:40px;
}

/* BUTTON */

.hero-btn{

  display:inline-block;

  padding:16px 34px;

  border-radius:16px;

  background:var(--button);

  color:var(--button-text);

  text-decoration:none;

  font-weight:bold;

  transition:0.3s;
}

.hero-btn:hover{

  transform:translateY(-5px);
}

/* =========================================
   HERO RIGHT
========================================= */

.hero-right{

  width:50%;

  height:700px;
}

.hero-slider{

  width:100%;
  height:100%;

  position:relative;

  border-radius:40px;

  overflow:hidden;

  background:var(--glass);

  backdrop-filter:blur(20px);

  border:
  1px solid var(--glass-border);
}

/* SLIDES */

.hero-slide{

  position:absolute;

  top:50%;
  left:50%;

  width:85%;

  object-fit:contain;

  opacity:0;

  transform:
  translate(-50%, -55%)
  translateX(220px);

  transition:
  opacity 1.2s ease,
  transform 1.2s ease;

  filter:
  drop-shadow(
    0 35px 45px rgba(0,0,0,0.45)
  );
}

.hero-slide.active{

  opacity:1;

  transform:
  translate(-50%, -55%)
  translateX(0);

  animation:
  floatImage 4s ease-in-out infinite;
}

.hero-slide.exit{

  opacity:0;

  transform:
  translate(-50%, -55%)
  translateX(-220px);
}

/* FLOAT */

@keyframes floatImage{

  0%{
    margin-top:0;
  }

  50%{
    margin-top:-12px;
  }

  100%{
    margin-top:0;
  }
}

/* =========================================
   PRODUCTS
========================================= */

.products-showcase{

  padding:120px 5%;
}

.products-showcase h2{

  text-align:center;

  font-size:58px;

  margin-bottom:70px;
}

/* GRID */

.products-grid{

  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(320px,1fr));

  gap:35px;
}

/* CARD */

.product-card{

  border-radius:32px;

  overflow:hidden;

  background:var(--glass);

  backdrop-filter:blur(18px);

  border:
  1px solid var(--glass-border);

  transition:0.5s;

  box-shadow:var(--shadow);
}

.product-card:hover{

  transform:
  translateY(-10px)
  scale(1.02);
}

.product-card img{

  width:100%;

  height:320px;

  object-fit:contain;

  padding:30px;
}

/* INFO */

.product-info{

  padding:30px;
}

.product-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:30px;

  background:var(--glass);

  border:
  1px solid var(--glass-border);

  margin-bottom:20px;
}

.product-info h3{

  font-size:34px;

  margin-bottom:15px;
}

.product-info p{

  color:var(--secondary);

  line-height:1.7;

  margin-bottom:25px;
}

/* BOTTOM */

.product-bottom{

  display:flex;

  justify-content:space-between;

  align-items:center;
}

.price{

  font-size:28px;

  font-weight:bold;
}

.product-bottom button{

  padding:14px 24px;

  border:none;

  border-radius:14px;

  background:var(--button);

  color:var(--button-text);

  cursor:pointer;
}

/* =========================================
   NEWSLETTER
========================================= */

.newsletter{

  margin:100px 5%;

  padding:80px;

  border-radius:35px;

  text-align:center;

  /* BLACK GLASS */

  background:var(--black-glass);

  backdrop-filter:blur(25px);

  border:
  1px solid var(--black-glass-border);

  box-shadow:
  0 20px 45px rgba(0,0,0,0.35);
}

.newsletter h2{

  font-size:52px;

  margin-bottom:20px;

  color:white;
}

.newsletter p{

  color:#d0d0d0;

  margin-bottom:35px;
}

.newsletter-form{

  display:flex;

  justify-content:center;

  gap:15px;

  flex-wrap:wrap;
}

.newsletter input{

  width:350px;

  padding:16px;

  border:none;

  outline:none;

  border-radius:14px;

  background:
  rgba(255,255,255,0.08);

  color:white;

  border:
  1px solid rgba(255,255,255,0.08);
}

.newsletter input::placeholder{

  color:#c7c7c7;
}

.newsletter button{

  padding:16px 30px;

  border:none;

  border-radius:14px;

  background:white;

  color:black;

  cursor:pointer;

  font-weight:bold;
}

/* =========================================
   FOOTER
========================================= */

.footer{

  margin:0 5% 40px;

  padding:90px 5% 40px;

  border-radius:35px;

  /* BLACK GLASS */

  background:var(--black-glass);

  backdrop-filter:blur(25px);

  border:
  1px solid var(--black-glass-border);

  box-shadow:
  0 20px 45px rgba(0,0,0,0.35);
}

.footer-grid{

  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(220px,1fr));

  gap:50px;

  margin-bottom:50px;
}

.footer-column h3,
.footer-column h4{

  color:white;

  margin-bottom:20px;
}

.footer-column p,
.footer-column a{

  color:#d0d0d0;

  text-decoration:none;

  line-height:1.8;

  transition:0.3s;
}

.footer-column a:hover{

  color:white;

  transform:translateX(5px);
}

.footer-bottom{

  border-top:
  1px solid rgba(255,255,255,0.08);

  padding-top:25px;

  text-align:center;

  color:#bdbdbd;
}

.logo {
  display: flex;
  align-items: center;
  height: 100%; /* Keeps the container aligned with the navbar height */
}

.logo-image {
  height: 70px;      /* Adjust this height to match your design scale */
  width: auto;        /* Keeps the image aspect ratio perfect */
  display: block;
  object-fit: contain; /* Ensures the image doesn't stretch or distort */
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px){

  .hero{

    flex-direction:column;

    text-align:center;

    gap:60px;
  }

  .hero-left,
  .hero-right{

    width:100%;
  }

  .hero h1{

    font-size:58px;
  }

}

@media(max-width:768px){

  .header{

    flex-direction:column;

    gap:20px;
  }

  .hero{

    padding-top:180px;
  }

  .hero h1{

    font-size:42px;
  }

  .products-showcase h2{

    font-size:40px;
  }

  .newsletter{

    padding:50px 25px;
  }

  .newsletter h2{

    font-size:38px;
  }

  .footer{

    padding:60px 25px;
  }

}