:root{
  --bg:#f7f7fb;
  --surface:#ffffff;
  --surface-2:#f0f2f7;
  --text:#121212;
  --muted:#6b7280;
  --brand:#111827;
  --accent:#ff6b35;
  --accent-2:#f59e0b;
  --border:rgba(17,24,39,.08);
  --shadow:0 16px 40px rgba(17,24,39,.08);
  --shadow-sm:0 10px 25px rgba(17,24,39,.07);
  --radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(255,107,53,.08), transparent 30%),
    radial-gradient(circle at top right, rgba(245,158,11,.08), transparent 25%),
    var(--bg);
  color:var(--text);
}

a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}

.topbar{
  background:linear-gradient(90deg,var(--brand),#374151);
  color:#fff;
  font-size:.9rem;
  padding:.65rem 0;
}

.topbar .badge{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
}


/* =========================
   MODERN RESPONSIVE NAVBAR
========================= */

.navbar-glass{
  position: sticky;
  top: 0;
  z-index: 1000;

  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);

  border-bottom: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 6px 25px rgba(17,24,39,.05);

  padding: 12px 0;
}

/* NAVBAR CONTAINER */

.navbar-container{
  width: min(1200px, 92%);
  margin: auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* LOGO */

.brand{
  display: flex;
  align-items: center;
  gap: 12px;

  text-decoration: none;
}

.brand-mark{
  width: 45px;
  height: 45px;
  border-radius: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: linear-gradient(135deg,var(--brand),#374151);

  color: #fff;
  font-size: 18px;
  font-weight: 700;

  box-shadow: var(--shadow-sm);
}

.brand-name{
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--brand);
}

/* NAV LINKS */

.nav-links{
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-link{
  position: relative;

  padding: 10px 16px;
  border-radius: 12px;

  font-size: .95rem;
  font-weight: 500;

  color: #1f2937;
  transition: all .3s ease;
}

/* HOVER EFFECT */

.nav-link:hover{
  color: var(--accent);
  background: rgba(255,107,53,.08);
}

/* ACTIVE LINK */

.nav-link.active{
  color: var(--accent);
  background: rgba(255,107,53,.10);
}

.nav-link.active::after{
  content: "";

  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;

  height: 2px;
  border-radius: 20px;

  background: var(--accent);
}

/* RIGHT SECTION */

.nav-right{
  display: flex;
  align-items: center;
  gap: 12px;
}

/* SEARCH BOX */

.search-pill{
  display: flex;
  align-items: center;

  background: #fff;

  border: 1px solid rgba(17,24,39,.08);
  border-radius: 999px;

  overflow: hidden;

  min-width: 280px;
}

.search-pill input{
  flex: 1;

  border: none;
  outline: none;

  padding: 12px 16px;

  background: transparent;

  font-size: .95rem;
}

.search-pill .btn{
  border: none;

  background: var(--brand);
  color: #fff;

  padding: 12px 18px;

  cursor: pointer;
  transition: .3s;
}

.search-pill .btn:hover{
  background: var(--accent);
}

/* ICON BUTTONS */

.icon-btn{
  width: 44px;
  height: 44px;

  border-radius: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #fff;

  border: 1px solid var(--border);

  box-shadow: var(--shadow-sm);

  cursor: pointer;
  transition: .3s ease;
}

.icon-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(255,107,53,.3);
}

/* MOBILE MENU BUTTON */

.menu-toggle{
  display: none;

  width: 44px;
  height: 44px;

  border-radius: 12px;

  border: 1px solid var(--border);

  background: #fff;

  cursor: pointer;

  align-items: center;
  justify-content: center;

  font-size: 20px;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991px){

  .menu-toggle{
    display: flex;
  }

  .nav-links{
    position: absolute;

    top: 100%;
    left: 0;
    right: 0;

    background: #fff;

    flex-direction: column;
    align-items: flex-start;

    padding: 20px;

    border-bottom: 1px solid rgba(0,0,0,0.05);

    display: none;
  }

  .nav-links.active{
    display: flex;
  }

  .search-pill{
    display: none;
  }

  .nav-right{
    gap: 8px;
  }
}

@media (max-width: 576px){

  .brand-name{
    font-size: 1.05rem;
  }

  .navbar-container{
    gap: 10px;
  }

  .icon-btn{
    width: 40px;
    height: 40px;
  }
}

.hero{
  padding:5rem 0 2rem;
}
.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:560px;
  box-shadow:var(--shadow);
  background:
    linear-gradient(90deg, rgba(17,24,39,.82), rgba(17,24,39,.35)),
    url('https://images.unsplash.com/photo-1445205170230-053b83016050?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}
.hero-card::before{
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.16), transparent 22%),
    radial-gradient(circle at 20% 80%, rgba(255,107,53,.20), transparent 18%);
}
.hero-content{
  position:relative;
  z-index:1;
  color:#fff;
  padding:4rem;
  max-width:640px;
}
.hero h1{
  font-size:clamp(2.6rem, 6vw, 5.6rem);
  line-height:.95;
  font-weight:800;
  letter-spacing:-1.5px;
}
.hero p{
  color:rgba(255,255,255,.86);
  font-size:1.05rem;
  max-width:48ch;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border-radius:999px;
  padding:.55rem .9rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:500;
  margin-bottom:1rem;
}
.btn-brand{
  background:var(--accent);
  border:none;
  color:#fff;
  border-radius:999px;
  padding:.9rem 1.25rem;
  font-weight:600;
  box-shadow:0 12px 24px rgba(255,107,53,.24);
}
.btn-brand:hover{background:#ef5a24;color:#fff}
.btn-outline-brand{
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  border-radius:999px;
  padding:.9rem 1.25rem;
  font-weight:600;
  background:transparent;
}
.btn-outline-dark2{
  border:1px solid var(--border);
  color:var(--brand);
  border-radius:999px;
  padding:.8rem 1.15rem;
  font-weight:600;
  background:#fff;
}

.section{
  padding:2rem 0 3.5rem;
}
.section-title{
  font-size:clamp(1.5rem,2vw,2.1rem);
  font-weight:800;
  letter-spacing:-.03em;
}
.section-subtitle{color:var(--muted); margin:0}

.feature-strip{
  background:#fff;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  border-radius:28px;
  padding:1.1rem 1.2rem;
}

.feature-item{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
}
.feature-icon{
  width:46px;height:46px;border-radius:16px;
  background:linear-gradient(135deg, rgba(255,107,53,.14), rgba(245,158,11,.14));
  display:grid;place-items:center;
  flex:none;
  color:var(--accent);
  font-size:1.1rem;
}
.feature-item h6{margin:0;font-weight:700}
.feature-item p{margin:0;color:var(--muted);font-size:.92rem}

.category-card, .product-card, .info-card, .auth-card, .checkout-card, .cart-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}

