/*
 * mcm-product.css - vehicle product page (store1/view.aspx) presentation.
 * Everything is scoped to .mcm-product (or article:has(.mcm-product)) so the shared view.Master and the
 * other view*.aspx templates are unaffected. Tokens match mcm-ui.css / the category pages.
 * Architecture notes: docs/product-page/ARCHITECTURE.md
 */
.mcm-product {
    --mcm-navy: #152b4a; --mcm-ink: #263344; --mcm-muted: #687587; --mcm-green: #147c35;
    --mcm-green-hover: #0e642a; --mcm-soft: #f5f7fa; --mcm-line: #e2e7ee; --mcm-card: #fff;
    --mcm-link: #0a3fb5; --mcm-focus: #1c58da; --mcm-radius: 14px;
    --mcm-shadow: 0 6px 20px rgba(21, 43, 74, .08);
    font-family: Arial, Helvetica, sans-serif; color: var(--mcm-ink);
    float: none; width: 100%; max-width: none; box-sizing: border-box;
    display: grid; grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); column-gap: 28px; row-gap: 0;
    align-items: start; padding: 0 0 24px;
}
.mcm-product *, .mcm-product *::before, .mcm-product *::after { box-sizing: border-box; }
.mcm-product span { background: none; }

/* Layout: flatten the legacy wrappers so the grid can place the real elements. */
.mcm-product > .header02, .mcm-product .internalWrap02, .mcm-product .internalWrap01:has(> .newSearchCar) { display: contents; }
.mcm-product .site-root { grid-column: 1 / -1; font-size: 12px; margin: 0 0 8px; }
.mcm-product .site-root br { display: none; }
.mcm-product [id$="ContentPlaceHolder1_sorry"] { grid-column: 1 / -1; }
.mcm-product .newGallery {
    grid-column: 1; grid-row: 2 / span 14; position: static; width: auto; float: none; margin: 0; padding: 0;
}
.mcm-product > .header02 > h1.heading02,
.mcm-product > .header02 > .mcm-lede,
.mcm-product > .header02 > .productReviewsSummary,
.mcm-product > .wrap01,
.mcm-product > .confirmYourOrder,
.mcm-product > .mcm-trust,
.mcm-product .newSearchCar { grid-column: 2; }
.mcm-product > .mcm-info,
.mcm-product > .reviewsList01 { grid-column: 1 / -1; }
.mcm-product > .confirmYourOrder { grid-row: auto; }
.mcm-product > input { display: none; }

