/*
Theme Name:  Mukuca Child
Theme URI:   https://mundomukuca.com.br
Description: Mundo Mukuca — child theme for Avanam/Kidupia
Author:      Mundo Mukuca
Template:    avanam
Version:     1.0.0
*/

/* ═══════════════════════════════════════════════════════════
   Nunito auto-hospedada (subset latin, variável 400–800)
   Substitui o Google Fonts CDN — privacidade (LGPD) + sem conexão externa.
   Arquivo em wp-content/themes/mukuca/fonts/ (path relativo a este style.css).
═══════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/nunito-variable.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ═══════════════════════════════════════════════════════════
   Brand tokens
═══════════════════════════════════════════════════════════ */
:root {
  --mk-purple:      #7C3AED;
  --mk-purple-dark: #6D28D9;
  --mk-yellow:      #FCD34D;
  --mk-dark:        #1F2937;
  --mk-body:        #374151;
  --mk-muted:       #6B7280;
  --mk-white:       #FFFFFF;
  --mk-surface:     #F9FAFB;
  --mk-border:      #E5E7EB;
  --mk-font:        'Nunito', sans-serif;
  --mk-radius:      12px;
  --mk-radius-sm:   8px;
  --mk-radius-full: 9999px;
}

/* ═══════════════════════════════════════════════════════════
   Typography — Nunito everywhere
═══════════════════════════════════════════════════════════ */
body,
h1, h2, h3, h4, h5, h6,
button, input, select, textarea,
.woocommerce, .woocommerce-page {
  font-family: var(--mk-font) !important;
}

/* ═══════════════════════════════════════════════════════════
   Page hero — remove banner cinza, breadcrumb inline
═══════════════════════════════════════════════════════════ */
.entry-hero { padding: 0 !important; min-height: 0 !important; }
.entry-hero-container-inner { min-height: 0 !important; padding: 0 !important; background: transparent !important; }
.entry-hero .entry-header { display: none !important; }
.base-breadcrumbs {
  padding: 10px 0 !important;
  font-family: var(--mk-font) !important;
  font-size: 12px !important;
  color: var(--mk-muted) !important;
}
.base-breadcrumbs a { color: var(--mk-muted) !important; text-decoration: none !important; }
.base-breadcrumbs a:hover { color: var(--mk-purple) !important; }

/* ═══════════════════════════════════════════════════════════
   Ocultar avisos demo e barra "free shipping" do header
═══════════════════════════════════════════════════════════ */
.woocommerce-store-notice,
p.demo_store,
.demo_store,
.mobile-html,
.header-html {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT CARDS — category badge + short description + button
═══════════════════════════════════════════════════════════ */

/* Badge — overlay no canto superior esquerdo da imagem */
.woocommerce ul.products li.product .product-thumbnail {
  position: relative;
}
.mk-card-cat {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: inline-block;
  background: var(--mk-yellow);
  color: var(--mk-dark);
  font-family: var(--mk-font);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 3px 9px;
  border-radius: 20px;
  line-height: 1.4;
  white-space: nowrap;
  pointer-events: none;
  max-width: calc(100% - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Espaçamento entre preço e botão */
.woocommerce ul.products li.product .price {
  margin-bottom: 12px !important;
}

/* Botão de comprar nos cards */
.mk-buy-btn {
  display: block !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding: 11px 16px !important;
  background: var(--mk-purple) !important;
  color: #ffffff !important;
  font-family: var(--mk-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
  border-radius: var(--mk-radius-sm) !important;
  border: none !important;
  outline: none !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
.mk-buy-btn:hover,
.mk-buy-btn:focus,
.mk-buy-btn:active {
  background: var(--mk-purple-dark) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
/* Anel de foco visível para navegação por teclado (o outline:none acima o
   removeria; :focus-visible reaparece só para quem navega via teclado). */
.mk-buy-btn:focus-visible {
  outline: 3px solid var(--mk-purple-dark) !important;
  outline-offset: 2px !important;
}

/* Homepage: grid layout independente do body class .woocommerce */
#mk-products-grid ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cards — estrutura e visual ──────────────────────────────────── */
#mk-products-grid ul.products li.product {
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  border-radius: var(--mk-radius) !important;
  overflow: hidden !important;
  border: 1px solid var(--mk-border) !important;
  transition: box-shadow .18s, transform .18s !important;
  position: relative !important;
}
#mk-products-grid ul.products li.product:not(.mk-club-card) {
  background: var(--mk-white) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
}
#mk-products-grid ul.products li.product:not(.mk-club-card):hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.11) !important;
  transform: translateY(-2px) !important;
}

/* Imagem — altura fixa, object-fit para qualquer proporção */
#mk-products-grid ul.products li.product:not(.mk-club-card) .product-thumbnail,
#mk-products-grid ul.products li.product:not(.mk-club-card) a.woocommerce-LoopProduct-link > img,
#mk-products-grid ul.products li.product:not(.mk-club-card) img {
  display: block !important;
  width: 100% !important;
}
#mk-products-grid ul.products li.product:not(.mk-club-card) .product-thumbnail {
  position: relative !important;
  flex-shrink: 0 !important;
  background: var(--mk-surface) !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}
#mk-products-grid ul.products li.product:not(.mk-club-card) .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Área de conteúdo */
#mk-products-grid ul.products li.product .product-details,
#mk-products-grid ul.products li.product .entry-summary,
#mk-products-grid ul.products li.product .product-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 14px 16px 16px !important;
}

/* Título */
#mk-products-grid ul.products li.product .woocommerce-loop-product__title,
#mk-products-grid ul.products li.product h2 {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--mk-dark) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.6em !important;
  margin: 14px 0 4px !important;
  padding: 0 14px !important;
}

/* Preço */
#mk-products-grid ul.products li.product .price {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--mk-purple) !important;
  margin: 8px 14px 12px !important;
}
#mk-products-grid ul.products li.product .price del {
  color: var(--mk-muted) !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  margin-right: 4px !important;
}

/* Botão — no rodapé do card */
#mk-products-grid ul.products li.product .mk-buy-btn {
  margin-top: auto !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
  margin-bottom: 14px !important;
  width: calc(100% - 28px) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  padding: 11px 16px !important;
}

/* Esconde elementos desnecessários */
#mk-products-grid ul.products li.product .star-rating,
#mk-products-grid ul.products li.product .product-action-wrap,
#mk-products-grid ul.products li.product .wcwl-add-button,
#mk-products-grid ul.products li.product .yith-wcwl-add-to-wishlist { display: none !important; }

