/* ═══ EXKLUSIV MALL: Frost — ljus glasmorfism (frost) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="frost"]. Video:true. Signatur:#3E7BFA. */

html[data-template="frost"]{--bg:#F2F6FD;--bg-soft:#E9F0FA;--ink:#0F1B33;--ink-2:#3D4A63;--muted:#6B7589;--line:rgba(30,55,120,0.10);--line-2:rgba(30,55,120,0.16);--ff-heading:"Plus Jakarta Sans","Inter",ui-sans-serif,system-ui,sans-serif;--ff-body:"Inter",ui-sans-serif,system-ui,sans-serif;--btn-radius:999px;--btn-pad:14px 26px;--btn-weight:600;--btn-transform:none;--btn-tracking:0;--star:#F5A623;--fr-glass:rgba(255,255,255,0.55);--fr-glass-2:rgba(255,255,255,0.72);--fr-edge:rgba(255,255,255,0.78);--fr-edge-top:rgba(255,255,255,0.95);--fr-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 14px 40px rgba(30,55,120,0.10),0 2px 8px rgba(30,55,120,0.05)}
[data-template="frost"] body{background:radial-gradient(42% 50% at 10% -5%,rgba(var(--brand-rgb),0.18),transparent 60%),radial-gradient(45% 55% at 96% 6%,rgba(var(--brand-rgb),0.12),transparent 62%),radial-gradient(55% 60% at 82% 108%,rgba(120,180,255,0.16),transparent 60%),linear-gradient(180deg,#F7F9FE 0%,#EAF0FA 100%);background-attachment:fixed;color:var(--ink-2);font-family:var(--ff-body)}
[data-template="frost"] h1,[data-template="frost"] h2,[data-template="frost"] h3,[data-template="frost"] h4{color:var(--ink);font-family:var(--ff-heading);letter-spacing:-0.03em}
[data-template="frost"] .section{padding:100px 0}
[data-template="frost"] .section:nth-child(even){background:linear-gradient(180deg,rgba(255,255,255,0.42),rgba(233,240,250,0.50));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
[data-template="frost"] .eyebrow,[data-template="frost"] .section-head .eyebrow{background:rgba(255,255,255,0.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--brand-deep);border:1px solid var(--fr-edge);border-radius:999px;letter-spacing:0.12em;font-weight:600;text-transform:uppercase;box-shadow:0 1px 2px rgba(30,55,120,0.05)}
[data-template="frost"] .section-head h2{letter-spacing:-0.03em}
[data-template="frost"] .section-head p{color:var(--muted)}
[data-template="frost"] .subhero{background:radial-gradient(58% 60% at 12% 0%,rgba(var(--brand-rgb),0.16),transparent 62%),radial-gradient(46% 50% at 92% 6%,rgba(120,180,255,0.14),transparent 60%),linear-gradient(180deg,rgba(247,249,254,0.85),rgba(238,243,251,0.7));border-bottom:1px solid var(--fr-edge);position:relative;overflow:hidden}
[data-template="frost"] .subhero h1{color:var(--ink);letter-spacing:-0.035em}
[data-template="frost"] .subhero__lead{color:var(--ink-2)}
[data-template="frost"] .subhero__crumbs,[data-template="frost"] .subhero__crumbs a{color:var(--muted)}
[data-template="frost"] .subhero__crumbs a:hover{color:var(--brand-deep)}
[data-template="frost"] .subhero__answer{background:rgba(255,255,255,0.55);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-left:2px solid rgba(var(--brand-rgb),0.55);border-radius:20px;box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 18px 44px rgba(30,55,120,0.10);color:var(--ink-2)}
[data-template="frost"] .subhero__answer-label{color:var(--brand-deep)}
[data-template="frost"] .subhero__photo,[data-template="frost"] .photo{background:linear-gradient(135deg,rgba(var(--brand-rgb),0.12),rgba(120,180,255,0.10));border:1px solid var(--fr-edge);border-radius:20px;box-shadow:0 18px 44px rgba(30,55,120,0.10)}
[data-template="frost"] .card,[data-template="frost"] .aside-card,[data-template="frost"] .other-services__card,[data-template="frost"] .area-service-card,[data-template="frost"] .case-card,[data-template="frost"] .related-link,[data-template="frost"] .hub-bottom__panel,[data-template="frost"] .contact-method{background:rgba(255,255,255,0.55);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,0.65) inset,0 12px 34px rgba(30,55,120,0.08);color:var(--ink-2)}
[data-template="frost"] .card:hover{transform:translateY(-6px);border-color:rgba(var(--brand-rgb),0.40);box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 28px 60px rgba(30,55,120,0.16)}
[data-template="frost"] .card h3,[data-template="frost"] .related-link h3{color:var(--ink)}
[data-template="frost"] .card p{color:var(--muted)}
[data-template="frost"] .card::after{background:linear-gradient(90deg,rgb(var(--brand-rgb)),var(--brand-deep))}
[data-template="frost"] .card__image,[data-template="frost"] .subhero__photo,[data-template="frost"] .article-card__media,[data-template="frost"] .article-featured__media,[data-template="frost"] .area-service-card__media{background:linear-gradient(135deg,rgba(var(--brand-rgb),0.14),rgba(120,180,255,0.10));border-radius:18px}
[data-template="frost"] .card__icon{background:rgba(255,255,255,0.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--fr-edge);color:var(--brand-deep);border-radius:16px;box-shadow:0 6px 16px rgba(30,55,120,0.10)}
[data-template="frost"] .card__price{color:var(--ink)}
[data-template="frost"] .card__price small{color:var(--muted)}
[data-template="frost"] .card__link,[data-template="frost"] .area-service-card__cta{color:var(--brand-deep);font-weight:600}
[data-template="frost"] .article-card,[data-template="frost"] .article-featured{background:rgba(255,255,255,0.55);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,0.65) inset,0 12px 34px rgba(30,55,120,0.08);color:var(--ink-2)}
[data-template="frost"] .article-card h3,[data-template="frost"] .article-featured h3,[data-template="frost"] .article-card__body h3{color:var(--ink)}
[data-template="frost"] .article-card p{color:var(--muted)}
[data-template="frost"] .article-badge{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));color:#fff;border-radius:999px}
[data-template="frost"] .article-hero{background:linear-gradient(180deg,rgba(247,249,254,0.8),rgba(238,243,251,0.65));border-bottom:1px solid var(--fr-edge)}
[data-template="frost"] .faq__item{background:rgba(255,255,255,0.52);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:18px;box-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 8px 24px rgba(30,55,120,0.06)}
[data-template="frost"] .faq__q{background:transparent;color:var(--ink);font-weight:600}
[data-template="frost"] .faq__icon{background:rgba(var(--brand-rgb),0.12);color:var(--brand-deep);border-radius:10px}
[data-template="frost"] .faq__a p{color:var(--muted)}
[data-template="frost"] .form-card{background:rgba(255,255,255,0.58);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:26px;box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 24px 60px rgba(30,55,120,0.14);color:var(--ink-2)}
[data-template="frost"] .form-card h2{color:var(--ink)}
[data-template="frost"] .field label,[data-template="frost"] .form-pane__title,[data-template="frost"] .form-step__name{color:var(--ink-2)}
[data-template="frost"] .field input,[data-template="frost"] .field textarea,[data-template="frost"] .field select,[data-template="frost"] .postal-check__row input,[data-template="frost"] .services-search input{background:rgba(255,255,255,0.7);border:1px solid var(--line-2);border-radius:14px;color:var(--ink)}
[data-template="frost"] .field input::placeholder,[data-template="frost"] .field textarea::placeholder,[data-template="frost"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="frost"] .field input:focus,[data-template="frost"] .field textarea:focus,[data-template="frost"] .field select:focus,[data-template="frost"] .postal-check__row input:focus{border-color:rgb(var(--brand-rgb));outline:none;box-shadow:0 0 0 4px rgba(var(--brand-rgb),0.16);background:rgba(255,255,255,0.92)}
[data-template="frost"] .form-step__bubble{background:rgba(255,255,255,0.7);border:1px solid var(--line-2);color:var(--muted)}
[data-template="frost"] .form-step.is-active .form-step__bubble{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));border-color:transparent;color:#fff;box-shadow:0 0 0 6px rgba(var(--brand-rgb),0.16)}
[data-template="frost"] .file-drop{background:rgba(255,255,255,0.45);border:1.5px dashed var(--line-2);border-radius:16px;color:var(--ink-2)}
[data-template="frost"] .file-drop:hover,[data-template="frost"] .file-drop.is-drag{border-color:rgb(var(--brand-rgb));background:rgba(var(--brand-rgb),0.06);color:var(--brand-deep)}
[data-template="frost"] .postal-check{background:rgba(255,255,255,0.55);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 18px 44px rgba(30,55,120,0.10)}
[data-template="frost"] .postal-check__title{color:var(--ink)}
[data-template="frost"] .postal-check__sub{color:var(--muted)}
[data-template="frost"] .postal-check__pin{background:rgba(var(--brand-rgb),0.14);border:1px solid rgba(var(--brand-rgb),0.22);color:var(--brand-deep);border-radius:12px}
[data-template="frost"] .process__step{background:rgba(255,255,255,0.55);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:20px;box-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 10px 28px rgba(30,55,120,0.07)}
[data-template="frost"] .process__step h3{color:var(--ink)}
[data-template="frost"] .process__step p{color:var(--muted)}
[data-template="frost"] .process__check{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));color:#fff;box-shadow:0 6px 16px rgba(var(--brand-rgb),0.30)}
[data-template="frost"] .review-card,[data-template="frost"] .reviews-carousel__card{background:rgba(255,255,255,0.55);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,0.65) inset,0 12px 34px rgba(30,55,120,0.08);color:var(--ink-2)}
[data-template="frost"] .review-card blockquote,[data-template="frost"] .review-card__author,[data-template="frost"] .reviews-carousel__card blockquote,[data-template="frost"] .case-card__quote{color:var(--ink)}
[data-template="frost"] .review-card__source,[data-template="frost"] .reviews-source-label{color:var(--muted)}
[data-template="frost"] .review-card__avatar{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));color:#fff}
[data-template="frost"] .review-card .stars,[data-template="frost"] .review-card__stars,[data-template="frost"] .reviews-carousel__card .stars{color:var(--star)}
[data-template="frost"] .trusted{background:rgba(255,255,255,0.5);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:24px;box-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 12px 34px rgba(30,55,120,0.07)}
[data-template="frost"] .trusted__label,[data-template="frost"] .reviews-source-label{color:var(--muted)}
[data-template="frost"] .trusted__row img{opacity:0.9}
[data-template="frost"] .trusted__google-rating,[data-template="frost"] .trusted__google-score{color:var(--ink)}
[data-template="frost"] .trusted__google-sub{color:var(--muted)}
[data-template="frost"] .trusted__google-rating .stars,[data-template="frost"] .trusted__google-score .stars{color:var(--star)}
[data-template="frost"] .btn--primary{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));border:1px solid transparent;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,0.35) inset,0 10px 26px rgba(var(--brand-rgb),0.32)}
[data-template="frost"] .btn--primary:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,0.4) inset,0 16px 34px rgba(var(--brand-rgb),0.40)}
[data-template="frost"] .btn--primary .btn__arrow{background:rgba(255,255,255,0.92);color:var(--brand-deep)}
[data-template="frost"] .btn--ghost{background:rgba(255,255,255,0.55);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);color:var(--ink);border:1px solid var(--fr-edge)}
[data-template="frost"] .btn--ghost:hover{background:rgba(255,255,255,0.78);border-color:rgba(var(--brand-rgb),0.40);color:var(--brand-deep)}
[data-template="frost"] .price-table{background:rgba(255,255,255,0.5);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--fr-edge);border-radius:18px;overflow:hidden;color:var(--ink-2)}
[data-template="frost"] .price-table th{background:rgba(var(--brand-rgb),0.08);color:var(--ink);border-bottom:1px solid var(--line)}
[data-template="frost"] .price-table td{border-bottom:1px solid var(--line)}
[data-template="frost"] .price-table .num{color:var(--brand-deep);font-weight:600}
[data-template="frost"] .sitemap-block{background:rgba(255,255,255,0.52);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:20px;box-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 8px 24px rgba(30,55,120,0.06)}
[data-template="frost"] .sitemap-block h3{color:var(--ink)}
[data-template="frost"] .sitemap-block__icon{background:rgba(var(--brand-rgb),0.12);border:1px solid rgba(var(--brand-rgb),0.18);color:var(--brand-deep);border-radius:12px}
[data-template="frost"] .pagination__btn,[data-template="frost"] .article-filter__chip{background:rgba(255,255,255,0.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:12px;color:var(--ink-2)}
[data-template="frost"] .pagination__btn:hover,[data-template="frost"] .article-filter__chip:hover{border-color:rgba(var(--brand-rgb),0.45);color:var(--brand-deep)}
[data-template="frost"] .pagination__btn.is-active,[data-template="frost"] .article-filter__chip.is-active{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));border-color:transparent;color:#fff}
[data-template="frost"] .card-scroller__nav,[data-template="frost"] .reviews-carousel__nav,[data-template="frost"] .hero-carousel__nav{background:rgba(255,255,255,0.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--fr-edge);color:var(--ink);box-shadow:0 6px 16px rgba(30,55,120,0.10)}
[data-template="frost"] .cta-strip{background:linear-gradient(135deg,rgba(var(--brand-rgb),0.18),rgba(120,180,255,0.12) 55%,rgba(255,255,255,0.5));backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--fr-edge);border-top-color:var(--fr-edge-top);border-radius:28px;color:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 30px 70px rgba(30,55,120,0.16);position:relative;overflow:hidden}
[data-template="frost"] .cta-strip h2{color:var(--ink)}
[data-template="frost"] .cta-strip p{color:var(--ink-2)}
[data-template="frost"] .cta-strip .btn--primary{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));color:#fff;border-color:transparent}
[data-template="frost"] .cta-strip .btn--ghost{background:rgba(255,255,255,0.6);color:var(--ink);border-color:var(--fr-edge)}
[data-template="frost"] .prose blockquote{border-left:3px solid rgb(var(--brand-rgb));background:rgba(255,255,255,0.5);border-radius:0 14px 14px 0;color:var(--ink-2)}
[data-template="frost"] .contact-method__body,[data-template="frost"] .contact-hero__lead{color:var(--ink-2)}
[data-template="frost"] .contact-hero{background:linear-gradient(180deg,rgba(247,249,254,0.8),rgba(238,243,251,0.65));border-bottom:1px solid var(--fr-edge)}
[data-template="frost"] .mobile-call-bar{background:rgba(255,255,255,0.78);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-top:1px solid var(--fr-edge)}
[data-template="frost"] .mobile-call-bar .call{background:linear-gradient(135deg,rgb(var(--brand-rgb)),var(--brand-deep));color:#fff;border-radius:999px}
[data-template="frost"] .mobile-call-bar .quote{background:rgba(255,255,255,0.7);color:var(--ink);border:1px solid var(--line-2);border-radius:999px}
[data-template="frost"] .mobile-call-bar .quote:hover{border-color:rgba(var(--brand-rgb),0.45);color:var(--brand-deep)}

/* — Animation (frost) — */
@media (prefers-reduced-motion: no-preference){
  [data-template="frost"] [data-reveal]{opacity:0;transform:translateY(22px) scale(0.99);filter:blur(6px);transition:opacity .8s cubic-bezier(.22,.7,.3,1),transform .8s cubic-bezier(.22,.7,.3,1),filter .8s cubic-bezier(.22,.7,.3,1)}
  [data-template="frost"] [data-reveal].in{opacity:1;transform:none;filter:none}
  [data-template="frost"] .section-head [data-reveal]{transition-delay:.05s}
  [data-template="frost"] .grid > [data-reveal]:nth-child(2){transition-delay:.08s}
  [data-template="frost"] .grid > [data-reveal]:nth-child(3){transition-delay:.16s}
  [data-template="frost"] .grid > [data-reveal]:nth-child(4){transition-delay:.24s}
  @keyframes fr-frost-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.04)}100%{transform:translate3d(0,0,0) scale(1)}}
  [data-template="frost"] .subhero::before{content:"";position:absolute;top:-140px;left:-90px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(var(--brand-rgb),0.16),transparent 70%);filter:blur(18px);pointer-events:none;animation:fr-frost-drift 11s ease-in-out infinite;z-index:0}
  [data-template="frost"] .subhero::after{content:"";position:absolute;bottom:-160px;right:-100px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(120,180,255,0.16),transparent 70%);filter:blur(20px);pointer-events:none;animation:fr-frost-drift 14s ease-in-out infinite reverse;z-index:0}
  [data-template="frost"] .subhero > *{position:relative;z-index:1}
  [data-template="frost"] .card,[data-template="frost"] .area-service-card,[data-template="frost"] .article-card,[data-template="frost"] .review-card,[data-template="frost"] .reviews-carousel__card{transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease,border-color .25s ease,backdrop-filter .4s ease}
  @keyframes fr-sheen{0%{transform:translateX(-120%) skewX(-18deg);opacity:0}40%{opacity:.7}100%{transform:translateX(220%) skewX(-18deg);opacity:0}}
  [data-template="frost"] .cta-strip::after{content:"";position:absolute;top:0;left:0;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,0.55),transparent);pointer-events:none;animation:fr-sheen 7s ease-in-out infinite;animation-delay:1.2s}
  [data-template="frost"] .btn--primary{transition:transform .18s ease,box-shadow .22s ease}
}
@media (prefers-reduced-motion: reduce){
  [data-template="frost"] [data-reveal]{opacity:1 !important;transform:none !important;filter:none !important}
}


