/* AFYAVINE Phase 12.7 — isolated storefront and checkout refinements. */
/* A grid row stretches all cards; flexible content anchors price and action. */
.store-product-grid { align-items: stretch; }
.store-product-card { display: flex; flex-direction: column; min-width: 0; height: 100%; }
.store-product-image { flex: 0 0 auto; }
.store-product-body { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.store-product-bottom { margin-top: auto; padding-top: 12px; align-items: flex-end; }
.store-product-bottom > div { min-width: 0; }
.store-card-button { flex-shrink: 0; }
/* Preserve full artwork: do not override existing contain/natural-ratio policy. */
/* When payment is disabled, do not render an actionable checkout link. */
.cart-summary .cart-payment-unavailable {
  margin: 10px 0 14px; padding: 10px 12px; border-radius: 10px;
  background: #f1f5ef; color: #214739; font-size: .88rem;
  line-height: 1.45; font-weight: 400;
}
.cart-payment-unavailable strong { display: block; margin-bottom: 3px; }
.cart-summary button[disabled] {
  cursor: not-allowed; opacity: .68; box-shadow: none;
}
@media (max-width: 920px) {
  .mobile-nav-panel a { padding: 9px 12px; min-height: 44px; display: flex; align-items: center; }
}
@media (max-width: 760px) {
  .store-hero { padding: 12px 0 10px; }
  .store-hero h1 { font-size: clamp(1.55rem, 6.7vw, 1.95rem); line-height: 1.12; margin: 6px 0 8px; }
  .store-hero p { font-size: .91rem; line-height: 1.45; }
  .store-section { padding-top: 14px; }
  .store-filter { gap: 7px; margin-bottom: 13px; }
  .store-filter input, .store-filter select { min-height: 42px; padding: 8px 12px; }
  .store-filter .button { min-height: 42px; padding: 9px 14px; }
  .store-section-heading { margin-bottom: 10px; gap: 8px; }
  .store-section-heading h2 { font-size: 1.55rem; }
  .store-product-grid { row-gap: 12px !important; }
  .store-product-card h3 { font-size: 1.15rem; line-height: 1.2; }
  .store-product-body { padding: 12px; }
  .store-product-bottom { padding-top: 7px; }
  .store-product-image { padding: 8px !important; }
  .store-product-image img { max-height: 225px !important; }
}
@media (max-width: 420px) {
  .store-product-image img { max-height: 210px !important; }
}