/* Botões de ação no card (quick view + favoritar) */
.mk-card-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  transition: opacity .18s;
  z-index: 5;
}
li.product:hover .mk-card-actions,
li.product:focus-within .mk-card-actions {
  opacity: 1;
}
.mk-card-action-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(4px) !important;
  border: 1px solid var(--mk-border) !important;
  border-radius: 50% !important;
  color: var(--mk-dark) !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s, color .15s !important;
  text-decoration: none !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.mk-card-action-btn:hover {
  background: var(--mk-purple) !important;
  border-color: var(--mk-purple) !important;
}
/* SVG stroke explícito — não depende de currentColor (tema pode sobrescrever) */
.mk-card-action-btn .mk-icon { stroke: var(--mk-dark); }
.mk-card-action-btn:hover .mk-icon { stroke: #ffffff; }

/* ── WPC Smart Quick View Modal ──────────────────────────────── */
.woosq-popup {
  font-family: var(--mk-font) !important;
}
.woosq-popup .woosq-product {
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
  padding: 32px !important;
}
.woosq-popup .woosq-product__image {
  flex: 0 0 45% !important;
  border-radius: var(--mk-radius) !important;
  overflow: hidden !important;
}
.woosq-popup .woosq-product__image img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--mk-radius) !important;
}
.woosq-popup .woosq-product__summary {
  flex: 1 !important;
}
.woosq-popup .woosq-product__summary .product_title {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--mk-dark) !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}
.woosq-popup .woosq-product__summary .price {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--mk-purple) !important;
  margin-bottom: 16px !important;
}
.woosq-popup .woosq-product__summary .price del {
  font-size: 15px !important;
  color: var(--mk-muted) !important;
  font-weight: 400 !important;
}
.woosq-popup .woosq-product__summary .single_add_to_cart_button {
  background: var(--mk-purple) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--mk-radius-sm) !important;
  font-family: var(--mk-font) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 13px 28px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background .15s !important;
}
.woosq-popup .woosq-product__summary .single_add_to_cart_button:hover {
  background: var(--mk-purple-dark) !important;
}
/* Fechar modal */
.woosq-popup .woosq-close {
  background: var(--mk-surface) !important;
  color: var(--mk-dark) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  top: 12px !important;
  right: 12px !important;
}
@media (max-width: 900px) {
  #mk-products-grid ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  #mk-products-grid ul.products { grid-template-columns: 1fr !important; }
  #mk-products-grid ul.products .mk-club-card { grid-row: auto !important; }
}

/* Esconde o botão hover do Avanam para não duplicar */
.woocommerce ul.products li.product .product-action-wrap,
#mk-products-grid ul.products li.product .product-action-wrap {
  display: none !important;
}

/* Esconde botões extras do WC/tema — woosq-btn é permitido (quick view) */
#mk-products-grid .product-action-btn,
#mk-products-grid .wcwl-add-button,
#mk-products-grid ul.products li.product > a.button:not(.mk-buy-btn) {
  display: none !important;
}

/* Alinhamento dos cards — altura igual, botão sempre no rodapé */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product .product-details {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.woocommerce ul.products li.product .mk-buy-btn {
  margin-top: auto !important;
}

/* Truncar título em 2 linhas + tamanho adequado para card */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
#mk-products-grid .woocommerce-loop-product__title,
#mk-products-grid ul.products li.product h2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.4em !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  text-transform: none !important; /* mata o "capitalize" do tema (ex.: "Kit De" → "Kit de") */
}

/* Estrelas de avaliação: escondemos no loop quando não há avaliações reais.
   Cards com ☆☆☆☆☆ vazio passam sensação de "produto sem procura". Já estava
   oculto na home (#mk-products-grid); estende para a busca/arquivo. */
.woocommerce ul.products li.product .star-rating { display: none !important; }

/* Truncar descrição em 2 linhas */
.mk-card-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.9em !important;
}

.mk-card-desc {
  font-family: var(--mk-font) !important;
  font-size: 12px !important;
  color: var(--mk-muted) !important;
  line-height: 1.45 !important;
  margin: 4px 14px 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

/* CSS fallback: hide any native category already shown in loop */
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .ast-product-categories,
.woocommerce ul.products li.product .ast-woo-product-tag-category { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT — digital badges
═══════════════════════════════════════════════════════════ */
.mk-digital-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.mk-d-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
  font-family: var(--mk-font);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  line-height: 1.4;
}

@media (max-width: 480px) {
  .mk-d-badge--hide-mobile { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT — delivery + payment trust block
═══════════════════════════════════════════════════════════ */
.mk-product-trust-block {
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius-sm);
  overflow: hidden;
  margin: 16px 0;
  font-family: var(--mk-font);
}

.mk-ptb-delivery {
  display: flex;
  flex-direction: column;
  padding: 12px 16px;
  background: #fafafa;
}

.mk-ptb-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  color: var(--mk-dark);
}

.mk-ptb-item + .mk-ptb-item {
  border-top: 1px solid var(--mk-border);
}

.mk-ptb-item svg { flex-shrink: 0; color: var(--mk-purple); margin-top: 2px; }

.mk-ptb-item div  { display: flex; flex-direction: column; gap: 2px; }
.mk-ptb-item strong { font-size: 13px; font-weight: 700; color: var(--mk-dark); display: block; }
.mk-ptb-item span   { font-size: 12px; color: var(--mk-muted); display: block; }

.mk-ptb-payment {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: var(--mk-purple);
  color: var(--mk-white);
  font-size: 12px;
  font-weight: 500;
  font-family: var(--mk-font);
}
.mk-ptb-payment svg    { flex-shrink: 0; color: var(--mk-yellow); }
.mk-ptb-payment strong { font-weight: 700; }

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT — sticky buy bar
═══════════════════════════════════════════════════════════ */
/* Produto — esconde entrega física e pagamentos do Avanam (produtos digitais) */
.single-product .single-product-extras,
.single-product .single-product-payments,
.single-product [class*="product-extras"],
.single-product [class*="product-payments"],
.single-product [class*="product-delivery"],
.single-product [class*="safe-checkout"],
.single-product [class*="guaranteed"] { display: none !important; }

/* Produto — remove campo quantidade (digital: sempre 1) */
.single-product .quantity { display: none !important; }
.single-product form.cart { gap: 0 !important; }
.single-product .single_add_to_cart_button { width: 100% !important; }

/* ═══════════════════════════════════════════════════════════
   CART — trust row
═══════════════════════════════════════════════════════════ */
.mk-cart-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  justify-content: center;
  padding: 14px 20px;
  background: #fafafa;
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius-sm);
  margin-bottom: 20px;
  font-family: var(--mk-font);
}

