:root{
  --bg:#000;
  --card:#161616;
  --muted:#9b9b9b;
  --accent:#ff1010;
  --accent-2:#e11;
  --glass: rgba(255,255,255,0.02);
  --border: rgba(255,255,255,0.06);
  --container: 1200px;
  --radius:10px;
}

/* ---------- Reset + base ---------- */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background:var(--bg);
  color:#efefef;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ---------- Header ---------- */
.th-header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter: blur(4px);
  border-bottom:1px solid var(--border);
  background: rgba(0,0,0,0.45);
}
.th-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{ font-weight:800; font-size:20px; color:#fff }
.nav{ display:flex; gap:10px; align-items:center }
.icon-btn{
  background:transparent; border:1px solid transparent; color:var(--muted);
  padding:8px; border-radius:8px; cursor:pointer;
}
.icon-btn:hover{ color:#fff }

/* ---------- Layout container ---------- */
.container{ max-width:var(--container); margin:0 auto; padding:28px; }

/* ---------- HERO: larger product, balanced layout ---------- */
.hero{
  display:flex;
  gap:32px;
  align-items:center;
  padding:36px 60px;
  border-radius:var(--radius);
  margin-bottom:20px;
  min-height:420px;
}
.hero-left{ flex: 1 1 48%; padding-right:20px; }
.hero-sub{ color:var(--muted); font-weight:600; margin-bottom:8px }
.hero-title{ font-size:44px; margin:0 0 12px 0; line-height:1.02 }
.hero-price .price-current{ color:var(--accent); font-weight:900; font-size:20px }
.hero-price .price-old{ color:var(--muted); margin-left:12px; text-decoration:line-through }
.btn-primary{
  background:var(--accent); color:#fff; border:none; padding:10px 16px;
  border-radius:8px; cursor:pointer; font-weight:700;
}

/* hero right column and image */
.hero-right{
  flex: 0 0 48%;
  display:flex; align-items:center; justify-content:center;
  position:relative; min-height:360px;
}
.hero-right::before{
  content:"";
  position:absolute;
  inset:auto 10% 12% auto;
  width:55%; height:60%;
  background: radial-gradient(circle at 60% 30%, rgba(255,255,255,0.06), rgba(0,0,0,0) 55%);
  pointer-events:none; filter: blur(8px); z-index:0;
}
.hero-right img{
  position:relative; z-index:1;
  width:520px; max-width:55vw; height:auto; object-fit:contain;
  
  transition: transform .25s ease, filter .25s ease;
}
.hero-right img:hover{ transform: translateY(0) scale(1.02); filter: brightness(1.45) contrast(1.18); }

/* hero responsive */
@media (max-width:1000px){
  .hero{ flex-direction:column; align-items:flex-start; padding:28px 20px; min-height:380px; }
  .hero-left{ flex: 1 1 100%; padding-right:0; }
  .hero-right{ flex: 1 1 100%; width:100%; min-height:240px; margin-top:18px; }
  .hero-right img{ width:320px; max-width:80%; height:auto; filter: brightness(1.25) contrast(1.12); }
  .hero-right::before{ display:none; }
}
@media (max-width:560px){
  .hero-right img{ width:220px; max-width:72%; }
}

/* ---------- Featured strip: centered heading + size emphasis ---------- */
.featured{ padding: 40px 18px 28px; text-align: center; }
.featured .section-title{ font-size: 22px; margin: 0 0 26px; color: #eee; font-weight: 700; }
.featured-list{
  display:flex; align-items:flex-end; justify-content:center; gap:22px;
  max-width:1100px; margin:0 auto; padding:12px 6px;
}
.featured-card{
  display:flex; flex-direction:column; align-items:center; text-decoration:none; color:inherit;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.02));
  border: 1px solid rgba(255,255,255,0.04);
  padding:12px; border-radius:10px; transition: transform .18s ease, box-shadow .18s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.01);
}
.featured-card img{
  display:block; width:100%; object-fit:contain; transition: transform .28s ease, filter .28s ease;
  border-radius:6px; background: rgba(255,255,255,0.01); padding:6px; box-sizing:border-box;
  filter: brightness(1.5) contrast(1.2);
}
.featured-card.small{ min-width:180px; transform-origin:center bottom; }
.featured-card.small img{ height:300px; }
.featured-card.center{ min-width:250px; transform-origin:center bottom; }
.featured-card.center img{ height:360px;}
.f-title{ margin-top:4px; font-weight:700; font-size:13px; color:#eee; text-align:center; }
.f-price{ margin-top:6px; font-weight:900; color: var(--accent); font-size:15px; }
.featured-card:hover{ transform: translateY(-10px); box-shadow: 0 18px 40px rgba(0,0,0,0.6); }
.featured-card:hover img{ transform: scale(1.08); filter: brightness(1.9) contrast(1.05); }
.featured-card:focus{ outline: 3px solid rgba(255,16,16,0.12); outline-offset: 4px; }

@media (max-width:900px){
  .featured-list{ gap:14px; padding:12px; }
  .featured-card.center img{ height:120px; min-width:180px; }
  .featured-card.small img{ height:64px; min-width:110px; }
}
@media (max-width:560px){
  .featured-list{ flex-wrap:nowrap; overflow-x:auto; align-items:center; }
  .featured-card.center img{ height:110px; min-width:160px; }
  .featured-card.small img{ height:58px; min-width:120px; }
}

/* ---------- Top Products (centered title, tabs, grid) ---------- */
.top-products-section{ background: transparent; padding:36px 20px; color:#eee; }
.tp-inner{ max-width:1100px; margin:0 auto; }
.tp-title{ text-align:center; font-size:22px; margin:0 0 14px; font-weight:800; color:#f3f3f3; }

/* category tabs (visual only) */
.tp-tabs{ display:flex; justify-content:center; gap:18px; list-style:none; padding:0; margin:8px 0 26px; }
.tp-tab{ color:var(--muted); padding:8px 12px; border-radius:6px; cursor:default; font-weight:600; }
.tp-tab.active{ background:#1b1b1b; color:#fff; border:1px solid rgba(255,255,255,0.04); box-shadow: 0 2px 0 rgba(255,16,16,0.06); }

/* products grid (4 columns like screenshot) */
.products-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
  align-items:start;
  margin-top:6px;
}

/* product card matching screenshot */
.product-card{
  height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.02));
  border: 1px solid rgba(255,255,255,0.04);
  padding:12px; border-radius:6px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.01);
  transition: transform .12s ease, box-shadow .12s ease;
}
.product-card:hover{ transform: translateY(-6px); box-shadow: 0 12px 36px rgba(0,0,0,0.55); }

