/* ============================================================
 * WooCommerce — Focofy Boutique
 * Tokens da Camada 2/3 — nenhum hex hardcoded.
 * ============================================================ */

/* Layout geral */
.boutique-shop,
.boutique-product {
  background: var(--color-bg);
  padding-block: var(--section-padding-y, 64px);
}
.boutique-shop__wrap,
.boutique-product__wrap {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  margin-bottom: var(--space-6);
}
.woocommerce-breadcrumb a { color: var(--color-link); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--color-link-hover); }

/* Ordenacao */
.woocommerce-result-count { font-size: var(--font-size-sm); color: var(--color-text-muted); }
.woocommerce-ordering select {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-4);
  background: var(--color-surface-1);
  color: var(--color-text);
  font-size: var(--font-size-sm);
}

/* Grid de produtos */
.woocommerce ul.products, ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap, 24px);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .woocommerce ul.products, ul.products { grid-template-columns: 1fr; }
}

/* Card de produto */
li.boutique-card,
.woocommerce ul.products li.product {
  width: 100% !important; /* reset WC legacy float width (22.05%/48%) — grid track controla */
  background: var(--card-bg, var(--color-surface-1));
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--card-radius, var(--radius-lg));
  overflow: hidden;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  display: flex;
  flex-direction: column;
}
li.boutique-card:hover,
.woocommerce ul.products li.product:hover {
  box-shadow: var(--card-shadow-hover, var(--shadow-lg));
  transform: translateY(-2px);
}

.boutique-card__link { text-decoration: none; color: inherit; display: flex; flex-direction: column; flex: 1; }

/* Imagem */
.boutique-card__media { position: relative; overflow: hidden; }
.boutique-card__media img,
.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
}

/* Corpo */
.boutique-card__body { padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.boutique-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  margin: 0;
  line-height: var(--lh-snug);
}
.boutique-card__price .price,
.woocommerce ul.products li.product .price {
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold);
  color: var(--color-accent);
}
.boutique-card__price .price del,
.woocommerce ul.products li.product .price del {
  color: var(--color-text-inverse, #fff);
  font-weight: var(--fw-normal);
  font-size: var(--font-size-sm);
  margin-right: var(--space-2);
}

/* Badge promocao */
.onsale {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  background: var(--color-accent);
  color: var(--color-heading, #2A2723);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-bold);
  padding: 2px 8px;
  border-radius: var(--badge-radius, var(--radius-full));
  z-index: 1;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Override: WC plugin define .woocommerce span.onsale { color:#fff } com especificidade (0,2,1).
   Usamos mesmo seletor + !important para garantir cor legivel sobre o fundo dourado claro. */
.woocommerce span.onsale,
.bh-products span.onsale,
.bh-products .onsale {
  color: var(--color-heading, #2A2723) !important;
  background-color: var(--color-accent, #c9a96e) !important;
}


/* Acoes */
.boutique-card__actions { padding: var(--space-3) var(--space-4) var(--space-4); }
.boutique-card__actions .button,
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--btn-primary-bg, var(--color-accent));
  color: var(--btn-primary-text, var(--color-text-inverse));
  border: none;
  border-radius: var(--btn-radius, var(--radius-md));
  padding: var(--btn-padding-y, 10px) var(--btn-padding-x, 16px);
  font-size: var(--font-size-sm);
  font-weight: var(--btn-font-weight, 600);
  cursor: pointer;
  transition: background var(--transition-base);
  text-decoration: none;
}
.boutique-card__actions .button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--btn-primary-hover-bg, var(--color-accent-hover));
  color: var(--btn-primary-hover-text, var(--color-text-inverse));
}

/* Produto unico */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12, 48px);
  align-items: start;
}
@media (max-width: 768px) {
  .woocommerce div.product { grid-template-columns: 1fr; }
}
.woocommerce div.product .product_title {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  font-weight: var(--fw-heading);
  color: var(--color-heading);
  margin-bottom: var(--space-4);
}
.woocommerce div.product .price {
  font-size: var(--font-size-2xl);
  color: var(--color-accent);
  font-weight: var(--fw-semibold);
  margin-bottom: var(--space-6);
}
.woocommerce div.product .price del { color: var(--color-text-muted); font-size: var(--font-size-lg); }
.woocommerce div.product .woocommerce-product-gallery {
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
}

/* Botao Adicionar ao Carrinho — produto unico */
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: var(--btn-primary-bg, var(--color-accent));
  color: var(--btn-primary-text, var(--color-text-inverse));
  border: none;
  border-radius: var(--btn-radius, var(--radius-md));
  padding: var(--btn-padding-y, 14px) var(--btn-padding-x, 28px);
  font-size: var(--font-size-base);
  font-weight: var(--btn-font-weight, 600);
  cursor: pointer;
  transition: background var(--transition-base);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--btn-primary-hover-bg, var(--color-accent-hover));
}
.woocommerce div.product form.cart .qty {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  color: var(--color-text);
  background: var(--color-surface-1);
}

/* Paginacao */
.woocommerce-pagination ul {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin-block: var(--space-10);
  justify-content: center;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  color: var(--color-text);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: all var(--transition-fast);
}
.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul li a:hover {
  background: var(--color-accent);
  color: var(--color-text-inverse);
  border-color: var(--color-accent);
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-left: 4px solid var(--color-accent);
  background: var(--color-surface-1);
  padding: var(--space-4) var(--space-6);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-6);
  color: var(--color-text);
}
.woocommerce-error { border-left-color: var(--color-danger); }
.woocommerce-info  { border-left-color: var(--color-info); }

/* Carrinho */
.woocommerce-cart-form table.shop_table {
  background: var(--color-surface-1);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  border: 1px solid var(--color-border-subtle);
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-cart-form table.shop_table th {
  font-family: var(--font-heading);
  font-weight: var(--fw-semibold);
  color: var(--color-heading);
  border-bottom: 1px solid var(--color-border-subtle);
  padding: var(--space-3) var(--space-4);
  text-align: left;
}
.woocommerce-cart-form table.shop_table td {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-border-subtle);
  color: var(--color-text);
  vertical-align: middle;
}
.woocommerce .order-total .amount {
  font-size: var(--font-size-xl);
  font-weight: var(--fw-bold);
  color: var(--color-accent);
}

/* Checkout — inputs */
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border: 1px solid var(--input-border, var(--color-border-subtle));
  border-radius: var(--input-radius, var(--radius-md));
  padding: var(--input-padding-y, 10px) var(--input-padding-x, 14px);
  background: var(--input-bg, var(--color-surface-1));
  color: var(--input-text, var(--color-text));
  font-size: var(--font-size-base);
  width: 100%;
  transition: border-color var(--transition-fast);
  box-sizing: border-box;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--input-border-focus, var(--color-accent));
  outline: none;
  box-shadow: 0 0 0 var(--focus-size, 3px) color-mix(in srgb, var(--color-accent) 25%, transparent);
}
.woocommerce-checkout h3 {
  font-family: var(--font-heading);
  font-size: var(--font-size-xl);
  color: var(--color-heading);
  margin-bottom: var(--space-6);
}

/* ============================================================
 * WooCommerce — Focofy Boutique — Adições v2
 * Complementa shop.css com estilos de cart, checkout, account,
 * notices, tabs, qty input e empty state.
 * Tokens Camada 2/3 — nenhum hex.
 * ============================================================ */

/* ---- BOTÕES BOUTIQUE ---- */
.boutique-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--btn-padding-y, 12px) var(--btn-padding-x, 24px);
  border-radius: var(--btn-radius, var(--radius-md));
  font-size: var(--font-size-base);
  font-weight: var(--btn-font-weight, 600);
  cursor: pointer;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base);
  line-height: 1.4;
}
.boutique-btn--primary {
  background: var(--btn-primary-bg, var(--color-accent));
  color: var(--btn-primary-text, var(--color-text-inverse));
  border-color: var(--btn-primary-bg, var(--color-accent));
}
.boutique-btn--primary:hover {
  background: var(--btn-primary-hover-bg, var(--color-accent-hover));
  border-color: var(--btn-primary-hover-bg, var(--color-accent-hover));
  color: var(--btn-primary-hover-text, var(--color-text-inverse));
}
.boutique-btn--secondary {
  background: transparent;
  color: var(--btn-secondary-text, var(--color-accent));
  border-color: var(--btn-secondary-border, var(--color-accent));
}
.boutique-btn--secondary:hover {
  background: var(--btn-secondary-hover-bg, var(--color-surface-2));
}
.boutique-btn--full { width: 100%; }

