@font-face {
    font-family: jpaFont;
    src: url('../fonts/ttf/IRANSansWebFaNum.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

/* v0.6.0 — final responsive product dialogs */
body.pdp-dialog-is-open {
    overflow: hidden !important;
}

#jpaHeaderUI .mobile-bottom-nav{
    display:none;
}

.pdp-modal-close {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 6px;
    border: 0;
    border-radius: 50%;
    color: #343841;
    background: transparent;
    cursor: pointer;
}

.pdp-modal-close:hover { background: #f4f5f7; }
.pdp-modal-close:focus-visible { outline: 2px solid #d71920; outline-offset: 2px; }
.pdp-modal-close svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
}

/* Share dialog */
.pdp-share-modal,
.nm-modal-backdrop,
.pdp-zoom-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483001;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(27, 30, 37, 0.5);
    direction: rtl;
}

.pdp-share-modal[aria-hidden="true"],
.nm-modal-backdrop[aria-hidden="true"],
.pdp-zoom-modal[aria-hidden="true"] { display: none !important; }

.pdp-share-modal__dialog {
    position: relative;
    width: min(92vw, 390px);
    padding: 24px 26px 26px;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(18, 21, 28, 0.2);
    color: #1e2026;
}

.pdp-share-modal__dialog > .pdp-modal-close,
.nm-modal > .pdp-modal-close {
    position: absolute;
    top: 13px;
    left: 13px;
}

.pdp-share-modal h2,
.nm-modal h2 {
    margin: 0 0 24px;
    color: #16181d;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
}

.pdp-share-modal__lead {
    margin: 0 0 12px;
    color: #5d6068;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

.pdp-share-modal__socials {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin: 0 0 18px;
    direction: ltr;
}

.pdp-share-social {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    font-size: 20px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(30, 55, 90, 0.17);
}
.pdp-share-social--facebook { color: #1887ed; background: #eaf5ff; }
.pdp-share-social--twitter { color: #28a9e0; background: #e9f8ff; }
.pdp-share-social--email { color: #e24038; background: #fff0ee; }
.pdp-share-social--whatsapp { color: #17b85a; background: #eafff1; }
.pdp-share-social--telegram { color: #168bc4; background: #eaf7ff; }
.pdp-share-mobile { display: none; }

.pdp-share-modal__field { margin-top: 13px; }
.pdp-share-modal__field label {
    display: block;
    margin-bottom: 6px;
    color: #353841;
    font-size: 11px;
    text-align: right;
}
.pdp-share-modal__field-row { display: flex; gap: 10px; direction: rtl; }
.pdp-share-modal__field-row input {
    min-width: 0;
    flex: 1 1 auto;
    height: 30px;
    padding: 4px 9px;
    border: 1px solid #d6d8dd;
    border-radius: 4px;
    color: #777a82;
    background: #fff;
    font: inherit;
    font-size: 9px;
}
.pdp-share-modal__field-row button,
.nm-btn.primary {
    width: 88px;
    min-height: 30px;
    padding: 5px 10px;
    border: 0;
    border-radius: 5px;
    color: #fff;
    background: #e0161c;
    font: inherit;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: none;
}
.pdp-share-modal__status {
    min-height: 15px;
    margin: 4px 0 -8px;
    color: #277b48;
    font-size: 9px;
    text-align: right;
}

/* Notify dialog */
#nm-root { direction: rtl; text-align: center; font-family: jpaFont, jpa, Tahoma, sans-serif; }
#nm-root .nm-modal {
    position: relative;
    border: 0;
    background: #fff;
    box-shadow: 0 18px 55px rgba(18, 21, 28, 0.2);
    overflow: visible;
}
#nm-root .nm-content { display: grid; padding: 0; }
.nm-notify-section h3,
.nm-phone-section > label {
    display: block;
    margin: 0 0 7px;
    color: #3f424a;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.7;
    text-align: right;
}
.nm-variant-list { display: flex; align-items: flex-start; gap: 7px; overflow-x: auto; scrollbar-width: none;padding: 10px; }
.nm-variant-list::-webkit-scrollbar { display: none; }
.nm-color-option,
.nm-size-option {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    color: #292c32;
    background: transparent;
    font: inherit;
    cursor: pointer;
}
.nm-phone-section{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: normal;
}
.nm-color-option { width: 38px; display: grid; gap: 3px; font-size: 8px; }
.nm-color-option img,
.nm-color-swatch {
    width: 38px;
    height: 48px;
    display: block;
    object-fit: cover;
    border: 1px solid transparent;
    border-radius: 3px;
    background: #f0f1f3;
    margin-bottom: 4px;
}
.nm-color-option.selected img,
.nm-color-option.selected .nm-color-swatch { border-color: #173895; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #173895; }
.nm-size-list { gap: 13px; justify-content: flex-start; padding: 3px; }
.nm-size-option {
    min-width: 28px;
    height: 28px;
    padding: 2px 5px;
    border: 1px solid #dfe1e5;
    border-radius: 4px;
    font-size: 9px;
}
.nm-size-option.selected { border-color: #173895; color: #fff; background: #173895; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #173895; }
.nm-phone-row { display: flex; gap: 10px; direction: rtl; }
#nm-root .nm-input {
    min-width: 0;
    flex: 1 1 auto;
    border: 1px solid #d6d8dd;
    color: #73767e;
    font: inherit;
    text-align: right;
    direction: ltr;
}
#nm-root .nm-error-text { color: #d71920; text-align: right; }
.nm-empty-state { color: #777b83; font-size: 9px; }
#nm-root .nm-loader { background: rgba(255, 255, 255, 0.62); }
#nm-root .nm-message-modal { width: min(88vw, 330px); text-align: center; }
#nm-root .nm-message-modal .nm-content { min-height: 55px; place-items: center; }
#nm-root .nm-message-modal .nm-btn { display: block; margin: 14px auto 0; }

/* Desktop-only gallery zoom */
.pdp-zoom-modal { z-index: 2147483002; padding: 20px; }
.pdp-zoom-modal__dialog {
    position: relative;
    width: min(68vw, 760px);
    min-width: 380px;
    height: min(88vh, 900px);
    height: min(88dvh, 900px);
    min-height: 520px;
    max-width: calc(100vw - 40px) !important;
    max-height: calc(100vh - 40px) !important;
    max-height: calc(100dvh - 40px) !important;
    overflow: hidden !important;
    border-radius: 17px;
    background: #ececf2;
    box-shadow: 0 24px 80px rgba(13, 16, 24, 0.25);
}
.pdp-zoom-modal__close { position: absolute; z-index: 6; top: 22px; left: 22px; }
.pdp-zoom-modal__tools {
    position: absolute;
    z-index: 6;
    top: 24px !important;
    right: 24px !important;
    display: grid;
    gap: 12px;
}
.pdp-zoom-modal__tools button,
.pdp-zoom-modal__tools a {
    width: 49px;
    height: 49px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 11px;
    color: #343841;
    background: #fff;
    font-size: 19px;
    cursor: pointer;
}
.pdp-zoom-modal__tools button:disabled { opacity: 0.45; cursor: default; }
.pdp-zoom-modal__viewport {
    position: absolute;
    inset: 0 !important;
    display: grid;
    place-items: center;
    overflow: hidden !important;
    background: #ececf2;
    cursor: zoom-in;
}
#zoomedImage {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    transform: scale(1);
    transform-origin: var(--pdp-zoom-origin-x, 50%) var(--pdp-zoom-origin-y, 50%) !important;
    transition: transform 150ms ease-out !important;
    will-change: transform;
    cursor: zoom-in !important;
}
.pdp-zoom-modal__arrow {
    position: absolute;
    z-index: 6;
    top: 43%;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #111318;
    background: #fff;
    box-shadow: 0 7px 19px rgba(20, 23, 30, 0.17);
    cursor: pointer;
}
.pdp-zoom-modal__arrow--prev { left: 27px; }
.pdp-zoom-modal__arrow--next { right: 27px; }
.pdp-zoom-modal__strip {
    position: absolute;
    z-index: 6;
    left: 9% !important;
    right: 9% !important;
    bottom: 22px !important;
    height: 86px !important;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.94) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    direction: ltr;
}
.pdp-zoom-modal__strip > button { width: 24px; height: 100%; padding: 0; border: 0; color: #17191e; background: transparent; cursor: pointer; }
.pdp-zoom-modal__thumbs { height: 100%; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.pdp-zoom-modal__thumbs::-webkit-scrollbar { display: none; }
.pdp-zoom-modal__thumb {
    height: 100%;
    aspect-ratio: 0.78;
    flex: 0 0 auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 7px;
    background: #e9e9ef;
    scroll-snap-align: start;
    cursor: pointer;
}
.pdp-zoom-modal__thumb.is-active { border-color: #e31e24; }
.pdp-zoom-modal__thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }

@media (max-width: 767px) {
    .pdp-share-modal,
    .nm-modal-backdrop { padding: 12px; align-items: center; }
    .pdp-share-modal__dialog { width: min(100%, 390px); padding: 16px 13px 17px; border-radius: 10px; }
    .pdp-share-modal__dialog > .pdp-modal-close,
    .nm-modal > .pdp-modal-close { top: 9px; left: 9px; width: 25px; height: 25px; }
    .pdp-share-modal h2,
    .nm-modal h2 { margin-bottom: 18px; font-size: 16px; }
    .pdp-share-modal__lead { margin-bottom: 10px; font-size: 12px; }
    .pdp-share-modal__socials { gap: 14px; margin-bottom: 15px; }
    .pdp-share-social { width: 30px; height: 30px; border-radius: 8px; font-size: 17px; }
    .pdp-share-mobile { display: grid; }
    .pdp-share-desktop { display: none !important; }
    .pdp-share-modal__field { margin-top: 9px;    display: flex;flex-direction: column;justify-content: center;align-items: normal; }
    .pdp-share-modal__field label { margin-bottom: 5px; font-size: 14px; }
    .pdp-share-modal__field-row { gap: 8px; }
    .pdp-share-modal__field-row input { height: 27px; font-size: 10px; }
    .pdp-share-modal__field-row button { width: 59px; min-height: 27px; font-size: 10px; }
    .pdp-share-modal__status { min-height: 11px; margin-bottom: -6px; font-size: 7px; }

    .nm-notify-section h3,
    .nm-phone-section > label { margin-bottom: 5px; font-size: 14px; }
    .nm-variant-list.nm-color-list { gap: 14px; height: 75px;}
    .nm-variant-list.nm-size-list { gap: 10px; height: 40px;}
    .nm-color-option { width: 27px; gap: 2px; font-size: 6.5px; height: 100%;}
    .nm-color-option img,
    .nm-color-swatch { width: 27px; border-radius: 2px; }
    .nm-size-option { min-width: 25px; height: 25px; padding: 2px 4px; font-size: 7px; }
    .nm-phone-row { gap: 8px; }

    #zoomModal { display: none !important; pointer-events: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .pdp-share-modal *,
    .nm-modal-backdrop *,
    .pdp-zoom-modal * { transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* =========================================================
   PDP V2 — approved visual baseline, scoped to .pdp-v2
   Existing modal, related-products and backend hooks remain intact.
   ========================================================= */
.single_product_page_section.pdp-v2 {
    --pdp-red: #e51b23;
    --pdp-red-dark: #cd1119;
    --pdp-navy: #17317f;
    --pdp-text: #111218;
    --pdp-muted: #898d96;
    --pdp-line: #e8e9ed;
    --pdp-soft: #f7f7f8;
    direction: rtl;
    min-inline-size: 0;
    max-inline-size: 100%;
    margin: 0;
    padding: 0;
    color: var(--pdp-text);
    background: #fff;
    font-family: jpaFont, jpa, Tahoma, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
    display:flex !important;
    justify-content:center !important;
    align-items:start !important;
}

@supports (overflow: clip) {
    .pdp-v2 { overflow-x: clip; }
}

.pdp-v2 *,
.pdp-v2 *::before,
.pdp-v2 *::after { box-sizing: border-box; }

.pdp-v2 img { display: block; max-inline-size: 100%; }
.pdp-v2 button,
.pdp-v2 a { font: inherit; font-size: 12px;}
.pdp-v2 button { -webkit-appearance: none; appearance: none; }
.pdp-v2 button,
.pdp-v2 [data-color-id],
.pdp-v2 [data-size-id] { touch-action: manipulation; }
.pdp-v2 a { color: #6D6D74; text-decoration: none; }

.pdp-v2__sprite {
    position: absolute;
    inline-size: 0;
    block-size: 0;
    overflow: hidden;
}

.pdp-v2__container {
    inline-size: min(1344px, calc(100% - 64px));
    margin-inline: auto;
    padding-block: 24px 56px;
}

.pdp-v2 .pdp-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-inline-size: 0;
    margin: 0 0 24px;
    padding: 0;
    color: #7d8189;
    font-size: 12px;
    white-space: nowrap;
}

.pdp-v2 .pdp-breadcrumb svg {
    flex: 0 0 12px;
    inline-size: 12px;
    block-size: 12px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.pdp-v2 .pdp-breadcrumb a:hover { color: var(--pdp-red); }

.pdp-v2 .pdp-hero {
    display: grid;
    grid-template-areas: "summary gallery";
    grid-template-columns: minmax(0, 1fr) 520px;
    align-items: start;
    gap: 70px;
    min-inline-size: 0;
    max-inline-size: 100%;
    direction: ltr;
}

.pdp-v2 .pdp-gallery,
.pdp-v2 .pdp-summary { min-inline-size: 0; direction: rtl; }
.pdp-v2 .pdp-summary { grid-area: summary; }

.pdp-v2 .pdp-gallery {
    grid-area: gallery;
    display: grid;
    grid-template-columns: minmax(0, 375px) minmax(0, 116px);
    align-items: stretch;
    gap: 28px;
    inline-size: 100%;
    max-inline-size: 520px;
    min-block-size: 0;
    overflow: hidden;
    direction: ltr;
}

.pdp-v2 .pdp-gallery__stage {
    position: relative;
    isolation: isolate;
    inline-size: 100%;
    max-inline-size: 375px;
    aspect-ratio: 2 / 3;
    min-inline-size: 0;
    min-block-size: 0;
    max-block-size: 563px;
    overflow: hidden;
    border-radius: 14px;
    background: #e9ebf0;
    contain: layout paint;
}

.pdp-v2 .pdp-gallery-main-swiper {
    position: relative;
    display: block;
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 0;
    max-block-size: 100%;
    overflow: hidden;
    contain: layout paint;
    direction: rtl;
}

.pdp-v2 .pdp-gallery-main-swiper,
.pdp-v2 .pdp-gallery-main-swiper .swiper-wrapper,
.pdp-v2 .pdp-gallery-main-swiper .swiper-slide {
    inline-size: 100%;
    block-size: 100%;
}

.pdp-v2 .pdp-gallery-main-swiper .swiper-wrapper {
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 0;
    max-block-size: 100%;
}

.pdp-v2 .pdp-gallery-main-swiper .swiper-slide {
    flex-shrink: 0;
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 0;
    overflow: hidden;
}

.pdp-v2 .pdp-gallery-main-swiper.is-loading::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(100deg, #eceef2 25%, #f7f8fa 38%, #eceef2 52%);
    background-size: 200% 100%;
    animation: pdp-v2-skeleton 1.2s linear infinite;
}

@keyframes pdp-v2-skeleton {
    to { background-position-x: -200%; }
}

.pdp-v2 .pdp-gallery-main-swiper .swiper-slide img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: center;
    cursor: zoom-in;
}

/* TEMP PDP HERO VIDEO TEST — product 04211 only.
   The video overlays the existing first image, so dimensions, Swiper indexes,
   thumbnails and image fallback behavior stay unchanged. */
.pdp-v2 .pdp-gallery-main-swiper .swiper-slide.pdp-gallery__slide--test-video {
    position: relative;
}

.pdp-v2 .pdp-gallery__test-hero-video {
    position: absolute;
    z-index: 1;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: none;
    display: block;
    border: 0;
    background: transparent;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    transition: opacity 140ms ease-out;
}

.pdp-v2 .pdp-gallery__test-hero-video.is-ready {
    opacity: 1;
}

.pdp-v2 .pdp-gallery__test-hero-video::-webkit-media-controls,
.pdp-v2 .pdp-gallery__test-hero-video::-webkit-media-controls-enclosure,
.pdp-v2 .pdp-gallery__test-hero-video::-webkit-media-controls-panel {
    display: none !important;
    -webkit-appearance: none;
}

.pdp-v2 .pdp-gallery__hotspots {
    position: absolute;
    z-index: 4;
    inset-block-start: 12px;
    inset-inline-end: 12px;
    display: grid;
    gap: 7px;
}
.pdp-v2 .pdp-gallery__hotspots [data-gallery-zoom]{ display: grid; }

.pdp-v2 .pdp-gallery__hotspots button {
    display: grid;
    place-items: center;
    inline-size: 42px;
    block-size: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 10px;
    color: #7b808a;
    background: #F7F7F84D;
    box-shadow: 0 2px 8px rgba(20, 24, 34, .04);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.pdp-v2 .pdp-gallery__hotspots svg {
    inline-size: 20px;
    block-size: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
}

.pdp-v2 .pdp-gallery__hotspots [data-gallery-favorite][aria-pressed="true"] { color: var(--pdp-red); }
.pdp-v2 .pdp-gallery__hotspots [data-gallery-favorite][aria-pressed="true"] svg { fill: currentColor; }
.pdp-v2 .pdp-gallery__hotspots button:focus-visible { outline: 2px solid var(--pdp-navy); outline-offset: 2px; }

.pdp-v2 .pdp-gallery__dots {
   position: absolute;
    z-index: 5;

    left: 50%;
    right: auto;

    bottom: 18px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
flex-direction: row-reverse;
    width: auto !important;

    transform: translateX(-50%);

    direction: ltr;
}

.pdp-v2 .pdp-gallery__dots .swiper-pagination-bullet {
    flex: 0 0 auto;
    inline-size: 10px;
    block-size: 10px;
    margin: 0;
    border-radius: 50% !important;
    background: #fff;
    box-shadow: 0 1px 4px rgba(13, 17, 27, .16);
    opacity: 1;
    transition: inline-size .18s ease, background-color .18s ease;
}

.pdp-v2 .pdp-gallery__dots .swiper-pagination-bullet-active {
    inline-size: 22px;
    background: var(--pdp-red);
    border-radius:12px !important;
}

.pdp-v2 .pdp-gallery-thumbs-swiper {
    align-self: stretch;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: 116px;
    min-block-size: 0;
    max-block-size: 563px;
    overflow: hidden;
    contain: layout paint;
}

.pdp-v2 .pdp-gallery-thumbs-swiper .swiper-wrapper {
    align-items: flex-start !important;
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 0;
}

.pdp-v2 .pdp-gallery__thumb {
    inline-size: 100%;
    height: auto !important;
    block-size: auto !important;
    padding: 0;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 9px;
    background: #eef0f4;
    cursor: pointer;
    opacity: .92;
    transition: border-color .18s ease, opacity .18s ease;
}

.pdp-v2 .pdp-gallery__thumb:hover,
.pdp-v2 .pdp-gallery__thumb:focus-visible,
.pdp-v2 .pdp-gallery__thumb.is-active { border-color: #cfd2da; opacity: 1; }
.pdp-v2 .pdp-gallery__thumb:focus-visible { outline: 2px solid var(--pdp-navy); outline-offset: 2px; }
.pdp-v2 .pdp-gallery__thumb img {
    width: 100% !important;
    inline-size: 100% !important;
    height: auto !important;
    block-size: auto !important;
    object-fit: contain !important;
}

.pdp-v2 .pdp-summary__header {
    padding-block: 2px 24px;
    border-block-end: 1px solid var(--pdp-line);
    text-align: right;
}

.pdp-v2 .pdp-summary__header h1 {
    margin: 0;
    color: #0c0d11;
    font-size: clamp(22px, 1.75vw, 28px);
    font-weight: 700;
    line-height: 1.55;
}

.pdp-v2 .pdp-meta {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    margin-block-start: 22px;
    color: #272a31;
    font-size: 13px;
    display: none !important;
}

.pdp-v2 .pdp-meta > :first-child { justify-self: start; }
.pdp-v2 .pdp-meta > :last-child { justify-self: end; }
.pdp-v2 .pdp-meta a:not(.pdp-rating) { color: var(--pdp-red); }

.pdp-v2 .pdp-rating {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pdp-v2 .pdp-rating b { color: #ffb400; font-size: 18px; font-weight: 400; letter-spacing: 1px; line-height: 1; }
.pdp-v2 .pdp-rating small { color: #3f4249; font-size: 11px; }
.pdp-v2 .pdp-selectors {
    display: flex;
    flex-direction: column;
    margin-block-start: 30px;
}

.pdp-v2 .pdp-selector { min-inline-size: 0; }
.pdp-v2 .pdp-selector--size { order: 1; }
.pdp-v2 .pdp-selector--color { order: 2; margin-block-start: 24px; }

.pdp-v2 .pdp-selector__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-block-size: 30px;
    margin-block-end: 14px;
}

.pdp-v2 .pdp-selector__heading h2 { margin: 0; font-size: 14px; font-weight: 500; }

.pdp-v2 .pdp-size-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-inline-size: 0;
}

.pdp-v2 .pdp-size-list { display: flex; align-items: center; gap: 12px; min-inline-size: 0; }

.pdp-v2 .pdp-size-list button {
    display: grid;
    place-items: center;
    min-inline-size: 45px;
    block-size: 42px;
    padding-inline: 8px;
    border: 1px solid #e2e4e8;
    border-radius: 6px;
    color: #60646d;
    background: #fff;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.pdp-v2 .pdp-size-list button:hover:not(:disabled) { border-color: #aeb4c2; }
.pdp-v2 .pdp-size-list button:focus-visible { outline: 2px solid var(--pdp-navy); outline-offset: 2px; }
.pdp-v2 .pdp-size-list button.is-active { border-color: var(--pdp-navy); color: #fff; background: var(--pdp-navy); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--pdp-navy); }
.pdp-v2 .pdp-size-list button:disabled { color: #b9bcc3; background: #f5f5f6; text-decoration: line-through; cursor: not-allowed; }

.pdp-v2 .pdp-size-guide {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    border: 0;
    color: var(--pdp-navy);
    background: transparent;
    font-size: 14px;
    cursor: pointer;
}

.pdp-v2 .pdp-size-guide svg,
.pdp-v2 .pdp-notify svg {
    inline-size: 24px;
    block-size: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
}

.pdp-v2 .pdp-notify {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    border: 0;
    color: var(--pdp-red);
    background: transparent;
    font-weight: 600;
    cursor: pointer;
}
.pdp-v2 .pdp-notify--mobile { display: none; }

.pdp-v2 .pdp-color-carousel {
    position: relative;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    padding-inline-end: 44px;
    overflow: hidden;
}

.pdp-v2 .pdp-color-swiper {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow: hidden;
}

.pdp-v2 .pdp-color-list {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    min-inline-size: 0;
    max-inline-size: 100%;
    block-size: auto;
}

.pdp-v2 .pdp-color {
    display: grid;
    flex: 0 0 64px;
    inline-size: 64px;
    block-size: 104px;
    grid-template-rows: 76px 21px;
    gap: 5px;
    padding: 0;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #25282f;
    background: transparent;
    font-size: 11px;
    text-align: center;
    cursor: pointer;
}

.pdp-v2 .pdp-color input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.pdp-v2 .pdp-color img {
    inline-size: 100%;
    block-size: 76px;
    box-sizing: border-box;
    background: #eef0f4;
    object-fit: cover;
    transition: border-color .18s ease, opacity .18s ease;
}
.pdp-v2 .pdp-color span {
    min-inline-size: 0;
    overflow: hidden;
    padding-block-end: 3px;
    line-height: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .18s ease, font-weight .18s ease;
}

/* Color thumbnail states — Figma match: one clean border around the full card. */
.pdp-v2 .pdp-color {
    transition: border-color .18s ease, background-color .18s ease;
}
.pdp-v2 .pdp-color img {
    border: 0;
    border-radius: 4px 4px 0 0;
}
.pdp-v2 .pdp-color:hover:not(.is-active) {
    border-color: #d5d8df;
}
.pdp-v2 .pdp-color:focus-within {
    outline: none;
}
.pdp-v2 .pdp-color:focus-within:not(.is-active) {
    border-color: #aeb9da;
}
.pdp-v2 .pdp-color.is-active {
    border: 1px solid #132c89;
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}
.pdp-v2 .pdp-color.is-active img {
    border: 0;
}
.pdp-v2 .pdp-color.is-active span {
    color: #25282f;
    font-weight: 400;
}

.pdp-v2 .pdp-color-next {
    position: absolute;
    z-index: 3;
    inset-inline-end: 2px;
    inset-block-start: 38px;
    display: grid;
    place-items: center;
    inline-size: 32px;
    block-size: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: var(--pdp-red);
    box-shadow: 0 4px 12px rgba(229, 27, 35, .2);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color .18s ease, opacity .18s ease, transform .18s ease;
}
.pdp-v2 .pdp-color-next:hover { background: var(--pdp-red-dark); }
.pdp-v2 .pdp-color-next:active { transform: translateY(-50%) scale(.96); }
.pdp-v2 .pdp-color-next:focus-visible { outline: 2px solid var(--pdp-navy); outline-offset: 2px; }
.pdp-v2 .pdp-color-next[hidden],
.pdp-v2 .pdp-color-next.swiper-button-lock { display: none; }
.pdp-v2 .pdp-color-next svg {
    inline-size: 16px;
    block-size: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.pdp-v2 .pdp-commerce { display: grid; gap: 22px; margin-block-start: 38px; }
.pdp-v2 .pdp-commerce__offers { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; min-inline-size: 0; }
.pdp-v2 .pdp-installments { font-size: 14px; }
.pdp-v2 .pdp-installments p,
.pdp-v2 .pdp-offer-row { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; }
.pdp-v2 .pdp-offer-row { inline-size: auto; min-block-size: 37px; padding: 0; border: 0; color: inherit; background: transparent; text-align: right; }
.pdp-v2 .pdp-notify--desktop { min-block-size: 37px; padding-block: 0; }

.pdp-v2 .pdp-provider {
    display: block;
    flex: 0 0 37px;
    inline-size: 37px;
    block-size: 37px;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.pdp-v2 .pdp-price-card { display: grid; justify-self: end; gap: 18px; inline-size: calc((100% - 36px) / 2); }
.pdp-v2 .pdp-price-card__price { display: flex; align-items: center; justify-content: space-between; gap: 10px; inline-size: 100%; color: var(--pdp-text); white-space: nowrap; }
.pdp-v2 .pdp-price-card__price.has-no-discount { justify-content: flex-end; }
.pdp-v2 .pdp-price-card__price del { color: #8b8e95 !important; font-size: 13px; }
.pdp-v2 .pdp-price-card__price strong { color: var(--pdp-text) !important; font-size: 20px; font-weight: 700; }
.pdp-v2 .pdp-price-card__price > span:last-child { color: var(--pdp-text) !important; font-size: 13px; }
.pdp-v2 .pdp-discount { padding: 4px 12px; border-radius: 999px; color: #fff; background: var(--pdp-navy); font-size: 12px; line-height: 1.6; }

.pdp-v2 .pdp-add-to-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-block-size: 52px;
    padding-inline: 24px;
    border: 0;
    border-radius: 7px;
    color: #fff;
    background: var(--pdp-red);
    font-weight: 600;
    cursor: pointer;
    transition: background-color .18s ease, transform .18s ease;
}
.pdp-v2 .pdp-price-card .pdp-add-to-cart { inline-size: 100%; }
.pdp-v2 .pdp-add-to-cart:hover { background: var(--pdp-red-dark); }
.pdp-v2 .pdp-add-to-cart:active { transform: translateY(1px); }
.pdp-v2 .pdp-add-to-cart:focus-visible { outline: 3px solid #ffb8bb; outline-offset: 2px; }
.pdp-v2 .pdp-add-to-cart svg { inline-size: 22px; block-size: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }

.pdp-v2 .pdp-feedback { min-block-size: 24px; margin: 8px 0 0; color: #267442; font-size: 12px; }
.pdp-v2 .pdp-feedback.is-error,
.pdp-v2 .pdp-field-error { color: var(--pdp-red); }
.pdp-v2 .pdp-field-error { margin: 8px 0 0; font-size: 11px; }
.pdp-v2 .pdp-field-error[hidden] { display: none; }

.pdp-v2 .pdp-async-state { display: inline-flex; align-items: center; gap: 8px; min-block-size: 42px; color: #747881; font-size: 12px; }
.pdp-v2 .pdp-async-state.is-error { color: var(--pdp-red); }
.pdp-v2 .pdp-spinner { inline-size: 18px; block-size: 18px; border: 2px solid #e0e2e7; border-block-start-color: var(--pdp-navy); border-radius: 50%; animation: pdp-v2-spin .7s linear infinite; }
@keyframes pdp-v2-spin { to { transform: rotate(1turn); } }


.pdp-v2 .pdp-details { margin-block-start: 58px; }
.pdp-v2 .pdp-details__mobile-title { display: none; }
.pdp-v2 .pdp-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-block-size: 62px; padding-inline: 18px; border-radius: 9px; background: #fafafb; }
.pdp-v2 .pdp-tabs button { position: relative; border: 0; color: #9a9da5; background: transparent; cursor: pointer; }
.pdp-v2 .pdp-tabs button::after { content: ""; position: absolute; inset-inline: 16px; inset-block-end: 0; block-size: 2px; border-radius: 2px; background: transparent; }
.pdp-v2 .pdp-tabs button:hover { color: #4b4f58; }
.pdp-v2 .pdp-tabs button:focus-visible { outline: 2px solid var(--pdp-navy); outline-offset: -3px; }
.pdp-v2 .pdp-tabs button.is-active { color: var(--pdp-red); font-weight: 700; }
.pdp-v2 .pdp-tabs button.is-active::after { background: var(--pdp-red); }
.pdp-v2 .pdp-tab-panel { padding-block-start: 16px; color: #555963; }
.pdp-v2 .pdp-tab-panel[hidden] { display: none; }
.pdp-v2 .pdp-rich-text { font-size: 13px; line-height: 2; }
.pdp-v2 .pdp-rich-text a { color: var(--pdp-red); }

.pdp-v2 .pdp-feature-list { display: grid; gap: 10px; margin: 0; }
.pdp-v2 .pdp-feature-list > div { display: grid; grid-template-columns: 180px 1fr; gap: 12px; min-block-size: 38px; }
.pdp-v2 .pdp-feature-list dt,
.pdp-v2 .pdp-feature-list dd { display: flex; align-items: center; margin: 0; padding-inline: 22px; border-radius: 8px; background: var(--pdp-soft); font-size: 12px; }
.pdp-v2 .pdp-feature-list dt { justify-content: center; }
.pdp-v2 .pdp-feature-list dd { justify-content: flex-start; }

.pdp-v2 .pdp-show-more { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 22px auto 0; padding: 6px 12px; border: 0; color: var(--pdp-red); background: transparent; font-weight: 600; cursor: pointer; }
.pdp-v2 .pdp-show-more svg { inline-size: 16px; block-size: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transform: rotate(-90deg); transition: transform .18s ease; }
.pdp-v2 .pdp-show-more[aria-expanded="true"] svg { transform: rotate(90deg); }
.pdp-v2 .pdp-mobile-purchase { display: none; }

@media (max-width: 1180px) and (min-width: 769px) {
    .pdp-v2__container { inline-size: min(1080px, calc(100% - 48px)); }
    .pdp-v2 .pdp-hero { grid-template-columns: minmax(0, 1fr) 430px; gap: 40px; }
    .pdp-v2 .pdp-gallery { grid-template-columns: minmax(0, 310px) minmax(0, 92px); max-inline-size: 430px; gap: 18px; }
    .pdp-v2 .pdp-gallery__stage { max-inline-size: 310px; max-block-size: 465px; }
    .pdp-v2 .pdp-gallery-thumbs-swiper { max-inline-size: 92px; max-block-size: 465px; }
    .pdp-v2 .pdp-meta { grid-template-columns: 1fr 1fr; }
    .pdp-v2 .pdp-meta > .pdp-rating { grid-column: 1 / -1; justify-self: center; }
    .pdp-v2 .pdp-color { flex-basis: 52px; inline-size: 52px; block-size: 89px; grid-template-rows: 63px 20px; }
    .pdp-v2 .pdp-color img { block-size: 63px; }
}

@media (max-width: 768px) {
    .pdp-v2 {
        padding-block-end: calc(74px + env(safe-area-inset-bottom, 0px));
        font-size: 12px;
        line-height: 1.65;
    }

    .pdp-v2__container { inline-size: 100%; padding: 10px 12px 34px; }
    .pdp-v2 .pdp-breadcrumb { justify-content: flex-start; gap: 7px; margin: 0 2px 12px; overflow: hidden; color: #8c8f96; font-size: 9px;background-color: #FAFAFA;padding: 12px;border-radius: 2px; }
    .pdp-v2 .pdp-breadcrumb svg { flex-basis: 16px; inline-size: 16px; block-size: 16px;stroke-width: 2; }

    .pdp-v2 .pdp-hero { display: flex; flex-direction: column; gap: 0; direction: rtl; }
    .pdp-v2 .pdp-gallery { display: block; inline-size: 100%; max-inline-size: none; overflow: hidden; }
    .pdp-v2 .pdp-gallery__stage { inline-size: 100%; max-inline-size: none; max-block-size: none; aspect-ratio: 2 / 3; border-radius: 10px; }
    .pdp-v2 .pdp-gallery-thumbs-swiper { display: none; }
    .pdp-v2 .pdp-gallery__hotspots { inset-block-start: 8px; inset-inline-end: 8px; gap: 4px; }
    .pdp-v2 .pdp-gallery__hotspots button { inline-size: 34px; block-size: 34px; border-radius: 8px; }
    .pdp-v2 .pdp-gallery__hotspots svg { inline-size: 17px; block-size: 17px; }
    .pdp-v2 .pdp-gallery__hotspots [data-gallery-zoom]{ display: none; }
    .pdp-v2 .pdp-gallery__dots {  left: 50%;right: auto;bottom: 12px;width: auto!important;transform: translateX(-50%);direction: ltr; }
    .pdp-v2 .pdp-gallery__dots .swiper-pagination-bullet { inline-size: 12px; block-size: 12px; }
    .pdp-v2 .pdp-gallery__dots .swiper-pagination-bullet-active { inline-size: 20px;border-radius: 6px !important; block-size: 12px;}

    .pdp-v2 .pdp-summary { inline-size: 100%; padding:0px 14px; }
    .pdp-v2 .pdp-summary__header { padding-block: 14px 0; border-block-end: 0; text-align: right; }
    .pdp-v2 .pdp-summary__header h1 {
        font-size: clamp(15px, 4.2vw, 17px);
        line-height: 1.55;
        min-inline-size: 0;
        max-inline-size: 100%;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .pdp-v2 .pdp-summary__header h1::-webkit-scrollbar { display: none; }
    .pdp-v2 .pdp-meta { grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; margin-block-start: 8px; inline-size: 100%; font-size: 10px; }
    .pdp-v2 .pdp-meta > span:nth-child(2) { display: none; }
    .pdp-v2 .pdp-rating { margin: 0; }
    .pdp-v2 .pdp-rating b { font-size: 13px; }
    .pdp-v2 .pdp-rating small { font-size: 8px; }
    .pdp-v2 .pdp-selectors { margin-block-start: 18px; }
    .pdp-v2 .pdp-selector--color { order: 1; margin: 0; }
    .pdp-v2 .pdp-selector--size { order: 2; margin-block-start: 24px; }
    .pdp-v2 .pdp-selector__heading { gap: 14px; min-block-size: 24px; margin-block-end: 9px; }
    .pdp-v2 .pdp-selector__heading h2 { font-size: 11px; }

    .pdp-v2 .pdp-color-carousel { padding-inline-end: 0; overflow: hidden; }
    .pdp-v2 .pdp-color-swiper { overflow: hidden; touch-action: pan-y; }
    .pdp-v2 .pdp-color-list { margin: 0; padding: 0; overflow: visible; }
    .pdp-v2 .pdp-color-next { display: none !important; }
    .pdp-v2 .pdp-color { flex-basis: 51px; inline-size: 51px; block-size: 84px; grid-template-rows: 62px 17px; gap: 3px; font-size: 9px; }
    .pdp-v2 .pdp-color img { block-size: 62px; }
    .pdp-v2 .pdp-color span { line-height: 15px; }

    .pdp-v2 .pdp-size-guide { gap: 6px; font-size: 11px;font-weight: bolder; }
    .pdp-v2 .pdp-size-guide svg { inline-size: 19px; block-size: 19px; }
    .pdp-v2 .pdp-size-options { justify-content: space-between; gap: 12px; inline-size: 100%;height: 54px; }
    .pdp-v2 .pdp-size-list { gap: 8px; padding: 0 6px; overflow-x: auto; scrollbar-width: none;height: 100%; }
    .pdp-v2 .pdp-size-list::-webkit-scrollbar { display: none; }
    .pdp-v2 .pdp-size-list button { flex-shrink: 0; min-inline-size: 44px; block-size: 44px; padding-inline: 7px; border-radius: 5px; font-size: 11px; }
    .pdp-v2 .pdp-size-list button.is-active { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--pdp-navy); }
    .pdp-v2 .pdp-notify--mobile { display: inline-flex; padding: 3px 0; font-size: 11px; }
    .pdp-v2 .pdp-notify--desktop { display: none; }
    .pdp-v2 .pdp-notify svg { inline-size: 19px; block-size: 19px; }

    .pdp-v2 .pdp-commerce { display: block; margin-block-start: 21px; }
    .pdp-v2 .pdp-commerce__offers { display: block; }
    .pdp-v2 .pdp-installments { font-size: 11px; }
    .pdp-v2 .pdp-installments .pdp-offer-row { container-type: inline-size; }
    .pdp-v2 .pdp-installments .pdp-offer-row > span {
        min-inline-size: 0;
        font-size: 1.2rem;
        font-size: min(1.2rem, 3.6cqi);
        white-space: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .pdp-v2 .pdp-installments .pdp-offer-row > span::-webkit-scrollbar { display: none; }
    .pdp-v2 .pdp-installments p,
    .pdp-v2 .pdp-offer-row { gap: 8px; margin-block-end: 8px; }
    .pdp-v2 .pdp-provider { flex-basis: 30px; inline-size: 30px; block-size: 30px; }
    .pdp-v2 .pdp-price-card { display: none; }
    .pdp-v2 .pdp-feedback { display: none; }


    .pdp-v2 .pdp-details { margin-block-start: 30px; padding:0px 14px; }
    .pdp-v2 .pdp-details__mobile-title { display: block; margin: 0; padding-block-end: 8px; border-block-end: 1px solid #dfe1e5; font-size: 12px; font-weight: 500; }
    .pdp-v2 .pdp-tabs { display: none; }
    .pdp-v2 .pdp-tab-panel { padding-block-start: 10px; }
    .pdp-v2 .pdp-tab-panel:not([data-panel="features"]) { display: none; }
    .pdp-v2 .pdp-feature-list { gap: 7px; }
    .pdp-v2 .pdp-feature-list > div { grid-template-columns: 94px minmax(0, 1fr); gap: 8px; min-block-size: 36px; }
    .pdp-v2 .pdp-feature-list dt,
    .pdp-v2 .pdp-feature-list dd { justify-content: center; padding-inline: 12px; border-radius: 7px; font-size: 9px; }
    .pdp-v2 .pdp-show-more { gap: 6px; margin-block-start: 10px; font-size: 10px; }
    .pdp-v2 .pdp-show-more svg { inline-size: 12px; block-size: 12px; }

    .pdp-v2 .pdp-mobile-purchase {
        position: fixed;
        z-index: 100;
        inset-inline: 0;
        inset-block-end: 0;
        display: grid;
        grid-template-columns: minmax(0, .8fr) minmax(145px, 1.2fr);
        align-items: center;
        gap: 12px;
        min-block-size: 66px;
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
        border-block-start: 1px solid #e1e2e6;
        border-radius: 16px 16px 0 0;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -5px 20px rgba(16, 18, 24, .07);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }
    .pdp-v2 .pdp-mobile-purchase .pdp-add-to-cart { min-block-size: 45px; padding-inline: 12px; font-size: 11px; }
    .pdp-v2 .pdp-mobile-purchase .pdp-add-to-cart svg { inline-size: 18px; block-size: 18px; }
    .pdp-v2 .pdp-mobile-purchase__price { display: grid; gap: 1px; }
    .pdp-v2 .pdp-mobile-purchase__price > span { display: flex; align-items: center; gap: 6px; color: #8b8e95; font-size: 8px; }
    .pdp-v2 .pdp-mobile-purchase__price b { padding: 1px 6px; border-radius: 999px; color: #fff; background: var(--pdp-red); font-size: 8px; }
    .pdp-v2 .pdp-mobile-purchase__price strong { color: var(--pdp-text) !important; font-size: 16px;margin-right: 10px;}
    .pdp-v2 .pdp-mobile-purchase__price small { color: var(--pdp-text) !important; font-size: 8px; font-weight: 400; }
}

@media (max-width: 340px) {
    .pdp-v2__container { padding-inline: 9px; }
    .pdp-v2 .pdp-size-options { gap: 8px; }
    .pdp-v2 .pdp-size-list { gap: 5px; }
    .pdp-v2 .pdp-size-list button { min-inline-size: 44px; }
    .pdp-v2 .pdp-mobile-purchase { grid-template-columns: 1fr 1.25fr; padding-inline: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .pdp-v2 *,
    .pdp-v2 *::before,
    .pdp-v2 *::after {
        scroll-behavior: auto;
        transition-duration: .01ms;
        animation-duration: .01ms;
        animation-iteration-count: 1;
    }
}

.pdp-v2 *,
.related_products_section *,
.noorin-size-chart *,
.pdp-share-modal *,
#nm-root *,
.noorin-cart-success *,
.noorin-cart-confirm *,
.pdp-zoom-modal *,
#error-box * {
    box-sizing: border-box;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    text-decoration: none;
    font-family: jpaFont, jpa, Tahoma, sans-serif;
    scroll-behavior: smooth;
}

:root {
    --pdp-legacy-red: #d71920;
    --pdp-legacy-gray: #6d6f71;
    --pdp-legacy-light-gray: #bcbec0;
    --pdp-page-light: #f8f9fa;
    --pdp-legacy-white: #ffffff;
    --pdp-legacy-black: #000000;
    --pdp-loading-gray: #ededed;
}

main.main {
    background-color: var(--pdp-page-light);
    direction: rtl;
}

.noorin-size-chart.display_hide,
.noorin-cart-confirm.display_hide { display: none !important; }

.noorin-size-chart.display_flex,
.noorin-cart-confirm.display_flex { display: flex !important; }

/* Minimal compatibility retained from the removed legacy PDP block. */
.pdp-v2 .color_variation_choosed,
.pdp-v2 .size_variation_choosed {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #333;
    line-height: 0.92857rem;
}

@media (max-width: 991px) {
    .noorin-size-chart .mankan_info_text {
        margin: 0;
        font-size: 12pt;
    }
}

.chart_size_loader_container {
    width: 100%;
    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.select_size_loader {

    color: var(--pdp-legacy-red);
    width: 4px;
    aspect-ratio: 1;
    border-radius: 50%;
    box-shadow: 19px 0 0 7px, 38px 0 0 3px, 57px 0 0 0;
    transform: translateX(-38px);
    animation: l21 .5s infinite alternate linear;
}

@keyframes l21 {
    50% {
        box-shadow: 19px 0 0 3px, 38px 0 0 7px, 57px 0 0 3px
    }

    100% {
        box-shadow: 19px 0 0 0, 38px 0 0 3px, 57px 0 0 7px
    }
}



/* chart size modal */
.chart_size_modal_container.modal,
.basket_size_modal_container.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    /* display: none; */
    /* overflow: hidden; */
    outline: 0;
}

.chart_size_modal_container {
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.6);
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(10px, 3vw, 30px) !important;
    z-index: 9999;
}

.chart_size_modal_content {
    max-width: 980px !important;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff !important;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: .3rem;
    outline: 0;
}
.chart_size_modal_body {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1rem;
    margin-right: -15px;
    margin-left: -15px;
    background-color: #fff;
    text-align: center;
}

.chart_size_table_tabs {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    padding: 0px;
}


.chart_size_item_tabs {
    width: 100%;
    min-height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none !important;
    padding: 1rem;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: color, border-bottom-width, border-color 0.2s ease-in-out;
    border-bottom: 1px solid lightgray !important;
    background-color: #fff;
    cursor: pointer;
}

.active_chart_tab {
    border-bottom: 3px solid var(--pdp-legacy-red) !important;
    background-color: #eee;
}

.chart_size_item_tabs h5 {
    color: #151515;
    font-size: 0.9rem;
    font-weight: bold;
}

.size-guide-tab-contents {
    display: flex;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

#chart_size_guide_content {
    display: none;
    width: 100%;
    padding: 15px;
    margin: 0px;
}

.selected_size_title_modal {
    font-size: 20px;
    font-weight: 600;
    color: var(--pdp-legacy-red);
    margin: 0px 4px;
    display: inline-block;
}

.size_guide_tab_text_ul {
    font-size: 0.8125rem;
    font-weight: normal;
    color: #333333;
    line-height: 1.8rem;
    padding: 0 3rem 0 0;
    margin-bottom: 0;
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 5rem;
    unicode-bidi: isolate;
    text-align: right;
}

.size_guide_table {
    width: 100%;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    font-size: 14px;
    margin: 0 auto 50px;
    max-width: 940px;
    display: table;
    border-collapse: separate;
    box-sizing: border-box;
    text-indent: initial;
    unicode-bidi: isolate;
    border-spacing: 0px;
    border-color: gray;
    padding: 0px;
}

.chart_table_title {
    font-size: 18px;
    color: var(--pdp-legacy-red);
    font-weight: 600;
    text-align: center;
}

.size_guide_table_head {
    color: #000;
    background: #f6f6f6;
    display: table-header-group;
    vertical-align: middle;
    unicode-bidi: isolate;
    border-color: inherit;
    text-align: center;
}

.size_guide_table_tr {
    display: table-row;
    vertical-align: inherit;
    unicode-bidi: isolate;
    border-color: inherit;
    font-size: 14px;
}

.size_guide_table_tr.active {
    background-color: var(--pdp-legacy-red) !important;
    color: var(--pdp-legacy-white) !important;
}

.size_guide_table_tr.active .size_guide_table_th {
    background-color: var(--pdp-legacy-red) !important;
    color: var(--pdp-legacy-white) !important;
}

.size_guide_table_th {
    font-size: 14px;
    padding: 1em 1em;
    background: #f6f6f6;
    border-bottom: 1px solid #ccc;
    border-right: 0.5px solid #ccc;
}

.size_guide_table_th:hover {
    background: #D3D3D3;
}

.size_guide_table_tbody {
    display: table-row-group;
    vertical-align: middle;
    unicode-bidi: isolate;
    border-color: inherit;
    font-size: 14px;
}

.size_guide_table_td {
    font-size: 14px;
    padding: 1em 1em;
    border-bottom: 1px solid #ccc;
    border-right: 0.5px solid #ccc;
    vertical-align: top;
    margin: 0 !important;
}

.close_chart_size_modal {
    width: 100%;
    height: 30px;
    display: flex;
    justify-content: start;
    align-items: center;
    margin-top: 10px;
    background-color: transparent;
    cursor: auto !important;
}

/* chart size modal */


/* basket size modal */
.basket_size_modal_container {
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.6);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 30px;
    z-index: 9999;
}

.error_chartSize_container {
    width: 100%;
    height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.error_chartSize_phon {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.error_chartSize_text {
    width: 100%;
    text-align: justify;
    color: var(--pdp-legacy-red);
    font-size: 0.9rem;
}

.error_chartSize_phon p {
    color: var(--pdp-legacy-red);
    font-size: 1.1rem;
    font-weight: 600;
}

.error_chartSize_phon p a {
    color: var(--pdp-legacy-black);
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 600;
}
/* basket size modal */














































































#error-box .button-box {
    margin-top: 30px;
}





/* Related product rails are defined once in the PDP V8 section at the end of this file. */
.pdp-v2 a,
.related_products_section a,
.pdp-share-modal a,
.noorin-size-chart a,
.noorin-cart-confirm a { text-decoration: none !important; }

/* Noorin PDP v2 — scoped size-chart modal */
body.noorin-size-chart-is-open {
    overflow: hidden !important;
    padding-inline-end: var(--noorin-size-chart-scrollbar, 0px);
}

.noorin-size-chart[aria-hidden="true"] {
    display: none !important;
}

.chart_size_modal_container.noorin-size-chart {
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: clamp(14px, 2.4vw, 38px);
    background: rgba(13, 16, 24, 0.54);
    direction: rtl;
    overscroll-behavior: contain;
    z-index: 99999999999 !important;
}

.noorin-size-chart *,
.noorin-size-chart *::before,
.noorin-size-chart *::after {
    box-sizing: border-box;
}

.noorin-size-chart .noorin-size-chart__dialog {
    position: relative;
    width: min(92vw, 1400px);
    max-width: none !important;
    height: min(84vh, 800px);
    max-height: 800px;
    min-height: 620px;
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: #fff !important;
    box-shadow: 0 24px 80px rgba(13, 16, 24, 0.22);
}

.noorin-size-chart .noorin-size-chart__close {
    position: absolute;
    z-index: 5;
    top: 35px;
    left: 43px;
    width: 36px !important;
    height: 36px !important;
    min-height: 0;
    display: grid;
    place-items: center;
    margin: 0 !important;
    padding: 7px;
    border: 0;
    border-radius: 50%;
    color: #373b43;
    background: transparent;
    cursor: pointer !important;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.noorin-size-chart .noorin-size-chart__close:hover {
    color: #15171b;
    background: #f4f5f7;
}

.noorin-size-chart .noorin-size-chart__close:active {
    transform: scale(0.94);
}

.noorin-size-chart .noorin-size-chart__close:focus-visible,
.noorin-size-chart .chart_size_item_tabs:focus-visible {
    outline: 2px solid #dc1f26;
    outline-offset: 3px;
}

.noorin-size-chart .noorin-size-chart__close svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
}

.noorin-size-chart .noorin-size-chart__body {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 34px 46px 38px;
    background: #fff;
    text-align: right;
}

.noorin-size-chart .noorin-size-chart__tabs {
    flex: 0 0 auto;
    width: max-content;
    display: flex;
    justify-content: flex-start;
    gap: 24px;
    margin: 0 0 22px auto;
    padding: 0;
    direction: rtl;
}

.noorin-size-chart .chart_size_item_tabs {
    position: relative;
    width: auto !important;
    min-height: 42px;
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    padding: 2px 8px 11px;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    color: #73757c;
    background: transparent !important;
    font-family: inherit;
    font-size: clamp(15px, 1.05vw, 19px);
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
    cursor: pointer;
    transition: color 160ms ease, border-color 160ms ease;
}

.noorin-size-chart .chart_size_item_tabs.active_chart_tab {
    border-bottom-color: #e31e24 !important;
    color: #15171b;
    font-weight: 700;
}

.noorin-size-chart .noorin-size-chart__panel {
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.noorin-size-chart .noorin-size-chart__panel[hidden] {
    display: none !important;
}

.noorin-size-chart #chart_size_table_content:not([hidden]) {
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100%;
}

.noorin-size-chart #chart_size_guide_content:not([hidden]) {
    display: block !important;
}

.noorin-size-chart .noorin-size-chart__sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.noorin-size-chart .noorin-size-chart__notes {
    flex: 0 0 auto;
    display: grid;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    color: #15171b;
    font-size: clamp(11px, 0.82vw, 14px);
    font-weight: 500;
    line-height: 1.8;
    list-style: none;
    text-align: right;
}

.noorin-size-chart .noorin-size-chart__notes li {
    position: relative;
    margin: 0;
    padding-inline-start: 20px;
    font-size: inherit;
    line-height: inherit;
}

.noorin-size-chart .noorin-size-chart__notes li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    right: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e31e24;
    transform: translateY(-50%);
}

.noorin-size-chart .noorin-size-chart__tables {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    padding: 2px 1px 4px;
    scrollbar-width: thin;
    scrollbar-color: #c8cad0 transparent;
    overscroll-behavior: contain;
}

.noorin-size-chart .noorin-size-chart__table-section {
    margin: 0 0 18px;
}

.noorin-size-chart .noorin-size-chart__table-section:last-child {
    margin-bottom: 0;
}

.noorin-size-chart .noorin-size-chart__table-section .chart_table_title {
    margin: 0 0 9px;
    color: #202329;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
    text-align: right;
}

.noorin-size-chart .noorin-size-chart__table-section--single .chart_table_title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.noorin-size-chart .noorin-size-chart__table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #b9bcc2;
    border-radius: 5px;
    scrollbar-width: thin;
    scrollbar-color: #bfc2c8 transparent;
}

.noorin-size-chart .size_guide_table.noorin-size-chart__table {
    width: 100%;
    min-width: 640px;
    max-width: none;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    direction: rtl;
    color: #111317;
    background: #fff;
}

.noorin-size-chart .noorin-size-chart__table th,
.noorin-size-chart .noorin-size-chart__table td {
    height: 43px;
    padding: 7px 10px;
    border: 0;
    border-left: 1px solid #c8cad0;
    border-bottom: 1px solid #c8cad0;
    color: #111317;
    background: #fff;
    font-size: clamp(10px, 0.75vw, 13px);
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
}

.noorin-size-chart .noorin-size-chart__table tr > *:last-child {
    border-left: 0;
}

.noorin-size-chart .noorin-size-chart__table tbody tr:last-child > * {
    border-bottom: 0;
}

.noorin-size-chart .noorin-size-chart__table thead th {
    background: #fde8e8;
    font-weight: 700;
}

.noorin-size-chart .noorin-size-chart__table tbody th {
    font-weight: 700;
}

.noorin-size-chart .noorin-size-chart__guide-list {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1px 2px 4px;
    scrollbar-width: thin;
    scrollbar-color: #c8cad0 transparent;
    overscroll-behavior: contain;
}

.noorin-size-chart .noorin-size-chart__guide-section {
    width: 100%;
    min-width: 0;
    display: grid;
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(330px, 0.9fr) minmax(440px, 1.1fr);
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-areas:
        "visual heading"
        "visual steps";
    gap: 16px clamp(30px, 4vw, 56px);
    align-items: stretch;
    direction: ltr;
}

.noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section {
    height: auto;
    min-height: 590px;
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid #ececef;
}

.noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

.noorin-size-chart .noorin-size-chart__visual {
    grid-area: visual;
    width: 100%;
    max-width: 520px;
    max-height: 100%;
    aspect-ratio: 1;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #b9bcc2;
    border-radius: 5px;
    background: #ededee;
}

.noorin-size-chart .noorin-size-chart__visual img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
}

.noorin-size-chart .noorin-size-chart__instructions-head {
    grid-area: heading;
    min-width: 0;
    direction: rtl;
    text-align: right;
}

.noorin-size-chart .noorin-size-chart__instructions-head > h3 {
    margin: 0 0 9px;
    color: #111318;
    font-size: clamp(17px, 1.2vw, 22px);
    font-weight: 800;
    line-height: 1.5;
}

.noorin-size-chart .noorin-size-chart__instructions-head > p {
    margin: 0;
    color: #656870;
    font-size: clamp(12px, 0.9vw, 15px);
    font-weight: 400;
    line-height: 2;
}

.noorin-size-chart .noorin-size-chart__steps {
    grid-area: steps;
    display: grid;
    align-content: center;
    gap: 10px;
}

.noorin-size-chart .noorin-size-chart__step {
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 9px 13px;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 3px 18px rgba(30, 34, 43, 0.09);
}

.noorin-size-chart .noorin-size-chart__step-icon {
    /*--noorin-guide-icon-size: 56px;*/
    /*width: var(--noorin-guide-icon-size);*/
    /*height: var(--noorin-guide-icon-size);*/
    /*flex: 0 0 var(--noorin-guide-icon-size);*/
    /*display: block;*/
    /*overflow: hidden;*/
    /*border-radius: 50%;*/
    /*background-image: var(--noorin-guide-sprite);*/
    /*background-repeat: no-repeat;*/
      --noorin-guide-icon-size: 56px;

    width: var(--noorin-guide-icon-size);
    height: var(--noorin-guide-icon-size);
    flex: 0 0 var(--noorin-guide-icon-size);

    display: block;
    overflow: hidden;
    border-radius: 50%;
}

.noorin-size-chart .noorin-size-chart__step-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.noorin-size-chart .noorin-size-chart__step-icon--top {
    background-size: 100% 400%;
    background-position-x: center;
}

.noorin-size-chart .noorin-size-chart__step:nth-child(1) .noorin-size-chart__step-icon--top { background-position-y: 0%; }
.noorin-size-chart .noorin-size-chart__step:nth-child(2) .noorin-size-chart__step-icon--top { background-position-y: 33.333%; }
.noorin-size-chart .noorin-size-chart__step:nth-child(3) .noorin-size-chart__step-icon--top { background-position-y: 66.666%; }
.noorin-size-chart .noorin-size-chart__step:nth-child(4) .noorin-size-chart__step-icon--top { background-position-y: 100%; }

.noorin-size-chart .noorin-size-chart__step-icon--bot {
    background-size: 400% auto;
}

.noorin-size-chart .noorin-size-chart__step:nth-child(1) .noorin-size-chart__step-icon--bot { background-position: 22% 4%; }
.noorin-size-chart .noorin-size-chart__step:nth-child(2) .noorin-size-chart__step-icon--bot { background-position: 78% 4%; }
.noorin-size-chart .noorin-size-chart__step:nth-child(3) .noorin-size-chart__step-icon--bot { background-position: 22% 81%; }
.noorin-size-chart .noorin-size-chart__step:nth-child(4) .noorin-size-chart__step-icon--bot { background-position: 78% 81%; }

.noorin-size-chart .noorin-size-chart__step-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.noorin-size-chart .noorin-size-chart__step-copy strong {
    color: #24262c;
    font-size: clamp(12px, 0.85vw, 15px);
    font-weight: 700;
    line-height: 1.5;
}

.noorin-size-chart .noorin-size-chart__step-copy span {
    color: #656870;
    font-size: clamp(10px, 0.75vw, 13px);
    font-weight: 400;
    line-height: 1.8;
}

.noorin-size-chart .chart_size_loader_container,
.noorin-size-chart .error_chartSize_container {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1100px) {
    .noorin-size-chart .noorin-size-chart__dialog {
        width: min(96vw, 980px);
        height: min(94vh, 820px);
        min-height: 560px;
    }

    .noorin-size-chart .noorin-size-chart__body {
        padding: 38px 42px 40px;
    }

    .noorin-size-chart .noorin-size-chart__close {
        top: 36px;
        left: 36px;
    }

    .noorin-size-chart .noorin-size-chart__tabs {
        margin-bottom: 28px;
    }

    .noorin-size-chart .noorin-size-chart__guide-section {
        grid-template-columns: minmax(300px, 0.9fr) minmax(380px, 1.1fr);
        gap: 34px;
    }

    .noorin-size-chart .noorin-size-chart__step {
        min-height: 94px;
        padding: 10px 14px;
    }

    .noorin-size-chart .noorin-size-chart__step-icon {
        --noorin-guide-icon-size: 70px;
    }
}


@media (prefers-reduced-motion: reduce) {
    .noorin-size-chart *,
    .noorin-size-chart *::before,
    .noorin-size-chart *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* v0.5.1 — mobile size-chart rebuilt from the approved responsive layouts */
@media (max-width: 767px) {
    body.noorin-size-chart-is-open {
        padding-inline-end: 0;
        overscroll-behavior: none;
    }

    .chart_size_modal_container.noorin-size-chart {
        align-items: flex-end;
        padding: 0;
        overflow: hidden;
        background: rgba(18, 20, 26, 0.56);
    }

    .noorin-size-chart .noorin-size-chart__dialog {
        width: 100%;
        height: 100vh;
        height: min(100dvh, 920px);
        max-height: 100vh;
        max-height: 100dvh;
        min-height: 0;
        margin: 0;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -12px 38px rgba(13, 16, 24, 0.14);
    }

    .noorin-size-chart[data-active-panel="table"]:not([data-chart-type="set"]) .noorin-size-chart__dialog {
        height: 72vh;
        height: min(72dvh, 560px);
        min-height: 320px;
    }

    .noorin-size-chart .noorin-size-chart__body {
        height: 100%;
        padding: 15px 13px calc(14px + env(safe-area-inset-bottom, 0px));
        overflow: hidden;
    }

    .noorin-size-chart .noorin-size-chart__close {
        top: 14px;
        left: 11px;
        width: 28px !important;
        height: 28px !important;
        padding: 6px;
        color: #4c4f56;
    }

    .noorin-size-chart .noorin-size-chart__tabs {
        width: max-content;
        max-width: calc(100% - 58px);
        gap: 18px;
        margin: 0 auto 14px;
        padding: 0;
    }

    .noorin-size-chart .chart_size_item_tabs {
        min-height: 30px;
        padding: 1px 3px 7px;
        border-bottom-width: 2px !important;
        font-size: 10px;
        line-height: 1.45;
    }

    .noorin-size-chart .noorin-size-chart__panel {
        flex: 1 1 0;
        height: auto;
        overflow: hidden;
    }

    .noorin-size-chart .noorin-size-chart__notes {
        gap: 7px;
        margin: 0 0 10px;
        font-size: 8px;
        font-weight: 500;
        line-height: 1.75;
    }

    .noorin-size-chart .noorin-size-chart__notes li {
        padding-inline-start: 13px;
    }

    .noorin-size-chart .noorin-size-chart__notes li::before {
        top: 0.78em;
        width: 6px;
        height: 6px;
    }

    .noorin-size-chart .noorin-size-chart__tables {
        width: 100%;
        min-height: 0;
        padding: 0 0 3px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .noorin-size-chart .noorin-size-chart__table-section {
        margin: 0 0 20px;
    }

    .noorin-size-chart .noorin-size-chart__table-section:last-child {
        margin-bottom: 0;
    }

    .noorin-size-chart .noorin-size-chart__table-section .chart_table_title {
        margin: 0 0 7px;
        padding: 1px 8px 1px 0;
        border-right: 2px solid #e31e24;
        color: #202329;
        font-size: 10px;
        font-weight: 800;
        line-height: 1.8;
    }

    .noorin-size-chart .noorin-size-chart__table-section--single .chart_table_title {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }

    .noorin-size-chart .noorin-size-chart__table-scroll {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        border: 0;
        border-radius: 0;
        -webkit-overflow-scrolling: touch;
    }

    .noorin-size-chart .size_guide_table.noorin-size-chart__table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 6px 4px;
        background: transparent;
    }

    .noorin-size-chart .noorin-size-chart__table[data-column-count="6"] { min-width: 300px; }
    .noorin-size-chart .noorin-size-chart__table[data-column-count="7"] { min-width: 350px; }
    .noorin-size-chart .noorin-size-chart__table[data-column-count="8"] { min-width: 400px; }
    .noorin-size-chart .noorin-size-chart__table[data-column-count="9"] { min-width: 450px; }

    .noorin-size-chart .noorin-size-chart__table th,
    .noorin-size-chart .noorin-size-chart__table td {
        height: 20px;
        padding: 3px 2px;
        border: 0 !important;
        border-radius: 3px;
        color: #16181d;
        background: #f7f7f8;
        font-size: 7.5px;
        font-weight: 500;
        line-height: 1.25;
        white-space: nowrap;
    }

    .noorin-size-chart .noorin-size-chart__table thead th {
        color: #22242a;
        background: #fde9e9;
        font-weight: 700;
    }

    .noorin-size-chart .noorin-size-chart__table tbody th {
        background: #f7f7f8;
        font-weight: 700;
    }

    .noorin-size-chart .noorin-size-chart__guide-list {
        height: 100%;
        padding: 0 2px 4px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .noorin-size-chart .noorin-size-chart__guide-section,
    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section {
        width: 100%;
        height: auto;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "heading"
            "visual"
            "steps";
        gap: 10px;
        align-items: start;
        padding: 0 0 20px;
        margin: 0 0 18px;
        border-bottom: 1px solid #ececef;
        direction: rtl;
    }

    .noorin-size-chart .noorin-size-chart__guide-section:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
    }

    .noorin-size-chart .noorin-size-chart__instructions-head {
        grid-area: heading;
        direction: rtl;
        text-align: right;
    }

    .noorin-size-chart .noorin-size-chart__instructions-head > h3 {
        margin: 0 0 6px;
        color: #17191e;
        font-size: 10px;
        font-weight: 800;
        line-height: 1.7;
    }

    .noorin-size-chart .noorin-size-chart__instructions-head > p {
        margin: 0;
        color: #62656c;
        font-size: 8px;
        font-weight: 400;
        line-height: 1.85;
    }

    .noorin-size-chart .noorin-size-chart__visual {
        grid-area: visual;
        width: 100%;
        max-width: none;
        max-height: none;
        aspect-ratio: 1;
        margin: 0;
        border: 0;
        border-radius: 3px;
        background: #dedede;
    }

    .noorin-size-chart .noorin-size-chart__steps {
        grid-area: steps;
        display: grid;
        gap: 9px;
    }

    .noorin-size-chart .noorin-size-chart__step {
        min-height: 62px;
        gap: 9px;
        padding: 7px 9px;
        border: 0;
        border-radius: 7px;
        background: #fff;
        box-shadow: 0 2px 12px rgba(30, 34, 43, 0.09);
    }

    .noorin-size-chart .noorin-size-chart__step-icon {
        --noorin-guide-icon-size: 48px;
    }

    .noorin-size-chart .noorin-size-chart__step-copy {
        gap: 2px;
    }

    .noorin-size-chart .noorin-size-chart__step-copy strong {
        font-size: 9px;
        line-height: 1.55;
    }

    .noorin-size-chart .noorin-size-chart__step-copy span {
        font-size: 7.5px;
        line-height: 1.7;
    }

    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section {
        gap: 8px;
        padding-bottom: 18px;
        margin-bottom: 16px;
    }

    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__steps {
        gap: 5px;
    }

    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__step {
        min-height: 35px;
        gap: 7px;
        padding: 3px 6px;
        border: 1px solid #e7e8eb;
        border-radius: 3px;
        box-shadow: none;
    }

    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__step-icon {
        --noorin-guide-icon-size: 31px;
    }

    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__step-copy strong {
        font-size: 8px;
    }

    .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__step-copy span {
        font-size: 7px;
        line-height: 1.55;
    }

    .noorin-size-chart .chart_size_loader_container,
    .noorin-size-chart .error_chartSize_container {
        min-height: 120px;
    }
}

/* Final size-chart normalization layer. */
html body .noorin-size-chart .noorin-size-chart__dialog {
    width: min(86vw, 1180px);
    height: auto;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    min-height: 0;
    border-radius: 20px;
}
html body .noorin-size-chart .noorin-size-chart__body {
    height: auto;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    padding: 28px 34px 30px;
}
html body .noorin-size-chart .noorin-size-chart__close { top: 25px; left: 30px; width: 31px !important; height: 31px !important; }
html body .noorin-size-chart .noorin-size-chart__tabs { margin-bottom: 20px; }
html body .noorin-size-chart .noorin-size-chart__panel,
html body .noorin-size-chart #chart_size_table_content:not([hidden]) {
    flex: 0 1 auto;
    height: auto;
    max-height: calc(100vh - 138px);
    max-height: calc(100dvh - 138px);
}
html body .noorin-size-chart .noorin-size-chart__tables {
    flex: 0 1 auto;
    max-height: calc(100vh - 250px);
    max-height: calc(100dvh - 250px);
}
html body .noorin-size-chart .noorin-size-chart__guide-list {
    height: auto;
    max-height: calc(100vh - 138px);
    max-height: calc(100dvh - 138px);
}
html body .noorin-size-chart .noorin-size-chart__guide-section,
html body .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section {
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(280px, .88fr) minmax(390px, 1.12fr);
    grid-template-rows: auto auto;
    gap: 13px clamp(24px, 3.2vw, 42px);
    align-items: start;
}
html body .noorin-size-chart .noorin-size-chart__visual { width: min(100%, 390px); max-height: none; }
html body .noorin-size-chart .noorin-size-chart__step { min-height: 61px; padding: 7px 10px; }
html body .noorin-size-chart .noorin-size-chart__step-icon { --noorin-guide-icon-size: 49px; }

#nm-root .nm-modal-backdrop {
    position: fixed;
    inset: 0;
    width: auto;
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(27, 30, 37, .5);
}

#zoomModal.pdp-zoom-modal {
    position: fixed;
    inset: 0;
    width: auto;
    height: auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 20px;
    background: rgba(27, 30, 37, .5);
    z-index: 2147483002;
}
#zoomModal.pdp-zoom-modal[aria-hidden="true"] { display: none !important; }
#zoomModal #zoomedImage {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    cursor: default;
}
#zoomModal #closeZoom.pdp-modal-close {
    top: 22px;
    right: auto;
    left: 22px;
    color: #343841;
    font-size: inherit;
}

@media (max-width: 767px) {
    html body .noorin-size-chart .noorin-size-chart__dialog {
        width: 100%;
        height: auto;
        max-height: 100vh;
        max-height: 100dvh;
        min-height: 0;
        border-radius: 12px 12px 0 0;
    }
    html body .noorin-size-chart[data-active-panel="table"]:not([data-chart-type="set"]) .noorin-size-chart__dialog {
        height: auto;
        max-height: 72vh;
        max-height: 72dvh;
        min-height: auto;
        padding: 20px 0px !important;
    }
    html body .noorin-size-chart[data-active-panel="table"][data-chart-type="set"] .noorin-size-chart__dialog {
        height: min(100vh, 520px);
        height: min(100dvh, 520px);
        min-height: min(460px, 100vh);
        min-height: min(460px, 100dvh);
    }
    html body .noorin-size-chart .noorin-size-chart__body {
        height: 100%;
        max-height: 100vh;
        max-height: 100dvh;
        padding: 14px 13px calc(13px + env(safe-area-inset-bottom, 0px));
    }
    html body .noorin-size-chart[data-active-panel="table"]:not([data-chart-type="set"]) .noorin-size-chart__body { height: 100%; }
    html body .noorin-size-chart .noorin-size-chart__close { top: 13px; left: 10px; width: 27px !important; height: 27px !important; }
    html body .noorin-size-chart .noorin-size-chart__tabs { margin: 0 auto 11px; }
    html body .noorin-size-chart .noorin-size-chart__panel,
    html body .noorin-size-chart #chart_size_table_content:not([hidden]) {
        max-height: calc(100vh - 57px);
        max-height: calc(100dvh - 57px);
    }
    html body .noorin-size-chart .noorin-size-chart__tables {
        max-height: calc(100vh - 142px);
        max-height: calc(100dvh - 142px);
    }
    html body .noorin-size-chart .noorin-size-chart__guide-list {
        height: 100%;
        max-height: calc(100vh - 57px);
        max-height: calc(100dvh - 57px);
    }
    html body .noorin-size-chart .noorin-size-chart__guide-section,
    html body .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        grid-template-areas: "heading" "visual" "steps";
        gap: 8px;
        padding-bottom: 16px;
        margin-bottom: 14px;
    }
    html body .noorin-size-chart .noorin-size-chart__visual { width: 100%; max-width: none; }
    html body .noorin-size-chart .noorin-size-chart__step { min-height: 52px; padding: 5px 7px; }
    html body .noorin-size-chart .noorin-size-chart__step-icon { --noorin-guide-icon-size: 42px; }
    html body .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__step { min-height: 33px; padding: 3px 5px; }
    html body .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__step-icon { --noorin-guide-icon-size: 29px; }
    #nm-root .nm-modal-backdrop { align-items: center; padding: 12px; }
    #zoomModal.pdp-zoom-modal { display: none !important; pointer-events: none !important; }
}

html body .noorin-size-chart .noorin-size-chart__guide-section--set {
    grid-template-areas:
        "visual heading"
        "visual steps";
}

html body .noorin-size-chart .noorin-size-chart__set-step-groups {
    grid-area: steps;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    direction: rtl;
}
html body .noorin-size-chart .noorin-size-chart__set-step-group h4 {
    margin: 0 0 6px;
    color: #22252b;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}
html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__steps {
    display: grid;
    gap: 5px;
}
html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step {
    min-height: 46px;
    padding: 5px 7px;
    border: 1px solid #e7e8eb;
    box-shadow: none;
}
html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step-icon {
    --noorin-guide-icon-size: 64px;
}
html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step-copy strong { font-size: 10px; }
html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step-copy span { font-size: 8px; }

@media (max-width: 767px) {
    html body .noorin-size-chart .noorin-size-chart__guide-section--set {
        grid-template-areas: "heading" "visual" "steps";
    }
    html body .noorin-size-chart .noorin-size-chart__set-step-groups {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    html body .noorin-size-chart .noorin-size-chart__set-step-group h4 {
        margin-bottom: 5px;
        font-size: 8.5px;
    }
    html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step {
        min-height: 33px;
        padding: 3px 5px;
    }
    html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step-icon {
        --noorin-guide-icon-size: 58px;
    }
    html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step-copy strong { font-size: 7.5px; }
    html body .noorin-size-chart .noorin-size-chart__set-step-group .noorin-size-chart__step-copy span { font-size: 6.5px; }
}

.pdp-share-modal *,
.pdp-share-modal *::before,
.pdp-share-modal *::after,
#nm-root *,
#nm-root *::before,
#nm-root *::after,
.pdp-zoom-modal *,
.pdp-zoom-modal *::before,
.pdp-zoom-modal *::after {
    box-sizing: border-box;
}

/* ========================================================================== */
/* PDP v2 cart confirmation + success dialogs — phase 4 / v0.7.0             */
/* ========================================================================== */

body.noorin-cart-dialog-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.basket_size_modal_container.noorin-cart-confirm,
#stateModal.noorin-cart-success {
    direction: rtl;
    font-family: inherit;
    -webkit-font-smoothing: antialiased;
}

.basket_size_modal_container.noorin-cart-confirm *,
.basket_size_modal_container.noorin-cart-confirm *::before,
.basket_size_modal_container.noorin-cart-confirm *::after,
#stateModal.noorin-cart-success *,
#stateModal.noorin-cart-success *::before,
#stateModal.noorin-cart-success *::after {
    box-sizing: border-box;
}

/* Confirmation modal */
.basket_size_modal_container.noorin-cart-confirm {
    position: fixed !important;
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: rgba(36, 39, 46, .52) !important;
    z-index: 2147483005 !important;
}

.basket_size_modal_container.noorin-cart-confirm[aria-hidden="true"] {
    display: none !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog {
    position: relative !important;
    display: block !important;
    width: min(94vw, 1294px) !important;
    height: auto !important;
    max-width: 1294px !important;
    max-height: calc(100vh - 36px) !important;
    max-height: calc(100dvh - 36px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 24px 80px rgba(10, 14, 24, .22) !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-height: calc(100vh - 36px) !important;
    max-height: calc(100dvh - 36px) !important;
    margin: 0 !important;
    padding: 34px 68px 24px !important;
    overflow: auto !important;
    scrollbar-width: thin;
    scrollbar-color: #c8cbd1 transparent;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__close {
    position: absolute !important;
    top: 34px !important;
    right: auto !important;
    left: 58px !important;
    z-index: 3 !important;
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    margin: 0 !important;
    padding: 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #333740 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__close svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__header {
    width: 100%;
    padding-left: 86px;
    text-align: right;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__header h2 {
    margin: 0 0 16px;
    color: #0f1115;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.65;
    text-align: right;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__header h2 strong {
    color: #df1b20;
    font: inherit;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__notes {
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #17191e !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    list-style: none !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__notes li {
    position: relative;
    display: block !important;
    margin: 0 !important;
    padding: 0 17px 0 0 !important;
    text-align: right !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__notes li::before {
    content: "";
    position: absolute;
    top: .73em;
    right: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #df1b20;
    transform: translateY(-50%);
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__mobile-error-note {
    display: none !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__selection {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 78px !important;
    margin: 18px 0 15px !important;
    padding: 14px 35px !important;
    border: 1px solid #b9bcc2 !important;
    border-radius: 3px !important;
    background: #fff !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__choice {
    display: flex;
    align-items: center;
    gap: 44px;
    color: #111318;
    font-size: 15px;
    white-space: nowrap;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__choice > strong {
    font-weight: 800;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__color,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__size {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-weight: 700;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__choice b {
    font-weight: 800;
}

.basket_size_modal_container.noorin-cart-confirm [data-cart-confirm-swatch] {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(0, 0, 0, .035);
    border-radius: 50%;
    background: #eadcb5;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__size b {
    display: grid;
    place-items: center;
    min-width: 54px;
    height: 30px;
    padding: 0 14px;
    border-radius: 4px;
    background: #cff6d2;
    color: #24842b;
    font-size: 17px;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__stock {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 37px;
    padding: 6px 14px;
    border: 1px solid #a9e4ae;
    border-radius: 4px;
    background: #f4fff5;
    color: #26852e;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__stock svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__tables {
    display: grid !important;
    gap: 15px !important;
    width: 100% !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-section {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-section .chart_table_title {
    margin: 0;
    padding-right: 10px;
    border-right: 3px solid #df1b20;
    color: #16181d;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.7;
    text-align: right;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-scroll {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

.basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table {
    width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    border: 1px solid #b7bbc1 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    table-layout: fixed !important;
    direction: rtl !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table th,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table td {
    height: 50px !important;
    padding: 5px 9px !important;
    border: 0 !important;
    border-left: 1px solid #cdd0d5 !important;
    border-bottom: 1px solid #cdd0d5 !important;
    background: #fff !important;
    color: #111318 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr > :last-child {
    border-left: 0 !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tbody tr:last-child > * {
    border-bottom: 0 !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead th {
    height: 58px !important;
    background: #fbe7e8 !important;
    color: #111318 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tbody th {
    font-weight: 800 !important;
}

.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.is-selected > *,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.active > * {
    background: #c9f4cc !important;
    color: #23812b !important;
    font-weight: 800 !important;
}

.basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn.noorin-cart-confirm__submit {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 49px !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn .final_addTO_basket_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 283px !important;
    min-width: 0 !important;
    height: 49px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 1px solid #e31a1e !important;
    border-radius: 6px !important;
    background: #e31a1e !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn .final_addTO_basket_btn:disabled {
    cursor: wait !important;
    opacity: .72 !important;
}

/* Success modal */
#stateModal.noorin-cart-success {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    padding: 18px !important;
    background: rgba(36, 39, 46, .52) !important;
    backdrop-filter: none !important;
    z-index: 2147483006 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

#stateModal.noorin-cart-success.active,
#stateModal.noorin-cart-success[aria-hidden="false"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__dialog {
    position: relative !important;
    width: 418px !important;
    min-height: 258px !important;
    max-width: calc(100vw - 36px) !important;
    margin: 0 !important;
    padding: 34px 30px 32px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 20px 65px rgba(12, 15, 25, .2) !important;
    animation: none !important;
    transform: translateY(-18px) !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
}

#stateModal.noorin-cart-success .noorin-cart-success__icon {
    display: grid !important;
    place-items: center !important;
    width: 78px !important;
    height: 78px !important;
    margin: 0 auto 24px !important;
    border-radius: 50% !important;
    background: #2dcc38 !important;
    color: #fff !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__icon svg {
    width: 48px;
    height: 48px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#stateModal.noorin-cart-success .noorin-cart-success__title {
    width: 100%;
    margin: 0 !important;
    color: #17191e !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.9 !important;
    text-align: center !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__actions .sm-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 169px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #e31a1e !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__continue {
    order: 1;
    background: #fff !important;
    color: #e31a1e !important;
}

#stateModal.noorin-cart-success .noorin-cart-success__view {
    order: 2;
    background: #e31a1e !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    .basket_size_modal_container.noorin-cart-confirm {
        background: rgba(23, 25, 30, .5) !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog {
        height: min(82.8vh, 520px) !important;
        height: min(82.8dvh, 520px) !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        border-radius: 14px 14px 0 0 !important;
        box-shadow: 0 -8px 28px rgba(12, 15, 24, .13) !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body {
        height: 100% !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        padding: 16px 16px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        overflow-y: auto !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__close {
        top: 14px !important;
        left: 13px !important;
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        padding: 2px !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__header {
        padding: 0 22px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__header h2 {
        margin: 0 0 12px;
        padding: 0 2px;
        font-size: 13px;
        line-height: 1.75;
        text-align: center;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__notes {
        gap: 5px !important;
        font-size: 8px !important;
        line-height: 1.85 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__notes li {
        padding-right: 12px !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__notes li::before {
        top: .75em;
        width: 6px;
        height: 6px;
    }

    /*.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__assurance-note {*/
    /*    display: none !important;*/
    /*}*/

    /*.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__mobile-error-note {*/
    /*    display: block !important;*/
    /*}*/

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__selection {
        min-height: 40px !important;
        margin: 10px 0 10px !important;
        padding: 5px 8px !important;
        border-color: #d8dade !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__choice {
        gap: 8px;
        font-size: 7px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__color,
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__size {
        gap: 4px;
    }

    .basket_size_modal_container.noorin-cart-confirm [data-cart-confirm-swatch] {
        width: 17px;
        height: 17px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__size b {
        min-width: 28px;
        height: 17px;
        padding: 0 6px;
        font-size: 8px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__stock {
        gap: 3px;
        min-height: 20px;
        padding: 2px 5px;
        font-size: 6.5px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__stock svg {
        width: 12px;
        height: 12px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__tables {
        gap: 10px !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-section {
        gap: 4px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-section .chart_table_title {
        padding-right: 6px;
        border-right-width: 2px;
        font-size: 8.5px;
    }

    .basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table {
        min-width: 0 !important;
        border: 0 !important;
        border-collapse: separate !important;
        border-spacing: 3px 3px !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table th,
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table td {
        height: 18px !important;
        padding: 2px 3px !important;
        border: 0 !important;
        border-radius: 3px !important;
        background: #f6f6f7 !important;
        font-size: 7px !important;
        line-height: 1.1 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead th {
        height: 20px !important;
        background: #fbe7e8 !important;
        font-size: 7px !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tbody th {
        font-size: 7.5px !important;
    }

    /*.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.is-selected > *,*/
    /*.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.active > * {*/
    /*    background: #cdf5d0 !important;*/
    /*    color: #237b29 !important;*/
    /*    font-size: 8px !important;*/
    /*}*/

    .basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn.noorin-cart-confirm__submit {
        min-height: 34px !important;
        margin-top: auto !important;
        padding-top: 13px !important;
    }

    .basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn .final_addTO_basket_btn {
        width: 135px !important;
        height: 34px !important;
        padding: 0 12px !important;
        border-radius: 3px !important;
        font-size: 9px !important;
    }

    #stateModal.noorin-cart-success {
        align-items: flex-start !important;
        padding: 17.2vh 18px 18px !important;
        padding: 17.2dvh 18px 18px !important;
    }

    #stateModal.noorin-cart-success .noorin-cart-success__dialog {
        width: 314px !important;
        min-height: 203px !important;
        max-width: calc(100vw - 36px) !important;
        padding: 18px 17px 28px !important;
        border-radius: 12px !important;
        transform: none !important;
    }

    #stateModal.noorin-cart-success .noorin-cart-success__icon {
        width: 64px !important;
        height: 64px !important;
        margin-bottom: 14px !important;
    }

    #stateModal.noorin-cart-success .noorin-cart-success__icon svg {
        width: 42px;
        height: 42px;
    }

    #stateModal.noorin-cart-success .noorin-cart-success__title {
        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    #stateModal.noorin-cart-success .noorin-cart-success__actions {
        gap: 14px !important;
        margin-top: 19px !important;
    }

    #stateModal.noorin-cart-success .noorin-cart-success__actions .sm-btn {
        width: 132px !important;
        height: 34px !important;
        border-radius: 6px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 390px) and (max-height: 680px) {
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog {
        height: min(82.8vh, 485px) !important;
        height: min(82.8dvh, 485px) !important;
    }
}

/* =========================================================
   PDP V2.1 — inventory / zoom / detail UX hardening
   Scoped additions only; existing PDP visual baseline remains intact.
   ========================================================= */

/* Main gallery thumbnail hardening is consolidated into the canonical gallery rules above. */
.pdp-v2 .pdp-gallery__thumb--skeleton {
    min-height: 138px;
    border-color: transparent !important;
    background: linear-gradient(100deg, #eceef2 25%, #f7f8fa 38%, #eceef2 52%);
    background-size: 200% 100%;
    animation: pdp-v2-skeleton 1.2s linear infinite;
    pointer-events: none;
}

/* Disabled size rows are the stock-state UI; they are not validation errors. */
.pdp-v2 .pdp-size-list button.is-unavailable,
.pdp-v2 .pdp-size-list button.pdp-size-placeholder,
.pdp-v2 .pdp-size-list button:disabled {
    color: #b7bac2 !important;
    background: #f5f5f6 !important;
    border-color: #e5e6ea !important;
    text-decoration: line-through;
    cursor: not-allowed !important;
    opacity: 1;
}

/* Inline size chart inside the details tab / mobile accordion.
   Mirrors the modal table language, but stays lighter inside page content. */
.pdp-v2 .pdp-detail-accordion { display: contents; }
.pdp-v2 .pdp-detail-accordion__trigger { display: none; }
.pdp-v2 .pdp-inline-size-chart { width: 100%; }
.pdp-v2 .pdp-inline-size-chart__tables {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    min-width: 0;
}
.pdp-v2 .pdp-inline-size-chart__tables:not([data-chart-type="set"]) {
    max-width: 940px;
    margin-inline: auto;
}
.pdp-v2 .pdp-inline-size-chart .noorin-size-chart__table-section {
    margin: 0;
    min-width: 0;
}
.pdp-v2 .pdp-inline-size-chart .chart_table_title {
    margin: 0 0 7px;
    color: #202329;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.7;
}
.pdp-v2 .pdp-inline-size-chart .noorin-size-chart__table-section--single .chart_table_title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}
.pdp-v2 .pdp-inline-size-chart .noorin-size-chart__table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #dfe1e6;
    border-radius: 7px;
    background: #fff;
    scrollbar-width: thin;
}
.pdp-v2 .pdp-inline-size-chart .size_guide_table {
    width: 100% !important;
    min-width: 100%;
    max-width: none !important;
    margin: 0 !important;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    direction: rtl;
    background: #fff;
}
.pdp-v2 .pdp-inline-size-chart .size_guide_table th,
.pdp-v2 .pdp-inline-size-chart .size_guide_table td {
    height: 31px;
    padding: 4px 6px;
    border: 0;
    border-left: 1px solid #e2e4e8;
    border-bottom: 1px solid #e2e4e8;
    border-radius: 0;
    background: #fff;
    color: #30333a;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.45;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
}
.pdp-v2 .pdp-inline-size-chart .size_guide_table tr > *:last-child { border-left: 0; }
.pdp-v2 .pdp-inline-size-chart .size_guide_table tbody tr:last-child > * { border-bottom: 0; }
.pdp-v2 .pdp-inline-size-chart .size_guide_table thead th {
    background: #f6f6f7;
    color: #202329;
    font-weight: 600;
}
.pdp-v2 .pdp-inline-size-chart .size_guide_table tbody th { font-weight: 600; }
.pdp-v2 .pdp-inline-size-chart__loading,
.pdp-v2 .pdp-inline-size-chart__error {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #eceef1;
    border-radius: 6px;
    background: #fafafb;
    color: #747881;
    font-size: 10px;
}
.pdp-v2 .pdp-inline-size-chart__error { color: var(--pdp-red); }

@media (min-width: 769px) {
    .pdp-v2 .pdp-inline-size-chart__tables[data-chart-type="set"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 14px;
    }
    .pdp-v2 .pdp-inline-size-chart__tables[data-chart-type="set"] .noorin-size-chart__table-section {
        min-width: 0;
    }
    .pdp-v2 .pdp-inline-size-chart__tables[data-chart-type="set"] .size_guide_table th,
    .pdp-v2 .pdp-inline-size-chart__tables[data-chart-type="set"] .size_guide_table td {
        padding-inline: 4px;
        font-size: 9px;
    }
}

/* Desktop zoom final sizing is consolidated into the canonical zoom rules above. */
#zoomedImage.is-hover-zoomed {
    transform: scale(1.8) !important;
    cursor: zoom-out !important;
}
.pdp-zoom-modal__viewport.is-loading::after {
    content: "";
    position: absolute;
    z-index: 5;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(100deg, rgba(236,238,242,.06) 25%, rgba(255,255,255,.38) 38%, rgba(236,238,242,.06) 52%);
    background-size: 200% 100%;
    animation: pdp-v2-skeleton 1s linear infinite;
}

@media (max-width: 768px) {
    /* Measurement guide: remove the large illustration on mobile, keep instructions compact. */
    html body .noorin-size-chart .noorin-size-chart__guide-section,
    html body .noorin-size-chart[data-chart-type="set"] .noorin-size-chart__guide-section {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        grid-template-areas: "heading" "steps" !important;
        gap: 8px !important;
    }
    html body .noorin-size-chart .noorin-size-chart__visual,
    html body .noorin-size-chart .noorin-size-chart__set-visual {
        display: none !important;
    }
    html body .noorin-size-chart .noorin-size-chart__steps,
    html body .noorin-size-chart .noorin-size-chart__set-step-groups {
        grid-area: steps;
        width: 100%;
    }
    html body .noorin-size-chart .noorin-size-chart__guide-list {
        padding: 2px 2px 6px !important;
    }

    /* Features stay visible; all remaining desktop tabs become independent mobile accordions. */
    .pdp-v2 .pdp-detail-accordion {
        display: block;
        border-bottom: 1px solid #e3e4e8;
    }
    .pdp-v2 .pdp-detail-accordion__trigger {
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 2px;
        border: 0;
        color: #22252c;
        background: transparent;
        font-size: 11px;
        font-weight: 600;
        text-align: right;
        cursor: pointer;
    }
    .pdp-v2 .pdp-detail-accordion__trigger svg {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        transition: transform .2s ease;
        transform: rotate(-90deg);
    }
    .pdp-v2 .pdp-detail-accordion__trigger[aria-expanded="true"] svg {
        transform: rotate(90deg);
    }
    .pdp-v2 .pdp-detail-accordion .pdp-tab-panel:not([hidden]) {
        display: block !important;
        padding: 2px 2px 14px !important;
    }
    .pdp-v2 .pdp-detail-accordion .pdp-rich-text {
        font-size: 10px;
        line-height: 1.95;
    }
    .pdp-v2 .pdp-detail-accordion .pdp-inline-size-chart .size_guide_table {
        min-width: 330px;
    }
    .pdp-v2 .pdp-detail-accordion .pdp-inline-size-chart .size_guide_table th,
    .pdp-v2 .pdp-detail-accordion .pdp-inline-size-chart .size_guide_table td {
        height: 25px;
        padding: 3px 4px;
        font-size: 8px;
    }
    .pdp-v2 .pdp-details > .pdp-tab-panel[data-panel="features"] {
        padding-bottom: 8px;
    }
}


/* =========================================================
   PDP Size Guide Visual
   Desktop only
   top / bot = 1:1
   set       = 2:3
   no crop + viewport-safe
   ========================================================= */

@media (min-width: 768px) {

    /*
     * بیشترین ارتفاعی که تصویر اجازه دارد اشغال کند.
     * این عدد بر اساس ارتفاع viewport تعیین می‌شود تا
     * خود تصویر باعث اسکرول عمودی Modal نشود.
     */
    .noorin-size-chart .noorin-size-chart__guide-section {
        --size-guide-visual-max-h: min(52dvh, 500px);
    }


    /* ---------- Common visual ---------- */

    .noorin-size-chart .noorin-size-chart__visual {
        display: grid;
        place-items: center;

        margin-inline: auto;

        min-width: 0;
        min-height: 0;

        overflow: visible;
    }

    .noorin-size-chart .noorin-size-chart__visual > img {
        display: block;

        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 100%;

        object-fit: contain;

        /* هیچ Crop یا Distortion */
        object-position: center;
    }


    /* =====================================================
       TOP / BOTTOM
       Main images are 1:1
       ===================================================== */

    .noorin-size-chart
    .noorin-size-chart__guide-section--top
    .noorin-size-chart__visual,

    .noorin-size-chart
    .noorin-size-chart__guide-section--bot
    .noorin-size-chart__visual {

        /*
         * چون 1:1 است:
         * عرض از ارتفاع مجاز بیشتر نمی‌شود.
         */
        width: min(
            100%,
            var(--size-guide-visual-max-h)
        );

        height: auto;
        aspect-ratio: 1 / 1;
    }


    /* =====================================================
       SET
       Main image is 2:3
       ===================================================== */

    .noorin-size-chart
    .noorin-size-chart__guide-section--set
    .noorin-size-chart__set-visual {

        /*
         * نکته اصلی:
         *
         * ارتفاع مبنای محاسبه است.
         * برای نسبت 2:3:
         *
         * width = height × 2/3
         *
         * بنابراین تصویر هیچ‌وقت به خاطر عرض زیاد
         * ارتفاع Modal را بلند نمی‌کند.
         */
        width: min(
            100%,
            calc(var(--size-guide-visual-max-h) * 1 / 2)
        );

        height: auto;
        aspect-ratio: 1 / 2;

        margin-inline: auto;

        display: grid;
        place-items: center;
    }


    .noorin-size-chart
    .noorin-size-chart__set-visual > img {

        width: 100%;
        height: 100%;

        object-fit: contain;
        object-position: center;
    }
}

/* PDP V2.1 availability control */
.pdp-v2 [data-add-to-cart]:disabled {
    opacity: .52;
    cursor: not-allowed !important;
    transform: none !important;
}

/* V7.1 — notify modal when every variant is currently available. */
#nm-root .nm-notify-modal.nm-notify-modal--all-available {
    height: auto !important;
    min-height: 0;
    padding-block: 24px !important;
}
#nm-root .nm-notify-modal--all-available .nm-content {
    display: block;
}
#nm-root .nm-notify-modal--all-available .nm-error-text {
    min-height: 0;
    margin: 0;
    text-align: center;
}
#nm-root .nm-empty-state--all-available {
    display: block;
    padding: 18px 12px 8px;
    color: #4f535c;
    font-size: 11px;
    line-height: 1.9;
    text-align: center;
}


/* =========================================================
   PDP V7.3 — stable zoom + initial thumbnail skeletons
   ========================================================= */

/* Before Swiper is initialized, force the thumbnail placeholders to look like
   image cards rather than collapsed horizontal rules. */
.pdp-v2 .pdp-gallery-thumbs-swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    height: auto !important;
    transform: none !important;
}
.pdp-v2 .pdp-gallery-thumbs-swiper:not(.swiper-initialized) .pdp-gallery__thumb--skeleton {
    display: block !important;
    width: 100% !important;
    inline-size: 100% !important;
    height: 124px !important;
    block-size: 124px !important;
    min-height: 124px !important;
    flex: 0 0 124px !important;
    border: 0 !important;
    border-radius: 9px !important;
}

/* Keep one stable desktop dialog size from the first animation frame through
   High-Res loading. The image uses contain and hover-scale inside this box. */
@media (min-width: 768px) {
    #zoomModal .pdp-zoom-modal__dialog {
        width: min(72vw, 840px) !important;
        height: min(88vh, 880px) !important;
        height: min(88dvh, 880px) !important;
        min-width: min(620px, calc(100vw - 40px)) !important;
        min-height: min(620px, calc(100vh - 40px)) !important;
        min-height: min(620px, calc(100dvh - 40px)) !important;
        max-width: calc(100vw - 40px) !important;
        max-height: calc(100vh - 40px) !important;
        max-height: calc(100dvh - 40px) !important;
        overflow: hidden !important;
    }
}

/* Consolidated active PDP compatibility rules. */
/* Size confirmation modal: keep CTA centered and accessible. */
.basket_size_modal_container .chart_size_modal_content {
  width: min(94vw, 1180px) !important;
  max-height: min(92vh, 860px) !important;
  overflow: auto !important;
  border-radius: 16px !important;
}

.product__addTO_basket_final {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 58px !important;
  height: auto !important;
  padding: 10px 16px !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
}

.final_addTO_basket_btn {
  margin: 0 !important;
  line-height: 1.8 !important;
  min-height: 0 !important;
  width: auto !important;
}

@media (max-width: 640px) {
  .basket_size_modal_container .chart_size_modal_content {
    width: 100% !important;
    max-height: 88vh !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .chart_size_table_tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .product__addTO_basket_final {
    border-radius: 14px !important;
    margin-top: 12px !important;
  }
}

/* Out-of-stock / unfortunate modal polish. */
#error-box {
  width: min(92vw, 430px) !important;
  border-radius: 24px !important;
  padding: 28px 24px !important;
  box-shadow: 0 24px 70px rgba(16,24,40,.24) !important;
}

#error-box .message h1 {
  font-size: clamp(22px, 5vw, 32px) !important;
  line-height: 1.5 !important;
}

#error-box .message p {
  font-size: clamp(15px, 3.6vw, 20px) !important;
  line-height: 1.9 !important;
}

#error-box .button-box,
#error-box .button-box h5 {
  width: 100% !important;
  text-align: center !important;
}

#error-box .button-box h5 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  border-radius: 14px !important;
}
/* PDP-only mobile header cart adaptation; replaces former inline JS styles. */
#header_mobile_cart_icon .pdp-mobile-cart-trigger {
    position: relative;
    cursor: pointer;
}
#header_mobile_cart_icon .pdp-mobile-cart-trigger > .basket_num_header {
    position: absolute;
    top: -6px;
    right: -6px;
    padding: 1px 6px;
    border-radius: 50%;
    color: #fff;
    background: red;
    font-size: 12px;
}


/* =========================================================
   PDP V8 — detail content, reviews and paired product rails
   Scope is intentionally limited to the product page additions.
   ========================================================= */

/* Desktop detail panel host. Each content type owns its own surface below. */
@media (min-width: 769px) {
    .pdp-v2 .pdp-details {
        padding-bottom: 30px;
    }

    .pdp-v2 .pdp-detail-accordion > .pdp-tab-panel {
        box-sizing: border-box;
        width: 100%;
        min-height: 0;
        margin: 0;
        padding: 16px 0 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }
}

/* Details content system: shared language, content-specific layouts. */
.pdp-v2 .pdp-description,
.pdp-v2 .pdp-care,
.pdp-v2 .pdp-reviews-panel {
    width: 100%;
    min-width: 0;
    color: #34373e;
}

/* Description */
.pdp-v2 .pdp-description {
    display: grid;
    gap: 12px;
}

.pdp-v2 .pdp-description__main {
    padding: 18px 20px;
    border: 1px solid #ececef;
    border-radius: 10px;
    background: #fff;
}

.pdp-v2 .pdp-description__main p {
    margin: 0;
    color: #555963;
    font-size: 13px;
    line-height: 2.1;
    text-align: right;
}

.pdp-v2 .pdp-description__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.pdp-v2 .pdp-description__fact {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
    min-height: 46px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--pdp-soft);
}

.pdp-v2 .pdp-description__fact:only-child,
.pdp-v2 .pdp-description__fact--wide {
    grid-column: 1 / -1;
}

.pdp-v2 .pdp-description__fact > span,
.pdp-v2 .pdp-description__fact > strong {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 10px 16px;
}

.pdp-v2 .pdp-description__fact > span {
    justify-content: center;
    color: #777b83;
    font-size: 11px;
    font-weight: 500;
}

.pdp-v2 .pdp-description__fact > strong {
    color: #30333a;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.9;
}

.pdp-v2 .pdp-description__note {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border: 1px solid #eeeeef;
    border-radius: 8px;
    color: #686b73;
    background: #fafafb;
}

.pdp-v2 .pdp-description__note > span {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 1px solid #d8dae0;
    border-radius: 50%;
    color: #666a72;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

.pdp-v2 .pdp-description__note p {
    margin: 0;
    color: inherit;
    font-size: 11px;
    line-height: 1.9;
}

/* Care */
.pdp-v2 .pdp-care__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.pdp-v2 .pdp-care__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    min-height: 110px;
    padding: 18px;
    border: 1px solid #ececef;
    border-radius: 10px;
    background: #fff;
}

.pdp-v2 .pdp-care__number {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--pdp-red);
    background: #fff1f2;
    font-size: 10px;
    font-weight: 700;
}

.pdp-v2 .pdp-care__item > div {
    min-width: 0;
}

.pdp-v2 .pdp-care__item strong {
    display: block;
    margin: 0 0 5px;
    color: #2e3138;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.8;
}

.pdp-v2 .pdp-care__item p {
    margin: 0;
    color: #777b83;
    font-size: 11px;
    line-height: 1.95;
}

/* Reviews */
.pdp-v2 .pdp-reviews-panel {
    color: #252830;
}

.pdp-v2 .pdp-reviews {
    width: 100%;
}

.pdp-v2 .pdp-reviews__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border-radius: 10px;
    background: var(--pdp-soft);
}

.pdp-v2 .pdp-reviews__intro {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
}

.pdp-v2 .pdp-reviews__intro > p {
    margin: 0;
    color: #24262c;
    font-size: 13px;
    font-weight: 500;
}

.pdp-v2 .pdp-reviews__summary,
.pdp-v2 .pdp-review-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #5e6169;
    font-size: 11px;
    direction: rtl;
    white-space: nowrap;
}

.pdp-v2 .pdp-review-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #c7c9ce;
    direction: ltr;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1;
}

.pdp-v2 .pdp-review-stars > .is-filled {
    color: #f2c500;
}

.pdp-v2 .pdp-reviews__add {
    flex: 0 0 auto;
    width: auto;
    min-width: 116px;
    min-height: 38px;
    margin: 0;
    padding: 7px 18px;
    border: 1px solid var(--pdp-red);
    border-radius: 7px;
    color: #202329;
    background: #fff;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.pdp-v2 .pdp-reviews__add:hover {
    color: var(--pdp-red);
    background: #fffafa;
}

.pdp-v2 .pdp-reviews__add:focus-visible,
.pdp-v2 .pdp-reviews__more:focus-visible {
    outline: 2px solid #ffb8bb;
    outline-offset: 2px;
}

.pdp-v2 .pdp-reviews__list {
    display: grid;
    gap: 14px;
}

.pdp-v2 .pdp-review-card {
    min-height: 175px;
    padding: 24px 28px 20px;
    border: 1px solid #e2e4e7;
    border-radius: 13px;
    background: #fff;
}

.pdp-v2 .pdp-review-card[hidden] {
    display: none;
}

.pdp-v2 .pdp-review-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.pdp-v2 .pdp-review-card__author {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.pdp-v2 .pdp-review-card__author strong {
    color: #24262c;
    font-size: 13px;
    font-weight: 700;
}

.pdp-v2 .pdp-review-card__author span {
    color: var(--pdp-red);
    font-size: 11px;
}

.pdp-v2 .pdp-review-card__rating b {
    color: #34373e;
    font-size: 11px;
    font-weight: 500;
}

.pdp-v2 .pdp-review-card__body {
    margin: 25px 0 0;
    color: #666a72;
    font-size: 12px;
    line-height: 2;
}

.pdp-v2 .pdp-review-card__footer {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 31px;
    color: #888c94;
    font-size: 10px;
}

.pdp-v2 .pdp-review-card__footer svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.pdp-v2 .pdp-reviews__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 17px auto 0;
    padding: 5px 10px;
    border: 0;
    color: var(--pdp-red);
    background: transparent;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.pdp-v2 .pdp-reviews__more svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    transform: rotate(-90deg);
}

.pdp-v2 .pdp-reviews__empty {
    padding: 26px 18px;
    border: 1px dashed #dfe1e5;
    border-radius: 10px;
    color: #777b83;
    background: #fcfcfd;
    font-size: 11px;
    text-align: center;
}

/* Review dialog */
body.pdp-review-is-open {
    overflow: hidden !important;
}

.pdp-review-modal {
    position: fixed;
    z-index: 2147483005;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(20, 22, 26, .54);
    opacity: 0;
    transition: opacity .18s ease;
}

.pdp-review-modal.is-open {
    opacity: 1;
}

.pdp-review-modal__dialog {
    position: relative;
    width: min(746px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    overflow: auto;
    padding: 24px 34px 24px;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
    direction: rtl;
    transform: translateY(8px) scale(.99);
    transition: transform .18s ease;
}

.pdp-review-modal.is-open .pdp-review-modal__dialog {
    transform: none;
}

.pdp-review-modal__dialog h2 {
    margin: 0 0 16px;
    color: #1e2025;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}

.pdp-review-title--mobile {
    display: none;
}

.pdp-review-modal__close {
    position: absolute;
    top: 20px;
    left: 20px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    color: #5c6068;
    background: transparent;
    cursor: pointer;
}

.pdp-review-modal__close svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
}

.pdp-review-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
}

.pdp-review-anonymous {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 8px;
    min-height: 28px;
    color: #202329;
    font-size: 11px;
    cursor: pointer;
}

.pdp-review-anonymous input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--pdp-red, #e51b23);
}

.pdp-review-field {
    position: relative;
    display: block;
    margin: 0;
}

.pdp-review-field input,
.pdp-review-field textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #d3d5da;
    border-radius: 6px;
    color: #34373e;
    background: #fff;
    font: inherit;
    font-size: 11px;
    text-align: right;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.pdp-review-field input {
    height: 38px;
    padding: 7px 12px;
}

.pdp-review-field textarea {
    height: 176px;
    min-height: 150px;
    padding: 12px 13px 26px;
    resize: vertical;
    line-height: 1.8;
}

.pdp-review-field input:focus,
.pdp-review-field textarea:focus {
    border-color: #aeb1b8;
    box-shadow: 0 0 0 2px rgba(229, 27, 35, .06);
}

.pdp-review-field.is-invalid input,
.pdp-review-field.is-invalid textarea {
    border-color: var(--pdp-red, #e51b23);
}

.pdp-review-field--textarea small {
    position: absolute;
    bottom: 8px;
    left: 10px;
    color: #9599a1;
    font-size: 9px;
    direction: ltr;
}

.pdp-review-rating-field {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
    margin: 1px 0 0;
    padding: 0;
    border: 0;
}

.pdp-review-rating-field legend {
    flex: 0 0 auto;
    margin: 5px 0 0;
    color: #202329;
    font-size: 11px;
    font-weight: 500;
}

.pdp-review-rating-input {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    direction: ltr;
}

.pdp-review-rating-input label {
    display: grid;
    justify-items: center;
    gap: 3px;
    color: #9ca0a8;
    cursor: pointer;
}

.pdp-review-rating-input input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pdp-review-rating-input label > span {
    font-family: Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
}

.pdp-review-rating-input label.is-selected > span,
.pdp-review-rating-input label:has(input:checked) > span {
    color: #f2c500;
}

.pdp-review-rating-input label > small {
    color: #6b6f77;
    font-size: 9px;
}

.pdp-review-form__status {
    min-height: 15px;
    margin: -3px 0 0;
    color: #bf171d;
    font-size: 10px;
}

.pdp-review-form__status.is-success {
    color: #208044;
}

.pdp-review-submit {
    justify-self: end;
    min-width: 120px;
    min-height: 37px;
    padding: 7px 20px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: var(--pdp-red, #e51b23);
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.pdp-review-submit:disabled {
    opacity: .58;
    cursor: wait;
}

.pdp-review-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* The notify loader used to participate in normal document flow until JS toggled it.
   Keep it fully detached from the carousel/footer and only show it while a notify request runs. */
#nm-root > #nm-loader {
    position: fixed;
    z-index: 2147483004;
    inset: 0;
    display: none;
    place-items: center;
    background: rgba(255, 255, 255, .62);
}

/* Paired product rails */
.related_products_section {
    position: relative;
    box-sizing: border-box;
    width: min(1344px, calc(100% - 64px));
    margin: 54px auto 0;
    direction: rtl;
    font-family: jpa, inherit;
}

.related_products_section--similar {
    margin-top: 48px;
    padding-bottom: 58px;
}

.related-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.related_products_section .related_title {
    margin: 0;
    color: #202329;
    font-family: jpack, jpa, inherit;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    text-align: right;
}

.related_products_section--similar .related_title::after {
    content: "";
    display: block;
    width: 38px;
    margin-top: 3px;
    border-top: 2px solid var(--pdp-red, #e51b23);
    border-radius: 999px;
    transform: rotate(-2deg);
    transform-origin: right center;
}

.related-view-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--pdp-red, #e51b23) !important;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.related-view-all span {
    font-size: 21px;
    line-height: .8;
    direction:ltr;
}

.related-pills {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0 0 2px;
    overflow-x: auto;
    scrollbar-width: none;
}

.related-pills::-webkit-scrollbar {
    display: none;
}

.related-pills button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 5px 16px;
    border: 1px solid #dedfe3;
    border-radius: 999px;
    color: #585c64;
    background: #fff;
    font: inherit;
    font-size: 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.related-pills button.is-active,
.related-pills button[aria-selected="true"] {
    border-color: var(--pdp-red, #e51b23);
    color: #fff;
    background: var(--pdp-red, #e51b23);
}

.related-swiper-shell {
    position: relative;
    isolation: isolate;
}

.related-swiper-shell::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: clamp(58px, 7vw, 96px);
    left: 50%;
    width: 100vw;
    height: clamp(118px, 12vw, 178px);
    background: #fff1f2;
    transform: translateX(-50%);
    pointer-events: none;
}

.related_products_section .related_products_swiper {
    overflow: hidden;
}

.related_products_section .related_product_card {
    height: auto;
}

.related_products_section .product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e4e5e8;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
}

.related_products_section .product-img {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5.35;
    overflow: hidden;
    border-radius: 5px 5px 0 0;
    background: #f0f0f3;
}

.related_products_section .product-img__link {
    display: block;
    width: 100%;
    height: 100%;
}

.related_products_section .product-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: opacity .28s ease;
}

.related_products_section .hover-img {
    position: absolute;
    inset: 0;
    opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
    .related_products_section .product-img:hover .hover-img {
        opacity: 1;
    }
}

.related-product-favorite {
    position: absolute;
    z-index: 4;
    top: 8px;
    left: 8px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #696d75;
    background: rgba(255, 255, 255, .82);
    cursor: pointer;
}

.related-product-favorite svg {
    width: 16px;
    height: 16px;
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.6;
}

.related-product-favorite[aria-pressed="true"] {
    color: var(--pdp-red, #e51b23);
}

.related-product-favorite[aria-pressed="true"] svg {
    fill: currentColor;
}

.related_products_section .product-badges {
    position: absolute;
    z-index: 3;
    top: 8px;
    right: 8px;
    display: grid;
    gap: 5px;
    justify-items: start;
}

.related_products_section .badge {
    position: static;
    padding: 3px 6px;
    border-radius: 4px;
    color: #fff;
    font-size: 8px;
    font-weight: 600;
    line-height: 1.4;
}

.related_products_section .badge-discount { background: var(--pdp-red, #e51b23); }
.related_products_section .badge-new { background: #40444c; }
.related_products_section .badge-promotion { background: #173895; }

.related_products_section .product-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 7px;
    padding: 10px 9px 9px;
    text-align: right;
}

.related_products_section .product-info__link {
    min-width: 0;
}

.related_products_section .product-title {
    min-height: 31px;
    margin: 0;
    overflow: hidden;
    color: #292c32;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.65;
    text-align: right;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.related_products_section .product-price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 7px;
    margin: 0;
    min-height: 20px;
}

.related_products_section .old-price {
    color: #a1a4aa;
    font-size: 8px;
    text-decoration: line-through;
}

.related_products_section .final-price {
    color: var(--pdp-red, #e51b23);
    font-size: 10px;
    font-weight: 700;
}

.related_products_section .final-price small {
    color: #555960;
    font-size: 7px;
    font-weight: 400;
}

.related_products_section .product-option-row {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    min-height: 19px;
}

.related_products_section .product-option-label {
    color: #777b83;
    font-size: 7px;
}

.related_products_section .product-sizes,
.related_products_section .product-colors {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 4px;
    min-width: 0;
    margin: 0;
    overflow: hidden;
}

.related_products_section .size-badge,
.related_products_section .option-overflow {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid #e0e2e6;
    border-radius: 2px;
    color: #8a8e96;
    background: #fff;
    font-size: 5.5px;
    line-height: 1;
}

.related_products_section .option-overflow {
    width: auto;
    min-width: 18px;
    padding-inline: 3px;
}

.related_products_section .color-dot {
    box-sizing: border-box;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    display: inline-block;
    border: 1px solid rgba(20, 22, 26, .09);
    border-radius: 2px;
}

.related-nav {
    position: absolute;
    z-index: 5;
    top: 43%;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #e0e1e5;
    border-radius: 50%;
    color: #4b4f57;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 4px 14px rgba(20, 22, 26, .08);
    font: inherit;
    font-size: 20px;
    cursor: pointer;
    transform: translateY(-50%);
}

.related-nav--prev { right: -17px; }
.related-nav--next { left: -17px; }
.related-nav.swiper-button-disabled,
.related-nav.swiper-button-lock {
    display: none;
}

@media (max-width: 768px) {
    .pdp-v2 .pdp-detail-accordion > .pdp-tab-panel {
        min-height: 0;
        margin: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .pdp-v2 .pdp-detail-accordion .pdp-tab-panel:not([hidden]) {
        padding: 2px 0 14px !important;
    }

    .pdp-v2 .pdp-detail-accordion .pdp-description:not([hidden]) {
        display: grid !important;
        gap: 8px;
    }

    .pdp-v2 .pdp-description__main {
        padding: 13px 12px;
        border-radius: 8px;
    }

    .pdp-v2 .pdp-description__main p {
        font-size: 10px;
        line-height: 2;
    }

    .pdp-v2 .pdp-description__facts {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .pdp-v2 .pdp-description__fact,
    .pdp-v2 .pdp-description__fact:only-child,
    .pdp-v2 .pdp-description__fact--wide {
        grid-column: auto;
        grid-template-columns: 90px minmax(0, 1fr);
        min-height: 40px;
    }

    .pdp-v2 .pdp-description__fact > span,
    .pdp-v2 .pdp-description__fact > strong {
        padding: 8px 10px;
        font-size: 9px;
    }

    .pdp-v2 .pdp-description__note {
        gap: 8px;
        padding: 9px 10px;
    }

    .pdp-v2 .pdp-description__note > span {
        flex-basis: 20px;
        width: 20px;
        height: 20px;
        font-size: 9px;
    }

    .pdp-v2 .pdp-description__note p {
        font-size: 9px;
        line-height: 1.85;
    }

    .pdp-v2 .pdp-care__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .pdp-v2 .pdp-care__item {
        min-height: 0;
        gap: 10px;
        padding: 12px;
        border-radius: 8px;
    }

    .pdp-v2 .pdp-care__number {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
        font-size: 8px;
    }

    .pdp-v2 .pdp-care__item strong {
        margin-bottom: 3px;
        font-size: 10px;
    }

    .pdp-v2 .pdp-care__item p {
        font-size: 9px;
        line-height: 1.85;
    }

    .pdp-v2 .pdp-detail-accordion .pdp-reviews-panel:not([hidden]) {
        padding: 4px 0 16px !important;
    }

    .pdp-v2 .pdp-reviews__head {
        display: grid;
        gap: 10px;
        margin-bottom: 12px;
        padding: 12px;
        border-radius: 8px;
    }

    .pdp-v2 .pdp-reviews__intro {
        display: grid;
        gap: 6px;
        margin: 0;
    }

    .pdp-v2 .pdp-reviews__intro > p {
        margin: 0;
        font-size: 9px;
    }

    .pdp-v2 .pdp-reviews__summary {
        gap: 6px;
        font-size: 7px;
    }

    .pdp-v2 .pdp-review-stars {
        font-size: 12px;
    }

    .pdp-v2 .pdp-reviews__add {
        width: 100%;
        min-width: 0;
        min-height: 34px;
        margin: 0;
        padding: 6px 12px;
        border-radius: 5px;
        font-size: 8px;
    }

    .pdp-v2 .pdp-review-card {
        min-height: 137px;
        padding: 13px 10px 11px;
        border-radius: 8px;
    }

    .pdp-v2 .pdp-review-card__header {
        gap: 8px;
    }

    .pdp-v2 .pdp-review-card__author {
        display: block;
    }

    .pdp-v2 .pdp-review-card__author strong,
    .pdp-v2 .pdp-review-card__author span {
        font-size: 8px;
    }

    .pdp-v2 .pdp-review-card__author span {
        margin-right: 4px;
    }

    .pdp-v2 .pdp-review-card__rating {
        gap: 5px;
        font-size: 7px;
    }

    .pdp-v2 .pdp-review-card__rating .pdp-review-stars {
        font-size: 10px;
    }

    .pdp-v2 .pdp-review-card__body {
        margin-top: 14px;
        font-size: 7px;
        line-height: 2;
    }

    .pdp-v2 .pdp-review-card__footer {
        margin-top: 20px;
        font-size: 6px;
    }

    .pdp-v2 .pdp-review-card__footer svg {
        width: 11px;
        height: 11px;
    }

    .pdp-v2 .pdp-reviews__more {
        margin-top: 8px;
        font-size: 8px;
    }

    .pdp-v2 .pdp-reviews__empty {
        padding: 16px 10px;
        font-size: 8px;
    }

    .pdp-review-modal {
        align-items: center;
        padding: 13px;
    }

    .pdp-review-modal__dialog {
        width: min(100%, 286px);
        max-height: calc(100dvh - 26px);
        padding: 16px 16px 18px;
        border-radius: 10px;
    }

    .pdp-review-modal__dialog h2 {
        margin-bottom: 13px;
        font-size: 13px;
    }

    .pdp-review-title--desktop { display: none; }
    .pdp-review-title--mobile { display: inline; }

    .pdp-review-modal__close {
        top: 13px;
        left: 13px;
        width: 24px;
        height: 24px;
    }

    .pdp-review-modal__close svg {
        width: 17px;
        height: 17px;
    }

    .pdp-review-form {
        gap: 11px;
    }

    .pdp-review-anonymous {
        min-height: 22px;
        gap: 7px;
        font-size: 8px;
    }

    .pdp-review-anonymous input {
        width: 16px;
        height: 16px;
    }

    .pdp-review-field input {
        height: 37px;
        font-size: 8px;
    }

    .pdp-review-field textarea {
        height: 176px;
        min-height: 176px;
        font-size: 8px;
        resize: none;
    }

    .pdp-review-field--textarea small {
        bottom: 7px;
        left: 8px;
        font-size: 6px;
    }

    .pdp-review-rating-field {
        display: block;
        margin-top: 1px;
    }

    .pdp-review-rating-field legend {
        margin: 0 0 8px;
        font-size: 8px;
    }

    .pdp-review-rating-input {
        justify-content: space-between;
        width: 100%;
        gap: 0;
    }

    .pdp-review-rating-input label > span {
        font-size: 22px;
    }

    .pdp-review-rating-input label > small {
        font-size: 7px;
    }

    .pdp-review-form__status {
        min-height: 11px;
        font-size: 7px;
    }

    .pdp-review-submit {
        justify-self: center;
        min-width: 122px;
        min-height: 31px;
        padding: 5px 16px;
        font-size: 8px;
    }

    .related_products_section {
        width: 100%;
        margin-top: 31px;
        padding-inline: 13px;
    }

    .related_products_section--similar {
        margin-top: 27px;
        padding-bottom: 28px;
    }

    .related-section-head {
        margin-bottom: 10px;
    }

    .related_products_section .related_title {
        font-size: 13px;
    }

    .related_products_section--similar .related_title::after {
        width: 25px;
        margin-top: 2px;
        border-top-width: 1.5px;
    }

    .related-swiper-shell::before {
        top: 52px;
        height: 118px;
    }

    .related-view-all {
        gap: 3px;
        font-size: 8px;
    }

    .related-view-all span {
        font-size: 15px;
    }

    .related-pills {
        gap: 6px;
        margin-bottom: 10px;
    }

    .related-pills button {
        min-height: 25px;
        padding: 3px 10px;
        font-size: 6.5px;
    }

    .related_products_section .product-card {
        border-radius: 5px;
    }

    .related_products_section .product-img {
        aspect-ratio: 4 / 5.35;
    }

    .related-product-favorite {
        top: 5px;
        left: 5px;
        width: 23px;
        height: 23px;
        background: rgba(255, 255, 255, .74);
    }

    .related-product-favorite svg {
        width: 13px;
        height: 13px;
    }

    .related_products_section .product-badges {
        top: 5px;
        right: 5px;
    }

    .related_products_section .badge {
        padding: 2px 4px;
        font-size: 5px;
    }

    .related_products_section .product-info {
        gap: 4px;
        padding: 6px 6px 7px;
    }

    .related_products_section .product-title {
        min-height: 24px;
        font-size: 7px;
        line-height: 1.65;
    }

    .related_products_section .product-price {
        gap: 4px;
        min-height: 14px;
    }

    .related_products_section .old-price {
        font-size: 5.5px;
    }

    .related_products_section .final-price {
        font-size: 7px;
    }

    .related_products_section .final-price small {
        font-size: 5px;
    }

    .related_products_section .product-option-row {
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 3px;
        min-height: 15px;
    }

    .related_products_section .product-option-label {
        font-size: 5px;
    }

    .related_products_section .product-sizes,
    .related_products_section .product-colors {
        gap: 3px;
    }

    .related_products_section .size-badge,
    .related_products_section .option-overflow {
        width: 14px;
        height: 14px;
        min-width: 14px;
        border-radius: 2px;
        font-size: 4px;
    }

    .related_products_section .option-overflow {
        width: auto;
        padding-inline: 2px;
    }

    .related_products_section .color-dot {
        flex-basis: 12px;
        width: 12px;
        height: 12px;
    }

    .related-nav {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pdp-review-modal,
    .pdp-review-modal__dialog,
    .related_products_section .product-img img,
    .related-pills button {
        transition-duration: .01ms !important;
    }
}

/* ========================================================================== */
/* PDP modal motion normalization — stage 3 / isolated modal-only overrides   */
/* ========================================================================== */

body.pdp-modal-page-locked {
    position: fixed !important;
    top: var(--pdp-modal-lock-top, 0px) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    box-sizing: border-box !important;
    padding-right: var(--pdp-modal-scrollbar, 0px);
}

.noorin-size-chart,
.basket_size_modal_container.noorin-cart-confirm,
.pdp-share-modal,
#nm-root .nm-modal-backdrop,
.pdp-review-modal,
#stateModal.noorin-cart-success,
#zoomModal.pdp-zoom-modal {
    opacity: 0 !important;
    transition: opacity 240ms cubic-bezier(.22, .61, .36, 1) !important;
    overscroll-behavior: contain;
}

.noorin-size-chart.pdp-modal-motion-open,
.basket_size_modal_container.noorin-cart-confirm.pdp-modal-motion-open,
.pdp-share-modal.pdp-modal-motion-open,
#nm-root .nm-modal-backdrop.pdp-modal-motion-open,
.pdp-review-modal.pdp-modal-motion-open,
#stateModal.noorin-cart-success.pdp-modal-motion-open,
#zoomModal.pdp-zoom-modal.pdp-modal-motion-open {
    opacity: 1 !important;
}

.noorin-size-chart.pdp-modal-motion-closing,
.basket_size_modal_container.noorin-cart-confirm.pdp-modal-motion-closing,
.pdp-share-modal.pdp-modal-motion-closing,
#nm-root .nm-modal-backdrop.pdp-modal-motion-closing,
.pdp-review-modal.pdp-modal-motion-closing,
#stateModal.noorin-cart-success.pdp-modal-motion-closing,
#zoomModal.pdp-zoom-modal.pdp-modal-motion-closing {
    opacity: 0 !important;
    pointer-events: none !important;
}

.noorin-size-chart .noorin-size-chart__dialog,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog,
.pdp-share-modal .pdp-share-modal__dialog,
#nm-root .nm-modal,
.pdp-review-modal .pdp-review-modal__dialog,
#stateModal.noorin-cart-success .noorin-cart-success__dialog,
#zoomModal.pdp-zoom-modal .pdp-zoom-modal__dialog {
    opacity: .985;
    transform: translate3d(0, 10px, 0) scale(.992) !important;
    transform-origin: center center;
    transition:
        transform 280ms cubic-bezier(.22, .61, .36, 1),
        opacity 220ms ease !important;
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.noorin-size-chart.pdp-modal-motion-open .noorin-size-chart__dialog,
.basket_size_modal_container.noorin-cart-confirm.pdp-modal-motion-open .noorin-cart-confirm__dialog,
.pdp-share-modal.pdp-modal-motion-open .pdp-share-modal__dialog,
#nm-root .nm-modal-backdrop.pdp-modal-motion-open .nm-modal,
.pdp-review-modal.pdp-modal-motion-open .pdp-review-modal__dialog,
#stateModal.noorin-cart-success.pdp-modal-motion-open .noorin-cart-success__dialog,
#zoomModal.pdp-zoom-modal.pdp-modal-motion-open .pdp-zoom-modal__dialog {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) !important;
}
/* Keep scrollable dialog regions momentum-scrolling and contained on iOS/WebKit. */
.noorin-size-chart .noorin-size-chart__tables,
.noorin-size-chart .noorin-size-chart__guide-list,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body,
.pdp-review-modal .pdp-review-modal__dialog,
#nm-root .nm-modal {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/* Cart confirmation: the action remains visible while long content scrolls. */
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn.noorin-cart-confirm__submit {
    position: sticky !important;
    z-index: 8 !important;
    bottom: 0 !important;
    flex: 0 0 auto !important;
    margin: 18px 0 0 !important;
    padding: 14px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -12px 20px rgba(255, 255, 255, .96) !important;
}





@media (max-width: 767px) {
    /* Size chart = true bottom sheet: full width, attached to bottom, smooth slide. */
    .chart_size_modal_container.noorin-size-chart {
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 0 !important;
        min-height: 100vh;
        min-height: 100dvh;
    }

    html body .noorin-size-chart .noorin-size-chart__dialog,
    html body .noorin-size-chart[data-active-panel="table"]:not([data-chart-type="set"]) .noorin-size-chart__dialog,
    html body .noorin-size-chart[data-active-panel="table"][data-chart-type="set"] .noorin-size-chart__dialog {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        max-height: calc(100vh - env(safe-area-inset-top, 0px)) !important;
        max-height: calc(100dvh - env(safe-area-inset-top, 0px)) !important;
        border-radius: 16px 16px 0 0 !important;
        transform: translate3d(0, 100%, 0) !important;
        transform-origin: center bottom !important;
    }

    html body .noorin-size-chart.pdp-modal-motion-open .noorin-size-chart__dialog {
        transform: translate3d(0, 0, 0) !important;
    }

    html body .noorin-size-chart .noorin-size-chart__body {
        padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Confirmation modal follows the same bottom-sheet behavior. */
    .basket_size_modal_container.noorin-cart-confirm {
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 0 !important;
        min-height: 100vh;
        min-height: 100dvh;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        max-height: calc(100vh - env(safe-area-inset-top, 0px)) !important;
        max-height: calc(100dvh - env(safe-area-inset-top, 0px)) !important;
        border-radius: 16px 16px 0 0 !important;
        transform: translate3d(0, 100%, 0) !important;
        transform-origin: center bottom !important;
    }

    .basket_size_modal_container.noorin-cart-confirm.pdp-modal-motion-open .noorin-cart-confirm__dialog {
        transform: translate3d(0, 0, 0) !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body {
        padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn.noorin-cart-confirm__submit {
        bottom: 0 !important;
        min-height: calc(48px + env(safe-area-inset-bottom, 0px)) !important;
        margin-top: 12px !important;
        padding: 10px 0 env(safe-area-inset-bottom, 0px) !important;
        background: #fff !important;
        box-shadow: 0 -10px 18px rgba(255, 255, 255, .98) !important;
    }

    /* Centered dialogs stay centered, but use a stable dynamic viewport on mobile. */
    .pdp-share-modal,
    #nm-root .nm-modal-backdrop,
    .pdp-review-modal,
    #stateModal.noorin-cart-success {
        padding-top: max(12px, env(safe-area-inset-top, 0px)) !important;
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    }

    .pdp-share-modal .pdp-share-modal__dialog,
    #nm-root .nm-modal,
    .pdp-review-modal .pdp-review-modal__dialog,
    #stateModal.noorin-cart-success .noorin-cart-success__dialog {
        max-height: calc(100vh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
        max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    }








}

@media (prefers-reduced-motion: reduce) {

.noorin-size-chart,
    .basket_size_modal_container.noorin-cart-confirm,
    .pdp-share-modal,
    #nm-root .nm-modal-backdrop,
    .pdp-review-modal,
    #stateModal.noorin-cart-success,
    #zoomModal.pdp-zoom-modal,
    .noorin-size-chart .noorin-size-chart__dialog,
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog,
    .pdp-share-modal .pdp-share-modal__dialog,
    #nm-root .nm-modal,
    .pdp-review-modal .pdp-review-modal__dialog,
    #stateModal.noorin-cart-success .noorin-cart-success__dialog,
    #zoomModal.pdp-zoom-modal .pdp-zoom-modal__dialog {
        transition-duration: 0.01ms !important;
    }
}

/* ========================================================================== */
/* Stage 3.1 hotfix — mobile size-chart sheet visibility / isolated override   */
/* Keeps the overlay and motion system intact; only guarantees that the        */
/* size-chart dialog itself has a stable box and wins the mobile transform.    */
/* ========================================================================== */
@media (max-width: 767px) {
    html body .chart_size_modal_container.noorin-size-chart.display_flex.pdp-modal-motion-mounted > .chart_size_modal_content.noorin-size-chart__dialog {
        display: flex !important;
        visibility: visible !important;
        flex: 0 0 auto !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 2 !important;
    }

    /* The default table sheet needs a resolved height; auto + 100%-height body
       can collapse on some mobile/WebKit layouts while the overlay stays visible. */
    html body .chart_size_modal_container.noorin-size-chart.display_flex[data-active-panel="table"]:not([data-chart-type="set"]) > .chart_size_modal_content.noorin-size-chart__dialog {
        height: min(72vh, 560px) !important;
        height: min(72dvh, 560px) !important;
        min-height: min(320px, 72vh) !important;
        min-height: min(320px, 72dvh) !important;
        max-height: 72vh !important;
        max-height: 72dvh !important;
    }

    /* Strong direct-child selectors avoid legacy PDP rules keeping the sheet
       translated below the viewport after the overlay has already faded in. */
    html body .chart_size_modal_container.noorin-size-chart.display_flex.pdp-modal-motion-open > .chart_size_modal_content.noorin-size-chart__dialog {
        transform: translate3d(0, 0, 0) !important;
    }

    html body .chart_size_modal_container.noorin-size-chart.display_flex.pdp-modal-motion-closing > .chart_size_modal_content.noorin-size-chart__dialog {
        transform: translate3d(0, 100%, 0) !important;
    }
}

/* ========================================================================== */
/* Stage 3.2 — mobile bottom-sheet intrinsic height normalization              */
/* Isolated override: bottom sheets size themselves to their real content.    */
/* They only become scrollable when content exceeds the safe viewport.        */
/* ========================================================================== */
@media (max-width: 767px) {
    /* -------------------------------------------------------------
       Size chart bottom sheet
       Remove every legacy/fallback fixed height (72dvh/520px/etc.).
       ------------------------------------------------------------- */
    html body .chart_size_modal_container.noorin-size-chart.display_flex > .chart_size_modal_content.noorin-size-chart__dialog,
    html body .chart_size_modal_container.noorin-size-chart.display_flex[data-active-panel="table"] > .chart_size_modal_content.noorin-size-chart__dialog,
    html body .chart_size_modal_container.noorin-size-chart.display_flex[data-active-panel="guide"] > .chart_size_modal_content.noorin-size-chart__dialog,
    html body .chart_size_modal_container.noorin-size-chart.display_flex[data-chart-type="set"] > .chart_size_modal_content.noorin-size-chart__dialog {
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - max(8px, env(safe-area-inset-top, 0px))) !important;
        max-height: calc(100dvh - max(8px, env(safe-area-inset-top, 0px))) !important;
    }

    html body .chart_size_modal_container.noorin-size-chart .noorin-size-chart__body {
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - max(8px, env(safe-area-inset-top, 0px))) !important;
        max-height: calc(100dvh - max(8px, env(safe-area-inset-top, 0px))) !important;
        overflow: hidden !important;
    }

    html body .chart_size_modal_container.noorin-size-chart .noorin-size-chart__panel,
    html body .chart_size_modal_container.noorin-size-chart #chart_size_table_content:not([hidden]),
    html body .chart_size_modal_container.noorin-size-chart #chart_size_guide_content:not([hidden]) {
        height: auto !important;
        min-height: 0 !important;
        flex: 0 1 auto !important;
    }

    /* The actual table/guide area owns overflow only when content is taller
       than the available viewport. Short content therefore produces no void. */
    html body .chart_size_modal_container.noorin-size-chart .noorin-size-chart__tables,
    html body .chart_size_modal_container.noorin-size-chart .noorin-size-chart__guide-list {
        height: auto !important;
        min-height: 0 !important;
        flex: 0 1 auto !important;
        max-height: calc(100vh - 132px - env(safe-area-inset-bottom, 0px)) !important;
        max-height: calc(100dvh - 132px - env(safe-area-inset-bottom, 0px)) !important;
        overflow-y: auto !important;
        overflow-x: hidden;
    }

    html body .chart_size_modal_container.noorin-size-chart .noorin-size-chart__table-scroll {
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    /* -------------------------------------------------------------
       Size confirmation / add-to-cart bottom sheet
       Intrinsic height when short; capped + internally scrollable when tall.
       CTA remains sticky at the bottom of the scrolling dialog body.
       ------------------------------------------------------------- */
    html body .basket_size_modal_container.noorin-cart-confirm > .noorin-cart-confirm__dialog,
    html body .basket_size_modal_container.noorin-cart-confirm > .chart_size_modal_content.noorin-cart-confirm__dialog {
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - max(8px, env(safe-area-inset-top, 0px))) !important;
        max-height: calc(100dvh - max(8px, env(safe-area-inset-top, 0px))) !important;
    }

    html body .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body {
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - max(8px, env(safe-area-inset-top, 0px))) !important;
        max-height: calc(100dvh - max(8px, env(safe-area-inset-top, 0px))) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    html body .basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn.noorin-cart-confirm__submit {
        flex: 0 0 auto !important;
        position: sticky !important;
        bottom: 0 !important;
    }

    /* Cancel the older short-viewport fixed-height fallback as well. */
    html body .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__dialog {
        height: auto !important;
    }




}

/* ========================================================================== */
/* Stage 4 — review modal visual correction + overflow hardening              */
/* Scoped to #pdp-review-modal only; no other PDP modal/component is touched. */
/* ========================================================================== */
#pdp-review-modal,
#pdp-review-modal *,
#pdp-review-modal *::before,
#pdp-review-modal *::after {
    box-sizing: border-box;
}

#pdp-review-modal {
    overflow: hidden !important;
}

#pdp-review-modal .pdp-review-modal__dialog {
    width: min(820px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    min-width: 0 !important;
    max-height: calc(100vh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    padding: 24px 36px 24px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

#pdp-review-modal .pdp-review-modal__dialog > *,
#pdp-review-modal .pdp-review-form,
#pdp-review-modal .pdp-review-field,
#pdp-review-modal .pdp-review-rating-field,
#pdp-review-modal .pdp-review-rating-input {
    min-width: 0;
    max-width: 100%;
}

#pdp-review-modal .pdp-review-modal__dialog h2 {
    margin: 0 0 16px !important;
    font-size: 16px !important;
    line-height: 1.65;
}

#pdp-review-modal .pdp-review-form {
    width: 100%;
    gap: 14px !important;
    overflow: visible;
}

#pdp-review-modal .pdp-review-anonymous {
    max-width: 100%;
    font-size: 11px;
    line-height: 1.6;
}

#pdp-review-modal .pdp-review-field {
    width: 100%;
}

#pdp-review-modal .pdp-review-field input,
#pdp-review-modal .pdp-review-field textarea {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

#pdp-review-modal .pdp-review-field input {
    height: 42px !important;
    padding: 8px 13px !important;
    font-size: 11px !important;
}

#pdp-review-modal .pdp-review-field textarea {
    height: 192px !important;
    min-height: 160px !important;
    max-height: min(36vh, 280px);
    padding: 12px 13px 27px !important;
    font-size: 11px !important;
    line-height: 1.8;
    resize: vertical;
    overflow-x: hidden;
}

/* Bootstrap's global legend width/float is the source of the desktop overflow.
   Reset it only inside this modal so legend + stars stay inside the dialog. */
#pdp-review-modal .pdp-review-rating-field {
    width: 100%;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden;
}

#pdp-review-modal .pdp-review-rating-field legend {
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: #202329;
    font-size: 11px !important;
    font-weight: 500;
    line-height: 1.7;
}

#pdp-review-modal .pdp-review-rating-input {
    flex: 0 1 auto;
    display: flex !important;
    align-items: flex-start;
    gap: 20px !important;
    width: auto !important;
    overflow: hidden;
    direction: ltr;
}

#pdp-review-modal .pdp-review-rating-input label {
    flex: 0 0 auto;
}

#pdp-review-modal .pdp-review-form__status:empty {
    display: none;
    min-height: 0;
    margin: 0;
}

#pdp-review-modal .pdp-review-form__status:not(:empty) {
    display: block;
    width: 100%;
    min-height: 15px;
}

#pdp-review-modal .pdp-review-submit {
    min-width: 134px;
    min-height: 40px;
    font-size: 11px;
}

@media (max-width: 767px) {
    #pdp-review-modal {
        align-items: center !important;
        justify-content: center !important;
        padding: max(14px, env(safe-area-inset-top, 0px)) 14px max(14px, env(safe-area-inset-bottom, 0px)) !important;
    }

    #pdp-review-modal .pdp-review-modal__dialog {
        width: min(370px, calc(100vw - 28px)) !important;
        max-width: calc(100vw - 28px) !important;
        max-height: calc(100vh - 28px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
        max-height: calc(100dvh - 28px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
        padding: 16px 15px 18px !important;
        border-radius: 11px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    #pdp-review-modal .pdp-review-modal__dialog h2 {
        margin-bottom: 14px !important;
        font-size: 16px !important;
        line-height: 1.55;
    }

    #pdp-review-modal .pdp-review-modal__close {
        top: 13px !important;
        left: 13px !important;
        width: 26px !important;
        height: 26px !important;
    }

    #pdp-review-modal .pdp-review-modal__close svg {
        width: 18px !important;
        height: 18px !important;
    }

    #pdp-review-modal .pdp-review-form {
        gap: 12px !important;
    }

    #pdp-review-modal .pdp-review-anonymous {
        min-height: 24px !important;
        gap: 8px !important;
        font-size: 12px !important;
    }

    #pdp-review-modal .pdp-review-anonymous input {
        flex: 0 0 18px;
        width: 18px !important;
        height: 18px !important;
    }

    #pdp-review-modal .pdp-review-field input {
        height: 40px !important;
        padding: 8px 12px !important;
        font-size: 11px !important;
    }

    #pdp-review-modal .pdp-review-field textarea {
        height: 176px !important;
        min-height: 176px !important;
        max-height: 176px !important;
        padding: 11px 12px 25px !important;
        font-size: 11px !important;
        line-height: 1.75;
        resize: none !important;
    }

    #pdp-review-modal .pdp-review-field--textarea small {
        bottom: 7px !important;
        left: 8px !important;
        font-size: 8px !important;
    }

    #pdp-review-modal .pdp-review-rating-field {
        display: block !important;
        width: 100% !important;
        overflow: visible;
    }

    #pdp-review-modal .pdp-review-rating-field legend {
        display: block !important;
        width: 100% !important;
        margin: 0 0 10px !important;
        font-size: 12px !important;
        line-height: 1.7;
        text-align: right;
    }

    #pdp-review-modal .pdp-review-rating-input {
        display: flex !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 0 !important;
        overflow: visible;
    }

    #pdp-review-modal .pdp-review-rating-input label > span {
        font-size: 28px !important;
    }

    #pdp-review-modal .pdp-review-rating-input label > small {
        font-size: 10px !important;
    }

    #pdp-review-modal .pdp-review-form__status:not(:empty) {
        min-height: 14px;
        font-size: 10px !important;
        line-height: 1.6;
    }

    #pdp-review-modal .pdp-review-submit {
        justify-self: center !important;
        min-width: 158px !important;
        min-height: 40px !important;
        padding: 7px 18px !important;
        font-size: 11px !important;
        border-radius: 6px !important;
    }
}

/* =========================================================
   PDP stage 4.1 — rating modal trigger + mobile accordion stability
   Scoped fixes only; no visual changes to other PDP components.
   ========================================================= */
.pdp-v2 button.pdp-rating {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: inherit;
}

.pdp-v2 button.pdp-rating:focus-visible {
    outline: 2px solid var(--pdp-navy);
    outline-offset: 3px;
    border-radius: 4px;
}

@media (min-width: 1181px) {
    .pdp-v2 .pdp-hero {
        grid-template-columns:
            minmax(0, 620px)
            minmax(480px, 520px);

        gap: clamp(44px, 4vw, 56px);
        justify-content: center;
    }

    .pdp-v2 .pdp-summary {
        width: 100%;
        max-width: 620px;
    }
}

/* =========================================================
   PDP Notify Me Modal — size & typography refinement
   Scoped only to #nm-root
   ========================================================= */

#nm-root .nm-modal {
    width: min(92vw, 440px);
    padding: 24px 26px 26px;
    border-radius: 12px;
}

#nm-root .nm-modal h2 {
    margin-bottom: 22px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
}

