/* ══════════════════════════════════════════════════════════════════════
   Peptider Design System — peptider.css
   v20.0 — Global visual standardization for ALL pages
   Place at: /wp-content/themes/peptider-child/assets/peptider.css
   Enqueue AFTER theme.css (higher priority override layer)
   ══════════════════════════════════════════════════════════════════════ */


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   1. VARIABLES — Paleta oficial Peptider + alias para vars do theme.css
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

:root {
  /* ── Paleta canônica nova ── */
  --pep-bg:         #E7EBF1;
  --pep-card:       #D6DFEC;
  --pep-card-light: #F3F6FA;
  --pep-border:     #C7D0DC;
  --pep-text:       #0B1730;
  --pep-muted:      #607086;
  --pep-blue:       #0754E8;
  --pep-blue-dark:  #043A9D;
  --pep-navy:       #061D45;
  --pep-white:      #FFFFFF;

  /* ── Sobrescreve variáveis do theme.css para unificar ── */
  --primary:        #0754E8;
  --primary-hover:  #043A9D;
  --navy:           #061D45;
  --slate:          #607086;
  --light-bg:       #E7EBF1;
  --card-bg:        #F3F6FA;
  --border:         #C7D0DC;
  --text:           #0B1730;
  --text-secondary: #607086;
  --surface:        #E7EBF1;
  --surface-2:      #D6DFEC;
  --surface-3:      #D6DFEC;
  --radius:         14px;

  /* ── Sombras ── */
  --pep-shadow:     0 4px 12px rgba(11, 23, 48, 0.05);
  --pep-shadow-md:  0 8px 24px rgba(11, 23, 48, 0.08);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2. GLOBAL LAYOUT — body, wraps, backgrounds
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

html,
body {
  background-color: var(--pep-bg) !important;
  color: var(--pep-text) !important;
}

/* Garante que nenhum wrapper use fundo branco puro */
.pep-page,
.pep-woo-page,
.pep-pdp,
.entry-content,
.site-content,
#content,
#primary,
#main,
.content-area {
  background-color: var(--pep-bg) !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb,
.pep-breadcrumb {
  font-size: 13px;
  color: var(--pep-muted);
  padding: 1rem 0;
}
.woocommerce-breadcrumb a {
  color: var(--pep-muted);
  text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
  color: var(--pep-text);
}

/* Notices / mensagens WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  border-radius: var(--radius) !important;
  border: none !important;
  padding: .875rem 1.25rem !important;
  font-size: 14px !important;
  margin-bottom: 1.25rem !important;
}
.woocommerce-message {
  background: #EBF5E9 !important;
  color: #166534 !important;
}
.woocommerce-info {
  background: #EBF1FF !important;
  color: var(--pep-blue-dark) !important;
}
.woocommerce-error {
  background: #FEF2F2 !important;
  color: #991B1B !important;
  list-style: none !important;
  padding-left: 1.25rem !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
  display: none !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
  float: none !important;
  margin-left: .75rem !important;
}

/* pep-card genérico */
.pep-card {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--pep-shadow) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   3. HEADER / FOOTER
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Header nav strip */
.pep-header {
  background: var(--pep-bg) !important;
  border-bottom: 1px solid var(--pep-border) !important;
}

/* Top bar: mantém navy */
.pep-topbar {
  background: var(--pep-navy) !important;
}

/* Cart badge */
.pep-cart-badge {
  background: var(--pep-blue) !important;
}

/* Footer */
.pep-footer,
footer.pep-footer {
  background: var(--pep-navy) !important;
}

/* Dropdown */
.pep-dropdown a {
  background: var(--pep-card-light) !important;
  border-color: var(--pep-border) !important;
  color: var(--pep-muted) !important;
}
.pep-dropdown a:hover {
  background: var(--pep-bg) !important;
  color: var(--pep-text) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   4. WOOCOMMERCE GLOBAL — reset visual + base
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.woocommerce,
.woocommerce-page {
  background: var(--pep-bg) !important;
}

/* Woo page titles */
.pep-woo-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pep-blue);
  margin: 0 0 .375rem;
}
.pep-woo-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 700;
  color: var(--pep-text);
  margin: 0 0 1.5rem;
  line-height: 1.15;
}

