/* MARK RYDEN: product-led refinement. Load after showcase-polish.css.
   Existing routes, interactions, catalogue data and image assets stay authoritative. */
:root {
  --mr-ink: #171717;
  --mr-muted: #555;
  --mr-paper: #fff;
  --mr-surface: #f6f6f6;
  --mr-gutter: clamp(20px, 2.5vw, 40px);
  --mr-section: clamp(52px, 6vw, 88px);
  --mr-radius: 16px;
}
.mr-global { color: var(--mr-ink); background: var(--mr-paper); }
.mr-global .wrap { width: min(calc(100% - var(--mr-gutter) * 2), 1440px); }
.mr-global h1, .mr-global h2 { font-weight: 600; letter-spacing: -.035em; text-wrap: balance; }
.mr-global :where(button, a, input, select, summary) { touch-action: manipulation; }
.mr-global :where(a, button, input, select, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.mr-global :where(h1, h2, h3, [id]) { scroll-margin-top: 104px; }

/* One consistent, legible navigation surface on every page. */
.mr-global[data-page] .g-header { margin-bottom: 0; background: var(--mr-paper); color: var(--mr-ink); border-radius: 0; }
.mr-global[data-page] .g-header.g-scrolled { background: var(--mr-paper); backdrop-filter: none; }
.mr-global[data-page] .g-logo img { filter: none; }
.mr-global .g-header-inner { min-height: 88px; padding: 16px var(--mr-gutter); gap: 24px; }
.mr-global .g-navigation { flex-wrap: nowrap; gap: 0 16px; }
.mr-global .g-navigation > a:last-child { flex-basis: auto; }
.mr-global .g-navigation a { font-size: 14px; font-weight: 500; }
.mr-global .g-nav-toggle { width: 28px; }
.mr-global .g-logo img { width: 150px; height: auto; }
.mr-global .g-brand-bar { min-height: 38px; padding: 5px var(--mr-gutter); font-size: 12px; }
.mr-global .g-brand-bar button { min-height: 30px; }
.mr-global .g-header-actions .icon-btn { min-width: 44px; width: 44px; min-height: 44px; }

/* Authentic product photography carries the first screen; copy has its own measure. */
.mr-global .g-slideshow { height: clamp(480px, 46vw, 690px); border-radius: var(--mr-radius); }
.mr-global .g-slide-content { inset: auto 48px 106px; display: block; }
.mr-global .g-slide-content h1, .mr-global .g-slide-content h2 { font-size: clamp(38px, 4.2vw, 64px); line-height: 1.06; max-width: 16ch; margin: 0 0 24px; }
.mr-global .g-slide-content > a { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 48px; padding: 13px 24px; font-size: 14px; }
.mr-global .g-slide-controls { left: 48px; right: 48px; bottom: 22px; }

/* Clear rhythm and a common grid for product selection. */
.mr-global .g-section { padding-block: var(--mr-section); }
.mr-global .g-section-heading { align-items: baseline; gap: 20px 32px; margin-bottom: 32px; }
.mr-global .g-section-heading h2 { font-size: clamp(28px, 3vw, 44px); line-height: 1.1; }
.mr-global .g-section-heading .outline-btn { min-height: 44px; font-size: 14px; font-weight: 500; }
.mr-global .g-product-grid { gap: 24px !important; }
.mr-global .g-card { background: var(--mr-surface); border-radius: var(--mr-radius); }
.mr-global .g-card .product-picture { background: var(--mr-paper); }
.mr-global .g-card .product-card-body { padding: 24px !important; }
.mr-global .g-card-title-price { display: block; }
.mr-global .g-card-title-price > span { display: block; margin-top: 14px; text-align: left; font-size: 14px; color: var(--mr-muted); font-variant-numeric: tabular-nums; }
.mr-global .g-card-title-price > span br { display: none; }
.mr-global .g-card .product-name { font-size: 20px !important; font-weight: 600; line-height: 1.25; }
.mr-global .g-card .bp-card-sub { display: block; max-width: 33ch; margin-top: 8px; color: var(--mr-muted); font-size: 14px; line-height: 1.5; font-weight: 400; }
.mr-global .g-card .model { font-size: 12px !important; font-weight: 400; margin-bottom: 9px !important; }
.mr-global span.g-rating-unknown { display: none; }
.mr-global .g-card-tools { gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.mr-global .g-card-tools button { min-height: 44px; font-size: 13px; color: var(--mr-muted); }
.mr-global .g-card-swatches { flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.mr-global .g-card-swatches a { width: 44px; height: 44px; min-width: 44px; padding: 6px; border-radius: 8px; }
.mr-global .g-card-cta { min-height: 44px; font-size: 14px; }

.mr-global .g-image-text { padding-block: var(--mr-section); gap: clamp(32px, 5vw, 76px); }
.mr-global .g-image-text h2 { font-size: clamp(32px, 3.5vw, 52px); line-height: 1.08; margin: 0 0 24px; max-width: 16ch; }
.mr-global .g-image-text p { font-size: 16px; line-height: 1.6; letter-spacing: normal; }
.mr-global .g-image-text > img { border-radius: var(--mr-radius); }
.mr-global .g-statement { padding-block: 64px; }
.mr-global .g-statement h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.12; }
.mr-global .g-brand-panel { padding-block: 64px; }
.mr-global .g-article-grid h3 { font-size: 22px; line-height: 1.25; }

/* Product options remain large enough for deliberate selection. */
.mr-global .g-product { grid-template-columns: minmax(0, 1.3fr) minmax(340px, 1fr); gap: clamp(36px, 5vw, 76px); padding-bottom: var(--mr-section); }
.mr-global .g-product .product-info { padding-top: 20px; }
.mr-global .g-product .product-info h1 { font-size: clamp(32px, 3vw, 44px); line-height: 1.12; }
.mr-global .bp-h1-sub { max-width: 32ch; margin-bottom: 24px; font-size: 20px; line-height: 1.4; }
.mr-global .g-product legend { font-weight: 500; }
.mr-global .g-product .variant-row { gap: 10px; }
.mr-global .g-product .variant-row label span { min-height: 48px; font-size: 14px; }
.mr-global .g-pdp-details summary { min-height: 44px; font-weight: 500; line-height: 1.4; }
.mr-global .g-plp-meta { gap: 24px; align-items: center; }
.mr-global .g-plp-meta .category-tabs { gap: 10px; }
.mr-global .g-plp-meta .category-tabs button { min-height: 44px; font-size: 14px; padding: 10px 18px; }
.mr-global .g-plp-meta #results-count { font-size: 14px; }
.mr-global .g-footer { padding-top: 64px; }
.mr-global .g-footer a { line-height: 1.5; padding-block: 5px; }
.mr-global .go-content h2 { font-size: clamp(30px, 3vw, 40px); line-height: 1.08; }
.mr-global .go-content p { line-height: 1.6; }

/* Existing mobile drawer works at tablet widths, without a wrapped desktop menu. */
@media (max-width: 1279px) {
  .mr-global .g-header-inner { min-height: 80px; display: flex; justify-content: space-between; padding: 12px var(--mr-gutter); gap: 12px; }
  .mr-global .g-navigation { display: none; }
  .mr-global .g-mobile-trigger { display: inline-flex; min-width: 44px; width: 44px; }
  .mr-global .g-logo { margin-inline: auto; }
  .mr-global .g-header-actions > a { display: none; }
  .mr-global .g-slide-content { left: 32px; right: 32px; }
  .mr-global .g-slide-controls { left: 32px; right: 32px; }
}
@media (max-width: 1023px) {
  .mr-global .g-product { grid-template-columns: 1fr; gap: 36px; }
  .mr-global .g-product .product-info { padding-top: 0; }
  .mr-global .g-product .gallery, .mr-global .g-product .product-info { max-width: 720px; width: 100%; }
  .mr-global .g-card .product-card-body { padding: 20px !important; }
  .mr-global .g-image-text { gap: 32px; }
}
@media (max-width: 767px) {
  :root { --mr-gutter: 20px; --mr-radius: 12px; }
  .mr-global .g-header-inner { min-height: 72px; padding-block: 8px; gap: 4px; }
  .mr-global .g-logo img { width: 132px; }
  .mr-global .g-brand-bar { min-height: 34px; padding-block: 2px; }
  .mr-global .g-slideshow { height: min(630px, calc(100svh - 126px)); min-height: 450px; }
  .mr-global .g-slide-content { inset: auto 24px 100px; }
  .mr-global .g-slide-content h1, .mr-global .g-slide-content h2 { font-size: clamp(32px, 7.8vw, 42px); max-width: 16ch; margin-bottom: 22px; }
  .mr-global .g-slide-content > a { font-size: 13px; padding: 13px 20px; }
  .mr-global .g-slide-controls { left: 18px; right: 18px; bottom: 18px; }
  .mr-global .g-section-heading { flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 24px; }
  .mr-global .g-section-heading > h2 { flex: 1 1 100%; }
  .mr-global .g-product-grid { gap: 20px 12px !important; }
  .mr-global .g-card .product-card-body { padding: 16px 12px !important; }
  .mr-global .g-card .product-name { font-size: 17px !important; }
  .mr-global .g-card .bp-card-sub { font-size: 13px; line-height: 1.45; }
  .mr-global .g-card .model { font-size: 11px !important; }
  .mr-global .g-card-title-price > span { font-size: 13px; }
  .mr-global .g-card .product-picture { padding-bottom: 44px; }
  .mr-global .g-card .product-picture > .g-card-cta { font-size: 12px; height: 44px; width: 100%; max-width: 100%; padding-inline: 4px; }
  .mr-global .g-card-swatches { gap: 4px; }
  .mr-global .g-card-swatches a { padding: 6px; }
  .mr-global .g-card-tools { gap: 2px 10px; margin-top: 10px; }
  .mr-global .g-card-tools button { font-size: 12px; gap: 5px; }
  .mr-global .g-image-text { grid-template-columns: 1fr; gap: 28px; }
  .mr-global .g-image-text > img { height: auto; aspect-ratio: 1 / 1.08; object-fit: cover; }
  .mr-global .g-image-text h2 { font-size: 34px; margin-bottom: 20px; }
  .mr-global .g-statement, .mr-global .g-brand-panel { padding-block: 44px; }
  .mr-global .g-plp-banner { height: 340px; }
  .mr-global .g-plp-banner > .wrap { padding-top: 160px; }
  .mr-global .g-plp-banner h1 { font-size: 40px; }
  .mr-global .g-plp-meta .category-tabs { gap: 8px; }
  .mr-global .g-plp-meta .category-tabs button { padding: 9px 14px; font-size: 13px; }
  .mr-global .g-product .product-info h1 { font-size: 32px; }
  .mr-global .bp-h1-sub { font-size: 18px; }
  .mr-global .g-footer { padding-top: 44px; }
}
@media (max-width: 359px) {
  :root { --mr-gutter: 16px; }
  .mr-global .g-logo img { width: 112px; }
  .mr-global .g-product-grid { grid-template-columns: 1fr !important; }
}
/* Content is never withheld until a scroll observer fires. */
.mr-global [data-bp-reveal] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .mr-global *, .mr-global *::before, .mr-global *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Each quotation stays attached to the model it describes. */
.mr-global .gh-review-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-columns: auto;
  gap: 24px;
  overflow: visible;
  align-items: stretch;
}
.mr-global .gh-review-card { padding: 28px; min-width: 0; border-radius: var(--mr-radius); background: var(--mr-surface); }
.mr-global .gh-review-product {
  display: flex;
  gap: 16px;
  align-items: center;
  min-height: 112px;
  margin: 0 0 24px;
  color: var(--mr-ink);
  text-decoration: none;
}
.mr-global .gh-review-product img { display: block; flex: 0 0 96px; width: 96px; height: 112px; object-fit: contain; border-radius: 8px; background: var(--mr-paper); }
.mr-global .gh-review-product-copy { min-width: 0; font-size: 14px; line-height: 1.45; }
.mr-global .gh-review-product-copy strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.3; margin-bottom: 6px; }
.mr-global .gh-review-product-copy span { display: block; color: var(--mr-muted); }
.mr-global .gh-review-card blockquote { margin: 0 0 24px; }
.mr-global .gh-review-card blockquote p { font-size: 20px; font-weight: 500; line-height: 1.45; letter-spacing: -.015em; }
.mr-global .gh-review-card footer { margin-top: auto; }
.mr-global .gh-review-author { font-size: 15px; line-height: 1.4; font-weight: 600; }
.mr-global .gh-review-card time, .mr-global .gh-review-variant, .mr-global .gh-review-source { font-size: 13px; line-height: 1.5; }
.mr-global .gh-review-card .gh-review-source { order: initial; margin: 0 0 16px; }
.mr-global .gh-review-card footer > a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1023px) {
  .mr-global .gh-review-rail { grid-template-columns: 1fr; gap: 16px; }
  .mr-global .gh-review-card { padding: 28px; }
  .mr-global .gh-review-card blockquote p { max-width: 58ch; }
}
@media (max-width: 767px) {
  .mr-global .gh-review-card { padding: 24px; }
  .mr-global .gh-review-product { gap: 16px; margin-bottom: 20px; }
  .mr-global .gh-review-product img { flex-basis: 96px; width: 96px; height: 104px; }
  .mr-global .gh-review-card blockquote p { font-size: 19px; }
}