.category-card{
  overflow:hidden;
  transition:.25s ease;
}
.category-card:hover, .product-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}
.category-card .image{
  aspect-ratio: 4 / 5;
  overflow:hidden;
}
.category-card .image img,
.product-card .image img{
  width:100%; height:100%; object-fit:cover;
  transition:.4s ease;
}
.category-card:hover img, .product-card:hover img{transform:scale(1.05)}
.card-body-padded{padding:1.1rem 1.1rem 1.2rem}
.card-title{
  font-size:1.1rem;
  font-weight:700;
  margin-bottom:.35rem;
}
.badge-soft{
  background:rgba(255,107,53,.10);
  color:var(--accent);
  border:1px solid rgba(255,107,53,.12);
  border-radius:999px;
  font-weight:600;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1.25rem;
}
.product-card{overflow:hidden}
.product-card .image{aspect-ratio: 1 / 1.15}
.price{
  font-weight:800;
  font-size:1.15rem;
}
.rating{
  color:#f59e0b;
  font-size:.95rem;
}
.muted{color:var(--muted)}

.hero-slim{
  padding:1.5rem 0 0;
}
.page-hero{
  border-radius:30px;
  background:
    linear-gradient(90deg, rgba(17,24,39,.88), rgba(17,24,39,.35)),
    url('https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
  min-height:250px;
  color:#fff;
  box-shadow:var(--shadow);
}
.page-hero .inner{
  padding:2.2rem;
  max-width:700px;
}
.page-hero h1{
  font-size:clamp(2rem, 4vw, 3.4rem);
  font-weight:800;
  letter-spacing:-.03em;
}

.filter-bar{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow-sm);
  padding:.8rem;
}

