/* RESEARCH X — Mobile UX Optimization v1.0.0
   Mobile presentation only. Intentionally does not change stock, discounts,
   add-to-cart validation, product eligibility, account or checkout settings. */

@media (max-width: 767px) {
  :root { --rxmob-blue:#1646FF; --rxmob-navy:#101828; --rxmob-lime:#B7F000; --rxmob-paper:#F3F6FA; }

  /* 01 HOME — background remains behind real content; both hero CTAs readable. */
  body .rxnx-hero-v15,
  body .rxnx-hero-v15 .rxnx-hero-copy-stack-v15,
  body .rxnx-hero-v15 .rxnx-hero-left-v15 { max-width:100%; }
  body .rxnx-hero-v15 .rxmob-hero-primary,
  body .rxnx-hero-v15 .rxmob-hero-secondary {
    display:flex!important; align-items:center!important; justify-content:space-between!important;
    width:100%!important; max-width:100%!important; min-height:52px!important;
    padding:14px 18px!important; border-radius:12px!important;
    font-size:14px!important; line-height:1.35!important; letter-spacing:0!important;
    text-decoration:none!important; box-shadow:0 8px 22px rgba(5,21,58,.22)!important;
    opacity:1!important; visibility:visible!important; filter:none!important;
    mix-blend-mode:normal!important; isolation:isolate!important; text-shadow:none!important;
    transition:background-color .18s ease,transform .18s ease;
  }
  body .rxnx-hero-v15 .rxmob-hero-primary,
  body .rxnx-hero-v15 .rxmob-hero-primary:visited { background:#1646FF!important; border:2px solid #1646FF!important; color:#fff!important; }
  body .rxnx-hero-v15 .rxmob-hero-secondary,
  body .rxnx-hero-v15 .rxmob-hero-secondary:visited { background:#B7F000!important; border:2px solid #B7F000!important; color:#101828!important; }
  /* Previous hero module sets first-of-type backgrounds at high specificity. */
  body .rxnx-hero-v15 a.rxnx-hero-readable-v15.rxmob-hero-secondary:first-of-type { background:#B7F000!important; background-color:#B7F000!important; color:#101828!important; }
  body .rxnx-hero-v15 .rxmob-hero-secondary :is(span,strong,svg),
  body .rxnx-hero-v15 .rxmob-hero-secondary :is(span,strong) { color:#101828!important; }
  body .rxnx-hero-v15 .rxmob-hero-primary :is(span,strong) { color:#fff!important; }
  body .rxnx-hero-v15 .rxmob-hero-primary:focus-visible,
  body .rxnx-hero-v15 .rxmob-hero-secondary:focus-visible { outline:3px solid #fff!important; outline-offset:3px!important; }
  body .rxnx-hero-v15 .rxmob-hero-primary:active,
  body .rxnx-hero-v15 .rxmob-hero-secondary:active { transform:translateY(1px); }

  /* 02 HOME — override older auto-fit and 4-column !important rules. */
  body .rxnx-feature-section.rxnx-home-featured.rxnx-home-isolated {
    display:block!important; overflow:visible!important; max-width:100vw!important;
    box-sizing:border-box!important; padding:34px 0 44px!important;
  }
  body .rxnx-home-featured.rxnx-home-isolated > .rxnx-section-head,
  body .rxnx-home-featured.rxnx-home-isolated > .rxnx-card-grid {
    box-sizing:border-box!important; width:calc(100% - 28px)!important;
    max-width:500px!important; margin-left:auto!important; margin-right:auto!important;
  }
  body .rxnx-home-featured.rxnx-home-isolated > .rxnx-card-grid,
  body .rxnx-home-featured .rxnx-card-grid {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important; justify-items:stretch!important; align-items:stretch!important;
  }
  body .rxnx-home-featured .rxnx-product-card { width:100%!important; min-width:0!important; max-width:100%!important; }
  body .rxnx-home-featured .rxnx-card-imagewrap { aspect-ratio:1.22!important; padding:12px!important; }
  body .rxnx-home-featured .rxnx-card-body { padding:18px!important; gap:12px!important; }
  body .rxnx-home-featured .rxnx-nameprice h3,
  body .rxnx-home-featured .rxnx-product-card .rxnx-nameprice h3 { font-size:21px!important; line-height:1.2!important; }
  body .rxnx-home-featured .rxnx-card-prices strong { font-size:28px!important; }
  body .rxnx-home-featured .rxnx-chips span { font-size:11px!important; padding:6px 9px!important; }
  body .rxnx-home-featured .rxnx-section-head h2 { font-size:clamp(25px,7vw,34px)!important; overflow-wrap:anywhere!important; }
  body .rxnx-home-featured .rxnx-view-all { max-width:100%; white-space:normal!important; }

  /* 03 ALL RESEARCH X CARDS — three legible bundle prices, balanced CTA. */
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-tiers {
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important; margin-top:18px!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-tier {
    min-width:0!important; min-height:96px!important; padding:18px 4px 11px!important;
    border-radius:13px!important; gap:7px!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-tier b {
    font-size:clamp(11px,3.05vw,13px)!important; line-height:1.25!important;
    word-break:normal!important; overflow-wrap:normal!important; white-space:normal!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-tier > span:not(.rxnx-save) {
    font-size:clamp(13px,3.75vw,18px)!important; font-weight:900!important;
    line-height:1.18!important; white-space:normal!important;
    overflow-wrap:normal!important; word-break:normal!important;
    letter-spacing:-.025em!important; color:inherit!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-tier > span:not(.rxnx-save) small {
    display:inline!important; font-size:clamp(9px,2.45vw,11px)!important; font-weight:700!important;
    white-space:nowrap!important; letter-spacing:0!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-save {
    top:-11px!important; padding:5px 7px!important; font-size:10px!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-card-cart {
    display:grid!important; grid-template-columns:minmax(92px,0.8fr) minmax(0,1.5fr)!important;
    gap:9px!important; padding-top:10px!important; align-items:stretch!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-qty {
    min-width:0!important; width:100%!important; height:52px!important; flex:auto!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-cart-btn {
    width:100%!important; min-width:0!important; min-height:52px!important;
    padding:10px 8px!important; font-size:12px!important; overflow-wrap:normal!important;
    line-height:1.25!important;
  }
  body :is(.rxnx-home-featured,.rxnx-archive-mount,.rxnx-related-feature) .rxnx-product-card .rxnx-card-total { font-size:11px!important; }
  body .rxnx-home-featured .rxnx-product-card .rxnx-cart-btn { background:#B7F000!important; color:#101828!important; }
  body .rxnx-archive-mount .rxnx-product-card .rxnx-cart-btn,
  body .rxnx-related-feature .rxnx-product-card .rxnx-cart-btn { background:#1646FF!important; color:white!important; }

  /* 04 CATALOG — content and filters must not overflow mobile viewport. */
  body .rxnx-archive-mount,
  body .rxnx-archive-mount > .rxnx-catalog-section { width:100%!important; max-width:100%!important; min-width:0!important; }
  body .rxnx-archive-mount .rxnx-card-grid,
  body .rxnx-related-feature .rxnx-card-grid {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important; min-width:0!important;
  }
  body .rxnx-archive-mount .rxnx-product-card { width:100%!important; min-width:0!important; }
  body .rxnx-archive-mount .rxnx-card-body { padding:17px!important; gap:11px!important; }
  body .rxnx-archive-mount .rxnx-card-prices strong { font-size:27px!important; }
  body .rxnx-archive-mount .rxnx-card-imagewrap { aspect-ratio:1.18!important; }
  body .rxnx-category-panel { max-width:100%!important; width:100%!important; box-sizing:border-box!important; }
  body .rxnx-category-panel :is(input,select,button) { max-width:100%; }
  body .rxnx-category-panel :is(.rxnx-cat-list,.rxnx-cat-tree) { max-width:100%!important; overflow-wrap:anywhere; }

  /* 05 SINGLE PRODUCT — show name and pricing before the two information cards. */
  body.single-product .rxmob-single-information { display:flex!important; flex-direction:column!important; gap:12px!important; margin:15px 0 23px!important; width:100%!important; clear:both!important; }
  body.single-product.rxmob-single-ready .rxpb-gallery-host > .rxce-under-gallery-guarantee,
  body.single-product.rxmob-single-ready [data-rxpb-gallery] + .rxce-under-gallery-guarantee,
  body.single-product.rxmob-single-ready .rxpb-gallery-host > .rxce-under-gallery-meta,
  body.single-product.rxmob-single-ready [data-rxpb-gallery] ~ .rxce-under-gallery-meta {
    display:none!important;
  }
  body.single-product .rxmob-single-information .rxce-under-gallery-guarantee,
  body.single-product .rxmob-single-information .rxce-under-gallery-meta { display:block!important; width:100%!important; max-width:100%!important; margin:0!important; }
  body.single-product .rxmob-single-information .rxce-under-gallery-guarantee { padding:17px!important; }
  body.single-product .rxmob-single-information .rxce-under-gallery-meta { padding:14px 16px!important; font-size:12px!important; line-height:1.7!important; }
  body.single-product .rxmob-single-information .product_meta { display:flex!important; flex-wrap:wrap!important; flex-direction:column!important; gap:5px!important; }
  body.single-product .rxmob-single-information .product_meta > span { display:block!important; min-width:0!important; }
  body.single-product .summary,
  body.single-product .entry-summary { max-width:100%!important; min-width:0!important; }
  body.single-product .rxce-price-panel,
  body.single-product #rxce-product-ui { max-width:100%!important; box-sizing:border-box!important; }
  body.single-product .rxnx-single-tiers .rxnx-tier b { font-size:clamp(11px,3vw,13px)!important; }
  body.single-product .rxnx-single-tiers .rxnx-tier > span:not(.rxnx-save) { font-size:clamp(13px,3.7vw,17px)!important; }
  body.single-product .rxce-cartline { max-width:100%!important; }
  body.single-product .rxlr-details .rxlr-card,
  body.single-product .rxlr-details .rxlr-technical-card,
  body.single-product .rxlr-details .rxlr-quality-card { max-width:100%!important; }
  body.single-product :is(.rxce-faq-item summary,.rxlr-nav a) { overflow-wrap:anywhere; }

  /* 06 QUALITY LIBRARY + FOOTER — compact layout. */
  body .rxce-quality-library-v11,
  body .rxce-library-grid,
  body .rxce-library-card { min-width:0!important; }
  body .rxce-library-stats { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  body .rxce-library-stats > div { padding:12px 7px!important; }
  body .rxce-library-stats strong { font-size:21px!important; }
  body .rxce-library-stats span { font-size:8px!important; letter-spacing:.025em!important; overflow-wrap:anywhere!important; }
  body .rxce-library-searchrow { flex-direction:column!important; align-items:stretch!important; }
  body .rxce-library-searchlabel { max-width:100%!important; }
  body .rxnx-footer-promises { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:15px!important; }
  body .rxnx-footer-main { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:22px!important; }
  body .rxnx-footer-brand { grid-column:1/-1!important; }
  body .rxnx-footer-column { min-width:0!important; }
  body .rxnx-footer-column a { overflow-wrap:anywhere!important; }
  body .rxnx-footer-inner { padding:24px 18px!important; }

  /* 07 Blocksy mobile off-canvas: readable, consistent touch targets. */
  #offcanvas .rxmob-nav-ready > li,
  #offcanvas .rxmob-nav-ready > li > a { max-width:100%!important; }
  #offcanvas ul.rxmob-nav-ready > li[hidden],
  .ct-panel ul.rxmob-nav-ready > li[hidden] { display:none!important; }
  #offcanvas .rxmob-nav-ready > li > a,
  .ct-panel .rxmob-nav-ready > li > a {
    display:flex!important; align-items:center!important; min-height:48px!important;
    padding:12px 16px!important; font-size:16px!important;
    font-weight:750!important; line-height:1.35!important; letter-spacing:0!important;
  }
  #offcanvas .rxmob-nav-ready > li.rxmob-current > a,
  .ct-panel .rxmob-nav-ready > li.rxmob-current > a { color:#B7F000!important; }
}

/* Tablets: two columns for featured / catalog, not four narrow columns. */
@media (min-width: 768px) and (max-width: 1023px) {
  body .rxnx-home-featured .rxnx-card-grid,
  body .rxnx-home-featured.rxnx-home-isolated > .rxnx-card-grid,
  body .rxnx-archive-mount .rxnx-card-grid,
  body .rxnx-related-feature .rxnx-card-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body .rxnx-product-card .rxnx-tier > span:not(.rxnx-save) { font-size:13px!important; }
}

@media (max-width: 359px) {
  body .rxnx-product-card .rxnx-card-cart { grid-template-columns:1fr!important; }
  body .rxnx-home-featured .rxnx-section-head h2 { font-size:24px!important; }
  body .rxnx-footer-promises { grid-template-columns:1fr!important; }
}

@media (prefers-reduced-motion: reduce) {
  body .rxnx-hero-v15 .rxmob-hero-primary,
  body .rxnx-hero-v15 .rxmob-hero-secondary { transition:none!important; }
}