#nm-root .nm-content {
    gap: 20px;
}


/* Section labels */

#nm-root .nm-notify-section h3,
#nm-root .nm-phone-section > label {
    margin-bottom: 9px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
}


/* Color list */

#nm-root .nm-variant-list {
    gap: 12px;
    padding: 7px 4px;
}

#nm-root .nm-color-option {
    width: 48px;
    gap: 6px;
    font-size: 11px;
    line-height: 1.45;
}

#nm-root .nm-color-option img,
#nm-root .nm-color-swatch {
    width: 48px;
    height: 62px;
    margin-bottom: 4px;
    border-radius: 5px;
}


/* Size options */

#nm-root .nm-size-list {
    gap: 10px;
    padding: 4px;
}

#nm-root .nm-size-option {
    min-width: 38px;
    height: 36px;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
}


/* Phone */

#nm-root .nm-phone-row {
    gap: 10px;
}

#nm-root .nm-input {
    height: 42px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
}

#nm-root .nm-btn.primary {
    flex: 0 0 92px;
    min-height: 42px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}


/* Error / empty messages */

#nm-root .nm-error-text {
    min-height: 18px;
    margin-top: -8px;
    font-size: 11px;
    line-height: 1.7;
}

#nm-root .nm-empty-state {
    font-size: 11px;
    line-height: 1.7;
}


