/* UX + Technical 10/10 layer (2026-10-03): accessibility primitives and new shared templates.
   Uses existing design tokens; no new colours. Loaded last. */
.mm-skip-link{position:absolute;left:12px;top:-200px;z-index:10000;padding:12px 18px;border-radius:10px;background:#14252B;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.mm-skip-link:focus,.mm-skip-link:focus-visible{top:12px;outline:3px solid #00A859;outline-offset:2px}
main[tabindex="-1"]:focus{outline:none}
[hidden]{display:none!important}
.screen-reader-text,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.mm-premium li.product .woocommerce-loop-product__title{display:block}
/* Topic chips (blog archives) */
.mm-topic-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0 24px;padding:0}
.mm-topic-list a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid rgba(20,37,43,.16);border-radius:999px;text-decoration:none;color:inherit;font-size:15px}
.mm-topic-list a:hover{border-color:#0B7D74}
/* Series hubs (product categories) */
main[data-template="series"] .mm-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
main[data-template="series"] ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;list-style:none;margin:0;padding:0}
/* WCAG 2.5.8: footer and breadcrumb links get at least 24px targets */
.mm-shell-footer li a,.mm-breadcrumb a,.mm-jump a{display:inline-block;min-height:24px;line-height:24px}
.mm-local-bar a{min-height:44px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Model directories: two compact columns on phones instead of one 400px card per model (Samsung hub was 33k px tall at 390px). */
@media (max-width:640px){
 body.mm-premium .mm-model-group>ul.products,body.mm-premium main[data-template="series"] ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.mm-premium .mm-model-group>ul.products>li.product,body.mm-premium main[data-template="series"] ul.products>li.product{padding:8px!important}
 body.mm-premium #mm-redesign-root [data-device-card]{padding:6px!important}
 body.mm-premium #mm-redesign-root [data-device-card] :is(.mm-verified-model-media,.mm-model-card__media),body.mm-premium main[data-template="series"] .mm-verified-model-media{height:132px!important;min-height:132px!important;max-height:132px!important;padding:8px!important}
 body.mm-premium .mm-model-group .woocommerce-loop-product__title,body.mm-premium main[data-template="series"] .woocommerce-loop-product__title{font-size:15px!important;line-height:1.3!important;margin:8px 0 2px!important;padding:0 4px!important}
 body.mm-premium .mm-model-group .mm-text-model__cta,body.mm-premium main[data-template="series"] .mm-text-model__cta{font-size:14px!important;line-height:1.35!important;margin:4px 0 0!important;padding:0 4px 4px!important}
}


/* WCAG 1.4.1 link-in-text-block: links inside running text are underlined, not colour-only. */
main :is(p,li:not(.product),td,dd,.mm-finder__small,.mm-rem-note)>a:not([class]),main .mm-prose a:not([class]),.mm-finder__small a,.mm-rem-note a{text-decoration:underline!important;text-underline-offset:.18em;text-decoration-thickness:1px}
/* WCAG 1.4.3 contrast: muted meta text and small brand-green labels darkened to the existing ink/green-dark tokens. */
.mm-review__via,.mm-carrier-card__meta{color:#56655d!important}
.mm-blog-meta{color:#4f5b54!important}
.mm-blog-topic,.mm-contact-address>span,.mm-contact-process li>span{color:#006b36!important}
main .elementor-accordion-title{color:#006b36!important}
main p[style*="CFD3CB" i]{color:#56655d!important}
/* Error page */
main[data-template="error"] .mm-topic-list{margin-top:16px}

html body main .mm-blog-meta{color:#4f5b54!important}
main a[style*="00AA55" i]{color:#006b36!important}
main .elementor-button,main a.elementor-button{background-color:#007a3d!important;border-color:#007a3d!important}
/* Home "Welches Gerät ist defekt?": equal compact tiles on phones (was a 1540px bento with one oversized tile). */
@media (max-width:640px){
 body.mm-premium .mm-section--home-devices .mm-device-rail{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:10px!important}
 body.mm-premium .mm-section--home-devices .mm-device-card{grid-column:auto!important;grid-row:auto!important;min-height:0!important;height:auto!important;padding:10px!important}
 body.mm-premium .mm-section--home-devices .mm-device-card [class*="__media"]{max-height:112px!important;height:112px!important;min-height:0!important;aspect-ratio:auto!important}
 body.mm-premium .mm-section--home-devices .mm-device-card [class*="__media"] img{max-height:100%!important;width:100%!important;height:100%!important;object-fit:contain!important}
}

/* PC service: device examples as compact two-up tiles and denser symptom cards on phones. */
@media (max-width:640px){
 body.mm-premium .mm-pc-devices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.mm-premium .mm-pc-device__image{height:110px!important;min-height:0!important;padding:8px!important}
 body.mm-premium .mm-pc-device__image img{width:100%!important;height:100%!important;object-fit:contain!important}
 body.mm-premium .mm-pc-device__body{padding:10px!important}
 body.mm-premium .mm-pc-device__body h3{font-size:16px!important;margin:0 0 4px!important}
 body.mm-premium .mm-pc-device__body p,body.mm-premium .mm-pc-device__body small{font-size:14px!important;line-height:1.35!important}
 body.mm-premium .mm-card-grid--services{gap:10px!important}
 body.mm-premium .mm-card-grid--services .mm-card__body{padding:14px 16px!important}
 body.mm-premium .mm-card-grid--services .mm-card__body .mm-h3{display:flex;align-items:center;gap:8px;margin:0 0 4px!important;font-size:17px!important}
}
/* "Weitere Fragen" disclosure for long FAQs */
.mm-faq-more{margin-top:12px;border:1px dashed rgba(20,37,43,.22);border-radius:14px;padding:4px 16px}
.mm-faq-more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:#006b36}
.mm-faq-more>summary:focus-visible{outline:3px solid #00A859;outline-offset:2px;border-radius:8px}
.mm-faq-more>.mm-faq{margin:8px 0 12px}
@media (max-width:640px){body.mm-premium .mm-symptom-section .mm-card-grid--services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.mm-premium .mm-symptom-section .mm-card__body{padding:12px!important}
 body.mm-premium .mm-symptom-section .mm-card__body .mm-h3{font-size:15px!important;flex-direction:column;align-items:flex-start}
 body.mm-premium .mm-symptom-section .mm-card__meta{font-size:14px!important;line-height:1.35!important}}
/* Apple hub mobile density — stage sizing is owned by the Apple column-card block below. */
@media (max-width:640px){
 body.mm-apple-hub-page a.mm-apple-card{padding:0!important;min-height:0!important}
 body.mm-apple-hub-page a.mm-apple-card .mm-model-card__body{padding:8px 10px 12px!important}
 body.mm-apple-hub-page a.mm-apple-card :is(.mm-model-card__title,h3,h4,strong){font-size:15px!important;line-height:1.3!important}
}



/* Legacy WordPress theme sets body{transition:all .35s}: the shell's padding-top then animates in on load (CLS 0.25-0.30). */
body{transition:none!important}
/* WCAG 2.5.8 target size: footer contact + short footer links get a 24x24 minimum hit area. */
body .mm-shell-footer a.mm-icon-action,body .mm-shell-footer li>a{display:inline-flex;align-items:center;min-height:24px;min-width:24px}

/* CLS: metric-matched local fallback for Geist (measured: advance ~1.00-1.03x Arial, ascent 1.01em, descent 0.30em),
   so the font-display:swap reflow no longer rewraps hero copy (was 0.25 CLS when the webfont arrived after first paint). */
@font-face{font-family:"Geist Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Helvetica");size-adjust:101%;ascent-override:100%;descent-override:29.7%;line-gap-override:0%}
:root,body.mm-premium{--font-sans:"Geist Variable","Geist Fallback",system-ui,-apple-system,"Segoe UI",sans-serif}
/* CLS: hero action row sat within 6px of its container, so the webfont swap wrapped "Kontakt" onto a new line.
   Text-style tertiary actions (no border/fill) only need a small hit-area inset; keeps the row deterministic. */
body.mm-premium .mm-actions--ranked .mm-btn--text{padding-inline:10px!important}
/* WCAG 1.4.3: legacy Elementor CTA buttons in migrated articles used white on brand green (3.05:1);
   align with the design-system primary button (dark ink on brand green, 6.3:1). */
body.mm-premium .elementor-button,body.mm-premium .elementor-button .elementor-button-text,body.mm-premium .elementor-button .elementor-button-icon{color:#10261b!important;fill:#10261b!important}

/* —— UX 10: brand hub progressive disclosure + journey bar —— */
.mm-journey-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:10px clamp(1rem,3vw,1.5rem);margin:0 0 8px;background:rgba(245,246,245,.92);border-bottom:1px solid rgba(20,37,43,.08);position:sticky;top:0;z-index:40;backdrop-filter:saturate(1.1) blur(8px)}
.mm-journey-bar--actions{justify-content:flex-end}
.mm-journey-bar__path{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.9rem;color:#56655d}
.mm-journey-bar__path a{color:#14252B;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.mm-journey-bar__path a:hover{color:#006b36}
.mm-journey-bar__actions{display:flex;flex-wrap:wrap;gap:8px}
.mm-journey-bar__actions .mm-btn{min-height:44px}
.mm-model-gen,.mm-model-more,.mm-pc-more,.mm-accessories__disclose{border:1px solid rgba(20,37,43,.12);border-radius:12px;padding:4px 14px;margin:12px 0;background:#fff}
/* title | count/hint | + — shared across all brand hubs (not Apple-only) */
.mm-model-gen>summary,.mm-model-more>summary,.mm-pc-more>summary,.mm-accessories__disclose>summary{
  cursor:pointer;min-height:48px;display:grid;grid-template-columns:1fr auto auto;
  align-items:center;column-gap:12px;font-weight:650;list-style:none;
  justify-content:initial;gap:initial;
}
.mm-model-gen>summary::-webkit-details-marker,.mm-model-more>summary::-webkit-details-marker,.mm-pc-more>summary::-webkit-details-marker,.mm-accessories__disclose>summary::-webkit-details-marker{display:none}
.mm-model-gen>summary::after,.mm-model-more>summary::after,.mm-pc-more>summary::after,.mm-accessories__disclose>summary::after{grid-column:-2/-1}
.mm-model-gen__title,.mm-model-more>summary>span:first-child,.mm-accessories__disclose>summary>span:first-child{min-width:0}
.mm-model-gen__count,.mm-accessories__hint{font-weight:500;color:#56655d;font-size:.9rem;justify-self:end;white-space:nowrap;min-width:5.5rem;text-align:right}
.mm-model-gen .products,.mm-model-more .products{margin:8px 0 14px}
.mm-accessories--compact .mm-accessories__categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;list-style:none;margin:12px 0;padding:0}
.mm-accessories--compact .mm-accessories__categories h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:1rem}
.mm-pc-more__body{padding:0 0 12px}
@media (max-width:640px){
 .mm-journey-bar{gap:8px}
 .mm-journey-bar__actions{width:100%}
 .mm-journey-bar__actions .mm-btn{flex:1;justify-content:center}
}

/* —— PDP Leistungen: force card grid (mm-premium list styles otherwise collapse rows) —— */
body.mm-premium #mm-redesign-root #leistungen .mm-pdp-service-list,
body.mm-premium #mm-redesign-root .mm-pdp-service-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  border:0!important;
  border-top:0!important;
}
body.mm-premium #mm-redesign-root #leistungen .mm-pdp-service-row,
body.mm-premium #mm-redesign-root .mm-pdp-service-row{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-width:0!important;
  padding:24px!important;
  border:1px solid var(--mm-line,rgba(20,37,43,.14))!important;
  border-radius:12px!important;
  background:#fff!important;
  border-bottom-style:solid!important;
}
body.mm-premium #mm-redesign-root .mm-pdp-service-row .mm-icon-heading,
body.mm-premium #mm-redesign-root .mm-pdp-service-row h3{
  min-width:0;
  margin:0!important;
  overflow-wrap:anywhere;
}
body.mm-premium #mm-redesign-root .mm-pdp-service-row p{
  margin:0!important;
  max-width:none!important;
  line-height:1.55;
}
body.mm-premium #mm-redesign-root .mm-service-request{
  margin-top:auto;
  padding-top:8px;
  min-height:44px;
  width:auto!important;
  max-width:max-content;
  align-self:flex-start;
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start!important;
  gap:8px;
  text-decoration:none!important;
}
body.mm-premium #mm-redesign-root .mm-service-request:hover,
body.mm-premium #mm-redesign-root .mm-service-request:focus-visible{
  text-decoration:underline!important;
  text-underline-offset:.18em;
}
@media (max-width:600px){
  body.mm-premium #mm-redesign-root #leistungen .mm-pdp-service-list,
  body.mm-premium #mm-redesign-root .mm-pdp-service-list{
    grid-template-columns:1fr!important;
  }
}

/* —— Apple hub cards: override mm-premium row layout (was crushing titles to ~1ch) —— */
body.mm-apple-hub-page #mm-redesign-root .mm-apple-card-grid,
body.mm-apple-hub-page #mm-redesign-root .mm-model-gen__body .mm-apple-card-grid,
body.mm-apple-hub-page #mm-redesign-root .mm-apple-accordion .mm-apple-card-grid,
body.mm-premium #mm-redesign-root .mm-apple-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card,
body.mm-apple-hub-page #mm-redesign-root a.mm-model-card,
body.mm-premium #mm-redesign-root a.mm-apple-card,
body.mm-premium #mm-redesign-root a.mm-model-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:100%!important;
  min-height:0!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  gap:0!important;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-verified-model-media,
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__stage,
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__media,
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-device-fallback,
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-photo-unavailable,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-verified-model-media,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-model-card__stage,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-model-card__media,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-device-fallback,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-model-photo-unavailable{
  order:0!important;
  display:flex!important;
  flex:0 0 auto!important;
  flex-basis:auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  height:180px!important;
  min-height:180px!important;
  max-height:180px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:14px!important;
  box-sizing:border-box!important;
  background:#f6f8f7!important;
  overflow:hidden!important;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-device-fallback,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-device-fallback{
  flex-direction:column!important;
  gap:4px;
  text-align:center;
  color:#536159;
  font-size:13px;
  line-height:1.35;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-device-fallback strong{font-size:15px;color:#14252B}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card img,
body.mm-premium #mm-redesign-root a.mm-apple-card img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  transform:none!important;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card:not(:has(img)):not(:has(.mm-device-fallback)):not(:has(.mm-model-photo-unavailable))::before{
  content:"";
  display:block;
  width:100%;
  height:180px;
  background:#f6f8f7;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__body,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-model-card__body{
  order:1!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:12px 14px 14px!important;
}
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__title,
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__kicker,
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__cta{
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere;
  max-width:100%!important;
  width:auto!important;
}
/* Alias notes made text-cards taller than photo tiles and looked like “kayma”.
   Keep for screen readers; hide visually so grid rows stay even. */
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-alias-note,
body.mm-premium #mm-redesign-root a.mm-apple-card .mm-alias-note{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
/* Text-led tiles: drop redundant “Modellfoto nicht hinterlegt” under the fallback title. */
body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-device-fallback small{
  display:none!important;
}
body.mm-premium #mm-redesign-root .mm-model-gen__body,
body.mm-premium #mm-redesign-root .mm-apple-accordion{padding:8px 0 12px;min-width:0}
body.mm-premium #mm-redesign-root .mm-model-gen__body>.mm-lead{margin:0 0 12px;font-size:.95rem}
body.mm-premium #mm-redesign-root .mm-model-gen__body>h3{display:none}
body.mm-premium #mm-redesign-root details.mm-model-gen,
body.mm-premium #mm-redesign-root details.mm-model-more,
body.mm-premium #mm-redesign-root details.mm-pc-more,
body.mm-premium #mm-redesign-root details.mm-accessories__disclose,
body.mm-premium #mm-redesign-root details.mm-apple-gen{
  min-width:0;
  width:100%;
}
/* Beat body.mm-premium details summary {display:flex} for every hub accordion */
body.mm-premium #mm-redesign-root details.mm-model-gen>summary,
body.mm-premium #mm-redesign-root details.mm-model-more>summary,
body.mm-premium #mm-redesign-root details.mm-pc-more>summary,
body.mm-premium #mm-redesign-root details.mm-accessories__disclose>summary,
body.mm-premium #mm-redesign-root details.mm-apple-gen>summary,
body.mm-premium #mm-redesign-root .mm-apple-gen__summary{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  align-items:center!important;
  column-gap:12px!important;
  justify-content:initial!important;
  gap:initial!important;
  min-height:48px!important;
  cursor:pointer;
  list-style:none;
}
body.mm-premium #mm-redesign-root details.mm-model-gen>summary::-webkit-details-marker,
body.mm-premium #mm-redesign-root details.mm-model-more>summary::-webkit-details-marker,
body.mm-premium #mm-redesign-root details.mm-pc-more>summary::-webkit-details-marker,
body.mm-premium #mm-redesign-root details.mm-accessories__disclose>summary::-webkit-details-marker,
body.mm-premium #mm-redesign-root details.mm-apple-gen>summary::-webkit-details-marker{display:none}
body.mm-premium #mm-redesign-root details.mm-model-gen>summary::after,
body.mm-premium #mm-redesign-root details.mm-model-more>summary::after,
body.mm-premium #mm-redesign-root details.mm-pc-more>summary::after,
body.mm-premium #mm-redesign-root details.mm-accessories__disclose>summary::after,
body.mm-premium #mm-redesign-root details.mm-apple-gen>summary::after,
body.mm-premium #mm-redesign-root .mm-apple-gen__summary::after{
  grid-column:-2/-1;
}
body.mm-premium #mm-redesign-root .mm-model-gen__title,
body.mm-premium #mm-redesign-root .mm-apple-gen__title{
  min-width:0;
  overflow-wrap:anywhere;
}
body.mm-premium #mm-redesign-root .mm-model-gen__count,
body.mm-premium #mm-redesign-root .mm-apple-gen__meta,
body.mm-premium #mm-redesign-root .mm-accessories__hint{
  justify-self:end;
  white-space:nowrap;
  min-width:5.5rem;
  text-align:right;
}

/* Hero media: fill frame, no empty bottom band */
body.mm-premium .mm-hero--device .mm-hero__media{
  display:flex!important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f3f6f3;
}
body.mm-premium .mm-hero--device .mm-hero__media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center;
}
body.mm-premium .mm-hero .mm-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
body.mm-premium .mm-hero .mm-actions a[href^="tel:"]{
  display:inline-flex;
  align-items:center;
  min-height:48px;
}

