:root{
  color-scheme: dark;
  --bg: #090909;
  --panel: #171717;
  --panel2: #212121;
  --line: #2a2a2a;
  --line-gold: rgba(212, 175, 55, 0.35);
  --muted: #B5B5B5;
  --white: #F5F5F5;
  --gold: #D4AF37;
  --gold-light: #F1CD6B;
  --gold-dark: #A68019;
  --green: #16c875;
  --red: #e63946;
  --display: "Montserrat", sans-serif;
  --body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.45);
  --shadow-md: 0 6px 18px rgba(0,0,0,0.6);
  --shadow-gold: 0 4px 14px rgba(212, 175, 55, 0.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;background:#090909}
body{
  margin:0;
  background-color:var(--bg);
  color:var(--white);
  font-family:var(--body);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background-image:radial-gradient(ellipse at 50% 0%, rgba(212,175,55,0.04) 0%, transparent 60%);
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--display);
  font-weight:700;
  color:var(--white);
  letter-spacing:-0.02em;
}

button,input,select,textarea{font-family:var(--body)}
button,a,select{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hidden{display:none!important}
.muted{color:var(--muted)}

/* BOTÕES GERAIS */
.button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 20px;
  border:0;
  border-radius:var(--radius-sm);
  font-family:var(--body);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.02em;
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease, background .18s ease, box-shadow .18s ease;
  user-select:none;
}
.button.gold{
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  color:#090909;
  font-weight:700;
  box-shadow:var(--shadow-gold);
}
.button.gold:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}
.button.gold:active{
  transform:translateY(0);
}
.button:disabled{
  opacity:0.45;
  cursor:not-allowed;
  filter:grayscale(0.6);
  transform:none!important;
}

.secondary-button{
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--white);
  padding:0 16px;
  min-height:42px;
  border-radius:var(--radius-sm);
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
.secondary-button:hover{
  border-color:var(--gold);
  color:var(--gold-light);
  background:var(--panel2);
}

/* CAMPOS E INPUTS */
.field input, .field select, .field textarea, input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="tel"], select, textarea{
  background:#171717;
  border:1px solid var(--line);
  color:var(--white);
  border-radius:var(--radius-sm);
  padding:10px 13px;
  font-size:14px;
  font-family:var(--body);
  outline:0;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.field input:focus, .field select:focus, .field textarea:focus, input:focus, select:focus, textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(212,175,55,0.22);
}

/* TELA DE CARREGAMENTO */
.loading-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  width:100vw;
  height:100vh;
  height:100dvh;
  background:#090909;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  transition:opacity 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.5s ease;
}
.loading-screen.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loading-screen .loading-art{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  user-select:none;
}
@media(prefers-reduced-motion:reduce){
  .loading-screen{
    transition:none!important;
  }
}
.announcement{
  height:34px;
  border-bottom:1px solid #1a1a1a;
  background:#090909;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 max(calc((100% - 1180px)/2), 20px);
  font-size:12px;
  font-weight:500;
  color:var(--white);
  letter-spacing:0.02em;
}
.status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex:none;
}

/* HEADER E TOPBAR */
.topbar{
  height:72px;
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:24px;
  padding:0 20px;
  background:#090909;
}
.brand-group{
  display:flex;
  align-items:center;
  gap:8px;
}
.brand-wordmark{
  display:flex;
  flex-direction:column;
  line-height:1;
  text-decoration:none;
}
.brand-wordmark span{
  font-family:var(--display);
  font-weight:800;
  font-size:22px;
  color:var(--gold);
  letter-spacing:-0.03em;
}
.brand-wordmark small{
  font-family:var(--display);
  font-weight:600;
  font-size:10px;
  color:var(--muted);
  letter-spacing:0.18em;
  margin-top:2px;
}

.desktop-nav{
  display:flex;
  align-items:center;
  gap:20px;
}
.desktop-nav a, .desktop-nav button{
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:500;
  font-size:13px;
  cursor:pointer;
  padding:6px 2px;
  transition:color .18s ease;
}
.desktop-nav a:hover, .desktop-nav button:hover, .desktop-nav .is-active{
  color:var(--gold);
}

.search{
  height:42px;
  max-width:440px;
  flex:1;
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  transition:border-color .18s ease, box-shadow .18s ease;
  position:relative;
}
.search:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(212,175,55,0.2);
}
.search input{
  flex:1;
  min-width:0;
  background:none;
  border:0;
  outline:0;
  color:var(--white);
  padding:0 14px;
  font-size:13px;
}
.search input::placeholder{
  color:var(--muted);
}
.search button{
  width:42px;
  background:none;
  border:0;
  color:var(--gold);
  font-size:22px;
  display:grid;
  place-items:center;
}