/* thumbnail area */
.card-thumb{ height:140px; display:flex; align-items:center; justify-content:center; border-radius:4px; overflow:hidden; background: rgba(0,0,0,0.03); }
.card-thumb img{ max-height:128px; width:auto; object-fit:contain; display:block; }

/* body */
.card-body{ padding-top:8px; }
.rating{ color:#ff3b3b; font-size:12px; margin-bottom:6px; }
.card-title{ font-size:14px; margin:0; font-weight:800; color:#eee; letter-spacing:0.2px; }
.card-sub{ color:var(--muted); font-size:12px; margin:6px 0 0; }

/* footer: price + button */
.card-footer{ display:flex; flex-direction:column; gap:8px; }
.price-row{ display:flex; align-items:center; gap:12px; justify-content:flex-start; }
.price-current{ color: var(--accent); font-weight:900; font-size:16px; }
.price-old{ color: var(--muted); text-decoration: line-through; font-size:13px; }

/* add button (full width red) */
.btn-add{
  background: var(--accent);
  color:#fff; border:none; padding:9px 12px; border-radius:4px; width:100%; font-weight:700; cursor:pointer;
  box-shadow:none;
}

/* Browse all box */
.browse-all{
  height:360px; border:1px dashed rgba(255,255,255,0.06); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.02));
}
.browse-inner{ text-align:center; }
.browse-title{ color:var(--muted); font-weight:700; font-size:18px; }

/* ---------- Generic products grid fallback you already had ---------- */
.section-head{ display:flex; justify-content:space-between; align-items:center; gap:20px; }
.section-title{ font-size:20px; margin:0 0 14px 0; }
.tabs{ display:flex; gap:10px; list-style:none; padding:0; margin:0; }
.tab{ padding:8px 12px; border-radius:6px; background:transparent; border:1px solid transparent; color:var(--muted); cursor:pointer; }
.tab.active{ background:var(--card); border:1px solid var(--border); color:#fff; font-weight:700; }

/* your generic grid (keeps compatibility) */
.grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:18px; margin-top:18px; }


/* ---- larger product cards + bigger thumb images ---- */
/* Top Products Tabs Hover - RED */
.tp-tab {
  color: var(--muted);
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.25s ease;
}

.tp-tab:hover {
  background: var(--accent);   /* red background */
  color: #fff;                 /* white text */
}