/* Close */

#nm-root .nm-modal > .pdp-modal-close {
    top: 14px;
    left: 14px;
    width: 30px;
    height: 30px;
}


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

@media (max-width: 767px) {

    #nm-root .nm-modal {
        width: min(calc(100vw - 28px), 390px);

        /* remove old fixed mobile height */
        height: auto;
        min-height: 0;
        max-height: calc(100dvh - 32px);

        padding: 22px 18px 20px;

        border-radius: 12px;

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;
    }

    #nm-root .nm-modal h2 {
        margin-bottom: 20px;
        font-size: 17px;
        line-height: 1.6;
    }

    #nm-root .nm-content {
        gap: 18px;
    }

    #nm-root .nm-notify-section h3,
    #nm-root .nm-phone-section > label {
        margin-bottom: 8px;
        font-size: 13px;
    }


    /* Color */

    #nm-root .nm-variant-list.nm-color-list {
        height: auto;
        min-height: 82px;
        gap: 12px;
        padding: 7px 4px;
    }

    #nm-root .nm-color-option {
        width: 45px;
        height: auto;
        gap: 5px;
        font-size: 10px;
    }

    #nm-root .nm-color-option img,
    #nm-root .nm-color-swatch {
        width: 45px;
        height: 58px;
        border-radius: 5px;
    }


    /* Size */

    #nm-root .nm-variant-list.nm-size-list {
        height: auto;
        min-height: 42px;
        gap: 9px;
        padding: 4px;
    }

    #nm-root .nm-size-option {
        min-width: 36px;
        height: 34px;
        padding: 3px 7px;
        font-size: 11px;
    }


    /* Phone */

    #nm-root .nm-phone-row {
        gap: 8px;
    }

    #nm-root .nm-input {
        height: 40px;
        font-size: 13px;
    }

    #nm-root .nm-btn.primary {
        flex-basis: 78px;
        min-height: 40px;
        font-size: 12px;
    }


    /* Messages */

    #nm-root .nm-error-text {
        min-height: 16px;
        font-size: 10px;
    }

    #nm-root .nm-empty-state {
        font-size: 10px;
    }


    /* Close */

    #nm-root .nm-modal > .pdp-modal-close {
        top: 12px;
        left: 12px;
        width: 28px;
        height: 28px;
    }
}

