/* Markt Welt centralized product-detail UI.
   This file is part of the shared ui package and is used by storefront product pages. */

.mw-product-detail-body .mobile-app-main {
    padding-block-start: 0 !important;
}

.mw-product-detail-page {
    --mw-product-glass: rgb(255 255 255 / .76);
    --mw-product-glass-strong: rgb(255 255 255 / .88);
    --mw-product-border: rgb(15 118 110 / .17);
    --mw-product-shadow: 0 20px 55px rgb(15 23 42 / .08);
    min-width: 0;
    padding: clamp(.75rem, 1vw, 1rem) clamp(.75rem, 3vw, 2.5rem) clamp(5.75rem, 7vw, 7rem);
    background:
        radial-gradient(circle at 8% 3%, rgb(45 212 191 / .16), transparent 28rem),
        radial-gradient(circle at 92% 8%, rgb(14 165 233 / .1), transparent 30rem),
        linear-gradient(180deg, rgb(240 253 250 / .58), rgb(248 250 252 / .82));
}

.mw-product-detail,
.mw-product-detail * {
    box-sizing: border-box;
}

.mw-product-detail {
    width: min(100%, 1840px);
    min-width: 0;
    margin-inline: auto;
}

.mw-product-detail-page .mw-card--glass {
    border-color: var(--mw-product-border);
    background: var(--mw-product-glass);
    box-shadow: var(--mw-product-shadow);
    -webkit-backdrop-filter: blur(20px) saturate(135%);
    backdrop-filter: blur(20px) saturate(135%);
}

.mw-product-breadcrumb {
    margin-bottom: clamp(.75rem, 1.3vw, 1.25rem);
    overflow: hidden;
}

.mw-product-breadcrumb__list {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--mw-muted);
    font-size: .78rem;
}

.mw-product-breadcrumb__list li {
    display: flex;
    align-items: center;
    min-width: 0;
}

.mw-product-breadcrumb__list li:not(:last-child)::after {
    content: "/";
    margin-inline-start: .45rem;
    color: #94a3b8;
}