/* ═══ Frost — CHROME ═══ */
/* ════════════════════════════════════════════════════════════════════
   FROST — ljus glasmorfism. Klassprefix .frs-
   Transparenta frostade glaslager ovanpå en levande aurora-färgdimma.
   Färg/typsnitt via CSS-variabler (--brand, --brand-rgb, --brand-deep,
   --ink, --ff-heading) så mallen följer kundens färgtema.
   ════════════════════════════════════════════════════════════════════ */

.frs-header,
.frs-hero,
.frs-footer {
  --frs-glass: rgba(255, 255, 255, 0.55);
  --frs-glass-strong: rgba(255, 255, 255, 0.72);
  --frs-edge: rgba(255, 255, 255, 0.78);
  --frs-edge-top: rgba(255, 255, 255, 0.95);
  --frs-ink: var(--ink, #0F1B33);
  --frs-ink-2: #3D4A63;
  --frs-muted: #6B7589;
  --frs-line: rgba(30, 55, 120, 0.10);
  --frs-line-2: rgba(30, 55, 120, 0.16);
  --frs-ff: var(--ff-heading, "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, sans-serif);
}

/* ───────── HEADER — flytande frostbricka ───────── */
.frs-header {
  position: sticky;
  top: 14px;
  z-index: 1000;
  padding: 0 18px;
  pointer-events: none;
}

.frs-header__glass {
  pointer-events: auto;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 11px 14px 11px 22px;
  background: var(--frs-glass);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 20px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 10px 40px rgba(30, 55, 120, 0.10),
    0 2px 6px rgba(30, 55, 120, 0.05);
  transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
}

.frs-header__glass.is-scrolled {
  background: var(--frs-glass-strong);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 6px 22px rgba(30, 55, 120, 0.12),
    0 1px 3px rgba(30, 55, 120, 0.06);
}

.frs-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.frs-logo img { height: 32px; width: auto; display: block; }
.frs-logo__name {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.01em;
  color: var(--frs-ink);
}
.frs-logo__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  box-shadow: 0 0 12px rgba(var(--brand-rgb), 0.6);
  flex-shrink: 0;
}

.frs-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0 auto;
}
.frs-nav__item { position: relative; }
.frs-nav__link {
  position: relative;
  display: inline-block;
  padding: 8px 12px;
  font-size: 15px;
  font-weight: 540;
  color: var(--frs-ink-2);
  text-decoration: none;
  border-radius: 999px;
  transition: color 0.2s ease;
}
.frs-nav__link::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(var(--brand-rgb), 0.10);
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: -1;
}
.frs-nav__link:hover {
  color: var(--brand-deep);
}
.frs-nav__link:hover::before {
  opacity: 1;
  transform: scale(1);
}

