/*
 Theme Name:   WTTC Child
 Theme URI:    https://worldtoptrainers.com
 Description:  Child theme para alinhar visual da loja com o novo site WTTC 2026.
 Author:       WTTC Dev
 Template:     storefront
 Version:      0.3.7
 Text Domain:  wttc-child
*/

:root {
  --wttc-bg: #0a0a0a;
  --wttc-fg: #f2f2f2;
  --wttc-gold: #d4af37;
  --wttc-card-bg: #1a1a1a;
  --wttc-border: #333333;
  --wttc-muted: #b8b8b8;
  --wttc-font-display: "Cinzel", serif;
  --wttc-font-body: "Montserrat", sans-serif;
}

body,
.woocommerce-page {
  background: var(--wttc-bg);
  color: var(--wttc-fg);
  font-family: var(--wttc-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.woocommerce-loop-product__title,
.product_title {
  font-family: var(--wttc-font-display);
  color: var(--wttc-fg);
  letter-spacing: 0.02em;
}

a,
a:visited {
  color: var(--wttc-gold);
}

a:hover,
a:focus {
  color: #f0cf68;
  outline: none;
}

a:focus-visible {
  outline: 2px solid var(--wttc-gold);
  outline-offset: 2px;
}

*:focus {
  outline: none;
}

*:focus-visible {
  outline: 2px solid var(--wttc-gold);
  outline-offset: 2px;
}

button,
.button,
input[type="submit"],
.woocommerce button.button,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
  background: var(--wttc-gold);
  border: 1px solid var(--wttc-gold);
  border-radius: 0;
  color: #0f0f0f;
  font-family: var(--wttc-font-body);
  font-weight: 600;
  text-transform: uppercase;
}

button:hover,
.button:hover,
input[type="submit"]:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
  background: #f0cf68;
  border-color: #f0cf68;
  color: #0f0f0f;
}

.site,
.site-header,
.site-footer,
.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #customer_details {
  background: var(--wttc-card-bg);
  border: 1px solid var(--wttc-border);
}

.col-full {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

.site-header,
.site-footer {
  padding: 1rem;
}

.woocommerce ul.products li.product {
  padding: 1rem;
}

.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--wttc-gold);
  font-weight: 700;
}

.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: #111111;
  border: 1px solid var(--wttc-border);
  border-radius: 0;
  color: var(--wttc-fg);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: #111111;
  border-left: 3px solid var(--wttc-gold);
  color: var(--wttc-fg);
}

@media (max-width: 768px) {

  .site-header,
  .site-footer,
  .woocommerce ul.products li.product,
  .woocommerce div.product {
    padding: 0.75rem;
  }
}

@media (min-width: 640px) {
  .col-full {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .col-full {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* ============================================================
   WOOCOMMERCE LAYOUT: FULL-WIDTH + GRID CENTRALIZADO
   ============================================================ */

.woocommerce-page .content-area,
.woocommerce-page #primary,
.woocommerce-page .site-main,
.woocommerce-page.full-width-content .content-area {
  width: 100% !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.woocommerce-page #secondary,
.woocommerce-page .widget-area {
  display: none !important;
}

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 320px));
  justify-content: center;
  gap: 2rem;
  width: 100%;
  margin: 2rem auto 0 !important;
}

.post-type-archive-product ul.products::before,
.post-type-archive-product ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after,
.tax-product_tag ul.products::before,
.tax-product_tag ul.products::after {
  display: none !important;
  content: none !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* ============================================================
   FASE 3 — CORREÇÕES DE LAYOUT (2026-04-06)
   P2 | P3 | P4 | P5 | P7 | P8 | P10
   ============================================================ */

/* P2 — Sticky "Adicionar ao Carrinho" com fundo branco */
.storefront-sticky-add-to-cart {
  background: var(--wttc-card-bg) !important;
  border-top: 1px solid var(--wttc-gold);
  color: var(--wttc-fg);
}

.storefront-sticky-add-to-cart__content-title,
.storefront-sticky-add-to-cart__content-price {
  color: var(--wttc-fg);
}

/* P3 — Paginação lateral de produto sobrepondo conteúdo */
/* !important necessário: Storefront tem @media(min-width:768px){ display:block } que sobrescreve sem !important */
.storefront-product-pagination {
  display: none !important;
}

/* P4 — Dropdown "Ordenação padrão" sem tema escuro */
.woocommerce-ordering select {
  background: #111111;
  border: 1px solid var(--wttc-border);
  color: var(--wttc-fg);
  border-radius: 0;
}

/* P5 — Widget Currency Switcher no footer com fundo claro */
/* .dd-select usa inline style injetado por JS — precisa de !important */
.widget.widget_woocommerce-currency-switcher-form-widget,
.footer-widget .wccs-currency-switcher,
.woocs_selector .select2-container,
.woocs_selector select,
.woocs_selector .select2-selection {
  background: var(--wttc-card-bg) !important;
  border: 1px solid var(--wttc-border) !important;
  color: var(--wttc-fg) !important;
}

.woocs_selector .select2-selection__rendered {
  color: var(--wttc-fg) !important;
}

.woocs_selector .select2-selection__arrow b {
  border-color: var(--wttc-fg) transparent transparent transparent !important;
}

.dd-container .dd-select,
.dd-container {
  background: var(--wttc-card-bg) !important;
  border: 1px solid var(--wttc-border) !important;
}

.dd-container .dd-selected-text,
.dd-container .dd-selected {
  color: var(--wttc-fg) !important;
}

.dd-container .dd-options {
  background: var(--wttc-card-bg) !important;
  border: 1px solid var(--wttc-border) !important;
}

.dd-container .dd-option:hover,
.dd-container .dd-option-selected {
  background: #222 !important;
  color: var(--wttc-gold) !important;
}

/* P7 — Ícones de share com cores de marca externas */
.storefront-product-sharing a {
  color: var(--wttc-muted) !important;
}

.storefront-product-sharing a:hover {
  color: var(--wttc-gold) !important;
}

.storefront-product-sharing .icon {
  fill: currentColor;
}

/* P8 — Paginação da listagem de produtos sem estilo */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: #111111;
  border-color: var(--wttc-border);
  color: var(--wttc-fg);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--wttc-gold);
  color: #0f0f0f;
}

