/* =========================================================
   ZeroMaxShop product detail
   Isolated page stylesheet loaded after style.css.
========================================================= */

:root {
    --zmx-product-orange: #ef5b43;
    --zmx-product-blue: #2f9ed8;
    --zmx-product-navy: #171b32;
    --zmx-product-text: #18191e;
    --zmx-product-muted: #6f737d;
    --zmx-product-border: #e4e6ea;
    --zmx-product-soft: #f5f6f7;
    --zmx-product-dark: #18191d;
    --zmx-product-header-height: 66px;
}

body.product-detail-body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #ffffff;
    color: var(--zmx-product-text);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

/* =========================================================
   Shared product header
========================================================= */

body.product-detail-body .zmx-product-header {
    position: sticky;
    top: 0;
    z-index: 5000;
    width: 100%;
    border-bottom: 1px solid var(--zmx-product-border);
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease;
}

body.product-detail-body .zmx-product-header.is-scrolled {
    border-bottom-color: #d8dbe1;
    box-shadow:
        0 10px 28px rgba(15, 23, 42, 0.085),
        0 1px 0 rgba(15, 23, 42, 0.04);
}

body.product-detail-body .zmx-product-header-row {
    display: grid;
    width: 100%;
    min-height: var(--zmx-product-header-height);
    grid-template-columns: minmax(210px, auto) minmax(300px, 650px) auto;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 9px 24px;
}

body.product-detail-body .zmx-product-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    color: var(--zmx-product-text);
    text-decoration: none;
}

body.product-detail-body .zmx-product-brand-logo {
    display: block;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    object-fit: contain;
}

body.product-detail-body .zmx-product-brand-copy {
    display: grid;
    min-width: 0;
    justify-items: start;
    gap: 4px;
}

body.product-detail-body .zmx-product-brand-name {
    display: inline-flex;
    align-items: baseline;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: -0.065em;
    line-height: 1;
    white-space: nowrap;
}

body.product-detail-body .zmx-product-brand-zero {
    color: var(--zmx-product-orange);
}

body.product-detail-body .zmx-product-brand-max {
    color: var(--zmx-product-blue);
}

body.product-detail-body .zmx-product-brand-shop {
    color: var(--zmx-product-navy);
}

body.product-detail-body .zmx-product-brand-subtitle {
    color: #737782;
    font-size: 10px;
    font-weight: 760;
    letter-spacing: 0.055em;
    line-height: 1;
    white-space: nowrap;
}

/* Search matches the dashboard language without adding a menu/filter popup. */
body.product-detail-body .zmx-product-search {
    position: relative;
    width: 100%;
    margin: 0;
}

body.product-detail-body .zmx-product-search-inner {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 46px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 0 7px 0 14px;
    border: 1px solid #dfe1e6;
    border-radius: 999px;
    background: #f8f8f9;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        box-shadow 150ms ease;
}

body.product-detail-body .zmx-product-search-inner:focus-within {
    border-color: #bfc4cc;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(47, 158, 216, 0.08);
}

body.product-detail-body .zmx-product-search-inner > i {
    color: #555a64;
    font-size: 17px;
}

body.product-detail-body .zmx-product-search input {
    width: 100%;
    height: 42px;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #1d1e23;
    font: inherit;
    font-size: 13px;
    font-weight: 620;
}

body.product-detail-body .zmx-product-search input::placeholder {
    color: #92959d;
    opacity: 1;
}

body.product-detail-body .zmx-product-search button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 13px;
    border: 0;
    border-radius: 999px;
    background: #18191d;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

body.product-detail-body .zmx-product-search button i {
    display: none;
}

body.product-detail-body .zmx-product-search .search-suggestions-box {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    z-index: 5200;
    overflow: hidden;
    border: 1px solid var(--zmx-product-border);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

body.product-detail-body .zmx-product-header-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

body.product-detail-body .zmx-product-icon-link,
body.product-detail-body .zmx-product-profile-link,
body.product-detail-body .zmx-product-admin-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--zmx-product-border);
    background: #ffffff;
    color: #1c1e24;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.025);
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

body.product-detail-body .zmx-product-icon-link,
body.product-detail-body .zmx-product-profile-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 20px;
}

body.product-detail-body .zmx-product-icon-link:hover,
body.product-detail-body .zmx-product-profile-link:hover {
    border-color: #cfd3da;
    background: #f7f8fa;
    color: #111216;
    transform: translateY(-1px);
}

body.product-detail-body .zmx-product-profile-link {
    overflow: hidden;
}

body.product-detail-body .zmx-product-profile-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.product-detail-body .zmx-product-profile-link > span {
    font-size: 12px;
    font-weight: 950;
}

body.product-detail-body .zmx-product-header-count {
    position: absolute;
    top: -4px;
    right: -4px;
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: #17181c;
    color: #ffffff;
    font-size: 8px;
    font-weight: 950;
    line-height: 1;
}

body.product-detail-body .zmx-product-admin-link {
    min-height: 40px;
    gap: 7px;
    padding: 0 14px;
    border-color: #d6d9df;
    border-radius: 13px;
    background: #18191d;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
}

body.product-detail-body .zmx-product-admin-link i {
    font-size: 17px;
}

body.product-detail-body .zmx-product-admin-link:hover {
    background: #2a2c31;
    color: #ffffff;
    transform: translateY(-1px);
}

/* =========================================================
   Guest checkout reel
========================================================= */

body.product-detail-body .zms-product-guest-top-promo {
    overflow: hidden;
    width: 100%;
    min-height: 31px;
    border-bottom: 1px solid #e8e9ed;
    background: #17181d;
    color: #ffffff;
}

body.product-detail-body .zms-product-guest-top-promo-inner {
    overflow: hidden;
    width: 100%;
}

body.product-detail-body .zms-product-guest-top-promo-track {
    display: flex;
    width: max-content;
    align-items: center;
    animation: zmxProductGuestReel 34s linear infinite;
    will-change: transform;
}

body.product-detail-body .zms-product-guest-top-promo-track.is-paused {
    animation-play-state: paused;
}

body.product-detail-body .zms-product-guest-top-promo-group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 25px;
    min-height: 31px;
    padding: 0 25px 0 0;
}

body.product-detail-body .zms-product-guest-top-promo-group span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    font-size: 9.5px;
    font-weight: 750;
    white-space: nowrap;
}

body.product-detail-body .zms-product-guest-top-promo-group i {
    font-size: 13px;
}

