/* Responsive fixes (2026-10-06) */
img, video, canvas { max-width: 100%; }
.search-section, .search-container { min-width: 0; }
.search-input { min-width: 0; width: 100%; }
.search-btn { flex-shrink: 0; }
.table-responsive, .tbl-wrap, .adm-tbl-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 768px) {
  .policy-table, .cmp-table, .sizeguide-table, .pdp-specs-table, .sd-table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .footer-col ul li a { display: inline-block; padding: 0.55rem 0; }
}
.card-name { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
  .category-bar { padding: 0.3rem 0; }
  .category-links a { padding: 0.65rem 0.25rem; min-height: 40px; }
}
@media (max-width: 640px) {
  .wishlist-btn, .share-btn, .compare-toggle-btn { flex-shrink: 0; position: relative; }
  .wishlist-btn { position: absolute; }
  .share-btn::after, .compare-toggle-btn::after, .wishlist-btn::after { content: ''; position: absolute; inset: -9px; border-radius: 50%; }
  .card-utility-icons { gap: 0.55rem; }
  .card-utility-row .card-category { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .card-category { font-size: 0.7rem; }
  .discount-badge { font-size: 0.7rem; }
  .stock-in, .stock-low, .stock-out { font-size: 0.72rem; }
  .qv-trigger-mobile { font-size: 0.72rem; min-height: 32px; }
  .add-to-cart-btn, .buy-now-btn { font-size: 0.75rem; min-height: 38px; }
  .original-price { font-size: 0.72rem; }
}
.pdp-tabs { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.pdp-tabs::-webkit-scrollbar { display: none; }
.pdp-tab { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 480px) { .pdp-tab { padding: 0.8rem 1rem; } }
.breadcrumb { min-width: 0; max-width: 100%; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.breadcrumb::-webkit-scrollbar { display: none; }
.breadcrumb > * { flex-shrink: 0; }
@media (max-width: 640px) { .breadcrumb > span:last-child { max-width: 55vw; overflow: hidden; text-overflow: ellipsis; } }
.pdp-delivery-input-row input { min-width: 0; flex: 1 1 auto; }
.pdp-delivery-input-row button { flex-shrink: 0; }

/* ===== Home page fixes (2026-10-06) ===== */
.auth-modal-close, .chat-widget-icon-btn, .search-btn, .voice-search-btn,
.wishlist-btn, .share-btn, .compare-toggle-btn, .testi-dot { min-height: 0; min-width: 0; padding: 0; box-sizing: border-box; flex-shrink: 0; }
input[type="checkbox"], input[type="radio"] { min-height: 0; }
.auth-modal-close, .chat-widget-icon-btn { position: relative; }
.auth-modal-close { position: absolute; }
.auth-modal-close::after, .chat-widget-icon-btn::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; }
.testi-dots { align-items: center; gap: 0.5rem; }
.testi-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.testi-dot::after { content: ''; position: absolute; inset: -10px -4px; }
.testi-dot.active { width: 24px; border-radius: 999px; }
@media (max-width: 768px) {
  .chat-widget-icon-btn { width: 32px; height: 32px; }
  .chat-widget-panel { left: 0.6rem; right: 0.6rem; width: auto; max-width: none; bottom: calc(58px + env(safe-area-inset-bottom, 0px) + 0.6rem); height: min(70vh, 520px); max-height: none; border-radius: 18px; }
  body:has(.chat-widget-panel.open) .chat-widget-bubble { display: none; }
}
@media (max-width: 640px) {
  .card-utility-row { flex-wrap: wrap; row-gap: 0.35rem; }
  .card-utility-row .card-category { flex: 1 1 100%; white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: clip; }
  .card-utility-icons { margin-left: auto; }
  .share-btn, .compare-toggle-btn { width: 26px; height: 26px; }
  .card-cta-group { flex-wrap: wrap; }
  .card-cta-group > button { min-width: 0; }
  .add-to-cart-btn:disabled, .notify-btn { flex: 1 1 100%; }
}
@media (max-width: 420px) { .add-to-cart-btn, .buy-now-btn { padding: 0.5rem 0.3rem; } }
/* Align side-by-side cards: reserve two lines for category and name */
@media (max-width: 640px) {
  .card-utility-row .card-category { line-height: 1.25; min-height: 2.5em; }
  .card-name { line-height: 1.3; min-height: 2.6em; }
}

/* ===== Shop fixes (2026-10-06): no press-zoom on popups, logo placeholder ===== */
#qv-overlay:active, #qv-modal:active, #qv-modal *:active,
.auth-modal-overlay:active, [role="dialog"]:active, [aria-modal="true"]:active {
  transform: none !important; transition: none;
}
.img-fallback-mark {
  width: 84px; height: 84px; border-radius: 14px; font-size: 0; color: transparent;
  background: #fff url(images/og-image-square-600.png) center / cover no-repeat;
  box-shadow: 0 1px 6px rgba(0,0,0,.12); overflow: hidden;
}
.img-fallback.compact .img-fallback-mark { width: 28px; height: 28px; border-radius: 6px; }

/* Filter drawer close button: keep it a true circle */
.sidebar-close-btn { min-height: 0; min-width: 0; width: 32px; height: 32px; padding: 0; flex: 0 0 32px; box-sizing: border-box; position: relative; }
.sidebar-close-btn::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; }

/* Product page: action buttons + delivery countdown */
.pdp-delivery-countdown { display: block !important; line-height: 1.5; }
@media (max-width: 900px) {
  .pdp-actions { flex-direction: row; flex-wrap: wrap; gap: 0.6rem; }
  .pdp-btn-primary, .pdp-btn-secondary { flex: 1 1 100%; width: 100%; }
  .pdp-btn-icon { flex: 1 1 0; width: auto; min-width: 0; height: 48px; min-height: 48px; }
}