.mk-ct-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mk-dark);
}
.mk-ct-item svg { color: var(--mk-purple); flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════════
   CART — empty state
═══════════════════════════════════════════════════════════ */
.mk-empty-cart {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 60px 24px;
  font-family: var(--mk-font);
}
.mk-empty-cart svg { color: #d1d5db; margin-bottom: 20px; }
.mk-empty-cart h2  { font-size: 22px; font-weight: 800; color: var(--mk-dark); margin: 0 0 10px; }
.mk-empty-cart p   { font-size: 15px; color: var(--mk-muted); max-width: 360px; margin: 0 0 24px; line-height: 1.5; }

/* Esconde o link padrão do WooCommerce — já temos "Ver atividades" no card acima */
.mk-empty-cart + .return-to-shop { display: none; }

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT — downloads intro
═══════════════════════════════════════════════════════════ */
.mk-downloads-intro {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: var(--mk-radius-sm);
  padding: 12px 16px;
  margin-bottom: 20px;
  font-family: var(--mk-font);
  font-size: 14px;
  color: #1e40af;
  line-height: 1.5;
}
.mk-downloads-intro strong { font-weight: 700; }

/* ═══════════════════════════════════════════════════════════
   AVANAM/KIDUPIA — override palette1 (pink → Mukuca purple)
   palette1 = top bar bg, primary buttons, hover colors, links
═══════════════════════════════════════════════════════════ */
:root {
  --global-palette1: #7C3AED !important;
  --global-palette2: #6D28D9 !important;
}

/* Top announcement bar */
.wp-block-kadence-rowlayout .kt-row-column-wrap,
.header-html-inner a,
.header-top-wrap,
#masthead .header-top { background-color: var(--mk-purple) !important; }

/* Logo do cabeçalho — um pouco maior que o default do Avanam (200px).
   !important para vencer o CSS inline do customizer (#masthead .custom-logo).
   O PNG é aparado (sem margem transparente), então a largura vira altura útil. */
#masthead .custom-logo { max-width: 175px !important; }

/* Cor de destaque em links de texto no hover.
   IMPORTANTE: exclui botões (.button, .mk-buy-btn, .checkout-button, .mk-*-btn)
   — senão este seletor (mais específico por causa dos :not()) vence as regras
   de botão e deixa o texto roxo sobre fundo roxo no hover (ilegível). */
a:not(.mk-hbtn):not(.mk-catcard):not(.product):not(.button):not(.mk-buy-btn):not(.checkout-button):not([class*="mk-"][class*="-btn"]):hover,
.nav-primary a:hover,
.primary_navigation_color a:hover { color: var(--mk-purple) !important; }

/* Preço em roxo (separado do hover de links acima) */
.woocommerce-Price-amount.amount { color: var(--mk-purple) !important; }

/* ── Paleta de botões (fix centralizado) ──────────────────────
   O tema pai (Avanam/Kidupia) estiliza TODOS os botões — WooCommerce,
   blocos Gutenberg, inputs submit — a partir destas 4 variáveis:
     --global-palette-btn / -btn-bg          (estado normal)
     --global-palette-btn-hover / -btn-bg-hover (hover)
   Havia uma paleta conflitante (amarela, texto #181818) sobrescrevendo
   a paleta Mukuca, então no hover o texto virava quase-preto sobre fundo
   escuro (ilegível). Em vez de corrigir botão a botão, fixamos aqui as
   variáveis de botão para o esquema Mukuca (texto branco / fundo roxo).
   O !important na custom property garante que vença qualquer ordem de
   carregamento. Isso conserta o texto no hover em todos os botões de uma vez. */
:root {
  --global-palette-btn:           #ffffff !important;
  --global-palette-btn-bg:        var(--mk-purple) !important;
  --global-palette-btn-hover:     #ffffff !important;
  --global-palette-btn-bg-hover:  var(--mk-purple-dark) !important;
}

/* WooCommerce main buttons — pill radius (cor herda da paleta acima) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background-color: var(--mk-purple) !important;
  border-color: var(--mk-purple) !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: var(--mk-radius-full);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: var(--mk-purple-dark) !important;
  border-color: var(--mk-purple-dark) !important;
  color: #fff !important;
}

/* Botão desabilitado (ex.: "Atualizar carrinho" antes de alterar a quantidade)
   — cinza neutro em vez do roxo sublinhado que o Avanam aplica por padrão */
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled {
  background-color: var(--mk-border) !important;
  border-color: var(--mk-border) !important;
  color: var(--mk-muted) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

/* Linha de ações do carrinho (cupom + atualizar) — botões lado a lado */
.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
  border-radius: var(--mk-radius-full);
  border: 1px solid var(--mk-border);
}
/* Produtos digitais são sold_individually (sempre qtd 1) — sem input de
   quantidade não há como o JS do WC habilitar este botão, então ele nunca
   sai do estado disabled. Escondido para não parecer quebrado. */
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
  display: none;
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — layout
═══════════════════════════════════════════════════════════ */
.mk-hpc {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* ── Hero — full-bleed ─────────────────────────────────── */
/*
 * Avanam sets #wrapper { overflow: clip } which blocks the 100vw trick.
 * We reset it to visible on the homepage only so the banner can extend
 * edge-to-edge. body { overflow-x: hidden } still prevents any scrollbar.
 */
.home #wrapper {
  overflow: visible !important;
}
.mk-hp-hero {
  padding: 0;
  line-height: 0;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.mk-hp-hero__img {
  display: block;
  width: 100%;
  height: auto;
}
.mk-hp-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.mk-hp-pill {
  display: inline-block;
  background: rgba(255,255,255,.15);
  color: #fff;
  font-family: var(--mk-font);
  font-size: 13px;
  font-weight: 600;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 18px;
}
.mk-hp-hero__h1 {
  font-family: var(--mk-font) !important;
  font-size: clamp(26px, 3.5vw, 42px) !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
}
.mk-hp-hero__h1 em { font-style: normal; color: var(--mk-yellow); }
.mk-hp-hero__sub {
  font-family: var(--mk-font);
  font-size: 16px;
  color: rgba(255,255,255,.88);
  line-height: 1.65;
  margin: 0 0 28px;
  max-width: 460px;
}
.mk-hp-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.mk-hp-trust {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--mk-font);
  font-size: 13px;
  color: rgba(255,255,255,.75);
}

.mk-hbtn {
  font-family: var(--mk-font);
  font-size: 15px;
  font-weight: 700;
  padding: 13px 26px;
  border-radius: 9999px;
  text-decoration: none;
  transition: all .15s;
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
}
.mk-hbtn--primary { background: var(--mk-yellow); color: var(--mk-dark); border: 2px solid var(--mk-yellow); }
.mk-hbtn--primary:hover { background: #fbbf24; border-color: #fbbf24; color: var(--mk-dark); }
.mk-hbtn--outline  { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.55); }
.mk-hbtn--outline:hover  { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }
.mk-hbtn--yellow   { background: var(--mk-yellow); color: var(--mk-dark); border: 2px solid var(--mk-yellow); }
.mk-hbtn--yellow:hover   { background: #fbbf24; border-color: #fbbf24; color: var(--mk-dark); }

/* Decorative floating cards */
.mk-hp-hero__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.mk-hcard {
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 16px;
  padding: 18px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-family: var(--mk-font);
  color: #fff;
  font-size: 28px;
  text-align: center;
}
.mk-hcard b { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.mk-hcard--1 { animation: mk-float 3.2s ease-in-out infinite; }
.mk-hcard--2 { animation: mk-float 3.2s ease-in-out .35s infinite; }
.mk-hcard--3 { animation: mk-float 3.2s ease-in-out .7s infinite; }
.mk-hcard--4 { animation: mk-float 3.2s ease-in-out 1.05s infinite; }
.mk-hcard--5 { animation: mk-float 3.2s ease-in-out 1.4s infinite; }
.mk-hcard--6 { animation: mk-float 3.2s ease-in-out 1.75s infinite; }
@keyframes mk-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

/* ── Stats bar ──────────────────────────────────────────── */
.mk-hp-stats {
  background: var(--mk-white);
  border-bottom: 1px solid var(--mk-border);
  padding: 22px 0;
}
.mk-hp-stats__row {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  text-align: center;
  font-family: var(--mk-font);
}
.mk-hp-stats__row div { display: flex; flex-direction: column; gap: 2px; }
.mk-hp-stats__row b   { font-size: 22px; font-weight: 900; color: var(--mk-purple); display: block; }
.mk-hp-stats__row span{ font-size: 12px; color: var(--mk-muted); font-weight: 500; }

/* ── Section header ─────────────────────────────────────── */
.mk-hp-sh { margin-bottom: 32px; }
.mk-hp-sh--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.mk-hp-sh--center { text-align: center; }
.mk-hp-sh h2, .mk-hp-sh > div h2 {
  font-family: var(--mk-font) !important;
  font-size: clamp(20px, 2.8vw, 30px) !important;
  font-weight: 900 !important;
  color: var(--mk-dark) !important;
  margin: 4px 0 0 !important;
}
.mk-hp-label {
  font-family: var(--mk-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mk-purple);
  display: block;
}
.mk-hp-more {
  font-family: var(--mk-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--mk-purple);
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 4px;
}
.mk-hp-more:hover { color: var(--mk-purple-dark); }

/* ── Categories ─────────────────────────────────────────── */
.mk-hp-cats { padding: 64px 0; background: var(--mk-surface); }
.mk-hp-cats__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.mk-catcard {
  background: var(--mk-white);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
  padding: 20px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  text-decoration: none;
  transition: all .18s;
  color: inherit;
}
.mk-catcard:hover {
  border-color: var(--mk-purple);
  box-shadow: 0 4px 20px rgba(124,58,237,.12);
  transform: translateY(-2px);
  color: inherit;
}
.mk-catcard__icon  { font-size: 30px; line-height: 1; }
.mk-catcard__name  { font-family: var(--mk-font); font-size: 12px; font-weight: 700; color: var(--mk-dark); }
.mk-catcard__count { font-family: var(--mk-font); font-size: 11px; color: var(--mk-muted); }

/* ── Featured products ──────────────────────────────────── */
.mk-hp-products { padding: 64px 0; }

/* ── Why Mukuca ─────────────────────────────────────────── */
.mk-hp-why { padding: 64px 0; background: var(--mk-surface); }
.mk-hp-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 8px;
}
.mk-why-item {
  background: var(--mk-white);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
  padding: 30px 22px;
  text-align: center;
}
.mk-why-item__ico { font-size: 34px; margin-bottom: 14px; }
.mk-why-item h3   { font-family: var(--mk-font); font-size: 16px; font-weight: 800; color: var(--mk-dark); margin: 0 0 10px; }
.mk-why-item p    { font-family: var(--mk-font); font-size: 14px; color: var(--mk-muted); line-height: 1.6; margin: 0; }

/* ── Subscription CTA ───────────────────────────────────── */
.mk-hp-sub { padding: 64px 0; }
.mk-hp-sub__card {
  background: linear-gradient(135deg, var(--mk-purple), #9F67FA);
  border-radius: var(--mk-radius);
  padding: 48px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  overflow: hidden;
  position: relative;
}
.mk-hp-sub__text { position: relative; z-index: 1; }
.mk-hp-sub__tag {
  display: inline-block;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-family: var(--mk-font);
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.mk-hp-sub__card h2 {
  font-family: var(--mk-font) !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #fff !important;
  margin: 0 0 12px !important;
}
.mk-hp-sub__text > p {
  font-family: var(--mk-font);
  color: rgba(255,255,255,.88);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 8px;
  max-width: 500px;
}
.mk-hp-sub__text > p strong { color: #fff; }
.mk-hp-sub__price { font-size: 17px !important; }
.mk-hp-sub__price strong { font-size: 20px; color: var(--mk-yellow) !important; }
.mk-hp-sub__price small   { font-size: 14px; opacity: .85; }
.mk-hp-sub__card .mk-hbtn--yellow { margin-top: 22px; }
.mk-hp-sub__art {
  font-size: 34px;
  letter-spacing: 6px;
  opacity: .35;
  position: absolute;
  right: 32px;
  writing-mode: vertical-lr;
  line-height: 1;
  user-select: none;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  .mk-hp-cats__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .mk-hp-hero__inner  { grid-template-columns: 1fr; }
  .mk-hp-hero__cards  { display: none; }
  .mk-hp-why__grid    { grid-template-columns: 1fr; }
  .mk-hp-sub__card    { flex-direction: column; padding: 36px 24px; }
  .mk-hp-sub__art     { display: none; }
  .mk-hp-sh--split    { flex-direction: column; align-items: flex-start; }
  .mk-hpc             { padding: 0 16px; }
}
@media (max-width: 480px) {
  .mk-hp-cats__grid { grid-template-columns: repeat(2, 1fr); }
  .mk-hp-hero       { padding: 48px 0 40px; }
  .mk-hp-hero__h1   { font-size: 26px !important; }
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — sidebar layout
═══════════════════════════════════════════════════════════ */
.mk-hp-layout {
  display: flex;
  align-items: flex-start;
  padding: 32px 0 48px;
  gap: 0;
}

.mk-hp-sidebar {
  width: 220px;
  min-width: 220px;
  background: var(--mk-white);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
  padding: 16px 0;
  position: sticky;
  top: 88px;
  margin-right: 24px;
  flex-shrink: 0;
}

.mk-hp-sidebar__title {
  font-family: var(--mk-font);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--mk-purple);
  padding: 0 16px 10px;
  display: block;
}

.mk-hp-sidebar__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  font-family: var(--mk-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--mk-body);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background .15s, border-color .15s, color .15s;
}

.mk-hp-sidebar__item:hover,
.mk-hp-sidebar__item--active {
  background: var(--mk-surface);
  color: var(--mk-purple);
  border-left-color: var(--mk-purple);
  text-decoration: none;
}

.mk-hp-sidebar__item--active {
  font-weight: 700;
}

.mk-hp-sidebar__item--all {
  font-weight: 700;
  border-bottom: 1px solid var(--mk-border);
  margin-bottom: 4px;
  padding-bottom: 13px;
}

.mk-hp-sidebar__count {
  margin-left: auto;
  font-size: 11px;
  color: var(--mk-muted);
  font-weight: 500;
}

.mk-hp-main {
  flex: 1;
  min-width: 0;
}

.mk-hp-breadcrumb {
  font-family: var(--mk-font);
  font-size: 12px;
  color: var(--mk-muted);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.mk-hp-breadcrumb a {
  color: var(--mk-muted);
  text-decoration: none;
  transition: color .15s;
}

.mk-hp-breadcrumb a:hover { color: var(--mk-purple); }

.mk-hp-breadcrumb__sep { color: var(--mk-border); }

@media (max-width: 768px) {
  .mk-hp-sidebar { display: none; }
  .mk-hp-layout  { padding: 16px 0 32px; }
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — Club card (primeiro card da grade)
═══════════════════════════════════════════════════════════ */
.mk-club-card {
  background: linear-gradient(160deg, #5B21B6 0%, #7C3AED 50%, #9F67FA 100%) !important;
  border-radius: var(--mk-radius) !important;
  border: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}

.mk-club-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 24px 24px;
  position: relative;
  overflow: hidden;
}

.mk-club-card__deco {
  position: absolute;
  top: -10px;
  right: -8px;
  font-size: 36px;
  letter-spacing: 4px;
  writing-mode: vertical-lr;
  opacity: .18;
  user-select: none;
  line-height: 1;
}

.mk-club-card__badge {
  display: inline-block;
  background: rgba(255,255,255,.2);
  color: #fff;
  font-family: var(--mk-font);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 16px;
  width: fit-content;
}

.mk-club-card__title {
  font-family: var(--mk-font) !important;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 900;
  color: var(--mk-yellow);
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: -.5px;
  margin-bottom: 12px;
}

.mk-club-card__sub {
  font-family: var(--mk-font);
  font-size: 13px;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
  margin-bottom: 20px;
  max-width: 200px;
}

.mk-club-card__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 16px;
}

.mk-club-card__amount {
  font-family: var(--mk-font);
  font-size: 28px;
  font-weight: 900;
  color: #fff;
}

.mk-club-card__per {
  font-family: var(--mk-font);
  font-size: 13px;
  color: rgba(255,255,255,.65);
}

.mk-club-card__perks {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 24px;
  font-family: var(--mk-font);
  font-size: 12px;
  color: rgba(255,255,255,.85);
}

.mk-club-card__cta {
  display: block !important;
  background: var(--mk-yellow) !important;
  color: var(--mk-dark) !important;
  font-family: var(--mk-font) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: center !important;
  padding: 13px !important;
  border-radius: var(--mk-radius-full) !important;
  text-decoration: none !important;
  transition: background .15s !important;
  margin-top: auto !important;
}

.mk-club-card__cta:hover {
  background: #fbbf24 !important;
  color: var(--mk-dark) !important;
}

/* Dropdown de ordenação */
.mk-orderby-form { display: flex; align-items: center; }
.mk-orderby-select {
  font-family: var(--mk-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--mk-dark);
  background: var(--mk-white);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius-sm);
  padding: 7px 32px 7px 12px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%236B7280' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  cursor: pointer;
  transition: border-color .15s;
}
.mk-orderby-select:focus { outline: none; border-color: var(--mk-purple); }

/* Botão carregar mais */
.mk-load-more-btn {
  font-family: var(--mk-font);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mk-dark);
  background: var(--mk-white);
  border: 2px solid var(--mk-dark);
  border-radius: var(--mk-radius-sm);
  padding: 14px 40px;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.mk-load-more-btn:hover:not(:disabled) {
  background: var(--mk-dark);
  color: var(--mk-white);
}
.mk-load-more-btn:disabled {
  opacity: .5;
  cursor: default;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER — light, professional
═══════════════════════════════════════════════════════════ */
.mk-footer {
  background: var(--mk-white);
  border-top: 1px solid var(--mk-border);
  font-family: var(--mk-font);
}

.mk-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 24px 36px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 40px;
}

/* Col brand */
.mk-footer__logo-link { text-decoration: none !important; display: block; margin-bottom: 12px; }
.mk-footer__logo-img { height: 46px; width: auto; display: block; }
.mk-footer__logo-text { color: var(--mk-dark); font-size: 18px; font-weight: 900; display: block; }
.mk-footer__tagline { font-size: 13px; line-height: 1.6; margin-bottom: 18px; color: var(--mk-muted); max-width: 210px; }

.mk-footer__contact { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.mk-footer__contact-link {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--mk-muted); text-decoration: none;
  transition: color .15s;
}
.mk-footer__contact-link:hover { color: var(--mk-purple); }

.mk-footer__social { display: flex; gap: 8px; }
.mk-footer__social a {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border: 1px solid var(--mk-border);
  border-radius: 50%;
  color: var(--mk-muted);
  transition: border-color .15s, color .15s;
}
.mk-footer__social a:hover { border-color: var(--mk-purple); color: var(--mk-purple); }

/* Headings */
.mk-footer__heading {
  font-family: var(--mk-font) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--mk-dark) !important;
  margin: 0 0 14px !important;
}

/* Links */
.mk-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.mk-footer__links li { font-size: 13px; color: var(--mk-muted); }
.mk-footer__links a { font-size: 13px; color: var(--mk-muted); text-decoration: none; transition: color .15s; }
.mk-footer__links a:hover { color: var(--mk-purple); }

/* Payment */
.mk-footer__processor {
  font-size: 12px; color: var(--mk-muted); margin: 14px 0 10px;
}
.mk-footer__processor strong { color: var(--mk-dark); font-weight: 700; }
.mk-footer__secure {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; color: var(--mk-muted); margin: 0;
}
.mk-footer__secure svg { color: var(--mk-purple); flex-shrink: 0; }

/* Bottom bar */
.mk-footer__bottom { border-top: 1px solid var(--mk-border); background: var(--mk-surface); }
.mk-footer__bottom-inner {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 12px !important;
  color: var(--mk-muted) !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* Footer responsive */
@media (max-width: 1024px) {
  .mk-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .mk-footer__inner { grid-template-columns: 1fr; padding: 36px 16px 24px; }
  .mk-footer__bottom-inner { justify-content: center !important; text-align: center !important; }
}


.mk-buy-btn--external {
  background: var(--mk-purple) !important;
  color: var(--mk-white) !important;
  border-color: var(--mk-purple) !important;
  font-weight: 800 !important;
}
.mk-buy-btn--external:hover {
  background: var(--mk-purple-dark) !important;
  border-color: var(--mk-purple-dark) !important;
  color: var(--mk-white) !important;
}

/* ═══════════════════════════════════════════════════════════
   PÁGINAS INSTITUCIONAIS — termos, privacidade, reembolso
═══════════════════════════════════════════════════════════ */
.mk-legal-content {
  max-width: 760px;
  font-family: var(--mk-font);
  color: var(--mk-body);
  line-height: 1.8;
}
.mk-legal-content h2 {
  font-size: 26px;
  font-weight: 800;
  color: var(--mk-dark);
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 3px solid var(--mk-purple);
}
.mk-legal-content h3 {
  font-size: 13px;
  font-weight: 800;
  color: var(--mk-dark);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 36px 0 10px;
}
.mk-legal-content p {
  font-size: 15px;
  margin: 0 0 18px;
}
.mk-legal-content ul {
  margin: 0 0 18px;
  padding-left: 22px;
}
.mk-legal-content ul li {
  font-size: 15px;
  margin-bottom: 10px;
  line-height: 1.7;
}
.mk-legal-content a {
  color: var(--mk-purple);
  text-decoration: underline;
}
.mk-legal-content a:hover { color: var(--mk-purple-dark); }
.mk-legal-content em {
  font-style: normal;
  font-size: 13px;
  color: var(--mk-muted);
  display: block;
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid var(--mk-border);
}

/* ═══════════════════════════════════════════════════════════
   Fluent Forms — brand overrides (mobile-first)
═══════════════════════════════════════════════════════════ */
.fluentform {
  max-width: 600px;
}

.fluentform .ff-el-group {
  margin-bottom: 1.25rem;
}

.fluentform .ff-el-input--label label {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mk-dark);
  margin-bottom: 6px;
}

.fluentform .ff-el-form-control {
  display: block;
  width: 100%;
  font-size: 16px; /* prevents iOS zoom on mobile */
  font-family: var(--mk-font);
  color: var(--mk-dark);
  background: #fff;
  border: 1.5px solid var(--mk-border);
  border-radius: var(--mk-radius-sm);
  padding: 12px 14px;
  box-sizing: border-box;
  transition: border-color 0.15s;
  -webkit-appearance: none;
}

.fluentform .ff-el-form-control:focus {
  outline: none;
  border-color: var(--mk-purple);
  box-shadow: 0 0 0 3px rgba(124,58,237,.12);
}

.fluentform textarea.ff-el-form-control {
  min-height: 140px;
  resize: vertical;
}

/* submit button */
.fluentform .ff-btn-submit {
  display: inline-block;
  background: var(--mk-purple);
  color: #fff;
  font-family: var(--mk-font);
  font-size: 1rem;
  font-weight: 700;
  border: none;
  border-radius: var(--mk-radius-full);
  padding: 14px 36px;
  cursor: pointer;
  min-height: 48px;
  transition: background 0.15s;
  -webkit-appearance: none;
}

.fluentform .ff-btn-submit:hover {
  background: var(--mk-purple-dark);
}

/* validation errors */
.fluentform .error,
.fluentform .ff-el-is-error .error {
  font-size: 0.8rem;
  color: #DC2626;
  margin-top: 4px;
  display: block;
}

.fluentform .ff-el-is-error .ff-el-form-control {
  border-color: #DC2626;
}

/* response messages */
.fluentform .ff-message-success {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: var(--mk-radius-sm);
  background: #ECFDF5;
  color: #065F46;
  font-size: 0.9rem;
}

.fluentform .ff-message-failed,
.fluentform .ff-errors-html {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: var(--mk-radius-sm);
  background: #FEF2F2;
  color: #991B1B;
  font-size: 0.9rem;
}

@media (max-width: 480px) {
  .fluentform .ff-btn-submit {
    width: 100%;
    text-align: center;
  }
}

/* ═══════════════════════════════════════════════════════════
   Minha Conta — layout, formulários e autenticação
═══════════════════════════════════════════════════════════ */

/* Login e cadastro (não logado): centraliza e limita largura */
.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* Esqueci/redefinir senha: card estreito e centralizado (em vez do form largo padrão) */
.woocommerce-lost-password.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 420px;
  padding: 32px 28px;
  background: var(--mk-white);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
}

/* E-mail de redefinição enviado: substitui o ícone quebrado da fonte
   WooCommerce por um selo de sucesso em SVG e centraliza o texto */
.woocommerce-lost-password .woocommerce-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 8px 8px 4px;
  margin: 0 0 16px;
  background: none;
  border: none;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  color: var(--mk-dark);
}
.woocommerce-lost-password .woocommerce-message::before {
  content: '';
  display: block;
  position: static;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #D1FAE5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4L19 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  font-family: inherit;
}
.woocommerce-lost-password .woocommerce-message ~ p {
  font-size: 14px;
  color: var(--mk-muted);
  text-align: center;
  line-height: 1.6;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   AVISOS DO WOOCOMMERCE — erro / info (checkout, login, conta...)
   Substitui a caixa cinza crua com borda lateral por um card com
   ícone, usado em qualquer lugar que o WooCommerce imprime notices.
═══════════════════════════════════════════════════════════ */
.woocommerce-error,
.woocommerce-info {
  position: relative;
  background: var(--mk-white) !important;
  border: 1px solid !important;
  border-radius: var(--mk-radius) !important;
  padding: 16px 18px 16px 48px !important;
  font-size: 14px;
  line-height: 1.5;
}
.woocommerce-error {
  border-color: #FECACA !important;
  background: #FEF2F2 !important;
  color: #991B1B;
}
.woocommerce-info {
  border-color: #BFDBFE !important;
  background: #EFF6FF !important;
  color: #1E40AF;
}
.woocommerce-error::before,
.woocommerce-info::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 16px;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-family: inherit;
}
.woocommerce-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}
.woocommerce-info::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}
.woocommerce-error li,
.woocommerce-info li {
  color: inherit;
}
.woocommerce-error li:not(:last-child) {
  margin-bottom: 6px;
}
.woocommerce-error a,
.woocommerce-info a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}