/* ---- ESTADO VAZIO (no-products-found) ---- */
.boutique-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: var(--space-16) var(--space-8);
}
.boutique-empty__icon {
  color: var(--color-text-inverse, #fff);
  margin-bottom: var(--space-4);
}
.boutique-empty__text {
  font-size: var(--font-size-lg);
  color: var(--color-text-inverse, #fff);
  margin-bottom: var(--space-6);
}
.boutique-empty__link {
  display: inline-flex;
  padding: var(--btn-padding-y, 10px) var(--btn-padding-x, 20px);
  background: var(--btn-primary-bg, var(--color-accent));
  color: var(--btn-primary-text, var(--color-text-inverse));
  border-radius: var(--btn-radius, var(--radius-md));
  font-weight: var(--fw-semibold);
  text-decoration: none;
  transition: background var(--transition-base);
}
.boutique-empty__link:hover { background: var(--btn-primary-hover-bg, var(--color-accent-hover)); }

/* ---- BREADCRUMB ---- */
.boutique-breadcrumb {
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  margin-bottom: var(--space-6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  align-items: center;
}
.boutique-breadcrumb__link { color: var(--color-link); text-decoration: none; }
.boutique-breadcrumb__link:hover { color: var(--color-link-hover); }
.boutique-breadcrumb__sep { color: var(--color-text-muted); }
.boutique-breadcrumb__current { color: var(--color-text); }

/* ---- NOTICES BOUTIQUE ---- */
.boutique-notice {
  list-style: none;
  padding: var(--space-4) var(--space-6);
  margin-bottom: var(--space-6);
  border-radius: var(--radius-md);
  border-left: 4px solid var(--color-accent);
  background: var(--color-surface-1);
  color: var(--color-text);
}
.boutique-notice li { padding: var(--space-1) 0; }
.boutique-notice--success { border-left-color: var(--color-success); }
.boutique-notice--error   { border-left-color: var(--color-danger); }
.boutique-notice--info    { border-left-color: var(--color-info); }

/* ---- CARRINHO ---- */
.boutique-cart {
  background: var(--color-bg);
  padding-block: var(--section-padding-y, 64px);
}
.boutique-cart__wrap {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
}
.boutique-cart__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  font-weight: var(--fw-heading);
  color: var(--color-heading);
  margin-bottom: var(--space-8);
}
.boutique-cart__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}
@media (min-width: 1024px) {   /* --bp-desktop */
  .boutique-cart__layout { grid-template-columns: 1fr 380px; }
}

/* ---- CHECKOUT ---- */
.boutique-checkout {
  background: var(--color-bg);
  padding-block: var(--section-padding-y, 64px);
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
}
.boutique-checkout__form {
  width: 100%;
}
.boutique-checkout__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
  align-items: start;
}
@media (min-width: 1024px) {   /* --bp-desktop */
  .boutique-checkout__layout { grid-template-columns: 1fr 400px; }
}
.boutique-checkout__summary {
  background: var(--card-bg, var(--color-surface-1));
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--card-radius, var(--radius-lg));
  padding: var(--card-padding, var(--space-8));
}
.boutique-checkout__summary-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-xl);
  font-weight: var(--fw-semibold);
  color: var(--color-heading);
  margin-bottom: var(--space-6);
}
.woocommerce-checkout h3 {
  font-family: var(--font-heading);
  font-size: var(--font-size-xl);
  color: var(--color-heading);
  margin-bottom: var(--space-6);
}

/* ---- MINHA CONTA ---- */
.boutique-account {
  background: var(--color-bg);
  padding-block: var(--section-padding-y, 64px);
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
}
.boutique-account__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 768px) {    /* --bp-tablet */
  .boutique-account__layout { grid-template-columns: 220px 1fr; }
}
.boutique-account__nav {
  background: var(--color-surface-1);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  overflow: hidden;
}
.boutique-account__content {
  background: var(--color-surface-1);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  padding: var(--space-8);
}

/* Nav lateral da conta */
.boutique-account-nav__list {
  list-style: none;
  padding: var(--space-2) 0;
  margin: 0;
}
.boutique-account-nav__item a {
  display: block;
  padding: var(--space-3) var(--space-6);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  font-size: var(--font-size-sm);
  font-weight: var(--fw-medium);
  transition: color var(--transition-fast), background var(--transition-fast);
  border-left: 3px solid transparent;
}
.boutique-account-nav__item a:hover {
  color: var(--color-accent);
  background: var(--color-surface-2);
}
.boutique-account-nav__item.is-active a {
  color: var(--color-accent);
  background: var(--color-surface-2);
  border-left-color: var(--color-accent);
  font-weight: var(--fw-semibold);
}

/* Dashboard */
.boutique-account-dashboard {
  color: var(--color-text);
}
.boutique-account-dashboard__welcome {
  font-size: var(--font-size-lg);
  color: var(--color-heading);
  margin-bottom: var(--space-4);
}
.boutique-account-dashboard__welcome strong { color: var(--color-accent); }
.boutique-account-dashboard__info {
  color: var(--color-text-inverse, #fff);
  line-height: var(--lh-relaxed);
}
.boutique-account-dashboard__info a { color: var(--color-link); }
.boutique-account-dashboard__info a:hover { color: var(--color-link-hover); }

/* ---- PÁGINA DE OBRIGADO ---- */
.boutique-thankyou {
  text-align: center;
  padding: var(--space-10) var(--space-4);
}
.boutique-thankyou__header { margin-bottom: var(--space-8); }
.boutique-thankyou__icon { color: var(--color-success); margin-bottom: var(--space-4); }
.boutique-thankyou__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  font-weight: var(--fw-heading);
  color: var(--color-heading);
  margin-bottom: var(--space-2);
}
.boutique-thankyou__subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-inverse, #fff);
}
.boutique-thankyou__meta {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
  max-width: 600px;
  margin: 0 auto var(--space-10);
  padding: 0;
  text-align: left;
  background: var(--color-surface-1);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  overflow: hidden;
}
@media (min-width: 768px) {    /* --bp-tablet */
  .boutique-thankyou__meta { grid-template-columns: repeat(4, 1fr); }
}
.boutique-thankyou__meta li {
  padding: var(--space-4) var(--space-6);
  border-right: 1px solid var(--color-border-subtle);
}
.boutique-thankyou__meta li:last-child { border-right: none; }
.boutique-thankyou__meta span {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--color-text-inverse, #fff);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: var(--space-1);
}
.boutique-thankyou__meta strong {
  font-size: var(--font-size-base);
  color: var(--color-heading);
  font-weight: var(--fw-semibold);
}
.boutique-thankyou__actions {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
}

/* ---- ABAS DO PRODUTO ---- */
.boutique-tabs {
  margin-top: var(--space-12);
}
.boutique-tabs__nav {
  display: flex;
  gap: var(--space-1);
  border-bottom: 2px solid var(--color-border-subtle);
  margin-bottom: var(--space-8);
  overflow-x: auto;
}
.boutique-tabs__trigger {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: var(--space-3) var(--space-6);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-text-inverse, #fff);
  cursor: pointer;
  transition: color var(--transition-fast), border-color var(--transition-fast);
  white-space: nowrap;
}
.boutique-tabs__trigger:hover { color: var(--color-accent); }
.boutique-tabs__trigger.is-active {
  color: var(--color-accent);
  border-bottom-color: var(--color-accent);
}
.boutique-tabs__panel { color: var(--color-text); line-height: var(--lh-relaxed); }
.boutique-tabs__panel[hidden] { display: none; }
.boutique-tabs__panel h2 {
  font-family: var(--font-heading);
  font-size: var(--font-size-xl);
  color: var(--color-heading);
  margin-bottom: var(--space-4);
}

/* ---- QUANTIDADE + / - ---- */
.boutique-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--input-border, var(--color-border-subtle));
  border-radius: var(--input-radius, var(--radius-md));
  overflow: hidden;
  background: var(--input-bg, var(--color-surface-1));
}
.boutique-qty__btn {
  width: 40px;
  height: 44px;
  background: none;
  border: none;
  font-size: var(--font-size-lg);
  color: var(--color-text-inverse, #fff);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
  display: flex;
  align-items: center;
  justify-content: center;
}
.boutique-qty__btn:hover { color: var(--color-accent); background: var(--color-surface-2); }
.boutique-qty__input {
  width: 56px;
  height: 44px;
  text-align: center;
  border: none;
  border-inline: 1px solid var(--color-border-subtle);
  background: none;
  color: var(--color-text);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold);
  outline: none;
  -moz-appearance: textfield;
}
.boutique-qty__input::-webkit-outer-spin-button,
.boutique-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* ---- ADD TO CART — PRODUTO SIMPLES ---- */
.boutique-atc__controls {
  display: flex;
  gap: var(--space-4);
  align-items: center;
  flex-wrap: wrap;
}
.boutique-atc__qty { flex-shrink: 0; }
.boutique-atc .single_add_to_cart_button {
  flex: 1;
  min-width: 200px;
  background: var(--btn-primary-bg, var(--color-accent));
  color: var(--btn-primary-text, var(--color-text-inverse));
  border: none;
  border-radius: var(--btn-radius, var(--radius-md));
  padding: var(--btn-padding-y, 14px) var(--btn-padding-x, 24px);
  font-size: var(--font-size-base);
  font-weight: var(--btn-font-weight, 600);
  cursor: pointer;
  transition: background var(--transition-base);
}
.boutique-atc .single_add_to_cart_button:hover {
  background: var(--btn-primary-hover-bg, var(--color-accent-hover));
}

/* ---- LOGIN / CADASTRO ---- */
.boutique-login {
  max-width: 960px;
  margin-inline: auto;
}
.boutique-login__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
}
@media (min-width: 768px) {    /* --bp-tablet */
  .boutique-login__layout { grid-template-columns: 1fr 1fr; }
}
.boutique-login__box {
  background: var(--card-bg, var(--color-surface-1));
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--card-radius, var(--radius-lg));
  padding: var(--card-padding, var(--space-8));
}
.boutique-login__box h2 {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  color: var(--color-heading);
  margin-bottom: var(--space-6);
}

/* ============================================================
 * FIX: Layout produto individual — grid column assignments
 * span.onsale fica fora do fluxo (position absolute)
 * galeria fixada na col 1, summary na col 2
 * ============================================================ */

/* Produto unico: remove onsale do fluxo de grid */
.woocommerce div.product {
  position: relative;
}
.woocommerce div.product > span.onsale {
  position: absolute;
  top: var(--space-4);
  left: var(--space-4);
  z-index: 10;
}