/* Notify modal close — match size chart */

#nm-root .nm-notify-modal > .pdp-modal-close {
    top: 13px;
    left: 10px;

    width: 27px;
    height: 27px;

    padding: 5px;

    border: 0;
    border-radius: 50%;

    color: #343841;
    background: transparent;
}

#nm-root .nm-notify-modal > .pdp-modal-close svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#nm-root .nm-notify-modal > .pdp-modal-close:hover {
    background: #f4f5f7;
}


/* =========================================================
   PDP CART CONFIRM MODAL
   Mobile final readability refinement
   ========================================================= */

@media (max-width: 768px) {

    /* =====================================================
       BODY
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__body {
        min-height: 0 !important;

        padding:
            18px
            16px
            calc(16px + env(safe-area-inset-bottom, 0px))
            !important;

        overflow-x: hidden !important;
    }


    /* =====================================================
       HEADER
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__header {
        width: 100% !important;

        padding: 0 22px !important;

        text-align: right !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__header h2 {
        margin: 0 0 14px !important;
        padding: 0 !important;

        color: #24262d !important;

        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.9 !important;

        text-align: center !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__header h2 strong {
        color: #17317f !important;

        font: inherit !important;
        font-weight: 700 !important;
    }


    /* =====================================================
       NOTES
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__notes {
        display: grid !important;

        gap: 6px !important;

        width: 100% !important;

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

        color: #5c6069 !important;

        font-size: 10.5px !important;
        font-weight: 400 !important;
        line-height: 1.85 !important;

        list-style: none !important;
    }


    /* Normal note rows */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__notes li {
        position: relative;

        display: block !important;

        margin: 0 !important;
        padding: 0 15px 0 0 !important;

        color: inherit !important;

        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;

        text-align: right !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__notes li::before {
        content: "";

        position: absolute;
        top: .76em;
        right: 0;

        width: 5px;
        height: 5px;

        border-radius: 50%;

        background: #d71920;

        transform: translateY(-50%);
    }


    /* -----------------------------------------------------
       Mannequin information
       Important but not an alert/success state
       ----------------------------------------------------- */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__notes
    .noorin-cart-confirm__mannequin-note {
        margin: 1px 0 4px !important;

        padding: 9px 11px !important;

        border: 1px solid #e5e6e9 !important;
        border-right: 3px solid #d71920 !important;
        border-radius: 7px !important;

        background: #f7f7f8 !important;

        color: #34373e !important;

        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.85 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__notes
    .noorin-cart-confirm__mannequin-note::before {
        display: none !important;
    }


    /* Main action note */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__assurance-note {
        display: block !important;

        color: #484c54 !important;

        font-weight: 500 !important;
    }


    /* Unit information */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__unit-note {
        color: #60646d !important;
    }


    /* Measurement tolerance is secondary information */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__measurement-note {
        color: #777b83 !important;

        font-size: 10px !important;
    }


    /* =====================================================
       CURRENT SELECTION
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__selection {
        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;

        gap: 8px 12px !important;

        min-height: 52px !important;

        margin: 14px 0 !important;
        padding: 9px 10px !important;

        border: 1px solid #e0e2e7 !important;
        border-radius: 8px !important;

        background: #fafafb !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__choice {
        display: flex !important;

        align-items: center !important;
        flex-wrap: wrap !important;

        gap: 7px 10px !important;

        min-width: 0 !important;

        color: #454850 !important;

        font-size: 10.5px !important;
        line-height: 1.5 !important;

        white-space: normal !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__choice > strong {
        color: #24262d !important;

        font-size: 11px !important;
        font-weight: 600 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__color,
    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__size {
        display: inline-flex !important;

        align-items: center !important;

        gap: 5px !important;

        min-width: 0 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__color b,
    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__size b {
        color: #17317f !important;

        font-size: 10.5px !important;
        font-weight: 700 !important;
    }


    /* Size badge */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__size b {
        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        min-width: 30px !important;
        min-height: 23px !important;

        padding: 2px 7px !important;

        border-radius: 5px !important;

        background: #f0f2f7 !important;
    }


    /* Color swatch */

    .basket_size_modal_container.noorin-cart-confirm
    [data-cart-confirm-swatch] {
        flex: 0 0 20px !important;

        width: 20px !important;
        height: 20px !important;

        border: 1px solid rgba(0, 0, 0, .10) !important;
        border-radius: 50% !important;
    }


    /* =====================================================
       STOCK STATUS
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__stock {
        display: inline-flex !important;

        align-items: center !important;

        gap: 5px !important;

        min-height: 27px !important;

        padding: 4px 7px !important;

        border: 1px solid #d8eadf !important;
        border-radius: 6px !important;

        color: #38704d !important;
        background: #f0f8f3 !important;

        font-size: 9.5px !important;
        font-weight: 500 !important;

        white-space: nowrap !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__stock svg {
        width: 15px !important;
        height: 15px !important;

        flex: 0 0 15px !important;
    }


    /* =====================================================
       TABLE CONTAINER
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__tables {
        display: grid !important;

        gap: 14px !important;

        width: 100% !important;
        min-width: 0 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table-section {
        display: grid !important;

        gap: 7px !important;

        min-width: 0 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table-section
    .chart_table_title {
        padding-right: 8px !important;

        border-right: 2px solid #d71920 !important;

        color: #24262d !important;

        font-size: 11px !important;
        font-weight: 600 !important;

        text-align: right !important;
    }


    /* Table horizontal protection */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table-scroll {
        width: 100% !important;
        max-width: 100% !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        -webkit-overflow-scrolling: touch;

        scrollbar-width: thin;
    }


    /* =====================================================
       TABLE
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    table.noorin-cart-confirm__table {
        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        border: 0 !important;
        border-collapse: separate !important;
        border-spacing: 4px 4px !important;
        border-radius: 0 !important;

        background: transparent !important;
    }

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table th,
    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table td {
        height: 30px !important;

        padding: 5px 4px !important;

        border: 0 !important;
        border-radius: 5px !important;

        background: #f5f5f6 !important;

        color: #484b53 !important;

        font-size: 9.5px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;

        text-align: center !important;

        vertical-align: middle !important;
    }


    /* Table header */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table thead th {
        height: 32px !important;

        background: #f8e9ea !important;

        color: #34363c !important;

        font-size: 9.5px !important;
        font-weight: 600 !important;
    }


    /* Size column */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table tbody th {
        color: #383b42 !important;

        font-size: 10px !important;
        font-weight: 600 !important;
    }


    /* =====================================================
       SELECTED SIZE ROW

       Keep GREEN semantics, but use a softer and cleaner
       green than the old #cdf5d0 / #237b29 combination.
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table tr.is-selected > *,
    .basket_size_modal_container.noorin-cart-confirm
    .noorin-cart-confirm__table tr.active > * {
        background: #edf6f0 !important;

        color: #356648 !important;

        font-size: 10px !important;
        font-weight: 700 !important;

        box-shadow:
            inset 0 0 0 1px #c4ddcc
            !important;
    }


    /* =====================================================
       STICKY SUBMIT AREA
       ===================================================== */

    .basket_size_modal_container.noorin-cart-confirm
    #final_addTO_basket_btn.noorin-cart-confirm__submit {
        position: sticky !important;

        bottom:
            calc(-16px - env(safe-area-inset-bottom, 0px))
            !important;

        z-index: 5 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: calc(100% + 32px) !important;

        min-height: 64px !important;

        margin:
            14px
            -16px
            0
            !important;

        padding:
            10px
            16px
            calc(10px + env(safe-area-inset-bottom, 0px))
            !important;

        border-top: 1px solid #eeeeef !important;

        background: rgba(255, 255, 255, .98) !important;

        box-shadow:
            0 -5px 14px rgba(20, 22, 28, .045)
            !important;

        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    .basket_size_modal_container.noorin-cart-confirm
    #final_addTO_basket_btn
    .final_addTO_basket_btn {
        width: min(100%, 240px) !important;
        height: 44px !important;

        padding: 0 18px !important;

        border-radius: 7px !important;

        font-size: 12.5px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
    }
}

/* =========================================================
   PDP SIZE CHART MODAL
   Mobile readability refinement
   Typography / spacing only
   ========================================================= */

@media (max-width: 767px) {

    /* =====================================================
       MODAL BODY
       فقط فاصله داخلی برای خوانایی بهتر
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__body {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }


    /* =====================================================
       TOP TABS
       راهنمای سایز / راهنمای اندازه‌گیری
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__tabs {
        min-height: 48px !important;
    }

    html body .noorin-size-chart
    .chart_size_item_tabs {
        min-height: 48px !important;

        padding: 10px 8px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    html body .noorin-size-chart
    .chart_size_item_tabs h5 {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* =====================================================
       SIZE CHART NOTES
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__notes {
        margin-top: 4px !important;
        margin-bottom: 14px !important;

        padding-right: 18px !important;

        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 1.95 !important;
    }

    html body .noorin-size-chart
    .noorin-size-chart__notes li {
        margin-bottom: 4px !important;

        font-size: inherit !important;
        line-height: inherit !important;
    }

    html body .noorin-size-chart
    .noorin-size-chart__notes li:last-child {
        margin-bottom: 0 !important;
    }


    /* اطلاعات مانکن:
       فقط هم‌اندازه بقیه محتوا شود؛
       هیچ رنگ یا استایل جدیدی اضافه نمی‌شود */

    html body .noorin-size-chart
    .noorin-size-chart__notes
    .mankan_info_text {
        margin: 0 0 4px !important;

        font-size: 11px !important;
        font-weight: 500 !important;
        line-height: 1.95 !important;
    }


    /* =====================================================
       TABLE SECTION
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__tables {
        width: 100% !important;
        min-width: 0 !important;
    }

    html body .noorin-size-chart
    .noorin-size-chart__table-section {
        width: 100% !important;
        min-width: 0 !important;
    }


    /* Table title — mainly useful for SET products */

    html body .noorin-size-chart
    .noorin-size-chart__table-section
    .chart_table_title {
        margin-bottom: 8px !important;

        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.7 !important;
    }


    /* =====================================================
       TABLE SCROLL WRAPPER

       ساختار اسکرول فعلی حفظ می‌شود.
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__table-scroll {
        width: 100% !important;
        max-width: 100% !important;

        -webkit-overflow-scrolling: touch;
    }


    /* =====================================================
       SIZE TABLE
       ===================================================== */

    html body .noorin-size-chart
    table.noorin-size-chart__table {
        margin-bottom: 0 !important;
    }


    /* All cells */

    html body .noorin-size-chart
    .noorin-size-chart__table th,
    html body .noorin-size-chart
    .noorin-size-chart__table td {
        height: 34px !important;

        padding: 6px 5px !important;

        font-size: 10.5px !important;
        font-weight: 400 !important;
        line-height: 1.45 !important;

        vertical-align: middle !important;
    }


    /* Table headers */

    html body .noorin-size-chart
    .noorin-size-chart__table thead th {
        height: 36px !important;

        font-size: 10.5px !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;
    }


    /* Size column */

    html body .noorin-size-chart
    .noorin-size-chart__table tbody th {
        font-size: 10.5px !important;
        font-weight: 600 !important;
    }


    /* =====================================================
       MEASUREMENT GUIDE
       تب راهنمای اندازه‌گیری
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__guide-list {
        font-size: 11px !important;
    }


    /* Main heading */

    html body .noorin-size-chart
    .noorin-size-chart__instructions-head h3 {
        margin-bottom: 5px !important;

        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.7 !important;
    }


    /* Intro text */

    html body .noorin-size-chart
    .noorin-size-chart__instructions-head p {
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       MEASUREMENT STEPS
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__steps {
        gap: 7px !important;
    }

    html body .noorin-size-chart
    .noorin-size-chart__step {
        min-height: 64px !important;

        padding: 9px 10px !important;
    }


    /* Step title */

    html body .noorin-size-chart
    .noorin-size-chart__step-copy strong {
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.6 !important;
    }


    /* Step description */

    html body .noorin-size-chart
    .noorin-size-chart__step-copy span {
        font-size: 10.5px !important;
        font-weight: 400 !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       SET PRODUCT SUB HEADINGS
       ===================================================== */

    html body .noorin-size-chart
    .noorin-size-chart__set-step-group h4 {
        margin-bottom: 7px !important;

        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.7 !important;
    }


    /* =====================================================
       LOADING / ERROR
       فقط خوانایی متن؛ رفتار دست‌نخورده
       ===================================================== */

    html body .noorin-size-chart
    .error_chartSize_text {
        font-size: 11px !important;
        line-height: 1.9 !important;
    }
}
/* Compact ± tolerance marker used in size-chart notes. */
.pdp-tolerance-value {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    direction: ltr;
    white-space: nowrap;
    font: inherit;
}

.pdp-tolerance-value > small {
    display: inline-block;
    font-size: 0.72em;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-0.02em);
}

/* =========================================================
   PDP Size Chart — mobile two-line column headings
   Keep the first two words on the primary line; render any
   remaining words smaller on the second line.
   ========================================================= */
.pdp-size-chart-head-main,
.pdp-size-chart-head-sub {
    display: inline;
}

@media (max-width: 767px) {
    html body .noorin-size-chart
    .noorin-size-chart__table thead th {
        height: 46px !important;
        padding: 5px 3px !important;
        white-space: normal !important;
        vertical-align: middle !important;
        overflow: hidden;
    }

    html body .noorin-size-chart
    .noorin-size-chart__table thead th .pdp-size-chart-head-main {
        display: block;
        margin: 0;
        color: inherit;
        font-size: 10.5px;
        font-weight: 700;
        line-height: 1.25;
        white-space: nowrap;
    }

    html body .noorin-size-chart
    .noorin-size-chart__table thead th .pdp-size-chart-head-sub {
        display: block;
        margin-top: 2px;
        color: #676b73;
        font-size: 7.8px;
        font-weight: 500;
        line-height: 1.2;
        white-space: nowrap;
    }
}


/* =========================================================
   PDP Desktop Zoom — stable image canvas / v2026.09.06
   Full image is always visible at rest. Zoom may expand beyond
   the fitted image frame, but is clipped only by the modal canvas.
   ========================================================= */
@media (min-width: 768px) {
    html body #zoomModal.pdp-zoom-modal {
        padding: 24px !important;
    }

    html body #zoomModal.pdp-zoom-modal .pdp-zoom-modal__dialog {
        width: min(86vw, 980px) !important;
        height: min(90vh, 900px) !important;
        height: min(90dvh, 900px) !important;
        min-width: min(640px, calc(100vw - 48px)) !important;
        min-height: min(620px, calc(100vh - 48px)) !important;
        min-height: min(620px, calc(100dvh - 48px)) !important;
        max-width: calc(100vw - 48px) !important;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        overflow: hidden !important;
        border-radius: 18px !important;
        background: #eef0f4 !important;
    }

    html body #zoomModal .pdp-zoom-modal__viewport {
        position: absolute !important;
        inset: 0 !important;
        display: grid !important;
        place-items: center !important;
        padding: 72px 82px 126px !important;
        overflow: hidden !important;
        background: #eef0f4 !important;
        cursor: zoom-in !important;
        isolation: isolate;
    }

    html body #zoomModal .pdp-zoom-modal__viewport.is-zoomed {
        cursor: zoom-out !important;
    }

    html body #zoomModal .pdp-zoom-modal__image-frame {
        position: relative;
        z-index: 1;
        width: 1px;
        height: 1px;
        min-width: 1px;
        min-height: 1px;
        display: grid;
        place-items: center;
        overflow: visible;
        background: transparent;
        pointer-events: none;
    }

    html body #zoomModal #zoomedImage {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: scale(var(--pdp-zoom-scale, 1)) !important;
        transform-origin: var(--pdp-zoom-origin-x, 50%) var(--pdp-zoom-origin-y, 50%) !important;
        transition: transform 120ms cubic-bezier(.2, .7, .25, 1) !important;
        will-change: transform;
        user-select: none;
        -webkit-user-select: none;
        pointer-events: none;
        cursor: inherit !important;
    }

    html body #zoomModal #zoomedImage.is-hover-zoomed {
        transform: scale(var(--pdp-zoom-scale, 1.55)) !important;
    }

    html body #zoomModal .pdp-zoom-modal__close,
    html body #zoomModal .pdp-zoom-modal__arrow,
    html body #zoomModal .pdp-zoom-modal__tools a {
        z-index: 10 !important;
        color: #2f333b !important;
        background: rgba(255, 255, 255, .96) !important;
        border: 1px solid rgba(34, 38, 47, .06) !important;
        box-shadow: 0 7px 20px rgba(20, 24, 34, .11) !important;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    html body #zoomModal .pdp-zoom-modal__close {
        top: 24px !important;
        left: 24px !important;
        width: 46px !important;
        height: 46px !important;
        padding: 11px !important;
        border-radius: 12px !important;
    }

    html body #zoomModal .pdp-zoom-modal__tools {
        top: 24px !important;
        right: 24px !important;
        z-index: 10 !important;
    }

    html body #zoomModal .pdp-zoom-modal__tools a {
        width: 46px !important;
        height: 46px !important;
        border-radius: 12px !important;
    }

    html body #zoomModal .pdp-zoom-modal__arrow {
        top: 50% !important;
        width: 50px !important;
        height: 50px !important;
        padding: 13px !important;
        border-radius: 50% !important;
        transform: translateY(-50%) !important;
    }

    html body #zoomModal .pdp-zoom-modal__arrow--prev {
        left: 24px !important;
    }

    html body #zoomModal .pdp-zoom-modal__arrow--next {
        right: 24px !important;
    }

    html body #zoomModal .pdp-zoom-modal__close svg,
    html body #zoomModal .pdp-zoom-modal__arrow svg,
    html body #zoomModal .pdp-zoom-modal__tools svg,
    html body #zoomModal .pdp-zoom-modal__strip > button svg {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        pointer-events: none;
    }

    html body #zoomModal .pdp-zoom-modal__strip {
        z-index: 10 !important;
        left: 50% !important;
        right: auto !important;
        bottom: 20px !important;
        width: min(74%, 690px) !important;
        height: 88px !important;
        grid-template-columns: 30px minmax(0, 1fr) 30px !important;
        gap: 9px !important;
        padding: 9px 12px !important;
        border: 1px solid rgba(34, 38, 47, .06) !important;
        border-radius: 11px !important;
        background: rgba(255, 255, 255, .95) !important;
        box-shadow: 0 7px 24px rgba(20, 24, 34, .10) !important;
        transform: translateX(-50%) !important;
    }

    html body #zoomModal .pdp-zoom-modal__strip > button {
        width: 30px !important;
        height: 100% !important;
        display: grid !important;
        place-items: center !important;
        padding: 7px !important;
        color: #353941 !important;
        background: transparent !important;
        cursor: pointer !important;
    }

    html body #zoomModal .pdp-zoom-modal__thumbs {
        align-items: stretch;
    }

    html body #zoomModal .pdp-zoom-modal__thumb {
        height: 100% !important;
        aspect-ratio: 0.72 !important;
        border-radius: 7px !important;
    }

    html body #zoomModal .pdp-zoom-modal__viewport.is-loading::after {
        z-index: 6;
    }
}
/* =====================================================
   PDP BENEFITS
   Minimal Brand Trust Section
   ===================================================== */