.frs-nav__panel {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 250px;
  display: flex;
  flex-direction: column;
  padding: 8px;
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 18px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 18px 44px rgba(30, 55, 120, 0.16);
  opacity: 0;
  visibility: hidden;
  /* Nådefrist: stängningen väntar 0.25s → man hinner flytta musen ner till
     alternativen utan att panelen försvinner. Öppning sker direkt (delay 0 på hover).
     Panelen är kvar hoverbar under uttoningen (child av item → håller hovern vid liv). */
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
  transition-delay: 0.25s;
  z-index: 50;
}
.frs-nav__item--has:hover .frs-nav__panel,
.frs-nav__item--has:focus-within .frs-nav__panel,
.frs-nav__item--has.is-open .frs-nav__panel {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  transition-delay: 0s;
}
/* Tjänster-toggeln: knapp som ser ut precis som en nav-länk + roterande chevron. */
.frs-nav__toggle {
  border: 0;
  background: none;
  cursor: pointer;
  /* Bara font-family ärvs — INTE font-shorthand (den skulle nollställa font-size
     och font-weight från .frs-nav__link så knappen fick fel vikt mot "Hem" m.fl.). */
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.frs-nav__chev { transition: transform 0.2s ease; flex-shrink: 0; }
.frs-nav__item--has.is-open .frs-nav__chev { transform: rotate(180deg); }
.frs-nav__sub--all {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--frs-edge);
  font-weight: 600;
}
/* Osynlig brygga som täcker 14px-glappet mellan länk och panel — hovern
   släpper aldrig på vägen ner till alternativen. */
.frs-nav__item--has::after {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  top: 100%;
  height: 20px;
}
.frs-nav__sub {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 13px;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.18s ease;
}
.frs-nav__sub:hover { background: rgba(var(--brand-rgb), 0.08); }
.frs-nav__sub-label { font-size: 14.5px; font-weight: 600; color: var(--frs-ink); }
.frs-nav__sub-desc { font-size: 13px; color: var(--frs-muted); line-height: 1.4; }

.frs-header__right {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.frs-header__phone {
  font-size: 15px;
  font-weight: 600;
  color: var(--frs-ink);
  text-decoration: none;
  white-space: nowrap;
}
.frs-header__phone:hover { color: var(--brand-deep); }
.frs-header__cta {
  display: inline-flex;
  align-items: center;
  padding: 11px 22px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  border-radius: 999px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.4) inset,
    0 8px 22px rgba(var(--brand-rgb), 0.35);
  transition: transform 0.18s ease, box-shadow 0.22s ease;
}
.frs-header__cta:hover {
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 12px 28px rgba(var(--brand-rgb), 0.45);
}

.frs-burger {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--frs-edge);
  border-radius: 50%;
  color: var(--frs-ink);
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(30, 55, 120, 0.10);
}

/* ───────── DRAWER (mobil) ───────── */
.frs-drawer {
  pointer-events: auto;
  max-width: 1200px;
  margin: 12px auto 0;
  display: flex;
  flex-direction: column;
  padding: 14px;
  background: var(--frs-glass-strong);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 20px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 18px 44px rgba(30, 55, 120, 0.16);
}
.frs-drawer__link {
  padding: 13px 8px;
  font-size: 16px;
  font-weight: 600;
  color: var(--frs-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--frs-line);
}
.frs-drawer__phone {
  padding: 14px 8px 6px;
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-deep);
  text-decoration: none;
}
.frs-drawer__cta {
  margin-top: 10px;
  padding: 13px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(var(--brand-rgb), 0.35);
}

/* ───────── HERO — video bakom frostslöja + flytande glaskort ───────── */
.frs-hero {
  position: relative;
  /* Dra upp hjälten bakom den flytande sticky-headern så bilden täcker ända upp.
     Lite extra (-80) garanterar att ingen ljus topprest blir kvar; innehållet
     hålls ändå klart under headern av padding-top. */
  margin-top: -80px;
  padding: 126px 24px 110px;
  overflow: hidden;
  /* Transparent → den sammanhängande himmels-gradienten på body syns där poster-bilden
     tonar ut nedtill (se .frs-hero__poster-masken). */
  background: transparent;
}
.frs-hero__video,
.frs-hero__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
/* Hjältebilden (ALLA frost-hjältar → konsekvent): ankra UPPTILL + gör den 30% högre än
   hjälten. Hjältens overflow:hidden beskär bort underkanten (taket) så ~70-75% blir himmel
   och taket en låg remsa. Nederkanten masas ut → tak-slicen tonar mjukt ner i den
   sammanhängande himmels-gradienten (hjälten är transparent). Ersätter spegeln. */
.frs-hero__poster {
  top: 0;
  bottom: auto;
  height: 150%;
  background-size: cover;
  background-position: center top;
  -webkit-mask-image: none;
  mask-image: none;
}
.frs-hero__frost {
  position: absolute;
  inset: 0;
  z-index: 1;
  /* Ingen blur — bilden ska vara skarp/klar. En mjuk ljus glow ligger bara bakom
     den centrerade texten (mitten) och tonar ut till genomskinligt mot kanterna,
     så fotot syns klart men rubrik/ingress (mörk text) behåller kontrast. */
  /* Ingen slöja/glow — helt klar bild (borttagen på begäran). */
  background: transparent;
  pointer-events: none;
}
.frs-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
/* SPLIT-läge (silo): text vänster, verktyg+trust+snabbsvar höger. Centrerat läge oförändrat ovan. */
.frs-hero__inner--split {
  max-width: 1200px;
  text-align: left;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
  gap: 46px;
  align-items: start;
}
.frs-hero__inner--split .frs-hero__title { margin-top: 16px; font-size: clamp(32px, 4.2vw, 58px); }
.frs-hero__inner--split .frs-hero__sub { margin: 16px 0 0; max-width: none; text-align: left; }
.frs-hero__inner--split .frs-hero__cta { justify-content: flex-start; }
.frs-hero__col-text { min-width: 0; }
.frs-hero__col-tool { min-width: 0; display: flex; flex-direction: column; gap: 18px; align-items: stretch; }
.frs-hero__col-tool .frs-hero__postal { margin: 0; }
.frs-hero__col-tool .subhero__answer { margin: 0; }
/* Trust-raden ligger ÖVER bokningen (ordning i FrostHero) och ska rymmas på EN rad —
   kompaktare loggor/gap/bildtext + nowrap så Svanen inte radbryter ner. */
.frs-hero__col-tool .frs-hero__logos {
  margin: 0 0 2px;
  width: 100%;
  --trust-logo-h: 26px;
  flex-wrap: nowrap;
  gap: 12px;
  justify-content: space-between;
  align-items: flex-start;
}
.frs-hero__col-tool .frs-hero__logos > a,
.frs-hero__col-tool .frs-hero__logos > span { gap: 6px; min-width: 0; }
.frs-hero__col-tool .frs-hero__logos .trust-logos-row__cap--text { font-size: 9.5px; line-height: 1.2; }
.frs-hero__col-tool .frs-hero__logos .hero__stars svg,
.frs-hero__col-tool .frs-hero__logos .frs-hero__stars svg { width: 11px; height: 11px; }
/* Skjut ned högerkolumnen (trust + bokning) på desktop så trust-raden hamnar ungefär i
   linje med snabbsvar-rutan i vänsterkolumnen (som ligger under H1). Mobil/stackat = 0. */
@media (min-width: 981px) {
  .frs-hero__inner--split .frs-hero__col-tool { margin-top: 188px; }
}

/* ───────── RAIL-läge (blogg): split-hjälte upptill + trust/bokning som sticky
   höger-räcke som följer med genom HELA artikeln. Artikel-brödtexten flödar i
   vänsterkolumnens andra rad; postern täcker bara topp-bandet. Kräver overflow:visible
   (position:sticky funkar inte inuti hjältens overflow:hidden). ───────── */
.frs-hero--rail { overflow: visible; }
.frs-hero--rail .frs-hero__poster {
  height: 700px;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}
.frs-hero__inner--rail {
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 400px);
  grid-template-areas: "text tool" "article tool";
  column-gap: 46px;
  align-items: start;
}
.frs-hero__inner--rail .frs-hero__col-text { grid-area: text; min-width: 0; }
.frs-hero__inner--rail .frs-hero__col-tool {
  grid-area: tool; min-width: 0;
  display: flex; flex-direction: column; gap: 18px; align-items: stretch;
}
.frs-hero__inner--rail .frs-hero__col-article { grid-area: article; min-width: 0; }
.frs-hero__inner--rail .frs-hero__title { margin-top: 16px; font-size: clamp(32px, 4.2vw, 58px); }
.frs-hero__inner--rail .frs-hero__cta { justify-content: flex-start; }
@media (min-width: 981px) {
  .frs-hero__inner--rail .frs-hero__col-tool { position: sticky; top: 100px; align-self: start; }
}
@media (max-width: 980px) {
  .frs-hero__inner--rail {
    grid-template-columns: 1fr;
    grid-template-areas: "text" "tool" "article";
    column-gap: 0;
    text-align: center;
  }
  .frs-hero__inner--rail .frs-hero__title { text-align: center; }
}