/* Active tab stays red */
.tp-tab.active {
  background: var(--accent);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.04);
}


.product-card{
  height: 420px; /* taller card to fit larger image */
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.02));
  border: 1px solid rgba(255,255,255,0.04);
  padding:12px;
  border-radius:6px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.01);
  transition: transform .12s ease, box-shadow .12s ease;
}

/* bigger thumbnail area so product images appear prominent */
.card-thumb{
  height: 220px;                 /* increase from 140 -> 220 */
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  overflow:hidden;
  background: rgba(0,0,0,0.03);
  padding:6px;
}

/* let images fill the thumbnail area while preserving aspect ratio */
.card-thumb img{
  max-height:200px;              /* larger than before */
  width:auto;
  object-fit:contain;
  display:block;
  transition: transform .22s ease, filter .22s ease;
}

/* slight lift and scale on hover for emphasis */
.product-card:hover .card-thumb img{
  transform: scale(1.05);
  filter: brightness(1.06) contrast(1.03);
}

/* slightly more vertical room for title + price when image is bigger */
.card-body{ padding-top:10px; flex:0 0 auto; }
.card-footer{ display:flex; flex-direction:column; gap:8px; margin-top:8px; }

/* increase price font a bit to balance larger image */
.price-current{ color: var(--accent); font-weight:900; font-size:17px; }
.price-old{ color: var(--muted); text-decoration: line-through; font-size:13px; }

/* keep Browse box matching new height */
.browse-all{ height:420px; }

/* responsive: preserve the larger visual but scale down on narrower screens */
@media (max-width:980px){
  .products-grid{ grid-template-columns: repeat(2, 1fr); }
  .product-card{ height:auto; }          /* let cards grow naturally on stacked layout */
  .card-thumb{ height:180px; }
  .card-thumb img{ max-height:160px; }
}
@media (max-width:560px){
  .products-grid{ grid-template-columns:1fr; gap:14px; }
  .card-thumb{ height:160px; }
  .card-thumb img{ max-height:150px; }
  .product-card, .browse-all{ height:auto; }
}

/* ---------- Responsive behaviour for Top Products and Grid ---------- */
@media (max-width:980px){
  .products-grid{ grid-template-columns: repeat(2, 1fr); }
  .tp-inner{ padding: 0 14px; }
  .hero-right img{ width:420px; max-width:70vw; }
}
@media (max-width:900px){
  .hero{ flex-direction:column; align-items:flex-start; }
  .hero-right img{ width:240px; }
  .grid{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
}
@media (max-width:560px){
  .products-grid{ grid-template-columns:1fr; gap:14px; }
  .product-card, .browse-all{ height:auto; }
  .card-thumb{ height:160px; }
  .card-thumb img{ max-height:150px; }
  .hero-right img{ width:220px; max-width:72%; }
}


/* OUR ADVANTAGES */
.advantages-section {
    text-align: center;
    margin: 60px 0;
}

.advantages-section h2 {
    margin-bottom: 40px;
    font-size: 28px;
}

.adv-row {
    display: flex;
    justify-content: center;
    gap: 100px;
}

.adv-item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 220px;
}

.adv-icon {
    font-size: 40px;
    color: #ff1e1e;
}

.adv-item h4 {
    margin: 0;
    font-size: 18px;
}

.adv-item p {
    margin: 0;
    font-size: 14px;
    color: #ccc;
}
/* Footer */
.site-footer{
  padding:48px 0 22px;
  border-top:1px solid var(--border);
  margin-top:0;
  color:var(--muted);
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.02));
}

/* footer inner layout */
.footer-inner{ max-width:var(--container); margin:0 auto; padding:18px; }

/* top area with columns */
.footer-top{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:28px;
  align-items:start;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,0.02);
}