/* woo body wrapper */
.pep-woo-body {
  padding-top: 0 !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   5. PRODUCT ARCHIVE — shop grid, cards
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Grid */
.woocommerce ul.products,
.pep-shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 1.25rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Product card */
.woocommerce ul.products li.product,
.pep-shop-main ul.products li.product {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--pep-shadow) !important;
  padding: 1.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  transition: box-shadow .18s, transform .18s !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product:hover,
.pep-shop-main ul.products li.product:hover {
  box-shadow: var(--pep-shadow-md) !important;
  transform: translateY(-2px) !important;
}

/* Imagem do produto no card */
.woocommerce ul.products li.product img,
.pep-shop-main ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  background: var(--pep-bg) !important;
  border: 1px solid var(--pep-border) !important;
  display: block !important;
  margin-bottom: .5rem !important;
}

/* Título do card */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.pep-shop-main ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--pep-text) !important;
  line-height: 1.35 !important;
  margin: 0 0 .375rem !important;
}

/* Preço no card */
.woocommerce ul.products li.product .price,
.pep-shop-main ul.products li.product .price {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--pep-blue) !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price del,
.pep-shop-main ul.products li.product .price del {
  color: var(--pep-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  opacity: .75 !important;
  margin-right: .375rem !important;
}

/* Botão Add to Cart no card */
.woocommerce ul.products li.product .button,
.pep-shop-main ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: var(--pep-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .65rem 1rem !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .15s !important;
  margin-top: auto !important;
}
.woocommerce ul.products li.product .button:hover,
.pep-shop-main ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: var(--pep-blue-dark) !important;
  color: #fff !important;
}

/* Sidebar de filtros */
.pep-shop-sidebar,
.pep-sidebar-layout > aside {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--pep-shadow) !important;
}

/* Paginação */
.pep-shop-pagination .page-numbers a,
.pep-shop-pagination .page-numbers span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  color: var(--pep-text) !important;
  padding: .45rem .85rem !important;
}
.pep-shop-pagination .page-numbers .current,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--pep-blue) !important;
  color: #fff !important;
  border-color: var(--pep-blue) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   6. SINGLE PRODUCT — PDP
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Corrige tamanho excessivo da imagem principal */
.pep-pdp-gallery-main {
  width: 100% !important;
  max-width: 560px !important;
  max-height: 560px !important;
  aspect-ratio: 1 / 1 !important;
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--pep-shadow) !important;
}
.pep-pdp-gallery-main img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  max-width: 560px !important;
  max-height: 560px !important;
}

/* Galeria thumbnails */
.pep-pdp-thumbs {
  margin-top: .75rem !important;
  display: flex !important;
  gap: .625rem !important;
  flex-wrap: wrap !important;
}
.pep-pdp-thumb {
  width: 68px !important;
  height: 68px !important;
  border-radius: 10px !important;
  border: 1px solid var(--pep-border) !important;
  background: var(--pep-card-light) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: border-color .15s !important;
}
.pep-pdp-thumb.is-active,
.pep-pdp-thumb:hover {
  border-color: var(--pep-blue) !important;
  box-shadow: 0 0 0 2px rgba(7, 84, 232, .2) !important;
}
.pep-pdp-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Summary card */
.pep-pdp-summary {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.75rem !important;
  box-shadow: var(--pep-shadow) !important;
}

/* Eyebrow / category */
.pep-pdp-eyebrow {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--pep-blue) !important;
  margin-bottom: .625rem !important;
}

/* Título PDP */
.pep-pdp-title {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--pep-text) !important;
  line-height: 1.15 !important;
  margin: 0 0 .75rem !important;
}

/* Preço PDP */
.pep-pdp-price {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: var(--pep-blue) !important;
  margin-bottom: .875rem !important;
}
.pep-pdp-price del {
  color: var(--pep-muted) !important;
  font-weight: 400 !important;
  font-size: 1.1rem !important;
  opacity: .7 !important;
  margin-right: .5rem !important;
}

