/* ============================================================
   WALKIND DESIGN — paleta PB+vermelho, espelho do storefront Next.js
   ============================================================ */

:root {
  --wlk-brand: #000;
  --wlk-accent: #E50914;
  --wlk-bg: #fff;
  --wlk-bg-elev: #f5f5f5;
  --wlk-ink: #0a0a0a;
  --wlk-ink-mut: #6b6b6b;
  --wlk-border: #e5e5e5;
  --wlk-promo: #fff;
  --wlk-font-display: "Anton", "Bebas Neue", Impact, sans-serif;
  --wlk-font-body: "Inter", system-ui, -apple-system, sans-serif;
}

/* Reset agressivo (luta contra o Hello Elementor) */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
* { min-width: 0; } /* impede flex/grid de ultrapassar */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body, body.elementor-default, body.elementor-page, body.wp-singular {
  font-family: var(--wlk-font-body) !important;
  background: var(--wlk-bg) !important;
  color: var(--wlk-ink) !important;
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  line-height: 1.5;
}
body * { box-sizing: border-box; }
img, svg { max-width: 100%; height: auto; }
.wlk-svg { display: inline-block; vertical-align: middle; flex-shrink: 0; }

a { color: inherit; }

/* Tira qualquer max-width do tema/elementor sobre os wrappers raiz */
body > #page, body > .site, body > main,
.site, .site-content, #content, #primary, .entry-content,
.elementor, .elementor-section, .elementor-container, .elementor-row,
.elementor-widget-container, .elementor-element, .e-con, .e-con-inner,
article.page, article.post, .hentry {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Esconde os templates Header/Footer Elementor Pro que ainda escapam */
.elementor-location-header,
.elementor-location-footer,
[data-elementor-type="header"],
[data-elementor-type="footer"],
[data-elementor-id="64"],
[data-elementor-id="106"],
header.elementor-section-stretched,
footer.elementor-section-stretched,
body > .elementor.elementor-64,
body > .elementor.elementor-106,
.elementor.elementor-location-header,
.elementor.elementor-location-footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Esconde page-header padrão do tema (titulo duplicado nas páginas) */
body.page .page-header,
body.page .entry-header,
body.single .page-header,
body.archive .page-header { display: none !important; }
.skip-link { position: absolute; left: -9999px; }

/* O wrapper único da home não pode ter padding/largura limitada */
.wlk-home-root, body.home main, body.home #content, body.home article {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wlk-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem;
  width: 100%;
}
@media (min-width: 640px)  { .wlk-container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .wlk-container { padding: 0 2rem; } }

.wlk-section-title {
  font-family: var(--wlk-font-body, 'Inter', system-ui, sans-serif);
  font-size: clamp(17px, 1.7vw, 22px);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.25;
  letter-spacing: 0.26em;
  color: #1f2937;
  margin: 0;
}

/* ============================================================
   TOPBAR — preto/branco
   ============================================================ */