/* Redefinir senha: empilha os campos em vez de colocar lado a lado */
.woocommerce-ResetPassword .woocommerce-form-row,
.woocommerce form.woocommerce-ResetPassword p,
.lost_reset_password .form-row {
  float: none !important;
  width: 100% !important;
  clear: both;
}

.lost_reset_password .woocommerce-Button,
.woocommerce-ResetPassword .woocommerce-Button {
  background: var(--mk-purple);
  border-radius: var(--mk-radius-full);
  padding: 12px 28px;
  font-weight: 700;
}

.lost_reset_password .woocommerce-Button:hover,
.woocommerce-ResetPassword .woocommerce-Button:hover {
  background: var(--mk-purple-dark);
}

/* Avatar da Minha Conta: esconde o img quebrado do Gravatar, mostra ícone via CSS */
.base-account-avatar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  margin-bottom: 8px;
}
.base-account-avatar .base-customer-image {
  flex-shrink: 0;
}
.base-account-avatar .base-customer-image a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--mk-purple);
  overflow: hidden;
  position: relative;
  pointer-events: none;
}
.base-account-avatar .base-customer-image img {
  display: none;
}
.base-account-avatar .base-customer-image a::after {
  content: '';
  display: block;
  width: 26px;
  height: 26px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v1h20v-1c0-3.33-6.67-5-10-5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.base-account-avatar .base-customer-name {
  font-weight: 700;
  font-size: 14px;
  color: var(--mk-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Nav lateral — largura fixa para não quebrar o texto */
.woocommerce-account .woocommerce-MyAccount-navigation {
  min-width: 160px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 10px 14px;
  border-radius: var(--mk-radius-sm);
  color: var(--mk-body);
  font-weight: 600;
  white-space: nowrap;
  transition: background .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--mk-purple);
  color: #fff;
}

/* Separa nav e conteúdo com espaço */
.woocommerce-account .woocommerce-MyAccount-content {
  padding-left: 24px;
}

/* ═══════════════════════════════════════════════════════════
   MINHA CONTA — dashboard (boas-vindas + cards de acesso rápido)
═══════════════════════════════════════════════════════════ */
.mk-dashboard-welcome {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  margin-bottom: 20px;
  background: var(--mk-surface);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
}
.mk-dashboard-welcome-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--mk-purple);
}
.mk-dashboard-welcome-icon::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 13c0 4 2.5 6 4 6s4-2 4-6'/%3E%3Cpath d='M9 9v1'/%3E%3Cpath d='M15 9v1'/%3E%3Cpath d='M12 3c4 0 7 2.5 7 7 0 1-1 2-1 2H6s-1-1-1-2c0-4.5 3-7 7-7z'/%3E%3C/svg%3E") center/26px no-repeat;
}
.mk-dashboard-welcome h2 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 800;
  color: var(--mk-dark);
}
.mk-dashboard-welcome p {
  margin: 0;
  font-size: 14px;
  color: var(--mk-muted);
}
.mk-dashboard-logout {
  flex-shrink: 0;
  margin-left: auto;
  padding: 8px 16px;
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius-full);
  font-size: 13px;
  font-weight: 700;
  color: var(--mk-body);
  white-space: nowrap;
}
.mk-dashboard-logout:hover {
  background: var(--mk-white);
  border-color: var(--mk-purple);
  color: var(--mk-purple);
}

