/** Route CSS — shop + modal comprar (carregado em /shop e PDP) */

/* Shop — 2 por linha quando couber; 1 só quando não couber; ímpar isolado centrado */
.shop-product-grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 580px), 1fr));
  column-gap: var(--p-space-8, 80px);
  row-gap: var(--p-space-10, 64px);
  justify-items: center;
}

@media (min-width: 1024px) {
  .shop-product-grid {
    column-gap: var(--p-space-9, 96px);
  }
}

.shop-product-grid > .shop-product-grid__item:last-child:nth-child(odd):not(:only-child) {
  grid-column: 1 / -1;
  justify-self: center;
}

button.add-to-cart-size-btn {
  padding: 0.375rem 0.75rem !important;
  min-height: 2.75rem !important;
  min-width: 2.75rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

button.add-to-cart-size-btn:not(:disabled):not(.is-selected) {
  background-color: transparent !important;
  color: #0d1b2a !important;
}

button.add-to-cart-size-btn.is-selected:not(:disabled) {
  background-color: #0d1b2a !important;
  color: #ffffff !important;
}

button.add-to-cart-size-btn:disabled {
  background-color: transparent !important;
  color: rgba(13, 27, 42, 0.3) !important;
}

button.add-to-cart-modal-cta,
button.add-to-cart-modal-cta:hover,
button.add-to-cart-modal-cta:focus,
button.add-to-cart-modal-cta:focus-visible,
button.add-to-cart-modal-cta:active {
  padding: 0.5rem 1.5rem !important;
  min-height: 2.75rem !important;
  line-height: 1 !important;
  background-color: #0d1b2a !important;
  color: #ffffff !important;
}

.add-to-cart-modal-product-row {
  width: 100%;
  min-width: 0;
}

.add-to-cart-modal-body,
.add-to-cart-modal-backdrop {
  box-sizing: border-box;
}

/* Shop keep-alive — vitrine montada (oculta) durante PDP */
.shop-keep-alive--frozen {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

/* Vitrine — Comprar compacto alinhado ao preço */
button.product-card-comprar-btn,
button.product-card-comprar-btn:hover,
button.product-card-comprar-btn:focus,
button.product-card-comprar-btn:focus-visible,
button.product-card-comprar-btn:active,
a.product-card-comprar-btn,
a.product-card-comprar-btn:hover,
a.product-card-comprar-btn:focus,
a.product-card-comprar-btn:focus-visible,
a.product-card-comprar-btn:active {
  padding: 0.375rem 0.75rem !important;
  min-height: 27px !important;
  line-height: 1 !important;
  transform-origin: center center;
}

button.product-card-comprar-btn.product-card-comprar-btn--featured,
button.product-card-comprar-btn.product-card-comprar-btn--featured:hover,
button.product-card-comprar-btn.product-card-comprar-btn--featured:focus,
button.product-card-comprar-btn.product-card-comprar-btn--featured:focus-visible,
button.product-card-comprar-btn.product-card-comprar-btn--featured:active,
a.product-card-comprar-btn.product-card-comprar-btn--featured,
a.product-card-comprar-btn.product-card-comprar-btn--featured:hover,
a.product-card-comprar-btn.product-card-comprar-btn--featured:focus,
a.product-card-comprar-btn.product-card-comprar-btn--featured:focus-visible,
a.product-card-comprar-btn.product-card-comprar-btn--featured:active {
  padding: 0.3125rem 0.875rem !important;
  min-height: 1.625rem !important;
  line-height: 1 !important;
}

button.product-card-comprar-btn.product-card-comprar-btn--featured:active {
  padding: 0.3125rem 0.875rem !important;
  min-height: 1.625rem !important;
}

@media (max-width: 767px) {
  button.product-card-comprar-btn,
  a.product-card-comprar-btn,
  button.product-card-comprar-btn.product-card-comprar-btn--featured,
  a.product-card-comprar-btn.product-card-comprar-btn--featured {
    min-height: 2.75rem !important;
    min-width: 2.75rem !important;
  }

  button.product-card-comprar-btn.product-card-comprar-btn--featured:active,
  a.product-card-comprar-btn.product-card-comprar-btn--featured:active {
    min-height: 2.75rem !important;
  }
}
