/* Mobile single product experience. Desktop remains unchanged.
 * Cascade policy: prefer theme tokens + scoped selectors. priority overrides are kept
 * only for structural conflicts with FlexSlider, sticky-cart or legacy rules. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience {
    /* Mirror the actual desktop design sources. Product-specific settings are
     * used only where desktop uses them; shared controls inherit global tokens. */
    --awp-mp-accent: var(--theme-primary-color);
    --awp-mp-accent-hover: var(--theme-primary-hover-color, var(--theme-primary-color));
    --awp-mp-accent-text: #fff;
    --awp-mp-title-color: var(--theme-single-product-title-color, var(--theme-heading-color, var(--color-text)));
    --awp-mp-text: var(--theme-body-color, var(--color-text));
    --awp-mp-description: var(--theme-single-product-description-color, var(--awp-mp-text));
    --awp-mp-meta-label: var(--theme-single-product-meta-title-color, var(--awp-mp-muted));
    --awp-mp-meta-value: var(--theme-single-product-meta-value-color, var(--awp-mp-text));
    --awp-mp-cart-bg: var(--theme-single-product-cart-bg, var(--theme-primary-color));
    --awp-mp-cart-bg-hover: var(--theme-single-product-cart-bg-hover, var(--theme-primary-hover-color, var(--theme-primary-color)));
    --awp-mp-cart-color: var(--theme-single-product-cart-color, #fff);
    --awp-mp-cart-color-hover: var(--theme-single-product-cart-color-hover, var(--awp-mp-cart-color));
    --awp-mp-cart-border: var(--theme-single-product-cart-border, transparent);
    --awp-mp-cart-border-hover: var(--theme-single-product-cart-border-hover, var(--awp-mp-cart-border));
    --awp-mp-muted: var(--color-gray600, #81858b);
    --awp-mp-border: var(--color-gray200, #e0e0e2);
    --awp-mp-soft: var(--color-gray50, #f0f0f1);
    --awp-mp-softest: var(--color-gray25, #f7f7f8);
    --awp-mp-surface: var(--color-background, #fff);
    --awp-mp-title-size: var(--theme-single-product-name-font-size-mobile, 16px);
    --awp-mp-title-line-height: var(--theme-single-product-name-line-height-mobile, 1.5);
    --awp-mp-price-size: var(--theme-single-product-price-font-size-mobile, 16px);
    --awp-mp-regular-price-color: var(--theme-single-product-regular-price-color, #768088);
    --awp-mp-sale-price-color: var(--theme-single-product-sale-price-color, #e53e3e);
    --awp-mp-sheet-radius: calc(var(--theme-radius-base, 10px) * 1.8);
    --awp-mp-control-radius: var(--theme-radius-form, 8px);
    --awp-mp-gap: calc(var(--theme-site-gutters, 15px) * .8);
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience #content.site-content>.container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
  }

  body.asanwp-mobile-product-experience .row.content-wrapper,
  body.asanwp-mobile-product-experience .row.content-wrapper>.primary-column,
  body.asanwp-mobile-product-experience article.single-product {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  /* Product-page mobile header: compact, white, without a desktop-like box. */
  body.asanwp-mobile-product-experience .site-header .header-mobile {
    background: var(--awp-mp-surface);
    border-bottom: 1px solid #f0f0f1;
  }

  body.asanwp-mobile-product-experience .site-header .header-mobile .awp-hb-row {
    min-height: 52px !important;
    padding-block: 4px;
    border: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .site-header .header-mobile .asanwp-header-builder-row {
    min-height: 44px;
  }

  body.asanwp-mobile-product-experience .site-header .header-mobile .action-link,
  body.asanwp-mobile-product-experience .site-header .header-mobile button {
    color: var(--theme-heading-color, var(--color-text));
  }

  /* Re-order the mobile product page independently of desktop. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 {
    display: flex;
    flex-direction: column;
    margin: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-breadcrumb-slot {
    order: 1;
    width: 100%;
    padding: 0 12px;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery {
    display: contents;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    order: 2;
    width: 100%;
    padding: 0;
    overflow: hidden;
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-offer-slot {
    order: 3;
    width: 100%;
    padding: 0 12px;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-actions-slot {
    order: 4;
    width: 100%;
    padding: 0;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    order: 5;
    position: relative;
    z-index: 4;
    width: 100%;
    margin-top: -16px;
    padding: 0;
    border-radius: var(--awp-mp-sheet-radius) var(--awp-mp-sheet-radius) 0 0;
    background: var(--awp-mp-surface);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, .035);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-strip {
    order: 6;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-banner {
    order: 7;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-after-services-content {
    order: 8;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-content {
    order: 9;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-strip,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-banner,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-after-services-content,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-content {
    width: 100%;
    padding-inline: 12px;
  }

  /* Breadcrumbs: short horizontal trail. */
  body.asanwp-mobile-product-experience .awp-type3-breadcrumb-slot .woocommerce-breadcrumb {
    margin: 0;
    padding: 8px 0 10px;
    overflow-x: auto;
    color: var(--awp-mp-muted);
    font-size: 10px;
    line-height: 1.6;
    scrollbar-width: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-breadcrumb-slot .woocommerce-breadcrumb::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-breadcrumb-slot .woocommerce-breadcrumb ul {
    flex-wrap: nowrap;
    width: max-content;
  }

  /* Mobile gallery behaves like a horizontal marketplace media rail. */
  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport {
    width: 100%;
    /* FlexSlider's desktop inline height must not leave space below the mobile rail. */
    height: auto !important;
    margin: 0;
    padding: 0 8px 18px;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-radius: 0;
    background: var(--awp-mp-softest);
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport.is-awp-gallery-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__wrapper {
    display: flex !important;
    align-items: stretch;
    gap: 8px;
    width: max-content !important;
    margin: 0;
    transform: none !important;
    transition: none !important;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image {
    float: none !important;
    flex: 0 0 min(72vw, 302px) !important;
    width: min(72vw, 302px) !important;
    min-width: min(72vw, 302px) !important;
    margin: 0;
    scroll-snap-align: center;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image>a {
    aspect-ratio: 1 / 1;
    padding: 8px;
    overflow: hidden;
    border: 0;
    border-radius: var(--theme-radius-base, 10px);
    background: var(--awp-mp-soft);
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image img {
    max-height: none;
    border-radius: var(--awp-mp-control-radius);
    object-fit: contain;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .flex-control-thumbs,
  body.asanwp-mobile-product-experience .single-gallery-modern .awp-modern-lightbox-trigger {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-gallery-counter {
    right: 12px;
    bottom: 8px;
    height: 26px;
    min-width: 42px;
    padding-inline: 8px;
    border: 0;
    background: rgba(255, 255, 255, .92);
    font-size: 10px;
  }

  body.asanwp-mobile-product-experience .awp-type3-offer-slot .awp-type3-amazing-offer {
    margin: 4px 0 8px;
    border-radius: var(--theme-radius-base, 10px);
  }

  /* Product summary sheet. */
  body.asanwp-mobile-product-experience .product-detail.with-side {
    display: flex;
    flex-direction: column;
  }

  body.asanwp-mobile-product-experience .product-detail-inner {
    order: 1;
    width: 100%;
    padding: 18px 12px 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side {
    order: 2;
    width: 100%;
    margin: 10px 0 0;
    padding: 0 12px;
  }

  /* Actions are moved here by JS. */
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-type3-gallery-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    width: auto;
    margin: -4px 0 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.asanwp-mobile-product-experience .awp-type3-gallery-actions .awp-type3-gallery-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
  }

  body.asanwp-mobile-product-experience .awp-type3-gallery-actions a,
  body.asanwp-mobile-product-experience .awp-type3-gallery-actions button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--theme-heading-color, var(--color-text));
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-gallery-actions .awp-type3-gallery-action::after,
  body.asanwp-mobile-product-experience .awp-type3-gallery-actions [class*="text"],
  body.asanwp-mobile-product-experience .awp-type3-gallery-actions .tinvwl_add_to_wishlist-text {
    display: none !important;
  }

  .awp-mobile-product-brandline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    overflow-x: auto;
    color: #62666d;
    font-size: 10px;
    line-height: 1.8;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .awp-mobile-product-brandline::-webkit-scrollbar {
    display: none;
  }

  .awp-mobile-product-brandline a {
    color: #62666d;
    text-decoration: underline;
    text-decoration-color: #a1a3a8;
    text-underline-offset: 4px;
  }

  .awp-mobile-product-brandline span {
    color: #a1a3a8;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title {
    margin: 0 0 5px;
    color: var(--awp-mp-title-color);
    font-size: var(--awp-mp-title-size);
    font-weight: 700;
    line-height: var(--awp-mp-title-line-height);
  }

  body.asanwp-mobile-product-experience .product-detail-inner .asanwp-product-english-title {
    display: block;
    margin: 0 0 9px;
    overflow: hidden;
    color: #a1a3a8;
    font-size: 10px;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product-meta.top {
    display: none;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.woocommerce-product-details__short-description {
    display: none;
  }

  .awp-mobile-product-stats {
    display: flex;
    gap: 6px;
    width: 100%;
    margin: 0 0 10px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .awp-mobile-product-stats::-webkit-scrollbar {
    display: none;
  }

  .awp-mobile-product-stat {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    min-height: 29px;
    padding: 0 9px;
    border-radius: 999px;
    background: var(--awp-mp-soft);
    color: #424750;
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
  }

  .awp-mobile-product-stat small {
    color: var(--awp-mp-muted);
    font-size: 9px;
  }

  .awp-mobile-product-stat.is-rating {
    background: var(--awp-mp-surface);
    padding-inline-start: 0;
  }

  .awp-mobile-product-stat.is-rating span {
    color: #f9bc00;
    font-size: 13px;
  }

  .awp-mobile-product-stat.is-rating strong {
    font-size: 11px;
  }

  /* Variation / color selector, compact storefront-style chips. */
  body.asanwp-mobile-product-experience .awp-type3-variable-options,
  body.asanwp-mobile-product-experience .awp-type3-grouped-options {
    margin: 0;
    padding: 14px 0;
    border: 0;
    border-top: 1px solid #f0f0f1;
    border-radius: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options table.variations,
  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations,
  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations tbody,
  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations tr {
    width: 100%;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations tr {
    display: block;
    margin: 0 0 12px;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations tr:last-child {
    margin-bottom: 0;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations .label,
  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations .value {
    display: block;
    width: 100%;
    padding: 0;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations .label {
    margin-bottom: 8px;
    color: #0c0c0c;
    font-size: 12px;
    font-weight: 700;
  }

  /* Feature rail. */
  .awp-mobile-product-features {
    margin: 0 -12px;
    padding: 13px 12px 15px;
    border-top: 1px solid #f0f0f1;
  }

  .awp-mobile-product-features__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }

  .awp-mobile-product-features__header h2 {
    margin: 0;
    color: #0c0c0c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.8;
  }

  .awp-mobile-product-features__all {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #3f4064;
    font: inherit;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
  }

  .awp-mobile-product-features__rail {
    display: flex;
    gap: 7px;
    width: calc(100% + 12px);
    overflow-x: auto;
    padding-inline-end: 12px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .awp-mobile-product-features__rail::-webkit-scrollbar {
    display: none;
  }

  .awp-mobile-product-feature {
    display: flex;
    flex: 0 0 94px;
    min-width: 94px;
    min-height: 58px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 7px 8px;
    border: 1px solid var(--awp-mp-border);
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-surface);
    scroll-snap-align: start;
  }

  .awp-mobile-product-feature span {
    overflow: hidden;
    color: var(--awp-mp-muted);
    font-size: 9px;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .awp-mobile-product-feature strong {
    display: -webkit-box;
    overflow: hidden;
    color: #0c0c0c;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  /* Seller card appears as a separate mobile section, not a desktop sidebar. */
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-primary-purchase-stack {
    width: 100%;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card {
    margin: 0;
    padding: 14px 0;
    border: 0;
    border-top: 1px solid #f0f0f1;
    border-radius: 0;
    background: var(--awp-mp-surface);
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__info {
    gap: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row {
    min-height: 44px;
    padding: 8px 0;
    border-bottom: 1px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row:last-child {
    border-bottom: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__label {
    color: var(--awp-mp-muted);
    font-size: 10px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__value {
    color: #0c0c0c;
    font-size: 11px;
    font-weight: 600;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__price-block {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    margin: 0;
    padding: 10px 0;
    border-top: 1px solid #f0f0f1;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__price-label {
    color: var(--awp-mp-muted);
    font-size: 10px;
    font-weight: 500;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__price-line {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__price .price {
    margin: 0;
    color: #0c0c0c;
    font-size: 13px;
    font-weight: 800;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__discount {
    min-width: 30px;
    min-height: 20px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #d32f2f;
    color: #fff;
    font-size: 9px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__cart {
    display: block !important;
    padding: 0 0 12px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__cart .single_add_to_cart_button,
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__cart .button.alt {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-accent);
    color: var(--awp-mp-accent-text);
    font-size: 11px;
    font-weight: 700;
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__cart .awp-type3-buy-now-proxy,
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__cart [class*="buy-now"] {
    display: none !important;
  }


  /* The mobile sticky purchase bar is the single source of price and cart actions. */
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__price-block,
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__cart {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .product-detail-side.awp-type3-side-sticky,
  body.asanwp-mobile-product-experience .product-detail-side.awp-type3-side-sticky>.awp-type3-primary-purchase-stack {
    position: relative !important;
    top: auto !important;
    inset: auto !important;
  }

  /* Services become a simple horizontal row. */
  body.asanwp-mobile-product-experience .awp-type3-service-strip {
    margin-top: 8px;
    padding-block: 10px 14px;
    border-top: 6px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item {
    flex: 0 0 116px;
    min-width: 116px;
    padding: 9px;
    border: 1px solid #f0f0f1;
    border-radius: 9px;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy strong {
    font-size: 10px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy small {
    font-size: 8px;
  }

  /* Product information sections match the marketplace mobile flow. */
  body.asanwp-mobile-product-experience .product-content {
    margin-top: 0;
    padding-top: 0;
    border-top: 6px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .awp-product-sections {
    margin-inline: -12px;
    border: 0;
    border-radius: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav {
    top: var(--awp-sticky-header-height, 0px);
    z-index: 30;
    border: 0;
    border-bottom: 1px solid var(--awp-mp-border);
    border-radius: 0;
    background: rgba(255, 255, 255, .97);
    backdrop-filter: blur(8px);
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav-inner {
    gap: 18px;
    padding: 0 12px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav-inner::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav-link {
    flex: 0 0 auto;
    padding: 12px 0 10px;
    color: #62666d;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav-link.is-active {
    color: #0c0c0c;
    font-weight: 700;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav-link.is-active::after {
    height: 3px;
    border-radius: 999px;
    background: #0c0c0c;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__body {
    padding: 0 12px;
  }

  body.asanwp-mobile-product-experience .awp-product-section {
    padding: 22px 0;
    border-bottom: 1px solid #f0f0f1;
  }

  body.asanwp-mobile-product-experience .awp-product-section__title {
    color: #0c0c0c;
    font-size: 14px;
  }

  body.asanwp-mobile-product-experience .awp-product-section__content {
    color: #424750;
    font-size: 11px;
    line-height: 2.1;
  }

  body.asanwp-mobile-product-experience .woocommerce-product-attributes th,
  body.asanwp-mobile-product-experience .shop_attributes th {
    width: 36%;
    min-width: 112px;
    padding: 10px 9px;
    background: var(--awp-mp-soft);
    color: var(--theme-single-product-description-color, var(--theme-body-color, var(--color-text)));
    font-size: 12px;
  }

  body.asanwp-mobile-product-experience .woocommerce-product-attributes td,
  body.asanwp-mobile-product-experience .shop_attributes td {
    padding: 10px 9px;
    color: var(--theme-single-product-description-color, var(--theme-body-color, var(--color-text)));
    font-size: 12px;
  }

  /* Sticky purchase bar: price + one primary action, like mobile storefront. */
  body.asanwp-mobile-product-experience.has-asanwp-sticky-cart {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  body.asanwp-mobile-product-experience.has-asanwp-mobile-bottom-menu.has-asanwp-sticky-cart {
    padding-bottom: calc(134px + env(safe-area-inset-bottom));
  }

  body.asanwp-mobile-product-experience.has-asanwp-mobile-bottom-menu .single-product-sticky.is-mobile-enabled {
    bottom: calc(58px + env(safe-area-inset-bottom));
  }

  body.asanwp-mobile-product-experience .single-product-sticky.is-mobile-enabled {
    top: auto;
    bottom: 0;
    z-index: 9990;
    display: block !important;
    margin: 0;
    padding: 8px 0 max(8px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--awp-mp-border);
    border-bottom: 0;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -4px 14px rgba(0, 0, 0, .05);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    backdrop-filter: blur(10px);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .container {
    padding-inline: 12px;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner {
    display: grid;
    grid-template-columns: minmax(116px, .9fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 10px;
    direction: ltr;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .content-wrapper {
    display: none;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    direction: rtl;
    text-align: left;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price .price {
    display: flex;
    width: 100%;
    margin: 0;
    justify-content: flex-end;
    align-items: center;
    color: #0c0c0c;
    font-size: var(--awp-mp-price-size);
    font-weight: 800;
    text-align: left;
  }


  body.asanwp-mobile-product-experience .single-product-sticky .product-price .price {
    color: var(--awp-mp-sale-price-color);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price .price del {
    color: var(--awp-mp-regular-price-color);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price .price ins {
    color: var(--awp-mp-sale-price-color);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-transaction {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-purchase-actions {
    width: 100%;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-purchase-actions form.cart {
    width: 100%;
    margin: 0;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner .single_add_to_cart_button,
  body.asanwp-mobile-product-experience .single-product-sticky .sticky_add_to_cart {
    width: 100% !important;
    min-height: 48px;
    border: 0;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-accent);
    color: var(--awp-mp-accent-text);
    font-size: 12px;
    font-weight: 700;
    box-shadow: none;
  }

  /* Keep Buy Now available in the mobile sticky purchase bar when the global
     Buy Now option is enabled. The PHP renderer only outputs this button when
     that setting is active, so CSS only needs to place it beside Add to cart. */
  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-purchase-actions {
    display: flex;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-purchase-actions form.cart {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-purchase-actions > .sticky_add_to_cart {
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-buy-now-button {
    display: inline-flex !important;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border-radius: var(--awp-mp-control-radius);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
  }

  body.asanwp-mobile-product-experience .single-product-sticky.is-added-to-cart .awp-sticky-cart-quantity {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  /* Bottom sheet for product details / specifications. */
  body.awp-mobile-product-sheet-open {
    overflow: hidden;
  }

  .awp-mobile-product-sheet {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: block;
    max-width: 100%;
  }

  .awp-mobile-product-sheet[hidden] {
    display: none;
  }

  .awp-mobile-product-sheet__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .58);
  }

  .awp-mobile-product-sheet__dialog {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    display: flex;
    width: 100%;
    max-height: min(78vh, 700px);
    flex-direction: column;
    overflow: hidden;
    border-radius: 14px 14px 0 0;
    background: var(--awp-mp-surface);
    color: #0c0c0c;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, .16);
    transform: translateY(18px);
    animation: awpMobileProductSheetIn .2s ease forwards;
  }

  @keyframes awpMobileProductSheetIn {
    to {
      transform: translateY(0);
    }
  }

  .awp-mobile-product-sheet__handle {
    flex: 0 0 auto;
    width: 38px;
    height: 3px;
    margin: 15px auto 3px;
    border-radius: 999px;
    background: #d3d3d5;
  }

  .awp-mobile-product-sheet__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding: 7px 12px;
    border-bottom: 1px solid #f0f0f1;
  }

  .awp-mobile-product-sheet__header h2 {
    margin: 0;
    color: #23254e;
    font-size: 13px;
    font-weight: 700;
  }

  .awp-mobile-product-sheet__close {
    display: grid;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--theme-heading-color, var(--color-text));
    font-size: 18px;
  }

  .awp-mobile-product-sheet__tabs {
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
    gap: 18px;
    min-height: 44px;
    padding: 0 12px;
    overflow-x: auto;
    border-bottom: 1px solid #f0f0f1;
    scrollbar-width: none;
  }

  .awp-mobile-product-sheet__tabs::-webkit-scrollbar {
    display: none;
  }

  .awp-mobile-product-sheet__tabs button {
    position: relative;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--awp-mp-muted);
    font: inherit;
    font-size: 12px;
    font-weight: 500;
  }

  .awp-mobile-product-sheet__tabs button.is-active {
    color: #0c0c0c;
    font-weight: 700;
  }

  .awp-mobile-product-sheet__tabs button.is-active::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: #0c0c0c;
  }

  .awp-mobile-product-sheet__body {
    min-height: 0;
    padding: 16px 12px 32px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .awp-mobile-product-sheet__body>h2,
  .awp-mobile-product-sheet__body>h3 {
    margin: 0 0 14px;
    color: #0c0c0c;
    font-size: 14px;
  }

  .awp-mobile-product-sheet__body .woocommerce-product-attributes,
  .awp-mobile-product-sheet__body .shop_attributes {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
  }

  .awp-mobile-product-sheet__body .woocommerce-product-attributes tr,
  .awp-mobile-product-sheet__body .shop_attributes tr {
    border-bottom: 1px solid var(--awp-mp-border);
  }

  .awp-mobile-product-sheet__body .woocommerce-product-attributes th,
  .awp-mobile-product-sheet__body .shop_attributes th {
    width: 36%;
    padding: 9px;
    background: var(--awp-mp-soft);
    color: #424750;
    font-size: 10px;
    font-weight: 400;
    text-align: start;
    vertical-align: top;
  }

  .awp-mobile-product-sheet__body .woocommerce-product-attributes td,
  .awp-mobile-product-sheet__body .shop_attributes td {
    padding: 9px;
    background: var(--awp-mp-surface);
    color: #424750;
    font-size: 10px;
    text-align: start;
    vertical-align: top;
  }

  .awp-mobile-product-sheet__body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--awp-mp-control-radius);
  }

  /* The original gallery actions slot becomes empty after JS relocation. */
  body.asanwp-mobile-product-experience .awp-type3-actions-slot:empty {
    display: none !important;
  }
}

@media (max-width: 420px) {
  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image {
    flex-basis: 68vw !important;
    width: 68vw !important;
    min-width: 68vw !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .awp-mobile-product-sheet__dialog {
    animation: none;
    transform: none;
  }
}

@media (max-width: 767.98px) {

  body.asanwp-mobile-product-experience .product-detail-inner>.asanwp-product-features,
  body.asanwp-mobile-product-experience .product-detail-inner>.asanwp-features-more {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner {
    position: relative;
  }

  body.asanwp-mobile-product-experience .single-product-sticky form .product-low-stock {
    position: absolute;
    inset-inline: 0;
    bottom: calc(100% + 8px);
    z-index: 2;
    display: flex !important;
    align-items: center;
    min-height: 28px;
    margin: 0;
    padding: 5px 12px;
    border: 0;
    background: #fff2e6;
    color: #b14d00;
    font-size: 9px;
    line-height: 1.6;
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .single-product-sticky form .product-low-stock .icon,
  body.asanwp-mobile-product-experience .single-product-sticky form .product-low-stock .info>span {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .single-product-sticky form .product-low-stock .info,
  body.asanwp-mobile-product-experience .single-product-sticky form .product-low-stock p {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
  }
}

/* Mobile-only structural helpers rendered in PHP but hidden on desktop. */
.awp-mobile-product-seller-heading {
  display: none;
}

@media (max-width: 767.98px) {

  /* Attribute swatches match the compact mobile selector pattern. */
  body.asanwp-mobile-product-experience .awp-type3-variable-options .awp-terms {
    gap: 8px;
    padding: 3px;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-color .awp-term {
    width: 34px;
    height: 34px;
    border-width: 4px;
    box-shadow: 0 0 0 1px #d3d3d5;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-color .awp-term.awp-selected {
    box-shadow: 0 0 0 2px #0c0c0c;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-button .awp-term {
    min-height: 34px;
    padding: 4px 11px;
    border-color: #e0e0e2;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-surface);
    color: #424750;
    font-size: 10px;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-button .awp-term.awp-selected {
    border-color: #0c0c0c;
    background: var(--awp-mp-surface);
    color: #0c0c0c;
    box-shadow: inset 0 0 0 1px #0c0c0c;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options a.reset_variations {
    margin-top: 8px;
    color: #62666d;
    font-size: 9px;
  }

  /* Product/category return notice uses the existing configurable AsanWP module. */
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-product-return-notice--detail,
  body.asanwp-mobile-product-experience .product-detail-side .awp-product-return-notice--card,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-product-return-notice-column {
    display: none !important;
  }

  .awp-mobile-product-return-notice {
    margin: 0 -12px;
    border-top: 1px solid #f0f0f1;
  }

  .awp-mobile-product-return-notice .awp-product-return-notice {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 11px 12px;
    border: 0;
    border-radius: 0;
    background: var(--awp-mp-surface);
    box-shadow: none;
  }

  .awp-mobile-product-return-notice .awp-product-return-notice>i {
    flex-basis: 20px;
    width: 20px;
    color: var(--awp-mp-muted);
    font-size: 15px;
  }

  .awp-mobile-product-return-notice .awp-product-return-notice__title {
    margin-bottom: 2px;
    color: #424750;
    font-size: 10px;
  }

  .awp-mobile-product-return-notice .awp-product-return-notice__text {
    color: #62666d;
    font-size: 9px;
    line-height: 1.9;
  }

  /* Seller information becomes its own mobile section. */
  body.asanwp-mobile-product-experience .awp-mobile-product-seller-heading {
    display: block;
    margin: 0;
    padding: 14px 0 5px;
    border-top: 6px solid #f7f7f8;
    color: #0c0c0c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .product-detail-side {
    margin-top: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-primary-purchase-stack {
    padding-bottom: 4px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row>i {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #424750;
    font-size: 16px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row>div {
    min-width: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__label {
    display: block;
    margin-bottom: 1px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__value {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Service guarantees are a horizontally scrollable mobile rail. */
  body.asanwp-mobile-product-experience .awp-type3-service-strip {
    padding-inline: 12px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner {
    width: calc(100% + 12px);
    padding-inline-end: 12px;
    scroll-snap-type: x proximity;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item {
    scroll-snap-align: start;
  }

  /* Product banners use the same mobile section separation as the other blocks. */
  body.asanwp-mobile-product-experience .awp-type3-service-banner {
    padding: 12px 12px 0;
    border-top: 8px solid var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .awp-type3-service-banner__image {
    width: 100%;
    height: auto;
    border-radius: var(--theme-radius-base, 10px);
  }

  /* Related/up-sell/recent product sets use a horizontal marketplace rail on mobile. */
  body.asanwp-mobile-product-experience .product-content>.related,
  body.asanwp-mobile-product-experience .product-content>.up-sells,
  body.asanwp-mobile-product-experience .awp-type3-after-services-content>.related,
  body.asanwp-mobile-product-experience .awp-type3-after-services-content>.up-sells,
  body.asanwp-mobile-product-experience .awp-type3-after-services-content>.awp-type3-recently-viewed {
    margin-inline: -12px;
    padding: 16px 12px;
    border-top: 6px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .related>h2,
  body.asanwp-mobile-product-experience .up-sells>h2,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed>h2,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed .section-title {
    margin: 0 0 12px;
    color: #0c0c0c;
    font-size: 13px;
    font-weight: 700;
  }

  body.asanwp-mobile-product-experience .related ul.products,
  body.asanwp-mobile-product-experience .up-sells ul.products,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0;
    width: calc(100% + 12px);
    max-width: none;
    margin: 0;
    padding: 0 0 4px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.asanwp-mobile-product-experience .related ul.products::-webkit-scrollbar,
  body.asanwp-mobile-product-experience .up-sells ul.products::-webkit-scrollbar,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed ul.products::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .related ul.products>li.product,
  body.asanwp-mobile-product-experience .up-sells ul.products>li.product,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed ul.products>li.product {
    flex: 0 0 min(45vw, 190px) !important;
    width: min(45vw, 190px) !important;
    min-width: min(45vw, 190px) !important;
    margin: 0;
    scroll-snap-align: start;
  }

  /* Long information sections: flatter, denser and separated like the mobile reference. */
  body.asanwp-mobile-product-experience .awp-product-section__header {
    margin-bottom: 12px;
  }

  body.asanwp-mobile-product-experience .awp-product-section__title {
    padding-bottom: 0;
    font-size: 14px;
    font-weight: 700;
  }

  body.asanwp-mobile-product-experience .awp-product-section__title::after {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-product-section__more {
    gap: 5px;
    margin-top: 8px;
    color: #3f4064;
    font-size: 10px;
  }

  /* Review list uses full-width, border-separated cards on the product page. */
  body.asanwp-mobile-product-experience .woocommerce-Reviews .reviews-slot {
    display: block;
    margin-bottom: 14px;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews #comments {
    border: 0;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews #comments .commentlist li {
    margin: 0;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid #f0f0f1;
    border-radius: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews #comments .commentlist li:last-child {
    border-bottom: 0;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews #review_form_wrapper {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--awp-mp-border);
    border-radius: var(--theme-radius-base, 10px);
    background: var(--awp-mp-surface);
  }

  /* Questions are separated from review content without desktop card chrome. */
  body.asanwp-mobile-product-experience .awp-product-questions {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  /* Keep the sticky price/action above every product section and safe-area. */
  body.asanwp-mobile-product-experience .single-product-sticky.is-mobile-enabled.active,
  body.asanwp-mobile-product-experience .single-product-sticky.is-mobile-enabled {
    transform: none !important;
  }
}

@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .awp-product-identity-meta {
    display: grid;
    gap: 0;
    width: calc(100% + 24px);
    margin: 0 -12px 0;
    padding: 14px 12px 12px;
    border: 0;
    border-radius: 0;
    background: var(--awp-mp-surface);
    box-shadow: none;
    line-height: 1.7;
  }

  body.asanwp-mobile-product-experience .awp-product-identity-meta>* {
    display: flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
    margin: 0;
    padding: 4px 0;
    border: 0;
    color: var(--awp-mp-text);
    font-size: .8125em;
  }

  body.asanwp-mobile-product-experience .awp-product-identity-meta span {
    flex: 0 0 auto;
    color: var(--awp-mp-meta-label);
    opacity: 1;
  }

  body.asanwp-mobile-product-experience .awp-product-identity-meta a,
  body.asanwp-mobile-product-experience .awp-product-identity-meta .sku {
    color: var(--awp-mp-meta-value);
    font-weight: 600;
  }
}

.awp-mobile-product-discovery {
  display: none;
}

@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .awp-mobile-product-discovery {
    display: block;
    margin-inline: -12px;
    background: var(--awp-mp-surface);
  }

  .awp-mobile-product-videos,
  .awp-mobile-product-tags {
    padding: 16px 12px;
    border-top: 6px solid #f7f7f8;
  }

  .awp-mobile-product-videos h2,
  .awp-mobile-product-tags h2 {
    margin: 0 0 11px;
    color: #0c0c0c;
    font-size: 13px;
    font-weight: 700;
  }

  .awp-mobile-product-videos__rail,
  .awp-mobile-product-tags__rail {
    display: flex;
    gap: 8px;
    width: calc(100% + 12px);
    padding-inline-end: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .awp-mobile-product-videos__rail::-webkit-scrollbar,
  .awp-mobile-product-tags__rail::-webkit-scrollbar {
    display: none;
  }

  .awp-mobile-product-video {
    display: block;
    flex: 0 0 132px;
    width: 132px;
    color: #424750;
    text-decoration: none;
    scroll-snap-align: start;
  }

  .awp-mobile-product-video__media {
    position: relative;
    display: grid;
    width: 132px;
    height: 84px;
    place-items: center;
    overflow: hidden;
    border-radius: var(--awp-mp-control-radius);
    background: #f0f0f1 center/cover no-repeat;
  }

  .awp-mobile-product-video__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .28), rgba(0, 0, 0, .03));
    content: "";
  }

  .awp-mobile-product-video__media i {
    position: relative;
    z-index: 1;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    color: #7c6cff;
    font-size: 13px;
  }

  .awp-mobile-product-video strong {
    display: block;
    margin-top: 6px;
    overflow: hidden;
    font-size: 9px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .awp-mobile-product-tags__rail a {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid var(--awp-mp-border);
    border-radius: 999px;
    background: var(--awp-mp-surface);
    color: #424750;
    font-size: 9px;
    text-decoration: none;
    white-space: nowrap;
    scroll-snap-align: start;
  }
}

@media (max-width: 767.98px) {

  /* Mobile information flow is normalized even when desktop uses Woo tabs/accordion. */
  body.asanwp-mobile-product-experience .awp-mobile-product-sections-generated .woocommerce-Tabs-panel,
  body.asanwp-mobile-product-experience .awp-mobile-product-sections-generated .wc-tab {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-sections-generated .woocommerce-Tabs-panel>h2:first-child,
  body.asanwp-mobile-product-experience .awp-mobile-product-sections-generated .wc-tab>h2:first-child,
  body.asanwp-mobile-product-experience .awp-mobile-product-sheet__source>h2:first-child {
    display: none;
  }
}

/* 2026 mobile product reference alignment: keep the desktop Type 3 layout untouched. */
@media (max-width: 767.98px) {

  /* mobile storefront flow: breadcrumb -> amazing offer -> gallery -> product sheet. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-breadcrumb-slot {
    order: 1;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-offer-slot {
    order: 2;
    padding: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    order: 3;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-actions-slot {
    order: 4;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    order: 5;
  }

  /* Product amazing-offer strip: one compact marketplace row rather than a desktop card. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 .awp-type3-offer-slot .awp-type3-amazing-offer {
    display: flex;
    min-height: 46px;
    margin: 0;
    padding: 6px 12px;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 0;
    border-radius: 0;
    background: var(--color-red600);
    color: #fff;
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-offer__label {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-offer__label i {
    font-size: 18px;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-offer__timer {
    display: inline-flex;
    width: auto !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-offer__timer-label {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-countdown {
    gap: 2px;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-countdown .count-item {
    display: grid;
    min-width: 28px;
    height: 28px;
    padding: 0 4px;
    place-items: center;
    border-radius: 6px;
    background: var(--awp-mp-surface);
    color: #23254e;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-countdown .count {
    line-height: 1;
  }

  body.asanwp-mobile-product-experience .awp-type3-amazing-countdown [class^="sep-"] {
    color: #fff;
    font-size: 11px;
    font-weight: 800;
  }

  /* Gallery is a clean full-width rail. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage,
  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery,
  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport {
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    padding-top: 0;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport {
    padding: 8px 12px 17px;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image>a {
    padding: 6px;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
  }

  /* White product information sheet starts just over the media area. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    margin-top: -10px;
    border-radius: 14px 14px 0 0;
    box-shadow: 0 -1px 5px rgba(0, 0, 0, .025);
  }

  body.asanwp-mobile-product-experience .product-detail-inner {
    padding: 14px 12px 0;
  }

  /* Product actions sit on the physical left, like the mobile reference. */
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-type3-gallery-actions {
    justify-content: flex-end;
    margin: -2px 0 5px;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title {
    margin-bottom: 3px;
    font-size: var(--awp-mp-title-size);
    line-height: var(--awp-mp-title-line-height);
  }

  body.asanwp-mobile-product-experience .product-detail-inner .asanwp-product-english-title {
    margin-bottom: 7px;
    font-size: 9px;
  }

  /* Feedback summary is text-first, not a row of large pills. */
  .awp-mobile-product-stats {
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
  }

  .awp-mobile-product-stat {
    min-height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #19bfd3;
    font-size: 9px;
    font-weight: 500;
  }

  .awp-mobile-product-stat small {
    color: #19bfd3;
    font-size: 9px;
  }

  .awp-mobile-product-stat.is-rating {
    gap: 4px;
    padding: 0;
    color: #424750;
  }

  .awp-mobile-product-stat.is-rating strong {
    font-size: 10px;
    font-weight: 500;
  }

  .awp-mobile-product-stat.is-rating span {
    font-size: 12px;
  }

  /* Variations immediately follow product feedback. */
  body.asanwp-mobile-product-experience .awp-type3-variable-options,
  body.asanwp-mobile-product-experience .awp-type3-grouped-options {
    padding: 12px 0 13px;
    border-top: 1px solid #f0f0f1;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations .label {
    margin-bottom: 9px;
    font-size: 12px;
  }

  /* Delivery is a simple information row after variations, not a promotional card. */
  .awp-mobile-product-delivery-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    margin: 0 -12px;
    padding: 9px 12px;
    border-top: 1px solid #f0f0f1;
    color: #424750;
  }

  .awp-mobile-product-delivery-row__icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #19bfd3;
    font-size: 18px;
  }

  .awp-mobile-product-delivery-row__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
  }

  .awp-mobile-product-delivery-row__copy strong {
    color: #0c0c0c;
    font-size: 10px;
    font-weight: 700;
  }

  .awp-mobile-product-delivery-row__copy small {
    overflow: hidden;
    color: #62666d;
    font-size: 9px;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .awp-mobile-product-delivery-row__arrow {
    color: #a1a3a8;
    font-size: 9px;
  }

  /* Feature cards follow compact storefront soft gray horizontal chips. */
  .awp-mobile-product-features {
    margin: 0 -12px;
    padding: 13px 12px 12px;
    border-top: 1px solid #f0f0f1;
  }

  .awp-mobile-product-features__header {
    margin-bottom: 9px;
  }

  .awp-mobile-product-features__header h2 {
    font-size: 12px;
  }

  .awp-mobile-product-features__rail {
    gap: 6px;
  }

  .awp-mobile-product-feature {
    flex-basis: 102px;
    min-width: 102px;
    min-height: 62px;
    padding: 8px;
    border: 0;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-soft);
  }

  .awp-mobile-product-feature span {
    color: var(--awp-mp-muted);
    font-size: 8.5px;
  }

  .awp-mobile-product-feature strong {
    color: #424750;
    font-size: 9.5px;
  }

  .awp-mobile-product-features__all {
    width: 100%;
    min-height: 38px;
    margin-top: 5px;
    justify-content: flex-start;
    color: #3f4064;
    font-size: 9.5px;
  }

  /* Return policy is a flat explanatory row. */
  .awp-mobile-product-return-notice {
    border-top: 1px solid #f0f0f1;
  }

  .awp-mobile-product-return-notice .awp-product-return-notice {
    padding-block: 12px;
  }

  /* Seller area is separated from the product summary with a marketplace section divider. */
  body.asanwp-mobile-product-experience .product-detail-side {
    margin: 0;
    padding: 0 12px;
    border-top: 8px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-seller-heading {
    padding: 13px 0 7px;
    border-top: 0;
    font-size: 13px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card {
    padding: 0 0 5px;
    border-top: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row {
    min-height: 42px;
    padding: 7px 0;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__seller {
    min-height: 48px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__seller .awp-type3-purchase-card__label {
    display: none;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__seller .awp-type3-purchase-card__value {
    color: #0c0c0c;
    font-size: 11px;
    font-weight: 700;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__stock .awp-type3-purchase-card__label,
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__shipping .awp-type3-purchase-card__label {
    display: none;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__stock .awp-type3-purchase-card__value,
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__shipping .awp-type3-purchase-card__value {
    color: #424750;
    font-size: 9.5px;
    font-weight: 500;
  }

  /* Store guarantees: icons and labels, not boxed cards. */
  body.asanwp-mobile-product-experience .awp-type3-service-strip {
    margin-top: 0;
    padding: 13px 12px 15px;
    border-top: 8px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner {
    gap: 0;
    justify-content: flex-start;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item {
    display: flex;
    flex: 0 0 92px;
    min-width: 92px;
    min-height: 70px;
    padding: 4px 5px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item>i {
    min-height: 30px;
    color: #a1a3a8;
    font-size: 28px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 1px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy strong {
    color: #62666d;
    font-size: 8px;
    font-weight: 500;
    line-height: 1.6;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy small {
    display: none;
  }

  /* Long product information is flatter and uses stronger section separators. */
  body.asanwp-mobile-product-experience .product-content {
    border-top: 8px solid #f7f7f8;
  }

  body.asanwp-mobile-product-experience .awp-product-section {
    padding: 18px 0;
  }

  body.asanwp-mobile-product-experience .awp-product-section__content {
    font-size: 10.5px;
    line-height: 2;
  }

  /* Make the sticky purchase bar visually dominant and leave price on the physical left. */
  body.asanwp-mobile-product-experience .single-product-sticky.is-mobile-enabled {
    min-height: 68px;
    padding-top: 7px;
    padding-bottom: max(7px, env(safe-area-inset-bottom));
    box-shadow: 0 -3px 12px rgba(0, 0, 0, .06);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner {
    grid-template-columns: minmax(120px, .95fr) minmax(160px, 1.25fr);
    gap: 9px;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price .price {
    font-size: var(--awp-mp-price-size);
    line-height: 1.65;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner .single_add_to_cart_button,
  body.asanwp-mobile-product-experience .single-product-sticky .sticky_add_to_cart {
    min-height: 46px;
    border-radius: var(--awp-mp-control-radius);
  }
}

@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .awp-type3-offer-slot:empty {
    display: none !important;
  }
}

/* ========================================================================
 * Mobile product reference pass — matched to the supplied mobile recording.
 * This final layer intentionally overrides the earlier experimental mobile
 * card treatment. Desktop remains untouched.
 * ====================================================================== */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience {
    --awp-mp-reference-separator: #f0f0f1;
    --awp-mp-reference-soft: #f7f7f8;
    --awp-mp-reference-purple: #f2f1ff;
    --awp-mp-reference-purple-strong: #6f62ff;
    padding-bottom: 72px;
  }

  /* The recording uses a flat document flow, not a floating white card. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    margin-top: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .product-detail-inner {
    padding: 10px 16px 0;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-type3-gallery-actions {
    min-height: 30px;
    margin: 0 0 4px;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title {
    margin: 3px 0 3px;
    font-size: var(--awp-mp-title-size);
    font-weight: 700;
    line-height: var(--awp-mp-title-line-height);
  }

  body.asanwp-mobile-product-experience .product-detail-inner .asanwp-product-english-title {
    margin: 0 0 7px;
    color: var(--awp-mp-muted);
    font-size: 8.5px;
    line-height: 1.8;
  }

  .awp-mobile-product-stats {
    gap: 9px;
    margin: 0 0 9px;
    padding: 0;
  }

  /* Lavender review shortcut in the supplied reference. */
  .awp-mobile-product-review-shortcut {
    margin: 0 0 7px;
  }

  .awp-mobile-product-review-shortcut>a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 8px;
    min-height: 52px;
    padding: 7px 9px;
    border: 1px solid #e2dfff;
    border-inline-start: 3px solid var(--awp-mp-reference-purple-strong);
    border-radius: 50px;
    background: var(--awp-mp-reference-purple);
    color: #29294a;
    text-decoration: none;
  }

  .awp-mobile-product-review-shortcut__play,
  .awp-mobile-product-review-shortcut__mark {
    display: grid;
    place-items: center;
    color: var(--awp-mp-reference-purple-strong);
  }

  .awp-mobile-product-review-shortcut__play {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: var(--awp-mp-surface);
    font-size: 11px;
  }

  .awp-mobile-product-review-shortcut__mark {
    font-size: 18px;
  }

  .awp-mobile-product-review-shortcut__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
  }

  .awp-mobile-product-review-shortcut__copy strong {
    overflow: hidden;
    color: #29294a;
    font-size: 10px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .awp-mobile-product-review-shortcut__copy small {
    color: #62666d;
    font-size: 8px;
  }

  /* Delivery is the second compact lavender information row in the video. */
  .awp-mobile-product-delivery-row {
    grid-template-columns: 26px minmax(0, 1fr) 14px;
    min-height: 46px;
    margin: 0 0 8px;
    padding: 7px 9px;
    border: 1px solid #e2dfff;
    border-inline-start: 3px solid #315bff;
    border-radius: var(--awp-mp-control-radius);
    background: #f0f2ff;
  }

  .awp-mobile-product-delivery-row__icon {
    width: 26px;
    height: 26px;
    color: #315bff;
    font-size: 16px;
  }

  .awp-mobile-product-delivery-row__copy strong {
    font-size: 9.5px;
  }

  .awp-mobile-product-delivery-row__copy small {
    font-size: 8px;
  }

  /* Variations come after the two information rows, with no card around them. */
  body.asanwp-mobile-product-experience .awp-type3-variable-options,
  body.asanwp-mobile-product-experience .awp-type3-grouped-options {
    margin: 0 -16px;
    padding: 12px 16px;
    border-top: 1px solid var(--awp-mp-reference-separator);
    border-bottom: 0;
    background: var(--awp-mp-surface);
  }

  /* Compact specification rail. */
  .awp-mobile-product-features {
    margin: 0 -16px;
    padding: 12px 16px 8px;
    border-top: 1px solid var(--awp-mp-reference-separator);
  }

  .awp-mobile-product-features__header {
    margin-bottom: 8px;
  }

  .awp-mobile-product-features__header h2 {
    font-size: 11.5px;
  }

  .awp-mobile-product-features__rail {
    width: calc(100% + 16px);
    gap: 6px;
    padding-inline-end: 16px;
  }

  .awp-mobile-product-feature {
    flex: 0 0 108px;
    min-width: 108px;
    min-height: 58px;
    padding: 7px 8px;
    border: 0;
    border-radius: 7px;
    background: var(--awp-mp-soft);
  }

  .awp-mobile-product-feature span {
    font-size: 8px;
  }

  .awp-mobile-product-feature strong {
    font-size: 9px;
  }

  .awp-mobile-product-features__all {
    min-height: 34px;
    margin: 4px 0 0;
    justify-content: flex-end;
    font-size: 9px;
  }

  /* Return policy and seller are separated sections, like the recording. */
  .awp-mobile-product-return-notice {
    margin: 0 -16px;
    padding: 0 16px;
    border-top: 1px solid var(--awp-mp-reference-separator);
  }

  body.asanwp-mobile-product-experience .product-detail-side {
    margin: 0;
    padding: 0 16px;
    border-top: 8px solid var(--awp-mp-reference-soft);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-seller-heading {
    margin: 0;
    padding: 13px 0 8px;
    font-size: 12px;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row {
    min-height: 43px !important;
    padding: 8px 0;
    border-bottom: 1px solid #f5f5f6;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card__row>i {
    width: 24px !important;
    color: var(--awp-mp-muted);
    font-size: 16px;
  }

  /* Store service benefits are a single horizontal strip, not cards. */
  body.asanwp-mobile-product-experience .awp-type3-service-strip {
    margin: 0;
    padding: 12px 16px 13px;
    border-top: 8px solid var(--awp-mp-reference-soft);
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner {
    gap: 0;
    justify-content: space-between;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item {
    flex: 0 0 20% !important;
    min-width: 72px !important;
    min-height: 60px !important;
    padding: 3px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item>i {
    min-height: 25px !important;
    font-size: 23px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy strong {
    font-size: 7.5px;
    line-height: 1.55;
  }

  /* Fixed reference navigation shown after the media area. */
  .awp-mobile-reference-nav {
    position: fixed;
    top: var(--awp-sticky-header-height, 52px);
    inset-inline: 0;
    z-index: 9990;
    display: block;
    width: 100%;
    height: 40px;
    border-bottom: 1px solid var(--awp-mp-border);
    background: rgba(255, 255, 255, .98);
    opacity: 0;
    transform: translateY(-105%);
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
    backdrop-filter: blur(8px);
  }

  .awp-mobile-reference-nav.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .awp-mobile-reference-nav__inner {
    display: flex;
    align-items: stretch;
    gap: 20px;
    width: 100%;
    height: 40px;
    padding: 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .awp-mobile-reference-nav__inner::-webkit-scrollbar {
    display: none;
  }

  .awp-mobile-reference-nav__item {
    position: relative;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #62666d;
    font: inherit;
    font-size: 9.5px;
    font-weight: 500;
    white-space: nowrap;
  }

  .awp-mobile-reference-nav__item.is-active {
    color: #0c0c0c;
    font-weight: 700;
  }

  .awp-mobile-reference-nav__item.is-active::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: #0c0c0c;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__nav.is-awp-mobile-original-nav {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-product-section,
  body.asanwp-mobile-product-experience .related.products,
  body.asanwp-mobile-product-experience .up-sells.products,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed {
    scroll-margin-top: calc(var(--awp-sticky-header-height, 52px) + 46px);
  }

  /* Product content: broad white sections separated by gray gutters. */
  body.asanwp-mobile-product-experience .product-content {
    margin: 0;
    padding: 0;
    border-top: 8px solid var(--awp-mp-reference-soft);
  }

  body.asanwp-mobile-product-experience .awp-product-sections,
  body.asanwp-mobile-product-experience .awp-mobile-product-sections-generated {
    margin: 0;
    border: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-product-sections__body {
    padding: 0;
  }

  body.asanwp-mobile-product-experience .awp-product-section {
    margin: 0;
    padding: 16px;
    border: 0;
    border-bottom: 8px solid var(--awp-mp-reference-soft);
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-product-section__header {
    margin: 0 0 11px;
  }

  body.asanwp-mobile-product-experience .awp-product-section__title {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .awp-product-section__content {
    color: #424750;
    font-size: 10px;
    line-height: 2;
  }

  /* Specification table mirrors the flat two-column table in the recording. */
  body.asanwp-mobile-product-experience .awp-product-section .woocommerce-product-attributes,
  body.asanwp-mobile-product-experience .awp-product-section .shop_attributes,
  .awp-mobile-product-sheet__body .woocommerce-product-attributes,
  .awp-mobile-product-sheet__body .shop_attributes {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
  }

  body.asanwp-mobile-product-experience .awp-product-section .woocommerce-product-attributes tr,
  body.asanwp-mobile-product-experience .awp-product-section .shop_attributes tr,
  .awp-mobile-product-sheet__body .woocommerce-product-attributes tr,
  .awp-mobile-product-sheet__body .shop_attributes tr {
    border-bottom: 1px solid #e5e5e7;
  }

  body.asanwp-mobile-product-experience .awp-product-section .woocommerce-product-attributes th,
  body.asanwp-mobile-product-experience .awp-product-section .shop_attributes th,
  .awp-mobile-product-sheet__body .woocommerce-product-attributes th,
  .awp-mobile-product-sheet__body .shop_attributes th {
    width: 36%;
    padding: 8px 7px;
    background: var(--awp-mp-soft);
    color: #424750;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .awp-product-section .woocommerce-product-attributes td,
  body.asanwp-mobile-product-experience .awp-product-section .shop_attributes td,
  .awp-mobile-product-sheet__body .woocommerce-product-attributes td,
  .awp-mobile-product-sheet__body .shop_attributes td {
    padding: 8px 7px;
    background: var(--awp-mp-surface);
    color: #424750;
    font-size: 12px;
    line-height: 1.8;
  }

  /* Bottom sheet follows the video: tall sheet, restrained radius, sticky chrome. */
  .awp-mobile-product-sheet__dialog {
    max-height: 84vh;
    border-radius: 13px 13px 0 0;
  }

  .awp-mobile-product-sheet__header {
    min-height: 48px;
    padding: 5px 16px;
  }

  .awp-mobile-product-sheet__tabs {
    min-height: 42px;
    gap: 22px;
    padding: 0 16px;
  }

  .awp-mobile-product-sheet__body {
    padding: 14px 16px 28px;
  }

  /* Reviews keep WooCommerce's normal vertical list by default. The horizontal
   * preview rail belongs exclusively to Advanced Reviews when its mobile-rail
   * option is enabled. */
  body.asanwp-mobile-product-experience .woocommerce-Reviews,
  body.asanwp-mobile-product-experience .woocommerce-Reviews .reviews-slot,
  body.asanwp-mobile-product-experience .woocommerce-Reviews .commentlist {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews.awp-advanced-reviews.awp-mobile-review-rail-enabled .commentlist.awp-review-mobile-rail {
    display: flex !important;
    gap: 8px;
    margin: 0;
    padding: 0 0 5px;
    overflow-x: auto !important;
    overflow-y: visible;
    list-style: none;
    scrollbar-width: none;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews.awp-advanced-reviews.awp-mobile-review-rail-enabled .commentlist.awp-review-mobile-rail::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews.awp-advanced-reviews.awp-mobile-review-rail-enabled:not(.awp-review-mobile-all) .commentlist.awp-review-mobile-rail>li.awp-product-review-item {
    flex: 0 0 82% !important;
    min-width: 82% !important;
    margin: 0;
    padding: 11px;
    border: 1px solid var(--awp-mp-border);
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-surface);
  }

  /* Explicit reset for WooCommerce's default review mode. This prevents old
   * cached/mobile rail rules from turning the standard comment list into a
   * horizontal slider when Advanced Reviews is disabled. */
  body.asanwp-mobile-product-experience .woocommerce-Reviews:not(.awp-advanced-reviews) .commentlist {
    display: block !important;
    overflow: visible !important;
    padding: 0;
  }

  body.asanwp-mobile-product-experience .woocommerce-Reviews:not(.awp-advanced-reviews) .commentlist>li {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
  }

  /* Related/recent products at the end match the compact mobile shelves. */
  body.asanwp-mobile-product-experience .awp-type3-after-services-content,
  body.asanwp-mobile-product-experience .product-content>.related,
  body.asanwp-mobile-product-experience .product-content>.up-sells {
    padding-inline: 0;
  }

  body.asanwp-mobile-product-experience .related.products,
  body.asanwp-mobile-product-experience .up-sells.products,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed {
    margin: 0;
    padding: 15px 16px 16px;
    border-top: 8px solid var(--awp-mp-reference-soft);
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .related.products>h2,
  body.asanwp-mobile-product-experience .up-sells.products>h2,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed>h2,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed .section-title {
    margin: 0 0 10px;
    font-size: 12px;
  }

  /* Sticky purchase bar: clean white footer, red button and price at physical left. */
  body.asanwp-mobile-product-experience .single-product-sticky.is-mobile-enabled {
    min-height: 66px !important;
    padding: 7px 12px max(7px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--awp-mp-border);
    background: var(--awp-mp-surface);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, .045);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(145px, 1.25fr) !important;
    direction: ltr;
    align-items: center;
    gap: 9px;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price,
  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-purchase-actions {
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price {
    justify-self: start;
    text-align: left;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price .price {
    font-size: var(--awp-mp-price-size);
    font-weight: 800;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-inner .single_add_to_cart_button,
  body.asanwp-mobile-product-experience .single-product-sticky .sticky_add_to_cart {
    min-height: 44px !important;
    border-radius: var(--awp-mp-control-radius);
    font-size: 10.5px;
  }
}

/* Amazing Offers element — mobile storefront treatment matching the same visual language. */
@media (max-width: 767.98px) {
  .awp-builder-amazing {
    margin-inline: calc(0px - var(--awp-builder-gutter, 15px));
    padding: 0 0 10px;
    border-radius: 0;
    background: var(--awp-amazing-bg, #ef4056);
  }

  .awp-builder-amazing__sidebar {
    min-height: 50px !important;
    padding: 7px 12px 5px;
  }

  .awp-builder-amazing__sidebar h2 {
    max-width: 150px !important;
    font-size: 12px;
  }

  .awp-builder-amazing__spark {
    width: 27px !important;
    height: 27px !important;
    border-width: 1.5px;
    font-size: 14px;
  }

  .awp-builder-amazing .awp-builder-product-viewport {
    padding-inline: 8px 0;
  }

  .awp-builder-amazing .awp-builder-product-row {
    gap: 2px;
    padding: 0 8px 0 0;
  }

  .awp-builder-amazing .awp-builder-product-row>.awp-builder-product-card {
    width: min(var(--awp-amazing-mobile-card, 142px), 38vw) !important;
    min-width: min(var(--awp-amazing-mobile-card, 142px), 38vw) !important;
    max-width: min(var(--awp-amazing-mobile-card, 142px), 38vw) !important;
    padding: 8px 7px 10px;
    border-radius: 0;
  }

  .awp-builder-amazing .awp-builder-product-card:first-child {
    border-start-start-radius: 7px;
    border-end-start-radius: 7px;
  }

  .awp-builder-amazing .awp-builder-product-card:last-child {
    border-start-end-radius: 7px;
    border-end-end-radius: 7px;
  }

  .awp-builder-amazing .awp-builder-products-nav {
    display: none !important;
  }
}


/* Mobile product gallery: alternating large tile + two stacked compact tiles.
 * Sequence: 1 large, 2/3 stacked, 4 large, 5/6 stacked, and so on. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport {
    --awp-mobile-gallery-large: min(72vw, 302px);
    --awp-mobile-gallery-small: min(27vw, 116px);
    --awp-mobile-gallery-gap: 8px;
    padding-inline: 12px;
    padding-bottom: 17px;
    scroll-padding-inline: 12px;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__wrapper {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    grid-template-rows: repeat(2, calc((var(--awp-mobile-gallery-large) - var(--awp-mobile-gallery-gap)) / 2));
    gap: var(--awp-mobile-gallery-gap);
    width: max-content !important;
    height: var(--awp-mobile-gallery-large);
    align-items: stretch;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-item {
    width: var(--awp-mobile-gallery-small);
    min-width: var(--awp-mobile-gallery-small);
    height: calc((var(--awp-mobile-gallery-large) - var(--awp-mobile-gallery-gap)) / 2);
    margin: 0;
    overflow: hidden;
    scroll-snap-align: none;
  }

  /* FlexSlider writes image dimensions inline; only image slides need the
   * stronger reset. Video tiles are native mobile-gallery elements. */
  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image.awp-mobile-gallery-item {
    float: none !important;
    width: var(--awp-mobile-gallery-small) !important;
    min-width: var(--awp-mobile-gallery-small) !important;
    height: calc((var(--awp-mobile-gallery-large) - var(--awp-mobile-gallery-gap)) / 2) !important;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-item:nth-child(3n + 1) {
    grid-row: 1 / span 2;
    width: var(--awp-mobile-gallery-large);
    min-width: var(--awp-mobile-gallery-large);
    height: var(--awp-mobile-gallery-large);
    scroll-snap-align: start;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image.awp-mobile-gallery-item:nth-child(3n + 1) {
    width: var(--awp-mobile-gallery-large) !important;
    min-width: var(--awp-mobile-gallery-large) !important;
    height: var(--awp-mobile-gallery-large) !important;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-item:nth-child(3n + 2) {
    grid-row: 1;
    scroll-snap-align: start;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-item:nth-child(3n + 3) {
    grid-row: 2;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image>a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    padding: 6px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto;
    object-fit: contain !important;
    border-radius: 6px;
  }


  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video {
    position: relative;
    display: block;
    padding: 0;
    border: 0;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
    color: inherit;
    font: inherit;
    cursor: pointer;
    appearance: none;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video__visual {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    padding: 6px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: inherit;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video__visual>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video__play {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--theme-primary-color);
    color: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .16);
    transform: translate(-50%, -50%);
    pointer-events: none;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video__play svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-item:not(:nth-child(3n + 1)) .awp-mobile-gallery-video__play {
    width: 32px;
    height: 32px;
  }

  body.asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-item:not(:nth-child(3n + 1)) .awp-mobile-gallery-video__play svg {
    width: 18px;
    height: 18px;
  }
}

/* Mobile product intro panel: gallery-to-content transition and compact top details. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-breadcrumb-slot {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    order: 1 !important;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-offer-slot,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-actions-slot {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    order: 2 !important;
    position: relative;
    z-index: 8;
    width: 100%;
    margin-top: -24px;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: var(--awp-mp-surface);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, .035);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge {
    order: 0;
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge:not(.has-active-offer) {
    display: block;
    min-height: 14px;
    border-radius: 18px 18px 0 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge.has-active-offer {
    display: block;
    min-height: 50px;
    border-radius: 18px 18px 0 0;
    background: #fce7ec;
    overflow: hidden;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge>.awp-mobile-product-sheet__handle {
    display: block;
    position: relative;
    z-index: 2;
    margin-block: 6px 2px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer[hidden] {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge.has-active-offer .awp-type3-amazing-offer {
    display: flex;
    min-height: 42px;
    margin: 0;
    padding: 7px 14px;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 0;
    border-top: 0;
    border-radius: 18px 18px 0 0;
    background: #fce7ec;
    color: var(--awp-mp-accent);
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__sales-progress {
    position: absolute;
    z-index: 3;
    inset: 0 0 auto;
    display: block;
    width: 100%;
    height: 18px;
    overflow: hidden;
    background: transparent;
    border-radius: 18px 18px 0 0;
    pointer-events: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__sales-progress::before {
    content: "";
    position: absolute;
    inset: 0;
    border-top: 3px solid rgba(239, 64, 86, .22);
    border-radius: 18px 18px 0 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__sales-progress[hidden] {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__sales-progress > span {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 18px;
    border-top: 3px solid var(--awp-mp-accent);
    border-radius: 18px 18px 0 0;
    background: transparent;
    clip-path: inset(0 0 0 calc(100% - var(--awp-offer-sales-progress, 0%)));
    transition: clip-path .28s ease;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__label,
  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__timer {
    color: var(--awp-mp-accent);
  }
  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__sales-percent {
    display: inline-flex;
    align-items: center;
    margin-inline-start: 2px;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__sales-percent[hidden] {
    display: none !important;
  }


  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__label {
    gap: 5px;
    font-size: 10px;
    font-weight: 800;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__label i {
    font-size: 14px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer__timer-label {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-countdown {
    gap: 2px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-countdown .count-item {
    display: grid;
    min-width: 25px;
    height: 25px;
    padding: 0 4px;
    place-items: center;
    border: 0;
    border-radius: 6px;
    background: var(--awp-mp-surface);
    color: #3f4064;
    font-size: 9px;
    font-weight: 800;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-countdown [class^="sep-"] {
    color: var(--awp-mp-accent);
    font-size: 9px;
  }

  body.asanwp-mobile-product-experience .product-detail.with-side {
    display: flex !important;
    flex-direction: column !important;
  }

  body.asanwp-mobile-product-experience .product-detail-inner {
    display: flex !important;
    order: 1 !important;
    width: 100%;
    padding: 14px 12px 0;
    flex-direction: column;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .product-detail-inner>* {
    order: 100;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-topline {
    order: 10;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title {
    order: 20;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-title-toggle {
    order: 21;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.asanwp-product-english-title {
    order: 30;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product-meta.top {
    order: 35;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-stats {
    order: 40;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-type3-variable-options,
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-type3-grouped-options {
    order: 50;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-features {
    order: 60;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-review-shortcut {
    order: 70;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-delivery-row {
    order: 80;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-return-notice {
    order: 90;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline {
    display: flex;
    width: 100%;
    min-height: 34px;
    margin: 0 0 8px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-mobile-product-brandline {
    min-width: 0;
    max-width: calc(100% - 84px);
    margin: 0;
    flex: 1 1 auto;
    gap: 7px;
    color: #62666d;
    font-size: 10px;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-type3-gallery-actions {
    display: flex;
    width: auto;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 1px;
    border: 0;
    background: transparent;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-type3-gallery-action {
    min-width: 32px;
    min-height: 32px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-type3-gallery-actions a,
  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-type3-gallery-actions button {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    color: var(--theme-heading-color, var(--color-text));
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title {
    width: 100%;
    margin: 0;
    color: var(--awp-mp-title-color);
    font-size: var(--awp-mp-title-size);
    font-weight: 800;
    line-height: var(--awp-mp-title-line-height);
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title.is-collapsible:not(.is-expanded) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-title-toggle {
    display: grid;
    width: 28px;
    height: 24px;
    margin: 0;
    padding: 0;
    align-self: flex-end;
    place-items: center;
    border: 0;
    background: transparent;
    color: #23254e;
    cursor: pointer;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-title-toggle[hidden] {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-title-toggle i {
    font-size: 9px;
    transition: transform .18s ease;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-title-toggle.is-expanded i {
    transform: rotate(180deg);
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.asanwp-product-english-title {
    width: 100%;
    margin: 0 0 9px;
    overflow: hidden;
    color: #a1a3a8;
    font-size: 9.5px;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-product-stats {
    margin: 0 0 11px;
    gap: 5px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-stat {
    min-height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--awp-mp-soft);
    color: #424750;
    font-size: 9.5px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-stat.is-rating {
    padding-inline-start: 0;
    background: transparent;
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options,
  body.asanwp-mobile-product-experience .awp-type3-grouped-options {
    margin: 0 -12px;
    padding: 14px 12px;
    border-top: 1px solid #f0f0f1;
    border-bottom: 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-type3-variable-options .variations .label {
    margin-bottom: 9px;
    color: #23254e;
    font-size: 12px;
    font-weight: 800;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features {
    margin: 0 -12px;
    padding: 13px 12px 16px;
    border-top: 1px solid #f0f0f1;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__header {
    display: flex;
    min-height: 28px;
    margin: 0 0 10px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__header h2 {
    margin: 0;
    color: #23254e;
    font-size: 13px;
    font-weight: 800;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__all {
    display: inline-flex;
    margin: 0;
    padding: 0;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
    color: #23254e;
    font-size: 9.5px;
    font-weight: 700;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__rail {
    gap: 7px;
    width: calc(100% + 12px);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-feature {
    flex: 0 0 104px;
    min-width: 104px;
    min-height: 58px;
    padding: 7px 8px;
    border: 0;
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-feature span {
    color: var(--awp-mp-muted);
    font-size: 9px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-feature strong {
    color: #23254e;
    font-size: 10px;
    font-weight: 700;
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__dialog::before,
  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-modal__dialog::before {
    content: none !important;
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-review-modal__dialog>.awp-mobile-product-sheet__handle,
  body.asanwp-mobile-product-experience .awp-question-modal__dialog>.awp-mobile-product-sheet__handle,
  body.asanwp-mobile-product-experience .awp-product-share-modal__dialog>.awp-mobile-product-sheet__handle {
    display: block;
    max-width: 100%;
  }
}

/* Mobile product gallery/panel layering: keep the media stage underneath while
 * the product panel scrolls over it. This block only adjusts the transition
 * between the gallery and the intro panel. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    position: sticky !important;
    top: var(--awp-sticky-header-height, 52px);
    z-index: 1;
    align-self: flex-start;
    width: 100%;
    margin-bottom: 12px;
    box-shadow: 0 12px 0 #f0f0f1;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    position: relative !important;
    z-index: 8;
    margin-top: 0;
    isolation: isolate;
  }
}

/* Mobile product specifications header + cards: single-line compact layout. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .awp-mobile-product-features__header {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__header h2 {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__all {
    margin-inline-start: auto;
    white-space: nowrap;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-feature span,
  body.asanwp-mobile-product-experience .awp-mobile-product-feature strong {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
  }
}

/* Mobile seller + terms groups. Hidden by default so desktop layout remains unchanged. */
.awp-mobile-commerce-groups {
  display: none;
}

@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-commerce-groups {
    order: 100;
    display: block;
    width: auto;
    margin: 0 -12px;
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group {
    margin: 0;
    padding: 16px 12px 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group+.awp-mobile-commerce-group {
    margin-top: 8px;
    padding-top: 16px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group__title {
    margin: 0;
    padding: 0 0 10px;
    color: #23254e;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group__rows {
    border-top: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row {
    display: flex;
    width: 100%;
    min-height: 58px;
    padding: 10px 0;
    align-items: flex-start;
    gap: 10px;
    border: 0;
    border-bottom: 1px solid #f0f0f1;
    background: transparent;
    color: #23254e;
    text-decoration: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row:last-child {
    border-bottom: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row__icon {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-top: 1px;
    place-items: center;
    border-radius: 50%;
    background: var(--awp-mp-soft);
    color: #62666d;
    font-size: 17px;
    line-height: 1;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row__copy {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding-top: 2px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row__copy strong {
    margin: 0;
    color: #424750;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row__copy small {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--awp-mp-muted);
    font-size: 9.5px;
    font-weight: 400;
    line-height: 1.9;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row__arrow {
    flex: 0 0 auto;
    align-self: center;
    margin-inline-start: auto;
    color: #62666d;
    font-size: 10px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row--return {
    min-height: 74px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--rules {
    padding-bottom: 8px;
    box-shadow: 0 -8px 0 var(--awp-mp-softest);
  }

  /* The legacy mobile seller card stays in the DOM for its dialog/state hooks,
     but its visible seller/price-action rows are replaced by the groups above. */
  body.asanwp-mobile-product-experience .product-detail-side {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-mobile-product-seller-heading,
  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-purchase-card {
    display: none;
  }

  /* The desktop pricing links are duplicated by the dedicated mobile rules group.
     Hide their visual wrapper everywhere on the mobile product page. The report
     dialog is moved to <body> by product-price-actions.js and remains functional. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 .awp-type3-primary-purchase-stack>.awp-product-price-actions {
    display: none;
  }

  body.asanwp-mobile-product-experience .product-detail-side .awp-type3-primary-purchase-stack {
    margin: 0;
    padding: 0;
    border: 0;
    min-height: 0 !important;
    background: transparent;
  }

  /* The old standalone return row is no longer used; return conditions live in
     the terms group so the surrounding sections do not move. */
  body.asanwp-mobile-product-experience .awp-mobile-product-return-notice {
    display: none;
  }
}

/* Mobile-only placement fixes. Keep these rules isolated from desktop. */
@media (max-width: 767.98px) {

  /* Shipping uses the configured shipping-class icon and accent color in the
     existing mobile summary position; no DOM node is moved at runtime. */
  body.asanwp-mobile-product-experience .awp-mobile-product-delivery-row {
    border-color: color-mix(in srgb, var(--awp-mobile-shipping-color, #315bff) 22%, #e0e0e2);
    border-inline-start-color: var(--awp-mobile-shipping-color, #315bff);
    background: color-mix(in srgb, var(--awp-mobile-shipping-color, #315bff) 8%, #fff);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-delivery-row__icon {
    border-radius: 7px;
    background: color-mix(in srgb, var(--awp-mobile-shipping-color, #315bff) 10%, transparent);
    color: var(--awp-mobile-shipping-color, #315bff);
  }

  /* The original desktop stock-progress node remains untouched and hidden on
     mobile; the dedicated mobile purchase/status section owns its visible copy. */
  body.asanwp-mobile-product-experience .product-detail-inner>.product-progress-wrapper[data-asanwp-stock-progress] {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--seller {
    padding-bottom: 8px;
  }
}

/* The mobile product module must never alter the visible desktop product page. */


/* Mobile product: use the native shipping-class card in the summary position. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-primary-shipping {
    order: 80;
    display: flex;
    width: 100%;
    margin: 8px 0 10px;
    border-right: 3px solid var(--awp-shipping-class-color, var(--color-blue600));
  }

  /* Keep the original lower shipping-class output only as a data/update source;
     the visible mobile card is rendered once in the summary position above. */
  body.asanwp-mobile-product-experience .product-detail-inner>.single-shipping-message:not(.awp-mobile-primary-shipping),
  body.asanwp-mobile-product-experience .product-detail-side .single-shipping-message:not(.awp-mobile-primary-shipping) {
    display: none;
  }
}


@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper .single-shipping-message:not(.awp-mobile-primary-shipping) {
    display: none;
  }
}

@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-sticky .product-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    min-height: 22px;
    direction: rtl;
    overflow: hidden;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator[hidden] {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item {
    display: none;
    align-items: center;
    gap: 4px;
    width: max-content;
    max-width: 100%;
    min-height: 21px;
    padding: 2px 5px 2px 7px;
    border-radius: 999px;
    background: #62666d;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.55;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item.is-active {
    display: inline-flex;
    animation: awpStickyMobileCueIn .28s ease both;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item>i {
    display: inline-flex;
    flex: 0 0 16px;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--awp-mp-surface);
    color: #f9bc00;
    font-size: 9px;
    line-height: 1;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item.is-viewing>i {
    color: #19bfd3;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item.is-sales>i {
    color: #00a049;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item>span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  @keyframes awpStickyMobileCueIn {
    from {
      opacity: 0;
      transform: translateY(4px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* Mobile purchase footer: keep the normal sticky purchase row visible from the
 * start. The rotating status cue is part of the purchase-action column and only
 * appears after the customer has scrolled down the product page. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-sticky .product-inner {
    position: relative;
    padding-top: 0;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .product-price {
    align-items: flex-start;
    align-self: end;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-transaction {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator {
    position: static;
    display: none;
    align-self: flex-start;
    justify-content: flex-start;
    width: max-content;
    max-width: min(100%, 230px);
    min-height: 22px;
    margin: 0;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .single-product-sticky.show-mobile-rotator .awp-sticky-mobile-rotator:not([hidden]) {
    display: flex;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item {
    max-width: 100%;
  }

  /* Keep the original social-proof/price-history sources hidden in their old
     locations. When the sticky purchase bar is disabled, JS moves these exact
     nodes into the dedicated inline purchase section, where they become visible. */
  body.asanwp-mobile-product-experience .product-detail-inner>.asanwp-social-proof,
  body.asanwp-mobile-product-experience .product-detail-side .awp-lowest-price-30 {
    display: none !important;
  }
}

/* Mobile seller stock, return-policy sheet, and safe gallery layering. */
@media (max-width: 767.98px) {

  /* The gallery may remain sticky underneath the intro panel, but every section
     that follows the intro must paint above it so media can never cover later content. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 {
    isolation: isolate;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    z-index: 0 !important;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-strip,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-banner,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-after-services-content,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-content {
    position: relative;
    z-index: 8;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row--stock.out-of-stock .awp-mobile-commerce-row__icon {
    color: var(--awp-mp-accent);
  }

  body.asanwp-mobile-product-experience button.awp-mobile-commerce-row {
    appearance: none;
    font: inherit;
    text-align: start;
    cursor: pointer;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row--return.is-expandable .awp-mobile-commerce-row__copy small {
    -webkit-line-clamp: 3;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-row--return.is-expandable .awp-mobile-commerce-row__arrow {
    align-self: center;
  }

  body.awp-mobile-return-sheet-open {
    overflow: hidden;
  }

  .awp-mobile-return-sheet {
    position: fixed;
    inset: 0;
    z-index: 100001;
    display: block;
    max-width: 100%;
  }

  .awp-mobile-return-sheet[hidden] {
    display: none;
  }

  .awp-mobile-return-sheet__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .58);
  }

  .awp-mobile-return-sheet__dialog {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    display: flex;
    width: 100%;
    max-height: min(78vh, 620px);
    flex-direction: column;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: var(--awp-mp-surface);
    color: #23254e;
    box-shadow: 0 -12px 36px rgba(0, 0, 0, .16);
    transform: translateY(14px);
    animation: awpMobileReturnSheetIn .2s ease forwards;
  }

  @keyframes awpMobileReturnSheetIn {
    to {
      transform: translateY(0);
    }
  }

  .awp-mobile-return-sheet__handle {
    flex: 0 0 auto;
    width: 38px;
    height: 3px;
    margin: 8px auto 3px;
    border-radius: 999px;
    background: #d3d3d5;
    touch-action: none;
  }

  .awp-mobile-return-sheet__header {
    position: relative;
    display: flex;
    min-height: 54px;
    align-items: center;
    padding: 8px 14px;
    padding-inline-end: 52px;
    border-bottom: 1px solid var(--awp-mp-border);
  }

  .awp-mobile-return-sheet__header h2 {
    width: 100%;
    margin: 0;
    color: #0c0c0c;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.8;
    text-align: start;
  }

  .awp-mobile-return-sheet__close {
    position: absolute;
    inset-inline-end: 8px;
    top: 50%;
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: #424750;
    font-size: 18px;
    transform: translateY(-50%);
  }

  .awp-mobile-return-sheet__body {
    min-height: 0;
    padding: 18px 20px 12px;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: #4f5672;
    font-size: 11px;
    font-weight: 500;
    line-height: 2.15;
    text-align: start;
    -webkit-overflow-scrolling: touch;
  }

  .awp-mobile-return-sheet__body p {
    margin: 0 0 10px;
  }

  .awp-mobile-return-sheet__footer {
    flex: 0 0 auto;
    padding: 10px 14px max(14px, env(safe-area-inset-bottom));
    background: var(--awp-mp-surface);
  }

  .awp-mobile-return-sheet__footer button {
    width: 100%;
    min-height: 52px;
    padding: 8px 14px;
    border: 0;
    border-radius: 14px;
    background: var(--awp-mp-soft);
    color: #23254e;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
  }
}



/* Mobile product navigation and service rail refinements. */
@media (max-width: 767.98px) {

  /* Keep every reference-tab label intact. The row can scroll when the actual
     desktop titles are wider than the viewport, but labels never wrap/crop. */
  .awp-mobile-reference-nav__inner {
    gap: 0;
    padding-inline: 10px;
    overflow-x: auto;
    scroll-padding-inline: 10px;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .awp-mobile-reference-nav__item {
    flex: 0 0 auto;
    min-width: max-content;
    padding-inline: 8px;
    white-space: nowrap;
  }

  /* Product services are intentionally roomy cards in a horizontal rail.
     They must not be squeezed to fit all services inside one viewport. */
  body.asanwp-mobile-product-experience .awp-type3-service-strip {
    padding: 14px 12px 16px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner {
    display: flex !important;
    width: calc(100% + 12px) !important;
    gap: 10px;
    justify-content: flex-start;
    padding-inline-end: 12px;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 12px;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__inner::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item {
    display: flex !important;
    flex: 0 0 210px !important;
    min-width: 210px !important;
    min-height: 76px !important;
    padding: 11px 12px;
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    border: 1px solid var(--awp-mp-border);
    border-radius: 12px;
    background: var(--awp-mp-surface);
    text-align: start;
    scroll-snap-align: start;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item+.awp-type3-service-strip__item::before {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__item>i {
    flex: 0 0 38px !important;
    display: grid !important;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    place-items: center;
    color: #62666d;
    font-size: 27px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy {
    display: flex !important;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column !important;
    align-items: flex-start;
    gap: 2px;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy strong {
    color: #23254e;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.7;
    text-align: start;
  }

  body.asanwp-mobile-product-experience .awp-type3-service-strip__copy small {
    display: block !important;
    color: var(--awp-mp-muted);
    font-size: 9px;
    line-height: 1.7;
    text-align: start;
  }
}

/* Mobile reference tabs mirror the desktop linked-section navigation. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .awp-mobile-reference-nav {
    height: auto;
    min-height: 52px;
    border-bottom: 1px solid var(--color-gray200, #e0e0e2);
    background: var(--color-background, #fff);
    backdrop-filter: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__inner.awp-product-sections__nav-inner {
    display: flex;
    align-items: center;
    gap: .375rem;
    width: 100%;
    height: auto;
    min-height: 52px;
    padding: 0 1.125rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__inner::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__item.awp-product-sections__nav-link {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .35rem;
    min-width: max-content;
    min-height: 0;
    padding: 1rem .75rem .9rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-gray600, #62666d);
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.75;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color .2s ease;
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__item.awp-product-sections__nav-link:hover,
  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__item.awp-product-sections__nav-link:focus-visible,
  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__item.awp-product-sections__nav-link.is-active {
    color: var(--color-gray900, #232933);
    font-weight: 600;
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__item.awp-product-sections__nav-link::after {
    position: absolute;
    right: .75rem;
    bottom: -1px;
    left: .75rem;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--theme-primary-color, #ef4056);
    content: "";
    opacity: 0;
    transform: scaleX(.55);
    transition: opacity .2s ease, transform .2s ease;
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav__item.awp-product-sections__nav-link.is-active::after {
    opacity: 1;
    transform: scaleX(1);
  }

  body.asanwp-mobile-product-experience .awp-mobile-reference-nav .awp-product-section-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 .4rem;
    border-radius: 999px;
    background: var(--color-gray100, #f0f0f1);
    color: var(--color-gray600, #62666d);
    font-size: .6875rem;
    font-weight: 600;
    line-height: 1;
  }
}

/* Mobile product follow-up fixes: prevent sticky gallery bleed, separate feature cards,
 * keep the review shortcut actionable, and show an unavailable sticky action. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    transition: opacity .12s ease, visibility .12s ease;
  }

  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage.is-awp-covered-by-product-panel {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-features__rail {
    column-gap: 10px;
    row-gap: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-feature {
    box-sizing: border-box;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-review-shortcut>a {
    cursor: pointer;
  }

  body.asanwp-mobile-product-experience .single-product-sticky .awp-sticky-out-of-stock {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: var(--awp-mp-control-radius);
    background: var(--color-gray300, #c0c2c5);
    color: var(--color-gray700, #62666d);
    font-size: 12px;
    font-weight: 700;
    cursor: not-allowed;
    opacity: 1;
  }
}

/* Mobile review/question forms live in independent bottom-sheet portals.
 * Keep desktop markup/data intact while avoiding product-page stacking/overflow conflicts. */
@media (max-width: 767.98px) {

  body.asanwp-mobile-product-experience.awp-review-modal-open .single-product-sticky,
  body.asanwp-mobile-product-experience.awp-question-modal-open .single-product-sticky {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal {
    position: relative;
    z-index: 100100;
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal #review_form_wrapper.awp-review-modal,
  body.asanwp-mobile-product-experience>.awp-question-modal {
    z-index: 100120;
    align-items: end;
    padding: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__dialog,
  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-modal__dialog {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: min(92dvh, 46rem);
    overflow: hidden;
    border-radius: var(--awp-mp-sheet-radius) var(--awp-mp-sheet-radius) 0 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__header,
  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-modal__header {
    flex: 0 0 auto;
    min-height: 52px;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__body,
  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-form {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__body {
    padding: 12px 12px calc(24px + env(safe-area-inset-bottom));
  }

  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-form {
    padding: 14px 16px calc(24px + env(safe-area-inset-bottom));
  }

  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-form__message textarea {
    min-height: 150px;
    max-height: 42dvh;
    resize: vertical;
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal input,
  body.asanwp-mobile-product-experience .awp-mobile-review-portal textarea,
  body.asanwp-mobile-product-experience>.awp-question-modal input,
  body.asanwp-mobile-product-experience>.awp-question-modal textarea {
    font-size: 16px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-review-portal .form-submit,
  body.asanwp-mobile-product-experience>.awp-question-modal .awp-question-form__submit {
    margin-bottom: 0;
  }
}

/* ========================================================================
 * Mobile single-product dark mode.
 * Uses the theme's existing dark palette; no separate mobile color system.
 * ====================================================================== */
@media (max-width: 767.98px) {
  body[data-theme="dark"].asanwp-mobile-product-experience {
    --awp-mp-title-color: var(--color-gray900);
    --awp-mp-text: var(--color-text);
    --awp-mp-muted: var(--color-gray600);
    --awp-mp-border: var(--color-gray200);
    --awp-mp-soft: var(--color-gray50);
    --awp-mp-softest: var(--color-gray25);
    --awp-mp-surface: var(--color-background);
    --awp-mp-regular-price-color: var(--color-gray700);
    --awp-mp-reference-separator: var(--color-gray200);
    --awp-mp-reference-soft: var(--color-gray25);
    --awp-mp-reference-purple: color-mix(in srgb, var(--color-violet600) 12%, var(--color-background));
    --awp-mp-reference-purple-strong: var(--color-violet400);
    color: var(--color-text);
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .site-header .header-mobile {
    border-bottom-color: var(--color-gray200);
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-breadcrumb-slot,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-offer-slot,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-strip,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-service-banner,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.awp-type3-after-services-content,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-content {
    background: var(--color-background);
  }

  /* Gallery / media. */
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery .flex-viewport {
    background: var(--color-gray25);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-gallery-modern .woocommerce-product-gallery__image>a,
  body[data-theme="dark"].asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video__visual {
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-gallery-modern .awp-gallery-counter {
    color: var(--color-gray900);
    background: color-mix(in srgb, var(--color-background) 92%, transparent);
    box-shadow: 0 1px 5px rgba(0, 0, 0, .28);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-gallery-modern .awp-mobile-gallery-video__play,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-video__media i {
    color: var(--color-violet400);
    background: color-mix(in srgb, var(--color-background) 94%, transparent);
  }

  /* Main product summary typography / actions. */
  body[data-theme="dark"].asanwp-mobile-product-experience .product-detail-inner>.product_title,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-features__header h2,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-seller-heading,
  body[data-theme="dark"].asanwp-mobile-product-experience .related>h2,
  body[data-theme="dark"].asanwp-mobile-product-experience .up-sells>h2,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-recently-viewed>h2,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-recently-viewed .section-title,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-section__title,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-videos h2,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-tags h2 {
    color: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-brandline a,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-stat,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-section__content,
  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-product-attributes th,
  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-product-attributes td,
  body[data-theme="dark"].asanwp-mobile-product-experience .shop_attributes th,
  body[data-theme="dark"].asanwp-mobile-product-experience .shop_attributes td {
    color: var(--color-gray800);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-brandline span,
  body[data-theme="dark"].asanwp-mobile-product-experience .product-detail-inner .asanwp-product-english-title,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-stat small,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-feature span,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-review-shortcut__copy small,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-delivery-row__copy small,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-delivery-row__arrow {
    color: var(--color-gray600);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-gallery-actions a,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-gallery-actions button,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-title-toggle {
    color: var(--color-gray900);
  }

  /* Review shortcut / configured delivery card. */
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-review-shortcut>a {
    border-color: color-mix(in srgb, var(--color-violet400) 32%, var(--color-gray200));
    border-inline-start-color: var(--color-violet400);
    color: var(--color-gray900);
    background: color-mix(in srgb, var(--color-violet600) 12%, var(--color-background));
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-review-shortcut__copy strong {
    color: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-review-shortcut__play {
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-delivery-row {
    border-color: color-mix(in srgb, var(--awp-mobile-shipping-color, var(--color-blue500)) 34%, var(--color-gray200));
    border-inline-start-color: var(--awp-mobile-shipping-color, var(--color-blue500));
    background: color-mix(in srgb, var(--awp-mobile-shipping-color, var(--color-blue500)) 12%, var(--color-background));
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-delivery-row__copy strong {
    color: var(--color-gray900);
  }

  /* Variations / feature cards. */
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options .variations .label {
    color: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-color .awp-term {
    box-shadow: 0 0 0 1px var(--color-gray400);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-color .awp-term.awp-selected {
    box-shadow: 0 0 0 2px var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-button .awp-term {
    border-color: var(--color-gray300);
    color: var(--color-gray800);
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options .awp-type-button .awp-term.awp-selected {
    border-color: var(--color-gray800);
    color: var(--color-gray900);
    background: var(--color-gray50);
    box-shadow: inset 0 0 0 1px var(--color-gray800);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options a.reset_variations {
    color: var(--color-gray700);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-features,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-return-notice,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-variable-options,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-grouped-options {
    border-color: var(--color-gray200);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-feature {
    color: var(--color-gray900);
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-feature strong,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-features__all {
    color: var(--color-gray900);
  }

  /* Seller / rules. */
  body[data-theme="dark"].asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-commerce-groups {
    background: var(--color-gray25);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-group {
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-group__title,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-row {
    color: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-row {
    border-bottom-color: var(--color-gray200);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-row__icon {
    color: var(--color-gray700);
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-row__copy strong {
    color: var(--color-gray800);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-row__copy small,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-row__arrow {
    color: var(--color-gray600);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-primary-shipping {
    border-color: color-mix(in srgb, var(--awp-shipping-class-color, var(--color-blue500)) 28%, var(--color-gray200));
    border-inline-start-color: var(--awp-shipping-class-color, var(--color-blue500));
    background: color-mix(in srgb, var(--awp-shipping-class-color, var(--color-blue500)) 10%, var(--color-background));
  }

  /* Services / discovery / related products. */
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-service-strip,
  body[data-theme="dark"].asanwp-mobile-product-experience .product-content,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-videos,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-tags,
  body[data-theme="dark"].asanwp-mobile-product-experience .product-content>.related,
  body[data-theme="dark"].asanwp-mobile-product-experience .product-content>.up-sells,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-after-services-content>.related,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-after-services-content>.up-sells,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-after-services-content>.awp-type3-recently-viewed {
    border-color: var(--color-gray25);
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-service-strip__item {
    border-color: var(--color-gray200);
    background: var(--color-gray25);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-service-strip__item>i {
    color: var(--color-gray700);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-type3-service-strip__copy strong {
    color: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-video,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-tags__rail a {
    border-color: var(--color-gray200);
    color: var(--color-gray800);
    background: var(--color-gray25);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-video strong {
    color: var(--color-gray900);
  }

  /* Linked product sections / tabs. */
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-reference-nav,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-sections__nav {
    border-bottom-color: var(--color-gray200);
    background: color-mix(in srgb, var(--color-background) 97%, transparent);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-reference-nav__item,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-sections__nav-link {
    color: var(--color-gray600);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-reference-nav__item:hover,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-reference-nav__item:focus-visible,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-reference-nav__item.is-active,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-sections__nav-link.is-active {
    color: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-reference-nav .awp-product-section-count {
    color: var(--color-gray700);
    background: var(--color-gray100);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-section {
    border-bottom-color: var(--color-gray200);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-product-attributes th,
  body[data-theme="dark"].asanwp-mobile-product-experience .shop_attributes th {
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-product-attributes td,
  body[data-theme="dark"].asanwp-mobile-product-experience .shop_attributes td {
    background: var(--color-background);
  }

  /* Reviews / questions in the document. */
  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-Reviews #comments .commentlist li,
  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-Reviews #review_form_wrapper,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-questions {
    color: var(--color-text);
    border-color: var(--color-gray200);
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .woocommerce-Reviews #comments .commentlist li {
    border-bottom-color: var(--color-gray200);
  }

  /* Sticky purchase area. */
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky.is-mobile-enabled {
    border-top-color: var(--color-gray200);
    background: color-mix(in srgb, var(--color-background) 97%, transparent);
    box-shadow: 0 -5px 20px rgba(0, 0, 0, .32);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky .product-price .price {
    color: var(--awp-mp-sale-price-color);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky .awp-sticky-out-of-stock {
    color: var(--color-gray700);
    background: var(--color-gray200);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky form .product-low-stock {
    color: var(--color-orange400);
    background: color-mix(in srgb, var(--color-orange600) 12%, var(--color-background));
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item {
    color: var(--color-gray900);
    background: var(--color-gray200);
  }

  /* Product details + return-policy bottom sheets. */
  body[data-theme="dark"] .awp-mobile-product-sheet__dialog,
  body[data-theme="dark"] .awp-mobile-return-sheet__dialog {
    color: var(--color-text);
    background: var(--color-background);
    box-shadow: 0 -14px 44px rgba(0, 0, 0, .42);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__handle,
  body[data-theme="dark"] .awp-mobile-return-sheet__handle {
    background: var(--color-gray400);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__header,
  body[data-theme="dark"] .awp-mobile-product-sheet__tabs,
  body[data-theme="dark"] .awp-mobile-return-sheet__header {
    border-color: var(--color-gray200);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__header h2,
  body[data-theme="dark"] .awp-mobile-product-sheet__tabs button.is-active,
  body[data-theme="dark"] .awp-mobile-product-sheet__body>h2,
  body[data-theme="dark"] .awp-mobile-product-sheet__body>h3,
  body[data-theme="dark"] .awp-mobile-return-sheet__header h2,
  body[data-theme="dark"] .awp-mobile-return-sheet__footer button {
    color: var(--color-gray900);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__close,
  body[data-theme="dark"] .awp-mobile-return-sheet__close {
    color: var(--color-gray700);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__tabs button,
  body[data-theme="dark"] .awp-mobile-return-sheet__body {
    color: var(--color-gray700);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__tabs button.is-active::after {
    background: var(--theme-primary-color);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__body .woocommerce-product-attributes th,
  body[data-theme="dark"] .awp-mobile-product-sheet__body .shop_attributes th {
    color: var(--color-gray800);
    background: var(--color-gray50);
  }

  body[data-theme="dark"] .awp-mobile-product-sheet__body .woocommerce-product-attributes td,
  body[data-theme="dark"] .awp-mobile-product-sheet__body .shop_attributes td {
    color: var(--color-gray800);
    background: var(--color-background);
  }

  body[data-theme="dark"] .awp-mobile-return-sheet__footer {
    background: var(--color-background);
  }

  body[data-theme="dark"] .awp-mobile-return-sheet__footer button {
    background: var(--color-gray100);
  }

  /* Review / question portal sheets. These nodes are moved under <body> on mobile,
     so their desktop dark selectors no longer provide enough context. */
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal {
    --awp-review-action-primary-soft: rgba(var(--color-redRGB), .14);
    --awp-review-action-success-soft: rgba(var(--color-greenRGB), .16);
    --awp-review-action-danger-soft: rgba(var(--color-redRGB), .16);
    --awp-review-action-warning-soft: rgba(var(--color-orangeRGB), .18);
    --awp-review-action-border: rgba(255, 255, 255, .14);
    --awp-review-action-surface: rgba(255, 255, 255, .045);
    --awp-review-action-text: var(--color-gray900);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__dialog,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal .awp-question-modal__dialog,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__header,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal .awp-question-modal__header,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal .awp-review-modal__body,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal .awp-question-form {
    color: var(--color-text);
    border-color: var(--color-gray200);
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal input,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal textarea,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal select,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal input,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal textarea,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal select {
    color: var(--color-text);
    border-color: var(--color-gray300);
    background: var(--color-gray25);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal input::placeholder,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-review-portal textarea::placeholder,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal input::placeholder,
  body[data-theme="dark"].asanwp-mobile-product-experience>.awp-question-modal textarea::placeholder {
    color: var(--color-gray600);
  }
}

@media (max-width: 767.98px) {
  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-gallery>.awp-type3-gallery-stage {
    box-shadow: 0 12px 0 var(--color-gray25);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-offer-edge:not(.has-active-offer) {
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-offer-edge.has-active-offer,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-offer {
    background: color-mix(in srgb, var(--color-red600) 14%, var(--color-background));
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-offer-edge .awp-type3-amazing-countdown .count-item {
    color: var(--color-gray900);
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-brandline a {
    color: var(--color-gray700);
    text-decoration-color: var(--color-gray500);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-section__more,
  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-features__all {
    color: var(--color-gray700);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-product-sections__nav-link.is-active::after {
    background: var(--theme-primary-color);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-video__media {
    background: var(--color-gray50);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item {
    color: var(--color-gray900);
    background: var(--color-gray200);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .single-product-sticky .awp-sticky-mobile-rotator__item>i {
    background: var(--color-gray50);
  }
}

/* One consistent mobile product-panel header; the timed offer remains an
 * optional strip above it instead of replacing its handle and taxonomy row. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3>.product-detail {
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge:not(.has-active-offer) {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge.has-active-offer {
    display: block;
    min-height: 65px;
    margin: 0;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #fce7ec;
    margin-bottom: -14px;
    z-index: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge>.awp-mobile-product-sheet__handle {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-offer-edge.has-active-offer .awp-type3-amazing-offer {
    min-height: 50px;
    border-radius: 18px 18px 0 0;
  }

  body.asanwp-mobile-product-experience .product-detail-inner {
    position: relative;
    padding-top: 0;
    border-radius: 18px 18px 0 0;
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline {
    display: flex;
    width: 100%;
    min-height: 57px;
    margin: 0 0 7px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline>.awp-mobile-product-topline__handle {
    display: block;
    flex: 0 0 auto;
    width: 34px;
    height: 3px;
    margin: 15px auto 5px;
    border-radius: 999px;
    background: #d3d3d5;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline__row {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    direction: rtl;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-mobile-product-categoryline {
    display: flex;
    min-width: 0;
    max-width: calc(100% - 108px);
    margin: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 5px;
    overflow-x: auto;
    color: #62666d;
    font-size: 10px;
    line-height: 1.8;
    white-space: nowrap;
    direction: rtl;
    scrollbar-width: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-mobile-product-categoryline::-webkit-scrollbar {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-categoryline a {
    flex: 0 0 auto;
    color: #62666d;
    text-decoration: underline;
    text-decoration-color: #a1a3a8;
    text-underline-offset: 4px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-categoryline__separator {
    display: inline-grid;
    flex: 0 0 auto;
    width: 12px;
    place-items: center;
    color: #a1a3a8;
    font-size: 8px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-topline .awp-type3-gallery-actions {
    flex: 0 0 auto;
    justify-content: flex-start;
    direction: ltr;
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .product-detail-inner {
    background: var(--color-background);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-topline>.awp-mobile-product-topline__handle {
    background: var(--color-gray400);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-categoryline a {
    color: var(--color-gray700);
    text-decoration-color: var(--color-gray500);
  }
}

/* Mobile product settings contract.
 * Keep one final authority for typography and configurable colors after all
 * structural mobile layers. Component proportions remain intact, but every
 * text scale derives from the same desktop settings tokens. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper {
    color: var(--theme-body-color, var(--color-text));
    font-family: var(--theme-body-font, inherit);
    font-size: var(--theme-body-font-size, 1rem);
    font-weight: var(--theme-body-font-weight, 400);
    line-height: var(--theme-body-line-height, 1.8);
    letter-spacing: var(--theme-body-letter-spacing, normal);
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product_title {
    color: var(--awp-mp-title-color);
    font-family: var(--theme-product-name-font, var(--theme-heading-font, inherit));
    font-size: var(--theme-single-product-name-font-size-mobile, var(--theme-product-name-font-size-mobile, 1rem)) !important;
    font-weight: var(--theme-product-name-weight, var(--theme-heading-font-weight, 600)) !important;
    line-height: var(--theme-single-product-name-line-height-mobile, var(--theme-product-name-line-height, 1.6)) !important;
    letter-spacing: var(--theme-product-name-letter-spacing, var(--theme-heading-letter-spacing, normal));
  }

  body.asanwp-mobile-product-experience :where(.product-detail-inner > .asanwp-product-english-title,
    .product-detail-inner > .woocommerce-product-details__short-description,
    .awp-product-section__content,
    .woocommerce-Tabs-panel,
    .awp-mobile-product-sheet__body) {
    color: var(--awp-mp-description);
    font-family: var(--theme-body-font, inherit);
    font-size: var(--theme-body-font-size, 1rem) !important;
    font-weight: var(--theme-body-font-weight, 400);
    line-height: var(--theme-product-content-line-height, var(--theme-body-line-height, 1.8)) !important;
    letter-spacing: var(--theme-body-letter-spacing, normal);
  }

  body.asanwp-mobile-product-experience :where(.awp-product-section__title,
    .awp-mobile-product-features__header h2,
    .awp-mobile-product-sheet__header h2,
    .awp-mobile-product-seller-heading,
    .awp-mobile-product-videos h2,
    .awp-mobile-product-tags h2,
    .related > h2,
    .up-sells > h2,
    .awp-type3-recently-viewed > h2,
    .awp-type3-recently-viewed .section-title) {
    color: var(--theme-heading-color, var(--awp-mp-title-color));
    font-family: var(--theme-heading-font, inherit);
    font-size: var(--asanwp-h2-font-size, 1.25rem);
    font-weight: var(--theme-heading-font-weight, 600);
    line-height: var(--theme-heading-line-height, 1.6);
    letter-spacing: var(--theme-heading-letter-spacing, normal);
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side .awp-type3-purchase-card__price .price,
    .single-product-sticky .product-price .price) {
    color: var(--theme-product-price-color, var(--awp-mp-sale-price-color));
    font-family: var(--theme-product-price-font, var(--theme-body-font, inherit));
    font-size: var(--theme-single-product-price-font-size-mobile, var(--theme-product-price-font-size-mobile, 1rem)) !important;
    font-weight: var(--theme-product-price-weight, 700) !important;
    line-height: var(--theme-product-price-line-height, 1.4) !important;
    letter-spacing: var(--theme-product-price-letter-spacing, normal);
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side .awp-type3-purchase-card__price .price,
    .single-product-sticky .product-price .price) del {
    color: var(--awp-mp-regular-price-color);
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side .awp-type3-purchase-card__price .price,
    .single-product-sticky .product-price .price) ins {
    color: var(--awp-mp-sale-price-color);
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side,
    .single-product-sticky) :where(.single_add_to_cart_button,
    .sticky_add_to_cart,
    .awp-type3-variable-cart-button,
    .awp-type3-grouped-cart-button,
    .awp-type3-compact-cart-action):not(.awp-type3-unavailable-action):not(.awp-sticky-out-of-stock) {
    border-color: var(--awp-mp-cart-border) !important;
    background: var(--awp-mp-cart-bg) !important;
    color: var(--awp-mp-cart-color) !important;
    font-family: var(--theme-button-font, inherit) !important;
    font-size: var(--theme-button-font-size, .9375rem) !important;
    font-weight: var(--theme-button-font-weight, 600) !important;
    line-height: var(--theme-button-line-height, 1.6) !important;
    letter-spacing: var(--theme-button-letter-spacing, normal) !important;
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side,
    .single-product-sticky) :where(.single_add_to_cart_button,
    .sticky_add_to_cart,
    .awp-type3-variable-cart-button,
    .awp-type3-grouped-cart-button,
    .awp-type3-compact-cart-action):not(.awp-type3-unavailable-action):not(.awp-sticky-out-of-stock):not(:disabled):hover,
  body.asanwp-mobile-product-experience :where(.product-detail-side,
    .single-product-sticky) :where(.single_add_to_cart_button,
    .sticky_add_to_cart,
    .awp-type3-variable-cart-button,
    .awp-type3-grouped-cart-button,
    .awp-type3-compact-cart-action):not(.awp-type3-unavailable-action):not(.awp-sticky-out-of-stock):focus-visible {
    border-color: var(--awp-mp-cart-border-hover) !important;
    background: var(--awp-mp-cart-bg-hover) !important;
    color: var(--awp-mp-cart-color-hover) !important;
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side,
    .single-product-sticky) :where(.buy_now_button,
    .awp-type3-buy-now-proxy,
    .awp-sticky-buy-now-button) {
    border-color: var(--theme-single-product-buy-now-bg, #e6e8eb) !important;
    background: var(--theme-single-product-buy-now-bg, #e6e8eb) !important;
    color: var(--theme-single-product-buy-now-color, #1b1f22) !important;
    font-family: var(--theme-button-font, inherit) !important;
    font-size: var(--theme-button-font-size, .9375rem) !important;
    font-weight: var(--theme-button-font-weight, 600) !important;
    line-height: var(--theme-button-line-height, 1.6) !important;
    letter-spacing: var(--theme-button-letter-spacing, normal) !important;
  }

  body.asanwp-mobile-product-experience :where(.product-detail-side,
    .single-product-sticky) :where(.buy_now_button,
    .awp-type3-buy-now-proxy,
    .awp-sticky-buy-now-button):not(:disabled):hover,
  body.asanwp-mobile-product-experience :where(.product-detail-side,
    .single-product-sticky) :where(.buy_now_button,
    .awp-type3-buy-now-proxy,
    .awp-sticky-buy-now-button):focus-visible {
    border-color: var(--theme-single-product-buy-now-bg-hover, #dfe2e6) !important;
    background: var(--theme-single-product-buy-now-bg-hover, #dfe2e6) !important;
    color: var(--theme-single-product-buy-now-color-hover, #1b1f22) !important;
  }

  body.asanwp-mobile-product-experience :where(.product-detail-inner,
    .product-detail-side,
    .awp-mobile-product-sheet__body,
    .awp-mobile-review-portal,
    .awp-question-modal) :where(input, select, textarea) {
    color: var(--theme-form-color, var(--awp-mp-text));
    font-family: var(--theme-form-font, var(--theme-body-font, inherit)) !important;
    font-size: var(--theme-form-font-size, .9375rem) !important;
    font-weight: var(--theme-form-font-weight, 400) !important;
    line-height: var(--theme-form-line-height, 1.6) !important;
    letter-spacing: var(--theme-form-letter-spacing, normal) !important;
  }

  body.asanwp-mobile-product-experience :where(.awp-mobile-product-categoryline,
    .awp-mobile-product-brandline,
    .awp-mobile-product-stat,
    .awp-type3-purchase-card__label,
    .awp-type3-purchase-card__price-label,
    .product-meta .awp-mobile-product-meta__label) {
    color: var(--awp-mp-meta-label);
    font-family: var(--theme-body-font, inherit);
    font-size: calc(var(--theme-body-font-size, 1rem) * .75) !important;
    line-height: var(--theme-body-line-height, 1.8);
  }

  body.asanwp-mobile-product-experience :where(.awp-type3-purchase-card__value,
    .product-meta .awp-mobile-product-meta__value,
    .product-meta .sku,
    .product-meta a) {
    color: var(--awp-mp-meta-value);
    font-family: var(--theme-body-font, inherit);
    font-size: calc(var(--theme-body-font-size, 1rem) * .85) !important;
    line-height: var(--theme-body-line-height, 1.8);
  }

  body:not([data-theme="dark"]).asanwp-mobile-product-experience .product-stock.in-stock {
    background: var(--theme-single-product-stock-bg);
    color: var(--theme-single-product-stock-color) !important;
  }

  body:not([data-theme="dark"]).asanwp-mobile-product-experience .product-stock.out-of-stock {
    background: var(--theme-single-product-out-stock-bg);
    color: var(--theme-single-product-out-stock-color);
  }

  body:not([data-theme="dark"]).asanwp-mobile-product-experience :where(.wishlist-button a,
    .awp-type3-gallery-actions .wishlist-button a) {
    color: var(--theme-single-product-wishlist-color, var(--awp-mp-text));
  }

  body:not([data-theme="dark"]).asanwp-mobile-product-experience :where(.wishlist-button a::before,
    .awp-type3-gallery-actions .wishlist-button a::before) {
    color: var(--theme-single-product-wishlist-icon-color, currentColor);
  }
}
/* Q&A composer opened from question sheets: keep the form above the active
 * sheet on real mobile browsers as well as desktop emulation. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience.awp-question-detail-sheet-open.awp-question-modal-open > .awp-question-modal,
  body.asanwp-mobile-product-experience.awp-question-list-sheet-open.awp-question-modal-open > .awp-question-modal {
    z-index: 100220 !important;
  }
}


/* ========================================================================== 
   Mobile purchase/status section
   - Sticky ON: the existing sticky purchase bar remains untouched; this section
     groups availability/stock progress before specifications.
   - Sticky OFF: the existing primary purchase card + social proof are moved here
     so price/cart/30-day price/viewing/orders/availability remain in-page.
   ========================================================================== */
.awp-mobile-purchase-section {
  display: none;
}

@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-purchase-section {
    order: 55;
    display: block;
    width: auto;
    margin: 8px -12px 0;
    padding: 0 12px 12px;
    border-top: 8px solid var(--awp-mp-softest);
    background: var(--awp-mp-surface);
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-purchase-section[hidden] {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__card:empty,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals[hidden],
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals:empty,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability:empty,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__stock:empty {
    display: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__card {
    width: 100%;
    padding-top: 12px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card.is-awp-mobile-inline-purchase {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
    gap: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  /* Seller/shipping/availability already have dedicated mobile sections. The
     inline purchase card is only the price + purchase controls source. */
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__info {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__price-block {
    display: flex !important;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 0 10px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__price-label {
    color: var(--awp-mp-muted);
    font-size: 10px;
    font-weight: 500;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__price-line {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__price .price {
    margin: 0;
    color: var(--awp-mp-text);
    font-size: var(--awp-mp-price-size);
    font-weight: 800;
    line-height: 1.7;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__discount {
    min-width: 30px;
    min-height: 20px;
    padding: 2px 6px;
    border-radius: 999px;
    background: var(--color-red600, #ef4056);
    color: #fff;
    font-size: 9px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__cart {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__cart form.cart,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-variable-cart-proxy,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-grouped-cart-proxy {
    width: 100%;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__cart .single_add_to_cart_button,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__cart a.single_add_to_cart_button,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section .awp-type3-purchase-card__cart .awp-type3-unavailable-action {
    min-height: 46px;
    border-radius: var(--awp-mp-control-radius);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals {
    display: flex;
    width: 100%;
    margin-top: 10px;
    padding-top: 10px;
    flex-direction: column;
    gap: 7px;
    border-top: 1px solid var(--awp-mp-border);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .awp-lowest-price-30 {
    display: flex;
    min-height: 38px;
    margin: 0;
    padding: 8px 10px;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--color-green600, #16a34a) 24%, transparent);
    border-radius: var(--awp-mp-control-radius);
    background: color-mix(in srgb, var(--color-green600, #16a34a) 7%, var(--awp-mp-surface));
    color: var(--color-green600, #16a34a);
    font-size: 9.5px;
    font-weight: 700;
  }

  /* Preserve the variation price-history script's hidden state. */
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .awp-lowest-price-30[style*="display: none"],
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .awp-lowest-price-30[style*="display:none"] {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .asanwp-social-proof {
    display: flex !important;
    margin: 0;
    padding: 0;
    gap: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .asanwp-social-proof-item {
    min-height: 38px;
    padding: 7px 10px;
    gap: 8px;
    border: 1px solid var(--awp-mp-border);
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
    color: var(--awp-mp-text);
    font-size: 9.5px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .asanwp-social-proof-item+.asanwp-social-proof-item {
    margin-top: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__signals .asanwp-social-proof-item i {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
    font-size: 13px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability {
    width: 100%;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--awp-mp-border);
  }

  /* The stock badge has one mobile home: the purchase/status section.
     Simple products move their real summary stock node here. Variable products
     use the synced row below, while WooCommerce's replaceable native variation
     availability is hidden to prevent a second stock badge. */
  body.asanwp-mobile-product-experience .awp-type3-variable-options .woocommerce-variation-availability {
    display: none !important;
  }


  /* Simple products keep their original desktop stock markup in place so the
     desktop layout can be restored without moving it. The shared mobile stock
     row below is the only visible availability component on mobile. */
  body.asanwp-mobile-product-experience .asanwp-summary-stock.is-awp-mobile-stock-source-hidden {
    display: none !important;
  }


  /* The modern purchase-card availability toggle is the single source of truth
     for mobile availability. Hide the legacy simple-product summary stock too;
     stock-progress/low-stock messaging has its own independent setting. */
  body.asanwp-mobile-product-experience.asanwp-mobile-product-hide-availability .product-inventory-wrapper.asanwp-summary-stock,
  body.asanwp-mobile-product-experience.asanwp-mobile-product-hide-availability .awp-mobile-commerce-row--stock,
  body.asanwp-mobile-product-experience.asanwp-mobile-product-hide-availability .woocommerce-variation-availability {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .asanwp-summary-stock {
    display: flex;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 8px 10px;
    align-items: center;
    border: 1px solid var(--awp-mp-border);
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .asanwp-summary-stock .product-stock {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.8;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row--stock {
    min-height: 44px;
    margin: 0;
    padding: 8px 10px;
    align-items: center;
    border: 1px solid var(--awp-mp-border);
    border-radius: var(--awp-mp-control-radius);
    background: var(--awp-mp-softest);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row__icon {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    margin: 0;
    background: color-mix(in srgb, var(--color-green600, #16a34a) 10%, transparent);
    color: var(--color-green600, #16a34a);
    font-size: 14px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row__copy {
    padding-top: 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row__copy strong {
    flex: 0 0 auto;
    color: var(--awp-mp-muted);
    font-size: 10px;
    font-weight: 500;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row__copy small {
    display: block;
    overflow: visible;
    color: var(--color-green600, #16a34a);
    font-size: 10.5px;
    font-weight: 700;
    text-align: end;
    -webkit-line-clamp: unset;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row--stock.out-of-stock .awp-mobile-commerce-row__icon,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row--stock.outofstock .awp-mobile-commerce-row__icon {
    background: color-mix(in srgb, var(--color-red600, #ef4056) 10%, transparent);
    color: var(--color-red600, #ef4056);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row--stock.out-of-stock .awp-mobile-commerce-row__copy small,
  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__availability .awp-mobile-commerce-row--stock.outofstock .awp-mobile-commerce-row__copy small {
    color: var(--color-red600, #ef4056);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__stock {
    width: 100%;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--awp-mp-border);
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section.is-sticky-enabled .awp-mobile-purchase-section__stock {
    margin-top: 0;
    padding-top: 12px;
    border-top: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-purchase-section__stock .product-progress-wrapper {
    margin: 0;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.awp-mobile-purchase-section .product-progress-wrapper[data-asanwp-stock-progress] {
    display: block;
    max-width: 100%;
  }

  body.asanwp-mobile-product-experience .product-detail-inner>.product-progress-wrapper[data-asanwp-stock-progress] {
    display: none !important;
  }
}


/* Mobile purchase-status stock progress visual polish */
body.asanwp-mobile-product-experience .awp-mobile-purchase-section__stock .product-progress-wrapper {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
}

body.asanwp-mobile-product-experience .awp-mobile-purchase-section.is-sticky-enabled .awp-mobile-purchase-section__stock .product-progress-wrapper {
  margin-top: 2px;
}


/* Desktop product-information layouts are desktop-only settings.
 * Mobile always uses the dedicated AsanWP product-information flow. */
@media screen and (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .awp-product-vertical-tab .woocommerce-tabs.wc-tabs-wrapper {
    display: block;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
  }

  body.asanwp-mobile-product-experience .awp-product-vertical-tab .woocommerce-tabs.wc-tabs-wrapper > ul.tabs {
    width: 100%;
    border: 0;
  }

  body.asanwp-mobile-product-experience .awp-product-vertical-tab .woocommerce-tabs.wc-tabs-wrapper > ul.tabs > li + li {
    border-top: 0;
  }

  body.asanwp-mobile-product-experience .awp-product-vertical-tab .woocommerce-tabs.wc-tabs-wrapper > ul.tabs > li > a {
    height: auto;
    padding: 0;
    background: transparent;
  }

  body.asanwp-mobile-product-experience .awp-product-vertical-tab .woocommerce-tabs.wc-tabs-wrapper > .woocommerce-Tabs-panel {
    width: 100%;
    padding: 0;
    border: 0;
  }
}

/* Product checklist: mobile section styled like a compact reassurance box before seller. */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience .single-product-wrapper .product-checklist {
    display: none !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist {
    --awp-checklist-accent: #b12ba4;
    --awp-checklist-line: #edc4e8;
    position: relative;
    padding: 11px 12px 14px 82px;
    background: #fff;
    overflow: hidden;
    direction: rtl;
    text-align: right;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist::before {
    content: "";
    position: absolute;
    top: 15px;
    right: 11px;
    bottom: 17px;
    width: 1px;
    background: var(--awp-checklist-line);
    z-index: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist .awp-product-checklist-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 7px;
    padding: 0;
    color: var(--awp-checklist-accent);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.9;
    z-index: 1;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist .awp-product-checklist-title-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-right: -8px;
    color: #d946ef;
    background: #fff;
    font-size: 18px;
    line-height: 1;
    z-index: 2;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-checklist {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-checklist li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 21px;
    margin: 0;
    padding: 0;
    border: 0;
    color: #424750;
    font-size: 11px;
    font-weight: 500;
    line-height: 2.05;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-checklist .awp-product-checklist-dot {
    position: relative;
    flex: 0 0 5px;
    width: 5px;
    height: 5px;
    margin-right: -2.5px;
    border-radius: 50%;
    background: #d946ef;
    box-shadow: 0 0 0 3px #fff;
    z-index: 2;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist .awp-product-checklist-truck {
    position: absolute;
    left: 4px;
    bottom: 2px;
    display: block;
    width: 72px;
    height: auto;
    line-height: 0;
    pointer-events: none;
    z-index: 1;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist .awp-product-checklist-truck img {
    display: block;
    width: 72px;
    height: auto;
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist {
    border-color: var(--color-gray200);
    background: rgba(17, 24, 39, .5);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-commerce-group--checklist::before {
    background: rgba(240,171,252,.35);
  }

  body[data-theme="dark"].asanwp-mobile-product-experience .awp-mobile-product-checklist li {
    color: var(--color-gray800);
  }
}

/* ========================================================================
 * Mobile single-product section spacing contract.
 *
 * Every optional/reorderable major block owns the separator at its START.
 * This keeps one consistent gutter between visible sections even when an
 * earlier block is disabled, omitted, moved after services, or moved after
 * product content. Do not rely on the previous section to create its bottom
 * spacing: the next visible section is responsible for that boundary.
 * ====================================================================== */
@media (max-width: 767.98px) {
  body.asanwp-mobile-product-experience {
    --awp-mp-section-gap: 8px;
    --awp-mp-section-gap-color: var(--awp-mp-reference-soft, var(--awp-mp-softest, #f7f7f8));
  }

  /* Summary blocks that can independently disappear through product/theme
     settings. A visible block always keeps the boundary above itself. */
  body.asanwp-mobile-product-experience .product-detail-inner > .awp-mobile-purchase-section,
  body.asanwp-mobile-product-experience .product-detail-inner > .awp-mobile-product-features,
  body.asanwp-mobile-product-experience .product-detail-inner > .awp-product-short-description,
  body.asanwp-mobile-product-experience .product-detail-inner > .awp-product-identity-meta {
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color) !important;
  }

  /* Checklist, seller and terms can each be omitted independently. Giving the
     separator to every rendered group avoids relying on + sibling selectors,
     which break when an intermediate group is hidden by mobile JS. */
  body.asanwp-mobile-product-experience .awp-mobile-commerce-group {
    margin-top: 0 !important;
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color) !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group + .awp-mobile-commerce-group {
    margin-top: 0 !important;
  }

  body.asanwp-mobile-product-experience .awp-mobile-commerce-group--rules {
    box-shadow: none !important;
  }

  /* Main blocks rendered after the summary. These are all optional and their
     order can change from the product settings. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .awp-type3-service-strip,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .awp-type3-service-banner,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .product-content,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .awp-type3-after-services-content > .related,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .awp-type3-after-services-content > .up-sells,
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .awp-type3-after-services-content > .awp-type3-recently-viewed {
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color) !important;
  }

  /* Unified recommendation engine. Related, better suggestions and recently
     viewed can move between after-services and after-content, or be disabled.
     Each visible recommendation therefore owns its own leading separator. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 .awp-product-recommendations {
    box-sizing: border-box;
    margin-block: 0 !important;
    padding: 15px 16px 16px;
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color);
    background: var(--awp-mp-surface);
  }

  /* The after-services wrapper has side padding of its own; pull each shelf to
     the viewport edges so the gray separator is continuous, not inset. */
  body.asanwp-mobile-product-experience .single-product-wrapper.style-3 > .awp-product-recommendations-after-services > .awp-product-recommendations {
    width: calc(100% + 24px) !important;
    max-width: calc(100% + 24px) !important;
    margin-inline: -12px !important;
  }

  /* product-content itself already provides the boundary from the preceding
     block. If a recommendation is literally its first element, suppress the
     duplicate boundary while retaining separators between later shelves. */
  body.asanwp-mobile-product-experience .product-content > .awp-product-recommendations:first-child,
  body.asanwp-mobile-product-experience .product-content > .related:first-child,
  body.asanwp-mobile-product-experience .product-content > .up-sells:first-child,
  body.asanwp-mobile-product-experience .product-content > .awp-type3-recently-viewed:first-child {
    border-top-width: 0 !important;
  }

  /* Product information sections use the same "next section owns the gap"
     rule. The product-content wrapper already owns the first outer boundary. */
  body.asanwp-mobile-product-experience .awp-product-section {
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color) !important;
    border-bottom: 0 !important;
  }

  body.asanwp-mobile-product-experience .awp-product-sections__body > .awp-product-section:first-child {
    border-top-width: 0 !important;
  }

  /* Discovery blocks are optional too. Remove the old negative margin because
     product-content is full width on mobile, then give every visible block the
     same section boundary. */
  body.asanwp-mobile-product-experience .awp-mobile-product-discovery {
    width: 100%;
    margin-inline: 0;
  }

  body.asanwp-mobile-product-experience .awp-mobile-product-videos,
  body.asanwp-mobile-product-experience .awp-mobile-product-tags {
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color) !important;
  }

  /* Legacy recommendation markup is retained as a compatibility fallback. */
  body.asanwp-mobile-product-experience .related.products,
  body.asanwp-mobile-product-experience .up-sells.products,
  body.asanwp-mobile-product-experience .awp-type3-recently-viewed {
    border-top: var(--awp-mp-section-gap) solid var(--awp-mp-section-gap-color) !important;
  }
}
