/* =========================================================
   Petal Vault — Shop & Product responsive fixes (tablet + mobile only)
   Loaded on shop, product categories/tags and single product pages.
   Desktop (>1024px) is intentionally untouched.
   ========================================================= */

@media (max-width: 1024px) {

  /* ---------- Product grids (shop, categories, related, upsells) ---------- */
  .elements-grid.basel-products-holder {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 !important;
  }
  .elements-grid.basel-products-holder::before,
  .elements-grid.basel-products-holder::after,
  .elements-grid.basel-products-holder > :not(.product-grid-item) { display: none !important; }
  .elements-grid.basel-products-holder > .product-grid-item {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 10px 10px 14px !important;
    border: 1px solid rgba(113, 58, 75, .08);
    min-width: 0;
  }
  .elements-grid .pvx-card { height: 100%; }
  .elements-grid .pvx-info { padding: 10px 2px 0 !important; }
  .elements-grid .pvx-title { margin: 4px 0 6px !important; line-height: 1.3 !important; overflow-wrap: anywhere; }
  .elements-grid .pvx-row { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 8px; margin-top: auto; }
  .elements-grid .pvx-price { margin: 0 !important; }
  .elements-grid .pvx-swatches { margin: 0 !important; flex-wrap: wrap; }

  /* ---------- Shop toolbar ---------- */
  .shop-loop-head { align-items: center !important; gap: 12px; flex-wrap: wrap; }
  .shop-loop-head .woocommerce-result-count { display: none; }

  /* ---------- Pagination: stray arrow text under the next button ---------- */
  .woocommerce-pagination ul.page-numbers { display: flex !important; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
  .woocommerce-pagination .page-numbers li { margin: 0 !important; }
  body .woocommerce-pagination ul.page-numbers li a.next.page-numbers,
  body .woocommerce-pagination ul.page-numbers li a.prev.page-numbers { font-size: 0 !important; color: transparent !important; overflow: hidden; }
  body .woocommerce-pagination ul.page-numbers li a.next.page-numbers::before,
  body .woocommerce-pagination ul.page-numbers li a.prev.page-numbers::before { color: var(--pv-plum, #713a4b) !important; }
  .woocommerce-pagination a.next::after, .woocommerce-pagination a.prev::after { display: none !important; }

  /* ---------- Single product: stack gallery and summary on tablet ---------- */
  .single-product .product-image-summary > .row { display: flex; flex-direction: column; }
  .single-product .product-image-summary .product-images,
  .single-product .product-image-summary .summary.entry-summary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  .single-product .product-image-summary .product-images { max-width: 620px !important; margin: 0 auto 28px; }
  .single-product .summary.entry-summary { padding-left: 15px !important; padding-right: 15px !important; }

  /* Tabs: keep on one line, swipe if needed */
  .single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 22px;
    padding: 0 4px !important;
    white-space: nowrap;
  }
  .single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .single-product .woocommerce-tabs ul.tabs li { flex: none; margin: 0 !important; }
  .single-product .woocommerce-tabs ul.tabs li:first-child { margin-left: auto !important; }
  .single-product .woocommerce-tabs ul.tabs li:last-child { margin-right: auto !important; }
  /* Highlights list in the description: label above text */
  .single-product .woocommerce-Tabs-panel--description ul li { display: block !important; }
  .single-product .woocommerce-Tabs-panel--description ul li strong { display: block !important; width: auto !important; margin: 0 0 4px !important; }

  /* Description readability */
  .single-product .woocommerce-Tabs-panel { font-size: 15px; line-height: 1.75; overflow-wrap: break-word; }
  .single-product .woocommerce-Tabs-panel img { max-width: 100%; height: auto; }
  .single-product .woocommerce-Tabs-panel table { display: block; max-width: 100%; overflow-x: auto; }

  /* Related products heading spacing */
  .single-product .related-and-upsells, .single-product .related.products { margin-top: 10px; }
}

/* ---------- Tablet: product grid 3 columns, phones: 2 ---------- */
@media (max-width: 767px) {
  .elements-grid.basel-products-holder { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .elements-grid.basel-products-holder > .product-grid-item { padding: 8px 8px 12px !important; }
  .elements-grid .pvx-title { font-size: 15px !important; }

  /* Product summary */
  .single-product .summary.entry-summary { padding-left: 0 !important; padding-right: 0 !important; }
  .single-product .product_title { font-size: 32px !important; line-height: 1.15 !important; }

  /* Delivery strip: stack items cleanly */
  .single-product .pvdl-grid { grid-template-columns: 1fr !important; gap: 10px !important; }

  /* Colour swatches: tidy, tappable */
  .single-product .variations .woo-variation-items-wrapper ul,
  .single-product .variable-items-wrapper { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
  .single-product .variable-items-wrapper .variable-item { margin: 0 !important; }

  /* Add-to-cart row: quantity + full-width button, wishlist below */
  .single-product form.cart:not(.variations_form),
  body.single-product form.variations_form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  body.single-product form.variations_form.cart > div:first-child { flex: 1 1 100% !important; width: 100% !important; }
  .single-product form.cart:not(.variations_form) > .single_add_to_cart_button { flex: 1 1 0 !important; min-width: 0; width: auto !important; margin: 0 !important; }
  .single-product .woocommerce-variation-add-to-cart { flex-wrap: nowrap !important; }
  .single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 0 !important; }
  .single-product form.cart > .wishlist-btn-wrapper,
  .single-product form.cart > .wishlist-btn-wrap {
    flex: 1 1 100% !important;
    height: auto !important;
    justify-content: center;
    margin: 2px 0 0 !important;
  }

  /* Experience box from functions.php: one item per row */
  .single-product .petal-assurance-grid { grid-template-columns: 1fr !important; display: grid !important; gap: 0 !important; }
  .single-product .petal-assurance-item { border-left: 0 !important; border-right: 0 !important; padding: 16px 8px !important; }
  .single-product .petal-assurance-item + .petal-assurance-item { border-top: 1px solid rgba(113, 58, 75, .12) !important; }

  /* Highlights list in the description: label above text */
  .single-product .woocommerce-Tabs-panel--description ul { display: block !important; grid-template-columns: none !important; }
  .single-product .woocommerce-Tabs-panel--description ul li { display: block !important; padding: 12px 14px !important; }
  .single-product .woocommerce-Tabs-panel--description ul li strong { display: block !important; width: auto !important; margin: 0 0 4px !important; }

  .single-product .woocommerce-tabs ul.tabs { gap: 16px; }
  .single-product .woocommerce-tabs ul.tabs li a { font-size: 10px !important; letter-spacing: .14em !important; padding-left: 0 !important; padding-right: 0 !important; }

  /* Share row wraps instead of overflowing */
  .single-product .product-share { flex-wrap: wrap; gap: 10px; }
}

/* Touch devices: compact card button, no quick-view overlay */
@media (max-width: 1024px) and (hover: none) {
  .elements-grid .pvx-actions { position: static !important; margin: 8px 0 0 !important; opacity: 1 !important; transform: none !important; }
  .elements-grid .pvx-actions .pvx-btn { height: 34px !important; min-height: 0 !important; padding: 0 8px !important; font-size: 9.5px !important; letter-spacing: .14em !important; }
  .elements-grid .pvx-qv { display: none !important; }
}