.pdp-v2 .pdp-benefits {

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:0;

    margin-block-start:48px;

    padding:0;

    overflow:hidden;

    border:1px solid #eceef2;

    border-radius:18px;


    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(229,27,35,.055),
            transparent 32%
        ),
        radial-gradient(
            circle at 0% 100%,
            rgba(229,27,35,.025),
            transparent 28%
        ),
        #ffffff;

}



/* each item */

.pdp-v2 .pdp-benefit {

    position:relative;

    display:grid;

    grid-template-columns:46px minmax(0,1fr);

    align-items:center;

    gap:14px;


    min-width:0;

    min-height:96px;


    padding:18px 20px;


}



/* separators */

.pdp-v2 .pdp-benefit:not(:last-child)::after {


    content:"";


    position:absolute;


    inset-block:18px;


    inset-inline-start:0;


    width:1px;


    background:rgba(229,27,35,.10);


}



/* icon */

.pdp-v2 .pdp-benefit > svg {


    width:46px;

    height:46px;


    padding:10px;


    border-radius:14px;


    border:1px solid #f1dfe2;


    background:
        linear-gradient(
            180deg,
            #fff7f8 0%,
            #ffffff 100%
        );


    fill:none;


    stroke:#101a3a;


    stroke-width:1.3;


    stroke-linecap:round;


    stroke-linejoin:round;


}



