/*
 * Premium page layouts (owner, Nov 2026): product page (.pdp), category / search / tag lists (.plp), blog list and post (.blog-x, .post),
 * policy and custom pages (.cpage). Loaded last. Only layout, spacing and type — the cart, variation and order scripts keep their hooks.
 * Colours come from the store's own --primary-color / --secondary-color; dark mode follows html[data-theme="dark"].
 */
:root {
    --pp-ink: #14171f; --pp-text: #3b4250; --pp-muted: #6b7280; --pp-line: #eceef3; --pp-soft: #f7f8fb; --pp-card: #fff;
    --pp-radius: 18px; --pp-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -18px rgba(16, 24, 40, .18);
    --pp-font: 'Anek Bangla', 'Hind Siliguri', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
html[data-theme="dark"] { --pp-ink: #eef0f8; --pp-text: #c9cde0; --pp-muted: #a3a9c2; --pp-line: #2b3156; --pp-soft: #12152a; --pp-card: #161a31; }

/* ---------- shared: the page frame and breadcrumb ---------- */
.pdp .axil-breadcrumb-area, .plp .axil-breadcrumb-area, .post .axil-breadcrumb-area, .cpage .axil-breadcrumb-area { background: transparent !important; padding: 14px 0 4px !important; }
.pdp .axil-breadcrumb-area .container-fluid, .plp .axil-breadcrumb-area .container-fluid { max-width: 1280px; margin: 0 auto; }
.pdp .axil-breadcrumb, .plp .axil-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; font-size: 13px !important; }
.pdp .axil-breadcrumb .separator, .plp .axil-breadcrumb .separator { width: 4px; height: 4px; border-radius: 50%; background: #c4c9d4; margin: 0 2px; }
.pdp .axil-breadcrumb-item, .plp .axil-breadcrumb-item { color: var(--pp-muted) !important; font-size: 13px !important; }
.pdp .axil-breadcrumb-item.active, .plp .axil-breadcrumb-item.active { color: var(--pp-ink) !important; font-weight: 600; }

/* ---------- product page ---------- */
.pdp { font-family: var(--pp-font); }
.pdp .axil-single-product-area { background: transparent !important; padding-bottom: 0 !important; }
.pdp .single-product-thumb > .container-fluid { max-width: 1280px; margin: 0 auto; padding: 8px 16px 28px !important; }
.pdp .single-product-thumb > .container-fluid > .row { --bs-gutter-x: 36px; row-gap: 20px; }

/* gallery: one soft card, thumbnails as small rounded tiles */
.pdp .single-product-thumbnail-wrap { background: var(--pp-card); border: 1px solid var(--pp-line) !important; border-radius: var(--pp-radius); box-shadow: var(--pp-shadow); overflow: hidden; position: relative; }
.pdp .single-product-thumbnail img, .pdp #main-image { border-radius: 0 !important; width: 100% !important; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
.pdp .product-gallery-thumbs { gap: 10px !important; }
.pdp .product-gallery-thumbs .small-thumb-img { border-radius: 12px; overflow: hidden; border: 2px solid transparent; transition: border-color .2s, transform .2s; cursor: pointer; }
.pdp .product-gallery-thumbs .small-thumb-img img { width: 76px !important; height: 76px !important; object-fit: cover; border-radius: 10px; border: 1px solid var(--pp-line); display: block; }
.pdp .product-gallery-thumbs .small-thumb-img:hover { transform: translateY(-1px); }
.pdp .product-gallery-thumbs .small-thumb-img.active, .pdp .product-gallery-thumbs .small-thumb-img.slick-current { border-color: var(--primary-color); }
.pdp .product-badget { border-radius: 999px !important; padding: 6px 12px !important; font-weight: 700; letter-spacing: .02em; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .4); }
.pdp .product-quick-view a { width: 40px; height: 40px; display: grid !important; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: var(--pp-shadow); color: var(--pp-ink) !important; }

/* the buying column */
.pdp .single-product-content .inner { color: var(--pp-ink) !important; }
.pdp .product-title { font-family: var(--pp-font); font-size: clamp(20px, 2vw, 25px) !important; line-height: 1.25 !important; font-weight: 700 !important; letter-spacing: -.01em; color: var(--pp-ink) !important; margin-bottom: 6px !important; }
.pdp .product-meta p.mt-2 { color: var(--pp-text); font-size: 15px; line-height: 1.7; }
.pdp .product-stock-info p { margin: 0; display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: #ecfdf3; font-size: 13px !important; }
.pdp .product-stock-info p[style*="e74c3c"] { background: #fef2f2; }
.pdp .product-price-variant { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 14px 0 6px; padding: 14px 18px; border-radius: 16px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 7%, var(--pp-card)), color-mix(in srgb, var(--secondary-color) 6%, var(--pp-card))); border: 1px solid var(--pp-line); }
.pdp .price.current-price-product { font-size: clamp(26px, 3vw, 36px) !important; font-weight: 800 !important; letter-spacing: -.02em; color: var(--primary-color) !important; }
.pdp .product-price-variant del .price { font-size: 16px !important; color: var(--pp-muted) !important; font-weight: 500 !important; margin-left: 0 !important; }
.pdp #old-price-old { font-size: 13px !important; margin-left: 0 !important; border-radius: 999px; padding: 5px 11px !important; font-weight: 700 !important; text-decoration: none !important; }
.pdp .product-metas { padding-left: 0; margin: 12px 0; color: var(--pp-text); }
.pdp .product-metas li { list-style: none; position: relative; padding-left: 26px; margin-bottom: 6px; }
.pdp .product-metas li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: color-mix(in srgb, var(--primary-color) 14%, #fff); color: var(--primary-color); font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.pdp .ecap-wish.inline { border-radius: 999px !important; padding: 7px 14px !important; }

/* sizes / colours as pills */
.pdp .product-variation h6, .pdp .product-variations-wrapper h6 { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--pp-muted); margin: 8px 0; }
.pdp .sizess .size { border-radius: 12px !important; padding: 8px 14px !important; margin: 0 8px 8px 0 !important; border: 1.5px solid var(--pp-line) !important; background: var(--pp-card); color: var(--pp-ink);
    font-weight: 600; transition: border-color .15s, box-shadow .15s, background .15s; }
.pdp .sizess .size:hover { border-color: color-mix(in srgb, var(--primary-color) 60%, #fff) !important; }
.pdp .sizess .size.active { border-color: var(--primary-color) !important; background: color-mix(in srgb, var(--primary-color) 9%, var(--pp-card)) !important; color: var(--primary-color) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 15%, transparent); }
.pdp .sizess .size #add_here { color: inherit !important; opacity: .5; }

/* quantity stepper */
.pdp .pro-qty { display: inline-flex !important; align-items: center; gap: 0; border: 1.5px solid var(--pp-line); border-radius: 14px; overflow: hidden; background: var(--pp-card); height: 46px; }
.pdp .pro-qty .quantity-button { width: 44px !important; height: 44px !important; line-height: 44px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; font-size: 20px !important; color: var(--pp-ink) !important; float: none !important; }
.pdp .pro-qty .quantity-button:hover { background: var(--pp-soft) !important; }
.pdp .pro-qty input.qty { width: 52px !important; height: 44px !important; border: 0 !important; text-align: center; font-weight: 700; font-size: 16px; background: transparent; color: var(--pp-ink); }

/* buttons: Add to cart and Order now side by side, then Call / WhatsApp / Messenger */
.pdp .single-product-thumb .row.d-flex.gap-2 { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px !important; margin: 14px 0 0 !important; }
.pdp .single-product-thumb .row.d-flex.gap-2 > [class*="col-"] { width: auto !important; max-width: none !important; padding: 0 !important; flex: none !important; }
.pdp #details_page_add_to_cart_btn, .pdp #details_page_order_now_btn { width: 100% !important; padding: 0 16px !important; display: flex !important; align-items: center; justify-content: center; height: 54px; border-radius: 14px !important; font-size: 16px !important; letter-spacing: .01em; transition: transform .15s, box-shadow .15s, filter .15s; }
.pdp #details_page_add_to_cart_btn p, .pdp #details_page_order_now_btn p { margin: 0 !important; line-height: 54px; font-size: 16px; }
.pdp #details_page_add_to_cart_btn { background: var(--pp-card) !important; color: var(--primary-color) !important; border: 2px solid var(--primary-color) !important; }
.pdp #details_page_add_to_cart_btn p, .pdp #details_page_add_to_cart_btn i { color: var(--primary-color) !important; }
.pdp #details_page_order_now_btn p, .pdp #details_page_order_now_btn i { color: #fff !important; }
.pdp #details_page_order_now_btn { background: linear-gradient(100deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 60%, var(--secondary-color))) !important; box-shadow: 0 12px 24px -12px var(--primary-color); }
.pdp #details_page_add_to_cart_btn:hover, .pdp #details_page_order_now_btn:hover { transform: translateY(-1px); filter: brightness(1.04); }
.pdp #details_page_add_to_cart_btn > span, .pdp #details_page_order_now_btn > span { display: none !important; }
.pdp .single-product-thumb .row.d-flex.gap-2.mb-3 { grid-template-columns: 1fr 1fr; margin-top: 12px !important; }
.pdp .single-product-thumb .row.d-flex.gap-2.mb-3 > div:empty { display: none; }
.pdp .single-product-thumb .row.d-flex.gap-2.mb-3 .btn { width: 100% !important; white-space: nowrap; }
.pdp .add-to-cart-btn-div .product-add-to-cart, .pdp .order-now-btn-div .product-add-to-cart, .pdp .cart-action, .pdp .cart-action li { width: 100% !important; margin: 0 !important; padding: 0 !important; }
.pdp .desktop-cart.cart-count { padding: 0 !important; }
.pdp .single-product-thumb .row.d-flex.gap-2.mb-3 .btn, .pdp .single-product-thumb .row.my-2 .btn, .pdp .phone-box { height: 48px; border-radius: 14px !important; display: flex !important; align-items: center; justify-content: center;
    font-weight: 600 !important; font-size: 15px !important; }
.pdp .single-product-thumb .row.my-2 { margin: 12px 0 0 !important; }
.pdp .single-product-thumb .row.my-2 > [class*="col-"] { width: 100% !important; max-width: none !important; flex: 0 0 100% !important; padding: 0 !important; }
.pdp .single-product-thumb .row.my-2 .btn { width: 100% !important; background: var(--pp-ink) !important; border: 0 !important; color: #fff !important; }
html[data-theme="dark"] .pdp .single-product-thumb .row.my-2 .btn { background: #2b3156 !important; }
.pdp .phone-box { padding: 0 !important; margin: 12px 0 0 !important; }
.pdp .phone-box a { width: 100%; height: 100%; justify-content: center; }
.pdp .single-product-thumb .row.d-flex.gap-2.mb-3, .pdp .single-product-thumb .row.my-2 { margin-left: 0 !important; margin-right: 0 !important; }

/* trust strip under the buttons */
.pdp-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 6px; }
.pdp-trust div { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: var(--pp-soft); border: 1px solid var(--pp-line); font-size: 13px; line-height: 1.3; color: var(--pp-text); }
.pdp-trust i { flex: 0 0 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--primary-color) 12%, var(--pp-card)); color: var(--primary-color); font-size: 15px; }
.pdp-trust b { display: block; color: var(--pp-ink); font-size: 13.5px; }
@media (max-width: 575px) { .pdp-trust { grid-template-columns: 1fr; } }

/* tabs and the description */
.pdp .woocommerce-tabs { background: transparent !important; margin: 10px 0 30px !important; }
.pdp .woocommerce-tabs > .container { max-width: 1280px; }
.pdp .product-desc-wrapper { background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: var(--pp-radius); box-shadow: var(--pp-shadow); padding: 6px clamp(14px, 3vw, 36px) 30px; }
.pdp .woocommerce-tabs .nav-tabs { border-bottom: 1px solid var(--pp-line) !important; gap: 4px; flex-wrap: nowrap; overflow-x: auto; margin-bottom: 8px !important; }
.pdp .woocommerce-tabs .nav-tabs .nav-link { font-size: 15px !important; font-weight: 600 !important; color: var(--pp-muted) !important; padding: 16px 18px !important; border: 0 !important; border-bottom: 3px solid transparent !important; background: none !important; white-space: nowrap; }
.pdp .woocommerce-tabs .nav-tabs .nav-link.active { color: var(--primary-color) !important; border-bottom-color: var(--primary-color) !important; }
.pdp .tab-content > .tab-pane > h5.title { display: none; }
.pdp .single-desc iframe, .prose iframe { width: 100% !important; max-width: 100%; aspect-ratio: 16 / 9; height: auto !important; border: 0; border-radius: 16px; box-shadow: var(--pp-shadow); }

/* ---------- prose: product descriptions, blog posts, policy pages (Bangla and English) ---------- */
.prose, .pdp .single-desc { font-family: var(--pp-font); font-size: 17px; line-height: 1.85; color: var(--pp-text); max-width: 860px; margin: 0 auto; word-wrap: break-word; }
.prose > * + *, .pdp .single-desc > * + * { margin-top: .85em; }
.prose p, .pdp .single-desc p { margin: 0 0 .85em; font-weight: 400 !important; color: inherit; }
.prose li, .prose span, .pdp .single-desc span { font-weight: inherit; }
.prose h1, .prose h2, .prose h3, .prose h4, .pdp .single-desc h1, .pdp .single-desc h2, .pdp .single-desc h3, .pdp .single-desc h4 {
    font-family: var(--pp-font); color: var(--pp-ink) !important; line-height: 1.3 !important; letter-spacing: -.01em; margin: 1.6em 0 .55em !important; font-weight: 700 !important; }
.prose h1, .pdp .single-desc h1 { font-size: 30px !important; }
.prose h2, .pdp .single-desc h2 { font-size: 25px !important; padding-bottom: .3em; border-bottom: 1px solid var(--pp-line); }
.prose h3, .pdp .single-desc h3 { font-size: 21px !important; }
.prose h4, .pdp .single-desc h4 { font-size: 18px !important; }
.prose ul, .prose ol, .pdp .single-desc ul, .pdp .single-desc ol { padding-left: 1.4em; margin: 0 0 1em; }
.prose li, .pdp .single-desc li { margin: .35em 0; padding-left: .2em; }
.prose ul li::marker, .pdp .single-desc ul li::marker { color: var(--primary-color); }
.prose a, .pdp .single-desc a { color: var(--primary-color) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.prose strong, .prose b, .pdp .single-desc strong { color: var(--pp-ink); font-weight: 700; }
.prose img, .pdp .single-desc img { max-width: 100%; height: auto !important; border-radius: 14px; }
.prose blockquote, .pdp .single-desc blockquote { margin: 1.4em 0; padding: 14px 20px; border-left: 4px solid var(--primary-color); background: var(--pp-soft); border-radius: 0 14px 14px 0; color: var(--pp-ink); }
.prose table, .pdp .single-desc table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: 15px; display: block; overflow-x: auto; }
.prose th, .prose td, .pdp .single-desc th, .pdp .single-desc td { border: 1px solid var(--pp-line); padding: 10px 12px; text-align: left; }
.prose th, .pdp .single-desc th { background: var(--pp-soft); color: var(--pp-ink); }
.prose hr { border: 0; border-top: 1px solid var(--pp-line); margin: 2em 0; }
/* texts pasted from other editors bring their own sizes and fonts: keep them readable */
.prose span[style*="font-size"], .pdp .single-desc span[style*="font-size"], .prose p[style*="font-size"], .pdp .single-desc p[style*="font-size"] { font-size: inherit !important; }
.prose [style*="font-family"], .pdp .single-desc [style*="font-family"] { font-family: inherit !important; }
@media (max-width: 767px) { .prose, .pdp .single-desc { font-size: 16px; line-height: 1.8; } .prose h2, .pdp .single-desc h2 { font-size: 21px !important; } .prose h3, .pdp .single-desc h3 { font-size: 18.5px !important; } }

/* related products */
.pdp .axil-product-area .section-title-wrapper, .pdp .related-title { text-align: left; }

/* sticky buy bar on phones (above the shop's bottom tab bar) */
.pdp-buybar { display: none; }
@media (max-width: 991px) {
    .pdp-buybar { position: fixed; left: 0; right: 0; bottom: calc(60px + env(safe-area-inset-bottom)); z-index: 1029; display: flex; align-items: center; gap: 12px; padding: 10px 14px;
        background: color-mix(in srgb, var(--pp-card) 94%, transparent); backdrop-filter: blur(10px); border-top: 1px solid var(--pp-line); box-shadow: 0 -8px 24px -12px rgba(16, 24, 40, .25);
        transform: translateY(120%); transition: transform .25s ease; }
    .pdp-buybar.on { transform: none; }
    .pdp-buybar .p { flex: 1; min-width: 0; line-height: 1.15; }
    .pdp-buybar .p b { display: block; font-size: 19px; color: var(--primary-color); font-weight: 800; }
    .pdp-buybar .p span { font-size: 12px; color: var(--pp-muted); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .pdp-buybar button { border: 0; height: 46px; padding: 0 18px; border-radius: 13px; font-weight: 700; font-size: 15px; white-space: nowrap; }
    .pdp-buybar .cart { background: color-mix(in srgb, var(--primary-color) 12%, var(--pp-card)); color: var(--primary-color); }
    .pdp-buybar .order { background: var(--primary-color); color: #fff; box-shadow: 0 10px 20px -10px var(--primary-color); }
    body.pdp-bar-on #lc-btn, body.pdp-bar-on .ecap-float-wa, body.pdp-bar-on #back-to-top, body.pdp-bar-on .whatsapp-float { bottom: 148px !important; transition: bottom .25s; }
    .pdp-buybar .p { flex: 0 0 auto; min-width: 84px; }
    .pdp-buybar .cart { flex: 0 0 52px; padding: 0 !important; }
    .pdp-buybar .order { flex: 1; }
    .pdp .single-product-thumb > .container-fluid { padding: 4px 12px 18px !important; }
    .pdp .single-product-thumbnail-wrap { border-radius: 16px; }
    .pdp .product-gallery-thumbs { flex-direction: row !important; overflow-x: auto !important; max-height: none !important; padding: 10px 0 2px; }
    .pdp .product-gallery-thumbs .small-thumb-img img { width: 62px !important; height: 62px !important; }
    .pdp .product-desc-wrapper { border-radius: 16px; padding: 4px 14px 22px; }
}

/* ---------- category / search / tag lists ---------- */
.plp .axil-shop-area { background: transparent !important; padding-top: 6px !important; }
.plp .axil-shop-area > .container-fluid { max-width: 1440px; margin: 0 auto; }
.plp-head { max-width: 1440px; margin: 4px auto 10px; padding: 0 20px; }
.plp-head .box { border-radius: var(--pp-radius); padding: 22px 26px; color: var(--pp-ink);
    background: radial-gradient(900px 220px at 0% 0%, color-mix(in srgb, var(--primary-color) 13%, transparent), transparent 70%),
                radial-gradient(700px 200px at 100% 100%, color-mix(in srgb, var(--secondary-color) 12%, transparent), transparent 70%), var(--pp-card);
    border: 1px solid var(--pp-line); box-shadow: var(--pp-shadow); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.plp-head h1 { font-family: var(--pp-font); font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; margin: 0; letter-spacing: -.01em; color: var(--pp-ink); }
.plp-head p { margin: 4px 0 0; color: var(--pp-muted); font-size: 14px; }
.plp-head .plp-count { padding: 8px 14px; border-radius: 999px; background: var(--pp-card); border: 1px solid var(--pp-line); font-weight: 700; font-size: 13px; color: var(--pp-text); white-space: nowrap; }
@media (min-width: 992px) { .plp .axil-shop-sidebar { background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: var(--pp-radius); padding: 6px 14px 10px; box-shadow: var(--pp-shadow); position: sticky; top: 90px; } }
.plp .axil-shop-sidebar .toggle-list { border-bottom: 1px solid var(--pp-line) !important; padding: 12px 0 !important; margin: 0 !important; max-height: none !important; overflow: visible !important; }
.plp .axil-shop-sidebar .toggle-list:last-child { border-bottom: 0 !important; }
.plp .axil-shop-sidebar .title { font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .06em; color: var(--pp-muted) !important; margin-bottom: 8px !important; border: 0 !important; padding: 0 !important; }
.plp .axil-shop-sidebar .title::before, .plp .axil-shop-sidebar .title::after { display: none !important; }
.plp .axil-shop-sidebar .shop-submenu { margin-top: 0 !important; }
.plp .axil-shop-sidebar .shop-submenu ul { display: flex; flex-wrap: wrap; gap: 6px; max-height: 190px; overflow-y: auto; padding: 0; margin: 0; scrollbar-width: thin; }
.plp .axil-shop-sidebar .shop-submenu li { margin: 0 !important; padding: 0 !important; list-style: none; }
.plp .axil-shop-sidebar .shop-submenu li::before, .plp .axil-shop-sidebar .shop-submenu li a::before, .plp .axil-shop-sidebar .shop-submenu li a::after { display: none !important; }
.plp .axil-shop-sidebar .shop-submenu li a { display: inline-block; padding: 5px 11px !important; border-radius: 999px; border: 1px solid var(--pp-line); font-size: 13px !important; color: var(--pp-text) !important; cursor: pointer; background: var(--pp-card); transition: border-color .15s, color .15s; }
.plp .axil-shop-sidebar .shop-submenu li a:hover { border-color: var(--primary-color); color: var(--primary-color) !important; }
.plp .axil-shop-sidebar .shop-submenu li.current-cat a { background: var(--primary-color); border-color: var(--primary-color); color: #fff !important; }
.plp .axil-shop-sidebar input[type=range] { width: 100%; accent-color: var(--primary-color); }
.plp .cat-subs a { border-radius: 999px !important; padding: 6px 14px !important; font-weight: 600; background: var(--pp-card) !important; }
.plp .cat-seo-text { max-width: 900px; }
@media (max-width: 991px) { .plp-head { padding: 0 12px; } .plp-head .box { padding: 16px 18px; } }

/* ---------- blog list ---------- */
.blog-x { max-width: 1240px; margin: 0 auto; padding: 10px 16px 40px; font-family: var(--pp-font); }
.blog-x .bx-head { text-align: center; padding: 30px 10px 26px; }
.blog-x .bx-head h1 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; letter-spacing: -.02em; color: var(--pp-ink); margin: 0; }
.blog-x .bx-head p { color: var(--pp-muted); margin: 8px auto 0; max-width: 620px; font-size: 16px; }
.blog-x .bx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 22px; }
.blog-x .bx-card { display: flex; flex-direction: column; background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: var(--pp-radius); overflow: hidden; box-shadow: var(--pp-shadow);
    color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.blog-x .bx-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 22px 40px -22px rgba(16, 24, 40, .35); }
.blog-x .bx-card .im { aspect-ratio: 16 / 10; background: var(--pp-soft) center / cover no-repeat; }
.blog-x .bx-card .bd { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.blog-x .bx-card .cat { align-self: flex-start; font-size: 12px; font-weight: 700; color: var(--primary-color); background: color-mix(in srgb, var(--primary-color) 10%, var(--pp-card)); padding: 3px 10px; border-radius: 999px; }
.blog-x .bx-card h2 { font-size: 19px; line-height: 1.35; font-weight: 700; color: var(--pp-ink); margin: 0; }
.blog-x .bx-card p { color: var(--pp-muted); font-size: 14.5px; line-height: 1.6; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.blog-x .bx-card .ft { margin-top: auto; font-size: 12.5px; color: var(--pp-muted); display: flex; justify-content: space-between; padding-top: 6px; }
.blog-x .bx-card .ft b { color: var(--primary-color); font-weight: 700; }

/* ---------- blog post ---------- */
.post { font-family: var(--pp-font); }
.post-hero { max-width: 900px; margin: 0 auto; padding: 34px 18px 10px; text-align: center; }
.post-hero .crumbs { font-size: 13px; color: var(--pp-muted); margin-bottom: 14px; }
.post-hero .crumbs a { color: var(--pp-muted); }
.post-hero .cat { display: inline-block; font-size: 12.5px; font-weight: 700; color: var(--primary-color); background: color-mix(in srgb, var(--primary-color) 10%, var(--pp-card)); padding: 4px 12px; border-radius: 999px; margin-bottom: 14px; }
.post-hero h1 { font-size: clamp(27px, 3.6vw, 44px); line-height: 1.22; font-weight: 800; letter-spacing: -.02em; color: var(--pp-ink); margin: 0; }
.post-hero .lead { font-size: 18px; color: var(--pp-text); line-height: 1.7; margin: 16px auto 0; max-width: 760px; }
.post-hero .meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 16px; font-size: 13.5px; color: var(--pp-muted); }
.post-cover { max-width: 1040px; margin: 22px auto 0; padding: 0 18px; text-align: center; }
.post-cover img { width: auto; max-width: 100%; height: auto; max-height: 560px; border-radius: 22px; box-shadow: 0 30px 60px -30px rgba(16, 24, 40, .45); display: inline-block; }
.post-body { max-width: 1180px; margin: 0 auto; padding: 34px 18px 50px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; }
.post-aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.post-aside .card-x { background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 16px; padding: 16px 18px; }
.post-aside h6 { font-size: 12.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--pp-muted); margin: 0 0 10px; }
.post-toc a { display: block; padding: 6px 0 6px 12px; border-left: 2px solid var(--pp-line); color: var(--pp-text); font-size: 14px; line-height: 1.4; text-decoration: none; }
.post-toc a.sub { padding-left: 24px; font-size: 13px; }
.post-toc a.on, .post-toc a:hover { border-left-color: var(--primary-color); color: var(--primary-color); }
.post-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.post-tags span { font-size: 12.5px; padding: 4px 10px; border-radius: 999px; background: var(--pp-soft); border: 1px solid var(--pp-line); color: var(--pp-text); }
.post-share { display: flex; gap: 8px; }
.post-share a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--pp-soft); border: 1px solid var(--pp-line); color: var(--pp-ink); font-size: 15px; }
.post-share a:hover { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
/* blog post extras (Nov 2026): key points box, shop box and the questions & answers under the post */
.prose .post-tldr { background: linear-gradient(135deg, var(--pp-soft), #fff); border: 1px solid var(--pp-line); border-left: 4px solid var(--primary-color); border-radius: 14px; padding: 16px 20px; }
.prose .post-tldr b:first-child { display: block; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--primary-color); margin-bottom: 6px; }
.prose .post-tldr ul { margin: 0; }
.prose .post-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; background: var(--secondary-color, #011e2c); color: #fff; border-radius: 16px; padding: 18px 22px; margin: 1.6em 0; }
.prose .post-cta p { margin: 0; color: #fff; font-size: 16px; line-height: 1.6; }
.prose .post-cta strong { color: #fff; }
.prose .post-cta a { background: #fff; color: var(--secondary-color, #011e2c) !important; text-decoration: none !important; font-weight: 700; font-size: 15px; padding: 10px 18px; border-radius: 999px; white-space: nowrap; }
.post-faq { max-width: 860px; margin: 34px 0 0; font-family: var(--pp-font); }
.post-faq h2 { font-size: 25px; font-weight: 800; color: var(--pp-ink); padding-bottom: .3em; border-bottom: 1px solid var(--pp-line); margin: 0 0 14px; }
.post-faq details { border: 1px solid var(--pp-line); border-radius: 14px; background: var(--pp-card, #fff); margin: 0 0 10px; }
.post-faq summary { cursor: pointer; list-style: none; padding: 14px 44px 14px 18px; font-weight: 700; font-size: 16.5px; color: var(--pp-ink); position: relative; line-height: 1.5; }
.post-faq summary::-webkit-details-marker { display: none; }
.post-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--primary-color); }
.post-faq details[open] summary::after { content: "−"; }
.post-faq details p { margin: 0; padding: 0 18px 16px; font-size: 16px; line-height: 1.8; color: var(--pp-text); }
.post-more { max-width: 1180px; margin: 0 auto 50px; padding: 0 18px; }
.post-more h3 { font-size: 22px; font-weight: 800; color: var(--pp-ink); margin: 0 0 16px; }
.post-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--primary-color); z-index: 2000; transition: width .1s linear; }
@media (max-width: 991px) { .post-body { grid-template-columns: 1fr; gap: 24px; padding-top: 24px; } .post-aside { position: static; order: -1; } .post-aside .toc-card { display: none; } .post-hero { padding-top: 22px; } .post-cover img { border-radius: 16px; } }

/* ---------- policy and custom pages ---------- */
.cpage { font-family: var(--pp-font); }
.cpage-hero { padding: 40px 18px 34px; text-align: center;
    background: radial-gradient(800px 240px at 50% 0%, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent 70%); }
.cpage-hero .crumbs { font-size: 13px; color: var(--pp-muted); margin-bottom: 10px; }
.cpage-hero .crumbs a { color: var(--pp-muted); }
.cpage-hero h1 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; letter-spacing: -.02em; color: var(--pp-ink); margin: 0; }
.cpage-hero p { color: var(--pp-muted); margin: 8px 0 0; font-size: 14px; }
.cpage-wrap { max-width: 1120px; margin: 0 auto; padding: 0 18px 56px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; align-items: start; }
.cpage-card { background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 22px; box-shadow: var(--pp-shadow); padding: clamp(20px, 4vw, 44px); }
.cpage-card .prose { max-width: none; }
.cpage-side { position: sticky; top: 96px; background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 18px; padding: 20px; }
.cpage-side h6 { font-weight: 800; color: var(--pp-ink); margin: 0 0 4px; font-size: 16px; }
.cpage-side p { color: var(--pp-muted); font-size: 14px; margin: 0 0 14px; }
.cpage-side a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 12px; margin-top: 8px; font-weight: 600; font-size: 14.5px; text-decoration: none; }
.cpage-side a.call { background: var(--primary-color); color: #fff !important; }
.cpage-side a.wa { background: #e9fbf0; color: #128c4b !important; }
.cpage-side a.home { background: var(--pp-soft); color: var(--pp-ink) !important; border: 1px solid var(--pp-line); }
@media (max-width: 991px) { .cpage-wrap { grid-template-columns: 1fr; } .cpage-side { position: static; } .cpage-hero { padding: 26px 16px 22px; } }

/* related products: same frame as the page above */
.pdp .axil-product-area { background: transparent !important; padding: 10px 0 40px !important; }
.pdp .axil-product-area > .container-fluid { max-width: 1280px; margin: 0 auto; position: relative; padding: 0 16px; }
.pdp .axil-product-area .section-title-wrapper { margin-bottom: 16px !important; padding: 0 !important; }
.pdp .axil-product-area .section-title-wrapper .title { font-family: var(--pp-font); font-size: clamp(20px, 2vw, 26px) !important; font-weight: 800 !important; color: var(--pp-ink) !important; letter-spacing: -.01em; }
.pdp .axil-product-area .viewall-right { position: absolute; right: 16px; top: 6px; z-index: 2; }
.pdp .axil-product-area .viewall-right .title-highlighter { font-size: 14px !important; font-weight: 700; color: var(--primary-color) !important; background: none !important; padding: 0 !important; }
.pdp .single-desc > div[style*="border"], .pdp .single-desc .product-desc-wrapper { border: 0 !important; }
.pdp .woocommerce-tabs .nav-tabs { scrollbar-width: none; }
.pdp .woocommerce-tabs .nav-tabs::-webkit-scrollbar { display: none; }
.plp .cat-subs { gap: 8px !important; }
.plp .cat-subs li { margin: 0 !important; }
@media (max-width: 991px) { .plp .cat-subs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; } .plp .cat-subs a { white-space: nowrap; } }


/* owner, Nov 2026: sizes / colours across the whole buying column (as wide as the title and the price box) */
.pdp .single-product-content .col-md-6:has(#cart_form) { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; }
.pdp #cart_form, .pdp #cart_form .product-variations-wrapper, .pdp #cart_form .product-variation, .pdp .sizess { width: 100% !important; max-width: none !important; }
.pdp .sizess { display: flex !important; flex-wrap: wrap; gap: 10px; }
.pdp .sizess .size { margin: 0 !important; }

/* the two buy buttons: the store's two colours as gradients (one each way), text in the middle, a soft lift on hover */
.pdp #details_page_add_to_cart_btn, .pdp #details_page_order_now_btn { border: 0 !important; color: #fff !important; background-size: 200% 100% !important; background-position: 0 0 !important;
    transition: transform .18s ease, box-shadow .18s ease, background-position .35s ease, filter .18s ease !important; }
.pdp #details_page_add_to_cart_btn { background-image: linear-gradient(100deg, var(--secondary-color), var(--primary-color), var(--secondary-color)) !important; box-shadow: 0 12px 24px -12px var(--secondary-color); }
.pdp #details_page_order_now_btn { background-image: linear-gradient(100deg, var(--primary-color), var(--secondary-color), var(--primary-color)) !important; box-shadow: 0 12px 24px -12px var(--primary-color); }
.pdp #details_page_add_to_cart_btn p, .pdp #details_page_add_to_cart_btn i, .pdp #details_page_add_to_cart_btn b,
.pdp #details_page_order_now_btn p, .pdp #details_page_order_now_btn i, .pdp #details_page_order_now_btn b { color: #fff !important; }
.pdp #details_page_add_to_cart_btn p, .pdp #details_page_order_now_btn p { display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; line-height: 1 !important; }
.pdp #details_page_add_to_cart_btn p b, .pdp #details_page_order_now_btn p b { display: inline-flex; align-items: center; gap: 8px; line-height: 1; }
.pdp #details_page_add_to_cart_btn:hover:not(:disabled), .pdp #details_page_order_now_btn:hover:not(:disabled) { background-position: 100% 0 !important; transform: translateY(-2px) scale(1.03) !important; filter: saturate(1.15) brightness(1.04); }
.pdp #details_page_add_to_cart_btn:active, .pdp #details_page_order_now_btn:active { transform: scale(.98) !important; }

/* under the photo on computers: the trust strip and share */
.pdp-under-photo { margin-top: 18px; }
.pdp-under-photo .pdp-trust { margin-top: 0; }
.pdp-under-photo > :last-child { margin-top: 14px; }

/* ---------- share this product (Nov 2026) ---------- */
.pshare { position: relative; margin-top: 14px; padding: 14px 16px; border: 1px solid var(--pp-line); border-radius: 16px; background: var(--pp-card); }
.pshare-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.pshare-title { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pp-muted); display: inline-flex; align-items: center; gap: 8px; }
.pshare-title i { color: var(--primary-color); font-size: 14px; }
.pshare-row { display: flex; flex-wrap: wrap; gap: 8px; }
.pshare-btn { --b: #64748b; width: 38px; height: 38px; border-radius: 50%; display: inline-grid; place-items: center; padding: 0; cursor: pointer;
    border: 1px solid color-mix(in srgb, var(--b) 22%, transparent); background: color-mix(in srgb, var(--b) 9%, var(--pp-card)); color: var(--b) !important;
    text-decoration: none !important; transition: transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease; }
.pshare-btn i { font-size: 16px; line-height: 1; }
.pshare-btn svg { width: 16px; height: 16px; }
.pshare-btn:hover, .pshare-btn:focus-visible { background: var(--b); border-color: var(--b); color: #fff !important; transform: translateY(-2px); box-shadow: 0 8px 18px -6px color-mix(in srgb, var(--b) 70%, transparent); outline: none; }
.pshare-btn.is-facebook { --b: #1877f2; } .pshare-btn.is-messenger { --b: #0a7cff; } .pshare-btn.is-whatsapp { --b: #25d366; }
.pshare-btn.is-instagram { --b: #e1306c; } .pshare-btn.is-tiktok { --b: #111111; } .pshare-btn.is-x { --b: #111111; }
.pshare-btn.is-telegram { --b: #229ed9; } .pshare-btn.is-linkedin { --b: #0a66c2; } .pshare-btn.is-pinterest { --b: #e60023; }
.pshare-btn.is-gmail { --b: #ea4335; } .pshare-btn.is-copy { --b: var(--primary-color); } .pshare-btn.is-more { --b: #64748b; }
.pshare-btn.is-instagram:hover { background: linear-gradient(45deg, #f9ce34, #ee2a7b 50%, #6228d7); border-color: transparent; }
html[data-theme="dark"] .pshare-btn.is-tiktok, html[data-theme="dark"] .pshare-btn.is-x { --b: #e5e7eb; }
html[data-theme="dark"] .pshare-btn.is-tiktok:hover, html[data-theme="dark"] .pshare-btn.is-x:hover { color: #111 !important; }
.pshare-toast { position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translate(-50%, 6px); background: #111827; color: #fff; font-size: 13px; padding: 7px 12px;
    border-radius: 10px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .18s, transform .18s; box-shadow: 0 10px 24px rgba(0,0,0,.2); }
.pshare-toast.on { opacity: 1; transform: translate(-50%, 0); }
/* on a blog post it sits in the side column like the other cards */
.post-aside .pshare--post { margin-top: 0; }
@media (max-width: 575px) { .pshare { padding: 12px; } .pshare-btn { width: 36px; height: 36px; } .pshare-btn i { font-size: 15px; } }

/* sizes a little smaller, as many on a line as fit (Nov 2026) */
.pdp .sizess { gap: 8px; }
.pdp .sizess .size { padding: 6px 12px !important; font-size: 13.5px !important; border-radius: 10px !important; line-height: 1.35 !important; min-height: 0 !important; }

/* quantity with its label, and the price line that follows it */
.pdp .product-action-wrapper { display: flex !important; align-items: center; gap: 14px; flex-wrap: wrap; }
.pdp-qty-label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--pp-muted); }
.pdp .pro-qty { height: 42px; } .pdp .pro-qty .quantity-button { width: 40px !important; height: 40px !important; line-height: 40px !important; }
.pdp .pro-qty input.qty { height: 40px !important; width: 48px !important; }
.pdp-qty-note { font-size: 13px; font-weight: 600; color: var(--pp-muted); margin-top: 4px; }
.pdp-qty-note:empty { display: none; }

/* ---------- list pages: offers, free shipping, combo, brands, all categories (Nov 2026) ---------- */
.lp .axil-shop-area { padding: 6px 0 40px !important; }
.lp .axil-shop-area > .container-fluid { max-width: 1440px; margin: 0 auto; padding: 0 20px; }
.lp-title { display: flex; align-items: center; gap: 14px; min-width: 0; }
.lp-icon { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-size: 22px; color: #fff;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); box-shadow: 0 10px 22px -10px color-mix(in srgb, var(--primary-color) 70%, transparent); }
.lp-logo { flex: 0 0 auto; width: 56px; height: 56px; object-fit: contain; border-radius: 14px; background: #fff; border: 1px solid var(--pp-line); padding: 5px; }
.lp-empty { text-align: center; padding: 56px 20px; border: 1px dashed var(--pp-line); border-radius: var(--pp-radius); background: var(--pp-card); color: var(--pp-muted); }
.lp-empty i { font-size: 34px; color: var(--primary-color); margin-bottom: 10px; display: block; }
.lp-empty p { font-size: 15px; margin: 0 0 14px; }
.lp-empty a { display: inline-block; padding: 10px 20px; border-radius: 999px; background: var(--primary-color); color: #fff !important; font-weight: 700; font-size: 14px; }
.lp-after { margin-top: 24px; }
.lp-chips { margin-bottom: 18px !important; }
.lp-chips a.on { background: var(--primary-color) !important; border-color: var(--primary-color) !important; color: #fff !important; }
.lp-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; }
.lp-tile { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 14px 12px 16px; border-radius: 18px;
    background: var(--pp-card); border: 1px solid var(--pp-line); color: var(--pp-ink) !important; text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.lp-tile:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--primary-color) 45%, var(--pp-line)); box-shadow: 0 16px 30px -18px rgba(15, 23, 42, .35); }
.lp-tile-img { width: 100%; aspect-ratio: 1; border-radius: 14px; overflow: hidden; display: grid; place-items: center;
    background: color-mix(in srgb, var(--primary-color) 6%, var(--pp-soft)); }
.lp-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.lp-tile:hover .lp-tile-img img { transform: scale(1.05); }
.lp-brand .lp-tile-img { aspect-ratio: 16 / 10; background: #fff; border: 1px solid var(--pp-line); }
.lp-brand .lp-tile-img img { object-fit: contain; padding: 14px; }
.lp-brand .lp-tile-img b { font-size: 34px; font-weight: 800; background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-tile-name { font-weight: 700; font-size: 15px; line-height: 1.3; }
.lp-tile small { color: var(--pp-muted); font-size: 12.5px; margin-top: -4px; }
html[data-theme="dark"] .lp-brand .lp-tile-img { background: #f8fafc; }
@media (max-width: 575px) {
    .lp .axil-shop-area > .container-fluid { padding: 0 12px; }
    .lp-tiles { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .lp-tile { padding: 8px 6px 10px; border-radius: 14px; gap: 6px; }
    .lp-tile-name { font-size: 12.5px; }
    .lp-brand.lp-tile { padding: 10px 8px; }
    .lp-icon { width: 44px; height: 44px; font-size: 18px; border-radius: 13px; }
    .lp-logo { width: 46px; height: 46px; }
}

/* ---------- cart and checkout (.ck, Nov 2026) ---------- */
.ck { background: var(--pp-soft); padding: 22px 0 48px; }
.ck .container { max-width: 1180px; }
.ck-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 26px; border-radius: 14px; font-weight: 700; font-size: 16px;
    color: #fff !important; text-decoration: none !important; border: 0;
    background: linear-gradient(100deg, var(--primary-color), var(--secondary-color), var(--primary-color)); background-size: 200% 100%;
    box-shadow: 0 12px 24px -12px color-mix(in srgb, var(--primary-color) 75%, transparent); transition: background-position .4s, transform .15s, box-shadow .15s; }
.ck-btn:hover { background-position: 100% 0; transform: translateY(-2px); }
.ck-btn-wide { width: 100%; height: 54px; }
.ck-muted { color: var(--pp-muted); font-size: 13.5px; }
.ck-trust { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; }
.ck-trust li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--pp-text); margin: 0; }
.ck-trust i { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; font-size: 13px; color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 10%, var(--pp-card)); }
.ck-trust-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin-top: 14px; }

/* the cart */
.ck-empty { max-width: 520px; margin: 30px auto; text-align: center; background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 22px; padding: 46px 24px; box-shadow: var(--pp-shadow); }
.ck-empty-ic { width: 76px; height: 76px; border-radius: 50%; display: inline-grid; place-items: center; font-size: 30px; color: #fff; margin-bottom: 14px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); }
.ck-empty h1 { font-size: 24px; font-weight: 800; margin: 0 0 6px; color: var(--pp-ink); }
.ck-empty p { color: var(--pp-muted); margin: 0 0 20px; }
.ck-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.ck-head h1 { font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; margin: 0; color: var(--pp-ink); letter-spacing: -.01em; }
.ck-head p { margin: 2px 0 0; color: var(--pp-muted); font-size: 14px; }
.ck-clear { font-size: 14px; font-weight: 600; color: #dc2626 !important; padding: 8px 14px; border-radius: 999px; border: 1px solid #fecaca; background: var(--pp-card); white-space: nowrap; }
.ck-clear:hover { background: #fef2f2; }
.ck-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items: start; }
.ck-items { display: grid; gap: 12px; }
.ck-item { position: relative; display: flex; gap: 16px; padding: 14px; padding-right: 46px; background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 18px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.ck-item-img { flex: 0 0 104px; height: 104px; border-radius: 14px; overflow: hidden; background: var(--pp-soft); }
.ck-item-img img { width: 100%; height: 100%; object-fit: cover; }
.ck-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ck-item-name { font-weight: 700; font-size: 16px; line-height: 1.35; color: var(--pp-ink) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ck-item-var { display: inline-block; align-self: flex-start; font-size: 12.5px; font-weight: 600; padding: 2px 10px; border-radius: 999px; background: var(--pp-soft); color: var(--pp-text); }
.ck-item-unit { font-size: 13px; color: var(--pp-muted); }
.ck-item-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 8px; }
.ck-item-total { font-size: 18px; font-weight: 800; color: var(--pp-ink); }
.ck .pro-qty { display: inline-flex !important; align-items: center; border: 1.5px solid var(--pp-line); border-radius: 12px; overflow: hidden; background: var(--pp-card); height: 40px; width: auto !important; }
.ck .pro-qty .qtybtn { width: 38px !important; height: 38px !important; line-height: 38px !important; text-align: center; font-size: 18px !important; cursor: pointer; color: var(--pp-ink); float: none !important; background: transparent !important; user-select: none; }
.ck .pro-qty .qtybtn:hover { background: var(--pp-soft) !important; }
.ck .pro-qty input { width: 44px !important; height: 38px !important; border: 0 !important; text-align: center; font-weight: 700; font-size: 15px; background: transparent; color: var(--pp-ink); padding: 0 !important; -moz-appearance: textfield; }
.ck .pro-qty input::-webkit-outer-spin-button, .ck .pro-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ck-remove { position: absolute; top: 10px; right: 10px; margin: 0; }
.ck-remove button { width: 30px; height: 30px; border-radius: 50%; border: 0; background: var(--pp-soft); color: var(--pp-muted); display: grid; place-items: center; font-size: 13px; cursor: pointer; transition: background .15s, color .15s; }
.ck-remove button:hover { background: #fee2e2; color: #dc2626; }
.ck-more { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: var(--primary-color) !important; margin-top: 4px; }
.ck-summary { position: sticky; top: 90px; background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 20px; padding: 22px; box-shadow: var(--pp-shadow); }
.ck-summary h2 { font-size: 18px; font-weight: 800; margin: 0 0 14px; color: var(--pp-ink); }
.ck-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; font-size: 15px; color: var(--pp-text); }
.ck-row b { color: var(--pp-ink); }
.ck-total { border-top: 1px dashed var(--pp-line); margin-top: 6px; padding: 14px 0 18px; font-size: 17px; font-weight: 700; }
.ck-total b { font-size: 24px; font-weight: 800; color: var(--primary-color); }
@media (max-width: 991px) { .ck-grid { grid-template-columns: 1fr; } .ck-summary { position: static; } }
@media (max-width: 575px) {
    .ck { padding: 14px 0 32px; }
    .ck-item { gap: 12px; padding: 10px; padding-right: 40px; border-radius: 16px; }
    .ck-item-img { flex-basis: 84px; height: 84px; }
    .ck-item-name { font-size: 14.5px; }
    .ck-item-total { font-size: 16px; }
    .ck-head h1 { font-size: 22px; }
    .ck-clear { padding: 6px 11px; font-size: 13px; }
}

/* the checkout: the page's own form, only re-dressed */
.ck-checkout .section-content { margin: 0 !important; padding: 0 !important; background: transparent !important; }
.ck-checkout .card { border: 1px solid var(--pp-line) !important; border-radius: 20px !important; background: var(--pp-card) !important; box-shadow: var(--pp-shadow); overflow: hidden; }
.ck-checkout .card-body { padding: 22px !important; }
.ck-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px !important; }
.ck-card-head h1, .ck-card-head .card-title { font-size: 19px !important; font-weight: 800 !important; margin: 0 !important; color: var(--pp-ink) !important; }
.ck-card-head p { margin: 2px 0 0 !important; font-size: 13.5px !important; color: var(--pp-muted); }
.ck-step { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 15px; color: #fff;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); }
.ck-checkout label { font-size: 13.5px; font-weight: 600; color: var(--pp-text); margin-bottom: 6px; }
.ck-checkout .form-group { margin-bottom: 14px !important; }
.ck-checkout input.form-control, .ck-checkout input[type='text'], .ck-checkout select, .ck-checkout #district, .ck-checkout #upazila {
    height: 48px !important; border: 1.5px solid var(--pp-line) !important; border-radius: 12px !important; background-color: var(--pp-card) !important;
    font-size: 15px !important; color: var(--pp-ink) !important; padding: 0 14px !important; box-shadow: none !important; transition: border-color .15s, box-shadow .15s; }
.ck-checkout input.form-control:focus, .ck-checkout input[type='text']:focus, .ck-checkout select:focus {
    border-color: var(--primary-color) !important; box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-color) 14%, transparent) !important; outline: none; }
.ck-checkout .select2-container .select2-selection--single { height: 48px !important; border: 1.5px solid var(--pp-line) !important; border-radius: 12px !important; display: flex; align-items: center; }
.ck-checkout .select2-container .select2-selection__arrow { height: 46px !important; }
.ck-checkout .file-input-group input[type=file] { width: 100%; padding: 10px; border: 1.5px dashed var(--pp-line); border-radius: 12px; background: var(--pp-soft); font-size: 13.5px; }
.ck-checkout #chk_btn { height: 56px; border-radius: 14px !important; border: 0 !important; font-size: 18px !important; font-weight: 800 !important; width: 100%;
    background: linear-gradient(100deg, var(--primary-color), var(--secondary-color), var(--primary-color)) !important; background-size: 200% 100% !important;
    box-shadow: 0 14px 26px -12px color-mix(in srgb, var(--primary-color) 75%, transparent); transition: background-position .4s, transform .15s !important; }
.ck-checkout #chk_btn:hover { background-position: 100% 0 !important; transform: translateY(-2px); border: 0 !important; }
.ck-checkout .orderDetails table { margin: 0; font-size: 14px; }
.ck-checkout .orderDetails thead th { border: 0 !important; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--pp-muted); font-weight: 700; background: var(--pp-soft); }
.ck-checkout .orderDetails td { vertical-align: middle; border-color: var(--pp-line) !important; color: var(--pp-ink); }
.ck-checkout .orderDetails .table-responsive { border-radius: 14px; border: 1px solid var(--pp-line); background: var(--pp-card) !important; margin: 0 12px; width: auto; }
.ck-checkout .orderDetails .product-image img { width: 52px !important; max-width: 52px !important; height: 52px; object-fit: cover; border-radius: 10px; }
.ck-checkout .orderDetails .remove_item { width: 32px; height: 32px; padding: 0; border-radius: 50%; display: inline-grid; place-items: center; background: var(--pp-soft) !important; border: 0 !important; color: var(--pp-muted) !important; font-size: 12px; }
.ck-checkout .orderDetails .remove_item:hover { background: #fee2e2 !important; color: #dc2626 !important; }
.ck-label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--pp-muted); margin: 6px 22px 8px !important; }
.ck-options { display: grid; gap: 8px; padding: 0 22px 18px !important; }
.ck-options .input-group { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 0; margin: 0; }
.ck-options .input-group > input[type=radio] { position: absolute; left: 16px; top: 17px; width: 18px; height: 18px; margin: 0; accent-color: var(--primary-color); z-index: 1; }
.ck-options .input-group > label { flex: 1; margin: 0; padding: 13px 14px 13px 46px; border: 1.5px solid var(--pp-line); border-radius: 14px; background: var(--pp-card);
    cursor: pointer; font-size: 14.5px; font-weight: 600; color: var(--pp-ink) !important; transition: border-color .15s, background .15s; }
.ck-options .input-group > label::before, .ck-options .input-group > label::after { display: none !important; }
.ck-options .input-group:has(input:checked) > label { border-color: var(--primary-color); background: color-mix(in srgb, var(--primary-color) 7%, var(--pp-card)); }
.ck-options .input-group > input[type=radio] { opacity: 1 !important; }
.ck-checkout .total_section { background: var(--pp-soft); border-top: 1px solid var(--pp-line) !important; }
.ck-checkout .total_section p.h6 { font-size: 15px !important; margin: 5px 0 !important; color: var(--pp-text) !important; }
.ck-checkout .total_section .ck-v p { font-weight: 700; color: var(--pp-ink) !important; }
.ck-checkout .total_section p.total { font-size: 22px !important; font-weight: 800 !important; color: var(--primary-color) !important; }
.ck-checkout .total_section p.delivery_charge, .ck-checkout .total_section p.coupon_discount { color: var(--pp-ink) !important; }
.ck-checkout .axil-checkout-coupon { border: 1.5px dashed var(--pp-line) !important; border-radius: 16px !important; background: var(--pp-card); padding: 6px !important; }
.ck-checkout .axil-checkout-coupon .input-group { display: flex; gap: 6px; flex-wrap: nowrap; }
.ck-checkout .axil-checkout-coupon input { border: 0 !important; height: 44px !important; flex: 1; }
.ck-checkout .axil-checkout-coupon .axil-btn { border-radius: 12px !important; padding: 0 20px !important; height: 44px; }
html[data-theme="dark"] .ck-checkout .orderDetails .table-responsive, html[data-theme="dark"] .ck-checkout .orderDetails table { background: var(--pp-card) !important; color: var(--pp-ink); }
@media (min-width: 768px) { .ck-checkout .checkout-form-column > aside.card { position: sticky; top: 90px; } }
@media (max-width: 767px) { .ck-checkout .card-body { padding: 16px !important; } .ck-label { margin: 6px 16px 8px !important; } .ck-options { padding: 0 16px 16px !important; } .ck-checkout .orderDetails .table-responsive { margin: 0; } }
.lp .list-cards > .list-card { margin-bottom: 26px; }
.lp-chips { display: flex !important; flex-wrap: wrap; gap: 8px !important; padding: 0 !important; list-style: none; }
.lp-chips li { margin: 0 !important; }
.lp-chips a { display: inline-block; padding: 7px 15px !important; border-radius: 999px; border: 1px solid var(--pp-line); background: var(--pp-card); font-size: 14px; font-weight: 600; color: var(--pp-text) !important; white-space: nowrap; }
.lp-chips a:hover { border-color: var(--primary-color); color: var(--primary-color) !important; }
@media (max-width: 991px) { .lp-chips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px !important; } .lp-chips::-webkit-scrollbar { display: none; } }
.lp-cats .lp-tile-img b { font-size: 38px; font-weight: 800; background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ck-checkout .form-group label { position: static !important; padding: 0 !important; background: transparent !important; display: block; pointer-events: auto; }
.ck-checkout .order-confirm-header { border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.ck-checkout .total_section .row { align-items: center; row-gap: 2px; }
.ck-checkout .total_section .col-6 { display: flex; align-items: center; }
.ck-checkout .total_section .ck-v { justify-content: flex-end; }
.ck-checkout .total_section .col-6 p { margin: 4px 0 !important; text-align: inherit !important; }
.ck-checkout .total_section .ck-v p.total { font-size: 22px !important; font-weight: 800 !important; color: var(--primary-color) !important; }
.ck-checkout .total_section .col-6:has(+ .ck-v p.total) p, .ck-checkout .total_section .col-6:has(+ .ck-v p.total) { font-size: 17px !important; font-weight: 800; color: var(--pp-ink) !important; }

/* ---------- customer reviews page (.rvp, Nov 2026) ---------- */
.rvp { background: var(--pp-soft); }
.rvp-stars { display: inline-flex; gap: 2px; color: #f5a524; font-size: 14px; line-height: 1; }
.rvp-stars .far { color: color-mix(in srgb, #f5a524 45%, transparent); }
.rvp-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; border-radius: 999px; font-weight: 700; font-size: 16px; color: #fff !important;
    background: linear-gradient(100deg, var(--primary-color), var(--secondary-color), var(--primary-color)); background-size: 200% 100%;
    box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--primary-color) 80%, transparent); transition: background-position .4s, transform .15s; text-decoration: none !important; }
.rvp-btn:hover { background-position: 100% 0; transform: translateY(-2px); }
.rvp-btn--light { background: #fff; color: var(--primary-color) !important; box-shadow: 0 14px 30px -16px rgba(0,0,0,.45); }
.rvp-btn--light:hover { background: #fff; }

.rvp-hero { position: relative; overflow: hidden; color: #fff; text-align: center; padding: 74px 20px 110px;
    background: radial-gradient(60% 80% at 50% 0%, rgba(255,255,255,.14), transparent 70%),
                linear-gradient(120deg, color-mix(in srgb, var(--primary-color) 88%, #000), color-mix(in srgb, var(--secondary-color) 88%, #000)); }
.rvp-hero::before { content: ""; position: absolute; inset: 0; background: var(--rvp-img, none) center/cover no-repeat; opacity: .08; mix-blend-mode: soft-light; }
.rvp-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 90px; background: linear-gradient(transparent, rgba(0,0,0,.12)); }
.rvp-hero-in { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; }
.rvp-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 7px 15px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rvp-kicker i { color: #ff8fb1; }
.rvp-hero h1 { font-family: var(--pp-font); color: #fff; font-weight: 800; font-size: clamp(26px, 3.6vw, 44px); line-height: 1.25; letter-spacing: -.01em; margin: 18px auto 0; max-width: 24ch; }
.rvp-score { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 9px 18px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); font-size: 14.5px; }
.rvp-score b { font-size: 20px; }
.rvp-score span:last-child { opacity: .85; }
.rvp-stats { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin: 30px 0 30px; }
.rvp-stats > div { min-width: 170px; padding: 16px 22px; border-radius: 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.rvp-stats b { display: block; font-size: 28px; font-weight: 800; line-height: 1.1; }
.rvp-stats b.rvp-stars { font-size: 20px; padding: 5px 0; justify-content: center; display: flex; }
.rvp-stats span { display: block; margin-top: 4px; font-size: 13.5px; opacity: .85; }

.rvp-body { max-width: 1240px; margin: 0 auto; padding: 0 20px 70px; }
.rvp-tabs { display: flex; justify-content: center; gap: 6px; width: max-content; max-width: 100%; margin: -30px auto 34px; position: relative; z-index: 2; padding: 6px; border-radius: 999px;
    background: var(--pp-card); border: 1px solid var(--pp-line); box-shadow: 0 18px 40px -22px rgba(16,24,40,.35); overflow-x: auto; scrollbar-width: none; }
.rvp-tabs::-webkit-scrollbar { display: none; }
.rvp-tabs button { width: auto !important; margin: 0 !important; display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; padding: 11px 18px; border-radius: 999px; font-weight: 700; font-size: 14.5px; color: var(--pp-text); white-space: nowrap; cursor: pointer; transition: background .15s, color .15s; }
.rvp-tabs button em { font-style: normal; font-size: 12px; padding: 1px 8px; border-radius: 999px; background: var(--pp-soft); color: var(--pp-muted); }
.rvp-tabs button.on { color: #fff; background: linear-gradient(100deg, var(--primary-color), var(--secondary-color)); }
.rvp-tabs button.on em { background: rgba(255,255,255,.25); color: #fff; }
.rvp-h { text-align: center; font-family: var(--pp-font); font-size: clamp(20px, 2.2vw, 27px); font-weight: 800; color: var(--pp-ink); margin: 0 0 22px; }
.rvp-empty { text-align: center; padding: 60px 20px; color: var(--pp-muted); }
.rvp-empty i { font-size: 36px; color: var(--primary-color); display: block; margin-bottom: 10px; }

.rvp-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.rvp-video { position: relative; display: block; aspect-ratio: 4 / 5; border: 0; padding: 0; border-radius: 20px; overflow: hidden; cursor: pointer; text-align: left;
    background: linear-gradient(160deg, var(--primary-color), var(--secondary-color)); box-shadow: 0 18px 36px -24px rgba(16,24,40,.5); transition: transform .2s, box-shadow .2s; }
.rvp-video img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.34); transition: transform .4s; }   /* YouTube's thumbnail has black bands: cut them off */
.rvp-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.78)); }
.rvp-video:hover { transform: translateY(-4px); box-shadow: 0 26px 44px -24px rgba(16,24,40,.6); }
.rvp-video:hover img { transform: scale(1.4); }
.rvp-play { position: absolute; z-index: 1; left: 50%; top: 42%; transform: translate(-50%, -50%); width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(255,255,255,.92); color: var(--primary-color); font-size: 20px; box-shadow: 0 0 0 8px rgba(255,255,255,.25); transition: transform .2s; }
.rvp-play i { margin-left: 3px; }
.rvp-video:hover .rvp-play { transform: translate(-50%, -50%) scale(1.08); }
.rvp-video-foot { position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 14px; color: #fff; display: grid; gap: 3px; }
.rvp-video-foot b { font-size: 15.5px; }
.rvp-video-foot small { font-size: 12.5px; opacity: .85; }

.rvp-chips { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 4px 0 24px; }
.rvp-chips button { width: auto !important; flex: 0 0 auto; display: inline-block; margin: 0 !important; border: 1px solid var(--pp-line); background: var(--pp-card); color: var(--pp-text); padding: 7px 16px; border-radius: 999px; font-weight: 600; font-size: 14px; cursor: pointer; }
.rvp-chips button.on { background: var(--primary-color); border-color: var(--primary-color); color: #fff; }
.rvp-shots { columns: 4 240px; column-gap: 18px; }
.rvp-shot { break-inside: avoid; margin: 0 0 18px; background: var(--pp-card); border: 1px solid var(--pp-line); border-radius: 18px; overflow: hidden; box-shadow: 0 12px 28px -22px rgba(16,24,40,.4); }
.rvp-shot[hidden] { display: none; }
.rvp-shot-btn { display: block; width: 100%; border: 0; padding: 0; background: none; cursor: zoom-in; }
.rvp-shot-btn img { display: block; width: 100%; height: auto; }
.rvp-shot figcaption { display: flex; align-items: center; gap: 8px; padding: 10px 14px; font-size: 13.5px; color: var(--pp-text); }
.rvp-from { padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--pp-soft); color: var(--pp-muted); }
.rvp-from--facebook-page, .rvp-from--facebook-group, .rvp-from--facebook { background: #e7f0ff; color: #1877f2; }
.rvp-from--google { background: #fdecea; color: #d93025; }
.rvp-from--website { background: color-mix(in srgb, var(--primary-color) 12%, #fff); color: var(--primary-color); }
.rvp-more { width: auto !important; margin-top: 8px; padding: 12px 30px; border-radius: 999px; border: 1.5px solid var(--primary-color); background: var(--pp-card); color: var(--primary-color); font-weight: 700; cursor: pointer; transition: background .15s, color .15s; }
.rvp-more:hover { background: var(--primary-color); color: #fff; }
.rvp-more:disabled { opacity: .6; }

.rvp-quotes { columns: 3 300px; column-gap: 18px; }
.rvp-quote { break-inside: avoid; margin: 0 0 18px; padding: 22px; border-radius: 18px; background: var(--pp-card); border: 1px solid var(--pp-line); box-shadow: 0 12px 28px -22px rgba(16,24,40,.4); position: relative; }
.rvp-quote::before { content: "\201C"; position: absolute; right: 18px; top: 4px; font-size: 64px; line-height: 1; font-family: Georgia, serif; color: color-mix(in srgb, var(--primary-color) 18%, transparent); }
.rvp-quote p { margin: 10px 0 16px; font-size: 15.5px; line-height: 1.7; color: var(--pp-text); }
.rvp-quote footer { display: flex; align-items: center; gap: 12px; }
.rvp-quote footer > span:last-child { display: grid; font-size: 13px; color: var(--pp-muted); }
.rvp-quote footer b { color: var(--pp-ink); font-size: 14.5px; }
.rvp-quote footer a { color: var(--primary-color) !important; font-weight: 600; }
.rvp-avatar { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 800; background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); }

.rvp-platforms { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 44px; }
.rvp-platform { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; background: var(--pp-card); border: 1px solid var(--pp-line); }
.rvp-platform .ic { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; font-size: 21px; color: #fff; }
.rvp-platform--website .ic { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); }
.rvp-platform--google .ic { background: #fff; color: #4285f4; border: 1px solid var(--pp-line); }
.rvp-platform--youtube .ic { background: #ff0000; }
.rvp-platform--facebook .ic { background: #1877f2; }
.rvp-platform b { display: block; font-size: 15px; color: var(--pp-ink); }
.rvp-platform small { display: block; font-size: 12.5px; color: var(--pp-muted); margin-top: 2px; }

.rvp-cta { text-align: center; color: #fff; padding: 64px 20px; background: linear-gradient(120deg, var(--primary-color), var(--secondary-color)); }
.rvp-cta h2 { color: #fff; font-family: var(--pp-font); font-weight: 800; font-size: clamp(22px, 2.8vw, 34px); margin: 0 0 10px; }
.rvp-cta p { color: rgba(255,255,255,.88); font-size: 16px; margin: 0 auto 24px; max-width: 640px; }

.rvp-box { position: fixed; inset: 0; z-index: 2000; background: rgba(8,10,20,.82); display: grid; place-items: center; padding: 20px; }
.rvp-box[hidden] { display: none; }
.rvp-box-x { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 18px; cursor: pointer; }
.rvp-box-in iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: 16px; background: #000; }
.rvp-box-in.wide { width: min(960px, 100%); aspect-ratio: 16 / 9; }
.rvp-box-in.tall { height: min(86vh, 760px); aspect-ratio: 9 / 16; max-width: 100%; }
.rvp-box-in.photo img { display: block; max-width: min(92vw, 1000px); max-height: 88vh; border-radius: 14px; }

@media (max-width: 767px) {
    .rvp-hero { padding: 46px 16px 86px; }
    .rvp-stats > div { min-width: 0; flex: 1 1 30%; padding: 12px 10px; }
    .rvp-stats b { font-size: 21px; }
    .rvp-stats b.rvp-stars { font-size: 13px; }
    .rvp-stats span { font-size: 12px; }
    .rvp-body { padding: 0 12px 50px; }
    .rvp-tabs { margin: -26px auto 26px; }
    .rvp-tabs button { padding: 10px 13px; font-size: 13.5px; }
    .rvp-videos { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .rvp-video { border-radius: 16px; }
    .rvp-play { width: 48px; height: 48px; font-size: 16px; }
    .rvp-video-foot { left: 10px; right: 10px; bottom: 10px; }
    .rvp-video-foot b { font-size: 13.5px; }
    .rvp-shots { columns: 2; column-gap: 10px; }
    .rvp-shot { margin-bottom: 10px; border-radius: 14px; }
    .rvp-shot figcaption { padding: 8px 10px; font-size: 12px; flex-wrap: wrap; }
}

/* ---------- phone check (Nov 2026): nothing may be wider than the screen ---------- */
.pdp .single-product-thumb .row.d-flex.gap-2, .pdp .single-product-thumb .row.d-flex.gap-2.mb-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pdp .single-product-thumb .row.d-flex.gap-2.mb-3 .btn { padding-left: 10px !important; padding-right: 10px !important; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 420px) { .pdp .single-product-thumb .row.d-flex.gap-2.mb-3 { grid-template-columns: minmax(0, 1fr); } }
.ck-items { grid-template-columns: minmax(0, 1fr); }
.ck-grid > *, .ck-items > *, .ck-item > * { min-width: 0; }
@media (max-width: 991px) { .ck-grid { grid-template-columns: minmax(0, 1fr); } }
.blog-x .bx-grid { grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr)); }
.mapouter, .gmap_canvas { max-width: 100%; overflow: hidden; }
.main-wrapper iframe { max-width: 100% !important; }

/* ---------- listing filters (Nov 2026): heading with "Clear all", counts on each choice, the empty list ---------- */
.axil-shop-sidebar .lf-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; }
.axil-shop-sidebar .lf-head b { font-size: 15px; font-weight: 800; color: var(--pp-ink, #111827); }
.lf-clear, .lf-clear-btn { border: 0; background: none; color: var(--primary-color); font-weight: 700; font-size: 13px; padding: 4px 0; cursor: pointer; width: auto !important; }
.axil-shop-sidebar li .lf-n { font-size: 11.5px; opacity: .65; margin-left: 3px; font-weight: 600; }
.axil-shop-sidebar li.current-cat .lf-n { opacity: .9; }
.lf-empty { text-align: center; padding: 34px 18px; border: 1px dashed var(--pp-line, #e5e7eb); border-radius: 16px; background: var(--pp-card, #fff); }
.lf-empty b { display: block; font-size: 17px; color: var(--pp-ink, #111827); }
.lf-empty p { margin: 6px 0 14px; color: var(--pp-muted, #6b7280); font-size: 14px; }
.lf-empty .lf-clear-btn { background: var(--primary-color); color: #fff; border-radius: 999px; padding: 10px 20px; font-size: 14px; }

/* checkout "Your order" on phones (Nov 2026): each product is a small card (photo, name, price, quantity, total) instead of a sideways-scrolling table */
@media (max-width: 575px) {
    .orderDetails .table-responsive { overflow: visible !important; }
    .orderDetails table.table { min-width: 0 !important; width: 100% !important; display: block; border: 0 !important; }
    .orderDetails table.table thead { display: none; }
    .orderDetails table.table tbody { display: grid; gap: 10px; }
    .orderDetails table.table tr.cart-item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "img name del" "img price price" "img qty total";
        column-gap: 12px; row-gap: 4px; align-items: center; padding: 10px; border: 1px solid var(--pp-line, #e5e7eb); border-radius: 14px; background: var(--pp-card, #fff); }
    .orderDetails table.table tr.cart-item > td { display: block; padding: 0 !important; border: 0 !important; width: auto !important; text-align: left !important; }
    .orderDetails tr.cart-item > td:first-child { grid-area: del; justify-self: end; }
    .orderDetails tr.cart-item > td:first-child .btn { width: 32px !important; height: 32px; padding: 0 !important; display: grid; place-items: center; border-radius: 10px; font-size: 13px; }
    .orderDetails tr.cart-item > td.product-image { grid-area: img; align-self: start; }
    .orderDetails tr.cart-item > td.product-image img { width: 56px !important; max-width: 56px !important; height: 56px; object-fit: cover; border-radius: 10px; }
    .orderDetails tr.cart-item > td.product-name { grid-area: name; font-weight: 600; font-size: 14.5px; line-height: 1.35; color: var(--pp-ink, #111827); }
    .orderDetails tr.cart-item > td.product-price { grid-area: price; font-size: 13px; color: var(--pp-muted, #6b7280); }
    .orderDetails tr.cart-item > td.product-quantity { grid-area: qty; }
    .orderDetails tr.cart-item > td.product-total { grid-area: total; font-weight: 800; font-size: 15px; color: var(--pp-ink, #111827); justify-self: end; }
}
