:root {
  --blue: #d4af37;
  --deep: #b8860b;
  --yellow: #f5d76e;
  --ink: #f5f0df;
  --muted: #aaa18d;
  --bg: #111111;
  --gold: #d4af37;
  --card: #1c1c1c;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}

button, input, textarea { font: inherit; }
button { cursor: pointer; border: 0; }

.topbar {
  background: #080808;
  color: white;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 13px max(4vw,18px);
  position: sticky;
  top: 0;
  z-index: 5;
  border-bottom: 1px solid #8b702b;
  box-shadow: 0 4px 18px #000;
}

.brand {
  font-size: 25px;
  font-weight: 800;
  color: white;
  text-decoration: none;
  line-height: 1;
}
.brand span { color: var(--gold); }
.brand small {
  display: block;
  font-size: 10px;
  font-style: italic;
  color: #c8b77b;
  margin-top: 4px;
}

.search {
  display: flex;
  flex: 1;
  max-width: 700px;
  background: #292929;
  border: 1px solid #806b32;
  border-radius: 5px;
  overflow: hidden;
}
.search input {
  border: 0;
  padding: 12px 14px;
  outline: 0;
  flex: 1;
  min-width: 0;
  background: #292929;
  color: white;
}
.search button {
  background: var(--gold);
  color: #111;
  padding: 0 20px;
  font-weight: 700;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.light-btn, .cart-btn {
  background: var(--gold);
  color: #111;
  font-weight: 700;
  border-radius: 4px;
  padding: 10px 15px;
}
.cart-btn {
  background: transparent;
  color: var(--gold);
  border: 1px solid var(--gold);
}

.categories {
  display: flex;
  justify-content: center;
  gap: clamp(12px,5vw,65px);
  background: #191919;
  padding: 16px;
  border-bottom: 1px solid #514321;
}
.categories button {
  background: none;
  color: #e4d8b5;
  font-weight: 700;
}
.categories button:hover { color: var(--gold); }

main {
  max-width: 1200px;
  margin: 24px auto;
  padding: 0 18px;
}

.hero {
  background: linear-gradient(110deg,#211b0d,#171717 65%,#30250e);
  border: 1px solid #806b32;
  border-radius: 12px;
  padding: 42px 6%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 255px;
  overflow: hidden;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 800;
  color: var(--gold);
  margin: 0 0 10px;
}
.hero h1 {
  font-size: clamp(30px,5vw,48px);
  margin: 0 0 10px;
  line-height: 1.08;
  color: #f7e7b0;
}
.hero p:not(.eyebrow) { color: #c3b99f; }
.hero-link {
  display: inline-block;
  background: var(--gold);
  color: #111;
  padding: 12px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 700;
  margin-top: 12px;
}
.hero-art {
  font-size: 115px;
  filter: drop-shadow(0 14px 10px #000);
  padding-right: 8%;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin: 32px 0 16px;
}
.section-head h2 { margin: 0; font-size: 26px; color: #f5dfa0; }
.section-head span { color: var(--muted); font-size: 13px; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.product {
  background: var(--card);
  border: 1px solid #594821;
  border-radius: 9px;
  padding: 13px;
  box-shadow: 0 5px 18px #0008;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: transform .2s, border-color .2s;
}
.product:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
}
.product img {
  width: 100%;
  height: 180px;
  object-fit: contain;
  background: #252525;
  border-radius: 6px;
}
.product h3 { font-size: 15px; margin: 13px 0 6px; color: #f5e8c4; }
.product p { font-size: 12px; color: var(--muted); min-height: 30px; margin: 0 0 8px; }
.price {
  font-size: 19px;
  font-weight: 800;
  color: var(--gold);
  margin: 4px 0 12px;
}
.primary {
  background: linear-gradient(135deg,#f5d76e,#c49a27);
  color: #111;
  padding: 11px 16px;
  border-radius: 5px;
  font-weight: 700;
}
.primary:hover { background: #ffe28a; }
.product .primary { margin-top: auto; }

footer {
  text-align: center;
  padding: 30px;
  color: var(--muted);
  font-size: 12px;
  border-top: 1px solid #514321;
}

.dialog {
  background: #1c1c1c;
  color: #f5f0df;
  border: 1px solid var(--gold);
  border-radius: 12px;
  padding: 28px;
  width: min(430px,calc(100% - 28px));
  box-shadow: 0 20px 70px #000;
}
.dialog::backdrop { background: #000c; }
.dialog h2 { margin-top: 0; color: var(--gold); }
.close {
  position: absolute;
  right: 16px;
  top: 12px;
  background: none;
  font-size: 27px;
  color: var(--gold);
}
.dialog label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin: 13px 0;
}
.dialog input, .dialog textarea {
  display: block;
  width: 100%;
  padding: 11px;
  background: #292929;
  color: white;
  border: 1px solid #806b32;
  border-radius: 5px;
  margin-top: 6px;
}
.dialog textarea { min-height: 70px; }
.wide { width: 100%; }
.wide-dialog { width: min(620px,calc(100% - 28px)); }
.hidden { display: none!important; }
.message { font-size: 13px; color: #ff8c8c; }
.text-btn { background: none; color: var(--gold); margin-top: 10px; padding: 4px; }

.cart-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #514321;
}
.cart-row button {
  background: #482020;
  color: #ffaaaa;
  border-radius: 4px;
  padding: 5px 9px;
}
.cart-total {
  text-align: right;
  font-size: 20px;
  font-weight: 800;
  color: var(--gold);
  padding: 18px 0;
}
.checkout {
  border-top: 1px solid #514321;
  padding-top: 12px;
}
.muted { font-size: 12px; color: var(--muted); }

@media(max-width:850px) {
  .topbar { flex-wrap: wrap; gap: 12px; }
  .search { order: 3; flex-basis: 100%; max-width: none; }
  .top-actions { margin-left: auto; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-art { font-size: 75px; padding: 0; }
}
@media(max-width:480px) {
  .categories { justify-content: flex-start; overflow: auto; }
  .product img { height: 135px; }
  .hero { padding: 28px 6%; }
  .hero-art { font-size: 55px; }
  .top-actions { gap: 5px; }
  .light-btn,.cart-btn { padding: 8px; }
}

/* SHOPKART PREMIUM ANIMATIONS */

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes goldShine {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.brand {
  background: linear-gradient(90deg,#fff,#d4af37,#fff,#d4af37);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: goldShine 5s linear infinite;
}

.hero {
  animation: fadeInUp .8s ease-out both;
}

.product {
  animation: fadeInUp .65s ease-out both;
  transition: transform .3s ease, box-shadow .3s ease;
}

.product:hover {
  transform: translateY(-9px) scale(1.025);
  border-color: #f5d76e;
  box-shadow: 0 12px 30px #d4af3740;
}

.product img {
  transition: transform .4s ease;
}

.product:hover img {
  transform: scale(1.07);
}

.primary, .hero-link, .light-btn, .cart-btn {
  transition: all .25s ease;
}

.primary:hover, .hero-link:hover, .light-btn:hover, .cart-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 18px #d4af37aa;
}

.search:focus-within {
  box-shadow: 0 0 12px #d4af3788;
}

.dialog[open] {
  animation: fadeInUp .3s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* SHOPKART PROMOTIONAL BANNERS */
.promo-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin: 26px 0;
}

.promo-card {
  min-height: 245px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 24px;
  border: 1px solid #d4af37;
  border-radius: 12px;
  background: linear-gradient(110deg,#090909,#29200e);
  box-shadow: 0 8px 25px #0008;
}

.mobile-promo { grid-column: 1 / -1; min-height: 280px; }
.men-promo { background: linear-gradient(110deg,#111,#242424); }
.women-promo { background: linear-gradient(110deg,#21130f,#30200f); }

.promo-content { position: relative; z-index: 2; max-width: 65%; }
.promo-content p { color: #d4af37; font-size: 11px; letter-spacing: 2px; font-weight: 800; }
.promo-content h2 { color: #fff0c2; font-size: clamp(22px,3vw,34px); margin: 10px 0; }
.promo-content h3 { color: #f5d76e; }
.promo-card img {
  position: absolute;
  right: 0;
  top: 0;
  width: 46%;
  height: 100%;
  object-fit: cover;
  opacity: .72;
  mask-image: linear-gradient(to right,transparent,#000 35%);
  transition: transform .5s ease;
}
.promo-card:hover img { transform: scale(1.08); }
.promo-btn { margin-top: 8px; }

@media(max-width:650px) {
  .promo-grid { grid-template-columns: 1fr; }
  .mobile-promo { grid-column: auto; }
  .promo-card { min-height: 220px; padding: 16px; }
  .promo-content { max-width: 72%; }
  .promo-card img { width: 48%; }
}

.boys-banner {
  margin: 28px 0;
  padding: 45px;
  min-height: 260px;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: white;
  background: linear-gradient(115deg, #090914, #35106b 55%, #087eaa);
  position: relative;
}
.boys-banner-content { position: relative; z-index: 2; }
.boys-tag { color: #d8b4fe; font-weight: 800; letter-spacing: 2px; }
.boys-banner h2 { font-size: clamp(36px, 6vw, 64px); margin: 12px 0; font-weight: 900; }
.boys-banner-content > p:not(.boys-tag) { font-size: 17px; }
.boys-banner-art { font-size: 110px; filter: drop-shadow(0 0 25px #b46cff); }
.boys-shop-btn {
  margin-top: 16px; padding: 14px 28px; border: 0;
  border-radius: 30px; background: #d8b4fe; color: #160b29;
  font-weight: 900; cursor: pointer; transition: .25s;
}
.boys-shop-btn:hover { transform: scale(1.08); background: white; }
@media(max-width:600px) {
  .boys-banner { padding: 25px 20px; min-height: 220px; }
  .boys-banner-art { font-size: 65px; }
}

/* SHOPKART GEN Z UPGRADE */
:root {
  --genz-purple: #a855f7;
  --genz-blue: #38bdf8;
  --genz-pink: #fb4b91;
}

body {
  background: #090910;
  color: #f8f7ff;
}

.categories {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 16px 20px;
  scrollbar-width: none;
}

.categories button {
  flex-shrink: 0;
  border: 1px solid #39304c;
  background: #171322;
  color: white;
  border-radius: 22px;
  padding: 10px 19px;
  cursor: pointer;
  transition: .25s;
}

.categories button:hover {
  background: var(--genz-purple);
  transform: translateY(-3px);
}

.hero {
  background: linear-gradient(120deg,#120b27,#29104a,#073c58);
  border: 1px solid #57317c;
  border-radius: 22px;
  padding: 45px;
  color: white;
}

.hero h1 {
  font-size: clamp(38px,6vw,70px);
  font-weight: 900;
  background: linear-gradient(90deg,#fff,#c084fc,#38bdf8);
  -webkit-background-clip: text;
  color: transparent;
}

.promo-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin: 28px 0;
}

.promo-card {
  position: relative;
  overflow: hidden;
  padding: 28px;
  min-height: 220px;
  border: 1px solid #493365;
  border-radius: 20px;
  color: white;
  background: linear-gradient(120deg,#171027,#37205b);
}

.promo-card h2 {
  font-size: clamp(23px,3vw,36px);
  font-weight: 900;
  margin: 12px 0;
}

.promo-card p { color: #e5d9ff; }

.promo-mobile {
  background: linear-gradient(110deg,#15102b,#4b1684,#075985);
}

.promo-men {
  background: linear-gradient(110deg,#101018,#243a5c);
}

.promo-women {
  background: linear-gradient(110deg,#271024,#77234f);
}

.hoodie-banner {
  margin: 25px 0;
  background: linear-gradient(110deg,#090910,#44206c,#142f64);
  border-color: #9b5de5;
}

.boys-hoodie-banner {
  margin: 25px 0;
  background: linear-gradient(110deg,#080c18,#123d65,#552080);
  border-color: #38bdf8;
}

.promo-card .primary {
  margin-top: 15px;
  border: 0;
  border-radius: 25px;
  padding: 12px 22px;
  background: linear-gradient(90deg,#c084fc,#38bdf8);
  color: #090910;
  font-weight: 900;
  cursor: pointer;
  transition: .25s;
}

.promo-card .primary:hover {
  transform: scale(1.06);
  box-shadow: 0 0 22px #a855f7;
}

.boys-banner {
  border: 1px solid #a855f7;
  box-shadow: 0 0 28px #7629a633;
}

.product {
  border: 1px solid #302542;
  background: #15121e;
  color: white;
  border-radius: 16px;
  overflow: hidden;
}

.product:hover {
  border-color: #a855f7;
  box-shadow: 0 0 22px #a855f744;
}

.dialog {
  background:
    radial-gradient(circle at top right,#6b102e66,transparent 40%),
    linear-gradient(145deg,#090b18,#15132b);
  color: white;
  border: 1px solid #e63959;
  border-radius: 20px;
  box-shadow: 0 0 35px #e6395944;
}

.dialog::backdrop {
  background: #02030bdc;
  backdrop-filter: blur(7px);
}

.dialog h2 {
  color: #ff536b;
  text-shadow: 0 0 15px #e63959;
}

.dialog input {
  background: #101a30;
  color: white;
  border: 1px solid #3476b8;
  border-radius: 9px;
  padding: 12px;
}

.dialog .primary {
  background: linear-gradient(90deg,#e63946,#1769aa);
  color: white;
  border: 0;
  font-weight: 900;
  cursor: pointer;
}

.dialog .text-btn { color: #64c7ff; }

@media(max-width:650px) {
  .promo-grid { grid-template-columns: 1fr; }
  .hero { padding: 25px; }
  .promo-card { min-height: 210px; }
}

/* BOYS HOODIE PHOTO BANNER */
.boys-hoodie-banner {
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 40px;
  border: 1px solid #38bdf8;
  border-radius: 22px;
  overflow: hidden;
  background-image:
    linear-gradient(90deg,
      rgba(5,8,18,.96) 0%,
      rgba(5,8,18,.82) 38%,
      rgba(5,8,18,.12) 100%),
    url('https://images.unsplash.com/photo-1619051240900-01a23cab0ac2?auto=format&fit=crop&w=1800&q=85');
  background-size: cover;
  background-position: center 42%;
  box-shadow: 0 0 28px #38bdf833;
}

.boys-hoodie-banner h2 {
  color: white;
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 900;
  text-shadow: 0 3px 15px #000;
}

.boys-hoodie-banner p {
  color: #e0f2fe;
  font-size: 17px;
  font-weight: 600;
}

.boys-hoodie-banner .primary {
  background: linear-gradient(90deg,#38bdf8,#a855f7);
  color: #080914;
  padding: 14px 28px;
  border: 0;
  border-radius: 30px;
  font-weight: 900;
  cursor: pointer;
}

@media(max-width:650px) {
  .boys-hoodie-banner {
    min-height: 300px;
    padding: 22px;
    background-position: 58% center;
  }
}