/* content */

.pdp-v2 .pdp-benefit > div {

    min-width:0;

}




.pdp-v2 .pdp-benefit h2 {


    position:relative;


    margin:0 0 6px;


    padding-inline-start:12px;


    color:#17191d;


    font-size:14px;


    font-weight:700;


    line-height:1.6;


    white-space:normal;


}




/* tiny brand accent */

.pdp-v2 .pdp-benefit h2::before {


    content:"";


    position:absolute;


    inset-inline-start:0;


    top:50%;


    width:5px;


    height:5px;


    transform:translateY(-50%);


    border-radius:50%;


    background:#e51b23;


    opacity:.45;


}




.pdp-v2 .pdp-benefit p {


    margin:0;


    color:#858991;


    font-size:11px;


    line-height:1.9;


    white-space:normal;


}



/* desktop hover - very subtle */

@media (hover:hover){


    .pdp-v2 .pdp-benefit:hover {


        background:rgba(255,255,255,.55);


    }


}





/* =====================================================
   Tablet
   ===================================================== */


@media(max-width:1180px) and (min-width:769px){


    .pdp-v2 .pdp-benefit {


        grid-template-columns:42px minmax(0,1fr);


        gap:12px;


        min-height:88px;


        padding:16px 14px;


    }



    .pdp-v2 .pdp-benefit > svg {


        width:42px;

        height:42px;


        padding:9px;


    }



    .pdp-v2 .pdp-benefit h2 {


        font-size:12px;


    }



    .pdp-v2 .pdp-benefit p {


        font-size:9px;


    }


}





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