/* Colunas explícitas */
.woocommerce div.product .woocommerce-product-gallery {
  grid-column: 1;
  grid-row: 1;
}
.woocommerce div.product .summary.entry-summary {
  grid-column: 2;
  grid-row: 1;
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.products {
  grid-column: 1 / -1;
  margin-top: var(--space-8);
}

/* Mobile: uma coluna, sequência natural */
@media (max-width: 768px) {
  .woocommerce div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
  .woocommerce div.product .summary.entry-summary { grid-column: 1; grid-row: 2; }
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related.products,
  .woocommerce div.product .up-sells.products { grid-column: 1; margin-top: var(--space-6); }
}

/* Galeria placeholder: garantir min-height para produto sem imagem */
.woocommerce-product-gallery--without-images .woocommerce-product-gallery__wrapper {
  min-height: 300px;
  background: var(--color-surface-1, #f5f5f5);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
}

/* ============================================================
 * FIX: Overrides de width/float do WooCommerce woocommerce.css
 * WC define width:48% e float nos filhos do produto single
 * Aqui fazemos eles preencherem 100% do grid column
 * ============================================================ */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product div.images {
  width: 100%;
  float: none;
  margin: 0;
}
.woocommerce div.product .summary.entry-summary,
.woocommerce div.product div.summary {
  width: 100%;
  float: none;
  margin: 0;
}


/* ============================================================
 * BSHOP — Coleções / Archive Additions
 * Adicionado ao shop.css existente
 * ============================================================ */

/* ── HERO DA CATEGORIA ─────────────────────────────────────── */
.bshop-hero {
  position: relative;
  min-height: 220px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--color-surface-2, #f0ebe4);
}
.bshop-hero--text-only {
  min-height: 120px;
  background: var(--color-heading, #211C19);
  border-bottom: 1px solid var(--color-border-subtle);
}
.bshop-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.bshop-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.bshop-hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.52) 0%, rgba(0,0,0,.08) 60%, transparent 100%);
}
.bshop-hero__content {
  position: relative;
  z-index: 1;
  padding-block: var(--space-10) var(--space-8);
}
.bshop-hero--text-only .bshop-hero__content { padding-block: var(--space-6); }
.bshop-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: var(--fw-heading, 700);
  color: var(--color-text-inverse, #fff);
  margin: var(--space-2) 0 0;
  line-height: 1.15;
}
.bshop-hero--text-only .bshop-hero__title { color: var(--color-heading); }
.bshop-hero__desc {
  font-size: var(--font-size-base);
  color: rgba(255,255,255,.85);
  margin: var(--space-2) 0 0;
  max-width: 480px;
}
.bshop-hero--text-only .bshop-hero__desc { color: var(--color-text-muted); }

/* Breadcrumb no hero */
.bshop-hero .woocommerce-breadcrumb {
  color: rgba(255,255,255,.7);
  margin-bottom: var(--space-1);
  font-size: var(--font-size-xs);
}
.bshop-hero .woocommerce-breadcrumb a { color: rgba(255,255,255,.7); }
.bshop-hero--text-only .woocommerce-breadcrumb,
.bshop-hero--text-only .woocommerce-breadcrumb a { color: var(--color-text-muted); }

