/*
Theme Name: Målare Stockholm
Template: twentytwentyfive
Description: Child theme för Målare Stockholm (demo).
Version: 1.0.3
Author: Alexander Gerhard
Text Domain: malare
*/

/* Kort som ska vara lika höga i en rad */
.tk-cards > .wp-block-column { display: flex; }
.tk-cards > .wp-block-column > .wp-block-group { flex: 1; display: flex; flex-direction: column; }
.tk-cards .tk-push { margin-top: auto !important; }

/* Tjänstekort: hela kortet klickbart via länk i rubriken */
.tk-service { position: relative; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.tk-service:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(30,35,40,.12); }
.tk-service h3 a { color: inherit; text-decoration: none; }
.tk-service h3 a::after { content: ""; position: absolute; inset: 0; }
.tk-service img, .tk-project img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }

/* Förtroenderad i hero */
.tk-trust p { display: flex; align-items: center; gap: 8px; margin: 0; }
.tk-trust p::before { content: ""; width: 20px; height: 20px; flex: none; border-radius: 0; background: var(--wp--preset--color--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* Checklista – punkterna grå som brödtext (DS §7) */
.tk-check { list-style: none; padding-left: 0; color: var(--wp--preset--color--muted); }
.tk-check li { position: relative; padding-left: 32px; margin-bottom: 10px; }
.tk-check li:last-child { margin-bottom: 0; }
/* Block utan foto: listan i mitten (DS §7) */
.tk-center-list { width: fit-content; max-width: 100%; margin-left: auto !important; margin-right: auto !important; }
/* Lika luft upptill och nertill i varje sektion (DS §6) */
.wp-block-group > :last-child, .wp-block-column > :last-child { margin-bottom: 0; }
.tk-check li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 0; background: var(--wp--preset--color--contrast) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* Steg 1–5 – i mitten som resten av blocket utan foto */
.tk-step-num { width: 44px; height: 44px; border-radius: 0; display: grid; place-items: center; background: var(--wp--preset--color--accent); color: #fff; font-weight: 700; margin: 0 auto 16px !important; }

/* FAQ */
.tk-faq .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); padding: 20px 0; margin: 0; }
.tk-faq summary { font-weight: 700; cursor: pointer; font-size: 1.125rem; }
.tk-faq .wp-block-details p { margin: 12px 0 0; color: var(--wp--preset--color--muted); }

/* Knappar: tydlig hover */
.wp-element-button, .wp-block-button__link { transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }
/* DS §3: hover på fylld knapp = invertering (vit botten, ram i accentfärg, lyft, skugga) */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #fff !important; color: var(--wp--preset--color--accent) !important; box-shadow: inset 0 0 0 2px var(--wp--preset--color--accent), 0 8px 20px rgba(30,35,40,.15); }
.is-style-outline > .wp-block-button__link.has-base-color:hover { background: #fff !important; color: var(--wp--preset--color--contrast) !important; }
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; color: #fff !important; }

/* Sticky header (på template-part-omslaget, annars har den inget att fastna mot) */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
.tk-header .wp-block-button__link, .tk-header .wp-block-site-title { white-space: nowrap; }
@media (min-width: 782px) and (max-width: 1199px) {
	.tk-header .is-style-outline { display: none; }
	.tk-header .wp-block-navigation { --wp--style--block-gap: 20px; gap: 20px; }
}
/* DS §4: 782–1099px – logga centrerad överst, meny + knapp på raden under */
@media (min-width: 782px) and (max-width: 1099px) {
	.tk-header > .wp-block-group { flex-wrap: wrap !important; justify-content: center !important; row-gap: 12px; column-gap: 32px; }
	.tk-header > .wp-block-group > .wp-block-group:first-child { flex-basis: 100%; justify-content: center; }
}
/* Logga inte liten: 56px, mobil 46px */
@media (max-width: 781px) { .tk-header .wp-block-site-logo img { width: 46px !important; height: auto; } }
/* Menylänkar: egen hover – understrykning som växer, ingen opacity (DS §2) */
.tk-header .wp-block-navigation-item__content { position: relative; }
.tk-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.tk-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.tk-header .wp-block-navigation-item__content:hover { opacity: 1; text-decoration: none; }
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { display: none; }
.tk-faq summary:hover { color: var(--wp--preset--color--accent); }
/* Ikonknappar i sidhuvudet: rund 44px (DS §3) */
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; border-radius: 0; border: 1px solid var(--wp--preset--color--line) !important; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important; background: #fff; }
html, body { overflow-x: clip; }

/* Mobilmeny: stora träffytor, undermeny indragen och ljusare */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 0 !important; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: block; padding: 14px 0; font-size: 1.125rem; font-weight: 700; border-bottom: 1px solid var(--wp--preset--color--line); width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 4px 0 8px 16px !important; gap: 0 !important; align-items: flex-start !important; text-align: left; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 0; color: var(--wp--preset--color--muted); }
.wp-block-navigation a:focus:not(:focus-visible), .wp-block-navigation button:focus:not(:focus-visible) { outline: 0; }
html { scroll-padding-top: 120px; }
@media (min-width: 782px) and (max-width: 1099px) { html { scroll-padding-top: 200px; } }
@media (max-width: 781px) { html { scroll-padding-top: 90px; } }

/* Hero: ljust foto, mjuk mörk ton bara under texten. Texten följer samma vänsterlinje som sidhuvudet */
.tk-hero > .wp-block-cover__background { background: linear-gradient(to top, rgba(30,35,40,.82) 0%, rgba(30,35,40,.45) 45%, rgba(30,35,40,.05) 100%) !important; opacity: 1 !important; }
.tk-hero.wp-block-cover { padding-left: var(--wp--style--root--padding-left); padding-right: var(--wp--style--root--padding-right); }
.tk-hero > .wp-block-cover__inner-container { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.tk-hero > .wp-block-cover__inner-container > .wp-block-group { max-width: 680px; margin-left: 0 !important; margin-right: auto !important; }
.tk-hero > .wp-block-cover__inner-container > .wp-block-group > * { margin-left: 0 !important; }

/* DS §4: hero på hela skärmhöjden minus sidhuvudet, text längst ner */
.tk-hero.wp-block-cover { min-height: calc(100svh - 101px) !important; }
.admin-bar .tk-hero.wp-block-cover { min-height: calc(100svh - 133px) !important; }
@media (min-width: 782px) and (max-width: 1099px) { .tk-hero.wp-block-cover { min-height: calc(100svh - 168px) !important; } }
@media (max-width: 781px) { .tk-hero.wp-block-cover { min-height: calc(100svh - 73px - 80px) !important; } }
/* DS §10: brödsmulor i hero, ljusgrå, aktuell sida vit */
.tk-crumbs { color: rgba(255,255,255,.72); margin-bottom: 12px !important; }
.tk-crumbs a { color: inherit; text-decoration: none; }
.tk-crumbs a:hover { color: #fff; text-decoration: underline; }
.tk-crumbs [aria-current] { color: #fff; }
/* Omdöme: foto i full bredd, citat i mitten */
.tk-quote.wp-block-cover { border-radius: 0; margin-top: 0 !important; margin-bottom: 0 !important; }
.tk-hero.wp-block-cover { margin-top: 0 !important; margin-bottom: 0 !important; }
/* Långa H1 (t.ex. «Tegeltak och betongpannor i Stockholm») blir mindre så att de ryms på två rader */
.tk-h1-long h1 { font-size: clamp(2rem, 4.2vw, 3rem) !important; }
/* Integritetspolicy: luft över varje ny rubrik */
.tk-text h2 { margin-top: var(--wp--preset--spacing--50) !important; margin-bottom: 8px !important; }
.tk-text h2:first-child { margin-top: 0 !important; }
.tk-quote p { color: #fff; }

/* Bilder: samma rundning överallt */
.wp-block-image img, .wp-block-cover { border-radius: 0; }
.tk-hero.wp-block-cover { border-radius: 0; }

@media (max-width: 781px) {
	.tk-hide-mobile { display: none !important; }
}

/* Ingen vit glipa mellan sista sektionen och sidfoten */
footer.wp-block-template-part { margin-top: 0 !important; }

/* Sidfot: listor utan punkter, länkar utan understrykning */
.tk-footer-list { list-style: none; }
footer a { text-decoration: none; }
footer a:hover { text-decoration: underline; }

/* Ninja Forms i sajtens stil */
.nf-form-cont .nf-form-title, .nf-form-cont .nf-before-form-content { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nf-form-cont .nf-field-label label { font-weight: 700; font-size: 1rem; }
.nf-form-cont input[type="text"], .nf-form-cont input[type="email"], .nf-form-cont input[type="tel"], .nf-form-cont select, .nf-form-cont textarea {
	width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--wp--preset--color--line); border-radius: 0; background: #fff; font: inherit; color: inherit;
}
.nf-form-cont textarea { min-height: 140px; }
.nf-form-cont input:focus, .nf-form-cont select:focus, .nf-form-cont textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: transparent; }
.nf-form-cont input[type="submit"], .nf-form-cont input[type="button"] {
	min-height: 52px; padding: 15px 32px; border: 0; border-radius: 0; background: var(--wp--preset--color--accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; transition: background-color .15s ease, transform .15s ease;
}
.nf-form-cont input[type="submit"]:hover { background: #fff; color: var(--wp--preset--color--accent); box-shadow: inset 0 0 0 2px var(--wp--preset--color--accent), 0 8px 20px rgba(30,35,40,.15); transform: translateY(-1px); }
.nf-form-cont .nf-field-container { margin-bottom: 20px; }
.nf-form-cont .submit-container { text-align: center; }
.nf-form-cont .nf-form-fields-required { display: none; }
.tk-form-note { text-align: center; }
.nf-form-cont .nf-response-msg { padding: 20px; border-radius: 0; background: #fff; }

/* Mobil: fast knapprad längst ner (Ring + Begär offert) */
.tk-mobilebar.tk-mobilebar { display: none; }
@media (max-width: 781px) {
	.tk-mobilebar.tk-mobilebar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--wp--preset--color--line); }
	.tk-mobilebar .wp-block-buttons { width: 100%; gap: 12px; }
	.tk-mobilebar .wp-block-button { flex: 1; }
	.tk-mobilebar .wp-block-button__link { width: 100%; }
	body { padding-bottom: 80px; }
}

/* DS §4: mobilmeny – logga + kryss överst, undermeny som egen skärm med rund ‹ */
.tk-menu-logo { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .tk-menu-logo { display: block; position: absolute; top: 0; left: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { margin-top: 16px; }
.tk-menu-logo img { width: 46px; height: auto; display: block; border-radius: 0; }
.tk-sub-next, .tk-sub-back { display: none; }
@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu { position: relative; }
	.wp-block-navigation__responsive-container.is-menu-open .tk-sub-next { display: grid; place-items: center; position: absolute; right: 0; top: 6px; z-index: 2; width: 44px; height: 44px; border: 0; background: none; font-size: 1.5rem; cursor: pointer; color: inherit; }
	.wp-block-navigation__responsive-container.is-menu-open:not(.tk-sub-open) .wp-block-navigation__submenu-container { display: none !important; }
	.tk-sub-open .wp-block-navigation__container > .wp-block-navigation-item:not(.tk-active) { display: none !important; }
	.tk-sub-open .tk-active > .wp-block-navigation-item__content, .tk-sub-open .tk-active > .tk-sub-next { display: none !important; }
	.tk-sub-open .tk-active > .wp-block-navigation__submenu-container { padding: 0 !important; margin: 0 !important; width: 100%; }
	.tk-sub-open .tk-active, .tk-sub-open .tk-active .wp-block-navigation-item { margin: 0 !important; padding: 0 !important; display: block !important; }
	.tk-sub-open .tk-active > .wp-block-navigation-submenu__toggle { display: none !important; }
	.tk-sub-open .tk-active .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.125rem; font-weight: 700; color: var(--wp--preset--color--contrast) !important; padding: 14px 0 !important; border-bottom: 1px solid var(--wp--preset--color--line); width: 100%; display: block; }
	.tk-sub-open .tk-sub-back { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; padding: 0; border: 0; background: none; font: inherit; font-weight: 700; font-size: 1.25rem; color: inherit; cursor: pointer; }
	.tk-sub-back span { width: 44px; height: 44px; border-radius: 0; border: 1px solid var(--wp--preset--color--line); display: grid; place-items: center; }
	.tk-sub-open .tk-menu-logo { display: none !important; }
}

.tk-sub-all { display: none; }
.tk-sub-open .tk-sub-all { display: block; }

/* Mobilmeny: «Begär offert» direkt under punkterna; ‹ tar loggans plats på andra skärmen */
.tk-menu-cta { display: none; }
@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open .tk-menu-cta { display: block; margin-top: 24px; width: 100%; }
	.tk-menu-cta a { display: block; text-align: center; }
	.tk-sub-open .tk-active, .tk-sub-open .wp-block-navigation__container, .tk-sub-open .wp-block-navigation__responsive-container-content { position: static !important; }
	.tk-sub-open .tk-sub-back { position: absolute; top: 0; left: 0; margin: 0; }
	.tk-sub-open .tk-sub-back span { background: #fff; }
}
@media (max-width: 781px) {
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .tk-mobilebar.tk-mobilebar { display: none; }
	.wp-block-navigation__responsive-container.is-menu-open .tk-menu-cta { position: sticky; bottom: 16px; }
}
@media (max-width: 781px) { .tk-h1-long h1 { font-size: 1.75rem !important; } }

/* ===== v1.3 – ds-checklist (29.10) ===== */
/* H1–H3: hero-luft = sektionsluft (80 / 56), jämna steg H1→rad 24, rad→knapp/bockar 40 */
.tk-hero.wp-block-cover { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.tk-hero-home.wp-block-cover { min-height: 0 !important; }
.tk-hero h1 { margin-top: 0 !important; margin-bottom: 0 !important; }
.tk-hero h1 + p { margin-top: 24px !important; margin-bottom: 0 !important; }
.tk-hero .wp-block-buttons, .tk-hero .tk-trust { margin-top: 40px !important; }
.tk-hero .tk-crumbs { margin-top: 0 !important; margin-bottom: 16px !important; }
@media (max-width: 781px) { .tk-hero.wp-block-cover { padding-top: 56px !important; padding-bottom: 56px !important; } }
/* H7: startsidan – text + bockar vänster, kompakt formulär höger */
.tk-hero-home > .wp-block-cover__background { background: linear-gradient(to right, rgba(30,35,40,.78) 0%, rgba(30,35,40,.5) 55%, rgba(30,35,40,.2) 100%) !important; }
.tk-hero-cols { margin: 0 !important; }
.tk-trust-grid { display: grid !important; grid-template-columns: repeat(2, max-content); gap: 16px 32px; }
.tk-hero-form { box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.tk-hero-form .nf-form-cont .nf-field-container { margin-bottom: 16px; }
.tk-hero-form .nf-form-cont input[type="text"], .tk-hero-form .nf-form-cont input[type="tel"], .tk-hero-form .nf-form-cont select { height: 48px !important; }
.tk-hero-form { color: var(--wp--preset--color--contrast); }
.tk-hero-form .nf-form-cont select { color: var(--wp--preset--color--muted); }
.tk-hero-form .nf-form-cont .submit-container { text-align: left; margin-bottom: 0; }
.tk-hero-form .nf-form-cont input[type="submit"] { width: 100%; }
.tk-hero-form .nf-form-cont .hidden-container, .tk-hero-form .nf-form-cont .submit-container { margin-bottom: 0 !important; }
.tk-hero-form .nf-before-form-content, .tk-hero-form .nf-after-form-content { display: none; }
@media (max-width: 781px) {
	.tk-hero-home.wp-block-cover { min-height: 0 !important; }
	.tk-hero-home .tk-trust-grid { display: none !important; }
	.tk-hero-form { padding: 24px !important; }
}
/* S5: accentord i H2 – kursiv i accentfärg */
h2 em { font-style: italic; color: var(--wp--preset--color--accent); }
.has-contrast-background-color h2 em, .wp-block-cover h2 em { color: inherit; }
/* S7: bild över varje steg/fördel */
.tk-step-img { margin: 0 auto 16px !important; max-width: 200px; }
.tk-step-img img { border-radius: 0!important; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }

/* ===== v2.0 – skandinavisk editorial (29.10): Fraunces + Inter, större typografi, mer luft, skarpare former ===== */
body { -webkit-font-smoothing: antialiased; font-optical-sizing: auto; }
h1, h2, h3, .tk-price-num, .tk-faq summary { font-variation-settings: "SOFT" 30, "WONK" 0; }
h2 em, h1 em { font-weight: 380; font-style: italic; }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
.tk-h1-long h1 { font-size: clamp(2.5rem, 4.6vw, 4rem) !important; }
@media (max-width: 781px) { .tk-h1-long h1 { font-size: 2.25rem !important; } }
.tk-hero > .wp-block-cover__inner-container > .wp-block-group { max-width: 820px; }
.tk-hero h1 + p { max-width: 560px; }

/* Bilder: en rundning 4px, kort 12px */
.wp-block-image img, .wp-block-cover:not(.tk-hero):not(.tk-quote) { border-radius: 0; }

/* Knappar: 8px, lugn hover – inversion med tunn ram, utan skugga (DS C3) */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent) !important; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: none; }
.wp-element-button, .wp-block-button__link { transition: background-color .2s var(--wp--custom--ease), color .2s var(--wp--custom--ease); }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { border-radius: 0; background: transparent; }

/* Sidhuvud: tunn linje, ingen tjock ram */
.tk-header { border-bottom-color: rgba(21,24,27,.08) !important; }

/* Bockar: tunna linjer i stället för fyllda cirklar */
.tk-trust p::before, .tk-check li::before { border-radius: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D67600' stroke-width='2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / 20px no-repeat; }
.tk-hero .tk-trust p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }

/* Tjänster: bento – Takbyte 2×2, foto i kanten, rubrik på bilden */
.tk-bento { display: grid !important; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 260px; gap: 16px; }
.tk-bento > .tk-service:first-child { grid-column: span 2; grid-row: span 2; }
.tk-bento .tk-service { position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: #fff; padding: 0 !important; border-radius: 0; }
.tk-bento .tk-service:hover { transform: none; box-shadow: none; }
.tk-bento .tk-service > .wp-block-image { position: absolute; inset: 0; margin: 0 !important; }
.tk-bento .tk-service > .wp-block-image img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; border-radius: 0; transition: transform .8s var(--wp--custom--ease); }
.tk-bento .tk-service:hover > .wp-block-image img { transform: scale(1.04); }
.tk-bento .tk-service::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(21,24,27,.82) 0%, rgba(21,24,27,.35) 45%, rgba(21,24,27,0) 75%); pointer-events: none; }
.tk-bento-text { position: relative; z-index: 2; padding: 24px; margin: 0 !important; }
.tk-bento-text h3 { color: #fff; margin: 0 0 6px; }
.tk-bento-text h3 a::before { content: "→"; float: right; font-family: Inter, sans-serif; font-weight: 300; transition: transform .3s var(--wp--custom--ease); }
.tk-bento .tk-service:hover h3 a::before { transform: translateX(4px); }
.tk-bento-text p { color: rgba(255,255,255,.78); font-size: .9375rem; margin: 0; max-width: 46ch; }
.tk-bento > .tk-service:first-child .tk-bento-text { padding: 40px; }
.tk-bento > .tk-service:first-child h3 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
@media (max-width: 781px) {
	.tk-bento { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; gap: 12px; }
	.tk-bento > .tk-service:first-child { grid-column: span 2; grid-row: span 1; }
	.tk-bento-text, .tk-bento > .tk-service:first-child .tk-bento-text { padding: 16px; }
	.tk-bento-text h3 { font-size: 1.125rem; }
	.tk-bento > .tk-service:first-child h3 { font-size: 1.5rem; }
	.tk-bento-text p { display: none; }
	.tk-bento > .tk-service:first-child .tk-bento-text p { display: block; }
}

/* Uppdrag: foto i kanten av kortet */
.tk-project { padding: 0 !important; overflow: hidden; }
.tk-project > .wp-block-image { margin: 0 0 4px !important; }
.tk-project > .wp-block-image img { border-radius: 0; }
.tk-project > :not(.wp-block-image) { padding-left: 24px; padding-right: 24px; }
.tk-project > :last-child { padding-bottom: 24px; }
.tk-project > p:first-of-type { font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 600; }
.tk-project img { transition: transform .8s var(--wp--custom--ease); }
.tk-project:hover img { transform: scale(1.03); }

/* Steg: siffra i serif, tunn ring */
.tk-step-num { background: transparent; color: var(--wp--preset--color--accent); border: 1px solid currentColor; font-family: Inter, sans-serif; font-weight: 450; font-size: 1.125rem; }

/* Priser: stor siffra, mittenalternativet mörkt */
.tk-price-num { font-family: Inter, sans-serif; font-weight: 400; font-size: clamp(2.75rem, 4vw, 3.5rem); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; line-height: 1; display: inline-block; margin-bottom: 8px; }
.tk-price-feat, .tk-price-feat h3 { color: #F3EFE9 !important; }
.tk-price-feat .has-muted-color, .tk-price-feat li { color: rgba(243,239,233,.72) !important; }
.tk-price-feat .tk-check li::before, .tk-price-feat li::marker { color: #F3EFE9; }
.tk-cards + p + .wp-block-buttons { margin-top: 32px !important; }

/* FAQ: serif-rubrik, + / − till höger */
.tk-faq .wp-block-details { padding: 24px 0; border-bottom-color: rgba(21,24,27,.12); }
.tk-faq .wp-block-details:first-child { border-top: 1px solid rgba(21,24,27,.12); }
.tk-faq summary { list-style: none; display: flex; justify-content: space-between; gap: 24px; align-items: baseline; font-family: Inter, sans-serif; font-weight: 420; font-size: clamp(1.25rem, 2vw, 1.375rem); letter-spacing: -0.01em; }
.tk-faq summary::-webkit-details-marker { display: none; }
.tk-faq summary::after { content: "+"; font-family: Inter, sans-serif; font-weight: 300; font-size: 1.75rem; line-height: 1; flex: none; transition: transform .3s var(--wp--custom--ease); }
.tk-faq details[open] summary::after { transform: rotate(45deg); }

/* Formulär: fält utan tung ram, fokus i grafit */
.nf-form-cont input[type="text"], .nf-form-cont input[type="email"], .nf-form-cont input[type="tel"], .nf-form-cont select, .nf-form-cont textarea { border-radius: 0; background: #fff; border-color: rgba(21,24,27,.14); }
.nf-form-cont input:focus, .nf-form-cont select:focus, .nf-form-cont textarea:focus { outline: 0; border-color: var(--wp--preset--color--contrast); box-shadow: 0 0 0 1px var(--wp--preset--color--contrast); }
.nf-form-cont input[type="submit"], .nf-form-cont input[type="button"] { border-radius: 0; font-weight: 500; letter-spacing: .01em; }
.nf-form-cont input[type="submit"]:hover { box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent); transform: none; }
.nf-form-cont .nf-field-label label { font-weight: 500; }
.tk-hero-form { border-radius: 0!important; box-shadow: 0 24px 60px -20px rgba(0,0,0,.45); }

/* Omdöme: stort serif-citat */
.tk-quote p:first-child { font-family: Inter, sans-serif; font-style: italic; font-weight: 350; font-size: clamp(1.625rem, 3.2vw, 2.5rem); line-height: 1.25; letter-spacing: -0.01em; }
.tk-quote p:last-child { font-size: .8125rem; text-transform: uppercase; letter-spacing: .14em; opacity: .85; }

/* Lugn rörelse: block tonar in när de syns (bara där webbläsaren stödjer det) */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.wp-block-post-content > section > * { animation: tk-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; }
	}
}
@keyframes tk-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.tk-hero > .wp-block-cover__inner-container > .wp-block-group > h1 { max-width: 820px !important; }
.tk-bento > * { margin: 0 !important; }
.tk-step-img { max-width: 240px; }

/* ===== v2.1 (29.10): rubriker utan kursiv, kort offertformulär (som armeringproffs) ===== */
h1 em, h2 em, h3 em { font-style: normal !important; font-weight: inherit; }
.tk-offer h3 { font-size: 1.5rem; margin: 0 0 12px !important; color: var(--wp--preset--color--contrast); }
.tk-offer .nf-form-cont .nf-field-container { margin-bottom: 14px; }
.tk-offer .nf-form-cont input[type="text"], .tk-offer .nf-form-cont input[type="tel"] { height: 52px !important; }
.tk-offer .nf-form-cont textarea { min-height: 112px; height: 112px; resize: vertical; }
.tk-offer .nf-form-cont .submit-container { text-align: left; margin-bottom: 0 !important; }
.tk-offer .nf-form-cont input[type="submit"] { width: 100%; }
.tk-offer .nf-form-cont .hidden-container { margin-bottom: 0 !important; }
.tk-offer .nf-before-form-content, .tk-offer .nf-after-form-content, .tk-offer .nf-form-title { display: none; }
.tk-offer .tk-form-note { text-align: left; margin: 16px 0 0 !important; }
.tk-cta .tk-offer { box-shadow: 0 24px 60px -28px rgba(21,24,27,.25); }
/* Mobilmeny: knappen under listan på egen helfärgad botten, ovanför punkterna */
@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open .tk-menu-cta { z-index: 5; background: var(--wp--preset--color--base); padding: 12px 0 16px; bottom: 0; margin-top: 12px; box-shadow: 0 -12px 16px -8px var(--wp--preset--color--base); }
}
/* Logga: märke utan ruta */
.tk-header .wp-block-site-logo img, .tk-menu-logo img { border-radius: 0!important; }
.wp-block-navigation__responsive-container.is-menu-open { background-color: var(--wp--preset--color--base) !important; }

/* ===== v2.2 (29.10): skarpa hörn överallt (radius 0) ===== */
.wp-block-group, .wp-block-image img, .wp-block-cover, .wp-element-button, .wp-block-button__link,
input, select, textarea, button, .nf-form-cont input[type="submit"], .nf-form-cont .nf-response-msg,
.tk-bento .tk-service, .tk-hero-form, .tk-project, .tk-step-num, .tk-sub-back span, .tk-menu-logo img,
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close,
.wp-block-navigation__submenu-container { border-radius: 0!important; }
/* Formulär: exakt samma avstånd mellan alla fält och till knappen (16px), inga extra marginaler från Ninja Forms */
.tk-offer .nf-form-cont .nf-form-content { padding: 0; max-width: none; }
.tk-offer .nf-form-cont nf-fields-wrap { display: flex; flex-direction: column; gap: 16px; }
.tk-offer .nf-form-cont nf-field, .tk-offer .nf-form-cont .nf-field-container, .tk-offer .nf-form-cont .nf-field, .tk-offer .nf-form-cont .field-wrap, .tk-offer .nf-form-cont .nf-field-element { margin: 0 !important; padding: 0 !important; }
.tk-offer .nf-form-cont .nf-field-element input, .tk-offer .nf-form-cont .nf-field-element textarea { display: block; margin: 0 !important; }
.tk-offer .nf-form-cont nf-field:has(.hidden-container) { display: none; }
.tk-offer .nf-form-cont .nf-error-wrap:empty, .tk-offer .nf-form-cont .nf-after-field:empty { display: none; }
.tk-offer .nf-form-cont .nf-after-field .nf-error-msg { margin-top: 6px; font-size: .8125rem; }
.tk-offer .nf-form-cont .nf-after-field:not(:has(.nf-error-msg)) { display: none !important; }
.tk-offer .nf-form-cont .nf-after-field { margin: 0 !important; }
.tk-offer .nf-form-cont .submit-wrap .nf-field-label { display: none; }
.tk-offer .nf-form-cont input[type="submit"] { height: 52px !important; min-height: 52px; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Tjänster: tydligare rubrik + tydlig hover (29.10) */
.tk-bento .tk-service::before { background: linear-gradient(to top, rgba(21,24,27,.92) 0%, rgba(21,24,27,.55) 40%, rgba(21,24,27,.05) 80%); transition: background-color .4s var(--wp--custom--ease); }
.tk-bento .tk-service::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; z-index: 3; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--wp--custom--ease); }
.tk-bento .tk-service:hover::after, .tk-bento .tk-service:focus-within::after { transform: scaleX(1); }
.tk-bento .tk-service:hover::before, .tk-bento .tk-service:focus-within::before { background-color: rgba(21,24,27,.25); }
.tk-bento .tk-service:hover > .wp-block-image img { transform: scale(1.07); }
.tk-bento-text h3 { position: relative; padding-right: 44px; font-size: clamp(1.5rem, 2.1vw, 1.875rem); font-weight: 500; line-height: 1.1; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.tk-bento > .tk-service:first-child h3 { font-size: clamp(2rem, 3.6vw, 3rem); }
.tk-bento-text h3 a::before { float: none; position: absolute; right: 0; bottom: .05em; width: 36px; height: 36px; display: grid; place-items: center; font-size: 1.25rem; border: 1px solid rgba(255,255,255,.6); transition: transform .3s var(--wp--custom--ease), background-color .3s, border-color .3s; }
.tk-bento .tk-service:hover h3 a::before { transform: translateX(4px); background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.tk-bento-text p { color: rgba(255,255,255,.86); }
@media (max-width: 781px) {
	.tk-bento-text h3 { font-size: 1.25rem; padding-right: 36px; }
	.tk-bento > .tk-service:first-child h3 { font-size: 1.75rem; }
	.tk-bento-text h3 a::before { width: 28px; height: 28px; font-size: 1rem; }
}

/* Priser: priserna direkt i hero (29.10) */
.tk-hero-prices { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px !important; max-width: 920px; margin-left: 0 !important; }
.tk-hp-item { padding: 24px 28px; background: rgba(21,24,27,.55); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.tk-hp-item:nth-child(2) { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.tk-hp-item p { margin: 0 !important; color: #fff; }
.tk-hp-name { font-weight: 500; letter-spacing: .02em; }
.tk-hp-num { margin-top: 10px !important; }
.tk-hp-num .tk-price-num { margin-bottom: 0; }
.tk-hp-note { opacity: .78; margin-top: 6px !important; }
@media (max-width: 781px) {
	.tk-hero-prices { grid-template-columns: 1fr; gap: 10px; margin-top: 32px !important; }
	.tk-hp-item { padding: 16px 20px; display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 12px; }
	.tk-hp-num { margin-top: 0 !important; grid-row: span 2; text-align: right; }
	.tk-hp-num .tk-price-num { font-size: 2.25rem; }
}
.tk-hero-prices > * { margin: 0 !important; }
/* Priser i hero v2: hela korten, klickbara */
.tk-hero-prices { max-width: none; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px !important; }
.tk-hp-item { position: relative; padding: 28px 28px 32px; transition: transform .3s var(--wp--custom--ease), background-color .3s, border-color .3s; }
.tk-hp-item h3 { margin: 0 !important; color: #fff; font-size: 1.5rem; }
.tk-hp-item h3 a { color: inherit; text-decoration: none; }
.tk-hp-item h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tk-hp-item h3 a::before { content: "→"; position: absolute; top: 24px; right: 24px; width: 36px; height: 36px; display: grid; place-items: center; font-family: Inter, sans-serif; font-weight: 300; font-size: 1.125rem; border: 1px solid rgba(255,255,255,.55); transition: transform .3s var(--wp--custom--ease), background-color .3s, border-color .3s; }
.tk-hp-item:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.6); }
.tk-hp-item:hover h3 a::before { transform: translateX(4px); background: #fff; color: var(--wp--preset--color--contrast); border-color: #fff; }
.tk-hp-item .tk-hp-num { margin-top: 16px !important; line-height: 1.35; }
.tk-hp-item .tk-hp-note { margin-top: 12px !important; opacity: .82; font-size: .9375rem; }
.tk-hp-item .tk-check { margin: 20px 0 0 !important; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.9); }
.tk-hp-item .tk-check li { margin-bottom: 8px; font-size: .9375rem; }
.tk-hp-item .tk-check li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
.tk-hp-foot { color: rgba(255,255,255,.75); margin: 16px 0 0 !important; }
.tk-hero:has(.tk-hero-prices) h1 { font-size: clamp(2.5rem, 5vw, 4.5rem) !important; }
@media (max-width: 781px) {
	.tk-hero-prices { grid-template-columns: 1fr; gap: 12px; margin-top: 28px !important; }
	.tk-hp-item { display: block; padding: 20px 20px 24px; }
	.tk-hp-item .tk-hp-num { text-align: left; }
	.tk-hp-item h3 a::before { top: 16px; right: 16px; width: 32px; height: 32px; }
}
.tk-hero > .wp-block-cover__inner-container > .tk-hero-prices { max-width: 1200px !important; width: 100%; }
@supports (grid-template-rows: subgrid) {
	@media (min-width: 782px) { .tk-hero-prices { grid-template-rows: repeat(4, auto); } .tk-hp-item { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; } }
}
/* Klickbara kort (Övriga tjänster m.fl.) */
.tk-link-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tk-link-grid > * { margin: 0 !important; }
.tk-link-card { position: relative; transition: transform .3s var(--wp--custom--ease), border-color .3s, box-shadow .3s; }
.tk-link-card h3 { margin: 0 0 10px !important; padding-right: 48px; font-size: 1.375rem; }
.tk-link-card h3 a { color: inherit; text-decoration: none; }
.tk-link-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tk-link-card h3 a::before { content: "→"; position: absolute; top: 24px; right: 24px; width: 36px; height: 36px; display: grid; place-items: center; font-family: Inter, sans-serif; font-weight: 300; font-size: 1.125rem; border: 1px solid var(--wp--preset--color--line); transition: transform .3s var(--wp--custom--ease), background-color .3s, color .3s, border-color .3s; }
.tk-link-card p { margin: 0 !important; }
.tk-link-card:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--contrast) !important; box-shadow: 0 16px 32px -20px rgba(21,24,27,.35); }
.tk-link-card:hover h3 a::before { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #fff; transform: translateX(4px); }
@media (max-width: 1099px) { .tk-link-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 781px) { .tk-link-grid { grid-template-columns: 1fr; gap: 12px; } .tk-link-card { padding: 20px !important; } .tk-link-card h3 a::before { top: 16px; right: 16px; width: 32px; height: 32px; } }
/* Infografik «Vad påverkar priset?»: numrerade punkter på huset + samma nummer i listan */
.tk-info-fig { position: relative; }
.tk-info-fig .wp-block-image { margin: 0 !important; }
.tk-info-fig .wp-block-image img { width: 100%; height: auto; }
.tk-pin { position: absolute; margin: 0 !important; width: 40px; height: 40px; display: grid; place-items: center; transform: translate(-50%, -50%); background: var(--wp--preset--color--contrast); color: #fff; font-family: Inter, sans-serif; font-size: 1.125rem; font-weight: 500; box-shadow: 0 0 0 4px rgba(250,248,245,.9); animation: tk-pulse 2.4s ease-out infinite; }
.tk-pin-1 { left: 64%; top: 30%; }
.tk-pin-2 { left: 51.5%; top: 9%; }
.tk-pin-3 { left: 22%; top: 50%; }
.tk-pin-4 { left: 51%; top: 70%; }
.tk-pin-5 { left: 76%; top: 60%; }
@keyframes tk-pulse { 0% { box-shadow: 0 0 0 4px rgba(250,248,245,.9), 0 0 0 4px rgba(168,57,43,.45); } 70%, 100% { box-shadow: 0 0 0 4px rgba(250,248,245,.9), 0 0 0 16px rgba(168,57,43,0); } }
@media (prefers-reduced-motion: reduce) { .tk-pin { animation: none; } }
.tk-info-list { list-style: none; counter-reset: tk; padding: 0; margin: 0; }
.tk-info-list li { counter-increment: tk; position: relative; padding: 18px 0 18px 60px; border-bottom: 1px solid var(--wp--preset--color--line); font-size: 1.125rem; margin: 0; }
.tk-info-list li:first-child { border-top: 1px solid var(--wp--preset--color--line); }
.tk-info-list li::before { content: counter(tk); position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; display: grid; place-items: center; background: var(--wp--preset--color--contrast); color: #fff; font-family: Inter, sans-serif; font-size: 1.125rem; }
@media (max-width: 781px) { .tk-pin { width: 30px; height: 30px; font-size: .9375rem; } .tk-info-list li { padding-left: 52px; font-size: 1rem; } .tk-info-list li::before { width: 32px; height: 32px; } }

/* ===== Formulär 1:1 som armeringproffs.se (29.10): mörkt glaskort, mörka fält, ljus text. Mått: kort pad 32, rubrik Inter 20/28 700, fält 48, textarea 98, avstånd 16, knapp 48 Inter 15/600, integritetsrad 12/16 ===== */
.tk-offer.tk-offer { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.2) !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: none !important; padding: 32px !important; color: #F1F5F9; max-width: 480px; margin-left: auto !important; }
.tk-cta .tk-offer.tk-offer { background: #15181B !important; border-color: #15181B !important; margin-left: auto !important; margin-right: auto !important; }
.tk-offer h3 { font-family: Inter, sans-serif !important; font-size: 20px !important; line-height: 28px !important; font-weight: 700 !important; letter-spacing: 0 !important; color: #fff !important; margin: 0 0 20px !important; }
.tk-offer .nf-form-cont nf-fields-wrap { gap: 16px; }
.tk-offer .nf-form-cont input[type="text"], .tk-offer .nf-form-cont input[type="tel"], .tk-offer .nf-form-cont textarea {
	height: 48px !important; min-height: 48px !important; padding: 0 16px !important; background: #1B2025 !important; border: 1px solid #64748B !important; color: #F1F5F9 !important; font: 400 16px/24px Inter, sans-serif !important; box-shadow: none !important; }
.tk-offer .nf-form-cont textarea { height: 98px !important; min-height: 98px !important; padding: 12px 16px !important; resize: vertical; }
.tk-offer .nf-form-cont input::placeholder, .tk-offer .nf-form-cont textarea::placeholder { color: #F1F5F9; opacity: 1; }
.tk-offer .nf-form-cont input:focus, .tk-offer .nf-form-cont textarea:focus { border-color: #fff !important; box-shadow: 0 0 0 1px #fff !important; outline: 0; }
.tk-offer .nf-form-cont input[type="submit"] { height: 48px !important; min-height: 48px !important; padding: 0 24px !important; font: 600 15px/22.5px Inter, sans-serif !important; letter-spacing: 0 !important; background: var(--wp--preset--color--accent) !important; color: #fff !important; }
.tk-offer .nf-form-cont input[type="submit"]:hover { background: var(--wp--preset--color--accent-dark) !important; box-shadow: none !important; }
.tk-offer .tk-form-note { margin: 12px 0 0 !important; font-size: 12px !important; line-height: 16px !important; color: #CBD5E1 !important; }
.tk-offer .tk-form-note a { color: inherit !important; text-decoration: underline; }
.tk-offer .tk-form-note a:hover { color: #fff !important; }
.tk-offer .nf-error-msg, .tk-offer .nf-form-cont .nf-response-msg { color: #fff; }
.tk-offer .nf-form-cont .nf-response-msg { background: transparent; padding: 0; }
@media (max-width: 781px) { .tk-offer.tk-offer { padding: 24px !important; max-width: none; } }

/* ===== Mörkt läge (knapp i sidhuvudet) ===== */
.tk-theme { width: 48px; height: 48px; flex: none; display: grid; place-items: center; padding: 0; border: 1px solid var(--wp--preset--color--line); background: transparent; color: var(--wp--preset--color--contrast); cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.tk-theme:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast); }
@media (max-width: 781px) {
	.tk-theme { width: 44px; height: 44px; order: 1; }
	.tk-header > .wp-block-group > .wp-block-navigation { order: 2; }
	.tk-header > .wp-block-group { gap: 8px; }
	.tk-header > .wp-block-group > .wp-block-group:first-child { margin-right: auto; }
}
html[data-theme="dark"] {
	--wp--preset--color--base: #111417;
	--wp--preset--color--surface: #1A1E22;
	--wp--preset--color--contrast: #EDEAE4;
	--wp--preset--color--muted: #A39D95;
	--wp--preset--color--line: #2E343A;
	--wp--preset--color--accent: #CF5A45;
	--wp--preset--color--accent-dark: #E37A66;
	color-scheme: dark;
}
html[data-theme="dark"] body { background: #111417; color: #EDEAE4; }
html[data-theme="dark"] footer.wp-block-template-part > .wp-block-group, html[data-theme="dark"] footer .has-contrast-background-color { background-color: #0B0D0F !important; color: #EDEAE4 !important; }
html[data-theme="dark"] footer a { color: #EDEAE4 !important; }
html[data-theme="dark"] .tk-price-feat { background-color: #0B0D0F !important; border: 1px solid #2E343A !important; }
html[data-theme="dark"] .tk-pin, html[data-theme="dark"] .tk-info-list li::before { background: #CF5A45; box-shadow: 0 0 0 4px rgba(17,20,23,.9); }
html[data-theme="dark"] .tk-mobilebar.tk-mobilebar { background: #111417; }
html[data-theme="dark"] .tk-header .wp-block-site-logo img, html[data-theme="dark"] .tk-menu-logo img { filter: invert(1) hue-rotate(180deg) brightness(1.1); }
html[data-theme="dark"] .tk-step-img img, html[data-theme="dark"] .tk-info-fig img { filter: brightness(.92); }
html[data-theme="dark"] .tk-cta .tk-offer.tk-offer { background: #0B0D0F !important; border-color: #2E343A !important; }
html[data-theme="dark"] .tk-link-card:hover { border-color: #EDEAE4 !important; }
html[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #111417 !important; color: #CF5A45 !important; }
html[data-theme="dark"] .nf-form-cont input[type="text"], html[data-theme="dark"] .nf-form-cont input[type="email"], html[data-theme="dark"] .nf-form-cont input[type="tel"], html[data-theme="dark"] .nf-form-cont textarea, html[data-theme="dark"] .nf-form-cont select { background: #1B2025; color: #EDEAE4; }
html[data-theme="dark"] footer .has-base-color, html[data-theme="dark"] .wp-block-cover .has-base-color { color: #EDEAE4 !important; }
@media (max-width: 781px) {
	.tk-bento .tk-service:not(:first-child) h3 { font-size: 1.125rem; }
}
/* Tjänstekort hover: vit genomskinlig hinna över bilden i stället för linjen nertill */
.tk-bento .tk-service::after { left: 0; right: 0; top: 0; bottom: 0; height: auto; z-index: 0; background: rgba(255,255,255,.22); transform: none; opacity: 0; transition: opacity .35s var(--wp--custom--ease); pointer-events: none; }
.tk-bento .tk-service:hover::after, .tk-bento .tk-service:focus-within::after { opacity: 1; transform: none; }
.tk-bento .tk-service:hover::before, .tk-bento .tk-service:focus-within::before { background-color: transparent; }
/* Formulär: lägre fält (29.10) – fält 42, beskrivning 76, text 15px; knappen 48 */
.tk-offer .nf-form-cont input[type="text"], .tk-offer .nf-form-cont input[type="tel"] { height: 42px !important; min-height: 42px !important; padding: 0 14px !important; font-size: 15px !important; line-height: 22px !important; }
.tk-offer .nf-form-cont textarea { height: 76px !important; min-height: 76px !important; padding: 10px 14px !important; font-size: 15px !important; line-height: 22px !important; }
.tk-offer .nf-form-cont nf-fields-wrap { gap: 12px; }
.tk-bento .tk-service::after { z-index: 1; background: rgba(255,255,255,.28); }
/* Formuläret längst ner i ljust läge: ljust kort, ljusa fält (hero behåller mörkt glas) */
html:not([data-theme="dark"]) .tk-cta .tk-offer.tk-offer { background: #fff !important; border: 1px solid var(--wp--preset--color--line) !important; color: var(--wp--preset--color--contrast); box-shadow: 0 24px 60px -32px rgba(21,24,27,.25) !important; }
html:not([data-theme="dark"]) .tk-cta .tk-offer h3 { color: var(--wp--preset--color--contrast) !important; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .nf-form-cont input::placeholder, html:not([data-theme="dark"]) .tk-cta .tk-offer .nf-form-cont textarea::placeholder { color: var(--wp--preset--color--muted); }
html:not([data-theme="dark"]) .tk-cta .tk-offer .nf-form-cont input:focus, html:not([data-theme="dark"]) .tk-cta .tk-offer .nf-form-cont textarea:focus { border-color: var(--wp--preset--color--contrast) !important; box-shadow: 0 0 0 1px var(--wp--preset--color--contrast) !important; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .tk-form-note { color: var(--wp--preset--color--muted) !important; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .tk-form-note a:hover { color: var(--wp--preset--color--contrast) !important; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .nf-error-msg, html:not([data-theme="dark"]) .tk-cta .tk-offer .nf-response-msg { color: var(--wp--preset--color--contrast); }
/* Logga N5 (TS-monogram) + ordmärke i två rader */
.tk-header .wp-block-site-logo img { width: 52px !important; height: auto; filter: none !important; }
@media (max-width: 781px) { .tk-header .wp-block-site-logo img { width: 40px !important; } }
.tk-brand { margin: 0 !important; line-height: 1; }
.tk-brand a { display: flex; flex-direction: column; color: var(--wp--preset--color--contrast); text-decoration: none; font-family: Inter, sans-serif; font-weight: 500; font-size: 1.5rem; letter-spacing: -0.02em; white-space: nowrap; }
.tk-brand span { font-family: Inter, sans-serif; font-size: .6875rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-top: 6px; }
@media (max-width: 781px) { .tk-brand a { font-size: 1.25rem; } .tk-brand span { font-size: .625rem; margin-top: 4px; } }
html[data-theme="dark"] .tk-header .wp-block-site-logo img, html[data-theme="dark"] .tk-menu-logo img { content: url("assets/logo-dark.png"); filter: none !important; }
.tk-header .wp-block-site-logo img { width: 72px !important; }
@media (max-width: 781px) { .tk-header .wp-block-site-logo img { width: 46px !important; } }
@media (max-width: 781px) { .tk-hero.wp-block-cover:not(.tk-hero-home) { min-height: calc(100svh - 75px - 78px) !important; } }
/* Temaknappen lika hög som knapparna bredvid (56) och samma ram som telefonknappen */
@media (min-width: 782px) { .tk-theme { width: 56px; height: 56px; border-color: var(--wp--preset--color--contrast); } }
/* Hero-formuläret: ljusa fält med mörk text */
.tk-hero-form.tk-offer .nf-form-cont input[type="text"], .tk-hero-form.tk-offer .nf-form-cont input[type="tel"], .tk-hero-form.tk-offer .nf-form-cont textarea { background: #fff !important; border-color: transparent !important; color: #15181B !important; }
.tk-hero-form.tk-offer .nf-form-cont input::placeholder, .tk-hero-form.tk-offer .nf-form-cont textarea::placeholder { color: #6B6660 !important; }
.tk-hero-form.tk-offer .nf-form-cont input:focus, .tk-hero-form.tk-offer .nf-form-cont textarea:focus { border-color: var(--wp--preset--color--accent) !important; box-shadow: 0 0 0 1px var(--wp--preset--color--accent) !important; }
/* Formulärkortet: exakt lika stora marginaler (32) runt innehållet på alla fyra sidor – rubrik och integritetsrad utan extra radavstånd */
.tk-offer.tk-offer { padding: 32px !important; }
.tk-offer h3 { line-height: 1 !important; margin: 0 0 20px !important; text-box: trim-both cap alphabetic; }
.tk-offer .tk-form-note { line-height: 1.35 !important; margin-top: 14px !important; text-box: trim-both cap alphabetic; }
.tk-offer > :last-child { margin-bottom: 0 !important; }
@media (max-width: 781px) { .tk-offer.tk-offer { padding: 24px !important; } }
/* Alla avstånd i kortet lika (12): rubrik→fält, fält→fält, fält→knapp, knapp→integritetsrad */
.tk-offer h3 { margin-bottom: 12px !important; }
.tk-offer .tk-form-note { margin-top: 12px !important; }
.tk-offer h3 { margin-bottom: 8px !important; }
.tk-offer > * { margin-top: 0 !important; } .tk-offer h3 { margin-bottom: 12px !important; } .tk-offer .tk-form-note { margin-top: 12px !important; }
/* Fält som armeringproffs: text 16 px in från kanten, synlig 1 px ram, 16 px text */
.tk-offer .nf-form-cont input[type="text"], .tk-offer .nf-form-cont input[type="tel"] { padding: 0 16px !important; font-size: 16px !important; line-height: 24px !important; }
.tk-offer .nf-form-cont textarea { padding: 12px 16px !important; font-size: 16px !important; line-height: 24px !important; }
.tk-hero-form.tk-offer .nf-form-cont input[type="text"], .tk-hero-form.tk-offer .nf-form-cont input[type="tel"], .tk-hero-form.tk-offer .nf-form-cont textarea { border: 1px solid #94A3B8 !important; }
/* Inputs som armeringproffs: rundade 8 px (undantag från radius 0) */
.tk-offer .nf-form-cont input[type="text"], .tk-offer .nf-form-cont input[type="tel"], .tk-offer .nf-form-cont textarea, .nf-form-cont input[type="text"], .nf-form-cont input[type="tel"], .nf-form-cont input[type="email"], .nf-form-cont textarea, .nf-form-cont select { border-radius: 0!important; }
/* Undersidornas hero: rubrik och rad får inte flyta ihop med fotot – mörkare ton bakom texten (vänster + nedtill) och mjuk textskugga */
.tk-hero:not(.tk-hero-home) > .wp-block-cover__background { background: linear-gradient(to right, rgba(21,24,27,.78) 0%, rgba(21,24,27,.55) 45%, rgba(21,24,27,.2) 80%, rgba(21,24,27,.1) 100%), linear-gradient(to top, rgba(21,24,27,.6) 0%, rgba(21,24,27,0) 60%) !important; opacity: 1 !important; }
.tk-hero h1, .tk-hero h1 + p, .tk-hero .tk-crumbs { text-shadow: 0 2px 18px rgba(0,0,0,.45); }
/* Hero-formulärets inputs 1:1 som armeringproffs: mörkblå botten, grå ram, rundning 8, höjd 48, text 16 px, 16 px in */
.tk-hero-form.tk-offer .nf-form-cont input[type="text"], .tk-hero-form.tk-offer .nf-form-cont input[type="tel"], .tk-hero-form.tk-offer .nf-form-cont textarea { background: #131C31 !important; border: 1px solid #64748B !important; border-radius: 0!important; color: #F1F5F9 !important; font: 400 16px/24px Inter, sans-serif !important; }
.tk-hero-form.tk-offer .nf-form-cont input[type="text"], .tk-hero-form.tk-offer .nf-form-cont input[type="tel"] { height: 48px !important; min-height: 48px !important; padding: 0 16px !important; }
.tk-hero-form.tk-offer .nf-form-cont textarea { height: 98px !important; min-height: 98px !important; padding: 12px 16px !important; }
.tk-hero-form.tk-offer .nf-form-cont input::placeholder, .tk-hero-form.tk-offer .nf-form-cont textarea::placeholder { color: #94A3B8 !important; opacity: 1; }
.tk-hero-form.tk-offer .nf-form-cont input:focus, .tk-hero-form.tk-offer .nf-form-cont textarea:focus { border-color: #F1F5F9 !important; box-shadow: none !important; }

/* ===== Hero börjar med sidans innehåll (29.10): paneler/kort direkt i hero på alla undersidor ===== */
.tk-hero > .wp-block-cover__inner-container > .tk-hero-wide { max-width: 1200px !important; width: 100%; margin: 40px 0 0 !important; }
.tk-hero-panels { grid-template-columns: 2fr 1fr !important; }
.tk-hero-contact { grid-template-columns: 1fr 1fr !important; align-items: start; }
@supports (grid-template-rows: subgrid) { @media (min-width: 782px) { .tk-hero-panels, .tk-hero-contact { grid-template-rows: none !important; } .tk-hero-panels .tk-hp-item, .tk-hero-contact .tk-hp-item { display: block !important; grid-row: auto !important; } } }
.tk-hp-item h3 a::before { } 
.tk-hero-panels .tk-hp-item h3, .tk-hero-contact .tk-hp-item h3 { padding-right: 0; }
.tk-hp-accent { background: var(--wp--preset--color--accent) !important; border-color: var(--wp--preset--color--accent) !important; display: flex !important; flex-direction: column; }
.tk-hp-accent .wp-block-buttons { margin-top: auto !important; padding-top: 24px; }
.tk-hp-accent .wp-block-button__link { background: #fff !important; color: var(--wp--preset--color--contrast) !important; width: 100%; text-align: center; }
.tk-hp-accent .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; color: #fff !important; box-shadow: none !important; }
.tk-hp-accent .wp-block-buttons, .tk-hp-accent .wp-block-button { width: 100%; }
.tk-hp-price { margin-top: 16px !important; font-family: Inter, sans-serif; font-size: clamp(1.375rem, 2vw, 1.75rem); line-height: 1.25; color: #fff; }
.tk-hp-price strong { font-weight: 450; }
.tk-two-col { columns: 2; column-gap: 32px; }
.tk-two-col li { break-inside: avoid; }
.tk-hp-photo { padding: 0 !important; overflow: hidden; }
.tk-hp-photo .wp-block-image, .tk-hp-photo img { margin: 0 !important; width: 100%; height: 100%; object-fit: cover; }
.tk-hp-phone { font-family: Inter, sans-serif; font-size: clamp(2rem, 3.4vw, 2.75rem); color: #fff !important; text-decoration: none; letter-spacing: -0.02em; }
.tk-hp-phone:hover { text-decoration: underline; }
.tk-hp-form .tk-offer.tk-offer { max-width: none; margin: 0 !important; }
.tk-hp-form { margin: 0 !important; scroll-margin-top: 120px; }
.tk-hero .tk-hero-wide .tk-project { background: var(--wp--preset--color--base); }
@media (max-width: 1099px) { .tk-two-col { columns: 1; } }
@media (max-width: 781px) {
	.tk-hero-panels, .tk-hero-contact { grid-template-columns: 1fr !important; }
	.tk-hero > .wp-block-cover__inner-container > .tk-hero-wide { margin-top: 28px !important; }
	.tk-hp-photo { aspect-ratio: 4 / 3; }
}
.tk-hero .tk-project h3, .tk-hero .tk-project h3 a { color: var(--wp--preset--color--contrast) !important; text-shadow: none !important; }
.tk-hero .tk-project p, .tk-hero .tk-project li { text-shadow: none !important; }
.tk-hero.tk-h1-long h1 { font-size: clamp(2.5rem, 4.6vw, 4rem) !important; } @media (max-width: 781px) { .tk-hero.tk-h1-long h1 { font-size: 2.25rem !important; } }
/* Läsbarhet i hero-paneler: mörkare glas, större och ljusare brödtext */
.tk-hp-item:not(.tk-hp-accent):not(.tk-hp-photo) { background: rgba(17,20,23,.72) !important; }
.tk-hp-item .tk-hp-note { font-size: 1rem !important; line-height: 1.55; opacity: 1 !important; color: rgba(255,255,255,.88) !important; }
.tk-hp-item .tk-check li { font-size: 1rem !important; color: #fff !important; }
.tk-hero .tk-crumbs { color: rgba(255,255,255,.85); }

/* ===== Kritikerrunda 29.10 ===== */
/* 1. Vit knapp i tegelkortet: alltid mörk text (även mörkt läge) */
.tk-hp-accent .wp-block-button__link { color: #15181B !important; }
.tk-hp-accent .wp-block-button__link:hover { background: #15181B !important; color: #fff !important; }
.tk-hp-accent .tk-hp-note { color: #fff !important; }
html[data-theme="dark"] .tk-hp-accent { background: #A8392B !important; border-color: #A8392B !important; }
/* 7. Priset i tegelkortet mindre (ryms på 2 rader) */
.tk-hp-price { font-size: 1.25rem !important; line-height: 1.35 !important; }
/* 2. Citatets ton fast mörk, inte temafärg */
.tk-quote > .wp-block-cover__background { background: #0F1114 !important; opacity: .55 !important; }
/* 3. Mobil: undersidornas hero mörkare uppifrån så vit text läses på ljus himmel */
@media (max-width: 781px) {
	.tk-hero:not(.tk-hero-home) > .wp-block-cover__background { background: linear-gradient(to bottom, rgba(17,20,23,.78) 0%, rgba(17,20,23,.6) 55%, rgba(17,20,23,.45) 100%) !important; }
	.tk-hero-home > .wp-block-cover__background { background: linear-gradient(to bottom, rgba(17,20,23,.72), rgba(17,20,23,.5)) !important; }
	.tk-offer .tk-form-note { font-size: 13px !important; }
}
/* 9. Kontakt: samma glas och samma rubrik i båda panelerna, lika höga */
.tk-hero-contact { align-items: stretch !important; }
.tk-hero-contact > * { height: 100%; }
.tk-hero .tk-hero-form.tk-offer { background: rgba(17,20,23,.72) !important; border-color: rgba(255,255,255,.22) !important; }
.tk-hero-contact .tk-hp-item h3 { font-family: Inter, sans-serif !important; font-size: 20px !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: 0 !important; margin-bottom: 12px !important; }
.tk-hero-contact .tk-hp-form .tk-offer { height: 100%; }
/* 11. Sidfot: linjen följer innehållets kant, luft mellan länkar som bryts */
footer .wp-block-separator { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; }
footer li { line-height: 1.35; margin-bottom: 10px; }
/* 12. Mobil startsida: dölj den fasta knappraden medan hero-formuläret syns */
@media (max-width: 781px) { body.tk-form-in-view .tk-mobilebar.tk-mobilebar { display: none; } }
/* 13. Mobil: steg 2 per rad, mindre bilder */
@media (max-width: 781px) {
	.wp-block-columns:has(> .wp-block-column > .tk-step-img) { display: grid !important; grid-template-columns: 1fr 1fr; gap: 32px 16px; }
	.wp-block-columns:has(> .wp-block-column > .tk-step-img) > .wp-block-column { margin: 0 !important; }
	.tk-step-img { max-width: 150px !important; }
}
/* 14. Mörkt läge: FAQ-linjer och mittpriskortet syns */
html[data-theme="dark"] .tk-faq .wp-block-details, html[data-theme="dark"] .tk-faq .wp-block-details:first-child { border-color: rgba(237,234,228,.16) !important; }
html[data-theme="dark"] .tk-price-feat { border: 1px solid #CF5A45 !important; }
/* Tillbaka till vita fält i hero-formuläret (ägarens val 29.10) och radius 0 även på inputs */
.tk-hero-form.tk-offer .nf-form-cont input[type="text"], .tk-hero-form.tk-offer .nf-form-cont input[type="tel"], .tk-hero-form.tk-offer .nf-form-cont textarea { background: #fff !important; border: 1px solid #94A3B8 !important; color: #15181B !important; }
.tk-hero-form.tk-offer .nf-form-cont input[type="text"], .tk-hero-form.tk-offer .nf-form-cont input[type="tel"] { height: 42px !important; min-height: 42px !important; }
.tk-hero-form.tk-offer .nf-form-cont textarea { height: 76px !important; min-height: 76px !important; }
.tk-hero-form.tk-offer .nf-form-cont input::placeholder, .tk-hero-form.tk-offer .nf-form-cont textarea::placeholder { color: #6B6660 !important; }
.tk-hero-form.tk-offer .nf-form-cont input:focus, .tk-hero-form.tk-offer .nf-form-cont textarea:focus { border-color: var(--wp--preset--color--accent) !important; box-shadow: 0 0 0 1px var(--wp--preset--color--accent) !important; }
.nf-form-cont input, .nf-form-cont textarea, .nf-form-cont select, .tk-offer .nf-form-cont input, .tk-offer .nf-form-cont textarea { border-radius: 0!important; }
html body .tk-offer .nf-form-cont input[type="text"], html body .tk-offer .nf-form-cont input[type="tel"], html body .tk-offer .nf-form-cont input[type="email"], html body .tk-offer .nf-form-cont textarea, html body .nf-form-cont input[type="text"], html body .nf-form-cont input[type="tel"], html body .nf-form-cont input[type="email"], html body .nf-form-cont textarea, html body .nf-form-cont select { border-radius: 0!important; }
html body .tk-hero-form.tk-offer .nf-form-cont input[type="text"], html body .tk-hero-form.tk-offer .nf-form-cont input[type="tel"], html body .tk-hero-form.tk-offer .nf-form-cont textarea { border-radius: 0!important; }
/* Mörkt läge: formulärfälten mörkare (alla formulär) */
html[data-theme="dark"] body .tk-offer .nf-form-cont input[type="text"], html[data-theme="dark"] body .tk-offer .nf-form-cont input[type="tel"], html[data-theme="dark"] body .tk-offer .nf-form-cont textarea,
html[data-theme="dark"] body .tk-hero-form.tk-offer .nf-form-cont input[type="text"], html[data-theme="dark"] body .tk-hero-form.tk-offer .nf-form-cont input[type="tel"], html[data-theme="dark"] body .tk-hero-form.tk-offer .nf-form-cont textarea { background: #252A30 !important; border-color: #4A535C !important; color: #EDEAE4 !important; }
html[data-theme="dark"] body .tk-offer .nf-form-cont input::placeholder, html[data-theme="dark"] body .tk-offer .nf-form-cont textarea::placeholder { color: #A39D95 !important; }
/* Steg: liten nummerruta uppe till vänster över bilden i stället för stor ruta under */
.wp-block-column:has(> .tk-step-num) { position: relative; }
.wp-block-column > .tk-step-num { position: absolute; top: 0; left: 0; width: 28px !important; height: 28px !important; margin: 0 !important; font-size: .875rem !important; line-height: 1; z-index: 1; background: var(--wp--preset--color--base); }
.wp-block-column:has(> .tk-step-num) > .tk-step-img { margin-bottom: 20px !important; }

/* ===== Contact Form 7 (ersätter Ninja Forms, 29.10) – samma utseende: fält 42/76, steg 12, radius 0 ===== */
.tk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tk-offer .wpcf7 form { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.tk-offer form.forminator-ui { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.tk-offer .wpcf7-form-control-wrap { display: block; }
.tk-offer .forminator-file-upload { display: block; }
.tk-offer .wpcf7 input[type="text"], .tk-offer .wpcf7 textarea { display: block; width: 100%; height: 42px; padding: 0 16px; border: 1px solid #94A3B8; border-radius: 0; background: #fff; color: #15181B; font: 400 16px/24px Inter, sans-serif; box-sizing: border-box; margin: 0; }
.tk-offer .forminator-input, .tk-offer .forminator-textarea { display: block; width: 100%; height: 42px; padding: 0 16px; border: 1px solid #94A3B8; border-radius: 0; background: #fff; color: #15181B; font: 400 16px/24px Inter, sans-serif; box-sizing: border-box; margin: 0; }
.tk-offer .wpcf7 textarea { height: 76px; padding: 10px 16px; resize: vertical; }
.tk-offer .forminator-textarea { height: 76px; padding: 10px 16px; resize: vertical; }
.tk-offer .wpcf7 input::placeholder, .tk-offer .wpcf7 textarea::placeholder { color: #6B6660; opacity: 1; }
.tk-offer .forminator-input::placeholder, .tk-offer .forminator-textarea::placeholder { color: #6B6660; opacity: 1; }
.tk-offer .wpcf7 input[type="text"]:focus, .tk-offer .wpcf7 textarea:focus { outline: 0; border-color: var(--wp--preset--color--accent); box-shadow: 0 0 0 1px var(--wp--preset--color--accent); }
.tk-offer .forminator-input:focus, .tk-offer .forminator-textarea:focus { outline: 0; border-color: var(--wp--preset--color--accent); box-shadow: 0 0 0 1px var(--wp--preset--color--accent); }
.tk-file { position: relative; display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 8px 16px; border: 1px dashed rgba(255,255,255,.45); color: rgba(255,255,255,.88); font: 400 14px/20px Inter, sans-serif; cursor: pointer; }
.tk-file::before { content: ""; width: 18px; height: 18px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M21 12.5l-8.5 8.5a5 5 0 0 1-7-7L14 5.5a3.5 3.5 0 0 1 5 5L10.5 19a2 2 0 0 1-3-3L15 8.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M21 12.5l-8.5 8.5a5 5 0 0 1-7-7L14 5.5a3.5 3.5 0 0 1 5 5L10.5 19a2 2 0 0 1-3-3L15 8.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.tk-file:hover, .tk-file.has-file { border-color: #fff; color: #fff; }
.tk-file .wpcf7-form-control-wrap { position: absolute; inset: 0; }
.tk-file .forminator-file-upload { position: absolute; inset: 0; }
.tk-file input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.tk-file-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-offer .wpcf7 input[type="submit"] { width: 100%; height: 48px; margin: 0; padding: 0 24px; border: 0; border-radius: 0; background: var(--wp--preset--color--accent); color: #fff; font: 600 15px/22.5px Inter, sans-serif; cursor: pointer; transition: background-color .2s; }
.tk-offer .forminator-button-submit { width: 100%; height: 48px; margin: 0; padding: 0 24px; border: 0; border-radius: 0; background: var(--wp--preset--color--accent); color: #fff; font: 600 15px/22.5px Inter, sans-serif; cursor: pointer; transition: background-color .2s; }
.tk-offer .wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--accent-dark); }
.tk-offer .forminator-button-submit:hover { background: var(--wp--preset--color--accent-dark); }
.tk-offer .wpcf7-spinner { position: absolute; margin: 12px 0 0 8px; }
.tk-offer .forminator-button-submit .forminator-icon-loader { position: absolute; margin: 12px 0 0 8px; }
.tk-offer .wpcf7 form > p:empty, .tk-offer .wpcf7 br { display: none; }
.tk-offer .forminator-row:empty, .tk-offer .forminator-ui br { display: none; }
.tk-offer .wpcf7-not-valid-tip { color: #FCA5A5; font-size: 13px; margin-top: 4px; }
.tk-offer .forminator-error-message { color: #FCA5A5; font-size: 13px; margin-top: 4px; }
.tk-offer .wpcf7-not-valid { border-color: #F87171 !important; }
.tk-offer .forminator-has_error .forminator-input { border-color: #F87171 !important; }
.tk-offer .wpcf7 form .wpcf7-response-output { margin: 0; padding: 10px 14px; border: 1px solid rgba(255,255,255,.35); color: #fff; font-size: 14px; }
.tk-offer .forminator-response-message { margin: 0; padding: 10px 14px; border: 1px solid rgba(255,255,255,.35); color: #fff; font-size: 14px; }
.tk-offer .wpcf7 form.init .wpcf7-response-output, .tk-offer .wpcf7 form.resetting .wpcf7-response-output, .tk-offer .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.tk-offer .forminator-response-message[aria-hidden="true"], .tk-offer .forminator-response-message:empty, .tk-offer .forminator-response-message:empty { display: none; }
.tk-offer .wpcf7 form.sent .wpcf7-response-output { border-color: #15181B; }
.tk-offer .forminator-response-message.forminator-success { border-color: #15181B; }
.tk-offer .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* Ljust kort längst ner (ljust läge): mörk text i bifoga-rutan och meddelanden */
html:not([data-theme="dark"]) .tk-cta .tk-file { border-color: #B9B0A3; color: var(--wp--preset--color--muted); }
html:not([data-theme="dark"]) .tk-cta .tk-file:hover, html:not([data-theme="dark"]) .tk-cta .tk-file.has-file { border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--contrast); }
html:not([data-theme="dark"]) .tk-cta .tk-offer .wpcf7 input[type="text"], html:not([data-theme="dark"]) .tk-cta .tk-offer .wpcf7 textarea { background: #F5F2ED; border-color: #D9D2C7; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .forminator-input, html:not([data-theme="dark"]) .tk-cta .tk-offer .forminator-textarea { background: #F5F2ED; border-color: #D9D2C7; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .wpcf7-response-output { color: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--line); }
html:not([data-theme="dark"]) .tk-cta .tk-offer .forminator-response-message { color: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--line); }
html:not([data-theme="dark"]) .tk-cta .tk-offer .wpcf7-not-valid-tip { color: #B42318; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .forminator-error-message { color: #B42318; }
/* Mörkt läge: mörkare fält */
html[data-theme="dark"] .tk-offer .wpcf7 input[type="text"], html[data-theme="dark"] .tk-offer .wpcf7 textarea { background: #252A30; border-color: #4A535C; color: #EDEAE4; }
html[data-theme="dark"] .tk-offer .forminator-input, html[data-theme="dark"] .tk-offer .forminator-textarea { background: #252A30; border-color: #4A535C; color: #EDEAE4; }
html[data-theme="dark"] .tk-offer .wpcf7 input::placeholder, html[data-theme="dark"] .tk-offer .wpcf7 textarea::placeholder { color: #A39D95; }
html[data-theme="dark"] .tk-offer .forminator-input::placeholder, html[data-theme="dark"] .tk-offer .forminator-textarea::placeholder { color: #A39D95; }
.tk-file { height: 42px; min-height: 42px; padding-top: 0; padding-bottom: 0; box-sizing: border-box; } .tk-offer .wpcf7, .tk-offer .wpcf7 form { margin: 0 !important; } .tk-offer > .wp-block-shortcode, .tk-offer > div { margin-top: 0 !important; }
.tk-file { height: 42px; min-height: 42px; padding-top: 0; padding-bottom: 0; box-sizing: border-box; } .tk-offer .forminator-ui, .tk-offer form.forminator-ui { margin: 0 !important; } .tk-offer > .wp-block-shortcode, .tk-offer > div { margin-top: 0 !important; }

/* Referenser: karusell */
.tk-carousel { position: relative; overflow: hidden; margin: 0 !important; }
.tk-track { display: flex !important; gap: 16px; will-change: transform; margin: 0 !important; }
.tk-track > .tk-slide { flex: 0 0 calc((100% - 32px) / 3); margin: 0 !important; }
.tk-slide > .tk-project { height: 100%; margin: 0 !important; }
@media (max-width: 1099px) { .tk-track > .tk-slide { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 781px) { .tk-track > .tk-slide { flex-basis: 84%; } .tk-track { gap: 12px; } }

/* Omdömen: karusell på fotot */
.tk-quote.wp-block-cover { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.tk-quote h2 { color: #fff !important; margin-bottom: 32px !important; }
.tk-quote h2 em { color: #F0B79C !important; }
.tk-review { height: 100%; padding: 28px !important; background: rgba(17,20,23,.72); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); display: flex !important; flex-direction: column; margin: 0 !important; }
.tk-quote .tk-review p { margin: 0 !important; text-align: left; }
.tk-quote .tk-review .tk-rev-q { font-family: Inter, sans-serif !important; font-style: normal !important; font-weight: 400 !important; font-size: 1.25rem !important; line-height: 1.45 !important; letter-spacing: 0 !important; color: #fff; }
.tk-quote .tk-review .tk-rev-who { margin-top: auto !important; padding-top: 20px; font-size: .9375rem !important; text-transform: none !important; letter-spacing: 0 !important; opacity: 1 !important; color: rgba(255,255,255,.9); }
.tk-quote .tk-review .tk-rev-tag { margin-top: 4px !important; font-size: .75rem !important; text-transform: uppercase !important; letter-spacing: .12em !important; color: rgba(255,255,255,.6); opacity: 1 !important; }
.tk-quote .tk-review .tk-rev-who::before { content: "★★★★★"; display: block; color: #F0B79C; letter-spacing: 2px; margin-bottom: 6px; }

/* Mobil: kortrader (uppdrag, «Därför väljer kunder oss», priser) som svepbar karusell i stället för lång kolumn */
@media (max-width: 781px) {
	.wp-block-columns.tk-cards { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; margin-left: calc(-1 * var(--wp--style--root--padding-left)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right)) !important; padding: 0 var(--wp--style--root--padding-left) 8px; scroll-padding-left: var(--wp--style--root--padding-left); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.wp-block-columns.tk-cards::-webkit-scrollbar { display: none; }
	.wp-block-columns.tk-cards > .wp-block-column { flex: 0 0 84% !important; scroll-snap-align: start; margin: 0 !important; }
}
@media (max-width: 781px) {
	.tk-hero-prices:not(.tk-hero-panels):not(.tk-hero-contact), .tk-link-grid { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; margin-left: calc(-1 * var(--wp--style--root--padding-left)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right)) !important; padding: 0 var(--wp--style--root--padding-left) 8px; scroll-padding-left: var(--wp--style--root--padding-left); scrollbar-width: none; }
	.tk-hero-prices:not(.tk-hero-panels):not(.tk-hero-contact) > *, .tk-link-grid > * { flex: 0 0 84% !important; scroll-snap-align: start; margin: 0 !important; display: block !important; }
	.tk-hero-prices::-webkit-scrollbar, .tk-link-grid::-webkit-scrollbar { display: none; }
}

/* v2.7 trygghetsstämplar (exempel) under hero + mini-rad i footern */
.tk-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:0 auto var(--wp--preset--spacing--60) !important}
.tk-badges > *{margin:0}
.tk-badge{width:168px;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px 12px;border:1px solid var(--wp--preset--color--line);background:var(--wp--preset--color--base)}
.tk-badge-mark{font-family:Inter,sans-serif;font-size:30px;line-height:1;color:var(--wp--preset--color--accent);letter-spacing:-.02em}
.tk-badge-t{font-size:13px;line-height:1.25;font-weight:600;color:var(--wp--preset--color--contrast)}
.tk-badge-s{font-size:11px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--muted)}
.tk-badges-note{margin-top:12px !important;margin-bottom:var(--wp--preset--spacing--50) !important;font-size:12px !important}
@media (max-width:781px){.tk-badges{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px;scroll-padding:0 16px;gap:10px}.tk-badges::-webkit-scrollbar{display:none}.tk-badge{flex:0 0 42%;scroll-snap-align:start;width:auto;scroll-snap-align:start;padding:20px 8px}.tk-badge-mark{font-size:26px}}
.tk-badges-mini{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px !important;font-size:12px;letter-spacing:.04em;color:#C9CED3}
.tk-badges-mini span{border:1px solid rgba(255,255,255,.25);padding:4px 10px}
html[data-theme="dark"] .tk-badge{background:var(--wp--preset--color--surface)}

/* v2.8 sociala ikoner i footern */
.tk-social{display:flex;gap:10px;margin-top:20px}
.tk-social a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);color:#C9CED3;transition:background .2s,color .2s,border-color .2s}
.tk-social a:hover,.tk-social a:focus-visible{background:var(--wp--preset--color--accent);border-color:var(--wp--preset--color--accent);color:#fff}

/* v2.8.4 platshållare halvgenomskinliga (ägaren 29.10) */
html body .tk-offer .wpcf7 input::placeholder, html body .tk-offer .wpcf7 textarea::placeholder { color: var(--wp--preset--color--contrast) !important; opacity: .45 !important; }
html body .tk-offer .forminator-input::placeholder, html body .tk-offer .forminator-textarea::placeholder { color: var(--wp--preset--color--contrast) !important; opacity: .45 !important; }
html[data-theme="dark"] body .tk-offer .wpcf7 input::placeholder, html[data-theme="dark"] body .tk-offer .wpcf7 textarea::placeholder { color: #F1F5F9 !important; opacity: .45 !important; }
html[data-theme="dark"] body .tk-offer .forminator-input::placeholder, html[data-theme="dark"] body .tk-offer .forminator-textarea::placeholder { color: #F1F5F9 !important; opacity: .45 !important; }

/* v2.8.5 burgaren gäller upp till 781 px (core växlar vid 600 → menyn bröts 600–781) */
@media (min-width: 600px) and (max-width: 781px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
/* hero-bockar klipptes 782–1099: en kolumn */
@media (max-width: 1099px) { .tk-hero-home .tk-trust-grid { grid-template-columns: max-content; gap: 12px; } }

/* v2.8.7 steg: svep-rad på mobil som övriga kortrader (inte 2×N med ensam femma) */
@media (max-width: 599px) {
	html body .wp-block-columns.tk-steps:has(> .wp-block-column > .tk-step-img) { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; margin-left: calc(-1 * var(--wp--style--root--padding-left)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right)) !important; padding: 0 var(--wp--style--root--padding-left) 8px; scroll-padding-left: var(--wp--style--root--padding-left); scrollbar-width: none; }
	.wp-block-columns.tk-steps::-webkit-scrollbar { display: none; }
	.wp-block-columns.tk-steps > .wp-block-column { flex: 0 0 84% !important; scroll-snap-align: start; margin: 0 !important; }
	.wp-block-columns.tk-steps .tk-step-img { max-width: 180px !important; }
}

/* v2.9 surfplatta 782–1099: korttexter max 2 rader, rubriker bryts inte mitt i ordet */
@media (min-width: 782px) and (max-width: 1099px) {
	.wp-block-columns.tk-steps { gap: 16px !important; }
	.tk-cards h3, .tk-price h3 { font-size: 1.5rem !important; overflow-wrap: normal; word-break: normal; hyphens: manual; }
	.tk-price .tk-price-num { font-size: 2.5rem !important; }
	.tk-bento .tk-service p { font-size: .875rem !important; }
}

/* v3.0 EN karusellkomponent (DS C16): kontrollrad [←] punkter [→] centrerad under raden, 24 px, samma överallt */
.tk-ctrl { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 24px 0 0 !important; }
.tk-ctrl button { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--wp--preset--color--contrast); background: transparent; color: var(--wp--preset--color--contrast); font-size: 1.125rem; line-height: 1; cursor: pointer; border-radius: 0; transition: background-color .2s, color .2s, border-color .2s; }
.tk-ctrl button:hover, .tk-ctrl button:focus-visible { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #fff; }
.tk-dots { display: flex; align-items: center; gap: 8px; }
.tk-dots span { width: 8px; height: 8px; background: var(--wp--preset--color--line); cursor: pointer; transition: background-color .2s, width .2s; }
.tk-dots span.on { background: var(--wp--preset--color--accent); width: 20px; }
/* på foto (omdömen, hero) */
.wp-block-cover .tk-ctrl button { border-color: rgba(255,255,255,.7); color: #fff; background: rgba(17,20,23,.4); }
.wp-block-cover .tk-dots span { background: rgba(255,255,255,.4); }
.wp-block-cover .tk-dots span.on { background: var(--wp--preset--color--accent); }
/* kortrader svepbara bara på mobil → kontrollraden bara där */
@media (min-width: 1100px) { .tk-ctrl-swipe { display: none !important; } }
@media (min-width: 782px) and (max-width: 1099px) { .tk-ctrl-swipe:not(.tk-cards + .tk-ctrl-swipe):not(.tk-cards ~ p + .tk-ctrl-swipe) { display: none !important; } }
.tk-badges + .tk-ctrl { margin-bottom: var(--wp--preset--spacing--60) !important; }
@media (max-width: 781px) { .tk-badges:has(+ .tk-ctrl) { margin-bottom: 0 !important; } }
@media (max-width: 599px) { .wp-block-columns.tk-steps > .wp-block-column > .tk-step-num { left: calc(50% - 90px); } }

/* v3.0.2 steg 600–1099: två rader (3 + 2, centrerat), svep bara på telefon < 600 (ägaren 29–30.10: två rader upp till 1279) */
@media (min-width: 600px) and (max-width: 1279px) {
	html body .wp-block-columns.tk-steps:has(> .wp-block-column > .tk-step-img) { display: flex !important; flex-wrap: wrap !important; justify-content: center; gap: 40px 24px !important; }
	html body .wp-block-columns.tk-steps > .wp-block-column { flex: 0 0 calc((100% - 48px) / 3) !important; margin: 0 !important; }
	.wp-block-columns.tk-steps .tk-step-img { max-width: 160px !important; }
	.wp-block-columns.tk-steps > .wp-block-column > .tk-step-num { left: calc(50% - 80px); }
}
@media (min-width: 600px) { .wp-block-columns.tk-steps + .tk-ctrl-swipe { display: none !important; } }

/* v3.1 footer enligt svensk praxis: varumärke+sociala · Tjänster · Företaget · Kontakt (tel, e-post, adress, öppettider); org.nr + F-skatt i bottenraden */
.tk-foot-cols { margin-bottom: var(--wp--preset--spacing--50) !important; }
@media (min-width: 1280px) { html body .tk-foot-cols { display: grid !important; grid-template-columns: minmax(0,1fr) max-content max-content max-content; column-gap: 56px !important; } .tk-foot-cols > .wp-block-column { margin: 0 !important; min-width: 0; } }
.tk-foot-h { margin: 0 0 16px !important; font-family: Inter, sans-serif !important; font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; color: #9AA1A8 !important; }
.tk-foot-text { color: #C9CED3; margin-top: 16px !important; max-width: 34ch; }
footer .tk-footer-list { margin: 0 !important; }
footer .tk-footer-list li { margin: 0 0 10px; line-height: 1.4; font-size: 1rem; }
.tk-foot-contact li { color: #EDEAE4; margin-bottom: 14px !important; }
.tk-foot-contact span { display: block; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: #9AA1A8; margin-bottom: 2px; }
.tk-foot-contact a[href^="tel"] { font-weight: 600; font-size: 1.125rem; }
}
@media (max-width: 781px) { .tk-foot-cols { gap: 40px !important; } .tk-foot-cols > .wp-block-column { margin: 0 !important; } }
/* Tjänster i två spalter (ägaren 29.10) */
.tk-foot-cols > .wp-block-column:nth-child(2) .tk-footer-list { columns: 2; column-gap: 32px; }
@media (max-width: 781px) { .tk-foot-cols > .wp-block-column:nth-child(2) .tk-footer-list { columns: 1; } }
.tk-foot-cols > .wp-block-column:nth-child(2) .tk-footer-list li { break-inside: avoid; }
/* Menylänkar och knappar bryts aldrig (ägaren 29.10) */
footer .tk-footer-list a, footer .tk-footer-list li, .tk-foot-h, .wp-block-navigation-item__content, .wp-block-button__link, .tk-badges-mini span { white-space: nowrap; }
/* Footer: mindre luft upptill (sektionens 128 + footerns 128 blev ett tomt band), synlig gräns i mörkt läge */
footer.wp-block-template-part > footer, footer.wp-block-template-part > .wp-block-group { padding-top: max(40px, calc(var(--wp--preset--spacing--60) / 2)) !important; }
/* sista sektionen före footern: halva luften nedtill → sista text → footer = en sektionsluft totalt (C19) */
.wp-block-post-content > .alignfull:last-child:not(.wp-block-cover) { padding-bottom: var(--wp--preset--spacing--60) !important; }
html[data-theme="dark"] footer.wp-block-template-part > footer, html[data-theme="dark"] footer.wp-block-template-part > .wp-block-group { border-top: 1px solid #2A3036; }

/* ==== v3.2 kritikerns rättningar (29.10) ==== */
/* 1 fasta mobilknappen täcker inte sidslutet */
.tk-mobilebar .wp-block-buttons { margin: 0 !important; }
@media (max-width: 781px) { body { padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important; } }
/* 2 telefon, termer och kort bryts aldrig */
a[href^="tel"] { white-space: nowrap; }
/* 3+5 kortrader (varför, uppdrag, priser) svepbara upp till 1099 — tre smala spalter bröt ord */
@media (min-width: 782px) and (max-width: 1099px) {
	.wp-block-columns.tk-cards { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px !important; margin-left: calc(-1 * var(--wp--style--root--padding-left)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right)) !important; padding: 0 var(--wp--style--root--padding-left) 8px; scroll-padding-left: var(--wp--style--root--padding-left); scrollbar-width: none; }
	.wp-block-columns.tk-cards::-webkit-scrollbar { display: none; }
	.wp-block-columns.tk-cards > .wp-block-column { flex: 0 0 44% !important; scroll-snap-align: start; margin: 0 !important; }
	.tk-cards + .tk-ctrl-swipe { display: flex !important; }
}
/* 4 stämplar: en rad om fem från 782 */
@media (min-width: 782px) { .tk-badges { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1000px; } .tk-badge { width: auto !important; } }
/* 8+9 bento: pilen i hörnet av rutan, samma på alla rutor och bredder */
.tk-bento .tk-service { position: relative; }
.tk-bento-text h3 a::before { position: absolute !important; right: 24px !important; bottom: 24px !important; top: auto !important; }
.tk-bento-text h3, .tk-bento-text h3 a { position: static !important; } .tk-bento-text h3 { padding-right: 0 !important; }
.tk-bento-text { padding-right: 72px !important; }
@media (max-width: 781px) { .tk-bento-text h3 a::before { right: 16px !important; bottom: 16px !important; width: 28px; height: 28px; } .tk-bento-text { padding-right: 52px !important; } }
/* 10 en H1-storlek på alla undersidor */
html body .tk-hero:not(.tk-hero-home) h1 { font-size: clamp(2.25rem, 4.6vw, 4rem) !important; }
/* 12 pris-hero-svep går ut i kanten som övriga rader */
@media (max-width: 781px) { .tk-hero-prices:not(.tk-hero-panels):not(.tk-hero-contact) { margin-right: calc(-1 * var(--wp--style--root--padding-right)) !important; padding-right: var(--wp--style--root--padding-right) !important; } }
/* 13 en kortpadding: 28 desktop / 24 mobil */
.tk-price.tk-price { padding: 28px !important; }
@media (max-width: 781px) { .tk-price.tk-price, .tk-cards .wp-block-group.has-background, .tk-review, .tk-hp-item { padding: 24px !important; } }
/* 14 ett avstånd mellan kort: 16 / 12 */
.wp-block-columns.tk-cards { gap: 16px !important; } .tk-badges { gap: 16px !important; }
@media (max-width: 781px) { .wp-block-columns.tk-cards, .tk-badges { gap: 12px !important; } }
/* 15 mörkt läge: vit text på accent ≥ 4.5:1 */
html[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html[data-theme="dark"] .tk-offer .wpcf7-submit, html[data-theme="dark"] .tk-info-num, html[data-theme="dark"] .tk-mobilebar .wp-block-button__link { background-color: #A8392B !important; }
html[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html[data-theme="dark"] .tk-offer .forminator-button-submit, html[data-theme="dark"] .tk-info-num, html[data-theme="dark"] .tk-mobilebar .wp-block-button__link { background-color: #A8392B !important; }
/* 16 inga skuggor i vila */
.tk-hero-form, .tk-cta .tk-offer, html:not([data-theme="dark"]) .tk-cta .tk-offer.tk-offer { box-shadow: none !important; }
/* 17 formuläret längst ner = samma fält som i hero */
html:not([data-theme="dark"]) .tk-cta .tk-offer .wpcf7 input:not([type="submit"]):not([type="file"]), html:not([data-theme="dark"]) .tk-cta .tk-offer .wpcf7 textarea { background: #fff !important; border: 1px solid #94A3B8 !important; }
html:not([data-theme="dark"]) .tk-cta .tk-offer .forminator-input, html:not([data-theme="dark"]) .tk-cta .tk-offer .forminator-textarea { background: #fff !important; border: 1px solid #94A3B8 !important; }
/* 25 integritetsraden lika bred som fälten */
.tk-offer .tk-form-note { max-width: none !important; }
/* 26 inga ensamma sista ord */
h2, h3, summary, .tk-rev-q { text-wrap: balance; }
@media (max-width: 781px) {
	.tk-bento .tk-service .tk-bento-text { position: static !important; padding-right: 16px !important; }
	.tk-bento .tk-service .tk-bento-text h3 a::before { top: 12px !important; right: 12px !important; bottom: auto !important; z-index: 3; }
}

/* v3.3 footer 782–1279 (designer, ägaren 29.10 «utan tomrum»): band varumärke|sociala → Tjänster(2 sp)|Företaget → Kontakt som rad */
@media (min-width: 782px) and (max-width: 1279px) {
	html body .tk-foot-cols { display: grid !important; grid-template-columns: max-content minmax(0, 1fr); grid-template-areas: "brand brand" "tjanster foretag" "kontakt kontakt"; gap: 40px 64px !important; }
	.tk-foot-cols > .wp-block-column { margin: 0 !important; min-width: 0; }
	.tk-foot-cols > .wp-block-column:nth-child(1) { grid-area: brand; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; align-items: end; padding-bottom: 32px; border-bottom: 1px solid #2A3036; }
	.tk-foot-cols > .wp-block-column:nth-child(1) > * { grid-column: 1; margin: 0 !important; }
	.tk-foot-cols > .wp-block-column:nth-child(1) > .tk-social { grid-column: 2; grid-row: 1 / span 2; }
	.tk-foot-cols > .wp-block-column:nth-child(1) .tk-foot-text { margin-top: 12px !important; max-width: 52ch; }
	.tk-foot-cols > .wp-block-column:nth-child(2) { grid-area: tjanster; }
	.tk-foot-cols > .wp-block-column:nth-child(2) .tk-footer-list { columns: 2 !important; column-gap: 48px; }
	.tk-foot-cols > .wp-block-column:nth-child(3) { grid-area: foretag; }
	.tk-foot-cols > .wp-block-column:nth-child(4) { grid-area: kontakt; padding-top: 32px; border-top: 1px solid #2A3036; }
	.tk-foot-contact { display: grid !important; grid-template-columns: repeat(4, max-content); justify-content: space-between; gap: 16px 32px; }
	.tk-foot-contact li { margin: 0 !important; }
}
@media (min-width: 782px) and (max-width: 1023px) { .tk-foot-contact { grid-template-columns: repeat(2, max-content); justify-content: start; column-gap: 64px; } }
@media (min-width: 1024px) and (max-width: 1279px) {
	html body .tk-foot-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-areas: "brand brand brand" "tjanster tjanster foretag" "kontakt kontakt kontakt"; column-gap: 48px !important; }
	.tk-foot-cols > .wp-block-column:nth-child(2) .tk-footer-list { column-gap: 48px !important; }
}
@media (min-width: 782px) and (max-width: 1023px) {
	.tk-foot-cols > .wp-block-column:nth-child(3) { justify-self: end; }
	.tk-foot-contact { grid-template-columns: repeat(2, max-content) !important; justify-content: space-between !important; }
}
/* små bentorutor < 1100: rubrik + pil, beskrivning bara i den stora (som mobil) — annars 3–4 rader */
@media (max-width: 1099px) { .tk-bento .tk-service:not(:first-child) .tk-bento-text p { display: none !important; } }

/* v3.4 EN priskortskomponent (hem + Priser-hero): kort klickbart, pil i hörnet, mitten mörk */
.tk-price { position: relative; transition: transform .3s var(--wp--custom--ease), border-color .3s; }
.tk-price h3 { padding-right: 52px; }
.tk-price h3 a { color: inherit; text-decoration: none; }
.tk-price h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tk-price h3 a::before { content: "→"; position: absolute; top: 28px; right: 28px; width: 36px; height: 36px; display: grid; place-items: center; font-family: Inter, sans-serif; font-weight: 300; font-size: 1.125rem; border: 1px solid currentColor; transition: transform .3s, background-color .3s, color .3s, border-color .3s; }
.tk-price:hover { transform: translateY(-4px); }
.tk-price:hover h3 a::before { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #fff; }
@media (max-width: 781px) { .tk-price h3 a::before { top: 24px; right: 24px; width: 32px; height: 32px; } }
.tk-hero .tk-price-row { margin-top: 0 !important; }
.tk-hero .tk-price:not(.tk-price-feat) h3, .tk-hero .tk-price:not(.tk-price-feat) h3 a { color: var(--wp--preset--color--contrast) !important; text-shadow: none !important; }
.tk-hero .tk-price p, .tk-hero .tk-price li { text-shadow: none !important; }
.tk-hero .tk-price:not(.tk-price-feat) p:not(.has-muted-color), .tk-hero .tk-price:not(.tk-price-feat) li { color: var(--wp--preset--color--contrast) !important; }
.tk-hero .tk-price:not(.tk-price-feat) .has-muted-color { color: var(--wp--preset--color--muted) !important; }
/* steg ≥1100: en rad om fem med luft 48 mellan stegen (ägaren 30.10 «för lite») */
@media (min-width: 1280px) { html body .wp-block-columns.tk-steps { column-gap: 48px !important; } }

/* v3.5 bakgrundsvideo i startsidans hero (ägaren 30.10, som dmtak/alvsjotak) */
.tk-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }
/* första bildrutan direkt (inte hero-fotot) — sedan spelar videon ovanpå samma bild */
.tk-hero-home { background: #1E2328; }

.tk-hero-home > .wp-block-cover__background { z-index: 1; }
.tk-hero-home > .wp-block-cover__inner-container { z-index: 2; }
/* Temaknappen är sekundär: genomskinlig ram (ägaren 30.10) */
html body .tk-theme { border-color: rgba(21,24,27,.15) !important; }
html[data-theme="dark"] body .tk-theme { border-color: rgba(237,234,228,.18) !important; }
html body .tk-theme:hover { border-color: var(--wp--preset--color--contrast) !important; }
/* Hero-formulär: glas som armeringproffs (bg vit 5 %, ram vit 20 %, blur) — ägaren 30.10 */
html body .tk-hero .tk-hero-form.tk-offer { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.2) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
html[data-theme="dark"] body .tk-hero .tk-hero-form.tk-offer { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.2) !important; }
/* Hero-formulär 30.10: rubrik centrerad, kortet något mörkare (läsbarhet), bifoga-rutan syns mot videon */
html body .tk-hero .tk-hero-form.tk-offer, html[data-theme="dark"] body .tk-hero .tk-hero-form.tk-offer { background: rgba(17,20,23,.45) !important; }
.tk-hero .tk-hero-form > h3 { text-align: center !important; }
html body .tk-hero .tk-hero-form .tk-file { background: rgba(17,20,23,.55) !important; border-color: rgba(255,255,255,.55) !important; color: #fff !important; }
html body .tk-hero .tk-hero-form .tk-file .tk-file-text { color: #fff !important; }
/* FAQ: ingen ram runt vald fråga vid klick (ägaren 30.10); tangentbord får en diskret understrykning */
.tk-faq summary:focus, .tk-faq summary:focus-visible, details summary:focus { outline: none !important; box-shadow: none !important; }
.tk-faq summary:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
/* Hero: stjärnor i accentfärg i stället för bockar (ägaren 30.10) */
html body .tk-hero .tk-trust p::before { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F08500' d='M12 2.8l2.75 5.6 6.15.9-4.45 4.33 1.05 6.12L12 16.85 6.5 19.75l1.05-6.12L3.1 9.3l6.15-.9z'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important; width: 24px !important; height: 24px !important; }

/* v3.7.0: tjänstemenyn i två kolumner (15 tjänster), ortslista utan bockar */
@media (min-width: 782px) {
	.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(2, minmax(220px, auto)); column-gap: 8px; }
}
.tk-plain { list-style: none; padding-left: 0; display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 32px; columns: auto !important; }
.tk-plain li { margin: 0 !important; padding: 0 !important; }
@media (max-width: 599px) { .tk-plain { grid-template-columns: 1fr; } }
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; padding-right: 24px !important; }
html[data-theme="dark"] .tk-hp-accent .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff !important; color: #15181B !important; }
html[data-theme="dark"] .tk-hp-accent .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #15181B !important; color: #fff !important; }
/* v3.9.0: formulär i hero på tjänstesidor (ägaren 03.11) */
.tk-hero-panels { align-items: stretch !important; }
.tk-hero-panels .tk-hp-form .tk-offer { height: 100%; }
.tk-hp-pline { margin-top: 24px !important; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }
@media (max-width: 781px) { .tk-hero-panels .tk-hp-form { order: -1; } }

/* === Färg 03.11 (ägaren): #FFE501 överallt — fyllning orange, text på fyllning mörk (vit = 2,6:1) === */
:root, body { --wp--preset--color--accent: #FFE501; --wp--preset--color--accent-dark: #15181B; --tk-accent-text: #15181B; --tk-accent-small: #15181B; }
html[data-theme="dark"] { --wp--preset--color--accent: #FFE501; --wp--preset--color--accent-dark: #FF9A1F; --tk-accent-text: #FFE501; --tk-accent-small: #FFE501; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link, .tk-offer .wpcf7 input[type="submit"], .tk-offer .wpcf7-submit, .tk-social a:hover, .tk-ctrl button:hover, .tk-ctrl button:focus-visible, .tk-link-card:hover h3 a::before, .tk-price:hover h3 a::before { color: #15181B !important; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link, .tk-offer .forminator-button-submit, .tk-offer .forminator-button-submit, .tk-social a:hover, .tk-ctrl button:hover, .tk-ctrl button:focus-visible, .tk-link-card:hover h3 a::before, .tk-price:hover h3 a::before { color: #15181B !important; }
html[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html[data-theme="dark"] .tk-offer .wpcf7-submit, html[data-theme="dark"] .tk-info-num, html[data-theme="dark"] .tk-mobilebar .wp-block-button__link { background-color: #FFE501 !important; color: #15181B !important; }
html[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html[data-theme="dark"] .tk-offer .forminator-button-submit, html[data-theme="dark"] .tk-info-num, html[data-theme="dark"] .tk-mobilebar .wp-block-button__link { background-color: #FFE501 !important; color: #15181B !important; }
html[data-theme="dark"] .tk-hp-accent { background: #FFE501 !important; border-color: #FFE501 !important; }
html[data-theme="dark"] .tk-pin, html[data-theme="dark"] .tk-info-list li::before { background: #FFE501; color: #15181B; }
.tk-hp-accent, .tk-hp-accent * { color: #15181B !important; }
.tk-hp-accent .wp-block-button__link { background: #15181B !important; color: #fff !important; }
.tk-pin, .tk-info-list li::before { color: #15181B !important; }
h2 em, .tk-badge-mark, .tk-step-num { color: var(--tk-accent-text) !important; }
.tk-brand span, .tk-faq summary:hover, .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--tk-accent-small) !important; }
/* v3.13: Certifieringar och partners – logokarusell (ägaren 03.11) */
.tk-partners { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.tk-partners-track { display: flex !important; flex-wrap: nowrap; gap: 72px; width: max-content; animation: tk-marquee 120s linear infinite; }
.tk-partners:hover .tk-partners-track { animation-play-state: paused; }
.tk-partners .tk-partner { margin: 0 !important; flex: none; display: flex !important; align-items: center; justify-content: center; height: 48px; width: 160px; }
.tk-partners .tk-partner img { max-width: 100%; max-height: 48px; width: auto; height: auto; object-fit: contain; }
@keyframes tk-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 36px)); } }
@media (max-width: 599px) { .tk-partners-track { gap: 48px; animation-duration: 90s; } .tk-partners .tk-partner { width: 120px; height: 40px; } .tk-partners .tk-partner img { max-height: 40px; } @keyframes tk-marquee { to { transform: translateX(calc(-50% - 24px)); } } }
@media (prefers-reduced-motion: reduce) { .tk-partners-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; } .tk-partners-track > :nth-child(n+19) { display: none !important; } .tk-partners { -webkit-mask-image: none; mask-image: none; } }
html[data-theme="dark"] .tk-partners .tk-partner { background: #fff; height: 64px; padding: 10px 14px; }
/* v3.14 DS: inre luft i ALLA block (ägaren 03.11): rubrik → innehåll och innehåll → knapp = 48 (desktop) … 32 (mobil) */
:root { --tk-in: clamp(40px, 5vw, 72px); }
.tk-head + *, .tk-head ~ .wp-block-buttons, .tk-quote h2 + *, .tk-cta .wp-block-group:has(> .tk-offer) { margin-block-start: var(--tk-in) !important; }
/* v3.17: karusellen i stället för stämplarna — luft till rubriken under = sektionsluft */
.tk-partners + .tk-head { margin-block-start: var(--wp--preset--spacing--60) !important; }

/* v3.18 DS (ägaren 03.11): luften ovan = under räknat på synligt innehåll. Rubrikens radavstånd trimmas (cap → baslinje), annars läggs det till sektionsluften ovanför. Sektionsluft max 90. */
.tk-head h2, .tk-quote h2, .tk-cta h2, .alignfull > h2:first-child { text-box: trim-both cap alphabetic; }

/* v3.20: ortssida enligt dmtak-struktur (ägaren 03.11) */
.tk-prose { text-align: left; }
.tk-prose p { margin: 0 0 16px !important; }
.tk-prose h3 { margin: 40px 0 16px !important; }
.tk-gallery { margin-top: var(--tk-in) !important; }
.tk-gallery .tk-gal-img img, .tk-zigzag .tk-zz-img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 0; }
.tk-gallery .tk-gal-img, .tk-zigzag .tk-zz-img { margin: 0 !important; }
.tk-zigzag + .tk-zigzag { margin-top: var(--tk-in) !important; }
.tk-zigzag h3 { margin: 8px 0 16px !important; }
.tk-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-weight: 600; margin: 0 !important; }
.tk-facts { list-style: none; padding: 0; margin: 16px 0 0; }
.tk-facts li { padding: 10px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.tk-facts li:last-child { border-bottom: 0; padding-bottom: 0; }
.tk-area-cols { align-items: flex-start !important; }
@media (max-width: 781px) { .tk-zigzag .wp-block-column:has(.tk-zz-img) { order: -1; } }
.tk-loc { margin-top: auto !important; padding-top: 24px !important; border-top: 1px solid rgba(255,255,255,.2); }
.tk-hero-panels .tk-hp-wide:has(.tk-loc) { display: flex !important; flex-direction: column; }

/* Forminator (ersätter CF7, Daniel 04.11): samma utseende som tidigare formulär */
.tk-offer form.forminator-ui { display: flex !important; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.tk-offer .forminator-row, .tk-offer .forminator-col, .tk-offer .forminator-field { display: block; margin: 0 !important; padding: 0 !important; width: 100%; }
.tk-offer .forminator-row-last { margin: 0 !important; }
.tk-offer .forminator-response-message[aria-hidden="true"], .tk-offer .forminator-response-message:empty { display: none !important; }
.tk-offer .forminator-label:not(.tk-file-text) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tk-offer .forminator-textarea { min-height: 76px !important; }
.tk-offer .forminator-button-submit { display: block; }
.tk-offer .forminator-field-upload .forminator-field.tk-file { display: flex !important; padding: 0 16px !important; }
.tk-offer .tk-file .forminator-file-upload { position: absolute; inset: 0; }
.tk-offer .tk-file .forminator-upload--remove, .tk-offer .tk-file .forminator-file-upload > span { display: none !important; }
.tk-offer .tk-file .tk-file-text { position: static; cursor: pointer; margin: 0; font: inherit; color: inherit; }
.tk-offer .forminator-error-message { display: block; }
.tk-offer .forminator-ui .forminator-row:has(input[name="referer_url"]) { display: none; }
/* v3.22 ortssida: foto+text-block i stället för textblock (ägaren 04.11) */
.tk-zz-txt p { margin: 0 0 16px !important; }
.tk-zz-txt > :last-child { margin-bottom: 0 !important; }
.tk-zz-txt .tk-facts { margin-top: 8px !important; }
.tk-zz-txt .tk-facts li { padding: 8px 0; }

/* ===================================================================================
   v4.0 (Daniel 05.11): grön huvudfärg, vit header som daderman, tjänstemeny i grupper som dryft,
   vitt formulärkort med rådgivare som mjtak, ljusare och lugnare. Ikoner kvar orange #FFE501.
   =================================================================================== */
:root, body { --wp--preset--color--accent: #15181B; --wp--preset--color--accent-dark: #000000; --tk-accent-text: #15181B; --tk-accent-small: #15181B; --tk-icon: #FFE501; }
html[data-theme="dark"] { --wp--preset--color--accent: #15181B; --wp--preset--color--accent-dark: #000000; --tk-accent-text: #FFE501; --tk-accent-small: #FFE501; }

/* 1. Knappar: grön fyllning, VIT text (5,05:1), hover mörkare grön (7,1:1) */
html body .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html body .tk-offer .forminator-button-submit, html body .tk-mobilebar .wp-block-button__link { background-color: #15181B !important; color: #fff !important; box-shadow: none !important; }
html body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, html body .tk-offer .forminator-button-submit:hover, html body .tk-mobilebar .wp-block-button__link:hover { background-color: #000000 !important; color: #fff !important; box-shadow: none !important; }
.tk-social a:hover, .tk-ctrl button:hover, .tk-ctrl button:focus-visible, .tk-link-card:hover h3 a::before, .tk-price:hover h3 a::before, .tk-bento .tk-service:hover h3 a::before { color: #fff !important; }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
/* Ikoner orange (Daniel): bockar, stjärnor, stegnummer-ram, pins */
.tk-check li::before, .tk-trust p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F08500' stroke-width='2.2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") !important; }
.tk-step-num { color: var(--wp--preset--color--contrast) !important; border-color: #FFE501 !important; }
.tk-quote h2 em { color: #FFE501 !important; }
.tk-quote .tk-review .tk-rev-who::before { color: #FFE501; }
html[data-theme="dark"] .tk-pin, html[data-theme="dark"] .tk-info-list li::before { background: #FFE501; color: #15181B !important; }

/* 2. Header som daderman: vit, logga vänster, meny i mitten, telefon + «Kontakt» till höger */
.tk-header, header.wp-block-template-part { background: #fff; }
.tk-header { border-bottom-color: #ECEDEA !important; }
.tk-header > .wp-block-group { position: relative; min-height: 72px; }
.tk-head-cta { gap: 8px !important; align-items: center; flex-wrap: nowrap !important; margin: 0 !important; }
html body .tk-header .wp-block-button.tk-phone > .wp-block-button__link, html body .tk-header .wp-block-button.tk-phone > .wp-block-button__link:hover { background: transparent !important; color: var(--wp--preset--color--contrast) !important; }
.tk-phone > .wp-block-button__link { background: transparent !important; color: var(--wp--preset--color--contrast) !important; padding: 12px 14px !important; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; box-shadow: none !important; }
.tk-phone > .wp-block-button__link::before { content: ""; width: 18px; height: 18px; flex: none; background: #FFE501; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.tk-phone > .wp-block-button__link:hover { background: transparent !important; color: var(--wp--preset--color--contrast) !important; text-decoration: underline; }
.tk-kontakt > .wp-block-button__link { padding: 14px 26px !important; }
html body .tk-theme { width: 44px !important; height: 44px !important; border-color: transparent !important; }
html body .tk-theme:hover { border-color: transparent !important; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.tk-header .tk-nav .wp-block-navigation-item__content { font-weight: 500; }
@media (min-width: 1100px) {
	.tk-header > .wp-block-group { display: grid !important; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 32px; }
	.tk-header .tk-nav { justify-self: center; }
}
@media (min-width: 1280px) { .tk-header > .wp-block-group { grid-template-columns: 1fr auto 1fr; } .tk-head-cta { justify-self: end; } }
@media (min-width: 1100px) and (max-width: 1279px) { .tk-header .tk-nav { --wp--style--block-gap: 24px; } .tk-header .tk-nav .wp-block-navigation__container { gap: 24px; } }
/* 782–1099: rad 1 logga | telefon + Kontakt, rad 2 menyn i mitten */
@media (min-width: 782px) and (max-width: 1099px) {
	html body .tk-header > .wp-block-group { display: grid !important; grid-template-columns: auto 1fr; grid-template-areas: "logo cta" "nav nav"; row-gap: 8px; align-items: center; }
	html body .tk-header > .wp-block-group > .wp-block-group:first-child { grid-area: logo; flex-basis: auto; justify-content: flex-start; }
	.tk-header .tk-head-cta { grid-area: cta; justify-self: end; }
	.tk-header .tk-nav { grid-area: nav; justify-self: center; }
	.tk-header .tk-head-cta .is-style-outline { display: block; }
}
/* mobil: logga | tema | telefonikon | meny */
@media (max-width: 781px) {
	.tk-header > .wp-block-group { min-height: 46px; gap: 4px !important; }
	html body .tk-header > .wp-block-group > .wp-block-group:first-child { order: 0; margin-right: auto; }
	html body .tk-header > .wp-block-group > .tk-theme { order: 1; }
	html body .tk-header > .wp-block-group > .tk-head-cta { order: 2; }
	html body .tk-header > .wp-block-group > .tk-nav { order: 3; }
	.tk-head-cta .tk-kontakt { display: none !important; }
	.tk-phone > .wp-block-button__link { width: 44px; height: 44px; padding: 0 !important; justify-content: center; font-size: 0 !important; gap: 0; }
	.tk-phone > .wp-block-button__link::before { width: 20px; height: 20px; }
	.wp-block-navigation__responsive-container-open { border-color: transparent !important; }
}

/* 2+5. Formulärkortet: vitt och ljust (som mjtak), rådgivare med foto bredvid rubriken */
html:not([data-theme="dark"]) body .tk-offer.tk-offer, html:not([data-theme="dark"]) body .tk-hero .tk-hero-form.tk-offer { background: #fff !important; border: 1px solid #E2E4DF !important; color: #15181B !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: none !important; }
html:not([data-theme="dark"]) body .tk-hero .tk-hero-form.tk-offer { border-color: #fff !important; }
html:not([data-theme="dark"]) body .tk-offer h3 { color: #15181B !important; }
html:not([data-theme="dark"]) body .tk-offer .forminator-input, html:not([data-theme="dark"]) body .tk-offer .forminator-textarea, html:not([data-theme="dark"]) body .tk-offer select { background: #fff !important; border: 1px solid #94A3B8 !important; color: #15181B !important; }
html:not([data-theme="dark"]) body .tk-offer .forminator-input:focus, html:not([data-theme="dark"]) body .tk-offer .forminator-textarea:focus, html:not([data-theme="dark"]) body .tk-offer select:focus { border-color: #15181B !important; box-shadow: 0 0 0 1px #15181B !important; }
html:not([data-theme="dark"]) body .tk-offer .tk-file, html:not([data-theme="dark"]) body .tk-hero .tk-hero-form .tk-file { background: #fff !important; border: 1px dashed #A7AFB8 !important; color: var(--wp--preset--color--muted) !important; }
html:not([data-theme="dark"]) body .tk-offer .tk-file .tk-file-text, html:not([data-theme="dark"]) body .tk-hero .tk-hero-form .tk-file .tk-file-text { color: var(--wp--preset--color--muted) !important; }
html:not([data-theme="dark"]) body .tk-offer .tk-file:hover, html:not([data-theme="dark"]) body .tk-offer .tk-file.has-file { border-color: #15181B !important; color: #15181B !important; }
html:not([data-theme="dark"]) body .tk-offer .tk-form-note, html:not([data-theme="dark"]) body .tk-offer .tk-form-note a { color: var(--wp--preset--color--muted) !important; }
html:not([data-theme="dark"]) body .tk-offer .forminator-error-message { color: #B42318 !important; }
html:not([data-theme="dark"]) body .tk-offer .forminator-response-message { color: #15181B !important; border-color: #E2E4DF !important; }
html[data-theme="dark"] body .tk-offer.tk-offer, html[data-theme="dark"] body .tk-hero .tk-hero-form.tk-offer { background: #15181B !important; border: 1px solid #2E343A !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
html[data-theme="dark"] body .tk-offer select { background: #252A30; border: 1px solid #4A535C; color: #EDEAE4; }
.tk-offer select { display: block; width: 100%; height: 42px; padding: 0 40px 0 16px; border-radius: 0; font: 400 16px/24px Inter, sans-serif; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315181B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px !important; margin: 0; }
.tk-offer .forminator-select2 + .select2, .tk-offer .select2-container { width: 100% !important; }
.tk-offer-head { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 16px; margin: 0 0 12px !important; }
.tk-offer-head > * { margin: 0 !important; }
.tk-offer-head .tk-person { flex: none; width: 64px; }
.tk-offer-head .tk-person img { width: 64px; height: 64px; object-fit: cover; object-position: top; display: block; }
.tk-offer .tk-offer-head h3 { margin: 0 !important; text-align: left !important; }
.tk-person-name { margin: 8px 0 0 !important; font-size: 14px !important; line-height: 1.2; color: var(--wp--preset--color--muted); }
html body .tk-hero .tk-hero-form .tk-person-name { color: var(--wp--preset--color--muted) !important; text-shadow: none !important; }
.tk-hero .tk-offer h3, .tk-hero .tk-offer p { text-shadow: none !important; }

/* 5. Lugnare hero: vänsterpanelen utan glasruta – text direkt på fotot, bara formuläret är ett kort */
html body .tk-hero-panels > .tk-hp-item:not(.tk-hp-photo), html body .tk-hero-contact > .tk-hp-item:not(.tk-hp-photo) { background: transparent !important; border: 0 !important; padding: 0 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
.tk-hero-panels { column-gap: 56px !important; }
@media (max-width: 781px) { .tk-hero-panels { row-gap: 40px !important; } }
.tk-hero-panels .tk-hp-item h3 { font-size: clamp(1.375rem, 2vw, 1.625rem); }
/* Lugnare ytor: tunnare linjer, mindre tunga skuggor */
.tk-link-card, .tk-project, .tk-price:not(.tk-price-feat) { border-color: #E2E4DF !important; }

/* 6. Lediga jobb i listform */
.tk-jobs summary { flex-wrap: wrap; row-gap: 4px; align-items: center !important; }
.tk-job-m { margin-left: auto; font-family: Inter, sans-serif; font-size: .9375rem; font-weight: 400; letter-spacing: 0; color: var(--wp--preset--color--muted); }
.tk-jobs details > .wp-block-list { margin-top: 16px !important; }
.tk-jobs details > .wp-block-buttons { margin-top: 24px !important; }
.tk-jobs .tk-check li { margin-bottom: 8px; }
@media (max-width: 599px) { .tk-job-m { margin-left: 0; flex-basis: 100%; order: 3; } }
.tk-hp-item .tk-facts li { color: #fff; border-bottom-color: rgba(255,255,255,.2); }
/* v4.0.5: två-spaltslistor som grid (spalterna börjar på samma höjd), fotopanel utan ram */
html body .tk-two-col { columns: auto !important; display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 32px; row-gap: 8px; }
html body .tk-two-col li { margin: 0 !important; }
@media (max-width: 1099px) { html body .tk-two-col { grid-template-columns: 1fr; } }
html body .tk-hero-panels > .tk-hp-photo { border: 0 !important; }
/* v4.0.6: header 782–1099 är 133 hög (två rader) → hero = skärm minus 133 */
@media (min-width: 782px) and (max-width: 1099px) { html body .tk-hero.wp-block-cover:not(.tk-hero-home) { min-height: calc(100svh - 133px) !important; } html { scroll-padding-top: 150px; } }
/* v4.1: orter som rutnät (42 orter, Daniel 05.11) + källrad på ortssidor */
.tk-areas { list-style: none; padding: 0; margin-left: auto !important; margin-right: auto !important; max-width: 960px; display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px 24px; text-align: left; }
.tk-areas li { margin: 0; white-space: nowrap; color: var(--wp--preset--color--muted); }
.tk-areas a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.tk-areas a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.tk-areas [aria-current] { color: var(--wp--preset--color--accent); font-weight: 600; }
@media (max-width: 1099px) { .tk-areas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 781px) { .tk-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; } }
.tk-sources { margin-top: 20px !important; line-height: 1.5; }
.tk-sources a { color: inherit; text-decoration: underline; }

/* v4.2 (ägaren 05.11 17:06): UI-symboler i accentgrön #15181B — logga, stjärnor, telefon, bockar, stegram.
   Orange #FFE501 bara i infografiken (illustrationer för steg/tjänster, prishuset). Mörkt läge och mörka kort: ljusare grön #FFE501. */
:root { --tk-sym: #15181B; }
html[data-theme="dark"] { --tk-sym: #FFE501; }
html body .tk-check li::before, html body .tk-trust p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23337E29' stroke-width='2.2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") !important; }
html[data-theme="dark"] body .tk-check li::before, html[data-theme="dark"] body .tk-trust p::before, html body .tk-price-feat .tk-check li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236CC05F' stroke-width='2.2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") !important; }
html body .tk-hero .tk-trust p::before { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23337E29' d='M12 2.8l2.75 5.6 6.15.9-4.45 4.33 1.05 6.12L12 16.85 6.5 19.75l1.05-6.12L3.1 9.3l6.15-.9z'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important; }
html body .tk-phone > .wp-block-button__link::before { background: var(--tk-sym) !important; }
html body .tk-step-num { border-color: var(--tk-sym) !important; }
html body .tk-quote .tk-review .tk-rev-who::before { color: #FFE501 !important; }
/* v4.2.1 mörkt läge: header mörk, gröna knappar (gamla orange regler hade högre specificitet) */
html[data-theme="dark"] .tk-header, html[data-theme="dark"] header.wp-block-template-part { background: #111417 !important; border-bottom-color: #2A3036 !important; }
html[data-theme="dark"] body .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html[data-theme="dark"] body .tk-offer .forminator-button-submit, html[data-theme="dark"] body .tk-mobilebar .wp-block-button__link { background-color: #15181B !important; color: #fff !important; }
html[data-theme="dark"] body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, html[data-theme="dark"] body .tk-offer .forminator-button-submit:hover { background-color: #000000 !important; color: #fff !important; }
html[data-theme="dark"] body .tk-header .wp-block-button.tk-phone > .wp-block-button__link { background: transparent !important; color: #EDEAE4 !important; }
html[data-theme="dark"] body .tk-theme:hover { background: #1A1E22; }
html[data-theme="dark"] body .tk-theme { border-color: transparent !important; }
/* v4.2.3 (ägaren 05.11 17:09): symboler på mörkt foto/video = vita som texten bredvid; på ljus bakgrund gröna */
html body .tk-hero .tk-trust p::before { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2.8l2.75 5.6 6.15.9-4.45 4.33 1.05 6.12L12 16.85 6.5 19.75l1.05-6.12L3.1 9.3l6.15-.9z'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important; }
html body .tk-hero .tk-hp-item .tk-check li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") !important; }
html body .tk-quote .tk-review .tk-rev-who::before { color: #fff !important; }

/* ===== v4.3 (ägaren 05.11 17:10): hero-formuläret 1:1 som mjtak.se/taklaggare-akersberga – layout och mått uppmätta
   1440: kort 417 bred, pad 36, radie 5, vit, ingen skugga/ram. Rubrik 25/600 (2 rader i vänsterspalt 196), text 14/21, namn fet + roll,
   runt foto 128 till höger i höjd med texten. Fält 2 spalter (gap 20/10), höjd 33, radie 5, ram 1 px mörk, text 12, 12 px in.
   Meddelande 70 hög. Integritetsrad 12 px ovanför knappen. Knapp 40 hög, auto-bredd, radie 5, versaler 15/600.
   390: pad 10, en spalt, rubrik på en rad, foto 290 rund under namnet, knapp full bredd. Färg = vår gröna, texter = våra. ===== */
html body .tk-offer.tk-offer { border-radius: 0!important; padding: 36px !important; box-shadow: none !important; }
html:not([data-theme="dark"]) body .tk-offer.tk-offer, html:not([data-theme="dark"]) body .tk-hero .tk-hero-form.tk-offer { border: 0 !important; background: #fff !important; }
html:not([data-theme="dark"]) body .tk-cta .tk-offer.tk-offer { border: 1px solid #E2E4DF !important; }
html body .tk-hero .tk-hero-form.tk-offer, html body .tk-hp-form .tk-offer.tk-offer { width: 100%; max-width: 417px !important; margin-left: auto !important; margin-right: 0 !important; }
@media (min-width: 782px) {
	html body .tk-hero-panels { grid-template-columns: minmax(0, 1fr) 417px !important; }
	html body .tk-hero-cols > .wp-block-column:last-child { flex: 0 0 417px !important; }
}
/* rubrik + text + namn vänster, foto höger */
html body .tk-offer .tk-offer-head { display: grid !important; grid-template-columns: minmax(0, 196px) 1fr; grid-template-areas: "h ." "t p" "n p"; column-gap: 10px; row-gap: 0; align-items: start; margin: 0 0 34px !important; }
html body .tk-offer .tk-offer-head > * { margin: 0 !important; }
html body .tk-offer .tk-offer-head h3 { grid-area: h; font: 600 25px/25px Inter, sans-serif !important; letter-spacing: -0.01em !important; color: #15181B !important; text-align: left !important; text-box: none; margin: 0 0 20px !important; }
html body .tk-offer .tk-offer-intro { grid-area: t; font: 400 14px/21px Inter, sans-serif !important; color: #15181B !important; }
html body .tk-offer .tk-person-name { grid-area: n; margin-top: 14px !important; font: 400 14px/21px Inter, sans-serif !important; color: #15181B !important; }
html body .tk-offer .tk-person-name strong { font-weight: 700; }
html body .tk-offer .tk-offer-head .tk-person { grid-area: p; justify-self: center; width: 128px !important; }
html body .tk-offer .tk-offer-head .tk-person img { width: 128px !important; height: 128px !important; border-radius: 50% !important; object-fit: cover; object-position: top; display: block; }
/* fält i två spalter */
html body .tk-offer form.forminator-ui { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 10px; }
html body .tk-offer form.forminator-ui > * { grid-column: 1 / -1; min-width: 0; }
html body .tk-offer form.forminator-ui > .forminator-row:has(input.forminator-input):not(:has(textarea)), html body .tk-offer form.forminator-ui > .forminator-row:has(select) { grid-column: auto; }
html body .tk-offer form.forminator-ui > .forminator-row[style*="display: none"], html body .tk-offer form.forminator-ui > .forminator-row:has(input[name="referer_url"]) { display: none !important; }
html body .tk-offer .forminator-input, html body .tk-offer select { height: 33px !important; min-height: 33px !important; padding: 0 12px !important; border: 1px solid #15181B !important; border-radius: 0!important; background-color: transparent !important; font: 400 12px/15px Inter, sans-serif !important; color: #15181B !important; box-shadow: none !important; }
html body .tk-offer .forminator-textarea { height: 70px !important; min-height: 70px !important; padding: 8px 12px !important; border: 1px solid #15181B !important; border-radius: 0!important; background: transparent !important; font: 400 12px/15px Inter, sans-serif !important; color: #15181B !important; box-shadow: none !important; }
html body .tk-offer .forminator-input::placeholder, html body .tk-offer .forminator-textarea::placeholder { color: #15181B !important; opacity: .6 !important; font-size: 12px; }
html body .tk-offer .forminator-input:focus, html body .tk-offer .forminator-textarea:focus, html body .tk-offer select:focus { border-color: #15181B !important; box-shadow: 0 0 0 1px #15181B !important; outline: 0; }
html body .tk-offer .tk-file, html:not([data-theme="dark"]) body .tk-offer .tk-file, html:not([data-theme="dark"]) body .tk-hero .tk-hero-form .tk-file { height: 33px !important; min-height: 33px !important; padding: 0 12px !important; border: 1px solid #15181B !important; border-radius: 0!important; background: transparent !important; font: 400 12px/15px Inter, sans-serif !important; color: #15181B !important; gap: 8px; }
html body .tk-offer .tk-file .tk-file-text { color: #15181B !important; opacity: .6; }
html body .tk-offer .tk-file::before { width: 14px; height: 14px; }
html body .tk-offer form .tk-form-note, html body .tk-offer .tk-form-note { grid-column: 1 / -1; margin: 4px 0 2px !important; font: 400 12px/24px Inter, sans-serif !important; color: #15181B !important; text-box: none; }
html body .tk-offer .tk-form-note a { color: #15181B !important; }
html body .tk-offer .forminator-button-submit { width: auto !important; height: 40px !important; min-height: 40px; padding: 0 24px !important; border-radius: 0!important; font: 600 15px/15px Inter, sans-serif !important; text-transform: uppercase; letter-spacing: .02em !important; }
html body .tk-offer form.forminator-ui > .forminator-row:has(.forminator-button-submit) { justify-self: start; }
@media (max-width: 781px) {
	html body .tk-offer.tk-offer { padding: 16px !important; max-width: none !important; }
	html body .tk-hp-form .tk-offer.tk-offer, html body .tk-hero .tk-hero-form.tk-offer { max-width: none !important; }
	html body .tk-offer .tk-offer-head { grid-template-columns: 1fr; grid-template-areas: "h" "t" "n" "p"; margin-bottom: 30px !important; }
	html body .tk-offer .tk-offer-head .tk-person { width: 100% !important; max-width: 290px; margin-top: 36px !important; }
	html body .tk-offer .tk-offer-head .tk-person img { width: 100% !important; height: auto !important; aspect-ratio: 1; }
	html body .tk-offer form.forminator-ui { grid-template-columns: 1fr; }
	html body .tk-offer form.forminator-ui > .forminator-row:has(input.forminator-input):not(:has(textarea)), html body .tk-offer form.forminator-ui > .forminator-row:has(select) { grid-column: 1 / -1; }
	html body .tk-offer form.forminator-ui > .forminator-row:has(.forminator-button-submit) { justify-self: stretch; }
	html body .tk-offer .forminator-button-submit { width: 100% !important; }
}
/* mörkt läge */
html[data-theme="dark"] body .tk-offer .tk-offer-head h3, html[data-theme="dark"] body .tk-offer .tk-offer-intro, html[data-theme="dark"] body .tk-offer .tk-person-name, html[data-theme="dark"] body .tk-offer .tk-form-note, html[data-theme="dark"] body .tk-offer .tk-form-note a { color: #EDEAE4 !important; }
html[data-theme="dark"] body .tk-offer .forminator-input, html[data-theme="dark"] body .tk-offer .forminator-textarea, html[data-theme="dark"] body .tk-offer select, html[data-theme="dark"] body .tk-offer .tk-file { border-color: #6B747D !important; color: #EDEAE4 !important; }
html[data-theme="dark"] body .tk-offer .forminator-input::placeholder, html[data-theme="dark"] body .tk-offer .forminator-textarea::placeholder, html[data-theme="dark"] body .tk-offer .tk-file .tk-file-text { color: #EDEAE4 !important; }
/* v4.3.1: samma mörka ram på alla fält (äldre ljusa regler hade högre specificitet), namn/roll i textfärg */
html:not([data-theme="dark"]) body .tk-offer.tk-offer .forminator-input, html:not([data-theme="dark"]) body .tk-offer.tk-offer .forminator-textarea, html:not([data-theme="dark"]) body .tk-offer.tk-offer select, html:not([data-theme="dark"]) body .tk-cta .tk-offer.tk-offer .forminator-input, html:not([data-theme="dark"]) body .tk-cta .tk-offer.tk-offer .forminator-textarea { border: 1px solid #15181B !important; background-color: transparent !important; color: #15181B !important; }
html body .tk-hero .tk-hero-form.tk-offer .tk-person-name, html body .tk-offer.tk-offer .tk-person-name { color: #15181B !important; }
html[data-theme="dark"] body .tk-hero .tk-hero-form.tk-offer .tk-person-name { color: #EDEAE4 !important; }
@media (max-width: 781px) { html body .tk-offer .tk-offer-head .tk-person { margin-top: 28px !important; } }
@media (min-width: 782px) { html body .tk-hero-cols > .wp-block-column:first-child { flex: 1 1 0 !important; } }

/* ===== v4.4 kritiker 05.11 ===== */
/* 1. mörkt läge: menytext ljus (navigationens overlay-färg var svart) */
html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__submenu-container a, html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open, html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open a, html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open button { color: #EDEAE4 !important; }
html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open { background-color: #111417 !important; }
html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open .tk-menu-cta a { color: #fff !important; }
/* 2. Priser: siffrorna i infografiken syns (ljust läge) */
html:not([data-theme="dark"]) body .tk-pin, html:not([data-theme="dark"]) body .tk-info-list li::before { color: #fff !important; }
/* 4+21. undersidor med formulär i hero: formuläret uppe till höger bredvid H1 (≥1024), under texten < 1024 */
@media (min-width: 1024px) {
	html body .tk-hero:has(.tk-hp-form) > .wp-block-cover__inner-container { display: grid !important; grid-template-columns: minmax(0, 1fr) 417px; column-gap: 56px; align-items: start; }
	html body .tk-hero:has(.tk-hp-form) > .wp-block-cover__inner-container > .wp-block-group:first-child { grid-column: 1; grid-row: 1; max-width: none !important; }
	html body .tk-hero:has(.tk-hp-form) > .wp-block-cover__inner-container > .tk-hero-prices { display: contents !important; }
	html body .tk-hero:has(.tk-hp-form) .tk-hero-prices > .tk-hp-item { grid-column: 1; grid-row: 2; margin-top: 40px !important; }
	html body .tk-hero:has(.tk-hp-form) .tk-hero-prices > .tk-hp-form { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
	html body .tk-hero:has(.tk-hp-form) .tk-hero-prices > .tk-hp-form .tk-offer { max-width: none !important; }
}
@media (min-width: 782px) and (max-width: 1023px) {
	html body .tk-hero:has(.tk-hp-form) .tk-hero-panels, html body .tk-hero:has(.tk-hp-form) .tk-hero-contact { grid-template-columns: 1fr !important; row-gap: 40px !important; }
	html body .tk-hero:has(.tk-hp-form) .tk-hp-form .tk-offer.tk-offer { max-width: 560px !important; margin-left: 0 !important; }
}
.tk-hero-panels .tk-hp-item .tk-check.tk-two-col { padding-bottom: 20px !important; border-bottom: 1px solid rgba(255,255,255,.2); }
.tk-hero-panels .tk-hp-item .tk-hp-pline { border-top: 0 !important; padding-top: 0 !important; }
/* 5. startsidans hero = skärmhöjd minus header */
/* 5. startsidans hero: höjd = innehåll + sektionsluft (DS H7), inte skärmhöjd */
/* 6. bento/länkkort: ingen tom ruta i sista raden */
@media (min-width: 782px) {
	html body .tk-bento > .tk-service:last-child:nth-child(3n+2) { grid-column: span 2; }
	html body .tk-bento > .tk-service:last-child:nth-child(3n+1):not(:first-child) { grid-column: span 3; }
}
@media (min-width: 1100px) {
	html body .tk-link-grid > :last-child:nth-child(3n+2) { grid-column: span 2; }
	html body .tk-link-grid > :last-child:nth-child(3n+1):not(:first-child) { grid-column: span 3; }
}
/* 7. mörkt läge: mittpriskortets ram i accentfärg */
html[data-theme="dark"] body .tk-price-feat { border-color: #15181B !important; }
/* 8. mobil knapprad: jämn luft, body-luft = panelens höjd */
@media (max-width: 781px) {
	html body .tk-mobilebar.tk-mobilebar { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important; margin: 0 !important; }
	html body { padding-bottom: calc(73px + env(safe-area-inset-bottom)) !important; }
}
/* 11. jobb/partner: mörkare ton bakom texten (ljust foto) */
html body .tk-hero:has(#ansok) > .wp-block-cover__background { background: linear-gradient(to right, rgba(17,20,23,.86) 0%, rgba(17,20,23,.7) 50%, rgba(17,20,23,.35) 100%) !important; }

html[data-theme="dark"] body .tk-sub-back span { background: transparent !important; border-color: #2E343A !important; }
html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; }
/* v4.4.2 (ägaren 17:31): rubriken i formulärkortet över hela bredden, en rad på desktop; text vänster + runt foto höger under */
@media (min-width: 782px) {
	html body .tk-offer .tk-offer-head { grid-template-areas: "h h" "t p" "n p"; }
	html body .tk-offer .tk-offer-head h3 { white-space: nowrap; }
}
/* v4.4.3: formulär bredvid H1 → smalare textspalt: långa H1 lite mindre, ingressen 17 px på 1024–1279; linje under bocklistan bara om något följer */
@media (min-width: 1024px) { html body .tk-hero.tk-h1-long:has(.tk-hp-form) h1 { font-size: clamp(2.25rem, 3.6vw, 3.25rem) !important; } }
@media (min-width: 1024px) and (max-width: 1279px) { html body .tk-hero:has(.tk-hp-form) h1 + p { font-size: 1.0625rem !important; } }
html body .tk-hero-panels .tk-hp-item .tk-check.tk-two-col:last-child { padding-bottom: 0 !important; border-bottom: 0 !important; }
/* v4.4.4 (ägaren 17:38): knapp och integritetsrad centrerade i formulärkortet */
html body .tk-offer form.forminator-ui > .forminator-row:has(.forminator-button-submit) { justify-self: center !important; }
html body .tk-offer form .tk-form-note, html body .tk-offer .tk-form-note { text-align: center !important; justify-self: center; }
html body .tk-offer .forminator-row:has(.forminator-button-submit) .forminator-col, html body .tk-offer .forminator-row:has(.forminator-button-submit) .forminator-field { display: flex !important; justify-content: center; }

/* v4.5.0 (ägaren 18:01): EN radie för hela sajten = 0 (knappar, formulärkort, alla fält, kort, menyer, ljust + mörkt läge).
   Enda undantaget: det runda porträttfotot i formulärkortet (foto, inte kontroll). */
:root { --tk-radius: 0px; }
html body .tk-offer.tk-offer, html body .tk-offer .forminator-input, html body .tk-offer .forminator-textarea, html body .tk-offer select, html body .tk-offer .tk-file,
html body .tk-offer .forminator-button-submit, html body .forminator-ui input, html body .forminator-ui textarea, html body .forminator-ui select, html body .forminator-ui button,
html body .select2-container .select2-selection, html body .wp-block-button__link, html body .wp-element-button, html body .wp-block-navigation__submenu-container { border-radius: 0 !important; }

/* ===== v4.7 (ägaren 18:31): «Tjänster» 1:1 som dryft.se — EN panel med alla tjänster, öppnas på klick (radie 0, grön accent)
   Uppmätt dryft 1440: panel centrerad under knappen, 16 px under, vit, mjuk lagrad skugga, liten pil; kolumner lika breda (längsta namnet),
   1 px #CDCDCF mellan kolumner och under varje rad; rubrik 16/24 700 pad 12/16 (49 hög); rader 14/20 500 pad 12/16 (45 hög); tomma celler tomma. ===== */
@media (min-width: 782px) {
	html body .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container { grid-template-columns: none; }
	html body .tk-header .tk-nav .wp-block-navigation__container { gap: 8px !important; }
	/* toppunkter */
	html body .tk-header .tk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 8px 16px !important; font: 500 16px/26px Inter, sans-serif !important; color: #000 !important; background: transparent; transition: background-color .15s; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { display: none !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child { position: relative !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content { padding-right: 36px !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > [aria-expanded="true"] { background: #F1F2EF !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon,
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon { position: absolute !important; right: 12px; top: 50%; width: 16px !important; height: 16px !important; margin: -8px 0 0 !important; padding: 0 !important; pointer-events: none; transition: transform .15s; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > [aria-expanded="true"] .wp-block-navigation__submenu-icon,
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
	/* panelen (båda menyerna) */
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { top: calc(100% + 16px) !important; left: 50% !important; right: auto !important; transform: translateX(-50%); padding: 0 !important; background: #fff !important; border: 0 !important; border-radius: 0 !important;
		box-shadow: rgba(0,0,0,.1) 0 100px 80px 0, rgba(0,0,0,.08) 0 64.8px 46.9px 0, rgba(0,0,0,.06) 0 38.5px 25.5px 0, rgba(0,0,0,.05) 0 20px 13px 0, rgba(0,0,0,.04) 0 8.1px 6.5px 0, rgba(0,0,0,.02) 0 1.9px 3.1px 0 !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 50%; top: -6px; width: 12px; height: 12px; background: inherit; transform: translateX(-50%) rotate(45deg); }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container { visibility: visible !important; opacity: 1 !important; width: max-content !important; height: auto !important; overflow: visible !important; }
	/* Om oss: en kolumn med rader */
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child:not(.tk-mega) > .wp-block-navigation__submenu-container { min-width: 220px !important; }
	html body .tk-header .tk-nav .wp-block-navigation__submenu-container > .wp-block-navigation-item { width: 100%; border: 0 !important; }
	html body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content { display: block; width: 100%; padding: 12px 16px !important; font: 500 14px/20px Inter, sans-serif !important; color: #1A1F23 !important; white-space: nowrap !important; border-bottom: 1px solid #CDCDCF; position: relative; z-index: 1; background: #fff; transition: background-color .15s, color .15s; }
	html body .tk-header .tk-nav .wp-block-navigation__submenu-container > .wp-block-navigation-link:last-child > .wp-block-navigation-item__content { border-bottom: 0; }
	html body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content:hover,
	html body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content:focus-visible { background: #F1F2EF !important; color: #15181B !important; }
	/* Tjänster: tre lika breda kolumner = grupperna */
	html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(3, minmax(max-content, 1fr)) !important; }
	html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container > li.tk-mgroup { display: flex !important; flex-direction: column; border-right: 1px solid #CDCDCF !important; }
	html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container > li.tk-mgroup:last-of-type { border-right: 0 !important; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content { display: block; width: 100%; padding: 12px 16px !important; font: 700 16px/24px Inter, sans-serif !important; color: #1A1F23 !important; border-bottom: 1px solid #CDCDCF; background: transparent !important; pointer-events: none; text-align: left; white-space: nowrap; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon, html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation__submenu-icon { display: none !important; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation__submenu-container { position: static !important; visibility: inherit !important; opacity: 1 !important; width: auto !important; height: auto !important; min-width: 0 !important; overflow: visible !important; transform: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent !important; display: flex !important; flex-direction: column; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation__submenu-container > .wp-block-navigation-link:last-child > .wp-block-navigation-item__content { border-bottom: 1px solid #CDCDCF; }
	html body .tk-header .tk-nav li.tk-mega .tk-sub-all, html body .tk-header .tk-nav .tk-sub-back { display: none !important; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
	html body .tk-header .tk-nav .wp-block-navigation__container { gap: 0 !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 8px 10px !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content { padding-right: 32px !important; }
	html body .tk-header > .wp-block-group { column-gap: 24px !important; }
}
/* mörkt läge */
html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content, html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content, html[data-theme="dark"] body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content { color: #EDEAE4 !important; }
html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover, html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__container > .has-child > [aria-expanded="true"] { background: #1F2428 !important; }
html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { background: #15181B !important; }
html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content { background: #15181B; border-color: #2E343A !important; }
html[data-theme="dark"] body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container > li.tk-mgroup, html[data-theme="dark"] body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content { border-color: #2E343A !important; }
html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content:hover { background: #1F2428 !important; color: #FFE501 !important; }
/* mobilmeny: grupperna som etiketter, alla tjänster under (andra skärmen) */
@media (max-width: 781px) {
	html body .wp-block-navigation__responsive-container.is-menu-open .tk-mgroup > .wp-block-navigation-item__content { font-size: .75rem !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 600 !important; color: var(--wp--preset--color--muted) !important; border-bottom: 0 !important; padding: 24px 0 6px !important; pointer-events: none; }
	html body .wp-block-navigation__responsive-container.is-menu-open .tk-mgroup > .wp-block-navigation__submenu-container { padding: 0 !important; margin: 0 !important; }
	html body .wp-block-navigation__responsive-container.is-menu-open .tk-mgroup .wp-block-navigation__submenu-icon { display: none !important; }
}
/* v4.7.1: chevron ovanför knappens bakgrund; kolumnerna utan glipor (rader i hela kolumnens bredd, rubrik direkt följd av rader) */
@media (min-width: 782px) {
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon { z-index: 2; }
	html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container > li.tk-mgroup { justify-content: flex-start !important; align-items: stretch !important; margin: 0 !important; padding: 0 !important; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation__submenu-container { flex: 0 0 auto !important; margin: 0 !important; align-items: stretch !important; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation__submenu-container > li { margin: 0 !important; padding: 0 !important; width: 100% !important; }
	html body .tk-header .tk-nav li.tk-mgroup > button.wp-block-navigation-item__content, html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content { flex: 0 0 auto; margin: 0 !important; height: auto !important; }
}
@media (min-width: 782px) { html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content { display: block !important; } html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: inline !important; white-space: nowrap !important; } }
/* v4.7.3 (ägaren 18:36): ingen blå ram vid klick, tunn grön fyrkantig ram bara för tangentbord; menyn alltid över hero; kolumnrubrikerna lika höga */
html body .tk-header .tk-nav *:focus, html body .tk-header .tk-nav li:focus, html body .tk-header .tk-nav button:focus { outline: none !important; box-shadow: none !important; }
html body .tk-header .tk-nav *:focus-visible { outline: 2px solid #15181B !important; outline-offset: 2px; border-radius: 0 !important; }
html body .tk-header *:focus:not(:focus-visible), html body .tk-header a:focus:not(:focus-visible) { outline: none !important; }
html body .tk-header *:focus-visible, html body .tk-header a:focus-visible { outline: 2px solid #15181B; outline-offset: 2px; }
header.wp-block-template-part { z-index: 100 !important; }
@media (min-width: 782px) {
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { z-index: 101 !important; }
	html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container > li.tk-mgroup { display: block !important; }
	html body .tk-header .tk-nav li.tk-mgroup > .wp-block-navigation__submenu-container { display: block !important; }
}
/* en grön: #15181B (fyllning, text på ljust), #000000 hover, #FFE501 bara text/symbol på mörk botten */
@media (min-width: 782px) { html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container { gap: 0 !important; column-gap: 0 !important; row-gap: 0 !important; } }
/* v4.7.5: panelen börjar vid headerns underkant (som dryft), pilen syns mot vit header (tunn kant) */
@media (min-width: 782px) {
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { top: calc(100% + 30px) !important; }
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { top: -7px; width: 14px; height: 14px; border-top: 1px solid #DADCD7; border-left: 1px solid #DADCD7; }
	html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { border-color: #2E343A; }
}
@media (min-width: 782px) and (max-width: 1099px) { html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { top: calc(100% + 19px) !important; } }
/* ===== v4.7.6 kritiker (meny) ===== */
@media (min-width: 782px) {
	/* 1 kolumnlinjerna syns */
	html body .tk-header .tk-nav li.tk-mega > .wp-block-navigation__submenu-container > li.tk-mgroup { box-sizing: border-box !important; }
	/* 4 fokusram på rader innanför raden */
	html body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content:focus-visible { outline-offset: -2px !important; }
	/* 9 Om oss: inga glipor, linje under varje rad utom sista */
	html body .tk-header .tk-nav .has-child:not(.tk-mega) > .wp-block-navigation__submenu-container > li { margin: 0 !important; }
	/* 11 pilen lite större */
	html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { width: 18px; height: 18px; top: -9px; }
	/* 12 mörkt läge: panelens kant syns */
	html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { outline: 1px solid #2E343A; }
	/* 5 mörkt läge: tangentbordsfokus på rad */
	html[data-theme="dark"] body .tk-header .tk-nav .wp-block-navigation__submenu-container .wp-block-navigation-link > .wp-block-navigation-item__content:focus-visible { background: #1F2428 !important; color: #FFE501 !important; }
}
/* 2 tangentbordsfokus även på knapparna Tjänster / Om oss */
html body .tk-header .tk-nav button.wp-block-navigation-item__content:focus-visible { outline: 2px solid #15181B !important; outline-offset: 2px !important; }
/* 10 1024: panelen direkt vid headerns kant */
@media (min-width: 782px) and (max-width: 1099px) { html body .tk-header .tk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { top: calc(100% + 15px) !important; } }
@media (max-width: 781px) {
	/* 6 mörkt läge mobil: listan på samma botten som menyn */
	html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container, html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { background: transparent !important; }
	/* 7 mörkt läge mobil: grupprubriker dämpade */
	html[data-theme="dark"] body .wp-block-navigation__responsive-container.is-menu-open .tk-mgroup > .wp-block-navigation-item__content { color: #9AA0A6 !important; }
	/* 8 ‹ och × följer med när man scrollar i Tjänster-listan */
	html body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position: fixed !important; top: 16px !important; right: 16px !important; z-index: 6; }
	html body .tk-sub-open .tk-sub-back { position: fixed !important; top: 16px !important; left: 16px !important; z-index: 6; }
	html body .tk-sub-open .wp-block-navigation__responsive-dialog::before { content: ""; position: fixed; top: 0; left: 0; right: 0; height: 76px; z-index: 5; background: var(--wp--preset--color--base); }
	html[data-theme="dark"] body .tk-sub-open .wp-block-navigation__responsive-dialog::before { background: #111417; }
}
@media (max-width: 781px) { html body .wp-block-navigation__responsive-container.is-menu-open, html body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog, html body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { animation: none !important; transform: none !important; } }
/* v4.8 (ägaren 18:57): huvuden beskärs aldrig – foton med människor ankras upptill */
html body .tk-people img, html body img.tk-people, html body .tk-person img { object-position: 50% 0% !important; }
/* v4.8.1 (ägaren 18:59): blockets accent följer illustrationerna – block med orange infografik (steg, fördelar, prishuset) får orange accentord och orange stegramar */
html body section.wp-block-group:has(.tk-step-img) h2 em, html body section.wp-block-group:has(.tk-info-fig) h2 em { color: #FFE501 !important; }
html body section.wp-block-group:has(.tk-step-img) .tk-step-num { border-color: #FFE501 !important; }
/* fotopanelen i Om oss-hero: ingen grön ram runt fotot (mobil) */
html body .tk-hero-panels > .tk-hp-item.tk-hp-photo { background: transparent !important; padding: 0 !important; border: 0 !important; }
/* mörkt läge: accentordet i H2 ljusgrön (variabeln på body vann över html[data-theme]) */
html[data-theme="dark"] body { --tk-accent-text: #FFE501; --tk-accent-small: #FFE501; }

/* v4.8.4 (ägaren 06.11): lika luft på båda sidor om varje avdelarlinje (DS §27, ds-check R3) */
html body .tk-hero-panels .tk-hp-item .tk-hp-pline { margin-top: 20px !important; }
html body .tk-hp-item > :has(+ .tk-loc) { margin-bottom: 24px !important; }
html body .tk-hp-item .tk-check > li:first-child, html body .tk-hp-item .tk-check.tk-two-col > li:nth-child(2) { margin-top: 0 !important; }

/* v4.9.0 (Daniel 06.11): snyggare ordmärke – samma geometriska stil som ikonen, två rader lika breda, höjd = ikonens */
html body .tk-brand a { font-family: Inter, sans-serif !important; font-weight: 800 !important; font-size: 1.5rem !important; letter-spacing: -0.01em !important; text-transform: uppercase; line-height: 1 !important; width: max-content; }
html body .tk-brand span { display: block; font-family: Inter, sans-serif !important; font-weight: 600 !important; font-size: .875rem !important; letter-spacing: 0 !important; text-align: justify; text-align-last: justify; margin-top: 8px !important; }
@media (max-width: 781px) { html body .tk-brand a { font-size: 1.0625rem !important; } html body .tk-brand span { margin-top: 5px !important; } }
html body .tk-brand span { letter-spacing: .565em !important; margin-right: -.565em; text-align: left; }
html body .tk-brand span, html body .tk-header .tk-brand span { font-size: .6667em !important; font-weight: 700 !important; letter-spacing: .41em !important; margin-right: -.41em; }

/* v4.9.1 (Daniel 06.11): Nyheter – lista + inlägg, sektionsluft som övriga sektioner, radie 0 */
.tk-news { padding-top: clamp(56px, 6.25vw, 90px) !important; padding-bottom: clamp(56px, 6.25vw, 90px) !important; }
.tk-news-grid { gap: 40px 32px !important; }
@media (max-width: 1023px) { .tk-news-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 599px) { .tk-news-grid { grid-template-columns: 1fr !important; } }
.tk-news-card .wp-block-post-featured-image { margin: 0 0 16px !important; }
.tk-news-card .wp-block-post-featured-image img, .tk-article .wp-block-post-featured-image img { border-radius: 0 !important; }
.tk-news-date { margin: 0 0 8px !important; font-size: .875rem; color: var(--wp--preset--color--muted, #5B6168); }
.tk-hero .tk-news-date { color: rgba(255,255,255,.85); margin-top: 16px !important; }
.tk-news-title { margin: 0 !important; font-size: 1.375rem !important; line-height: 1.25; }
.tk-news-title a { color: inherit; text-decoration: none; }
.tk-news-title a:hover { color: var(--tk-accent-text); }
.tk-article .wp-block-post-featured-image { margin: 0 0 32px !important; }
.tk-news-back { margin-top: 40px !important; }
.tk-news-back a { color: var(--tk-accent-text); text-decoration: none; font-weight: 600; }
html[data-theme="dark"] .tk-news-date { color: rgba(255,255,255,.7); }
html body .tk-hero .tk-news-date { margin: 24px 0 0 !important; }
html body .tk-article h2 { font-size: clamp(1.375rem, 2vw, 1.75rem) !important; line-height: 1.25 !important; margin: 40px 0 12px !important; }

/* v4.9.2 (ägaren 06.11): logga variant B – TAKLÄGGARE och STOCKHOLM samma typsnitt (Inter 700 versaler), lika långa */
html body .tk-header .tk-brand a { font-weight: 700 !important; letter-spacing: .04em !important; }
html body .tk-header .tk-brand span { font-weight: 700 !important; }
html body .tk-header .tk-brand span { letter-spacing: .474em !important; margin-right: -.474em; }
/* v4.9.3 (ägaren 06.11): logga variant A – båda raderna samma storlek, lika långa */
html body .tk-header .tk-brand span { font-size: 1em !important; letter-spacing: .074em !important; margin-right: -.074em; margin-top: .3em !important; }

/* v4.9.4 (ägaren 06.11): logga F7 – Big Shoulders Display, TAKLÄGGARE 800 / STOCKHOLM 500, samma storlek, lika långa */
@font-face { font-family: "Big Shoulders Display"; src: url(assets/fonts/big-shoulders-display-latin-wght.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF; }
html body .tk-header .tk-brand a { font-family: "Big Shoulders Display", Inter, sans-serif !important; font-weight: 800 !important; font-size: 34px !important; letter-spacing: .02em !important; line-height: 1 !important; }
html body .tk-header .tk-brand span { font-family: "Big Shoulders Display", Inter, sans-serif !important; font-weight: 500 !important; font-size: 1em !important; letter-spacing: .02em !important; margin-right: -.02em; margin-top: .12em !important; }
@media (max-width: 781px) { html body .tk-header .tk-brand a { font-size: 22px !important; } }
html body .tk-header .tk-brand span { letter-spacing: .1175em !important; margin-right: -.1175em; }
/* v4.9.5 Ägaren 06.11: formkortet mobil — luft = avståndet under loggan i headern (16px), rubrikens versalhöjd i kanten */
@media (max-width: 781px) { html body .tk-offer .tk-offer-head h3 { text-box: trim-start cap alphabetic; } }
/* v4.9.6 (ägaren 06.11): logga F3 – Montserrat, TAKLÄGGARE 700 / STOCKHOLM 500 mindre med spärrning, lika långa */
@font-face { font-family: "Montserrat"; src: url(assets/fonts/montserrat-latin-wght.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF; }
html body .tk-header .tk-brand a { font-family: Montserrat, Inter, sans-serif !important; font-weight: 700 !important; font-size: 24px !important; letter-spacing: .02em !important; line-height: 1 !important; }
html body .tk-header .tk-brand span { font-family: Montserrat, Inter, sans-serif !important; font-weight: 500 !important; font-size: .643em !important; letter-spacing: .533em !important; margin-right: -.533em; margin-top: .32em !important; line-height: 1 !important; }
@media (max-width: 781px) { html body .tk-header .tk-brand a { font-size: 16px !important; } }

/* ===== MÅLARE STOCKHOLM 1.0 — gul (som originalet #FFE501) + grafit. Gul = fyllning (knappar, markeringar) med mörk text; text/länkar = grafit. ===== */
:root, body, html[data-theme="dark"] { --wp--preset--color--accent: #FFE501; --wp--preset--color--accent-dark: #F2D600; --tk-accent-text: #15181B; --tk-accent-small: #15181B; --tk-icon: #FFE501; --tk-sym: #15181B; --tk-ink: #15181B; }
html[data-theme="dark"] body { --tk-accent-text: #FFE501; --tk-accent-small: #FFE501; --tk-sym: #FFE501; }
html body .wp-block-button:not(.is-style-outline) > .wp-block-button__link, html body .tk-mobilebar .wp-block-button__link, html body .nf-form-cont input[type="submit"], html body .tk-offer .nf-form-cont input[type="submit"] { background-color: #FFE501 !important; color: #15181B !important; box-shadow: none !important; }
html body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, html body .tk-mobilebar .wp-block-button__link:hover, html body .nf-form-cont input[type="submit"]:hover, html body .tk-offer .nf-form-cont input[type="submit"]:hover { background-color: #F2D600 !important; color: #15181B !important; }
/* Rubrikens accentord: penseldrag i gult under ordet (målarens markering), texten grafit */
html body h2 em, html body .tk-quote h2 em { font-style: normal; color: inherit !important; background: linear-gradient(transparent 58%, #FFE501 58%, #FFE501 92%, transparent 92%); padding: 0 .08em; }
html body .tk-quote h2 em, html[data-theme="dark"] body h2 em { background: linear-gradient(transparent 58%, rgba(255,229,1,.55) 58%, rgba(255,229,1,.55) 92%, transparent 92%); }
html body .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover, html body .tk-faq summary:hover, html body .tk-areas a:hover, html body .tk-step-num, html body .tk-badge-mark { color: var(--tk-accent-text) !important; }
html body .tk-hp-item:nth-child(2), html body .tk-hp-accent { color: #15181B !important; }
html body .tk-hp-item:nth-child(2) *, html body .tk-hp-accent * { color: #15181B !important; }
html body .tk-bento .tk-service:hover h3 a::before, html body .tk-link-card:hover h3 a::before, html body .tk-price:hover h3 a::before, html body .tk-social a:hover, html body .tk-ctrl button:hover, html body .tk-ctrl button:focus-visible { color: #15181B !important; }
html body .tk-offer .nf-form-cont input:focus, html body .tk-offer .nf-form-cont textarea:focus, html body .tk-offer .nf-form-cont select:focus { border-color: #15181B !important; box-shadow: 0 0 0 1px #15181B !important; }
/* Slider i startsidans hero + inglidning vid scroll (Daniel 06.11) */
.tk-hero-slides { display: none !important; }
.tk-hero .tk-slide-bg { opacity: 0; transition: opacity 1.4s ease; }
.tk-hero .tk-slide-bg.is-on { opacity: 1; }
.tk-hero .wp-block-cover__background { z-index: 1; }
.tk-hero .wp-block-cover__inner-container { z-index: 2; }
.tk-reveal { opacity: 0; transform: translateY(40px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.tk-reveal.tk-from-left { transform: translateX(-48px); }
.tk-reveal.tk-from-right { transform: translateX(48px); }
.tk-reveal.tk-in { opacity: 1; transform: none; }
/* Kontaktpersoner: rutnät med porträtt (originalets block) */
.tk-team { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 32px 24px; }
.tk-team > * { margin: 0 !important; }
.tk-team-card > * { margin: 0 !important; }
.tk-team-card .tk-team-img img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 15%; display: block; }
.tk-team-card h3 { margin-top: 16px !important; }
.tk-team-card p { margin-top: 4px !important; }
@media (max-width: 781px) { .tk-team { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; } }
/* Tjänsteknappar (originalets «Tjänster vi utför»), grupperade */
.tk-pill-groups { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.tk-pill-groups > * { margin: 0 !important; }
.tk-pill-group h3 { margin: 0 0 16px !important; }
.tk-pills { list-style: none; padding: 0 !important; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.tk-pills li { margin: 0 !important; }
.tk-pills a, .tk-pills span { display: inline-block; padding: 10px 16px; border: 1px solid #15181B; color: #15181B; text-decoration: none; font-size: 15px; line-height: 20px; transition: background-color .15s; }
.tk-pills a:hover { background: #FFE501; }
.tk-pills span[aria-current] { background: #15181B; color: #fff; }
html[data-theme="dark"] .tk-pills a, html[data-theme="dark"] .tk-pills span { border-color: #EDEAE4; color: #EDEAE4; }
html[data-theme="dark"] .tk-pills a:hover { background: #FFE501; color: #15181B; }
@media (max-width: 1023px) { .tk-pill-groups { grid-template-columns: 1fr; } }
/* Ninja Forms (Daniel: ninja forms) – alla fält samma: vit botten, grå ram, samma höjd; 0 marginaler från NF */
html body .tk-offer .nf-form-cont .nf-form-content { padding: 0 !important; max-width: none !important; }
html body .tk-offer .nf-form-cont nf-fields-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
html body .tk-offer .nf-form-cont nf-field { display: block; margin: 0 !important; }
html body .tk-offer .nf-form-cont nf-field:has(textarea), html body .tk-offer .nf-form-cont nf-field:has(.submit-container), html body .tk-offer .nf-form-cont nf-field:has(input[type="hidden"]) { grid-column: 1 / -1; }
html body .tk-offer .nf-form-cont nf-field:has(input[type="hidden"]) { display: none; }
html body .tk-offer .nf-form-cont .nf-field-container { margin: 0 !important; }
html body .tk-offer .nf-form-cont .nf-before-form-content, html body .tk-offer .nf-form-cont .nf-form-fields-required, html body .tk-offer .nf-form-cont .nf-after-field { display: none !important; }
html body .tk-offer .nf-form-cont input:is([type="text"],[type="email"],[type="tel"]), html body .tk-offer .nf-form-cont textarea { display: block; width: 100% !important; height: 48px !important; min-height: 48px !important; padding: 0 16px !important; margin: 0 !important; border: 1px solid #94A3B8 !important; border-radius: 0 !important; background: #fff !important; color: #15181B !important; font: 400 16px/24px Inter, sans-serif !important; box-shadow: none !important; box-sizing: border-box; }
html body .tk-offer .nf-form-cont textarea { height: 98px !important; min-height: 98px !important; padding: 12px 16px !important; resize: vertical; }
html body .tk-offer .nf-form-cont input::placeholder, html body .tk-offer .nf-form-cont textarea::placeholder { color: #64748B; opacity: 1; }
html body .tk-offer .nf-form-cont input[type="submit"] { width: 100% !important; height: 48px !important; margin: 0 !important; padding: 0 24px !important; border: 0 !important; border-radius: 0 !important; font: 700 16px/24px Inter, sans-serif !important; cursor: pointer; }
html body .tk-offer .nf-form-cont .nf-error-msg, html body .tk-offer .nf-form-cont .nf-error-wrap { font-size: 13px; color: #B42318; margin-top: 4px; }
html body .tk-offer .nf-form-cont .nf-response-msg { padding: 16px; background: #FFF9C4; color: #15181B; }
@media (max-width: 781px) { html body .tk-offer .nf-form-cont nf-fields-wrap { grid-template-columns: 1fr; } }
html[data-theme="dark"] body .tk-offer .nf-form-cont input:is([type="text"],[type="email"],[type="tel"]), html[data-theme="dark"] body .tk-offer .nf-form-cont textarea { background: #1A1F23 !important; border-color: #4A535C !important; color: #EDEAE4 !important; }
html body .tk-areas [aria-current] { color: #15181B !important; font-weight: 700; background: linear-gradient(transparent 55%, #FFE501 55%, #FFE501 95%, transparent 95%); }
html[data-theme="dark"] body .tk-areas [aria-current] { color: #EDEAE4 !important; background: linear-gradient(transparent 55%, rgba(255,229,1,.45) 55%, rgba(255,229,1,.45) 95%, transparent 95%); }
/* Logga: MÅLARE och STOCKHOLM lika breda (Montserrat 700/500) */
html body .tk-header .tk-brand a { font-size: 30px !important; }
html body .tk-header .tk-brand span { letter-spacing: .065em !important; margin-right: -.065em; margin-top: .22em !important; }
@media (max-width: 781px) { html body .tk-header .tk-brand a { font-size: 20px !important; } }
/* Stegikoner (Replicate, DS §13): 96 px desktop / 80 px mobil, samma för steg och fördelar */
html body .tk-step-img { max-width: none !important; width: 96px; margin: 0 auto 16px !important; }
html body .tk-step-img img { width: 96px !important; height: 96px !important; aspect-ratio: 1 !important; object-fit: contain; }
@media (max-width: 781px) { html body .tk-step-img { width: 80px; } html body .tk-step-img img { width: 80px !important; height: 80px !important; } }
/* Textblock utan bild (översikter): sista elementet utan marginal → luft under = över (DS S1) */
html body .tk-prose > :last-child, html body .tk-prose > :last-child > li:last-child { margin-bottom: 0 !important; }
html body .tk-prose > * + * { margin-top: 16px !important; }
html[data-theme="dark"] body .tk-header .tk-kontakt .wp-block-button__link { background-color: #FFE501 !important; color: #15181B !important; }