/* Device filter bar: one aligned row */
body.mm-premium [data-device-search],
body.mm-premium .mm-device-search{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
body.mm-premium [data-device-search] input,
body.mm-premium [data-device-search] select,
body.mm-premium .mm-device-search input,
body.mm-premium .mm-device-search select{
  min-height:48px;
  width:100%;
  box-sizing:border-box;
}
body.mm-premium [data-device-search] button,
body.mm-premium .mm-device-search button{min-height:48px}
@media (max-width:700px){
  body.mm-premium [data-device-search],
  body.mm-premium .mm-device-search{grid-template-columns:1fr;align-items:stretch}
}

/* Jump chips: no clipped half-pills causing horizontal “shift” feel */
body.mm-premium .mm-jump{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  overflow:visible;
}
body.mm-premium .mm-jump a{
  white-space:nowrap;
}

/* Repair-story rows: stable 3-col → 2-col, icons centered */
body.mm-apple-hub-page .mm-repair-story--editorial a.mm-repair-story__row{
  display:grid!important;
  grid-template-columns:2.5rem minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:1rem!important;
}
body.mm-apple-hub-page .mm-repair-story--editorial .mm-repair-story__row-icon{
  align-self:center;
}
@media (max-width:700px){
  body.mm-apple-hub-page .mm-repair-story--editorial a.mm-repair-story__row{
    grid-template-columns:2.25rem minmax(0,1fr)!important;
  }
  body.mm-apple-hub-page .mm-repair-story--editorial a.mm-repair-story__row .mm-text-cta{
    grid-column:2;
  }
}

/* Sticky local bar: reserve real bar height so form CTA/errors/success stay clickable.
   Root cause of cover: body padding-bottom only clears the document end; mid-page scroll
   and focus can still land controls under the fixed bar without scroll-padding/margin. */
:root{
  --mm-sticky-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));
}
body.mm-premium .mm-local-bar{
  padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));
}
@media (max-width:768px){
  html{
    scroll-padding-bottom:var(--mm-sticky-bottom);
  }
  body.mm-premium{
    padding-bottom:var(--mm-sticky-bottom)!important;
  }
  body.mm-premium .mm-finder__contact,
  body.mm-premium .mm-finder__review,
  body.mm-premium .mm-finder__errors{
    padding-bottom:calc(0.75rem + var(--mm-sticky-bottom));
  }
  body.mm-premium .mm-finder :is(
    button[type=submit],
    [data-rf-whatsapp],
    [data-rf-edit],
    .mm-finder__errors,
    .mm-finder__review,
    #rf-review-title,
    input,select,textarea
  ){
    scroll-margin-bottom:var(--mm-sticky-bottom);
  }
}
@media (min-width:769px){
  body.mm-premium{padding-bottom:0}
}