/* ── SUB-NAV TABS ──────────────────────────────────────────── */
.bshop-subnav {
  border-bottom: 2px solid var(--color-border-subtle);
  background: var(--color-surface-1, #fff);
  position: sticky;
  top: var(--header-h, 80px);
  z-index: 90;
}
.bshop-subnav__inner {
  overflow-x: auto;
  scrollbar-width: none;
}
.bshop-subnav__inner::-webkit-scrollbar { display: none; }
.bshop-subnav__list {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
.bshop-subnav__link {
  display: block;
  padding: var(--space-3) var(--space-5);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-medium, 500);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-text-inverse, #fff);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.bshop-subnav__link:hover,
.bshop-subnav__item.is-active .bshop-subnav__link {
  color: var(--color-heading);
  border-bottom-color: var(--color-accent, #c9a96e);
}

/* ── LAYOUT: sidebar + main ────────────────────────────────── */
.bshop-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--space-10);
  padding-top: var(--space-8);
  padding-bottom: var(--space-16);
  align-items: start;
}

/* ── SIDEBAR ────────────────────────────────────────────────── */
.bshop-sidebar {
  position: sticky;
  top: calc(var(--header-h, 80px) + 49px);
  max-height: calc(100vh - var(--header-h, 80px) - 49px - 32px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-subtle) transparent;
}
.bshop-sidebar__close { display: none; }

.bshop-filter {
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-border-subtle);
  margin-bottom: var(--space-6);
}
.bshop-filter:last-of-type { border-bottom: none; }
.bshop-filter__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-heading);
  margin: 0 0 var(--space-4);
}
.bshop-filter__size-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.bshop-size-btn {
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 6px);
  background: none;
  font-size: var(--font-size-sm);
  color: var(--color-text);
  cursor: pointer;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  min-width: 44px;
  text-align: center;
}
.bshop-size-btn:hover,
.bshop-size-btn.is-active {
  background: var(--color-heading);
  color: var(--color-text-inverse);
  border-color: var(--color-heading);
}
.bshop-filter__colors {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.bshop-color-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--color-border-subtle);
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.bshop-color-btn:hover,
.bshop-color-btn.is-active {
  transform: scale(1.15);
  box-shadow: 0 0 0 2px var(--color-accent, #c9a96e);
}
.bshop-color-btn--preto  { background: #1a1a1a; }
.bshop-color-btn--branco { background: #fff; }
.bshop-color-btn--bege   { background: #c9a96e; }
.bshop-color-btn--vinho  { background: #8b4a4a; }
.bshop-color-btn--verde  { background: #5b8d8d; }
.bshop-color-btn--roxo   { background: #7c6d8b; }
.bshop-price-form { display: flex; flex-direction: column; gap: var(--space-3); }
.bshop-price-inputs { display: flex; gap: var(--space-3); }
.bshop-price-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
}
.bshop-price-input {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 6px);
  font-size: var(--font-size-sm);
  background: var(--color-surface-1, #fff);
  color: var(--color-text);
  width: 100%;
  outline: none;
}
.bshop-price-input:focus { border-color: var(--color-accent, #c9a96e); }
.bshop-apply-btn {
  padding: var(--space-2) var(--space-4);
  background: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
  border: none;
  border-radius: var(--radius-md, 6px);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  cursor: pointer;
  align-self: flex-start;
  transition: background var(--transition-fast);
}
.bshop-apply-btn:hover { background: var(--color-accent, #c9a96e); }
.bshop-clear-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: underline;
  text-underline-offset: 2px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color var(--transition-fast);
}
.bshop-clear-btn:hover { color: var(--color-accent, #c9a96e); }

/* ── TOOLBAR ────────────────────────────────────────────────── */
.bshop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-6);
  gap: var(--space-4);
  flex-wrap: wrap;
}
.bshop-toolbar__left,
.bshop-toolbar__right {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.bshop-sidebar-toggle {
  display: none;
  align-items: center;
  gap: var(--space-2);
  background: none;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 6px);
  padding: var(--space-2) var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text);
  cursor: pointer;
  transition: background var(--transition-fast);
}
.bshop-sidebar-toggle:hover { background: var(--color-surface-2); }
.bshop-result-count { font-size: var(--font-size-sm); color: var(--color-text-muted); }
.bshop-view-toggle {
  display: flex;
  gap: 2px;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 6px);
  overflow: hidden;
}
.bshop-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  color: var(--color-text-inverse, #fff);
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.bshop-view-btn.is-active,
.bshop-view-btn:hover { background: var(--color-surface-2); color: var(--color-heading); }

/* Grid list mode */
ul.products[data-view="list"] {
  grid-template-columns: 1fr !important;
}
ul.products[data-view="list"] li.product {
  flex-direction: row;
  gap: var(--space-6);
}
ul.products[data-view="list"] .boutique-card__media {
  width: 180px;
  flex-shrink: 0;
  aspect-ratio: 3/4;
}

/* ── MOBILE SIDEBAR DRAWER ─────────────────────────────────── */
.bshop-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 199;
  opacity: 0;
  transition: opacity .25s;
}
.bshop-backdrop.is-visible {
  display: block;
  opacity: 1;
}

@media (max-width: 1024px) {
  .bshop-layout { grid-template-columns: 1fr; }
  .bshop-sidebar {
    position: fixed;
    top: 0;
    left: -280px;
    width: 280px;
    height: 100dvh;
    max-height: 100dvh;
    background: var(--color-surface-1, #fff);
    z-index: 200;
    padding: var(--space-6);
    box-shadow: var(--shadow-xl);
    transition: left .3s ease;
    overflow-y: auto;
  }
  .bshop-sidebar.is-open { left: 0; }
  .bshop-sidebar__close {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-6);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-inverse, #fff);
    margin-left: auto;
    padding: var(--space-2);
  }
  .bshop-sidebar-toggle { display: flex; }
  .bshop-subnav { top: var(--header-h, 80px); }
}

@media (max-width: 768px) {
  .bshop-hero { min-height: 160px; }
  .bshop-hero__title { font-size: clamp(1.5rem, 5vw, 2rem); }
}

/* ============================================================
 * Produto Single — Additions (Lilian Furtado Boutique)
 * ============================================================ */

/* ── WRAPPER ─────────────────────────────────────────────────── */
.boutique-product {
  background: var(--color-bg);
  padding-block: 0;
}
.boutique-product__wrap {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
  padding-bottom: var(--space-16);
}

/* ── BREADCRUMB ─────────────────────────────────────────────── */
.boutique-product .woocommerce-breadcrumb {
  padding-block: var(--space-4) var(--space-2);
  font-size: var(--font-size-xs);
  color: var(--color-text-inverse, #fff);
}

/* ── LAYOUT GRID PRODUTO ────────────────────────────────────── */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12);
  padding-top: var(--space-6);
}
@media (max-width: 768px) {
  .woocommerce div.product { grid-template-columns: 1fr; }
}

/* ── GALERIA ─────────────────────────────────────────────────── */
.woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important;
  max-width: 100%;
  float: none !important;
  /* CSP bloqueia inline script WC que define opacity:1 após init — forçar visível */
  opacity: 1 !important;
}
.woocommerce-product-gallery__wrapper { display: flex; flex-direction: column; gap: var(--space-3); }
.woocommerce-product-gallery__image img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--radius-xl, 12px);
}
/* Thumbnails ficam abaixo da imagem principal */
.flex-control-thumbs {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-x: auto;
}
.flex-control-thumbs li { flex-shrink: 0; }
.flex-control-thumbs img {
  width: 72px;
  height: 96px;
  object-fit: cover;
  border-radius: var(--radius-md, 8px);
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color var(--transition-fast);
}
.flex-control-thumbs .flex-active img { border-color: var(--color-accent, #c9a96e); }

/* ── SUMMARY ─────────────────────────────────────────────────── */
.woocommerce div.product .summary {
  width: 100% !important;
  float: none !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.woocommerce div.product .summary .product_title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  margin: 0;
  line-height: 1.2;
}

/* Avaliações */
.woocommerce div.product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.woocommerce div.product .star-rating { font-size: var(--font-size-sm); }
.woocommerce div.product .woocommerce-review-link {
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Preço */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-bold, 700);
  color: var(--color-heading);
  margin: 0;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: var(--font-size-base);
  color: var(--color-text-inverse, #fff);
  font-weight: var(--fw-normal);
  margin-right: var(--space-2);
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
}
.bprod-installments {
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  margin-top: -var(--space-3);
}

/* Descrição curta */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: var(--font-size-sm);
  color: var(--color-text);
  line-height: var(--lh-relaxed, 1.7);
}

/* Label de atributo */
.woocommerce div.product .variations .label label {
  font-family: var(--font-heading);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-heading);
}

/* ── ADD TO CART AREA ───────────────────────────────────────── */
.boutique-atc {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.boutique-atc__controls {
  display: flex;
  gap: var(--space-3);
  align-items: stretch;
  flex-wrap: wrap;
}
.boutique-atc .single_add_to_cart_button {
  flex: 1;
  min-width: 180px;
  padding: 14px var(--space-6);
  font-size: var(--font-size-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
/* Wishlist link abaixo do botão */
.bprod-wishlist-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.bprod-wishlist-link:hover { color: var(--color-accent, #c9a96e); }
.bprod-wishlist-link svg { flex-shrink: 0; }

/* ── TABS (acordeão look) ─────────────────────────────────────── */
.boutique-tabs { grid-column: 1 / -1; }

/* ── GUIA DE TAMANHOS link ──────────────────────────────────── */
.bprod-size-guide-link {
  font-size: var(--font-size-xs);
  color: var(--color-text-inverse, #fff);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.bprod-size-guide-link:hover { color: var(--color-accent, #c9a96e); }

/* ── PRODUTOS RELACIONADOS ──────────────────────────────────── */
.bprod-related {
  grid-column: 1 / -1;
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-border-subtle);
}
.bprod-related__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 var(--space-10);
}
/* Relacionados: 4 colunas */
.bprod-related ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .bprod-related ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .woocommerce div.product { padding-top: var(--space-4); }
  .woocommerce div.product .summary .product_title { font-size: var(--font-size-xl); }
  .bprod-related ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .boutique-atc__controls { flex-direction: column; }
  .boutique-atc .single_add_to_cart_button { min-width: unset; width: 100%; }
}

/* ============================================================
 * CARRINHO / SACOLA — Lilian Furtado Boutique
 * ============================================================ */

/* ── CHECKOUT STEPS ─────────────────────────────────────────── */
.bcheckout-steps {
  display: flex;
  justify-content: center;
  padding-block: var(--space-8) var(--space-6);
}
.bcheckout-steps__list {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
.bcheckout-steps__item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-inverse, #fff);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-medium, 500);
}
.bcheckout-steps__item + .bcheckout-steps__item::before {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: var(--color-border-subtle);
  margin-inline: var(--space-4);
  flex-shrink: 0;
}
.bcheckout-steps__item.is-current { color: var(--color-heading); }
.bcheckout-steps__item.is-done { color: var(--color-accent, #c9a96e); }
.bcheckout-steps__num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: var(--fw-semibold, 600);
  flex-shrink: 0;
}
.bcheckout-steps__item.is-current .bcheckout-steps__num {
  background: var(--color-heading, #1a1a1a);
  border-color: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
}

/* ── SACOLA WRAPPER ─────────────────────────────────────────── */
.bsacola { background: var(--color-bg); padding-bottom: var(--space-16); }
.bsacola__wrap {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
}
.bsacola__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  margin: 0 0 var(--space-8);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ── LAYOUT ─────────────────────────────────────────────────── */
.bsacola__layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-12);
  align-items: start;
}

/* ── TABELA DE ITENS ────────────────────────────────────────── */
.bsacola__table {
  width: 100%;
  border-collapse: collapse;
}
.bsacola__row {
  border-bottom: 1px solid var(--color-border-subtle);
}
.bsacola__table td { padding: var(--space-5) var(--space-3) var(--space-5) 0; vertical-align: middle; }
.bsacola__thumb { width: 90px; }
.bsacola__thumb img {
  width: 80px;
  height: 107px;
  object-fit: cover;
  border-radius: var(--radius-lg, 10px);
  display: block;
}
.bsacola__info { min-width: 200px; }
.bsacola__product-name a {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  text-decoration: none;
  display: block;
  margin-bottom: var(--space-1);
}
.bsacola__product-name a:hover { color: var(--color-accent); }
.bsacola__info .wc-item-meta { font-size: var(--font-size-xs); color: var(--color-text-muted); margin: var(--space-1) 0; }
.bsacola__product-price { font-size: var(--font-size-sm); color: var(--color-text-muted); margin-top: var(--space-2); }
.bsacola__subtotal {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  white-space: nowrap;
  text-align: right;
}
.bsacola__remove { width: 36px; text-align: right; }
.bsacola__remove-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.bsacola__remove-btn:hover { color: #e53e3e; background: #fee; }

/* ── AÇÕES (cupom + atualizar) ──────────────────────────────── */
.bsacola__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding-top: var(--space-6);
  flex-wrap: wrap;
}
.bsacola__coupon {
  display: flex;
  gap: var(--space-2);
  flex: 1;
  max-width: 360px;
}
.bsacola__coupon-input {
  flex: 1;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-sm);
  background: var(--color-surface-1, #fff);
  color: var(--color-text);
  outline: none;
  transition: border-color var(--transition-fast);
}
.bsacola__coupon-input:focus { border-color: var(--color-accent, #c9a96e); }
.bsacola__coupon-btn {
  padding: var(--space-2) var(--space-5);
  background: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  cursor: pointer;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background var(--transition-fast);
  white-space: nowrap;
}
.bsacola__coupon-btn:hover { background: var(--color-accent, #c9a96e); }
.bsacola__update-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--color-heading, #211C19);
  border: 1.5px solid var(--color-heading, #211C19);
  border-radius: var(--radius-md, 8px);
  padding: 10px var(--space-5);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-inverse, #fff);
  cursor: pointer;
  transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.bsacola__update-btn svg { transition: transform 0.4s ease; }
.bsacola__update-btn:hover {
  background: var(--color-accent, #c9a96e);
  border-color: var(--color-accent, #c9a96e);
  color: var(--color-text-inverse, #fff);
}
.bsacola__update-btn:hover svg { transform: rotate(180deg); }
.bsacola__continue {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  margin-top: var(--space-4);
  transition: color var(--transition-fast);
}
.bsacola__continue:hover { color: var(--color-accent, #c9a96e); }

/* ── SIDEBAR / RESUMO ───────────────────────────────────────── */
.bsacola__sidebar {
  position: sticky;
  top: calc(var(--header-h, 80px) + var(--space-4));
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  padding: var(--space-6);
}
.bsacola__sidebar-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 var(--space-5);
}

/* WooCommerce cart totals */
.bsacola__sidebar .cart_totals h2 { display: none; }
.bsacola__sidebar .shop_table.woocommerce-checkout-review-order-table,
.bsacola__sidebar table.shop_table { border: none; width: 100%; border-collapse: collapse; }
.bsacola__sidebar table.shop_table th,
.bsacola__sidebar table.shop_table td { padding: var(--space-2) 0; border: none; font-size: var(--font-size-sm); }
.bsacola__sidebar table.shop_table tfoot tr { border-top: 1px solid var(--color-border-subtle); }
.bsacola__sidebar table.shop_table tfoot .order-total th,
.bsacola__sidebar table.shop_table tfoot .order-total td {
  padding-top: var(--space-3);
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--fw-bold, 700);
  color: var(--color-heading);
}
.bsacola__sidebar .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 14px var(--space-6);
  background: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-md, 8px);
  transition: background var(--transition-fast);
  margin-top: var(--space-5);
}
.bsacola__sidebar .wc-proceed-to-checkout a.checkout-button:hover { background: var(--color-accent, #c9a96e); }

/* Trust badges */
.bsacola__trust {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-subtle);
}
.bsacola__trust-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-text-inverse, #fff);
}
.bsacola__trust-item svg { flex-shrink: 0; margin-top: 2px; }
.bsacola__trust-item strong { display: block; font-size: var(--font-size-xs); font-weight: var(--fw-semibold, 600); color: var(--color-heading); }
.bsacola__trust-item span { font-size: 11px; }

/* ── CARRINHO VAZIO ─────────────────────────────────────────── */
.bsacola__empty {
  text-align: center;
  padding-block: var(--space-16) var(--space-20);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}
.bsacola__empty-icon { color: var(--color-text-muted); opacity: 0.4; }
.bsacola__empty-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  margin: 0;
}
.bsacola__empty-text { font-size: var(--font-size-base); color: var(--color-text-muted); margin: 0; max-width: 400px; }
.bsacola__empty-cta {
  display: inline-flex;
  align-items: center;
  padding: 14px 40px;
  background: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-md, 8px);
  transition: background var(--transition-fast);
}
.bsacola__empty-cta:hover { background: var(--color-accent, #c9a96e); }
.bsacola__empty-login { font-size: var(--font-size-sm); color: var(--color-text-muted); margin: 0; }
.bsacola__empty-login a { color: var(--color-accent, #c9a96e); text-decoration: none; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .bsacola__layout { grid-template-columns: 1fr; }
  .bsacola__sidebar { position: static; }
}
@media (max-width: 600px) {
  .bcheckout-steps__label { display: none; }
  .bcheckout-steps__item + .bcheckout-steps__item::before { width: 28px; margin-inline: var(--space-2); }
  .bsacola__table td { padding: var(--space-3) var(--space-2) var(--space-3) 0; }
  .bsacola__thumb img { width: 60px; height: 80px; }
  .bsacola__actions { flex-direction: column; align-items: flex-start; }
  .bsacola__coupon { max-width: 100%; width: 100%; }
}

/* ============================================================
 * CHECKOUT — Lilian Furtado Boutique
 * ============================================================ */

/* ── HEADER CHECKOUT ────────────────────────────────────────── */
.site-header--checkout {
  background: var(--color-surface-1, #fff) !important;
  border-bottom: 1px solid var(--color-border-subtle) !important;
  height: var(--header-h, 80px);
}
.site-header--checkout::before { display: none !important; }
.bcheckout-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 100%;
}
.bcheckout-header__back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.bcheckout-header__back:hover { color: var(--color-heading); }
.bcheckout-header__logo { justify-self: center; }
.bcheckout-header__logo img { max-height: 48px; }
.bcheckout-header__logo .brand-text {
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--fw-bold, 700);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-heading);
  text-decoration: none;
}
.bcheckout-header__secure {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
}

/* ── STEPS CHECKOUT (variante compacta no topo do form) ─────── */
.bcheckout-steps--co {
  padding-block: var(--space-6) var(--space-4);
}

/* ── CHECKOUT WRAPPER ───────────────────────────────────────── */
.bcheckout {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding-inline: var(--gutter, 24px);
  padding-bottom: var(--space-16);
}
.bcheckout__main-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 var(--space-8);
}

/* ── LAYOUT ─────────────────────────────────────────────────── */
.bcheckout__layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: var(--space-12);
  align-items: start;
}

/* ── SEÇÕES ─────────────────────────────────────────────────── */
.bcheckout__section {
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--color-border-subtle);
}
.bcheckout__section:last-child { border-bottom: none; }
.bcheckout__section-title {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 var(--space-6);
}
.bcheckout__section-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
  font-size: 12px;
  font-weight: var(--fw-bold, 700);
  flex-shrink: 0;
}

/* WooCommerce form fields dentro do checkout */
.bcheckout .woocommerce-billing-fields__field-wrapper,
.bcheckout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4) var(--space-5);
}
.bcheckout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.bcheckout .woocommerce-shipping-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }

.bcheckout .form-row label {
  display: block;
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-heading);
  margin-bottom: var(--space-2);
}
.bcheckout .form-row .required { color: var(--color-accent, #c9a96e); }
.bcheckout .form-row input.input-text,
.bcheckout .form-row select,
.bcheckout .form-row textarea {
  width: 100%;
  padding: 11px var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 8px);
  background: var(--color-surface-1, #fff);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  outline: none;
  transition: border-color var(--transition-fast);
}
.bcheckout .form-row input.input-text:focus,
.bcheckout .form-row select:focus { border-color: var(--color-accent, #c9a96e); }

/* Shipping methods */
.bcheckout #ship-to-different-address { display: none; }
.bcheckout .shipping_method { display: flex; flex-direction: column; gap: var(--space-3); list-style: none; padding: 0; margin: 0; }
.bcheckout .shipping_method li { display: flex; align-items: center; gap: var(--space-3); }
.bcheckout .shipping_method label { font-size: var(--font-size-sm); cursor: pointer; display: flex; align-items: center; gap: var(--space-3); }

/* Payment methods */
.bcheckout .wc_payment_methods { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.bcheckout .wc_payment_method label { cursor: pointer; font-size: var(--font-size-sm); display: flex; align-items: center; gap: var(--space-2); }
.bcheckout .payment_box { padding: var(--space-4); background: var(--color-surface-2); border-radius: var(--radius-md, 8px); margin-top: var(--space-3); }
.bcheckout .place-order {
  margin-top: var(--space-6);
}
.bcheckout .place-order #place_order {
  display: block;
  width: 100%;
  padding: 16px var(--space-6);
  background: var(--color-heading, #1a1a1a);
  color: var(--color-text-inverse, #fff);
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-bold, 700);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--transition-base);
}
.bcheckout .place-order #place_order:hover { background: var(--color-accent, #c9a96e); }
.bcheckout .woocommerce-privacy-policy-text {
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
  margin-top: var(--space-4);
  text-align: center;
}

/* ── RESUMO (coluna direita) ────────────────────────────────── */
.bcheckout__summary {
  position: sticky;
  top: calc(var(--header-h, 80px) + var(--space-4));
}
.bcheckout__summary-box {
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  padding: var(--space-6);
}
.bcheckout__summary-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-heading);
  margin: 0 0 var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-subtle);
}

/* Tabela de itens na review */
.bcheckout__summary .woocommerce-checkout-review-order-table { border: none; width: 100%; border-collapse: collapse; }
.bcheckout__summary .woocommerce-checkout-review-order-table th,
.bcheckout__summary .woocommerce-checkout-review-order-table td { padding: var(--space-2) 0; border: none; font-size: var(--font-size-sm); }
.bcheckout__summary .woocommerce-checkout-review-order-table tfoot .order-total th,
.bcheckout__summary .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-bold, 700);
  color: var(--color-heading);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-subtle);
}

/* Pagamento seguro */
.bcheckout__secure {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-subtle);
}
.bcheckout__secure-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: var(--space-3);
}
.bcheckout__payment-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* Trust list */
.bcheckout__trust-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-subtle);
}
.bcheckout__trust-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
}

