/* Agata Fashion · visual aplicado às classes reais dos blocos do WooCommerce.
   loja.css traz os componentes do protótipo; aqui eles são "colados" no HTML que o WooCommerce gera. */

/* cabeçalho: menu (gaveta à esquerda) · logo no meio · busca, conta e sacola à direita */
.cabecalho__linha { grid-template-columns: 1fr auto 1fr; gap: var(--e-3); }
.cabecalho__linha > * { margin-block: 0 !important; } /* o layout de blocos põe 24px acima da logo e do grupo da direita */
.cabecalho .logo { justify-self: center; }
.cabecalho__esq { justify-content: flex-start; }
.cabecalho .wp-block-navigation__responsive-container-open { min-width: var(--toque); min-height: var(--toque); display: grid; place-items: center; margin-left: -10px; }
.cabecalho .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }

/* gaveta do menu: entra pela esquerda, com fundo escurecido atrás */
.cabecalho .wp-block-navigation__responsive-container.is-menu-open {
  inset: 0 auto 0 0; width: min(380px, 86vw); padding: var(--e-5) var(--e-5) var(--e-8);
  background: var(--cor-fundo) !important; color: var(--cor-texto) !important;
  box-shadow: var(--sombra-2); animation: gaveta-entra .38s var(--curva) both;
}
@keyframes gaveta-entra { from { transform: translateX(-102%); } to { transform: none; } }
/* backdrop-filter e transform prendem o position:fixed dentro do cabeçalho: tira os dois com o menu aberto */
html.has-modal-open .cabecalho { backdrop-filter: none; transform: none !important; background: var(--cor-fundo); }
html.has-modal-open .cabecalho::after { content: ""; position: fixed; inset: 0; z-index: 99998; background: rgba(15, 12, 10, .38); pointer-events: none; }
.cabecalho .wp-block-navigation__responsive-container.is-menu-open { z-index: 99999; }
.cabecalho .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: var(--e-8); gap: 0; }
.cabecalho .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; width: 100%; }
.cabecalho .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.cabecalho .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  font-family: var(--fonte-titulo); text-transform: var(--titulo-caixa); font-size: 1.6rem;
  min-height: 60px; width: 100%; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--cor-linha); padding: 0;
}
.cabecalho .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::after { content: "→"; font-family: var(--fonte-texto); font-size: 1rem; opacity: .5; }
.cabecalho .wp-block-navigation__responsive-container-close { top: var(--e-4); right: var(--e-4); min-width: var(--toque); min-height: var(--toque); display: grid; place-items: center; }