@keyframes zmxProductGuestReel {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

/* =========================================================
   Desktop product layout
========================================================= */

body.product-detail-body .product-detail-page {
    display: grid;
    width: min(100% - 36px, 1260px);
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
    align-items: start;
    gap: 38px;
    margin: 0 auto;
    padding: 24px 0 34px;
}

body.product-detail-body .mobile-product-carousel-section {
    display: none;
}

body.product-detail-body .product-gallery {
    display: grid;
    min-width: 0;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

body.product-detail-body .thumbnail-column {
    display: grid;
    max-height: clamp(520px, 72vh, 760px);
    gap: 8px;
    overflow-y: auto;
    scrollbar-width: thin;
}

body.product-detail-body .thumbnail-btn {
    display: block;
    width: 72px;
    height: 86px;
    overflow: hidden;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 10px;
    background: #f3f4f4;
    cursor: pointer;
}

body.product-detail-body .thumbnail-btn.active-thumbnail {
    border-color: #17181d;
    box-shadow: 0 0 0 1px #17181d;
}

body.product-detail-body .thumbnail-btn .image-skeleton-wrap,
body.product-detail-body .thumbnail-btn img {
    width: 100%;
    height: 100%;
}

body.product-detail-body .thumbnail-btn img {
    object-fit: cover;
}

body.product-detail-body .main-image-wrap {
    position: relative;
    display: grid;
    width: 100%;
    height: clamp(520px, 72vh, 760px);
    min-width: 0;
    place-items: center;
    overflow: hidden;
    border-radius: 14px;
    background: #f2f3f1;
}

body.product-detail-body .main-image-wrap > .image-skeleton-wrap {
    width: 100%;
    height: 100%;
}

body.product-detail-body .main-detail-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.product-detail-body .gallery-arrow {
    position: absolute;
    top: 50%;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #18191d;
    font-size: 24px;
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.11);
    transform: translateY(-50%);
    cursor: pointer;
}

body.product-detail-body .gallery-arrow-left {
    left: 12px;
}

body.product-detail-body .gallery-arrow-right {
    right: 12px;
}

body.product-detail-body .product-detail-info {
    position: sticky;
    top: calc(var(--zmx-product-header-height) + 18px);
    align-self: start;
    max-height: calc(100vh - var(--zmx-product-header-height) - 34px);
    overflow-y: auto;
    padding: 0 3px 6px 0;
    scrollbar-width: thin;
}

body.product-detail-body .product-title-row {
    display: block;
    margin: 0;
}

body.product-detail-body .product-title-row h1 {
    margin: 0;
    color: #17181d;
    font-size: clamp(24px, 2.8vw, 34px);
    font-weight: 950;
    letter-spacing: -0.045em;
    line-height: 1.08;
    text-wrap: balance;
}

body.product-detail-body .zmx-product-interest-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 11px;
}

body.product-detail-body .zmx-product-interest-pill {
    display: inline-flex;
    min-height: 29px;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f2f3f5;
    color: #33363d;
    font-size: 10px;
    font-weight: 780;
    line-height: 1;
}

body.product-detail-body .zmx-product-interest-pill i {
    font-size: 14px;
}

body.product-detail-body .zmx-product-attributes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin-top: 10px;
    color: #444851;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.45;
}

body.product-detail-body .zmx-product-attributes > span {
    display: inline-flex;
    align-items: center;
}

body.product-detail-body .zmx-product-attributes > span:not(:last-child)::after {
    margin: 0 7px;
    color: #9da0a7;
    content: "•";
}

body.product-detail-body .zmx-product-color-attribute {
    gap: 5px;
}

body.product-detail-body .zmx-product-color-attribute strong {
    font-weight: 720;
}

body.product-detail-body .zmx-product-color-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 50%;
}

body.product-detail-body .detail-price,
body.product-detail-body .detail-sale-price-wrap {
    margin: 13px 0 0;
    color: #17181d;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

body.product-detail-body .detail-sale-price {
    color: #17181d;
    font-size: inherit;
    font-weight: inherit;
}

body.product-detail-body .detail-original-price {
    color: #8b8e96;
    font-size: 13px;
    font-weight: 650;
}

body.product-detail-body .detail-discount-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 8px;
    border-radius: 999px;
    background: #17181d;
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

body.product-detail-body .discount-countdown-pill {
    margin-top: 8px;
}

/* =========================================================
   Like overlay
========================================================= */

body.product-detail-body .zmx-product-like-overlay {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 30;
    display: grid;
    width: 46px;
    justify-items: center;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.13);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

body.product-detail-body .zmx-product-like-overlay form {
    width: 100%;
    margin: 0;
}

body.product-detail-body .zmx-product-like-button {
    display: inline-flex;
    width: 46px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #17181d;
    font-size: 23px;
    text-decoration: none;
    cursor: pointer;
}

body.product-detail-body .zmx-product-like-button.is-liked,
body.product-detail-body .zmx-product-like-button.liked {
    color: #17181d;
}

body.product-detail-body .zmx-product-like-button.is-disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

body.product-detail-body .zmx-product-like-total {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    justify-content: center;
    padding: 0 5px 5px;
    color: #17181d;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

body.product-detail-body .zmx-like-state-image {
    display: none !important;
}

/* =========================================================
   Compact options and description
========================================================= */

body.product-detail-body .mobile-spec-card-shell,
body.product-detail-body .variant-picker,
body.product-detail-body .simple-product-options {
    width: 100%;
}

body.product-detail-body .variant-picker,
body.product-detail-body .simple-product-options {
    display: grid;
    gap: 12px;
    margin-top: 15px;
    padding: 13px;
    border: 1px solid var(--zmx-product-border);
    border-radius: 14px;
    background: #fbfbfc;
}

body.product-detail-body .variant-group {
    display: grid;
    gap: 7px;
    margin: 0;
}

body.product-detail-body .variant-label,
body.product-detail-body .variant-label-row-with-admin-stats .variant-label {
    margin: 0;
    color: #24262c;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
}

body.product-detail-body .color-swatch-row,
body.product-detail-body .size-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.product-detail-body .color-swatch-btn {
    width: 30px;
    height: 30px;
    padding: 4px;
    border: 1px solid #d9dce2;
    border-radius: 50%;
    background: #ffffff;
}

body.product-detail-body .color-swatch-btn.active-color-swatch {
    border-color: #17181d;
    box-shadow: 0 0 0 1px #17181d;
}

body.product-detail-body .color-swatch-circle {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

body.product-detail-body .size-option-btn {
    min-width: 44px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid #d8dbe0;
    border-radius: 9px;
    background: #ffffff;
    color: #25272c;
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
}

body.product-detail-body .size-option-btn.active-size,
body.product-detail-body .size-option-btn.selected-size-option {
    border-color: #17181d;
    background: #17181d;
    color: #ffffff;
}

body.product-detail-body .selected-option-text {
    margin: 0;
    color: #777b84;
    font-size: 9.5px;
    font-weight: 620;
    line-height: 1.35;
}

body.product-detail-body .simple-product-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.product-detail-body .simple-product-options > .selected-option-text {
    grid-column: 1 / -1;
}

body.product-detail-body .detail-description {
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid var(--zmx-product-border);
}

body.product-detail-body .detail-description h2 {
    margin: 0 0 8px;
    color: #1d1f24;
    font-size: 13px;
    font-weight: 930;
    letter-spacing: -0.01em;
}

body.product-detail-body .product-description-copy {
    max-width: 100%;
    overflow-wrap: anywhere;
    color: #51555f;
    font-size: 12px;
    font-weight: 520;
    line-height: 1.62;
    white-space: pre-line;
    word-break: normal;
}

body.product-detail-body .product-description-copy p {
    margin: 0 0 9px;
}

body.product-detail-body .product-description-copy p:last-child {
    margin-bottom: 0;
}

/* =========================================================
   Desktop purchase actions
========================================================= */

body.product-detail-body .detail-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 17px;
}

body.product-detail-body .detail-action-slot,
body.product-detail-body .detail-action-form {
    width: 100%;
    margin: 0;
}

body.product-detail-body .detail-action-button {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid #17181d;
    border-radius: 0;
    background: #ffffff;
    color: #17181d;
    font-size: 11px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    transition:
        background 150ms ease,
        color 150ms ease,
        transform 150ms ease;
}

body.product-detail-body .detail-action-cart .detail-action-button,
body.product-detail-body .detail-action-buy .detail-action-button {
    background: #17181d;
    color: #ffffff;
}

body.product-detail-body .detail-action-button:hover {
    transform: translateY(-1px);
}

body.product-detail-body .detail-action-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
    transform: none;
}

body.product-detail-body .enhanced-admin-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

body.product-detail-body .enhanced-admin-detail-actions a,
body.product-detail-body .enhanced-admin-detail-actions button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid var(--zmx-product-border);
    border-radius: 10px;
    background: #ffffff;
    color: #23252a;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
}