.breadcrumb-compact{
  color:rgba(255,255,255,.85);
  font-size:.95rem;
}
.breadcrumb-compact a{color:#fff; opacity:.9}
.breadcrumb-compact span{opacity:.6}

.product-gallery{
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#fff;
}
.product-gallery img{width:100%; height:100%; object-fit:cover}
.size-btn{
  border:1px solid var(--border);
  background:#fff;
  border-radius:14px;
  padding:.65rem .95rem;
  min-width:54px;
  font-weight:600;
}
.size-btn.active{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}
.size-btn.sold-out{
  color:var(--muted);
  text-decoration:line-through;
  opacity:.55;
  cursor:not-allowed;
}
.size-btn.sold-out:hover{
  transform:none;
}
.qty-input{
  max-width:120px;
}

.cart-item{
  border:1px solid var(--border);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.cart-item img{
  width:96px; height:96px; object-fit:cover; border-radius:18px;
}
.summary-box{
  position:sticky;
  top:90px;
}

.form-control, .form-select{
  border-radius:16px;
  border:1px solid rgba(17,24,39,.12);
  padding:.85rem 1rem;
}
.form-control:focus, .form-select:focus{
  border-color:rgba(255,107,53,.45);
  box-shadow:0 0 0 .25rem rgba(255,107,53,.10);
}

.auth-wrap{
  min-height:calc(100vh - 110px);
  display:grid;
  place-items:center;
  padding:2rem 0;
}
.auth-card{
  max-width:520px;
  width:100%;
  padding:2rem;
}
.auth-side{
  border-radius:30px;
  min-height:100%;
  background:
    linear-gradient(180deg, rgba(17,24,39,.76), rgba(17,24,39,.86)),
    url('https://images.unsplash.com/photo-1483985988355-763728e1935b?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
  color:#fff;
  padding:2rem;
  box-shadow:var(--shadow);
}

.footer{
  background:#0f172a;
  color:#cbd5e1;
  margin-top:2rem;
}
.footer a{color:#e2e8f0}
.footer .brand-mark{background:linear-gradient(135deg,var(--accent),#fb7185)}

.small-link{color:var(--accent); font-weight:600}

@media (max-width: 1199.98px){
  .product-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
  .search-pill{min-width:240px}
}
@media (max-width: 991.98px){
  .hero-content{padding:2.25rem}
  .product-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .search-pill{min-width:100%}
  .summary-box{position:static}
}
@media (max-width: 575.98px){
  .hero-card{min-height:auto}
  .hero-content{padding:1.6rem}
  .product-grid{grid-template-columns:1fr}
  .page-hero .inner{padding:1.4rem}
}


/* Account center */
.account-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.profile-avatar{
  width:72px;
  height:72px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-size:1.5rem;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg, var(--accent), #111827);
  box-shadow:0 16px 30px rgba(17,24,39,.16);
}
.account-stat{
  padding:1rem 1.1rem;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fbfbfc;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.account-stat span{
  color:var(--muted);
  font-size:.92rem;
}
.account-order-list{
  border:1px solid var(--border);
  border-radius:18px;
  padding:1rem;
  background:#fff;
  display:grid;
  gap:.7rem;
}
.setting-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fbfbfc;
}
[data-auth-feedback]{
  font-weight:500;
}
.icon-btn.account-ready{
  border-color: rgba(255,107,53,.35);
  box-shadow: 0 12px 24px rgba(255,107,53,.12);
}
@media (max-width: 575.98px){
  .profile-avatar{width:60px;height:60px;border-radius:18px}
  .account-stat{flex-direction:column;align-items:flex-start}
  .setting-row{align-items:flex-start;flex-direction:column}
}


/* Dark theme */
body[data-theme="dark"]{
  --bg:#0b1020;
  --surface:#111827;
  --surface-2:#182033;
  --text:#eef2ff;
  --muted:#b3bdd6;
  --brand:#f8fafc;
  --accent:#ff8a5c;
  --accent-2:#fbbf24;
  --border:rgba(255,255,255,.10);
  --shadow:0 16px 40px rgba(0,0,0,.28);
  --shadow-sm:0 10px 25px rgba(0,0,0,.20);
}

body[data-theme="dark"] .navbar-glass,
body[data-theme="dark"] .filter-bar,
body[data-theme="dark"] .feature-strip,
body[data-theme="dark"] .category-card,
body[data-theme="dark"] .product-card,
body[data-theme="dark"] .info-card,
body[data-theme="dark"] .auth-card,
body[data-theme="dark"] .checkout-card,
body[data-theme="dark"] .cart-card,
body[data-theme="dark"] .account-card,
body[data-theme="dark"] .product-gallery,
body[data-theme="dark"] .account-order-list,
body[data-theme="dark"] .account-stat,
body[data-theme="dark"] .setting-row,
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .form-select{
  background: var(--surface);
  color: var(--text);
}

body[data-theme="dark"] .text-muted,
body[data-theme="dark"] .muted,
body[data-theme="dark"] .small,
body[data-theme="dark"] .footer,
body[data-theme="dark"] .footer a{
  color: var(--muted) !important;
}

body[data-theme="dark"] .navbar-glass{
  border-bottom-color: rgba(255,255,255,.08);
}

body[data-theme="dark"] .nav-link{
  color: var(--text);
}

body[data-theme="dark"] .nav-link:hover,
body[data-theme="dark"] .nav-link.active{
  background: rgba(255,255,255,.06);
}

body[data-theme="dark"] .search-pill{
  background: var(--surface);
  border-color: var(--border);
}

body[data-theme="dark"] .icon-btn,
body[data-theme="dark"] .size-btn,
body[data-theme="dark"] .btn-outline-dark2{
  background: var(--surface);
  color: var(--text);
  border-color: var(--border);
}

body[data-theme="dark"] .page-hero,
body[data-theme="dark"] .hero-card,
body[data-theme="dark"] .auth-side{
  box-shadow: var(--shadow);
}

body[data-theme="dark"] .account-stat,
body[data-theme="dark"] .setting-row,
body[data-theme="dark"] .account-order-list{
  background: rgba(255,255,255,.03);
}

body[data-theme="dark"] .form-control::placeholder{
  color: #94a3b8;
}

body[data-theme="dark"] .form-control:focus,
body[data-theme="dark"] .form-select:focus{
  border-color: rgba(255,138,92,.45);
  box-shadow:0 0 0 .25rem rgba(255,138,92,.12);
}

/* ── PHP/NovaWear extras ────────────────────────────── */
.btn-wishlist {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.9);
  display: grid;
  place-items: center;
  font-size: 1rem;
  cursor: pointer;
  transition: transform .2s;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.btn-wishlist:hover { transform: scale(1.12); }

.checkout-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.cart-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.color-btn { text-transform: capitalize; }

/* pill badge for hero sections */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,107,53,.12);
  color: var(--accent);
  border: 1px solid rgba(255,107,53,.20);
  padding: .4rem .9rem;
  border-radius: 999px;
  font-size: .87rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
}

/* Outline brand button */
.btn-outline-brand {
  background: transparent;
  border: 2px solid var(--accent);
  color: var(--accent);
  font-weight: 700;
  border-radius: 16px;
  transition: all .25s;
}
.btn-outline-brand:hover {
  background: var(--accent);
  color: #fff;
}

/* Dark mode extras */
body[data-theme="dark"] .btn-wishlist {
  background: rgba(30,41,59,.9);
  color: var(--text);
}
body[data-theme="dark"] .checkout-card,
body[data-theme="dark"] .cart-card {
  background: var(--surface);
  border-color: var(--border);
}

.language-select{
  min-width: 132px;
  border-radius: 999px;
  padding: .5rem .8rem;
  border: 1px solid rgba(17,24,39,.10);
  background:#fff;
}
.cancel-order-btn{
  border:0;
  border-radius: 999px;
  padding: .7rem 1rem;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color:#fff;
  font-weight:600;
}
.cancel-order-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.order-status-cancelled{
  background:#fee2e2 !important;
  color:#b91c1c !important;
}
