/* ═══ EXKLUSIV MALL: Bloom (bloom) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="bloom"]. Video:true. Signatur:#E07A9B. */

html[data-template="bloom"]{--bg:#FFF8F4;--bg-soft:#FCEDE9;--ink:#3A2A33;--ink-2:#6E5660;--muted:#A48C95;--line:rgba(58,42,51,0.08);--line-2:rgba(58,42,51,0.14);--star:#F0A640;--radius:30px;--radius-lg:38px;--radius-sm:18px;--btn-radius:999px;--btn-pad:16px 30px;--btn-weight:700;--btn-transform:none;--btn-tracking:0;--bl-petal:#F7C8AE;--bl-leaf:#9DBE9A}
[data-template="bloom"] body{background:var(--bg);color:var(--ink-2);background-image:radial-gradient(680px 520px at 88% -4%,rgba(var(--brand-rgb),0.10),transparent 60%),radial-gradient(560px 460px at 2% 16%,rgba(247,200,174,0.16),transparent 58%),radial-gradient(720px 640px at 50% 118%,rgba(157,190,154,0.08),transparent 62%)}
[data-template="bloom"] h1,[data-template="bloom"] h2,[data-template="bloom"] h3,[data-template="bloom"] h4{font-family:var(--ff-heading);color:var(--ink);letter-spacing:-0.01em}
[data-template="bloom"] .section{padding:90px 0}
[data-template="bloom"] .section:nth-child(even){background:radial-gradient(120% 100% at 100% 0%,rgba(var(--brand-rgb),0.06),transparent 60%),var(--bg-soft)}
[data-template="bloom"] .subhero{position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(255,248,244,0.90) 0%,rgba(255,248,244,0.74) 42%,rgba(255,248,244,0.86) 80%,rgba(255,248,244,1) 100%),url('/assets/img/services/husfasad.jpg');background-size:cover;background-position:center 30%;padding:152px 0 70px;border-bottom:0}
[data-template="bloom"] .subhero h1{color:var(--ink);font-family:var(--ff-heading);font-weight:600;line-height:1.05;letter-spacing:-0.02em}
[data-template="bloom"] .subhero__lead{color:var(--ink-2)}
[data-template="bloom"] .subhero__crumbs,[data-template="bloom"] .subhero__crumbs a{color:var(--muted)}
[data-template="bloom"] .subhero__crumbs a:hover{color:var(--brand-deep)}
[data-template="bloom"] .subhero__answer{background:#FFFDFB;border:0;border-radius:8px 30px 30px 30px;box-shadow:0 20px 50px rgba(var(--brand-rgb),0.16);color:var(--ink-2)}
[data-template="bloom"] .subhero__answer-label{color:var(--brand-deep);text-transform:uppercase;letter-spacing:0.1em;font-weight:700}
[data-template="bloom"] .subhero__answer-question{color:var(--ink)}
[data-template="bloom"] .subhero__answer p{color:var(--ink-2)}
[data-template="bloom"] .subhero__photo,[data-template="bloom"] .photo{border-radius:22px;overflow:hidden;background:var(--bg-soft);border:5px solid #FFFDFB;box-shadow:0 24px 54px rgba(var(--brand-rgb),0.20)}
/* Split-hero-bild (tjänstehubb/tjänst/geo/ort): normal rundad ram, proportionerlig höjd. */
[data-template="bloom"] .subhero--split .subhero__photo{height:440px}
@media (max-width:880px){[data-template="bloom"] .subhero--split .subhero__photo{height:300px}}
[data-template="bloom"] .eyebrow,[data-template="bloom"] .section-head .eyebrow{background:rgba(var(--brand-rgb),0.14);color:var(--brand-deep);border:0;border-radius:999px;padding:7px 16px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;font-size:12px}
[data-template="bloom"] .section-head h2{color:var(--ink);font-family:var(--ff-heading);font-weight:600;letter-spacing:-0.02em}
[data-template="bloom"] .section-head p{color:var(--ink-2)}
[data-template="bloom"] .card,[data-template="bloom"] .aside-card,[data-template="bloom"] .area-service-card,[data-template="bloom"] .article-card,[data-template="bloom"] .other-services__card,[data-template="bloom"] .hub-bottom__panel,[data-template="bloom"] .related-link,[data-template="bloom"] .contact-method{background:#FFFDFB;border:0;border-radius:28px;box-shadow:0 16px 42px rgba(var(--brand-rgb),0.12);padding:28px}
[data-template="bloom"] .card::after,[data-template="bloom"] .area-service-card::after{display:none}
[data-template="bloom"] .card:hover,[data-template="bloom"] .area-service-card:hover,[data-template="bloom"] .article-card:hover,[data-template="bloom"] .related-link:hover{transform:translateY(-6px);border-color:transparent;box-shadow:0 30px 64px rgba(var(--brand-rgb),0.22)}
[data-template="bloom"] .card h3,[data-template="bloom"] .area-service-card__body h3,[data-template="bloom"] .article-card h3,[data-template="bloom"] .related-link h3,[data-template="bloom"] .article-featured__body h2{color:var(--ink)}
[data-template="bloom"] .card p,[data-template="bloom"] .area-service-card__body p,[data-template="bloom"] .article-card p,[data-template="bloom"] .article-featured__body p{color:var(--ink-2)}
[data-template="bloom"] .card__image,[data-template="bloom"] .area-service-card__media,[data-template="bloom"] .article-card__media,[data-template="bloom"] .article-featured__media{border-radius:22px;margin:-28px -28px 16px;border-bottom:0;background:linear-gradient(150deg,rgba(var(--brand-rgb),0.18),rgba(247,200,174,0.16))}
[data-template="bloom"] .card__icon,[data-template="bloom"] .sitemap-block__icon,[data-template="bloom"] .article-tool__icon{background:rgba(var(--brand-rgb),0.16);border:0;color:var(--brand-deep);border-radius:50% 50% 48% 52% / 54% 48% 52% 46%}
[data-template="bloom"] .card__price,[data-template="bloom"] .area-service-card__price{color:var(--ink);font-weight:700}
[data-template="bloom"] .card__link,[data-template="bloom"] .area-service-card__cta,[data-template="bloom"] .article-card__cta,[data-template="bloom"] .article-featured__cta{color:var(--brand-deep);font-weight:700}
[data-template="bloom"] .article-featured{background:#FFFDFB;border:0;border-radius:38px;box-shadow:0 22px 52px rgba(var(--brand-rgb),0.16)}
[data-template="bloom"] .article-badge,[data-template="bloom"] .article-badge--onmedia{background:#FFFDFB;color:var(--brand-deep);border-radius:999px}
[data-template="bloom"] .faq__item{background:#FFFDFB;border:0;border-radius:22px;box-shadow:0 12px 32px rgba(var(--brand-rgb),0.10);margin-bottom:14px;overflow:hidden}
[data-template="bloom"] .faq__q{background:#FFFDFB;color:var(--ink);font-family:var(--ff-heading);font-weight:600}
[data-template="bloom"] .faq__icon{background:rgba(var(--brand-rgb),0.16);color:var(--brand-deep);border-radius:50%}
[data-template="bloom"] .faq__a p{color:var(--ink-2)}
[data-template="bloom"] .btn--primary{background:linear-gradient(120deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 14px 30px rgba(var(--brand-rgb),0.34)}
[data-template="bloom"] .btn--primary .btn__arrow{background:#fff;color:var(--brand-deep)}
[data-template="bloom"] .btn--ghost{background:#FFFDFB;color:var(--ink);border:0;border-radius:999px;box-shadow:0 10px 26px rgba(var(--brand-rgb),0.12)}
[data-template="bloom"] .btn--ghost .btn__arrow{background:var(--brand);color:#fff}
[data-template="bloom"] .form-card{background:#FFFDFB;border:0;border-radius:34px;box-shadow:0 22px 52px rgba(var(--brand-rgb),0.16);padding:36px}
[data-template="bloom"] .form-card h2{color:var(--ink)}
[data-template="bloom"] .field label,[data-template="bloom"] .form-step__name,[data-template="bloom"] .form-pane__title{color:var(--ink)}
[data-template="bloom"] .field input,[data-template="bloom"] .field textarea,[data-template="bloom"] .field select,[data-template="bloom"] .postal-check__row input,[data-template="bloom"] .services-search input{background:var(--bg);border:1px solid var(--line-2);border-radius:16px;color:var(--ink)}
[data-template="bloom"] .field input::placeholder,[data-template="bloom"] .field textarea::placeholder,[data-template="bloom"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="bloom"] .field input:focus,[data-template="bloom"] .field textarea:focus,[data-template="bloom"] .field select:focus,[data-template="bloom"] .postal-check__row input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px rgba(var(--brand-rgb),0.16)}
[data-template="bloom"] .form-step__bubble{background:#FFFDFB;border:2px solid var(--line-2);color:var(--muted)}
[data-template="bloom"] .form-step.is-active .form-step__bubble,[data-template="bloom"] .form-step.is-done .form-step__bubble{background:var(--brand);border-color:var(--brand);color:#fff}
[data-template="bloom"] .file-drop{background:var(--bg);border:1.5px dashed var(--line-2);border-radius:18px;color:var(--ink-2)}
[data-template="bloom"] .file-drop:hover,[data-template="bloom"] .file-drop.is-drag{border-color:var(--brand);background:rgba(var(--brand-rgb),0.06);color:var(--brand-deep)}
[data-template="bloom"] .postal-check{background:#FFFDFB;border:0;border-radius:28px;box-shadow:0 18px 44px rgba(var(--brand-rgb),0.14)}
[data-template="bloom"] .postal-check__title{color:var(--ink)}
[data-template="bloom"] .postal-check__sub{color:var(--muted)}
[data-template="bloom"] .postal-check__row{background:var(--bg);border:1px solid var(--line-2);border-radius:16px}
[data-template="bloom"] .postal-check__pin{background:rgba(var(--brand-rgb),0.16);color:var(--brand-deep);border-radius:50%}
[data-template="bloom"] .review-card,[data-template="bloom"] .reviews-carousel__card{background:#FFFDFB;border:0;border-radius:28px;box-shadow:0 16px 40px rgba(var(--brand-rgb),0.12);padding:24px}
[data-template="bloom"] .review-card blockquote,[data-template="bloom"] .review-card__author,[data-template="bloom"] .case-card__quote{color:var(--ink)}
[data-template="bloom"] .review-card blockquote{font-family:var(--ff-heading);font-style:italic}
[data-template="bloom"] .review-card__source,[data-template="bloom"] .reviews-source-label{color:var(--muted)}
[data-template="bloom"] .review-card__avatar{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff}
[data-template="bloom"] .reviews-carousel__nav,[data-template="bloom"] .card-scroller__nav,[data-template="bloom"] .hero-carousel__nav{background:#FFFDFB;border:0;color:var(--brand-deep);box-shadow:0 8px 22px rgba(var(--brand-rgb),0.14)}
[data-template="bloom"] .process__step{background:#FFFDFB;border:0;border-radius:26px;box-shadow:0 14px 34px rgba(var(--brand-rgb),0.10)}
[data-template="bloom"] .process__step h3{color:var(--ink)}
[data-template="bloom"] .process__step p{color:var(--ink-2)}
[data-template="bloom"] .process__check,[data-template="bloom"] .about-check__check{background:rgba(var(--brand-rgb),0.16);color:var(--brand-deep);border-radius:50%}
[data-template="bloom"] .trusted{background:var(--bg-soft);border:0;border-radius:38px}
[data-template="bloom"] .trusted__label,[data-template="bloom"] .reviews-source-label{color:var(--muted)}
[data-template="bloom"] .trusted__google-rating{color:var(--ink)}
[data-template="bloom"] .trusted__google-score{color:var(--ink)}
[data-template="bloom"] .trusted__google-sub{color:var(--ink-2)}
[data-template="bloom"] .price-table{background:#FFFDFB;border:0;border-radius:26px;box-shadow:0 16px 40px rgba(var(--brand-rgb),0.12);overflow:hidden;color:var(--ink-2)}
[data-template="bloom"] .price-table th{background:var(--bg-soft);color:var(--ink)}
[data-template="bloom"] .price-table td{color:var(--ink-2);border-color:var(--line)}
[data-template="bloom"] .price-table .num{color:var(--brand-deep);font-weight:700}
[data-template="bloom"] .pagination__btn,[data-template="bloom"] .article-filter__chip{background:#FFFDFB;border:0;border-radius:999px;box-shadow:0 8px 20px rgba(var(--brand-rgb),0.10);color:var(--ink-2)}
[data-template="bloom"] .pagination__btn.is-active,[data-template="bloom"] .article-filter__chip.is-active{background:var(--brand);color:#fff}
[data-template="bloom"] .sitemap-block{background:#FFFDFB;border:0;border-radius:28px;box-shadow:0 14px 38px rgba(var(--brand-rgb),0.10)}
[data-template="bloom"] .sitemap-block h2,[data-template="bloom"] .sitemap-block h3{color:var(--ink)}
[data-template="bloom"] .sitemap-block a{color:var(--ink-2)}
[data-template="bloom"] .sitemap-block a:hover{color:var(--brand-deep)}
[data-template="bloom"] .prose blockquote{border-left:3px solid var(--brand);background:var(--bg-soft);font-family:var(--ff-heading);font-style:italic;border-radius:0 18px 18px 0;color:var(--ink-2)}
[data-template="bloom"] .related-link__icon{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff}
[data-template="bloom"] .cta-strip{background:radial-gradient(640px 340px at 16% 0%,rgba(255,255,255,0.45),transparent 60%),linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;border:0;border-radius:40px;box-shadow:0 34px 76px rgba(var(--brand-rgb),0.30)}
[data-template="bloom"] .cta-strip h2{color:#fff}
[data-template="bloom"] .cta-strip p{color:rgba(255,255,255,0.92)}
[data-template="bloom"] .cta-strip .btn--primary{background:#fff;color:var(--brand-deep);border-color:#fff}
[data-template="bloom"] .cta-strip .btn--primary .btn__arrow{background:var(--brand);color:#fff}
[data-template="bloom"] .cta-strip .btn--ghost{background:rgba(255,255,255,0.16);color:#fff;box-shadow:none}
[data-template="bloom"] .mobile-call-bar{background:rgba(255,253,251,0.94);border-top:1px solid rgba(var(--brand-rgb),0.16);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
[data-template="bloom"] .mobile-call-bar .call{background:var(--brand);color:#fff;border-radius:14px}
[data-template="bloom"] .mobile-call-bar .quote{background:#FFFDFB;color:var(--ink);border:1px solid rgba(var(--brand-rgb),0.20);border-radius:14px}

/* — Animation (bloom) — */
@media (prefers-reduced-motion: no-preference){
  @keyframes bl-bloom-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
  [data-template="bloom"] .card,[data-template="bloom"] .area-service-card,[data-template="bloom"] .article-card{transition:transform .38s cubic-bezier(.2,.7,.3,1),box-shadow .38s ease}
  [data-template="bloom"] .card__icon,[data-template="bloom"] .sitemap-block__icon{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
  [data-template="bloom"] .card:hover .card__icon{transform:rotate(-8deg) scale(1.08)}
  [data-template="bloom"] .btn--primary{transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease}
  [data-template="bloom"] .btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(var(--brand-rgb),.40)}
  [data-template="bloom"] [data-reveal].in{animation:bl-bloom-in .72s cubic-bezier(.2,.7,.3,1) both}
}


/* ═══ Bloom — CHROME ═══ */
/* ===================================================================
   BLOOM — bespoke chrome (prefix .blm-). Ljus, varm florist/wellness.
   Färgas av temats variabler (--brand,--brand-rgb,--brand-deep,--ink,
   --ink-2,--bg,--bg-soft,--muted,--line,--ff-heading,--ff-body).
   =================================================================== */

/* lokala fallbacks om temat saknar någon variabel */
.blm-header, .blm-hero, .blm-trust, .blm-stats, .blm-section, .blm-footer {
  --blm-card: #FFFDFB;
  --blm-petal: var(--bl-petal, #F7C8AE);
  --blm-leaf: var(--bl-leaf, #9DBE9A);
  --blm-ink-2: var(--ink-2, #6E5660);
  --blm-muted: var(--muted, #A48C95);
  --blm-line: var(--line, rgba(58,42,51,0.10));
}

/* ── HEADER ─────────────────────────────────────────────────────── */
.blm-header { position: sticky; top: 16px; z-index: 1000; padding: 0 20px; }
.blm-header__bar {
  max-width: 1220px; margin: 0 auto;
  display: flex; align-items: center; gap: 24px;
  padding: 12px 14px 12px 24px;
  background: var(--blm-card);
  border-radius: 34px 34px 30px 34px;
  box-shadow: 0 18px 50px rgba(var(--brand-rgb), 0.16);
}
.blm-logo { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.blm-logo__mark {
  width: 40px; height: 40px; flex: 0 0 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50% 50% 48% 52% / 54% 48% 52% 46%;
  background: linear-gradient(135deg, rgba(var(--brand-rgb), 0.24), rgba(var(--brand-rgb), 0.5));
  color: var(--brand-deep);
}
.blm-logo__mark img { width: auto; height: 26px; object-fit: contain; }
/* Riktig kundlogga: ingen cirkel/bakgrund — visa loggan som den är. */
.blm-logo__mark--img { width: auto; height: auto; flex: 0 0 auto; background: none; border-radius: 0; }
.blm-logo__mark--img img { height: 74px; width: auto; }
@media (max-width: 560px) { .blm-logo__mark--img img { height: 58px; } }
.blm-logo__text { display: flex; flex-direction: column; line-height: 1.05; }
.blm-logo__name { font-family: var(--ff-heading); font-weight: 600; font-size: 20px; color: var(--ink); }
.blm-logo__tag { font-family: var(--ff-body); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--blm-muted); margin-top: 2px; }

.blm-nav { display: flex; align-items: center; gap: 4px; margin: 0 auto; }
.blm-nav__group { position: relative; }
/* Osynlig brygga över tomrummet länk→panel så dropdownen inte stängs när
   musen rör sig ned till panelen. */
.blm-nav__group::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 16px; }
.blm-nav__link {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--ff-body); font-weight: 600; font-size: 14.5px;
  padding: 9px 16px; border-radius: 999px;
  color: var(--blm-ink-2); text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.blm-nav__link:hover { background: rgba(var(--brand-rgb), 0.12); color: var(--brand-deep); }
.blm-nav__chev { font-size: 10px; opacity: 0.7; }
.blm-nav__panel {
  position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(6px);
  min-width: 248px; padding: 12px;
  background: var(--blm-card);
  border-radius: 8px 22px 22px 22px;
  box-shadow: 0 22px 54px rgba(var(--brand-rgb), 0.20);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
  z-index: 20;
}
.blm-nav__panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.blm-nav__panel-link {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: 16px;
  color: var(--ink); text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
}
.blm-nav__panel-link svg { color: var(--brand-deep); flex: 0 0 18px; }
.blm-nav__panel-link:hover { background: rgba(var(--brand-rgb), 0.10); color: var(--brand-deep); }
.blm-nav__panel-label { display: block; font-family: var(--ff-body); font-weight: 700; font-size: 14px; }
.blm-nav__panel-sub { display: block; font-size: 12.5px; color: var(--blm-muted); margin-top: 1px; }

/* Mobil snabbnav (Tjänster-dropdown + Om oss) — dold på desktop, visas ≤980px. */
.blm-mnav { display: none; align-items: center; gap: 6px; }
.blm-mnav__group { position: relative; }
.blm-mnav__link {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--ff-body); font-weight: 600; font-size: 14px; line-height: 1;
  padding: 9px 13px; border-radius: 999px;
  color: var(--blm-ink-2); text-decoration: none;
  background: none; border: 0; cursor: pointer;
}
.blm-mnav__link:hover { background: rgba(var(--brand-rgb), 0.12); color: var(--brand-deep); }
.blm-mnav__panel {
  position: absolute; top: calc(100% + 10px); left: 0;
  min-width: 230px; padding: 10px;
  background: var(--blm-card);
  border-radius: 8px 20px 20px 20px;
  box-shadow: 0 22px 54px rgba(var(--brand-rgb), 0.20);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 20;
}
.blm-mnav__panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }

.blm-header__right { display: flex; align-items: center; gap: 10px; }
.blm-header__phone {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 16px; border-radius: 999px;
  background: rgba(var(--brand-rgb), 0.1); color: var(--brand-deep);
  font-family: var(--ff-body); font-weight: 700; font-size: 14px; text-decoration: none;
}
.blm-header__phone:hover { background: rgba(var(--brand-rgb), 0.18); }
.blm-header__cta {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 11px 12px 11px 22px; border-radius: 999px;
  background: linear-gradient(120deg, var(--brand), var(--brand-deep)); color: #fff;
  font-family: var(--ff-body); font-weight: 700; font-size: 14px; text-decoration: none;
  box-shadow: 0 12px 26px rgba(var(--brand-rgb), 0.34);
  transition: transform 0.25s cubic-bezier(.2,.7,.3,1), box-shadow 0.25s ease;
}
.blm-header__cta:hover { transform: translateY(-1px); box-shadow: 0 16px 32px rgba(var(--brand-rgb), 0.42); }
.blm-header__cta-badge {
  width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.22); font-size: 14px; line-height: 1;
}
.blm-burger {
  display: none; width: 44px; height: 44px; border: 0; cursor: pointer;
  align-items: center; justify-content: center; border-radius: 14px;
  background: rgba(var(--brand-rgb), 0.08); color: var(--brand-deep);
}

.blm-drawer {
  max-width: 1220px; margin: 12px auto 0; padding: 14px;
  background: var(--blm-card); border-radius: 24px;
  box-shadow: 0 18px 50px rgba(var(--brand-rgb), 0.18);
  display: flex; flex-direction: column;
}
.blm-drawer__link { font-family: var(--ff-heading); font-weight: 600; font-size: 17px; color: var(--ink); padding: 12px 8px; text-decoration: none; border-bottom: 1px solid var(--blm-line); }
.blm-drawer__group { display: flex; flex-direction: column; }
.blm-drawer__toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; background: none; border: 0; border-bottom: 1px solid var(--blm-line); cursor: pointer; text-align: left; }
.blm-drawer__chev { font-size: 12px; opacity: 0.6; transition: transform 0.2s ease; }
.blm-drawer__chev.is-open { transform: rotate(180deg); }
.blm-drawer__sublink { font-family: var(--ff-body); font-size: 14.5px; color: var(--blm-ink-2); padding: 8px 8px 8px 20px; text-decoration: none; }
.blm-drawer__phone { font-family: var(--ff-body); font-weight: 700; color: var(--brand-deep); padding: 14px 8px 4px; text-decoration: none; }
.blm-drawer__cta {
  margin-top: 10px; text-align: center; padding: 14px; border-radius: 999px;
  background: linear-gradient(120deg, var(--brand), var(--brand-deep)); color: #fff;
  font-family: var(--ff-body); font-weight: 700; text-decoration: none;
}

@media (max-width: 980px) {
  .blm-nav { display: none; }
  .blm-header__phone { display: none; }
  /* Ta bort "Begär offert" ur mobil-baren (finns kvar i burgarmenyn). */
  .blm-header__cta { display: none; }
  /* Loggan vänster → Tjänster + Om oss → burgaren längst till höger. */
  .blm-mnav { display: flex; margin-right: auto; }
  .blm-burger { display: inline-flex; }
}
@media (max-width: 560px) {
  .blm-header__bar { gap: 12px; padding-left: 16px; }
  .blm-mnav { gap: 2px; }
  .blm-mnav__link { font-size: 13px; padding: 8px 10px; }
}

/* ── HERO ───────────────────────────────────────────────────────── */
.blm-hero {
  position: relative; overflow: hidden;
  padding: 64px 20px 92px;
  background:
    radial-gradient(72% 92% at 88% -12%, rgba(var(--brand-rgb), 0.24), transparent 58%),
    radial-gradient(60% 72% at -4% 8%, rgba(247,200,174,0.26), transparent 56%),
    radial-gradient(70% 80% at 50% 120%, rgba(157,190,154,0.14), transparent 60%),
    var(--bg);
}
.blm-hero__blob {
  position: absolute; pointer-events: none; filter: blur(70px); z-index: 0;
  border-radius: 54% 46% 52% 48% / 56% 50% 50% 44%;
}
.blm-hero__blob--a { width: 460px; height: 460px; top: -120px; right: -90px; background: rgba(var(--brand-rgb), 0.42); opacity: 0.55; }
.blm-hero__blob--b { width: 380px; height: 380px; bottom: -120px; left: -100px; background: rgba(247,200,174,0.32); opacity: 0.6; }
.blm-hero__blob--c { width: 320px; height: 320px; top: 40%; left: 46%; background: rgba(157,190,154,0.26); opacity: 0.5; }

/* Foto-hero (startsidan): bakgrundsbild över hela sektionen, ljus vänsterwash för
   läsbar text, och mjuk botten-övergång ned i nästa sektion. */
.blm-hero--photo {
  background-image:
    linear-gradient(100deg, rgba(255,248,244,0.90) 0%, rgba(255,248,244,0.68) 44%, rgba(255,248,244,0.30) 76%, rgba(255,248,244,0.10) 100%),
    url('/assets/img/services/husfasad.jpg');
  background-size: cover;
  background-position: center 30%;
  padding-bottom: 132px;
}
.blm-hero--photo::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 170px;
  background: linear-gradient(transparent, var(--bg));
  z-index: 1; pointer-events: none;
}
.blm-hero--photo .blm-hero__inner { grid-template-columns: 1fr; }
@media (max-width: 1000px) {
  .blm-hero--photo {
    background-image:
      linear-gradient(180deg, rgba(255,248,244,0.92) 0%, rgba(255,248,244,0.78) 55%, rgba(255,248,244,0.40) 100%),
      url('/assets/img/services/husfasad.jpg');
  }
}

/* Hero med Reco-karusell: smal karusell vänster + tom balanskolumn höger →
   innehållet (mittkolumnen) blir SID-centrerat. */
.blm-hero--reviews .blm-hero__inner { grid-template-columns: 240px 1fr 240px; gap: 40px; align-items: center; }
/* Grid/flex-barn ska kunna krympa under sitt innehålls min-storlek (annars spiller
   långa ord / breda pills ut över viewporten på mycket smala skärmar). */
.blm-hero__copy, .blm-hero__reviews-col { min-width: 0; }
.blm-hero__cta-row > * { max-width: 100%; }
.blm-hero__copy--center { width: 100%; max-width: 680px; margin-left: auto; margin-right: auto; text-align: center; }
.blm-hero__copy--center .blm-hero__cta-row { justify-content: center; }
.blm-hero__copy--center .blm-hero__facts { justify-content: center; }
.blm-hero__copy--center .blm-hero__postal-slot { margin-left: auto; margin-right: auto; }

/* Vertikal recensionskarusell (auto-scroll, paus vid hover). */
.blm-hero-reviews { position: relative; max-height: 540px; overflow: hidden;
  -webkit-mask-image: linear-gradient(transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(transparent, #000 10%, #000 90%, transparent); }
.blm-hero-reviews__track { display: flex; flex-direction: column; animation: blm-reviews-scroll 60s linear infinite; }
.blm-hero-reviews:hover .blm-hero-reviews__track { animation-play-state: paused; }
@keyframes blm-reviews-scroll { to { transform: translateY(-50%); } }
.blm-hero-review { background: var(--blm-card, #FFFDFB); border-radius: 20px; padding: 18px 20px; margin-bottom: 16px;
  box-shadow: 0 12px 30px rgba(var(--brand-rgb), 0.12); }
.blm-hero-review__stars { color: var(--star, #F0A640); display: flex; margin-bottom: 8px; }
.blm-hero-review__stars .hero__stars { display: inline-flex; }
.blm-hero-review__body { margin: 0; font-family: var(--ff-body); font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.blm-hero-review__name { margin-top: 10px; font-family: var(--ff-body); font-weight: 700; font-size: 14px; color: var(--ink); }

@media (prefers-reduced-motion: reduce) { .blm-hero-reviews__track { animation: none; } }
@media (max-width: 1000px) {
  .blm-hero--reviews .blm-hero__inner { grid-template-columns: 1fr; }
  .blm-hero__reviews-col { order: 2; max-width: 520px; margin: 0 auto; width: 100%; }
  .blm-hero__copy--center { order: 1; }
  .blm-hero-reviews { max-height: 420px; }
}

.blm-hero__inner {
  position: relative; z-index: 2;
  max-width: 1220px; margin: 0 auto;
  display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 60px; align-items: center;
}
.blm-hero__copy { max-width: 560px; }
.blm-hero__rating {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 8px 16px; border-radius: 999px;
  background: var(--blm-card); box-shadow: 0 10px 26px rgba(var(--brand-rgb), 0.14);
  font-family: var(--ff-body); font-weight: 600; font-size: 13.5px; color: var(--blm-ink-2);
}
.blm-hero__rating .hero__stars { color: var(--star, #F0A640); display: inline-flex; }
/* Mycket smala skärmar: låt betygspillen radbrytas i stället för att spilla över. */
.blm-hero__rating > span { min-width: 0; }
@media (max-width: 420px) {
  .blm-hero__rating { display: flex; max-width: 100%; flex-wrap: wrap; justify-content: center; row-gap: 3px; }
}
.blm-hero__title {
  margin: 22px 0 0; font-family: var(--ff-heading); font-weight: 600;
  font-size: clamp(34px, 4.6vw, 58px); line-height: 1.14; letter-spacing: -0.015em; color: var(--ink);
  text-wrap: balance; overflow-wrap: break-word; hyphens: auto;
}
.blm-hero__title em {
  font-style: normal; color: var(--brand-deep);
  background: rgba(var(--brand-rgb), 0.18);
  border-radius: 40% 60% 55% 45% / 55% 45% 55% 45%;
  padding: 0 0.18em; box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.blm-hero__title strong { font-weight: 600; color: var(--brand-deep); }
.blm-hero__lead { margin: 20px 0 0; font-family: var(--ff-body); font-size: 19px; line-height: 1.6; color: var(--blm-ink-2); }
.blm-hero__cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.blm-hero__facts { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.blm-hero__fact {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; border-radius: 999px;
  background: var(--blm-card); box-shadow: 0 8px 20px rgba(var(--brand-rgb), 0.10);
  font-family: var(--ff-body); font-weight: 600; font-size: 13.5px; color: var(--ink);
}
.blm-hero__fact-ico { display: inline-flex; color: var(--brand); }
.blm-hero__postal-slot { margin-top: 28px; max-width: 460px; }

.blm-hero__media { position: relative; }
.blm-hero__media-shadow {
  position: absolute; z-index: 0; inset: 30px -26px -34px 30px;
  background: rgba(var(--brand-rgb), 0.30); filter: blur(40px);
  border-radius: 56% 44% 52% 48% / 54% 50% 48% 50%;
}
.blm-hero__media-frame {
  position: relative; z-index: 1;
  aspect-ratio: 4 / 5; overflow: hidden;
  border-radius: 56% 44% 52% 48% / 54% 50% 48% 50%;
  border: 6px solid var(--blm-card);
  box-shadow: 0 32px 72px rgba(var(--brand-rgb), 0.26);
  background: var(--bg-soft);
  transform-origin: center;
}
.blm-hero__video { width: 100%; height: 100%; object-fit: cover; display: block; }
.blm-hero__media-fallback {
  position: absolute; inset: 0;
  background: linear-gradient(150deg, rgba(var(--brand-rgb), 0.36), rgba(247,200,174,0.30) 55%, rgba(157,190,154,0.28));
}
.blm-hero__veil { position: absolute; inset: 0; background: linear-gradient(to top, rgba(58,42,51,0.22), transparent 42%); }
.blm-hero__proof {
  position: absolute; z-index: 3; left: -18px; bottom: 26px;
  display: inline-flex; align-items: center; gap: 9px;
  padding: 11px 18px; border-radius: 999px;
  background: var(--blm-card); box-shadow: 0 16px 38px rgba(var(--brand-rgb), 0.22);
  font-family: var(--ff-body); font-weight: 700; font-size: 13px; color: var(--ink);
}
.blm-hero__proof .hero__stars { color: var(--star, #F0A640); display: inline-flex; }
.blm-hero__trust {
  position: relative; z-index: 3; margin-top: 22px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 18px; justify-content: center;
}
.blm-hero__trust img { opacity: 0.82; }

@media (max-width: 1000px) {
  .blm-hero__inner { grid-template-columns: 1fr; gap: 44px; }
  .blm-hero__media { order: -1; max-width: 480px; margin: 0 auto; width: 100%; }
  .blm-hero__copy { max-width: none; }
}
@media (max-width: 560px) {
  .blm-hero { padding: 40px 18px 72px; }
}

/* ── TRUST-BAND ─────────────────────────────────────────────────── */
.blm-trust { padding: 8px 20px 0; }
.blm-trust__inner { max-width: 1220px; margin: 0 auto; }

/* ── STATS ──────────────────────────────────────────────────────── */
.blm-stats { padding: 40px 20px; }
.blm-stats__inner {
  max-width: 1220px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px;
  padding: 34px; border-radius: 38px;
  background: var(--bg-soft);
}
.blm-stat { text-align: center; }
.blm-stat__num { font-family: var(--ff-heading); font-weight: 600; font-size: clamp(32px, 4vw, 46px); color: var(--brand-deep); line-height: 1; }
.blm-stat__lab { margin-top: 8px; font-family: var(--ff-body); font-size: 14px; color: var(--blm-ink-2); }

/* ── CERTIFIKAT & GARANTIER (logga-rad) ─────────────────────────── */
.blm-certs { background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 30px 0; }
.blm-certs__inner { max-width: 1220px; margin: 0 auto; text-align: center; padding: 0 20px; }
.blm-certs__eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  color: var(--muted); font-family: var(--ff-body); font-weight: 700;
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.14em;
}
.blm-certs__eyebrow::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); flex: 0 0 auto; }
/* Vänster-rullande karusell (marquee) */
.blm-certs__marquee {
  margin-top: 22px; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.blm-certs__track {
  display: flex; width: max-content; align-items: flex-start; gap: clamp(40px, 7vw, 92px);
  animation: blm-certs-scroll 62s linear infinite;
}
.blm-certs__marquee:hover .blm-certs__track { animation-play-state: paused; }
.blm-certs__item { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 11px; }
.blm-certs__logo-box { height: 58px; display: flex; align-items: center; justify-content: center; }
.blm-certs__logo { width: auto; object-fit: contain; display: block; max-height: 100%; }
.blm-certs__logo--bkr { height: 54px; border-radius: 11px; }
.blm-certs__logo--reco { height: 44px; }
.blm-certs__logo--heta { height: 52px; }
.blm-certs__logo--id06 { height: 54px; }
.blm-certs__logo--ssg { height: 56px; }
.blm-certs__logo--basp { height: 48px; }
.blm-certs__logo--safe { height: 50px; border-radius: 8px; }
.blm-certs__name {
  font-family: var(--ff-body); font-size: 12px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); white-space: nowrap;
}
@keyframes blm-certs-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .blm-certs__track { animation: none; } }
@media (max-width: 560px) {
  .blm-certs { padding: 24px 0; }
  .blm-certs__logo-box { height: 46px; }
  .blm-certs__logo--bkr, .blm-certs__logo--id06, .blm-certs__logo--ssg { height: 44px; }
  .blm-certs__logo--reco { height: 36px; }
  .blm-certs__logo--heta { height: 42px; }
  .blm-certs__logo--basp { height: 40px; }
  .blm-certs__logo--safe { height: 40px; }
}

/* ── SEKTION (gemensam) ─────────────────────────────────────────── */
.blm-section { padding: 84px 20px; }
.blm-section--soft {
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(var(--brand-rgb), 0.06), transparent 60%),
    var(--bg-soft);
}
.blm-section__head { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.blm-eyebrow {
  display: inline-block; padding: 7px 16px; border-radius: 999px;
  background: rgba(var(--brand-rgb), 0.14); color: var(--brand-deep);
  font-family: var(--ff-body); font-weight: 700; font-size: 12px;
  text-transform: uppercase; letter-spacing: 0.1em;
}
.blm-section__title { margin: 16px 0 0; font-family: var(--ff-heading); font-weight: 600; font-size: clamp(28px, 3.4vw, 42px); letter-spacing: -0.02em; color: var(--ink); line-height: 1.1; }
.blm-section__intro { margin: 14px 0 0; font-family: var(--ff-body); font-size: 17px; line-height: 1.6; color: var(--blm-ink-2); }

/* ── TJÄNST-KORT ────────────────────────────────────────────────── */
.blm-cards { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.blm-card {
  display: flex; flex-direction: column; text-decoration: none;
  background: var(--blm-card); border-radius: 28px; padding: 28px; overflow: hidden;
  box-shadow: 0 16px 42px rgba(var(--brand-rgb), 0.12);
  transition: transform 0.38s cubic-bezier(.2,.7,.3,1), box-shadow 0.38s ease;
}
.blm-card:hover { transform: translateY(-6px); box-shadow: 0 30px 64px rgba(var(--brand-rgb), 0.22); }
.blm-card__media {
  position: relative; margin: -28px -28px 16px; aspect-ratio: 4 / 3; overflow: hidden;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(150deg, rgba(var(--brand-rgb), 0.18), rgba(247,200,174,0.16));
  display: flex; align-items: center; justify-content: center;
}
.blm-card__media img { width: 100%; height: 100%; object-fit: cover; }
.blm-card__icon {
  width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(var(--brand-rgb), 0.16); color: var(--brand-deep);
  border-radius: 50% 50% 48% 52% / 54% 48% 52% 46%;
  transition: transform 0.5s cubic-bezier(.2,.7,.3,1);
}
.blm-card:hover .blm-card__icon { transform: rotate(-8deg) scale(1.08); }
.blm-card__title { margin: 0; font-family: var(--ff-heading); font-weight: 600; font-size: 20px; color: var(--ink); }
.blm-card__text { margin: 8px 0 0; font-family: var(--ff-body); font-size: 15px; line-height: 1.55; color: var(--blm-ink-2); }
.blm-card__price { margin-top: 12px; font-family: var(--ff-body); font-weight: 700; color: var(--ink); }
.blm-card__link { margin-top: auto; padding-top: 16px; display: inline-flex; align-items: center; gap: 7px; font-family: var(--ff-body); font-weight: 700; font-size: 14.5px; color: var(--brand-deep); }
[data-template="bloom"] .blm-card__body { display: flex; flex-direction: column; flex: 1; }

/* ── HUBBAR (rubrik-rad + tjänste-pills per kategori) ────────────── */
.blm-hubs { max-width: 1220px; margin: 0 auto; display: flex; flex-direction: column; gap: 26px; }
.blm-hub { display: flex; flex-direction: column; gap: 10px; }
.blm-hub__head {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: var(--bg-soft); border: 1px solid var(--blm-line);
  border-radius: 18px; padding: 18px 24px; text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.blm-hub__head:hover { border-color: rgba(var(--brand-rgb), 0.28); box-shadow: 0 14px 34px rgba(var(--brand-rgb), 0.10); }
.blm-hub__title { font-family: var(--ff-heading); font-weight: 600; font-size: 20px; letter-spacing: -0.01em; color: var(--ink); line-height: 1.2; }
.blm-hub__more { display: inline-flex; align-items: center; gap: 7px; font-family: var(--ff-body); font-weight: 700; font-size: 14px; color: var(--brand-deep); white-space: nowrap; }
.blm-hub__head:hover .blm-hub__more { gap: 10px; }
.blm-hub__pills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.blm-hub__pill {
  display: flex; align-items: center; gap: 10px;
  background: var(--blm-card, #FFFDFB); border: 1px solid var(--blm-line);
  border-radius: 14px; padding: 13px 16px;
  font-family: var(--ff-body); font-size: 14px; font-weight: 600;
  color: var(--blm-ink-2); text-decoration: none; line-height: 1.3;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.blm-hub__pill:hover { border-color: rgba(var(--brand-rgb), 0.35); background: rgba(var(--brand-rgb), 0.04); color: var(--brand-deep); }
.blm-hub__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--brand); flex: 0 0 7px; }
.blm-hub__text { margin: 0; font-family: var(--ff-body); font-size: 14px; line-height: 1.55; color: var(--blm-ink-2); }
@media (max-width: 560px) { .blm-hub__pills { grid-template-columns: repeat(2, 1fr); } }

/* ── OM OSS ─────────────────────────────────────────────────────── */
.blm-about { max-width: 760px; margin: 0 auto; text-align: center; }
.blm-about__title { margin: 16px 0 0; font-family: var(--ff-heading); font-weight: 600; font-size: clamp(26px, 3.2vw, 38px); color: var(--ink); letter-spacing: -0.02em; }
.blm-about__intro { margin: 16px 0 0; font-family: var(--ff-body); font-size: 18px; line-height: 1.65; color: var(--blm-ink-2); }

/* ── TVÅSPALT: text vänster + kort/bilder höger (tjänster & om oss) ── */
.blm-split { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 52px; align-items: start; }
.blm-split__text { max-width: 520px; }
.blm-split__text .blm-section__title { margin-top: 16px; }
.blm-split__prose { margin-top: 18px; }
.blm-split__prose p { margin: 0 0 14px; font-family: var(--ff-body); font-size: 16px; line-height: 1.7; color: var(--blm-ink-2); }
.blm-split__prose p:last-child { margin-bottom: 0; }
.blm-split__cards { max-width: none; margin: 0; grid-template-columns: repeat(2, 1fr); }
[data-template="bloom"] .blm-split .readmore__toggle { color: var(--brand-deep); font-family: var(--ff-body); font-weight: 700; }
[data-template="bloom"] .blm-split .readmore__content::after { background: linear-gradient(transparent, var(--bg)); }
[data-template="bloom"] .blm-section--soft .blm-split .readmore__content::after { background: linear-gradient(transparent, var(--bg-soft)); }

/* Om oss-bildgalleri (samma storlek, anpassat till sektionsytan) */
.blm-about-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.blm-about-img { aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; box-shadow: 0 16px 40px rgba(var(--brand-rgb), 0.14); background: var(--bg-soft); }
.blm-about-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s cubic-bezier(.2,.7,.3,1); }
.blm-about-img:hover img { transform: scale(1.06); }

@media (max-width: 1000px) {
  .blm-split { grid-template-columns: 1fr; gap: 32px; }
  .blm-split__text { max-width: none; }
}
@media (max-width: 560px) {
  .blm-split__cards { grid-template-columns: 1fr; }
  .blm-about-gallery { gap: 12px; }
}

/* ── USP ────────────────────────────────────────────────────────── */
.blm-usps { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
.blm-usp { background: var(--blm-card); border-radius: 26px; padding: 28px; box-shadow: 0 14px 38px rgba(var(--brand-rgb), 0.10); }
.blm-usp__icon { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% 50% 48% 52% / 54% 48% 52% 46%; background: rgba(var(--brand-rgb), 0.16); color: var(--brand-deep); }
.blm-usp__title { margin: 16px 0 0; font-family: var(--ff-heading); font-weight: 600; font-size: 19px; color: var(--ink); }
.blm-usp__text { margin: 8px 0 0; font-family: var(--ff-body); font-size: 15px; line-height: 1.55; color: var(--blm-ink-2); }

/* ── PROCESS ────────────────────────────────────────────────────── */
.blm-steps { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.blm-step { position: relative; background: var(--blm-card); border-radius: 26px; padding: 30px 26px 26px; box-shadow: 0 14px 34px rgba(var(--brand-rgb), 0.10); }
.blm-step__num {
  position: absolute; top: -18px; left: 26px;
  width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50% 50% 48% 52% / 54% 48% 52% 46%;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep)); color: #fff;
  font-family: var(--ff-heading); font-weight: 600; font-size: 18px;
}
.blm-step__title { margin: 10px 0 0; font-family: var(--ff-heading); font-weight: 600; font-size: 18px; color: var(--ink); }
.blm-step__text { margin: 8px 0 0; font-family: var(--ff-body); font-size: 14.5px; line-height: 1.55; color: var(--blm-ink-2); }

/* ── FOOTER ─────────────────────────────────────────────────────── */
.blm-footer {
  position: relative; overflow: hidden; margin-top: 64px;
  background: var(--bg-soft);
  border-radius: 48px 48px 0 0;
}
.blm-footer__blob { position: absolute; pointer-events: none; filter: blur(80px); z-index: 0; border-radius: 54% 46% 52% 48% / 56% 50% 50% 44%; }
.blm-footer__blob--a { width: 420px; height: 420px; top: -140px; right: -100px; background: rgba(var(--brand-rgb), 0.4); opacity: 0.5; }
.blm-footer__blob--b { width: 340px; height: 340px; bottom: -120px; left: -80px; background: rgba(157,190,154,0.24); opacity: 0.55; }
.blm-footer__inner { position: relative; z-index: 2; max-width: 1220px; margin: 0 auto; padding: 64px 24px 36px; }

.blm-footer__cta {
  text-align: center; padding: 48px 36px; margin-bottom: 56px;
  border-radius: 40px;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep)); color: #fff;
  box-shadow: 0 30px 70px rgba(var(--brand-rgb), 0.30);
}
.blm-footer__cta-title { margin: 0; font-family: var(--ff-heading); font-weight: 600; font-size: clamp(26px, 3.2vw, 38px); color: #fff; }
.blm-footer__cta-sub { margin: 12px auto 0; max-width: 540px; font-family: var(--ff-body); font-size: 17px; line-height: 1.5; color: rgba(255,255,255,0.92); }
.blm-footer__cta-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: center; }
.blm-footer__cta-btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 13px 14px 13px 26px; border-radius: 999px;
  background: var(--blm-card); color: var(--brand-deep);
  font-family: var(--ff-body); font-weight: 700; text-decoration: none;
  box-shadow: 0 14px 30px rgba(0,0,0,0.14);
}
.blm-footer__cta-badge { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--brand-rgb), 0.18); }
.blm-footer__cta-phone { font-family: var(--ff-body); font-weight: 700; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.5); padding-bottom: 2px; }

.blm-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; }
.blm-footer__brand { max-width: 360px; }
.blm-footer__logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.blm-footer__logo img { height: 54px; width: auto; }
.blm-footer__logo-mark { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% 50% 48% 52% / 54% 48% 52% 46%; background: linear-gradient(135deg, rgba(var(--brand-rgb), 0.24), rgba(var(--brand-rgb), 0.5)); color: var(--brand-deep); }
.blm-footer__logo-name { font-family: var(--ff-heading); font-weight: 600; font-size: 22px; color: var(--ink); }
.blm-footer__tagline { margin: 16px 0 0; font-family: var(--ff-body); font-size: 15px; line-height: 1.6; color: var(--blm-ink-2); }
.blm-footer__address, .blm-footer__hours { margin: 12px 0 0; font-family: var(--ff-body); font-size: 14px; line-height: 1.6; color: var(--blm-ink-2); }
.blm-footer__contact { margin-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.blm-footer__contact a { font-family: var(--ff-body); font-weight: 700; font-size: 15px; color: var(--brand-deep); text-decoration: none; }
.blm-footer__social { margin-top: 18px; display: flex; gap: 10px; }
.blm-footer__social-btn {
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50% 50% 48% 52% / 54% 48% 52% 46%;
  background: rgba(var(--brand-rgb), 0.12); color: var(--brand-deep);
  font-family: var(--ff-body); font-weight: 700; text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.blm-footer__social-btn:hover { background: rgba(var(--brand-rgb), 0.22); transform: translateY(-2px); }
.blm-footer__col-head { margin: 0 0 14px; font-family: var(--ff-heading); font-weight: 600; font-size: 16px; color: var(--ink); }
.blm-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.blm-footer__links a { font-family: var(--ff-body); font-size: 14.5px; color: var(--blm-ink-2); text-decoration: none; transition: color 0.18s ease; }
.blm-footer__links a:hover { color: var(--brand-deep); }

.blm-footer__bottom {
  margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--blm-line);
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center;
  font-family: var(--ff-body); font-size: 13.5px; color: var(--blm-muted);
}
.blm-footer__bottom-links { display: flex; flex-wrap: wrap; gap: 18px; }
.blm-footer__bottom-links a { color: var(--blm-muted); text-decoration: none; }
.blm-footer__bottom-links a:hover { color: var(--brand-deep); }

@media (max-width: 900px) {
  .blm-footer__grid { grid-template-columns: 1fr 1fr; }
  .blm-footer__brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 560px) {
  .blm-footer__grid { grid-template-columns: 1fr; }
  .blm-footer__cta { padding: 36px 22px; }
  .blm-footer__inner { padding: 48px 18px 32px; }
}

/* ── ANIMATIONER (respekterar reduced-motion) ───────────────────── */
@media (prefers-reduced-motion: no-preference) {
  @keyframes blm-petal-drift { 0%,100% { transform: translate(0,0) rotate(0deg) scale(1); } 50% { transform: translate(16px,-22px) rotate(8deg) scale(1.06); } }
  @keyframes blm-petal-drift-2 { 0%,100% { transform: translate(0,0) rotate(0deg) scale(1); } 50% { transform: translate(-18px,16px) rotate(-10deg) scale(1.05); } }
  @keyframes blm-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
  @keyframes blm-sway { 0%,100% { transform: rotate(-1.2deg); } 50% { transform: rotate(1.2deg); } }
  .blm-hero__blob { animation: blm-petal-drift 13s ease-in-out infinite; }
  .blm-hero__blob--b { animation: blm-petal-drift-2 16s ease-in-out infinite; }
  .blm-hero__blob--c { animation: blm-petal-drift 18s ease-in-out infinite reverse; }
  .blm-hero__proof { animation: blm-float 5s ease-in-out infinite; }
  .blm-hero__media-frame { animation: blm-sway 9s ease-in-out infinite; }
  .blm-footer__blob { animation: blm-petal-drift 17s ease-in-out infinite; }
  .blm-footer__blob--b { animation: blm-petal-drift-2 19s ease-in-out infinite; }
}


/* ═══ QA-FIXAR (bloom) ═══ */
/* [hög] html[data-template="bloom"] .btn--primary */
html[data-template="bloom"] .btn--primary{background:linear-gradient(120deg,color-mix(in srgb,var(--brand),var(--ink) 14%) 0%,color-mix(in srgb,var(--brand-deep),var(--ink) 34%) 100%);text-shadow:0 1px 2px rgba(0,0,0,0.28)}
/* [hög] html[data-template="bloom"] .card__link, html[data-temp */
html[data-template="bloom"] .card__link, html[data-template="bloom"] .area-service-card__cta, html[data-template="bloom"] .article-card__cta, html[data-template="bloom"] .article-featured__cta{color:color-mix(in srgb,var(--brand-deep),var(--ink) 48%)}
/* [hög] html[data-template="bloom"] .eyebrow, html[data-templat */
html[data-template="bloom"] .eyebrow, html[data-template="bloom"] .section-head .eyebrow, html[data-template="bloom"] .blm-eyebrow, html[data-template="bloom"] .subhero__answer-label{color:color-mix(in srgb,var(--brand-deep),var(--ink) 50%)}
/* [medel] html[data-template="bloom"] .price-table .num, html[dat */
html[data-template="bloom"] .price-table .num{color:color-mix(in srgb,var(--brand-deep),var(--ink) 45%)}
/* [medel] html[data-template="bloom"] .blm-nav__panel-link, html[ */
html[data-template="bloom"] .blm-nav__panel-link svg{color:color-mix(in srgb,var(--brand-deep),var(--ink) 40%)}
html[data-template="bloom"] .blm-nav__panel-link:hover{color:color-mix(in srgb,var(--brand-deep),var(--ink) 45%)}
html[data-template="bloom"] .blm-header__phone{color:color-mix(in srgb,var(--brand-deep),var(--ink) 40%)}
/* [låg] html[data-template="bloom"] .subhero__crumbs a:hover, h */
html[data-template="bloom"] .subhero__crumbs a:hover, html[data-template="bloom"] .sitemap-block a:hover, html[data-template="bloom"] .blm-footer__links a:hover, html[data-template="bloom"] .blm-footer__bottom-links a:hover, html[data-template="bloom"] .footer a:hover{color:color-mix(in srgb,var(--brand-deep),var(--ink) 45%)}

/* ═══ ANIMATIONS-FINPUTSNING (bloom) — 7 loopande (infinite) animationer på startsidan: 3 hero-blobs + hero-proof (floa ═══ */
@media (prefers-reduced-motion: no-preference){
  /* Bloom: stäng av ALLA loopande animationer på stora blur(40-80px)-lager och
     hero-ramen. De blir kvar som statisk dekor — samma look, utan att tunga lager
     omritas varje frame (fixar scroll-lagg). */
  html[data-template="bloom"] .blm-hero__blob,
  html[data-template="bloom"] .blm-hero__blob--a,
  html[data-template="bloom"] .blm-hero__blob--b,
  html[data-template="bloom"] .blm-hero__blob--c,
  html[data-template="bloom"] .blm-hero__proof,
  html[data-template="bloom"] .blm-hero__media-frame,
  html[data-template="bloom"] .blm-footer__blob,
  html[data-template="bloom"] .blm-footer__blob--b{animation:none}
}
@media (prefers-reduced-motion: reduce){
  html[data-template="bloom"] .blm-hero__blob,
  html[data-template="bloom"] .blm-hero__blob--a,
  html[data-template="bloom"] .blm-hero__blob--b,
  html[data-template="bloom"] .blm-hero__blob--c,
  html[data-template="bloom"] .blm-hero__proof,
  html[data-template="bloom"] .blm-hero__media-frame,
  html[data-template="bloom"] .blm-footer__blob,
  html[data-template="bloom"] .blm-footer__blob--b{animation:none}
}