/* busca: campo inteiro no desktop, lupa no celular (o campo abre embaixo do cabeçalho) */
.busca-cabecalho { margin: 0; }
.busca-cabecalho .wp-block-search__inside-wrapper { border: 1px solid var(--cor-linha); border-radius: var(--raio-botao); background: var(--cor-superficie); padding: 0 0 0 var(--e-4); }
.busca-cabecalho .wp-block-search__input { border: 0; background: none; min-height: 42px; width: 220px; font-size: var(--fs-s); padding: 0; outline: none; }
.busca-cabecalho .wp-block-search__button { background: none; border: 0; color: var(--cor-texto); min-width: var(--toque); min-height: 42px; margin: 0; padding: 0; display: grid; place-items: center; }
.busca-cabecalho .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
@media (max-width: 899px) {
  .busca-cabecalho .wp-block-search__inside-wrapper { border: 0; background: none; padding: 0; }
  .busca-cabecalho .wp-block-search__input { display: none; }
  .busca-cabecalho.busca--aberta { position: absolute; left: 0; right: 0; top: 100%; padding: var(--e-3) var(--gutter); background: var(--cor-fundo); border-bottom: 1px solid var(--cor-linha); }
  .busca-cabecalho.busca--aberta .wp-block-search__inside-wrapper { border: 1px solid var(--cor-linha); background: var(--cor-superficie); padding-left: var(--e-4); }
  .busca-cabecalho.busca--aberta .wp-block-search__input { display: block; flex: 1; width: auto; font-size: 16px; }
  .cabecalho__dir { gap: 0; }
}
.wp-block-woocommerce-product-search input { min-height: 40px; border: 1px solid var(--cor-linha); border-radius: var(--raio-botao); background: var(--cor-superficie); padding: 0 var(--e-4); }
.wc-block-mini-cart__button, .wc-block-customer-account a { min-width: var(--toque); min-height: var(--toque); display: grid; place-items: center; }
.wc-block-mini-cart__badge { background: var(--cor-botao) !important; color: var(--cor-botao-texto) !important; font-weight: 700; }
.wc-block-mini-cart__drawer .components-modal__content { background: var(--cor-fundo); }
.wc-block-mini-cart__title { font-family: var(--fonte-titulo); text-transform: var(--titulo-caixa); font-weight: 400; }
.wc-block-mini-cart__footer-actions .wc-block-components-button { border-radius: var(--raio-botao); min-height: 48px; }
.wc-block-mini-cart__footer-checkout { background: var(--cor-botao) !important; color: var(--cor-botao-texto) !important; }
.wc-block-mini-cart__footer-cart { background: transparent !important; color: var(--cor-texto) !important; border: 1px solid var(--cor-texto) !important; }
.wc-block-mini-cart__empty-cart-wrapper { text-align: center; padding: var(--e-8) var(--e-4); }

/* grade e card de produto (product-collection) */
.wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: var(--e-6) var(--e-3) !important; margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .wc-block-product-template { grid-template-columns: repeat(4, 1fr) !important; gap: var(--e-7) var(--e-5) !important; } }
@media (min-width: 1000px) and (max-width: 1279px) { .arquivo__corpo .wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; } }
.trilho .wc-block-product-template { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 44%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.trilho .wc-block-product-template > li { scroll-snap-align: start; }
@media (min-width: 900px) { .trilho .wc-block-product-template { grid-auto-columns: calc((100% - 3 * var(--e-5)) / 4); } }
.wc-block-product { position: relative; text-align: left !important; }
.wc-block-components-product-image { position: relative; overflow: hidden; border-radius: var(--raio-card); background: var(--cor-areia); margin: 0 !important; }
.wc-block-components-product-image img { aspect-ratio: 4/5; object-fit: cover; width: 100%; transition: opacity .45s var(--curva); }
.wc-block-product .wc-block-components-product-sale-badge, .wc-block-components-product-sale-badge { position: absolute; top: var(--e-2); left: var(--e-2); right: auto; z-index: 2; margin: 0; padding: 4px 9px; border: 0; border-radius: var(--raio-s); background: var(--cor-promo); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.wc-block-product .woocommerce-loop-product__title, .wc-block-product .wp-block-post-title { font-family: var(--fonte-texto) !important; text-transform: none !important; letter-spacing: 0; font-size: var(--fs-s) !important; font-weight: 500; line-height: 1.35; margin: var(--e-3) 0 var(--e-1) !important; text-align: left; }
.wc-block-components-product-price, .wp-block-woocommerce-product-price { font-weight: 700; font-size: var(--fs-s); text-align: left !important; }
.wc-block-components-product-price del { color: var(--cor-texto-2); font-weight: 400; }
.wc-block-components-product-price ins { text-decoration: none; color: var(--cor-promo); }
.wc-block-product.outofstock img { filter: grayscale(.5); opacity: .7; }
/* troca para a 2ª foto no hover: o dev pode imprimir a 2ª imagem da galeria com o filtro render_block (ver LEIA-ME) */
.agata-foto-2 { position: absolute; inset: 0; opacity: 0; }
@media (hover: hover) { .wc-block-product:hover .agata-foto-2 { opacity: 1; } }

/* categoria: barra, ordenação, filtros, paginação */
.wp-block-woocommerce-product-results-count p, .woocommerce-result-count { font-size: var(--fs-xs); color: var(--cor-texto-2); margin: 0; }
.wp-block-woocommerce-catalog-sorting select, .woocommerce-ordering select { min-height: var(--toque); border: 1px solid var(--cor-linha); border-radius: var(--raio-botao); background: var(--cor-superficie); padding: 0 var(--e-6) 0 var(--e-4); font-size: var(--fs-s); }
.filtros .wp-block-woocommerce-filter-wrapper, .filtros .filtro-titulo { border-bottom: 1px solid var(--cor-linha); padding: var(--e-4) 0; margin: 0; }
.filtros h3 { font-family: var(--fonte-texto); text-transform: none; font-size: var(--fs-s); font-weight: 700; margin: 0 0 var(--e-3); }
.filtros .wc-block-checkbox-list li { min-height: 40px; display: flex; align-items: center; }
.filtros input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--cor-texto); }
.wc-block-components-price-slider__range-input-progress { --range-color: var(--cor-texto); }
.filtros .wc-block-product-categories-list { list-style: none; padding: 0; margin: 0; }
.filtros .wc-block-product-categories-list a { display: flex; min-height: 40px; align-items: center; font-size: var(--fs-s); }
@media (max-width: 999px) { .filtros:not(.gaveta) { display: none; } .filtros.gaveta { overflow: auto; padding: 0 var(--e-5) var(--e-5); } }
@media (min-width: 1000px) { .so-cel { display: none !important; } }
.carregar { display: flex; justify-content: center; margin-top: var(--e-7); }
.carregar a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 var(--e-6); border: 1px solid var(--cor-texto); border-radius: var(--raio-botao); font-size: var(--fs-s); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.carregar .wp-block-query-pagination-next-arrow { display: none; }