/* /tjanster "Vem vi hjälper" + "Så går det till" + "Därför oss" i EN vänsterkolumn
   (vänsterställda rubriker) + samma bokning/trust-kolumn som hjälten till höger
   (frs-hero__col-tool återanvänds → identisk kompakt trust-rad). Höger-kolumnen är
   STICKY: börjar vid "Vem vi hjälper" och följer med ner genom hela blocket. */
[data-template="frost"] .hub-audience__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); gap: 46px; align-items: start; }
[data-template="frost"] .hub-audience__left .section-head { text-align: left; margin: 0 0 24px; max-width: none; }
[data-template="frost"] .hub-audience__left > .section-head:not(:first-child),
[data-template="frost"] .hub-audience__left > #process { margin-top: 64px; }
[data-template="frost"] .hub-audience__left > #process .section-head { margin-top: 0; }
[data-template="frost"] .hub-audience__cards { display: grid; gap: 18px; }
@media (min-width: 981px) {
  [data-template="frost"] .hub-audience__tool { position: sticky; top: 100px; }
}
@media (max-width: 980px) {
  [data-template="frost"] .hub-audience__split { grid-template-columns: 1fr; }
}

/* Brödtext-block MED sammanfattning (silo, sections[].summary ifyllt) — rorfiness-stil:
   VÄNSTER eyebrow → stor H2 → klampad text som TONAS UT nedtill + "Läs mer ⌄"-textlänk →
   bild-COLLAGE (1–5 bilder, klick förstorar i lightbox). HÖGER snabbsvar som bock-lista.
   Hela texten kvar i DOM (mask/klamp är bara visuellt). Utan summary → fullbredd (820px). */
[data-template="frost"] .prose-inspo { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap: 56px; align-items: start; }
[data-template="frost"] .prose-inspo__heading { margin: 12px 0 16px; font-size: clamp(30px, 3.4vw, 44px); letter-spacing: -0.03em; }
[data-template="frost"] .prose-inspo .frs-readmore { margin: 0; }
[data-template="frost"] .prose-inspo .frs-readmore__text { max-height: 300px; -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); }
[data-template="frost"] .prose-inspo .frs-readmore__cb:checked ~ .frs-readmore__text { max-height: 12000px; -webkit-mask-image: none; mask-image: none; }
[data-template="frost"] .prose-inspo__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; color: var(--brand-deep); font-weight: 700; font-size: 15px; cursor: pointer; }
[data-template="frost"] .prose-inspo__more::after { content: "Läs mer"; }
[data-template="frost"] .prose-inspo__more::before { content: ""; order: 2; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 0.25s ease; }
[data-template="frost"] .prose-inspo .frs-readmore__cb:checked ~ .prose-inspo__more::after { content: "Visa mindre"; }
[data-template="frost"] .prose-inspo .frs-readmore__cb:checked ~ .prose-inspo__more::before { transform: rotate(-135deg) translateY(-2px); }
[data-template="frost"] .prose-inspo .frs-readmore__cb:focus-visible ~ .prose-inspo__more { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 6px; }
[data-template="frost"] .prose-inspo__gallery { margin-top: 24px; }
/* Pris + numrerade processteg ovanför bilderna (Sanity-styrt, sidans mint-stil). */
[data-template="frost"] .prose-inspo__spec { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); display: grid; gap: 14px; }
[data-template="frost"] .prose-inspo__price { margin: 0; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
[data-template="frost"] .prose-inspo__price-label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--brand-deep); }
[data-template="frost"] .prose-inspo__price-value { font-size: 20px; font-weight: 800; letter-spacing: -0.01em; color: var(--ink); }
[data-template="frost"] .prose-inspo__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 9px; counter-reset: none; }
[data-template="frost"] .prose-inspo__steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--ink-2); background: rgba(var(--brand-rgb), 0.06); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px 6px 6px; }
[data-template="frost"] .prose-inspo__step-num { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: var(--brand); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
[data-template="frost"] .prose-inspo__answer { margin-top: 8px; }
[data-template="frost"] .prose-inspo__answer-label { display: block; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--brand-deep); margin-bottom: 12px; }
[data-template="frost"] .prose-inspo__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
[data-template="frost"] .prose-inspo__points li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }
[data-template="frost"] .prose-inspo__check { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: rgba(var(--brand-rgb), 0.14); color: var(--brand-deep); display: inline-flex; align-items: center; justify-content: center; margin-top: 2px; }
/* Hjältens trust-rad i STÅENDE variant BREDVID snabbsvars-punkterna (samma komponent
   och data som hjälten). Rälsen sträcker sig över punkt-rutans hela höjd och
   signalerna fördelas jämnt längs den. */
[data-template="frost"] .prose-inspo__answer-body { display: flex; gap: 18px; align-items: stretch; }
[data-template="frost"] .prose-inspo__answer-body .prose-inspo__points { flex: 1; min-width: 0; }
[data-template="frost"] .prose-inspo__trustrow { flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding-left: 18px; border-left: 1px solid var(--line); --trust-logo-h: 24px; }
[data-template="frost"] .prose-inspo__trustrow > a,
[data-template="frost"] .prose-inspo__trustrow > span { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
[data-template="frost"] .prose-inspo__trustrow img { max-width: 84px; object-fit: contain; }
[data-template="frost"] .prose-inspo__trustrow .trust-logos-row__cap--text { font-size: 10px; line-height: 1.25; text-align: center; max-width: 90px; }
[data-template="frost"] .prose-inspo__trustrow .trust-logos-row__cap svg { width: 10px; height: 10px; }
/* Kompakt "Så går det till" inflyttad i sista sammanfattnings-blocket (frs-steps--mini). */
[data-template="frost"] .prose-inspo__process { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
[data-template="frost"] .prose-inspo__process .frs-steps--mini { margin-top: 14px; }
/* Kompakt "Varför oss" (ersätter postnummer-kollen mellan block 2 och 3, nya stilen):
   mindre rubrik, tightare kort — samma frs-usp-design i miniformat. */
[data-template="frost"] .frs-usps-compact .frs-section__head { margin-bottom: 26px; }
[data-template="frost"] .frs-usps-compact .frs-section__title { font-size: clamp(22px, 2.4vw, 30px); }
[data-template="frost"] .frs-usps--compact .frs-usp { padding: 18px 18px 16px; }
[data-template="frost"] .frs-usps--compact .frs-usp__icon { width: 38px; height: 38px; }
[data-template="frost"] .frs-usps--compact .frs-usp__title { font-size: 15px; }
[data-template="frost"] .frs-usps--compact .frs-usp__text, [data-template="frost"] .frs-usps--compact .frs-usp__text p { font-size: 13px; line-height: 1.5; }
[data-template="frost"] .prose-inspo__contact { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); text-align: center; }
[data-template="frost"] .prose-inspo__contact-heading { margin: 0 0 12px; font-weight: 700; font-size: 16px; color: var(--ink); }
[data-template="frost"] .prose-inspo__booking { margin-top: 18px; }
@media (max-width: 980px) {
  [data-template="frost"] .prose-inspo { grid-template-columns: 1fr; gap: 28px; }
  [data-template="frost"] .prose-inspo__answer { border-top: 1px solid var(--line); padding-top: 22px; }
}

/* BILD-MOSAIK (rorfiness-collage, 1–5 bilder) + lightbox. Items är knappar (klick =
   förstora); lightboxen portalas till <body> så den inte fastnar i reveal-transforms. */
[data-template="frost"] .img-mosaic { display: grid; gap: 12px; }
[data-template="frost"] .img-mosaic__item { padding: 0; border: 0; background: none; display: block; position: relative; border-radius: 18px; overflow: hidden; cursor: pointer; box-shadow: var(--fr-shadow); }
[data-template="frost"] .img-mosaic__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
@media (hover: hover) { [data-template="frost"] .img-mosaic__item:hover img { transform: scale(1.04); } }
/* "Förstora"-badge (diagonala pilar) i hörnet på förstorbara bilder — ersätter zoom-in-pekaren. */
[data-template="frost"] .img-mosaic__expand { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, 0.92); color: #0F1B33; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16); pointer-events: none; opacity: 0; transform: scale(0.92); transition: opacity 0.2s ease, transform 0.2s ease; }
@media (hover: hover) { [data-template="frost"] .img-mosaic__item:hover .img-mosaic__expand { opacity: 1; transform: scale(1); } }
[data-template="frost"] .img-mosaic__item:focus-visible .img-mosaic__expand { opacity: 1; transform: scale(1); }
[data-template="frost"] .img-mosaic[data-n="1"] .img-mosaic__item { height: 220px; }
[data-template="frost"] .img-mosaic[data-n="2"] { grid-template-columns: 1.55fr 1fr; }
[data-template="frost"] .img-mosaic[data-n="2"] .img-mosaic__item { height: 200px; }
[data-template="frost"] .img-mosaic[data-n="3"],
[data-template="frost"] .img-mosaic[data-n="4"],
[data-template="frost"] .img-mosaic[data-n="5"] { grid-template-columns: 1.55fr 1fr; }
[data-template="frost"] .img-mosaic[data-n="3"] .img-mosaic__item:first-child,
[data-template="frost"] .img-mosaic[data-n="4"] .img-mosaic__item:first-child,
[data-template="frost"] .img-mosaic[data-n="5"] .img-mosaic__item:first-child { grid-row: 1 / span 2; height: 260px; }
[data-template="frost"] .img-mosaic[data-n="3"] .img-mosaic__item:not(:first-child),
[data-template="frost"] .img-mosaic[data-n="4"] .img-mosaic__item:nth-child(2),
[data-template="frost"] .img-mosaic[data-n="4"] .img-mosaic__item:nth-child(3),
[data-template="frost"] .img-mosaic[data-n="5"] .img-mosaic__item:nth-child(2),
[data-template="frost"] .img-mosaic[data-n="5"] .img-mosaic__item:nth-child(3) { height: 124px; }
[data-template="frost"] .img-mosaic[data-n="4"] .img-mosaic__item:nth-child(4) { grid-column: 1 / -1; height: 140px; }
[data-template="frost"] .img-mosaic[data-n="5"] .img-mosaic__item:nth-child(4),
[data-template="frost"] .img-mosaic[data-n="5"] .img-mosaic__item:nth-child(5) { height: 140px; }
/* Platshållar-rutor när blocket saknar bilder (ersätts av riktiga vid uppladdning). */
[data-template="frost"] .img-mosaic__ghost { border: 1.5px dashed rgba(30, 55, 120, 0.22); background: rgba(255, 255, 255, 0.35); cursor: default; box-shadow: none; display: flex; align-items: center; justify-content: center; }
[data-template="frost"] .img-mosaic__ghost::after { content: "Bild"; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; color: rgba(30, 55, 120, 0.35); }
[data-template="frost"] .img-mosaic__lightbox { position: fixed; inset: 0; z-index: 400; background: rgba(8, 14, 28, 0.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: flex; align-items: center; justify-content: center; padding: 30px; cursor: zoom-out; }
[data-template="frost"] .img-mosaic__lightbox img { max-width: min(1200px, 92vw); max-height: 86vh; border-radius: 16px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5); cursor: default; }
[data-template="frost"] .img-mosaic__close { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, 0.92); color: #0F1B33; font-size: 26px; line-height: 1; cursor: pointer; }
/* Stående variant (Om oss-kolumnen på startsidan): en spalt, klick förstorar. */
[data-template="frost"] .img-mosaic--vertical { grid-template-columns: 1fr; gap: 14px; }
[data-template="frost"] .img-mosaic--vertical .img-mosaic__item { height: 240px; }
/* Före/efter-rutnät: brett rektangulärt band i textspaltens fulla bredd —
   stor kombobild till vänster (spänner två rader) + 2×2 små till höger.
   Olika storlekar, låg total höjd; klick förstorar i lightbox. */
[data-template="frost"] .img-mosaic--ba { grid-template-columns: 2fr 1fr 1fr; gap: 4px; }
[data-template="frost"] .img-mosaic--ba .img-mosaic__item { height: auto; aspect-ratio: 1528 / 760; border-radius: 8px; }
[data-template="frost"] .img-mosaic--ba .img-mosaic__item:first-child { grid-column: 1; grid-row: 1 / span 2; aspect-ratio: auto; }
@media (max-width: 560px) {
  [data-template="frost"] .img-mosaic--ba { grid-template-columns: 1fr 1fr; }
  [data-template="frost"] .img-mosaic--ba .img-mosaic__item:first-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 1528 / 760; }
}
/* I Om oss-splitten: bildkolumnen är sträckt till samma höjd som textkolumnen
   (grid align-items: stretch) — mosaiken fyller den absolut och bilderna delar
   utrymmet JÄMNT (flex). Kolumnerna slutar alltid på samma linje, oavsett
   antal bilder — inga fasta höjder som skjuter över eller under. */