/* ── OBRIGADO / THANK YOU ───────────────────────────────────── */
.boutique-thankyou {
  max-width: 640px;
  margin-inline: auto;
  padding: var(--space-16) var(--gutter, 24px);
  text-align: center;
}
.boutique-thankyou__icon { color: var(--color-accent, #c9a96e); margin-bottom: var(--space-4); }
.boutique-thankyou__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  margin: 0 0 var(--space-3);
}
.boutique-thankyou__subtitle { font-size: var(--font-size-base); color: var(--color-text-muted); margin: 0 0 var(--space-8); }
.boutique-thankyou__meta {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-8);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  text-align: left;
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  padding: var(--space-6);
}
.boutique-thankyou__meta li { display: flex; flex-direction: column; gap: 2px; }
.boutique-thankyou__meta span { font-size: 11px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.boutique-thankyou__meta strong { font-size: var(--font-size-base); color: var(--color-heading); }
.boutique-thankyou__actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bcheckout__layout { grid-template-columns: 1fr; }
  .bcheckout__summary { position: static; order: -1; }
}
@media (max-width: 768px) {
  .bcheckout-header { grid-template-columns: auto 1fr auto; gap: var(--space-2); }
  .bcheckout-header__back span { display: none; }
  .bcheckout .woocommerce-billing-fields__field-wrapper,
  .bcheckout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .boutique-thankyou__meta { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .bcheckout-header__secure { display: none; }
}

/* ============================================================
 * AUTH (Login / Cadastro) — Lilian Furtado Boutique
 * ============================================================ */

.bauth {
  background: var(--color-surface-2, #f8f4ef);
  min-height: 100vh;
}
.bauth__wrap {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding: var(--space-16) var(--gutter, 24px);
}

/* ── GRID 2 colunas ─────────────────────────────────────────── */
.bauth__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--space-12);
  align-items: start;
}

/* ── PAINEL ─────────────────────────────────────────────────── */
.bauth__panel {
  background: var(--color-surface-1, #fff);
  border-radius: var(--radius-xl, 12px);
  border: 1px solid var(--color-border-subtle);
  padding: var(--space-8) var(--space-8);
}
.bauth__panel-head {
  margin-bottom: var(--space-7);
}
.bauth__panel-eyebrow {
  display: block;
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-accent, #c9a96e);
  margin-bottom: var(--space-2);
}
.bauth__panel-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0;
}

/* ── DIVISOR ─────────────────────────────────────────────────── */
.bauth__divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: var(--space-16);
  gap: var(--space-3);
  color: var(--color-text-inverse, #fff);
}
.bauth__divider::before,
.bauth__divider::after {
  content: '';
  flex: 1;
  width: 1px;
  background: var(--color-border-subtle);
}
.bauth__divider span {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: var(--space-2) 0;
}

