﻿/**
 * Shop polish — passe de refinamento visual (ref. funko.com.br):
 * cards de produto, footer, PDP clássica, side-cart, cart e checkout.
 * Carregado global (depois de archive.css) via functions.php.
 */

/* ==========================================================================
   1. CARDS DE PRODUTO (archive, home, relacionados)
   ========================================================================== */

/* Sem seletor de quantidade no card — só na PDP (card limpo estilo funko) */
.woocommerce ul.products li.product .fika-qty-row { display: none !important; }

.woocommerce ul.products li.product {
  padding: 0 !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  overflow: hidden;
}
.woocommerce ul.products li.product > a:first-of-type {
  display: block;
  padding: 1.25rem 1.25rem 0;
}
.woocommerce ul.products li.product .pn-product-image-wrapper,
.woocommerce ul.products li.product a img {
  background: #F7F8FA;
  border-radius: 10px !important;
  margin-bottom: 1rem !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0 1.25rem !important;
  font-size: .92rem !important;
  min-height: 2.7em;
}
.woocommerce ul.products li.product .price {
  padding: 0 1.25rem !important;
  margin: .35rem 0 0 !important;
}
.woocommerce ul.products li.product .price > .woocommerce-Price-amount {
  font-size: 1.3rem !important;
}
.woocommerce ul.products li.product .price .rm-pagbank-price {
  font-size: .74rem !important;
}
/* excerpt no card polui — esconde */
.woocommerce ul.products li.product .product-excerpt { display: none !important; }

.woocommerce ul.products li.product .product-action-wrap,
.woocommerce ul.products li.product .fika-main-buy-box {
  padding: .9rem 1.25rem 1.25rem !important;
  margin-top: auto !important;
}
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button {
  font-size: .8rem !important;
  padding: .8rem 1rem !important;
  border-radius: 10px !important;
}

/* chip NOVO/OFERTA reposicionado por causa do padding novo */
.pn-card-ribbon { top: 1.6rem; left: 1.6rem; }

/* ==========================================================================
   2. FOOTER
   ========================================================================== */
