/* ═══ EXKLUSIV MALL: Solstice — varm soluppgång/optimistisk wellness (solstice) ═══ Inre-sid-CSS-lager + animation. Scopat [data-template="solstice"]. Video:true. Signatur:#FF7A45. */

html[data-template="solstice"]{--bg:#FFF8F0;--bg-soft:#FDEFE0;--ink:#2A1F18;--ink-2:#5A463A;--muted:#9C8676;--line:rgba(42,31,24,0.10);--line-2:rgba(42,31,24,0.18);--star:#FF7A45;--ff-heading:var(--next-font-fraunces),"Iowan Old Style",Georgia,serif;--ff-body:var(--next-font-inter),system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--radius:22px;--radius-lg:30px;--radius-sm:14px;--btn-radius:999px;--btn-pad:14px 28px;--btn-weight:700;--btn-transform:none;--btn-tracking:0.01em}
[data-template="solstice"] body{background:var(--bg);color:var(--ink-2);background-image:radial-gradient(900px 620px at 50% -8%,rgba(var(--brand-rgb),0.14),transparent 60%),radial-gradient(circle at 90% 6%,rgba(255,196,120,0.16),transparent 42%),radial-gradient(circle at 6% 30%,rgba(var(--brand-rgb),0.07),transparent 40%);background-attachment:fixed}
[data-template="solstice"] h1,[data-template="solstice"] h2,[data-template="solstice"] h3,[data-template="solstice"] h4{font-family:var(--ff-heading);letter-spacing:-0.015em;color:var(--ink)}
[data-template="solstice"] .subhero{position:relative;overflow:hidden;background:radial-gradient(680px 380px at 50% -40%,rgba(var(--brand-rgb),0.20),transparent 64%),linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 80%);border-bottom:1px solid var(--line)}
[data-template="solstice"] .subhero::before{content:"";position:absolute;left:50%;bottom:-60%;width:760px;height:760px;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--brand-rgb),0.22) 0%,rgba(var(--brand-rgb),0.10) 56%,transparent 70%);border-radius:50%;pointer-events:none;z-index:0}
[data-template="solstice"] .subhero>*{position:relative;z-index:1}
[data-template="solstice"] .subhero h1{color:var(--ink);font-family:var(--ff-heading)}
[data-template="solstice"] .subhero__lead{color:var(--ink-2)}
[data-template="solstice"] .subhero__crumbs,[data-template="solstice"] .subhero__crumbs a{color:var(--muted)}
[data-template="solstice"] .subhero__crumbs a:hover{color:var(--brand-deep)}
[data-template="solstice"] .subhero__answer{background:rgba(255,255,255,0.72);backdrop-filter:blur(6px);border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:6px 6px var(--radius) var(--radius);box-shadow:0 18px 44px rgba(var(--brand-rgb),0.14)}
[data-template="solstice"] .subhero__answer-label,[data-template="solstice"] .subhero__answer-question{color:var(--brand-deep)}
[data-template="solstice"] .subhero__answer p{color:var(--ink-2)}
[data-template="solstice"] .section:nth-child(even){background:linear-gradient(180deg,var(--bg-soft),var(--bg))}
[data-template="solstice"] .section-head h2{color:var(--ink)}
[data-template="solstice"] .section-head p{color:var(--ink-2)}
[data-template="solstice"] .eyebrow,[data-template="solstice"] .section-head .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(var(--brand-rgb),0.12);color:var(--brand-deep);border:1px solid rgba(var(--brand-rgb),0.24);border-radius:999px;padding:5px 14px;text-transform:uppercase;letter-spacing:0.16em;font-weight:700;font-size:11px}
[data-template="solstice"] .eyebrow::before{content:"";width:9px;height:9px;border-radius:999px 999px 0 0;background:var(--brand);transform:translateY(1px)}
[data-template="solstice"] .card,[data-template="solstice"] .aside-card,[data-template="solstice"] .aside-emblems,[data-template="solstice"] .aside-steps,[data-template="solstice"] .sitemap-block,[data-template="solstice"] .area-service-card,[data-template="solstice"] .article-card,[data-template="solstice"] .article-featured,[data-template="solstice"] .article-hero__tools,[data-template="solstice"] .reviews-carousel__card,[data-template="solstice"] .contact-method{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 2px 6px rgba(var(--brand-rgb),0.05),0 18px 44px rgba(42,31,24,0.07)}
[data-template="solstice"] .card{position:relative;overflow:hidden}
[data-template="solstice"] .card::after,[data-template="solstice"] .area-service-card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand) 0%,#FFB45A 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,.7,.3,1)}
[data-template="solstice"] .card:hover::after,[data-template="solstice"] .area-service-card:hover::after{transform:scaleX(1)}
[data-template="solstice"] .card:hover,[data-template="solstice"] .area-service-card:hover,[data-template="solstice"] .article-card:hover,[data-template="solstice"] .sitemap-block:hover{border-color:rgba(var(--brand-rgb),0.40);box-shadow:0 28px 60px rgba(var(--brand-rgb),0.18)}
[data-template="solstice"] .card h3,[data-template="solstice"] .area-service-card__body h3,[data-template="solstice"] .article-card h3,[data-template="solstice"] .sitemap-block h2,[data-template="solstice"] .contact-method h3{color:var(--ink)}
[data-template="solstice"] .card p,[data-template="solstice"] .area-service-card__body p,[data-template="solstice"] .article-card p,[data-template="solstice"] .article-featured__body p,[data-template="solstice"] .contact-method p{color:var(--ink-2)}
[data-template="solstice"] .card__icon,[data-template="solstice"] .sitemap-block__icon,[data-template="solstice"] .article-tool__icon{background:linear-gradient(135deg,rgba(var(--brand-rgb),0.18),rgba(255,180,90,0.20));border:1px solid rgba(var(--brand-rgb),0.26);color:var(--brand-deep);border-radius:50% 50% 50% 12px}
[data-template="solstice"] .card__price,[data-template="solstice"] .area-service-card__price{color:var(--brand-deep);font-weight:700}
[data-template="solstice"] .card__link,[data-template="solstice"] .area-service-card__cta,[data-template="solstice"] .article-card__cta{color:var(--brand-deep);font-weight:700}
[data-template="solstice"] .card__link:hover,[data-template="solstice"] .area-service-card__cta:hover,[data-template="solstice"] .article-card__cta:hover{color:var(--brand)}
[data-template="solstice"] .card__image,[data-template="solstice"] .photo,[data-template="solstice"] .subhero__photo,[data-template="solstice"] .area-service-card__media,[data-template="solstice"] .article-card__media,[data-template="solstice"] .article-featured__media{background:linear-gradient(135deg,#FFE6CC,#FFD3A8);border-color:var(--line)}
[data-template="solstice"] .subhero__photo,[data-template="solstice"] .photo{border-radius:46% 54% 52% 48% / 52% 48% 52% 48%;overflow:hidden}
[data-template="solstice"] .faq__item{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;transition:border-color .25s ease,box-shadow .25s ease}
[data-template="solstice"] .faq__item:hover{border-color:rgba(var(--brand-rgb),0.32);box-shadow:0 12px 30px rgba(var(--brand-rgb),0.10)}
[data-template="solstice"] .faq__q{color:var(--ink);font-family:var(--ff-heading);font-weight:600}
[data-template="solstice"] .faq__a p{color:var(--ink-2)}
[data-template="solstice"] .faq__icon{color:var(--brand);background:rgba(var(--brand-rgb),0.12);border-radius:999px}
[data-template="solstice"] .form-card{background:rgba(255,255,255,0.86);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 22px 56px rgba(var(--brand-rgb),0.14)}
[data-template="solstice"] .field label,[data-template="solstice"] .form-step__name,[data-template="solstice"] .form-pane__title{color:var(--ink-2);font-weight:600}
[data-template="solstice"] .field input,[data-template="solstice"] .field textarea,[data-template="solstice"] .field select,[data-template="solstice"] .postal-check__row input{background:#FFFCF8;border:1px solid var(--line-2);color:var(--ink);border-radius:var(--radius-sm)}
[data-template="solstice"] .field input::placeholder,[data-template="solstice"] .field textarea::placeholder,[data-template="solstice"] .postal-check__row input::placeholder{color:var(--muted)}
[data-template="solstice"] .field input:focus,[data-template="solstice"] .field textarea:focus,[data-template="solstice"] .field select:focus,[data-template="solstice"] .postal-check__row:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),0.16);outline:none}
[data-template="solstice"] .form-step__bubble{background:#FFFCF8;border:1px solid var(--line-2);color:var(--muted)}
[data-template="solstice"] .form-step.is-active .form-step__bubble,[data-template="solstice"] .form-step.is-done .form-step__bubble{background:linear-gradient(135deg,var(--brand),var(--brand-deep));border-color:var(--brand);color:#fff}
[data-template="solstice"] .file-drop{background:#FFFCF8;border:1.5px dashed var(--line-2);color:var(--ink-2);border-radius:var(--radius)}
[data-template="solstice"] .file-drop:hover,[data-template="solstice"] .file-drop.is-drag{border-color:var(--brand);background:rgba(var(--brand-rgb),0.06);color:var(--brand-deep)}
[data-template="solstice"] .postal-check{background:rgba(255,255,255,0.86);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 44px rgba(var(--brand-rgb),0.12)}
[data-template="solstice"] .postal-check__title{color:var(--ink)}
[data-template="solstice"] .postal-check__sub{color:var(--muted)}
[data-template="solstice"] .postal-check__pin{background:linear-gradient(135deg,rgba(var(--brand-rgb),0.20),rgba(255,180,90,0.18));border:1px solid rgba(var(--brand-rgb),0.26);color:var(--brand-deep)}
[data-template="solstice"] .review-card blockquote,[data-template="solstice"] .reviews-carousel__card blockquote{color:var(--ink-2);font-family:var(--ff-heading);font-style:italic}
[data-template="solstice"] .review-card__author,[data-template="solstice"] .reviews-carousel__card .review-card__author{color:var(--ink);font-weight:700}
[data-template="solstice"] .review-card__source{color:var(--muted)}
[data-template="solstice"] .review-card .review-card__stars,[data-template="solstice"] .reviews-carousel__card .review-card__stars{color:var(--brand)}
[data-template="solstice"] .reviews-carousel__nav,[data-template="solstice"] .card-scroller__nav{background:#FFFFFF;border:1px solid var(--line-2);color:var(--brand-deep)}
[data-template="solstice"] .reviews-carousel__nav:hover,[data-template="solstice"] .card-scroller__nav:hover{border-color:var(--brand);color:var(--brand)}
[data-template="solstice"] .cta-strip{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--brand-deep) 0%,var(--brand) 50%,#FFB45A 100%);border-radius:var(--radius-lg);box-shadow:0 28px 66px rgba(var(--brand-rgb),0.34)}
[data-template="solstice"] .cta-strip::before{content:"";position:absolute;left:50%;bottom:-80%;width:520px;height:520px;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,255,255,0.28) 0%,transparent 64%);border-radius:50%;pointer-events:none}
[data-template="solstice"] .cta-strip h2{color:#FFFFFF;position:relative}
[data-template="solstice"] .cta-strip p{color:rgba(255,255,255,0.92);position:relative}
[data-template="solstice"] .cta-strip .btn--primary{background:#FFFFFF;color:var(--brand-deep);border-color:#FFFFFF}
[data-template="solstice"] .cta-strip .btn--ghost{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,0.6)}
[data-template="solstice"] .btn--primary{background:linear-gradient(100deg,var(--brand) 0%,var(--brand-deep) 100%);border:1px solid var(--brand-deep);color:#FFFFFF;box-shadow:0 10px 26px rgba(var(--brand-rgb),0.32)}
[data-template="solstice"] .btn--ghost{background:#FFFFFF;color:var(--ink);border:1px solid var(--line-2)}
[data-template="solstice"] .btn--ghost:hover{border-color:var(--brand);color:var(--brand-deep)}
[data-template="solstice"] .btn--ghost .btn__arrow{background:var(--brand);color:#FFFFFF}
[data-template="solstice"] .process__step{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius)}
[data-template="solstice"] .process__step h3{color:var(--ink)}
[data-template="solstice"] .process__step p{color:var(--ink-2)}
[data-template="solstice"] .process__check,[data-template="solstice"] .about-check__check{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#FFFFFF}
[data-template="solstice"] .trusted{background:transparent}
[data-template="solstice"] .trusted__label,[data-template="solstice"] .reviews-source-label{color:var(--muted)}
[data-template="solstice"] .trusted__google-rating{color:var(--ink-2)}
[data-template="solstice"] .trusted__google-score{color:var(--ink);font-weight:700}
[data-template="solstice"] .trusted__google-sub{color:var(--muted)}
[data-template="solstice"] .trusted__google-rating .trusted__google-stars,[data-template="solstice"] .trusted__google-score+*{color:var(--brand)}
[data-template="solstice"] .pagination__btn,[data-template="solstice"] .article-filter__chip{background:#FFFFFF;border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px}
[data-template="solstice"] .pagination__btn:hover,[data-template="solstice"] .article-filter__chip:hover{border-color:var(--brand);color:var(--brand-deep)}
[data-template="solstice"] .pagination__btn.is-active,[data-template="solstice"] .article-filter__chip.is-active{background:linear-gradient(100deg,var(--brand),var(--brand-deep));color:#FFFFFF;border-color:var(--brand)}
[data-template="solstice"] .price-table{color:var(--ink-2)}
[data-template="solstice"] .price-table th{background:var(--bg-soft);color:var(--ink)}
[data-template="solstice"] .price-table th,[data-template="solstice"] .price-table td{border-color:var(--line)}
[data-template="solstice"] .price-table tbody tr:hover{background:rgba(var(--brand-rgb),0.05)}
[data-template="solstice"] .article-hero,[data-template="solstice"] .contact-hero{position:relative;overflow:hidden;background:radial-gradient(680px 360px at 50% -36%,rgba(var(--brand-rgb),0.18),transparent 64%),linear-gradient(180deg,var(--bg-soft),var(--bg))}
[data-template="solstice"] .prose blockquote{border-left:3px solid var(--brand);background:var(--bg-soft);font-family:var(--ff-heading);font-style:italic;border-radius:0 12px 12px 0;color:var(--ink-2)}
[data-template="solstice"] .prose a{color:var(--brand-deep);text-decoration-color:rgba(var(--brand-rgb),0.4)}
[data-template="solstice"] .related-link{background:linear-gradient(135deg,rgba(var(--brand-rgb),0.10),rgba(255,180,90,0.10));border:1px solid rgba(var(--brand-rgb),0.24);border-radius:var(--radius-lg)}
[data-template="solstice"] .related-link__icon{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#FFFFFF}
[data-template="solstice"] .article-featured{background:linear-gradient(135deg,#FFFFFF,var(--bg-soft))}
[data-template="solstice"] .mobile-call-bar{background:rgba(255,248,240,0.94);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
[data-template="solstice"] .mobile-call-bar .call{background:linear-gradient(100deg,var(--brand),var(--brand-deep));color:#FFFFFF;border-radius:14px}
[data-template="solstice"] .mobile-call-bar .quote{background:#FFFFFF;color:var(--ink);border:1px solid rgba(var(--brand-rgb),0.20);border-radius:14px}

/* — Animation (solstice) — */
@media (prefers-reduced-motion: no-preference){@keyframes so-rise-in{from{opacity:0;transform:translateY(20px) scale(.99)}to{opacity:1;transform:none}}@keyframes so-sun-rise{0%,100%{transform:translateX(-50%) translateY(8px) scale(1)}50%{transform:translateX(-50%) translateY(-6px) scale(1.03)}}[data-template="solstice"] .section .card,[data-template="solstice"] .area-service-card,[data-template="solstice"] .article-card{animation:so-rise-in .6s cubic-bezier(.22,.7,.3,1) both}[data-template="solstice"] .section .card:nth-child(2),[data-template="solstice"] .area-service-card:nth-child(2){animation-delay:.07s}[data-template="solstice"] .section .card:nth-child(3),[data-template="solstice"] .area-service-card:nth-child(3){animation-delay:.14s}[data-template="solstice"] .subhero::before{animation:so-sun-rise 9s ease-in-out infinite}[data-template="solstice"] .card__icon,[data-template="solstice"] .sitemap-block__icon{transition:transform .5s cubic-bezier(.22,.7,.3,1)}[data-template="solstice"] .card:hover .card__icon,[data-template="solstice"] .sitemap-block:hover .sitemap-block__icon{transform:rotate(-6deg) scale(1.06)}[data-template="solstice"] .btn--primary{transition:transform .3s cubic-bezier(.22,.7,.3,1),box-shadow .3s ease,filter .3s ease}[data-template="solstice"] .btn--primary:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 16px 34px rgba(var(--brand-rgb),.40);filter:saturate(1.08) brightness(1.04)}[data-template="solstice"] .faq__icon{transition:transform .3s cubic-bezier(.22,.7,.3,1)}[data-template="solstice"] .faq__item[open] .faq__icon,[data-template="solstice"] .faq__item.is-open .faq__icon{transform:rotate(180deg)}}


/* ═══ Solstice — CHROME ═══ */
/* ══════════════════════════════════════════════════════════════════════
   SOLSTICE — bespoke chrome (header / hero / footer). Klassprefix: .sol-
   Varm soluppgångs-mall: ljusa ytor → mörk text. Drivs av CSS-variabler
   (--brand / --brand-rgb / --brand-deep / --ink / --ff-heading) så mallen
   följer kundens färgtema. Varma fallback-värden för --bg/--ink om
   template-stylesheet ej laddats.
   ══════════════════════════════════════════════════════════════════════ */
[data-template="solstice"]{
  --sol-bg: var(--bg, #FFF8F0);
  --sol-bg-soft: var(--bg-soft, #FDEFE0);
  --sol-ink: var(--ink, #2A1F18);
  --sol-ink-2: var(--ink-2, #5A463A);
  --sol-muted: var(--muted, #9C8676);
  --sol-line: var(--line, rgba(42,31,24,0.10));
  --sol-line-2: var(--line-2, rgba(42,31,24,0.18));
  --sol-ff-h: var(--ff-heading, "Iowan Old Style", Georgia, serif);
  --sol-ff-b: var(--ff-body, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
}

/* ─────────────────────────  HEADER — flytande pill-kapsel  ───────────────────────── */
.sol-header{
  position: sticky;
  top: 16px;
  z-index: 50;
  background: transparent;
  padding: 0 20px;
  font-family: var(--sol-ff-b);
}
.sol-header__pill{
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 14px 12px 26px;
  border-radius: 999px;
  background: rgba(255,248,240,0.82);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(var(--brand-rgb), 0.14);
  box-shadow: 0 10px 30px rgba(var(--brand-rgb), 0.12);
}

/* Brand */
.sol-brand{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--sol-ink);
  flex: 0 0 auto;
}
.sol-brand__logo{ height: 36px; width: auto; display: block; }
.sol-brand__text{
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  position: relative;
  padding-left: 22px;
}
.sol-brand__sun{
  position: absolute;
  left: 0;
  top: 3px;
  width: 13px;
  height: 13px;
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, var(--brand), var(--brand-deep));
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.16);
}
.sol-brand__name{
  font-family: var(--sol-ff-h);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--sol-ink);
}
.sol-brand__tag{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sol-muted);
  margin-top: 4px;
}

/* Nav */
.sol-nav{
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0 auto;
}
.sol-nav__link{
  position: relative;
  font-size: 15px;
  font-weight: 600;
  color: var(--sol-ink-2);
  text-decoration: none;
  padding: 6px 2px;
  transition: color .2s ease;
}
.sol-nav__link::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  border-radius: 999px 999px 0 0;
  background: var(--brand);
  opacity: 0;
  transform: translateY(3px) scale(.6);
  transition: transform .26s cubic-bezier(.22,.7,.3,1), opacity .26s ease;
}
.sol-nav__link:hover{ color: var(--brand-deep); }
.sol-nav__link:hover::after{ opacity: 1; transform: translateY(0) scale(1); }

/* Höger zon */
.sol-header__right{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}
.sol-header__phone{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 600;
  color: var(--sol-ink);
  text-decoration: none;
  white-space: nowrap;
}
.sol-header__phone-ic{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--brand-deep);
  background: rgba(var(--brand-rgb), 0.12);
  border: 1px solid rgba(var(--brand-rgb), 0.20);
}
.sol-header__phone:hover{ color: var(--brand-deep); }
.sol-header__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(100deg, var(--brand) 0%, var(--brand-deep) 100%);
  box-shadow: 0 10px 26px rgba(var(--brand-rgb), 0.32);
  transition: transform .3s cubic-bezier(.22,.7,.3,1), box-shadow .3s ease, filter .3s ease;
  white-space: nowrap;
}
.sol-header__cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(var(--brand-rgb), 0.42);
  filter: saturate(1.08) brightness(1.04);
}

/* Burger (dold på desktop) */
.sol-burger{
  display: none;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--sol-line-2);
  cursor: pointer;
}
.sol-burger__bars{
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  width: 18px;
}
.sol-burger__bars i{
  display: block;
  height: 2px;
  border-radius: 2px;
  background: var(--sol-ink);
  transition: transform .25s ease, opacity .25s ease;
}
.sol-burger.is-open .sol-burger__bars i:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.sol-burger.is-open .sol-burger__bars i:nth-child(2){ opacity: 0; }
.sol-burger.is-open .sol-burger__bars i:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* Drawer (nedfälld kapsel) */
.sol-drawer{
  max-width: 1160px;
  margin: 10px auto 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border-radius: 24px;
  background: rgba(255,248,240,0.94);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(var(--brand-rgb), 0.14);
  box-shadow: 0 16px 40px rgba(var(--brand-rgb), 0.16);
}
.sol-drawer__link{
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 600;
  color: var(--sol-ink);
  text-decoration: none;
}
.sol-drawer__link:hover{ background: rgba(var(--brand-rgb), 0.08); color: var(--brand-deep); }
.sol-drawer__phone{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px;
  font-weight: 700;
  color: var(--brand-deep);
  text-decoration: none;
}
.sol-drawer__cta{
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(100deg, var(--brand) 0%, var(--brand-deep) 100%);
  box-shadow: 0 10px 26px rgba(var(--brand-rgb), 0.32);
}

/* ─────────────────────────  HERO — den stigande solen  ───────────────────────── */
.sol-hero{
  position: relative;
  overflow: hidden;
  margin-top: -74px;          /* hero börjar bakom den flytande pillen */
  padding: 150px 0 64px;
  background:
    radial-gradient(680px 380px at 50% -36%, rgba(var(--brand-rgb), 0.20), transparent 64%),
    linear-gradient(180deg, var(--sol-bg) 0%, var(--sol-bg-soft) 100%);
  font-family: var(--sol-ff-b);
}

/* Bakgrundslager (z-0) */
.sol-hero__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.sol-hero__video,
.sol-hero__poster{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sol-hero__veil{
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(255,248,240,0.94) 0%,
    rgba(255,248,240,0.78) 38%,
    rgba(255,248,240,0.30) 100%);
}
/* Sol-strålar: conic-gradient maskerad till en mjuk strålglöd */
.sol-hero__rays{
  position: absolute;
  left: 50%;
  bottom: -36%;
  width: 1100px;
  height: 1100px;
  transform: translateX(-50%);
  background: conic-gradient(from 0deg,
    rgba(var(--brand-rgb), 0.18) 0deg, transparent 12deg,
    rgba(var(--brand-rgb), 0.18) 30deg, transparent 42deg,
    rgba(var(--brand-rgb), 0.18) 60deg, transparent 72deg,
    rgba(var(--brand-rgb), 0.18) 90deg, transparent 102deg,
    rgba(var(--brand-rgb), 0.18) 120deg, transparent 132deg,
    rgba(var(--brand-rgb), 0.18) 150deg, transparent 162deg,
    rgba(var(--brand-rgb), 0.18) 180deg, transparent 192deg,
    rgba(var(--brand-rgb), 0.18) 210deg, transparent 222deg,
    rgba(var(--brand-rgb), 0.18) 240deg, transparent 252deg,
    rgba(var(--brand-rgb), 0.18) 270deg, transparent 282deg,
    rgba(var(--brand-rgb), 0.18) 300deg, transparent 312deg,
    rgba(var(--brand-rgb), 0.18) 330deg, transparent 342deg);
  -webkit-mask-image: radial-gradient(circle at 50% 100%, #000 0%, transparent 58%);
  mask-image: radial-gradient(circle at 50% 100%, #000 0%, transparent 58%);
  filter: blur(2px);
  opacity: 0.7;
}
/* Den stigande solen: stor halvcirkel som reser sig underifrån */
.sol-hero__sun{
  position: absolute;
  left: 50%;
  bottom: -32%;
  width: 560px;
  height: 560px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, var(--brand) 0%, var(--brand-deep) 70%, transparent 72%);
  opacity: 0.16;
  filter: blur(2px);
}
/* Mjuka organiska blobbar */
.sol-hero__blob{
  position: absolute;
  width: 420px;
  height: 420px;
  filter: blur(60px);
  opacity: 0.5;
}
.sol-hero__blob--a{
  top: -120px;
  right: -80px;
  border-radius: 48% 52% 60% 40% / 55% 45% 55% 45%;
  background: radial-gradient(circle, rgba(255,180,90,0.55), transparent 70%);
}
.sol-hero__blob--b{
  bottom: -160px;
  left: -120px;
  border-radius: 60% 40% 45% 55% / 50% 55% 45% 50%;
  background: radial-gradient(circle, rgba(var(--brand-rgb), 0.42), transparent 70%);
}

/* Innehåll (z-2) */
.sol-hero__inner{
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
.sol-hero__lead{ max-width: 560px; }
.sol-hero__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-deep);
  background: rgba(var(--brand-rgb), 0.12);
  border: 1px solid rgba(var(--brand-rgb), 0.24);
  border-radius: 999px;
  padding: 6px 14px;
}
.sol-hero__eyebrow::before{
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px 999px 0 0;
  background: var(--brand);
  transform: translateY(1px);
}
.sol-hero__title{
  margin: 22px 0 0;
  font-family: var(--sol-ff-h);
  font-weight: 700;
  font-size: clamp(42px, 5.6vw, 76px);
  line-height: 1.03;
  letter-spacing: -0.02em;
  color: var(--sol-ink);
}
.sol-hero__title em{
  font-style: normal;
  position: relative;
  white-space: nowrap;
  color: var(--brand-deep);
}
.sol-hero__title em::after{
  content: "";
  position: absolute;
  left: -2px;
  right: -2px;
  bottom: 0.08em;
  height: 0.34em;
  z-index: -1;
  border-radius: 999px;
  background: linear-gradient(100deg, rgba(var(--brand-rgb), 0.30), rgba(255,180,90,0.40));
}
.sol-hero__sub{
  margin: 22px 0 0;
  max-width: 500px;
  font-size: 19px;
  line-height: 1.6;
  color: var(--sol-ink-2);
}
.sol-hero__cta-row{
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.sol-hero__rating{
  margin-top: 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--sol-ink-2);
}
.sol-hero__rating .hero__stars{ color: var(--brand); display: inline-flex; }
.sol-hero__trust{
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  opacity: 0.85;
}
.sol-hero__postal{ margin-top: 28px; }

/* Höger media — organisk ram + flytande badge */
.sol-hero__media{
  position: relative;
  align-self: center;
}
.sol-hero__media-frame{
  position: relative;
  aspect-ratio: 4 / 5;
  width: 100%;
  overflow: hidden;
  border-radius: 46% 54% 52% 48% / 52% 48% 52% 48%;
  box-shadow: 0 36px 80px rgba(var(--brand-rgb), 0.28), 0 0 0 8px rgba(255,255,255,0.55);
}
.sol-hero__media-frame img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sol-hero__badge{
  position: absolute;
  left: -14px;
  bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--sol-line);
  box-shadow: 0 18px 44px rgba(var(--brand-rgb), 0.22);
  font-size: 13px;
  font-weight: 700;
  color: var(--sol-ink);
}
.sol-hero__badge .hero__stars{ color: var(--brand); display: inline-flex; }

/* Faktaband under hero */
.sol-hero__facts{
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin: 56px auto 0;
  padding: 28px 32px 0;
  border-top: 1px solid var(--sol-line);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
}
.sol-hero__fact{ display: flex; flex-direction: column; gap: 4px; }
.sol-hero__fact-val{
  font-family: var(--sol-ff-h);
  font-size: 30px;
  font-weight: 700;
  color: var(--brand-deep);
  line-height: 1;
}
.sol-hero__fact-lab{ font-size: 14px; color: var(--sol-ink-2); }

/* ─────────────────────────  HOME-grids (egna chrome-klasser)  ───────────────────────── */
.sol-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}
.sol-cards .card{
  display: flex;
  flex-direction: column;
  text-decoration: none;
  padding: 0;
  overflow: hidden;
}
.sol-cards .card__image{
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.sol-cards .card__image img{ width: 100%; height: 100%; object-fit: cover; }
.sol-cards .card__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 26px 26px 0;
}
.sol-card__body{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 26px 28px;
}
.sol-card__body h3{ font-family: var(--sol-ff-h); font-size: 21px; }
.sol-card__arrow{
  margin-left: 6px;
  transition: transform .25s ease;
  display: inline-block;
}
.sol-cards .card:hover .sol-card__arrow{ transform: translateX(4px); }

/* Stats-band — soluppgångs-gradient */
.sol-band{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 28px;
  padding: 48px 40px;
  border-radius: var(--radius-lg, 30px);
  text-align: center;
  background: linear-gradient(120deg, var(--brand-deep) 0%, var(--brand) 55%, #FFB45A 100%);
  box-shadow: 0 28px 66px rgba(var(--brand-rgb), 0.34);
}
.sol-stat{ display: flex; flex-direction: column; gap: 6px; }
.sol-stat__num{
  font-family: var(--sol-ff-h);
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.sol-stat__lab{ font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.92); }

/* USP-punktkort */
.sol-usp{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
.sol-usp .card{ padding: 28px; }
.sol-usp .card__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
}
.sol-usp .sol-card__body{ padding: 0; }
.sol-usp h3{ font-family: var(--sol-ff-h); font-size: 20px; }

/* Process-steg */
.sol-steps{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}
.sol-steps .process__step{ padding: 28px; }
.sol-step__num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  border-radius: 50% 50% 50% 12px;
  font-family: var(--sol-ff-h);
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  box-shadow: 0 10px 24px rgba(var(--brand-rgb), 0.28);
}
.sol-steps .process__step h3{ font-family: var(--sol-ff-h); font-size: 20px; }

/* ─────────────────────────  FOOTER — ljus, soluppgångs-horisont  ───────────────────────── */
.sol-footer{
  position: relative;
  margin-top: 48px;
  padding-top: 90px;
  background: var(--sol-bg-soft);
  color: var(--sol-ink-2);
  font-family: var(--sol-ff-b);
  overflow: hidden;
}
.sol-footer__horizon{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140%;
  height: 240px;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(180deg, var(--brand) 0%, var(--brand-deep) 60%, transparent 100%);
  opacity: 0.16;
  box-shadow: 0 -18px 60px rgba(var(--brand-rgb), 0.30);
  pointer-events: none;
}
.sol-footer__inner{
  position: relative;
  z-index: 1;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 32px 40px;
}
.sol-footer__claim{
  max-width: 18ch;
  margin: 0 0 48px;
  font-family: var(--sol-ff-h);
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--sol-ink);
}
.sol-footer__cols{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.sol-footer__name{
  display: block;
  font-family: var(--sol-ff-h);
  font-size: 22px;
  font-weight: 700;
  color: var(--sol-ink);
  margin-bottom: 16px;
}
.sol-footer__contact{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sol-footer__text{ font-size: 15px; line-height: 1.6; color: var(--sol-ink-2); }
.sol-footer__h4{
  font-family: var(--sol-ff-h);
  font-size: 15px;
  font-weight: 700;
  color: var(--sol-ink);
  margin: 0 0 14px;
}
.sol-footer__links{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.sol-footer__link{
  font-size: 15px;
  color: var(--sol-ink-2);
  text-decoration: none;
  transition: color .2s ease;
}
.sol-footer__link:hover{ color: var(--brand-deep); }
.sol-footer__bottom{
  margin-top: 44px;
  padding-top: 22px;
  border-top: 1px solid var(--sol-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  color: var(--sol-muted);
}
.sol-footer__bottom-links{ display: flex; flex-wrap: wrap; gap: 18px; }

/* ─────────────────────────  ANIMATIONER (sol-prefix, fristående)  ───────────────────────── */
@media (prefers-reduced-motion: no-preference){
  @keyframes sol-sun-rise{
    0%,100%{ transform: translateX(-50%) translateY(8px) scale(1); }
    50%{ transform: translateX(-50%) translateY(-6px) scale(1.03); }
  }
  @keyframes sol-rays-turn{
    from{ transform: translateX(-50%) rotate(0deg); }
    to{ transform: translateX(-50%) rotate(360deg); }
  }
  @keyframes sol-sway{
    0%,100%{ transform: translateY(0) rotate(-1deg); }
    50%{ transform: translateY(-7px) rotate(1deg); }
  }
  .sol-hero__sun{ animation: sol-sun-rise 11s ease-in-out infinite; }
  .sol-hero__rays{ animation: sol-rays-turn 140s linear infinite; }
  .sol-hero__badge{ animation: sol-sway 7s ease-in-out infinite; }
}

/* ─────────────────────────  RESPONSIVT  ───────────────────────── */
@media (max-width: 980px){
  .sol-hero__inner{ grid-template-columns: 1fr; gap: 36px; }
  .sol-hero__media{ order: -1; max-width: 460px; margin: 0 auto; width: 100%; }
  .sol-footer__cols{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 920px){
  .sol-nav,
  .sol-header__phone{ display: none; }
  .sol-burger{ display: inline-flex; }
  .sol-header__pill{ padding: 12px 14px 12px 20px; }
  .sol-hero{ padding: 132px 0 52px; }
}
@media (max-width: 600px){
  .sol-footer__cols{ grid-template-columns: 1fr; }
  .sol-hero__title{ font-size: clamp(34px, 9vw, 48px); }
  .sol-band{ padding: 36px 24px; }
}



/* ═══ QA-FIXAR (solstice) ═══ */
/* [hög] html[data-template="solstice"] .btn--primary, html[data */
html[data-template="solstice"] .btn--primary,html[data-template="solstice"] .sol-header__cta,html[data-template="solstice"] .sol-drawer__cta{text-shadow:0 1px 2px rgba(42,31,24,0.45)}html[data-template="solstice"] .process__check,html[data-template="solstice"] .about-check__check,html[data-template="solstice"] .sol-step__num,html[data-template="solstice"] .form-step.is-active .form-step__bubble,html[data-template="solstice"] .form-step.is-done .form-step__bubble,html[data-template="solstice"] .related-link__icon{text-shadow:0 1px 1px rgba(42,31,24,0.5)}
/* [medel] html[data-template="solstice"] .eyebrow, html[data-temp */
html[data-template="solstice"] .eyebrow,html[data-template="solstice"] .section-head .eyebrow,html[data-template="solstice"] .sol-hero__eyebrow{color:var(--ink)}
/* [medel] html[data-template="solstice"] .card__link, html[data-t */
@supports (color:color-mix(in srgb,red,blue)){html[data-template="solstice"] .card__link,html[data-template="solstice"] .area-service-card__cta,html[data-template="solstice"] .article-card__cta,html[data-template="solstice"] .card__price,html[data-template="solstice"] .area-service-card__price,html[data-template="solstice"] .sol-hero__fact-val,html[data-template="solstice"] .reviews-carousel__nav,html[data-template="solstice"] .card-scroller__nav{color:color-mix(in srgb,var(--brand-deep) 72%,var(--ink))}}

/* ═══ ANIMATIONS-FINPUTSNING (solstice) — 4 loopande infinite-animationer (raknar bara selektorer som finns i markup): sol ═══ */
@media (prefers-reduced-motion: no-preference){html[data-template="solstice"] .sol-hero__rays{animation:none}html[data-template="solstice"] .subhero::before{animation:none}}@media (prefers-reduced-motion: reduce){html[data-template="solstice"] .sol-hero__sun,html[data-template="solstice"] .sol-hero__badge,html[data-template="solstice"] .sol-hero__rays,html[data-template="solstice"] .subhero::before{animation:none!important}}
