/* ═══ 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-manrope),system-ui,-apple-system,Segoe UI,Roboto,sans-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%)}
[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:transparent;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none}
[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, system-ui, -apple-system, "Segoe UI", Roboto, sans-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: 64px; 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); }

/* Nav-post med dropdown ("Tjänster") */
.sol-nav__item{ position: relative; display: inline-flex; }
.sol-nav__item--drop{ align-items: center; }
.sol-nav__trigger{ display: inline-flex; align-items: center; gap: 6px; }
.sol-nav__caret{
  color: var(--sol-muted);
  transition: transform .26s cubic-bezier(.22,.7,.3,1), color .2s ease;
}
.sol-nav__item--drop:hover .sol-nav__trigger,
.sol-nav__item--drop:focus-within .sol-nav__trigger{ color: var(--brand-deep); }
.sol-nav__item--drop:hover .sol-nav__caret,
.sol-nav__item--drop:focus-within .sol-nav__caret{ transform: rotate(180deg); color: var(--brand-deep); }

.sol-dropdown{
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translate(-50%, 8px);
  min-width: 260px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-radius: 18px;
  background: rgba(255,248,240,0.96);
  -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 18px 44px rgba(var(--brand-rgb), 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s cubic-bezier(.22,.7,.3,1), visibility .22s;
  z-index: 60;
}
/* Osynlig hover-brygga så pekaren inte tappar dropdownen i gapet */
.sol-nav__item--drop::after{
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 14px;
}
.sol-nav__item--drop:hover .sol-dropdown,
.sol-nav__item--drop:focus-within .sol-dropdown{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.sol-dropdown__all{
  padding: 9px 14px;
  margin-bottom: 4px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--brand-deep);
  text-decoration: none;
  background: rgba(var(--brand-rgb), 0.10);
}
.sol-dropdown__all:hover{ background: rgba(var(--brand-rgb), 0.16); }
.sol-dropdown__link{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none;
  transition: background .18s ease;
}
.sol-dropdown__link:hover{ background: rgba(var(--brand-rgb), 0.08); }
.sol-dropdown__label{
  font-size: 15px;
  font-weight: 600;
  color: var(--sol-ink);
}
.sol-dropdown__link:hover .sol-dropdown__label{ color: var(--brand-deep); }
.sol-dropdown__sub{
  font-size: 12.5px;
  color: var(--sol-muted);
  line-height: 1.4;
}

/* 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: 44px;              /* touch-mål: minst 44×44 */
  height: 44px;
  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); }

/* Drawer-accordion (nav-poster med dropdown) */
.sol-drawer__group{ display: flex; flex-direction: column; }
.sol-drawer__toggle{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  background: none;
  border-radius: 14px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  color: var(--sol-ink);
  cursor: pointer;
  text-align: left;
}
.sol-drawer__toggle:hover{ background: rgba(var(--brand-rgb), 0.08); color: var(--brand-deep); }
.sol-drawer__caret{ color: var(--sol-muted); transition: transform .25s ease; }
.sol-drawer__toggle.is-open{ color: var(--brand-deep); }
.sol-drawer__toggle.is-open .sol-drawer__caret{ transform: rotate(180deg); color: var(--brand-deep); }
.sol-drawer__sub{
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 2px 0 6px;
  padding-left: 10px;
  border-left: 2px solid rgba(var(--brand-rgb), 0.18);
}
.sol-drawer__sublink{
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 500;
  color: var(--sol-ink-2);
  text-decoration: none;
}
.sol-drawer__sublink:hover{ background: rgba(var(--brand-rgb), 0.08); color: var(--brand-deep); }
.sol-drawer__sublink--all{ font-weight: 700; 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__logo{ height: 80px; width: auto; display: block; margin-bottom: 18px; }
.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){
  /* Baren på mobil: loggan · Tjänster (dropdown) · Om oss · hamburgare.
     Telefon + Begär offert tas bort ur baren (finns kvar i drawern). */
  .sol-header__phone,
  .sol-header__cta{ display: none; }
  .sol-burger{ display: inline-flex; }
  .sol-header__pill{ padding: 12px 12px 12px 18px; gap: 10px; }
  .sol-hero{ padding: 132px 0 52px; }

  /* Visa nav i baren, men bara de mobil-markerade posterna (Tjänster + Om oss).
     margin-right:auto trycker hamburgaren längst ut till höger. */
  .sol-nav{ display: flex; gap: 14px; margin: 0 auto 0 8px; }
  .sol-nav > *:not([data-mobile]){ display: none; }
  .sol-nav__link{ font-size: 14px; padding: 6px 0; }

  /* Tap-to-open dropdown på mobil: styrs av .is-open (JS), inte hover/fokus. */
  .sol-dropdown{ left: 0; transform: translate(0, 8px); min-width: 220px; max-width: calc(100vw - 40px); }
  .sol-nav__item--drop:hover .sol-dropdown,
  .sol-nav__item--drop:focus-within .sol-dropdown{
    opacity: 0; visibility: hidden; pointer-events: none; transform: translate(0, 8px);
  }
  .sol-nav__item--drop.is-open .sol-dropdown{
    opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0, 0);
  }
  .sol-nav__item--drop:hover .sol-nav__caret,
  .sol-nav__item--drop:focus-within .sol-nav__caret{ transform: none; }
  .sol-nav__item--drop.is-open .sol-nav__caret{ transform: rotate(180deg); }
}
@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}}