/* Stock badge */
.pep-pdp-stock { display: flex; align-items: center; gap: .5rem; font-size: 13px; font-weight: 500; margin-bottom: 1rem; }
.pep-pdp-stock.in  { color: #166534 !important; }
.pep-pdp-stock.out { color: #991B1B !important; }
.pep-pdp-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex-shrink: 0; }

/* Add to cart / form na PDP — WooCommerce nativo (fallback) */
.single-product .summary .cart { display: flex !important; align-items: center !important; gap: .75rem !important; flex-wrap: wrap !important; margin-top: 1.25rem !important; }
.single-product .summary .single_add_to_cart_button {
  background: var(--pep-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .75rem 1.5rem !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s !important;
}
.single-product .summary .single_add_to_cart_button:hover {
  background: var(--pep-blue-dark) !important;
}

/* WooCommerce product gallery nativo (quando não usa template customizado) */
.woocommerce-product-gallery__image img {
  border-radius: 16px !important;
  border: 1px solid var(--pep-border) !important;
  background: var(--pep-card-light) !important;
  object-fit: contain !important;
  max-height: 560px !important;
}

/* Tabs de produto (Descrição, Info adicional, Reviews) */
.woocommerce-tabs .tabs {
  border-bottom: 1px solid var(--pep-border) !important;
  list-style: none !important;
  display: flex !important;
  gap: .25rem !important;
  padding: 0 !important;
  margin: 0 0 1.5rem !important;
}
.woocommerce-tabs .tabs li a {
  display: block !important;
  padding: .625rem 1.125rem !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--pep-muted) !important;
  text-decoration: none !important;
  border-radius: 8px 8px 0 0 !important;
  border: 1px solid transparent !important;
  transition: color .15s !important;
}
.woocommerce-tabs .tabs li.active a {
  color: var(--pep-text) !important;
  font-weight: 600 !important;
  border-color: var(--pep-border) !important;
  border-bottom-color: var(--pep-card-light) !important;
  background: var(--pep-card-light) !important;
}
.woocommerce-tabs .panel {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 0 var(--radius) var(--radius) var(--radius) !important;
  padding: 1.5rem !important;
}

/* Produtos relacionados */
.related.products > h2,
.up-sells > h2 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--pep-text) !important;
  margin-bottom: 1.25rem !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   7. CART — tabela, quantity, totais
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Tabela principal */
.woocommerce-cart-form table.shop_table,
table.shop_table,
.woocommerce table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  border: 1px solid var(--pep-border) !important;
  box-shadow: var(--pep-shadow) !important;
  background: var(--pep-card-light) !important;
}

/* Header da tabela */
.woocommerce-cart-form table.shop_table thead th,
table.shop_table thead th,
.woocommerce table.shop_table thead th {
  background: var(--pep-navy) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: .875rem 1.25rem !important;
  border: none !important;
}
.woocommerce-cart-form table.shop_table thead th:first-child { border-radius: 0 !important; }

/* Linhas do carrinho */
.woocommerce-cart-form table.shop_table tbody tr,
table.shop_table tbody tr,
.woocommerce table.shop_table tbody tr {
  background: var(--pep-card-light) !important;
  transition: background .12s !important;
}
.woocommerce-cart-form table.shop_table tbody tr:nth-child(even),
table.shop_table tbody tr:nth-child(even) {
  background: var(--pep-bg) !important;
}
.woocommerce-cart-form table.shop_table tbody tr:hover,
table.shop_table tbody tr:hover {
  background: #EDF1F8 !important;
}

/* Células */
.woocommerce-cart-form table.shop_table td,
table.shop_table td,
.woocommerce table.shop_table td {
  padding: 1rem 1.25rem !important;
  border-bottom: 1px solid var(--pep-border) !important;
  color: var(--pep-text) !important;
  font-size: 14px !important;
  vertical-align: middle !important;
}

/* Imagem do produto no carrinho */
.woocommerce-cart-form .product-thumbnail img,
table.shop_table .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  border: 1px solid var(--pep-border) !important;
  background: var(--pep-bg) !important;
  display: block !important;
}

/* Nome do produto no carrinho */
.woocommerce-cart-form .product-name a,
table.shop_table .product-name a {
  color: var(--pep-text) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-size: 14px !important;
}
.woocommerce-cart-form .product-name a:hover,
table.shop_table .product-name a:hover {
  color: var(--pep-blue) !important;
}