/* Model names remain recognisable; their meaning is visible without a tooltip. */
.mr-global .g-mega-column a:has(.mr-model-explanation),
.mr-global .g-mobile-subnav a:has(.mr-model-explanation) { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding-block: 10px; }
.mr-global .mr-model-explanation { display: block; color: var(--mr-muted); font-size: 13px; line-height: 1.4; font-weight: 400; letter-spacing: normal; white-space: normal; }
.mr-global a.g-rating-unknown { color: var(--mr-ink); font-size: 13px; min-height: 32px; display: inline-flex; align-items: center; }
/* Mobile navigation follows the same text inset as its drawer title. */
.mr-global #mobile-nav .mobile-links { padding-inline: 20px; }
.mr-global #mobile-nav .mobile-links > a,
.mr-global #mobile-nav .g-mobile-group > summary { width: 100%; }
.mr-global #mobile-nav .g-mobile-subnav { padding-inline: 0; }
.mr-global #mobile-nav .g-mobile-subnav a:has(.mr-model-menu-label) { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
.mr-global .mr-model-menu-label { display: block; min-width: 0; }
.mr-global .mr-model-menu-label .mr-model-explanation { margin-top: 4px; text-decoration: none; }
.mr-global #mobile-nav .g-mobile-subnav a:has(.mr-model-menu-label) > svg { flex-shrink: 0; }
/* Review metadata stays separate from the source action at every width. */
body.mr-global .gh-review-card footer time{display:block;margin-bottom:10px}
body.mr-global .gh-review-card footer .text-link{display:flex;width:fit-content;min-height:44px}
.mr-global .g-navigation .g-mega-column>a{justify-content:flex-start;text-align:left;flex-basis:auto}
/* Text over genuine catalogue photography needs a dedicated contrast treatment. */
.mr-global .g-plp-banner .bp-lead{color:#fff;text-shadow:0 1px 3px #0008;max-width:60ch}
.mr-global .g-plp-banner>img{filter:brightness(.65)}
/* Let catalogue copy define its banner height so the product region cannot cover it. */
.mr-global .g-plp-banner{height:auto;min-height:380px}
.mr-global .g-plp-banner>.wrap{padding-top:clamp(140px,14vw,210px);padding-bottom:80px}
@media(max-width:600px){.mr-global .g-card .g-card-cta{border-radius:999px;left:6px;right:6px;bottom:8px;font-size:12px;padding-inline:10px}}