.mcm-product h1.heading02 {
    font-size: 26px; line-height: 1.2; margin: 0 0 6px; padding: 0; border: 0; color: var(--mcm-navy); text-align: left;
}
.mcm-product .mcm-lede { margin: 0 0 6px; font-size: 14px; color: var(--mcm-muted); }
.mcm-product .productReviewsSummary { margin: 0 0 12px; }
.mcm-product .productReviewsAvg { margin: 0; font-size: 13px; }
.mcm-product .mcm-stars { color: #f5a623; letter-spacing: 1px; }
.mcm-product .productReviewsAvg a { color: var(--mcm-link); margin-left: 6px; }

/* Primary image + thumbnails */
.mcm-product .newGallery .mcm-zoom {
    position: relative; display: block; border: 1px solid var(--mcm-line); border-radius: var(--mcm-radius);
    background: #fff; overflow: hidden; cursor: zoom-in; box-shadow: var(--mcm-shadow);
}
.mcm-product .newGallery .mcm-zoom img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; margin: 0 auto; }
.mcm-product .mcm-zoom-hint {
    position: absolute; right: 10px; bottom: 10px; background: rgba(21, 43, 74, .85); color: #fff; font-size: 12px;
    padding: 4px 10px; border-radius: 999px;
}
.mcm-product ul.mcm-thumbs { display: flex; gap: 10px; list-style: none; margin: 10px 0; padding: 0; }
.mcm-product ul.mcm-thumbs li { margin: 0; width: calc(33.333% - 7px); max-width: 100px; }
.mcm-product ul.mcm-thumbs a { display: block; border: 1px solid var(--mcm-line); border-radius: 10px; overflow: hidden; }
.mcm-product ul.mcm-thumbs img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.mcm-product .mcm-viewall {
    width: 100%; min-height: 44px; border: 2px solid var(--mcm-navy); background: #fff; color: var(--mcm-navy);
    border-radius: 999px; font: 700 15px Arial, sans-serif; cursor: pointer;
}
.mcm-product .mcm-viewall:hover { background: var(--mcm-navy); color: #fff; }

/* Reg finder: one compact horizontal strip (existing component and plate styling, reduced chrome) */
.mcm-product .newSearchCar { margin: 0 0 10px; width: 100%; max-width: none; float: none; padding: 0; }
.mcm-product .newSearchCar .carMatsRegFinder03 { padding: 0; margin: 0; border: 0; background: none; width: auto; }
.mcm-product .newSearchCar .contentWrap { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; padding: 0; margin: 0; width: auto; float: none; }
.mcm-product .newSearchCar .txtWrap { flex: 0 0 auto; margin: 0; padding: 0; width: auto; float: none; }
.mcm-product .newSearchCar header h3 { font-size: 14px; line-height: 1.2; margin: 0; color: var(--mcm-navy); text-transform: none; }
.mcm-product .newSearchCar .searchWrap { flex: 0 1 340px; padding: 0; margin: 0; width: auto; float: none; }
.mcm-product .newSearchCar .inputWrap { margin: 0; padding: 6px; width: 100%; }
.mcm-product .newSearchCar .input01 { height: 40px; font-size: 18px; }
.mcm-product .newSearchCar .inputWrap > div, .mcm-product .newSearchCar #ContentPlaceHolder1_UpdatePanelsearch { margin: 0; }
.mcm-product .newSearchCar .howToSearch,
.mcm-product .newSearchCar .yourPrice,
.mcm-product .newSearchCar .searchInfoList,
.mcm-product .newSearchCar .doubleClick,
.mcm-product .newSearchCar .clr { display: none; }
.mcm-product .newSearchCar figure img { max-width: 100%; height: auto; }
/* Option groups */
.mcm-product > .wrap01.matSelection { padding: 0; margin: 0 0 12px; width: auto; float: none; }
.mcm-product .matSelection .wrap04, .mcm-product .matSelection section { padding: 0; margin: 0 0 14px; }
.mcm-product .matSelection .heading02.alt { padding: 0; margin: 0 0 8px; border: 0; background: none; text-align: left; }
.mcm-product .matSelection .heading02.alt h2,
.mcm-product .matSelection .heading02.alt h3 { font-size: 17px; margin: 0 0 4px; color: var(--mcm-navy); text-transform: none; text-align: left; }
.mcm-product .matSelection .heading02.alt h6 { margin: 0 0 8px; font-size: 13px; color: var(--mcm-muted); font-weight: 400; }
.mcm-product .greenColor { color: var(--mcm-green); }
.mcm-product .custom-h6 { margin: 4px 0 8px; font-size: 13px; line-height: 1.45; }
.mcm-product .mcm-fitnote summary { cursor: pointer; font-size: 13px; color: var(--mcm-link); min-height: 24px; }

/* Mat quality selector: five compact rows (indicator, name, short material, price). Detail, was-price and shipping sit behind "Details". */
.mcm-product .productOptionsList01 { display: flex; flex-direction: column; gap: 6px; list-style: none; margin: 0; padding: 0; border: 0; }
.mcm-product .matSelection .productOptionsList01 > li { margin: 0; padding: 0; float: none; width: auto; }
.mcm-product .matSelection .productOptionsList01 > li > label { display: block; margin: 0; cursor: pointer; }
.mcm-product .matSelection .productOptionsList01 > li > label .wrap {
    position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr) auto auto 64px; align-items: center; column-gap: 12px;
    min-height: 48px; padding: 6px 8px 6px 42px; margin: 0; z-index: auto;
    border: 2px solid var(--mcm-line); border-radius: 10px; background: var(--mcm-card); transition: border-color .15s, background .15s;
}
.mcm-product .matSelection .productOptionsList01 > li > label .wrap:hover { border-color: #b9c3d1; }
.mcm-product .matSelection .productOptionsList01 > li > label .wrap.selected,
.mcm-product .matSelection .productOptionsList01 > li > label .wrap:has(input:checked) {
    border-color: var(--mcm-green); background: #f1faf3; box-shadow: 0 0 0 1px var(--mcm-green) inset;
}
.mcm-product .productOptionsList01 .wrap h5 { display: contents; margin: 0; font-size: 13px; font-weight: 400; }
.mcm-product .productOptionsList01 .wrap h5 > br { display: none; }
.mcm-product .productOptionsList01 .content_info { grid-column: 1; grid-row: 1; margin: 0; display: block; }
.mcm-product .matSelection .content_info input[type="radio"] {
    position: absolute; top: 13px; left: 12px; width: 22px; height: 22px; margin: 0; accent-color: var(--mcm-green); cursor: pointer;
}
.mcm-product .productOptionsList01 .content_info label { font-weight: 700; font-size: 15px; color: var(--mcm-navy); display: inline; cursor: pointer; }
.mcm-product .productOptionsList01 .wrap h5 > strong { grid-column: 2; grid-row: 1; font-weight: 400; color: var(--mcm-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcm-product .productOptionsList01 .wrap .mcm-pnote { grid-column: 3; grid-row: 1; }
.mcm-product .productOptionsList01 .newPrice { grid-column: 4; grid-row: 1; justify-self: end; font-size: 17px; color: var(--mcm-navy); background: none; }
.mcm-product .productOptionsList01 .newPrice strong { font-weight: 700; }
.mcm-product .mcm-q-details { grid-column: 5; grid-row: 1; justify-self: end; margin: 0; padding: 0 4px; border: 0; background: none; color: var(--mcm-link); font: 12px Arial, sans-serif; text-decoration: underline; cursor: pointer; min-height: 36px; }
/* Hidden until "Details" is opened (or the row is the collapsed selection) */
.mcm-product .productOptionsList01 strike, .mcm-product .productOptionsList01 s,
.mcm-product .productOptionsList01 .wrap h5 > .greenColor,
.mcm-product .productOptionsList01 .matContent,
.mcm-product .productOptionsList01 .matTypeBtn { display: none; grid-column: 1 / -1; background: none; margin: 0; font-size: 12.5px; color: var(--mcm-muted); }
.mcm-product .productOptionsList01 .wrap h5 > .greenColor { color: var(--mcm-green); font-weight: 700; }
.mcm-product .productOptionsList01 .matContent { margin-top: 4px; }
.mcm-product .matTypeBtn a { font-size: 12.5px; color: var(--mcm-link); text-decoration: underline; display: inline-flex; align-items: center; gap: 4px; min-height: 28px; }
.mcm-product .matTypeBtn img.viewIcon { width: 14px; height: 14px; }
.mcm-product .wrap.mcm-open { padding-bottom: 10px; }
.mcm-product .wrap.mcm-open strike, .mcm-product .wrap.mcm-open s,
.mcm-product .wrap.mcm-open h5 > .greenColor,
.mcm-product .wrap.mcm-open .matContent,
.mcm-product .wrap.mcm-open .matTypeBtn { display: block; }
.mcm-product .wrap.mcm-open strike, .mcm-product .wrap.mcm-open s { margin-top: 4px; }
/* Colour and edge swatches */
.mcm-product .productOptionsList02, .mcm-product .articleProductPage01Section02List02 {
    display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0;
}
.mcm-product .productOptionsList02 li, .mcm-product .articleProductPage01Section02List02 li {
    float: none; margin: 0; padding: 0; width: auto; list-style: none; text-align: center;
}
.mcm-product .productOptionsList02 li label { display: block; cursor: pointer; margin: 0; }
.mcm-product .productOptionsList02 li label .wrap,
.mcm-product .productOptionsList02 li label .wrap01 {
    position: relative; display: block; width: 56px; padding: 3px; margin: 0; border: 2px solid var(--mcm-line); border-radius: 10px;
    background: #fff; height: auto; text-align: center;
}
.mcm-product .productOptionsList02 li label .wrap img { display: block; width: 100%; height: auto; border-radius: 7px; margin: 0; }
.mcm-product .productOptionsList02 li label .wrap span { display: block; font-size: 10px; line-height: 1.2; margin-top: 2px; color: var(--mcm-ink); background: none; }
.mcm-product .productOptionsList02 li label .wrap:not(.wrap01):not(.selected):hover { border-color: #b9c3d1; }
/* Selected colour: established green active state (legacy marks the chosen carpet colour with .wrap01, edging with .Select) */
.mcm-product .productOptionsList02 li label .wrap01,
.mcm-product .productOptionsList02 li label .wrap.selected,
.mcm-product .productOptionsList02 li label .wrap:has(input:checked) { border-color: var(--mcm-green); background: #f1faf3; box-shadow: 0 0 0 1px var(--mcm-green) inset; }
.mcm-product .productOptionsList02 li input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
/* Contrasting edge: one compact module (label + was/now text + small swatch row); swatch size is inline in the markup, hence !important */
.mcm-product #ContrastingEdge { padding: 0; margin: 0 0 6px; width: auto; }
.mcm-product #ContrastingEdge .wrap04 { margin: 0 0 6px; }
.mcm-product #ContrastingEdge .heading02.alt { margin-bottom: 4px; }
.mcm-product #ContrastingEdge .heading02.alt h3 { margin-bottom: 0; }
.mcm-product .ContrastingEdge { margin: 0 0 6px; }
.mcm-product .ContrastingEdge .subHeading { font-size: 13px; line-height: 1.3; margin: 0 0 4px; padding: 0; font-weight: 700; color: var(--mcm-navy); }
.mcm-product #ContrastingEdge p.subHeading span.redColor.font-normal { color: #6b7686 !important; font-size: 12px; font-weight: 400; margin-left: 4px; }
.mcm-product .articleProductPage01Section02List02 { gap: 6px; }
.mcm-product .articleProductPage01Section02List02 li { width: auto; }
.mcm-product .articleProductPage01Section02List02 li label { display: block; margin: 0; cursor: pointer; }
.mcm-product .articleProductPage01Section02List02 li label .wrap { display: block; width: auto; height: auto; padding: 0; margin: 0; border: 0; background: none; }
.mcm-product .articleProductPage01Section02List02 li label .wrap > div {
    display: block; width: 38px !important; height: 38px !important; background-size: cover !important; background-position: center;
    border-radius: 8px; border: 1px solid rgba(0, 0, 0, .12); box-sizing: border-box; transition: box-shadow .15s;
}
.mcm-product .articleProductPage01Section02List02 li label .wrap > div:hover { box-shadow: 0 0 0 2px #d5dbe5; }
.mcm-product .articleProductPage01Section02List02 li label .wrap > .Select,
.mcm-product .articleProductPage01Section02List02 li label .wrap > .Select:hover { border-color: #fff; box-shadow: 0 0 0 2px var(--mcm-green); }
/* Personalisation disclosure */
.mcm-product #logooption { margin: 8px 0 0; border: 1px solid var(--mcm-line); border-radius: var(--mcm-radius); background: var(--mcm-soft); padding: 12px 14px; }
.mcm-product #logooption .articleProductPage01 { padding: 0; margin: 0; width: auto; }
.mcm-product #logooption .heading02.alt { margin: 0; }
.mcm-product .mcm-pers-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 12px; align-items: center; }
@media (min-width: 560px) { .mcm-product .mcm-pers-head { grid-template-columns: minmax(0, 1fr) auto; } .mcm-product .mcm-pers-head .showPersonal { grid-column: 2; grid-row: 1 / span 2; margin: 0; } }
.mcm-pers-head h2 { margin: 0; font-size: 17px; line-height: 1.25; }
.mcm-pers-sub { margin: 3px 0 0; font-size: 13px; line-height: 1.4; color: var(--mcm-muted); }
.mcm-product .showPersonal { position: relative; margin: 8px 0 0; }
.mcm-product .showPersonal input[type=checkbox] { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 2; visibility: visible; }
.mcm-product .showPersonal .check { display: none; }
.mcm-product .showPersonal label {
    display: inline-flex; align-items: center; gap: 10px; width: auto; height: auto; min-height: 44px; padding: 0 4px; margin: 0; z-index: auto;
    border: 0; background: none; color: var(--mcm-muted); font: 700 14.5px Arial, sans-serif; cursor: pointer; font-size: 0 !important; line-height: 0;
}
.mcm-product .showPersonal label::before {
    content: ""; flex: none; width: 52px; height: 30px; border-radius: 999px; background: #c3ccd8 radial-gradient(circle at 15px 15px, #fff 0 11px, transparent 12px) no-repeat 0 0;
    transition: background-color .2s ease, background-position .2s ease; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.mcm-product .showPersonal label::after { content: "No thanks"; font: 700 14.5px/1.2 Arial, sans-serif; color: var(--mcm-muted); }
.mcm-product .showPersonal input:checked + label::before { background-color: var(--mcm-green); background-position: 22px 0; }
.mcm-product .showPersonal input:checked + label::after { content: "Yes, I'd like personalisation"; color: var(--mcm-green); }
.mcm-product .showPersonal input:focus-visible + label::before { outline: 3px solid #1a73e8; outline-offset: 2px; }
.mcm-product .mcm-pers-err { margin: 10px 0 0; padding: 10px 12px; border: 1px solid #c0392b; border-left-width: 4px; border-radius: 8px; background: #fdecea; color: #8e1f12; font: 700 14px/1.4 Arial, sans-serif; }
.mcm-product .mcm-pers-err[hidden] { display: none; }
.mcm-product .showPersonalBox { margin-top: 10px; }
.mcm-product .showPersonalBox img { max-width: 100%; height: auto; }
.mcm-product .showPersonalBox .inputpassen { width: 100%; max-width: 100%; }
.mcm-product .rows .cols-md-6 { max-width: 100%; }

/* Confirm + price + Add to Basket */
.mcm-product > .confirmYourOrder {
    margin: 0 0 12px; padding: 14px; border: 1px solid var(--mcm-line); border-radius: var(--mcm-radius); background: #fff;
    box-shadow: var(--mcm-shadow); z-index: 20;
}
.mcm-product .orderConfirm { margin: 0 0 8px; padding: 0; background: none; border: 0; }
.mcm-product .orderConfirm .rows { display: block; }
.mcm-product .orderConfirm .cols { width: auto; padding: 0; float: none; }
.mcm-product .orderConfirm .shortCol { display: none; }
.mcm-product .orderConfirm h3 { font-size: 14px; margin: 0 0 4px; color: var(--mcm-navy); }
.mcm-product .orderConfirm p { margin: 0 0 4px; font-size: 13px; line-height: 1.4; }
.mcm-product .orderConfirm p:last-child { display: flex; align-items: center; gap: 8px; }
.mcm-product .orderConfirm input[id$="ContentPlaceHolder1_txtQuantity"] { width: 52px !important; min-height: 38px; text-align: center; border: 1px solid #b9c3d1; border-radius: 8px; font-size: 16px; }
.mcm-product .youPayOnly { margin: 0; padding: 0; background: none; border: 0; }
.mcm-product .youPayOnly .rows { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.mcm-product .youPayOnly .cols, .mcm-product .youPayOnly .shortCol, .mcm-product .youPayOnly .price { background: none !important; border: 0; box-shadow: none; }
.mcm-product .youPayOnly .cols { width: auto; padding: 0; float: none; flex: 0 0 auto; }
.mcm-product .youPayOnly .price { margin: 0; font-size: 13px; color: var(--mcm-muted); display: flex; align-items: baseline; gap: 6px; }
.mcm-product .youPayOnly .price strong { display: inline-flex; }
.mcm-product .youPayOnly input[id$="_txtAmount"] {
    font: 700 28px Arial, sans-serif !important; color: var(--mcm-navy); width: 7.5ch; padding: 0; background: transparent; border: 0; outline: 0; cursor: default;
}
.mcm-product .youPayOnly .shortCol { flex: 1 1 220px; max-width: none; }
.mcm-product .mcm-atb {
    display: block; width: 100%; min-height: 54px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--mcm-green); color: #fff;
    font: 700 18px Arial, sans-serif; letter-spacing: .2px; cursor: pointer; box-shadow: 0 6px 16px rgba(20, 124, 53, .3);
}
.mcm-product .mcm-atb:hover { background: var(--mcm-green-hover); }
.mcm-product .mcm-atb:focus-visible, .mcm-product button:focus-visible, .mcm-product a:focus-visible, .mcm-product summary:focus-visible,
.mcm-product input:focus-visible { outline: 3px solid var(--mcm-focus); outline-offset: 2px; }
.mcm-product .mcm-atb[disabled] { opacity: .7; cursor: progress; }
.mcm-product .mcm-atb[hidden] { display: none; }
.mcm-product .mcm-atb.is-failed { background: #b3261e; }
.mcm-product .mcm-atb-msg { margin: 8px 0 0; padding: 8px 10px; border-radius: 6px; background: #fdecea; color: #7a1913; font-size: 14px; line-height: 1.4; }
.mcm-product .mcm-atb-msg[hidden] { display: none; }
.mcm-product .mcm-atb-msg a { color: inherit; font-weight: 700; }
.mcm-product.mcm-atb-ready input[id$="_ImageButton1"] {
    position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); opacity: 0; pointer-events: none;
}
.mcm-product .youPayOnly .shortCol > .mcm-atb[hidden] ~ * { position: static; }

.mcm-product .mcm-trust { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 14px; font-size: 12.5px; color: var(--mcm-ink); }
.mcm-product .mcm-trust span::before { content: "\2713"; color: var(--mcm-green); font-weight: 700; margin-right: 5px; }

/* Lower info sections */
.mcm-product .mcm-info { margin-top: 18px; border-top: 1px solid var(--mcm-line); }
.mcm-product .mcm-acc { border-bottom: 1px solid var(--mcm-line); }
.mcm-product .mcm-acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 6px 4px; }
.mcm-product .mcm-acc summary::-webkit-details-marker { display: none; }
.mcm-product .mcm-acc summary::after { content: "+"; font-size: 24px; color: var(--mcm-green); font-weight: 700; margin-left: 12px; }
.mcm-product .mcm-acc[open] summary::after { content: "\2212"; }
.mcm-product .mcm-acc summary h2 { font-size: 18px; margin: 0; color: var(--mcm-navy); text-transform: none; padding: 0; border: 0; }
.mcm-product .mcm-acc-body { padding: 0 4px 16px; font-size: 14.5px; line-height: 1.6; max-width: 820px; }
.mcm-product .mcm-acc-body h3 { font-size: 15px; margin: 12px 0 2px; color: var(--mcm-navy); }
.mcm-product .mcm-acc-body p { margin: 0 0 10px; }
.mcm-product .mcm-link { border: 0; background: none; padding: 0; color: var(--mcm-link); text-decoration: underline; font: inherit; cursor: pointer; }
.mcm-product .reviewsList01 { margin-top: 18px; }
.mcm-product .productReviewItem { border-bottom: 1px solid var(--mcm-line); padding: 10px 0; }

/* Master sidebar (shared view.Master) falls below the product content on this template only. */
article:has(.mcm-product) { display: block; }
body:has(.mcm-product) .wrap03:not(:has(*)) { display: none; }
article:has(.mcm-product) > .wrap03 { float: none; width: auto; max-width: 1100px; margin: 24px auto 0; clear: both; }
article:has(.mcm-product) > .wrap02.mcm-product { max-width: 1100px; margin: 0 auto; }

/* Gallery lightbox */
html.mcm-gal-lock { overflow: hidden; }
.mcm-gal { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: #0c1626; color: #fff; font-family: Arial, Helvetica, sans-serif; }
.mcm-gal[hidden] { display: none; }
.mcm-gal__head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.mcm-gal__tabs { display: flex; gap: 6px; overflow-x: auto; flex: 1; scrollbar-width: thin; }
.mcm-gal__tab { flex: 0 0 auto; min-height: 44px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; background: transparent; color: #fff; font: 14px Arial, sans-serif; cursor: pointer; white-space: nowrap; }
.mcm-gal__tab.is-active { background: #fff; color: var(--mcm-navy, #152b4a); font-weight: 700; }
.mcm-gal__close { flex: 0 0 auto; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; color: #152b4a; font-size: 30px; line-height: 1; cursor: pointer; }
.mcm-gal__stage { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 8px 56px; }
.mcm-gal__fig { margin: 0; display: flex; flex-direction: column; align-items: center; max-width: 100%; max-height: 100%; min-height: 0; }
.mcm-gal__img { max-width: 100%; max-height: calc(100vh - 250px); width: auto; height: auto; object-fit: contain; background: #fff; border-radius: 8px; }
.mcm-gal__cap { margin-top: 10px; font-size: 16px; text-align: center; }
.mcm-gal__meta { display: flex; align-items: center; gap: 12px; margin-top: 6px; font-size: 13px; opacity: .85; }
.mcm-gal__select { min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: #147c35; color: #fff; font: 700 14px Arial, sans-serif; cursor: pointer; }
.mcm-gal__select[hidden], .mcm-gal__nav[hidden] { display: none; }
.mcm-gal__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 64px; border: 0; background: rgba(255, 255, 255, .15); color: #fff; font-size: 40px; cursor: pointer; border-radius: 10px; }
.mcm-gal__nav--prev { left: 4px; }
.mcm-gal__nav--next { right: 4px; }
.mcm-gal__nav:hover { background: rgba(255, 255, 255, .3); }
.mcm-gal__thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 10px 12px; border-top: 1px solid rgba(255, 255, 255, .15); }
.mcm-gal__thumb { flex: 0 0 auto; width: 76px; height: 76px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: #fff; cursor: pointer; }
.mcm-gal__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mcm-gal__thumb.is-active { border-color: #f7d600; }
.mcm-gal button:focus-visible { outline: 3px solid #f7d600; outline-offset: 2px; }

/* Collapsed quality selection */
.mcm-product.mcm-q-collapsed .matSelection .productOptionsList01:first-of-type > li:not(:has(input:checked)) { display: none; }
.mcm-product.mcm-q-collapsed .productOptionsList01 > li:has(input:checked) .wrap { padding-bottom: 10px; }
.mcm-product.mcm-q-collapsed .productOptionsList01 > li:has(input:checked) strike,
.mcm-product.mcm-q-collapsed .productOptionsList01 > li:has(input:checked) .greenColor,
.mcm-product.mcm-q-collapsed .productOptionsList01 > li:has(input:checked) .matContent,
.mcm-product.mcm-q-collapsed .productOptionsList01 > li:has(input:checked) .matTypeBtn { display: block; }
.mcm-product.mcm-q-collapsed .mcm-q-details { display: none; }
.mcm-product .mcm-q-change { display: none; margin: 8px 0 0; padding: 6px 14px; border: 1px solid var(--mcm-line); border-radius: 999px; background: #fff; color: var(--mcm-link); font: 13px Arial, sans-serif; cursor: pointer; min-height: 36px; }
.mcm-product.mcm-q-collapsed .mcm-q-change { display: inline-block; }

/* Reviews relocated under the image */
.mcm-product .newGallery .mcm-reviews-under { margin: 16px 0 0; padding: 12px; border: 1px solid var(--mcm-line); border-radius: var(--mcm-radius); background: #fff; font-size: 13px; }
.mcm-product .newGallery .mcm-reviews-under .reviewWidget { overflow: hidden; }
.mcm-product .newGallery .mcm-reviews-under table { width: 100% !important; }
.mcm-product .newGallery .mcm-reviews-under td { display: block; width: auto !important; }

/* Mobile */
@media (max-width: 860px) {
    .mcm-product > .mcm-reviews-under { margin: 16px 0; padding: 12px; border: 1px solid var(--mcm-line); border-radius: var(--mcm-radius); background: #fff; }
    .mcm-product > .mcm-reviews-under table { width: 100% !important; }
    .mcm-product > .mcm-reviews-under td { display: block; width: auto !important; }
    .mcm-product { display: block; }
    body:has(.mcm-product) #footer01 { padding-bottom: 170px; }
    .mcm-product .newGallery { position: static; margin: 0 0 12px; }
    .mcm-product .newGallery .mcm-zoom img { max-height: 260px; }
    .mcm-product h1.heading02 { font-size: 22px; }
    .mcm-product ul.mcm-thumbs { margin: 8px 0; }
    .mcm-product > .confirmYourOrder {
        position: fixed; left: 0; right: 0; bottom: 0; margin: 0; border-radius: 16px 16px 0 0; border-width: 1px 0 0; padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
        box-shadow: 0 -6px 18px rgba(21, 43, 74, .15);
        display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 10px;
    }
    /* Bar layout: order summary line(s), then quantity | price | Add to Basket. */
    .mcm-product .orderConfirm, .mcm-product .orderConfirm .rows, .mcm-product .orderConfirm .cols:not(.shortCol),
    .mcm-product .orderConfirm .cols > div, .mcm-product .youPayOnly, .mcm-product .youPayOnly .rows,
    .mcm-product .youPayOnly .cols:not(.shortCol) { display: contents; }
    .mcm-product .orderConfirm h3 { display: none; }
    .mcm-product .orderConfirm .cols > p, .mcm-product .orderConfirm .cols > div > p { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.35; }
    .mcm-product .orderConfirm p:not(:has(.content_info:not(:empty))):not(:has(input)) { display: none; }
    .mcm-product .orderConfirm .content_info br { display: none; }
    .mcm-product .orderConfirm .content_info > span { margin-right: 8px; }
    .mcm-product > .confirmYourOrder .orderConfirm p:has(.content_info:not(:empty)) { max-height: 32vh; overflow-y: auto; }
    .mcm-product .orderConfirm .cols > p:has(input[id$="_txtQuantity"]) { grid-column: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 11px; color: var(--mcm-muted); }
    .mcm-product .youPayOnly .price { grid-column: 2; margin: 0; padding: 0; font-size: 11px; white-space: nowrap; flex-direction: column; gap: 0; min-width: 0; }
    .mcm-product .youPayOnly input[id$="_txtAmount"] { font-size: 20px !important; width: 100% !important; min-width: 0; }
    .mcm-product .youPayOnly .shortCol { grid-column: 3; flex: none; }
    .mcm-product .mcm-atb { min-height: 52px; font-size: 17px; padding: 0 16px; }
    @media (max-width: 380px) { .mcm-product .mcm-atb { font-size: 15px; padding: 0 12px; } }
    .mcm-product > .confirmYourOrder .mcm-atb-msg { position: absolute; left: 12px; right: 12px; bottom: calc(100% + 8px); margin: 0; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
    .mcm-product .matSelection .productOptionsList01 > li > label .wrap { grid-template-columns: minmax(0, 1fr) auto 58px; column-gap: 8px; row-gap: 0; padding: 6px 4px 6px 42px; min-height: 56px; }
    .mcm-product .productOptionsList01 .wrap h5 > strong { grid-column: 1; grid-row: 2; font-size: 12px; }
    .mcm-product .productOptionsList01 .newPrice { grid-column: 2; }
    .mcm-product .mcm-q-details { grid-column: 3; min-height: 44px; }
    .mcm-product .productOptionsList01 .content_info { grid-column: 1; }
    .mcm-product .matSelection .content_info input[type="radio"] { top: 17px; width: 24px; height: 24px; }
    .mcm-product .productOptionsList01 .wrap .mcm-pnote { grid-column: 1 / -1; grid-row: 3; display: none; }
    .mcm-product .productOptionsList01 .wrap:has(input:checked) .mcm-pnote { display: block; margin-bottom: 2px; }
    .mcm-product .articleProductPage01Section02List02 li label .wrap > div { width: 44px !important; height: 44px !important; }
    .mcm-product .newSearchCar { margin: 0 0 12px; }
    .mcm-gal__stage { padding: 6px 8px; }
    .mcm-gal__nav { width: 40px; height: 56px; background: rgba(0, 0, 0, .45); }
    .mcm-gal__img { max-height: calc(100vh - 290px); }
    article:has(.mcm-product) > .wrap03 { margin: 16px 12px 0; }
}
@media (prefers-reduced-motion: reduce) { .mcm-product * { transition: none !important; } }

.mcm-lookup-status{margin:8px 0 0;font-size:.95rem;color:#0b2a4a;display:flex;align-items:center;gap:8px}
.mcm-lookup-status[hidden]{display:none}
.mcm-lookup-status::before{content:'';width:14px;height:14px;border:2px solid #c5d1de;border-top-color:#0b2a4a;border-radius:50%;animation:mcm-spin .8s linear infinite}
@keyframes mcm-spin{to{transform:rotate(360deg)}}

@media (min-width:769px){.mcm-product > .confirmYourOrder{padding:16px 14px !important}.mcm-product > .confirmYourOrder .orderConfirm,.mcm-product > .confirmYourOrder .youPayOnly{padding-left:20px !important;padding-right:20px !important}}
.mcm-product .mcm-trust{justify-content:center;text-align:center}

/* Light footer on product pages */
#footer01{background:#f3f5f4 !important;color:#33414d !important;border-top:1px solid #dfe5e2}
#footer01 h2,#footer01 h3,#footer01 h4{color:#0e3762 !important}
#footer01 a,#footer01 li,#footer01 p,#footer01 span{color:#33414d}
#footer01 a:hover{color:#1f7a3a !important}
#footer01 hr,#footer01 .copyright,#footer01 [class*=bottom]{border-color:#dfe5e2 !important}
#footer01 input[type=text],#footer01 input[type=email]{border:1px solid #cfd8d3}
#footer01 > .section02{border-bottom-color:#dfe5e2 !important}
#footer01{padding-top:10px !important}