.mw-product-breadcrumb__list a,
.mw-product-breadcrumb__list span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.mw-product-breadcrumb__list li:last-child span {
    max-width: min(44vw, 38rem);
    overflow: hidden;
    color: var(--mw-text);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-product-detail__hero {
    padding: clamp(.85rem, 1.7vw, 1.6rem);
    overflow: visible;
}

.mw-product-detail__overview {
    display: grid;
    grid-template-columns: minmax(25rem, 1.2fr) minmax(18rem, .72fr) minmax(17rem, .68fr);
    align-items: start;
    gap: clamp(.8rem, 1.25vw, 1.35rem);
    min-width: 0;
}

.mw-product-detail__media {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

.mw-product-detail__information,
.mw-product-detail__configurator {
    display: grid;
    gap: clamp(.8rem, 1.2vw, 1.15rem);
    min-width: 0;
}

.mw-product-detail__information {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
}

.mw-product-detail__configurator {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

.mw-product-detail__configurator .mw-product-purchase {
    height: auto;
}

.mw-product-detail__information .mw-product-detail__title {
    font-size: clamp(1.65rem, 2.15vw, 2.85rem);
    line-height: 1.06;
}

.mw-product-detail__header {
    min-width: 0;
    padding: .25rem .15rem .55rem;
    border-bottom: 1px solid var(--mw-product-border);
}

.mw-product-detail__eyebrow,
.mw-product-price__topline > span:first-child {
    display: block;
    margin-bottom: .3rem;
    color: var(--mw-primary);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mw-product-detail__title {
    margin: 0;
    color: #082f2f;
    font-size: clamp(2rem, 4vw, 4.2rem);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.02;
    overflow-wrap: anywhere;
}

.mw-product-rating {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .48rem;
    margin-top: .72rem;
    color: var(--mw-text);
    font-size: .84rem;
}

.mw-product-rating__stars,
.mw-product-review__stars {
    display: inline-flex;
    gap: .18rem;
    color: #f59e0b;
}

.mw-product-rating > strong {
    font-weight: 900;
}

.mw-product-rating > a {
    color: var(--mw-primary);
    font-weight: 800;
    text-decoration: none;
}

.mw-product-rating > a:hover,
.mw-product-rating > a:focus-visible {
    text-decoration: underline;
}

/* Compact decision facts */
.mw-product-quick-facts {
    padding: clamp(.85rem, 1.2vw, 1.05rem);
}

.mw-product-quick-facts__header,
.mw-product-quick-facts__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

.mw-product-quick-facts__header h2 {
    margin: .12rem 0 0;
    color: var(--mw-text);
    font-size: 1rem;
    font-weight: 900;
}

.mw-product-quick-facts__description {
    display: -webkit-box;
    margin: .8rem 0 0;
    overflow: hidden;
    color: #475569;
    font-size: .78rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.mw-product-quick-facts__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 .85rem;
    margin: .7rem 0 0;
}

.mw-product-quick-facts__list > div {
    min-width: 0;
    padding: .5rem 0;
    border-bottom: 1px solid rgb(15 118 110 / .11);
}

.mw-product-quick-facts__list dt {
    color: var(--mw-muted);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mw-product-quick-facts__list dd {
    margin: .18rem 0 0;
    overflow: hidden;
    color: var(--mw-text);
    font-size: .75rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-product-quick-facts__actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: .8rem;
}

/* Gallery */
.mw-product-gallery {
    position: sticky;
    top: 1rem;
}

.mw-product-gallery__stage {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: min(72vh, 880px);
    overflow: hidden;
    border: 1px solid var(--mw-product-border);
    border-radius: clamp(1rem, 1.7vw, 1.5rem);
    background: rgb(255 255 255 / .54);
}

.mw-product-gallery__stage > img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: min(72vh, 880px);
    object-fit: cover;
    object-position: center;
    transition: opacity 180ms ease, transform 300ms ease;
}

.mw-product-gallery__stage > img.is-loading {
    opacity: .48;
    transform: scale(.995);
}

.mw-product-gallery__loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: .5rem;
    background: rgb(255 255 255 / .56);
    color: var(--mw-primary);
    text-align: center;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

.mw-product-gallery__loading[hidden] { display: none; }

.mw-product-gallery__toolbar {
    position: absolute;
    z-index: 3;
    inset: .8rem .8rem auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    pointer-events: none;
}

.mw-product-gallery__counter,
.mw-product-gallery__tool {
    min-height: 2.25rem;
    border: 1px solid rgb(15 118 110 / .18);
    border-radius: 999px;
    background: rgb(255 255 255 / .9);
    box-shadow: 0 8px 24px rgb(15 23 42 / .1);
    color: #134e4a;
    font-size: .7rem;
    font-weight: 900;
    backdrop-filter: blur(12px);
}

.mw-product-gallery__counter { display: inline-flex; align-items: center; padding: .4rem .7rem; }

.mw-product-gallery__tool {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .72rem;
    cursor: pointer;
    pointer-events: auto;
}

.mw-product-gallery__tool:hover,
.mw-product-gallery__tool:focus-visible {
    border-color: rgb(15 118 110 / .45);
    background: #fff;
    outline: 3px solid rgb(15 118 110 / .12);
}

.mw-product-gallery__step {
    opacity: 1;
    pointer-events: auto;
}

.mw-product-gallery__stage > .mw-product-card__arrow {
    min-height: 2.0625rem;
}

.mw-product-gallery__lightbox {
    width: min(94vw, 1120px);
    height: min(92vh, 920px);
    max-width: none;
    max-height: none;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / .32);
    border-radius: 1.25rem;
    background: #071c1d;
    box-shadow: 0 32px 90px rgb(2 6 23 / .48);
}

.mw-product-gallery__lightbox::backdrop { background: rgb(2 6 23 / .78); backdrop-filter: blur(10px); }
.mw-product-gallery__lightbox-shell { position: relative; display: grid; width: 100%; height: 100%; place-items: center; }
.mw-product-gallery__lightbox img { display: block; width: 100%; height: 100%; object-fit: contain; }

.mw-product-gallery__lightbox-toolbar {
    position: absolute;
    z-index: 2;
    inset: .9rem .9rem auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.mw-product-gallery__lightbox-toolbar > span,
.mw-product-gallery__lightbox-toolbar button,
.mw-product-gallery__lightbox-step {
    border: 1px solid rgb(255 255 255 / .2);
    background: rgb(2 6 23 / .68);
    color: #fff;
    backdrop-filter: blur(12px);
}

.mw-product-gallery__lightbox-toolbar > span { padding: .45rem .72rem; border-radius: 999px; }
.mw-product-gallery__lightbox-toolbar button,
.mw-product-gallery__lightbox-step { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; padding: 0; border-radius: 50%; cursor: pointer; }
.mw-product-gallery__lightbox-step { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); }
.mw-product-gallery__lightbox-step--previous { inset-inline-start: 1rem; }
.mw-product-gallery__lightbox-step--next { inset-inline-end: 1rem; }
.mw-product-gallery__lightbox button:hover,
.mw-product-gallery__lightbox button:focus-visible { background: rgb(15 118 110 / .9); outline: 3px solid rgb(255 255 255 / .2); }

/* Seller */
.mw-product-seller {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem;
}

.mw-product-seller__identity {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.mw-product-seller__logo {
    display: grid;
    flex: 0 0 3.25rem;
    width: 3.25rem;
    height: 3.25rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--mw-product-border);
    border-radius: .9rem;
    background: rgb(240 253 250 / .78);
    color: var(--mw-primary);
}

.mw-product-seller__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mw-product-seller__copy {
    min-width: 0;
}

.mw-product-seller__copy > span {
    display: block;
    color: var(--mw-muted);
    font-size: .68rem;
    font-weight: 800;
}

.mw-product-seller__name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}

.mw-product-seller__name > strong {
    overflow-wrap: anywhere;
}

.mw-product-seller__verified {
    padding: .23rem .42rem;
    border-color: rgb(16 185 129 / .22);
    background: rgb(220 252 231 / .72);
    color: #047857;
    font-size: .66rem;
}

.mw-product-seller__copy small {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .28rem;
    margin-top: .18rem;
    color: var(--mw-muted);
    font-size: .72rem;
}

/* Price */
.mw-product-price {
    padding: clamp(.9rem, 1.4vw, 1.25rem);
    background:
        radial-gradient(circle at 88% 22%, rgb(45 212 191 / .15), transparent 14rem),
        var(--mw-product-glass) !important;
}

.mw-product-price__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(13rem, .58fr);
    align-items: center;
    gap: 1.1rem;
}

.mw-product-price__topline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
}

.mw-product-price__topline > span:first-child { margin: 0; }

.mw-product-price__discount {
    border-color: rgb(16 185 129 / .2);
    background: rgb(220 252 231 / .72);
    color: #047857;
}

.mw-product-price__value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .2rem;
    color: #064e3b;
}

.mw-product-price__value > span {
    font-size: .85rem;
    font-weight: 900;
}

.mw-product-price__value > strong {
    font-size: clamp(2.15rem, 4.4vw, 4.5rem);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1;
}

.mw-product-price__old {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .55rem;
    color: var(--mw-muted);
    font-size: .78rem;
}

.mw-product-price__old del { font-weight: 800; }

.mw-product-price__assurance {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .78rem;
    border: 1px solid var(--mw-product-border);
    border-radius: 1rem;
    background: rgb(255 255 255 / .56);
}