/* produto */
.produto.wp-block-columns { gap: var(--e-5); margin-bottom: var(--e-8); }
@media (min-width: 1000px) { .produto.wp-block-columns { gap: var(--e-8); } .agata-resumo { position: sticky; top: 100px; align-self: flex-start; } }
.agata-resumo > * + * { margin-top: var(--e-4) !important; }
.agata-resumo .wc-block-components-product-price { font-size: 1.5rem; }
.agata-resumo .parcelas { display: block; }
.agata-resumo .pix { display: inline-flex; margin-top: var(--e-3); padding: var(--e-3) var(--e-4); border-radius: var(--raio-m); background: color-mix(in srgb, var(--cor-pix) 10%, var(--cor-superficie)); color: var(--cor-pix); font-size: var(--fs-s); }
.wc-block-components-product-sku, .wp-block-woocommerce-product-sku { font-size: var(--fs-xs); color: var(--cor-texto-2); }
.wc-block-components-product-stock-indicator.estoque-baixo, .stock.estoque-baixo { color: var(--cor-promo); font-weight: 700; }
.wc-block-components-product-stock-indicator--out-of-stock { color: var(--cor-promo); font-weight: 700; }
.woocommerce-product-gallery { border-radius: var(--raio-card); overflow: hidden; }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: var(--e-2); margin-top: var(--e-2) !important; }
.woocommerce-product-gallery .flex-control-thumbs img { border-radius: var(--raio-m); opacity: .6; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; outline: 1px solid var(--cor-texto); }
/* variações: os selects do WooCommerce viram campos grandes; para botões de tamanho/cor usar "Variation Swatches" mantendo .tam / .cor-op */
.variations { width: 100%; border-collapse: collapse; }
.variations th, .variations td { display: block; padding: 0; text-align: left; }
.variations label { font-size: var(--fs-s); font-weight: 700; }
.variations select { width: 100%; min-height: 48px; margin: var(--e-2) 0 var(--e-4); border: 1px solid var(--cor-linha); border-radius: var(--raio-m); background: var(--cor-superficie); padding: 0 var(--e-4); }
.reset_variations { font-size: var(--fs-xs); text-decoration: underline; }
.single_add_to_cart_button, .wp-block-woocommerce-add-to-cart-form .button { width: 100%; min-height: 52px; border-radius: var(--raio-botao) !important; background: var(--cor-botao) !important; color: var(--cor-botao-texto) !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-top: var(--e-3); }
.single_add_to_cart_button.disabled { opacity: .5; }
.quantity .qty { min-height: 52px; width: 64px; border: 1px solid var(--cor-linha); border-radius: var(--raio-m); text-align: center; }
.woocommerce-variation-add-to-cart { display: grid; grid-template-columns: auto 1fr; gap: var(--e-2); }
.woocommerce-variation-add-to-cart .botao--whats { grid-column: 1 / -1; }
.wp-block-woocommerce-product-details .wc-tabs { display: flex; gap: var(--e-4); list-style: none; padding: 0; border-bottom: 1px solid var(--cor-linha); }
.wp-block-woocommerce-product-details .wc-tabs a { display: inline-flex; min-height: var(--toque); align-items: center; font-weight: 700; font-size: var(--fs-s); border-bottom: 2px solid transparent; }
.wp-block-woocommerce-product-details .wc-tabs .active a { border-color: var(--cor-texto); }
.wp-block-woocommerce-product-details .woocommerce-Tabs-panel { color: var(--cor-texto-2); font-size: var(--fs-s); padding: var(--e-4) 0; }
.secao__titulo { font-size: var(--fs-xl); margin-bottom: var(--e-5) !important; }