/* =========================================================
   Similar items
========================================================= */

body.product-detail-body .similar-products-section {
    width: min(100% - 36px, 1260px);
    margin: 4px auto 42px;
    padding-top: 21px;
    border-top: 1px solid var(--zmx-product-border);
}

body.product-detail-body .similar-products-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 14px;
}

body.product-detail-body .similar-products-header h2 {
    margin: 0;
    color: #191b20;
    font-size: 21px;
    font-weight: 950;
    letter-spacing: -0.035em;
}

body.product-detail-body .similar-products-header a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border: 1px solid var(--zmx-product-border);
    border-radius: 999px;
    background: #ffffff;
    color: #25272c;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
}

body.product-detail-body .similar-products-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

body.product-detail-body .similar-product-card {
    min-width: 0;
}

body.product-detail-body .similar-product-image-link {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 11px;
    background: #f2f3f2;
}

body.product-detail-body .similar-product-image-link .image-skeleton-wrap,
body.product-detail-body .similar-product-img {
    width: 100%;
    height: 100%;
}

body.product-detail-body .similar-product-img {
    object-fit: cover;
    transition: transform 180ms ease;
}

body.product-detail-body .similar-product-card:hover .similar-product-img {
    transform: scale(1.025);
}

body.product-detail-body .similar-product-title {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 8px;
    color: #25272c;
    font-size: 11px;
    font-weight: 780;
    line-height: 1.35;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.product-detail-body .similar-product-price,
body.product-detail-body .similar-product-price-row {
    margin: 5px 0 0;
    color: #17181d;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.2;
}

body.product-detail-body .similar-sale-price {
    color: #17181d;
    font-weight: 950;
}

body.product-detail-body .similar-original-price {
    color: #8c9098;
    font-size: 10px;
    font-weight: 650;
    text-decoration: line-through;
}

/* =========================================================
   Mobile purchase bar
========================================================= */

body.product-detail-body .zmx-mobile-purchase-bar {
    display: none;
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 900px) {
    :root {
        --zmx-product-header-height: 103px;
    }

    body.product-detail-body {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }

    body.product-detail-body .zmx-product-header-row {
        min-height: var(--zmx-product-header-height);
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px 10px;
        padding: 7px 11px 8px;
    }

    body.product-detail-body .zmx-product-brand-logo {
        display: none;
    }

    body.product-detail-body .zmx-product-brand-name {
        font-size: clamp(19px, 5.7vw, 23px);
    }

    body.product-detail-body .zmx-product-brand-subtitle {
        font-size: 9px;
        letter-spacing: 0.06em;
    }

    body.product-detail-body .zmx-product-header-actions {
        gap: 6px;
    }

    body.product-detail-body .zmx-product-icon-link,
    body.product-detail-body .zmx-product-profile-link {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    body.product-detail-body .zmx-product-admin-link {
        width: 36px;
        min-height: 36px;
        padding: 0;
        border-radius: 50%;
    }

    body.product-detail-body .zmx-product-admin-link span {
        display: none;
    }

    body.product-detail-body .zmx-product-search {
        grid-column: 1 / -1;
    }

    body.product-detail-body .zmx-product-search-inner {
        min-height: 39px;
        grid-template-columns: 17px minmax(0, 1fr) 32px;
        gap: 7px;
        padding: 0 4px 0 11px;
    }

    body.product-detail-body .zmx-product-search-inner > i {
        font-size: 15px;
    }

    body.product-detail-body .zmx-product-search input {
        height: 37px;
        font-size: 11.5px;
    }

    body.product-detail-body .zmx-product-search button {
        width: 32px;
        min-height: 32px;
        padding: 0;
    }

    body.product-detail-body .zmx-product-search button span {
        display: none;
    }

    body.product-detail-body .zmx-product-search button i {
        display: inline;
        font-size: 14px;
    }

    body.product-detail-body .zms-product-guest-top-promo,
    body.product-detail-body .zms-product-guest-top-promo-group {
        min-height: 29px;
    }

    body.product-detail-body .zms-product-guest-top-promo-group span {
        font-size: 8.8px;
    }

    body.product-detail-body .product-detail-page {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0 0 26px;
    }

    body.product-detail-body .product-gallery {
        display: none !important;
    }

    body.product-detail-body .mobile-product-carousel-section {
        position: relative;
        display: block !important;
        width: 100%;
        height: clamp(360px, 58svh, 520px);
        overflow: hidden;
        background: #f2f3f1;
    }

    body.product-detail-body .mobile-product-carousel {
        display: flex !important;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        align-items: stretch !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        aspect-ratio: auto !important;
    }

    body.product-detail-body .mobile-product-carousel::-webkit-scrollbar {
        display: none;
    }

    body.product-detail-body .mobile-product-slide {
        display: grid !important;
        width: 100% !important;
        min-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        flex: 0 0 100% !important;
        place-items: center;
        overflow: hidden !important;
        background: #f2f3f1;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        aspect-ratio: auto !important;
    }

    body.product-detail-body .mobile-product-slide-img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: none !important;
    }

    body.product-detail-body .mobile-carousel-dots {
        position: absolute;
        right: 62px;
        bottom: 15px;
        left: 62px;
        z-index: 25;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        pointer-events: none;
    }

    body.product-detail-body .mobile-carousel-dot {
        width: 7px;
        height: 7px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.65);
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.2);
        pointer-events: auto;
    }

    body.product-detail-body .mobile-carousel-dot.active-mobile-dot {
        background: #ffffff;
        transform: scale(1.25);
    }

    body.product-detail-body .mobile-product-carousel-section
    .zmx-product-like-overlay {
        right: 12px;
        bottom: 12px;
    }

    body.product-detail-body .product-detail-info {
        position: static;
        max-height: none;
        overflow: visible;
        padding: 15px 14px 22px;
    }

    body.product-detail-body .product-title-row h1 {
        font-size: 21px;
        line-height: 1.12;
    }

    body.product-detail-body .zmx-product-interest-row {
        margin-bottom: 10px;
    }

    body.product-detail-body .zmx-product-interest-pill {
        min-height: 27px;
        padding-inline: 9px;
        font-size: 9.5px;
    }

    body.product-detail-body .zmx-product-attributes {
        margin-top: 8px;
        font-size: 11px;
    }

    body.product-detail-body .detail-price,
    body.product-detail-body .detail-sale-price-wrap {
        margin-top: 11px;
        font-size: 20px;
    }

    body.product-detail-body .variant-picker,
    body.product-detail-body .simple-product-options {
        margin-top: 13px;
        padding: 11px;
        border-radius: 12px;
    }

    body.product-detail-body .simple-product-options {
        grid-template-columns: minmax(0, 1fr);
    }

    body.product-detail-body .detail-description {
        margin-top: 14px;
        padding-top: 14px;
    }

    body.product-detail-body .product-description-copy {
        font-size: 11.5px;
        line-height: 1.6;
    }

    /* Mobile keeps only Buy now in the page flow. */
    body.product-detail-body .detail-actions {
        display: block;
        margin-top: 15px;
    }

    body.product-detail-body .detail-action-cart,
    body.product-detail-body .detail-action-offer,
    body.product-detail-body .detail-action-message {
        display: none !important;
    }

    body.product-detail-body .detail-action-buy {
        display: block;
    }

    body.product-detail-body .detail-action-buy .detail-action-button {
        min-height: 46px;
        background: #17181d;
        color: #ffffff;
        font-size: 12px;
    }

    body.product-detail-body .zmx-mobile-purchase-bar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 5600;
        display: grid;
        min-height: 68px;
        grid-template-columns: minmax(68px, auto) minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 7px;
        padding:
            8px
            11px
            calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid #dfe1e5;
        background: rgba(255, 255, 255, 0.985);
        box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.09);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    body.product-detail-body .zmx-mobile-purchase-price {
        display: grid;
        gap: 2px;
        align-content: center;
    }

    body.product-detail-body .zmx-mobile-purchase-price strong {
        color: #17181d;
        font-size: 14px;
        font-weight: 950;
        line-height: 1;
    }

    body.product-detail-body .zmx-mobile-purchase-price span {
        color: #8a8d95;
        font-size: 9px;
        font-weight: 650;
        text-decoration: line-through;
    }

    body.product-detail-body .zmx-mobile-offer-button,
    body.product-detail-body .zmx-mobile-bag-button {
        min-height: 42px;
        padding: 0 7px;
        border: 1px solid #17181d;
        border-radius: 0;
        font-size: 10.5px;
        font-weight: 900;
    }

    body.product-detail-body .zmx-mobile-offer-button {
        background: #ffffff;
        color: #17181d;
    }

    body.product-detail-body .zmx-mobile-bag-button {
        background: #17181d;
        color: #ffffff;
    }

    body.product-detail-body .zmx-mobile-bag-button.is-added {
        background: #2d6e57;
        border-color: #2d6e57;
    }

    body.product-detail-body .zmx-mobile-offer-button:disabled,
    body.product-detail-body .zmx-mobile-bag-button:disabled {
        cursor: not-allowed;
        opacity: 0.45;
    }

    body.product-detail-body .mini-bag-toast {
        bottom: calc(78px + env(safe-area-inset-bottom));
    }

    body.product-detail-body .similar-products-section {
        width: 100%;
        margin: 0 0 26px;
        padding: 19px 14px 0;
    }

    body.product-detail-body .similar-products-header h2 {
        font-size: 18px;
    }

    body.product-detail-body .similar-products-grid {
        display: flex;
        gap: 11px;
        overflow-x: auto;
        padding-bottom: 5px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    body.product-detail-body .similar-products-grid::-webkit-scrollbar {
        display: none;
    }

    body.product-detail-body .similar-product-card {
        width: min(43vw, 180px);
        flex: 0 0 min(43vw, 180px);
        scroll-snap-align: start;
    }

    body.product-detail-body .product-detail-footer {
        padding-bottom: calc(78px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 390px) {
    :root {
        --zmx-product-header-height: 99px;
    }

    body.product-detail-body .zmx-product-brand-name {
        font-size: 18px;
    }

    body.product-detail-body .zmx-product-header-row {
        padding-inline: 9px;
    }

    body.product-detail-body .mobile-product-carousel-section {
        height: clamp(340px, 55svh, 470px);
    }

    body.product-detail-body .zmx-mobile-purchase-bar {
        grid-template-columns: 62px minmax(0, 1fr) minmax(0, 1fr);
        gap: 5px;
        padding-inline: 8px;
    }

    body.product-detail-body .zmx-mobile-offer-button,
    body.product-detail-body .zmx-mobile-bag-button {
        font-size: 9.5px;
    }
}

@media (min-width: 901px) and (max-width: 1100px) {
    body.product-detail-body .zmx-product-header-row {
        grid-template-columns: minmax(190px, auto) minmax(260px, 1fr) auto;
        gap: 14px;
        padding-inline: 16px;
    }

    body.product-detail-body .product-detail-page {
        grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
        gap: 25px;
    }

    body.product-detail-body .similar-products-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    body.product-detail-body .zms-product-guest-top-promo-track {
        animation: none !important;
        transform: none !important;
    }

    body.product-detail-body .zmx-product-header,
    body.product-detail-body .zmx-product-icon-link,
    body.product-detail-body .zmx-product-profile-link,
    body.product-detail-body .zmx-product-admin-link,
    body.product-detail-body .detail-action-button,
    body.product-detail-body .similar-product-img {
        transition-duration: 0.01ms !important;
    }
}


@media (max-width: 900px) {
    body.product-detail-body .zmx-mobile-purchase-bar.is-keyboard-hidden {
        pointer-events: none;
        opacity: 0;
        transform: translateY(110%);
    }
}


/* =========================================================
   Product detail v2 corrections
========================================================= */

/* ---------------------------------------------------------
   Header/search movement
--------------------------------------------------------- */

body.product-detail-body .zmx-product-header-row,
body.product-detail-body .zmx-product-search,
body.product-detail-body .zmx-product-search-inner {
    transition:
        min-height 180ms ease,
        height 180ms ease,
        padding 180ms ease,
        gap 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}

body.product-detail-body .zmx-product-search.is-search-active {
    z-index: 5300;
}

body.product-detail-body .zmx-product-search.is-search-active
.zmx-product-search-inner {
    border-color: #aeb4bd;
    background: #ffffff;
    box-shadow:
        0 0 0 3px rgba(47, 158, 216, 0.09),
        0 9px 22px rgba(15, 23, 42, 0.07);
}

/* ---------------------------------------------------------
   Admin header controls
--------------------------------------------------------- */

body.product-detail-body .zmx-product-admin-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

body.product-detail-body .zmx-product-list-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 13px;
    border: 1px solid #e68122;
    border-radius: 13px;
    background: #f28a25;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(226, 115, 17, 0.14);
    transition:
        background 150ms ease,
        border-color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

body.product-detail-body .zmx-product-list-link:hover {
    border-color: #d66f11;
    background: #df7617;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(214, 111, 17, 0.2);
}

/* ---------------------------------------------------------
   Heart/count becomes one compact circle
--------------------------------------------------------- */

body.product-detail-body .zmx-product-like-overlay {
    display: grid;
    width: 52px;
    height: 52px;
    grid-template-rows: 31px 13px;
    align-content: center;
    justify-items: center;
    overflow: hidden;
    border-radius: 50%;
}

body.product-detail-body .zmx-product-like-overlay form {
    display: grid;
    width: 100%;
    height: 31px;
    place-items: center;
}

body.product-detail-body .zmx-product-like-button {
    width: 100%;
    height: 31px;
    font-size: 21px;
}

body.product-detail-body .zmx-product-like-total {
    min-height: 0;
    height: 13px;
    padding: 0;
    font-size: 8.5px;
    line-height: 13px;
}

/* ---------------------------------------------------------
   Restore a structured details area
--------------------------------------------------------- */

body.product-detail-body .zmx-product-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin-top: 12px;
    border: 1px solid var(--zmx-product-border);
    border-radius: 12px;
    background: var(--zmx-product-border);
}

body.product-detail-body .zmx-product-fact {
    display: grid;
    min-width: 0;
    gap: 3px;
    padding: 9px 10px;
    background: #ffffff;
}

body.product-detail-body .zmx-product-fact > span {
    color: #858993;
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
}

body.product-detail-body .zmx-product-fact > strong {
    min-width: 0;
    overflow: hidden;
    color: #25272d;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.product-detail-body .zmx-product-fact-color {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ---------------------------------------------------------
   Restore the original image presentation
--------------------------------------------------------- */

body.product-detail-body .main-image-wrap {
    display: block;
    height: auto;
    min-height: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

body.product-detail-body .main-image-wrap > .image-skeleton-wrap {
    width: 100%;
    height: auto;
}

body.product-detail-body .main-detail-image {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 640px !important;
    aspect-ratio: 3 / 4;
    object-fit: cover !important;
    object-position: center !important;
    background: #f5f5f5;
}

/* ---------------------------------------------------------
   Restore the original Similar items presentation
--------------------------------------------------------- */

body.product-detail-body .similar-products-section {
    width: min(100%, 1480px);
    margin: 42px auto 42px;
    padding: 0 42px;
    border-top: 0;
}

body.product-detail-body .similar-products-header {
    align-items: flex-end;
    margin-bottom: 18px;
}

body.product-detail-body .similar-products-header h2 {
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.product-detail-body .similar-products-header a {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #111111;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

body.product-detail-body .similar-products-header a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.product-detail-body .similar-products-grid {
    grid-template-columns: repeat(6, minmax(145px, 1fr));
    gap: 22px;
}

body.product-detail-body .similar-product-image-link {
    aspect-ratio: 1 / 1.18;
    border-radius: 14px;
}

body.product-detail-body .similar-product-title {
    margin-top: 9px;
    color: #111111;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.28;
}

body.product-detail-body .similar-product-price,
body.product-detail-body .similar-product-price-row,
body.product-detail-body .similar-sale-price {
    font-size: 14px;
}

/* ---------------------------------------------------------
   Remove excess space around the bottom policy/footer area
--------------------------------------------------------- */

body.product-detail-body .product-detail-footer {
    margin-top: 18px !important;
    padding-top: 12px !important;
    padding-bottom: 14px !important;
}

body.product-detail-body .product-detail-footer-inner {
    gap: 12px !important;
}

body.product-detail-body .product-detail-footer .site-footer-disclaimer {
    margin-top: 3px !important;
}

@media (max-width: 900px) {
    :root {
        --zmx-product-header-height: 101px;
    }

    /* Mobile search has no arrow/button. Pressing Enter submits normally. */
    body.product-detail-body .zmx-product-search-inner {
        grid-template-columns: 17px minmax(0, 1fr);
        padding-right: 11px;
    }

    body.product-detail-body .zmx-product-search button {
        display: none;
    }

    body.product-detail-body .zmx-product-header.is-compact
    .zmx-product-header-row {
        gap: 5px 9px;
        padding-top: 5px;
        padding-bottom: 6px;
    }

    body.product-detail-body .zmx-product-header.is-compact
    .zmx-product-search-inner {
        min-height: 35px;
        transform: translateY(-1px);
    }

    body.product-detail-body .zmx-product-header.is-compact
    .zmx-product-search input {
        height: 33px;
    }

    body.product-detail-body .zmx-product-admin-link,
    body.product-detail-body .zmx-product-list-link {
        width: 36px;
        min-height: 36px;
        padding: 0;
        border-radius: 50%;
    }

    body.product-detail-body .zmx-product-admin-link span,
    body.product-detail-body .zmx-product-list-link span {
        display: none;
    }

    /* Natural-ratio mobile images, matching the prior page behavior. */
    body.product-detail-body .mobile-product-carousel-section {
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
    }

    body.product-detail-body .mobile-product-carousel {
        height: auto !important;
        min-height: 0 !important;
        align-items: flex-start !important;
        background: transparent !important;
        transition: height 220ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    body.product-detail-body .mobile-product-slide {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        background: transparent !important;
    }

    body.product-detail-body .mobile-product-slide-img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: contain !important;
        background: transparent !important;
    }

    body.product-detail-body .mobile-product-carousel-section
    .zmx-product-like-overlay {
        right: 12px;
        bottom: 12px;
    }

    body.product-detail-body .zmx-product-facts {
        margin-top: 10px;
        border-radius: 11px;
    }

    body.product-detail-body .zmx-product-fact {
        padding: 8px 9px;
    }

    body.product-detail-body .zmx-product-fact > strong {
        font-size: 10px;
    }

    /* Message seller appears directly before Buy now. */
    body.product-detail-body .detail-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    body.product-detail-body .detail-action-cart,
    body.product-detail-body .detail-action-offer {
        display: none !important;
    }

    body.product-detail-body .detail-action-message,
    body.product-detail-body .detail-action-buy {
        display: block !important;
    }

    body.product-detail-body .detail-action-message
    .detail-action-button,
    body.product-detail-body .detail-action-buy
    .detail-action-button {
        min-height: 39px;
        height: 39px;
        padding: 0 7px;
        border-radius: 7px;
        font-size: 10px;
    }

    /* Sticky mobile actions now contain only two buttons. */
    body.product-detail-body .zmx-mobile-purchase-bar {
        min-height: 61px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding:
            7px
            10px
            calc(7px + env(safe-area-inset-bottom));
    }

    body.product-detail-body .zmx-mobile-offer-button,
    body.product-detail-body .zmx-mobile-bag-button {
        min-height: 39px;
        border-radius: 7px;
        font-size: 10px;
    }

    /* Similar items returns to the previous compact three-column layout. */
    body.product-detail-body .similar-products-section {
        width: 100%;
        margin: 12px 0 22px;
        padding: 0 12px;
    }

    body.product-detail-body .similar-products-header {
        margin-bottom: 9px;
    }

    body.product-detail-body .similar-products-header h2 {
        font-size: 15px;
    }

    body.product-detail-body .similar-products-header a {
        font-size: 11px;
    }

    body.product-detail-body .similar-products-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        overflow: visible;
        padding-bottom: 0;
    }

    body.product-detail-body .similar-product-card {
        width: auto;
        min-width: 0;
        flex: initial;
    }

    body.product-detail-body .similar-product-title {
        margin-top: 5px;
        font-size: 10.5px;
        line-height: 1.25;
    }

    body.product-detail-body .similar-product-price,
    body.product-detail-body .similar-product-price-row,
    body.product-detail-body .similar-sale-price {
        font-size: 11.5px;
    }
}

@media (max-width: 390px) {
    :root {
        --zmx-product-header-height: 97px;
    }

    body.product-detail-body .zmx-mobile-purchase-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding-inline: 8px;
    }
}


/* =========================================================
   Product detail v3 corrections
========================================================= */

/* Dashboard-style search: rectangular-rounded rather than a pill. */
body.product-detail-body .zmx-product-search-inner {
    min-height: 48px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 0 7px 0 15px;
    border: 1px solid #dcdde3;
    border-radius: 17px;
    background: #ffffff;
    box-shadow:
        0 7px 20px rgba(15, 23, 42, 0.035),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.product-detail-body .zmx-product-search input {
    height: 46px;
    font-size: 14px;
}

body.product-detail-body .zmx-product-search button {
    min-height: 38px;
    border-radius: 13px;
}

/* Do not compress/move the full search header during scrolling. */
body.product-detail-body .zmx-product-header.is-compact
.zmx-product-header-row,
body.product-detail-body .zmx-product-header.is-compact
.zmx-product-search-inner,
body.product-detail-body .zmx-product-header.is-compact
.zmx-product-search input {
    transform: none !important;
}

/* Smaller heart and count inside one circle. */
body.product-detail-body .zmx-product-like-overlay {
    width: 42px;
    height: 42px;
    grid-template-rows: 24px 9px;
    align-content: center;
    gap: 0;
    border-radius: 50%;
}

body.product-detail-body .zmx-product-like-overlay form {
    height: 24px;
}

body.product-detail-body .zmx-product-like-button {
    height: 24px;
    font-size: 17px;
    line-height: 1;
}

body.product-detail-body .zmx-product-like-total {
    height: 9px;
    padding: 0;
    font-size: 7.5px;
    line-height: 9px;
}

/* Restore the older simple detail list instead of boxed cells. */
body.product-detail-body .zmx-product-facts {
    display: none !important;
}

body.product-detail-body .zmx-product-meta-list {
    display: grid;
    gap: 3px;
    margin-top: 13px;
    padding: 11px 0;
    border-top: 1px solid #ececef;
    border-bottom: 1px solid #ececef;
}

body.product-detail-body .zmx-product-meta-row {
    display: grid;
    grid-template-columns: minmax(84px, 0.45fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 12px;
}

body.product-detail-body .zmx-product-meta-row > span {
    color: #737781;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.045em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.product-detail-body .zmx-product-meta-row > strong {
    min-width: 0;
    color: #202126;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.3;
    text-align: right;
    overflow-wrap: anywhere;
}

body.product-detail-body .detail-description {
    margin-top: 10px;
    padding-top: 0;
    border-top: 0;
}

body.product-detail-body .detail-description h2 {
    margin: 0 0 7px;
    color: #18191e;
    font-size: 16px;
    font-weight: 950;
    letter-spacing: -0.025em;
}

body.product-detail-body .product-description-copy {
    color: #34363d;
    font-size: 12.5px;
    font-weight: 520;
    line-height: 1.58;
    overflow-wrap: anywhere;
    white-space: normal;
}

/* Admin and List retain visible labels on mobile. */
body.product-detail-body .zmx-product-admin-link {
    gap: 6px;
}

body.product-detail-body .zmx-product-list-link {
    min-width: 54px;
}

@media (max-width: 900px) {
    body.product-detail-body .zmx-product-search-inner {
        min-height: 39px;
        grid-template-columns: 17px minmax(0, 1fr);
        gap: 7px;
        padding: 0 11px;
        border-radius: 14px;
    }

    body.product-detail-body .zmx-product-search input {
        height: 37px;
        font-size: 11.5px;
    }

    body.product-detail-body .zmx-product-admin-actions {
        gap: 5px;
    }

    body.product-detail-body .zmx-product-admin-link,
    body.product-detail-body .zmx-product-list-link {
        width: auto !important;
        min-width: 0;
        min-height: 35px;
        padding: 0 10px;
        border-radius: 11px;
        font-size: 10px;
    }

    body.product-detail-body .zmx-product-admin-link span,
    body.product-detail-body .zmx-product-list-link span {
        display: inline !important;
    }

    body.product-detail-body .zmx-product-admin-link i {
        display: inline-block;
        font-size: 14px;
    }

    body.product-detail-body .mobile-product-carousel-section
    .zmx-product-like-overlay {
        right: 10px;
        bottom: 10px;
    }

    body.product-detail-body .zmx-product-meta-list {
        margin-top: 10px;
        padding: 9px 0;
    }

    body.product-detail-body .zmx-product-meta-row {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 9px;
    }

    body.product-detail-body .zmx-product-meta-row > span {
        font-size: 9px;
    }

    body.product-detail-body .zmx-product-meta-row > strong {
        font-size: 10px;
    }

    body.product-detail-body .detail-description h2 {
        font-size: 15px;
    }

    body.product-detail-body .product-description-copy {
        font-size: 11.5px;
        line-height: 1.55;
    }
}

@media (max-width: 390px) {
    body.product-detail-body .zmx-product-admin-link,
    body.product-detail-body .zmx-product-list-link {
        padding-inline: 8px;
        font-size: 9.5px;
    }
}


/* =========================================================
   Product detail v4 stability fixes
========================================================= */

/* ---------------------------------------------------------
   The page must not change height when images load or slide.
--------------------------------------------------------- */

@media (max-width: 900px) {
    body.product-detail-body .mobile-product-carousel-section {
        height: clamp(360px, 118vw, 560px) !important;
        min-height: clamp(360px, 118vw, 560px) !important;
        max-height: clamp(360px, 118vw, 560px) !important;
        overflow: hidden !important;
        background: #ffffff !important;
        contain: layout paint;
        overflow-anchor: none;
    }

    body.product-detail-body .mobile-product-carousel {
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        align-items: stretch !important;
        background: #ffffff !important;
        transition: none !important;
        overflow-anchor: none;
    }

    body.product-detail-body .mobile-product-slide {
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    body.product-detail-body .mobile-product-slide-img {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        background: #ffffff !important;
    }
}

/* ---------------------------------------------------------
   Compact size/color controls
--------------------------------------------------------- */

body.product-detail-body .zmx-simple-options-hidden {
    display: none !important;
}

body.product-detail-body .zmx-compact-variant-picker {
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.product-detail-body .zmx-compact-variant-picker
.variant-group {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

body.product-detail-body .zmx-compact-variant-picker
.variant-label-row-with-admin-stats {
    display: flex;
    align-items: center;
}

body.product-detail-body .zmx-compact-variant-picker
.variant-label {
    min-width: 45px;
    color: #777b84;
    font-size: 9px;
}

body.product-detail-body .zmx-compact-variant-picker
.selected-option-text,
body.product-detail-body .zmx-compact-variant-picker
#variantAvailability {
    display: none !important;
}

body.product-detail-body .zmx-compact-variant-picker
.color-swatch-btn {
    width: 27px;
    height: 27px;
}

body.product-detail-body .zmx-compact-variant-picker
.size-option-btn {
    min-width: 38px;
    min-height: 29px;
    padding-inline: 9px;
    border-radius: 8px;
    font-size: 9px;
}

/* ---------------------------------------------------------
   Mobile search button inside the bar
--------------------------------------------------------- */

@media (max-width: 900px) {
    body.product-detail-body .zmx-product-search-inner {
        grid-template-columns: 17px minmax(0, 1fr) auto;
        padding-right: 5px;
    }

    body.product-detail-body .zmx-product-search button {
        display: inline-flex !important;
        min-width: 53px;
        min-height: 30px;
        align-items: center;
        justify-content: center;
        padding: 0 9px;
        border-radius: 10px;
        font-size: 9px;
    }

    body.product-detail-body .zmx-product-search button span {
        display: inline !important;
    }
}

/* ---------------------------------------------------------
   Seamless guest-checkout reel
--------------------------------------------------------- */

body.product-detail-body .zms-product-guest-top-promo,
body.product-detail-body .zms-product-guest-top-promo-inner,
body.product-detail-body .zms-product-guest-top-promo-track,
body.product-detail-body .zms-product-guest-top-promo-group {
    background: #17181d;
}

body.product-detail-body .zms-product-guest-top-promo-track {
    --zmx-reel-distance: 0px;
    --zmx-reel-duration: 30s;

    gap: 0;
    animation: none !important;
    transform: translate3d(0, 0, 0);
}

body.product-detail-body
.zms-product-guest-top-promo-track.is-ready {
    animation:
        zmxProductGuestReelMeasured
        var(--zmx-reel-duration)
        linear
        infinite !important;
}

body.product-detail-body .zms-product-guest-top-promo-group {
    flex: 0 0 auto;
    padding-right: 28px;
}

@keyframes zmxProductGuestReelMeasured {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform:
            translate3d(
                calc(-1 * var(--zmx-reel-distance)),
                0,
                0
            );
    }
}

@media (prefers-reduced-motion: reduce) {
    body.product-detail-body
    .zms-product-guest-top-promo-track.is-ready {
        animation-duration: 80s !important;
    }
}


/* =========================================================
   Product detail v5 final mobile refinements
========================================================= */

/* ---------------------------------------------------------
   Banner starts only after exact loop width is ready.
   Its height is reserved, so nothing on the page jumps.
--------------------------------------------------------- */

body.product-detail-body .zms-product-guest-top-promo-track {
    visibility: hidden;
    opacity: 0;
    animation: none !important;
    transform: translate3d(0, 0, 0);
}

body.product-detail-body
.zms-product-guest-top-promo-track.is-ready {
    visibility: visible;
    opacity: 1;
    animation:
        zmxProductGuestReelMeasured
        var(--zmx-reel-duration)
        linear
        infinite !important;
}

body.product-detail-body
.zms-product-guest-top-promo-track.is-paused {
    animation-play-state: paused !important;
}

/* ---------------------------------------------------------
   Remove the visual gap between the mobile advert and image.
--------------------------------------------------------- */

@media (max-width: 900px) {
    body.product-detail-body .zms-product-guest-top-promo {
        margin: 0 !important;
        border-bottom: 0 !important;
    }

    body.product-detail-body
    .zms-product-guest-top-promo
    + .product-detail-page {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.product-detail-body .mobile-product-carousel-section {
        margin-top: -1px !important;
    }
}

/* ---------------------------------------------------------
   Keep the word Search completely inside the mobile bar.
--------------------------------------------------------- */

@media (max-width: 900px) {
    body.product-detail-body .zmx-product-search-inner {
        grid-template-columns:
            17px
            minmax(0, 1fr)
            50px;
        gap: 6px;
        padding-right: 4px;
    }

    body.product-detail-body .zmx-product-search input {
        min-width: 0;
    }

    body.product-detail-body .zmx-product-search button {
        width: 50px;
        min-width: 50px;
        max-width: 50px;
        min-height: 30px;
        padding: 0 5px;
        overflow: hidden;
        border-radius: 9px;
        box-sizing: border-box;
        font-size: 8.5px;
        line-height: 1;
        text-overflow: clip;
        white-space: nowrap;
    }

    body.product-detail-body .zmx-product-search button span {
        display: block !important;
        width: 100%;
        overflow: hidden;
        text-align: center;
        text-overflow: clip;
        white-space: nowrap;
    }
}

@media (max-width: 360px) {
    body.product-detail-body .zmx-product-search-inner {
        grid-template-columns:
            15px
            minmax(0, 1fr)
            46px;
        gap: 5px;
    }

    body.product-detail-body .zmx-product-search button {
        width: 46px;
        min-width: 46px;
        max-width: 46px;
        padding-inline: 3px;
        font-size: 8px;
    }
}


/* =========================================================
   Product detail v6 — reliable search and advert loop
========================================================= */

/* ---------------------------------------------------------
   Guest checkout advert
   The HTML already contains two identical groups. Moving the full
   track by exactly half its width creates a seamless loop.
--------------------------------------------------------- */

body.product-detail-body .zms-product-guest-top-promo {
    overflow: hidden !important;
    background: #17181d !important;
}

body.product-detail-body .zms-product-guest-top-promo-inner {
    overflow: hidden !important;
    background: #17181d !important;
}

body.product-detail-body .zms-product-guest-top-promo-track {
    display: flex !important;
    width: max-content !important;
    min-width: max-content !important;
    gap: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0);
    animation:
        zmxProductGuestReelV6
        38s
        linear
        infinite !important;
    will-change: transform;
    backface-visibility: hidden;
}

body.product-detail-body .zms-product-guest-top-promo-group {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: max-content !important;
    align-items: center;
    gap: 28px;
    padding-right: 28px;
    background: #17181d !important;
    white-space: nowrap;
}

body.product-detail-body
.zms-product-guest-top-promo-track.is-paused {
    animation-play-state: paused !important;
}

@keyframes zmxProductGuestReelV6 {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

/* ---------------------------------------------------------
   Mobile search
   Remove the Search button and let the input use the whole bar.
   The phone keyboard Search/Enter action still submits the form.
--------------------------------------------------------- */

@media (max-width: 900px) {
    body.product-detail-body .zmx-product-search-inner {
        grid-template-columns:
            17px
            minmax(0, 1fr) !important;
        gap: 7px !important;
        padding-right: 11px !important;
    }

    body.product-detail-body .zmx-product-search button[type="submit"] {
        display: none !important;
    }

    body.product-detail-body .zmx-product-search input {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.product-detail-body .zms-product-guest-top-promo-track {
        animation-duration: 90s !important;
    }
}

/* Depop-style mobile image dots */
@media (max-width: 768px) {
    body.product-detail-body .mobile-carousel-dots {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;

        padding: 0 !important;
        margin: 0 !important;

        background: none !important;
        background-color: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;

        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.product-detail-body .mobile-carousel-dots::before,
    body.product-detail-body .mobile-carousel-dots::after {
        display: none !important;
        content: none !important;
    }

    body.product-detail-body .mobile-carousel-dot {
        width: 8px !important;
        height: 8px !important;
        min-width: 8px !important;
        min-height: 8px !important;

        padding: 0 !important;
        margin: 0 !important;

        background: rgba(255, 255, 255, 0.45) !important;
        border: 0 !important;
        border-radius: 50% !important;
        box-shadow: none !important;

        opacity: 1 !important;
        transform: none !important;
    }

    body.product-detail-body .mobile-carousel-dot.active,
    body.product-detail-body .mobile-carousel-dot.is-active,
    body.product-detail-body .mobile-carousel-dot[aria-current="true"] {
        background: #ffffff !important;
        border: 0 !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================================================
   Product detail mobile navigation — dashboard consistency
   Only the product-detail top bar and mobile drawer are affected.
========================================================= */

body.product-detail-body .zmx-product-menu-toggle {
    display: none;
}

body.product-detail-body .zmx-product-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9500;
    display: block;
    visibility: hidden;
    background: rgba(12, 14, 20, 0.42);
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    transition:
        opacity 260ms ease,
        visibility 0s linear 260ms;
}

body.product-detail-body .zmx-product-menu-backdrop.is-mounted {
    visibility: visible;
    transition-delay: 0s;
}

body.product-detail-body .zmx-product-menu-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
}

body.product-detail-body .zmx-product-menu-panel {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 9600 !important;
    display: block !important;
    visibility: hidden;
    width: min(86vw, 340px) !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 24px 24px 0 !important;
    background: #ffffff !important;
    box-shadow: 18px 0 55px rgba(15, 23, 42, 0.22) !important;
    opacity: 0;
    transform: translate3d(-108%, 0, 0) !important;
    transition:
        transform 320ms cubic-bezier(0.2, 0.82, 0.2, 1),
        opacity 190ms ease,
        visibility 0s linear 320ms !important;
    will-change: transform;
}

body.product-detail-body .zmx-product-menu-panel.is-mounted {
    visibility: visible;
    transition-delay: 0s !important;
}

body.product-detail-body .zmx-product-menu-panel.is-open {
    opacity: 1;
    transform: translate3d(0, 0, 0) !important;
}

body.product-detail-body .zmx-product-menu-panel-inner {
    height: 100%;
    padding:
        max(18px, env(safe-area-inset-top))
        17px
        max(22px, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-header {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: -2px -2px 14px;
    padding: 8px 2px 14px;
    background: rgba(255, 255, 255, 0.95);
    color: #111318;
    font-size: 14px;
    font-weight: 800;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-close {
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--zmx-product-border);
    border-radius: 13px;
    background: #ffffff;
    color: #111318;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section {
    padding: 12px;
    border: 1px solid #ededf1;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
+ .mobile-menu-section {
    margin-top: 11px;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-heading {
    margin: 0 0 8px;
    color: #777777;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-link {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 8px;
    border-radius: 10px;
    color: #111111;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-link:hover,
body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-link:focus-visible {
    background: #f7f7f7;
    color: #111111;
    text-decoration: none;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-badge {
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 999px;
    background: #e53935;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-like-left {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-like-icon {
    font-size: 16px;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-dropdown {
    overflow: hidden;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    background: #ffffff;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    color: #111111;
    font-size: 14px;
    font-weight: 800;
    list-style: none;
    cursor: pointer;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary::-webkit-details-marker {
    display: none;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary-right {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #666666;
    font-size: 12px;
    font-weight: 800;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary-right i {
    font-size: 13px;
    transition: transform 180ms ease;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-list {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    border-top: 0 solid #eeeeee;
    opacity: 0;
    transform: translateY(-4px);
    transition:
        max-height 240ms ease,
        padding 240ms ease,
        border-width 240ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-dropdown[open]
.mobile-category-list {
    max-height: 520px;
    padding: 5px 0;
    border-top-width: 1px;
    opacity: 1;
    transform: translateY(0);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-dropdown[open]
.mobile-category-summary-right i {
    transform: rotate(180deg);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 8px;
    color: #111111;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link:hover,
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link:focus-visible {
    background: #f7f7f7;
    color: #111111;
    text-decoration: none;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link span:last-child {
    color: #777777;
    font-size: 11px;
    font-weight: 800;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-link,
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary,
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link {
    opacity: 0;
    transform: translateX(-9px);
    transition:
        opacity 210ms ease,
        transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
        background 160ms ease;
    transition-delay: 0ms;
}

body.product-detail-body
.zmx-product-menu-panel.is-open
.mobile-menu-link,
body.product-detail-body
.zmx-product-menu-panel.is-open
.mobile-category-summary,
body.product-detail-body
.zmx-product-menu-panel.is-open
.mobile-category-link {
    opacity: 1;
    transform: translateX(0);
    transition-delay:
        calc(var(--zmx-item-index, 0) * 22ms + 70ms);
}

html.zmx-product-menu-lock,
html.zmx-product-menu-lock body {
    overflow: hidden !important;
    overscroll-behavior: none;
}

@media (max-width: 900px) {
    body.product-detail-body .zmx-product-header-row {
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto;
    }

    body.product-detail-body .zmx-product-menu-toggle {
        position: relative;
        display: inline-block;
        width: 43px;
        height: 43px;
        flex: 0 0 43px;
        padding: 0;
        border: 1px solid var(--zmx-product-border);
        border-radius: 15px;
        background: #ffffff;
        box-shadow:
            0 7px 18px rgba(15, 23, 42, 0.045),
            inset 0 1px 0 rgba(255, 255, 255, 0.8);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    body.product-detail-body .zmx-product-menu-line {
        position: absolute;
        left: 11px;
        width: 21px;
        height: 2.5px;
        border-radius: 999px;
        background: #15171b;
        transform-origin: center;
        transition:
            transform 240ms cubic-bezier(0.2, 0.75, 0.2, 1),
            opacity 160ms ease,
            top 240ms cubic-bezier(0.2, 0.75, 0.2, 1);
    }

    body.product-detail-body
    .zmx-product-menu-line:nth-child(1) {
        top: 13px;
    }

    body.product-detail-body
    .zmx-product-menu-line:nth-child(2) {
        top: 20px;
    }

    body.product-detail-body
    .zmx-product-menu-line:nth-child(3) {
        top: 27px;
    }

    body.product-detail-body
    .zmx-product-menu-toggle.is-open
    .zmx-product-menu-line:nth-child(1) {
        top: 20px;
        transform: rotate(45deg);
    }

    body.product-detail-body
    .zmx-product-menu-toggle.is-open
    .zmx-product-menu-line:nth-child(2) {
        opacity: 0;
        transform: scaleX(0.3);
    }

    body.product-detail-body
    .zmx-product-menu-toggle.is-open
    .zmx-product-menu-line:nth-child(3) {
        top: 20px;
        transform: rotate(-45deg);
    }

    body.product-detail-body .zmx-product-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 430px) {
    body.product-detail-body .zmx-product-menu-toggle {
        width: 39px;
        height: 39px;
        flex-basis: 39px;
    }

    body.product-detail-body .zmx-product-menu-line {
        left: 10px;
        width: 19px;
    }

    body.product-detail-body
    .zmx-product-menu-line:nth-child(1) {
        top: 12px;
    }

    body.product-detail-body
    .zmx-product-menu-line:nth-child(2) {
        top: 18px;
    }

    body.product-detail-body
    .zmx-product-menu-line:nth-child(3) {
        top: 24px;
    }

    body.product-detail-body
    .zmx-product-menu-toggle.is-open
    .zmx-product-menu-line:nth-child(1),
    body.product-detail-body
    .zmx-product-menu-toggle.is-open
    .zmx-product-menu-line:nth-child(3) {
        top: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.product-detail-body .zmx-product-menu-panel,
    body.product-detail-body .zmx-product-menu-backdrop,
    body.product-detail-body .zmx-product-menu-line,
    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-menu-link,
    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-category-summary,
    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-category-link,
    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-category-list {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}



/* =========================================================
   Product detail mobile menu v2 — exact dashboard outlines
   Keeps the same ZeroMaxShop menu structure and native details
   dropdown while restoring the outlined account/activity rows.
========================================================= */

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section {
    padding: 14px;
    border: 1px solid #e5e6eb;
    border-radius: 20px;
    background: #ffffff;
    box-shadow:
        0 10px 28px rgba(15, 23, 42, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
+ .mobile-menu-section {
    margin-top: 13px;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-heading {
    margin: 0 0 10px;
    color: #777985;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.065em;
    line-height: 1;
    text-transform: uppercase;
}

/* Direct links inside Account, My Activity, Admin, and Admin Tools. */
body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
> .mobile-menu-link {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 12px;
    border: 1px solid #e5e6eb;
    border-radius: 14px;
    background: #ffffff;
    color: #111318;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 4px 13px rgba(15, 23, 42, 0.025);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
> .mobile-menu-link
+ .mobile-menu-link {
    margin-top: 7px;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
> .mobile-menu-link:hover,
body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
> .mobile-menu-link:focus-visible {
    border-color: #d7d9df;
    background: #f8f8fa;
    color: #111318;
    text-decoration: none;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-section
> .mobile-menu-link:focus-visible,
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary:focus-visible,
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link:focus-visible {
    outline: 3px solid rgba(113, 69, 214, 0.16);
    outline-offset: 2px;
}

/* Shop dropdown: one outlined expandable card, just like dashboard. */
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-dropdown {
    overflow: hidden;
    border: 1px solid #e5e6eb;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 13px rgba(15, 23, 42, 0.025);
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary {
    min-height: 48px;
    padding: 0 12px;
    color: #111318;
    font-size: 14px;
    font-weight: 900;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-summary-right {
    gap: 8px;
    color: #777985;
    font-size: 12px;
    font-weight: 900;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-list {
    max-height: 0;
    overflow: hidden;
    border-top: 0 solid #e5e6eb;
    background: #ffffff;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-dropdown[open]
.mobile-category-list {
    max-height: min(58dvh, 560px);
    padding: 8px 8px 9px;
    overflow-y: auto;
    border-top-width: 1px;
    overscroll-behavior: contain;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link {
    min-height: 39px;
    padding: 0 5px 0 10px;
    border-radius: 10px;
    color: #111318;
    font-size: 13px;
    font-weight: 800;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link:hover,
body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link:focus-visible {
    background: #f7f7fa;
    color: #111318;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-category-link
span:last-child {
    min-width: 24px;
    color: #777985;
    font-size: 12px;
    font-weight: 900;
    text-align: right;
}

body.product-detail-body
.zmx-product-menu-panel
.mobile-menu-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border: 2px solid #ffffff;
    background: #e60023;
    font-size: 10px;
    font-weight: 950;
}

@media (max-width: 430px) {
    body.product-detail-body
    .zmx-product-menu-panel-inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-menu-section {
        padding: 12px;
        border-radius: 18px;
    }

    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-menu-section
    > .mobile-menu-link,
    body.product-detail-body
    .zmx-product-menu-panel
    .mobile-category-summary {
        min-height: 46px;
    }
}

/* Product-detail cart/message count badge */
body.product-detail-body .zmx-product-header-count {
    background: #e60023 !important;
    color: #ffffff !important;
}