@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..700&family=Playfair+Display:wght@500..900&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; overflow-x: hidden; font-family: 'Inter', -apple-system, sans-serif; }

.navbar { width: 100%; height: 50px; position: fixed; top: 20px; z-index: 1000; }
.navbar-limit { max-width: 1920px; margin: 0 auto; }
.navbar-margin {
  margin: 0 20px; height: 50px; border-radius: 35px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px;
  background: rgba(10, 20, 50, .55);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255, .15);
  overflow: visible;
}
.navbar-logo { height: 32px; width: auto; flex-shrink: 0; }

.navbar-links {
  display: flex; align-items: center; justify-content: center;
  gap: 2px; flex: 1; height: 100%; position: relative; overflow: visible;
}
.navbar-links > a {
  color: #fff; text-decoration: none; font-size: 12px; font-weight: 500;
  letter-spacing: .5px; text-transform: uppercase; white-space: nowrap;
  opacity: .75; padding: 8px 14px; border-radius: 20px;
  transition: opacity .2s, background .2s;
}
.navbar-links > a:hover, .navbar-links > a.active { opacity: 1; background: rgba(255,255,255,.12); }

.mega-menu {
  position: absolute; top: calc(100% + 6px); left: 0;
  background: rgba(10, 20, 50, .55); backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border: 1px solid rgba(255,255,255,.12); border-radius: 35px;
  padding: 24px; display: flex; gap: 28px; z-index: 100;
  opacity: 0; visibility: hidden;
  transition: opacity .25s, visibility .25s, left .35s cubic-bezier(.22,.61,.36,1);
}
.mega-menu.visible { opacity: 1; visibility: visible; }

.dropdown-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; min-width: 420px; }
.dropdown-item {
  display: flex; align-items: flex-start; gap: 12px; padding: 10px 14px;
  border-radius: 12px; transition: background .2s; text-decoration: none; color: #fff;
}
.dropdown-item:hover { background: rgba(255,255,255,.08); }
.dropdown-item-icon {
  width: 36px; height: 36px; border-radius: 10px; background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; color: #fff;
}
.dropdown-item-text strong { display: block; font-size: 13px; font-weight: 600; margin-bottom: 2px; }
.dropdown-item-text span { display: block; font-size: 11px; font-weight: 400; opacity: .6; line-height: 1.3; }
.dropdown-image {
  margin: -14px -14px -14px 0; width: 200px; align-self: stretch;
  border-radius: 25px; object-fit: cover; flex-shrink: 0;
}

.section { width: 100%; }
.section-limit { max-width: 1920px; margin: 0 auto; }
.section-margin { margin: 0; transition: margin .4s ease; }
.section-margin.scrolled { margin: 10px; }

.hero {
  width: 100%; height: 500px;
  background: url('https://images.unsplash.com/photo-1607082349566-187342175e2f?w=1920&h=1080&fit=crop') center/cover no-repeat;
  border-radius: 0; overflow: hidden; position: relative;
  transition: border-radius .4s ease;
}
.hero.scrolled { border-radius: 35px; }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(10,20,50,.75), rgba(10,20,50,.25));
}
.hero-content {
  position: relative; color: #fff; max-width: 600px; padding: 0 80px;
  top: 50%; transform: translateY(-50%);
}
.hero-content h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 52px; font-weight: 700; line-height: 1.15; margin-bottom: 20px;
}
.hero-content p { font-size: 18px; font-weight: 400; opacity: .85; line-height: 1.6; margin-bottom: 36px; }
.hero-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: #fff; color: #0a1432; text-decoration: none;
  font-size: 15px; font-weight: 600; padding: 16px 36px;
  border-radius: 50px; transition: background .2s, transform .2s;
}
.hero-btn:hover { background: #e8e8e8; transform: translateY(-2px); }

.features-section { padding: 10px; }
.features-grid { max-width: 1500px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 120px; padding: 10px 0; }
.feature-card { display: flex; align-items: flex-start; gap: 20px; padding: 24px 0; }
.feature-card i { font-size: 44px; color: #0a1432; }
.feature-card h3 { font-size: 15px; font-weight: 600; color: #111; margin-bottom: 4px; }
.feature-card p { font-size: 12px; color: #999; line-height: 1.4; }

.navbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.navbar-actions a {
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .5px;
  text-transform: uppercase;
  opacity: .75;
  padding: 8px 14px;
  border-radius: 20px;
  transition: opacity .2s, background .2s;
  white-space: nowrap;
}
.navbar-actions a:hover { opacity: 1; background: rgba(255,255,255,.12); }
.cart-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  color: #fff;
  cursor: pointer;
  transition: background .2s;
  backdrop-filter: blur(12px);
}
.cart-btn:hover, .account-btn:hover { background: rgba(255,255,255,.25); }
.cart-count {
  position: absolute;
  top: -3px; right: -3px;
  min-width: 20px; height: 20px;
  border-radius: 10px;
  background: #4ade80;
  color: #111;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
}

.account-dropdown { position: relative; margin-right: -19px; }
.account-btn {
  display: flex;
  align-items: center;
  gap: 8px;
}
.account-dropdown-content {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: rgba(10, 20, 50, .95);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 8px 0;
  min-width: 180px;
  opacity: 0; visibility: hidden;
  transform: translateY(6px);
  transition: opacity .25s, visibility .25s, transform .25s;
  z-index: 200;
}
.account-dropdown:hover .account-dropdown-content {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}
.account-dropdown-content a {
  display: block;
  padding: 10px 20px;
  border-radius: 0;
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}
.account-dropdown-content a:hover { background: rgba(255,255,255,.08); }

.cart-dropdown { position: relative; }
.cart-dropdown-content {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 340px;
  background: rgba(10, 20, 50, .95);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  overflow: hidden;
  opacity: 0; visibility: hidden;
  transform: translateY(6px);
  transition: opacity .25s, visibility .25s, transform .25s;
  z-index: 200;
}
.cart-dropdown:hover .cart-dropdown-content {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}
.cart-dropdown-header {
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
.cart-dropdown-body { padding: 16px 20px; max-height: 300px; overflow-y: auto; }
.cart-empty { font-size: 13px; color: rgba(255,255,255,.3); text-align: center; padding: 20px 0; margin: 0; }
.cart-dropdown-footer {
  padding: 12px 20px 16px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.cart-checkout-btn {
  display: block; text-align: center;
  padding: 13px; border-radius: 14px;
  background: #fff; color: #0a1432;
  font-size: 14px; font-weight: 600; text-decoration: none;
  text-transform: none; letter-spacing: 0;
}
.cart-checkout-btn:hover { opacity: .9; background: #fff; }