.cart-header{
  height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  background:var(--panel);
  padding:0 14px;
  border-radius:var(--radius-sm);
  color:var(--white);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease;
}
.cart-header:hover{
  border-color:var(--gold);
  background:var(--panel2);
}
.cart-header svg{
  width:18px;
  height:18px;
  stroke:var(--gold);
  fill:none;
}
.cart-header-bag-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:0 0 auto;
}
.cart-header-bag-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,0.45));
}
.cart-header-bag-wrap #cart-count{
  position:absolute;
  top:-4px;
  right:-6px;
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  background:var(--gold);
  color:#090909;
  font-size:11px;
  font-weight:800;
  line-height:1;
  box-shadow:0 0 6px rgba(212,175,55,0.6);
  border:1px solid #090909;
}
.cart-header span#cart-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 4px;
  border-radius:10px;
  background:var(--gold);
  color:#090909;
  font-size:11px;
  font-weight:700;
}

/* CARROSSEL E SEÇÕES */
.video-carousel-section{
  max-width:1180px;
  margin:0 auto;
  padding:16px 20px 8px;
}
.video-carousel-viewport{
  position:relative;
  width:100%;
  aspect-ratio:19/6;
  overflow:hidden;
  border-radius:var(--radius-md);
  border:1px solid var(--line);
  background:#171717;
  box-shadow:var(--shadow-md);
}
.video-carousel-track{
  position:relative;
  width:100%;
  height:100%;
}
.video-carousel-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  visibility:hidden;
  transition:opacity 0.7s ease, visibility 0.7s ease;
}
.video-carousel-slide.is-current{
  opacity:1;
  visibility:visible;
  z-index:2;
}
.video-carousel-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.video-carousel-arrow{
  display:none!important;
}
.video-carousel-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  padding:12px 0 0;
}
.video-carousel-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.18);
  padding:0;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.video-carousel-dot.is-current{
  background:var(--gold);
  border-color:var(--gold);
  transform:scale(1.25);
  box-shadow:0 0 8px rgba(212,175,55,0.45);
}

/* CATEGORIAS */
.category-strip{
  max-width:1180px;
  margin:0 auto;
  padding:20px 20px 14px;
}
.section-kicker{
  color:var(--gold);
  font-family:var(--display);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.category-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(98px, 1fr));
  gap:10px;
}
.category-chip{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:92px;
  padding:10px 6px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  color:var(--white);
  font-family:var(--body);
  font-size:12px;
  font-weight:500;
  text-align:center;
  cursor:pointer;
  transition:border-color .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
  overflow:hidden;
}
.category-chip::before{
  content:"";
  position:absolute;
  inset:6px 8px 3px;
  z-index:0;
  border-radius:10px;
  background:radial-gradient(circle, rgba(241,205,107,0.7) 0%, rgba(212,175,55,0.4) 36%, rgba(212,175,55,0) 72%);
  filter:blur(14px);
  opacity:1;
  pointer-events:none;
}
.category-chip > *{
  position:relative;
  z-index:1;
}
.category-chip:hover{
  border-color:var(--gold);
  background:var(--panel2);
  transform:translateY(-2px);
}
.category-chip.active{
  border-color:var(--gold);
  background:linear-gradient(180deg, #221e13, #171717);
  color:var(--gold-light);
  font-weight:600;
  box-shadow:inset 0 0 0 1px var(--gold), var(--shadow-gold);
}
.category-chip-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
}
.category-chip-icon img{
  max-width:38px;
  max-height:38px;
  object-fit:contain;
}

/* CARDS DE PRODUTOS */
.catalog-section, .offers-section, .featured-section{
  max-width:1180px;
  margin:0 auto;
  padding:20px 20px 30px;
}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
  margin-bottom:18px;
}
.section-head h2{
  font-size:24px;
  line-height:1.15;
  margin:4px 0 0;
  color:var(--white);
}
.section-head .eyebrow{
  color:var(--gold);
  font-family:var(--display);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.catalog-filter-bar{
  margin-bottom:18px;
}
.catalog-filter-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.catalog-filter-option{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  cursor:pointer;
  transition:all .18s ease;
}
.catalog-filter-option small{
  color:var(--muted);
  font-size:11px;
}
.catalog-filter-option:hover{
  border-color:var(--gold);
  color:var(--white);
}
.catalog-filter-option.is-active{
  border-color:var(--gold);
  background:var(--gold);
  color:#090909;
  font-weight:700;
}
.catalog-filter-option.is-active small{
  color:#090909;
  font-weight:700;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
  gap:16px;
}
.product-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:var(--radius-md);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow:var(--shadow-sm);
}
.product-card:hover{
  border-color:var(--line-gold);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.product-image{
  position:relative;
  width:100%;
  height:190px;
  background:#121212;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:14px;
}
.product-image img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transition:transform .24s ease;
}
.product-card:hover .product-image img{
  transform:scale(1.05);
}
.offer-tag{
  position:absolute;
  top:10px;
  left:10px;
  padding:3px 8px;
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  color:#090909;
  font-size:11px;
  font-weight:800;
  border-radius:var(--radius-sm);
  text-transform:uppercase;
  letter-spacing:0.04em;
}