/* Preço no carrinho */
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal,
table.shop_table .product-price,
table.shop_table .product-subtotal {
  font-weight: 600 !important;
  color: var(--pep-text) !important;
}

/* ── QUANTITY SELECTOR — FIX PRINCIPAL ── */
.woocommerce-cart-form input.qty,
.woocommerce .quantity input.qty,
input.qty,
.quantity input[type="number"],
.woocommerce .quantity input[type="number"],
.woocommerce-page .quantity input[type="number"] {
  background: var(--pep-white) !important;
  color: var(--pep-text) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  height: 42px !important;
  width: 72px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 0 .5rem !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  box-shadow: none !important;
}
.woocommerce-cart-form input.qty:focus,
.woocommerce .quantity input.qty:focus,
input.qty:focus,
.quantity input[type="number"]:focus {
  border-color: var(--pep-blue) !important;
  box-shadow: 0 0 0 3px rgba(7, 84, 232, .12) !important;
}
/* Remove setas nativas do number input */
input.qty::-webkit-outer-spin-button,
input.qty::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button,
.quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Botão Update Cart */
.woocommerce-cart-form .button[name="update_cart"],
.woocommerce .cart .button[name="update_cart"] {
  background: transparent !important;
  color: var(--pep-muted) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  padding: .5rem 1rem !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background .15s, color .15s !important;
}
.woocommerce-cart-form .button[name="update_cart"]:hover {
  background: var(--pep-bg) !important;
  color: var(--pep-text) !important;
}

/* Remover item (×) */
.woocommerce-cart-form a.remove,
table.shop_table a.remove {
  color: var(--pep-muted) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: color .15s !important;
}
.woocommerce-cart-form a.remove:hover,
table.shop_table a.remove:hover {
  color: #991B1B !important;
  background: transparent !important;
}

/* Totais do carrinho */
.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
  margin-top: 1.5rem !important;
}
.woocommerce .cart_totals,
.woocommerce-page .cart_totals {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.5rem !important;
  box-shadow: var(--pep-shadow) !important;
  max-width: 440px !important;
  margin-left: auto !important;
}
.woocommerce .cart_totals h2,
.woocommerce-page .cart_totals h2 {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--pep-text) !important;
  margin-bottom: 1rem !important;
}
.woocommerce .cart_totals table {
  border: none !important;
  width: 100% !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: .625rem 0 !important;
  border-bottom: 1px solid var(--pep-border) !important;
  font-size: 14px !important;
  background: transparent !important;
  color: var(--pep-text) !important;
}
.woocommerce .cart_totals table tr:last-child th,
.woocommerce .cart_totals table tr:last-child td {
  border-bottom: none !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Coupon */
.woocommerce .coupon input[type="text"] {
  height: 42px !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  padding: 0 .875rem !important;
  font-size: 13.5px !important;
  color: var(--pep-text) !important;
  background: var(--pep-white) !important;
  width: auto !important;
  outline: none !important;
}
.woocommerce .coupon input[type="text"]:focus {
  border-color: var(--pep-blue) !important;
  box-shadow: 0 0 0 3px rgba(7, 84, 232, .12) !important;
}
.woocommerce .coupon .button {
  height: 42px !important;
  background: var(--pep-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0 1.125rem !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s !important;
}
.woocommerce .coupon .button:hover {
  background: var(--pep-blue-dark) !important;
}

/* Botão Proceed to Checkout */
.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: var(--pep-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .875rem 1.5rem !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-top: 1rem !important;
  transition: background .15s !important;
  cursor: pointer !important;
}
.woocommerce a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--pep-blue-dark) !important;
  color: #fff !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   8. CHECKOUT
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Layout geral checkout */
.woocommerce-checkout #customer_details,
.woocommerce form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 2rem !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .woocommerce-checkout #customer_details,
  .woocommerce form.checkout {
    grid-template-columns: 1fr !important;
  }
}

/* Seções do checkout */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-billing,
.woocommerce-shipping {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.5rem !important;
  box-shadow: var(--pep-shadow) !important;
}