/* P10 — Campo de busca no header com possível fundo claro */
.site-header .widget_product_search input[type="search"] {
  background: #111111;
  border: 1px solid var(--wttc-border);
  color: var(--wttc-fg);
  border-radius: 0;
}

.site-header .widget_product_search input[type="search"]::placeholder {
  color: var(--wttc-muted);
}

/* ============================================================
   FASE 3 — COMPARATIVO SITE NOVO (2026-04-06)
   Aproximar visual do header e footer com /wttc-new/
   ============================================================ */

/* --- HEADER --- */

/* Sticky header like /wttc-new/ */
.site-header {
  background: var(--wttc-bg) !important;
  border: none !important;
  border-bottom: 1px solid var(--wttc-border) !important;
  position: sticky !important;
  top: 0;
  z-index: 999;
}

.site-header>.col-full,
.storefront-primary-navigation>.col-full {
  overflow: visible !important;
}

/* Substituir texto do título pelo logo circular */
.site-header .site-branding .site-title {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .site-branding .site-title a {
  font-size: 0 !important;
  display: inline-block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: url('https://www.worldtoptrainers.com/wttc-new/images/wttc-logo.png') center / contain no-repeat;
  text-decoration: none !important;
  color: transparent !important;
}

/* Esconder campo de busca do header (não existe no site novo) */
.site-header .site-search {
  display: none;
}

/* Esconder tagline / description do site */
.site-header .site-description {
  display: none !important;
}

/* Fundo do nav bar = preto puro */
.storefront-primary-navigation {
  background: var(--wttc-bg) !important;
  border-bottom: 1px solid var(--wttc-border) !important;
}

/* Links do nav = branco 70% opacity, uppercase, tracking como site novo */
.main-navigation a,
.main-navigation .current-menu-item>a,
.main-navigation .current_page_item>a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.main-navigation a:hover {
  color: var(--wttc-gold) !important;
}

/* Sub-menus (dropdowns) dark */
.main-navigation ul.sub-menu,
.main-navigation ul.children {
  background: #111 !important;
  border: 1px solid var(--wttc-border) !important;
  min-width: 260px !important;
  width: max-content !important;
  max-width: 480px !important;
}

.main-navigation ul.sub-menu li,
.main-navigation ul.children li {
  width: auto !important;
}

.main-navigation ul.sub-menu a,
.main-navigation ul.children a {
  font-size: 0.75rem !important;
  white-space: nowrap !important;
  width: auto !important;
}

/* Header desktop — UMA linha: logo ▸ menu ▸ CTA ▸ cart */
@media (min-width: 1024px) {

  /* 1. O <header> vira flexbox horizontal (2 filhos: col-full + storefront-primary-navigation) */
  .site-header {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    padding: 0.5rem 2rem !important;
    gap: 0;
  }

  /* 2. Primeiro col-full (branding): apenas logo, width auto */
  .site-header>.col-full {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* 3. Esconder busca, mobile nav, menu toggle */
  .site-header .site-search,
  .site-header .handheld-navigation,
  .site-header .menu-toggle {
    display: none !important;
  }

  /* 4. Logo: encolher, centralizar verticalmente */
  .site-header .site-branding {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    display: flex !important;
    align-items: center !important;
  }

  /* 5. Navegação primária: preenche o espaço restante */
  .site-header>.storefront-primary-navigation {
    flex: 1 1 auto !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 6. Col-full dentro da nav: flex row com CTA + nav + cart */
  .storefront-primary-navigation>.col-full {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 1rem;
    overflow: visible !important;
  }

  /* 7. main-navigation: flex: 1 para ocupar o centro */
  .storefront-primary-navigation .main-navigation {
    flex: 1 1 auto !important;
  }

  /* 8. primary-navigation e seu ul.menu: flex row horizontal */
  .main-navigation .primary-navigation {
    display: block !important;
  }

  .main-navigation .primary-navigation>ul.menu,
  .main-navigation .primary-navigation>.menu {
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem;
    flex-wrap: nowrap !important;
    white-space: nowrap;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .main-navigation,
  .main-navigation .primary-navigation,
  .main-navigation .primary-navigation>ul.menu,
  .main-navigation .primary-navigation>.menu {
    overflow: visible !important;
  }

  .main-navigation .primary-navigation>ul.menu>li {
    float: none !important;
    margin: 0 !important;
  }

  /* 9. CTA button: flex item à direita */
  .wttc-header-cta {
    display: block;
    flex: 0 0 auto;
    order: 10;
  }

  .wttc-cta-button {
    display: inline-block;
    padding: 0.45rem 1rem;
    border: 1px solid rgba(212, 175, 55, 0.45) !important;
    color: var(--wttc-gold) !important;
    background: transparent !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.7rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.2s;
  }

  .wttc-cta-button:hover {
    background: rgba(212, 175, 55, 0.08) !important;
    color: var(--wttc-gold) !important;
  }

  /* 10. Cart: último item à direita */
  .site-header-cart {
    flex: 0 0 auto !important;
    order: 11;
    margin: 0 !important;
  }

  .site-header-cart .cart-contents {
    white-space: nowrap;
  }
}

@media (max-width: 1023px) {
  .wttc-header-cta {
    display: none !important;
  }

  #wprmenu_bar,
  #mg-wprm-wrap,
  .hamburger.hamburger--slider {
    display: none !important;
  }
}

/* Cart link: estilizar para tema escuro */
.site-header-cart .cart-contents {
  color: var(--wttc-muted) !important;
  text-decoration: none !important;
}

.site-header-cart .cart-contents:hover {
  color: var(--wttc-gold) !important;
}

.site-header-cart .count {
  background: var(--wttc-gold) !important;
  color: #0f0f0f !important;
}

/* --- FOOTER --- */

/* Background preto puro + separador superior */
.site-footer {
  background: var(--wttc-bg) !important;
  border: none !important;
  border-top: 1px solid var(--wttc-border) !important;
}

/* Footer grid: 4 colunas como no site novo */
.wttc-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  padding: 3rem 0 2rem;
  max-width: 1280px;
  margin: 0 auto;
}

@media (min-width: 640px) {
  .wttc-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .wttc-footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
  }
}

/* Logo no footer */
.wttc-footer-logo-link {
  display: inline-block;
  text-decoration: none !important;
}

.wttc-footer-logo {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

/* Brand text */
.wttc-footer-brand-text {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.75rem;
  line-height: 1.6;
  margin-top: 1rem;
  max-width: 220px;
}

/* Column headings */
.wttc-footer-heading {
  font-family: var(--wttc-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.6) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
}

/* Footer links */
.wttc-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wttc-footer-links li {
  margin-bottom: 0.5rem;
}

.wttc-footer-links a,
.wttc-footer-links a:visited {
  color: rgba(255, 255, 255, 0.4) !important;
  text-decoration: none !important;
  font-size: 0.875rem;
  transition: color 0.2s;
}

.wttc-footer-links a:hover {
  color: var(--wttc-fg) !important;
}

/* WhatsApp link */
.wttc-footer-whatsapp {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
}

.wttc-footer-whatsapp svg {
  flex-shrink: 0;
}

/* Store link in gold */
.wttc-footer-store-link {
  color: var(--wttc-gold) !important;
  font-weight: 500;
}

.wttc-footer-store-link:hover {
  color: #f0cf68 !important;
}

/* Instagram section */
.wttc-footer-instagram {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--wttc-border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.wttc-footer-instagram-label {
  font-family: var(--wttc-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.25rem;
}

.wttc-footer-instagram-label::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background: var(--wttc-gold);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wttc-footer-instagram a,
.wttc-footer-instagram a:visited {
  color: rgba(255, 255, 255, 0.4) !important;
  text-decoration: none !important;
  font-size: 0.875rem;
}

.wttc-footer-instagram a:hover {
  color: var(--wttc-fg) !important;
}

/* Legacy widget areas — keep styled if any widgets remain active */
.site-footer .widget-title {
  font-family: var(--wttc-font-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.6) !important;
  border: none !important;
  padding: 0 !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1rem !important;
}

/* Links do footer (legacy widgets) */
.site-footer a,
.site-footer a:visited {
  color: rgba(255, 255, 255, 0.4) !important;
  text-decoration: none !important;
}

.site-footer a:hover {
  color: var(--wttc-fg) !important;
  text-decoration: none !important;
}

/* Listas sem marcadores */
.site-footer .widget ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer .widget ul li {
  margin-bottom: 0.4rem;
}

/* Texto padrão do footer */
.site-footer,
.site-footer p {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.875rem;
}

/* Barra de copyright */
.site-info {
  border-top: 1px solid var(--wttc-border) !important;
  padding-top: 1.25rem !important;
  margin-top: 0.5rem !important;
  color: rgba(255, 255, 255, 0.3) !important;
  font-size: 0.75rem !important;
}

.site-info a {
  color: rgba(255, 255, 255, 0.3) !important;
  text-decoration: none !important;
}

.site-info a:hover {
  color: var(--wttc-fg) !important;
}

/* Esconder "Built with WooCommerce" */
.site-info a[href*="woo.com"] {
  display: none !important;
}

.site-info .privacy-policy-link,
.site-info br {
  display: none !important;
}

.site-info [role="separator"] {
  display: none !important;
}

/* ============================================================
   v0.3.0 — QA FIXES (2026-04-06)
   (a) count de categoria, (b)(c) carrinho, (d) checkout,
   (e) mobile overflow, (f) imagem produto, MEL-3 breadcrumb,
   SUG-2 grid categorias
   ============================================================ */

/* (a) — Número de itens por categoria legível no tema escuro */
.woocommerce ul.products li.product-category h2 mark,
.woocommerce ul.products li.product-category .count,
mark.count {
  color: var(--wttc-muted) !important;
  background: transparent !important;
}

/* (b)(c) — Tabela do carrinho: dark theme completo */
.woocommerce table.shop_table {
  background: var(--wttc-card-bg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce table.shop_table th {
  background: var(--wttc-card-bg) !important;
  color: var(--wttc-muted) !important;
  border-color: var(--wttc-border) !important;
  font-weight: 600;
}

.woocommerce table.shop_table td {
  background: var(--wttc-card-bg) !important;
  color: var(--wttc-fg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce table.shop_table .product-remove a {
  color: var(--wttc-muted) !important;
}

.woocommerce table.shop_table .product-remove a:hover {
  color: #e74c3c !important;
}

/* Coupon input */
.woocommerce table.shop_table .coupon .input-text {
  background: #111 !important;
  border: 1px solid var(--wttc-border) !important;
  color: var(--wttc-fg) !important;
}

/* Cart totals panel */
.woocommerce-cart .cart-collaterals {
  background: var(--wttc-card-bg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce .cart_totals,
.woocommerce .cart_totals h2 {
  color: var(--wttc-fg) !important;
}

.woocommerce .cart_totals table {
  background: var(--wttc-card-bg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  background: var(--wttc-card-bg) !important;
  color: var(--wttc-fg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce .cart_totals .order-total .amount {
  color: var(--wttc-gold) !important;
}

/* Shipping calculator */
.woocommerce .cart_totals .shipping-calculator-button {
  color: var(--wttc-gold) !important;
}

/* (d) — Checkout: order review + payment dark theme */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  color: var(--wttc-fg) !important;
}

.woocommerce-checkout #order_review {
  background: var(--wttc-card-bg) !important;
  border: 1px solid var(--wttc-border) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  background: var(--wttc-card-bg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  background: var(--wttc-card-bg) !important;
  color: var(--wttc-fg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total .amount {
  color: var(--wttc-gold) !important;
}

.woocommerce-checkout #payment {
  background: var(--wttc-card-bg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce-checkout #payment .place-order,
.woocommerce-checkout #payment .form-row.place-order {
  background: var(--wttc-card-bg) !important;
  border-top: 1px solid var(--wttc-border) !important;
  color: var(--wttc-fg) !important;
}

.woocommerce-checkout #payment .place-order p,
.woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text {
  background: transparent !important;
  color: var(--wttc-muted) !important;
}

.woocommerce-checkout #payment .payment_methods {
  border-color: var(--wttc-border) !important;
}

.woocommerce-checkout #payment .payment_methods li {
  background: var(--wttc-card-bg) !important;
  color: var(--wttc-fg) !important;
}

.woocommerce-checkout #payment .payment_methods li label {
  color: var(--wttc-fg) !important;
}

.woocommerce-checkout #payment .payment_box {
  background: #111 !important;
  color: var(--wttc-fg) !important;
}

.woocommerce-checkout #payment .payment_box::before {
  border-bottom-color: #111 !important;
}

/* Checkout customer details dark */
.woocommerce-checkout #customer_details {
  background: var(--wttc-card-bg) !important;
  border-color: var(--wttc-border) !important;
}

.woocommerce-checkout #customer_details label {
  color: var(--wttc-fg) !important;
}

/* (e) — Mobile overflow prevention */
html,
body {
  overflow-x: hidden;
}

.site,
.col-full,
.content-area,
.site-main,
.entry-content {
  max-width: 100vw;
  overflow-x: hidden;
}

@media (max-width: 768px) {

  .site,
  .site-header,
  .site-content,
  .content-area,
  .col-full,
  .woocommerce div.product,
  .storefront-primary-navigation {
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Reset col-full padding on mobile to prevent overflow */
  .col-full {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}

/* (e) — Mobile product/category grid: single column, centered */
@media (max-width: 768px) {

  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products {
    grid-template-columns: 1fr !important;
    padding: 0 0.5rem;
  }

  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product-category {
    text-align: center;
    max-width: 100%;
    overflow: hidden;
  }

  .woocommerce ul.products li.product-category a img {
    max-width: 100%;
    height: auto;
  }
}

/* (f) + MEL-2 — Product images responsive */
.woocommerce div.product div.images,
.woocommerce div.product div.images img,
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  max-width: 100% !important;
  height: auto !important;
}

.woocommerce div.product div.images {
  overflow: hidden;
}

@media (max-width: 768px) {

  /* Force product gallery to fit mobile viewport */
  .woocommerce div.product div.images,
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .woocommerce-product-gallery figure,
  .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
  .woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    overflow: hidden !important;
  }

  .woocommerce div.product div.images img,
  .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
  }

  /* Product summary also full width */
  .woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
  }

  /* Category card images: fit within card */
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product-category a img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
  }

  /* Archive title: smaller on mobile to avoid bleeding */
  .woocommerce-products-header__title,
  .page-title {
    font-size: 1.5rem !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

/* MEL-3 — Breadcrumb truncated on mobile */
@media (max-width: 768px) {
  .woocommerce-breadcrumb {
    font-size: 0.7rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    max-width: 100%;
    padding: 0.5rem 0;
  }
}

/* SUG-2 — Category grid: fill available space (2-3 cols desktop, 2 cols tablet) */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
}

/* ============================================================
   v0.3.6 — CORREÇÕES DE LAYOUT E CONTA (2026-04-13)
   1. Fundo branco no fieldset de senha em Detalhes da Conta
   2. Max-width no conteúdo interno das páginas de conta
   ============================================================ */

/* 1 — Fieldset de senha / qualquer fieldset WooCommerce */
.woocommerce-EditAccountForm fieldset,
.woocommerce-account fieldset,
fieldset#password {
  background: var(--wttc-card-bg) !important;
  border: 1px solid var(--wttc-border) !important;
  padding: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-EditAccountForm fieldset legend,
.woocommerce-account fieldset legend {
  background: var(--wttc-card-bg) !important;
  color: var(--wttc-fg) !important;
  padding: 0 0.5rem !important;
}

/* 2 — Layout interno das páginas de conta: limitar largura e centralizar */
.woocommerce-account .woocommerce,
.woocommerce-account .entry-content {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Sidebar da conta: fundo coerente */
.woocommerce-MyAccount-navigation {
  background: var(--wttc-card-bg);
  border: 1px solid var(--wttc-border);
  padding: 1rem;
}

.woocommerce-MyAccount-navigation ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
  color: var(--wttc-muted) !important;
  text-decoration: none !important;
  display: block;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-left: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--wttc-gold) !important;
  border-left-color: var(--wttc-gold);
}

/* Conteúdo da conta: sem fundo extra */
.woocommerce-MyAccount-content {
  background: transparent;
  color: var(--wttc-fg);
}