/* align-self: stretch övertrumfar styles.css align-self:start (gamla karusellens regel)
   — annars kollapsar kolumnen till 0 när mosaiken är absolut positionerad. */
[data-template="frost"] .frs-about-split__media { position: relative; align-self: stretch; }
[data-template="frost"] .frs-about-split__media .img-mosaic--vertical { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 14px; }
[data-template="frost"] .frs-about-split__media .img-mosaic--vertical .img-mosaic__item { flex: 1 1 0; min-height: 0; height: auto; }
@media (max-width: 900px) {
  /* Staplad mobil-layout: kolumnen har ingen extern höjd att fylla → tillbaka till
     statiskt flöde med fasta höjder, och visa bara de 3 första bilderna (en vägg
     av 7 bilder före texten vore oläsligt). */
  [data-template="frost"] .frs-about-split__media .img-mosaic--vertical { position: static; display: grid; }
  [data-template="frost"] .frs-about-split__media .img-mosaic--vertical .img-mosaic__item { height: 240px; }
  [data-template="frost"] .frs-about-split__media .img-mosaic--vertical .img-mosaic__item:nth-child(n + 4) { display: none; }
}
@media (max-width: 980px) {
  .frs-hero__inner--split { grid-template-columns: 1fr; gap: 26px; text-align: center; }
  .frs-hero__inner--split .frs-hero__title { text-align: center; }
  .frs-hero__inner--split .frs-hero__sub { margin-left: auto; margin-right: auto; text-align: center; }
  .frs-hero__inner--split .frs-hero__cta { justify-content: center; }
  .frs-readmore__btn { margin-left: auto; margin-right: auto; }
}
/* Snabbsvar-rutan under H1 i vänsterkolumnen (split) — ~30% mindre (kompaktare text +
   padding + smalare ruta), ingen text kapas. Scopat → påverkar inte rotavdrags snabbsvar. */
[data-template="frost"] .frs-hero__col-text .subhero__answer {
  margin: 16px 0 0;
  max-width: 500px;
  padding: 15px 18px;
  border-radius: 14px;
}
[data-template="frost"] .frs-hero__col-text .subhero__answer-label { font-size: 9.5px; margin-bottom: 6px; }
[data-template="frost"] .frs-hero__col-text .subhero__answer-question { font-size: 13px; margin: 0 0 7px; line-height: 1.3; }
[data-template="frost"] .frs-hero__col-text .subhero__answer p { font-size: 12.5px; line-height: 1.5; }

/* ── REN CSS "LÄS MER" för hjälte-ingressen (split) ──
   SEO: HELA ingressen skrivs ut server-side i HTML (via RichText) och ligger ALLTID kvar i
   DOM:en. Kryssrute-tekniken nedan ändrar bara SYNLIG HÖJD (max-height) — ingen JavaScript
   rör texten, inget injiceras vid klick. Google ser alltid hela texten. */
.frs-readmore { position: relative; margin-top: 16px; }
.frs-readmore__cb { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.frs-readmore__text { overflow: hidden; max-height: 188px; transition: max-height 0.4s ease; }
.frs-readmore__text > .frs-hero__sub { margin-top: 0; }
.frs-readmore__cb:checked ~ .frs-readmore__text { max-height: 1600px; }
.frs-readmore__btn {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; cursor: pointer;
  font-family: var(--frs-ff); font-weight: 700; font-size: 14.5px; color: var(--brand-deep);
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid var(--fr-edge); border-radius: 999px; padding: 8px 18px;
}
.frs-readmore__btn:hover { background: rgba(255, 255, 255, 0.85); }
.frs-readmore__btn::after { content: "Läs mer"; }
.frs-readmore__cb:checked ~ .frs-readmore__btn::after { content: "Visa mindre"; }
.frs-readmore__cb:focus-visible ~ .frs-readmore__btn { outline: 2px solid var(--brand); outline-offset: 2px; }
/* (Bottenövergången sköts nu av att hjältebilden tonar ut via mask → smälter in
   i sid-bakgrunden, ingen ljus overlay.) */
/* Trust-bildtexter i hjälten — mörkare + fetare, bara mjuk diffus ljusning (ingen ram) */
.frs-hero__logos .trust-logos-row__cap {
  color: #131B30;
  font-weight: 600;
  text-shadow: 0 1px 6px rgba(255, 255, 255, 0.4);
}

/* SPEGLING — flippad kopia av hjältebilden överst i kund-sektionen (bakom rubriken),
   tonar mjukt ut innan karusellen. FULL BREDD (100vw) + samma skala (100vw auto) +
   center bottom = matchar hjältens nederkant (hjälten: center bottom) → ren skarv.
   isolation håller den inom sektionen (ingen läcka till senare sektioner). */
.frs-refsection { position: relative; isolation: isolate; }
.frs-refsection > *:not(.frs-refsection__reflect) { position: relative; z-index: 1; }
.frs-refsection__reflect {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  height: 300px;
  z-index: 0;
  background-size: 100vw auto;
  background-position: center bottom;
  transform: scaleY(-1);
  opacity: 0.95;
  /* Efter flip: opak vid skarven (visuell topp), uttonad ~135px ned → före karusellen. */
  -webkit-mask-image: linear-gradient(to bottom, transparent 55%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 55%, #000 100%);
  pointer-events: none;
}

/* FRISTÅENDE reflektions-band — används av den delade <FrostHero> på sidor som inte
   har startsidans kund-sektion. Samma flippade hjältebild, men egen höjd + mask så
   den tonas ut helt inom bandet (ingen hård kant, inget läckage). */
.frs-hero-reflect { height: 150px; overflow: hidden; }
.frs-hero-reflect .frs-refsection__reflect {
  height: 150px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 100%);
}

.frs-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 15px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand-deep);
}
.frs-hero__stars { color: var(--brand); display: inline-flex; }
.frs-hero__stars svg { width: 14px; height: 14px; }