/* Keep form CTA visually above the fixed local bar while scrolling the contact block.
   Uses sticky bottom offset (= bar height), not overflow clipping or z-index fights. */
@media (max-width:768px){
  body.mm-premium .mm-finder [data-rf-submit],
  body.mm-premium .mm-finder__contact button[type=submit]{
    position:sticky;
    bottom:calc(var(--mm-sticky-bottom) + 0.35rem);
    z-index:45; /* below .mm-local-bar (50), above page content */
    box-shadow:0 0 0 6px #fff;
    background:var(--rf-green,#006b36);
  }
  body.mm-premium .mm-finder__review .mm-actions{
    position:sticky;
    bottom:calc(var(--mm-sticky-bottom) + 0.35rem);
    z-index:45;
    background:#fff;
    padding-top:8px;
    box-shadow:0 0 0 6px #fff;
  }
}

/* Contact submit: honeypot off-screen (not display:none — still in tab-order block via tabindex=-1) */
.mm-finder__hp{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.mm-finder__status{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.55;
  color:var(--mm-ink,#17251d);
}
.mm-finder button[type=submit][aria-busy=true]{
  opacity:.72;
  cursor:wait;
}

/* Brand hubs (Samsung etc.): equal product tiles */
body.mm-premium #mm-redesign-root ul.products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:12px;
  align-items:stretch;
  list-style:none;
  margin:0;
  padding:0;
}
body.mm-premium #mm-redesign-root ul.products>li.product{
  display:flex;
  height:100%;
  margin:0;
}
body.mm-premium #mm-redesign-root ul.products>li.product>a{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
}
body.mm-premium #mm-redesign-root ul.products .mm-verified-model-media,
body.mm-premium #mm-redesign-root ul.products .mm-device-fallback{
  flex:0 0 220px!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  aspect-ratio:auto!important;
}

