/* NPCF 5.5.9 — Cross-Browser Mobile Consistency + Compact Mobile CTA Labels
 * Loaded after the framework stylesheet and deliberately limited to stable,
 * broadly-supported properties. */
@media screen and (max-width:1024px) {
  body.single-product #page,
  body.single-product .site,
  body.single-product .site-content,
  body.single-product #content,
  body.single-product .ast-container,
  body.single-product #primary,
  body.single-product .content-area,
  body.single-product main.site-main,
  body.single-product div.product {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  body.single-product .site-content > .ast-container,
  body.single-product #content > .ast-container,
  body.single-product .ast-container {
    padding-left:8px !important;
    padding-right:8px !important;
  }
  body.single-product #primary,
  body.single-product .content-area,
  body.single-product main.site-main,
  body.single-product div.product {
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary,
  body.single-product div.product .entry-summary {
    float:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
  body.single-product div.product .woocommerce-product-gallery__wrapper,
  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image a,
  body.single-product div.product .woocommerce-product-gallery__image img {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body.single-product div.product .woocommerce-product-gallery__image img {
    height:auto !important;
    object-fit:contain !important;
  }
  body.single-product div.product .woocommerce-tabs,
  body.single-product .woocommerce-tabs {
    float:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:6px !important;
    padding-right:6px !important;
    box-sizing:border-box !important;
  }
  body.single-product .woocommerce-tabs .panel,
  body.single-product .woocommerce-Tabs-panel,
  body.single-product .pd-wrapper,
  body.single-product .npcf-wrapper {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
  body.single-product #npcf-collector-navigation .npcf-denomination-nav__track {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
    align-items:start !important;
  }
  body.single-product #npcf-collector-navigation .npcf-denomination-nav__visual-item {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body.single-product #npcf-collector-navigation .npcf-denomination-nav__media {
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:72px !important;
    overflow:hidden !important;
  }
  body.single-product #npcf-collector-navigation .npcf-denomination-nav__image {
    display:block !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
  body.single-product #npcf-collector-navigation .npcf-denomination-nav__image--front {
    display:block !important;
    opacity:1 !important;
  }
  body.single-product #npcf-collector-navigation .npcf-denomination-nav__image--back {
    display:none !important;
    opacity:0 !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-recommendation-grid,
  body.single-product .npcf-smart-recommendations .npcf-pathway-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-recommendation-card {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
}
@media screen and (max-width:767px) {
  body.single-product .site-content > .ast-container,
  body.single-product #content > .ast-container,
  body.single-product .ast-container {
    padding-left:6px !important;
    padding-right:6px !important;
  }
  body.single-product .npcf-smart-recommendations {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-pathway-heading h2 {
    font-size:20px !important;
    line-height:1.22 !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-pathway-title,
  body.single-product .npcf-smart-recommendations .npcf-pathway-title:link {
    font-size:14px !important;
    line-height:1.3 !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-recommendation-reason {
    font-size:12px !important;
    line-height:1.45 !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-recommendation-action,
  body.single-product .npcf-smart-recommendations .npcf-recommendation-action:link {
    min-height:44px !important;
    height:auto !important;
    padding:9px 8px !important;
    font-size:12px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }
}

/* NPCF 5.5.9 — Compact Mobile CTA Labels */
.npcf-cta-label-mobile { display:none; }
.npcf-cta-label-desktop { display:inline; }

@media screen and (max-width: 900px) {
  body.single-product .npcf-smart-recommendations .npcf-recommendation-action,
  body.single-product .npcf-smart-recommendations .npcf-recommendation-action:link {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    height:42px !important;
    max-height:42px !important;
    padding:7px 7px !important;
    font-size:11.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    box-sizing:border-box !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-cta-label-desktop {
    display:none !important;
  }
  body.single-product .npcf-smart-recommendations .npcf-cta-label-mobile {
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

@media screen and (max-width: 380px) {
  body.single-product .npcf-smart-recommendations .npcf-recommendation-action,
  body.single-product .npcf-smart-recommendations .npcf-recommendation-action:link {
    min-height:40px !important;
    height:40px !important;
    max-height:40px !important;
    padding:6px 5px !important;
    font-size:10.5px !important;
    letter-spacing:-0.1px !important;
  }
}