@media(max-width:768px){


    .pdp-v2 .pdp-benefits {


        grid-template-columns:repeat(2,minmax(0,1fr));


        gap:10px;


        margin-block-start:26px;


        padding:0;


        overflow:visible;


        border:0;


        background:none;


    }



    .pdp-v2 .pdp-benefit {


        grid-template-columns:36px minmax(0,1fr);


        align-items:start;


        gap:10px;


        min-height:82px;


        padding:12px 10px;


        border:1px solid #ededf0;


        border-radius:12px;


        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                #fcfcfd 100%
            );


    }



    .pdp-v2 .pdp-benefit:not(:last-child)::after {


        display:none;


    }



    .pdp-v2 .pdp-benefit > svg {


        width:36px;

        height:36px;


        padding:8px;


        border-radius:11px;


    }




    .pdp-v2 .pdp-benefit h2 {


        margin-bottom:4px;


        padding-inline-start:10px;


        font-size:10px;


        line-height:1.55;


    }




    .pdp-v2 .pdp-benefit h2::before {


        width:4px;

        height:4px;


    }




    .pdp-v2 .pdp-benefit p {


        font-size:8px;


        line-height:1.75;


    }


}


/* PDP SHARE MODAL — FINAL FIGMA MATCH 2026-09-08 */
/* Intentionally placed at the end of the bundle so the later legacy reset
   cannot collapse the modal spacing again. Scope is limited to #pdp-share-modal. */