/* sacola e checkout (blocos): só estilo, o HTML é do WooCommerce */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { padding-bottom: var(--e-8); }
.wc-block-components-sidebar-layout { gap: var(--e-6); }
.wc-block-cart .wc-block-components-sidebar, .wc-block-checkout .wc-block-components-sidebar { background: var(--cor-superficie); border-radius: var(--raio-m); padding: var(--e-5) !important; box-shadow: var(--sombra-1); }
.wc-block-cart-item__image img { aspect-ratio: 4/5; object-fit: cover; border-radius: var(--raio-m); }
.wc-block-components-product-name { font-weight: 600; }
.wc-block-components-quantity-selector { border-radius: var(--raio-botao) !important; }
.wc-block-components-button:not(.is-link) { border-radius: var(--raio-botao); min-height: 52px; background: var(--cor-botao); color: var(--cor-botao-texto); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.25rem; font-weight: 800; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select { border-radius: var(--raio-m) !important; border-color: var(--cor-linha) !important; background: var(--cor-superficie) !important; min-height: 54px; }
.wc-block-components-text-input.is-active input:focus { box-shadow: inset 0 0 0 1px var(--cor-texto); }
.wc-block-components-checkout-step__title { font-family: var(--fonte-titulo); text-transform: var(--titulo-caixa); font-weight: 400; font-size: var(--fs-l); }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: var(--raio-m); }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--cor-texto) !important; }
.wp-block-woocommerce-empty-cart-block { text-align: center; padding: var(--e-8) 0; }

/* minha conta (padrão do WooCommerce) */
.woocommerce-account .woocommerce { display: grid; gap: var(--e-6); }
@media (min-width: 1000px) { .woocommerce-account .woocommerce { grid-template-columns: 240px 1fr; } }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select { min-height: 52px; border: 1px solid var(--cor-linha); border-radius: var(--raio-m); background: var(--cor-superficie); padding: 0 var(--e-4); }
.woocommerce .button, .woocommerce button.button { border-radius: var(--raio-botao); background: var(--cor-botao); color: var(--cor-botao-texto); min-height: 48px; padding: 0 var(--e-6); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: var(--raio-m); border: 1px solid var(--cor-linha); background: var(--cor-superficie); }