.mw-product-price__assurance > span {
    display: grid;
    flex: 0 0 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    place-items: center;
    border-radius: .75rem;
    background: linear-gradient(135deg, var(--mw-primary), #0d9488);
    color: #fff;
}

.mw-product-price__assurance strong,
.mw-product-price__assurance small {
    display: block;
}

.mw-product-price__assurance strong {
    color: #0f172a;
    font-size: .78rem;
}

.mw-product-price__assurance small {
    margin-top: .18rem;
    color: var(--mw-muted);
    font-size: .68rem;
    line-height: 1.4;
}

.mw-product-price__availability {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: .85rem;
    padding: .45rem .65rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    font-size: .78rem;
}

.mw-product-price__availability[hidden] { display: none; }
.mw-product-price__availability > span { width: .48rem; height: .48rem; border-radius: 50%; background: currentColor; }
.mw-product-price__availability.is-success { border-color: rgb(16 185 129 / .22); background: rgb(220 252 231 / .72); color: #047857; }
.mw-product-price__availability.is-warning { border-color: rgb(245 158 11 / .24); background: rgb(254 243 199 / .72); color: #92400e; }
.mw-product-price__availability.is-danger { border-color: rgb(239 68 68 / .24); background: rgb(254 226 226 / .72); color: #b91c1c; }

/* Purchase area */
.mw-product-purchase {
    display: grid;
    gap: .9rem;
    padding: clamp(1rem, 1.45vw, 1.35rem);
    border-color: rgb(15 118 110 / .23);
    border-radius: 1.25rem;
    background:
        linear-gradient(145deg, rgb(255 255 255 / .9), rgb(240 253 250 / .66));
    box-shadow: 0 16px 42px rgb(15 23 42 / .09);
}

.mw-product-purchase__header {
    display: flex;
    align-items: flex-start;
    gap: .78rem;
    padding: 0 0 .9rem;
    border-bottom: 1px solid var(--mw-product-border);
}

.mw-product-purchase__header-icon {
    display: grid;
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: .82rem;
    background: linear-gradient(135deg, var(--mw-primary), #0d9488);
    color: #fff;
    box-shadow: 0 8px 20px rgb(15 118 110 / .2);
}

.mw-product-purchase__header > div { min-width: 0; }
.mw-product-purchase__header > div > span {
    display: block;
    color: var(--mw-primary);
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.mw-product-purchase__header h2 {
    margin: .12rem 0 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 950;
    letter-spacing: -.02em;
}
.mw-product-purchase__header p {
    margin: .18rem 0 0;
    color: var(--mw-muted);
    font-size: .68rem;
    line-height: 1.45;
}

.mw-product-choice-group {
    min-width: 0;
    margin: 0;
    padding: .78rem;
    border: 1px solid rgb(148 163 184 / .2);
    border-radius: 1rem;
    background: rgb(255 255 255 / .52);
}

.mw-product-choice-group legend {
    display: flex;
    align-items: center;
    gap: .48rem;
    width: auto;
    margin: 0 0 .55rem;
    padding: 0;
    color: var(--mw-text);
    font-size: .85rem;
    font-weight: 900;
}

.mw-product-choice-group__required {
    padding: .17rem .28rem;
    border: 1px solid rgb(15 118 110 / .18);
    border-radius: 999px;
    background: rgb(204 251 241 / .68);
    color: var(--mw-primary);
    font-size: .56rem;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.mw-product-choice-group__step {
    display: inline-grid;
    width: 1.45rem;
    height: 1.45rem;
    place-items: center;
    border-radius: .48rem;
    background: var(--mw-primary);
    color: #fff;
    font-size: .64rem;
    box-shadow: 0 4px 10px rgb(15 118 110 / .18);
}

.mw-product-choice-group legend.mw-product-choice-group__legend--with-action {
    width: 100%;
    flex-wrap: wrap;
}

.mw-product-choice-group__legend--with-action > span {
    flex-shrink: 0;
    white-space: nowrap;
}

.mw-product-size-guide__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .28rem;
    min-height: 2rem;
    margin-inline-start: auto;
    padding: .32rem .4rem;
    border: 1px solid rgb(15 118 110 / .28);
    border-radius: .65rem;
    background: rgb(255 255 255 / .22);
    color: var(--mw-primary);
    font: inherit;
    font-size: .62rem;
    font-weight: 850;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 5px 14px rgb(15 23 42 / .08);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: border-color var(--mw-transition), background var(--mw-transition), box-shadow var(--mw-transition), transform var(--mw-transition);
}

.mw-product-size-guide__trigger:hover,
.mw-product-size-guide__trigger:focus-visible,
.mw-product-size-guide__trigger.is-open {
    border-color: rgb(15 118 110 / .5);
    background: rgb(255 255 255 / .58);
    box-shadow: 0 7px 18px rgb(15 118 110 / .13);
    transform: translateY(-1px);
}

.mw-product-size-guide__trigger:focus-visible {
    outline: 3px solid rgb(15 118 110 / .16);
    outline-offset: 2px;
}

.mw-product-size-guide__trigger i {
    font-size: .72rem;
    transition: transform var(--mw-transition);
}

.mw-product-size-guide__trigger.is-open i { transform: rotate(-10deg); }

.mw-product-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    min-width: 0;
}

.mw-product-choice {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.45rem;
    padding: .45rem .7rem;
    border: 1px solid var(--mw-border);
    border-radius: .78rem;
    background: rgb(255 255 255 / .66);
    color: var(--mw-text);
    font-size: .8rem;
    font-weight: 850;
    cursor: pointer;
    transition: transform var(--mw-transition), border-color var(--mw-transition), background var(--mw-transition), box-shadow var(--mw-transition);
}

.mw-product-choice small {
    color: var(--mw-muted);
    font-size: .67rem;
    font-weight: 700;
}

.mw-product-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.mw-product-choice:hover,
.mw-product-choice:focus-within,
.mw-product-choice.is-selected {
    transform: translateY(-1px);
    border-color: rgb(15 118 110 / .48);
    background: rgb(240 253 250 / .9);
    box-shadow: 0 6px 18px rgb(15 118 110 / .11);
}

.mw-product-choice:focus-within { outline: 3px solid rgb(15 118 110 / .16); outline-offset: 2px; }

.mw-product-choice--size { min-width: 2.7rem; }

.mw-product-choice__swatch {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 1.05rem;
    border: 1px solid rgb(15 23 42 / .16);
    border-radius: 50%;
    background: var(--mw-swatch-color, #fff);
    box-shadow: inset 0 0 0 2px rgb(255 255 255 / .62);
}

.mw-product-choice-list__empty,
.mw-product-empty {
    width: 100%;
    padding: .85rem 1rem;
    border: 1px dashed rgb(148 163 184 / .36);
    border-radius: .9rem;
    background: rgb(248 250 252 / .66);
    color: var(--mw-muted);
    font-size: .82rem;
}

.mw-product-size-guide {
    margin-top: .72rem;
    overflow: hidden;
    border: 1px solid rgb(15 118 110 / .2);
    border-radius: .9rem;
    background: rgb(248 250 252 / .58);
}

.mw-product-size-guide[hidden],
.mw-product-selected-measurements[hidden] {
    display: none;
}

.mw-product-size-guide__intro {
    display: flex;
    align-items: center;
    gap: .58rem;
    padding: .62rem .68rem;
    border-bottom: 1px solid rgb(15 118 110 / .14);
    background: linear-gradient(135deg, rgb(240 253 250 / .86), rgb(236 254 255 / .52));
}

.mw-product-size-guide__icon,
.mw-product-selected-measurements__icon {
    display: inline-grid;
    flex: 0 0 1.9rem;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    border-radius: .6rem;
    background: rgb(15 118 110 / .12);
    color: var(--mw-primary);
}

.mw-product-size-guide__intro > div,
.mw-product-selected-measurements > div {
    min-width: 0;
}

.mw-product-size-guide__intro strong,
.mw-product-size-guide__intro small {
    display: block;
}

.mw-product-size-guide__intro strong {
    color: var(--mw-text);
    font-size: .76rem;
}

.mw-product-size-guide__intro small {
    margin-top: .1rem;
    color: var(--mw-muted);
    font-size: .61rem;
    line-height: 1.35;
}



















.mw-product-selected-measurements {
    display: flex;
    align-items: center;
    gap: .58rem;
    margin-top: .58rem;
    padding: .62rem .68rem;
    border: 1px solid rgb(15 118 110 / .22);
    border-radius: .82rem;
    background: linear-gradient(135deg, rgb(240 253 250 / .82), rgb(255 255 255 / .5));
}

.mw-product-selected-measurements > div > span,
.mw-product-selected-measurements > div > strong {
    display: block;
}

.mw-product-selected-measurements > div > span {
    color: var(--mw-muted);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mw-product-selected-measurements > div > strong {
    margin-top: .12rem;
    color: var(--mw-text);
    font-size: .67rem;
    line-height: 1.4;
}

.mw-product-selection {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .8rem;
    padding: .72rem .82rem;
    border: 1px solid var(--mw-product-border);
    border-radius: .9rem;
    background: linear-gradient(135deg, rgb(240 253 250 / .9), rgb(236 254 255 / .72));
}

.mw-product-selection__icon {
    display: grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: .65rem;
    background: rgb(15 118 110 / .12);
    color: var(--mw-primary);
}

.mw-product-selection > div > span,
.mw-product-selection > div > strong {
    display: block;
}

.mw-product-selection > div > span {
    color: var(--mw-muted);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mw-product-selection > div > strong {
    margin-top: .16rem;
    font-size: .8rem;
}

.mw-product-detail__selection-stock {
    margin-inline-start: auto;
    color: var(--mw-muted);
    font-size: .72rem;
    white-space: nowrap;
}
.mw-product-detail__selection-stock.is-success { color: #047857; }
.mw-product-detail__selection-stock.is-warning { color: #92400e; }
.mw-product-detail__selection-stock.is-danger { color: #b91c1c; }

.mw-product-detail__variant-message {
    padding: .68rem .8rem;
    border: 1px solid var(--mw-border);
    border-radius: .82rem;
    background: rgb(248 250 252 / .72);
    color: var(--mw-muted);
    font-size: .76rem;
    font-weight: 750;
}
.mw-product-detail__variant-message.is-success { border-color: rgb(16 185 129 / .2); background: rgb(220 252 231 / .62); color: #047857; }
.mw-product-detail__variant-message.is-warning { border-color: rgb(245 158 11 / .22); background: rgb(254 243 199 / .62); color: #92400e; }
.mw-product-detail__variant-message.is-danger { border-color: rgb(239 68 68 / .22); background: rgb(254 226 226 / .62); color: #b91c1c; }

.mw-product-quantity-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .62rem .72rem;
    border: 1px solid rgb(148 163 184 / .2);
    border-radius: .82rem;
    background: rgb(255 255 255 / .52);
}

.mw-product-quantity-row > div:first-child strong,
.mw-product-quantity-row > div:first-child small {
    display: block;
}

.mw-product-quantity-row > div:first-child strong { font-size: .85rem; }
.mw-product-quantity-row > div:first-child small { margin-top: .18rem; color: var(--mw-muted); font-size: .7rem; }

.mw-product-quantity {
    display: grid;
    grid-template-columns: 2rem 2.55rem 2rem;
    flex: 0 0 auto;
    align-items: center;
    gap: .12rem;
    padding: .16rem;
    border: 1px solid var(--mw-product-border);
    border-radius: .7rem;
    background: rgb(255 255 255 / .82);
    box-shadow: 0 1px 2px rgb(15 23 42 / .05);
    transition: border-color var(--mw-transition), box-shadow var(--mw-transition);
}

.mw-product-quantity:focus-within {
    border-color: var(--mw-primary);
    box-shadow: var(--mw-focus);
}

.mw-product-quantity__button,
.mw-product-quantity__input {
    min-width: 0;
    min-height: 1.9rem;
    height: 1.9rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: var(--mw-text);
    font: inherit;
    text-align: center;
}

.mw-product-quantity__button {
    display: inline-grid;
    place-items: center;
    color: var(--mw-primary);
    font-size: .68rem;
    cursor: pointer;
    transition: background var(--mw-transition), color var(--mw-transition), transform var(--mw-transition);
}

.mw-product-quantity__button:hover:not(:disabled),
.mw-product-quantity__button:focus-visible {
    background: var(--mw-primary-soft);
    outline: none;
}

.mw-product-quantity__button:active:not(:disabled) { transform: scale(.92); }
.mw-product-quantity__button:disabled { opacity: .3; cursor: not-allowed; }
.mw-product-quantity > input.mw-product-quantity__input {
    width: 100%;
    min-height: 1.9rem;
    padding: 0;
    border: 0;
    border-inline: 1px solid var(--mw-product-border);
    border-radius: 0;
    background: transparent;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1;
    -moz-appearance: textfield;
}
.mw-product-quantity > input.mw-product-quantity__input:focus { border-color: var(--mw-product-border); box-shadow: none; }
.mw-product-quantity__input::-webkit-inner-spin-button,
.mw-product-quantity__input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.mw-product-purchase__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.mw-product-purchase__action {
    width: 100%;
    min-height: 4.15rem;
    justify-content: flex-start;
    padding: .55rem .7rem;
    white-space: normal;
}

.mw-product-purchase__action > span:last-child {
    display: grid;
    min-width: 0;
    gap: .12rem;
    text-align: start;
}

.mw-product-purchase__action strong,
.mw-product-purchase__action small { display: block; }
.mw-product-purchase__action strong { font-size: .78rem; }
.mw-product-purchase__action small { color: var(--mw-muted); font-size: .6rem; font-weight: 650; line-height: 1.25; }
.mw-product-purchase__action:disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }

.mw-product-detail__configurator .mw-product-purchase {
    gap: .78rem;
    padding: clamp(.85rem, 1.05vw, 1.15rem);
    border-color: rgb(15 118 110 / .2);
    background: rgb(255 255 255 / .42);
    box-shadow: 0 14px 36px rgb(15 23 42 / .08);
}

.mw-product-detail__configurator .mw-product-choice-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mw-product-detail__configurator .mw-product-choice {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    padding-inline: .58rem;
}

.mw-product-detail__configurator .mw-product-choice--color {
    grid-column: 1 / -1;
}

.mw-product-detail__configurator .mw-product-choice small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-product-detail__configurator .mw-product-selection {
    flex-wrap: wrap;
}

.mw-product-detail__configurator .mw-product-purchase__actions {
    grid-template-columns: 1fr;
}

.mw-product-detail__configurator .mw-product-purchase__action {
    min-height: 3.7rem;
}

.mw-product-detail__configurator .mw-button--glass,
.mw-product-mobile-bar .mw-button--glass {
    background: rgb(255 255 255 / .22);
}

.mw-product-detail__configurator .mw-button--glass:hover,
.mw-product-detail__configurator .mw-button--glass:focus-visible,
.mw-product-mobile-bar .mw-button--glass:hover,
.mw-product-mobile-bar .mw-button--glass:focus-visible {
    background: rgb(255 255 255 / .5);
}

/* Trust cards */
.mw-product-detail__trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.mw-product-detail__trust-card {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    padding: .72rem;
}

.mw-product-detail__trust-icon {
    display: grid;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: .7rem;
    background: rgb(204 251 241 / .7);
    color: var(--mw-primary);
}

.mw-product-detail__trust-card strong,
.mw-product-detail__trust-card small { display: block; }
.mw-product-detail__trust-card strong { font-size: .72rem; }
.mw-product-detail__trust-card small { margin-top: .12rem; color: var(--mw-muted); font-size: .6rem; line-height: 1.35; }

/* Tabs and content */
.mw-product-tabs {
    margin-top: clamp(.8rem, 1.25vw, 1.15rem);
    overflow: hidden;
}

.mw-product-tabs__header {
    padding: clamp(.75rem, 1.1vw, 1rem) clamp(.85rem, 1.5vw, 1.2rem) .6rem;
}

.mw-product-tabs__header h2,
.mw-related-products h2 {
    margin: .18rem 0 0;
    color: var(--mw-text);
    font-size: clamp(1.15rem, 1.65vw, 1.65rem);
    font-weight: 900;
    letter-spacing: -.025em;
}

.mw-product-tabs__list {
    display: flex;
    align-items: center;
    gap: .25rem;
    overflow-x: auto;
    padding: .4rem clamp(.75rem, 1.5vw, 1.2rem);
    border-block: 1px solid var(--mw-product-border);
    background: rgb(204 251 241 / .34);
    scrollbar-width: thin;
}

.mw-product-tabs__button {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    min-height: 2.2rem;
    padding: .35rem .65rem;
    border: 1px solid transparent;
    border-radius: .68rem;
    background: transparent;
    color: #475569;
    font: inherit;
    font-size: .75rem;
    font-weight: 850;
    white-space: nowrap;
    cursor: pointer;
}

.mw-product-tabs__button > span {
    display: inline-grid;
    min-width: 1.2rem;
    height: 1.2rem;
    place-items: center;
    padding-inline: .28rem;
    border-radius: 999px;
    background: rgb(148 163 184 / .14);
    font-size: .58rem;
}

.mw-product-tabs__button:hover,
.mw-product-tabs__button:focus-visible,
.mw-product-tabs__button.is-active {
    border-color: rgb(15 118 110 / .25);
    background: rgb(255 255 255 / .86);
    color: var(--mw-primary);
    outline: none;
    box-shadow: 0 6px 18px rgb(15 118 110 / .08);
}

.mw-product-tabs__content {
    padding: clamp(.7rem, 1.25vw, 1rem);
}

.mw-product-tabs__panel[hidden] { display: none; }
.mw-product-tabs__panel { margin-block-end: 0; }

.mw-product-information-grid {
    display: grid;
    gap: 1rem;
}

.mw-product-information-card {
    padding: clamp(1rem, 1.6vw, 1.35rem);
}

.mw-product-information-card h3,
.mw-product-review-form h3 {
    margin: 0;
    color: var(--mw-text);
    font-size: 1.05rem;
    font-weight: 900;
}

.mw-product-information-card__copy {
    margin-top: .7rem;
    color: #334155;
    font-size: .88rem;
    line-height: 1.75;
}

.mw-product-information-card__copy p:last-child { margin-bottom: 0; }

.mw-product-specifications {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.45rem, .75vw, .65rem);
    margin: 0;
}

.mw-product-specifications__item {
    display: grid;
    grid-template-columns: minmax(6.5rem, .42fr) minmax(0, 1fr);
    align-items: baseline;
    gap: .5rem;
    min-width: 0;
    min-height: 2.55rem;
    padding: .48rem .22rem;
    border: 0;
    border-bottom: 1px solid rgb(15 118 110 / .14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.mw-product-specifications__item.is-full { grid-column: 1 / -1; }
.mw-product-specifications dt {
    color: var(--mw-muted);
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .065em;
    line-height: 1.25;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.mw-product-specifications dd {
    min-width: 0;
    margin: 0;
    color: var(--mw-text);
    font-size: .78rem;
    font-weight: 780;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

@media (min-width: 900px) {
    .mw-product-specifications { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1440px) {
    .mw-product-specifications { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Reviews */
.mw-product-reviews {
    display: grid;
    gap: 1rem;
}

.mw-product-reviews__list {
    display: grid;
    gap: .75rem;
}

.mw-product-review {
    padding: 1rem;
}

.mw-product-review__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
}

.mw-product-review__avatar {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mw-primary), #0d9488);
    color: #fff;
    font-weight: 900;
}

.mw-product-review__header strong,
.mw-product-review__header time { display: block; }
.mw-product-review__header time { margin-top: .12rem; color: var(--mw-muted); font-size: .68rem; }
.mw-product-review__verified { border-color: rgb(16 185 129 / .2); background: rgb(220 252 231 / .7); color: #047857; }
.mw-product-review__stars { margin-top: .7rem; }
.mw-product-review > p { margin: .55rem 0 0; color: #334155; font-size: .85rem; line-height: 1.65; }

.mw-product-review-form {
    padding: clamp(1rem, 2vw, 1.4rem);
}

.mw-product-review-form > header p {
    margin: .35rem 0 0;
    color: var(--mw-muted);
    font-size: .8rem;
}

.mw-product-review-form form {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.mw-product-review-form__login {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: .9rem;
    border: 1px solid var(--mw-product-border);
    border-radius: .9rem;
    background: rgb(240 253 250 / .5);
}

.mw-product-review-form__login p { margin: 0; color: var(--mw-muted); font-size: .82rem; }

/* Related products */
.mw-related-products {
    margin-top: clamp(1.15rem, 2vw, 2rem);
}

.mw-related-products__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(.7rem, 1.2vw, 1rem);
}

.mw-related-product-card {
    background: var(--mw-product-glass);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    backdrop-filter: blur(18px) saturate(130%);
}

.mw-related-product-card__media {
    display: block;
    aspect-ratio: 4 / 5;
}

.mw-related-product-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 360ms ease;
}

.mw-related-product-card:hover .mw-related-product-card__media img { transform: scale(1.025); }
.mw-related-product-card .mw-product-card__title a { color: inherit; text-decoration: none; }
.mw-related-product-card__status { align-self: flex-start; }
.mw-related-product-card__status.is-warning { background: #fffbeb; color: #92400e; }
.mw-related-product-card__status.is-success { background: #f0fdf4; color: #166534; }

.mw-related-product-card__footer {
    display: grid;
    gap: .7rem;
    margin-top: auto;
}

.mw-related-product-card__footer > strong {
    color: #b91c1c;
    font-size: 1rem;
}

/* Pharmacy compatibility inside the centralized product page. */
.mwpd-pharmacy-section,
.mwpd-details-layout { display: grid; gap: 1rem; }
.mwpd-pharmacy-header,
.mwpd-pharmacy-card,
.mwpd-detail-section {
    padding: 1rem;
    border: 1px solid var(--mw-product-border);
    border-radius: 1rem;
    background: rgb(255 255 255 / .58);
}
.mwpd-pharmacy-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mwpd-pharmacy-eyebrow { color: var(--mw-primary); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.mwpd-pharmacy-header h2,
.mwpd-pharmacy-card h3,
.mwpd-detail-section h3 { margin: .2rem 0 0; color: var(--mw-text); }
.mwpd-pharmacy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 0; }
.mwpd-pharmacy-item { padding: .75rem; border: 1px solid var(--mw-product-border); border-radius: .8rem; background: rgb(240 253 250 / .45); }
.mwpd-pharmacy-item.is-full { grid-column: 1 / -1; }
.mwpd-pharmacy-item dt { color: var(--mw-muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.mwpd-pharmacy-item dd { margin: .25rem 0 0; color: var(--mw-text); }
.mwpd-prescription-badge,
.mwpd-prescription-notice,
.mwpd-tab-prescription-notice { display: inline-flex; gap: .45rem; padding: .55rem .7rem; border: 1px solid; border-radius: .8rem; font-size: .76rem; font-weight: 800; }
.mwpd-prescription-badge.is-required,
.mwpd-prescription-notice.is-required,
.mwpd-tab-prescription-notice.is-required { border-color: rgb(239 68 68 / .25); background: rgb(254 226 226 / .68); color: #991b1b; }
.mwpd-prescription-badge.is-otc,
.mwpd-prescription-notice.is-otc,
.mwpd-tab-prescription-notice.is-otc { border-color: rgb(16 185 129 / .22); background: rgb(220 252 231 / .68); color: #047857; }

/* Mobile purchase bar */
.mw-product-mobile-bar {
    position: fixed;
    z-index: 90;
    inset-inline: .75rem;
    bottom: calc(.65rem + env(safe-area-inset-bottom));
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    max-width: calc(100vw - 1.5rem);
    padding: .62rem;
    border: 1px solid var(--mw-product-border);
    border-radius: 1rem;
    background: rgb(255 255 255 / .9);
    box-shadow: 0 18px 45px rgb(15 23 42 / .2);
    -webkit-backdrop-filter: blur(20px) saturate(145%);
    backdrop-filter: blur(20px) saturate(145%);
}

.mw-product-mobile-bar__price { min-width: 0; }
.mw-product-mobile-bar__price > span,
.mw-product-mobile-bar__price small { display: block; color: var(--mw-muted); font-size: .58rem; }
.mw-product-mobile-bar__price > div { display: flex; align-items: baseline; gap: .25rem; color: var(--mw-text); }
.mw-product-mobile-bar__price strong { font-size: 1rem; }
.mw-product-mobile-bar__price small { max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mw-product-mobile-bar__actions { display: flex; gap: .4rem; }

/* Enterprise three-column workspace: gallery, configurator, information. */
@media (min-width: 1200px) {
    .mw-product-detail__overview {
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .72fr) minmax(17rem, .68fr);
    }
    .mw-product-detail__media { grid-column: 1; grid-row: 1; }
    .mw-product-detail__configurator { grid-column: 2; grid-row: 1; }
    .mw-product-detail__information { grid-column: 3; grid-row: 1; }
    .mw-product-gallery__stage { height: min(74vh, 820px); min-height: min(74vh, 820px); }
    .mw-product-gallery__stage > img { max-height: min(74vh, 820px); }
    .mw-product-detail__information .mw-product-price__main { grid-template-columns: 1fr; }
    .mw-product-detail__information .mw-product-price__assurance { display: none; }
    .mw-product-detail__information .mw-product-price__value > strong { font-size: clamp(2.25rem, 2.75vw, 3.2rem); }
    .mw-product-detail__information .mw-growth-panel { margin: 0; }
    .mw-product-detail__information .mw-product-detail__trust-grid { grid-template-columns: 1fr; }
    .mw-product-detail__information .mw-product-seller { align-items: stretch; flex-direction: column; }
    .mw-product-detail__information .mw-product-seller > .mw-button { width: 100%; }
}

/* Full HD and larger desktops. */
@media (min-width: 1600px) {
    .mw-product-detail__overview {
        grid-template-columns: minmax(0, 1.28fr) minmax(20rem, .72fr) minmax(19rem, .7fr);
        gap: clamp(1rem, 1.35vw, 1.6rem);
    }
    .mw-product-gallery__stage { height: min(76vh, 920px); min-height: min(76vh, 920px); }
    .mw-product-gallery__stage > img { max-height: min(76vh, 920px); }
}

/* 2560 × 1440 and similarly spacious displays. */
@media (min-width: 2400px) {
    .mw-product-detail-page { padding-inline: clamp(3rem, 4vw, 6.5rem); }
    .mw-product-detail { width: min(100%, 2360px); }
    .mw-product-detail__overview {
        grid-template-columns: minmax(0, 1.38fr) minmax(23rem, .76fr) minmax(22rem, .78fr);
        gap: 1.75rem;
    }
    .mw-product-gallery__stage { height: min(72vh, 1040px); min-height: min(72vh, 1040px); }
    .mw-product-gallery__stage > img { max-height: min(72vh, 1040px); }
    .mw-product-detail__configurator .mw-product-choice--color { grid-column: auto; }
    .mw-product-detail__configurator .mw-product-purchase__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mw-product-detail__configurator .mw-product-purchase__actions > :last-child { grid-column: 1 / -1; }
    .mw-related-products__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* 4K monitor workspace. */
@media (min-width: 3200px) {
    .mw-product-detail { width: min(100%, 3040px); }
    .mw-product-detail__overview {
        grid-template-columns: minmax(0, 1.45fr) minmax(28rem, .78fr) minmax(27rem, .8fr);
        gap: 2rem;
    }
    .mw-product-detail__information .mw-product-detail__title { font-size: clamp(2.8rem, 1.6vw, 3.8rem); }
    .mw-product-gallery__stage { height: min(72vh, 1280px); min-height: min(72vh, 1280px); }
    .mw-product-gallery__stage > img { max-height: min(72vh, 1280px); }
}

/* 1024px laptop/tablet landscape: gallery and selector stay adjacent. */
@media (max-width: 1199.98px) {
    .mw-product-detail__overview {
        grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr);
        gap: 1rem;
    }
    .mw-product-detail__media { grid-column: 1; grid-row: 1; }
    .mw-product-detail__configurator { grid-column: 2; grid-row: 1; }
    .mw-product-detail__information {
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mw-product-detail__information > .mw-product-detail__header,
    .mw-product-detail__information > .mw-product-detail__trust-grid { grid-column: 1 / -1; }
    .mw-product-gallery__stage { height: min(66vh, 680px); min-height: min(66vh, 680px); }
    .mw-product-gallery__stage > img { max-height: min(66vh, 680px); }
    .mw-product-detail__information .mw-product-detail__title { font-size: clamp(2rem, 4.8vw, 3.2rem); }
    .mw-product-detail__information .mw-product-detail__trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mw-related-products__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Tablet portrait and smaller: one clear reading and purchase flow. */
@media (max-width: 899.98px) {
    .mw-product-detail-page { padding-inline: 1rem; }
    .mw-product-detail__overview { grid-template-columns: 1fr; }
    .mw-product-detail__media { grid-column: 1; grid-row: 1; }
    .mw-product-detail__information {
        grid-column: 1;
        grid-row: 2;
        grid-template-columns: 1fr;
    }
    .mw-product-detail__configurator { grid-column: 1; grid-row: 3; }
    .mw-product-detail__information > * { grid-column: 1; }
    .mw-product-gallery { position: static; }
    .mw-product-gallery__stage { height: min(66vh, 720px); min-height: min(66vh, 720px); }
    .mw-product-gallery__stage > img { max-height: min(66vh, 720px); }
    .mw-product-detail__information .mw-product-detail__title { font-size: clamp(2rem, 7vw, 3.4rem); }
    .mw-product-price__main { grid-template-columns: minmax(0, 1fr) minmax(13rem, .6fr); }
    .mw-product-price__assurance { display: flex; }
    .mw-product-detail__information .mw-product-detail__trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mw-related-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Mobile */
@media (max-width: 599.98px) {
    .mw-product-detail-page { padding: .65rem .65rem 6.8rem; }
    .mw-product-breadcrumb__list { font-size: .68rem; }
    .mw-product-breadcrumb__list li:last-child span { max-width: 42vw; }
    .mw-product-detail__hero { padding: .65rem; border-radius: 1rem; }
    .mw-product-gallery__stage { min-height: auto; height: auto; aspect-ratio: 4 / 5; }
    .mw-product-gallery__stage > img { height: 100%; max-height: none; }
    .mw-product-gallery__toolbar { inset: .6rem .6rem auto; }
    .mw-product-gallery__tool > span { display: none; }
    .mw-product-detail__header { padding-top: .65rem; }
    .mw-product-detail__title { font-size: clamp(1.8rem, 10vw, 2.7rem); }
    .mw-product-seller { align-items: flex-start; flex-direction: column; }
    .mw-product-seller > .mw-button { width: 100%; }
    .mw-product-price__main { grid-template-columns: 1fr; }
    .mw-product-price__assurance { display: none; }
    .mw-product-price__value > strong { font-size: 2.65rem; }
    .mw-product-selection { align-items: flex-start; flex-direction: column; }
    .mw-product-quantity-row { align-items: flex-start; }
    .mw-product-purchase__actions { grid-template-columns: 1fr; }
    .mw-product-purchase__actions > :last-child { grid-column: auto; }
    .mw-product-detail__trust-grid { grid-template-columns: 1fr; }
    .mw-product-tabs__header { padding: .72rem .68rem .52rem; }
    .mw-product-tabs__list { padding: .35rem .6rem; }
    .mw-product-tabs__content { padding: .6rem; }
    .mw-product-specifications { grid-template-columns: 1fr; }
    .mw-product-specifications__item {
        grid-template-columns: minmax(6.25rem, .42fr) minmax(0, 1fr);
        min-height: 2.5rem;
        padding: .45rem .15rem;
    }
    .mw-product-specifications__item.is-full { grid-column: auto; }
    .mw-product-review__header { grid-template-columns: auto minmax(0, 1fr); }
    .mw-product-review__verified { grid-column: 2; justify-self: start; }
    .mw-product-review-form__login { align-items: stretch; flex-direction: column; }
    .mw-related-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mw-related-product-card .mw-product-card__content { padding: .72rem; }
    .mw-related-product-card .mw-product-card__title { min-height: auto; font-size: .82rem; }
    .mw-related-product-card__footer > strong { font-size: .82rem; }
    .mw-related-product-card__footer .mw-button { width: 100%; padding-inline: .45rem; }
    .mwpd-pharmacy-grid { grid-template-columns: 1fr; }
    .mwpd-pharmacy-item.is-full { grid-column: auto; }
    .mw-product-mobile-bar { display: flex; }
}

@media (max-width: 389.98px) {
    .mw-related-products__grid { grid-template-columns: 1fr; }
    .mw-product-mobile-bar__price small { max-width: 6.5rem; }
    .mw-product-mobile-bar__actions .mw-button { padding-inline: .45rem; }
}

@media (prefers-reduced-motion: reduce) {
    .mw-product-detail-page *,
    .mw-product-detail-page *::before,
    .mw-product-detail-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Database-backed storefront component states. */
.mw-product-rating__verified {
    padding: .24rem .48rem;
    border: 1px solid rgb(16 185 129 / .2);
    border-radius: 999px;
    background: rgb(220 252 231 / .62);
    color: #047857;
    font-size: .68rem;
    font-weight: 800;
}

.mw-product-price__availability > div {
    display: grid;
    gap: .08rem;
}

.mw-product-price__availability small {
    color: currentColor;
    font-size: .7rem;
    opacity: .82;
}

.mw-product-price__availability.is-neutral {
    border-color: rgb(59 130 246 / .2);
    background: rgb(219 234 254 / .66);
    color: #1d4ed8;
}

.mw-product-choice small {
    display: block;
    color: var(--mw-muted);
    font-size: .65rem;
    font-weight: 700;
}

.mw-product-seller-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin: 1rem 0;
}

.mw-product-seller-metrics > div {
    padding: .65rem;
    border: 1px solid var(--mw-border);
    border-radius: var(--mw-r-md);
    background: var(--mw-surface-soft);
    text-align: center;
}

.mw-product-seller-metrics dt {
    color: var(--mw-muted);
    font-size: .66rem;
    font-weight: 750;
    text-transform: uppercase;
}

.mw-product-seller-metrics dd {
    margin: .2rem 0 0;
    color: var(--mw-text);
    font-weight: 900;
}

.mw-product-reviews__summary {
    display: grid;
    grid-template-columns: minmax(10rem, .42fr) minmax(16rem, 1fr);
    gap: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--mw-border);
    border-radius: var(--mw-r-lg);
}

.mw-product-reviews__score {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: .28rem;
}

.mw-product-reviews__score > strong {
    color: var(--mw-text);
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 950;
    line-height: 1;
}

.mw-product-reviews__score > span,
.mw-product-reviews__score > small {
    color: var(--mw-muted);
}

.mw-product-review-distribution {
    display: grid;
    gap: .48rem;
}

.mw-product-review-distribution__row {
    display: grid;
    grid-template-columns: 4.3rem minmax(0, 1fr) 2rem;
    align-items: center;
    gap: .65rem;
    font-size: .75rem;
}

.mw-product-review-distribution__row progress {
    width: 100%;
    height: .55rem;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: rgb(148 163 184 / .22);
}

.mw-product-review-distribution__row progress::-webkit-progress-bar {
    border-radius: 999px;
    background: rgb(148 163 184 / .22);
}

.mw-product-review-distribution__row progress::-webkit-progress-value,
.mw-product-review-distribution__row progress::-moz-progress-bar {
    border-radius: 999px;
    background: #f59e0b;
}

.mw-product-review-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.mw-product-review-pagination > span {
    color: var(--mw-muted);
    font-size: .78rem;
    font-weight: 750;
}

.mw-product-review__report {
    position: relative;
}

.mw-product-review__report summary {
    cursor: pointer;
    font-size: .75rem;
    font-weight: 800;
}

.mw-product-review__report form {
    display: grid;
    gap: .5rem;
    margin-top: .55rem;
    min-width: min(20rem, 70vw);
}

@media (max-width: 767.98px) {
    .mw-product-reviews__summary { grid-template-columns: 1fr; }
}

@media (max-width: 479.98px) {
    .mw-product-seller-metrics { grid-template-columns: 1fr; }
    .mw-product-review-distribution__row { grid-template-columns: 3.8rem minmax(0, 1fr) 1.5rem; gap: .4rem; }
}

.mw-product-detail__trust-card--success .mw-product-detail__trust-icon { color: #047857; background: rgb(16 185 129 / .12); }
.mw-product-detail__trust-card--warning .mw-product-detail__trust-icon { color: #b45309; background: rgb(245 158 11 / .14); }
.mw-product-detail__trust-card--danger .mw-product-detail__trust-icon { color: #b91c1c; background: rgb(239 68 68 / .12); }

/* Phase 55 global local-currency presentation */
.mw-product-price__value--local sup,.mw-product-card__estimate-mark{margin-inline-start:.15rem;color:var(--mw-muted);font-size:.58em;font-weight:900}
.mw-product-price__base{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin-top:.3rem;color:var(--mw-muted);font-size:.72rem}
.mw-product-price__base small{font-weight:800}.mw-product-price__base span{font-variant-numeric:tabular-nums;font-weight:850}
.mw-product-price__local-note,.mw-product-card__source-price{display:block;color:var(--mw-muted);font-size:.64rem;line-height:1.35}
.mw-product-card__source-price{max-width:18rem;margin-top:.16rem}