/* Headings das seções */
.woocommerce-checkout h3,
.woocommerce-billing h3,
.woocommerce-shipping h3,
.woocommerce-checkout #order_review_heading {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--pep-text) !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid var(--pep-border) !important;
}

/* Order review */
#order_review {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.5rem !important;
  box-shadow: var(--pep-shadow) !important;
}
#order_review table.shop_table {
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}
#order_review table.shop_table th,
#order_review table.shop_table td {
  background: transparent !important;
  border-bottom: 1px solid var(--pep-border) !important;
  padding: .625rem 0 !important;
}
#order_review table.shop_table thead th {
  background: transparent !important;
  color: var(--pep-muted) !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-bottom: 1px solid var(--pep-border) !important;
}

/* Botão Place Order */
#place_order,
.woocommerce #payment #place_order {
  display: block !important;
  width: 100% !important;
  background: var(--pep-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 1rem 1.5rem !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s !important;
  margin-top: 1rem !important;
  text-align: center !important;
}
#place_order:hover,
.woocommerce #payment #place_order:hover {
  background: var(--pep-blue-dark) !important;
}

/* Seção de pagamento */
#payment,
.woocommerce #payment {
  background: var(--pep-bg) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.25rem !important;
  margin-top: 1.25rem !important;
}
#payment .payment_methods,
.woocommerce #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1rem !important;
  border: none !important;
}
.woocommerce #payment ul.payment_methods li {
  padding: .75rem !important;
  border-bottom: 1px solid var(--pep-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
}
.woocommerce #payment ul.payment_methods li label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--pep-text) !important;
  cursor: pointer !important;
}
.woocommerce #payment div.payment_box {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  padding: .875rem !important;
  font-size: 13.5px !important;
  color: var(--pep-muted) !important;
  margin-top: .5rem !important;
}
.woocommerce #payment div.payment_box::before {
  border-bottom-color: var(--pep-border) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   9. MY ACCOUNT
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Nav lateral My Account (WooCommerce nativo) */
.woocommerce-MyAccount-navigation {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.25rem !important;
  box-shadow: var(--pep-shadow) !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .25rem !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: .5rem .875rem !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--pep-text) !important;
  text-decoration: none !important;
  transition: background .12s, color .12s !important;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--pep-bg) !important;
  color: var(--pep-blue) !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
  background: var(--pep-blue) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

/* Conteúdo principal My Account */
.woocommerce-MyAccount-content {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.75rem !important;
  box-shadow: var(--pep-shadow) !important;
  color: var(--pep-text) !important;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  color: var(--pep-text) !important;
}

/* Tabela de pedidos */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  background: var(--pep-card-light) !important;
  box-shadow: var(--pep-shadow) !important;
}
.woocommerce-orders-table th,
.woocommerce-MyAccount-content table th {
  background: var(--pep-navy) !important;
  color: #fff !important;
  padding: .75rem 1rem !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  border: none !important;
}
.woocommerce-orders-table td,
.woocommerce-MyAccount-content table td {
  padding: .75rem 1rem !important;
  font-size: 13.5px !important;
  color: var(--pep-text) !important;
  border-bottom: 1px solid var(--pep-border) !important;
  background: transparent !important;
}
.woocommerce-orders-table tr:nth-child(even) td,
.woocommerce-MyAccount-content table tr:nth-child(even) td {
  background: var(--pep-bg) !important;
}

/* Status badges de pedido */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status span,
mark.order-status {
  border-radius: 6px !important;
  padding: .25rem .625rem !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}

/* Welcome text dashboard */
.woocommerce-MyAccount-content p {
  color: var(--pep-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.woocommerce-MyAccount-content p a {
  color: var(--pep-blue) !important;
  font-weight: 500 !important;
}

/* pep-card no template customizado de My Account */
.pep-sidebar-layout .pep-card {
  padding: 1.5rem !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   10. FORMS — inputs, selects, textareas, labels
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Labels */
.woocommerce form .form-row label,
.woocommerce-checkout form .form-row label,
.woocommerce-account form .form-row label,
.woocommerce form label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--pep-text) !important;
  margin-bottom: .375rem !important;
  display: block !important;
}

/* Inputs / Textareas / Selects — base */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select {
  background: var(--pep-white) !important;
  color: var(--pep-text) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  padding: .625rem .875rem !important;
  font-size: 14px !important;
  font-family: inherit !important;
  width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
}

/* Focus state */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-account input:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus,
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  border-color: var(--pep-blue) !important;
  box-shadow: 0 0 0 3px rgba(7, 84, 232, .12) !important;
}