#pdp-share-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483001 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    background: rgba(31, 34, 40, .48) !important;
    direction: rtl !important;
    font-family: jpaFont, jpa, Tahoma, sans-serif !important;
}

#pdp-share-modal[aria-hidden="true"] { display: none !important; }

#pdp-share-modal .pdp-share-modal__dialog {
    position: relative !important;
    box-sizing: border-box !important;
    width: min(calc(100vw - 36px), 560px) !important;
    min-height: 354px !important;
    max-height: calc(100dvh - 36px) !important;
    padding: 26px 28px 27px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #25282f !important;
    box-shadow: 0 22px 65px rgba(15, 20, 30, .18) !important;
}

#pdp-share-modal .pdp-modal-close {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    padding: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #4a4f58 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#pdp-share-modal .pdp-modal-close svg {
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.6 !important;
    stroke-linecap: round !important;
}

#pdp-share-modal h2 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #14161b !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 32px !important;
    text-align: center !important;
}

#pdp-share-modal .pdp-share-modal__lead {
    display: block !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    color: #6d7179 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-align: center !important;
}

#pdp-share-modal .pdp-share-modal__socials {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin: 16px 0 30px !important;
    padding: 0 !important;
    direction: ltr !important;
}

#pdp-share-modal .pdp-share-social {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    box-shadow: 0 5px 15px rgba(38, 50, 72, .16) !important;
    transform: none !important;
}

#pdp-share-modal .pdp-share-social svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
}

#pdp-share-modal .pdp-share-social--facebook { color: #1688f5 !important; background: #eaf5ff !important; }
#pdp-share-modal .pdp-share-social--twitter  { color: #2ba7df !important; background: #eaf8ff !important; }
#pdp-share-modal .pdp-share-social--email    { color: #e74a3b !important; background: #fff5f2 !important; }
#pdp-share-modal .pdp-share-social--whatsapp { color: #20b95f !important; background: #eafff1 !important; }
#pdp-share-modal .pdp-share-social--telegram { color: #168fc9 !important; background: #eaf7ff !important; }

#pdp-share-modal .pdp-share-modal__field {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#pdp-share-modal .pdp-share-modal__field + .pdp-share-modal__field {
    margin-top: 28px !important;
}

#pdp-share-modal .pdp-share-modal__field label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: #333740 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 22px !important;
    text-align: right !important;
}

#pdp-share-modal .pdp-share-modal__field-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    direction: rtl !important;
}

#pdp-share-modal .pdp-share-modal__field-row input {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d5d9e0 !important;
    border-radius: 6px !important;
    outline: none !important;
    color: #767b84 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 42px !important;
}

#pdp-share-modal .pdp-share-modal__field-row input::placeholder { color: #a0a5ad !important; opacity: 1 !important; }
#pdp-share-modal #pdp-share-email { direction: rtl !important; text-align: right !important; }
#pdp-share-modal #pdp-share-url { direction: ltr !important; text-align: left !important; }

#pdp-share-modal .pdp-share-modal__field-row button {
    box-sizing: border-box !important;
    flex: 0 0 110px !important;
    width: 110px !important;
    min-width: 110px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 6px !important;
    outline: none !important;
    color: #fff !important;
    background: #e4161c !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 44px !important;
    text-align: center !important;
    cursor: pointer !important;
}

#pdp-share-modal .pdp-share-modal__field-row button:hover { background: #ce1218 !important; }

#pdp-share-modal .pdp-share-modal__status {
    position: absolute !important;
    right: 28px !important;
    bottom: 6px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #278452 !important;
    font-size: 10px !important;
    line-height: 16px !important;
    text-align: right !important;
    pointer-events: none !important;
}

#pdp-share-modal .pdp-share-mobile { display: none !important; }
#pdp-share-modal .pdp-share-desktop { display: block !important; }
#pdp-share-modal a.pdp-share-desktop { display: inline-flex !important; }

#pdp-share-modal .pdp-modal-close:focus-visible,
#pdp-share-modal .pdp-share-social:focus-visible,
#pdp-share-modal .pdp-share-modal__field-row button:focus-visible,
#pdp-share-modal .pdp-share-modal__field-row input:focus-visible {
    outline: 2px solid rgba(228, 22, 28, .28) !important;
    outline-offset: 2px !important;
}

@media (max-width: 767px) {
    #pdp-share-modal {
        padding: 12px !important;
        align-items: center !important;
    }

    #pdp-share-modal .pdp-share-modal__dialog {
        width: min(calc(100vw - 24px), 350px) !important;
        min-height: 264px !important;
        max-height: calc(100dvh - 24px) !important;
        padding: 16px 12px 17px !important;
        border-radius: 12px !important;
    }

    #pdp-share-modal .pdp-modal-close {
        top: 14px !important;
        left: 14px !important;
        width: 19px !important;
        height: 19px !important;
        padding: 0 !important;
    }

    #pdp-share-modal .pdp-modal-close svg {
        width: 16px !important;
        height: 16px !important;
        stroke-width: 1.55 !important;
    }

    #pdp-share-modal h2 {
        font-size: 16px !important;
        line-height: 26px !important;
    }

    #pdp-share-modal .pdp-share-modal__lead {
        margin-top: 11px !important;
        font-size: 12px !important;
        line-height: 20px !important;
    }

    #pdp-share-modal .pdp-share-modal__socials {
        gap: 14px !important;
        margin: 11px 0 17px !important;
    }

    #pdp-share-modal .pdp-share-social {
        flex-basis: 32px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 13px rgba(38, 50, 72, .16) !important;
    }

    #pdp-share-modal .pdp-share-social svg {
        width: 19px !important;
        height: 19px !important;
    }

    #pdp-share-modal .pdp-share-desktop { display: none !important; }
    #pdp-share-modal .pdp-share-mobile { display: inline-flex !important; }

    #pdp-share-modal .pdp-share-modal__field + .pdp-share-modal__field {
        margin-top: 0 !important;
    }

    #pdp-share-modal .pdp-share-modal__field label {
        margin-bottom: 6px !important;
        font-size: 11px !important;
        line-height: 18px !important;
    }

    #pdp-share-modal .pdp-share-modal__field-row {
        gap: 8px !important;
    }

    #pdp-share-modal .pdp-share-modal__field-row input {
        height: 35px !important;
        padding: 0 9px !important;
        border-radius: 4px !important;
        font-size: 9px !important;
        line-height: 33px !important;
    }

    #pdp-share-modal .pdp-share-modal__field-row button {
        flex-basis: 80px !important;
        width: 80px !important;
        min-width: 80px !important;
        height: 35px !important;
        min-height: 35px !important;
        padding: 0 8px !important;
        border-radius: 4px !important;
        font-size: 10px !important;
        line-height: 35px !important;
    }

    #pdp-share-modal .pdp-share-modal__status {
        right: 12px !important;
        bottom: 3px !important;
        font-size: 8px !important;
        line-height: 12px !important;
    }
}

@media (max-width: 360px) {
    #pdp-share-modal .pdp-share-modal__dialog {
        width: calc(100vw - 20px) !important;
        min-height: 252px !important;
        padding-inline: 11px !important;
    }
    #pdp-share-modal .pdp-share-modal__socials { gap: 12px !important; }
    #pdp-share-modal .pdp-share-modal__field-row button {
        flex-basis: 74px !important;
        width: 74px !important;
        min-width: 74px !important;
    }
}


/* Cart confirmation: readable cells and shared two-part heading markup. */
.basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table {
    --cart-chart-columns: 5;
    /*min-width: calc(var(--cart-chart-columns) * 100px) !important;*/
}
.basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table[data-column-count="6"] { --cart-chart-columns: 6; }
.basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table[data-column-count="7"] { --cart-chart-columns: 7; }
.basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table[data-column-count="8"] { --cart-chart-columns: 8; }
.basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table[data-column-count="9"] { --cart-chart-columns: 9; }
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table th,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table td {
    height: 52px !important;
    padding: 8px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead th {
    height: 60px !important;
    white-space: normal !important;
}
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead .pdp-size-chart-head-main {
    display: block;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead .pdp-size-chart-head-sub {
    display: block;
    margin-top: 3px;
    color: #676b73;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.is-selected > *,
.basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.active > * {
    font-size: 16px !important;
}
@media (max-width: 767px) {
    .basket_size_modal_container.noorin-cart-confirm table.noorin-cart-confirm__table {
        min-width: calc(var(--cart-chart-columns) * 62px) !important;
    }
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table th,
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table td {
        height: 38px !important;
        padding: 6px 4px !important;
        font-size: 11.5px !important;
    }
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead th {
        height: 48px !important;
    }
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead .pdp-size-chart-head-main {
        font-size: 11px;
    }
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table thead .pdp-size-chart-head-sub {
        margin-top: 2px;
        font-size: 8.5px;
    }
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.is-selected > *,
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table tr.active > * {
        font-size: 12px !important;
    }
}


/* ===============================
   PDP production follow-up fixes
   - clean stock-error modal
   - full-width cart-confirm tables on desktop
   - sticky confirm footer flush to modal bottom
   =============================== */

#pdpStockErrorModal.noorin-cart-stock-error {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    background: rgba(20, 24, 33, .54) !important;
    z-index: 2147483007 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

#pdpStockErrorModal.noorin-cart-stock-error[aria-hidden="false"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__dialog {
    width: min(92vw, 548px) !important;
    max-width: calc(100vw - 36px) !important;
    margin: 0 !important;
    padding: 34px 42px 28px !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 80px rgba(15, 20, 32, .18) !important;
    font-family:iransans !important;
    text-align: center !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__title {
    margin: 0 0 28px !important;
    color: #14171f !important;
    font-size: clamp(24px, 2vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    font-family:iransans !important;
    text-align: center !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__card {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    border: 1px solid #ececee !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    text-align: right !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__meta {
    display: grid !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__product {
    display: block !important;
    color: #1a1d24 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.9 !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__attrs {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px 24px !important;
    color: #50545e !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__attr {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__attr b {
    color: #171a20 !important;
    font-weight: 700 !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__swatch {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    border: 1px solid rgba(0, 0, 0, .12) !important;
    border-radius: 4px !important;
    background: #111111 !important;
    flex: 0 0 16px !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__image {
    width: 76px !important;
    height: 92px !important;
    flex: 0 0 76px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    background: #f6f7f8 !important;
}

#pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 24px 0 0 !important;
    padding: 0 16px !important;
    border: 1px solid #ed2a31 !important;
    border-radius: 12px !important;
    background: #ed2a31 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

@media (max-width: 767px) {
    #pdpStockErrorModal.noorin-cart-stock-error {
        align-items: flex-start !important;
        padding: 14vh 16px 16px !important;
        padding: 14dvh 16px 16px !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__dialog {
        width: min(100%, 360px) !important;
        padding: 24px 18px 18px !important;
        border-radius: 20px !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__title {
        margin-bottom: 18px !important;
        font-size: 15px !important;
        line-height: 1.8 !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__card {
        gap: 12px !important;
        padding: 14px 12px !important;
        border-radius: 14px !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__image {
        width: 58px !important;
        height: 72px !important;
        flex-basis: 58px !important;
        border-radius: 10px !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__product {
        font-size: 12px !important;
        line-height: 1.9 !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__attrs {
        gap: 8px 14px !important;
        font-size: 11px !important;
        line-height: 1.8 !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__swatch {
        width: 14px !important;
        height: 14px !important;
        flex-basis: 14px !important;
    }

    #pdpStockErrorModal.noorin-cart-stock-error .noorin-cart-stock-error__button {
        min-height: 48px !important;
        margin-top: 16px !important;
        border-radius: 10px !important;
        font-size: 15px !important;
    }
}

@media (min-width: 768px) {
    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__body {
        padding-bottom: 0 !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__tables {
        /*width: calc(100% + 136px) !important;*/
        max-width: none !important;
        margin: 0 -68px 0 -68px;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-section .chart_table_title {
        margin-right: 68px !important;
        margin-left: 68px !important;
    }

    .basket_size_modal_container.noorin-cart-confirm .noorin-cart-confirm__table-scroll {
        padding-right: 0 !important;
        padding-left: 0 !important;
        box-sizing: border-box !important;
    }

    .basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn.noorin-cart-confirm__submit {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 8 !important;
        width: calc(100% + 136px) !important;
        min-height: 92px !important;
        margin: 18px -68px 0 !important;
        padding: 14px 68px 24px !important;
        border-top: 1px solid #eceef1 !important;
        background: #ffffff !important;
        box-shadow: 0 -10px 26px rgba(18, 22, 31, .08) !important;
        box-sizing: border-box !important;
    }

    .basket_size_modal_container.noorin-cart-confirm #final_addTO_basket_btn .final_addTO_basket_btn {
        width: min(100%, 320px) !important;
    }
}

/* R17: gallery controls and shared storefront card geometry. */
.pdp-gallery__stage:has(.swiper-slide-active .jpa-media-player) .pdp-gallery__hotspots,.pdp-gallery__stage:has(.swiper-slide-active video) .pdp-gallery__hotspots{display:none!important}
.pdp-cart-toast .pdp-cart-toast__link{background:#e3141b;color:#fff;border-radius:13px;min-height:46px;padding:12px 18px;display:inline-flex;align-items:center;gap:9px;font-weight:700}
.pdp-cart-toast .pdp-cart-toast__link:hover{background:#bd1118;color:#fff}
.nm-retry{border:1px solid #f5bdc3;border-radius:12px;background:#fff5f6;color:#e3141b;padding:10px 16px;font:inherit;cursor:pointer}
#nm-variantModal[aria-busy=true] #nm-color-list{min-height:90px;background:linear-gradient(100deg,#f5f6f8 20%,#fff 40%,#f5f6f8 60%);background-size:200% 100%;border-radius:16px;animation:nm-skeleton 1.4s linear infinite}
@keyframes nm-skeleton{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){#nm-variantModal[aria-busy=true] #nm-color-list{animation:none}}
.related_products_section .product-card{border:1px solid #e6e7eb;border-radius:8px;overflow:hidden;background:#fff;height:100%}
.related_products_section .product-img{aspect-ratio:318/477;height:auto;border-radius:0;background:#f4f4f6}
.related_products_section .product-img__link{height:100%;display:block}.related_products_section .product-img img{width:100%;height:100%;object-fit:cover;object-position:top center}
.related_products_section .product-info{padding:13px 14px 14px}.related_products_section .product-title{font-size:15px;font-weight:700;line-height:1.65;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;min-height:25px}
.related_products_section .price{font-size:17px;font-weight:800}.related_products_section .badge-discount{background:#ffdadc;color:#e3141b;border-radius:5px;font-size:9px;min-height:21px;padding:2px 6px 2px 8px}
@media(max-width:768px){body:has(#single_product_page_section.pdp-v2) #siteHeaderFixed{position:fixed!important;top:0!important;transform:none!important;visibility:visible!important}.related_products_section .product-info{padding:9px}.related_products_section .product-title{font-size:12px}.related_products_section .price{font-size:13px}.pdp-cart-toast .pdp-cart-toast__link{min-height:44px;padding:10px 14px}}


.related_products_section .product-title{display:block;-webkit-line-clamp:unset;min-height:25px}.related_products_section .product-price{justify-content:flex-end;min-height:28px;margin-bottom:9px}.related_products_section .final-price{font-size:17px;font-weight:800}.related_products_section .final-price small{font-size:11px;font-weight:400}.related_products_section .product-option-row{min-height:34px;gap:8px}.related_products_section .product-option-label{font-size:12px}.related_products_section .size-badge,.related_products_section .option-overflow{min-width:21px;height:22px;border-radius:6px;font-size:10px}.related_products_section .color-dot{width:22px;height:22px;border-radius:4px}
@media(max-width:768px){.related_products_section .final-price{font-size:13px}.related_products_section .final-price small{font-size:9px}.related_products_section .product-option-label{font-size:10px}.related_products_section .product-option-row{min-height:28px}.related_products_section .color-dot{width:17px;height:17px}}