.wlk-topbar {
  background: #000;
  color: #fff;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #1a1a1a;
}
.wlk-topbar-inner {
  max-width: 1400px;
  margin: 0 auto;
  height: 36px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 0.75rem; gap: 0.5rem;
}
@media (min-width: 640px) { .wlk-topbar-inner { padding: 0 1.5rem; } }
.wlk-topbar-track { flex: 1; position: relative; height: 36px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.wlk-tb-msg { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; gap: 0.6rem; padding: 0 0.5rem; min-width: 0; }
.wlk-tb-msg.is-active { display: flex; }
.wlk-tb-zap { color: #fff; display: inline-flex; flex-shrink: 0; opacity: 0.85; }
.wlk-tb-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; font-size: 10px; }
@media (min-width: 640px) { .wlk-tb-text { white-space: normal; font-size: 11px; } }
.wlk-tb-cta {
  background: #fff; color: #000;
  padding: 3px 12px; font-weight: 900;
  letter-spacing: 0.15em; text-decoration: none;
  font-size: 10px; white-space: nowrap; flex-shrink: 0;
  transition: background 0.15s;
}
.wlk-tb-cta:hover { background: var(--wlk-accent); color: #fff; }
@media (max-width: 639px) { .wlk-tb-cta { display: none; } }
.wlk-tb-prev, .wlk-tb-next {
  background: none; border: none; color: rgba(255,255,255,0.6);
  cursor: pointer; padding: 4px 6px; display: inline-flex; flex-shrink: 0;
}
.wlk-tb-prev:hover, .wlk-tb-next:hover { color: #fff; }
.wlk-tb-dots { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); display: flex; gap: 4px; padding-bottom: 2px; }
.wlk-tb-dot { height: 2px; width: 4px; background: rgba(255,255,255,0.25); transition: all 0.3s; }
.wlk-tb-dot.is-active { width: 16px; background: #fff; }

/* ============================================================
   HEADER — branco com bordas finas
   ============================================================ */
.wlk-header {
  background: #fff; color: #000;
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid var(--wlk-border);
  overflow: visible !important;
}
.wlk-h-bar { background: #fff; overflow: visible; }
.wlk-nav, .wlk-nav-row, .wlk-nav-row > ul, .wlk-nav-row > ul > li { overflow: visible !important; }
.wlk-h-row { height: 64px; display: flex; align-items: center; gap: 0.75rem; padding: 0 1rem; max-width: 1400px; margin: 0 auto; }
@media (min-width: 640px)  { .wlk-h-row { padding: 0 1.5rem; } }
@media (min-width: 768px)  { .wlk-h-row { height: 76px; gap: 1rem; } }
@media (min-width: 1024px) { .wlk-h-row { height: 84px; padding: 0 2rem; } }

.wlk-mobile-toggle {
  display: none; background: none; border: none; cursor: pointer;
  padding: 8px; margin-left: -8px; color: #000;
}
@media (max-width: 1023px) { .wlk-mobile-toggle { display: inline-flex; } }

.wlk-logo { text-decoration: none; flex-shrink: 0; display: flex; align-items: center; min-width: 0; }
.wlk-logo img { height: 32px; width: auto; object-fit: contain; max-height: 44px; }
@media (min-width: 768px) { .wlk-logo img { height: 40px; } }
.wlk-logo-text {
  font-family: var(--wlk-font-display);
  font-size: 28px; font-weight: 400;
  letter-spacing: 0.04em; color: #000; line-height: 1;
}
@media (min-width: 640px)  { .wlk-logo-text { font-size: 32px; } }
@media (min-width: 1024px) { .wlk-logo-text { font-size: 38px; } }

.wlk-search {
  flex: 1; max-width: 560px; margin: 0 auto;
  position: relative; display: flex; min-width: 0;
}
@media (max-width: 767px) { .wlk-h-row .wlk-search { display: none; } }
.wlk-search input {
  width: 100%; height: 42px; padding: 0 48px 0 18px;
  border-radius: 999px; background: #f4f4f4;
  border: 1px solid transparent;
  font-size: 14px; font-weight: 500; font-family: inherit; color: #000; outline: none;
}
.wlk-search input::placeholder { color: #777; }
.wlk-search input:focus { border-color: #000; background: #fff; }
.wlk-search button {
  position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  height: 34px; width: 34px; border-radius: 999px;
  background: #000; color: #fff; border: none; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.wlk-search button:hover { background: var(--wlk-accent); }
.wlk-search-mobile {
  display: none; padding: 0 12px 12px; max-width: 1400px; margin: 0 auto;
  align-items: center; gap: 8px; position: static;
}
.wlk-search-mobile input {
  flex: 1; min-width: 0; height: 44px;
  padding: 0 18px;
  border-radius: 999px; background: #f4f4f4;
  border: 1.5px solid transparent;
  font-size: 14px; font-weight: 500; font-family: inherit; color: #000; outline: none;
  box-sizing: border-box; width: auto;
}
.wlk-search-mobile input:focus { border-color: #000; background: #fff; }
.wlk-search-mobile button {
  position: static !important; transform: none !important;
  flex-shrink: 0; height: 44px; width: 44px; border-radius: 50%;
  background: #000; color: #fff; border: none; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background 0.15s;
}
.wlk-search-mobile button:hover { background: var(--wlk-accent); }
@media (max-width: 767px) { .wlk-search-mobile { display: flex; max-width: none; } }

.wlk-h-actions { display: flex; align-items: center; gap: 0; margin-left: auto; flex-shrink: 0; }
@media (min-width: 480px) { .wlk-h-actions { gap: 0.25rem; } }
.wlk-h-action {
  display: inline-flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 6px 8px; text-decoration: none; color: #000; position: relative;
  transition: color 0.2s; min-width: 44px;
}
@media (min-width: 768px) { .wlk-h-action { padding: 6px 10px; } }
.wlk-h-action:hover { color: var(--wlk-accent); }
.wlk-h-action .wlk-lbl { font-size: 9px; font-weight: 800; letter-spacing: 0.06em; }
@media (min-width: 768px) { .wlk-h-action .wlk-lbl { font-size: 10px; } }
@media (max-width: 767px) { .wlk-h-action .wlk-lbl { display: none; } }
.wlk-cart-badge {
  position: absolute; top: -2px; right: 2px;
  min-width: 18px; height: 18px; border-radius: 999px;
  background: var(--wlk-accent); color: #fff;
  font-size: 10px; font-weight: 900;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 4px; line-height: 1;
  border: 2px solid #fff;
}
.wlk-cart-badge[data-wlk-cart-count="0"] { display: none !important; }

/* NAV — preto/branco apenas */
.wlk-nav { background: #fff; border-top: 1px solid var(--wlk-border); }
@media (max-width: 1023px) { .wlk-nav { display: none; } }
.wlk-nav-row { display: flex; align-items: center; height: 46px; gap: 0.25rem; padding: 0 2rem; max-width: 1400px; margin: 0 auto; }
.wlk-nav-row ul { list-style: none; display: flex; margin: 0; padding: 0; gap: 0; flex: 1; min-width: 0; flex-wrap: wrap; }
/* overflow-x: auto removido — quebrava os dropdowns absolutos. Como temos width fluida, itens podem quebrar linha em telas estreitas (mas nav é hidden no mobile via outra regra) */
.wlk-nav-row li a {
  display: inline-flex; align-items: center; height: 46px;
  padding: 0 14px; text-decoration: none; color: #000;
  font-size: 12px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.08em;
  transition: color 0.2s; white-space: nowrap;
  position: relative;
}
.wlk-nav-row li a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 8px;
  height: 2px; background: #000; transform: scaleX(0); transform-origin: left;
  transition: transform 0.2s;
}
.wlk-nav-row li a:hover { color: #000; }
.wlk-nav-row li a:hover::after { transform: scaleX(1); }
.wlk-nav-cta {
  background: #000; color: #fff; padding: 8px 14px;
  font-size: 11px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.12em;
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
  margin-left: auto; flex-shrink: 0;
}
.wlk-nav-cta .wlk-flame { color: var(--wlk-accent); }
.wlk-nav-cta:hover { background: var(--wlk-accent); color: #fff; }
.wlk-nav-cta:hover .wlk-flame { color: #fff; }

/* Dropdowns do nav principal */
.wlk-nav-row li.wlk-nav-has-dd { position: relative; }
.wlk-nav-row li.wlk-nav-has-dd > a { gap: 4px; }
.wlk-nav-row li .wlk-nav-caret { transition: transform 0.2s; opacity: 0.7; }
.wlk-nav-row li.wlk-nav-has-dd:hover > a .wlk-nav-caret { transform: rotate(180deg); }
.wlk-nav-dd {
  position: absolute; top: 100%; left: 0;
  min-width: 240px; background: #fff;
  border: 1px solid var(--wlk-border);
  border-top: 3px solid var(--wlk-accent);
  box-shadow: 0 16px 40px rgba(0,0,0,0.15);
  padding: 8px; z-index: 9999;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(6px); transition: all 0.2s ease;
}
.wlk-nav-row li.wlk-nav-has-dd:hover > .wlk-nav-dd,
.wlk-nav-row li.wlk-nav-has-dd:focus-within > .wlk-nav-dd,
.wlk-nav-row li.wlk-nav-has-dd > .wlk-nav-dd:hover {
  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
.wlk-nav-dd ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.wlk-nav-dd li { display: block; height: auto; }
.wlk-nav-dd li.wlk-nav-dd-sub a { padding-left: 28px !important; color: #4b5563 !important; font-size: 11.5px !important; }
.wlk-nav-dd li.wlk-nav-dd-d1 a { padding-left: 28px !important; }
.wlk-nav-dd li.wlk-nav-dd-d2 a { padding-left: 42px !important; opacity: 0.85; }
.wlk-nav-dd li.wlk-nav-dd-d3 a { padding-left: 56px !important; opacity: 0.75; }
.wlk-nav-dd li a {
  display: block !important; height: auto !important;
  padding: 10px 14px !important;
  font-size: 12px !important; font-weight: 600 !important;
  text-transform: none !important; letter-spacing: 0.02em !important;
  color: #000 !important;
  border-radius: 4px;
  transition: all 0.15s;
}
.wlk-nav-dd li a::after { display: none !important; }
.wlk-nav-dd li a:hover { background: #000 !important; color: #fff !important; }

/* Dropdown "Ofertas do dia" — grid de produtos */
.wlk-nav-dd-sale { min-width: 560px; padding: 16px; left: auto; right: 0; }
.wlk-sale-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.wlk-sale-item {
  display: flex; flex-direction: column;
  text-decoration: none; color: #000;
  border: 1px solid var(--wlk-border); border-radius: 6px;
  overflow: hidden; transition: border-color 0.2s;
}
.wlk-sale-item:hover { border-color: #000; }
.wlk-sale-img { aspect-ratio: 624/723; background: #f4f4f4; overflow: hidden; }
.wlk-sale-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wlk-sale-body { padding: 8px 10px; }
.wlk-sale-name { font-size: 11px; font-weight: 600; margin: 0 0 4px; line-height: 1.3; color: #000; text-transform: none; letter-spacing: 0; }
.wlk-sale-price { font-size: 12px; font-weight: 900; color: #000; }
.wlk-sale-price del { color: #9ca3af; font-size: 10px; font-weight: 500; margin-right: 4px; }
.wlk-sale-price ins { text-decoration: none; color: var(--wlk-accent); }
.wlk-sale-all {
  display: block; margin-top: 12px; padding: 12px;
  background: #000; color: #fff; text-align: center; text-decoration: none;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.18em; font-size: 11px;
  border-radius: 4px; transition: background 0.2s;
}
.wlk-sale-all:hover { background: var(--wlk-accent); color: #fff; }
.wlk-sale-all .wlk-flame { color: var(--wlk-accent); }
.wlk-sale-all:hover .wlk-flame { color: #fff; }

/* Footer atendimento estilizado */
.wlk-f-atend li { align-items: center; }
.wlk-f-atend li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wlk-f-atend li strong {
  font-size: 10px; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: rgba(255,255,255,0.5);
}
.wlk-f-atend li a, .wlk-f-atend li span { font-size: 13px; color: rgba(255,255,255,0.85); }

/* DRAWER */
.wlk-drawer { position: fixed; inset: 0; z-index: 60; }
.wlk-drawer[hidden] { display: none; }
.wlk-drawer-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.6); }
.wlk-drawer-panel {
  position: absolute; left: 0; top: 0;
  height: 100%; width: 86%; max-width: 360px;
  background: #fff; color: #000; padding: 1.25rem; overflow-y: auto;
}
.wlk-drawer-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.wlk-drawer-close { background: none; border: none; cursor: pointer; color: #000; display: inline-flex; }
.wlk-drawer-promo {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: #000; color: #fff; text-align: center; padding: 14px;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.15em;
  font-size: 13px; text-decoration: none; margin-bottom: 1rem;
}
.wlk-drawer-promo .wlk-svg { color: var(--wlk-accent); }
.wlk-drawer-nav a {
  display: block; padding: 14px 0;
  border-bottom: 1px solid var(--wlk-border);
  text-decoration: none; color: #000;
  font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.08em; font-size: 14px;
}
.wlk-drawer-foot { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--wlk-border); display: flex; flex-direction: column; gap: 4px; }
.wlk-drawer-foot a { display: flex; align-items: center; gap: 12px; padding: 10px 0; text-decoration: none; color: #000; font-size: 14px; font-weight: 600; }

/* ============================================================
   HERO — preto, texto branco, accent vermelho
   ============================================================ */
.wlk-hero { position: relative; background: #000; overflow: hidden; }
.wlk-hero-track { position: relative; height: 60vh; min-height: 480px; max-height: 760px; }
@media (min-width: 768px)  { .wlk-hero-track { height: 70vh; } }
@media (min-width: 1024px) { .wlk-hero-track { height: 78vh; } }
.wlk-hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; transition: opacity 0.6s;
  display: flex; align-items: center;
}
.wlk-hero-slide.is-active { opacity: 1; }
.wlk-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,0.85), rgba(0,0,0,0.4) 55%, rgba(0,0,0,0.1));
}
.wlk-hero-content { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; color: #fff; width: 100%; }
@media (min-width: 1024px) { .wlk-hero-content { padding: 0 2.5rem; } }
.wlk-hero-eyebrow {
  display: inline-block; background: var(--wlk-accent); color: #fff;
  padding: 5px 14px; font-size: 11px; font-weight: 900; letter-spacing: 0.28em;
  text-transform: uppercase; margin-bottom: 1.25rem;
}
.wlk-hero-title {
  font-family: var(--wlk-font-display);
  font-size: clamp(2.75rem, 8vw, 6rem);
  font-weight: 400; line-height: 0.92;
  text-transform: uppercase; margin: 0 0 1rem;
  color: #fff; letter-spacing: 0.005em;
  max-width: 18ch;
}
.wlk-hero-sub { font-size: 16px; font-weight: 400; max-width: 28rem; margin: 0 0 0.75rem; color: rgba(255,255,255,0.85); }
@media (min-width: 640px) { .wlk-hero-sub { font-size: 18px; } }
.wlk-hero-price {
  color: #fff; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.12em; font-size: 13px; margin: 0 0 1.5rem;
  border-left: 3px solid var(--wlk-accent); padding-left: 12px;
}
.wlk-hero-cta {
  display: inline-flex; align-items: center; gap: 0.75rem;
  background: #fff; color: #000;
  padding: 14px 32px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 12px; text-decoration: none; transition: all 0.2s;
}
.wlk-hero-cta:hover { background: var(--wlk-accent); color: #fff; }
.wlk-hero-prev, .wlk-hero-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.25);
  color: #fff; cursor: pointer; z-index: 10;
  display: inline-flex; align-items: center; justify-content: center;
  backdrop-filter: blur(6px); transition: all 0.2s;
}
.wlk-hero-prev { left: 1rem; } .wlk-hero-next { right: 1rem; }
.wlk-hero-prev:hover, .wlk-hero-next:hover { background: #fff; color: #000; border-color: #fff; }
@media (max-width: 767px) { .wlk-hero-prev, .wlk-hero-next { display: none; } }
.wlk-hero-dots { position: absolute; bottom: 18px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; z-index: 10; }
.wlk-hero-dot { height: 4px; width: 18px; background: rgba(255,255,255,0.35); transition: all 0.3s; cursor: pointer; }
.wlk-hero-dot.is-active { width: 36px; background: #fff; }

/* ============================================================
   BENEFITS — branco / cinza / preto
   ============================================================ */
.wlk-benefits { background: #fff; border-top: 1px solid var(--wlk-border); border-bottom: 1px solid var(--wlk-border); }
.wlk-benefits-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 1rem; padding: 1.5rem 1rem;
  max-width: 1400px; margin: 0 auto;
}
@media (min-width: 640px)  { .wlk-benefits-grid { grid-template-columns: repeat(3, 1fr); padding: 1.75rem 1.5rem; } }
@media (min-width: 1024px) { .wlk-benefits-grid { grid-template-columns: repeat(5, 1fr); padding: 2rem; } }
.wlk-benefit { display: flex; align-items: center; gap: 12px; min-width: 0; }
.wlk-bn-ico { color: #000; line-height: 1; display: inline-flex; flex-shrink: 0; }
.wlk-bn-title { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; margin: 0; line-height: 1.2; color: #000; }
.wlk-bn-desc { font-size: 12px; color: #6b6b6b; font-weight: 500; margin: 2px 0 0; line-height: 1.3; }

/* ============================================================
   CATEGORIES — círculos com hover preto
   ============================================================ */
.wlk-cats { background: #fafafa; padding: 3rem 0; }
@media (min-width: 768px) { .wlk-cats { padding: 4rem 0; } }
.wlk-cats-head { text-align: center; margin-bottom: 2rem; }
.wlk-cats-eyebrow { font-size: 11px; font-weight: 900; letter-spacing: 0.32em; text-transform: uppercase; color: var(--wlk-accent); margin: 0 0 10px; }
.wlk-cats-wrap { position: relative; }
.wlk-cats-track {
  display: flex; gap: 1.25rem; overflow-x: auto;
  padding: 0.5rem 0.5rem 1.5rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-padding: 0 1rem;
}
/* Centraliza os cards quando cabem; quando passam, as margens auto viram 0 e
   o scroll começa do início (sem cortar a 1ª categoria). */
.wlk-cats-track > .wlk-cat:first-child { margin-left: auto; }
.wlk-cats-track > .wlk-cat:last-child  { margin-right: auto; }
.wlk-cats-track::-webkit-scrollbar { display: none; }
.wlk-cat {
  flex: 0 0 110px; scroll-snap-align: start;
  text-decoration: none; color: #000;
  display: flex; flex-direction: column; align-items: center;
}
@media (min-width: 480px) { .wlk-cat { flex: 0 0 130px; } }
@media (min-width: 640px) { .wlk-cat { flex: 0 0 160px; } }
@media (min-width: 1024px) { .wlk-cat { flex: 0 0 170px; } }
.wlk-cat-img {
  width: 96px; height: 96px; border-radius: 999px;
  background-size: cover; background-position: center; background-color: #fff;
  border: 2px solid transparent;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  transition: all 0.3s;
}
@media (min-width: 480px) { .wlk-cat-img { width: 110px; height: 110px; } }
@media (min-width: 640px) { .wlk-cat-img { width: 140px; height: 140px; } }
@media (min-width: 1024px) { .wlk-cat-img { width: 150px; height: 150px; } }
.wlk-cat:hover .wlk-cat-img { border-color: #000; box-shadow: 0 10px 22px rgba(0,0,0,0.18); transform: translateY(-4px); }
.wlk-cat-name { margin: 0.85rem 0 0; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; text-align: center; color: #000; }
@media (min-width: 640px) { .wlk-cat-name { font-size: 13px; margin-top: 1rem; } }
.wlk-cat:hover .wlk-cat-name { color: var(--wlk-accent); }
.wlk-cats-prev, .wlk-cats-next {
  position: absolute; top: 35%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 999px;
  background: #fff; border: 1px solid var(--wlk-border);
  display: none; align-items: center; justify-content: center;
  cursor: pointer; z-index: 5; box-shadow: 0 4px 14px rgba(0,0,0,0.12); color: #000;
}
.wlk-cats-prev { left: -10px; } .wlk-cats-next { right: -10px; }
@media (min-width: 1024px) { .wlk-cats-prev, .wlk-cats-next { display: inline-flex; } }
.wlk-cats-prev:hover, .wlk-cats-next:hover { background: #000; color: #fff; border-color: #000; }

/* ============================================================
   PRODUCT CAROUSEL / GRID
   ============================================================ */
.wlk-pc { background: #fff; padding: 3rem 0; max-width: 100%; overflow: hidden; }
@media (min-width: 768px) { .wlk-pc { padding: 3.5rem 0; } }
.wlk-pc .wlk-container { max-width: 100%; }
@media (min-width: 1280px) { .wlk-pc .wlk-container { max-width: 1280px; } }
.wlk-pc-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: 1.25rem;
  text-align: left;
}
.wlk-pc-head > div:first-child { flex: 1; min-width: 0; }
@media (min-width: 768px) { .wlk-pc-head { margin-bottom: 1.5rem; } }
@media (max-width: 639px) {
  .wlk-pc-head { align-items: flex-start; gap: 0.5rem; text-align: left; }
  .wlk-pc-head > div:first-child { width: 100%; }
  .wlk-pc-head .wlk-pc-cta { display: none; } /* esconde CTA do header; abaixo aparece o do rodapé */
}
.wlk-pc-badge {
  display: inline-block; padding: 5px 12px;
  font-size: 10px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.18em; margin-bottom: 0.5rem;
}
@media (min-width: 640px) { .wlk-pc-badge { font-size: 11px; margin-bottom: 0.75rem; } }
.wlk-pc-badge-red    { background: var(--wlk-accent); color: #fff; }
.wlk-pc-badge-black  { background: #000; color: #fff; }
.wlk-pc-badge-yellow { background: #000; color: #fff; } /* "yellow" virou preto na nova paleta */
.wlk-pc-title {
  font-family: var(--wlk-font-body, 'Inter', system-ui, sans-serif);
  font-size: clamp(17px, 1.7vw, 22px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.26em;
  color: #1f2937;
  margin: 0;
  line-height: 1.25;
}
.wlk-pc-sub {
  font-size: 13px;
  color: #6b7280;
  margin: 8px 0 0;
  font-weight: 400;
  line-height: 1.5;
  max-width: 540px;
}
.wlk-pc-sub strong, .wlk-pc-sub b { font-weight: 700; color: var(--wlk-accent, #c5221f); }
.wlk-pc-sub em, .wlk-pc-sub i { font-style: normal; color: var(--wlk-accent, #c5221f); font-weight: 600; }
@media (min-width: 640px) { .wlk-pc-sub { font-size: 14px; } }
.wlk-pc-cta {
  font-size: 12px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.18em;
  color: #000; text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px;
  flex-shrink: 0;
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
}
.wlk-pc-cta:hover { color: var(--wlk-accent); border-bottom-color: var(--wlk-accent); }

/* Rodapé do carrossel: mesmo botão "Ver todos", agora embaixo (mobile only) */
.wlk-pc-foot { display: none; margin-top: 14px; padding: 0 16px; }
@media (max-width: 639px) {
  .wlk-pc-foot { display: flex; justify-content: center; }
  .wlk-pc-foot .wlk-pc-cta { display: inline-flex; } /* força mostrar — header está oculto */
  .wlk-pc-end { display: none !important; } /* esconde o "ver todos" que ficava como item final do carrossel */
}

/* CAROUSEL */
.wlk-pc-wrap { position: relative; max-width: 100%; overflow: hidden; }
.wlk-pc-track {
  display: flex; gap: 0.75rem;
  overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 0.25rem 0 1rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-padding: 0 1rem;
  max-width: 100%;
}
.wlk-pc-track::-webkit-scrollbar { display: none; }
@media (min-width: 640px) { .wlk-pc-track { gap: 1rem; } }

.wlk-pc-prev, .wlk-pc-next {
  position: absolute; top: 38%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 999px;
  background: #fff; border: 1px solid var(--wlk-border);
  display: none; align-items: center; justify-content: center;
  cursor: pointer; z-index: 5;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  color: #000; transition: all 0.2s;
}
.wlk-pc-prev { left: -18px; } .wlk-pc-next { right: -18px; }
@media (min-width: 1024px) { .wlk-pc-prev, .wlk-pc-next { display: inline-flex; } }
.wlk-pc-prev:hover, .wlk-pc-next:hover { background: #000; color: #fff; border-color: #000; }

/* GRID */
.wlk-pc-grid {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px)  { .wlk-pc-grid { gap: 1rem; grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .wlk-pc-grid { gap: 1.25rem; grid-template-columns: repeat(4, 1fr); } }
.wlk-pc-grid-cta { text-align: center; margin-top: 2rem; }
.wlk-btn-dark {
  display: inline-flex; align-items: center; gap: 8px;
  background: #000; color: #fff; padding: 14px 32px;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 12px; text-decoration: none; transition: background 0.2s;
}
.wlk-btn-dark:hover { background: var(--wlk-accent); }

/* ============================================================
   PRODUCT CARD — aspect 4/5, hover na 2ª img, badges minimalistas
   ============================================================ */
.wlk-card {
  background: #fff; border: none;
  border-radius: 0; overflow: hidden;
  display: flex; flex-direction: column;
  transition: all 0.2s;
  position: relative;
}
.wlk-pc-track .wlk-card { flex: 0 0 calc(50% - 0.4rem); scroll-snap-align: start; }
@media (min-width: 640px)  { .wlk-pc-track .wlk-card { flex: 0 0 calc(25% - 0.85rem); } }
@media (min-width: 1024px) { .wlk-pc-track .wlk-card { flex: 0 0 calc(25% - 0.85rem); } }
/* hover effects via image only (Renner-clean) */

.wlk-card-link { display: block; text-decoration: none; color: inherit; position: relative; }
.wlk-card-imgwrap {
  position: relative;
  display: block;
  width: 100%;
  background: #ffffff;
  overflow: hidden;
}
.wlk-card-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 624/723;
  object-fit: cover !important;
  object-position: center !important;
  background: #ffffff;
  transition: transform 0.5s;
}
/* Fallback para navegadores sem aspect-ratio: força 320px de altura mínima */
@supports not (aspect-ratio: 624/723) {
  .wlk-card-img { height: 320px !important; }
}
.wlk-card-img-2 { display: none !important; } /* hover-swap desativado pra garantir imagem visível */
.wlk-card:hover .wlk-card-img { transform: scale(1.04); }

.wlk-card-badges { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-direction: column; gap: 6px; }
.wlk-badge {
  padding: 2px 6px; border-radius: 0;
  font-size: 8.5px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.05em; line-height: 1.5;
  white-space: nowrap;
}
.wlk-badge-red    { background: var(--wlk-accent); color: #fff; }
.wlk-badge-yellow { background: #000; color: #fff; }
.wlk-badge-black  { background: #000; color: #fff; }
/* Selos discretos no celular — não atrapalham a visão do produto */
@media (max-width: 767px) {
  .wlk-card-badges { top: 6px; left: 6px; gap: 4px; }
  .wlk-badge { padding: 1.5px 5px; font-size: 7.5px; letter-spacing: 0.03em; }
}

/* Favoritar — só o coração de contorno preto, sem fundo (padrão em todo o site) */
.wlk-card-fav {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  width: 30px; height: 30px; padding: 0;
  background: none; border: none; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  color: #111; opacity: 1; transition: transform 0.2s, color 0.2s;
}
.wlk-card-fav svg {
  width: 19px; height: 19px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
}
.wlk-card:hover .wlk-card-fav { opacity: 1; }
.wlk-card-fav:hover { background: none; color: #000; transform: scale(1.12); }
.wlk-card-fav.is-active { background: none; color: var(--wlk-accent); }
.wlk-card-fav.is-active svg { fill: var(--wlk-accent); }

.wlk-card-quick {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  background: #000; color: #fff;
  transform: translateY(100%); transition: transform 0.3s;
}
.wlk-card:hover .wlk-card-quick { transform: translateY(0); }
@media (max-width: 767px) { .wlk-card-quick { display: none; } }
.wlk-card-quick-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px; color: #fff; text-decoration: none;
  font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.18em;
  transition: background 0.2s;
}
.wlk-card-quick-btn:hover { background: var(--wlk-accent); }
.wlk-card-quick-btn.loading { opacity: 0.7; pointer-events: none; }

.wlk-card-body {
  padding: 0.85rem 0.85rem 1rem;
  display: flex; flex-direction: column; gap: 4px;
}
@media (min-width: 640px) { .wlk-card-body { padding: 1rem; } }
.wlk-card-name {
  font-size: 13px; font-weight: 500; line-height: 1.4;
  color: #000; text-decoration: none;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.8em;
}
.wlk-card-name:hover { color: var(--wlk-accent); }
.wlk-card-price {
  display: flex; align-items: baseline; gap: 8px;
  font-size: 16px; font-weight: 900; color: #000; line-height: 1.1; margin-top: 4px;
}
@media (min-width: 640px) { .wlk-card-price { font-size: 18px; } }
.wlk-card-price del { font-size: 11px; color: #9ca3af; font-weight: 500; text-decoration: line-through; }
.wlk-card-price ins { text-decoration: none; color: #000; }
.wlk-card-price .amount { font-weight: 900; }
.wlk-card-install { font-size: 11px; color: var(--wlk-ink-mut); margin: 2px 0 0; font-weight: 500; }
.wlk-card-install strong { color: #000; }

.wlk-pc-end {
  flex: 0 0 calc(50% - 0.4rem);
  display: flex; align-items: center; justify-content: center;
  background: #000; color: #fff; text-decoration: none;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 11px; border-radius: 4px; transition: background 0.2s; gap: 6px;
  min-height: 280px;
}
@media (min-width: 640px)  { .wlk-pc-end { flex: 0 0 calc(33.333% - 0.7rem); font-size: 12px; } }
@media (min-width: 1024px) { .wlk-pc-end { flex: 0 0 calc(25% - 0.85rem); } }
.wlk-pc-end:hover { background: var(--wlk-accent); }

/* ============================================================
   LOOKBOOK
   ============================================================ */
.wlk-lookbook {
  position: relative; overflow: hidden;
  background: #000 center/cover no-repeat;
  height: 440px; display: flex; align-items: flex-end;
}
@media (min-width: 640px)  { .wlk-lookbook { height: 540px; } }
@media (min-width: 1024px) { .wlk-lookbook { height: 600px; } }
.wlk-lookbook-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.3) 50%, transparent); }
.wlk-lookbook-content { position: relative; z-index: 2; padding: 0 1.5rem 3rem; max-width: 1400px; margin: 0 auto; width: 100%; }
@media (min-width: 1024px) { .wlk-lookbook-content { padding: 0 2.5rem 3.5rem; } }
.wlk-lookbook-eyebrow {
  display: inline-block; background: #fff; color: #000;
  padding: 5px 14px; font-size: 11px; font-weight: 900;
  letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 1rem;
}
.wlk-lookbook-title {
  font-family: var(--wlk-font-display);
  font-size: clamp(2.5rem, 9vw, 6rem);
  font-weight: 400; line-height: 0.92;
  text-transform: uppercase; color: #fff;
  margin: 0 0 1rem; letter-spacing: 0.005em;
  max-width: 16ch;
}
.wlk-lookbook-text { font-size: 15px; color: rgba(255,255,255,0.85); max-width: 28rem; margin: 0 0 1.5rem; font-weight: 400; }
@media (min-width: 640px) { .wlk-lookbook-text { font-size: 16px; } }
.wlk-lookbook-cta {
  display: inline-flex; align-items: center; gap: 0.75rem;
  background: var(--wlk-accent); color: #fff;
  padding: 14px 30px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.18em; font-size: 12px; text-decoration: none; transition: all 0.2s;
}
.wlk-lookbook-cta:hover { background: #fff; color: #000; }

/* ============================================================
   BLOG PREVIEW
   ============================================================ */
.wlk-blog { background: linear-gradient(180deg, #fff 0%, #fafafa 100%); padding: 48px 0; }
@media (min-width: 768px)  { .wlk-blog { padding: 64px 0; } }
@media (min-width: 1280px) { .wlk-blog { padding: 80px 0; } }
.wlk-blog-head {
  display: flex; flex-direction: column; gap: 0.5rem;
  align-items: flex-start; margin-bottom: 22px;
}
@media (min-width: 640px) { .wlk-blog-head { flex-direction: row; justify-content: space-between; align-items: flex-end; margin-bottom: 32px; } }
.wlk-blog-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.32em; text-transform: uppercase; color: var(--wlk-accent); margin: 0 0 6px; }
.wlk-blog-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px)  { .wlk-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (min-width: 1024px) { .wlk-blog-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.wlk-blog-card {
  display: flex; flex-direction: column;
  background: #fff; border-radius: 14px; overflow: hidden;
  border: 1px solid #e5e7eb;
  text-decoration: none; color: #0b1220;
  transition: transform 280ms cubic-bezier(0.32,0.72,0,1), box-shadow 280ms ease, border-color 220ms ease;
  box-shadow: 0 1px 3px rgba(15,23,42,0.06);
}
.wlk-blog-card:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -16px rgba(15,23,42,0.22); border-color: #d1d5db; }
.wlk-blog-cover { aspect-ratio: 16/10; background-size: cover; background-position: center; background-color: #f3f4f6; position: relative; overflow: hidden; }
.wlk-blog-card:hover .wlk-blog-cover { transform: scale(1.03); transition: transform 600ms ease; }
.wlk-blog-cat-tag { position: absolute; top: 12px; left: 12px; background: rgba(15,23,42,0.85); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.wlk-blog-new-tag { position: absolute; top: 12px; right: 12px; background: var(--wlk-accent); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; }
.wlk-blog-body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.wlk-blog-date { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; color: var(--wlk-ink-mut); margin: 0 0 8px; text-transform: uppercase; }
.wlk-blog-body h3 {
  font-family: var(--wlk-font-body);
  font-size: 17px; font-weight: 800; line-height: 1.3;
  text-transform: none; margin: 0 0 10px; color: #0b1220;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  letter-spacing: -0.01em;
  transition: color 200ms ease;
}
.wlk-blog-card:hover h3 { color: var(--wlk-accent); }
.wlk-blog-ex { font-size: 13.5px; line-height: 1.55; color: var(--wlk-ink-mut); margin: 0; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wlk-blog-more { margin-top: 14px; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.18em; color: #0b1220; display: inline-flex; align-items: center; gap: 6px; transition: color 200ms ease, gap 200ms ease; }
.wlk-blog-card:hover .wlk-blog-more { color: var(--wlk-accent); gap: 10px; }

/* ============================================================
   INSTAGRAM FEED — bem menor e centralizado
   ============================================================ */
.wlk-ig { background: #fff; padding: 36px 0; }
@media (min-width: 768px)  { .wlk-ig { padding: 44px 0; } }
@media (min-width: 1280px) { .wlk-ig { padding: 52px 0; } }

/* Cabeçalho achatado: ícone + título + handle em UMA linha (todas as telas) */
.wlk-ig-head {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 auto 14px;
  padding: 0 12px;
  text-align: center;
  max-width: 100%;
}
@media (min-width: 768px) { .wlk-ig-head { margin-bottom: 18px; gap: 14px; padding: 0 16px; } }

.wlk-ig-ico {
  display: inline-flex;
  width: 30px; height: 30px;
  align-items: center; justify-content: center;
  background: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 80%, #4F5BD5 100%);
  color: #fff;
  border-radius: 9px;
  margin: 0;
  box-shadow: 0 4px 14px -4px rgba(214, 41, 118, 0.5);
  flex-shrink: 0;
}
.wlk-ig-ico svg { width: 18px; height: 18px; }
@media (min-width: 768px) { .wlk-ig-ico { width: 40px; height: 40px; border-radius: 12px; } .wlk-ig-ico svg { width: 24px; height: 24px; } }

.wlk-ig .wlk-section-title {
  font-size: clamp(13px, 2vw, 24px) !important;
  margin: 0 !important;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.1;
  white-space: nowrap;
  text-transform: none !important;
}

.wlk-ig-handle {
  display: inline-flex; align-items: center; gap: 4px;
  margin: 0;
  padding: 5px 11px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.03em;
  color: #1f2937;
  text-decoration: none;
  transition: all 200ms ease;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .wlk-ig-handle { padding: 6px 14px; font-size: 12px; }
}
.wlk-ig-handle:hover { background: linear-gradient(135deg, #D62976, #962FBF); border-color: transparent; color: #fff; }

/* CARROSSEL com setas + scroll snap */
.wlk-ig-carousel {
  position: relative;
  margin: 0 auto;
  max-width: 100%;
}
@media (min-width: 1024px) { .wlk-ig-carousel { max-width: 1080px; } }
@media (min-width: 1440px) { .wlk-ig-carousel { max-width: 1220px; } }

.wlk-ig-track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 4px 16px;
  scrollbar-width: none;
}
.wlk-ig-track::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .wlk-ig-track { gap: 12px; padding: 4px 22px; } }

.wlk-ig-item {
  position: relative;
  flex: 0 0 auto;
  width: calc((100% - 10px) / 2);          /* mobile: 2 por vez */
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 12px;
  text-decoration: none;
  background: #f1f5f9;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  scroll-snap-align: start;
  transition: transform 280ms cubic-bezier(0.32, 0.72, 0, 1), box-shadow 280ms ease;
}
@media (min-width: 640px)  { .wlk-ig-item { width: calc((100% - 24px) / 3); } }   /* 3 por vez */
@media (min-width: 1024px) { .wlk-ig-item { width: calc((100% - 36px) / 4); border-radius: 14px; } }  /* 4 por vez */
@media (min-width: 1440px) { .wlk-ig-item { width: calc((100% - 48px) / 5); } }   /* 5 por vez */
.wlk-ig-item:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -10px rgba(15, 23, 42, 0.22); }

/* Setas discretas e modernas */
.wlk-ig-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 42px; height: 42px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,0.95);
  color: #1f2937;
  cursor: pointer;
  display: inline-flex;
  align-items: center; justify-content: center;
  box-shadow: 0 4px 14px -2px rgba(15,23,42,0.18), 0 2px 6px rgba(15,23,42,0.08);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  transition: all 200ms ease;
  opacity: 0.92;
}
.wlk-ig-nav:hover { background: linear-gradient(135deg, #D62976, #4F5BD5); color: #fff; opacity: 1; transform: translateY(-50%) scale(1.08); }
.wlk-ig-nav-prev { left: 4px; }
.wlk-ig-nav-next { right: 4px; }
@media (min-width: 768px) {
  .wlk-ig-nav { width: 46px; height: 46px; }
  .wlk-ig-nav-prev { left: -8px; }
  .wlk-ig-nav-next { right: -8px; }
}
@media (min-width: 1100px) {
  .wlk-ig-nav-prev { left: -22px; }
  .wlk-ig-nav-next { right: -22px; }
}
.wlk-ig-carousel.is-start .wlk-ig-nav-prev,
.wlk-ig-carousel.is-end   .wlk-ig-nav-next { opacity: 0; pointer-events: none; transform: translateY(-50%) scale(0.85); }

.wlk-ig-img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.5s; }
.wlk-ig-item:hover .wlk-ig-img { transform: scale(1.08); }
.wlk-ig-hover {
  position: absolute; inset: 0; background: rgba(0,0,0,0); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  opacity: 0; transition: all 0.3s;
}
.wlk-ig-item:hover .wlk-ig-hover { background: linear-gradient(135deg, rgba(214,41,118,0.65), rgba(79,91,213,0.65)); opacity: 1; }
.wlk-ig-hover svg { width: 36px; height: 36px; filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4)); }

/* ============================================================
   NEWSLETTER — preto com vermelho
   ============================================================ */
/* Newsletter — estilo limpo (inspirado Renner) */
.wlk-news { background: #f5f5f5; color: #0a0a0a; padding: 3rem 1.5rem; }
@media (min-width: 768px) { .wlk-news { padding: 4rem 1.5rem; } }
.wlk-news-grid {
  display: flex; flex-direction: column; align-items: center;
  max-width: 440px; margin: 0 auto; gap: 1.5rem; text-align: center;
}
.wlk-news-ico { display: none; }
.wlk-news-title {
  font-family: var(--wlk-font-body);
  font-size: 1.1rem; font-weight: 700;
  line-height: 1.4; text-transform: none;
  margin: 0; color: #0a0a0a; letter-spacing: 0;
}
.wlk-news-title span { color: inherit; }
.wlk-news-text { display: none; }
.wlk-news-form { display: flex; flex-direction: column; gap: 1rem; width: 100%; }
.wlk-news-form input {
  width: 100%; height: 44px; padding: 0 2px;
  background: transparent; color: #0a0a0a;
  border: none; border-bottom: 1.5px solid #0a0a0a;
  border-radius: 0; font: inherit; font-size: 14px;
  outline: none; transition: border-color 0.15s;
}
.wlk-news-form input::placeholder { color: #888; }
.wlk-news-form input:focus { border-bottom-color: #000; }
.wlk-news-form button {
  width: 100%; height: 48px;
  background: #000; color: #fff; border: none; border-radius: 0;
  font-family: var(--wlk-font-body);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em;
  font-size: 13px; cursor: pointer; transition: background 0.2s;
}
.wlk-news-form button:hover { background: #222; }

/* ============================================================
   FOOTER — preto, branco, vermelho
   ============================================================ */
.wlk-footer {
  background: #000; color: #fff;
  border-top: 3px solid var(--wlk-accent);
  padding: 0;
}

/* Newsletter dentro do rodapé (faixa no topo) */
.wlk-f-news-wrap {
  background: linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 60%, #000 100%);
  border-bottom: 1px solid rgba(255,255,255,0.1);
  position: relative;
}
.wlk-f-news-wrap::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--wlk-accent) 50%, transparent 100%);
  opacity: 0.6;
}
.wlk-f-news { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 36px 1.25rem; flex-wrap: wrap; position: relative; }
.wlk-f-news-head { flex: 1 1 320px; min-width: 0; }
.wlk-f-news-head h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 10px;
}
.wlk-f-news-head h3::before {
  content: "✉";
  display: inline-flex;
  width: 36px; height: 36px;
  align-items: center; justify-content: center;
  background: var(--wlk-accent);
  border-radius: 10px;
  font-size: 18px;
  box-shadow: 0 4px 14px -2px rgba(229,9,20,0.45);
}
.wlk-f-news-head p { margin: 0; color: rgba(255,255,255,0.75); font-size: 13.5px; line-height: 1.55; max-width: 480px; }
.wlk-f-news-form { display: flex; gap: 10px; flex-wrap: wrap; flex: 1 1 420px; max-width: 600px; }
.wlk-f-news-form input {
  flex: 1 1 150px; min-width: 0;
  background: rgba(255,255,255,0.1);
  border: 1.5px solid rgba(255,255,255,0.2);
  color: #fff;
  padding: 14px 20px;
  border-radius: 999px;
  font: inherit; font-size: 14px; font-weight: 500;
  outline: 0;
  transition: all 200ms ease;
}
.wlk-f-news-form input::placeholder { color: rgba(255,255,255,0.55); font-weight: 400; }
.wlk-f-news-form input:focus { border-color: var(--wlk-accent); background: rgba(255,255,255,0.15); box-shadow: 0 0 0 4px rgba(229,9,20,0.25); }
.wlk-f-news-form button {
  background: var(--wlk-accent); color: #fff; border: 0;
  padding: 14px 28px; border-radius: 999px;
  font: inherit; font-size: 12.5px; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  cursor: pointer;
  transition: all 200ms ease;
  flex-shrink: 0;
  box-shadow: 0 4px 18px -4px rgba(229,9,20,0.55);
}
.wlk-f-news-form button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 24px -4px rgba(229,9,20,0.7); filter: brightness(1.08); }
.wlk-f-news-form button:disabled { opacity: 0.6; cursor: not-allowed; }
.wlk-f-news-msg { width: 100%; margin: 8px 0 0; font-size: 14px; font-weight: 600; }

@media (max-width: 760px) {
  .wlk-f-news { padding: 28px 1.25rem; gap: 20px; flex-direction: column; align-items: stretch; }
  .wlk-f-news-head { text-align: center; }
  .wlk-f-news-head h3 { justify-content: center; font-size: 16px; letter-spacing: 0.1em; }
  .wlk-f-news-head h3::before { width: 32px; height: 32px; font-size: 16px; }
  .wlk-f-news-head p { margin: 0 auto; font-size: 13px; max-width: 320px; }
  .wlk-f-news-form { max-width: 100%; gap: 10px; }
  .wlk-f-news-form input, .wlk-f-news-form button { flex: 1 1 100%; padding: 14px 22px; font-size: 14px; }
  .wlk-f-news-form button { padding: 15px 22px; font-size: 13px; }
}
@media (max-width: 380px) {
  .wlk-f-news { padding: 24px 1rem; }
  .wlk-f-news-head h3 { font-size: 15px; }
}

/* Newsletter strip */
.wlk-f-nl {
  background: #0d0d0d;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  padding: 1.25rem 0;
}
.wlk-f-nl-inner {
  display: flex; flex-direction: column; gap: 1rem;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .wlk-f-nl-inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 2rem; }
}
.wlk-f-nl-text {
  display: flex; align-items: center; gap: 12px; color: #fff; flex-shrink: 0;
}
.wlk-f-nl-text .wlk-svg { color: var(--wlk-accent); flex-shrink: 0; }
.wlk-f-nl-text strong { display: block; font-size: 14px; font-weight: 800; letter-spacing: 0.02em; }
.wlk-f-nl-text span   { display: block; font-size: 12px; color: rgba(255,255,255,0.55); margin-top: 2px; }
.wlk-f-nl-form {
  display: flex; gap: 0; flex: 1; max-width: 440px; width: 100%;
}
.wlk-f-nl-form input[type="email"] {
  flex: 1; height: 40px; padding: 0 14px;
  background: #1a1a1a; color: #fff;
  border: 1px solid rgba(255,255,255,0.15); border-right: none;
  font-size: 13px; font-family: inherit; outline: none;
  min-width: 0;
}
.wlk-f-nl-form input[type="email"]::placeholder { color: rgba(255,255,255,0.3); }
.wlk-f-nl-form input[type="email"]:focus { border-color: var(--wlk-accent); }
.wlk-f-nl-form button {
  height: 40px; padding: 0 16px; flex-shrink: 0;
  background: var(--wlk-accent); color: #fff; border: none;
  font-family: inherit; font-size: 11px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.12em;
  cursor: pointer; transition: background 0.2s; white-space: nowrap;
}
.wlk-f-nl-form button:hover { background: #c00; }
@media (max-width: 479px) {
  .wlk-f-nl-form { flex-direction: column; }
  .wlk-f-nl-form input[type="email"] { border-right: 1px solid rgba(255,255,255,0.15); border-bottom: none; }
  .wlk-f-nl-form button { height: 38px; }
}

/* Main grid */
.wlk-f-grid {
  display: grid; grid-template-columns: 1fr;
  gap: 2.5rem; padding: 3rem 1.5rem 3rem;
  max-width: 1400px; margin: 0 auto;
}
@media (min-width: 640px)  { .wlk-f-grid { grid-template-columns: repeat(2, 1fr); gap: 2.5rem; } }
@media (min-width: 1024px) { .wlk-f-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; padding: 3.5rem 2rem; gap: 3rem; } }

/* Brand col */
.wlk-f-brand {}
.wlk-f-logo, .wlk-f-name { display: inline-block; color: #fff; margin-bottom: 1rem; }
.wlk-f-logo { height: 36px; max-width: 160px; }
.wlk-f-tag { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.65; margin: 0 0 1.25rem; font-weight: 400; }
.wlk-f-social { display: flex; gap: 8px; }
.wlk-f-social a {
  width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.7);
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; transition: all 0.2s;
}
.wlk-f-social a:hover { background: var(--wlk-accent); border-color: var(--wlk-accent); color: #fff; }

/* Section titles */
.wlk-footer h3 {
  font-family: var(--wlk-font-body);
  font-size: 10px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.22em;
  color: rgba(255,255,255,0.4); margin: 0 0 1.1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

/* Links list */
.wlk-f-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wlk-f-list li { color: rgba(255,255,255,0.6); font-size: 13px; display: flex; align-items: flex-start; gap: 10px; }
.wlk-f-list a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.2s; }
.wlk-f-list a:hover { color: #fff; }
.wlk-f-list .wlk-svg { margin-top: 2px; flex-shrink: 0; color: rgba(255,255,255,0.35); }

/* Atendimento */
.wlk-f-atend li { align-items: center; }
.wlk-f-atend li > div { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.wlk-f-atend li strong { font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.35); }
.wlk-f-atend li a, .wlk-f-atend li span { font-size: 13px; color: rgba(255,255,255,0.75); }
.wlk-f-atend li a:hover { color: #fff; }

/* Payment icons */
.wlk-f-pay { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 1.25rem; align-items: center; }
.wlk-f-pay-icon {
  height: 24px; background: transparent; color: rgba(255,255,255,0.8);
  border: 1px solid rgba(255,255,255,0.2); border-radius: 3px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 6px; min-width: 34px;
}
.wlk-f-pay-icon svg { height: 13px; width: auto; display: block; }

/* Trust badges */
.wlk-f-trust { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px 16px; margin-top: 4px; }
.wlk-f-trust span {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; color: rgba(255,255,255,0.45); font-weight: 600;
  letter-spacing: 0.02em;
}
.wlk-f-trust .wlk-svg { color: rgba(255,255,255,0.25); flex-shrink: 0; }

/* Bottom bar */
.wlk-f-bottom-wrap {
  border-top: 1px solid rgba(255,255,255,0.07);
  background: #000;
}
.wlk-f-bottom {
  display: flex; flex-direction: column; gap: 4px;
  padding: 1.25rem 1.5rem;
  max-width: 1400px; margin: 0 auto;
}
@media (min-width: 640px) { .wlk-f-bottom { flex-direction: row; justify-content: space-between; align-items: center; padding: 1.25rem 2rem; } }
.wlk-f-copy { margin: 0; font-size: 12px; color: rgba(255,255,255,0.45); }
.wlk-f-legal { margin: 0; font-size: 11px; color: rgba(255,255,255,0.25); text-align: right; }

/* ============================================================
   FLOATING BUTTONS — só WhatsApp + Instagram, sem amarelo
   ============================================================ */
.wlk-floating {
  position: fixed; bottom: 16px; right: 16px;
  display: flex; flex-direction: column; gap: 10px; z-index: 40;
}
@media (min-width: 768px) { .wlk-floating { bottom: 24px; right: 24px; gap: 12px; } }
.wlk-fl {
  width: 52px; height: 52px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  transition: transform 0.2s; color: #fff;
}
@media (min-width: 768px) { .wlk-fl { width: 56px; height: 56px; } }
.wlk-fl:hover { transform: scale(1.08); }
.wlk-fl-wa { background: #25D366; }
.wlk-fl-ig { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); }

/* ============================================================
   ARCHIVE LAYOUT 2 colunas: sidebar filtros + main produtos
   ============================================================ */
.wlk-shop-archive { padding: 0 0 5rem; max-width: 100%; overflow-x: hidden; }
@media (min-width: 768px) { .wlk-shop-archive { padding: 0 0 6rem; } }
.wlk-shop-archive .wlk-container { padding: 1.5rem 1rem 0; max-width: 1280px; margin: 0 auto; }
@media (min-width: 768px) { .wlk-shop-archive .wlk-container { padding: 2rem 1.5rem 0; } }
.wlk-shop-page { padding: 1rem 0 3rem; max-width: 100%; overflow-x: hidden; }
.wlk-shop-layout {
  display: grid; gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr);
  max-width: 100%;
}
@media (min-width: 1024px) {
  .wlk-shop-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 2rem; align-items: start; }
}
@media (min-width: 1280px) {
  .wlk-shop-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 2.5rem; }
}
.wlk-shop-sidebar { min-width: 0; }
.wlk-shop-main { max-width: 100%; overflow-x: hidden; min-width: 0; }

/* Toolbar dentro do main: result count + ordering */
.wlk-shop-toolbar {
  display: flex; flex-wrap: wrap; gap: 12px;
  align-items: center; justify-content: space-between;
  padding: 0 0 1rem;
  border-bottom: 1px solid var(--wlk-border);
  margin-bottom: 1.25rem;
}
.wlk-shop-toolbar .woocommerce-result-count {
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  color: var(--wlk-ink-mut) !important; margin: 0 !important;
}
.wlk-shop-toolbar .woocommerce-ordering { margin: 0 !important; }
.wlk-shop-toolbar .woocommerce-ordering select {
  border: 1px solid var(--wlk-border) !important;
  padding: 8px 12px !important; height: auto !important;
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.05em !important;
  background: #fff !important;
}
.wlk-shop-sidebar { min-width: 0; }
.wlk-shop-main { min-width: 0; }

/* Toggle filtros mobile */
@media (max-width: 1023px) {
  .wlk-shop-sidebar { order: 2; }
  .wlk-shop-main { order: 1; }
}

.wlk-fil {
  background: #fafafa; border: 1px solid var(--wlk-border);
  border-radius: 8px; padding: 16px;
  position: sticky; top: 100px;
}
.wlk-fil-title {
  font-family: var(--wlk-font-display);
  font-size: 18px; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.05em;
  margin: 0 0 1rem; color: #000;
}
.wlk-fil-block {
  border-top: 1px solid var(--wlk-border);
  padding: 12px 0;
}
.wlk-fil-block:first-of-type { border-top: none; padding-top: 0; }
.wlk-fil-block summary {
  font-size: 12px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.08em;
  cursor: pointer; padding: 4px 0; list-style: none;
  display: flex; justify-content: space-between; align-items: center;
  color: #000;
}
.wlk-fil-block summary::-webkit-details-marker { display: none; }
.wlk-fil-block summary::after {
  content: "−"; font-size: 16px; font-weight: 400; color: var(--wlk-ink-mut);
}
.wlk-fil-block:not([open]) summary::after { content: "+"; }
.wlk-fil-block ul { list-style: none; margin: 10px 0 4px; padding: 0; max-height: 220px; overflow-y: auto; }
.wlk-fil-block li { font-size: 13px; padding: 4px 0; }
.wlk-fil-block li a { color: var(--wlk-ink); text-decoration: none; transition: color 0.15s; display: flex; justify-content: space-between; }
.wlk-fil-block li a:hover { color: var(--wlk-accent); }
.wlk-fil-block li a span { color: var(--wlk-ink-mut); font-size: 11px; }
.wlk-fil-block label {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; cursor: pointer; padding: 5px 0;
  color: var(--wlk-ink);
}
.wlk-fil-block label input[type="checkbox"] {
  width: 16px; height: 16px; accent-color: #000;
  margin: 0; flex-shrink: 0;
}
.wlk-fil-block label span { color: var(--wlk-ink-mut); font-size: 11px; margin-left: auto; }

.wlk-fil-price { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.wlk-fil-price-row { display: flex; gap: 8px; }
.wlk-fil-price input {
  width: 100%; padding: 8px 10px;
  border: 1px solid var(--wlk-border); border-radius: 6px;
  font: inherit; font-size: 13px;
}
.wlk-fil-price input:focus { outline: none; border-color: #000; }
.wlk-fil-btn, .wlk-fil-clear {
  display: block; width: 100%; padding: 10px 14px;
  background: #000; color: #fff; border: none;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.15em;
  font-size: 11px; cursor: pointer; transition: background 0.2s;
  margin-top: 8px;
}
.wlk-fil-btn:hover, .wlk-fil-clear:hover { background: var(--wlk-accent); }
.wlk-fil-clear { background: transparent; color: var(--wlk-ink-mut); border: 1px solid var(--wlk-border); margin-top: 16px; }
.wlk-fil-clear:hover { background: #fafafa; color: #000; }
.wlk-fil-check { display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 8px 0; font-size: 13px; }

/* Tamanhos como botões quadrados */
.wlk-fil-sizes { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0 4px; }
.wlk-fil-size {
  min-width: 38px; height: 38px; padding: 0 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: #000;
  border: 1px solid var(--wlk-border);
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.04em; cursor: pointer; transition: all 0.15s;
}
.wlk-fil-size:hover { border-color: #000; }
.wlk-fil-size.is-selected { background: #000; color: #fff; border-color: #000; }

/* Cores como círculos */
.wlk-fil-colors { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 0 4px; }
.wlk-fil-color {
  width: 28px; height: 28px; border-radius: 999px;
  border: 2px solid var(--wlk-border);
  cursor: pointer; padding: 0; transition: all 0.15s;
  position: relative; box-shadow: inset 0 0 0 2px #fff;
}
.wlk-fil-color:hover { transform: scale(1.1); }
.wlk-fil-color.is-selected {
  border-color: #000; box-shadow: inset 0 0 0 3px #fff;
}
.wlk-fil-color.is-selected::after {
  content: ""; position: absolute; inset: -5px;
  border: 2px solid var(--wlk-accent); border-radius: 999px;
}

/* Esconde scripts antigos e blocos berocket que sobraram */
.bapf_sfilter, .bapf_sfilter_top, .bapf_widget_sfilter, .berocket_aapf_widget,
[class*="br_filter"], [data-bapf] { display: none !important; }

/* ============================================================
   SUBCATEGORIAS no archive — padrão único e estiloso
   ============================================================ */
.wlk-subcats { margin: 0 0 2.5rem; }
.wlk-subcats-head { margin-bottom: 1.25rem; }
.wlk-subcats-eyebrow {
  font-size: 11px; font-weight: 900; letter-spacing: 0.32em;
  text-transform: uppercase; color: var(--wlk-accent); margin: 0 0 6px;
}
.wlk-subcats-title {
  font-family: var(--wlk-font-display);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 400; text-transform: uppercase;
  letter-spacing: 0.005em; color: #000; margin: 0; line-height: 1;
}
.wlk-subcats-grid {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 480px)  { .wlk-subcats-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px)  { .wlk-subcats-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; } }
@media (min-width: 1280px) { .wlk-subcats-grid { grid-template-columns: repeat(5, 1fr); } }
.wlk-subcat {
  display: flex; flex-direction: column;
  text-decoration: none; color: #000;
  background: #fff;
  border: 1px solid var(--wlk-border);
  border-radius: 4px; overflow: hidden;
  transition: all 0.25s ease; position: relative;
}
.wlk-subcat::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0;
  height: 3px; background: var(--wlk-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.25s;
}
.wlk-subcat:hover { border-color: #000; transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0,0,0,0.08); }
.wlk-subcat:hover::after { transform: scaleX(1); }
.wlk-subcat-img {
  width: 100%; aspect-ratio: 1/1;
  background: #f4f4f4 center/cover no-repeat;
  position: relative;
}
.wlk-subcat-img::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.15), transparent 45%);
  pointer-events: none;
}
.wlk-subcat-meta { padding: 12px 14px 14px; background: #fff; }
.wlk-subcat-name {
  font-size: 13px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.05em; margin: 0; line-height: 1.2; color: #000;
}
.wlk-subcat:hover .wlk-subcat-name { color: var(--wlk-accent); }
.wlk-subcat-count {
  display: block; font-size: 11px; color: var(--wlk-ink-mut);
  font-weight: 500; margin-top: 4px; letter-spacing: 0.02em;
}

/* Breadcrumb */
.wlk-shop-crumbs {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--wlk-ink-mut);
  margin: 0 0 1rem; padding: 0 0.25rem;
}
.wlk-shop-crumbs a { color: var(--wlk-ink-mut); text-decoration: none; transition: color 0.15s; }
.wlk-shop-crumbs a:hover { color: var(--wlk-accent); }
.wlk-shop-crumbs span { color: #000; }

/* Esconde scripts antigos */
.ht-ctc, #ht-ctc-chat { display: none !important; }

/* ============================================================
   SHOP / CATEGORY ARCHIVE
   ============================================================ */
.wlk-shop { padding: 0 0 3rem; }
.wlk-shop-hero {
  position: relative; min-height: 220px;
  display: flex; align-items: center;
  background: #000; color: #fff; overflow: hidden;
  margin: 0 0 2rem;
}
@media (min-width: 640px)  { .wlk-shop-hero { min-height: 280px; margin-bottom: 2.5rem; } }
@media (min-width: 1024px) { .wlk-shop-hero { min-height: 320px; } }
/* Quando há intro logo abaixo, hero fica colado (intro provê seu próprio espaço) */
.wlk-shop-hero + .wlk-shop-intro { margin-top: 0; }
.wlk-shop-hero:has(+ .wlk-shop-intro) { margin-bottom: 0; }
.wlk-shop-hero-img { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0.55; }
.wlk-shop-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.85), rgba(0,0,0,0.4)); }
.wlk-shop-hero-content { position: relative; z-index: 2; padding: 2rem 1.5rem; max-width: 1400px; width: 100%; margin: 0 auto; }
@media (min-width: 1024px) { .wlk-shop-hero-content { padding: 2.5rem 2rem; } }
.wlk-shop-eyebrow { font-size: 11px; font-weight: 900; letter-spacing: 0.32em; text-transform: uppercase; color: var(--wlk-accent); margin: 0 0 0.5rem; }
.wlk-shop-hero h1 {
  font-family: var(--wlk-font-display);
  font-size: clamp(2.25rem, 6vw, 4rem); line-height: 1;
  text-transform: uppercase; margin: 0;
  font-weight: 400; letter-spacing: 0.005em;
}
/* ====== Intro abaixo do hero preto (texto editorial em fundo claro) ====== */
.wlk-shop-intro {
  background: #fff;
  border-bottom: 1px solid #ececec;
  padding: 2rem 1.25rem 2.25rem;
  margin: 0 0 2rem;
}
@media (min-width: 640px)  { .wlk-shop-intro { padding: 2.5rem 1.5rem 2.75rem; } }
@media (min-width: 1024px) { .wlk-shop-intro { padding: 3rem 2rem 3.25rem; } }
.wlk-shop-intro-inner {
  max-width: 60rem;
  margin: 0 auto;
  display: grid;
  gap: 1.25rem;
}
.wlk-shop-desc {
  font-size: clamp(14px, 1.7vw, 16px);
  line-height: 1.7;
  color: #1f2937;
  margin: 0;
}
.wlk-shop-desc h2 {
  font-family: var(--wlk-font-display, 'Inter', sans-serif);
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
  color: #0a0a0a;
  margin: 0 0 1rem;
  letter-spacing: -0.012em;
  text-transform: none;
}
.wlk-shop-desc h2 strong { color: var(--wlk-accent, #E50914); font-weight: 800; }
.wlk-shop-desc p { margin: 0 0 1rem; font-size: clamp(14px, 1.65vw, 15.5px); color: #374151; }
.wlk-shop-desc p:last-child { margin-bottom: 0; }
.wlk-shop-desc strong, .wlk-shop-desc b { color: #0a0a0a; font-weight: 700; }
.wlk-shop-desc em { font-style: italic; color: #1f2937; }
.wlk-shop-desc a { color: var(--wlk-accent, #E50914); text-decoration: underline; text-underline-offset: 3px; }
.wlk-shop-desc ul, .wlk-shop-desc ol {
  margin: 1rem 0; padding: 0; list-style: none;
  display: grid; gap: 0.55rem;
}
.wlk-shop-desc ul li, .wlk-shop-desc ol li {
  position: relative; padding-left: 1.5rem;
  font-size: clamp(13.5px, 1.55vw, 15px);
  color: #374151; line-height: 1.55;
}
.wlk-shop-desc ul li::before {
  content: ''; position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px; border-radius: 999px;
  background: var(--wlk-accent, #E50914);
  box-shadow: 0 0 0 3px rgba(229,9,20,0.14);
}
.wlk-shop-desc ul li strong { color: #0a0a0a; }
.wlk-shop-desc p.wlk-shop-cta {
  margin-top: 1.5rem; padding-top: 1.25rem;
  border-top: 1px solid #ececec;
  font-family: var(--wlk-font-display, 'Inter', sans-serif);
  font-size: clamp(13px, 1.6vw, 14.5px);
  font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0a0a0a;
}
.wlk-shop-desc p.wlk-shop-cta em { font-style: normal; color: #0a0a0a; }
.wlk-shop-features {
  margin: 0; padding: 0; list-style: none;
  display: grid; gap: 0.55rem;
}
@media (min-width: 768px) { .wlk-shop-features { grid-template-columns: 1fr 1fr; gap: 0.7rem 1.5rem; } }
.wlk-shop-features li {
  position: relative; padding-left: 1.5rem;
  font-size: clamp(13.5px, 1.55vw, 15px);
  color: #374151; line-height: 1.55;
}
.wlk-shop-features li::before {
  content: ''; position: absolute; left: 0; top: 0.55em;
  width: 7px; height: 7px; border-radius: 999px;
  background: var(--wlk-accent, #E50914);
  box-shadow: 0 0 0 3px rgba(229,9,20,0.14);
}
.wlk-shop-features li strong { color: #0a0a0a; font-weight: 700; }
.wlk-shop-hero-plain { background: linear-gradient(135deg, #000, #1a1a1a); }
.wlk-shop-title { font-family: var(--wlk-font-display); font-size: clamp(1.75rem, 4vw, 2.5rem); margin: 1.5rem 0; text-transform: uppercase; font-weight: 400; }

.wlk-shop-grid {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0; padding: 0; list-style: none !important;
  max-width: 100%;
}
@media (min-width: 640px)  { .wlk-shop-grid { gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .wlk-shop-grid { gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.wlk-shop-grid li.product, .wlk-shop-grid li.wlk-li {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  width: 100% !important; float: none !important;
}
.wlk-shop-grid li.product .wlk-card, .wlk-shop-grid .wlk-card { margin: 0; }

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.wlk-single { padding: 2rem 0 4rem; max-width: 100%; overflow-x: hidden; }
.wlk-single-page { max-width: 1280px; margin: 0 auto; padding: 2rem 1rem 4rem; }
@media (min-width: 768px) { .wlk-single { padding: 2.5rem 0 5rem; } .wlk-single-page { padding: 2.5rem 1.5rem 5rem; } }
.wlk-single-page main, .wlk-single-page > * { max-width: 100%; }
/* Esconde page-header duplicado em single product / shop */
body.single-product .page-header,
body.single-product .entry-header,
body.woocommerce .page-header,
body.archive .page-header,
body.archive .entry-title,
.wlk-shop-archive ~ .page-header,
.wlk-shop-archive ~ .entry-header { display: none !important; }
/* Esconde título "LOJA" solto que aparece em alguns templates */
body.woocommerce .woocommerce-products-header__title { display: none !important; }
/* Esconde duplicação de "produtos relacionados" nativa quando temos a nossa */
body.single-product .related.products .wlk-pc + .related.products,
body.single-product .related.products + .related.products { display: none !important; }
/* Padroniza related products nativo do WC com look walkind */
body.single-product .related.products,
body.single-product .upsells.products { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--wlk-border); }
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  font-family: var(--wlk-font-display) !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 400 !important; text-transform: uppercase !important;
  letter-spacing: 0.005em !important; margin: 0 0 1.25rem !important;
}
.woocommerce div.product { display: flex !important; flex-direction: column; gap: 1.5rem; max-width: 100%; }
@media (min-width: 768px) { .woocommerce div.product { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; } }
.woocommerce div.product .images, .woocommerce div.product .summary {
  width: 100% !important; max-width: 100% !important;
  float: none !important; margin: 0 !important;
  min-width: 0 !important;
}
.woocommerce div.product .images img,
.woocommerce div.product .images a img,
.woocommerce div.product .woocommerce-product-gallery img,
.woocommerce div.product .woocommerce-product-gallery__image img {
  width: 100% !important; max-width: 100% !important; height: auto !important;
  display: block !important;
}
.woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important; max-width: 100% !important; float: none !important;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)) !important;
  gap: 8px !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
  width: auto !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important; height: 100% !important; aspect-ratio: 624/723 !important;
  object-fit: cover !important; border: 1px solid var(--wlk-border) !important; opacity: 0.7;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
  opacity: 1; border-color: #000 !important;
}
.woocommerce div.product form.cart { margin-bottom: 1rem !important; }
.woocommerce div.product .product_title {
  font-family: var(--wlk-font-display) !important;
  text-transform: uppercase !important; font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  line-height: 1 !important; margin: 0 0 1rem !important;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: #000 !important; font-weight: 900 !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  margin: 0 0 0.5rem !important; display: block !important;
}
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: var(--wlk-accent) !important; text-decoration: none !important; }
.woocommerce div.product p.price del { color: #9ca3af !important; font-weight: 500 !important; }
.wlk-single-install { font-size: 13px; color: var(--wlk-ink-mut); margin: 0 0 1rem; font-weight: 500; }
.wlk-single-install strong { color: #000; }

/* Cupom expresso na página do produto */
.wlk-single-coupon { margin: 1.25rem 0; padding: 14px 16px; background: #fafafa; border: 1px solid var(--wlk-border); }
.wlk-single-coupon label { display: block; font-size: 11px; font-weight: 900; color: var(--wlk-accent); letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 8px; }
.wlk-single-coupon-form { display: flex; gap: 6px; }
.wlk-single-coupon-form input {
  flex: 1; padding: 10px 12px; border: 1px solid var(--wlk-border);
  font: inherit; font-size: 13px;
}
.wlk-single-coupon-form input:focus { outline: none; border-color: #000; }
.wlk-single-coupon-form button {
  background: #000; color: #fff; border: none; padding: 10px 20px;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; cursor: pointer;
}
.wlk-single-coupon-form button:hover { background: var(--wlk-accent); }

/* Botão Comprar Agora no single */
.wlk-single-buy-now {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--wlk-accent) !important; color: #fff !important;
  border: none !important; padding: 16px 24px !important;
  font-family: var(--wlk-font-body) !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: 0.18em !important; font-size: 14px !important;
  cursor: pointer; transition: background 0.2s;
  width: 100%; margin-top: 10px !important;
}
.wlk-single-buy-now:hover { background: #000 !important; }

/* Mensagem de urgência abaixo do produto */
.wlk-urgency {
  display: flex; align-items: center; gap: 12px;
  background: #000; color: #fff;
  padding: 14px 20px; margin: 2rem 0;
  font-size: 13px; font-weight: 500;
}
.wlk-urgency strong { color: var(--wlk-accent); font-weight: 900; }
.wlk-urgency-pulse {
  width: 10px; height: 10px; border-radius: 999px;
  background: var(--wlk-accent); flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(229, 9, 20, 0.5);
  animation: wlk-pulse 1.5s infinite;
}
@keyframes wlk-pulse {
  0% { box-shadow: 0 0 0 0 rgba(229, 9, 20, 0.6); }
  70% { box-shadow: 0 0 0 12px rgba(229, 9, 20, 0); }
  100% { box-shadow: 0 0 0 0 rgba(229, 9, 20, 0); }
}

/* Sticky mobile bar no single product */
.wlk-single-mobile-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  background: #fff; border-top: 2px solid #000;
  display: none; align-items: center; justify-content: space-between;
  padding: 10px 14px; gap: 10px;
  box-shadow: 0 -6px 16px rgba(0,0,0,0.1);
}
@media (max-width: 767px) {
  body.single-product .wlk-single-mobile-bar { display: flex; }
  body.single-product .wlk-floating { bottom: 80px; } /* sobe os botões flutuantes */
}
.wlk-smb-price { font-weight: 900; font-size: 16px; color: #000; flex-shrink: 1; min-width: 0; }
.wlk-smb-price del { color: #9ca3af; font-size: 11px; font-weight: 500; margin-right: 4px; }
.wlk-smb-price ins { text-decoration: none; color: #000; }
.wlk-smb-actions { display: flex; gap: 8px; flex-shrink: 0; }
.wlk-smb-add, .wlk-smb-buy {
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.12em; font-size: 11px; transition: background 0.2s;
}
.wlk-smb-add { background: #000; color: #fff; padding: 12px 14px; }
.wlk-smb-add:hover { background: var(--wlk-accent); }
.wlk-smb-buy { background: var(--wlk-accent); color: #fff; padding: 12px 18px; }
.wlk-smb-buy:hover { background: #000; }

/* Polish nas abas do single (Descrição/Especificações/Avaliações) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--wlk-border) !important;
  padding: 0 !important; margin: 2rem 0 0 !important;
  display: flex; gap: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important; border-bottom: 2px solid transparent !important;
  padding: 0 !important; margin: 0 !important;
  border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--wlk-ink-mut) !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: 0.12em !important; font-size: 12px !important;
  padding: 16px 22px !important; display: block;
  text-shadow: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: #000 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--wlk-accent) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #000 !important; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 1.5rem 0 !important; }

.wlk-perks {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem;
  margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--wlk-border);
}
.wlk-perk {
  display: flex; align-items: center; gap: 10px;
  padding: 12px; background: #fafafa; border-radius: 4px;
}
.wlk-perk .wlk-svg { color: var(--wlk-accent); flex-shrink: 0; }
.wlk-perk-t { margin: 0; font-size: 13px; font-weight: 800; line-height: 1.2; color: #000; }
.wlk-perk-d { margin: 2px 0 0; font-size: 11px; color: var(--wlk-ink-mut); }

/* ============================================================
   WOOCOMMERCE OVERRIDES
   ============================================================ */
.woocommerce, .woocommerce-page { font-family: var(--wlk-font-body) !important; }

.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(2,1fr); gap: 0.75rem; margin: 0 !important; padding: 0 !important; }
@media (min-width: 640px)  { .woocommerce ul.products { grid-template-columns: repeat(3,1fr); gap: 1rem; } }
@media (min-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(4,1fr); gap: 1.25rem; } }
.woocommerce ul.products li.product {
  width: auto !important; margin: 0 !important; padding: 0 !important;
  background: transparent !important; border: none !important; float: none !important; clear: none !important;
}
.woocommerce ul.products li.product::before, .woocommerce ul.products li.product::after { display: none !important; }

.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: #000 !important; color: #fff !important;
  border: none !important; border-radius: 0 !important;
  font-family: var(--wlk-font-body) !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; padding: 14px 24px !important;
  font-size: 12px !important; transition: background 0.2s !important;
  text-shadow: none !important; box-shadow: none !important; line-height: 1 !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
  background: var(--wlk-accent) !important;
}

.woocommerce span.onsale {
  background: var(--wlk-accent) !important; color: #fff !important;
  border-radius: 0 !important; font-weight: 900 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase;
  min-width: 0 !important; min-height: 0 !important;
  padding: 4px 10px !important; line-height: 1.4 !important;
  font-size: 10px !important; top: 12px !important; left: 12px !important;
}

.woocommerce-page .page-title, .woocommerce > h1, .woocommerce h2 {
  font-family: var(--wlk-font-display) !important;
  font-weight: 400 !important; text-transform: uppercase !important;
  letter-spacing: 0.005em !important;
}

.woocommerce-cart table.cart th { font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em; background: #f5f5f5; border-color: var(--wlk-border); font-family: var(--wlk-font-body); }
.woocommerce-cart table.cart td { border-color: var(--wlk-border); }
.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"],
.woocommerce input[type="number"], .woocommerce input[type="password"],
.woocommerce select, .woocommerce textarea {
  border: 1px solid var(--wlk-border) !important;
  border-radius: 4px !important; padding: 10px 14px !important;
  font: inherit !important; font-size: 14px !important;
}

.woocommerce-breadcrumb { font-size: 11px; color: #6b6b6b; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; margin-bottom: 1rem !important; }
.woocommerce .woocommerce-result-count { color: #6b6b6b; font-size: 13px; }
.woocommerce .woocommerce-ordering select { font-size: 13px; }

.woocommerce nav.woocommerce-pagination ul { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; margin: 0 4px !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  background: #fff !important; border: 1px solid var(--wlk-border) !important;
  color: #000 !important; font-weight: 900 !important;
  border-radius: 4px !important; min-width: 40px !important; padding: 10px 12px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: #000 !important; color: #fff !important; border-color: #000 !important; }

.woocommerce-info, .woocommerce-error, .woocommerce-message {
  border-radius: 0 !important; border-top-style: solid !important;
  font-family: var(--wlk-font-body) !important; background: #f5f5f5 !important;
}
.woocommerce-info { border-top-color: #000 !important; }
.woocommerce-message { border-top-color: var(--wlk-accent) !important; }

/* WP Admin bar não estraga sticky (caso esteja logado) */
body.admin-bar .wlk-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wlk-header { top: 46px; } }

/* Páginas internas */
body.page main, body.single main, body.archive main, body.blog main { padding: 1.5rem 0 3rem; }
.wlk-pagewrap { max-width: 800px; margin: 0 auto; padding: 0 1.5rem; }
.wlk-pagewrap p { font-size: 16px; line-height: 1.7; color: var(--wlk-ink); }
.wlk-pagewrap h1, .wlk-pagewrap .wlk-display {
  font-family: var(--wlk-font-display);
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  text-transform: uppercase; line-height: 1; margin: 0.5rem 0 1.5rem;
  letter-spacing: 0.005em; font-weight: 400;
}
.wlk-pagewrap h2 { font-family: var(--wlk-font-display); font-size: clamp(1.75rem, 4vw, 2.25rem); text-transform: uppercase; margin-top: 2rem; font-weight: 400; }
.wlk-pagewrap .wlk-eyebrow { font-size: 11px; font-weight: 900; letter-spacing: 0.32em; text-transform: uppercase; color: var(--wlk-accent); margin-bottom: 0.5rem; display: inline-block; }

/* ============================================================
   BLOG — listagem (/noticias) e post individual
   ============================================================ */
.wlk-blog-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 1.5rem 0; }
.wlk-blog-filter {
  display: inline-block; padding: 8px 16px;
  border: 1px solid var(--wlk-border); color: var(--wlk-ink-mut);
  font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.12em; text-decoration: none;
  transition: all 0.15s;
}
.wlk-blog-filter:hover { background: var(--wlk-accent); color: #fff; border-color: var(--wlk-accent); }
.wlk-blog-filter.is-active { background: #000; color: #fff; border-color: #000; }

.wlk-blog-feat {
  display: block; position: relative; min-height: 380px;
  background: #000 center/cover no-repeat;
  text-decoration: none; color: #fff; margin: 1.5rem 0;
  overflow: hidden;
}
@media (min-width: 768px) { .wlk-blog-feat { min-height: 460px; } }
/* Letterbox escuro só na parte de baixo onde o texto fica — topo da foto preservado. */
.wlk-blog-feat-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.92) 0%,
    rgba(0,0,0,0.55) 30%,
    transparent 55%,
    transparent 100%
  );
}
.wlk-blog-feat-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 2rem 1.5rem; max-width: 760px; z-index: 2;
}
/* Sem text-shadow — o degradê escuro da base já cria contraste limpo. */
@media (min-width: 768px) { .wlk-blog-feat-content { padding: 2.5rem 2.5rem; } }
.wlk-blog-feat-cat {
  display: inline-block; background: var(--wlk-accent); color: #fff;
  padding: 4px 12px; font-size: 11px; font-weight: 900;
  letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 1rem;
  /* pílula tem fundo sólido, dispensa sombra do texto */
  text-shadow: none !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.wlk-blog-feat-title {
  font-family: var(--wlk-font-display);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 900; text-transform: uppercase;
  color: #fff; margin: 0 0 0.75rem; line-height: 1; letter-spacing: 0.005em;
  text-shadow:
    0 0 8px rgba(255,255,255,0.75),
    0 0 18px rgba(255,255,255,0.55),
    0 0 32px rgba(255,255,255,0.35);
}
.wlk-blog-feat-ex { color: #fff; font-size: 14px; margin: 0 0 0.75rem; }
.wlk-blog-feat-more {
  display: inline-block; color: #fff; font-size: 12px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.18em;
  border-bottom: 2px solid var(--wlk-accent); padding-bottom: 2px;
}
.wlk-blog-feat-meta { font-size: 11px; color: rgba(255,255,255,0.85); margin: 0.75rem 0 0; }

.wlk-blog-card-cat {
  position: absolute; top: 12px; left: 12px;
  background: var(--wlk-accent); color: #fff;
  padding: 4px 10px; font-size: 10px; font-weight: 900;
  letter-spacing: 0.15em; text-transform: uppercase; z-index: 2;
}
.wlk-blog-card .wlk-blog-cover { position: relative; }

/* Single post */
.wlk-post-hero {
  position: relative; min-height: 380px;
  background: #000 center/cover no-repeat;
  display: flex; align-items: flex-end;
  margin: 0;
}
@media (min-width: 768px) { .wlk-post-hero { min-height: 480px; } }
.wlk-post-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.1)); }
.wlk-post-hero-content { position: relative; z-index: 2; padding: 2.5rem 1.5rem; max-width: 1280px; margin: 0 auto; width: 100%; color: #fff; }
@media (min-width: 768px) { .wlk-post-hero-content { padding: 3.5rem 2rem; } }
.wlk-post-hero-cat {
  display: inline-block; background: var(--wlk-accent); color: #fff;
  padding: 4px 14px; font-size: 11px; font-weight: 900;
  letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 1rem;
}
.wlk-post-hero h1 {
  font-family: var(--wlk-font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400; text-transform: uppercase;
  color: #fff; margin: 0 0 1rem; line-height: 1; max-width: 18ch;
}
.wlk-post-hero-meta { font-size: 12px; color: rgba(255,255,255,0.7); margin: 0; letter-spacing: 0.05em; }

.wlk-post-wrap {
  display: grid; grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1100px; margin: 0 auto; padding: 2.5rem 1.5rem;
}
@media (min-width: 1024px) { .wlk-post-wrap { grid-template-columns: 56px 1fr; gap: 2rem; padding: 3rem 2rem; } }

.wlk-post-share {
  display: flex; gap: 8px;
  flex-direction: row;
}
@media (min-width: 1024px) {
  .wlk-post-share { position: sticky; top: 110px; flex-direction: column; align-self: start; }
}
.wlk-post-share a, .wlk-post-share button {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--wlk-border); background: #fff; color: #000;
  cursor: pointer; transition: all 0.2s; text-decoration: none;
}
.wlk-post-share a:hover, .wlk-post-share button:hover { background: #000; color: #fff; border-color: #000; }

.wlk-post-body {
  font-size: 17px; line-height: 1.75; color: #1a1a1a;
  max-width: 760px;
}
.wlk-post-body p { margin: 0 0 1.25rem; }
.wlk-post-body h2 {
  font-family: var(--wlk-font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400; text-transform: uppercase;
  color: #000; margin: 2rem 0 1rem; line-height: 1;
  position: relative; padding-bottom: 0.75rem;
  letter-spacing: 0.005em;
}
.wlk-post-body h2::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 40px; height: 3px; background: var(--wlk-accent);
}
.wlk-post-body h3 { font-size: 22px; font-weight: 800; margin: 1.5rem 0 0.75rem; color: #000; }
.wlk-post-body img, .wlk-post-body figure img { width: 100%; height: auto; display: block; margin: 1.5rem 0; }
.wlk-post-body blockquote {
  background: #fafafa; border-left: 4px solid var(--wlk-accent);
  padding: 16px 20px; margin: 1.5rem 0;
  font-style: normal; color: #1a1a1a;
}
.wlk-post-body ul, .wlk-post-body ol { padding-left: 1.5rem; }
.wlk-post-body ul li::marker { color: var(--wlk-accent); }
.wlk-post-body a { color: var(--wlk-accent); text-decoration: underline; }

.wlk-post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 2rem 0 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--wlk-border); }
.wlk-post-tags a {
  font-size: 11px; font-weight: 700; padding: 6px 12px;
  background: #fafafa; border: 1px solid var(--wlk-border);
  color: var(--wlk-ink); text-decoration: none; text-transform: uppercase; letter-spacing: 0.05em;
}
.wlk-post-tags a:hover { background: #000; color: #fff; border-color: #000; }

.wlk-post-author {
  display: flex; gap: 16px; align-items: center;
  padding: 1.25rem; background: #fafafa; border: 1px solid var(--wlk-border);
  margin: 2rem 0;
}
.wlk-post-author-avatar { width: 56px; height: 56px; border-radius: 999px; object-fit: cover; flex-shrink: 0; }
.wlk-post-author-name { font-weight: 900; margin: 0 0 4px; text-transform: uppercase; letter-spacing: 0.05em; font-size: 13px; color: #000; }
.wlk-post-author-bio { font-size: 13px; color: var(--wlk-ink-mut); margin: 0; line-height: 1.4; }

.wlk-post-related { background: #fafafa; padding: 3rem 0; }
.wlk-post-related .wlk-section-title { margin-bottom: 1.5rem; padding: 0 1.5rem; }

.wlk-post-cta { background: #000; color: #fff; padding: 3rem 1.5rem; text-align: center; }
.wlk-post-cta h2 {
  font-family: var(--wlk-font-display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400; text-transform: uppercase;
  margin: 0 0 0.5rem; line-height: 1;
}
.wlk-post-cta p { color: rgba(255,255,255,0.7); margin: 0 0 1.5rem; }
.wlk-post-cta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--wlk-accent); color: #fff;
  padding: 14px 28px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 13px; text-decoration: none; transition: background 0.2s;
}
.wlk-post-cta-btn:hover { background: #fff; color: #000; }

/* ============================================================
   KIT 4 CAMISETAS — landing interativa
   ============================================================ */
.wlk-kit-hero {
  position: relative; background: #000 center/cover no-repeat;
  min-height: 360px; display: flex; align-items: center; color: #fff;
  margin-bottom: 0;
  background-image: linear-gradient(135deg, #000 30%, #1a0000);
}
@media (min-width: 768px) { .wlk-kit-hero { min-height: 440px; } }
.wlk-kit-hero-img { position: absolute; inset: 0; opacity: 0.25; background: url('https://images.unsplash.com/photo-1583744946564-b52ac1c389c8?w=1600&q=80') center/cover; }
.wlk-kit-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.95), rgba(0,0,0,0.4)); }
.wlk-kit-hero-content { position: relative; z-index: 2; padding: 2.5rem 1.5rem; max-width: 1280px; margin: 0 auto; width: 100%; }
@media (min-width: 768px) { .wlk-kit-hero-content { padding: 3rem 2rem; } }
.wlk-kit-hero h1 {
  font-family: var(--wlk-font-display);
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  font-weight: 400; text-transform: uppercase;
  color: #fff; margin: 0.75rem 0; line-height: 0.95;
  letter-spacing: 0.005em; max-width: 12ch;
}
.wlk-kit-hero-sub { font-size: 16px; color: rgba(255,255,255,0.85); max-width: 28rem; margin: 0 0 1.5rem; }
.wlk-kit-prices { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; }
.wlk-kit-price-old { color: rgba(255,255,255,0.6); font-size: 14px; }
.wlk-kit-price-old del { font-weight: 500; }
.wlk-kit-price-now { font-family: var(--wlk-font-display); font-size: clamp(2rem, 4.5vw, 3rem); color: var(--wlk-accent); font-weight: 400; letter-spacing: 0.005em; }
.wlk-kit-price-econ { background: #16a34a; color: #fff; padding: 4px 10px; font-size: 11px; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }

.wlk-kit-steps { background: #fff; padding: 2.5rem 0; border-bottom: 1px solid var(--wlk-border); }
.wlk-kit-steps-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; padding: 0 1.5rem; }
@media (min-width: 768px) { .wlk-kit-steps-grid { grid-template-columns: repeat(3, 1fr); padding: 0 2rem; } }
.wlk-kit-step { display: flex; gap: 16px; align-items: flex-start; }
.wlk-kit-step-n {
  font-family: var(--wlk-font-display);
  font-size: 38px; line-height: 1; color: var(--wlk-accent);
  font-weight: 400; flex-shrink: 0;
}
.wlk-kit-step-t { font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 4px; font-size: 14px; color: #000; }
.wlk-kit-step-d { color: var(--wlk-ink-mut); font-size: 13px; margin: 0; line-height: 1.5; }

.wlk-kit-grid-section { background: #fff; padding: 3rem 0 8rem; }
.wlk-kit-grid-section .wlk-container { padding: 0 1.5rem; max-width: 1280px; margin: 0 auto; }
.wlk-kit-grid-sub { color: var(--wlk-ink-mut); font-size: 14px; margin: 0.5rem 0 1.5rem; }
.wlk-kit-grid-sub strong { color: var(--wlk-accent); }
.wlk-kit-grid {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px)  { .wlk-kit-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
@media (min-width: 1024px) { .wlk-kit-grid { grid-template-columns: repeat(4, 1fr); } }
.wlk-kit-card {
  background: #fff; border: 2px solid var(--wlk-border);
  cursor: pointer; transition: all 0.2s; position: relative;
  display: flex; flex-direction: column;
}
.wlk-kit-card:hover { border-color: #000; }
.wlk-kit-card.is-selected { border-color: var(--wlk-accent); }
.wlk-kit-card-imgwrap { position: relative; aspect-ratio: 624/723; overflow: hidden; background: #f4f4f4; }
.wlk-kit-card-imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wlk-kit-card-check {
  position: absolute; top: 10px; right: 10px;
  width: 28px; height: 28px; border-radius: 999px;
  border: 2px solid #fff; background: rgba(0,0,0,0.4);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
}
.wlk-kit-card.is-selected .wlk-kit-card-check {
  background: var(--wlk-accent); border-color: var(--wlk-accent);
}
.wlk-kit-card.is-selected .wlk-kit-card-check::after {
  content: "✓"; color: #fff; font-weight: 900; font-size: 16px;
}
.wlk-kit-card-badge {
  position: absolute; top: 10px; left: 10px;
  background: var(--wlk-accent); color: #fff;
  padding: 3px 10px; font-size: 10px; font-weight: 900;
  letter-spacing: 0.15em; text-transform: uppercase;
  opacity: 0; transition: opacity 0.2s;
}
.wlk-kit-card.is-selected .wlk-kit-card-badge { opacity: 1; }
.wlk-kit-card-body { padding: 10px 12px 14px; }
.wlk-kit-card-name { font-size: 12px; font-weight: 700; line-height: 1.3; margin: 0 0 4px; color: #000; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wlk-kit-card-price { font-size: 11px; color: var(--wlk-ink-mut); }
.wlk-kit-card-price del { color: var(--wlk-ink-mut); }

.wlk-kit-details { background: #fafafa; padding: 3rem 0; }
.wlk-kit-details-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; padding: 0 1.5rem; max-width: 1100px; margin: 0 auto; }
@media (min-width: 768px) { .wlk-kit-details-grid { grid-template-columns: repeat(2, 1fr); gap: 3rem; padding: 0 2rem; } }
.wlk-kit-details ul { list-style: none; padding: 0; }
.wlk-kit-details li { padding: 8px 0 8px 22px; position: relative; font-size: 14px; line-height: 1.5; }
.wlk-kit-details li::before { content: "✓"; color: var(--wlk-accent); font-weight: 900; position: absolute; left: 0; top: 8px; }

.wlk-kit-faq { background: #fff; padding: 3rem 1.5rem; max-width: 800px; margin: 0 auto; }
.wlk-kit-faq details { border-bottom: 1px solid var(--wlk-border); padding: 14px 0; }
.wlk-kit-faq summary { font-weight: 800; cursor: pointer; padding: 4px 0; font-size: 14px; color: #000; list-style: none; display: flex; justify-content: space-between; align-items: center; text-transform: uppercase; letter-spacing: 0.04em; }
.wlk-kit-faq summary::after { content: "+"; font-weight: 400; color: var(--wlk-accent); font-size: 22px; }
.wlk-kit-faq details[open] summary::after { content: "−"; }
.wlk-kit-faq details[open] { background: #fafafa; padding: 14px 16px; border: 1px solid var(--wlk-border); margin: 8px 0; }
.wlk-kit-faq p { margin: 12px 0 0; color: var(--wlk-ink-mut); font-size: 14px; line-height: 1.6; }

.wlk-kit-help { padding: 2rem 1.5rem 8rem; text-align: center; }
.wlk-kit-help p { font-size: 14px; color: var(--wlk-ink-mut); margin: 0 0 1rem; }
.wlk-kit-help-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: #25D366; color: #fff;
  padding: 14px 26px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.15em;
  font-size: 13px; text-decoration: none;
  transition: transform 0.2s;
}
.wlk-kit-help-btn:hover { transform: scale(1.04); }

/* Sticky bar do kit */
.wlk-kit-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 95;
  background: #000; color: #fff;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 12px 16px;
  box-shadow: 0 -8px 24px rgba(0,0,0,0.3);
}
@media (min-width: 768px) { .wlk-kit-bar { padding: 14px 24px; gap: 24px; } }
.wlk-kit-bar-progress { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
@media (min-width: 768px) { .wlk-kit-bar-progress { flex-direction: row; align-items: center; gap: 14px; } }
.wlk-kit-bar-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.wlk-kit-bar-label strong { color: var(--wlk-accent); font-size: 16px; }
.wlk-kit-bar-slots { display: flex; gap: 4px; }
.wlk-kit-bar-slot {
  width: 32px; height: 32px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  background-size: cover; background-position: center;
}
.wlk-kit-bar-slot.is-filled { border-color: var(--wlk-accent); background-color: rgba(229,9,20,0.2); }
.wlk-kit-bar-price { font-family: var(--wlk-font-display); font-size: 22px; font-weight: 400; color: var(--wlk-accent); flex-shrink: 0; display: none; }
@media (min-width: 768px) { .wlk-kit-bar-price { display: block; font-size: 28px; } }
.wlk-kit-bar-btn {
  background: #444; color: #fff; border: none;
  padding: 12px 18px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.12em;
  font-size: 11px; cursor: not-allowed;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background 0.2s; opacity: 0.7; flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 768px) { .wlk-kit-bar-btn { padding: 14px 24px; font-size: 13px; } }
.wlk-kit-bar-btn:not([disabled]) { background: var(--wlk-accent); cursor: pointer; opacity: 1; }
.wlk-kit-bar-btn:not([disabled]):hover { background: #fff; color: #000; }
.wlk-kit-bar-btn.loading { opacity: 0.6; pointer-events: none; }

/* Body padding-bottom no kit pra não cobrir conteúdo */
body.page .wlk-kit-bar ~ * { /* não dá pra fazer só com seletor — uso CSS no kit-grid-section padding-bottom */ }

.wlk-hide { display: none !important; }

/* ============================================================
   CART / CHECKOUT / MY ACCOUNT — hero preto com barra progresso
   ============================================================ */
.wlk-checkout-hero {
  background: #000; color: #fff;
  padding: 2.5rem 1.5rem 2rem;
}
@media (min-width: 768px) { .wlk-checkout-hero { padding: 3rem 2rem 2.5rem; } }
.wlk-checkout-hero .wlk-container { max-width: 1280px; margin: 0 auto; }
.wlk-checkout-hero h1 {
  font-family: var(--wlk-font-display);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 400; text-transform: uppercase;
  color: #fff; margin: 0 0 1.5rem; line-height: 1;
  letter-spacing: 0.005em;
}
.wlk-checkout-steps {
  display: flex; gap: 0; padding: 0; margin: 0; list-style: none;
  border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.25rem;
  overflow-x: auto; scrollbar-width: none;
}
.wlk-checkout-steps::-webkit-scrollbar { display: none; }
.wlk-checkout-steps li {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.12em; color: rgba(255,255,255,0.4);
  padding: 4px 18px 4px 0; white-space: nowrap; flex-shrink: 0;
}
.wlk-checkout-steps li:not(:last-child)::after {
  content: ""; display: inline-block;
  width: 18px; height: 1px; background: rgba(255,255,255,0.2);
  margin-left: 4px;
}
.wlk-checkout-steps li span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 999px;
  background: rgba(255,255,255,0.08); font-size: 11px; font-weight: 900;
  color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.15);
}
.wlk-checkout-steps li.is-done { color: #fff; }
.wlk-checkout-steps li.is-done span { background: #16a34a; color: #fff; border-color: #16a34a; }
.wlk-checkout-steps li.is-active { color: #fff; }
.wlk-checkout-steps li.is-active span { background: var(--wlk-accent); color: #fff; border-color: var(--wlk-accent); animation: wlk-pulse 1.5s infinite; }

/* ============================================================
   WC PAGES — Reset agressivo de wrappers do tema (cart/checkout/account)
   ============================================================ */
html body.woocommerce-cart main#content,
html body.woocommerce-checkout main#content,
html body.woocommerce-account main#content,
html body.woocommerce-cart .site-main,
html body.woocommerce-checkout .site-main,
html body.woocommerce-account .site-main,
html body.woocommerce-cart article.page,
html body.woocommerce-checkout article.page,
html body.woocommerce-account article.page,
html body.woocommerce-cart .e-con,
html body.woocommerce-checkout .e-con,
html body.woocommerce-account .e-con {
  max-width: 1320px !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 2.5rem 1.5rem 4rem !important;
  background: transparent !important;
  float: none !important;
  display: block !important;
  flex: none !important;
  box-sizing: border-box !important;
}
@media (max-width: 720px) {
  html body.woocommerce-cart main#content,
  html body.woocommerce-checkout main#content,
  html body.woocommerce-account main#content,
  html body.woocommerce-cart .site-main,
  html body.woocommerce-checkout .site-main,
  html body.woocommerce-account .site-main { padding: 1.5rem 1rem 3rem !important; }
}
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.woocommerce-account .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-account .entry-header,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title { display: none !important; }
body.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content,
body.woocommerce-account .page-content,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content {
  margin: 0 !important; padding: 0 !important; max-width: none !important;
}
html body.woocommerce-cart .woocommerce,
html body.woocommerce-checkout .woocommerce,
html body.woocommerce-account .woocommerce {
  max-width: none !important; margin: 0 !important; padding: 0 !important;
  width: 100% !important; float: none !important; min-width: 0 !important;
  box-sizing: border-box !important;
}

/* ============================================================
   CART — layout 1 coluna stack (totals ABAIXO), modernizado
   ============================================================ */
body.woocommerce-cart .woocommerce-cart-form { width: 100% !important; margin: 0 !important; }
body.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; margin: 1.5rem 0 0 !important; padding: 0 !important; max-width: none !important; }
html body.woocommerce-cart .woocommerce {
  display: block !important;
  width: 100% !important; max-width: none !important;
}
html body.woocommerce-cart .woocommerce-notices-wrapper { width: 100%; margin-bottom: 1rem; }
html body.woocommerce-cart .cart-collaterals .cart_totals,
html body.woocommerce-cart .cart-collaterals .cross-sells { width: 100% !important; max-width: none !important; float: none !important; }
html body.woocommerce-cart .cart-collaterals .cross-sells { display: none !important; }
/* Sticky CTA do checkout no rodapé da página (não do cart_totals) */
body.woocommerce-cart .cart_totals { position: relative !important; top: auto !important; }
body.woocommerce-cart table.shop_table {
  border: none !important; border-collapse: separate !important; border-spacing: 0 !important;
  background: #fff;
  width: 100% !important;
}
/* Desktop: mostra cabeçalho da tabela alinhado com o grid das linhas */
body.woocommerce-cart table.shop_table thead {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 150px 140px 80px 36px;
  column-gap: 16px;
  padding: 0 1.25rem 10px;
  border-bottom: 1px solid #e8e8e8;
  margin-bottom: 6px;
}
body.woocommerce-cart table.shop_table thead tr {
  display: contents !important;
}
body.woocommerce-cart table.shop_table thead th {
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #999 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 8px 0 !important;
  text-align: left !important;
}
body.woocommerce-cart table.shop_table thead th.wlk-th-total { text-align: right !important; }
body.woocommerce-cart table.shop_table thead th.wlk-th-remove { display: none !important; }
/* Mobile esconde thead (cada linha vira "card") */
@media (max-width: 640px) {
  body.woocommerce-cart table.shop_table thead { display: none !important; }
}
body.woocommerce-cart table.shop_table tbody tr.cart_item {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--wlk-border);
  border-bottom: none;
  align-items: center;
}
body.woocommerce-cart table.shop_table tbody tr.cart_item:last-of-type { border-bottom: 1px solid var(--wlk-border); }
body.woocommerce-cart table.shop_table tbody tr.cart_item td {
  border: none !important; padding: 0 !important; background: transparent !important;
}
body.woocommerce-cart table.shop_table .product-remove {
  position: absolute; right: 8px; top: 8px;
}
body.woocommerce-cart table.shop_table tbody tr.cart_item { position: relative; }
body.woocommerce-cart .product-remove a.remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 999px;
  background: #f5f5f5 !important; color: #000 !important;
  font-size: 18px !important; font-weight: 700;
  text-decoration: none !important; border: none;
}
body.woocommerce-cart .product-remove a.remove:hover { background: var(--wlk-accent) !important; color: #fff !important; }
body.woocommerce-cart .product-thumbnail img {
  width: 96px !important; height: 96px !important;
  object-fit: cover !important; border-radius: 0 !important;
  display: block !important; max-width: none !important;
  background: #f5f5f5;
}
body.woocommerce-cart td.product-name a {
  font-weight: 800 !important; color: #000 !important;
  text-decoration: none !important; font-size: 15px;
  line-height: 1.3; display: block;
}
body.woocommerce-cart td.product-name dl.variation { margin: 6px 0 0; font-size: 12px; color: var(--wlk-ink-mut); }
body.woocommerce-cart td.product-name dl.variation dt, body.woocommerce-cart td.product-name dl.variation dd { display: inline; margin: 0 4px 0 0; padding: 0; }
body.woocommerce-cart td.product-price { display: none !important; }
body.woocommerce-cart td.product-quantity {
  display: inline-flex; align-items: center;
  border: 1px solid var(--wlk-border);
}
body.woocommerce-cart td.product-quantity .quantity { display: flex !important; align-items: center; }
body.woocommerce-cart td.product-quantity input.qty {
  width: 44px !important; height: 36px;
  border: none !important; background: #fff !important;
  text-align: center; font-weight: 800 !important;
  font-size: 14px !important; padding: 0 !important;
  -moz-appearance: textfield;
}
body.woocommerce-cart td.product-quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart td.product-quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.woocommerce-cart td.product-subtotal {
  font-weight: 900 !important; font-size: 16px !important;
  color: #000 !important; text-align: right !important; white-space: nowrap;
  grid-column: 3; grid-row: 2;
}
body.woocommerce-cart td.product-quantity { grid-column: 3; grid-row: 1; justify-self: end; }
body.woocommerce-cart .actions {
  padding: 1rem 1.25rem !important; border: 1px solid var(--wlk-border); border-top: none;
  background: #fafafa;
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
body.woocommerce-cart .coupon { display: flex; gap: 8px; flex: 1; min-width: 240px; }
body.woocommerce-cart .coupon input.input-text {
  height: 40px; border: 1px solid var(--wlk-border) !important; border-radius: 0 !important;
  padding: 0 12px; flex: 1; font-size: 13px; min-width: 0;
}
body.woocommerce-cart .coupon button, body.woocommerce-cart button[name="update_cart"] {
  height: 40px; background: #000 !important; color: #fff !important;
  border: none !important; padding: 0 16px !important; border-radius: 0 !important;
  font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: 0.12em !important; cursor: pointer;
}
body.woocommerce-cart .coupon button:hover, body.woocommerce-cart button[name="update_cart"]:hover { background: var(--wlk-accent) !important; }
body.woocommerce-cart button[name="update_cart"]:disabled { opacity: 0.4; cursor: not-allowed; }

/* Cart totals (resumo direito) */
body.woocommerce-cart .cart_totals { background: #fff; padding: 1.5rem; border: 1px solid var(--wlk-border); margin: 0 !important; }
body.woocommerce-cart .cart_totals h2 {
  font-family: var(--wlk-font-display) !important;
  font-size: 22px !important; text-transform: uppercase !important;
  letter-spacing: 0.005em !important; color: #000 !important;
  font-weight: 400 !important; margin: 0 0 1.25rem !important;
  padding-bottom: 1rem; border-bottom: 1px solid var(--wlk-border);
}
body.woocommerce-cart .cart_totals table.shop_table { width: 100% !important; }
body.woocommerce-cart .cart_totals table.shop_table tr {
  display: flex !important; justify-content: space-between; align-items: baseline;
  padding: 10px 0; border-bottom: 1px dashed var(--wlk-border);
}
body.woocommerce-cart .cart_totals table.shop_table tr:last-child { border-bottom: none; padding-top: 16px; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  border: none !important; padding: 0 !important; background: transparent !important; flex: 0 0 auto !important;
}
body.woocommerce-cart .cart_totals table.shop_table th {
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  color: var(--wlk-ink-mut) !important;
}
body.woocommerce-cart .cart_totals table.shop_table td { font-weight: 800; color: #000; }
body.woocommerce-cart .cart_totals .order-total th { font-size: 14px !important; color: #000 !important; }
body.woocommerce-cart .cart_totals .order-total .amount { font-size: 26px !important; font-weight: 900 !important; color: #000 !important; }
body.woocommerce-cart .cart_totals .shipping-calculator-button { color: var(--wlk-accent) !important; font-size: 12px !important; text-decoration: none !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: 0.06em; }
body.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; margin-top: 1.25rem !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--wlk-accent) !important; color: #fff !important;
  font-size: 13px !important; padding: 18px !important; width: 100%;
  text-align: center; border: none !important; border-radius: 0 !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: 0.18em !important; display: block; margin: 0 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: #000 !important; }

/* Carrinho vazio */
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .cart-empty {
  text-align: center; padding: 3rem 1rem !important;
  background: #fff !important; border: 1px solid var(--wlk-border) !important;
  font-family: var(--wlk-font-display) !important; font-size: 22px !important;
  text-transform: uppercase !important; letter-spacing: 0.04em !important;
  color: #000 !important;
}
body.woocommerce-cart .wc-empty-cart-message::before,
body.woocommerce-cart .cart-empty::before { display: none !important; }
body.woocommerce-cart .return-to-shop { text-align: center; margin-top: 1.5rem; }
body.woocommerce-cart .return-to-shop a {
  display: inline-block; background: #000 !important; color: #fff !important;
  padding: 14px 28px !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: 0.18em !important;
  font-size: 12px !important; text-decoration: none !important; border-radius: 0 !important;
}

/* ============================================================
   CHECKOUT — 2 colunas, formulário moderno, resumo sticky
   ============================================================ */
body.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 1024px) {
  body.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 2rem; }
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 2 / 3; position: sticky; top: 110px; align-self: start;
  }
  body.woocommerce-checkout #order_review_heading { grid-row: 1; }
  body.woocommerce-checkout #order_review { grid-row: 2; }
  body.woocommerce-checkout #customer_details { grid-column: 1 / 2; grid-row: 1 / 3; }
}
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2 {
  width: 100% !important; float: none !important; max-width: none !important; margin: 0 !important;
}
body.woocommerce-checkout #customer_details {
  background: #fff; padding: 1.5rem; border: 1px solid var(--wlk-border);
}
body.woocommerce-checkout #customer_details > div { margin: 0 0 1.5rem; }
body.woocommerce-checkout #customer_details > div:last-child { margin-bottom: 0; }
body.woocommerce-checkout h3 {
  font-family: var(--wlk-font-display) !important; font-size: 20px !important;
  text-transform: uppercase !important; letter-spacing: 0.005em !important;
  color: #000 !important; margin: 0 0 1rem !important;
  padding-bottom: 0.75rem; border-bottom: 1px solid var(--wlk-border);
  font-weight: 400 !important;
}
body.woocommerce-checkout .form-row {
  margin: 0 0 12px !important; padding: 0 !important;
  display: block;
}
body.woocommerce-checkout .form-row label {
  display: block !important; margin-bottom: 4px !important;
  font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 0.06em !important; font-weight: 800 !important;
  color: var(--wlk-ink-mut) !important;
}
body.woocommerce-checkout .form-row .required { color: var(--wlk-accent); text-decoration: none; }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-selection--single,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100% !important;
  border: 1px solid var(--wlk-border) !important; border-radius: 0 !important;
  height: 44px !important; padding: 8px 14px !important;
  background: #fff !important;
  font: inherit !important; font-size: 14px !important; color: #000 !important;
  transition: border-color 0.15s;
}
body.woocommerce-checkout .form-row textarea { height: 96px !important; resize: vertical; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; padding: 0 !important; color: #000 !important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px !important; }
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus { border-color: #000 !important; outline: none !important; box-shadow: none !important; }
body.woocommerce-checkout .form-row.form-row-first { width: calc(50% - 6px) !important; float: left !important; clear: left; margin-right: 12px !important; }
body.woocommerce-checkout .form-row.form-row-last { width: calc(50% - 6px) !important; float: left !important; }
body.woocommerce-checkout .form-row-wide, body.woocommerce-checkout .form-row.notes { clear: both; }
body.woocommerce-checkout .woocommerce-additional-fields::after { content: ""; display: block; clear: both; }
body.woocommerce-checkout #ship-to-different-address label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px !important; text-transform: none !important;
  letter-spacing: normal !important; font-weight: 700 !important; color: #000 !important;
  cursor: pointer;
}
body.woocommerce-checkout #ship-to-different-address-checkbox { width: 16px; height: 16px; }

/* Order review (resumo direito) */
body.woocommerce-checkout #order_review_heading {
  background: #000; color: #fff; padding: 14px 18px;
  font-size: 13px !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: 0.15em !important;
  margin: 0 !important; font-family: var(--wlk-font-body) !important; border: none;
}
body.woocommerce-checkout #order_review {
  background: #fff !important; padding: 1.5rem !important;
  border: 1px solid var(--wlk-border) !important; border-top: none !important;
}
body.woocommerce-checkout #order_review table.shop_table { border: none !important; width: 100% !important; }
body.woocommerce-checkout #order_review table.shop_table thead th { background: transparent !important; padding: 0 0 10px !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: 0.08em; color: var(--wlk-ink-mut); border: none !important; border-bottom: 1px solid var(--wlk-border) !important; }
body.woocommerce-checkout #order_review table.shop_table tbody tr td { padding: 12px 0 !important; border: none !important; border-bottom: 1px dashed var(--wlk-border) !important; font-size: 13px; vertical-align: top; background: transparent !important; }
body.woocommerce-checkout #order_review table.shop_table tfoot th, body.woocommerce-checkout #order_review table.shop_table tfoot td { padding: 10px 0 !important; border: none !important; border-bottom: 1px dashed var(--wlk-border) !important; background: transparent !important; }
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th, body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td { border: none !important; padding-top: 16px !important; font-size: 14px; }
body.woocommerce-checkout .order-total .amount { font-size: 26px !important; font-weight: 900 !important; color: #000 !important; }
body.woocommerce-checkout .wc_payment_methods {
  list-style: none !important; margin: 1.25rem 0 !important; padding: 0 !important;
  border-top: 1px solid var(--wlk-border); padding-top: 1rem !important;
}
body.woocommerce-checkout .wc_payment_methods li.wc_payment_method {
  margin-bottom: 8px !important; padding: 0 !important;
  border: 1px solid var(--wlk-border); background: #fff !important;
}
body.woocommerce-checkout .wc_payment_methods li.wc_payment_method label {
  display: flex !important; align-items: center; gap: 10px;
  padding: 12px 14px !important; cursor: pointer; margin: 0 !important;
  font-weight: 700 !important; color: #000 !important;
  text-transform: none !important; letter-spacing: normal !important; font-size: 13px !important;
}
body.woocommerce-checkout .wc_payment_methods li.wc_payment_method input[type="radio"] { accent-color: var(--wlk-accent); width: 16px; height: 16px; margin: 0; }
body.woocommerce-checkout .payment_box {
  background: #fafafa !important; padding: 12px 14px !important;
  border-top: 1px solid var(--wlk-border); margin: 0 !important;
  font-size: 13px; color: var(--wlk-ink-mut);
}
body.woocommerce-checkout .payment_box::before { display: none !important; }
body.woocommerce-checkout .place-order { padding: 0 !important; margin-top: 1.25rem !important; border: none !important; }
body.woocommerce-checkout .place-order .button#place_order {
  background: var(--wlk-accent) !important; color: #fff !important; width: 100%;
  padding: 18px !important; font-size: 13px !important; border: none !important;
  border-radius: 0 !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: 0.18em !important; cursor: pointer;
}
body.woocommerce-checkout .place-order .button#place_order:hover { background: #000 !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--wlk-ink-mut); margin-bottom: 12px; }
body.woocommerce-checkout .input-text.wlk-cep-loading { background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10' fill='none' stroke='%23E50914' stroke-width='3' stroke-dasharray='40' stroke-dashoffset='10'/></svg>") no-repeat right 10px center !important; }

/* Checkout — login/coupon notices acima */
body.woocommerce-checkout .woocommerce-form-coupon-toggle, body.woocommerce-checkout .woocommerce-form-login-toggle { grid-column: 1 / -1; }
body.woocommerce-checkout .woocommerce-info {
  background: #fff !important; border: 1px solid var(--wlk-border) !important;
  border-left: 4px solid var(--wlk-accent) !important;
  padding: 12px 16px !important; color: #000 !important;
  font-size: 13px; border-radius: 0 !important;
}
body.woocommerce-checkout .woocommerce-info::before { display: none !important; }
body.woocommerce-checkout .woocommerce-info a { color: var(--wlk-accent) !important; font-weight: 800; text-decoration: none !important; }

/* ============================================================
   MY ACCOUNT — sidebar preta + content em cards
   ============================================================ */
html body.woocommerce-account .woocommerce { display: block; }
@media (min-width: 880px) {
  html body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 2rem !important; align-items: start !important;
  }
  html body.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #000 !important; padding: 0 !important;
  border-radius: 0 !important; margin: 0 0 1rem !important;
}
@media (min-width: 880px) { body.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0 !important; position: sticky; top: 110px; } }
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important; margin: 0 !important; padding: 8px 0 !important;
  display: block !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li { border: none !important; margin: 0 !important; padding: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 14px 22px !important;
  color: rgba(255,255,255,0.75) !important;
  font-weight: 700 !important; font-size: 13px !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  text-decoration: none !important;
  border-left: 3px solid transparent !important;
  transition: background 0.15s, color 0.15s;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: rgba(255,255,255,0.06) !important; color: #fff !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: rgba(255,255,255,0.08) !important; color: #fff !important;
  border-left-color: var(--wlk-accent) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff !important; padding: 2rem !important;
  border: 1px solid var(--wlk-border) !important; border-radius: 0 !important;
  margin: 0 !important; min-height: 360px;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  font-size: 15px; color: #333; line-height: 1.6;
  background: #fafafa; padding: 1rem 1.25rem; border-left: 3px solid var(--wlk-accent);
  margin: 0 0 1.5rem;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--wlk-font-display) !important;
  text-transform: uppercase; font-weight: 400 !important;
  letter-spacing: 0.005em; font-size: 22px !important;
  color: #000 !important; margin: 0 0 1rem !important;
  padding-bottom: 0.75rem; border-bottom: 1px solid var(--wlk-border);
}

/* Tabela de pedidos modernizada */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .shop_table.account-orders-table {
  border: none !important; border-collapse: separate !important;
  border-spacing: 0 !important; width: 100% !important; background: transparent !important;
}
body.woocommerce-account .woocommerce-orders-table thead { display: none !important; }
body.woocommerce-account .woocommerce-orders-table tbody tr.woocommerce-orders-table__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 16px;
  padding: 1.25rem;
  margin-bottom: 12px;
  border: 1px solid var(--wlk-border) !important;
  background: #fff !important;
  align-items: center;
  position: relative;
}
body.woocommerce-account .woocommerce-orders-table tbody tr.woocommerce-orders-table__row:hover { border-color: #000 !important; }
body.woocommerce-account .woocommerce-orders-table td {
  border: none !important; padding: 0 !important; background: transparent !important;
  font-size: 13px; color: #000;
}
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
  grid-column: 1; grid-row: 1;
  font-size: 16px !important; font-weight: 900 !important;
}
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a { color: #000 !important; text-decoration: none !important; }
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-date {
  grid-column: 1; grid-row: 2; font-size: 12px !important;
  color: var(--wlk-ink-mut) !important; text-transform: uppercase; letter-spacing: 0.06em;
}
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status {
  grid-column: 2; grid-row: 1; justify-self: end;
}
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status::before {
  content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 999px;
  background: #f59e0b; margin-right: 6px; vertical-align: middle;
}
body.woocommerce-account .woocommerce-orders-table tr[class*="status-completed"] td.woocommerce-orders-table__cell-order-status::before { background: #16a34a; }
body.woocommerce-account .woocommerce-orders-table tr[class*="status-cancelled"] td.woocommerce-orders-table__cell-order-status::before { background: #ef4444; }
body.woocommerce-account .woocommerce-orders-table tr[class*="status-processing"] td.woocommerce-orders-table__cell-order-status::before { background: #3b82f6; }
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status {
  font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  color: #000 !important;
}
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
  grid-column: 2; grid-row: 2; justify-self: end;
  font-size: 16px !important; font-weight: 900 !important; color: #000 !important;
  white-space: nowrap;
}
body.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
  grid-column: 1 / -1; grid-row: 3;
  display: flex; gap: 8px; flex-wrap: wrap;
  padding-top: 12px !important; margin-top: 4px;
  border-top: 1px dashed var(--wlk-border);
}
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.button {
  background: #000 !important; color: #fff !important;
  padding: 8px 16px !important; font-size: 11px !important;
  font-weight: 800 !important; text-transform: uppercase !important;
  letter-spacing: 0.1em !important; border: none !important;
  border-radius: 0 !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 6px;
  cursor: pointer; transition: background 0.15s;
}
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.button:hover { background: var(--wlk-accent) !important; }
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.button.pay { background: var(--wlk-accent) !important; }
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.button.pay:hover { background: #000 !important; }
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.button.cancel { background: transparent !important; color: var(--wlk-ink-mut) !important; border: 1px solid var(--wlk-border) !important; }
body.woocommerce-account .woocommerce-orders-table .woocommerce-button.button.cancel:hover { color: var(--wlk-accent) !important; border-color: var(--wlk-accent) !important; background: transparent !important; }

/* Paginação */
body.woocommerce-account .woocommerce-pagination ul {
  display: flex; gap: 4px; list-style: none; padding: 0; margin: 1rem 0 0;
  border: none !important;
}
body.woocommerce-account .woocommerce-pagination ul li { border: none !important; }
body.woocommerce-account .woocommerce-pagination ul li a, body.woocommerce-account .woocommerce-pagination ul li span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 10px;
  border: 1px solid var(--wlk-border) !important;
  background: #fff !important; color: #000 !important;
  font-size: 13px; font-weight: 700; text-decoration: none !important;
  border-radius: 0 !important;
}
body.woocommerce-account .woocommerce-pagination ul li span.current,
body.woocommerce-account .woocommerce-pagination ul li a:hover { background: #000 !important; color: #fff !important; border-color: #000 !important; }

/* Login/Register form */
body.woocommerce-account form.login,
body.woocommerce-account form.register {
  border: 1px solid var(--wlk-border) !important;
  border-radius: 0 !important;
  padding: 1.75rem !important;
  background: #fff !important;
  margin: 0 !important;
}
body.woocommerce-account .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: 1fr; gap: 1.5rem;
  width: 100% !important; margin: 0 !important;
}
@media (min-width: 768px) { body.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr 1fr; } }
body.woocommerce-account .u-column1, body.woocommerce-account .u-column2 { width: 100% !important; float: none !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce-account .u-column1 h2, body.woocommerce-account .u-column2 h2 {
  font-family: var(--wlk-font-display) !important;
  font-size: 22px !important; text-transform: uppercase !important;
  font-weight: 400 !important; margin: 0 0 1rem !important;
  letter-spacing: 0.005em;
}
body.woocommerce-account form .form-row { margin: 0 0 12px !important; }
body.woocommerce-account form .form-row label {
  display: block; margin-bottom: 4px;
  font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 0.06em !important; font-weight: 800 !important;
  color: var(--wlk-ink-mut) !important;
}
body.woocommerce-account form .form-row input.input-text {
  width: 100% !important; height: 44px;
  border: 1px solid var(--wlk-border) !important;
  border-radius: 0 !important; padding: 0 14px !important;
  font-size: 14px !important; background: #fff !important;
}
body.woocommerce-account form .form-row input.input-text:focus { border-color: #000 !important; outline: none; }
body.woocommerce-account form .button {
  background: #000 !important; color: #fff !important;
  padding: 14px 22px !important; font-size: 12px !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: 0.18em !important; border: none !important;
  border-radius: 0 !important; cursor: pointer;
}
body.woocommerce-account form .button:hover { background: var(--wlk-accent) !important; }
body.woocommerce-account form .lost_password a { color: var(--wlk-accent) !important; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; }

/* Endereços (page address) */
body.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr; gap: 1rem;
  width: 100% !important; margin: 0 !important;
}
@media (min-width: 768px) { body.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
body.woocommerce-account .woocommerce-Address {
  width: 100% !important; padding: 1.5rem !important;
  border: 1px solid var(--wlk-border); background: #fafafa;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--wlk-border); }
body.woocommerce-account .woocommerce-Address-title h3 { margin: 0 !important; padding: 0 !important; border: none !important; font-size: 16px !important; }
body.woocommerce-account .woocommerce-Address-title .edit { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--wlk-accent) !important; text-decoration: none !important; }
body.woocommerce-account .woocommerce-Address address { font-style: normal; font-size: 13px; line-height: 1.7; color: #333; }

/* Notices/info */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
  background: #fff !important; border: 1px solid var(--wlk-border) !important;
  border-left: 4px solid var(--wlk-accent) !important;
  padding: 12px 16px !important; color: #000 !important;
  font-size: 13px; border-radius: 0 !important; margin: 0 0 1rem !important;
}
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-error::before { display: none !important; }
body.woocommerce-account .woocommerce-message a,
body.woocommerce-account .woocommerce-info a { color: var(--wlk-accent) !important; font-weight: 800; text-decoration: none !important; }

/* Esconde a saudação padrão chata do WC ("Olá, X..." e "A partir do painel...") */
html body.woocommerce-account .woocommerce-MyAccount-content > p {
  display: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper { display: block !important; }
html body.woocommerce-account .woocommerce-MyAccount-content > .wlk-account-dash {
  display: flex !important;
}

/* ============================================================
   DASHBOARD CUSTOM /minha-conta
   ============================================================ */
.wlk-account-dash {
  display: flex !important; flex-direction: column !important; gap: 1.5rem !important;
  width: 100% !important; max-width: none !important; min-width: 0 !important;
}
.wlk-account-dash > * { min-width: 0 !important; max-width: none !important; }

.wlk-account-hero {
  background: #000; color: #fff; padding: 1.75rem;
  display: flex; flex-direction: column; gap: 1rem;
  position: relative; overflow: hidden;
  width: 100%; box-sizing: border-box;
}
.wlk-account-hero::before {
  content: ""; position: absolute; right: -60px; top: -60px;
  width: 200px; height: 200px; border-radius: 999px;
  background: var(--wlk-accent); opacity: 0.15;
}
@media (min-width: 720px) {
  .wlk-account-hero { flex-direction: row; align-items: center; justify-content: space-between; padding: 2rem 2.25rem; }
}
.wlk-account-hero-l { position: relative; z-index: 1; max-width: 560px; }
.wlk-account-hero-tag {
  display: inline-block; background: var(--wlk-accent); color: #fff;
  font-size: 10px; font-weight: 900; letter-spacing: 0.2em;
  text-transform: uppercase; padding: 4px 10px; margin: 0 0 12px;
}
.wlk-account-hero-h {
  font-family: var(--wlk-font-display) !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 400 !important; text-transform: uppercase;
  color: #fff !important; margin: 0 0 8px !important;
  letter-spacing: 0.005em; line-height: 1; padding: 0 !important; border: none !important;
}
.wlk-account-hero-sub {
  margin: 0; font-size: 14px; line-height: 1.55;
  color: rgba(255,255,255,0.75); max-width: 480px;
}
.wlk-account-hero-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: #000 !important;
  padding: 14px 22px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.15em; font-size: 12px; text-decoration: none !important;
  position: relative; z-index: 1; transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.wlk-account-hero-cta:hover { background: var(--wlk-accent); color: #fff !important; }

.wlk-account-stats {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
}
@media (min-width: 720px) { .wlk-account-stats { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
.wlk-stat {
  background: #fafafa; padding: 1.25rem;
  border: 1px solid var(--wlk-border);
  display: flex; flex-direction: column; gap: 4px;
  position: relative; transition: border-color 0.15s;
}
.wlk-stat:hover { border-color: #000; }
.wlk-stat-accent { background: #000; color: #fff; border-color: #000; }
.wlk-stat-accent .wlk-stat-l { color: rgba(255,255,255,0.7); }
.wlk-stat-n {
  font-family: var(--wlk-font-display); font-size: 28px;
  font-weight: 400; line-height: 1; color: #000;
}
.wlk-stat-accent .wlk-stat-n { color: var(--wlk-accent); font-weight: 700; }
.wlk-stat-l {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--wlk-ink-mut);
}

.wlk-account-cards {
  display: grid; grid-template-columns: 1fr; gap: 12px;
}
@media (min-width: 720px) { .wlk-account-cards { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
.wlk-acc-card {
  display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto;
  gap: 4px 14px; padding: 1.25rem;
  background: #fff; border: 1px solid var(--wlk-border);
  text-decoration: none !important; color: #000 !important;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
  position: relative;
}
.wlk-acc-card:hover { border-color: #000; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.06); }
.wlk-acc-card-ico {
  grid-row: 1 / 3; align-self: start;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  background: #f5f5f5; color: #000;
  transition: background 0.15s, color 0.15s;
}
.wlk-acc-card:hover .wlk-acc-card-ico { background: #000; color: #fff; }
.wlk-acc-card-body { grid-column: 2; display: flex; flex-direction: column; gap: 4px; }
.wlk-acc-card-body strong {
  font-size: 16px; font-weight: 900; color: #000;
  text-transform: uppercase; letter-spacing: 0.02em;
}
.wlk-acc-card-desc { font-size: 13px; color: var(--wlk-ink-mut); line-height: 1.5; }
.wlk-acc-card-cta {
  grid-column: 2; margin-top: 6px;
  font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.12em; color: var(--wlk-accent);
  display: inline-flex; align-items: center; gap: 4px;
}
.wlk-acc-card-accent { background: #000; color: #fff !important; border-color: #000; }
.wlk-acc-card-accent .wlk-acc-card-body strong { color: #fff; }
.wlk-acc-card-accent .wlk-acc-card-desc { color: rgba(255,255,255,0.7); }
.wlk-acc-card-accent .wlk-acc-card-ico { background: var(--wlk-accent); color: #fff; }
.wlk-acc-card-accent:hover .wlk-acc-card-ico { background: #fff; color: #000; }
.wlk-acc-card-accent .wlk-acc-card-cta { color: #fff; }

/* Último pedido */
.wlk-acc-last { background: #fff; border: 1px solid var(--wlk-border); padding: 1.5rem; }
.wlk-acc-last-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--wlk-border); }
.wlk-acc-last-head h3 {
  margin: 0 !important; padding: 0 !important; border: none !important;
  font-family: var(--wlk-font-display) !important; font-size: 20px !important;
  text-transform: uppercase; letter-spacing: 0.005em; font-weight: 400 !important;
  color: #000 !important;
}
.wlk-acc-last-all { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--wlk-accent) !important; text-decoration: none !important; }
.wlk-acc-last-row {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem;
  padding-bottom: 1rem; border-bottom: 1px dashed var(--wlk-border); margin-bottom: 1rem;
}
@media (min-width: 720px) { .wlk-acc-last-row { grid-template-columns: repeat(4, 1fr); } }
.wlk-acc-last-row > div { display: flex; flex-direction: column; gap: 4px; }
.wlk-acc-last-lbl {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--wlk-ink-mut);
}
.wlk-acc-last-row strong { font-size: 16px; font-weight: 900; color: #000; }
.wlk-acc-last-status {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.06em; color: #000;
}
.wlk-acc-last-status::before {
  content: ""; display: inline-block; width: 8px; height: 8px;
  border-radius: 999px; background: #f59e0b;
}
.wlk-acc-last-status.wlk-status-completed::before { background: #16a34a; }
.wlk-acc-last-status.wlk-status-cancelled::before { background: #ef4444; }
.wlk-acc-last-status.wlk-status-processing::before { background: #3b82f6; }
.wlk-acc-last-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.wlk-acc-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 18px; font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  border: none; cursor: pointer; text-decoration: none !important;
}
.wlk-acc-btn-d { background: #000; color: #fff !important; }
.wlk-acc-btn-d:hover { background: var(--wlk-accent); }
.wlk-acc-btn-p { background: var(--wlk-accent); color: #fff !important; }
.wlk-acc-btn-p:hover { background: #000; }

.wlk-account-foot { padding-top: 1rem; border-top: 1px solid var(--wlk-border); }
.wlk-account-logout {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--wlk-ink-mut) !important;
  text-decoration: none !important;
}
.wlk-account-logout:hover { color: var(--wlk-accent) !important; }

/* ============================================================
   PÁGINA 404 — fullscreen preta com 404 vazado vermelho
   ============================================================ */
.wlk-404 {
  background: #000; color: #fff;
  min-height: 80vh;
  padding: 4rem 1.5rem;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
}
.wlk-404-inner { max-width: 900px; width: 100%; }
.wlk-404-tag {
  display: inline-block; background: var(--wlk-accent); color: #fff;
  padding: 5px 14px; font-size: 11px; font-weight: 900;
  letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 1.5rem;
}
.wlk-404-num {
  font-family: var(--wlk-font-display);
  font-size: clamp(7rem, 22vw, 16rem);
  line-height: 0.9; font-weight: 400;
  -webkit-text-stroke: 2px var(--wlk-accent);
  color: transparent;
  text-shadow: 0 0 60px rgba(229, 9, 20, 0.3);
  letter-spacing: 0.02em;
}
.wlk-404-title {
  font-family: var(--wlk-font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400; text-transform: uppercase;
  color: #fff; margin: 0.5rem 0 1rem;
  letter-spacing: 0.005em;
}
.wlk-404-sub { font-size: 16px; color: rgba(255,255,255,0.65); margin: 0 0 2rem; line-height: 1.5; }
.wlk-404-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 3rem; }
.wlk-404-btn-red, .wlk-404-btn-out {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 26px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.18em; font-size: 12px; text-decoration: none;
  transition: all 0.2s;
}
.wlk-404-btn-red { background: var(--wlk-accent); color: #fff; }
.wlk-404-btn-red:hover { background: #fff; color: #000; }
.wlk-404-btn-out { background: transparent; color: #fff; border: 2px solid #fff; }
.wlk-404-btn-out:hover { background: #fff; color: #000; }
.wlk-404-eyebrow {
  margin: 1rem 0 1.25rem;
  font-size: 11px; font-weight: 900; letter-spacing: 0.3em;
  text-transform: uppercase; color: rgba(255,255,255,0.5);
}
.wlk-404-grid {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px) { .wlk-404-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; } }
.wlk-404-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  text-decoration: none; color: #fff;
  padding: 12px;
  transition: all 0.2s;
  display: flex; flex-direction: column; gap: 6px;
}
.wlk-404-card:hover { background: rgba(255,255,255,0.08); border-color: var(--wlk-accent); }
.wlk-404-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; background: #1a1a1a; }
.wlk-404-card-name { font-size: 11px; font-weight: 700; line-height: 1.3; margin: 6px 0 0; }
.wlk-404-card-price { font-size: 12px; font-weight: 900; color: var(--wlk-accent); }
.wlk-404-card-price del { color: rgba(255,255,255,0.4); font-size: 10px; font-weight: 500; margin-right: 4px; }
.wlk-404-card-price ins { text-decoration: none; color: var(--wlk-accent); }

/* ============================================================
   PÁGINAS INSTITUCIONAIS — hero preto padrão
   ============================================================ */
.wlk-page-hero {
  background: #000; color: #fff;
  padding: 3.5rem 1.5rem;
  text-align: left;
}
@media (min-width: 768px) { .wlk-page-hero { padding: 4.5rem 2rem; min-height: 220px; display: flex; align-items: center; } }
.wlk-page-hero-inner { max-width: 1280px; margin: 0 auto; width: 100%; }
.wlk-page-hero-tag {
  display: inline-block; background: var(--wlk-accent); color: #fff;
  padding: 5px 14px; font-size: 11px; font-weight: 900;
  letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 1rem;
}
.wlk-page-hero h1 {
  font-family: var(--wlk-font-display);
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  font-weight: 400; text-transform: uppercase;
  color: #fff; margin: 0; line-height: 1; letter-spacing: 0.005em;
}
.wlk-page-hero p { color: rgba(255,255,255,0.7); font-size: 14px; margin: 0.75rem 0 0; }

.wlk-page-body {
  background: #fff;
  padding: 3rem 1.5rem;
}
.wlk-page-body-inner {
  max-width: 860px; margin: 0 auto;
  font-size: 16px; line-height: 1.75; color: #1a1a1a;
}
.wlk-page-body-inner h2 {
  font-family: var(--wlk-font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400; text-transform: uppercase;
  color: #000; margin: 2.5rem 0 1rem; line-height: 1;
  position: relative; padding-bottom: 0.75rem;
}
.wlk-page-body-inner h2::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 40px; height: 3px; background: var(--wlk-accent);
}
.wlk-page-body-inner blockquote {
  background: #fafafa;
  border-left: 4px solid var(--wlk-accent);
  padding: 16px 20px; margin: 1.5rem 0;
  color: #1a1a1a; font-style: normal;
}
.wlk-page-body-inner ul, .wlk-page-body-inner ol { padding-left: 1.5rem; }
.wlk-page-body-inner ul li, .wlk-page-body-inner ol li { margin-bottom: 0.5rem; }
.wlk-page-body-inner ul li::marker { color: var(--wlk-accent); }

/* ============================================================
   MINI-CARRINHO (drawer da direita)
   ============================================================ */
.wlk-mc { position: fixed; inset: 0; z-index: 200; }
.wlk-mc[hidden] { display: none; }
.wlk-mc-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.6); animation: wlk-fade 0.25s ease; }
@keyframes wlk-fade { from { opacity: 0; } to { opacity: 1; } }
.wlk-mc-panel {
  position: absolute; top: 0; right: 0; height: 100%;
  width: 100%; max-width: 440px;
  background: #fff; display: flex; flex-direction: column;
  box-shadow: -8px 0 32px rgba(0,0,0,0.2);
  animation: wlk-slidein 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes wlk-slidein { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (max-width: 480px) { .wlk-mc-panel { max-width: 100%; } }

.wlk-mc-head {
  background: #000; color: #fff;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px;
}
.wlk-mc-title {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--wlk-font-display);
  font-size: 22px; letter-spacing: 0.04em;
  text-transform: uppercase; font-weight: 400;
}
.wlk-mc-count {
  background: var(--wlk-accent); color: #fff;
  font-family: var(--wlk-font-body);
  font-size: 11px; font-weight: 900;
  padding: 2px 8px; border-radius: 999px;
  min-width: 22px; text-align: center;
}
.wlk-mc-close { background: none; border: none; color: #fff; cursor: pointer; padding: 4px; display: inline-flex; }
.wlk-mc-close:hover { color: var(--wlk-accent); }

.wlk-mc-body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; transition: opacity 0.15s; }
.wlk-mc-body.wlk-mc-loading { opacity: 0.55; pointer-events: none; }
.wlk-mc-qty.is-busy { opacity: 0.55; pointer-events: none; }

.wlk-mc-ship { padding: 14px 20px; background: #fafafa; border-bottom: 1px solid var(--wlk-border); }
.wlk-mc-bar { height: 6px; background: var(--wlk-border); border-radius: 0; overflow: hidden; }
.wlk-mc-bar-fill { height: 100%; background: var(--wlk-accent); transition: width 0.4s ease; }
.wlk-mc-ship-txt { margin: 8px 0 0; font-size: 13px; color: var(--wlk-ink); font-weight: 500; }
.wlk-mc-ship-txt strong { color: var(--wlk-accent); font-weight: 900; }
.wlk-mc-ship-ok { color: #16a34a !important; font-weight: 700 !important; }

.wlk-mc-items { flex: 1; padding: 0 4px; overflow-y: auto; }
.wlk-mc-item {
  display: flex; gap: 12px; padding: 14px 16px;
  border-bottom: 1px solid var(--wlk-border);
  position: relative;
}
.wlk-mc-item-img { flex-shrink: 0; width: 72px; height: 72px; background: #f4f4f4; }
.wlk-mc-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wlk-mc-item-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.wlk-mc-item-name {
  font-size: 13px; font-weight: 700; color: #000; line-height: 1.3;
  text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.wlk-mc-item-name:hover { color: var(--wlk-accent); }
.wlk-mc-item-var { font-size: 11px; color: var(--wlk-ink-mut); margin: 0; }
.wlk-mc-item-bot { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.wlk-mc-qty { display: inline-flex; align-items: center; border: 1px solid var(--wlk-border); }
.wlk-mc-qty button {
  background: #fff; border: none; cursor: pointer;
  width: 26px; height: 26px; font-weight: 700; color: #000;
  display: inline-flex; align-items: center; justify-content: center;
}
.wlk-mc-qty button:hover { background: var(--wlk-accent); color: #fff; }
.wlk-mc-qty-n { font-size: 12px; font-weight: 700; min-width: 26px; text-align: center; padding: 0 4px; }
.wlk-mc-item-price { font-size: 14px; font-weight: 900; color: #000; }
.wlk-mc-item-rm {
  position: absolute; top: 12px; right: 12px;
  background: none; border: none; cursor: pointer; color: #9ca3af;
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
}
.wlk-mc-item-rm:hover { color: var(--wlk-accent); }

.wlk-mc-empty { padding: 40px 20px; text-align: center; }
.wlk-mc-empty-ico { color: var(--wlk-border); display: inline-flex; margin-bottom: 12px; }
.wlk-mc-empty-t { font-family: var(--wlk-font-display); font-size: 22px; text-transform: uppercase; margin: 0 0 4px; color: #000; }
.wlk-mc-empty-s { font-size: 13px; color: var(--wlk-ink-mut); margin: 0 0 16px; }
.wlk-mc-empty-btn {
  display: inline-block; background: #000; color: #fff;
  padding: 12px 24px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.18em; font-size: 12px; text-decoration: none;
  transition: background 0.2s;
}
.wlk-mc-empty-btn:hover { background: var(--wlk-accent); }

.wlk-mc-foot { background: #fafafa; padding: 16px 20px; border-top: 1px solid var(--wlk-border); }
.wlk-mc-coupon { display: flex; gap: 6px; margin-bottom: 12px; }
.wlk-mc-coupon input {
  flex: 1; padding: 10px 12px;
  border: 1px solid var(--wlk-border);
  font: inherit; font-size: 13px;
}
.wlk-mc-coupon input:focus { outline: none; border-color: #000; }
.wlk-mc-coupon button {
  background: var(--wlk-accent); color: #fff; border: none;
  padding: 10px 16px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.12em;
  font-size: 11px; cursor: pointer;
}
.wlk-mc-coupon button:hover { background: #000; }
.wlk-mc-totals { margin-bottom: 12px; }
.wlk-mc-row { display: flex; justify-content: space-between; align-items: baseline; padding: 4px 0; font-size: 13px; }
.wlk-mc-row strong { font-weight: 700; }
.wlk-mc-row-disc { color: #16a34a; }
.wlk-mc-row-total { padding-top: 8px; border-top: 1px solid var(--wlk-border); margin-top: 4px; font-size: 16px; }
.wlk-mc-row-total strong { font-size: 22px; font-weight: 900; color: #000; }
.wlk-mc-install { font-size: 11px; color: var(--wlk-ink-mut); margin: 4px 0 0; }
.wlk-mc-install strong { color: #000; }

.wlk-mc-actions { display: flex; flex-direction: column; gap: 8px; }
.wlk-mc-btn-view, .wlk-mc-btn-checkout {
  display: block; text-align: center; text-decoration: none;
  padding: 14px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.15em; font-size: 12px;
  transition: all 0.2s;
}
.wlk-mc-btn-view {
  background: #fff; color: #000; border: 2px solid #000;
}
.wlk-mc-btn-view:hover { background: #000; color: #fff; }
.wlk-mc-btn-checkout {
  background: var(--wlk-accent); color: #fff;
  border: 2px solid var(--wlk-accent);
  font-size: 14px; padding: 16px;
}
.wlk-mc-btn-checkout:hover { background: #000; border-color: #000; }

/* Toast de feedback */
.wlk-toast {
  position: fixed; top: 90px; right: 24px; z-index: 9999;
  background: #16a34a; color: #fff;
  padding: 12px 18px; border-radius: 0;
  font-weight: 900; letter-spacing: 0.05em;
  text-transform: uppercase; font-size: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  animation: wlk-toast-in 0.3s ease;
}
.wlk-toast-err { background: var(--wlk-accent); }
@keyframes wlk-toast-in { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* Mobile bottom cart bar (sticky cart total) */
.wlk-mobile-cartbar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  background: #000; color: #fff; padding: 12px 16px;
  display: none; align-items: center; justify-content: space-between;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
}
@media (max-width: 767px) {
  body.woocommerce-cart .wlk-mobile-cartbar,
  body.woocommerce-checkout .wlk-mobile-cartbar { display: flex; }
}
.wlk-mobile-cartbar-total span { font-size: 11px; opacity: 0.7; display: block; }
.wlk-mobile-cartbar-total strong { font-size: 18px; font-weight: 900; }
.wlk-mobile-cartbar-btn {
  background: var(--wlk-accent); color: #fff;
  padding: 12px 20px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.15em; font-size: 12px; text-decoration: none;
}


/* ============================================================
   CART — Modernização v2 (2026-05-15): stepper qty, spinner, layout
   ============================================================ */
body.woocommerce-cart main.wlk-wc-page .wlk-wc-container { max-width: 1100px !important; margin: 0 auto !important; padding: 1.5rem 1rem 4rem !important; }

/* Card geral mais moderno com sombras suaves */
body.woocommerce-cart table.shop_table tbody tr.cart_item {
  border-radius: 4px !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
  transition: box-shadow .2s ease;
}
body.woocommerce-cart table.shop_table tbody tr.cart_item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }

/* Quantity stepper modernizado (− valor +) */
body.woocommerce-cart td.product-quantity {
  border: 1px solid var(--wlk-border) !important;
  border-radius: 999px !important;
  overflow: hidden;
  background: #fff;
  height: 40px;
  padding: 0 !important;
}
body.woocommerce-cart td.product-quantity .quantity { gap: 0; height: 100%; }
body.woocommerce-cart td.product-quantity input.qty {
  width: 44px !important; height: 100% !important;
  font-size: 15px !important; font-weight: 800 !important;
  border-left: 1px solid var(--wlk-border) !important;
  border-right: 1px solid var(--wlk-border) !important;
}
body.woocommerce-cart td.product-quantity .wlk-qty-btn {
  width: 36px; height: 100%;
  background: transparent; border: none; cursor: pointer;
  font-size: 16px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  color: #000;
  transition: background .15s ease;
}
body.woocommerce-cart td.product-quantity .wlk-qty-btn:hover { background: #f5f5f5; }
body.woocommerce-cart td.product-quantity .wlk-qty-btn:disabled { opacity: .35; cursor: not-allowed; }

/* Spinner / loading state durante recálculo automático */
body.woocommerce-cart .wlk-cart-updating { position: relative; pointer-events: none; }
body.woocommerce-cart .wlk-cart-updating::after {
  content: ""; position: absolute; inset: 0;
  background: rgba(255,255,255,0.55);
  z-index: 5;
}
body.woocommerce-cart .wlk-cart-spinner {
  position: fixed; bottom: 30px; right: 30px; z-index: 9999;
  background: #000; color: #fff;
  padding: 12px 18px; border-radius: 999px;
  font-size: 12px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  transform: translateY(20px); opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
  pointer-events: none;
}
body.woocommerce-cart .wlk-cart-spinner.is-visible { transform: translateY(0); opacity: 1; }
body.woocommerce-cart .wlk-cart-spinner::before {
  content: ""; width: 14px; height: 14px;
  border: 2px solid #fff; border-top-color: transparent;
  border-radius: 50%; animation: wlk-spin .7s linear infinite;
}
@keyframes wlk-spin { to { transform: rotate(360deg); } }

/* Esconder botão "Atualizar carrinho" — agora é automático */
body.woocommerce-cart button[name="update_cart"] {
  position: absolute !important; left: -9999px !important;
  visibility: hidden !important; opacity: 0 !important;
}
body.woocommerce-cart .actions {
  padding: 1.25rem !important; border-radius: 0 0 4px 4px;
  border-top: 1px dashed var(--wlk-border) !important;
}
body.woocommerce-cart .coupon { width: 100%; max-width: 480px; }

/* cart_totals: mesma largura da lista de produtos */
body.woocommerce-cart .cart_totals {
  width: 100% !important; max-width: none !important;
  padding: 2rem !important;
  border-radius: 4px;
  background: #fafafa !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-size: 18px !important;
  letter-spacing: 0.08em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr {
  padding: 12px 0 !important;
}
body.woocommerce-cart .cart_totals .order-total {
  background: #000;
  color: #fff;
  margin: 1rem -2rem -2rem !important;
  padding: 1.5rem 2rem !important;
  border-radius: 0 0 4px 4px;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-cart .cart_totals .order-total .amount,
body.woocommerce-cart .cart_totals .order-total bdi,
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-currencySymbol { color: #fff !important; }
body.woocommerce-cart .cart_totals .order-total th { font-size: 13px !important; text-transform: uppercase; letter-spacing: 0.1em; }
body.woocommerce-cart .cart_totals .order-total .amount { font-size: 30px !important; }

/* CTA finalizar */
body.woocommerce-cart .wc-proceed-to-checkout { margin-top: 1.5rem !important; max-width: 480px; margin-left: auto; margin-right: auto; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  font-size: 14px !important;
  padding: 20px !important;
  border-radius: 4px !important;
}

/* Mobile: stack mais limpo */
@media (max-width: 720px) {
  body.woocommerce-cart .cart_totals { padding: 1.25rem !important; }
  body.woocommerce-cart .cart_totals .order-total { margin: 1rem -1.25rem -1.25rem !important; padding: 1.25rem !important; }
  body.woocommerce-cart .cart_totals .order-total .amount { font-size: 24px !important; }
}

/* ============================================================
   CART — Fix v3 (2026-05-18): layout limpo, oculta labels WC
   Problemas corrigidos:
   - woocommerce-smallscreen.css injeta ::before labels
   - thumbnail oculta pela mesma folha
   - layout espremido/desorganizado
   ============================================================ */

/* Ocultar labels "Produto:", "Quantidade:", "Subtotal:" */
body.woocommerce-cart table.shop_table tr td::before,
body.woocommerce-cart table.shop_table tr th::before {
  content: none !important;
  display: none !important;
  float: none !important;
}

/* Forçar thumbnail visível (WC smallscreen a esconde) */
body.woocommerce-cart td.product-thumbnail,
.woocommerce body.woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-page body.woocommerce-cart table.cart td.product-thumbnail {
  display: block !important;
}

/* Garantir que tds fiquem alinhadas à esquerda */
body.woocommerce-cart table.shop_table tbody tr.cart_item td {
  text-align: left !important;
}

/* Tabela: separar rows */
html body.woocommerce-cart table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

/* CARD por produto */
html body.woocommerce-cart table.shop_table tbody tr.cart_item {
  display: grid !important;
  grid-template-columns: 88px 1fr auto !important;
  grid-template-rows: auto auto !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
  position: relative !important;
  align-items: start !important;
  margin-bottom: 8px !important;
  border-bottom: 1px solid #e8e8e8 !important;
}
html body.woocommerce-cart table.shop_table tbody tr.cart_item:last-of-type { margin-bottom: 0; }

/* Cada td: sem borda, sem padding, display block */
html body.woocommerce-cart table.shop_table tbody tr.cart_item td {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  display: block !important;
  text-align: left !important;
}

/* Botão remover ×: absoluto canto superior direito */
html body.woocommerce-cart table.shop_table .product-remove {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
}
html body.woocommerce-cart .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #f0f0f0 !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  border: none !important;
  line-height: 1 !important;
}
html body.woocommerce-cart .product-remove a.remove:hover {
  background: #000 !important;
  color: #fff !important;
}

/* BLOCO ANTIGO REMOVIDO — regras de grid-column/grid-row em td.product-* conflitavam
   com o novo layout do template walkind-suite/templates/woocommerce/cart/cart.php.
   Substituído por CSS em includes/cart-shipping-list.php. */

/* Ações (cupom) — linha com colspan 5 que precisa escapar do grid pai */
html body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:has(td.actions),
html body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:has(td.wlk-cart-actions) {
  display: block !important;
  margin-top: 12px;
}
html body.woocommerce-cart .woocommerce-cart-form .actions,
html body.woocommerce-cart .woocommerce-cart-form .wlk-cart-actions {
  padding: 1rem 1.25rem !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  background: #fafafa !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin-top: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html body.woocommerce-cart .woocommerce-cart-form .actions .coupon,
html body.woocommerce-cart .woocommerce-cart-form .wlk-cart-actions .coupon {
  display: flex; gap: 8px; flex: 1; min-width: 220px;
}
html body.woocommerce-cart .woocommerce-cart-form .actions .coupon input[type="text"],
html body.woocommerce-cart .woocommerce-cart-form .wlk-cart-actions .coupon input[type="text"] {
  flex: 1; padding: 10px 12px;
  border: 1px solid #ddd; border-radius: 6px;
  font-size: 13px;
}
html body.woocommerce-cart .woocommerce-cart-form .actions button,
html body.woocommerce-cart .woocommerce-cart-form .wlk-cart-actions button {
  padding: 10px 18px;
  border-radius: 6px;
  background: #0a0a0a;
  color: #fff;
  font-weight: 700;
  font-size: 12.5px;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
}
html body.woocommerce-cart .woocommerce-cart-form .actions button:hover,
html body.woocommerce-cart .woocommerce-cart-form .wlk-cart-actions button:hover {
  background: #e50914;
}

/* ============================================================
   CART — totais modernizados
   ============================================================ */
html body.woocommerce-cart .cart_totals {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  padding: 1.5rem !important;
  margin-top: 1.5rem !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
}
html body.woocommerce-cart .cart_totals h2 {
  font-size: 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #000 !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid #ebebeb !important;
}
html body.woocommerce-cart .cart_totals .order-total {
  background: #000 !important;
  border-radius: 6px !important;
  margin: 1rem -1.5rem -1.5rem !important;
  padding: 1.25rem 1.5rem !important;
}
html body.woocommerce-cart .cart_totals .order-total th,
html body.woocommerce-cart .cart_totals .order-total td,
html body.woocommerce-cart .cart_totals .order-total .amount,
html body.woocommerce-cart .cart_totals .order-total bdi,
html body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-currencySymbol {
  color: #fff !important;
}
html body.woocommerce-cart .cart_totals .order-total th {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
html body.woocommerce-cart .cart_totals .order-total .amount {
  font-size: 26px !important;
  font-weight: 900 !important;
}
html body.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 1.25rem !important;
}
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--wlk-accent) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  padding: 18px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  border: none !important;
}
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: #000 !important;
}

/* Mobile antigo removido em favor do CSS em cart-shipping-list.php */


/* CART carrossel "Você também pode gostar" — removido em favor de cart-shipping-list.php */

/* ── Checkout: oculta form de endereço (dados já preenchidos) ──── */
body.wlk-dados-filled .woocommerce-checkout #customer_details {
    display: none !important;
}

/* ── Checkout summary card ─────────────────────────────────────── */
.wlk-checkout-summary {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 28px;
}
.wlk-cs-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.wlk-cs-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: #22a722;
    color: #fff;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}
.wlk-cs-title {
    font-weight: 700;
    font-size: 15px;
    flex: 1;
}
.wlk-cs-edit {
    font-size: 13px;
    color: #e50914;
    text-decoration: underline;
    white-space: nowrap;
}
.wlk-cs-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.wlk-cs-item {
    font-size: 14px;
    color: #444;
    margin: 0;
    line-height: 1.5;
}

/* ── Gift wrap section (carrinho) ─────────────────────────────── */
.wlk-gift-wrap-section {
    background: #fff;
    border: 1.5px solid #e8e8e8;
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.wlk-gw-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}
.wlk-gw-icon { color: #e50914; flex-shrink: 0; display: flex; align-items: center; }
.wlk-gw-label-text { flex: 1; font-size: 15px; color: #000; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wlk-gw-badge {
    font-size: 11px; font-weight: 700; padding: 2px 8px;
    background: #000; color: #fff; border-radius: 20px;
}
.wlk-gw-badge.wlk-gw-free { background: #22a722; }

/* Toggle switch */
.wlk-gw-switch { position: relative; width: 44px; height: 24px; flex-shrink: 0; }
.wlk-gw-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.wlk-gw-knob {
    position: absolute; inset: 0; background: #ccc; border-radius: 24px;
    transition: background .2s; cursor: pointer;
}
.wlk-gw-knob::after {
    content: ''; position: absolute; left: 3px; top: 3px;
    width: 18px; height: 18px; background: #fff; border-radius: 50%;
    transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.wlk-gw-switch input:checked ~ .wlk-gw-knob { background: #e50914; }
.wlk-gw-switch input:checked ~ .wlk-gw-knob::after { transform: translateX(20px); }

/* Options panel */
.wlk-gw-options { margin-top: 18px; border-top: 1px solid #f0f0f0; padding-top: 16px; }
.wlk-gw-options.wlk-gw-hidden { display: none; }
.wlk-gw-sub { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin: 0 0 12px; }

/* Wrap selection grid */
.wlk-gw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
}
.wlk-gw-item {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    border: 2px solid #e8e8e8; border-radius: 8px; padding: 10px 8px;
    cursor: pointer; transition: border-color .15s, box-shadow .15s;
    background: #fff;
}
.wlk-gw-item:hover { border-color: #bbb; }
.wlk-gw-item.wlk-gw-item-active { border-color: #e50914; box-shadow: 0 0 0 3px rgba(229,9,20,.1); }
.wlk-gw-radio { display: none; }
.wlk-gw-thumb { width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 5px; background: #f5f5f5; display: flex; align-items: center; justify-content: center; }
.wlk-gw-img { width: 100%; height: 100%; object-fit: cover; }
.wlk-gw-no-img { font-size: 32px; }
.wlk-gw-name { font-size: 11px; font-weight: 700; text-align: center; color: #000; line-height: 1.2; }
.wlk-gw-price { font-size: 11px; font-weight: 700; color: #e50914; }
.wlk-gw-price-free { color: #22a722; }

@media (max-width: 480px) {
    .wlk-gw-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Gift wrap: nova UI por item do carrinho ─────────────────── */
.wlk-gw-hint { display: block; font-size: 11px; color: #888; font-weight: 500; margin-top: 2px; }
.wlk-gw-items {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 10px;
}
.wlk-gw-row {
    display: flex; align-items: center; gap: 14px;
    padding: 10px 12px; border: 1px solid #ececec; border-radius: 8px;
    background: #fafafa; flex-wrap: wrap;
}
.wlk-gw-prod { display: flex; align-items: center; gap: 10px; flex: 1 1 200px; min-width: 0; }
.wlk-gw-prod-img img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; display: block; }
.wlk-gw-prod-info { display: flex; flex-direction: column; min-width: 0; }
.wlk-gw-prod-name {
    font-size: 13px; font-weight: 700; color: #111; line-height: 1.25;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px;
}
.wlk-gw-prod-qty { font-size: 11px; color: #777; font-weight: 500; margin-top: 1px; }
.wlk-gw-controls { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wlk-gw-select {
    height: 36px; border: 1px solid #ddd; border-radius: 6px;
    padding: 0 28px 0 10px; font-size: 12px; background: #fff;
    cursor: pointer; min-width: 170px; max-width: 220px;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' fill='none' stroke='%23666' stroke-width='1.6'%3e%3cpath d='M1 1l5 5 5-5'/%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right 10px center; background-size: 10px;
}
.wlk-gw-select:focus { border-color: #e50914; outline: none; }
.wlk-gw-qty-lbl { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #555; font-weight: 600; }
.wlk-gw-qty {
    width: 56px; height: 36px; text-align: center; border: 1px solid #ddd; border-radius: 6px;
    font-size: 13px; font-weight: 600; background: #fff;
}
.wlk-gw-qty:disabled { background: #f3f3f3; color: #aaa; cursor: not-allowed; }
.wlk-gw-qty:focus { border-color: #e50914; outline: none; }
@media (max-width: 540px) {
    .wlk-gw-row { gap: 10px; }
    .wlk-gw-controls { width: 100%; justify-content: space-between; }
    .wlk-gw-select { flex: 1; min-width: 0; }
    .wlk-gw-prod-name { max-width: 100%; white-space: normal; }
}
/* ============================================================
   WALKIND — MINHA CONTA · EDIÇÃO CLEAN PREMIUM
   Layout: hero → stats → cards → pontos → último pedido
   Sem menu fixo. Tabs horizontais no mobile, sidebar no desktop.
   ============================================================ */

/* ─── KEYFRAMES ─── */
@keyframes wlk-rise  { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
@keyframes wlk-pop   { 0%{transform:scale(.93);opacity:0} 100%{transform:scale(1);opacity:1} }
@keyframes wlk-shine { 0%{left:-120%} 100%{left:160%} }

/* ─── BASE DA PÁGINA ─── */
body.woocommerce-account {
  background: #F5F5F7 !important;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
}
body.woocommerce-account * { box-sizing: border-box !important; }

/* ─── ESCONDER PARÁGRAFO DUPLICADO "Olá, X (não é X? Sair)" ─── */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child { display: none !important; }

/* ─── BACKGROUND DA AREA DE CONTEÚDO ─── */
body.woocommerce-account .wlk-account-dash { animation: wlk-rise .35s ease both !important; }

/* ============================================================
   HERO CARD
   ============================================================ */
.wlk-account-hero {
  background: #fff !important;
  border-radius: 18px !important;
  padding: 24px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
  border: 1px solid #E8E8ED !important;
  box-shadow: 0 3px 18px rgba(0,0,0,.05) !important;
  flex-wrap: wrap !important;
  animation: wlk-rise .3s ease .05s both !important;
}
.wlk-account-hero-l { flex: 1 1 0; min-width: 0; }
.wlk-account-hero-tag {
  font-size: 10.5px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .1em !important;
  color: #E50914 !important; margin: 0 0 5px !important;
}
.wlk-account-hero-h {
  font-family: 'Anton', 'Inter', sans-serif !important;
  font-size: 28px !important; font-weight: 900 !important;
  color: #000 !important; margin: 0 0 5px !important;
  text-transform: uppercase !important; letter-spacing: .01em !important; line-height: 1 !important;
}
.wlk-account-hero-sub {
  font-size: 13px !important; color: #7A7A7A !important;
  margin: 0 !important; line-height: 1.5 !important;
}
.wlk-account-hero-cta {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: #000 !important; color: #fff !important;
  padding: 11px 20px !important; border-radius: 100px !important;
  font-size: 11.5px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .07em !important;
  text-decoration: none !important; white-space: nowrap !important; flex-shrink: 0 !important;
  transition: background .2s, transform .18s !important;
}
.wlk-account-hero-cta:hover {
  background: #E50914 !important; color: #fff !important; transform: scale(1.04) !important;
}
@media (min-width: 640px) {
  .wlk-account-hero { padding: 32px 28px !important; gap: 20px !important; flex-wrap: nowrap !important; }
  .wlk-account-hero-h { font-size: 34px !important; }
}

/* ============================================================
   STATS ROW
   ============================================================ */
.wlk-account-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important; margin-bottom: 14px !important;
  animation: wlk-rise .35s ease .08s both !important;
}
.wlk-stat {
  background: #fff !important; border-radius: 14px !important;
  padding: 16px 12px !important; text-align: center !important;
  border: 1px solid #E8E8ED !important; box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
  display: flex !important; flex-direction: column !important; gap: 3px !important;
}
.wlk-stat-accent { background: #E50914 !important; border-color: #E50914 !important; }
.wlk-stat-n {
  font-size: 20px !important; font-weight: 900 !important; color: #000 !important;
  font-family: 'Anton', 'Inter', sans-serif !important; line-height: 1 !important;
}
.wlk-stat-accent .wlk-stat-n { color: #fff !important; }
.wlk-stat-l {
  font-size: 10px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
  color: #999 !important; line-height: 1.3 !important;
}
.wlk-stat-accent .wlk-stat-l { color: rgba(255,255,255,.75) !important; }

/* ============================================================
   ACTION CARDS
   ============================================================ */
.wlk-account-cards {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important; margin-bottom: 14px !important;
  animation: wlk-rise .4s ease .12s both !important;
}
.wlk-acc-card {
  background: #fff !important; border: 1px solid #E8E8ED !important;
  border-radius: 16px !important; padding: 16px 14px !important;
  text-decoration: none !important; display: flex !important;
  flex-direction: column !important; gap: 8px !important;
  transition: box-shadow .2s, border-color .2s, transform .18s !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
}
.wlk-acc-card:hover {
  border-color: #000 !important; box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
  transform: translateY(-2px) !important;
}
.wlk-acc-card-ico {
  width: 38px !important; height: 38px !important; background: #F5F5F7 !important;
  border-radius: 11px !important; display: flex !important;
  align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
}
.wlk-acc-card-ico svg { display: block !important; }
.wlk-acc-card-body { display: flex !important; flex-direction: column !important; gap: 3px !important; flex: 1 !important; }
.wlk-acc-card-body strong {
  font-size: 12.5px !important; font-weight: 800 !important; color: #000 !important;
  text-transform: uppercase !important; letter-spacing: .04em !important; line-height: 1.2 !important;
}
.wlk-acc-card-desc {
  font-size: 11px !important; color: #999 !important; line-height: 1.4 !important; display: none !important;
}
.wlk-acc-card-cta {
  font-size: 10.5px !important; font-weight: 800 !important;
  color: #bbb !important; text-transform: uppercase !important; letter-spacing: .05em !important;
}
.wlk-acc-card:hover .wlk-acc-card-cta { color: #555 !important; }
.wlk-acc-card-accent { background: #000 !important; border-color: #000 !important; }
.wlk-acc-card-accent .wlk-acc-card-ico { background: rgba(255,255,255,.1) !important; }
.wlk-acc-card-accent .wlk-acc-card-body strong,
.wlk-acc-card-accent .wlk-acc-card-cta { color: #fff !important; }
.wlk-acc-card-accent .wlk-acc-card-desc { color: rgba(255,255,255,.6) !important; }
.wlk-acc-card-accent:hover { border-color: #E50914 !important; background: #111 !important; }
@media (min-width: 480px) { .wlk-acc-card-desc { display: block !important; } }
@media (min-width: 880px) { .wlk-account-cards { grid-template-columns: repeat(4, 1fr) !important; } }

/* ============================================================
   PROGRAMA DE PONTOS — CARD ESCURO PREMIUM
   ============================================================ */
.wlk-points-card {
  background: linear-gradient(135deg, #0D0D0D 0%, #1A0505 60%, #0D0D0D 100%) !important;
  border-radius: 18px !important; padding: 22px 20px !important;
  margin-bottom: 14px !important; position: relative !important; overflow: hidden !important;
  animation: wlk-rise .45s ease .16s both !important; border: none !important;
}
.wlk-points-card::after {
  content: '' !important; position: absolute !important;
  top: -80px !important; right: -80px !important;
  width: 220px !important; height: 220px !important;
  background: radial-gradient(circle, rgba(229,9,20,.25) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.wlk-points-card-top { margin-bottom: 16px !important; }
.wlk-points-badge {
  display: inline-block !important; font-size: 10px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .1em !important;
  color: #E50914 !important; background: rgba(229,9,20,.15) !important;
  padding: 4px 10px !important; border-radius: 100px !important;
  border: 1px solid rgba(229,9,20,.2) !important;
}
.wlk-points-bal-label {
  font-size: 10.5px !important; color: rgba(255,255,255,.45) !important;
  text-transform: uppercase !important; letter-spacing: .08em !important;
  font-weight: 700 !important; margin: 0 0 4px !important;
}
.wlk-points-bal-row { display: flex !important; align-items: baseline !important; gap: 6px !important; margin-bottom: 16px !important; }
.wlk-points-bal-value {
  font-family: 'Anton', 'Inter', sans-serif !important;
  font-size: 48px !important; font-weight: 900 !important;
  color: #fff !important; line-height: 1 !important;
}
.wlk-points-bal-unit {
  font-size: 16px !important; font-weight: 700 !important;
  color: rgba(255,255,255,.4) !important;
}
.wlk-points-info {
  display: flex !important; gap: 8px !important; flex-wrap: wrap !important; margin-bottom: 18px !important;
}
.wlk-points-info-item {
  background: rgba(255,255,255,.06) !important; border-radius: 10px !important;
  padding: 10px 14px !important; flex: 1 1 100px !important; min-width: 0 !important;
  border: 1px solid rgba(255,255,255,.06) !important;
}
.wlk-points-info-item strong {
  display: block !important; font-size: 15px !important; font-weight: 900 !important;
  color: #fff !important; margin-bottom: 2px !important;
}
.wlk-points-info-item span {
  font-size: 10px !important; color: rgba(255,255,255,.4) !important;
  text-transform: uppercase !important; letter-spacing: .07em !important; font-weight: 700 !important;
}
.wlk-points-cta {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: #E50914 !important; color: #fff !important;
  padding: 11px 22px !important; border-radius: 100px !important;
  font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .08em !important;
  text-decoration: none !important; transition: background .2s, transform .18s !important;
}
.wlk-points-cta:hover { background: #ff2020 !important; color: #fff !important; transform: scale(1.04) !important; }

/* ============================================================
   ÚLTIMO PEDIDO
   ============================================================ */
.wlk-acc-last {
  background: #fff !important; border: 1px solid #E8E8ED !important;
  border-radius: 16px !important; padding: 20px 18px !important;
  margin-bottom: 14px !important; animation: wlk-rise .5s ease .2s both !important;
}
.wlk-acc-last-head {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; margin-bottom: 14px !important;
}
.wlk-acc-last-head h3 {
  font-family: 'Anton', 'Inter', sans-serif !important;
  font-size: 16px !important; font-weight: 400 !important; text-transform: uppercase !important;
  color: #000 !important; margin: 0 !important; padding: 0 !important;
  border: none !important; letter-spacing: .03em !important;
}
.wlk-acc-last-all {
  font-size: 11px !important; font-weight: 800 !important; color: #999 !important;
  text-decoration: none !important; text-transform: uppercase !important; letter-spacing: .06em !important;
}
.wlk-acc-last-all:hover { color: #E50914 !important; }
.wlk-acc-last-body {}
.wlk-acc-last-row {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 10px !important; margin-bottom: 12px !important;
}
@media (min-width: 480px) { .wlk-acc-last-row { grid-template-columns: repeat(4, 1fr) !important; } }
.wlk-acc-last-row > div { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.wlk-acc-last-lbl {
  font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: .07em !important; color: #bbb !important;
}
.wlk-acc-last-row > div strong {
  font-size: 13.5px !important; font-weight: 800 !important; color: #111 !important;
}
.wlk-acc-last-status {
  font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important;
  padding: 3px 8px !important; border-radius: 100px !important;
  background: #f0f0f2 !important; color: #666 !important; display: inline-block !important;
}
.wlk-status-completed { background: #ECFDF5 !important; color: #16a34a !important; }
.wlk-status-processing { background: #EFF6FF !important; color: #2563eb !important; }
.wlk-status-on-hold { background: #FFFBEB !important; color: #d97706 !important; }
.wlk-status-cancelled { background: #FEF2F2 !important; color: #dc2626 !important; }
.wlk-acc-last-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
.wlk-acc-btn {
  padding: 9px 18px !important; font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .08em !important;
  border-radius: 100px !important; text-decoration: none !important;
  transition: background .2s, transform .15s !important; display: inline-flex !important;
}
.wlk-acc-btn-d { background: #000 !important; color: #fff !important; }
.wlk-acc-btn-d:hover { background: #333 !important; color: #fff !important; }
.wlk-acc-btn-p { background: #E50914 !important; color: #fff !important; }
.wlk-acc-btn-p:hover { background: #ff2020 !important; color: #fff !important; }

/* ============================================================
   FOOTER DO DASHBOARD (logout discreto)
   ============================================================ */
.wlk-account-foot { padding: 8px 0 !important; text-align: center !important; }
.wlk-account-logout {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  font-size: 11.5px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: .07em !important; color: #bbb !important; text-decoration: none !important;
  transition: color .2s !important;
}
.wlk-account-logout:hover { color: #E50914 !important; }

/* ============================================================
   BARRA DE PONTOS — topo do site (preta, slim, impactante)
   ============================================================ */
.wlk-pts-bar {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 10px !important;
  background: #0A0A0A !important; color: #fff !important;
  padding: 9px 16px !important; font-size: 12px !important;
  font-weight: 600 !important; text-align: center !important;
  flex-wrap: wrap !important; position: relative !important; z-index: 9999 !important;
}
.wlk-pts-bar-star {
  color: #E50914 !important; font-size: 14px !important; flex-shrink: 0 !important;
}
.wlk-pts-bar-txt { color: rgba(255,255,255,.85) !important; line-height: 1.4 !important; }
.wlk-pts-bar-txt strong { color: #fff !important; }
.wlk-pts-bar-cta {
  display: inline-flex !important; align-items: center !important;
  background: #E50914 !important; color: #fff !important; font-weight: 800 !important;
  font-size: 10.5px !important; text-transform: uppercase !important; letter-spacing: .08em !important;
  padding: 4px 12px !important; border-radius: 100px !important; text-decoration: none !important;
  white-space: nowrap !important; flex-shrink: 0 !important; transition: background .2s !important;
}
.wlk-pts-bar-cta:hover { background: #ff2020 !important; color: #fff !important; }

/* ============================================================
   PONTOS — painel do usuário (novos elementos)
   ============================================================ */
.wlk-points-card-top {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; margin-bottom: 14px !important;
}
.wlk-pts-rules-link {
  font-size: 10.5px !important; font-weight: 800 !important; color: rgba(255,255,255,.5) !important;
  text-decoration: none !important; text-transform: uppercase !important; letter-spacing: .07em !important;
  transition: color .2s !important;
}
.wlk-pts-rules-link:hover { color: #E50914 !important; }
.wlk-pts-exp {
  font-size: 11.5px !important; color: rgba(255,255,255,.45) !important;
  margin: 0 0 14px !important; font-weight: 500 !important;
}
.wlk-pts-exp strong { color: rgba(255,255,255,.8) !important; }
.wlk-pts-warn {
  font-size: 12px !important; color: #fbbf24 !important; font-weight: 700 !important;
  margin: 0 0 14px !important; background: rgba(251,191,36,.1) !important;
  border: 1px solid rgba(251,191,36,.25) !important;
  border-radius: 10px !important; padding: 8px 12px !important;
}
.wlk-pts-warn strong { color: #fbbf24 !important; }
.wlk-pts-how {
  font-size: 11.5px !important; color: rgba(255,255,255,.4) !important;
  line-height: 1.55 !important; margin: 0 0 18px !important;
}
.wlk-pts-how strong { color: rgba(255,255,255,.75) !important; }

/* ── Caixa do cupom gerado ── */
.wlk-cpn-box {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 14px !important; padding: 16px !important;
  margin-bottom: 6px !important;
}
.wlk-cpn-lbl {
  font-size: 12px !important; color: rgba(255,255,255,.6) !important;
  margin: 0 0 10px !important;
}
.wlk-cpn-lbl strong { color: #fff !important; }
.wlk-cpn-code {
  background: #fff !important; color: #000 !important;
  font-family: 'Courier New', monospace !important; font-size: 18px !important;
  font-weight: 900 !important; letter-spacing: .12em !important;
  padding: 12px 16px !important; border-radius: 10px !important;
  cursor: pointer !important; user-select: all !important;
  position: relative !important; display: flex !important;
  align-items: center !important; justify-content: space-between !important;
  transition: background .15s !important; text-transform: uppercase !important;
}
.wlk-cpn-code:hover { background: #F5F5F7 !important; }
.wlk-cpn-copy-tip {
  font-size: 9px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: .08em !important; color: #999 !important; font-family: inherit !important;
  white-space: nowrap !important;
}
.wlk-cpn-code.wlk-copied { background: #DCFCE7 !important; }
.wlk-cpn-code.wlk-copied::after {
  content: "✓ Copiado!" !important; position: absolute !important;
  top: -28px !important; left: 50% !important; transform: translateX(-50%) !important;
  background: #16a34a !important; color: #fff !important; font-size: 10px !important;
  padding: 3px 10px !important; border-radius: 100px !important; white-space: nowrap !important;
  font-family: inherit !important;
}
.wlk-cpn-hint {
  font-size: 10.5px !important; color: rgba(255,255,255,.35) !important;
  margin: 8px 0 0 !important; line-height: 1.4 !important;
}

/* ── Botão gerar cupom ── */
#wlk-gerar-cupom.wlk-points-cta {
  cursor: pointer !important; border: none !important; font-family: inherit !important;
}
#wlk-gerar-cupom:disabled { opacity: .6 !important; cursor: not-allowed !important; }

/* ============================================================
   DRAWER DE FILTROS — off-canvas estilo Lojas Renner
   Adicionado 2026-05-21 — substitui o layout antigo de sidebar fixa.
   ============================================================ */

/* Toolbar refinada: result-count à esquerda, botão "Filtrar e ordenar" à direita */
.wlk-shop-archive .wlk-shop-toolbar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 1rem !important;
  margin: 0 0 1.25rem !important;
  border-bottom: 1px solid var(--wlk-border, #e5e5e5);
}
.wlk-shop-archive .wlk-shop-toolbar .woocommerce-result-count {
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--wlk-ink-mut, #6b7280) !important;
}

/* Botão "Filtrar e ordenar" — estilo Renner: pílula com borda preta */
.wlk-filter-open {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: #000;
  border: 1.5px solid #000;
  border-radius: 999px;
  padding: 8px 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.wlk-filter-open:hover,
.wlk-filter-open:focus-visible { background: #000; color: #fff; outline: none; }
.wlk-filter-open svg { display: block; flex-shrink: 0; }
@media (max-width: 480px) {
  .wlk-filter-open { padding: 7px 12px; font-size: 11px; letter-spacing: 0.06em; }
}

/* Overlay escuro por trás do drawer */
.wlk-filter-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 9998;
  opacity: 0;
  transition: opacity .28s ease;
}
.wlk-filter-overlay.is-open { opacity: 1; }
.wlk-filter-overlay[hidden] { display: none !important; }

/* Drawer lateral à direita */
.wlk-filter-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 100%;
  max-width: 400px;
  background: #fff;
  box-shadow: -4px 0 24px rgba(0,0,0,0.18);
  z-index: 9999;
  transform: translateX(100%);
  transition: transform .28s ease;
  display: flex;
  flex-direction: column;
}
@media (min-width: 640px) { .wlk-filter-drawer { max-width: 420px; } }
.wlk-filter-drawer.is-open { transform: translateX(0); }

/* Cabeçalho */
.wlk-filter-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--wlk-border, #e5e5e5);
  flex-shrink: 0;
}
.wlk-filter-drawer-head strong {
  font-family: var(--wlk-font-display, inherit);
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #000;
}
.wlk-filter-close {
  width: 36px; height: 36px;
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: #000;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background .15s;
}
.wlk-filter-close:hover { background: #f4f4f4; }

/* Corpo rolável */
.wlk-filter-drawer-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 16px 22px 28px;
  -webkit-overflow-scrolling: touch;
}

/* "Ordenar por" no topo do drawer */
.wlk-filter-order {
  padding: 4px 0 14px;
  border-bottom: 1px solid var(--wlk-border, #e5e5e5);
  margin-bottom: 12px;
}
.wlk-filter-order-lbl {
  display: block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #000;
  margin: 0 0 8px;
}
.wlk-filter-order .woocommerce-ordering { margin: 0 !important; }
.wlk-filter-order .woocommerce-ordering select {
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1px solid var(--wlk-border, #e5e5e5) !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #000 !important;
  height: auto !important;
  border-radius: 0 !important;
}

/* Dentro do drawer, o bloco .wlk-fil perde a aparência de "cartão sticky"
   (vinha do layout antigo) e fica como conteúdo plano */
.wlk-filter-drawer-body .wlk-fil {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
}
.wlk-filter-drawer-body .wlk-fil-title { display: none; } /* já temos o head do drawer */

/* Quando drawer aberto, bloqueia scroll do body via JS (já feito no template),
   mas garantimos que o conteúdo de trás não vaze por baixo */
body.wlk-drawer-locked { overflow: hidden; }

/* ============================================================
   ARCHIVE — grid em largura total agora que a sidebar foi removida
   ============================================================ */
.wlk-shop-archive .wlk-container {
  max-width: 1400px !important; /* expande além de 1280 antigo */
}

/* No desktop largo, dá pra 4 colunas mais respiradas */
@media (min-width: 1280px) {
  .wlk-shop-grid { gap: 1.5rem; }
}

/* Mobile pequeno: 2 colunas obrigatórias com gap menor */
@media (max-width: 480px) {
  .wlk-shop-grid { gap: 0.5rem; }
}

/* Hero de categoria centralizado no novo container largo */
.wlk-shop-archive .wlk-shop-hero-content { max-width: 1400px; }

/* ============================================================
   NOME DO PRODUTO — refino mobile (2026-05-21)
   Em telas pequenas o nome estava grande demais e ocupando muito espaço
   vertical no card. Reduz progressivo conforme a tela encolhe.
   ============================================================ */
@media (max-width: 639px) {
  .wlk-card-name {
    font-size: 12px !important;
    line-height: 1.3 !important;
    min-height: 2.4em !important;
    font-weight: 500 !important;
  }
  .wlk-card-price {
    font-size: 14px !important;
    line-height: 1.1 !important;
    margin-top: 2px !important;
  }
  .wlk-card-price del { font-size: 10px !important; }
  .wlk-card-install {
    font-size: 10px !important;
    margin: 1px 0 0 !important;
    line-height: 1.3 !important;
  }
  .wlk-card-body {
    padding: 0.55rem 0.55rem 0.7rem !important;
    gap: 2px !important;
  }
}
@media (max-width: 380px) {
  .wlk-card-name {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    min-height: 2.3em !important;
  }
  .wlk-card-price { font-size: 13.5px !important; }
  .wlk-card-install { font-size: 9.5px !important; }
}

/* Aplica o mesmo ajuste em cards do carrossel (mesmas classes .wlk-card-*),
   garantindo consistência home + listagem em mobile. */
@media (max-width: 639px) {
  .wlk-pc-track .wlk-card-body { padding: 0.55rem 0.55rem 0.7rem !important; }
  .wlk-kit-card-name { font-size: 11.5px !important; line-height: 1.3 !important; }
  .wlk-sale-name { font-size: 11px !important; line-height: 1.3 !important; }
}

/* ============================================================
   BENEFITS TARJA — slideshow 2 por vez no mobile (2026-05-21)
   Em telas ≤ 639px exibe 2 items por vez em grid 2-col;
   JS em design.php avança o par a cada 1.5s (loop infinito).
   Sem white-space:nowrap nem position:absolute para evitar
   corte dos ícones SVG. No tablet+ vira grid 3/5 colunas normal.
   ============================================================ */
@media (max-width: 639px) {
  .wlk-benefits .wlk-benefits-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 14px !important;
    padding: 16px 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    align-items: center;
  }
  /* Por padrão, todos escondidos. Apenas .is-active mostra. */
  .wlk-benefits .wlk-benefit {
    display: none !important;
  }
  .wlk-benefits .wlk-benefit.is-active {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-width: 0;
    opacity: 0;
    animation: wlk-benefit-fade-in .35s ease forwards;
  }
  /* Ícone com tamanho fixo e proteção contra ser comprimido */
  .wlk-benefits .wlk-bn-ico {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
  }
  .wlk-benefits .wlk-bn-ico svg {
    width: 22px !important;
    height: 22px !important;
    display: block;
  }
  /* Texto com truncamento se for muito longo (não cortar abrupto) */
  .wlk-benefits .wlk-benefit > div {
    min-width: 0;
    overflow: hidden;
  }
  .wlk-benefits .wlk-bn-title {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .wlk-benefits .wlk-bn-desc {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@keyframes wlk-benefit-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .wlk-benefits .wlk-benefit.is-active { animation: none !important; opacity: 1; }
}

/* ============================================================
   CART — loading visual nos totalizadores durante recálculo AJAX
   (evita flicker do total ao mudar qty: subtotal-item atualiza
   instantaneamente, totalizadores ficam fadeados até o servidor responder)
   ============================================================ */
.wlk-totals-recalc .cart_totals .order-total .amount,
.cart_totals.wlk-totals-recalc .order-total .amount,
.wlk-mobile-cartbar.wlk-totals-recalc .wlk-mobile-cartbar-total strong {
  opacity: 0.45 !important;
  transition: opacity .15s ease;
}
.wlk-totals-recalc .cart_totals tr.cart-subtotal td .amount,
.cart_totals.wlk-totals-recalc tr.cart-subtotal td .amount {
  opacity: 0.45 !important;
}

/* ============================================================
   PRODUCT SUGGESTIONS — botão + selects dentro do .wlk-card
   A seção usa .wlk-pc (padrão da loja) + ajustes pontuais.
   ============================================================ */

/* ── Título das seções de sugestão ── */
.wlk-suggest-pc .wlk-pc-title,
.wlk-cart-suggest-title {
    font-family: var(--wlk-font-display);
    font-size: clamp(1.1rem, 2.5vw, 1.75rem) !important;
    font-weight: 400 !important;
    line-height: 1; text-transform: uppercase;
    color: #000; margin: 0;
    letter-spacing: 0.005em;
    text-align: left !important;
}

/* ── Nome do produto: 1 linha com reticências ── */
.wlk-cart-suggest .wlk-card-name,
.wlk-suggest-pc .wlk-card-name {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    min-height: auto !important;
}

/* ── Selects de variação: compactos ── */
.wlk-suggest-form .wlk-cc-attrs {
    gap: 4px;
    margin-top: 6px;
}
.wlk-suggest-form .wlk-cc-attr {
    padding: 3px 20px 3px 6px !important;
    font-size: 10px !important;
    height: 24px;
    background-size: 8px !important;
}

/* ── Largura total: JS teleporta as seções para o <body> com position:absolute.
   Aqui só garantimos que a seção não quebre o layout antes do JS rodar. */
.wlk-cart-suggest,
.wlk-suggest-pc {
    box-sizing: border-box;
    overflow: hidden;
}
/* Após teleporte o JS seta position:absolute via inline style.
   O .wlk-pc-wrap precisa de overflow hidden p/ o carrossel funcionar. */
.wlk-cart-suggest[data-wlk-fw] .wlk-pc-wrap,
.wlk-suggest-pc[data-wlk-fw] .wlk-pc-wrap { overflow: hidden; }
.wlk-cart-suggest .wlk-container,
.wlk-suggest-pc .wlk-container {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 1.5rem;
}

/* ── Toast de feedback do add-to-cart ── */
.wlk-toast {
    position: fixed; bottom: 24px; left: 50%;
    transform: translateX(-50%) translateY(16px);
    background: #111; color: #fff;
    padding: 13px 28px; border-radius: 3px;
    font-size: 13px; font-weight: 700; letter-spacing: .03em;
    z-index: 99999; opacity: 0; pointer-events: none;
    transition: opacity .28s, transform .28s;
    white-space: nowrap; box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.wlk-toast.wlk-toast--on {
    opacity: 1; transform: translateX(-50%) translateY(0);
}
.wlk-toast.wlk-toast--err { background: #c0392b; }


/* Botão "Adicionar" / "Selecionar" / "Indisponível" no card body */
.wlk-suggest-atc {
    display: block; width: 100%;
    margin-top: 8px; padding: 8px 10px;
    background: #111; color: #fff;
    border: none; border-radius: 0;
    font-size: 10px; font-weight: 900;
    text-transform: uppercase; letter-spacing: .12em;
    cursor: pointer; text-align: center;
    text-decoration: none; transition: background .15s;
    font-family: inherit; line-height: 1.4;
    box-sizing: border-box;
}
.wlk-suggest-atc:hover:not(:disabled):not(.wlk-suggest-atc--out) { background: var(--wlk-accent); color: #fff; }
.wlk-suggest-atc:disabled { background: #ccc; color: #888; cursor: default; }
.wlk-suggest-atc--out { background: #e8e8e8; color: #aaa; cursor: not-allowed; pointer-events: none; }

/* Selects de variação dentro do card de sugestão */
.wlk-suggest-form .wlk-cc-attrs {
    display: flex; flex-direction: column; gap: 5px;
    margin-top: 8px;
}
.wlk-suggest-form .wlk-cc-attr {
    width: 100%; border: 1px solid #d8d8d8; border-radius: 0;
    padding: 6px 8px; font-size: 11px; font-family: inherit;
    background: #fafafa; color: #111;
    -webkit-appearance: none; appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 8px center;
    padding-right: 24px; box-sizing: border-box;
}
.wlk-suggest-form .wlk-cc-attr:focus { border-color: var(--wlk-accent); outline: none; background-color: #fff; }

/* ============================================================
   CART — Custom template (wlk-cart-item): fix grid + estilos
   ============================================================ */

/* Grid corrigido para o template custom (5 colunas) */
html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item {
    grid-template-columns: minmax(0, 1fr) 150px 140px 80px 36px !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    column-gap: 16px !important;
}
html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-product { grid-column: 1; grid-row: 1; min-width: 0; }
html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-attrs   { grid-column: 2; grid-row: 1; }
html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-qty     { grid-column: 3; grid-row: 1; }
html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-total   { grid-column: 4; grid-row: 1; }
html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-remove  { grid-column: 5; grid-row: 1; }

/* Produto: imagem + info lado a lado */
.wlk-cart-prod { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.wlk-cart-thumb { flex-shrink: 0; }
.wlk-cart-thumb a { display: block; }
.wlk-cart-thumb img { width: 68px; height: 85px; object-fit: cover; display: block; border-radius: 4px; background: #f4f4f4; }
.wlk-cart-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wlk-cart-brand { font-size: 9px; font-weight: 800; color: #bbb; letter-spacing: .14em; text-transform: uppercase; margin: 0; }
.wlk-cart-name {
    font-size: 13px; font-weight: 700; color: #111; text-decoration: none;
    line-height: 1.35; display: block; word-break: break-word; white-space: normal;
    overflow: visible; min-width: 0;
}
.wlk-cart-name:hover { color: #e50914; }
.wlk-cart-vendor { font-size: 10px; color: #bbb; margin: 0; }
.wlk-cart-attr { font-size: 11px; color: #555; margin: 1px 0 0; }
.wlk-cart-attr span { color: #999; }

/* Variation selects */
.wlk-td-attrs { display: flex; flex-direction: column; gap: 5px; }
.wlk-attr-wrap select.wlk-change-attr {
    width: 100%; border: 1px solid #ddd; border-radius: 6px;
    padding: 6px 8px; font-size: 12px; font-family: inherit;
    background: #fff; appearance: none; cursor: pointer;
}
.wlk-attr-wrap select.wlk-change-attr:focus { border-color: #e50914; outline: none; }

/* Total */
.wlk-td-total { font-weight: 800; font-size: 14px; color: #111; white-space: nowrap; text-align: right; }

/* Remove */
.wlk-td-remove { display: flex; align-items: center; justify-content: center; }
a.wlk-cart-remove {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%;
    background: #f0f0f0; color: #555; text-decoration: none;
    font-size: 18px; line-height: 1; transition: all .15s;
}
a.wlk-cart-remove:hover { background: #e50914 !important; color: #fff !important; }

/* Mobile: 2 colunas, empilha attrs + qty */
@media (max-width: 640px) {
    html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item {
        grid-template-columns: minmax(0, 1fr) 32px !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 8px !important;
    }
    html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-product { grid-column: 1; grid-row: 1; }
    html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-remove  { grid-column: 2; grid-row: 1; align-self: start; padding-top: 2px !important; }
    html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-attrs   { grid-column: 1 / 3; grid-row: 2; }
    html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-qty     { grid-column: 1; grid-row: 3; }
    html body.woocommerce-cart table.shop_table tbody tr.wlk-cart-item td.wlk-td-total   { grid-column: 2; grid-row: 3; text-align: right; align-self: center; }
}

/* Minicart: nome do produto — aumenta de 2 para 3 linhas */
.wlk-mc-item-name {
    -webkit-line-clamp: 3 !important;
}

/* ============================================================
   ÍCONES DE PAGAMENTO — bordas discretas, cor branca (footer escuro)
   ============================================================ */
.wlk-f-pay-icon b {
  font-family: sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0.04em;
  line-height: 1;
  display: inline-block;
  color: rgba(255,255,255,0.85);
}
.wlk-pi-visa {
  font-style: italic;
  font-size: 12px;
  letter-spacing: -0.02em;
  font-family: "Times New Roman", serif;
}
.wlk-pi-elo  { font-size: 11px; text-transform: lowercase; }
.wlk-pi-amex { font-size: 8px; letter-spacing: 0.05em; }
.wlk-pi-hiper { font-size: 9px; text-transform: lowercase; }
.wlk-pi-mc-text { font-size: 9px; }
/* SVGs: fill fixo */
.wlk-pi-pix    { display: block !important; width: 14px !important; height: 14px !important; }
.wlk-pi-mc     { display: block; }
.wlk-pi-boleto { color: rgba(255,255,255,0.85); }

/* ──────────────────────────────────────────────────────────
 * MENU SUPERIOR — categorias destaque centralizadas + Promoções (direita absoluta)
 * ────────────────────────────────────────────────────────── */
.wlk-nav-row { position: relative; justify-content: center; }
.wlk-nav-row .wlk-nav-main  {
  flex: 0 0 auto;
  margin: 0 auto;
  justify-content: center;
  flex-wrap: wrap;
}
.wlk-nav-row .wlk-nav-right {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
.wlk-nav-row .wlk-nav-right li.wlk-nav-promo a {
  background: var(--wlk-accent, #ff4d2e);
  color: #fff;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  gap: 6px;
  height: auto;
  transition: background 0.2s, transform 0.15s;
}
.wlk-nav-row .wlk-nav-right li.wlk-nav-promo a::after { display: none !important; }
.wlk-nav-row .wlk-nav-right li.wlk-nav-promo a:hover {
  background: #000;
  color: #fff;
  transform: translateY(-1px);
}
.wlk-nav-row .wlk-nav-right li.wlk-nav-promo .wlk-nav-promo-ico { color: #fff; }

/* Estado "expandido" — após 1º clique em parent (mobile/touch) */
.wlk-nav-row li.wlk-nav-has-dd.is-open > .wlk-nav-dd {
  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
.wlk-nav-row li.wlk-nav-has-dd.is-open > a .wlk-nav-caret {
  transform: rotate(180deg);
}

/* "Ver tudo em X" — desktop (último item do dropdown) */
.wlk-nav-dd li.wlk-nav-dd-all { margin-top: 4px; border-top: 1px solid #f1f1f1; }
.wlk-nav-dd li.wlk-nav-dd-all a {
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 11px !important;
  color: var(--wlk-accent, #ff4d2e) !important;
}
.wlk-nav-dd li.wlk-nav-dd-all a:hover {
  background: var(--wlk-accent, #ff4d2e) !important;
  color: #fff !important;
}

/* "Ver tudo em X" — drawer mobile */
.wlk-drawer-see-all {
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 12px !important;
  color: var(--wlk-accent, #ff4d2e) !important;
  opacity: 1 !important;
  border-top: 1px solid #f1f1f1;
  margin-top: 4px; padding-top: 8px !important;
}

/* Drawer mobile: pai + subcategorias colapsáveis (mesmo comportamento do desktop) */
.wlk-drawer-item { display: flex; flex-direction: column; }
.wlk-drawer-item .wlk-drawer-parent {
  display: flex !important; align-items: center; justify-content: space-between;
  width: 100%;
}
.wlk-drawer-item .wlk-drawer-caret { transition: transform 0.2s ease; opacity: 0.65; flex-shrink: 0; }
.wlk-drawer-item.is-open .wlk-drawer-caret { transform: rotate(180deg); }
.wlk-drawer-subnav {
  display: none;
  flex-direction: column;
  padding-left: 14px;
  border-left: 2px solid #eee;
  margin: 4px 0 8px 6px;
}
.wlk-drawer-item.is-open .wlk-drawer-subnav { display: flex; }
.wlk-drawer-subnav a { font-size: 13px; opacity: 0.78; padding: 6px 0; }
.wlk-drawer-promo-link {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 6px;
  margin: 16px auto 4px; padding: 9px 18px;
  background: var(--wlk-accent, #ff4d2e); color: #fff !important;
  border-radius: 999px;
  font-weight: 900; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px;
  width: max-content; max-width: calc(100% - 24px);
  transition: background 0.2s, transform 0.15s;
}
.wlk-drawer-promo-link:hover { background: #000; transform: translateY(-1px); }
.wlk-drawer-promo-ico { color: #fff; flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════════
   📱 NEWSLETTER ROADBLOCK — força tamanho sensato no mobile.
   Algumas regras de tema (hello-elementor + Elementor) injetam
   padding/font-size enormes em inputs do rodapé. Anulamos aqui.
   ════════════════════════════════════════════════════════════════ */
.wlk-f-news-wrap *{ box-sizing:border-box !important; }
.wlk-f-news-form{
  width:100% !important; display:flex !important; flex-wrap:wrap !important;
  gap:10px !important;
}
.wlk-f-news-form input,
.wlk-f-news-form input[type="text"],
.wlk-f-news-form input[type="email"]{
  flex:1 1 100% !important;
  height:48px !important; min-height:48px !important; max-height:48px !important;
  padding:0 18px !important;
  font-size:15px !important; line-height:48px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,0.08) !important;
  border:1.5px solid rgba(255,255,255,0.18) !important;
  color:#fff !important;
}
.wlk-f-news-form button,
.wlk-f-news-form button[type="submit"]{
  width:100% !important; flex:1 1 100% !important;
  height:52px !important; min-height:52px !important; max-height:52px !important;
  padding:0 24px !important;
  font-size:13.5px !important; line-height:52px !important;
  border-radius:999px !important;
}
@media (max-width: 760px){
  .wlk-f-news{ padding:24px 16px !important; gap:16px !important; }
  .wlk-f-news-head h3{ font-size:16px !important; }
  .wlk-f-news-head p{ font-size:13px !important; }
  .wlk-f-news-form input,
  .wlk-f-news-form input[type="text"],
  .wlk-f-news-form input[type="email"]{
    height:46px !important; min-height:46px !important; max-height:46px !important;
    line-height:46px !important; font-size:15px !important;
    padding:0 18px !important;
  }
  .wlk-f-news-form button{
    height:50px !important; min-height:50px !important; max-height:50px !important;
    line-height:50px !important; font-size:13px !important;
  }
}
@media (max-width: 400px){
  .wlk-f-news{ padding:20px 14px !important; }
  .wlk-f-news-form input,
  .wlk-f-news-form input[type="text"],
  .wlk-f-news-form input[type="email"]{
    height:44px !important; min-height:44px !important; max-height:44px !important;
    line-height:44px !important;
  }
}

/* ════════════════════════════════════════════════════════════════
   📨 NEWSLETTER — CORREÇÃO ESTRUTURAL DEFINITIVA
   Tema injetava margin-bottom nos form fields e flex:1 1 320px no
   .wlk-f-news-head segurava altura mesmo vazio.
   ════════════════════════════════════════════════════════════════ */
.wlk-f-news-wrap{ position:static !important; }
.wlk-f-news{
  align-items:stretch !important;
}
.wlk-f-news-head{
  flex:0 1 auto !important;
  width:100% !important;
  min-height:auto !important;
  height:auto !important;
}
.wlk-f-news-head h3{
  margin:0 0 6px !important; min-height:0 !important;
}
.wlk-f-news-head p{
  margin:0 !important; min-height:0 !important;
}
.wlk-f-news-form{
  display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important;
  gap:10px !important; row-gap:10px !important;
  width:100% !important; max-width:100% !important;
  margin:0 !important; padding:0 !important;
}
.wlk-f-news-form > *{
  margin:0 !important; padding-top:0 !important; padding-bottom:0 !important;
}
.wlk-f-news-form input,
.wlk-f-news-form input[type="text"],
.wlk-f-news-form input[type="email"]{
  display:block !important;
  width:100% !important; flex:0 0 auto !important;
  margin:0 !important;
  height:48px !important; min-height:48px !important; max-height:48px !important;
  padding:0 18px !important;
  font-size:15px !important; line-height:48px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,0.08) !important;
  border:1.5px solid rgba(255,255,255,0.2) !important;
  color:#fff !important;
  box-sizing:border-box !important;
}
.wlk-f-news-form button,
.wlk-f-news-form button[type="submit"]{
  display:block !important;
  width:100% !important; flex:0 0 auto !important;
  margin:0 !important;
  height:50px !important; min-height:50px !important; max-height:50px !important;
  padding:0 24px !important;
  font-size:13.5px !important; line-height:50px !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
}
.wlk-f-news-form input[type="hidden"]{
  display:none !important; height:0 !important; min-height:0 !important;
}
@media (max-width: 760px){
  .wlk-f-news{
    flex-direction:column !important;
    padding:22px 16px !important;
    gap:14px !important;
  }
  .wlk-f-news-head{ text-align:center !important; }
  .wlk-f-news-head h3{ font-size:15px !important; letter-spacing:0.08em !important; justify-content:center !important; }
  .wlk-f-news-head p{ font-size:13px !important; line-height:1.5 !important; max-width:none !important; }
  .wlk-f-news-head h3::before{ width:28px !important; height:28px !important; font-size:14px !important; }
}
@media (max-width: 400px){
  .wlk-f-news{ padding:18px 12px !important; gap:12px !important; }
  .wlk-f-news-head h3{ font-size:14px !important; }
}

/* ════════════════════════════════════════════════════════════════
   📨 Newsletter — anula o vazio após o botão CADASTRAR
   .wlk-f-news-msg (hidden) e min-height herdado de Elementor.
   ════════════════════════════════════════════════════════════════ */
.wlk-f-news-wrap{
  padding:0 !important; margin:0 !important;
  min-height:0 !important;
}
.wlk-f-news{
  margin:0 auto !important;
  min-height:0 !important;
}
.wlk-f-news-msg[hidden]{
  display:none !important; height:0 !important; min-height:0 !important;
  margin:0 !important; padding:0 !important; overflow:hidden !important;
}
.wlk-f-news-msg{
  margin:8px 0 0 !important; padding:0 !important;
}
@media (max-width: 760px){
  .wlk-f-news-wrap{ padding:0 !important; }
  .wlk-f-news{ padding:22px 16px !important; }
}

/* ════════════════════════════════════════════════════════════════
   📨 FOOTER MOBILE — ELIMINA TODO VAZIO ENTRE NEWSLETTER E GRID
   Conflitos detectados:
   - design-v8.css linha 1571: .wlk-footer { padding: 56px 0 0 }
   - design.css linha 1157: .wlk-f-grid { padding: 3rem 1.5rem 3rem }
   - .wlk-f-news-msg[hidden] reservando altura
   ════════════════════════════════════════════════════════════════ */
.wlk-footer{
  padding:0 !important;
  margin:0 !important;
  min-height:0 !important;
}
.wlk-f-news-wrap{
  padding:0 !important; margin:0 !important;
}
.wlk-f-grid{
  padding:24px 16px !important;
  gap:24px !important;
  margin:0 auto !important;
  min-height:0 !important;
}
.wlk-f-news-msg{
  display:none !important; height:0 !important; min-height:0 !important;
  margin:0 !important; padding:0 !important; line-height:0 !important; overflow:hidden !important;
}
.wlk-f-news-msg:not([hidden]){
  display:block !important; height:auto !important; padding:8px 0 0 !important; line-height:1.4 !important;
}
.wlk-f-brand{ margin:0 !important; }
.wlk-f-logo, .wlk-f-name{ margin:0 0 8px !important; }
.wlk-f-tag{ margin:0 0 14px !important; }
.wlk-f-social{ margin:0 !important; }

.wlk-f-bottom-wrap{ padding:0 !important; margin:0 !important; }
.wlk-f-bottom{ padding:14px 16px !important; }

@media (max-width: 760px){
  .wlk-footer{ padding:0 !important; }
  .wlk-f-news{ padding:20px 16px !important; gap:12px !important; }
  .wlk-f-grid{ padding:20px 16px !important; gap:22px !important; }
  .wlk-f-grid > *{ margin:0 !important; }
  .wlk-f-grid h3{ margin:0 0 10px !important; font-size:13px !important; letter-spacing:0.08em !important; }
  .wlk-f-list{ gap:8px !important; }
  .wlk-f-list li{ font-size:13px !important; }
  .wlk-f-tag{ margin:6px 0 12px !important; font-size:13px !important; }
  .wlk-f-social a{ width:34px !important; height:34px !important; }
}
@media (max-width: 400px){
  .wlk-f-news{ padding:16px 12px !important; }
  .wlk-f-grid{ padding:16px 12px !important; gap:18px !important; }
}

/* ════════════════════════════════════════════════════════════════
   📨 NEWSLETTER — REDESIGN COMPLETO + ALTURA INTRÍNSECA FORÇADA
   Anula TODO min-height/height herdado. Substitui look pra um
   card moderno glassmorphism com badge "OFERTAS EXCLUSIVAS".
   ════════════════════════════════════════════════════════════════ */
.wlk-f-news-wrap{
  display:block !important;
  background:
    radial-gradient(800px circle at 0% 0%, rgba(229,9,20,0.12), transparent 50%),
    linear-gradient(180deg, #0d0d0f 0%, #050507 100%) !important;
  border-bottom:1px solid rgba(255,255,255,0.06) !important;
  padding:0 !important; margin:0 !important;
  min-height:auto !important; height:auto !important; max-height:none !important;
  position:relative !important;
}
.wlk-f-news-wrap::before{
  content:"" !important; position:absolute !important;
  top:0 !important; left:0 !important; right:0 !important; height:2px !important;
  background:linear-gradient(90deg, transparent, var(--wlk-accent), transparent) !important;
  opacity:0.7 !important;
}
.wlk-f-news{
  display:flex !important; flex-direction:column !important;
  align-items:stretch !important; justify-content:flex-start !important;
  gap:14px !important;
  padding:28px 18px !important;
  margin:0 auto !important;
  min-height:auto !important; height:auto !important; max-width:560px !important;
}
.wlk-f-news-head{
  display:flex !important; flex-direction:column !important; align-items:center !important;
  text-align:center !important;
  gap:8px !important; padding:0 !important; margin:0 !important;
  flex:0 0 auto !important;
}
.wlk-f-news-head h3{
  display:inline-flex !important; align-items:center !important; gap:10px !important;
  justify-content:center !important;
  font-size:14.5px !important; font-weight:800 !important;
  letter-spacing:0.16em !important; text-transform:uppercase !important;
  color:#fff !important; margin:0 !important; padding:0 !important;
  line-height:1.2 !important;
}
.wlk-f-news-head h3::before{
  content:"🎁" !important;
  width:32px !important; height:32px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:linear-gradient(135deg, #e50914, #ff1f2d) !important;
  border-radius:9px !important; font-size:15px !important;
  box-shadow:0 4px 14px -2px rgba(229,9,20,0.5), 0 0 0 1px rgba(255,255,255,0.08) inset !important;
  flex-shrink:0 !important;
}
.wlk-f-news-head p{
  font-size:13px !important; line-height:1.5 !important;
  color:rgba(255,255,255,0.6) !important;
  margin:0 !important; padding:0 4px !important;
  max-width:none !important;
}
.wlk-f-news-form{
  display:flex !important; flex-direction:column !important;
  flex-wrap:nowrap !important; gap:10px !important;
  width:100% !important; max-width:none !important;
  margin:6px 0 0 !important; padding:0 !important;
  min-height:auto !important; flex:0 0 auto !important;
}
.wlk-f-news-form > *{ margin:0 !important; }
.wlk-f-news-form input[type=hidden]{
  display:none !important; height:0 !important; min-height:0 !important;
  width:0 !important; padding:0 !important; margin:0 !important;
  position:absolute !important;
}
.wlk-f-news-form input[type=text],
.wlk-f-news-form input[type=email]{
  display:block !important;
  width:100% !important; flex:0 0 auto !important;
  height:50px !important; min-height:50px !important; max-height:50px !important;
  margin:0 !important; padding:0 18px !important;
  font-size:15px !important; font-weight:500 !important; line-height:50px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,0.06) !important;
  border:1.5px solid rgba(255,255,255,0.12) !important;
  color:#fff !important;
  box-sizing:border-box !important;
  transition:border-color .2s, background .2s !important;
  outline:none !important;
  -webkit-appearance:none !important;
}
.wlk-f-news-form input::placeholder{
  color:rgba(255,255,255,0.4) !important;
  font-weight:400 !important;
}
.wlk-f-news-form input:focus{
  background:rgba(255,255,255,0.1) !important;
  border-color:var(--wlk-accent) !important;
}
.wlk-f-news-form button,
.wlk-f-news-form button[type=submit]{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; flex:0 0 auto !important;
  height:52px !important; min-height:52px !important; max-height:52px !important;
  margin:0 !important; padding:0 24px !important;
  font-size:13px !important; font-weight:800 !important;
  letter-spacing:0.16em !important; text-transform:uppercase !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, #e50914 0%, #ff1f2d 50%, #c00 100%) !important;
  color:#fff !important; border:0 !important;
  box-shadow:0 4px 16px -4px rgba(229,9,20,0.55), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  cursor:pointer !important;
  transition:transform .15s, box-shadow .15s !important;
  box-sizing:border-box !important;
  -webkit-appearance:none !important;
}
.wlk-f-news-form button:active{
  transform:translateY(1px) !important;
  box-shadow:0 2px 8px -2px rgba(229,9,20,0.5) !important;
}
.wlk-f-news-msg{
  width:100% !important; margin:6px 0 0 !important; padding:8px 12px !important;
  font-size:13px !important; font-weight:600 !important;
  text-align:center !important; border-radius:8px !important;
  background:rgba(255,255,255,0.06) !important;
  line-height:1.4 !important;
  flex:0 0 auto !important;
}
.wlk-f-news-msg[hidden]{
  display:none !important; height:0 !important; min-height:0 !important;
  margin:0 !important; padding:0 !important;
  line-height:0 !important; font-size:0 !important; overflow:hidden !important;
  flex:0 0 0 !important;
}
@media (min-width: 760px){
  .wlk-f-news{ max-width:680px !important; padding:36px 24px !important; gap:18px !important; }
  .wlk-f-news-form{ flex-direction:row !important; gap:8px !important; }
  .wlk-f-news-form input[type=text],
  .wlk-f-news-form input[type=email]{ flex:1 1 0 !important; }
  .wlk-f-news-form button{ flex:0 0 auto !important; width:auto !important; min-width:160px !important; padding:0 28px !important; }
  .wlk-f-news-head h3{ font-size:18px !important; letter-spacing:0.12em !important; }
}
@media (max-width: 400px){
  .wlk-f-news{ padding:22px 14px !important; }
  .wlk-f-news-head h3{ font-size:13px !important; letter-spacing:0.12em !important; }
  .wlk-f-news-head h3::before{ width:28px !important; height:28px !important; font-size:14px !important; }
}

/* ════════════════════════════════════════════════════════════════
   📨 NEWSLETTER — VIBRANTE PUNCH (refino tipográfico)
   ════════════════════════════════════════════════════════════════ */
.wlk-f-news-head h3{
  font-size:15.5px !important; letter-spacing:0.14em !important;
  gap:9px !important;
}
.wlk-f-news-head h3::before{
  content:"⚡" !important;
  width:30px !important; height:30px !important;
  font-size:15px !important; border-radius:8px !important;
  background:linear-gradient(135deg, #ff1f2d 0%, #c00 100%) !important;
}
.wlk-f-news-head p{
  font-size:13.5px !important; line-height:1.55 !important;
  color:rgba(255,255,255,0.65) !important;
  max-width:340px !important; margin:0 auto !important;
}
.wlk-f-news{
  gap:16px !important;
  padding:30px 18px !important;
}
.wlk-f-news-form{ gap:9px !important; margin-top:4px !important; }
.wlk-f-news-form input[type=text],
.wlk-f-news-form input[type=email]{
  height:52px !important; min-height:52px !important; max-height:52px !important;
  line-height:52px !important; font-size:15px !important;
  border-radius:13px !important;
  background:rgba(255,255,255,0.05) !important;
  border:1px solid rgba(255,255,255,0.1) !important;
}
.wlk-f-news-form input:focus{
  background:rgba(255,255,255,0.09) !important;
  border-color:#ff1f2d !important;
  box-shadow:0 0 0 3px rgba(229,9,20,0.18) !important;
}
.wlk-f-news-form button{
  height:54px !important; min-height:54px !important; max-height:54px !important;
  line-height:54px !important;
  font-size:13.5px !important; letter-spacing:0.14em !important;
  border-radius:13px !important;
  background:linear-gradient(135deg, #ff1f2d 0%, #e50914 55%, #b00 100%) !important;
  box-shadow:0 6px 22px -6px rgba(229,9,20,0.65), inset 0 1px 0 rgba(255,255,255,0.18) !important;
  position:relative !important; overflow:hidden !important;
}
.wlk-f-news-form button::after{
  content:"" !important; position:absolute !important;
  top:0 !important; left:-100% !important; width:100% !important; height:100% !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
  transition:left .6s !important;
}
.wlk-f-news-form button:hover::after{ left:100% !important; }
.wlk-f-news-form button:active{
  transform:translateY(1px) scale(0.99) !important;
}
@media (max-width: 400px){
  .wlk-f-news{ padding:24px 14px !important; gap:14px !important; }
  .wlk-f-news-head h3{ font-size:14px !important; }
  .wlk-f-news-head h3::before{ width:26px !important; height:26px !important; font-size:13px !important; }
}

/* ════════════════════════════════════════════════════════════════
   📨 NEWSLETTER — ESTILO RENNER DARK (clean underline inputs)
   ════════════════════════════════════════════════════════════════ */
.wlk-f-news-wrap{
  background:linear-gradient(180deg, #0f0f0f 0%, #060606 100%) !important;
  border-top:1px solid rgba(255,255,255,0.04) !important;
  border-bottom:1px solid rgba(255,255,255,0.04) !important;
}
.wlk-f-news-wrap::before{ display:none !important; }
.wlk-f-news{
  max-width:520px !important;
  padding:36px 20px !important; gap:24px !important;
}
.wlk-f-news-head{ gap:8px !important; }
.wlk-f-news-head h3{
  display:block !important;
  font-size:16px !important; font-weight:700 !important;
  letter-spacing:-0.005em !important;
  text-transform:none !important;
  color:#fff !important;
  text-align:center !important;
  padding:0 !important;
}
.wlk-f-news-head h3::before{ display:none !important; }
.wlk-f-news-head p{
  font-size:13px !important; color:rgba(255,255,255,0.5) !important;
  text-align:center !important; line-height:1.5 !important;
  max-width:360px !important;
}

.wlk-f-news-form{
  gap:18px !important; margin-top:8px !important;
}
.wlk-f-news-form input[type=text],
.wlk-f-news-form input[type=email]{
  height:44px !important; min-height:44px !important; max-height:44px !important;
  line-height:44px !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1.5px solid rgba(255,255,255,0.25) !important;
  border-radius:0 !important;
  padding:0 2px !important;
  font-size:15px !important; font-weight:500 !important;
  color:#fff !important;
  transition:border-color .25s !important;
}
.wlk-f-news-form input::placeholder{
  color:rgba(255,255,255,0.4) !important;
  font-weight:400 !important;
}
.wlk-f-news-form input:focus{
  background:transparent !important;
  border-bottom-color:#fff !important;
  box-shadow:none !important;
}
.wlk-f-news-form button{
  height:50px !important; min-height:50px !important; max-height:50px !important;
  line-height:50px !important;
  background:#fff !important;
  color:#000 !important;
  border:0 !important;
  border-radius:0 !important;
  font-size:13px !important; font-weight:800 !important;
  letter-spacing:0.18em !important; text-transform:uppercase !important;
  box-shadow:none !important;
  margin-top:6px !important;
  position:relative !important; overflow:hidden !important;
  transition:background .25s, color .25s, transform .15s !important;
}
.wlk-f-news-form button::after{ display:none !important; }
.wlk-f-news-form button:hover{
  background:#e50914 !important;
  color:#fff !important;
}
.wlk-f-news-form button:active{
  transform:translateY(1px) !important;
}

.wlk-f-news-msg{
  background:transparent !important;
  border-top:1px solid rgba(255,255,255,0.08) !important;
  padding:14px 8px 0 !important;
  font-size:13px !important;
}

@media (min-width: 760px){
  .wlk-f-news{ max-width:520px !important; padding:48px 20px !important; gap:28px !important; }
  .wlk-f-news-head h3{ font-size:18px !important; }
  .wlk-f-news-form{ flex-direction:column !important; gap:20px !important; }
  .wlk-f-news-form input{ flex:none !important; width:100% !important; }
  .wlk-f-news-form button{ width:100% !important; min-width:0 !important; }
}
@media (max-width: 400px){
  .wlk-f-news{ padding:28px 16px !important; gap:20px !important; }
  .wlk-f-news-head h3{ font-size:15px !important; }
  .wlk-f-news-head p{ font-size:12.5px !important; }
}