/* ── FORM FIELDS ─────────────────────────────────────────────── */
.bauth__field {
  margin-bottom: var(--space-5);
}
.bauth__field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}
.bauth__label {
  display: block;
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-heading);
  margin-bottom: var(--space-2);
}
.bauth__required { color: var(--color-accent, #c9a96e); }
.bauth__input {
  display: block;
  width: 100%;
  padding: 11px var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 8px);
  background: var(--color-surface-1, #fff);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  outline: none;
  transition: border-color var(--transition-fast);
  box-sizing: border-box;
}
.bauth__input:focus { border-color: var(--color-accent, #c9a96e); }

.bauth__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.bauth__row--between { justify-content: space-between; }
.bauth__check-label { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); cursor: pointer; color: var(--color-text-muted); }
.bauth__check { accent-color: var(--color-accent, #c9a96e); }
.bauth__forgot-link { font-size: var(--font-size-xs); color: var(--color-text-muted); text-decoration: none; }
.bauth__forgot-link:hover { color: var(--color-accent, #c9a96e); }

/* ── BOTÕES ─────────────────────────────────────────────────── */
.bauth__actions { margin-top: var(--space-2); }
.bauth__btn {
  display: block;
  width: 100%;
  padding: 14px var(--space-6);
  text-align: center;
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.bauth__btn--primary { background: var(--color-heading, #1a1a1a); color: var(--color-text-inverse, #fff); }
.bauth__btn--primary:hover { background: var(--color-accent, #c9a96e); color: var(--color-text-inverse, #fff); }

/* ── PRIVACIDADE ─────────────────────────────────────────────── */
.bauth__privacy {
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
  margin-bottom: var(--space-5);
  line-height: 1.5;
}
.bauth__privacy a { color: var(--color-accent, #c9a96e); text-decoration: none; }

/* ── TRUST BADGES ───────────────────────────────────────────── */
.bauth__trust {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding-top: var(--space-7);
  border-top: 1px solid var(--color-border-subtle);
}
.bauth__trust-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-accent, #c9a96e);
}
.bauth__trust-item > div { display: flex; flex-direction: column; gap: 2px; }
.bauth__trust-item strong { font-size: var(--font-size-xs); font-weight: var(--fw-semibold, 600); color: var(--color-heading); text-transform: uppercase; letter-spacing: 0.06em; }
.bauth__trust-item span { font-size: 11px; color: var(--color-text-muted); }

/* ── SINGLE LOGIN ────────────────────────────────────────────── */
.bauth__single {
  max-width: 480px;
  margin-inline: auto;
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  padding: var(--space-10);
}
.bauth__single-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  margin: 0 0 var(--space-7);
  text-transform: uppercase;
}

/* ============================================================
 * MY ACCOUNT — Geral
 * ============================================================ */
.boutique-myaccount.bauth { background: var(--color-surface-2, #f8f4ef); }

.bmyacc__layout {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  padding: var(--space-12) var(--gutter, 24px) var(--space-16);
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: var(--space-10);
  align-items: start;
}

/* ── NAVIGATION (sidebar) ───────────────────────────────────── */
.bmyacc__nav {
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  overflow: hidden;
  position: sticky;
  top: calc(var(--header-h, 80px) + var(--space-4));
}

/* Profile block */
.bmyacc__profile {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-6);
  border-bottom: 1px solid var(--color-border-subtle);
  background: var(--color-surface-2, #f8f4ef);
}
.bmyacc__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--color-heading, #1a1a1a);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bmyacc__avatar img { width: 52px; height: 52px; object-fit: cover; }
.bmyacc__avatar-initials {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-bold, 700);
  color: var(--color-text-inverse, #fff);
  letter-spacing: 0.04em;
}
.bmyacc__profile-info { overflow: hidden; }
.bmyacc__profile-name {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bmyacc__profile-email {
  display: block;
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}

/* Menu */
.bmyacc__menu {
  list-style: none;
  padding: var(--space-3) 0;
  margin: 0;
}
.bmyacc__menu-item { }
.bmyacc__menu-link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 10px var(--space-5);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
  border-left: 2px solid transparent;
}
.bmyacc__menu-link:hover {
  background: var(--color-surface-2, #f8f4ef);
  color: var(--color-heading);
}
.bmyacc__menu-item.is-active .bmyacc__menu-link,
.woocommerce-MyAccount-navigation-link--dashboard.is-active .bmyacc__menu-link {
  color: var(--color-heading);
  font-weight: var(--fw-semibold, 600);
  border-left-color: var(--color-accent, #c9a96e);
  background: var(--color-surface-2, #f8f4ef);
}

/* ── DASHBOARD ──────────────────────────────────────────────── */
.bmyacc__dashboard {
  background: transparent;
}
.bmyacc__greeting {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 var(--space-2);
}
.bmyacc__greeting span { color: var(--color-accent, #c9a96e); }
.bmyacc__greeting-sub {
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  margin: 0 0 var(--space-8);
}

/* Stats */
.bmyacc__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  margin-bottom: var(--space-10);
}
.bmyacc__stat-card {
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  padding: var(--space-6);
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.bmyacc__stat-card:hover { border-color: var(--color-accent, #c9a96e); box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.bmyacc__stat-num {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  font-weight: var(--fw-bold, 700);
  color: var(--color-heading);
  line-height: 1;
}
.bmyacc__stat-label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-inverse, #fff);
}
.bmyacc__stat-card svg { color: var(--color-text-muted); }

/* Sections */
.bmyacc__section {
  background: var(--color-surface-1, #fff);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl, 12px);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
}
.bmyacc__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-5);
}
.bmyacc__section-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
}
.bmyacc__section-link { font-size: var(--font-size-xs); color: var(--color-accent, #c9a96e); text-decoration: none; }
.bmyacc__section-link:hover { text-decoration: underline; }

/* Orders table */
.bmyacc__orders-table-wrap { overflow-x: auto; }
.bmyacc__orders-table { width: 100%; border-collapse: collapse; }
.bmyacc__orders-table th {
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-inverse, #fff);
  padding: var(--space-3) var(--space-3) var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-subtle);
  text-align: left;
  white-space: nowrap;
}
.bmyacc__orders-table td {
  font-size: var(--font-size-sm);
  padding: var(--space-4) var(--space-3) var(--space-4) 0;
  border-bottom: 1px solid var(--color-border-subtle);
  color: var(--color-text);
  vertical-align: middle;
}
.bmyacc__orders-table tbody tr:last-child td { border-bottom: none; }
.bmyacc__order-num { font-weight: var(--fw-semibold, 600); color: var(--color-heading); text-decoration: none; }
.bmyacc__order-num:hover { color: var(--color-accent, #c9a96e); }

/* Status badges */
.bmyacc__order-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.bmyacc__order-status--processing { background: #e6f4ea; color: #276e3e; }
.bmyacc__order-status--completed  { background: #e8f0fe; color: #1a56db; }
.bmyacc__order-status--on-hold    { background: #fef9c3; color: #92400e; }
.bmyacc__order-status--pending    { background: var(--color-surface-2); color: var(--color-text-muted); }
.bmyacc__order-status--cancelled  { background: #fee2e2; color: #b91c1c; }
.bmyacc__order-status--refunded   { background: #ede9fe; color: #6d28d9; }

.bmyacc__order-action {
  display: inline-flex;
  padding: 4px 14px;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 8px);
  font-size: 11px;
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  color: var(--color-heading);
  transition: border-color var(--transition-fast), background var(--transition-fast);
  white-space: nowrap;
}
.bmyacc__order-action:hover { background: var(--color-heading); color: var(--color-text-inverse, #fff); border-color: var(--color-heading); }

/* Address block */
.bmyacc__address-block {
  font-style: normal;
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  line-height: 1.7;
}

/* Empty msg */
.bmyacc__empty-msg {
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  padding: var(--space-4) 0;
}
.bmyacc__empty-msg a { color: var(--color-accent, #c9a96e); text-decoration: none; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bmyacc__layout { grid-template-columns: 1fr; }
  .bmyacc__nav { position: static; }
  .bmyacc__stats { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .bauth__grid { grid-template-columns: 1fr; }
  .bauth__divider { flex-direction: row; }
  .bauth__divider::before,
  .bauth__divider::after { width: auto; flex: 1; height: 1px; }
  .bauth__field-row { grid-template-columns: 1fr; }
  .bmyacc__stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .bmyacc__stats { grid-template-columns: 1fr 1fr; }
  .bauth__wrap { padding-block: var(--space-10); }
}

/* ── MY ACCOUNT extras ──────────────────────────────────────── */

/* Containers for logged in / logged out states */
.bauth-page { background: var(--color-surface-2, #f8f4ef); min-height: 60vh; }
.bmyacc-page { background: var(--color-surface-2, #f8f4ef); }

/* Page title common to all myaccount sub-pages */
.bmyacc__page-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-heading, 700);
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 var(--space-6);
}

/* Field note (helper text) */
.bmyacc__field-note {
  display: block;
  font-size: 11px;
  color: var(--color-text-inverse, #fff);
  margin-top: var(--space-1);
}

/* Section divider inside a panel */
.bmyacc__section-divider {
  border-top: 1px solid var(--color-border-subtle);
  margin-top: var(--space-8);
  padding-top: var(--space-7);
  margin-bottom: var(--space-5);
}
.bmyacc__section-divider .bmyacc__section-title { margin-bottom: var(--space-1); }

/* Pagination */
.bmyacc__pagination {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-8);
}
.bmyacc__pagination a,
.bmyacc__pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  transition: all var(--transition-fast);
}
.bmyacc__pagination a:hover { border-color: var(--color-heading); color: var(--color-heading); }
.bmyacc__pagination .current { background: var(--color-heading, #1a1a1a); color: #fff; border-color: var(--color-heading); }

/* bauth__form — form element inside bmyacc panels */
.bauth__form .woocommerce-error,
.bauth__form .woocommerce-message,
.bauth__form .woocommerce-info {
  border-radius: var(--radius-md, 8px);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-5);
  list-style: none;
}
.bauth__form .woocommerce-error { background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; }
.bauth__form .woocommerce-message { background: #e6f4ea; color: #276e3e; border: 1px solid #bbf7d0; }
.bauth__form .woocommerce-info { background: #e8f0fe; color: #1a56db; border: 1px solid #bfdbfe; }

/* General WC notices inside myaccount */
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
  border-radius: var(--radius-md, 8px);
  padding: var(--space-3) var(--space-5);
  margin-bottom: var(--space-4);
  list-style: none;
}

/* My Account layout needs padding for the nav area */
.bmyacc__sidebar-col { }
.bmyacc__content-col { min-width: 0; }

/* ── ADDRESSES grid ─────────────────────────────────────────── */
.bmyacc__addresses-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}
.bmyacc__address-card .bmyacc__section-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-xs);
}
@media (max-width: 640px) {
  .bmyacc__addresses-grid { grid-template-columns: 1fr; }
}

/* ── VIEW ORDER ─────────────────────────────────────────────── */
.bmyacc__page-header {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  margin-bottom: var(--space-7);
  flex-wrap: wrap;
}
.bmyacc__back-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-sm);
  color: var(--color-text-inverse, #fff);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
}
.bmyacc__back-link:hover { color: var(--color-accent, #b89a62); }

.bmyacc__order-notes { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.bmyacc__order-note { display: flex; flex-direction: column; gap: 4px; }
.bmyacc__note-time { font-size: 11px; color: var(--color-text-muted); font-weight: var(--fw-semibold, 600); }
.bmyacc__note-text { font-size: var(--font-size-sm); color: var(--color-text); margin: 0; }

/* ── THANK YOU page ─────────────────────────────────────────── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 12px 32px;
  background: var(--color-heading, #211c19);
  color: #fff;
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--color-heading, #211c19);
  transition: all var(--transition-fast);
}
.btn-primary:hover { background: var(--color-accent, #b89a62); border-color: var(--color-accent, #b89a62); }
.btn-outline {
  display: inline-flex;
  align-items: center;
  padding: 12px 32px;
  background: transparent;
  color: var(--color-heading, #211c19);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--color-heading, #211c19);
  transition: all var(--transition-fast);
}
.btn-outline:hover { background: var(--color-heading); color: #fff; }

/* WooCommerce default table overrides inside bmyacc */
.bmyacc__view-order .woocommerce-table { border-collapse: collapse; width: 100%; }
.bmyacc__view-order .woocommerce-table th,
.bmyacc__view-order .woocommerce-table td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-border-subtle); font-size: var(--font-size-sm); }
.bmyacc__view-order .woocommerce-table thead th { font-weight: var(--fw-semibold, 600); text-transform: uppercase; font-size: var(--font-size-xs); letter-spacing: 0.08em; }
.bmyacc__view-order .woocommerce-table tfoot td,
.bmyacc__view-order .woocommerce-table tfoot th { font-weight: var(--fw-semibold, 600); }

/* ── BRAND TOKENS OVERRIDE (fallbacks corretos para boutique) ── */
/* Garante que mesmo sem --ds-* definidos, as fallbacks sejam da paleta da marca */
:root {
  --boutique-gold:     #B89A62;
  --boutique-gold-dk:  #8B7047;
  --boutique-beige:    #F6F1E8;
  --boutique-beige-md: #DCC9B8;
  --boutique-beige-bd: #E8DED5;
  --boutique-black:    #211C19;
  --boutique-warm-gray:#7A6E68;
  --color-wishlisted:  #e11d48;
}

/* ============================================================
 * PRODUCT CARD v3 — hover image, badges, overlay
 * ============================================================ */

.boutique-card {
  position: relative;
  list-style: none;
  display: flex;
  flex-direction: column;
}

/* ── Media (imagem) ─────────────────────────────────────────── */
.boutique-card__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl, 12px);
  background: var(--color-surface-2, #f6f1e8);
  aspect-ratio: 3 / 4;
}
.boutique-card__media-link { display: block; }
.boutique-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity .45s ease, transform .45s ease;
}
.boutique-card__img--hover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .45s ease;
}
.boutique-card:hover .boutique-card__img:not(.boutique-card__img--hover) {
  opacity: 0;
}
.boutique-card:hover .boutique-card__img--hover { opacity: 1; }
.boutique-card:hover .boutique-card__media .boutique-card__img:first-of-type {
  transform: scale(1.04);
}

/* ── Overlay CTA ─────────────────────────────────────────────── */
.boutique-card__overlay {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: var(--space-4);
  background: linear-gradient(to top, rgba(33,28,25,.75) 0%, transparent 100%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.boutique-card:hover .boutique-card__overlay { opacity: 1; }
.boutique-card__overlay-text {
  color: #fff;
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ── Badges ─────────────────────────────────────────────────── */
.boutique-card__badge {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: var(--fw-bold, 700);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
}
.boutique-card__badge--sale {
  background: var(--color-heading, #211c19);
  color: #fff;
}
.boutique-card__badge--new {
  background: var(--color-accent, #b89a62);
  color: #fff;
}

/* ── Body (info) ─────────────────────────────────────────────── */
.boutique-card__body {
  padding-top: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  flex: 1;
}
.boutique-card__name {
  font-family: var(--font-heading);
  font-size: var(--font-size-sm);
  font-weight: var(--fw-medium, 500);
  color: var(--color-heading, #211c19);
  margin: 0;
  line-height: 1.35;
}
.boutique-card__name a { color: inherit; text-decoration: none; }
.boutique-card__name a:hover { color: var(--color-accent, #b89a62); }

.boutique-card__price {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted, #7a6e68);
}
.boutique-card__price del { opacity: .6; }
.boutique-card__price ins { color: var(--color-heading, #211c19); font-weight: var(--fw-semibold, 600); text-decoration: none; }
.boutique-card__price .woocommerce-Price-amount { font-size: inherit; }

/* ── Add to Cart ─────────────────────────────────────────────── */
.boutique-card__actions {
  margin-top: var(--space-3);
}
.boutique-card__actions .button,
.boutique-card__atc {
  display: block;
  width: 100%;
  padding: 10px var(--space-4);
  background: var(--color-heading, #211c19);
  color: #fff;
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transition-fast);
}
.boutique-card__actions .button:hover,
.boutique-card__atc:hover { background: var(--color-accent, #b89a62); }
.boutique-card__actions .button.loading { pointer-events: none; opacity: .7; }
.boutique-card__actions .button.added { background: var(--color-accent, #b89a62); }

/* ── PRODUCT GRID (reforço de layout) ───────────────────────── */
.bh-products.products,
ul.products.columns-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1024px) {
  .bh-products.products,
  ul.products.columns-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .bh-products.products,
  ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
}
@media (max-width: 360px) {
  .bh-products.products,
  ul.products.columns-4 { grid-template-columns: 1fr; }
}

/* ── NO PRODUCTS FOUND ───────────────────────────────────────── */
.woocommerce-no-products-found {
  text-align: center;
  padding: var(--space-16) var(--gutter, 24px);
}
.woocommerce-no-products-found p {
  font-size: var(--font-size-base);
  color: var(--color-text-inverse, #fff);
  margin-bottom: var(--space-6);
}

/* ── WOOCOMMERCE NOTICES global ─────────────────────────────── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: var(--radius-md, 8px) !important;
  border-top: none !important;
  padding: var(--space-4) var(--space-5) !important;
  font-size: var(--font-size-sm) !important;
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.woocommerce-message { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0 !important; }
.woocommerce-error   { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca !important; }
.woocommerce-info    { background: #eff6ff; color: #1e40af; border: 1px solid #bfdbfe !important; }
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before { display: none !important; }
.woocommerce-message a.button { background: #065f46; color: #fff; border-radius: var(--radius-md, 8px); padding: 6px 16px; font-size: var(--font-size-xs); text-decoration: none; margin-left: auto; white-space: nowrap; }

/* ============================================================
 * VARIABLE PRODUCT — Swatches de tamanho / cor
 * ============================================================ */

.boutique-var__variations { display: flex; flex-direction: column; gap: var(--space-5); margin-bottom: var(--space-6); }

.boutique-var__row { display: flex; flex-direction: column; gap: var(--space-2); }

.boutique-var__label {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-heading, #211c19);
}

.boutique-var__size-guide {
  font-size: var(--font-size-xs);
  font-weight: var(--fw-normal, 400);
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-accent, #b89a62);
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-left: auto;
}
.boutique-var__size-guide:hover { color: var(--boutique-gold-dk, #8b7047); }

/* ── Swatches de tamanho ─────────────────────────────────── */
.boutique-var__swatches { display: flex; flex-wrap: wrap; gap: var(--space-2); }

.boutique-swatch--size {
  min-width: 44px;
  height: 44px;
  padding: 0 var(--space-3);
  border: 1.5px solid var(--color-border-subtle, #e8ded5);
  border-radius: var(--radius-sm, 6px);
  background: var(--color-surface-1, #fff);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  color: var(--color-heading, #211c19);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.boutique-swatch--size:hover { border-color: var(--color-heading, #211c19); }
.boutique-swatch--size.is-selected {
  border-color: var(--color-heading, #211c19);
  background: var(--color-heading, #211c19);
  color: #fff;
}
.boutique-swatch--size.is-unavailable,
.boutique-swatch--size[disabled] {
  opacity: .4;
  cursor: not-allowed;
  position: relative;
}
.boutique-swatch--size.is-unavailable::after {
  content: '';
  position: absolute;
  inset: 50% 0 auto;
  height: 1px;
  background: currentColor;
  opacity: .4;
  transform: rotate(-45deg) scaleX(1.3);
}

/* ── Swatches de cor ─────────────────────────────────────── */
.boutique-swatch--color {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  background: var(--color-border-subtle, #e8ded5);
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
  padding: 0;
  overflow: hidden;
  font-size: 9px;
  color: var(--color-heading);
}
.boutique-swatch--color:hover { transform: scale(1.12); }
.boutique-swatch--color.is-selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--color-heading, #211c19);
}

/* ── Hidden select (WC JS needs it) ─────────────────────── */
.boutique-var__select-hidden { display: none; }

/* ── Generic dropdown ────────────────────────────────────── */
.boutique-var__select-wrap { position: relative; display: inline-block; }
.boutique-var__select {
  appearance: none;
  -webkit-appearance: none;
  padding: 10px var(--space-10) 10px var(--space-4);
  border: 1.5px solid var(--color-border-subtle, #e8ded5);
  border-radius: var(--radius-md, 8px);
  background: var(--color-surface-1, #fff);
  font-size: var(--font-size-sm);
  color: var(--color-heading, #211c19);
  cursor: pointer;
  min-width: 180px;
}
.boutique-var__select:focus { outline: none; border-color: var(--color-heading); }
.boutique-var__select-caret { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--color-text-muted); }

/* ── Variation summary (preço/disponibilidade) ───────────── */
.boutique-var__summary { }
.woocommerce-variation-price { margin-bottom: var(--space-4); }
.woocommerce-variation-availability .in-stock { color: #065f46; font-size: var(--font-size-xs); }
.woocommerce-variation-availability .out-of-stock { color: #991b1b; font-size: var(--font-size-xs); }

/* ── Controls (qty + btn) ────────────────────────────────── */
.boutique-atc__controls { display: flex; gap: var(--space-3); align-items: stretch; }
.boutique-atc__qty { width: 120px; flex-shrink: 0; }
.boutique-atc__qty .quantity { display: flex; align-items: center; border: 1.5px solid var(--color-border-subtle, #e8ded5); border-radius: var(--radius-md, 8px); overflow: hidden; height: 52px; }
.boutique-atc__qty input.qty { border: none; text-align: center; width: 48px; padding: 0; font-size: var(--font-size-base); font-weight: var(--fw-semibold, 600); color: var(--color-heading); background: transparent; -moz-appearance: textfield; }
.boutique-atc__qty input.qty::-webkit-inner-spin-button,
.boutique-atc__qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* ── Boutique primary button (general) ──────────────────── */
.boutique-btn--primary {
  background: var(--color-heading, #211c19);
  color: #fff;
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0 var(--space-6);
  height: 52px;
  cursor: pointer;
  transition: background var(--transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.boutique-btn--primary:hover { background: var(--color-accent, #b89a62); }
.boutique-btn--full { flex: 1; width: 100%; }

/* ── Reset link ──────────────────────────────────────────── */
.boutique-var__reset {
  display: inline-block;
  font-size: var(--font-size-xs);
  color: var(--color-text-muted, #7a6e68);
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-top: var(--space-2);
  cursor: pointer;
}
.boutique-var__reset:not(:visible) { display: none; }

/* ── btn-primary / btn-outline globais ───────────────────── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px var(--space-8);
  background: var(--color-heading, #211c19);
  color: #fff;
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transition-fast);
}
.btn-primary:hover { background: var(--color-accent, #b89a62); color: #fff; }

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px var(--space-8);
  background: transparent;
  color: var(--color-heading, #211c19);
  border: 1.5px solid var(--color-heading, #211c19);
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--transition-fast);
}
.btn-outline:hover { background: var(--color-heading, #211c19); color: #fff; }

/* ── Product tabs CSS ────────────────────────────────────── */
.boutique-tabs { margin-top: var(--space-8); }
.boutique-tabs__nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--color-border-subtle, #e8ded5);
  margin-bottom: var(--space-6);
  overflow-x: auto;
}
.boutique-tabs__trigger {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: var(--space-3) var(--space-6);
  font-size: var(--font-size-xs);
  font-weight: var(--fw-semibold, 600);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-muted, #7a6e68);
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.boutique-tabs__trigger.is-active { color: var(--color-heading, #211c19); border-bottom-color: var(--color-heading, #211c19); }
.boutique-tabs__trigger:hover { color: var(--color-heading, #211c19); }

.boutique-tabs__panel { line-height: 1.7; font-size: var(--font-size-sm); color: var(--color-text); }
.boutique-tabs__panel:not(.is-active) { display: none; }
.boutique-tabs__panel h2 { display: none; } /* WC adiciona heading redundante */

/* ============================================================
 * MOBILE NAV PANEL — override boutique (branco/claro)
 * Sobrescreve o gradiente escuro do tema Focofy base
 * ============================================================ */

@media (max-width: 1023px) {
  .nav-panel {
    background:  var(--color-surface-1, #fff) !important;
    border-left: 1px solid var(--color-border-subtle, #e8ded5) !important;
    box-shadow:  -8px 0 32px rgba(33,28,25,.12) !important;
  }

  .nav-panel__header {
    border-bottom: 1px solid var(--color-border-subtle, #e8ded5) !important;
  }

  .nav-panel__logo-text {
    color: var(--color-heading, #211c19) !important;
    font-family: var(--font-heading) !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: var(--font-size-base) !important;
  }

  .nav-panel__close {
    color: var(--color-heading, #211c19) !important;
  }
  .nav-panel__close:hover { background: var(--color-surface-2, #f6f1e8) !important; }

  /* Menu items */
  .nav-panel .primary-menu a {
    color: var(--color-heading, #211c19) !important;
    font-size: var(--font-size-base) !important;
    font-weight: var(--fw-semibold, 600) !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    padding: var(--space-4) var(--space-6) !important;
    border-bottom: 1px solid var(--color-border-subtle, #e8ded5) !important;
    display: block !important;
    border-radius: 0 !important;
  }
  .nav-panel .primary-menu a:hover {
    background: var(--color-surface-2, #f6f1e8) !important;
    color: var(--color-accent, #b89a62) !important;
  }
  .nav-panel .primary-menu li:last-child a { border-bottom: none !important; }

  /* Backdrop */
  .nav-backdrop {
    background: rgba(33,28,25,.5) !important;
    backdrop-filter: blur(3px) !important;
  }

  /* Nav toggle (hamburguer) — visível na boutique */
  .nav-toggle {
    color: var(--color-heading, #211c19);
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-2);
    border-radius: var(--radius-md, 8px);
    transition: background var(--transition-fast);
  }
  .nav-toggle:hover { background: var(--color-surface-2, #f6f1e8); }
  .nav-toggle__bar {
    display: block;
    width: 22px;
    height: 2px;
    background: currentColor;
    margin: 4px 0;
    transition: transform .25s ease, opacity .2s;
    border-radius: 1px;
  }
  .site-header.is-open .nav-toggle__bar--top    { transform: translateY(6px) rotate(45deg); }
  .site-header.is-open .nav-toggle__bar--mid    { opacity: 0; }
  .site-header.is-open .nav-toggle__bar--bottom { transform: translateY(-6px) rotate(-45deg); }

  /* Header grid em mobile */
  .site-header .header-grid {
    position: relative;
  }
}

/* WC 8+: ocultar texto de leitores de tela do preco visivelmente */
.boutique-card__price .screen-reader-text,
.woocommerce ul.products li.product .price .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Checkout — Nome e Sobrenome: inputs ligeiramente maiores */
/* Nome e Sobrenome: empilhados verticalmente, largura total */
#billing_first_name_field,
#billing_last_name_field {
  float: none !important;
  width: 100% !important;
  clear: both !important;
}
#billing_first_name,
#billing_last_name {
  padding: 16px var(--space-4) !important;
  font-size: var(--font-size-base) !important;
  height: 56px !important;
  box-sizing: border-box !important;
}

/* Checkout — Endereço ao lado do Número */
#billing_address_1_field {
  clear: both;
}
.woocommerce-checkout p#billing_address_1_field,
.woocommerce-checkout p#billing_number_field {
  float: left;
  width: 100%;
}
.woocommerce-checkout p#billing_address_1_field.form-row-first,
.woocommerce-checkout p#billing_number_field.form-row-last {
  width: 48%;
  box-sizing: border-box;
}

/* ============================================================
 * PRODUTO SINGLE — MOBILE FIXES
 * Corrige foto cortada, cards e tabs cortados à direita
 * ============================================================ */
@media (max-width: 768px) {

  /* Impede overflow horizontal em toda a página de produto */
  .boutique-product,
  .boutique-product__wrap {
    overflow-x: hidden;
    max-width: 100vw;
  }

  /* Grid produto: coluna única */
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: var(--space-6) !important;
    padding-top: 0 !important;
  }

  /* Galeria: imagem não ultrapassa a tela */
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce-product-gallery__wrapper,
  .woocommerce-product-gallery__image {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4;
    object-fit: cover;
  }

  /* Summary: largura total sem overflow */
  .woocommerce div.product .summary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
  }

  /* Tabs nav: scroll horizontal em vez de cortar */
  .boutique-tabs__nav {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
    max-width: 100%;
  }
  .boutique-tabs__nav::-webkit-scrollbar { display: none; }

  /* Tabs trigger: tamanho mínimo legível */
  .boutique-tabs__trigger {
    padding: var(--space-3) var(--space-4) !important;
    font-size: 11px !important;
    flex-shrink: 0;
  }

  /* Painel de tab: sem overflow */
  .boutique-tabs__panel {
    overflow-x: auto;
    max-width: 100%;
  }

  /* Tabelas dentro do produto (informação adicional, resultados frete) */
  .boutique-tabs__panel table,
  .woocommerce-product-attributes,
  .tableResult table,
  .containerCalculator table {
    display: block;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }
  .woocommerce-product-attributes td,
  .woocommerce-product-attributes th {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  /* Simulador de frete: não ultrapassa a tela */
  .containerCalculator {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden;
  }

  /* Botão adicionar ao carrinho: largura total */
  .boutique-atc__controls {
    flex-direction: column;
  }
  .boutique-atc .single_add_to_cart_button {
    width: 100%;
    min-width: unset;
  }

  /* Breadcrumb não quebra layout */
  .woocommerce-breadcrumb {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }

  /* Relacionados: 2 colunas no mobile */
  .bprod-related ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Mobile pequeno */
@media (max-width: 480px) {
  .boutique-tabs__trigger {
    padding: var(--space-2) var(--space-3) !important;
    font-size: 10px !important;
    letter-spacing: 0.05em !important;
  }
  .woocommerce-product-gallery__image img {
    aspect-ratio: 4 / 5;
  }
}


/* ============================================================
 * CARRINHO — MOBILE FIXES
 * ============================================================ */
@media (max-width: 768px) {

  .bsacola,
  .bsacola__wrap {
    overflow-x: hidden;
    max-width: 100vw;
    box-sizing: border-box;
  }

  .bsacola__layout {
    grid-template-columns: 1fr !important;
    gap: var(--space-6);
  }
  .bsacola__sidebar { position: static; }

  /* ── TABELA → CARDS ─── */
  .bsacola__table,
  .bsacola__table tbody { display: block; width: 100%; }
  .bsacola__table thead { display: none; }

  /* Cada linha: flex com quebra */
  .bsacola__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
    padding: var(--space-4) 0;
    border-bottom: 1px solid var(--color-border-subtle);
    width: 100%;
    box-sizing: border-box;
  }

  /* Foto — linha 1, coluna esquerda, ocupa as 2 linhas */
  .bsacola__thumb {
    flex: 0 0 72px;
    width: 72px;
    padding: 0;
    order: 1;
  }
  .bsacola__thumb img {
    width: 72px;
    height: 96px;
    object-fit: cover;
    border-radius: var(--radius-lg, 10px);
    display: block;
  }

  /* Info (nome + preço unitário) — linha 1, expande */
  .bsacola__info {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 var(--space-2) 0 var(--space-3);
    order: 2;
  }
  .bsacola__product-name a {
    font-size: var(--font-size-sm);
    white-space: normal;
    word-break: break-word;
  }
  .bsacola__product-price {
    font-size: var(--font-size-xs);
    color: var(--color-text-inverse, #fff);
    margin-top: var(--space-1);
  }

  /* Botão remover — linha 1, direita */
  .bsacola__remove {
    flex: 0 0 auto;
    width: auto;
    padding: 0;
    order: 3;
  }

  /* Linha 2: qty e subtotal empurrados após a foto */
  .bsacola__qty {
    flex: 0 0 auto;
    padding: var(--space-3) 0 0 0;
    margin-left: 72px;                /* alinha com a info acima */
    padding-left: var(--space-3);
    order: 4;
    align-self: center;
  }
  .bsacola__subtotal {
    flex: 1 1 auto;
    padding: var(--space-3) 0 0 0;
    text-align: right;
    font-size: var(--font-size-base);
    font-weight: var(--fw-semibold, 600);
    color: var(--color-heading);
    white-space: nowrap;
    order: 5;
    align-self: center;
  }

  /* Qty compacto */
  .bsacola__qty .boutique-qty { height: 40px; }
  .bsacola__qty .boutique-qty__btn { width: 32px; height: 40px; }
  .bsacola__qty .boutique-qty__input { width: 36px; font-size: var(--font-size-sm); }

  /* Cupom e ações */
  .bsacola__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }
  .bsacola__coupon { max-width: 100%; width: 100%; }

  /* Chips de pagamento */
  .boutique-footer__pay-chips {
    flex-wrap: wrap;
    justify-content: flex-start !important;
  }
}

@media (max-width: 400px) {
  .bsacola__thumb,
  .bsacola__thumb img { width: 60px; height: 80px; }
  .bsacola__qty { margin-left: 60px; }
  .bsacola__sidebar { padding: var(--space-4); }
}
