/* Rounded corners (8px) for the storefront's buttons and form fields.
   global.css squares most of them with border-radius: 0 !important; :not(#zq) gives these
   selectors id-level weight so they win. Round controls (circles, pills) are not listed.
   Loaded last (LegacyStyles FOOTER). */

/* Buttons and button-like links */
.btn:not(#zq),
.ab-btn:not(#zq),
.al-btn:not(#zq),
.al-toggle:not(#zq),
.cart-empty-cta:not(#zq),
.dc-na-footer-btn:not(#zq),
.dc-view-all-btn:not(#zq),
.zq-hero-btn:not(#zq),
.zq-reviews-btn:not(#zq),
.add-to-cart-btn:not(.pd-atc):not(#zq),
.pd-atc:not(#zq),
.pd-buynow:not(#zq),
.pc-cta:not(#zq),
.dc-add-cart-btn:not(#zq),
.dc-na-cta:not(#zq),
.ct-submit:not(#zq),
.pd-submit:not(#zq),
.pd-btn-outline:not(#zq),
.option-btn:not(#zq),
.dc-back-top:not(#zq),
.dc-filter-fab:not(#zq),
.dc-grid-btn:not(#zq),
.dc-drawer-close:not(#zq),
.dc-so-close:not(#zq),
.dc-mobile-search-pill:not(#zq),
.zqd-search:not(#zq),
.view_close:not(#zq),
.wishlist-btn:not(#zq),
.pd-share button:not(#zq),
.pd-social a:not(#zq),
.newsletter-form button:not(#zq),
.cs-checkout-btn:not(#zq),
.ci-delete-btn:not(#zq),
.swiper-button-prev:not(#zq),
.swiper-button-next:not(#zq),
.db-btn:not(#zq),
.co-place-btn:not(#zq),
.co-back-btn:not(#zq),

/* Form fields */
.form-control:not(#zq),
.form-select:not(#zq),
.al-input:not(#zq),
.al-select:not(#zq),
.ct-field:not(#zq),
.co-input:not(#zq),
.co-textarea:not(#zq),
.pd-form-input:not(#zq),
.pd-form-textarea:not(#zq),
.dc-sort-select:not(#zq),
.newsletter-form input:not([type=hidden]):not(#zq),
.dc-so-input-row:not(#zq),
.coupon-row input:not(#zq),

/* Quantity boxes (their inner +/- buttons stay square inside) */
.qty-stepper:not(#zq),
.pd-qty:not(#zq) {
  border-radius: 8px !important;
}

/* keep the round sticky-bar Add to Cart as it was */
.pd-sticky .pd-atc:not(#zq) { border-radius: 999px !important; }

/* rounded boxes clip their square inner buttons */
.qty-stepper:not(#zq), .pd-qty:not(#zq) { overflow: hidden; }

/* Boxes, cards and icon tiles (8px) */
.zq-reviews-cta:not(#zq),
.dc-footer__cod:not(#zq),
.co-card:not(#zq),
.co-pay-option:not(#zq),
.co-cod-trust:not(#zq),
.co-step-num:not(#zq),
.ab-trust-item i:not(#zq),
.ab-promise-card:not(#zq),
.ab-promise-icon-wrap:not(#zq),
.cs-guarantee:not(#zq) {
  border-radius: 8px !important;
}

/* Cart summary is navy: its truck and shield icons in white */
.cs-cod-badge i:not(#zq),
.cs-guarantee i:not(#zq) { color: #fff !important; }

/* Header bag count badge: a full circle (a pill from 10 up); colours stay the header's own */
.dc-cart-badge:not(#zq) { border-radius: 999px !important; min-width: 17px; height: 17px; line-height: 17px; padding: 0 4px; font-size: 9px; }

/* Contact page: info icon tiles, business hours box, Get directions */
.ct-info-row-icon:not(#zq),
.ct-info-hours:not(#zq),
.ct-map-dir:not(#zq) { border-radius: 8px !important; }

/* Footer newsletter: email field and Subscribe read as one box while they share a line */
@media (min-width: 481px) {
  .dc-footer__nl .newsletter-form input[name="email"]:not(#zq) { border-radius: 8px 0 0 8px !important; border-right: 0 !important; }
  .dc-footer__nl .newsletter-form button[type="submit"]:not(#zq) { border-radius: 0 8px 8px 0 !important; }
}

/* Contact page: the whole card (dark info panel + form) with rounded corners */
.ct-grid:not(#zq) { border-radius: 8px !important; overflow: hidden; }

/* Page numbers (shop, categories) */
.pagination .page-link:not(#zq) { border-radius: 8px !important; }

/* Side menu (drawer): account links, help box, WhatsApp, category rows and thumbnails, feature banner */
.zqd-account a:not(#zq),
.zqd-help:not(#zq),
.zqd-wa:not(#zq),
.zqd-cat:not(#zq),
.zqd-cat-img:not(#zq),
.zqd-cat-img img:not(#zq),
.zqd-feature:not(#zq) { border-radius: 8px !important; }
.zqd-cat-img:not(#zq), .zqd-feature:not(#zq) { overflow: hidden; }

/* Product photos in every card style (home sections, shop/category/related/search) */
.dc-na-img:not(#zq),
.dc-product-img-wrap:not(#zq),
.product-img-swiper:not(#zq) { border-radius: 8px !important; overflow: hidden; }

/* Home: category tiles */
.dc-cat-tile:not(#zq) { border-radius: 8px !important; overflow: hidden; }

/* Product page share icons (WhatsApp and Facebook are links) */
.pd-share a:not(#zq) { border-radius: 8px !important; }

/* Product page gallery: main photo and thumbnails (the phone gallery runs edge to edge, so it stays square) */
.pd-stage:not(#zq),
.pd-thumb:not(#zq) { border-radius: 8px !important; overflow: hidden; }

/* Cart page: item photos and the bag panel */
.ci-img:not(#zq),
.cart-items-panel:not(#zq),
.cart-summary-panel:not(#zq) { border-radius: 8px !important; overflow: hidden; }

/* Stock-limit popup ("Maximum quantity reached"): compact card, roomy OK button */
.swal2-popup.zq-limit { padding: 28px 18px 24px; border-radius: 8px; }
.swal2-popup.zq-limit .swal2-icon { width: 44px; height: 44px; margin: 4px auto 12px; border-width: 2px; }
.swal2-popup.zq-limit .swal2-icon .swal2-icon-content { font-size: 28px; }
.swal2-popup.zq-limit .swal2-title { font-size: 1.2rem; padding: 0; margin: 0 0 8px; }
.swal2-popup.zq-limit .swal2-html-container { font-size: .9rem; margin: 0; padding: 0 4px; }
.swal2-popup.zq-limit .swal2-actions { margin-top: 20px; }
.swal2-popup.zq-limit .swal2-confirm { padding: 10px 40px; font-size: .9rem; background: #161426; border-radius: 8px; }

/* Updating in place (shop sort, cart quantity): content dims, a spinner shows mid-screen */
.zq-loading { pointer-events: none; }
.zq-loading > * { opacity: .45; transition: opacity .15s; }
.zq-loading::after {
  content: ''; position: fixed; top: 50%; left: 50%; z-index: 60;
  width: 40px; height: 40px; margin: -20px 0 0 -20px;
  border: 3px solid rgba(22, 20, 38, .15); border-top-color: #161426; border-radius: 50%;
  background: #fff; box-shadow: 0 0 0 9px #fff, 0 8px 24px 9px rgba(22, 20, 38, .18);
  animation: zq-spin .7s linear infinite;
}
@keyframes zq-spin { to { transform: rotate(360deg); } }

/* Home card text (New In, Deals, Most Loved): the same side space as the shop cards, so the
   name and price do not touch the card's edge */
.dc-na-info:not(#zq),
.dc-product-info:not(#zq) { padding-left: 14px; padding-right: 14px; }

/* Shop the Edit: one sideways row per category, 4 cards on desktop, 3 on tablet, 2 and a bit on phones */
.zq-rs { position: relative; }
.zq-rs-track {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 4px;
}
.zq-rs-track::-webkit-scrollbar { display: none; }
.zq-rs-item { flex: 0 0 calc((100% - 72px) / 4); min-width: 0; scroll-snap-align: start; }
.zq-rs-btn {
  position: absolute; top: 38%; transform: translateY(-50%); z-index: 3;
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(0,0,0,.08);
  background: #fff; color: #161426; box-shadow: 0 4px 16px rgba(0,0,0,.14);
  display: flex; align-items: center; justify-content: center; font-size: 24px; cursor: pointer;
  transition: opacity .2s, background .2s, color .2s;
}
.zq-rs-btn:hover { background: #161426; color: #fff; }
.zq-rs-btn:disabled { opacity: 0; pointer-events: none; }
.zq-rs-prev { left: 10px; }
.zq-rs-next { right: 10px; }
@media (max-width: 991.98px) {
  .zq-rs-track { gap: 16px; }
  .zq-rs-item { flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 767.98px) {
  .zq-rs-track { gap: 12px; }
  .zq-rs-item { flex-basis: 44%; }
  .zq-rs-btn { width: 36px; height: 36px; font-size: 20px; }
  .zq-rs-prev { left: 6px; }
  .zq-rs-next { right: 6px; }
}