/* Placeholder */
.woocommerce input::placeholder,
.woocommerce textarea::placeholder,
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: var(--pep-muted) !important;
  opacity: .8 !important;
}

/* Select arrow */
.woocommerce form .form-row select,
.woocommerce select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23607086' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .75rem center !important;
  background-size: 1rem !important;
}

/* select2 dropdown (WooCommerce usa select2) */
.select2-container--default .select2-selection--single {
  background: var(--pep-white) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--pep-text) !important;
  font-size: 14px !important;
  padding-left: .875rem !important;
  line-height: 44px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
}
.select2-dropdown {
  background: var(--pep-white) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: 8px !important;
  box-shadow: var(--pep-shadow-md) !important;
}
.select2-container--default .select2-results__option {
  font-size: 13.5px !important;
  color: var(--pep-text) !important;
  padding: .5rem .875rem !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--pep-blue) !important;
  color: #fff !important;
}

/* Checkbox */
.woocommerce form .form-row .woocommerce-form__input-checkbox {
  accent-color: var(--pep-blue) !important;
  width: 16px !important;
  height: 16px !important;
}

/* Form row spacing */
.woocommerce form .form-row {
  margin-bottom: 1rem !important;
}

/* Required star */
.woocommerce form abbr[title] {
  color: #DC2626 !important;
  text-decoration: none !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   11. BUTTONS — global padronização
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Botão primário WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  background: var(--pep-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .7rem 1.25rem !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .15s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .375rem !important;
  line-height: 1 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
  background: var(--pep-blue-dark) !important;
  color: #fff !important;
}

/* Botão alt (secondary) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt {
  background: var(--pep-blue) !important;
  color: #fff !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--pep-blue-dark) !important;
}

/* pep-btn-* (classes do tema) */
.pep-btn-primary {
  background: var(--pep-blue) !important;
  color: #fff !important;
}
.pep-btn-primary:hover {
  background: var(--pep-blue-dark) !important;
  color: #fff !important;
}
.pep-btn-dark {
  background: var(--pep-navy) !important;
  color: #fff !important;
}
.pep-btn-dark:hover {
  background: var(--pep-blue-dark) !important;
  color: #fff !important;
}
.pep-btn-light {
  background: var(--pep-card-light) !important;
  color: var(--pep-text) !important;
  border: 1px solid var(--pep-border) !important;
}
.pep-btn-light:hover {
  background: var(--pep-bg) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   12. WOOCOMMERCE TABLES — global (reviews, extra)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.woocommerce table,
.woocommerce-page table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  background: var(--pep-card-light) !important;
}
.woocommerce table th,
.woocommerce-page table th {
  background: var(--pep-navy) !important;
  color: #fff !important;
  padding: .75rem 1rem !important;
  font-size: 12px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border: none !important;
}
.woocommerce table td,
.woocommerce-page table td {
  padding: .75rem 1rem !important;
  color: var(--pep-text) !important;
  border-bottom: 1px solid var(--pep-border) !important;
  font-size: 13.5px !important;
  background: transparent !important;
}
.woocommerce table tr:last-child td,
.woocommerce-page table tr:last-child td {
  border-bottom: none !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   13. FAQ / ESTÁTICAS — lab results, research, compliance, policy
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Wrapper genérico das páginas estáticas */
.pep-page {
  background: var(--pep-bg) !important;
  min-height: 80vh;
}
.pep-body,
.pep-body-sm {
  max-width: 1280px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}

/* Content card para páginas estáticas */
.pep-page-card,
.pep-prose-card {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 2rem !important;
  box-shadow: var(--pep-shadow) !important;
  color: var(--pep-text) !important;
}
.pep-page-card h2,
.pep-page-card h3,
.pep-prose-card h2,
.pep-prose-card h3 {
  color: var(--pep-text) !important;
}
.pep-page-card p,
.pep-prose-card p {
  color: var(--pep-muted) !important;
  line-height: 1.7 !important;
}

/* FAQ accordion / cards */
.pep-faq-item,
details.pep-faq {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.125rem 1.25rem !important;
  margin-bottom: .75rem !important;
  box-shadow: var(--pep-shadow) !important;
}
.pep-faq-item summary,
details.pep-faq summary {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--pep-text) !important;
  cursor: pointer !important;
  list-style: none !important;
}
.pep-faq-item summary::after,
details.pep-faq summary::after {
  content: '+';
  float: right;
  color: var(--pep-blue);
  font-size: 18px;
  line-height: 1;
}
details.pep-faq[open] summary::after {
  content: '−';
}
.pep-faq-item p,
details.pep-faq p {
  font-size: 14px !important;
  color: var(--pep-muted) !important;
  line-height: 1.65 !important;
  margin-top: .75rem !important;
}

/* COA / Lab cards */
.pep-lab-card,
.pep-coa-card {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.25rem !important;
  box-shadow: var(--pep-shadow) !important;
  transition: box-shadow .18s !important;
}
.pep-lab-card:hover,
.pep-coa-card:hover {
  box-shadow: var(--pep-shadow-md) !important;
}

/* Trust / badges section */
.pep-trust-grid {
  background: var(--pep-card) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
}
.pep-trust-item {
  border-right: 1px solid var(--pep-border);
}
.pep-trust-item:last-child {
  border-right: none;
}

/* Elementor sections — força fundo */
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-widget-wrap,
.e-con-inner {
  background-color: transparent !important;
}
.elementor-section,
.e-con {
  background-color: var(--pep-bg) !important;
}
/* Cards Elementor */
.elementor-widget-container .pep-card,
.elementor-widget-container [class*="pep-"] {
  background: var(--pep-card-light) !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   14. STAR RATINGS — reviews WooCommerce
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.woocommerce .star-rating span,
.woocommerce .star-rating::before {
  color: #F59E0B !important;
}
.woocommerce .woocommerce-product-rating .star-rating {
  margin-bottom: .5rem !important;
}

/* Review form */
#review_form #respond {
  background: var(--pep-card-light) !important;
  border: 1px solid var(--pep-border) !important;
  border-radius: var(--radius) !important;
  padding: 1.5rem !important;
  margin-top: 1.5rem !important;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   15. RESPONSIVE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .pep-shop-main ul.products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce form.checkout {
    grid-template-columns: 1fr !important;
  }
  .pep-pdp-gallery-main {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .pep-shop-main ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .875rem !important;
  }
  .pep-body,
  .pep-body-sm {
    padding: 1.75rem 1rem 2.5rem !important;
  }
  .woocommerce .cart_totals {
    max-width: 100% !important;
  }
  .pep-pdp-grid {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-MyAccount-navigation {
    margin-bottom: 1rem !important;
  }
  .pep-sidebar-layout {
    grid-template-columns: 1fr !important;
  }
  .pep-sidebar-layout > aside {
    display: none !important;
  }
  /* Tabela cart — responsivo */
  .woocommerce-cart-form table.shop_table thead {
    display: none !important;
  }
  .woocommerce-cart-form table.shop_table,
  .woocommerce-cart-form table.shop_table tbody,
  .woocommerce-cart-form table.shop_table tr,
  .woocommerce-cart-form table.shop_table td {
    display: block !important;
    width: 100% !important;
  }
  .woocommerce-cart-form table.shop_table tr {
    border-bottom: 2px solid var(--pep-border) !important;
    padding: 1rem 0 !important;
    margin-bottom: .5rem !important;
  }
  .woocommerce-cart-form table.shop_table td {
    border-bottom: none !important;
    padding: .375rem 1rem !important;
    text-align: left !important;
  }
  .woocommerce-cart-form table.shop_table td::before {
    content: attr(data-title) ': ';
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    color: var(--pep-muted) !important;
    display: block !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .pep-shop-main ul.products {
    grid-template-columns: 1fr !important;
  }
}