.site-footer {
  background: var(--wp--preset--color--primary-dark, #0A192C) !important;
  color: rgba(255,255,255,.78);
}
.site-footer a {
  color: rgba(255,255,255,.72) !important;
  text-decoration: none !important;
  transition: color .2s ease;
}
.site-footer a:hover { color: var(--wp--preset--color--secondary, #00A79D) !important; }

.pn-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding: clamp(2.5rem, 5vw, 4rem) 0 2rem;
  max-width: 1200px;
  margin: 0 auto;
  width: 92%;
}
@media (max-width: 820px) { .pn-footer-grid { grid-template-columns: 1fr 1fr; } .pn-footer-about { grid-column: 1 / -1; } }
@media (max-width: 480px) { .pn-footer-grid { grid-template-columns: 1fr; } }

.pn-footer-col h4, .pn-footer-col h5 {
  color: #fff;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 1.1rem;
}
.pn-footer-col h4::after, .pn-footer-col h5::after {
  content: "";
  display: block;
  width: 28px; height: 3px;
  border-radius: 3px;
  background: var(--wp--preset--color--secondary, #00A79D);
  margin-top: .5rem;
}
.pn-footer-col ul { list-style: none; margin: 0; padding: 0; }
.pn-footer-col li { margin: 0 0 .65rem; font-size: .9rem; }

.pn-footer-about img { max-width: 130px; height: auto; margin-bottom: 1rem; }
.pn-footer-about p { font-size: .92rem; line-height: 1.7; margin: 0 0 1.25rem; max-width: 38ch; }

.pn-footer-social { display: flex; gap: .6rem; }
.pn-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 1rem;
  transition: background .2s ease, transform .15s ease;
}
.pn-footer-social a:hover {
  background: var(--wp--preset--color--accent, #6564EE);
  color: #fff;
  transform: translateY(-2px);
}

.pn-footer-sep {
  border: none;
  border-top: 1px solid rgba(255,255,255,.08);
  margin: 0;
}
.pn-footer-copy {
  text-align: center;
  font-size: .78rem;
  color: rgba(255,255,255,.45);
  padding: 1.25rem 1rem;
  margin: 0;
}
/* área padrão do Kadence abaixo (se existir) herda o escuro */
.site-footer .site-info { background: transparent !important; }

/* ==========================================================================
   3. PDP — markup clássico WooCommerce
   ========================================================================== */

/* layout: respiro entre galeria e summary */
.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 54%) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}
.single-product div.product > * { grid-column: 1 / -1; } /* default: full width (tabs, related) */
.single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
.single-product div.product .summary.entry-summary { grid-column: 2; grid-row: 1; }
@media (max-width: 880px) {
  .single-product div.product { display: block; }
}

/* Logo já contém o wordmark — esconde o site-title duplicado ao lado */
#masthead .site-branding .site-title,
#masthead .site-branding .site-description { display: none !important; }

/* galeria */
.single-product .woocommerce-product-gallery { width: 100% !important; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image {
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto;
  object-fit: contain;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery img {
  border-radius: 14px;
  background: #F7F8FA;
}
.single-product .flex-control-thumbs { display: flex; gap: .6rem; margin-top: .75rem !important; padding: 0; }
.single-product .flex-control-thumbs li { width: 72px !important; float: none !important; }
.single-product .flex-control-thumbs img {
  border-radius: 10px;
  border: 2px solid transparent;
  opacity: .65;
  transition: opacity .2s ease, border-color .2s ease;
  cursor: pointer;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
  opacity: 1;
  border-color: var(--wp--preset--color--accent, #6564EE);
}

/* summary */
.single-product .summary.entry-summary { padding-top: .25rem; }
.single-product .summary .product_title {
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--primary, #192E49);
  margin: 0 0 .5rem;
}

/* badges (pn-pdp-badges vem do inc/pdp-enhancements.php) */
.pn-pdp-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .75rem; }

/* preço */
.single-product .summary > .price {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: .4rem;
  margin: .5rem 0 .25rem !important;
  padding: 1rem 0;
  border-top: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-bottom: 0;
  line-height: 1.15;
}
.single-product .summary > .price > br { display: none; }
.single-product .summary > .price > .woocommerce-Price-amount {
  font-size: clamp(1.9rem, 3.4vw, 2.6rem);
  font-weight: 700;
  color: var(--wp--preset--color--primary, #192E49);
  letter-spacing: -0.02em;
}
.single-product .summary > .price .rm-pagbank-price {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .8rem;
  background: rgba(0,167,157,.12);
  color: var(--wp--preset--color--success, #00C48C);
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 600;
  white-space: nowrap;
}
.single-product .summary > .price .rm-pagbank-price b { font-weight: 800; }
.pn-pdp-pix-info { margin: 0 0 1rem !important; }

/* estoque */
.single-product .summary .stock.in-stock {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--wp--preset--color--success, #00C48C);
  font-weight: 600;
  font-size: .9rem;
  margin: 0 0 .75rem;
}
.single-product .summary .stock.in-stock::before { content: "●"; font-size: .65em; }

/* buy box */
.single-product .summary form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: stretch;
  margin: .75rem 0 1rem;
}
.single-product .summary .fika-qty-row {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 12px;
  padding: .3rem;
}
.single-product .summary .fika-qty-row .quantity { margin: 0 !important; }
.single-product .summary .fika-qty-row .qty {
  width: 3rem;
  text-align: center;
  border: none;
  background: transparent;
  font-weight: 700;
  font-size: 1.05rem;
  font-family: inherit;
}
.single-product .summary .fika-qty-row .qty-btn {
  width: 38px; height: 38px;
  border: none;
  background: var(--wp--preset--color--surface-alt, #F5F7FA);
  border-radius: 9px;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--wp--preset--color--primary, #192E49);
  transition: background .15s ease, color .15s ease;
}
.single-product .summary .fika-qty-row .qty-btn:hover { background: var(--wp--preset--color--primary, #192E49); color: #fff; }

.single-product .summary .single_add_to_cart_button {
  flex: 1;
  min-width: 220px;
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 1rem 1.75rem !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease !important;
}
.single-product .summary .single_add_to_cart_button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(101,100,238,.35);
}

/* simulador de frete (pn-wc-logistics-bridge) como card */
.pn-shipping-simulator-box {
  background: var(--wp--preset--color--surface-alt, #F5F7FA) !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px !important;
  padding: 1.1rem 1.25rem !important;
  margin: 1rem 0 !important;
}
.pn-shipping-simulator-box .pn-sim-title { font-weight: 700; color: var(--wp--preset--color--primary, #192E49); }
.pn-shipping-simulator-box .pn-sim-cep-input {
  border-radius: 10px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  padding: .7rem 1rem !important;
  font-family: inherit;
}
.pn-shipping-simulator-box .pn-sim-btn {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border-radius: 10px !important;
  border: none !important;
  padding: .7rem 1.25rem !important;
  font-weight: 700;
  cursor: pointer;
}
.pn-shipping-simulator-box .pn-sim-btn:hover { background: var(--wp--preset--color--accent, #6564EE) !important; }

/* trust list (pn-pdp-trust) */
.pn-pdp-trust {
  list-style: none;
  padding: 1rem 0 0;
  margin: .5rem 0 0;
  border-top: 1px dashed var(--wp--preset--color--border, #E4E7EB);
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.4rem;
  font-size: .88rem;
  color: var(--wp--preset--color--text, #7A7A7A);
}

/* meta (SKU / categorias) */
.single-product .summary .product_meta {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--wp--preset--color--border, #E4E7EB);
  font-size: .82rem;
  color: var(--wp--preset--color--text, #7A7A7A);
}
.single-product .summary .product_meta > span { display: block; margin-bottom: .35rem; }
.single-product .summary .product_meta a { color: var(--wp--preset--color--accent, #6564EE); text-decoration: none; }
.single-product .summary .product_meta a:hover { text-decoration: underline; }

/* tabs */
.single-product .woocommerce-tabs { margin-top: clamp(2rem, 5vw, 3.5rem) !important; }
.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: .25rem;
  list-style: none;
  margin: 0 0 0;
  padding: 0;
  border-bottom: 2px solid var(--wp--preset--color--border, #E4E7EB);
  background: transparent !important;
}
.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: .85rem 1.4rem;
  font-weight: 700;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--wp--preset--color--text, #7A7A7A);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--wp--preset--color--primary, #192E49);
  border-bottom-color: var(--wp--preset--color--accent, #6564EE);
}
.single-product .woocommerce-Tabs-panel {
  padding: 1.75rem 0 0;
  line-height: 1.75;
}
.single-product .woocommerce-Tabs-panel h2:first-child { display: none; } /* título repetido da tab */

/* relacionados */
.single-product .related.products,
.single-product .products.related {
  margin-top: clamp(2rem, 5vw, 3.5rem);
}
.single-product .related.products > h2 {
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--primary, #192E49);
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 2px solid var(--wp--preset--color--border, #E4E7EB);
}

/* ==========================================================================
   4. SIDE-CART (drawer) — refresh de paleta
   ========================================================================== */
#pn-side-cart-drawer {
  border-radius: 16px 0 0 16px;
  box-shadow: -12px 0 40px rgba(10,25,44,.25);
}
#pn-side-cart-drawer .pn-sc-header {
  background: var(--wp--preset--color--primary-dark, #0A192C) !important;
  color: #fff;
  border-radius: 16px 0 0 0;
}
#pn-side-cart-drawer .pn-sc-title { color: #fff; letter-spacing: .06em; }
#pn-side-cart-drawer .pn-sc-badge {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  color: #fff;
}
#pn-side-cart-drawer .pn-sc-close-btn { color: #fff; background: rgba(255,255,255,.1); border-radius: 999px; }
#pn-side-cart-drawer .pn-sc-close-btn:hover { background: rgba(255,255,255,.22); }
#pn-side-cart-drawer .pn-sc-btn-continue,
#pn-side-cart-drawer a[href*="finalizar-compra"],
#pn-side-cart-drawer .pn-sc-checkout-btn {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#pn-side-cart-drawer .pn-sc-btn-continue:hover,
#pn-side-cart-drawer .pn-sc-checkout-btn:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
}
#pn-side-cart-overlay { background: rgba(10,25,44,.55) !important; backdrop-filter: blur(2px); }

/* ==========================================================================
   5. CART PAGE
   ========================================================================== */
.woocommerce-cart .woocommerce { max-width: 1200px; margin: 0 auto; }
.woocommerce-cart table.shop_table {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 14px !important;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0;
}
.woocommerce-cart table.shop_table th {
  background: var(--wp--preset--color--surface-alt, #F5F7FA);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--wp--preset--color--text, #7A7A7A);
  padding: .9rem 1rem !important;
}
.woocommerce-cart table.shop_table td {
  padding: 1rem !important;
  border-top: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  vertical-align: middle;
}
.woocommerce-cart table.shop_table img {
  width: 72px !important;
  border-radius: 10px;
  background: #F7F8FA;
}
.woocommerce-cart .product-name a {
  color: var(--wp--preset--color--primary, #192E49);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-cart .product-remove a {
  color: var(--wp--preset--color--danger, #E53E3E) !important;
  font-size: 1.3rem;
  border-radius: 999px;
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .2s ease;
}
.woocommerce-cart .product-remove a:hover { background: rgba(229,62,62,.1); }

/* cupom + update */
.woocommerce-cart .coupon .input-text {
  border-radius: 10px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  padding: .65rem 1rem !important;
}
.woocommerce-cart .button,
.woocommerce-cart button.button {
  border-radius: 10px !important;
  font-weight: 700 !important;
}

/* totais como card */
.woocommerce-cart .cart_totals {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px;
  padding: 1.5rem;
  background: var(--wp--preset--color--surface, #fff);
  box-shadow: 0 8px 24px rgba(10,25,44,.06);
}
.woocommerce-cart .cart_totals h2 {
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 1rem;
  color: var(--wp--preset--color--primary, #192E49);
}
.woocommerce-cart .cart_totals table.shop_table { border: none !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: block;
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 1rem !important;
  text-align: center;
  font-weight: 800 !important;
  font-size: .95rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .2s ease, transform .15s ease;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  transform: translateY(-1px);
}

/* ==========================================================================
   6. CHECKOUT
   ========================================================================== */
.woocommerce-checkout .woocommerce { max-width: 1200px; margin: 0 auto; }

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  /* column-gap separado de row-gap: o espaço horizontal entre formulário e
     resumo não precisa ser tão largo verticalmente entre "Seu Pedido" e o
     card do resumo — isso só alongava o scroll sem ganho visual. */
  column-gap: clamp(1.25rem, 3vw, 2.25rem);
  row-gap: .85rem;
  align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { grid-row: 1; }
.woocommerce-checkout #order_review { grid-row: 2; position: sticky; top: 1rem; }
@media (max-width: 960px) {
  .woocommerce-checkout form.checkout { display: block; }
}

.woocommerce-checkout h3 {
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--wp--preset--color--primary, #192E49);
}
/* WC core dá margin:0 0 1em a cada .form-row (~16px); sem override aqui,
   isso se multiplica por ~10 campos e vira boa parte do scroll do checkout. */
.woocommerce-checkout .form-row { margin: 0 0 .75rem !important; }
.woocommerce-checkout .form-row label { font-weight: 600; font-size: .85rem; margin-bottom: .3rem; }
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select {
  border-radius: 10px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  padding: .55rem .9rem !important;
  font-family: inherit !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  box-shadow: 0 0 0 3px rgba(101,100,238,.15) !important;
  outline: none;
}

/* order review card */
.woocommerce-checkout #order_review {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px;
  padding: 1.1rem;
  background: var(--wp--preset--color--surface, #fff);
  box-shadow: 0 8px 24px rgba(10,25,44,.06);
}
.woocommerce-checkout #order_review table.shop_table { border: none !important; }

/* place order */
.woocommerce-checkout #place_order {
  display: block;
  width: 100%;
  background: var(--wp--preset--color--success, #00C48C) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: .85rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .2s ease, transform .15s ease;
}
.woocommerce-checkout #place_order:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* ==========================================================================
   7. OVERRIDES de alta especificidade — vencem o verde legado (#128C7E)
      do custom-store.css em todos os botões de compra.
   ========================================================================== */
body.single-product .woocommerce div.product form.cart .button,
body.single-product .summary form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button.alt {
  background: var(--wp--preset--color--primary, #192E49) !important;
  background-color: var(--wp--preset--color--primary, #192E49) !important;
  border-color: var(--wp--preset--color--primary, #192E49) !important;
}
body.single-product .woocommerce div.product form.cart .button:hover,
body.single-product .summary form.cart .single_add_to_cart_button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  background-color: var(--wp--preset--color--accent, #6564EE) !important;
}
body .woocommerce ul.products li.product .add_to_cart_button,
body .woocommerce ul.products li.product a.button.add_to_cart_button,
body .woocommerce ul.products li.product .fika-main-buy-box a.button {
  background: var(--wp--preset--color--primary, #192E49) !important;
  background-color: var(--wp--preset--color--primary, #192E49) !important;
  border-color: var(--wp--preset--color--primary, #192E49) !important;
}
body .woocommerce ul.products li.product .add_to_cart_button:hover,
body .woocommerce ul.products li.product a.button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  background-color: var(--wp--preset--color--accent, #6564EE) !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout button#place_order {
  border-color: transparent !important;
}

/* trust bar do checkout (inc/checkout-trust-bar.php) */
.fika-trust-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  justify-content: center;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px dashed var(--wp--preset--color--border, #E4E7EB);
}
.fika-trust-bar .trust-item {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .8rem;
  color: var(--wp--preset--color--text, #7A7A7A);
}
.fika-trust-bar .trust-item i { color: var(--wp--preset--color--success, #00C48C); }

/* ============================================================
   8. CORREÇÃO DE LARGURAS — o CSS clássico do Woo/legado aplica
   float + largura percentual DENTRO das colunas dos grids das
   seções 3 e 6, espremendo summary/checkout. Reset total aqui.
   ============================================================ */

/* --- PDP: galeria e summary ocupam a coluna inteira do grid --- */
body.single-product .woocommerce div.product div.summary,
body.single-product div.product .summary.entry-summary,
.woocommerce div.product div.summary {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}
body.single-product .woocommerce div.product div.images,
body.single-product div.product .woocommerce-product-gallery,
.woocommerce div.product div.images {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  /* WooCommerce inicia em opacity:0 e aguarda o FlexSlider via JS.
     Se o JS travar, a galeria fica invisível. Força visível imediato. */
  opacity: 1 !important;
}
/* Wrappers internos do Kadence dentro do summary */
body.single-product div.product .summary .product-details,
body.single-product div.product .product-details.entry-content-wrap {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- CHECKOUT: form e review em largura total das colunas do grid --- */
body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout .woocommerce-billing-fields,
.woocommerce-checkout form.checkout .woocommerce-additional-fields {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}
/* Empilha col-1 (cobrança) e col-2 dentro da coluna do formulário */
body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
}

/* --- GERAL: wrappers .woocommerce não podem encolher o conteúdo --- */
.woocommerce-page .content-container .woocommerce,
.woocommerce-account .woocommerce {
  width: 100% !important;
  max-width: none !important;
}
/* Minha Conta: navegação + conteúdo proporcionais */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24% !important; float: left !important; }
.woocommerce-account .woocommerce-MyAccount-content    { width: 72% !important; float: right !important; }
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
}

/* ============================================================
   9. CARD DE PRODUTO v2 — hierarquia limpa (imagem > título >
   preço > pix > COMPRAR), mesmo visual em archive, home e
   relacionados da PDP. Seletores incluem .fika-main-buy-box para
   vencer o legado (5+ classes) em QUALQUER contexto.
   ============================================================ */

/* célula de imagem quadrada e estável (sem buraco vertical) */
.woocommerce ul.products li.product a img,
.related.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 100%;
  height: auto !important;
  padding: .75rem;
  box-sizing: border-box;
}

/* título à esquerda, 2 linhas no máximo */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.related.products li.product .woocommerce-loop-product__title {
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
  line-height: 1.35 !important;
  margin-bottom: .25rem !important;
}

/* preço: valor grande primeiro, pill PIX abaixo (DOM traz a pill antes) */
.woocommerce ul.products li.product .price,
.related.products li.product .price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .3rem;
  text-align: left !important;
}
/* legado ja define order (amount=1, pill=2); reforca para garantir preco em cima */
.woocommerce ul.products li.product .price > .woocommerce-Price-amount,
.related.products li.product .price > .woocommerce-Price-amount { order: 1 !important; }
.woocommerce ul.products li.product .price .rm-pagbank-price,
.related.products li.product .price .rm-pagbank-price { order: 2 !important; }
.woocommerce ul.products li.product .price > br,
.related.products li.product .price > br { display: none !important; }
.woocommerce ul.products li.product .price > .woocommerce-Price-amount,
.related.products li.product .price > .woocommerce-Price-amount {
  color: var(--wp--preset--color--primary, #192E49) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}
.woocommerce ul.products li.product .price .rm-pagbank-price,
.related.products li.product .price .rm-pagbank-price {
  display: inline-flex !important;
  align-items: center;
  gap: .3rem;
  background: rgba(0,196,140,.1);
  color: #0B7A5C !important;
  border-radius: 999px;
  padding: .25rem .6rem;
  font-weight: 700 !important;
  white-space: nowrap;
}

/* COMPRAR: navy, largura total, altura consistente — vence a pill verde
   legada (mesma especificidade + carregado depois) em todo contexto */
.woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button,
.related.products li.product .fika-main-buy-box .add_to_cart_button,
.woocommerce ul.products li.product .fika-main-buy-box a.button,
.single-product .related.products li.product a.button {
  flex: none !important;
  width: 100% !important;
  height: 42px !important;
  border-radius: 10px !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  background: var(--wp--preset--color--primary, #192E49) !important;
  background-color: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button:hover,
.related.products li.product .fika-main-buy-box .add_to_cart_button:hover,
.single-product .related.products li.product a.button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  background-color: var(--wp--preset--color--accent, #6564EE) !important;
  transform: translateY(-1px);
}

/* ritmo vertical: sem vão morto entre preço e botão */
.woocommerce ul.products li.product,
.related.products li.product {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 14px !important;
  transition: box-shadow .2s ease, border-color .2s ease, transform .15s ease;
}
.woocommerce ul.products li.product:hover,
.related.products li.product:hover {
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  box-shadow: 0 10px 28px rgba(10,25,44,.1) !important;
  transform: translateY(-2px);
}
/* action-wrap + botão: ver Seção 26 (fonte única) */

/* relacionados: mesmo visual do grid principal */
.single-product .related.products {
  margin-top: clamp(2rem, 5vw, 3.5rem);
  padding-top: 2rem;
  border-top: 1px solid var(--wp--preset--color--border, #E4E7EB);
}
.single-product .related.products ul.products li.product {
  padding: 0 !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  background: #fff;
}

/* ============================================================
   10. CHECKOUT v2 — cartões coesos, notices suaves, pagamentos
   uniformes.
   ============================================================ */

/* avisos de login/cupom: pills discretas em vez de caixas cinzas */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: #F1F4F9 !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-left: 3px solid var(--wp--preset--color--accent, #6564EE) !important;
  border-radius: 10px !important;
  padding: .8rem 1.1rem !important;
  margin-bottom: .75rem !important;
  font-size: .88rem;
  color: var(--wp--preset--color--primary, #192E49) !important;
  box-shadow: none !important;
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none !important; }
.woocommerce-checkout .woocommerce-form-login-toggle a,
.woocommerce-checkout .woocommerce-form-coupon-toggle a {
  color: var(--wp--preset--color--accent, #6564EE) !important;
  font-weight: 700;
}

/* formulário de cobrança dentro de um cartão, como o resumo */
.woocommerce-checkout form.checkout #customer_details {
  background: #fff;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px;
  padding: 1.1rem;
  box-shadow: 0 8px 24px rgba(10,25,44,.05);
}

/* "Seu pedido" acoplado visualmente ao cartão do resumo */
.woocommerce-checkout #order_review_heading {
  background: var(--wp--preset--color--primary, #192E49);
  color: #fff !important;
  margin: 0 !important;
  padding: .8rem 1.1rem !important;
  border-radius: 14px 14px 0 0;
  font-size: .9rem !important;
  text-align: left !important;
}
.woocommerce-checkout #order_review {
  border-radius: 0 0 14px 14px !important;
  border-top: none !important;
  margin-top: 0 !important;
}

/* formas de pagamento: linhas uniformes com estado selecionado */
.woocommerce-checkout #payment { background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
  border: none !important;
}
.woocommerce-checkout #payment ul.payment_methods > li {
  list-style: none;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 10px;
  padding: .7rem .9rem !important;
  margin-bottom: .5rem !important;
  background: #fff;
  transition: border-color .2s ease, background .2s ease;
}
.woocommerce-checkout #payment ul.payment_methods > li:hover {
  border-color: var(--wp--preset--color--accent, #6564EE);
}
.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) {
  border-color: var(--wp--preset--color--accent, #6564EE);
  background: rgba(101,100,238,.05);
  box-shadow: 0 0 0 1px var(--wp--preset--color--accent, #6564EE);
}
.woocommerce-checkout #payment ul.payment_methods > li > label {
  font-weight: 700 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  cursor: pointer;
}
.woocommerce-checkout #payment div.payment_box {
  background: #F7F8FA !important;
  border-radius: 8px !important;
  margin-top: .45rem !important;
  font-size: .85rem !important;
  color: var(--wp--preset--color--text, #555) !important;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }

/* títulos de seção do formulário */
.woocommerce-checkout #customer_details h3 {
  margin: 0 0 .85rem !important;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--wp--preset--color--border, #E4E7EB);
}

/* fix: padding duplicado action-wrap > fika-main-buy-box aninhados (botao estreito) */
.woocommerce ul.products li.product .product-action-wrap .fika-main-buy-box,
.related.products li.product .product-action-wrap .fika-main-buy-box {
  padding: 0 !important;
}

/* Universos em grade 4x2 — vence o repeat(3) !important do legado */
.pn-category-banners-grid.pn-grid-8 {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 1024px) { .pn-category-banners-grid.pn-grid-8 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 540px)  { .pn-category-banners-grid.pn-grid-8 { grid-template-columns: 1fr !important; } }

/* ============================================================
   11. FOOTER COMPACTO + SELOS de pagamento/seguranca
   ============================================================ */

/* reducao geral de respiro (sobrescreve secao 2) */
.pn-footer-grid {
  padding: clamp(1.75rem, 3.5vw, 2.5rem) 0 1.25rem !important;
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
}
.pn-footer-about img { max-width: 104px !important; margin-bottom: .6rem !important; }
.pn-footer-about p { font-size: .85rem !important; line-height: 1.55 !important; margin: 0 0 .9rem !important; }
.pn-footer-col h4, .pn-footer-col h5 { margin: 0 0 .75rem !important; font-size: .74rem !important; }
.pn-footer-col li { margin: 0 0 .45rem !important; font-size: .84rem !important; }
.pn-footer-social a { width: 34px !important; height: 34px !important; font-size: .9rem !important; }
.pn-footer-copy { padding: .85rem 1rem !important; font-size: .72rem !important; }

/* faixa de selos */
.pn-footer-seals {
  max-width: 1200px;
  width: 92%;
  margin: 0 auto;
  padding: 1rem 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 3rem;
  align-items: flex-start;
  border-top: 1px solid rgba(255,255,255,.08);
}
.pn-seals-label {
  display: block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-bottom: .55rem;
}
.pn-seals-row { display: flex; flex-wrap: wrap; gap: .45rem; }
.pn-seal {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  height: 30px;
  padding: 0 .65rem;
  border-radius: 7px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.85);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}
.pn-seal i { font-size: 1.05rem; line-height: 1; }
.pn-seal .fab.fa-cc-visa,
.pn-seal .fab.fa-cc-mastercard,
.pn-seal .fab.fa-cc-amex { font-size: 1.45rem; }
.pn-seal--text { font-size: .68rem; letter-spacing: .12em; }
.pn-seal--pix i { color: #32BCAD; }
.pn-seal--pagbank i { color: #F9C806; }
.pn-seal--ssl i { color: var(--wp--preset--color--success, #00C48C); }
.pn-seal--ssl b { color: #fff; font-weight: 800; }
.pn-seal .fa-google { color: #fff; }

@media (max-width: 640px) {
  .pn-footer-seals { gap: 1rem; }
}

/* ============================================================
   12. MINI-CART DROPDOWN do header (Kadence) + diagramacao dos
   selos do footer + passe de espacamentos
   ============================================================ */

/* --- dropdown do carrinho no hover do header --- */
.header-cart-inner-wrap .sub-menu {
  min-width: 340px !important;
  background: #fff !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(10,25,44,.16) !important;
  padding: 0 !important;
  overflow: hidden;
}
.header-cart-inner-wrap .menu-item-kadence-cart-dropdown { padding: 1.1rem 1.2rem !important; }

.header-cart-inner-wrap .woocommerce-mini-cart__empty-message {
  margin: 0 !important;
  padding: 1.25rem .5rem !important;
  text-align: center;
  color: var(--wp--preset--color--text, #7A7A7A) !important;
  font-size: .9rem;
}
.header-cart-inner-wrap .woocommerce-mini-cart__empty-message::before {
  content: "\1F6D2";
  display: block;
  font-size: 1.6rem;
  margin-bottom: .4rem;
  opacity: .5;
}

.header-cart-inner-wrap ul.woocommerce-mini-cart {
  list-style: none !important;
  margin: 0 0 .75rem !important;
  padding: 0 !important;
  max-height: 300px;
  overflow-y: auto;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item {
  display: grid !important;
  grid-template-columns: 52px 1fr auto;
  gap: .7rem;
  align-items: center;
  padding: .6rem 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--wp--preset--color--border, #E4E7EB);
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item:last-child { border-bottom: none; }
.header-cart-inner-wrap li.woocommerce-mini-cart-item img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain;
  border-radius: 8px;
  background: #F7F8FA;
  margin: 0 !important;
  float: none !important;
  grid-column: 1;
  grid-row: 1 / 3;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item a:not(.remove) {
  color: var(--wp--preset--color--primary, #192E49) !important;
  font-weight: 600 !important;
  font-size: .82rem !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item .quantity {
  grid-column: 2;
  font-size: .78rem !important;
  color: var(--wp--preset--color--text, #7A7A7A) !important;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item a.remove {
  grid-column: 3;
  grid-row: 1 / 3;
  width: 24px !important;
  height: 24px !important;
  line-height: 22px !important;
  border-radius: 999px !important;
  color: var(--wp--preset--color--danger, #E53E3E) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  font-size: 1rem !important;
  text-align: center;
  transition: background .2s ease, color .2s ease;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item a.remove:hover {
  background: var(--wp--preset--color--danger, #E53E3E) !important;
  color: #fff !important;
}

.header-cart-inner-wrap .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 .8rem !important;
  padding: .7rem 0 0 !important;
  border-top: 1px dashed var(--wp--preset--color--border, #E4E7EB);
  font-size: .9rem;
  color: var(--wp--preset--color--primary, #192E49) !important;
}
.header-cart-inner-wrap .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-weight: 800;
  font-size: 1.05rem;
}

.header-cart-inner-wrap .woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin: 0 !important;
}
.header-cart-inner-wrap .woocommerce-mini-cart__buttons a.button {
  width: 100% !important;
  margin: 0 !important;
  padding: .75rem 1rem !important;
  border-radius: 10px !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
  text-align: center;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
/* Ver carrinho (abre o drawer): outline navy */
.header-cart-inner-wrap .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background: transparent !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  border: 2px solid var(--wp--preset--color--primary, #192E49) !important;
}
.header-cart-inner-wrap .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
}
/* Finalizar: solido navy -> roxo */
.header-cart-inner-wrap .woocommerce-mini-cart__buttons a.button.checkout {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
}
.header-cart-inner-wrap .woocommerce-mini-cart__buttons a.button.checkout:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
}

/* badge de contagem no icone */
.header-cart-wrap .header-cart-total,
.header-cart-inner-wrap .header-cart-total {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

/* --- diagramacao dos selos do footer --- */
.pn-footer-seals {
  justify-content: space-between !important;
  align-items: flex-start !important;
  text-align: left !important;
}
.pn-seals-group { text-align: left !important; }
.pn-seals-label { text-align: left !important; margin-bottom: .5rem !important; }
.pn-seals-row { justify-content: flex-start !important; }

/* --- passe de espacamentos gerais --- */

/* cards: menos vao entre pill PIX e botao */
.woocommerce ul.products li.product .product-action-wrap { padding-top: .55rem !important; }
.woocommerce ul.products li.product .price { margin: .3rem 0 .15rem !important; }

/* archive: barra de resultados/ordenacao mais proxima do grid */
.woocommerce-products-header { margin-bottom: .75rem !important; }
.woocommerce .woocommerce-result-count { margin: 0 0 1rem !important; }
.woocommerce .woocommerce-ordering { margin: 0 0 1rem !important; }

/* home: titulos de secao com ritmo uniforme */
.home .entry-content h2.wp-block-heading { margin-bottom: .4rem; }
.home .entry-content h2.wp-block-heading + p { margin-top: 0; margin-bottom: 1.5rem; }

/* grid de universos: gap consistente com o resto (20px) */
.pn-category-banners-grid.pn-grid-8 { gap: 20px !important; }

/* colunas do grid Woo com gap uniforme */
.woocommerce ul.products { gap: 20px !important; }

/* PDP: tabs nao coladas no buy-box */
.single-product .woocommerce-tabs { margin-top: clamp(1.5rem, 4vw, 2.5rem) !important; }

/* ============================================================
   13. REFINO: mini-cart Kadence, checkout largo, frete,
   pagamentos, login/cupom do checkout e Minha Conta moderna
   ============================================================ */

/* --- 13.1 MINI-CART do header: layout flex robusto --- */
/* o <a> do item contem thumb + nome juntos; grid quebrava o nome */
.header-cart-inner-wrap li.woocommerce-mini-cart-item {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .7rem;
  position: relative;
  padding: .65rem 30px .65rem 0 !important;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item a:not(.remove) {
  display: flex !important;
  align-items: center;
  gap: .7rem;
  flex: 1 1 100%;
  text-align: left;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item img {
  grid-column: unset;
  grid-row: unset;
  flex: 0 0 48px;
  width: 48px !important;
  height: 48px !important;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item .quantity {
  padding-left: calc(48px + .7rem);
  text-align: left;
}
.header-cart-inner-wrap li.woocommerce-mini-cart-item a.remove {
  position: absolute !important;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  grid-column: unset;
  grid-row: unset;
}
/* "Ver carrinho" e redundante (drawer + dropdown ja mostram) — so o CTA */
.header-cart-inner-wrap .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  display: none !important;
}

/* --- 13.2 CHECKOUT mais largo + coluna do resumo maior --- */
body.woocommerce-checkout .content-container.site-container {
  max-width: 1400px !important;
}
.woocommerce-checkout .woocommerce { max-width: 1340px !important; }
.woocommerce-checkout form.checkout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 480px) !important;
}

/* --- 13.3 FRETE: cards de metodo em largura total, sem achatar --- */
.woocommerce-checkout #order_review .woocommerce-shipping-totals th {
  vertical-align: top;
  padding-top: .75rem !important;
}
.woocommerce-checkout #order_review ul#shipping_method {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100%;
}
.woocommerce-checkout #order_review ul#shipping_method li {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout #order_review ul#shipping_method label {
  display: flex !important;
  align-items: center;
  gap: .6rem;
  width: 100%;
  padding: .6rem .8rem !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 10px;
  background: #fff;
  font-size: .84rem !important;
  line-height: 1.35;
  cursor: pointer;
  margin: 0 !important;
  transition: border-color .2s ease, background .2s ease;
}
.woocommerce-checkout #order_review ul#shipping_method li:has(input:checked) label {
  border-color: var(--wp--preset--color--secondary, #00A79D);
  background: rgba(0,167,157,.06);
  box-shadow: 0 0 0 1px var(--wp--preset--color--secondary, #00A79D);
}
.woocommerce-checkout #order_review ul#shipping_method input.shipping_method {
  margin: 0 !important;
  flex: 0 0 auto;
  accent-color: var(--wp--preset--color--secondary, #00A79D);
  width: 16px;
  height: 16px;
}
.woocommerce-checkout #order_review ul#shipping_method label .woocommerce-Price-amount {
  margin-left: auto;
  font-weight: 800;
  color: var(--wp--preset--color--primary, #192E49);
  white-space: nowrap;
}

/* --- 13.5 LOGIN e CUPOM do checkout: cards coerentes --- */
.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 14px !important;
  padding: 1.1rem !important;
  margin: 0 0 .9rem !important;
  background: #fff;
  box-shadow: 0 8px 24px rgba(10,25,44,.05);
}
.woocommerce-checkout form.login p:first-of-type,
.woocommerce-checkout form.checkout_coupon p:first-of-type {
  color: var(--wp--preset--color--text, #7A7A7A);
  font-size: .88rem;
  margin-top: 0;
}
.woocommerce-checkout form.login .input-text,
.woocommerce-checkout form.checkout_coupon .input-text {
  border-radius: 10px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  padding: .7rem 1rem !important;
}
.woocommerce-checkout form.login .input-text:focus,
.woocommerce-checkout form.checkout_coupon .input-text:focus {
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  box-shadow: 0 0 0 3px rgba(101,100,238,.15) !important;
  outline: none;
}
.woocommerce-checkout form.login button.button,
.woocommerce-checkout form.checkout_coupon button.button {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .75rem 1.6rem !important;
  font-weight: 800 !important;
  font-size: .8rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease;
}
.woocommerce-checkout form.login button.button:hover,
.woocommerce-checkout form.checkout_coupon button.button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
}
.woocommerce-checkout form.login .lost_password a { color: var(--wp--preset--color--accent, #6564EE); }
.woocommerce-checkout form.checkout_coupon { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.woocommerce-checkout form.checkout_coupon p { margin: 0 !important; }
.woocommerce-checkout form.checkout_coupon p.form-row-first { flex: 1 1 260px; }
.woocommerce-checkout form.checkout_coupon p.form-row-first .input-text { width: 100%; }
.woocommerce-checkout form.checkout_coupon p:first-of-type { flex: 1 1 100%; }

/* --- 13.6 MINHA CONTA: login + painel modernos (vence o verde legado) --- */

/* login/registro em cards */
body.woocommerce-account #customer_login h2 {
  font-size: 1.05rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--wp--preset--color--primary, #192E49) !important;
  margin-bottom: 1rem;
}
body.woocommerce-account #customer_login .col-1,
body.woocommerce-account #customer_login .col-2,
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 14px !important;
  padding: 1.75rem !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(10,25,44,.05) !important;
}
body.woocommerce-account .woocommerce form .form-row .input-text {
  border-radius: 10px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  padding: .7rem 1rem !important;
}
body.woocommerce-account .woocommerce form .form-row .input-text:focus {
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  box-shadow: 0 0 0 3px rgba(101,100,238,.15) !important;
  outline: none;
}
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce a.button {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: .8rem 1.6rem !important;
  font-weight: 800 !important;
  font-size: .8rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  transition: background .2s ease !important;
  box-shadow: none !important;
}
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce a.button:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  color: #fff !important;
}
body.woocommerce-account .lost_password a,
body.woocommerce-account .woocommerce-privacy-policy-text a {
  color: var(--wp--preset--color--accent, #6564EE) !important;
}

/* navegacao do painel: pills navy/roxa em vez do verde antigo */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  border-radius: 10px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  background: #fff !important;
  overflow: hidden;
  transition: border-color .2s ease !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center;
  gap: .6rem;
  padding: .75rem 1rem !important;
  font-weight: 600 !important;
  font-size: .86rem !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  text-decoration: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover a {
  background: var(--wp--preset--color--primary, #192E49) !important;
  border-color: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  color: #fff !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
  color: inherit !important;
}

/* conteudo do painel em card */
body.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px;
  padding: 1.75rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(10,25,44,.05);
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: var(--wp--preset--color--primary, #192E49) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: var(--wp--preset--color--accent, #6564EE) !important;
}
body.woocommerce-account table.woocommerce-orders-table {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 12px !important;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
body.woocommerce-account table.woocommerce-orders-table th {
  background: #F7F8FA !important;
  text-transform: uppercase;
  font-size: .72rem !important;
  letter-spacing: .08em;
  color: var(--wp--preset--color--primary, #192E49) !important;
}

/* Minha Conta: login/registro lado a lado + sem borda dupla interna */
body.woocommerce-account #customer_login,
body.woocommerce-account .u-columns.col2-set {
  display: flex !important;
  flex-wrap: wrap;
  gap: 24px;
  align-items: stretch;
}
body.woocommerce-account #customer_login .col-1,
body.woocommerce-account #customer_login .col-2,
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
  flex: 1 1 380px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce-account #customer_login form {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   14. FIXES: icone da conta sempre visivel + texto escuro no
   dropdown do carrinho (vence o CSS dinamico do Kadence)
   ============================================================ */
#masthead .pn-header-account-icon,
#masthead .pn-header-account-icon svg {
  color: #fff !important;
  stroke: currentColor;
  opacity: 1 !important;
  visibility: visible !important;
}
#masthead .pn-header-account-icon:hover,
#masthead .pn-header-account-icon:hover svg {
  color: var(--wp--preset--color--secondary, #00A79D) !important;
}

/* dropdown do carrinho tem fundo BRANCO: todo texto escuro */
#masthead .header-cart-inner-wrap ul.sub-menu li.woocommerce-mini-cart-item a:not(.remove),
#masthead .header-cart-inner-wrap ul.sub-menu li.woocommerce-mini-cart-item a:not(.remove):hover {
  color: var(--wp--preset--color--primary, #192E49) !important;
}
#masthead .header-cart-inner-wrap ul.sub-menu .quantity,
#masthead .header-cart-inner-wrap ul.sub-menu .quantity .woocommerce-Price-amount {
  color: var(--wp--preset--color--text, #7A7A7A) !important;
}
#masthead .header-cart-inner-wrap ul.sub-menu .woocommerce-mini-cart__total,
#masthead .header-cart-inner-wrap ul.sub-menu .woocommerce-mini-cart__total strong,
#masthead .header-cart-inner-wrap ul.sub-menu .woocommerce-mini-cart__total .woocommerce-Price-amount {
  color: var(--wp--preset--color--primary, #192E49) !important;
}
#masthead .header-cart-inner-wrap ul.sub-menu .woocommerce-mini-cart__empty-message {
  color: var(--wp--preset--color--text, #7A7A7A) !important;
}

/* ============================================================
   15. DRAWER LATERAL v2 — mais elegante (o carrinho oficial do
   site agora: dropdown do header foi desativado)
   ============================================================ */
#pn-side-cart-drawer.pn-sc-drawer {
  width: min(400px, 92vw) !important;
  border-radius: 20px 0 0 20px !important;
  box-shadow: -24px 0 60px rgba(10,25,44,.28) !important;
}
#pn-side-cart-drawer .pn-sc-header {
  background: linear-gradient(135deg, var(--wp--preset--color--primary-dark, #0A192C), var(--wp--preset--color--primary, #192E49)) !important;
  padding: 1.1rem 1.25rem !important;
}
#pn-side-cart-drawer .pn-sc-title {
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
}
#pn-side-cart-drawer .pn-sc-badge {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  border-radius: 999px !important;
  min-width: 22px;
  text-align: center;
}

/* itens: linhas respiradas com thumb suave */
#pn-side-cart-drawer .pn-sc-item {
  padding: .8rem 0 !important;
  border-bottom: 1px solid var(--wp--preset--color--border, #EEF1F5) !important;
  align-items: center !important;
}
#pn-side-cart-drawer .pn-sc-item-thumb img {
  width: 56px !important;
  height: 56px !important;
  object-fit: contain;
  border-radius: 10px !important;
  background: #F7F8FA !important;
  padding: .3rem;
}
#pn-side-cart-drawer .pn-sc-item-title,
#pn-side-cart-drawer .pn-sc-item-title a {
  font-size: .84rem !important;
  font-weight: 700 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  line-height: 1.3 !important;
}
#pn-side-cart-drawer .pn-sc-item-qty {
  display: inline-flex;
  align-items: center;
  background: #F1F4F9;
  border-radius: 999px;
  padding: .1rem .5rem;
  font-size: .72rem !important;
  font-weight: 700;
  color: var(--wp--preset--color--primary, #192E49);
}
#pn-side-cart-drawer .pn-sc-item-price {
  font-weight: 800 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  font-size: .86rem !important;
}
#pn-side-cart-drawer .pn-sc-remove-btn {
  color: #B7C0CC !important;
  transition: color .2s ease, transform .15s ease;
}
#pn-side-cart-drawer .pn-sc-remove-btn:hover {
  color: var(--wp--preset--color--danger, #E53E3E) !important;
  transform: scale(1.1);
}

/* blocos de cupom e frete: cards cinza-claros com titulos mini-caps */
#pn-side-cart-drawer .pn-sc-coupon-wrapper,
#pn-side-cart-drawer .pn-sc-shipping-wrapper {
  background: #F7F9FC !important;
  border: 1px solid var(--wp--preset--color--border, #EEF1F5) !important;
  border-radius: 12px !important;
  padding: .9rem 1rem !important;
  margin: .9rem 0 0 !important;
}
#pn-side-cart-drawer .pn-sc-section-title {
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
  color: var(--wp--preset--color--primary, #192E49) !important;
  margin-bottom: .55rem !important;
}
#pn-side-cart-drawer .pn-sc-input {
  border-radius: 9px !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  padding: .55rem .8rem !important;
  font-size: .82rem !important;
  background: #fff !important;
}
#pn-side-cart-drawer .pn-sc-input:focus {
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  box-shadow: 0 0 0 3px rgba(101,100,238,.12) !important;
  outline: none;
}
#pn-side-cart-drawer .pn-sc-action-btn {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: .55rem 1rem !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease;
}
#pn-side-cart-drawer .pn-sc-action-btn:hover { background: var(--wp--preset--color--accent, #6564EE) !important; }

/* metodos de frete no drawer */
#pn-side-cart-drawer .pn-sc-shipping-label {
  display: flex !important;
  align-items: center;
  gap: .5rem;
  padding: .55rem .7rem !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
  margin-bottom: .4rem;
  transition: border-color .2s ease;
}
#pn-side-cart-drawer .pn-sc-shipping-radio { accent-color: var(--wp--preset--color--secondary, #00A79D); }
#pn-side-cart-drawer .pn-sc-shipping-method-item:has(input:checked) .pn-sc-shipping-label {
  border-color: var(--wp--preset--color--secondary, #00A79D);
  background: rgba(0,167,157,.05);
}
#pn-side-cart-drawer .pn-sc-method-cost { margin-left: auto; font-weight: 800; color: var(--wp--preset--color--primary, #192E49); }

/* rodape: totais + CTA */
#pn-side-cart-drawer .pn-sc-footer {
  border-top: 1px solid var(--wp--preset--color--border, #EEF1F5) !important;
  box-shadow: 0 -10px 24px rgba(10,25,44,.05);
  padding: 1rem 1.25rem 1.25rem !important;
  background: #fff !important;
}
#pn-side-cart-drawer .pn-sc-total-row { font-size: .82rem !important; }
#pn-side-cart-drawer .pn-sc-grand-total-row {
  font-size: 1rem !important;
  padding-top: .6rem;
  margin-top: .4rem;
  border-top: 1px dashed var(--wp--preset--color--border, #E4E7EB);
}
#pn-side-cart-drawer .pn-sc-grand-total-row .pn-sc-val {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
}
#pn-side-cart-drawer .pn-sc-btn-checkout {
  background: var(--wp--preset--color--success, #00C48C) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: .95rem 1.2rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .82rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  transition: filter .2s ease, transform .15s ease;
}
#pn-side-cart-drawer .pn-sc-btn-checkout:hover { filter: brightness(1.07); transform: translateY(-1px); }

/* estado vazio */
#pn-side-cart-drawer .pn-sc-empty-state { padding: 2.5rem 1.5rem !important; }
#pn-side-cart-drawer .pn-sc-empty-msg { color: var(--wp--preset--color--text, #7A7A7A) !important; }
#pn-side-cart-drawer .pn-sc-btn-continue {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: .8rem 1.5rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  font-size: .78rem !important;
  text-decoration: none !important;
}

/* Minha Conta logada: grid nav 280px + conteudo (mata os floats legados) */
body.woocommerce-account.logged-in .entry-content > .woocommerce {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  max-width: none;   /* largura total do container: alinhado a header/footer */
  width: 100%;
  margin: 0;
}
body.woocommerce-account.logged-in .entry-content > .woocommerce > *:not(.account-navigation-wrap):not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) {
  grid-column: 1 / -1;
}
/* Kadence embrulha avatar + nav em .account-navigation-wrap: essa e a coluna 1.
   O Kadence tem grid proprio de conta (kadence-account-nav-right) — column/row
   explicitos com !important para vencer. */
body.woocommerce-account.logged-in .entry-content > .woocommerce > .account-navigation-wrap {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.woocommerce-account.logged-in .account-navigation-wrap .woocommerce-MyAccount-navigation {
  width: auto !important;
  float: none !important;
}
body.woocommerce-account.logged-in .kadence-account-avatar {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 12px;
  margin-bottom: .75rem;
}
body.woocommerce-account.logged-in .kadence-account-avatar img { border-radius: 999px; }
body.woocommerce-account.logged-in .kadence-customer-name {
  font-weight: 700;
  color: var(--wp--preset--color--primary, #192E49);
  font-size: .9rem;
}
body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-content {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-height: 320px;
}

/* ============================================================
   16. CORRECOES FINAIS: pagamento (dono unico do design),
   frete (input irmao do label), hero de titulo compacto,
   painel Minha Conta com respiro certo
   ============================================================ */

/* --- 16.2 FRETE: o input do Woo e IRMAO do label — o card e o li --- */
.woocommerce-checkout #order_review ul#shipping_method li {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  padding: .75rem .9rem !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 10px !important;
  background: #fff !important;
  transition: border-color .2s ease, background .2s ease;
}
.woocommerce-checkout #order_review ul#shipping_method li label {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  flex: 1 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  font-size: .84rem !important;
}
.woocommerce-checkout #order_review ul#shipping_method li:has(input:checked) {
  border-color: var(--wp--preset--color--secondary, #00A79D) !important;
  background: rgba(0,167,157,.06) !important;
  box-shadow: 0 0 0 1px var(--wp--preset--color--secondary, #00A79D) !important;
}

/* --- 16.3 HERO de titulo compacto em todas as paginas --- */
.entry-hero-container-inner {
  padding-top: 1.4rem !important;
  padding-bottom: 1.4rem !important;
}
.entry-hero .entry-header,
.entry-hero .entry-hero-container-inner .entry-header {
  min-height: 0 !important;
  padding: 0 !important;
}
.entry-hero .entry-title,
.woocommerce-products-header .woocommerce-products-header__title {
  font-size: clamp(1.5rem, 2.6vw, 2.1rem) !important;
  margin: 0 !important;
}

/* --- 16.4 PAINEL Minha Conta: respiro e alinhamento do conteudo --- */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  padding: 2rem !important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
body.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content h3 {
  font-size: 1rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 1rem !important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content p {
  line-height: 1.65;
  font-size: .92rem;
}
/* header dos enderecos: titulo + editar na mesma linha, sem float torto */
body.woocommerce-account .addresses .title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: .75rem;
}
body.woocommerce-account .addresses .title h3 { float: none !important; margin: 0 !important; }
body.woocommerce-account .addresses .title .edit { float: none !important; padding: 0 !important; font-weight: 700; }
body.woocommerce-account .woocommerce-Address address,
body.woocommerce-account .addresses address {
  font-style: normal;
  line-height: 1.7;
  color: var(--wp--preset--color--text, #555);
}
/* tabelas do painel sempre 100% */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content table {
  width: 100% !important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content td,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content th {
  padding: .7rem .9rem !important;
  font-size: .86rem !important;
}
/* forms do painel */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 12px;
  padding: 1.25rem;
  margin: 1.25rem 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content legend {
  font-weight: 800;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 0 .5rem;
}
/* feedback do AJAX de abas */
.woocommerce-MyAccount-content { transition: opacity .18s ease; }
.woocommerce-MyAccount-content.pn-acc-loading { opacity: .45; pointer-events: none; }

/* ============================================================
   17. MINHA CONTA app-like: spinner de loading, avatar editavel
   com modal, dashboard em cards
   ============================================================ */

/* loading: spinner central em vez de so opacidade */
body.woocommerce-account .woocommerce-MyAccount-content { position: relative; }
.woocommerce-MyAccount-content.pn-acc-loading::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 34px; height: 34px;
  margin: -17px 0 0 -17px;
  border-radius: 999px;
  border: 3px solid rgba(101,100,238,.2);
  border-top-color: var(--wp--preset--color--accent, #6564EE);
  animation: pn-spin .7s linear infinite;
  z-index: 2;
}
@keyframes pn-spin { to { transform: rotate(360deg); } }

/* avatar: cursor + lapis de edicao no hover */
body.woocommerce-account .kadence-customer-image { cursor: pointer; }
body.woocommerce-account .kadence-customer-image::after {
  content: "✎";
  position: absolute;
  right: -4px; bottom: -4px;
  width: 20px; height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--accent, #6564EE);
  color: #fff;
  font-size: .62rem;
  border-radius: 999px;
  border: 2px solid #fff;
  pointer-events: none;
}
body.woocommerce-account .kt-link-to-gravatar { pointer-events: auto; }

/* modal do avatar */
.pn-avatar-modal { position: fixed; inset: 0; z-index: 100000; }
.pn-avatar-backdrop {
  position: absolute; inset: 0;
  background: rgba(10,25,44,.6);
  backdrop-filter: blur(3px);
}
.pn-avatar-dialog {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(400px, 92vw);
  background: #fff;
  border-radius: 18px;
  padding: 1.75rem;
  box-shadow: 0 30px 80px rgba(10,25,44,.35);
  text-align: center;
}
.pn-avatar-dialog h3 {
  margin: 0 0 1.1rem;
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--wp--preset--color--primary, #192E49);
}
.pn-avatar-x {
  position: absolute;
  top: .8rem; right: .8rem;
  width: 32px; height: 32px;
  border: none;
  border-radius: 999px;
  background: #F1F4F9;
  color: var(--wp--preset--color--primary, #192E49);
  font-size: .85rem;
  cursor: pointer;
  transition: background .2s ease;
}
.pn-avatar-x:hover { background: var(--wp--preset--color--danger, #E53E3E); color: #fff; }
.pn-avatar-preview {
  width: 120px; height: 120px;
  margin: 0 auto 1rem;
  border-radius: 999px;
  overflow: hidden;
  border: 3px solid var(--wp--preset--color--accent, #6564EE);
  box-shadow: 0 8px 20px rgba(101,100,238,.25);
}
.pn-avatar-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pn-avatar-file-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .6rem 1.2rem;
  border-radius: 10px;
  border: 2px dashed var(--wp--preset--color--accent, #6564EE);
  color: var(--wp--preset--color--accent, #6564EE);
  font-weight: 700;
  font-size: .82rem;
  cursor: pointer;
  transition: background .2s ease;
}
.pn-avatar-file-btn:hover { background: rgba(101,100,238,.07); }
.pn-avatar-hint { font-size: .74rem; color: var(--wp--preset--color--text, #7A7A7A); margin: .6rem 0 0; }
.pn-avatar-msg { font-size: .8rem; font-weight: 700; color: var(--wp--preset--color--success, #00C48C); margin: .6rem 0 0; }
.pn-avatar-msg--error { color: var(--wp--preset--color--danger, #E53E3E); }
.pn-avatar-actions { display: flex; gap: .6rem; justify-content: center; margin-top: 1.1rem; }
.pn-avatar-actions button {
  border: none;
  border-radius: 10px;
  padding: .7rem 1.3rem;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, opacity .2s ease;
}
.pn-avatar-cancel { background: #F1F4F9; color: var(--wp--preset--color--primary, #192E49); }
.pn-avatar-cancel:hover { background: #E4E9F0; }
#pn-avatar-save { background: var(--wp--preset--color--accent, #6564EE); color: #fff; }
#pn-avatar-save:hover { background: var(--wp--preset--color--primary, #192E49); }
#pn-avatar-save:disabled { opacity: .45; cursor: not-allowed; }

/* dashboard em cards */
.pn-dash-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 1.25rem;
}
@media (max-width: 560px) { .pn-dash-grid { grid-template-columns: 1fr; } }
.pn-dash-card {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px;
  background: #fff;
  text-decoration: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.pn-dash-card:hover {
  border-color: var(--wp--preset--color--accent, #6564EE);
  box-shadow: 0 10px 26px rgba(10,25,44,.09);
  transform: translateY(-2px);
}
.pn-dash-icon {
  width: 44px; height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: rgba(101,100,238,.1);
  color: var(--wp--preset--color--accent, #6564EE);
  margin-bottom: .5rem;
}
.pn-dash-title {
  font-weight: 800 !important;
  font-size: .9rem !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
}
.pn-dash-desc {
  font-size: .78rem !important;
  color: var(--wp--preset--color--text, #7A7A7A) !important;
}

/* Minha Conta: ajustes finos — pills em 1 linha + enderecos lado a lado */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  white-space: nowrap !important;
  font-size: .8rem !important;
  padding: .75rem .9rem !important;
}

/* enderecos (cobranca + entrega) lado a lado */
body.woocommerce-account .woocommerce-MyAccount-content .u-columns.col2-set,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set.addresses {
  display: flex !important;
  flex-wrap: wrap;
  gap: 20px !important;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .col2-set .col-1,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set .col-2,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .col2-set .address {
  flex: 1 1 300px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}

/* enderecos lado a lado: cobre TODAS as variantes de wrapper do Woo */
body.woocommerce-account .woocommerce-MyAccount-content .u-columns,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.woocommerce-account .woocommerce-MyAccount-content .addresses {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  margin: 1rem 0 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .u-columns > div,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > div,
body.woocommerce-account .woocommerce-MyAccount-content .addresses > div {
  flex: 1 1 300px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* link "Editar endereco de..." vira botao compacto "Editar" */
body.woocommerce-account .addresses .title .edit,
body.woocommerce-account .woocommerce-Address .title .edit {
  font-size: 0 !important;
  line-height: 0 !important;
  display: inline-flex !important;
  align-items: center;
  text-decoration: none !important;
}
body.woocommerce-account .addresses .title .edit::after,
body.woocommerce-account .woocommerce-Address .title .edit::after {
  content: "Editar \270e";
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent, #6564EE);
  border: 1.5px solid var(--wp--preset--color--accent, #6564EE);
  border-radius: 8px;
  padding: .35rem .65rem;
  line-height: 1;
  transition: background .2s ease, color .2s ease;
}
body.woocommerce-account .addresses .title .edit:hover::after,
body.woocommerce-account .woocommerce-Address .title .edit:hover::after {
  background: var(--wp--preset--color--accent, #6564EE);
  color: #fff;
}

/* ==========================================================================
   19. TOAST NOTIFICATIONS — avisos WooCommerce como popup auto-dismiss
   ========================================================================== */
#pn-toast-container {
  position: fixed;
  top: 86px;
  right: 1.25rem;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  max-width: min(380px, calc(100vw - 2.5rem));
  pointer-events: none;
}
.pn-toast {
  pointer-events: auto;
  position: relative;
  background: #fff;
  border-radius: 14px;
  border-left: 4px solid var(--wp--preset--color--accent, #6564EE);
  box-shadow: 0 16px 40px rgba(10,25,44,.16), 0 0 0 1px rgba(10,25,44,.07);
  padding: .9rem 2.8rem .9rem 1.1rem;
  font-size: .88rem;
  line-height: 1.5;
  color: var(--wp--preset--color--primary, #192E49);
  animation: pn-toast-in .35s cubic-bezier(.21, 1.02, .73, 1) both;
}
.pn-toast--success { border-left-color: var(--wp--preset--color--success, #00C48C); }
.pn-toast--error   { border-left-color: var(--wp--preset--color--danger,  #E53E3E); }
.pn-toast--info    { border-left-color: var(--wp--preset--color--secondary, #00A79D); }
.pn-toast--out     { animation: pn-toast-out .35s ease both; }
@keyframes pn-toast-in  { from { opacity:0; transform:translateX(28px); } to { opacity:1; transform:translateX(0); } }
@keyframes pn-toast-out { from { opacity:1; transform:translateX(0); } to { opacity:0; transform:translateX(28px); } }
.pn-toast-close {
  position: absolute;
  top: .65rem; right: .65rem;
  width: 22px; height: 22px;
  border: none;
  border-radius: 999px;
  background: #F1F4F9;
  color: var(--wp--preset--color--text, #7A7A7A);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s ease, color .15s ease;
}
.pn-toast-close:hover { background: var(--wp--preset--color--danger, #E53E3E); color: #fff; }
.pn-toast a { color: var(--wp--preset--color--accent, #6564EE); font-weight: 700; }
/* strip WC icons (css-only, não DOM) */
.pn-toast::before { display: none !important; }

/* ==========================================================================
   20. CHECKOUT: row-gap zero entre heading e card + cupom na posição certa
   ========================================================================== */

/* O gap do grid se aplica tanto a colunas quanto a linhas; o heading (row:1)
   e o order_review (row:2) ficavam separados pelo row-gap. */
.woocommerce-checkout form.checkout {
  row-gap: 0 !important;
  column-gap: clamp(1.5rem, 4vw, 3rem) !important;
}

/* "SEU PEDIDO" heading acoplado ao topo do card de resumo */
.woocommerce-checkout #order_review_heading {
  margin-bottom: 0 !important;
  border-radius: 14px 14px 0 0 !important;
}
.woocommerce-checkout #order_review {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Cupom movido para dentro do resumo (antes do pagamento) */
.pn-checkout-coupon-wrap {
  margin: .75rem 0 1rem;
  border-top: 1px dashed var(--wp--preset--color--border, #E4E7EB);
  padding-top: .75rem;
}
.pn-checkout-coupon-wrap .woocommerce-form-coupon-toggle .woocommerce-info {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0 .4rem !important;
  margin: 0 !important;
  font-size: .82rem !important;
}
.pn-checkout-coupon-wrap form.checkout_coupon {
  border: none !important;
  border-radius: 10px !important;
  padding: .85rem !important;
  margin: 0 !important;
  background: #F7F9FC !important;
  box-shadow: none !important;
}

/* ==========================================================================
   21. TRUST BAR: selos de segurança abaixo do FINALIZAR PEDIDO
   ========================================================================== */
.fika-trust-bar {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .4rem !important;
  margin-top: .75rem !important;
  padding-top: .75rem !important;
}
.fika-trust-bar .trust-item {
  gap: .55rem !important;
  font-size: .82rem !important;
  font-weight: 500 !important;
}
.fika-trust-bar .trust-item i {
  width: 18px;
  text-align: center;
  font-size: .9rem !important;
  flex-shrink: 0;
}

/* ==========================================================================
   18. CARDS: parcelamento (1 linha compacta) + botao COMPRAR aprimorado
   O .product-action-wrap ja tem margin-top:auto (Secao 9) — ele empurra
   installment+botao pro fundo. .pn-installment apenas precisa de flex row.
   ========================================================================== */

.woocommerce ul.products li.product .pn-installment {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: .25rem !important;
  padding: .2rem 0 .4rem !important;  /* sem padding horizontal — action-wrap cuida disso */
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product .pn-installment b {
  font-size: .78rem !important;
  font-weight: 800 !important;
  color: var(--wp--preset--color--secondary, #00A79D) !important;
  font-style: normal !important;
}
.woocommerce ul.products li.product .pn-installment span {
  font-size: .68rem !important;
  color: #9A9AB0 !important;
  font-weight: 400 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Botao COMPRAR: 46px min-height, uppercase, peso 800 */
.woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button,
.woocommerce ul.products li.product .fika-main-buy-box a.button {
  min-height: 46px !important;
  height: auto !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

/* ==========================================================================
   22. CARDS v3 — botão COMPRAR oculto por padrão, slide-in no hover
   Referência: jryal.com.br — card limpo, botão desliza de baixo no hover.
   ========================================================================== */

/* Image wrapper: clip do zoom + transição */
.woocommerce ul.products li.product > a:first-of-type {
  overflow: hidden !important;
}
.woocommerce ul.products li.product > a:first-of-type img,
.woocommerce ul.products li.product .pn-product-image-wrapper {
  transition: transform .4s cubic-bezier(.4,0,.2,1) !important;
}
.woocommerce ul.products li.product:hover > a:first-of-type img,
.woocommerce ul.products li.product:hover .pn-product-image-wrapper {
  transform: scale(1.05) !important;
}

/* Action-wrap + botão COMPRAR: regras consolidadas na Seção 26 (fonte única). */

/* ==========================================================================
   23. CHECKOUT: fixes finais — cupom compacto + pagamentos alinhados
   ========================================================================== */

/* Remove o toggle "Clique aqui" — cupom já está visível direto */
.pn-checkout-coupon-wrap .woocommerce-form-coupon-toggle {
  display: none !important;
}
/* Título compacto do bloco de cupom */
.pn-checkout-coupon-wrap::before {
  content: "Cupom de desconto";
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--text, #7A7A7A);
  margin-bottom: .55rem;
}
/* Força o form do cupom sempre visível (WC default é display:none) */
.pn-checkout-coupon-wrap form.checkout_coupon {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .6rem !important;
  align-items: center !important;
}
.pn-checkout-coupon-wrap form.checkout_coupon p.form-row-first {
  flex: 1 1 200px !important;
  margin: 0 !important;
}
.pn-checkout-coupon-wrap form.checkout_coupon p.form-row-first .input-text {
  width: 100% !important;
}
.pn-checkout-coupon-wrap form.checkout_coupon p.form-row-last {
  flex: 0 0 auto !important;
  margin: 0 !important;
}


/* ==========================================================================
   25. CARDS — ESPAÇAMENTO COMPACTO (fonte única de verdade)
   Consolida e sobrescreve todos os paddings espalhados nas seções 1, 9, 12,
   18 e 22. Horizontal uniforme de .85rem; verticals reduzidos ao mínimo útil.
   Cobre /loja/, categorias, home ([products]) e relacionados na PDP.
   ========================================================================== */

/* Garante position relative para o botão absoluto funcionar */
.woocommerce ul.products li.product,
.related.products li.product {
  position: relative !important;
}

/* Esconde texto de link (nome do produto) que aparece na área da imagem em produtos sem foto */
.woocommerce ul.products li.product > a:first-of-type,
.related.products li.product > a:first-of-type {
  font-size: 0 !important;
  color: transparent !important;
}

/* — Área de imagem — */
.woocommerce ul.products li.product > a:first-of-type,
.related.products li.product > a:first-of-type {
  padding: .65rem .65rem 0 !important;
}
/* Imagem quadrada: padding interno menor, sem margin-bottom excessiva */
.woocommerce ul.products li.product a img,
.related.products li.product a img,
.woocommerce ul.products li.product .pn-product-image-wrapper,
.related.products li.product .pn-product-image-wrapper {
  padding: .45rem !important;
  margin-bottom: .5rem !important;
  border-radius: 8px !important;
}

/* — Título — */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.related.products li.product .woocommerce-loop-product__title {
  padding: 0 .85rem !important;
  font-size: .93rem !important;
  min-height: 2.6em !important;
  margin-bottom: .35rem !important;
  line-height: 1.3 !important;
}

/* — Preço — */
.woocommerce ul.products li.product .price,
.related.products li.product .price {
  padding: 0 .85rem !important;
  margin: .15rem 0 .1rem !important;
  gap: .18rem !important;
}
.woocommerce ul.products li.product .price > .woocommerce-Price-amount,
.related.products li.product .price > .woocommerce-Price-amount {
  font-size: 1.2rem !important;
}
.woocommerce ul.products li.product .price .rm-pagbank-price,
.related.products li.product .price .rm-pagbank-price {
  font-size: .7rem !important;
  padding: .18rem .5rem !important;
}

/* — Parcelamento — logo após o preço; texto completo ("sem juros") sem truncar.
   Anula o nowrap/ellipsis da Seção 18: deixa fluir em bloco, quebrando se preciso. */
.woocommerce ul.products li.product .pn-installment,
.related.products li.product .pn-installment {
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  line-height: 1.25 !important;
  padding: .05rem .85rem .65rem !important;
}
.woocommerce ul.products li.product .pn-installment b,
.related.products li.product .pn-installment b { font-size: .82rem !important; }
.woocommerce ul.products li.product .pn-installment span,
.related.products li.product .pn-installment span {
  font-size: .75rem !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* ==========================================================================
   26. AÇÃO/BOTÃO COMPRAR — fonte única (substitui Seções 9 e 22)
   O botão é ancorado ao .product-details (MESMO box que título/preço/parcelamento),
   usando o mesmo offset horizontal .85rem → alinhamento perfeito em loja, home e
   relacionados na PDP, sem depender do padding do li.product.
   ========================================================================== */

/* Wrapper de conteúdo vira o contexto de posicionamento do botão */
.woocommerce ul.products li.product .product-details,
.related.products li.product .product-details {
  position: relative !important;
}

/* Action-wrap: passthrough colapsado — anula o position:absolute do Kadence */
.woocommerce ul.products li.product .product-action-wrap,
.related.products li.product .product-action-wrap {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  opacity: 1 !important;
  inset: auto !important;
  width: auto !important;
  transition: none !important;
}

/* Botão COMPRAR: absoluto no rodapé do .product-details, alinhado ao texto (.85rem) */
.woocommerce ul.products li.product .fika-main-buy-box,
.related.products li.product .fika-main-buy-box {
  position: absolute !important;
  left: .85rem !important;
  right: .85rem !important;
  bottom: .85rem !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform-origin: top center !important;
  transform: scaleY(0) !important;
  transition: opacity .2s ease, transform .25s cubic-bezier(.4,0,.2,1) !important;
}
/* Hover: "cai" do topo ao rodapé do card, sobrepondo o parcelamento */
.woocommerce ul.products li.product:hover .fika-main-buy-box,
.related.products li.product:hover .fika-main-buy-box {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scaleY(1) !important;
}

/* — Badge NOVO/OFERTA — reposiciona para o novo padding menor — */
.pn-card-ribbon { top: 1rem !important; left: 1rem !important; }

/* ==========================================================================
   27. TOUCH / MOBILE — cards, PDP e checkout
   Em telas sem hover o botão COMPRAR NÃO pode depender de :hover — ele ficaria
   invisível para sempre. Aqui ele volta ao fluxo normal (sem position:absolute),
   então também não sobrepõe preço/parcelamento.
   ========================================================================== */

@media (hover: none), (pointer: coarse) {

  /* action-wrap volta a ocupar espaço real no fluxo */
  .woocommerce ul.products li.product .product-action-wrap,
  .related.products li.product .product-action-wrap {
    height: auto !important;
    padding: .15rem .85rem .85rem !important;
  }

  /* Botão sempre visível e no fluxo — nada de absoluto/scaleY no touch */
  .woocommerce ul.products li.product .fika-main-buy-box,
  .related.products li.product .fika-main-buy-box {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
    z-index: auto !important;
  }

  /* Estados :hover "grudam" depois do toque no mobile — neutraliza */
  .woocommerce ul.products li.product:hover,
  .related.products li.product:hover {
    transform: none !important;
    box-shadow: none !important;
  }
  .woocommerce ul.products li.product:hover > a:first-of-type img,
  .woocommerce ul.products li.product:hover .pn-product-image-wrapper {
    transform: none !important;
  }
  .woocommerce ul.products li.product:hover .product-action-wrap,
  .related.products li.product:hover .product-action-wrap {
    padding-bottom: .85rem !important;
  }
}

/* ---------- Telas estreitas: card mais enxuto ---------- */
@media (max-width: 480px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .related.products li.product .woocommerce-loop-product__title {
    font-size: .82rem !important;
    min-height: 2.5em !important;
    padding: 0 .7rem !important;
    margin-bottom: .25rem !important;
  }
  .woocommerce ul.products li.product .price,
  .related.products li.product .price { padding: 0 .7rem !important; }
  .woocommerce ul.products li.product .price > .woocommerce-Price-amount,
  .related.products li.product .price > .woocommerce-Price-amount {
    font-size: 1.05rem !important;
  }
  .woocommerce ul.products li.product .pn-installment,
  .related.products li.product .pn-installment { padding: .05rem .7rem .5rem !important; }
  .woocommerce ul.products li.product .pn-installment b { font-size: .76rem !important; }
  .woocommerce ul.products li.product .pn-installment span { font-size: .7rem !important; }

  .woocommerce ul.products li.product .product-action-wrap,
  .related.products li.product .product-action-wrap { padding: .1rem .7rem .7rem !important; }

  .woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button,
  .related.products li.product .fika-main-buy-box .add_to_cart_button,
  .woocommerce ul.products li.product .fika-main-buy-box a.button {
    height: 38px !important;
    font-size: .72rem !important;
  }

  /* Selo NOVO/OFERTA acompanha o padding menor */
  .pn-card-ribbon { top: .7rem !important; left: .7rem !important; font-size: .58rem !important; }

  /* Grade: 2 colunas com gap menor para o card respirar */
  .woocommerce ul.products { gap: 12px !important; }
}

/* ==========================================================================
   28. MOBILE — PDP e CHECKOUT
   ========================================================================== */

@media (max-width: 768px) {

  /* --- iOS: input com fonte < 16px faz o Safari dar ZOOM ao focar, o que
     desalinha todo o checkout. 16px trava esse comportamento. --- */
  .woocommerce-checkout input[type="text"],
  .woocommerce-checkout input[type="email"],
  .woocommerce-checkout input[type="tel"],
  .woocommerce-checkout input[type="number"],
  .woocommerce-checkout input[type="password"],
  .woocommerce-checkout textarea,
  .woocommerce-checkout select,
  .woocommerce-cart input[type="text"],
  .woocommerce-cart select {
    font-size: 16px !important;
    min-height: 46px !important;
  }
  .woocommerce-checkout .select2-container .select2-selection--single {
    height: 46px !important;
  }
  .woocommerce-checkout .select2-container .select2-selection__rendered {
    line-height: 46px !important;
    font-size: 16px !important;
  }

  /* Campos em uma coluna só — evita par de campos espremido */
  .woocommerce-checkout form.checkout .form-row {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Cartão do resumo sem sticky no mobile (em fluxo block a sticky "pula") */
  .woocommerce-checkout #order_review { position: static !important; }

  /* Padding interno menor para ganhar largura útil */
  .woocommerce-checkout form.checkout #customer_details { padding: .9rem !important; }
  .woocommerce-checkout #order_review_heading { padding: .7rem .9rem !important; }

  /* CTA principal confortável para o dedo */
  .woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 52px !important;
    font-size: .95rem !important;
  }

  /* --- PDP --- */
  .single-product .fika-main-buy-box {
    max-width: 100% !important;
    gap: 10px !important;
  }
  .single-product .fika-main-buy-box button.single_add_to_cart_button,
  .single-product .fika-main-buy-box .add_to_cart_button {
    min-height: 48px !important;
    padding: 0 16px !important;
  }
  .single-product .fika-qty-row { height: 48px !important; }
}

/* Telas bem estreitas: qty e botão em linhas separadas na PDP */
@media (max-width: 400px) {
  .single-product .fika-main-buy-box .fika-qty-row { width: 100% !important; }
  .single-product .fika-main-buy-box button.single_add_to_cart_button,
  .single-product .fika-main-buy-box .add_to_cart_button {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   29. PAGAMENTOS — DONO ÚNICO DO LAYOUT
   Os blocos 13.4, 16.1, 23 e 24 foram REMOVIDOS: eram 5 donos disputando os
   mesmos elementos e cada correção gerava regressão em outro ponto.

   Divisão de responsabilidade (não voltar a misturar):
     · Seção 10  -> VISUAL do método: borda, raio, fundo, hover, selecionado.
     · Seção 29  -> LAYOUT: posição do radio, do rótulo e do payment_box.

   Estrutura real do DOM (confirmada no HTML renderizado, não presumida):
     li > input.input-radio  (IRMÃO do label, não dentro dele)
     li > label > texto + img
     li > div.payment_box

   O radio é ancorado com position:absolute no topo-esquerda do li. Isso é
   proposital: com grid/flex ele escorregava para o meio vertical quando a
   descrição do método ficava expandida (bug do PIX). O recuo para abrir
   espaço vai SÓ no label — se for para o padding do li, indenta também o
   payment_box e espreme o formulário do cartão.
   ========================================================================== */

.woocommerce-checkout #payment ul.payment_methods > li,
#payment ul.payment_methods li.wc_payment_method {
  display: block !important;            /* block + radio ancorado: não escorrega */
  position: relative !important;
  padding: .95rem 1rem !important;      /* padding igual: o recuo vai só no label */
  overflow: visible !important;
}

/* Radio ancorado no topo-esquerda: independe da altura da descrição */
.woocommerce-checkout #payment ul.payment_methods > li > input.input-radio,
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"] {
  position: absolute !important;
  left: .95rem !important;
  top: 1.05rem !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  order: 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 2px solid #CBD5E1 !important;
  border-radius: 999px !important;
  background: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  cursor: pointer;
  /* Guardas: temas/plugins escondem radios nativos com o padrão
     "screen-reader only" (clip/clip-path). Sem isto o radio some. */
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout #payment ul.payment_methods > li > input.input-radio:checked,
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"]:checked {
  border-color: var(--wp--preset--color--accent, #6564EE) !important;
  box-shadow: inset 0 0 0 4px var(--wp--preset--color--accent, #6564EE) !important;
}

/* Guarda: impede que qualquer tema/plugin volte a desenhar um radio falso
   no ::before do label, duplicando o círculo ao lado do radio real. */
.woocommerce-checkout #payment ul.payment_methods > li > label::before,
#payment ul.payment_methods li.wc_payment_method > label::before {
  content: none !important;
  display: none !important;
}

/* Rótulo: coluna 2, texto à esquerda e logo empurrada para a direita */
.woocommerce-checkout #payment ul.payment_methods > li > label,
#payment ul.payment_methods li.wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 0 0 1.6rem !important;  /* recuo só do rótulo, para o radio ancorado */
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods > li > label img,
.woocommerce-checkout #payment ul.payment_methods > li > label svg {
  margin-left: auto !important;
  flex: 0 0 auto !important;
  max-height: 24px !important;
  width: auto !important;
}

/* Descrição do método: abaixo do rótulo, largura total do li */
.woocommerce-checkout #payment div.payment_box,
#payment ul.payment_methods li.wc_payment_method > div.payment_box {
  display: block !important;
  width: 100% !important;
  margin: .7rem 0 0 !important;
  padding: .85rem 1rem !important;
  box-sizing: border-box !important;
}

@media (max-width: 480px) {
  .woocommerce-checkout #payment ul.payment_methods > li,
  #payment ul.payment_methods li.wc_payment_method {
    padding: .8rem .85rem !important;
  }
  .woocommerce-checkout #payment ul.payment_methods > li > label,
  #payment ul.payment_methods li.wc_payment_method > label {
    padding-left: 1.5rem !important;
  }
  .woocommerce-checkout #payment ul.payment_methods > li > input.input-radio,
  .woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"] {
    left: .8rem !important;
    top: .95rem !important;
  }
  .woocommerce-checkout #payment ul.payment_methods > li > label { font-size: .92rem !important; }
  .woocommerce-checkout #payment ul.payment_methods > li > label img { max-height: 20px !important; }
  .woocommerce-checkout #payment div.payment_box { padding: .75rem .85rem !important; font-size: .85rem !important; }
}

/* ==========================================================================
   30. AJUSTES MOBILE apontados nos testes em aparelho real
   ========================================================================== */

/* --- Resumo do pedido no mobile: a tabela vira layout FLEX ---
   table-layout:fixed travava as colunas em 62/38% e não havia como a linha
   de frete escapar disso (o <td> dela é sempre :last-child). Com flex cada
   linha é "rótulo | valor" e a de Envio simplesmente empilha em 100%. --- */
@media (max-width: 768px) {
  .woocommerce-checkout #order_review table.shop_table,
  .woocommerce-checkout #order_review table.shop_table thead,
  .woocommerce-checkout #order_review table.shop_table tbody,
  .woocommerce-checkout #order_review table.shop_table tfoot {
    display: block !important;
    width: 100% !important;
    table-layout: auto !important;
  }
  .woocommerce-checkout #order_review table.shop_table tr {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    width: 100% !important;
  }
  .woocommerce-checkout #order_review table.shop_table th,
  .woocommerce-checkout #order_review table.shop_table td {
    display: block !important;
    width: auto !important;
    font-size: .88rem !important;
    /* A borda sai da célula e vai para a <tr>: com a linha em flex, o gap
       entre as células deixava um trecho branco no meio do filete. */
    border-top: none !important;
    border-bottom: none !important;
  }
  .woocommerce-checkout #order_review table.shop_table tbody tr,
  .woocommerce-checkout #order_review table.shop_table tfoot tr {
    border-bottom: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
    padding: .7rem 0 !important;
  }
  .woocommerce-checkout #order_review table.shop_table tfoot tr:last-child {
    border-bottom: none !important;
  }
  .woocommerce-checkout #order_review table.shop_table thead tr {
    border-bottom: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
    padding-bottom: .6rem !important;
  }
  .woocommerce-checkout #order_review table.shop_table th { text-align: left !important; }
  .woocommerce-checkout #order_review table.shop_table td {
    text-align: right !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
  /* Nome do produto: usa o espaço que sobra e pode quebrar em linhas */
  .woocommerce-checkout #order_review table.shop_table tr.cart_item td:first-child,
  .woocommerce-checkout #order_review table.shop_table tr th.product-name,
  .woocommerce-checkout #order_review table.shop_table tr td.product-name {
    flex: 1 1 auto !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
  /* Linha de Envio: empilha e ocupa a largura toda */
  .woocommerce-checkout #order_review table.shop_table tr.shipping,
  .woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .45rem !important;
  }
  .woocommerce-checkout #order_review table.shop_table tr.shipping > td,
  .woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals > td {
    width: 100% !important;
    flex: 1 1 auto !important;
    text-align: left !important;
    white-space: normal !important;
  }
}

/* --- Botão "Aplicar cupom": estava com o azul padrão do tema --- */
.pn-checkout-coupon-wrap form.checkout_coupon button,
.pn-checkout-coupon-wrap button[name="apply_coupon"],
.woocommerce-checkout form.checkout_coupon button[type="submit"] {
  background: var(--wp--preset--color--primary, #192E49) !important;
  background-color: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: .8rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  min-height: 46px !important;
  padding: 0 1.25rem !important;
  box-shadow: none !important;
}
.pn-checkout-coupon-wrap form.checkout_coupon button:hover,
.woocommerce-checkout form.checkout_coupon button[type="submit"]:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
  background-color: var(--wp--preset--color--accent, #6564EE) !important;
}
.pn-checkout-coupon-wrap form.checkout_coupon input[type="text"] {
  min-height: 46px !important;
  border-radius: 10px !important;
  flex: 1 1 160px !important;
}

/* --- Widgets flutuantes não podem cobrir a gaveta do carrinho --- */
body:has(#pn-side-cart-drawer.pn-sc-active) .pn-wa-container,
body:has(#pn-side-cart-drawer.pn-sc-active) .pn-back-to-top,
body:has(#pn-side-cart-drawer.pn-sc-active) .pn-mobile-nav {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* --- Footer: no mobile o conteúdo centraliza, o traço abaixo do título não --- */
@media (max-width: 820px) {
  .pn-footer-col h4::after,
  .pn-footer-col h5::after { margin-left: auto !important; margin-right: auto !important; }
}

/* ==========================================================================
   31. CORREÇÕES DA 2ª RODADA DE TESTES EM APARELHO
   ========================================================================== */

@media (max-width: 768px) {

  .woocommerce-checkout #order_review ul#shipping_method,
  .woocommerce-checkout #order_review ul#shipping_method li { width: 100% !important; }
  .woocommerce-checkout #order_review ul#shipping_method li label {
    flex-wrap: wrap !important;
    white-space: normal !important;
  }
  /* Preço do frete não pode ser cortado */
  .woocommerce-checkout #order_review ul#shipping_method li label .woocommerce-Price-amount {
    margin-left: auto !important;
    white-space: nowrap !important;
  }

  /* --- Fim do checkout: aceite dos termos + CTA com respiro --- */
  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: .75rem 0 !important; }
  .woocommerce-checkout .form-row.validate-required > label.checkbox,
  .woocommerce-checkout label.woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: .6rem !important;
    line-height: 1.45 !important;
    font-size: .9rem !important;
  }
  .woocommerce-checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: .1rem 0 0 !important;
  }
  .woocommerce-checkout #place_order { margin-top: .8rem !important; }
  .woocommerce-checkout .fika-trust-bar { margin-top: .75rem !important; padding: .7rem !important; }
  .woocommerce-checkout #payment .place-order { padding-top: .4rem !important; }
}

/* ==========================================================================
   32. FOOTER — colunas em accordion no mobile, texto à esquerda
   ========================================================================== */

/* details não pode herdar o layout de bloco padrão do navegador */
.pn-footer-acc { display: block; }
.pn-footer-acc > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.pn-footer-acc > summary::-webkit-details-marker { display: none; }
.pn-footer-acc > summary::marker { content: ""; }
.pn-footer-acc > summary h5 { margin: 0 !important; }

/* Chevron só no mobile (no desktop as listas ficam sempre abertas) */
.pn-footer-acc > summary::after {
  content: "";
  width: 9px; height: 9px;
  border-right: 2px solid rgba(255,255,255,.55);
  border-bottom: 2px solid rgba(255,255,255,.55);
  transform: rotate(45deg);
  transition: transform .25s ease;
  flex: 0 0 auto;
  display: none;
}
.pn-footer-acc[open] > summary::after { transform: rotate(-135deg); }

@media (min-width: 821px) {
  /* Desktop: comporta-se como coluna normal, sem interação */
  .pn-footer-acc > summary { pointer-events: none; }
}

@media (max-width: 820px) {
  /* Texto à esquerda (estava centralizado e alongava demais o rodapé) */
  .pn-footer-grid,
  .pn-footer-col,
  .pn-footer-about { text-align: left !important; }
  .pn-footer-about p { margin-left: 0 !important; margin-right: 0 !important; }
  .pn-footer-social { justify-content: flex-start !important; }
  .pn-footer-col h4::after,
  .pn-footer-col h5::after { margin-left: 0 !important; margin-right: 0 !important; }

  /* Accordion ativo */
  .pn-footer-acc > summary::after { display: block; }
  .pn-footer-acc {
    border-bottom: 1px solid rgba(255,255,255,.09);
    padding: .15rem 0 .35rem;
  }
  .pn-footer-acc > summary { padding: .7rem 0; }
  .pn-footer-acc > summary h5 { margin-bottom: 0 !important; }
  /* o traço decorativo atrapalha dentro do summary */
  .pn-footer-acc > summary h5::after { display: none !important; }
  .pn-footer-acc > ul { padding-bottom: .5rem; }
  .pn-footer-acc li { margin: 0 0 .1rem !important; }
  .pn-footer-acc li a { display: block; padding: .5rem 0; }
}

/* ==========================================================================
   33. CHECKOUT — campos do cartão, aceite dos termos e respiro do topo
   ========================================================================== */

/* --- Campos dentro do payment_box (cartão) ocupando a largura toda --- */
.woocommerce-checkout #payment div.payment_box .form-row,
.woocommerce-checkout #payment div.payment_box p.form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 0 .65rem !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout #payment div.payment_box input[type="text"],
.woocommerce-checkout #payment div.payment_box input[type="tel"],
.woocommerce-checkout #payment div.payment_box input[type="number"],
.woocommerce-checkout #payment div.payment_box select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout #payment div.payment_box .form-row-first,
.woocommerce-checkout #payment div.payment_box .form-row-last {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
}
.woocommerce-checkout #payment div.payment_box label { display: block !important; }

/* --- Aceite dos termos: checkbox ancorado, texto e "*" fluindo inline ---
   Com display:flex o <abbr class="required"> virava um item separado e era
   empurrado para o canto (aparecia solto à direita). --- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout .validate-required > label.checkbox {
  display: block !important;
  position: relative !important;
  padding-left: 1.9rem !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  font-size: .92rem !important;
  font-weight: 500 !important;
}
.woocommerce-checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-checkout .validate-required > label.checkbox input[type="checkbox"] {
  position: absolute !important;
  left: 0 !important;
  top: .18rem !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin: 0 !important;
  flex: none !important;
}
.woocommerce-checkout label.woocommerce-form__label-for-checkbox .required,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox abbr.required {
  display: inline !important;
  position: static !important;
  float: none !important;
  margin-left: .15rem !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
  display: inline !important;
  flex: none !important;
}
/* Vale para desktop e mobile — antes só existia versão mobile (linha abaixo),
   deixando o desktop no espaçamento padrão (maior) do WooCommerce. */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: .75rem 0 !important; }

/* --- Vão branco entre o título da página e o conteúdo --- */
@media (max-width: 768px) {
  body.woocommerce-checkout .content-area,
  body.woocommerce-cart .content-area {
    margin-top: 1rem !important;
  }
  body.woocommerce-checkout .entry-content-wrap,
  body.woocommerce-cart .entry-content-wrap {
    padding-top: .5rem !important;
  }
  body.woocommerce-checkout .entry-hero .entry-header,
  body.woocommerce-cart .entry-hero .entry-header {
    min-height: 0 !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
}

/* ==========================================================================
   34. CHECKOUT — últimos acertos (frete 100%, termos sem corte, parcelas)
   ========================================================================== */

@media (max-width: 768px) {

  .woocommerce-checkout #order_review ul#shipping_method {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .woocommerce-checkout #order_review ul#shipping_method li {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .woocommerce-checkout #order_review ul#shipping_method li label {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
    width: 100% !important;
  }

  /* --- Aceite dos termos: texto estava sendo cortado à direita --- */
  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p,
  .woocommerce-checkout label.woocommerce-form__label-for-checkbox,
  .woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    text-overflow: clip !important;
    max-width: 100% !important;
  }
  .woocommerce-checkout label.woocommerce-form__label-for-checkbox { padding-right: .25rem !important; }

  /* --- Campos do cartão: mais área útil e select das parcelas sem cortar --- */
  .woocommerce-checkout #payment div.payment_box { padding: .65rem .6rem !important; }
  .woocommerce-checkout #payment div.payment_box select {
    font-size: .88rem !important;
    padding-right: 1.75rem !important;
    text-overflow: ellipsis !important;
  }
}

/* ==========================================================================
   35. CARDS — botão quebrando no meio da palavra e parcelamento solto
   ========================================================================== */

/* "COMPRAR" estava virando "COMPR / AR": o texto do botão nunca pode quebrar */
.woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button,
.woocommerce ul.products li.product .fika-main-buy-box a.button,
.related.products li.product .fika-main-buy-box .add_to_cart_button,
.single-product .related.products li.product a.button {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-align: center !important;
  padding: 0 .5rem !important;
}

/* Parcelamento: "sem juros" caía numa 2ª linha muito afastada */
.woocommerce ul.products li.product .pn-installment,
.related.products li.product .pn-installment {
  line-height: 1.2 !important;
}

@media (max-width: 480px) {
  /* Cards estreitos (2 colunas): folga extra para "COMPRAR" caber inteiro */
  .woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button,
  .woocommerce ul.products li.product .fika-main-buy-box a.button,
  .related.products li.product .fika-main-buy-box .add_to_cart_button {
    font-size: .68rem !important;
    letter-spacing: .02em !important;
    padding: 0 .35rem !important;
  }

  /* Parcelamento compacto para caber em menos linhas */
  .woocommerce ul.products li.product .pn-installment,
  .related.products li.product .pn-installment {
    padding: .05rem .6rem .5rem !important;
    line-height: 1.15 !important;
  }
  .woocommerce ul.products li.product .pn-installment b { font-size: .72rem !important; }
  .woocommerce ul.products li.product .pn-installment span { font-size: .66rem !important; }

  /* Título: 2 linhas cheias antes de reticenciar */
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .related.products li.product .woocommerce-loop-product__title {
    font-size: .78rem !important;
    line-height: 1.25 !important;
    min-height: 2.5em !important;
    padding: 0 .6rem !important;
    overflow-wrap: break-word !important;
  }

  /* Área do botão com respiro proporcional ao card menor */
  .woocommerce ul.products li.product .product-action-wrap,
  .related.products li.product .product-action-wrap { padding: .1rem .6rem .6rem !important; }
}

/* ==========================================================================
   36. CHECKOUT MOBILE — menos caixa dentro de caixa
   No celular cada moldura aninhada rouba ~30px de largura útil. Aqui o
   payment_box deixa de ser um "cartão dentro do cartão" e vira apenas um
   bloco de conteúdo, devolvendo a largura ao formulário do cartão.
   ========================================================================== */

@media (max-width: 768px) {

  .woocommerce-checkout #order_review ul#shipping_method li {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Nome à esquerda, preço à direita, na mesma linha */
  .woocommerce-checkout #order_review ul#shipping_method li label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
    width: 100% !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
  }
  .woocommerce-checkout #order_review ul#shipping_method li label .woocommerce-Price-amount {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-weight: 700 !important;
  }

  /* --- Achata o payment_box: sem fundo/borda próprios, sem padding lateral,
     para o formulário do cartão usar a largura toda do método. --- */
  .woocommerce-checkout #payment div.payment_box,
  #payment ul.payment_methods li.wc_payment_method > div.payment_box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: .6rem 0 .2rem !important;
    margin-top: .5rem !important;
  }
  /* Uma linha sutil separa a descrição do rótulo, no lugar da caixa */
  .woocommerce-checkout #payment div.payment_box {
    border-top: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  }
  .woocommerce-checkout #payment div.payment_box::before { display: none !important; }

  /* Método com menos padding lateral = mais área para o conteúdo */
  .woocommerce-checkout #payment ul.payment_methods > li,
  #payment ul.payment_methods li.wc_payment_method {
    padding: .85rem .8rem !important;
  }

  /* Cartão do resumo/cobrança também mais enxuto */
  .woocommerce-checkout form.checkout #customer_details { padding: .9rem !important; }
  .woocommerce-checkout #order_review { padding: .9rem !important; }
}

/* ==========================================================================
   37. MINHA CONTA — Endereços lado a lado
   O Woo core usa float+48% e ainda força width:100% abaixo de 768px; as
   regras flex antigas do custom-store.css brigavam com isso e os cartões
   acabavam empilhados. Grid com minmax(0,1fr) resolve de forma determinística:
   sempre 2 colunas iguais, sem wrap por conteúdo largo.
   ========================================================================== */

@media (min-width: 769px) {
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
  body.woocommerce-account .woocommerce-MyAccount-content .col2-set.addresses,
  body.woocommerce-account .woocommerce-MyAccount-content .u-columns.col2-set {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: start !important;
    float: none !important;
    width: 100% !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address,
  body.woocommerce-account .woocommerce-MyAccount-content .col2-set.addresses > div,
  body.woocommerce-account .woocommerce-MyAccount-content .u-columns.col2-set > div {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;   /* impede estouro por texto longo do endereço */
    flex: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Abaixo de 769px empilha (comportamento correto no celular) */
@media (max-width: 768px) {
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
  body.woocommerce-account .woocommerce-MyAccount-content .col2-set.addresses {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
  }
}

/* Cabeçalho do cartão: título e "Editar" na mesma linha (o Woo usa float) */
body.woocommerce-account .woocommerce-Address .woocommerce-Address-title,
body.woocommerce-account .addresses .title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
}
body.woocommerce-account .addresses .title h3,
body.woocommerce-account .addresses .title .edit { float: none !important; }

/* ==========================================================================
   38. MINHA CONTA — corrige o "blowout" horizontal do painel
   A nav mobile é um carrossel (overflow-x:auto), mas ela estava esticando a
   PÁGINA em vez de rolar internamente: filhos de grid/flex têm min-width:auto
   por padrão e crescem além do container. Com 6 itens + white-space:nowrap,
   isso empurrava a coluna de conteúdo para fora da tela — daí a área branca.
   min-width:0 é o que permite o filho encolher e o overflow-x funcionar.
   ========================================================================== */

/* A conta nunca deve gerar rolagem horizontal na página */
body.woocommerce-account { overflow-x: hidden; }

body.woocommerce-account.logged-in .entry-content > .woocommerce {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.woocommerce-account.logged-in .entry-content > .woocommerce > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.woocommerce-account .account-navigation-wrap,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 820px) {
  body.woocommerce-account.logged-in .entry-content > .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* CRÍTICO: as regras de desktop posicionam com grid-column 1/2 usando
     !important. O override mobile antigo (linha ~1810) não usava, então
     perdia — o conteúdo continuava na coluna 2, que não existe no grid de
     1 coluna. O navegador criava uma coluna implícita e o conteúdo vazava
     POR CIMA da navegação. Aqui forçamos ambos a empilhar de fato. */
  body.woocommerce-account.logged-in .entry-content > .woocommerce > .account-navigation-wrap,
  body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-navigation,
  body.woocommerce-account.logged-in .entry-content > .woocommerce > .woocommerce-MyAccount-content {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
  }

  /* Carrossel: rola dentro de si, sem empurrar a página */
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    max-width: 100% !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  /* Conteúdo ocupa a largura toda e fica abaixo da nav */
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
  }

  /* Cartão do avatar sem estourar */
  body.woocommerce-account .kadence-account-avatar {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.woocommerce-account .kadence-customer-name {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Tabelas de pedidos costumam ser a 2ª fonte de overflow */
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
  }
}

/* ==========================================================================
   39. MINHA CONTA — CONTEUDO DAS ABAS (dono unico)
   Estrutura real de cada aba (confirmada no DOM autenticado):
     - Pedidos / Metodos de pagamento (vazios) -> div.woocommerce-info + botao
     - Enderecos     -> .woocommerce-Addresses > 2x .woocommerce-Address
     - Editar conta  -> form.woocommerce-EditAccountForm com form-row-first/last
   O Woo posiciona os campos com FLOAT (47%) + divs .clear. Aqui trocamos por
   grid: deterministico, sem clearfix e sem risco de campo escapar da linha.
   ========================================================================== */

/* ---------- Formulario de editar conta ---------- */
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 1.25rem !important;
  align-items: start !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p.form-row-first { grid-column: 1 !important; }
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p.form-row-last  { grid-column: 2 !important; }
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p.form-row-wide,
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > fieldset,
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p:not(.form-row-first):not(.form-row-last) {
  grid-column: 1 / -1 !important;
}
/* Em grid o clearfix do Woo nao tem funcao e so cria espaco morto */
body.woocommerce-account .woocommerce-MyAccount-content form .clear { display: none !important; }
/* Float do Woo anulado (senao o campo sai do fluxo do grid) */
body.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  float: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Fieldset da senha vira um subcartao */
body.woocommerce-account .woocommerce-MyAccount-content form fieldset {
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 12px !important;
  padding: 1.1rem 1.2rem !important;
  margin: .5rem 0 1.25rem !important;
  background: #FBFCFD !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form legend {
  font-weight: 800 !important;
  font-size: .82rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  padding: 0 .4rem !important;
}
body.woocommerce-account .woocommerce-MyAccount-content form span#account_display_name_description,
body.woocommerce-account .woocommerce-MyAccount-content form em {
  display: block !important;
  font-size: .78rem !important;
  color: var(--wp--preset--color--text, #7A7A7A) !important;
  font-style: normal !important;
  margin-top: .3rem !important;
}

/* Botao salvar com a identidade da loja */
body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"],
body.woocommerce-account .woocommerce-MyAccount-content form input[type="submit"] {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  min-height: 48px !important;
  padding: 0 1.6rem !important;
  font-weight: 800 !important;
  font-size: .82rem !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background .2s ease;
}
body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"]:hover {
  background: var(--wp--preset--color--accent, #6564EE) !important;
}

/* ---------- Estado vazio (Pedidos / Metodos de pagamento) ---------- */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  text-align: center !important;
  background: #FBFCFD !important;
  border: 1px dashed var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 14px !important;
  padding: 2.5rem 1.5rem !important;
  margin: 0 !important;
  color: var(--wp--preset--color--text, #5A6B84) !important;
  font-size: .95rem !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before { display: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.woocommerce-Button {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border-radius: 10px !important;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 1.5rem !important;
  font-weight: 800 !important;
  font-size: .8rem !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* ---------- Cartoes de endereco ---------- */
body.woocommerce-account .woocommerce-Address {
  background: #fff !important;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  border-radius: 14px !important;
  padding: 1.25rem !important;
  box-sizing: border-box !important;
}
body.woocommerce-account .woocommerce-Address address {
  font-style: normal !important;
  line-height: 1.6 !important;
  font-size: .9rem !important;
  color: var(--wp--preset--color--text, #5A6B84) !important;
  margin: .6rem 0 0 !important;
}
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3 {
  font-size: .95rem !important;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-Address-title .edit {
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: var(--wp--preset--color--accent, #6564EE) !important;
  white-space: nowrap !important;
}

/* ---------- Tabela de pedidos (quando houver pedidos) ---------- */
body.woocommerce-account .woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-orders-table td {
  padding: .8rem .6rem !important;
  border-bottom: 1px solid var(--wp--preset--color--border, #E4E7EB) !important;
  font-size: .88rem !important;
  vertical-align: middle !important;
}
body.woocommerce-account .woocommerce-orders-table th { text-align: left !important; font-weight: 700 !important; }
body.woocommerce-account .woocommerce-orders-table .woocommerce-button {
  background: var(--wp--preset--color--primary, #192E49) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: .5rem .9rem !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  display: inline-block !important;
}

@media (max-width: 640px) {
  /* Formulario em coluna unica no celular */
  body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
  body.woocommerce-account .woocommerce-MyAccount-content form.edit-account {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p.form-row-first,
  body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p.form-row-last {
    grid-column: 1 !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"] { width: 100% !important; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { padding: 2rem 1rem !important; }

  /* Cabecalho do cartao de endereco empilha se faltar espaco */
  body.woocommerce-account .woocommerce-Address-title { flex-wrap: wrap !important; }
}

/* ==========================================================================
   40. CARDS MOBILE — titulo com mais folga
   Em 2 colunas o card fica estreito e o clamp de 2 linhas cortava quase todo
   o nome ("Funko Pop Star War..."). 3 linhas dao contexto suficiente para o
   cliente reconhecer o produto sem alongar demais o card.
   ========================================================================== */

@media (max-width: 560px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .related.products li.product .woocommerce-loop-product__title {
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    min-height: 3.6em !important;
    font-size: .8rem !important;
    line-height: 1.2 !important;
  }
}

/* ==========================================================================
   41. CARDS TOUCH — botao colado ao parcelamento
   .product-details tem flex:1 e estica para igualar a altura dos cards da
   linha. Com o botao de volta ao fluxo (touch), essa sobra de altura ficava
   ANTES dele, criando um vao grande entre "sem juros" e COMPRAR.
   justify-content:flex-start empacota tudo no topo: a sobra vai para depois
   do botao, e nao no meio do conteudo.
   ========================================================================== */

@media (hover: none), (pointer: coarse) {
  .woocommerce ul.products li.product .product-details,
  .related.products li.product .product-details {
    justify-content: flex-start !important;
  }

  .woocommerce ul.products li.product .product-action-wrap,
  .related.products li.product .product-action-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Respiro curto e previsivel entre parcelamento e botao */
  .woocommerce ul.products li.product .pn-installment,
  .related.products li.product .pn-installment {
    padding-bottom: .55rem !important;
    margin-bottom: 0 !important;
  }

  .woocommerce ul.products li.product .fika-main-buy-box,
  .related.products li.product .fika-main-buy-box {
    margin-top: 0 !important;
  }
}

/* ==========================================================================
   42. CARDS — clamp do titulo e altura do botao (correcao final)

   Titulo: display/-webkit-box/overflow estavam definidos SEM !important na
   Secao 9, entao a 4a linha vazava e pintava por cima do preco. Aqui todas as
   propriedades do clamp ficam juntas e com !important, para o conjunto nunca
   se separar (clamp sem overflow:hidden = texto vazando com reticencias).

   Botao: 38px deixava o COMPRAR achatado. 44px e o minimo confortavel de toque.
   ========================================================================== */

/* --- Titulo: clamp coeso em qualquer largura --- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.related.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 560px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .related.products li.product .woocommerce-loop-product__title {
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    font-size: .8rem !important;
    line-height: 1.25 !important;
    /* 3 linhas x 1.25 = 3.75em: altura exata do clamp, sem sobra nem corte */
    min-height: 3.75em !important;
    max-height: 3.75em !important;
    margin-bottom: .3rem !important;
  }
}

/* --- Botao COMPRAR com altura confortavel no mobile --- */
@media (max-width: 480px) {
  .woocommerce ul.products li.product .fika-main-buy-box .add_to_cart_button,
  .woocommerce ul.products li.product .fika-main-buy-box a.button,
  .related.products li.product .fika-main-buy-box .add_to_cart_button {
    height: 44px !important;
    min-height: 44px !important;
    font-size: .72rem !important;
    letter-spacing: .03em !important;
    border-radius: 10px !important;
  }
}

/* ==========================================================================
   43. BARRA DE ANUNCIO — sempre em UMA linha
   No mobile as duas mensagens nao cabem lado a lado e a barra quebrava em 2
   linhas, empurrando o header. A oferta do PIX e a principal (conversao), a
   de frete gratis fica so no desktop, onde ha espaco.
   ========================================================================== */

.pn-announcement-bar p {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.pn-ann-item { white-space: nowrap !important; }

@media (max-width: 720px) {
  /* Mantem so a oferta principal: uma linha, sem quebra */
  .pn-ann-secondary,
  .pn-announcement-bar .pn-announcement-sep { display: none !important; }
  .pn-announcement-bar p {
    font-size: .68rem !important;
    letter-spacing: .02em !important;
    padding: 0 .5rem !important;
  }
}

@media (max-width: 380px) {
  .pn-announcement-bar p { font-size: .63rem !important; }
}

/* ==========================================================================
   44. ACTION-WRAP — resolve o conflito com archive.css
   archive.css force position:relative !important usando "body.woocommerce ..."
   (0,4,3), seletor MAIS especifico que o da secao 26 (0,4,2). Com isso o
   action-wrap virava o contexto de posicionamento e o botao absoluto do hover
   ancorava nele em vez do .product-details, saindo do lugar no desktop.
   Aqui empatamos a especificidade para o dono do layout voltar a ser a secao 26.
   ========================================================================== */

body.woocommerce ul.products li.product .product-action-wrap,
body .woocommerce ul.products li.product .product-action-wrap,
body.woocommerce .related.products li.product .product-action-wrap {
  position: static !important;
}

/* No touch o botao esta no fluxo: o action-wrap volta a ter altura real */
@media (hover: none), (pointer: coarse) {
  body.woocommerce ul.products li.product .product-action-wrap,
  body .woocommerce ul.products li.product .product-action-wrap {
    height: auto !important;
    overflow: visible !important;
  }
}

/* ==========================================================================
   45. NEWSLETTER — retorno da inscricao
   Substitui o alert() do navegador por uma mensagem na propria pagina.
   ========================================================================== */

.pn-newsletter-msg {
  margin: .85rem auto 0;
  max-width: 34rem;
  padding: .7rem 1rem;
  border-radius: 10px;
  font-size: .9rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
.pn-newsletter-msg.is-ok {
  background: rgba(0, 196, 140, .14);
  color: #0B7A5C;
  border: 1px solid rgba(0, 196, 140, .35);
}
.pn-newsletter-msg.is-erro {
  background: rgba(229, 62, 62, .12);
  color: #B02A2A;
  border: 1px solid rgba(229, 62, 62, .3);
}

/* Sobre o gradiente escuro da secao da home, o texto precisa clarear */
.has-primary-accent-gradient-background .pn-newsletter-msg.is-ok,
.pn-hero .pn-newsletter-msg.is-ok {
  background: rgba(0, 196, 140, .18);
  color: #7BF3CE;
  border-color: rgba(123, 243, 206, .4);
}
.has-primary-accent-gradient-background .pn-newsletter-msg.is-erro,
.pn-hero .pn-newsletter-msg.is-erro {
  background: rgba(255, 123, 114, .16);
  color: #FFB4AE;
  border-color: rgba(255, 180, 174, .4);
}

/* Botao desabilitado durante o envio */
.pn-newsletter-form button[disabled] { opacity: .65; cursor: wait; }
