/* ═══ 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;--ff-heading:var(--next-font-fraunces),Georgia,"Times New Roman",serif;--ff-body:var(--next-font-manrope),system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--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%);background-attachment:fixed}
[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:radial-gradient(130% 120% at 84% -16%,rgba(var(--brand-rgb),0.22) 0%,transparent 58%),radial-gradient(96% 86% at -6% 4%,rgba(247,200,174,0.26) 0%,transparent 56%),radial-gradient(80% 90% at 50% 120%,rgba(157,190,154,0.14) 0%,transparent 60%),var(--bg);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:54% 46% 52% 48% / 56% 50% 50% 44%;overflow:hidden;background:var(--bg-soft);box-shadow:0 26px 56px rgba(var(--brand-rgb),0.18)}
[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; }
.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; }
.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; }

.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__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; }
  .blm-burger { display: inline-flex; }
}
@media (max-width: 560px) {
  .blm-header__cta span:first-child { display: none; }
  .blm-header__cta { padding: 11px; }
}

/* ── 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; }

.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; }
.blm-hero__title {
  margin: 22px 0 0; font-family: var(--ff-heading); font-weight: 600;
  font-size: clamp(40px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -0.02em; color: var(--ink);
}
.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); }

/* ── 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; }

/* ── 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); }

/* ── 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-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: behåll 2 signaturer (videoramens mjuka sway + EN driftande hero-blob),
     stäng av resten av de loopande blobsen. De blir kvar som statisk dekor —
     samma look, utan att 7 stora blur(70-80px)-lager omritas varje frame. */
  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-footer__blob,
  html[data-template="bloom"] .blm-footer__blob--b{animation:none}
  /* lugna ned den enda kvarvarande blob-driften */
  html[data-template="bloom"] .blm-hero__blob--a{animation-duration:22s}
}
@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}
}
