/* MG PS / Polisher visual system. Loaded only on the two product-family pages.
   Existing MG identity owns color/type; product framing follows the reference
   lock in docs/mgps-ui-ux-inceleme-2026-09-14.md. No global theme overrides. */
:is(.mgs-hero,.mgs-story,.mgs-feat,.mgs-cat,.mgs-prod,.mgpol-hero,.mgpol-story,.mgpol-mk,.mgpol-cmp,.mgpol-cta) {
  --series-red:#ce1711;
  --series-red-hover:#a91210;
  --series-red-on-dark:#ff0000;
  --series-dark:#0f0f0f;
  --series-ink:#171717;
  --series-muted:#595959;
  --series-muted-dark:#b8b8b8;
  --series-line:#dedede;
  --series-line-dark:#383838;
  --series-surface:#f6f6f6;
  --series-type:'Montserrat',sans-serif;
  --series-gutter:clamp(24px,4.2vw,60px);
  --series-space:clamp(64px,6.7vw,96px);
  --series-radius:2px;
}

/* One type family, explicit roles. Technical values must read as easily as copy. */
body :is(.mgs-hero,.mgs-story,.mgs-feat,.mgs-cat,.mgs-prod,.mgpol-hero,.mgpol-story,.mgpol-mk,.mgpol-cmp,.mgpol-cta)
  :is(h1,h2,h3,.mgs-hero__catname,.mgs-story__counter-num,.mgs-feat__num,.mgpol-mk__specs b,.mgpol-mk__eyebrow span,.mgpol-story__stat b,.mgpol-cmp__table thead th) {
  font-family:var(--series-type)!important;
  font-style:normal;
  font-weight:700;
}
body :is(.mgs-story__title,.mgs-feat__title,.mgs-cat__title,.mgpol-story__title,.mgpol-mk__title,.mgpol-cmp__title,.mgpol-cta__title) {
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.12;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body :is(.mgs-hero__eyebrow,.mgs-story__mini,.mgs-feat__mini,.mgs-cat__tagline,.mgpol-hero__eyebrow,.mgpol-mk__eyebrow,.mgs-hero__right-label) {
  font-family:var(--series-type);
  font-size:12px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.6;
}
body :is(.mgs-hero__catdesc,.mgs-hero__catnum,.mgs-story__counter-label) {
  font-family:var(--series-type);
  font-style:normal;
  letter-spacing:.06em;
  line-height:1.6;
}
body :is(.mgs-hero__desc,.mgs-story__para,.mgs-cat__text,.mgs-feat__lead-text,.mgs-feat__item-text,.mgpol-story__text p,.mgpol-mk__ozet,.mgpol-cta__desc) {
  font-size:16px;
  line-height:1.75;
}
body :is(.mgs-cat[data-theme="light"] .mgs-cat__text,.mgs-story__para,.mgpol-story__text p) {color:var(--series-muted)}
body :is(.mgs-hero__desc,.mgs-hero__catdesc,.mgs-hero__catnum,.mgs-hero__right-label,.mgs-feat__lead-text,.mgs-feat__item-text,.mgs-cat[data-theme="dark"] .mgs-cat__text,.mgpol-hero__desc,.mgpol-mk__ozet,.mgpol-cta__desc) {color:var(--series-muted-dark)}

/* Shared section rhythm and alignment; category + cards form one product group. */
body :is(.mgs-story,.mgs-feat,.mgpol-story,.mgpol-mk,.mgpol-cmp,.mgpol-cta) {padding-block:var(--series-space)}
body :is(.mgs-hero__inner,.mgs-story__inner,.mgs-feat__inner,.mgs-cat__inner,.mgs-prod__inner,.mgs-mgsppf__inner,.mgpol-hero__inner,.mgpol-story__inner,.mgpol-mk__inner,.mgpol-cmp__inner,.mgpol-cta__inner) {max-width:1400px;padding-inline:var(--series-gutter)}
body :is(.mgpol-hero,.mgpol-mk,.mgpol-cta) {background:var(--series-dark)}
body .mgs-cat {padding-block:var(--series-space) 32px}
body .mgs-prod {padding-block:8px var(--series-space)}
body #mgs-pads + .mgs-cat {border-top:1px solid var(--series-line)}
body .mgpol-mk + .mgpol-mk {border-top:1px solid var(--series-line-dark)}
body :is(.mgs-cat__inner,.mgs-story__inner,.mgs-feat__inner,.mgpol-story__inner) {gap:clamp(32px,4.5vw,64px)}
body :is(.mgs-cat__watermark,.mgs-feat__watermark),
body .mgs-story::before,body .mgs-cat::after,body .mgs-feat::after {display:none}
body .mgs-story__img-wrap {box-shadow:none}
body .mgs-story__counter-num {font-size:clamp(32px,3vw,42px);letter-spacing:-.03em}
body .mgs-feat__item {grid-template-columns:64px minmax(0,1fr);gap:24px;padding-block:28px;opacity:1}
body .mgs-feat.is-scroll-ready .mgs-feat__item {opacity:1}
body .mgs-feat__num {font-size:32px;letter-spacing:-.02em;color:#8c8c8c}
body .mgs-feat__item-title {font-size:18px;letter-spacing:0;line-height:1.4}

/* Explicit states beat theme a:hover, without leaking into the site header. */
body :is(.mgs-hero,.mgs-cat,.mgpol-hero,.mgpol-mk,.mgpol-cta)
  :is(a.mgs-hero__btn,a.mgs-cat__btn,a.mgpol-hero__btn,a.mgpol-mk__cta,a.mgpol-cta__btn) {
  min-height:48px;
  justify-content:center;
  padding:14px 24px;
  border:1px solid transparent;
  border-radius:var(--series-radius);
  font:700 12px/1.5 var(--series-type);
  letter-spacing:.1em;
  text-align:center;
  text-decoration:none;
  color:#fff;
  box-shadow:none;
  transform:none;
  transition:background-color .2s,border-color .2s,color .2s;
}
body :is(.mgs-hero,.mgs-cat,.mgpol-hero,.mgpol-mk,.mgpol-cta)
  :is(a.mgs-hero__btn,a.mgs-cat__btn,a.mgpol-hero__btn,a.mgpol-mk__cta,a.mgpol-cta__btn):is(:hover,:focus-visible,:active,:visited) {color:#fff;box-shadow:none;transform:none}
body :is(.mgs-hero__btn--primary,.mgs-cat__btn,.mgpol-hero__btn--birincil,.mgpol-mk__cta:not(.mgpol-mk__cta--ikincil),.mgpol-cta__btn--birincil) {background:var(--series-red)}
body :is(.mgs-hero__btn--primary,.mgs-cat__btn,.mgpol-hero__btn--birincil,.mgpol-mk__cta:not(.mgpol-mk__cta--ikincil),.mgpol-cta__btn--birincil):is(:hover,:focus-visible,:active) {background:var(--series-red-hover)}
body :is(.mgs-hero__btn--primary,.mgs-cat__btn)::before {display:none}
body :is(.mgs-hero,.mgpol-hero,.mgpol-mk,.mgpol-cta)
  :is(a.mgs-hero__btn--ghost,a.mgpol-hero__btn--ikincil,a.mgpol-mk__cta--ikincil,a.mgpol-cta__btn--ikincil) {background:transparent;border-color:#707070}
body :is(.mgs-hero,.mgpol-hero,.mgpol-mk,.mgpol-cta)
  :is(a.mgs-hero__btn--ghost,a.mgpol-hero__btn--ikincil,a.mgpol-mk__cta--ikincil,a.mgpol-cta__btn--ikincil):is(:hover,:focus-visible) {background:#272727;border-color:#fff}
body :is(.mgs-hero,.mgs-cat,.mgs-prod,.mgpol-hero,.mgpol-mk,.mgpol-cmp,.mgpol-cta) :is(a,button,[tabindex="0"]):focus-visible {outline:2px solid currentColor;outline-offset:4px}

/* Product cards share the same frame, type hierarchy and action treatment. */
body :is(.mgs-prod,.mgs-mgsppf) :is(.mgs-prod__card,.mgs-mgsppf__card) {background:var(--series-surface)!important;border:1px solid var(--series-line)!important;border-radius:var(--series-radius);overflow:hidden;box-shadow:none;transform:none;transition:background-color .2s,border-color .2s}
body .mgs-prod[data-theme="dark"] .mgs-prod__card {background:#191919!important;border-color:var(--series-line-dark)!important}
body :is(.mgs-prod,.mgs-mgsppf) :is(.mgs-prod__card,.mgs-mgsppf__card):is(:hover,:focus-within,.is-active) {box-shadow:none;transform:none}
body :is(.mgs-prod__card,.mgs-mgsppf__card)::before {display:none}
body :is(.mgs-prod,.mgs-mgsppf) :is(.mgs-prod__media,.mgs-mgsppf__media) {background:#fff;border-radius:0;border-bottom:1px solid var(--series-line);box-shadow:none}
body .mgs-prod .mgs-prod__media img {object-fit:contain;transform:none;transition:transform .2s ease-out}
body .mgs-mgsppf .mgs-mgsppf__media img {transform:none;transition:transform .2s ease-out}
/* Override the legacy 25% zoom. Mouse/keyboard feedback uses a restrained 6%
   zoom; carousel selection alone must not enlarge a card on touch screens. */
body .mgs-prod .mgs-prod__card:is(:hover,:focus-within,.is-active) .mgs-prod__media img,
body .mgs-mgsppf .mgs-mgsppf__card:is(:hover,:focus-within,.is-active) .mgs-mgsppf__media img {transform:none}
@media(hover:hover) and (pointer:fine) {
  body .mgs-prod .mgs-prod__card:is(:hover,:focus-within) .mgs-prod__media img,
  body .mgs-mgsppf .mgs-mgsppf__card:is(:hover,:focus-within) .mgs-mgsppf__media img {transform:scale(1.06)}
}
body :is(.mgs-prod__body,.mgs-mgsppf__body) {padding:20px;gap:8px}
body :is(.mgs-prod__title,.mgs-mgsppf__title) {font-size:16px;font-weight:600;letter-spacing:0;line-height:1.45;min-height:0;display:block;overflow:visible}
body :is(.mgs-prod__cat,.mgs-mgsppf .mgs-mgsppf__brand,.mgs-prod__sizes) {font-size:12px;line-height:1.6;color:var(--series-muted);letter-spacing:.03em}
body .mgs-prod[data-theme="dark"] :is(.mgs-prod__cat,.mgs-prod__sizes) {color:var(--series-muted-dark)}
body :is(.mgs-prod,.mgs-mgsppf) :is(a.mgs-prod__more,a.mgs-mgsppf__cta) {display:flex;align-self:stretch;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;margin-top:auto;border:1px solid var(--series-line);border-radius:var(--series-radius);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.08em;gap:8px;color:var(--series-ink);background:transparent;text-decoration:none}
body .mgs-prod[data-theme="dark"] a.mgs-prod__more {color:#fff;border-color:#707070}
body :is(.mgs-prod,.mgs-mgsppf) :is(a.mgs-prod__more,a.mgs-mgsppf__cta):is(:hover,:focus-visible,:active) {background:var(--series-red);border-color:var(--series-red);color:#fff;gap:8px}
body :is(.mgs-prod__body,.mgs-mgsppf__body) > :is(a.mgs-prod__more,a.mgs-mgsppf__cta) {margin-top:auto}
body :is(.mgs-prod__sizes,.mgs-mgsppf__title) {margin-bottom:8px}
body .mgs-prod__arrow {width:44px;height:44px;border-radius:var(--series-radius)}
body .mgs-prod :is(.mgs-prod__navrow,.mgs-mgsppf__navrow) {margin-top:14px;min-height:48px}
body .mgs-prod__dots {gap:4px}
/* Reset the dark variant too; only the small marker is painted, never the
   entire hit area. Markers match the brand-page 10px / active 28px pattern;
   the separate 32x44px hit area stays stable. Explicit display beats the theme. */
body .mgs-prod .mgs-prod__dots .mgs-prod__dot {position:relative;flex:0 0 32px;width:32px;height:44px;padding:0;border:0;background:transparent!important;box-shadow:none;border-radius:0;color:var(--series-ink);transition:none}
body .mgs-prod[data-theme="dark"] .mgs-prod__dot {color:#fff}
body .mgs-prod .mgs-prod__dot::after {content:'';display:block;position:absolute;inset:17px 11px;background:#767676;border-radius:0;pointer-events:none}
body .mgs-prod .mgs-prod__dot:not(.is-active):is(:hover,:focus-visible)::after {background:#595959}
body .mgs-prod[data-theme="dark"] .mgs-prod__dot:not(.is-active):is(:hover,:focus-visible)::after {background:#b8b8b8}
body .mgs-prod .mgs-prod__dots .mgs-prod__dot.is-active {width:32px;box-shadow:none}
body .mgs-prod .mgs-prod__dot.is-active::after {inset-inline:2px;background:var(--series-red)}
body .mgs-prod__navrow:has(.mgs-prod__dots[style*="display: none"]) {display:none}

/* Product photography: desktop copy uses the empty left side of the image. */
body .mgpol-hero {min-height:clamp(560px,44vw,880px);display:flex;flex-direction:column;justify-content:center;padding-block:64px}
body .mgpol-hero__inner {display:block}
body .mgpol-hero__content {max-width:min(560px,44vw)}
body .mgpol-hero__banner {position:absolute;inset:0;z-index:0}
body .mgpol-hero__banner img {width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
body .mgpol-hero__banner::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.9) 0%,rgba(15,15,15,.72) 29%,rgba(15,15,15,.18) 52%,transparent 70%);pointer-events:none}
body .mgpol-hero__desc {max-width:clamp(240px,23vw,360px);color:#e3e3e3}
body :is(.mgs-hero__title,.mgpol-hero__title) {font-size:clamp(40px,5.2vw,76px);letter-spacing:-.035em;line-height:1.02}
body .mgpol-hero__title {font-size:clamp(40px,4.3vw,68px)}
body .mgpol-story__inner {grid-template-columns:1.1fr .9fr}
body .mgpol-story__visual {transform:translate(clamp(16px,2vw,32px),-24px)}
body .mgpol-story__img {aspect-ratio:1;object-fit:contain}
body .mgpol-story__stat b {font-size:20px;letter-spacing:-.02em;line-height:1.4}
body .mgs-hero__inner {min-height:max(700px,calc(100svh - 130px));padding-block:80px 96px;gap:64px}
body .mgs-hero {min-height:0}
body .mgs-hero__overlay {background:linear-gradient(90deg,rgba(15,15,15,.9),rgba(15,15,15,.6))}
body .mgs-hero__catname {font-size:22px;letter-spacing:0}
body .mgs-hero__catlink {padding-block:18px}
body .mgs-hero__catdesc {font-size:12px}

/* A neutral studio stage; readable values around it and a visible selected view. */
body .mgpol-mk__title {margin-bottom:32px}
body .mgpol-mk__grid {grid-template-columns:minmax(0,190px) minmax(0,1fr) minmax(0,190px);gap:32px}
body .mgpol-mk__specs {gap:24px}
body .mgpol-mk__specs li {gap:8px;padding-bottom:20px;border-color:var(--series-line-dark)}
body .mgpol-mk__specs b {font-size:clamp(21px,1.9vw,27px);line-height:1.35;letter-spacing:-.025em;font-variant-numeric:tabular-nums;text-transform:none}
body .mgpol-mk__specs span {color:var(--series-muted-dark);font-size:11px;line-height:1.6;letter-spacing:.08em}
body .mgpol-mk__stage {background:#ededed;border:1px solid #d8d8d8;border-radius:var(--series-radius);cursor:grab}
body .mgpol-mk__stage:active {cursor:grabbing}
body .mgpol-mk__hint {font-size:11px;letter-spacing:.06em;color:#595959;pointer-events:none}
body .mgpol-mk__acilar {gap:8px;margin-top:16px}
body .mgpol-mk__acilar button {min-height:44px;padding:10px 16px;font-size:11px;letter-spacing:.08em;border-color:#707070;color:#d0d0d0;background:transparent}
body .mgpol-mk__acilar button:is(:hover,:focus-visible) {background:#272727;color:#fff;border-color:#fff}
body .mgpol-mk__acilar button[aria-pressed="true"] {background:#fff;border-color:#fff;color:#171717}
body .mgpol-mk__ozet {margin-top:32px;max-width:680px}
body .mgpol-mk__ctas {margin-top:24px}
body .mgpol-cmp__table thead th {letter-spacing:0}
body .mgpol-cmp__table tbody tr:nth-child(even) {background:var(--series-surface)}
body .mgpol-cmp__table tbody th[scope="row"] {color:var(--series-muted);letter-spacing:.05em}
body .mgpol-cmp__hint {display:none;color:var(--series-muted);font-size:13px;margin:0 0 16px}

/* Scale the composition with large viewports; preserve the photo's full frame
   so its foreground machine never moves into the fixed-width copy column. */
@media(min-width:1600px) {
  body :is(.mgpol-hero__inner,.mgpol-story__inner) {width:84%;max-width:2400px;padding-inline:0}
  body .mgpol-hero {min-height:0;aspect-ratio:2560/1099;padding-block:clamp(80px,5vw,160px)}
  body .mgpol-hero__content {max-width:clamp(560px,30vw,960px)}
  body .mgpol-hero__eyebrow {font-size:clamp(12px,.6vw,20px);margin-bottom:clamp(24px,1.25vw,40px)}
  body .mgpol-hero__title {font-size:clamp(68px,3.5vw,120px)}
  body .mgpol-hero__desc {max-width:clamp(360px,16vw,520px);font-size:clamp(18px,.9vw,26px);margin-top:clamp(28px,1.4vw,48px)}
  body .mgpol-hero__ctas {gap:clamp(14px,.8vw,28px);margin-top:clamp(36px,1.7vw,56px)}
  body .mgpol-hero a.mgpol-hero__btn {min-height:clamp(52px,2.6vw,72px);font-size:clamp(12px,.55vw,18px);padding:clamp(14px,.7vw,24px) clamp(24px,1.25vw,48px)}
  body .mgpol-story {padding-block:clamp(96px,5.2vw,176px)}
  body .mgpol-story__inner {gap:clamp(80px,5vw,160px)}
  body .mgpol-story__content {max-width:1080px}
  body .mgpol-story__title {font-size:clamp(48px,2.4vw,72px);margin-bottom:clamp(32px,1.6vw,56px)}
  body .mgpol-story__text p {font-size:clamp(18px,.9vw,26px);max-width:66ch;margin-bottom:clamp(20px,1vw,32px)}
  body .mgpol-story__text p:last-child {margin-bottom:0}
  body .mgpol-story__visual {max-width:1000px;justify-self:end}
  body .mgpol-story__stats {margin-top:clamp(48px,2.5vw,80px)}
  body .mgpol-story__stat {padding:clamp(20px,1.4vw,32px)}
  body .mgpol-story__stat b {font-size:clamp(22px,1vw,32px)}
  body .mgpol-story__stat span {font-size:clamp(11px,.45vw,15px)}
}

@media(max-width:1280px) {
  body .mgpol-hero {min-height:0;padding:0}
  body .mgpol-hero__inner {order:0;padding-block:48px 32px}
  body .mgpol-hero__content {max-width:100%}
  body .mgpol-hero__desc {max-width:520px}
  body .mgpol-hero__banner {order:1;position:relative;inset:auto;width:100%;aspect-ratio:2.1}
  body .mgpol-hero__banner::after {background:linear-gradient(180deg,#0f0f0f 0%,transparent 22%)}
}
@media(max-width:1100px) {
  body .mgpol-mk__grid {grid-template-columns:1fr;gap:24px}
  body .mgpol-mk__specs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  body .mgpol-mk__specs li {border-bottom:1px solid var(--series-line-dark)}
  body .mgpol-mk__specs b {font-size:23px}
}
@media(max-width:1024px) {
  body .mgs-hero__inner {gap:40px}
  body .mgs-story__inner {grid-template-columns:1fr}
  body .mgs-story__img-wrap {max-width:100%;aspect-ratio:16/9}
  body .mgs-story__img-wrap::before {padding-top:56.25%}
}
@media(max-width:860px) {
  body .mgpol-story__inner {grid-template-columns:1fr}
  body .mgpol-story__content {display:contents}
  body .mgpol-story__title {margin-bottom:0}
  body .mgpol-story__visual {order:1;max-width:560px;justify-self:center;transform:none}
  body .mgpol-story__stats {order:2;margin-top:0}
}
@media(max-width:600px) {
  body :is(.mgs-hero__title,.mgpol-hero__title) {font-size:clamp(30px,8.8vw,48px)}
  body .mgpol-hero__banner {aspect-ratio:1.58}
  body .mgpol-hero__inner {padding-block:40px 28px}
  body .mgpol-hero__ctas {gap:12px;margin-top:28px}
  body .mgpol-hero__btn {justify-content:center;flex:1;padding-inline:12px}
  body .mgpol-mk__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
  body .mgpol-mk__stage-wrap {grid-column:1/-1}
  body :is(.mgs-prod__navrow,.mgs-mgsppf__navrow) {gap:12px;flex-wrap:wrap}
  body .mgs-prod__dots {gap:0}
  body :is(.mgs-prod__arrows,.mgs-mgsppf__arrows) {margin-left:auto}
  body .mgs-hero__inner {padding-block:64px 72px;min-height:0}
  body .mgs-hero__ctas {flex-direction:column}
  body .mgs-cat__btn {width:100%;min-width:0}
  body .mgpol-mk__specs {display:contents}
  body .mgpol-mk__specs b {font-size:clamp(19px,5.1vw,23px);overflow-wrap:normal}
  body .mgpol-mk__specs span {font-size:10px;letter-spacing:.03em}
  body .mgpol-mk__acilar button {flex:1;padding-inline:8px;letter-spacing:.03em}
  body :is(.mgpol-mk__ctas,.mgpol-cta__actions) {flex-direction:column}
  body :is(.mgpol-mk__cta,.mgpol-cta__btn) {width:100%}
  body .mgs-feat__item {grid-template-columns:40px minmax(0,1fr);gap:16px}
  body .mgs-feat__num {font-size:26px}
  body .mgpol-cmp__table tbody th[scope="row"] {position:sticky;left:0;background:#fff;z-index:1;max-width:116px;white-space:normal;padding-inline:12px}
  body .mgpol-cmp__table tbody tr:nth-child(even) th {background:var(--series-surface)}
  body .mgpol-cmp__title {margin-bottom:20px}
  body .mgpol-cmp__hint {display:block}
  body .mgpol-cmp__table {table-layout:fixed;min-width:740px}
  body .mgpol-cmp__table thead td {width:116px}
  body .mgpol-cmp__table :is(th,td) {overflow-wrap:normal;word-break:normal;hyphens:none}
  body .mgpol-cmp__table tbody th[scope="row"] {font-size:12px;letter-spacing:0;text-transform:none}
}
@media(prefers-reduced-motion:reduce) {
  body :is(.mgs-hero,.mgs-story,.mgs-feat,.mgs-cat,.mgs-prod,.mgpol-hero,.mgpol-story,.mgpol-mk,.mgpol-cmp,.mgpol-cta) * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Saturated red labels stay legible on dark surfaces without a pastel tint. */
body :is(.mgs-hero__eyebrow,.mgs-feat__mini,.mgs-cat[data-theme="dark"] .mgs-cat__tagline,.mgpol-hero__eyebrow,.mgpol-mk__eyebrow span) {color:var(--series-red-on-dark)}
body :is(.mgs-hero__eyebrow,.mgs-feat__mini,.mgs-cat[data-theme="dark"] .mgs-cat__tagline,.mgpol-hero__eyebrow)::before {background:currentColor}
/* These three MG PS labels use pure red, as requested, rather than coral. */
body :is(.mgs-hero__eyebrow,.mgs-feat__mini,.mgs-cat[data-theme="dark"] .mgs-cat__tagline) {color:#ff0000}
body :is(.mgs-hero__scroll,.mgs-mgsppf__note) {font-family:var(--series-type);font-style:normal;letter-spacing:.1em}
body :is(.mgs-cat[data-theme="light"],.mgs-prod:not([data-theme="dark"]),.mgpol-cmp) :is(a,button,[tabindex="0"]):focus-visible {outline-color:var(--series-red)}
/* The first category emits a <style> between its anchor and section, so an
   adjacent-sibling selector cannot identify it. Target its unique series image.
   Its transparent margins allow 20% more image without clipping any product. */
body .mgs-cat:has(.mgs-cat__img[src*="/polisher/uclu-hero.webp"]) .mgs-cat__visual {overflow:hidden}
body .mgs-cat .mgs-cat__img[src*="/polisher/uclu-hero.webp"] {width:120%;max-width:none;flex:none;aspect-ratio:16/9;height:auto;max-height:none}
@media(max-width:600px) {
  body .mgs-cat__img {height:220px;max-height:220px}
}

/* Account for carousel gutters in scroll snap so the first card returns to 0. */
body :is(.mgs-prod__track,.mgs-mgsppf__track) {scroll-padding-inline:16px}

/* Compact cards across all four MG PS collections. The three-machine row has
   a slightly wider desktop card while retaining a bounded tablet size. */
body .mgs-prod {
  --mgs-card-width:clamp(232px,calc((100% - 76px) / 4.5),264px);
  --mgs-card-gap:19px;
}
@media(min-width:768px) {
  body .mgs-prod--pol {--mgs-card-width:min(288px,calc((100% - 38px) / 3))}
}
body .mgs-prod :is(.mgs-prod__track,.mgs-mgsppf__track) {gap:var(--mgs-card-gap);justify-content:safe center}
body .mgs-prod :is(.mgs-prod__card,.mgs-mgsppf__card) {flex:0 0 var(--mgs-card-width);min-width:0;max-width:var(--mgs-card-width)}
body .mgs-prod :is(.mgs-prod__media,.mgs-mgsppf__media) {flex-shrink:0;aspect-ratio:1}
body .mgs-prod .mgs-mgsppf__media {padding:20px}
body .mgs-prod :is(.mgs-prod__body,.mgs-mgsppf__body) {padding:14px;gap:6px}
body .mgs-prod :is(.mgs-prod__title,.mgs-mgsppf__title) {font-size:14px;line-height:1.45;letter-spacing:0}
body .mgs-prod :is(.mgs-prod__cat,.mgs-prod__sizes,.mgs-mgsppf__brand) {font-size:11px;line-height:1.5;letter-spacing:.02em}
body .mgs-prod :is(.mgs-prod__sizes,.mgs-mgsppf__title) {margin-bottom:6px}
@media(max-width:600px) {
  body .mgs-prod {--mgs-card-width:clamp(184px,59vw,236px);--mgs-card-gap:15px}
  body .mgs-prod :is(.mgs-prod__body,.mgs-mgsppf__body) {padding:12px;gap:6px}
  body .mgs-prod :is(.mgs-prod__title,.mgs-mgsppf__title) {font-size:13px}
  body .mgs-prod .mgs-mgsppf__media {padding:16px}
  body .mgs-prod :is(a.mgs-prod__more,a.mgs-mgsppf__cta) {padding-inline:8px;font-size:10px;letter-spacing:.04em;gap:6px}
}