.product-info{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:14px;
  gap:6px;
}
.product-category{
  font-size:11px;
  font-weight:600;
  color:var(--gold);
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.product-name{
  font-family:var(--display);
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  color:var(--white);
  margin:0;
  min-height:38px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.product-detail{
  font-size:12px;
  color:var(--muted);
  min-height:16px;
  line-height:1.3;
}
.product-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid #222;
}
.price{
  font-family:var(--body);
  font-size:17px;
  font-weight:700;
  color:var(--gold-light);
  line-height:1.2;
}
.old-price{
  display:block;
  font-size:11px;
  color:var(--muted);
  text-decoration:line-through;
  line-height:1;
}
.stock-label{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:2px;
}
.add-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 14px;
  height:38px;
  border:0;
  border-radius:var(--radius-sm);
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  color:#090909;
  font-family:var(--body);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:filter .18s ease, transform .18s ease, box-shadow .18s ease;
  white-space:nowrap;
}
.add-button:hover{
  filter:brightness(1.08);
  transform:scale(1.03);
  box-shadow:var(--shadow-gold);
}
.add-button:disabled{
  opacity:0.35;
  cursor:not-allowed;
  filter:grayscale(0.8);
  transform:none!important;
}

/* CARRINHO E CHECKOUT */
.cart-layout, .checkout-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(290px, 0.8fr);
  gap:24px;
}
.cart-item{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:14px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  padding:12px;
}
.cart-thumb{
  width:70px;
  height:70px;
  border-radius:var(--radius-sm);
  background:#121212;
  object-fit:contain;
}
.cart-item h3{
  font-family:var(--display);
  font-size:16px;
  font-weight:600;
  margin:0 0 4px;
  color:var(--white);
}
.qty-control{
  display:flex;
  align-items:center;
  gap:8px;
}
.qty-control button{
  width:30px;
  height:30px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--panel2);
  color:var(--white);
  font-size:14px;
  display:grid;
  place-items:center;
}
.summary, .form-panel, .review-panel{
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  padding:20px;
}
.summary h3, .form-panel h3, .review-panel h3{
  font-size:18px;
  margin:0 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
  color:var(--white);
}
.summary-line{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  color:var(--muted);
  font-size:14px;
}
.summary-total{
  border-top:1px solid var(--line);
  margin-top:10px;
  padding-top:14px;
  font-size:18px;
  font-weight:700;
  color:var(--gold-light);
}

/* NAVEGAÇÃO MOBILE INFERIOR */
.mobile-nav{
  display:none;
}
@media(max-width:800px){
  .mobile-nav{
    position:fixed;
    z-index:99;
    bottom:0;
    left:0;
    right:0;
    height:64px;
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    background:rgba(23,23,23,0.96);
    backdrop-filter:blur(10px);
    border-top:1px solid #2a2a2a;
    padding:4px 6px calc(4px + env(safe-area-inset-bottom));
  }
  .mobile-nav a, .mobile-nav button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    background:none;
    border:0;
    color:var(--muted);
    font-size:11px;
    font-weight:500;
    cursor:pointer;
    padding:4px 0;
    position:relative;
  }
  .mobile-nav a span, .mobile-nav button span{
    font-size:20px;
    line-height:1;
    color:var(--muted);
  }
  .mobile-nav .is-active, .mobile-nav .is-active span{
    color:var(--gold);
    font-weight:700;
  }
  .mobile-bag-wrap{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    margin-bottom:1px;
  }
  .mobile-bag-img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    background:transparent;
    border:0;
    box-shadow:none;
    filter:drop-shadow(0 1px 3px rgba(0,0,0,0.5));
  }
  .mobile-bag-wrap i,
  .mobile-nav i{
    position:absolute;
    top:-3px;
    right:-6px;
    min-width:17px;
    height:17px;
    border-radius:999px;
    background:var(--gold);
    color:#090909;
    font-size:10px;
    font-weight:800;
    display:grid;
    place-items:center;
    font-style:normal;
    line-height:1;
    border:1px solid #171717;
    box-shadow:0 0 5px rgba(212,175,55,0.5);
  }

  /* Ajustes Mobile no Catálogo e Topo */
  .topbar{
    height:auto;
    padding:8px 16px;
    gap:10px;
  }
  .category-strip, .catalog-section, .offers-section, .video-carousel-section{
    padding-left:14px;
    padding-right:14px;
  }
  .product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }
  .product-image{
    height:140px;
    padding:8px;
  }
  .product-info{
    padding:10px;
    gap:4px;
  }
  .product-name{
    font-size:13px;
    min-height:34px;
  }
  .price{
    font-size:15px;
  }
  .add-button{
    height:34px;
    padding:0 10px;
    font-size:11px;
  }
  .cart-layout, .checkout-layout{
    grid-template-columns:1fr;
  }
  .footer{
    padding-bottom:90px;
  }
}

/* FOOTER */
.footer{
  border-top:1px solid var(--line);
  max-width:1180px;
  margin:40px auto 0;
  padding:30px 20px 40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
}
.footer p{
  color:var(--muted);
  font-size:13px;
  margin:0;
}
.footer-line{
  color:#666;
  font-size:12px;
}