/* ═══ HEMSIDE-SEKTIONER som ärver §5-layouten (referenser, om företaget, om oss-karusell, fördjupning) ═══ */
/* Om företaget: tvåkolumns showcase — vänsterställ brödtexten (section-head är centrerad som bas). */
[data-template="solstice"] .about-showcase{align-items:start}
[data-template="solstice"] .about-showcase__text{text-align:left;max-width:none;margin:0}
[data-template="solstice"] .about-showcase__text h2{font-family:var(--ff-heading)}
[data-template="solstice"] .about-showcase__text p{color:var(--ink-2);margin-top:16px;line-height:1.65}
/* Solo-läge (ingen "Kort om oss"-ruta) — en läsbar kolumn i stället för tom sidospalt. */
[data-template="solstice"] .about-showcase--solo{grid-template-columns:1fr;max-width:860px}
/* Läs-mer-toningen ska smälta in i Solstices varma bakgrund, inte vitt. */
[data-template="solstice"] .readmore__inner::after{background:linear-gradient(180deg,transparent,var(--bg))}
[data-template="solstice"] .readmore__toggle{color:var(--brand-deep)}
[data-template="solstice"] .readmore__toggle:hover{color:var(--brand)}
/* "Kort om oss"-ruta i Solstices ljusa kort-stil. */
[data-template="solstice"] .about-summary{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);padding:26px 26px}
[data-template="solstice"] .about-summary__title{color:var(--brand-deep);font-family:var(--ff-heading)}
[data-template="solstice"] .about-summary__list li{color:var(--ink-2)}
[data-template="solstice"] .about-summary__list li::before{color:var(--brand)}
/* Logga-karusell: neutralt band, dämpade loggor som lyser upp vid hover. */
[data-template="solstice"] .logo-marquee__item img{filter:saturate(0.7) opacity(0.78);transition:filter .3s ease}
[data-template="solstice"] .logo-marquee__item:hover img{filter:none}
/* Om oss-bildkarusell: organisk ram som resten av Solstice. */
[data-template="solstice"] .vphoto{border-radius:var(--radius-lg)}
[data-template="solstice"] .vphoto__card{border-radius:var(--radius)}
/* Områdes-postal — luft mellan rubrik och grid. */
[data-template="solstice"] .sol-areas__postal{margin:0 auto 40px;max-width:560px}
/* Fördjupande prose — begränsad radlängd för läsbarhet. */
[data-template="solstice"] .sol-prose{max-width:820px}
[data-template="solstice"] .sol-prose .prose section+section{margin-top:40px}
[data-template="solstice"] .sol-prose .prose h2{font-family:var(--ff-heading);color:var(--ink);margin-bottom:14px}
/* Tjänste-intro (tvåspalt) — luft ner till kort-gridet. */
[data-template="solstice"] .sol-services-intro{margin-bottom:44px}
/* Hero-bildspel (kategori-slides) — soluppgångs-ram: gradient-kant + glöd + vit hårlinje. */
[data-template="solstice"] .sol-hero__carousel{
  position:relative;width:100%;
  padding:12px;
  border-radius:calc(var(--radius-lg) + 12px);
  background:linear-gradient(150deg,rgba(var(--brand-rgb),0.70) 0%,rgba(255,180,90,0.55) 48%,rgba(255,255,255,0.65) 100%);
  box-shadow:0 44px 90px rgba(var(--brand-rgb),0.30),inset 0 1px 0 rgba(255,255,255,0.75);
}
/* Mjuk soluppgångs-glöd bakom ramen. */
[data-template="solstice"] .sol-hero__carousel::before{
  content:"";position:absolute;inset:-12% -10% -16%;z-index:-1;pointer-events:none;
  background:radial-gradient(58% 52% at 74% 16%,rgba(var(--brand-rgb),0.42),transparent 70%);
  filter:blur(36px);
}
[data-template="solstice"] .sol-hero__carousel .hero-carousel,
[data-template="solstice"] .sol-hero__carousel .hero-carousel__stage{min-height:520px}
[data-template="solstice"] .sol-hero__carousel .hero-carousel__stage{
  border-radius:var(--radius-lg);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,0.92),0 18px 40px rgba(42,31,24,0.18);
}
[data-template="solstice"] .sol-hero__carousel .hero-carousel__nav:hover{background:var(--brand);color:#fff}
[data-template="solstice"] .sol-hero__carousel .hero-carousel__dot.is-active{background:#fff}
@media (max-width:980px){
  [data-template="solstice"] .sol-hero__carousel{max-width:520px;margin:0 auto;width:100%;padding:10px}
  [data-template="solstice"] .sol-hero__carousel .hero-carousel,
  [data-template="solstice"] .sol-hero__carousel .hero-carousel__stage{min-height:420px}
}
/* Process-steg: bas-.process__step är display:grid (58px|1fr) för timeline-layouten;
   Solstices sol-steps stackar num/rubrik/text vertikalt → neutralisera grid + bas-accenter. */
[data-template="solstice"] .sol-steps .process__step{display:flex;flex-direction:column;align-items:flex-start;gap:0}
[data-template="solstice"] .sol-steps .process__step::before,
[data-template="solstice"] .sol-steps .process__step::after{display:none}
[data-template="solstice"] .sol-steps .process__step h3{margin:0 0 8px}
[data-template="solstice"] .sol-steps .process__step p{margin:0;color:var(--ink-2)}

/* ═══ TOUCH-MÅL (Solstice) ═══
   På touch-enheter (pekare utan fin precision) får footerns kontakt-/länk-rader
   minst 44px höjd. Musdesignen (pointer:fine) rörs inte. */
@media (pointer: coarse){
  .sol-footer__contact .sol-footer__link,
  .sol-footer__links .sol-footer__link{
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}
