/* ============================================================
   SVEA mobile.css — m-prefix, inga konflikter
   ============================================================ */

/* Drawer overlay */
.drawer-overlay {
  display: none; position: fixed; inset: 0; z-index: 9100;
  background: rgba(5,15,30,0.65); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  opacity: 0; transition: opacity 0.25s ease;
}
.drawer-overlay.open { display: block; opacity: 1; }

/* ── DESKTOP ── */
@media (min-width: 769px) {
  .mobile-topbar, .mobile-nav, .scroll-actions, .mobile-main { display: none; }
  .drawer {
    display: block; position: fixed; top: 0; left: 0; bottom: 0; width: 360px;
    z-index: 9200; background: #0c1e35; border-radius: 0 20px 20px 0;
    overflow-y: auto; transform: translateX(-100%);
    transition: transform 0.32s cubic-bezier(.22,.8,.25,1); padding-bottom: 32px;
  }
  .drawer.open { transform: translateX(0); }
  button.nav-menu {
    font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit;
    background: none; border: none; cursor: pointer; padding: 0;
    display: inline-flex; align-items: center; gap: 7px;
  }
  button.nav-menu:hover { color: #c8a84d; }
}

/* ── MOBIL ≤ 768px ── */
@media (max-width: 768px) {

  /* Dölj desktop-layout, visa mobil-layout */
  .site-header { display: none; }
  main > *:not(.mobile-main) { display: none; }
  .mobile-main { display: block; }

  body { padding-bottom: 90px; background: #f2f4f7; }

  /* Drawer */
  .drawer {
    display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 9200;
    background: #0c1e35; border-radius: 20px 20px 0 0; max-height: 88vh;
    overflow-y: auto; transform: translateY(100%);
    transition: transform 0.32s cubic-bezier(.22,.8,.25,1);
    padding-bottom: calc(20px + env(safe-area-inset-bottom,0px));
  }
  .drawer.open { transform: translateY(0); }

  /* ── TOPBAR ── */
  .mobile-topbar {
    display: flex; align-items: center; justify-content: space-between;
    position: relative; top: auto; left: auto; right: auto; z-index: 500; height: 52px; padding: 0 16px;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0,0,0,0.07);
  }
  .mobile-topbar-logo { height: 28px; width: auto; }
  .mobile-topbar-phone {
    display: flex; align-items: center; gap: 6px;
    font-size: 14px; font-weight: 700; color: #0b2341; text-decoration: none;
  }
  .mobile-topbar-phone svg { width: 16px; height: 16px; stroke: #0b2341; fill: none; stroke-width: 2; stroke-linecap: round; }

  /* ── MOBIL MAIN WRAPPER ── */
  .mobile-main {
    padding: 0 12px 16px;
    display: flex; flex-direction: column; gap: 10px;
  }

  /* ── HERO (utan bild) ── */
  .m-hero {
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 1px 4px rgba(11,35,65,.07);
  }
  .m-hero-body { padding: 20px 16px 18px; }
  .m-tag {
    display: inline-block; background: #eef2f8; color: #1B2E5E;
    font-size: 10.5px; font-weight: 600; padding: 3px 10px;
    border-radius: 20px; letter-spacing: .03em; margin-bottom: 10px;
  }
  .m-hero-body h1 {
    font-size: 1.75rem; font-weight: 800; line-height: 1.12;
    color: #1B2E5E; margin-bottom: 8px; letter-spacing: -.025em;
  }
  .m-gold { color: #c8a030; }
  .m-hero-body > p {
    font-size: 0.875rem; color: #5a6a7a; line-height: 1.6; margin-bottom: 16px;
  }
  .m-btn-p {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    background: #1B2E5E; color: #fff; border-radius: 12px;
    padding: 13px 16px; font-size: 0.9375rem; font-weight: 700;
    text-decoration: none; margin-bottom: 8px; min-height: 48px;
  }
  .m-btn-s {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    background: #fff; color: #1B2E5E; border-radius: 12px;
    padding: 11px 16px; font-size: 0.9rem; font-weight: 600;
    text-decoration: none; border: 1.5px solid #dce5ee; min-height: 44px;
  }

  /* ── CHIPS ── */
  .m-chips {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 2px 0;
  }
  .m-chip {
    display: flex; align-items: center; gap: 5px;
    background: #fff; border: 1px solid #e5eaf0; border-radius: 20px;
    padding: 6px 11px; font-size: 11px; font-weight: 600; color: #1B2E5E;
    justify-content: center; text-align: center;
  }
  .m-chip svg { stroke: #1B2E5E; flex-shrink: 0; }

  /* ── SECTION ── */
  .m-section { display: flex; flex-direction: column; gap: 0; }
  .m-sh { margin-bottom: 10px; }
  .m-sh h2 { font-size: 1.1rem; font-weight: 700; color: #1B2E5E; line-height: 1.2; }
  .m-sh p { font-size: 0.8125rem; color: #6b7a8d; margin-top: 3px; }

  /* ── PATH GRID ── */
  .m-path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .m-path-card {
    display: flex; flex-direction: column; padding: 14px 12px;
    border-radius: 14px; border: 1.5px solid #e5eaf0; background: #fff;
    text-decoration: none; gap: 0;
  }
  .m-path-card svg { margin-bottom: 8px; stroke: #1B2E5E; }
  .m-path-card strong { font-size: 12.5px; font-weight: 700; color: #1B2E5E; line-height: 1.3; display: block; margin-bottom: 3px; }
  .m-path-card span { font-size: 11px; color: #7a8a9a; line-height: 1.35; display: block; }
  .m-path-hl { background: #1B2E5E !important; border-color: #1B2E5E !important; }
  .m-path-hl svg { stroke: rgba(255,255,255,0.9) !important; }
  .m-path-hl strong { color: #fff !important; }
  .m-path-hl span { color: rgba(255,255,255,0.65) !important; }

  /* ── PRICE CARD ── */
  .m-price-card {
    display: flex; align-items: center; gap: 14px;
    background: #fff; border: 1px solid #e5eaf0; border-radius: 14px; padding: 16px;
  }
  .m-price-left { flex-shrink: 0; }
  .m-price-from { font-size: 10px; font-weight: 600; color: #8a9bb0; display: block; margin-bottom: 3px; text-transform: uppercase; letter-spacing: .04em; }
  .m-price-num { font-size: 1.9rem; font-weight: 800; color: #1B2E5E; line-height: 1; }
  .m-price-num span { font-size: 14px; font-weight: 500; color: #8a9bb0; }
  .m-price-right { flex: 1; display: flex; flex-direction: column; gap: 5px; }
  .m-price-check { font-size: 11.5px; color: #4a5568; display: flex; align-items: center; gap: 5px; }
  .m-price-right a { font-size: 11.5px; font-weight: 700; color: #1B2E5E; text-decoration: none; margin-top: 4px; }

  /* ── WHY GRID ── */
  .m-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .m-why-card {
    background: #fff; border: 1px solid #e5eaf0; border-radius: 14px; padding: 14px 12px;
  }
  .m-why-card img { width: 36px; height: 36px; object-fit: contain; margin-bottom: 10px; display: block; }
  .m-why-card h3 { font-size: 12.5px; font-weight: 700; color: #1B2E5E; margin-bottom: 4px; line-height: 1.3; }
  .m-why-card p { font-size: 11px; color: #7a8a9a; line-height: 1.45; }

  /* ── PROCESS ── */
  .m-process {
    background: #fff; border: 1px solid #e5eaf0; border-radius: 14px; overflow: hidden;
  }
  .m-step {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 13px 14px; border-bottom: 1px solid #f0f3f7;
  }
  .m-step.last { border-bottom: none; }
  .m-num {
    width: 26px; height: 26px; background: #1B2E5E; color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 11.5px; font-weight: 700; flex-shrink: 0; margin-top: 1px;
  }
  .m-step-body h4 { font-size: 13px; font-weight: 700; color: #1B2E5E; margin-bottom: 2px; }
  .m-step-body p  { font-size: 11.5px; color: #6b7a8d; line-height: 1.45; }

  /* ── SERVICE GRID ── */
  .m-svc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .m-svc-card {
    background: #fff; border: 1px solid #e5eaf0; border-radius: 14px; overflow: hidden;
    text-decoration: none;
  }
  .m-svc-img {
    height: 84px; background: #e8eff8;
  }
  .m-svc-body { padding: 10px 11px 12px; }
  /* HTML:en använder <h3> i dessa kort — selektorn måste matcha h3,
     annars ärvs webbläsarens h3-default (~18.7px) och långa ord som
     "Råvindskonvertering" klipps av kortets overflow: hidden. */
  .m-svc-body h3,
  .m-svc-body h4 {
    font-size: 12px; font-weight: 700; color: #1B2E5E;
    margin-bottom: 3px; line-height: 1.3;
    overflow-wrap: break-word; hyphens: auto;
  }
  .m-svc-body p  { font-size: 11px; color: #7a8a9a; line-height: 1.4; }

  /* ── FAQ ── */
  .m-faq {
    background: #fff; border: 1px solid #e5eaf0; border-radius: 14px; overflow: hidden;
  }
  .m-faq-item { border-bottom: 1px solid #f0f3f7; }
  .m-faq-item.last { border-bottom: none; }
  .m-faq-item summary {
    display: flex; align-items: center; justify-content: space-between;
    padding: 13px 14px; font-size: 13px; font-weight: 600; color: #1B2E5E;
    cursor: pointer; list-style: none; min-height: 48px;
  }
  .m-faq-item summary::-webkit-details-marker { display: none; }
  .m-faq-item summary::after { content: '+'; font-size: 18px; color: #aab5c2; flex-shrink: 0; margin-left: 8px; font-weight: 400; }
  .m-faq-item[open] summary::after { content: '−'; }
  .m-faq-item p { padding: 0 14px 13px; font-size: 12.5px; line-height: 1.6; color: #6b7a8d; }

  /* ── CTA BANNER ── */
  .m-cta {
    background: #1B2E5E; border-radius: 16px; padding: 20px 16px; text-align: center;
  }
  .m-cta h2 { color: #fff; font-size: 1.0625rem; font-weight: 700; margin-bottom: 6px; line-height: 1.25; }
  .m-cta p  { color: rgba(255,255,255,0.65); font-size: 13px; margin-bottom: 14px; line-height: 1.55; }
  .m-btn-gold {
    display: block; background: #F5C518; color: #1B2E5E; border-radius: 12px;
    padding: 13px; font-size: 15px; font-weight: 700; text-decoration: none;
    text-align: center; margin-bottom: 8px;
  }
  .m-btn-ghost {
    display: block; color: rgba(255,255,255,0.7); font-size: 13px;
    font-weight: 600; text-align: center; padding: 6px; text-decoration: none;
  }

  /* ── STICKY NAV ── */
  .mobile-nav {
    display: flex; position: fixed; bottom: 14px; left: 14px; right: 14px; height: 62px;
    background: rgba(255,255,255,0.97); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-radius: 22px; border: 1px solid rgba(200,212,226,0.55);
    box-shadow: 0 4px 24px rgba(11,35,65,.12), 0 1px 4px rgba(11,35,65,.06);
    align-items: flex-end; justify-content: space-around;
    padding: 0 4px 10px; z-index: 9000; overflow: visible;
  }
  .mobile-nav-item {
    display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1;
    color: #8fa3b8; font-size: 10px; font-weight: 600; text-decoration: none;
    cursor: pointer; background: none; border: none; padding: 0;
    font-family: inherit; line-height: 1; -webkit-tap-highlight-color: transparent;
  }
  .mobile-nav-item:active { color: #0b2341; }
  .mobile-nav-item svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-nav-fab-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; position: relative; }
  .mobile-nav-fab-label { font-size: 10px; font-weight: 700; color: #1a7fe8; line-height: 1; white-space: nowrap; order: 2; }
  .mobile-nav-fab {
    order: 1; width: 54px; height: 54px; margin-top: -30px;
    background: linear-gradient(150deg,#4aa8f8,#1670d4); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    border: none; padding: 0; text-decoration: none; cursor: pointer;
    box-shadow: 0 0 0 7px rgba(74,168,248,.18), 0 6px 20px rgba(22,112,212,.50);
    -webkit-tap-highlight-color: transparent; position: relative; z-index: 2;
    transition: transform .15s;
  }
  .mobile-nav-fab:active { transform: scale(.91); }
  .mobile-nav-fab svg { width: 25px; height: 25px; stroke: #fff; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

  /* ── SCROLL ACTIONS ── */
  .scroll-actions {
    display: flex; position: fixed; right: 16px; bottom: 92px; z-index: 8999;
    flex-direction: column; gap: 12px; pointer-events: none;
    opacity: 0; transform: translateY(8px); transition: opacity .22s, transform .22s;
  }
  .scroll-actions.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .scroll-action-btn {
    width: 42px; height: 42px; border-radius: 50%; background: none; border: none;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; text-decoration: none; padding: 0;
  }
  .scroll-action-btn svg {
    width: 28px; height: 28px; stroke: #1B2E5E; fill: none; stroke-width: 2.2;
    stroke-linecap: round; stroke-linejoin: round; opacity: .8;
    filter: drop-shadow(0 0 5px rgba(255,255,255,1)) drop-shadow(0 1px 4px rgba(0,0,0,.2));
  }
}

/* ── DRAWER STYLING (fungerar båda lägena) ── */
.drawer-handle { width: 36px; height: 4px; background: rgba(255,255,255,.2); border-radius: 2px; margin: 12px auto 0; }
@media (min-width: 769px) { .drawer-handle { display: none; } }
.drawer-search { margin: 14px 16px 8px; position: relative; }
.drawer-search input { width: 100%; height: 40px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #fff; font-family: inherit; font-size: 14px; padding: 0 14px 0 38px; outline: none; box-sizing: border-box; }
.drawer-search input::placeholder { color: rgba(255,255,255,.4); }
.drawer-search-icon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 2; stroke-linecap: round; }
.drawer-hero { margin: 10px 16px; background: linear-gradient(135deg,#1565c8,#1970b7); border-radius: 14px; padding: 16px; text-align: center; }
.drawer-hero h3 { color: #fff; font-size: 16px; font-weight: 800; margin: 0 0 3px; }
.drawer-hero p { color: rgba(255,255,255,.7); font-size: 12px; margin: 0 0 12px; }
.drawer-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.drawer-hero-btn { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.15); border-radius: 10px; padding: 12px 8px; color: #fff; font-family: inherit; font-size: 12px; font-weight: 600; text-align: center; text-decoration: none; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.drawer-hero-btn svg { width: 22px; height: 22px; stroke: rgba(255,255,255,.9); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: block; }
.drawer-hero-btn small { font-size: 10px; font-weight: 500; opacity: .75; display: block; }
.drawer-section-title { margin: 14px 16px 8px; font-size: 14px; font-weight: 800; color: #fff; font-family: inherit; }
.drawer-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 16px 0 16px; box-sizing: border-box; }
.drawer-service-btn { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); border-radius: 10px; padding: 12px; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.85); font-family: inherit; font-size: 13px; font-weight: 600; text-decoration: none; }
.drawer-service-btn svg { width: 20px; height: 20px; stroke: rgba(255,255,255,.6); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; display: block; }
.drawer-info-list { margin: 0 16px; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); }
.drawer-info-item { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; color: rgba(255,255,255,.78); font-family: inherit; font-size: 14px; font-weight: 500; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.06); min-height: 48px; }
.drawer-info-item:last-child { border-bottom: none; }
.drawer-info-item svg { width: 16px; height: 16px; stroke: rgba(255,255,255,.35); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* Entreprenörskort: full-bredd */
@media (max-width: 768px) {
  .m-svc-card-wide {
    grid-column: 1 / -1;
  }
  .m-svc-img-wide {
    height: 72px;
    flex-direction: row;
    gap: 10px;
  }
  .m-path-card span {
    font-size: 10px;
    line-height: 1.35;
  }
}

/* ── Mobil geo-not ── */
@media (max-width: 768px) {
  .m-geo-note {
    font-size: 11px;
    color: #9aabb8;
    line-height: 1.5;
    margin-top: 6px;
    text-align: center;
  }
}

/* ── Drawer: åtgärds-pills ── */
.drawer-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 16px;
  box-sizing: border-box;
  width: 100%;
}
.drawer-action-pill {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 20px;
  padding: 6px 13px;
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  transition: background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.drawer-action-pill:active {
  background: rgba(255,255,255,0.16);
  color: #fff;
}

/* ── Drawer hero: 2 större rutor ── */
.drawer-hero small {
  font-size: 10.5px;
  font-weight: 400;
  opacity: 0.7;
  display: block;
  margin-top: 2px;
  line-height: 1.3;
}
.drawer-hero-btn span {
  display: block;
  line-height: 1.25;
}

/* ── Drawer: symmetri och bredare desktop-version ── */

/* Mobil: säkerställ att drawer har korrekt box-sizing och symmetrisk padding */
@media (max-width: 768px) {
  .drawer {
    box-sizing: border-box;
  }
  .drawer-hero {
    margin: 10px 16px !important;
    box-sizing: border-box;
  }
  .drawer-section-title {
    margin: 14px 16px 8px !important;
    box-sizing: border-box;
  }
  .drawer-info-list {
    margin: 0 16px !important;
    box-sizing: border-box;
  }
  .drawer-service-grid {
    margin: 0 16px !important;
    box-sizing: border-box;
  }
  .drawer-actions-grid {
    padding: 0 16px !important;
    box-sizing: border-box;
  }
  /* Sökfält full-bredd med symmetri */
  .drawer-search {
    margin: 14px 16px 8px !important;
    box-sizing: border-box;
  }
  .drawer-search input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Desktop drawer: 640px, full symmetri */
@media (min-width: 769px) {
  .drawer {
    width: 640px !important;
  }
  .drawer-search {
    margin: 16px 20px 10px !important;
  }
  .drawer-search input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .drawer-hero {
    margin: 10px 20px !important;
  }
  .drawer-hero-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .drawer-hero-btn {
    padding: 16px 12px !important;
  }
  .drawer-section-title {
    margin: 16px 20px 10px !important;
    font-size: 15px !important;
  }
  /* Tjänster: 3 kolumner, full bredd */
  .drawer-service-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 20px !important;
    box-sizing: border-box !important;
  }
  .drawer-service-btn {
    padding: 14px !important;
    font-size: 13px !important;
  }
  .drawer-actions-grid {
    padding: 0 20px !important;
    gap: 8px !important;
  }
  .drawer-action-pill {
    font-size: 13px !important;
    padding: 7px 14px !important;
  }
  .drawer-info-list {
    margin: 0 20px !important;
  }
  .drawer-info-item {
    font-size: 14px !important;
    padding: 15px 18px !important;
  }
}

/* ── MOBIL DRAWER: exakt symmetri ── */
@media (max-width: 768px) {
  .drawer {
    width: 100% !important;
    box-sizing: border-box !important;
    left: 0 !important;
    right: 0 !important;
  }

  /* Alla drawer-element: identisk horisontell padding 16px */
  .drawer-search,
  .drawer-hero,
  .drawer-section-title,
  .drawer-actions-grid,
  .drawer-info-list {
    margin-left: 16px !important;
    margin-right: 16px !important;
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
  }

  /* Service-grid: exakt samma bredd som övriga element */
  .drawer-service-grid {
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  /* Actions-grid: padding istället för margin */
  .drawer-actions-grid {
    padding: 0 !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: calc(100% - 32px) !important;
  }

  /* Info-lista: exakt symmetri */
  .drawer-info-list {
    padding: 0 !important;
  }
}


/* Complete-content mobile parity: retain one responsive source instead of a shortened duplicate. */
@media (max-width: 768px) {
  body.mobile-content-parity { background: #fff; overflow-x: hidden; }
  body.mobile-content-parity .mobile-main { display: none !important; }
  body.mobile-content-parity main { display: block !important; padding-bottom: 86px; }
  body.mobile-content-parity main > *:not(.mobile-main) { display: block !important; }
  body.mobile-content-parity main .container {
    width: calc(100% - 32px) !important; max-width: calc(100% - 32px) !important;
    margin-left: 16px !important; margin-right: 16px !important;
    box-sizing: border-box !important;
    padding-left: 0 !important; padding-right: 0 !important;
  }
  body.mobile-content-parity .hero-section,
  body.mobile-content-parity .svc-hero-section {
    min-height: 0 !important; padding-top: 76px !important; padding-bottom: 34px !important;
  }
  body.mobile-content-parity .svc-hero-copy,
  body.mobile-content-parity .hero-copy { max-width: none !important; padding: 0 !important; }
  body.mobile-content-parity .hero-visual,
  body.mobile-content-parity .svc-hero-section .hero-visual { display: none !important; }
  body.mobile-content-parity h1,
  body.mobile-content-parity .svc-h1 { font-size: clamp(2rem,10vw,2.7rem) !important; line-height: 1.06 !important; overflow-wrap: anywhere; }
  body.mobile-content-parity h2 { overflow-wrap: anywhere; text-wrap: balance; }
  body.mobile-content-parity main img { max-width: 100%; height: auto; }
  body.mobile-content-parity table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body.mobile-content-parity .svc-hero-btns,
  body.mobile-content-parity .pg-final-btns { display: grid !important; grid-template-columns: 1fr; }
  body.mobile-content-parity .svc-hero-btns a,
  body.mobile-content-parity .pg-final-btns a { box-sizing: border-box; width: 100%; justify-content: center; text-align: center; }
  body.mobile-content-parity main [class*="grid"],
  body.mobile-content-parity main [class*="-grid"] { grid-template-columns: minmax(0, 1fr) !important; min-width: 0 !important; }
  body.mobile-content-parity .faq-wrap,
  body.mobile-content-parity .blog-layout { grid-template-columns: 1fr !important; }
  body.mobile-content-parity .faq-sb,
  body.mobile-content-parity .blog-sidebar { display: none !important; }
  body.mobile-content-parity .pg-sec { padding-top: 38px !important; padding-bottom: 38px !important; }
}


/* Attefallshus: tailored mobile typography, cards and data tables. */
@media (max-width: 768px) {
  body.page-attefall-mobile h1,
  body.page-attefall-mobile .svc-h1,
  body.page-attefall-mobile .hero-copy .sub-h1 {
    font-size: clamp(2rem, 8.2vw, 2.3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto;
  }

  body.page-attefall-mobile main > section,
  body.page-attefall-mobile main .hero-grid,
  body.page-attefall-mobile main .two-col,
  body.page-attefall-mobile main .info-fork,
  body.page-attefall-mobile main .section-heading {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-attefall-mobile .section-heading h2,
  body.page-attefall-mobile main h2 {
    font-size: clamp(1.55rem, 6.7vw, 1.85rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
  }

  body.page-attefall-mobile .section-heading p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }

  body.page-attefall-mobile .infographic-wrap {
    padding: 20px 14px !important;
    border-radius: 14px !important;
  }

  body.page-attefall-mobile .info-paket-row,
  body.page-attefall-mobile .info-redo-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.page-attefall-mobile .info-cta-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 18px 16px !important;
  }

  body.page-attefall-mobile .info-cta-bar p {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    text-align: center;
  }

  body.page-attefall-mobile .info-cta-bar a {
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
    padding: 12px 14px !important;
  }

  body.page-attefall-mobile table.data-table {
    display: block !important;
    overflow: visible !important;
    font-size: 0.92rem !important;
  }

  body.page-attefall-mobile table.data-table thead {
    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.page-attefall-mobile table.data-table tbody,
  body.page-attefall-mobile table.data-table tr,
  body.page-attefall-mobile table.data-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-attefall-mobile table.data-table tr {
    margin-bottom: 12px !important;
    border: 1px solid #dfe6ee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.page-attefall-mobile table.data-table td {
    display: grid !important;
    grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.35fr) !important;
    gap: 12px !important;
    padding: 11px 12px !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  body.page-attefall-mobile table.data-table td:last-child {
    border-bottom: 0 !important;
  }

  body.page-attefall-mobile table.data-table td::before {
    color: #66778b;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.035em;
  }

  body.page-attefall-mobile table[aria-label="Attefallsregler 2026"] td:nth-child(1)::before { content: "Regel"; }
  body.page-attefall-mobile table[aria-label="Attefallsregler 2026"] td:nth-child(2)::before { content: "Inom detaljplan"; }
  body.page-attefall-mobile table[aria-label="Attefallsregler 2026"] td:nth-child(3)::before { content: "Utanför detaljplan"; }
  body.page-attefall-mobile table[aria-label="Ritningar för Attefallshus"] td:nth-child(1)::before { content: "Handling"; }
  body.page-attefall-mobile table[aria-label="Ritningar för Attefallshus"] td:nth-child(2)::before { content: "Vad den visar"; }
  body.page-attefall-mobile table[aria-label="Ritningar för Attefallshus"] td:nth-child(3)::before { content: "Varför viktig"; }

  body.page-attefall-mobile .section-pad-lg,
  body.page-attefall-mobile .pg-sec {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}


/* Compact mobile trust block for full-content service pages. */
@media (max-width: 768px) {
  body.mobile-content-parity main .mini-trust {
    display: block !important;
    padding: 0 !important;
    background: #fff !important;
    border-top: 1px solid #e5eaf0 !important;
    border-bottom: 1px solid #e5eaf0 !important;
  }

  body.mobile-content-parity main .mini-trust .mini-trust-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  body.mobile-content-parity main .mini-trust-grid > div {
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 11px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    border-right: 1px solid #e8edf3 !important;
    border-bottom: 1px solid #e8edf3 !important;
  }

  body.mobile-content-parity main .mini-trust-grid > div:nth-child(2n) {
    border-right: 0 !important;
  }

  body.mobile-content-parity main .mini-trust-grid > div:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }

  body.mobile-content-parity main .mini-trust-grid .icon {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
  }

  body.mobile-content-parity main .mini-trust-grid span {
    min-width: 0 !important;
    font-size: 0.78rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
  }
}


/* Long commercial titles: preserve readable, balanced mobile line breaks. */
@media (max-width: 768px) {
  body.page-compact-mobile-title h1,
  body.page-compact-mobile-title .svc-h1,
  body.page-compact-mobile-title .hero-copy .sub-h1 {
    font-size: clamp(1.9rem, 7.5vw, 2.18rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.032em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    hyphens: auto;
  }
}


/* Komplementbyggnad: stack comparison branches and convert dense tables to cards. */
@media (max-width: 768px) {
  body.page-complement-mobile .infographic-branches {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.page-complement-mobile .infographic-branch {
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-complement-mobile .table-scroll {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.page-complement-mobile table.mobile-card-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    font-size: 0.92rem !important;
  }

  body.page-complement-mobile table.mobile-card-table thead {
    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.page-complement-mobile table.mobile-card-table tbody,
  body.page-complement-mobile table.mobile-card-table tr,
  body.page-complement-mobile table.mobile-card-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-complement-mobile table.mobile-card-table tr {
    margin-bottom: 12px !important;
    border: 1px solid #dfe6ee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.page-complement-mobile table.mobile-card-table td {
    display: grid !important;
    grid-template-columns: minmax(105px, 0.8fr) minmax(0, 1.35fr) !important;
    gap: 12px !important;
    padding: 11px 12px !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  body.page-complement-mobile table.mobile-card-table td:last-child {
    border-bottom: 0 !important;
  }

  body.page-complement-mobile table.mobile-card-table td::before {
    color: #66778b;
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.035em;
  }

  body.page-complement-mobile table.rules-table td:nth-child(1)::before { content: "Parameter"; }
  body.page-complement-mobile table.rules-table td:nth-child(2)::before { content: "Inom detaljplan"; }
  body.page-complement-mobile table.rules-table td:nth-child(3)::before { content: "Utanför detaljplan"; }
  body.page-complement-mobile table.drawings-table td:nth-child(1)::before { content: "Handling"; }
  body.page-complement-mobile table.drawings-table td:nth-child(2)::before { content: "Vad den visar"; }
  body.page-complement-mobile table.drawings-table td:nth-child(3)::before { content: "Varför viktig"; }
}


/* Bygglovskomplettering: clean mobile hero, readable prose and card tables. */
@media (max-width: 768px) {
  body.page-completion-mobile .svc-hero-section {
    background: #fff !important;
    min-height: 0 !important;
    padding-top: 0 !important;
  }

  body.page-completion-mobile .svc-hero-copy {
    padding-top: 28px !important;
    padding-bottom: 30px !important;
  }

  body.page-completion-mobile .svc-lead {
    color: var(--muted) !important;
    font-size: 0.98rem !important;
    line-height: 1.62 !important;
  }

  body.page-completion-mobile .content-prose {
    font-size: 0.96rem !important;
    line-height: 1.68 !important;
  }

  body.page-completion-mobile .content-prose h2,
  body.page-completion-mobile .pg-h h2 {
    font-size: clamp(1.5rem, 6.5vw, 1.82rem) !important;
    line-height: 1.15 !important;
    overflow-wrap: normal !important;
    hyphens: auto;
  }

  body.page-completion-mobile table.mobile-card-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 24px !important;
    overflow: visible !important;
    font-size: 0.92rem !important;
  }

  body.page-completion-mobile table.mobile-card-table tbody,
  body.page-completion-mobile table.mobile-card-table tr,
  body.page-completion-mobile table.mobile-card-table th,
  body.page-completion-mobile table.mobile-card-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-completion-mobile table.mobile-card-table tr:first-child {
    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.page-completion-mobile table.mobile-card-table tr:not(:first-child) {
    margin-bottom: 12px !important;
    border: 1px solid #dfe6ee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.page-completion-mobile table.mobile-card-table td {
    display: grid !important;
    grid-template-columns: minmax(105px, 0.82fr) minmax(0, 1.25fr) !important;
    gap: 12px !important;
    padding: 11px 12px !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  body.page-completion-mobile table.mobile-card-table td:last-child {
    border-bottom: 0 !important;
  }

  body.page-completion-mobile table.mobile-card-table td::before {
    color: #66778b;
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.035em;
  }

  body.page-completion-mobile table.completion-help-table td:nth-child(1)::before { content: "Situation"; }
  body.page-completion-mobile table.completion-help-table td:nth-child(2)::before { content: "Så hjälper vi"; }
  body.page-completion-mobile table.completion-time-table td:nth-child(1)::before { content: "Situation"; }
  body.page-completion-mobile table.completion-time-table td:nth-child(2)::before { content: "Praktisk effekt"; }
  body.page-completion-mobile table.completion-time-table td:nth-child(3)::before { content: "Rekommenderat steg"; }
}


/* Full-content mobile pages: text-first hero, never a desktop background image. */
@media (max-width: 768px) {
  body.mobile-content-parity .hero-section,
  body.mobile-content-parity .svc-hero-section {
    background: #fff !important;
    background-image: none !important;
    min-height: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 30px !important;
  }
  body.mobile-content-parity .hero-section::before,
  body.mobile-content-parity .hero-section::after,
  body.mobile-content-parity .svc-hero-section::before,
  body.mobile-content-parity .svc-hero-section::after {
    display: none !important;
    content: none !important;
    background-image: none !important;
  }
  body.mobile-content-parity .svc-hero-copy,
  body.mobile-content-parity .hero-copy {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* Shared full-content mobile trust: compact 2x2 pills, matching established mobile pages. */
@media (max-width: 768px) {
  body.mobile-content-parity main .mini-trust {
    padding: 10px 8px !important;
    background: #f2f4f7 !important;
    border: 0 !important;
  }
  body.mobile-content-parity main .mini-trust .mini-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.mobile-content-parity main .mini-trust-grid > div {
    min-height: 48px !important;
    padding: 9px 12px !important;
    justify-content: center !important;
    background: #fff !important;
    border: 1px solid #dce4ed !important;
    border-radius: 999px !important;
    box-shadow: 0 1px 2px rgba(11,35,65,.03) !important;
  }
  body.mobile-content-parity main .mini-trust-grid .icon {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }
  body.mobile-content-parity main .mini-trust-grid span {
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
  body.mobile-content-parity main .mini-trust-grid span[data-mobile-label] {
    font-size: 0 !important;
  }
  body.mobile-content-parity main .mini-trust-grid span[data-mobile-label]::after {
    content: attr(data-mobile-label);
    font-size: 0.78rem !important;
  }
}


/* Mobile service pages: the compact 2x2 trust pills replace the repetitive keyword/trust sentence. */
@media (max-width: 768px) {
  .m-trust-note {
    display: none !important;
  }
}


/* Full-content service pages: the icon trust strip replaces the repetitive hero trust sentence on every viewport. */
body.mobile-content-parity .svc-trust-rad {
  display: none !important;
}


/* ── SHARED MOBILE CONTENT PARITY ──
   The concise mobile page remains first. Complete desktop-only details are
   moved into this disclosure by site-search.js on small screens. */
@media (max-width: 768px) {
  .mobile-parity-details {
    display: block;
    margin: 4px 0 0;
    border: 1px solid #dce5ee;
    border-radius: 15px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(11,35,65,.05);
  }

  .mobile-parity-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 66px;
    padding: 13px 15px;
    list-style: none;
    cursor: pointer;
    color: #1B2E5E;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-parity-details > summary::-webkit-details-marker { display: none; }
  .mobile-parity-details > summary span:first-child { display: flex; flex-direction: column; gap: 2px; }
  .mobile-parity-details > summary strong { font-size: .94rem; line-height: 1.3; }
  .mobile-parity-details > summary small { color: #6b7a8d; font-size: .73rem; line-height: 1.4; }
  .mobile-parity-details__icon {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #eef3f8;
    color: #1B2E5E;
    font-size: 1.25rem;
    font-weight: 400;
  }
  .mobile-parity-details[open] > summary { border-bottom: 1px solid #e5eaf0; }
  .mobile-parity-details__content { background: #fff; }

  .mobile-parity-details [data-mobile-parity-section] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 14px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid #e8edf3 !important;
    overflow: visible !important;
  }
  .mobile-parity-details [data-mobile-parity-section]:last-child { border-bottom: 0 !important; }
  .mobile-parity-details [data-mobile-parity-section]::before,
  .mobile-parity-details [data-mobile-parity-section]::after { background-image: none !important; }

  .mobile-parity-details .container,
  .mobile-parity-details .pg-flow,
  .mobile-parity-details .content-prose,
  .mobile-parity-details .article-wrap,
  .mobile-parity-details .article-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mobile-parity-details h1 { display: none !important; }
  .mobile-parity-details h2 {
    font-size: clamp(1.28rem, 6vw, 1.62rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -.02em !important;
    overflow-wrap: break-word !important;
    text-wrap: balance;
  }
  .mobile-parity-details h3 {
    font-size: 1.05rem !important;
    line-height: 1.28 !important;
    overflow-wrap: break-word !important;
  }
  .mobile-parity-details p,
  .mobile-parity-details li,
  .mobile-parity-details td,
  .mobile-parity-details th {
    font-size: .9rem !important;
    line-height: 1.62 !important;
    overflow-wrap: anywhere !important;
  }

  .mobile-parity-details img,
  .mobile-parity-details picture,
  .mobile-parity-details video,
  .mobile-parity-details iframe {
    max-width: 100% !important;
    height: auto !important;
  }

  .mobile-parity-details .what-grid,
  .mobile-parity-details .intent-note,
  .mobile-parity-details .official-examples-grid,
  .mobile-parity-details .infographic-branches,
  .mobile-parity-details [class*="-grid"] {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .mobile-parity-details .table-scroll,
  .mobile-parity-details .drawing-table-wrap,
  .mobile-parity-details .table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-parity-details table {
    width: 100% !important;
    min-width: 560px;
    border-collapse: collapse;
  }
  .mobile-parity-details details {
    width: 100% !important;
    max-width: 100% !important;
  }
  .mobile-parity-details .hero-visual,
  .mobile-parity-details .hero-bg-grid,
  .mobile-parity-details .faq-sb { display: none !important; }
}

@media print {
  .mobile-parity-details > summary { display: none !important; }
  .mobile-parity-details__content { display: block !important; }
}


/* Tablet header: use the full drawer menu before the desktop nav becomes cramped. */
@media (min-width: 769px) and (max-width: 1024px) {
  .site-header .header-inner {
    gap: 12px !important;
  }
  .site-header .main-nav {
    width: auto !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
  .site-header .main-nav > * {
    display: none !important;
  }
  .site-header .main-nav > .nav-menu {
    display: inline-flex !important;
  }
  .site-header .header-cta {
    flex: 0 0 auto !important;
  }
}


/* SVEA owner review round 1 - balanced mobile sticky navigation */
@media (max-width:768px){
  body{padding-bottom:84px!important}
  .mobile-topbar{height:58px!important;padding-left:14px!important;padding-right:14px!important}
  .mobile-topbar-logo{height:36px!important;max-width:58vw!important}
  .mobile-topbar-phone{font-size:15px!important}
  .mobile-nav{height:58px!important;bottom:12px!important;left:10px!important;right:10px!important;border-radius:20px!important;padding:0 5px 5px!important;align-items:flex-end!important;overflow:visible!important}
  .mobile-nav-item{height:52px!important;min-height:0!important;justify-content:center!important;gap:3px!important;padding:3px 0 6px!important;transform:none!important;font-size:10.5px!important;line-height:12.5px!important}
  .mobile-nav-item span{font-size:10.5px!important;line-height:12.5px!important}
  .mobile-nav-item svg{width:23px!important;height:23px!important;flex:0 0 auto!important}
  .mobile-nav-fab-wrap{height:52px!important;min-height:0!important;justify-content:flex-end!important;gap:0!important;padding:0 0 6px!important;transform:none!important;position:relative!important}
  .mobile-nav-fab{position:absolute!important;top:-18px!important;left:calc(50% - 23px)!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;margin:0!important;box-shadow:0 0 0 5px rgba(74,168,248,.15),0 5px 16px rgba(22,112,212,.38)!important}
  .mobile-nav-fab svg{width:23px!important;height:23px!important}
  .mobile-nav-fab-label{font-size:10.5px!important;line-height:12px!important;margin:0!important;padding:0!important}
}


/* SVEA sitewide full-content parity hardening */
@media(max-width:768px){
  body.mobile-content-parity main{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.mobile-content-parity main>*:not(.mobile-main){max-width:100%!important;min-width:0!important}
  body.mobile-content-parity main [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  body.mobile-content-parity main [style*="min-width"]{min-width:0!important}
  body.mobile-content-parity main .authority-note-mobile{display:none!important}
  body.mobile-content-parity main .authority-note-desktop{display:block!important}
  body.mobile-content-parity main iframe,body.mobile-content-parity main video,body.mobile-content-parity main svg{max-width:100%}
  body.mobile-content-parity main pre,body.mobile-content-parity main code{max-width:100%;overflow-wrap:anywhere}
}


/* SVEA review foundation: mobile parity and typography */
@media(max-width:768px){
  html[lang="sv"] h1,html[lang="sv"] h2,html[lang="sv"] h3,html[lang="sv"] .svc-h1,html[lang="sv"] .m-h1{overflow-wrap:normal!important;word-break:normal!important;-webkit-hyphens:auto!important;hyphens:auto!important;text-wrap:balance}
  body.mobile-content-parity h1,body.mobile-content-parity .svc-h1{font-size:clamp(1.82rem,8.4vw,2.42rem)!important;line-height:1.08!important}
  body.mobile-content-parity h2{font-size:clamp(1.48rem,6.2vw,1.9rem)!important;line-height:1.14!important}
  body.mobile-content-parity h3{overflow-wrap:normal!important;word-break:normal!important;-webkit-hyphens:auto!important;hyphens:auto!important}
  .svea-table-swipe-hint{display:none;margin:0 0 8px;color:#6c7b8b;font-size:.78rem;font-weight:650;line-height:1.35;text-align:center}
  .svea-table-swipe-hint.is-visible{display:block}
  main table.svea-table-overflow,.svea-table-overflow{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  table.svea-table-overflow{display:block!important;width:100%!important}
  .process-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .proc-card{min-width:0!important;padding:16px 15px!important}
  .svea-hero-scope-wrap{margin:0!important;padding:12px 16px 14px;background:#f7f9fc;border-bottom:1px solid #e5eaf0}
  .svea-hero-scope{margin:0!important;color:#66778b!important;font-size:.78rem!important;line-height:1.55!important;text-align:left!important}
}


/* SVEA blog canonical hero parity */
@media(max-width:768px){
  body.mobile-content-parity .svc-hero-section,
  body.mobile-content-parity .hero-section.svc-hero-section,
  body.mobile-content-parity .blog-hero{display:block!important;min-height:0!important}
  body.mobile-content-parity .svc-hero-section .svc-hero-copy,
  body.mobile-content-parity .blog-hero > *,
  body.mobile-content-parity .blog-hero .container-wrapper{display:block!important}
}


/* SVEA homepage mobile parity additions */
@media(max-width:768px){
  .m-home-info-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .m-home-info-card{min-width:0;background:#fff;border:1px solid #e5eaf0;border-radius:14px;padding:16px 14px}
  .m-home-info-card h3{margin:0 0 6px;color:#1B2E5E;font-size:13.5px;line-height:1.3;overflow-wrap:normal;word-break:normal;hyphens:auto}
  .m-home-info-card p{margin:0 0 10px;color:#6b7a8d;font-size:11.5px;line-height:1.55}
  .m-home-info-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:0 0 11px;padding:0;list-style:none}
  .m-home-info-card li{position:relative;padding-left:13px;color:#526177;font-size:11.5px;line-height:1.4}
  .m-home-info-card li::before{content:'✓';position:absolute;left:0;color:#1B2E5E;font-weight:800}
  .m-home-info-card a{color:#1B2E5E;font-size:11.5px;font-weight:750;text-decoration:none}
  .m-home-articles{display:grid;gap:8px}
  .m-home-article{display:grid;gap:3px;padding:13px 14px;border:1px solid #e5eaf0;border-radius:12px;background:#fff;text-decoration:none}
  .m-home-article span{color:#8a9bb0;font-size:9.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
  .m-home-article strong{color:#1B2E5E;font-size:12.5px;line-height:1.35;overflow-wrap:normal;word-break:normal;hyphens:auto}
}