.mk-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
}
.mk-dashboard-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 18px;
  background: var(--mk-white);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
  text-decoration: none;
  transition: box-shadow .15s, border-color .15s, transform .15s;
}
.mk-dashboard-card:hover {
  border-color: var(--mk-purple);
  box-shadow: 0 4px 14px rgba(124, 58, 237, .12);
  transform: translateY(-2px);
}
.mk-dashboard-card-icon {
  width: 34px;
  height: 34px;
  margin-bottom: 8px;
  border-radius: var(--mk-radius-sm);
  background-color: #EDE9FE;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
}
.mk-dashboard-card-icon--orders {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}
.mk-dashboard-card-icon--downloads {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
}
.mk-dashboard-card-icon--account {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.5-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
}
.mk-dashboard-card-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--mk-dark);
}
.mk-dashboard-card-desc {
  font-size: 13px;
  color: var(--mk-muted);
  line-height: 1.4;
}

@media (max-width: 480px) {
  .mk-dashboard-welcome {
    flex-wrap: wrap;
  }
  .mk-dashboard-logout {
    margin-left: 0;
  }
}

/* ═══════════════════════════════════════════════════════════
   Página de confirmação de pedido (thank you)
═══════════════════════════════════════════════════════════ */

/* Banner de sucesso */
.mk-thankyou-banner {
  text-align: center;
  padding: 40px 24px 32px;
  margin-bottom: 32px;
}
.mk-thankyou-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #D1FAE5;
  color: #059669;
  margin-bottom: 16px;
}
.mk-thankyou-icon svg {
  width: 32px;
  height: 32px;
}
.mk-thankyou-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--mk-dark);
  margin: 0 0 8px;
}
.mk-thankyou-sub {
  font-size: 16px;
  color: var(--mk-muted);
  margin: 0 0 24px;
}
.mk-thankyou-btn {
  display: inline-block;
  padding: 12px 28px;
  background: var(--mk-purple);
  color: #fff !important;
  border-radius: var(--mk-radius-full);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none !important;
  transition: background .15s;
}
.mk-thankyou-btn:hover {
  background: var(--mk-purple-dark);
}

