/* Thomas Knudsen – site-lag oven på Elementor-klasserne (tk-*). Kun det, klasserne ikke kan udtrykke. */
:root:root{--tk-font-head:'Host Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--tk-font-body:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
--tk-i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--tk-i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M8.6 12.4l2.3 2.3 4.5-4.9' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--tk-i-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
--tk-i-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
--tk-i-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FBF7EB;color:#23192C;font-family:var(--tk-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
::selection{background:#D9BE60;color:#23192C}
a,button,summary,input,textarea{-webkit-tap-highlight-color:transparent}
:where(a,button,summary,input,textarea,select,[tabindex]):focus-visible{outline:2px solid #AC8F2B;outline-offset:3px;border-radius:6px}
.tk-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
img{max-width:100%;height:auto}
.tk-media,.tk-hero-img{height:100%}
/* knapper: pil */
.tk-btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.tk-btn::after{content:"";width:.875em;height:.875em;flex:none;background:currentColor;-webkit-mask:var(--tk-i-arrow) center/contain no-repeat;mask:var(--tk-i-arrow) center/contain no-repeat;transition:transform .2s ease}
.tk-btn:hover::after{transform:translate(2px,-2px)}
.tk-navlink,.tk-chip,.tk-footer-link,.tk-base-link{transition:background-color .2s ease,color .2s ease}
/* tjeklister */
.tk-checks ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.tk-checks li{position:relative;padding-left:1.85rem}
.tk-checks li::before{content:"";position:absolute;left:0;top:.08em;width:1.2rem;height:1.2rem;background:currentColor;-webkit-mask:var(--tk-i-check) center/contain no-repeat;mask:var(--tk-i-check) center/contain no-repeat}
.tk-checks strong{font-weight:600}
/* glas */
.tk-nav,.tk-chips,.tk-glass,.tk-btn-glass{-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.tk-glass{background-color:rgba(35,25,44,.42)}
/* billedkort */
.tk-service-card .tk-media{position:absolute;inset:0;border-radius:0}
.tk-service-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(35,25,44,.05) 30%,rgba(35,25,44,.55) 100%)}
.tk-quote .tk-media{position:absolute;inset:0;border-radius:0}
.tk-hero-img{max-width:none}
/* accordion */
.tk-acc details>summary{list-style:none;cursor:pointer}
.tk-acc details>summary::-webkit-details-marker{display:none}
.tk-acc .e-accordion-item-icon,.tk-acc [class*="accordion-item-icon"]{display:none!important}
.tk-acc-head::after{content:"";width:1.25rem;height:1.25rem;flex:none;background:currentColor;-webkit-mask:var(--tk-i-plus) center/contain no-repeat;mask:var(--tk-i-plus) center/contain no-repeat;opacity:.8}
.tk-acc details[open]>.tk-acc-head::after,.tk-acc details[open]>summary::after{-webkit-mask-image:var(--tk-i-minus);mask-image:var(--tk-i-minus)}
.tk-acc details[open] .tk-acc-body{animation:tkfade .25s ease}
@keyframes tkfade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* formular */
.tk-form .e-form-success-message,.tk-form .e-form-error-message{border-radius:12px;font-size:1rem;padding:1rem 1.25rem}
.tk-field::placeholder{color:rgba(35,25,44,.72);opacity:1}
.tk-field{transition:border-color .2s ease,background-color .2s ease}
textarea.tk-field{resize:vertical}
.tk-submit{font-family:var(--tk-font-body);width:100%;padding:1.35rem 1.5rem;border:0;border-radius:999px;background:#D9BE60;color:#23192C;font-size:1.25rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}
.tk-submit:hover{background:#CBAE4A}
/* header */
.elementor-location-header{position:relative;z-index:50}
.tk-header-bar>.tk-logo{justify-self:center}
.tk-header-bar>.tk-logo svg{display:block}
body:has(.tk-hero) .tk-header-bar>.tk-logo{color:#fff}
body:has(.tk-hero) .tk-burger{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.tk-navlink[aria-current="page"]{background-color:rgba(255,255,255,.18)}
@media (max-width:1024px){
 .tk-header-bar{grid-template-columns:auto 1fr!important}
 .tk-header-bar>.tk-logo{order:-1;justify-self:start}
 .tk-nav{position:fixed!important;inset:0;z-index:60;flex-direction:column!important;align-items:flex-start!important;justify-content:center;gap:.15rem!important;width:100%!important;height:100dvh;padding:6rem var(--tk-gutter) 3rem!important;border-radius:0!important;border:0!important;background:#23192C!important;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
 html.tk-menu-open .tk-nav{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease}
 .tk-nav .tk-navlink{font-family:var(--tk-font-head)!important;font-size:clamp(2.1rem,8vw,3.25rem)!important;letter-spacing:-.02em;padding:.3rem 0!important;background:none!important;color:#fff!important}
 .tk-nav .tk-navlink:hover,.tk-nav .tk-navlink[aria-current="page"]{color:#D9BE60!important}
 .tk-nav .tk-menu-only{display:inline-flex!important}
 .tk-burger{position:relative;z-index:61}
 html.tk-menu-open{overflow:hidden}
 html.tk-menu-open .tk-burger{background:#D9BE60!important;color:#23192C;border-color:transparent}
 html.tk-menu-open .tk-burger svg{display:none}
 html.tk-menu-open .tk-burger::after{content:"";width:1.25rem;height:1.25rem;background:currentColor;-webkit-mask:var(--tk-i-close) center/contain no-repeat;mask:var(--tk-i-close) center/contain no-repeat}
 html.tk-menu-open .tk-header-bar>.tk-logo{position:relative;z-index:61;color:#fff}
}
@media (max-width:420px){.tk-header-end .tk-btn{padding:.7rem 1rem;font-size:.875rem}}
/* footer */
.tk-footer-logo svg{display:block}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* links inde i atomic paragraphs */
a.e-paragraph-link-base,a.e-heading-link-base{color:inherit;text-decoration:none}
.e-paragraph-base a:not(.e-paragraph-link-base){color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.e-paragraph-base a:not(.e-paragraph-link-base):hover{color:#AC8F2B}
.tk-chip>a{display:block;margin:-.6rem -1rem;padding:.6rem 1rem;border-radius:inherit}
.tk-footer-link>a,.tk-base-link>a{display:inline-block}
span.tk-checks{display:block}
.tk-form .tk-field::placeholder{color:rgba(35,25,44,.62)!important;opacity:1}
.tk-price span{font-size:.4em;letter-spacing:0;font-weight:500}
/* diskret indtoning ved scroll (kun med JS og uden reduced motion) */
html.tk-js .tk-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.tk-js .tk-reveal.is-in{opacity:1;transform:none}
.tk-card,.tk-service-card .tk-media,.tk-media{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tk-card:has(.tk-btn):hover{transform:translateY(-4px)}
.tk-service-card:hover .tk-media{transform:scale(1.04)}
.tk-service-card .tk-media{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){html.tk-js .tk-reveal{opacity:1;transform:none}}
html.tk-js .tk-reveal.is-in.tk-card:has(.tk-btn):hover{transform:translateY(-4px)}