.frs-hero__title {
  margin: 22px 0 0;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: clamp(42px, 6.2vw, 78px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  color: #000;
  /* Smal skarp vit kontur runt bokstäverna (hård text-shadow, 0 blur = ingen glow). */
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, 0 -1px 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
.frs-hero__title em,
.frs-hero__title strong {
  font-style: normal;
  background: linear-gradient(100deg, var(--brand), var(--brand-deep));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.frs-hero__sub {
  margin: 18px auto 0;
  max-width: 600px;
  font-size: 19.5px;
  line-height: 1.6;
  color: #000;
  font-weight: 800;
}

.frs-hero__cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 32px;
}
/* Sekundär CTA som frostad ghost-knapp */
.frs-hero__cta .btn--secondary,
.frs-hero__cta .btn--ghost {
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: var(--frs-ink);
}
.frs-hero__cta .btn--secondary:hover,
.frs-hero__cta .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(var(--brand-rgb), 0.4);
  color: var(--brand-deep);
}

/* Flytande frostat panelkort med facts + postnummer-kontroll */
.frs-hero__panel {
  max-width: 560px;
  margin: 36px auto 0;
  padding: 22px;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-top-color: var(--frs-edge-top);
  border-radius: 24px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 24px 60px rgba(30, 55, 120, 0.14);
}
.frs-hero__facts {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
}
.frs-hero__fact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--frs-ink-2);
}
.frs-hero__fact-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--brand);
}
.frs-hero__postal { text-align: left; }

/* Hero-loggorna använder nu .trust-logos-row (delad layout + bildtexter); här bara hero-tweaks. */
/* margin-bottom = luft mellan trust-raden och bokningsrutan ("Boka tid eller få
   offert") i center-layouten (t.ex. /priser). Split-layouten (.frs-hero__col-tool)
   har egen, mer specifik regel och påverkas inte. */
.frs-hero__logos { margin-top: 34px; margin-bottom: 22px; filter: none; opacity: 0.9; }
.frs-hero__logos:hover { opacity: 1; }

/* ───────── TRUST-BAND ───────── */
.frs-trust { padding: 8px 24px 0; }
.frs-trust__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 26px 28px;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 24px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 12px 34px rgba(30, 55, 120, 0.07);
}

/* ───────── STATS-BAND ───────── */
.frs-stats { padding: 40px 24px 0; }
.frs-stats__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  padding: 34px 28px;
  background: linear-gradient(135deg, rgba(var(--brand-rgb), 0.16), rgba(255, 255, 255, 0.55));
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 26px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 24px 60px rgba(30, 55, 120, 0.12);
}
.frs-stat { text-align: center; }
.frs-stat__num {
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: clamp(28px, 4vw, 40px);
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.frs-stat__lab { margin-top: 6px; font-size: 14px; color: var(--frs-muted); }

/* ───────── SECTIONS ───────── */
.frs-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 90px 24px;
}
.frs-section--tight { padding-top: 40px; padding-bottom: 40px; }
.frs-section__head { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.frs-section__eyebrow {
  display: inline-block;
  padding: 6px 14px;
  margin-bottom: 16px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-deep);
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid var(--frs-edge);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(30, 55, 120, 0.05);
}
.frs-section__title {
  margin: 0;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--frs-ink);
}
.frs-section__intro {
  margin: 16px auto 0;
  max-width: 620px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--frs-muted);
}

/* "Våra tjänster" — text vänster, kort-karusell höger */
.frs-services-split { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 48px; align-items: center; max-width: 1100px; margin: 0 auto; }
.frs-services-split__text { max-width: none; margin: 0; text-align: left; }
.frs-services-split__text .frs-section__eyebrow,
.frs-services-split__text .frs-section__title { text-align: left; }
.frs-services-split__text .frs-section__intro { margin: 16px 0 0; max-width: none; text-align: left; }
.frs-services-split__media { min-width: 0; max-width: 360px; width: 100%; }
@media (max-width: 900px) { .frs-services-split { grid-template-columns: 1fr; gap: 28px; } .frs-services-split__media { max-width: 420px; } }

/* ───────── TJÄNSTE-KORT ───────── */
.frs-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 24px;
}
.frs-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 22px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 12px 34px rgba(30, 55, 120, 0.08);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 0.4s ease, border-color 0.25s ease;
}
.frs-card:hover {
  transform: translateY(-6px);
  border-color: rgba(var(--brand-rgb), 0.4);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 28px 60px rgba(30, 55, 120, 0.16);
}
.frs-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(var(--brand-rgb), 0.14), rgba(120, 180, 255, 0.10));
  overflow: hidden;
}
.frs-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.frs-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid var(--frs-edge);
  border-radius: 16px;
  color: var(--brand-deep);
  box-shadow: 0 6px 16px rgba(30, 55, 120, 0.10);
}
.frs-card__body { display: flex; flex-direction: column; gap: 8px; padding: 22px; }
.frs-card__title { margin: 0; font-family: var(--frs-ff); font-size: 19px; font-weight: 700; color: var(--frs-ink); letter-spacing: -0.02em; }
.frs-card__text { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--frs-muted); }
.frs-card__price { font-size: 14px; font-weight: 700; color: var(--frs-ink); }
.frs-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 6px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--brand-deep);
}

/* ───────── OM OSS ───────── */
.frs-about { max-width: 760px; margin: 0 auto; text-align: center; }
.frs-about__title {
  margin: 14px 0 0;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: clamp(26px, 3.5vw, 38px);
  letter-spacing: -0.03em;
  color: var(--frs-ink);
}
.frs-about__intro { margin: 16px 0 0; font-size: 17px; line-height: 1.7; color: var(--frs-ink-2); }
/* Om oss-ingressen, För vem och Varför oss = SAMMA kort-design som .card (vitt frostat glas), återanvänder befintlig design i stället för en egen blå panel */
.frs-about__lead,
.frs-about__audience,
.frs-about__process--why {
  padding: 24px 28px;
  background: var(--fr-glass, rgba(255, 255, 255, 0.55));
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid var(--fr-edge, rgba(255, 255, 255, 0.78));
  border-top-color: var(--fr-edge-top, rgba(255, 255, 255, 0.95));
  border-radius: 22px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 12px 34px rgba(30, 55, 120, 0.08);
}

/* Hover-reaktion ÅTERANVÄND från hero-telefon-CTA:n (.frs-hero__cta .btn--ghost): bakgrunden ljusnar (rgba .55→.8) + lyft + brand-kant, med .btn:s transition. Läggs på de rutor som saknade reaktion (.card/områdes-korten har redan egen hover). @media (hover:hover) → ingen sticky hover på touch, exakt som knappen. */
@media (hover: hover) and (pointer: fine) {
  [data-template="frost"] .frs-about__lead,
  [data-template="frost"] .frs-about__audience,
  [data-template="frost"] .frs-about__process--why,
  [data-template="frost"] .frs-audience__item,
  [data-template="frost"] .frs-usp,
  [data-template="frost"] .faq__item,
  [data-template="frost"] .frs-step {
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
  }
  [data-template="frost"] .frs-about__lead:hover,
  [data-template="frost"] .frs-about__audience:hover,
  [data-template="frost"] .frs-about__process--why:hover,
  [data-template="frost"] .frs-audience__item:hover,
  [data-template="frost"] .frs-usp:hover,
  [data-template="frost"] .faq__item:hover,
  [data-template="frost"] .frs-step:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(var(--brand-rgb), 0.4);
  }
}
.frs-about__lead { margin-top: 18px; }
.frs-about__lead .frs-about__title { margin-top: 8px; }
.frs-about__lead .frs-about__intro { margin: 14px 0 0; }

/* Om oss: bild-karusell vänster, text höger (spegel av frs-services-split) */
.frs-about-split { display: grid; grid-template-columns: 330px minmax(0,1fr); gap: 48px; align-items: stretch; max-width: 1100px; margin: 0 auto; }
.frs-about-split__media { min-width: 0; max-width: 330px; width: 100%; }
.frs-about-split__media .photo-carousel { margin-left: 0; margin-right: 0; max-width: 360px; }
.frs-about-split__text { max-width: none; margin: 0; text-align: left; }
.frs-about-split__text .frs-about__title,
.frs-about-split__text .frs-about__intro { text-align: left; }
@media (max-width: 900px) { .frs-about-split { grid-template-columns: 1fr; gap: 28px; } .frs-about-split__media { max-width: 420px; margin: 0 auto; } .frs-about-split__media .photo-carousel { margin: 0 auto; max-width: 420px; } }

/* ───────── USP ───────── */
.frs-usps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 22px;
}
.frs-usp {
  padding: 26px;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 20px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 10px 28px rgba(30, 55, 120, 0.07);
}
.frs-usp__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 14px;
  background: rgba(var(--brand-rgb), 0.12);
  border: 1px solid rgba(var(--brand-rgb), 0.2);
  border-radius: 14px;
  color: var(--brand-deep);
}
.frs-usp__title { margin: 0 0 6px; font-family: var(--frs-ff); font-size: 17.5px; font-weight: 700; color: var(--frs-ink); }
.frs-usp__text { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--frs-muted); }