@media (max-width:900px){
  body.mm-apple-hub-page #mm-redesign-root .mm-apple-card-grid,
  body.mm-apple-hub-page #mm-redesign-root .mm-model-gen__body .mm-apple-card-grid,
  body.mm-apple-hub-page #mm-redesign-root .mm-apple-accordion .mm-apple-card-grid,
  body.mm-premium #mm-redesign-root .mm-apple-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:640px){
  body.mm-apple-hub-page #mm-redesign-root .mm-apple-card-grid,
  body.mm-apple-hub-page #mm-redesign-root .mm-model-gen__body .mm-apple-card-grid,
  body.mm-apple-hub-page #mm-redesign-root .mm-apple-accordion .mm-apple-card-grid,
  body.mm-premium #mm-redesign-root .mm-apple-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-verified-model-media,
  body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__stage,
  body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-card__media,
  body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-device-fallback,
  body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card .mm-model-photo-unavailable,
  body.mm-premium #mm-redesign-root a.mm-apple-card .mm-verified-model-media,
  body.mm-premium #mm-redesign-root a.mm-apple-card .mm-model-card__stage,
  body.mm-premium #mm-redesign-root a.mm-apple-card .mm-device-fallback,
  body.mm-premium #mm-redesign-root ul.products .mm-verified-model-media,
  body.mm-premium #mm-redesign-root ul.products .mm-device-fallback{
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
    padding:8px!important;
  }
  body.mm-apple-hub-page #mm-redesign-root a.mm-apple-card:not(:has(img)):not(:has(.mm-device-fallback)):not(:has(.mm-model-photo-unavailable))::before{
    height:132px;
  }
  /* Header: logo / WhatsApp / menu on one baseline */
  body.mm-premium .mm-shell-header,
  body.mm-premium .mm-shell-header__bar,
  body.mm-premium header.mm-header .mm-header__row{
    display:flex!important;
    align-items:center!important;
    gap:8px;
  }
  body.mm-premium .mm-shell-header a[href*="whatsapp"],
  body.mm-premium .mm-shell-header .mm-btn{
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  /* Jump chips: horizontal scroll instead of awkward wrap orphans */
  body.mm-premium .mm-jump{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  body.mm-premium .mm-jump::-webkit-scrollbar{display:none}
}

/* Kontakt Standort: prevent horizontal overflow at ~360px.
   Root cause: brand.css sets .mm-location--split to `1fr` (== minmax(auto,1fr)), so
   grid tracks refuse to shrink below .mm-contact-address min-content (large house number). */
@media (max-width:760px){
  body.mm-premium #mm-redesign-root[data-mm-contact-editorial] .mm-location--split{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.mm-premium #mm-redesign-root[data-mm-contact-editorial] :is(.mm-location__visual,.mm-location__info,.mm-contact-address){
    min-width:0!important;
    max-width:100%;
  }
  body.mm-premium #mm-redesign-root[data-mm-contact-editorial] .mm-contact-address .mm-icon-heading{
    flex-wrap:wrap;
    max-width:100%;
    min-width:0;
  }
  body.mm-premium #mm-redesign-root[data-mm-contact-editorial] .mm-contact-address strong{
    font-size:clamp(4rem,18vw,6.875rem);
    max-width:100%;
  }
}