/* brand column */
.footer-brand .brand{ font-weight:800; font-size:20px; color:#fff; margin-bottom:8px; }
.footer-note{ color:var(--muted); font-size:13px; line-height:1.5; margin-bottom:12px; max-width:320px; }

/* subscribe form */
.subscribe-form{ display:flex; gap:10px; align-items:center; }
.subscribe-input{
  background:transparent;
  border:1px solid rgba(255,255,255,0.06);
  padding:10px 12px;
  color:#efefef;
  border-radius:6px;
  min-width:200px;
  outline:none;
}
.subscribe-input::placeholder{ color: rgba(235,235,235,0.35); }
.subscribe-btn{
  background:var(--accent);
  color:#fff;
  border:none;
  padding:9px 12px;
  border-radius:6px;
  cursor:pointer;
  font-weight:700;
}

/* headings and lists */
.footer-heading{ color:#efefef; font-weight:700; margin-bottom:10px; font-size:15px; }
.footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.footer-links li{ color:var(--muted); font-size:13px; }

/* bottom bar */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:18px;
  gap:12px;
  padding-top:16px;
}
.copyright{ color:var(--muted); font-size:13px; }
.socials{ display:flex; gap:12px; align-items:center; color:var(--muted); }
.social{ color:var(--muted); opacity:0.9; }
.social:hover{ color:#fff; }

/* small screens */
@media (max-width:980px){
  .footer-top{ grid-template-columns: 1fr 1fr; }
  .advantages-grid{ gap:18px; padding: 8px 10px; }
}
@media (max-width:600px){
  .footer-top{ grid-template-columns: 1fr; }
  .advantages-grid{ flex-direction:column; align-items:stretch; gap:14px; }
  .adv{ min-width: unset; width:100%; justify-content:flex-start; }
  .subscribe-form{ flex-direction:column; align-items:stretch; gap:8px; }
  .subscribe-input{ width:100%; }
  .subscribe-btn{ width:120px; align-self:flex-start; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:10px; }
}

/* social icons row */
.socials{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:flex-end;   /* aligns to the right in footer-bottom */
}

/* each icon link */
.social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:8px;
  color:var(--muted);
  background: rgba(255,255,255,0.01);
  transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
  text-decoration:none;
}

/* hover/focus state - red background and white icon */
.social:hover,
.social:focus{
  background: var(--accent);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(231,17,17,0.18);
  outline: none;
}

/* ensure svg inherits color */
.social svg{ display:block; width:18px; height:18px; color:currentColor; }

/* responsive: move socials under copyright on small screens */
@media (max-width:600px){
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:10px; }
  .socials{ justify-content:flex-start; }
}






/* -------------------------------login page---------------------------------------------- */
/* ============================================
   LOGIN PAGE — PERFECT CENTER + CLEAN DESIGN
============================================ */

body.login-page {
    overflow: hidden; /* remove scroll */
    background: #000;
}

/* Center wrapper */
.login-page-wrapper {
    height: calc(100vh - 80px); /* auto-adjust for header */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

/* Card */
.auth-card {
    background: #1b1b1b;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 32px;
    width: 420px;
    max-width: 95%;
    box-shadow: 0 0 40px rgba(0,0,0,0.55);
}

.auth-card h2 {
    margin: 0 0 10px;
    font-size: 34px;
    font-weight: 800;
    color: #fff;
}

.auth-sub {
    color: var(--muted);
    margin-bottom: 18px;
}

/* Form layout */
.auth-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.auth-form label {
    font-size: 13px;
    color: var(--muted);
}

/* Inputs */
.auth-card input {
    background: transparent;
    border: 1px solid var(--border);
    padding: 12px;
    border-radius: 6px;
    color: #fff;
    width: 100%;
}

.auth-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.remember {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 13px;
}

.forgot {
    color: var(--muted);
    font-size: 13px;
    text-decoration: none;
}

.auth-btn {
    padding: 12px;
    border-radius: 8px;
    margin-top: 6px;
    font-weight: 800;
}

/* OR text */
.auth-or {
    text-align: center;
    margin: 18px 0;
    color: var(--muted);
}

/* Social buttons */
.auth-social {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.social-btn {
    padding: 10px 14px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-weight: 700;
    color: #fff;
}

.social-facebook { background:#1877f2; }
.social-google   { background:#e53935; }
.social-twitter  { background:#1da1f2; }

/* Bottom text */
.auth-bottom {
    text-align: center;
    margin-top: 18px;
    color: var(--muted);
}

.signup-link {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}

/* Focus outline */
.auth-card input:focus,
.btn-primary:focus,
.social-btn:focus {
    outline: 2px solid var(--accent);
}

/* Responsive */
@media (max-width:560px){
    .auth-card {
        padding: 24px;
        width: 90%;
    }
    .auth-card h2 {
        font-size: 28px;
    }
}



/* ============================================
   SIGNUP PAGE — SAME LOOK AS LOGIN
============================================ */

.auth-card input {
    background: transparent;
    border: 1px solid var(--border);
    padding: 12px;
    border-radius: 6px;
    color: #fff;
}

.auth-card input:focus {
    outline: 2px solid var(--accent);
}

.auth-card label {
    font-size: 13px;
    color: var(--muted);
}