/* Bokning + kompakt "Varför oss" bredvid (≈35% mindre) */
.home-booking--with-why { max-width: 1040px; }
.home-booking--with-why .home-booking__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
  gap: 34px;
  align-items: start;
  width: 100%;
}
.home-booking__booking { display: flex; flex-direction: column; gap: 18px; align-items: center; width: 100%; }
/* Smal bokningsspalt: trust-loggorna i ett prydligt 2×2-rutnät så bildtexterna får plats */
.home-booking__booking .trust-logos-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; justify-items: center; align-items: start; }
.home-booking__booking .trust-logos-row > a,
.home-booking__booking .trust-logos-row > span { max-width: 100%; }
.home-booking__booking .trust-logos-row img { max-width: 100%; }
/* Bokning+trust nedflyttad ~0,5cm under USP-kortens linje (endast desktop) */
@media (min-width: 901px) { html[data-template="frost"] .home-booking--with-why .home-booking__booking { margin-top: 61px; } }
.home-booking__why .frs-section__head { text-align: left; margin: 0 0 16px; max-width: none; }
.home-booking__why .frs-section__title { font-size: 24px; margin: 6px 0 0; letter-spacing: -0.02em; }
.home-booking__why .frs-section__intro { font-size: 13.5px; margin-top: 8px; }
.home-booking__why .frs-usps { grid-template-columns: 1fr 1fr; gap: 14px; }
.home-booking__why .frs-usp { padding: 17px; border-radius: 14px; }
.home-booking__why .frs-usp__icon { width: 34px; height: 34px; margin-bottom: 9px; border-radius: 10px; }
.home-booking__why .frs-usp__icon svg { width: 16px; height: 16px; }
.home-booking__why .frs-usp__title { font-size: 13px; margin-bottom: 4px; }
.home-booking__why .frs-usp__text { font-size: 12px; line-height: 1.5; }
@media (max-width: 900px) {
  .home-booking--with-why { max-width: 600px; }
  .home-booking--with-why .home-booking__cols { grid-template-columns: 1fr; gap: 26px; }
  .home-booking--with-why .home-booking__booking { order: -1; }
  .home-booking__why .frs-section__head { text-align: center; }
}
@media (max-width: 520px) {
  .home-booking__why .frs-usps { grid-template-columns: 1fr; }
}

/* ───────── PROCESS ───────── */
.frs-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px;
}
.frs-step {
  position: relative;
  padding: 28px 24px 24px;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 20px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 10px 28px rgba(30, 55, 120, 0.07);
}
.frs-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 14px;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(var(--brand-rgb), 0.3);
}
.frs-step__title { margin: 0 0 6px; font-family: var(--frs-ff); font-size: 17.5px; font-weight: 700; color: var(--frs-ink); }
.frs-step__text { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--frs-muted); }

/* Kompakt block i Om oss-spalten (huvud + 2x2-kort) — används av Varför oss/process */
.frs-about__process { margin-top: 34px; }
.frs-about__process-title { margin: 8px 0 0; font-family: var(--frs-ff); font-size: 22px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--frs-ink); }
.frs-about__process-intro { margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--frs-ink-2); }
/* Kompakt 2x2 — process-steg ELLER USP-kort (var som helst, t.ex. bokningsspalten eller Om oss) */
.frs-steps--mini, .frs-usps--mini { grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.frs-steps--mini .frs-step, .frs-usps--mini .frs-usp { padding: 16px; border-radius: 16px; }
.frs-steps--mini .frs-step__num { width: 32px; height: 32px; font-size: 15px; margin-bottom: 10px; border-radius: 10px; }
.frs-usps--mini .frs-usp__icon { width: 34px; height: 34px; margin-bottom: 9px; border-radius: 10px; }
.frs-usps--mini .frs-usp__icon svg { width: 16px; height: 16px; }
.frs-steps--mini .frs-step__title, .frs-usps--mini .frs-usp__title { font-size: 14px; margin-bottom: 4px; }
.frs-steps--mini .frs-step__text, .frs-usps--mini .frs-usp__text { font-size: 12.5px; line-height: 1.5; }
@media (max-width: 560px) { .frs-steps--mini, .frs-usps--mini { grid-template-columns: 1fr; } }
/* (Tidigare 5%-skalning på Varför oss borttagen — rutan ska matcha Vilka vi är/För vem.) */
/* Bokningsspalten innehåller nu processen → ingen 5%-skalning där (den följde Varför oss) */
@media (min-width: 901px) { html[data-template="frost"] .home-booking__why { transform: none; } }

/* Trust-rad i Om oss-spalten, ovanför För vem (vänsterställd för att matcha spalten) */
.trust-logos-row.frs-about__trust { justify-content: space-between; gap: 20px; padding: 0 28px; margin: 0 0 10px; }
/* Trust-rad ovanför Om oss-sektionen (full bredd, centrerad) */
.trust-logos-row.frs-trust-band { justify-content: center; gap: 52px; max-width: 1100px; margin: 0 auto 40px; }

/* FÖR VEM — kundgrupper i Om oss-spalten */
.frs-about__audience { margin-top: 28px; }
.frs-audience { display: grid; gap: 12px; margin-top: 16px; }
.frs-audience__item {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-left: 3px solid var(--brand);
  border-radius: 14px;
}
.frs-audience__title { margin: 0 0 4px; font-family: var(--frs-ff); font-size: 15px; font-weight: 700; color: var(--frs-ink); }
.frs-audience__text { margin: 0; font-size: 13px; line-height: 1.5; color: var(--frs-muted); }

/* ───────── FOOTER — stor lyftande frostpanel ───────── */
.frs-footer {
  margin-top: 90px;
  padding: 0 24px 40px;
}
.frs-footer__cta {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin: 0 auto -60px;
  padding: 46px 36px;
  text-align: center;
  background: linear-gradient(135deg, rgba(var(--brand-rgb), 0.16), rgba(255, 255, 255, 0.6));
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 28px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 30px 70px rgba(30, 55, 120, 0.16);
}
.frs-footer__cta-title {
  margin: 0;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: clamp(26px, 3.6vw, 38px);
  letter-spacing: -0.03em;
  color: var(--frs-ink);
}
.frs-footer__cta-sub { margin: 12px auto 0; max-width: 540px; font-size: 16.5px; line-height: 1.6; color: #475069; }
.frs-footer__cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 26px;
}
.frs-footer__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  font-size: 15.5px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  border-radius: 999px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.4) inset,
    0 10px 26px rgba(var(--brand-rgb), 0.32);
  transition: transform 0.18s ease, box-shadow 0.22s ease;
}
.frs-footer__cta-btn:hover {
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 16px 34px rgba(var(--brand-rgb), 0.4);
}
.frs-footer__cta-phone { font-size: 16px; font-weight: 700; color: var(--brand-deep); text-decoration: none; }
.frs-footer__cta-phone:hover { text-decoration: underline; }

.frs-footer__glass {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 40px 36px;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  border: 1px solid var(--frs-edge);
  border-top-color: var(--frs-edge-top);
  border-radius: 28px 28px 0 0;
  box-shadow:
    0 -1px 0 rgba(255, 255, 255, 0.6) inset,
    0 -20px 60px rgba(30, 55, 120, 0.08);
}
.frs-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
}
.frs-footer__brand { max-width: 360px; }
.frs-footer__logo { display: inline-flex; align-items: center; text-decoration: none; margin-bottom: 14px; }
.frs-footer__logo img { height: 32px; width: auto; }
.frs-footer__logo-name {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--frs-ff);
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.01em;
  color: var(--frs-ink);
}
.frs-footer__logo-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  box-shadow: 0 0 12px rgba(var(--brand-rgb), 0.6);
}
.frs-footer__tagline { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: #475069; }
.frs-footer__address { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: var(--frs-muted); }
.frs-footer__contact { display: flex; flex-direction: column; gap: 4px; }
.frs-footer__contact a { font-size: 14.5px; font-weight: 600; color: var(--frs-ink-2); text-decoration: none; }
.frs-footer__contact a:hover { color: var(--brand-deep); }
.frs-footer__social { display: flex; gap: 10px; margin-top: 16px; }
.frs-footer__social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  font-size: 15px;
  font-weight: 700;
  color: var(--frs-ink-2);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid var(--frs-edge);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(30, 55, 120, 0.08);
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.18s ease;
}
.frs-footer__social-btn:hover { color: var(--brand-deep); border-color: rgba(var(--brand-rgb), 0.4); transform: translateY(-2px); }