/* Oculta o "Obrigado. Seu pedido foi recebido." padrão do WC */
.woocommerce-thankyou-order-received {
  display: none !important;
}

/* Resumo do pedido (número, data, e-mail, total, método) — card limpo */
.woocommerce-thankyou-order-details {
  border: 1px solid var(--mk-border) !important;
  border-radius: var(--mk-radius) !important;
  background: var(--mk-surface) !important;
  padding: 0 !important;
  overflow: hidden;
  margin-bottom: 32px !important;
  display: flex !important;
  flex-wrap: wrap;
}
.woocommerce-thankyou-order-details li {
  flex: 1 1 160px;
  list-style: none !important;
  padding: 16px 20px !important;
  border-right: 1px solid var(--mk-border);
  border-bottom: none !important;
  margin: 0 !important;
}
.woocommerce-thankyou-order-details li:last-child {
  border-right: none;
}
.woocommerce-thankyou-order-details li strong {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--mk-muted);
  margin-bottom: 4px;
}

/* Tabela de detalhes do pedido */
.woocommerce-order-details {
  margin-bottom: 24px;
}
.woocommerce-order-details h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}
.woocommerce-table--order-details {
  border: 1px solid var(--mk-border) !important;
  border-radius: var(--mk-radius) !important;
  overflow: hidden;
}
.woocommerce-table--order-details thead th {
  background: var(--mk-surface) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: var(--mk-muted) !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--mk-border) !important;
}
.woocommerce-table--order-details tbody td,
.woocommerce-table--order-details tfoot td,
.woocommerce-table--order-details tfoot th {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--mk-border) !important;
  font-size: 14px !important;
}
.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child th {
  border-bottom: none !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

/* ═══════════════════════════════════════════════════════════
   404 — página não encontrada (pt-BR, marca Mukuca)
═══════════════════════════════════════════════════════════ */
.mk-404 { display: flex; justify-content: center; padding: 72px 24px 88px; }
.mk-404__inner { width: 100%; max-width: 560px; text-align: center; }
.mk-404__badge {
  display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .04em;
  color: var(--mk-purple); background: var(--mk-surface);
  padding: 6px 14px; border-radius: var(--mk-radius-full); margin-bottom: 20px;
}
.mk-404__title { font-size: 32px; font-weight: 800; color: var(--mk-dark); margin: 0 0 12px; line-height: 1.2; }
.mk-404__lead { font-size: 16px; line-height: 1.6; color: var(--mk-muted); margin: 0 auto 28px; max-width: 460px; }
.mk-404__search { display: flex; gap: 8px; margin: 0 auto 16px; max-width: 460px; }
.mk-404__search-input {
  flex: 1; height: 48px; padding: 0 16px; font-size: 15px;
  border: 1px solid var(--mk-border); border-radius: var(--mk-radius);
  background: var(--mk-white); color: var(--mk-dark);
}
.mk-404__search-input:focus-visible { outline: 2px solid var(--mk-purple); outline-offset: 1px; border-color: var(--mk-purple); }
.mk-404__search-btn {
  height: 48px; padding: 0 22px; font-size: 15px; font-weight: 700; cursor: pointer;
  color: var(--mk-white); background: var(--mk-purple); border: none; border-radius: var(--mk-radius);
  transition: background .15s ease;
}
.mk-404__search-btn:hover { background: var(--mk-purple-dark); }
.mk-404__cta {
  display: inline-block; margin-bottom: 40px; font-size: 15px; font-weight: 600;
  color: var(--mk-purple); text-decoration: none;
}
.mk-404__cta:hover { text-decoration: underline; }
.mk-404__cats-label { display: block; font-size: 13px; color: var(--mk-muted); margin-bottom: 12px; }
.mk-404__cats-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.mk-404__chip {
  font-size: 14px; color: var(--mk-dark); text-decoration: none;
  padding: 8px 14px; border: 1px solid var(--mk-border); border-radius: var(--mk-radius-full);
  background: var(--mk-white); transition: border-color .15s ease, color .15s ease;
}
.mk-404__chip:hover { border-color: var(--mk-purple); color: var(--mk-purple); }
@media (max-width: 560px) {
  .mk-404 { padding: 48px 20px 64px; }
  .mk-404__title { font-size: 26px; }
  .mk-404__search { flex-direction: column; }
  .mk-404__search-btn { height: 46px; }
}

/* ═══════════════════════════════════════════════════════════
   CASE DE FRASE NOS CTAs
   O tema (Avanam) força caixa-alta em botões (.button), o que soa "gritado"
   e menos premium. Padronizamos TODOS os CTAs em case de frase. Eyebrows,
   tags de categoria e títulos de seção seguem em maiúsculas de propósito
   (micro-labels com tracking = padrão premium), então não entram aqui.
═══════════════════════════════════════════════════════════ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce .wc-proceed-to-checkout .button,
.woocommerce-form-login button,
.woocommerce-form-register button,
.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button,
.mk-buy-btn,
.mk-club-card__cta,
.mk-load-more-btn,
.mk-404__search-btn,
.ff-btn-submit,
.frm-fluent-form button[type="submit"],
.fluentform .ff-btn,
.woocommerce-mini-cart__buttons .button {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   MINI-CARRINHO (drawer) — hierarquia de CTA
   Antes: dois botões roxos de peso igual competindo. Agora: "Finalizar compra"
   é o primário (cheio, no topo) e "Ver carrinho" é secundário (ghost). Reduz a
   indecisão e aponta o caminho da conversão.
═══════════════════════════════════════════════════════════ */
.woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.woocommerce-mini-cart__buttons .button {
  width: 100% !important; text-align: center !important; margin: 0 !important; float: none !important;
}
.woocommerce-mini-cart__buttons .button.checkout { order: -1; }        /* primário no topo */
.woocommerce-mini-cart__buttons .button:not(.checkout) {               /* secundário: ghost */
  background: transparent !important;
  color: var(--mk-purple) !important;
  border: 1.5px solid var(--mk-border) !important;
}
.woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.woocommerce-mini-cart__buttons .button:not(.checkout):focus {
  border-color: var(--mk-purple) !important;
  background: var(--mk-surface) !important;
  color: var(--mk-purple) !important; /* o tema força branco no hover → ilegível no ghost */
}

/* ═══════════════════════════════════════════════════════════
   P2 — polimento de catálogo e carrinho
═══════════════════════════════════════════════════════════ */
/* Busca/arquivo: remove o alternador grade/lista (clutter sem valor real aqui) */
.base-product-toggle-container,
.base-product-toggle-outer { display: none !important; }

/* Carrinho: produtos digitais têm quantidade sempre = 1. A coluna "Quantidade"
   ficava vazia (parecia inacabada). Removemos a coluna inteira → menos ruído. */
.woocommerce table.cart td.product-quantity,
.woocommerce table.cart th.product-quantity,
.woocommerce-cart table.shop_table td.product-quantity,
.woocommerce-cart table.shop_table th.product-quantity { display: none !important; }

/* Header: o dropdown de categoria da busca truncava ("Todas as catego…").
   A largura fica no .search-select (167px + ellipsis, no CSS do plugin). Ampliamos
   para caber "Todas as categorias" (mesma especificidade do plugin + !important). */
@media (min-width: 768px) {
  .header-search-advanced form.search-form .search-category-field .search-select {
    width: 200px !important;
    text-overflow: clip !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE — header enxuto + descoberta de categorias
═══════════════════════════════════════════════════════════ */
@media (max-width: 992px) {
  /* Logo menor no header mobile pra caber logo + ícones em uma linha */
  #masthead .custom-logo { max-width: 124px !important; }
  /* Só ícones: os rótulos "Entrar/Conta/Meu Carrinho" quebravam linha */
  .header-cart-label,
  .header-account-title,
  .header-account-label { display: none !important; }
}

/* Chips de categoria (mobile) — a sidebar de categorias some no mobile,
   então trazemos as categorias como chips roláveis no topo do catálogo. */
.mk-cat-chips { display: none; }
@media (max-width: 992px) {
  .mk-cat-chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 2px 0 14px;
    margin: 0 -16px 4px;      /* sangra até as bordas pra rolar edge-to-edge */
    padding-left: 16px;
    padding-right: 16px;
  }
  .mk-cat-chips::-webkit-scrollbar { display: none; }
  .mk-cat-chip {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 14px;
    text-decoration: none;
    padding: 8px 14px;
    border-radius: var(--mk-radius-full);
    border: 1px solid var(--mk-border);
    background: var(--mk-white);
    color: var(--mk-dark);
  }
  .mk-cat-chip--active {
    background: var(--mk-purple);
    border-color: var(--mk-purple);
    color: #fff;
  }
}

/* ═══════════════════════════════════════════════════════════
   CONTATO — grid 2 colunas (form + painel de apoio)
═══════════════════════════════════════════════════════════ */
.mk-contato-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: start; }
.mk-contato-info {
  background: var(--mk-surface);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);
  padding: 24px;
}
.mk-contato-info__title { font-size: 18px; font-weight: 800; color: var(--mk-dark); margin: 0 0 18px; }
.mk-contato-info__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.mk-contato-info__list li { display: flex; gap: 12px; font-size: 14px; line-height: 1.5; color: var(--mk-muted); }
.mk-contato-info__list strong { color: var(--mk-dark); }
.mk-contato-info__list a { color: var(--mk-purple); text-decoration: none; }
.mk-contato-info__list a:hover { text-decoration: underline; }
.mk-contato-info__ico { font-size: 18px; flex: 0 0 auto; line-height: 1.4; }
.mk-contato-info__note {
  margin-top: 20px; padding-top: 16px;
  border-top: 1px solid var(--mk-border);
  font-size: 13px; line-height: 1.5; color: var(--mk-muted);
}
@media (max-width: 860px) {
  .mk-contato-grid { grid-template-columns: 1fr; gap: 24px; }
}