.frs-footer__col-head {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--frs-ink);
}
.frs-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.frs-footer__links a { font-size: 14.5px; color: #475069; text-decoration: none; }
.frs-footer__links a:hover { color: var(--brand-deep); }

.frs-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid var(--frs-line);
  font-size: 13px;
  color: #7C879B;
}
.frs-footer__bottom-links { display: flex; flex-wrap: wrap; gap: 18px; }
.frs-footer__bottom-links a { color: #7C879B; text-decoration: none; }
.frs-footer__bottom-links a:hover { color: var(--brand-deep); }

/* ───────── RESPONSIVT ───────── */
@media (max-width: 960px) {
  .frs-nav { display: none; }
  .frs-burger { display: inline-flex; }
  .frs-header__phone { display: none; }
  .frs-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .frs-footer__grid { grid-template-columns: 1fr 1fr; }
  .frs-footer__brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 620px) {
  .frs-header { top: 10px; padding: 0 12px; }
  .frs-header__glass { gap: 12px; padding: 9px 9px 9px 16px; }
  .frs-header__cta { display: none; }
  .frs-hero { padding: 120px 18px 80px; }
  .frs-hero__panel { padding: 18px; }
  .frs-footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .frs-footer__glass { padding: 40px 22px 30px; }
}


/* ═══ QA-FIXAR (frost) ═══ */
/* Hjälte-titeln: tvinga mörk färg (en mer specifik h1-regel skrev annars över). */
html[data-template="frost"] .frs-hero__title{color:#000}
/* Ingressen renderas som en <p> MED EGEN grå färg (#3D4A63) inuti .frs-hero__sub-diven
   — den ärver inte divens färg. Måste träffa själva <p>:n för att bli svart/fet. */
/* Smal, skarp VIT kontur runt bokstäverna (hård text-shadow, 0 blur = ingen glow). */
html[data-template="frost"] .frs-hero__sub p,html[data-template="frost"] p.frs-hero__sub{color:#000;font-weight:800;margin:0;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,-1px 0 0 #fff,1px 0 0 #fff}
/* [medel] html[data-template="frost"] .frs-hero__stars */
html[data-template="frost"] .frs-hero__stars{color:var(--star,#F5A623)}
/* [medel] html[data-template="frost"] .frs-hero__fact-ico */
html[data-template="frost"] .frs-hero__fact-ico{color:var(--brand-deep)}
/* [medel] html[data-template="frost"] .frs-header__cta, html[data */
html[data-template="frost"] .frs-header__cta,
html[data-template="frost"] .frs-drawer__cta,
html[data-template="frost"] .frs-footer__cta-btn,
html[data-template="frost"] .btn--primary,
html[data-template="frost"] .frs-step__num,
html[data-template="frost"] .process__check,
html[data-template="frost"] .review-card__avatar,
html[data-template="frost"] .article-badge,
html[data-template="frost"] .pagination__btn.is-active,
html[data-template="frost"] .form-step.is-active .form-step__bubble{text-shadow:0 1px 2px rgba(15,27,51,0.45)}

/* ===================================================================
   hero.png ENDAST på de frost-hjältar som HADE en hero-bild (poster).
   Postern sätts i FrostHome/FrostHero bara när sidan hade en egen
   heroImage — sidor utan hero-bild lämnas orörda (ljus bakgrund, mörk
   text). Kontrast-reglerna nedan scopas därför med :has(.frs-hero__poster)
   så de bara träffar hjältar som faktiskt har en bild.
   Enkel att ta bort — hela blocket är avgränsat här nere.
   =================================================================== */

/* Zooma UT postern: 100% höjd (i st.f. 150% topp-ankrad) + center-position
   ramar in taken i st.f. bara himlen. (Renderas bara när poster finns.) */
[data-template="frost"] .frs-hero__poster{
  top:0; height:100%;
  background-size:cover;
  background-position:center 58%;
}

/* Mörk slöja + ljus text/knappar ENDAST på hjältar med poster-bild. */
[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__frost{
  background:
    radial-gradient(120% 85% at 50% 32%, rgba(10,17,34,0.18), transparent 62%),
    linear-gradient(180deg, rgba(10,17,34,0.58) 0%, rgba(10,17,34,0.34) 45%, rgba(10,17,34,0.60) 100%);
}
html[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__title{ color:#fff; text-shadow:0 2px 20px rgba(0,0,0,0.5); }
html[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__title em,
html[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__title strong{
  color:#fff; -webkit-text-fill-color:#fff; background:none;
}
html[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__sub p,
html[data-template="frost"] .frs-hero:has(.frs-hero__poster) p.frs-hero__sub{
  color:#fff; font-weight:600; text-shadow:0 1px 12px rgba(0,0,0,0.55);
}
[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__eyebrow{
  background:rgba(255,255,255,0.15); color:#fff; border:1px solid rgba(255,255,255,0.38);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
html[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__stars{ color:#FFD36B; }

/* Sekundär/ghost-knapp → vit-på-glas mot fotot (primär behåller brand-gradient) */
[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__cta .btn--ghost,
[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__cta .btn--secondary{
  background:rgba(255,255,255,0.16); color:#fff; border:1px solid rgba(255,255,255,0.6);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__cta .btn--ghost:hover,
[data-template="frost"] .frs-hero:has(.frs-hero__poster) .frs-hero__cta .btn--secondary:hover{
  background:rgba(255,255,255,0.28); color:#fff; border-color:#fff;
}

/* ===================================================================
   Responsivitet — touch-ytor (frost-specifika). Scopat till mobil/touch
   så mus/desktop-designen är oförändrad. Avgränsat block, lätt att ta bort.
   =================================================================== */
@media (max-width: 767px), (pointer: coarse) {
  /* Hamburgar-knappen (mobilmeny) → minst 44×44. */
  [data-template="frost"] .frs-burger { min-width: 44px; min-height: 44px; }
  /* Sociala ikon-knappar i footern (38→44). */
  [data-template="frost"] .frs-footer__social-btn { min-width: 44px; min-height: 44px; }
  /* Ring/mejla-länkar i footern → bekväm tap-höjd (behåller layout). */
  [data-template="frost"] .frs-footer a[href^="tel:"],
  [data-template="frost"] .frs-footer a[href^="mailto:"] {
    min-height: 44px; display: inline-flex; align-items: center;
  }
}

/* ===================================================================
   Kompakt mobilnav i headern: Tjänster (dropdown), Priser, Om oss.
   Visas ENDAST på mobil (≤960px, där desktop-navet döljs); hamburgaren
   ligger kvar längst till höger (margin-right:auto på mininav knuffar dit).
   Desktop är oförändrat (mininav är display:none). Avgränsat block.
   =================================================================== */
[data-template="frost"] .frs-mininav { display: none; }
[data-template="frost"] .frs-mininav__item { position: relative; }
[data-template="frost"] .frs-mininav__btn,
[data-template="frost"] .frs-mininav__link {
  display: inline-flex; align-items: center; gap: 3px;
  min-height: 44px; padding: 0 7px;
  font-family: var(--frs-ff); font-weight: 600; font-size: 13.5px; line-height: 1;
  color: var(--frs-ink); background: none; border: 0; cursor: pointer;
  text-decoration: none; white-space: nowrap;
}
[data-template="frost"] .frs-mininav__chev { transition: transform 0.2s ease; flex-shrink: 0; }
[data-template="frost"] .frs-mininav__item.is-open .frs-mininav__chev { transform: rotate(180deg); }
[data-template="frost"] .frs-mininav__panel {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 1001;
  min-width: 210px; display: none; flex-direction: column; padding: 8px;
  background: var(--frs-glass-strong, rgba(255,255,255,0.92));
  -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid var(--frs-edge); border-radius: 16px;
  box-shadow: 0 14px 38px rgba(30,55,120,0.18);
}
[data-template="frost"] .frs-mininav__item.is-open .frs-mininav__panel { display: flex; }
[data-template="frost"] .frs-mininav__sub {
  display: block; padding: 11px 12px; border-radius: 10px;
  font-size: 14px; font-weight: 600; color: var(--frs-ink); text-decoration: none;
}
[data-template="frost"] .frs-mininav__sub:hover { background: rgba(var(--brand-rgb),0.08); color: var(--brand-deep); }
[data-template="frost"] .frs-mininav__sub--all {
  color: var(--brand-deep); margin-top: 4px; border-top: 1px solid var(--frs-edge);
  border-radius: 0 0 10px 10px;
}
@media (max-width: 960px) {
  [data-template="frost"] .frs-mininav {
    display: flex; align-items: center; gap: 2px;
    margin-left: 8px; margin-right: auto; min-width: 0;
  }
}
/* Trängre telefoner: krymp logga + mininav så "Om oss" aldrig krockar med
   hamburgaren (verifierat mot 320–430px). */
@media (max-width: 440px) {
  [data-template="frost"] .frs-header__glass { gap: 8px; }
  [data-template="frost"] .frs-logo img { height: 26px; }
  [data-template="frost"] .frs-mininav { gap: 0; margin-left: 4px; }
  [data-template="frost"] .frs-mininav__btn,
  [data-template="frost"] .frs-mininav__link { font-size: 12.5px; padding: 0 5px; }
}
@media (max-width: 360px) {
  [data-template="frost"] .frs-header__glass { gap: 6px; padding-left: 12px; }
  [data-template="frost"] .frs-logo img { height: 22px; }
  [data-template="frost"] .frs-mininav__btn,
  [data-template="frost"] .frs-mininav__link { font-size: 11.5px; padding: 0 3px; }
}

/* Center-hjälte: en ingress som är en ren <p class="frs-hero__sub"> (RichText av
   sträng, t.ex. collapsible-ingressen på /om-oss) fångas av regeln
   p.frs-hero__sub{margin:0} och hamnar vänsterställd i st.f. centrerad. Återställ
   auto-marginal så stycket centreras som resten av center-heron (knappen är redan
   centrerad). Endast direkta center-inner-stycken + read-more-resten. */
[data-template="frost"] .frs-hero__inner > p.frs-hero__sub,
[data-template="frost"] .frs-hero__inner > .readmore .frs-hero__sub {
  margin-left: auto;
  margin-right: auto;
}

/* ===================================================================
   BLOGG (frost, rail-hjälte): hela artikeln flödar ÖVER hero.png-bilden i
   vänsterkolumnen. Behåll bilden men gör texten vit + läsbar. Jämnare/något
   djupare slöja över hela den höga hjälten så texten syns i hela artikeln.
   Glaskort (snabbsvar, relaterat, bokningsformulär) har egen ljus bakgrund →
   lämnas orörda så de förblir läsbara. Endast frost; temat oförändrat.
   =================================================================== */
[data-template="frost"] .frs-hero--rail:has(.frs-hero__poster) .frs-hero__frost {
  background: linear-gradient(180deg, rgba(10,17,34,0.58) 0%, rgba(10,17,34,0.62) 50%, rgba(10,17,34,0.66) 100%);
}
[data-template="frost"] .frs-hero__col-article .prose,
[data-template="frost"] .frs-hero__col-article .prose p,
[data-template="frost"] .frs-hero__col-article .prose li,
[data-template="frost"] .frs-hero__col-article .prose h2,
[data-template="frost"] .frs-hero__col-article .prose h3,
[data-template="frost"] .frs-hero__col-article .prose h4,
[data-template="frost"] .frs-hero__col-article .article__meta {
  color: #fff;
  text-shadow: 0 1px 5px rgba(0,0,0,0.5);
}
/* Länkar i artikeln (inkl. "Läs mer om <tjänst>") → vita + understrukna mot bilden */
[data-template="frost"] .frs-hero__col-article .prose a,
[data-template="frost"] .frs-hero__col-article .inline-related a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* Ingressens "Läs mer/Visa mindre"-knapp i blogg-hjälten → ljus */
[data-template="frost"] .frs-hero--rail .frs-readmore__btn { color: #fff; }

