/* Danish Fence theme — main stylesheet */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
	--navy:#011A3C;--navy-2:#00142E;--navy-3:#0B2A5B;--red:#CC1F2A;--red-2:#B0141F;
	--bg:#F6F7F9;--line:#E3E7EB;--line-2:#CBD2DA;--text:#101828;--muted:#667085;--green:#198754;--amber:#B54708;
	--white:#fff;--radius:6px;--radius-lg:10px;--shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);--shadow-lg:0 12px 32px -12px rgba(1,26,60,.35);
	--container:1420px;--gutter:24px;--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.55;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none}a:hover{color:var(--red)}
h1,h2,h3,h4{font-weight:800;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em;color:var(--navy)}
h1{font-size:clamp(30px,3.6vw,48px)}h2{font-size:clamp(24px,2.6vw,34px)}h3{font-size:clamp(18px,1.6vw,22px)}h4{font-size:17px}
p{margin:0 0 1em}ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.df-skip{position:absolute;left:-999px;top:8px;background:var(--red);color:#fff;padding:8px 14px;z-index:1000;border-radius:4px}.df-skip:focus{left:8px;color:#fff}
.df-container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.df-container--narrow{max-width:900px}
.df-icon{width:22px;height:22px;flex:none}
.df-hide-sm,.df-hide-md{display:inline-flex}
.df-section{padding:56px 0}
.df-section__title{font-size:clamp(22px,2.2vw,30px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:28px}
.df-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}.df-section__head .df-section__title{margin:0}
.df-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--navy)}.df-link .df-icon{width:18px;height:18px}.df-link:hover{color:var(--red)}

/* Buttons */
.df-btn,.button,.wc-block-components-button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;text-decoration:none;background:var(--navy);color:#fff}
.df-btn:hover,.button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--navy-3);color:#fff}
.df-btn--red,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce #respond input#submit.alt,.woocommerce .single_add_to_cart_button,.woocommerce a.checkout-button,.woocommerce #place_order{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
.df-btn--red:hover,.woocommerce button.button.alt:hover,.woocommerce a.checkout-button:hover,.woocommerce #place_order:hover{background:var(--red-2)!important;border-color:var(--red-2)!important}
.df-btn--navy{background:var(--navy);color:#fff}
.df-btn--ghost{background:transparent;color:#fff;border-color:#fff}.df-btn--ghost:hover{background:#fff;color:var(--navy)}
.df-btn--outline{background:#fff;color:var(--navy);border-color:var(--navy)}.df-btn--outline:hover{background:var(--navy);color:#fff}
.df-btn--lg{padding:15px 28px;font-size:15px}
.df-btn--block{width:100%}
.df-btn .df-icon{width:18px;height:18px}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;cursor:not-allowed;color:#fff!important;background:var(--navy)!important;border-color:var(--navy)!important;padding:12px 22px}

/* ---------- Header ---------- */
.df-header{position:relative;z-index:60;background:#fff}
.df-topbar{background:var(--navy);color:#fff;font-size:13px;height:36px}
.df-topbar__inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.df-topbar__usp{display:flex;gap:28px}.df-topbar__usp span{display:inline-flex;align-items:center;gap:7px;opacity:.95}.df-topbar__usp .df-icon{width:16px;height:16px}
.df-topbar__nav{display:flex;align-items:center;gap:18px}.df-topbar__nav li{list-style:none;display:inline-flex}.df-topbar__nav ul{display:contents}.df-topbar__nav a{color:#fff;opacity:.9}.df-topbar__nav a:hover{opacity:1;text-decoration:underline}
.df-topbar__lang{display:inline-flex;align-items:center;gap:6px;padding-left:14px;border-left:1px solid rgba(255,255,255,.25)}
.df-flag-dk{width:18px;height:13px;background:linear-gradient(#c8102e,#c8102e);position:relative;display:inline-block;border-radius:1px}
.df-flag-dk::before,.df-flag-dk::after{content:"";position:absolute;background:#fff}.df-flag-dk::before{left:5px;top:0;width:3px;height:100%}.df-flag-dk::after{top:5px;left:0;height:3px;width:100%}
.df-header__main{border-bottom:1px solid var(--line)}
.df-header__inner{display:flex;align-items:center;gap:28px;height:92px}
.df-logo img{width:auto;height:56px}.df-logo--sm img{height:40px}.df-logo--footer img{height:52px}
.df-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:6px;color:var(--navy)}.df-burger:hover{background:var(--bg)}
.df-search{display:flex;flex:1;max-width:720px;height:48px;border:2px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:#fff}
.df-search:focus-within{border-color:var(--navy)}
.df-search input[type=search]{flex:1;border:0;padding:0 16px;min-width:0;outline:none;font-size:15px}
.df-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
.df-search__cat{border:0;border-left:1px solid var(--line);background:var(--bg);padding:0 34px 0 14px;font-size:14px;font-weight:500;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;cursor:pointer;max-width:200px}
.df-search__btn{width:54px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center}.df-search__btn:hover{background:var(--navy-3)}
.df-header__actions{display:flex;align-items:center;gap:26px;margin-left:auto}
.df-hdr-action{display:flex;align-items:center;gap:10px;color:var(--navy)}
.df-hdr-action__ico{position:relative;display:flex}.df-hdr-action__ico .df-icon{width:28px;height:28px}
.df-hdr-action__txt{display:flex;flex-direction:column;line-height:1.2;font-size:12px;color:var(--muted)}.df-hdr-action__txt strong{font-size:14px;color:var(--navy)}
.df-cart-count{position:absolute;top:-7px;right:-9px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.df-cart-total{font-weight:600;color:var(--text)}
/* nav */
.df-nav{background:#fff;border-bottom:1px solid var(--line);position:relative}
.df-nav__inner{display:flex;align-items:center;gap:8px;height:58px}
.df-nav__cats{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;background:var(--navy);color:#fff;border-radius:var(--radius);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-right:18px}
.df-nav__cats:hover,.df-nav__cats[aria-expanded=true]{background:var(--navy-3)}
.df-nav__cats .df-icon--chevron{width:16px;height:16px;transition:transform .2s}.df-nav__cats[aria-expanded=true] .df-icon--chevron{transform:rotate(180deg)}
.df-nav__menu{display:flex;list-style:none;gap:4px;flex:1}
.df-nav__menu>li{position:relative}
.df-nav__menu>li>a{display:flex;align-items:center;height:58px;padding:0 14px;font-weight:600;font-size:15px;color:var(--text);border-bottom:3px solid transparent}
.df-nav__menu>li>a:hover,.df-nav__menu>li.current-menu-item>a,.df-nav__menu>li.current-menu-ancestor>a{color:var(--navy);border-bottom-color:var(--red)}
.df-nav__menu>li.df-nav__tilbud>a,.df-nav__menu>li.menu-item-tilbud>a{color:var(--red)}
.df-nav__menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);list-style:none;padding:8px 0;z-index:50;border-radius:0 0 var(--radius) var(--radius)}
.df-nav__menu>li:hover>.sub-menu,.df-nav__menu>li:focus-within>.sub-menu{display:block}
.df-nav__menu .sub-menu a{display:block;padding:9px 18px;font-size:14px;color:var(--text)}.df-nav__menu .sub-menu a:hover{background:var(--bg);color:var(--navy)}
.df-nav__cta{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius);background:var(--red);color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.df-nav__cta:hover{background:var(--red-2);color:#fff}.df-nav__cta .df-icon{width:18px;height:18px}
/* mega */
.df-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:70}
.df-mega__inner{max-width:var(--container);margin:0 auto;padding:28px var(--gutter) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px}
.df-mega__head{font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.06em;color:var(--navy);display:block;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--red)}
.df-mega__col ul{list-style:none}.df-mega__col li a{display:block;padding:5px 0;font-size:14px;color:var(--text)}.df-mega__col li a:hover{color:var(--red)}
.df-mega__desc{font-size:13px;color:var(--muted)}
.df-mega__col--cta{background:var(--bg);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:14px;justify-content:center;align-items:flex-start}
.df-mega__all{font-weight:600;display:inline-flex;gap:6px;align-items:center}.df-mega__all .df-icon{width:18px;height:18px}
/* mobile nav */
.df-mobile-nav{position:fixed;top:0;left:0;bottom:0;width:min(360px,90vw);background:#fff;z-index:200;overflow-y:auto;padding:16px 20px 40px;box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .25s}
.df-mobile-nav.is-open{transform:none}
.df-mobile-nav__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.df-mobile-nav__close{width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.df-search--mobile{margin-bottom:14px;max-width:none}
.df-mobile-nav__cats{margin:22px 0}.df-mobile-nav__cats strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.df-mobile-nav__cats ul,.df-mobile-nav__menu{list-style:none}
.df-mobile-nav__cats a,.df-mobile-nav__menu a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--text)}
.df-mobile-nav__cats a .df-icon{width:18px;height:18px;color:var(--muted)}
.df-mobile-nav__links{margin-top:22px;display:flex;flex-direction:column;gap:6px}.df-mobile-nav__links a{display:flex;gap:10px;align-items:center;padding:10px 0;color:var(--navy);font-weight:600}
.df-overlay{position:fixed;inset:0;background:rgba(1,26,60,.55);z-index:150}
.df-overlay[hidden]{display:none}
body.df-nav-open{overflow:hidden}

/* ---------- Hero ---------- */
.df-hero{position:relative;min-height:470px;background:var(--navy-2) var(--hero) center/cover no-repeat;color:#fff;display:flex;align-items:center}
.df-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,26,60,.85) 0%,rgba(1,26,60,.55) 45%,rgba(1,26,60,.25) 100%)}
.df-hero__inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:56px;width:100%}
.df-hero__text h1{color:#fff;font-size:clamp(38px,5vw,64px);text-transform:uppercase;font-weight:800;letter-spacing:-.02em;margin-bottom:18px}
.df-hero__text p{font-size:clamp(17px,1.5vw,21px);max-width:520px;margin-bottom:28px;opacity:.95}
.df-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.df-hero__usp{list-style:none;background:rgba(1,26,60,.78);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:22px 26px;display:grid;gap:18px;justify-self:end;max-width:420px;width:100%}
.df-hero__usp li{display:flex;gap:14px;align-items:flex-start}.df-hero__usp .df-icon{width:26px;height:26px;margin-top:2px}
.df-hero__usp strong{display:block;font-size:15px}.df-hero__usp span{font-size:13.5px;opacity:.85}

/* Hero slider */
.df-hero--slider{display:block;min-height:0;background:var(--navy-2);overflow:hidden}
.df-hero--slider::before{display:none}
.df-hero__track{position:relative}
.df-hero__slide{position:absolute;inset:0;display:flex;align-items:center;min-height:470px;background:var(--navy-2) var(--hero) var(--hero-pos,center)/cover no-repeat;opacity:0;visibility:hidden;z-index:0;transition:opacity .7s ease,visibility 0s linear .7s}
.df-hero__slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,26,60,.88) 0%,rgba(1,26,60,.6) 45%,rgba(1,26,60,.3) 100%)}
.df-hero__slide.is-active{position:relative;opacity:1;visibility:visible;z-index:1;transition:opacity .7s ease}
.df-hero__title{color:#fff;font-size:clamp(38px,5vw,64px);text-transform:uppercase;font-weight:800;letter-spacing:-.02em;margin-bottom:18px;line-height:1.05}
.df-hero__panel{justify-self:end;max-width:420px;width:100%}
.df-hero__panel .df-hero__usp{max-width:none}
.df-hero__panel-title{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;opacity:.8;margin:0 0 10px 2px}
.df-hero__ctrl{position:absolute;left:0;right:0;bottom:16px;z-index:3;display:flex;align-items:center;justify-content:center;gap:16px}
.df-hero__nav{width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(1,26,60,.5);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.df-hero__nav:hover{background:rgba(1,26,60,.85);border-color:#fff}
.df-hero__nav .df-icon{width:20px;height:20px}
.df-hero__nav--prev .df-icon{transform:rotate(180deg)}
.df-hero__dots{display:flex;gap:9px;justify-content:center}
.df-hero__dot{width:30px;height:5px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.4);cursor:pointer;transition:background .2s,width .2s}
.df-hero__dot:hover{background:rgba(255,255,255,.7)}
.df-hero__dot.is-active{background:var(--red);width:44px}
.df-hero__dot span{display:block}
@media (prefers-reduced-motion:reduce){.df-hero__slide{transition:none}}

/* USP bar */
.df-uspbar{border-bottom:1px solid var(--line);background:#fff}
.df-uspbar__inner{display:grid;grid-template-columns:repeat(5,1fr);}
.df-uspbar__item{display:flex;gap:14px;align-items:flex-start;padding:22px 18px;border-left:1px solid var(--line)}.df-uspbar__item:first-child{border-left:0}
.df-uspbar__item .df-icon{width:34px;height:34px;color:var(--navy);stroke-width:1.4}
.df-uspbar__item strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}.df-uspbar__item span{font-size:13px;color:var(--muted)}

/* Category cards */
.df-cats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.df-catcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;color:var(--text);transition:box-shadow .2s,transform .2s}
.df-catcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);color:var(--text)}
.df-catcard__media{aspect-ratio:4/3;overflow:hidden;background:var(--bg)}.df-catcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.df-catcard:hover img{transform:scale(1.04)}
.df-catcard__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.df-catcard__body strong{text-transform:uppercase;font-size:14px;letter-spacing:.04em;color:var(--navy)}.df-catcard__body span{font-size:13px;color:var(--muted);line-height:1.45}
.df-catcard__body em{font-style:normal;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--red);display:inline-flex;gap:4px;align-items:center;margin-top:4px}.df-catcard__body em .df-icon{width:14px;height:14px}

/* Calculator teaser */
.df-calcteaser{background:var(--navy);color:#fff;padding:64px 0}
.df-calcteaser__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.df-calcteaser__text h2{color:#fff;font-size:clamp(26px,3vw,40px);text-transform:uppercase}
.df-calcteaser__text p{font-size:17px;opacity:.92;max-width:560px;margin-bottom:26px}
.df-checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:26px}.df-checks li{display:flex;gap:8px;align-items:center;font-weight:500}.df-checks .df-icon{width:18px;height:18px;color:#7ee0a3}
.df-calcmock{background:#fff;color:var(--text);border-radius:var(--radius-lg);padding:22px 24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);max-width:460px;margin:0 auto}
.df-calcmock__head{display:flex;gap:6px;margin-bottom:18px}.df-calcmock__head span{width:10px;height:10px;border-radius:50%;background:var(--line-2)}.df-calcmock__head span:first-child{background:var(--red)}
.df-calcmock__row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;margin-bottom:10px;font-size:14px}.df-calcmock__row label{color:var(--muted)}
.df-calcmock__field{border:1px solid var(--line-2);border-radius:4px;padding:8px 12px;font-weight:600}
.df-calcmock__swatches{display:flex;gap:8px}.df-calcmock__swatches i{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-2)}
.df-calcmock__result{display:grid;grid-template-columns:1fr auto;gap:6px 16px;font-size:14px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2)}.df-calcmock__result b{text-align:right}
.df-calcmock__total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;background:var(--bg);border-radius:6px;font-weight:700}.df-calcmock__total b{font-size:20px;color:var(--navy)}

/* Montering section */
.df-montering{background:var(--bg)}
.df-montering__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.df-montering__media img{border-radius:var(--radius-lg);width:100%;aspect-ratio:5/4;object-fit:cover;box-shadow:var(--shadow-lg)}
.df-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.df-montering__text h2{font-size:clamp(24px,2.6vw,34px)}
.df-montering__text p{font-size:16.5px;color:var(--text);max-width:560px}
.df-checks--dark{margin:18px 0 24px}.df-checks--dark .df-icon{color:var(--green)}
.df-single__montering{font-size:13.5px;color:var(--muted);margin:-6px 0 16px;display:flex;gap:8px;align-items:center}.df-single__montering .df-icon{width:18px;height:18px;color:var(--navy)}.df-single__montering a{font-weight:600}
.df-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:1.4em 0}.df-gallery img{border-radius:var(--radius-lg);aspect-ratio:5/4;object-fit:cover;width:100%;margin:0}
.df-gallery--2{grid-template-columns:1fr 1fr;max-width:640px}
@media (max-width:640px){.df-gallery--2{max-width:100%}}
.df-gallery--kontakt{max-width:420px}
@media (max-width:640px){.df-gallery--kontakt{max-width:100%}}
.df-steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:1.4em 0}.df-steps li{counter-increment:s;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;font-size:14px;color:var(--muted);margin:0}.df-steps li::before{content:counter(s);display:inline-flex;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-weight:800;margin-bottom:10px}.df-steps strong{display:block;margin-bottom:4px;color:var(--navy);font-size:15px}
.df-content--wide .df-steps,.df-content--wide .df-gallery{max-width:none}
@media (max-width:1024px){.df-montering__inner{grid-template-columns:1fr}.df-steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.df-gallery{grid-template-columns:1fr 1fr}.df-steps{grid-template-columns:1fr}}

/* Product grid & card */
ul.products,.woocommerce ul.products,.woocommerce-page ul.products{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{display:none;content:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce ul.products[class*=columns-] li.product,.woocommerce-page ul.products[class*=columns-] li.product{width:100%;float:none;margin:0;clear:none}
.woocommerce ul.products.columns-4,ul.products.columns-4{grid-template-columns:repeat(4,1fr)}.woocommerce ul.products.columns-2,ul.products.columns-2{grid-template-columns:repeat(2,1fr)}
.df-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.df-card:hover{box-shadow:var(--shadow-lg)}
.df-card__link{display:block}
.df-card__media{position:relative;aspect-ratio:4/3;background:var(--bg);overflow:hidden}
.df-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.df-card:hover .df-card__media img{transform:scale(1.03)}
.df-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px}
.df-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:4px;color:#fff;background:var(--navy)}
.df-badge--tilbud{background:var(--red)}.df-badge--bestseller{background:#1f2937}.df-badge--udsolgt{background:var(--muted)}
.df-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.woocommerce-loop-product__title{font-size:16px;font-weight:700;margin:0;color:var(--navy);line-height:1.3}
.df-card__specs{list-style:none;font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.df-card__specs span{color:var(--text);font-weight:500}
.df-stock{font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}.df-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}.df-stock.is-out{color:var(--muted)}.df-stock.is-out::before{background:var(--muted)}
.df-card .price,.df-card__foot .price{font-size:19px;font-weight:800;color:var(--navy);margin:0}.price del{color:var(--muted);font-weight:500;font-size:.85em;margin-right:6px}.price ins{text-decoration:none;color:var(--red)}
.df-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:6px}
.df-card__foot .button{padding:10px 14px;font-size:12px}
.df-card__foot .added_to_cart{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--green)}
.woocommerce .df-card a.button.loading::after{display:none}

/* Shop layout */
.df-woo .df-container{padding-top:14px;padding-bottom:64px}
.df-breadcrumbs{font-size:13px;color:var(--muted);margin:6px 0 18px;display:flex;flex-wrap:wrap;gap:6px}.df-breadcrumbs a{color:var(--muted)}.df-breadcrumbs a:hover{color:var(--red)}.df-breadcrumbs__sep{margin:0 2px}.df-breadcrumbs .breadcrumb_last{color:var(--text)}
.df-shop{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.df-shop__content{min-width:0} /* grid item must be allowed to shrink – otherwise wide content (product grid, tables) causes horizontal page scroll on phones */
.df-shop__sidebar{position:sticky;top:16px}
.df-shop__sidebar-head{display:none}
.df-widget{border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;margin-bottom:16px;background:#fff}
.df-widget__title,.df-widget .widget-title,.df-widget .widgettitle{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin:0 0 12px;font-weight:800}
.df-widget ul{list-style:none}.df-widget li{padding:5px 0;font-size:14px}.df-widget li a{color:var(--text)}.df-widget li a:hover{color:var(--red)}
.df-widget li.chosen a,.df-widget li.chosen{font-weight:700;color:var(--navy)}
.df-widget li.chosen a::before{content:"✕";display:inline-block;margin-right:6px;color:var(--red);font-size:11px}
.df-widget .count{display:none}
.woocommerce-loop-category__title mark.count,mark.count{display:none}
.df-catnav li.is-active>a{font-weight:700;color:var(--red)}.df-catnav ul{padding-left:14px;margin-top:4px;border-left:2px solid var(--line)}
.df-widget .woocommerce-widget-layered-nav-list li a::after{content:""}
.price_slider_wrapper{padding-top:8px}.price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:13px}.price_slider_amount .button{padding:8px 12px;font-size:11px}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background:var(--navy)}.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--line)}
.df-shop__header{margin-bottom:18px}.df-shop__title{text-transform:uppercase;font-size:clamp(24px,2.6vw,32px);margin-bottom:6px}.df-shop__desc{color:var(--muted);max-width:800px;font-size:15px}
.df-shop__toolbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-wrap:wrap}
.df-filters-toggle{display:none;padding:8px 12px;font-size:12px}
.woocommerce-result-count{margin:0;font-size:13px;color:var(--muted);flex:1}
.woocommerce-ordering{margin:0}.woocommerce-ordering select{border:1px solid var(--line-2);border-radius:4px;padding:8px 32px 8px 10px;font-size:13px;background:#fff;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:12px}
.woocommerce-pagination,.df-pagination{margin-top:32px;text-align:center}
.woocommerce-pagination ul.page-numbers,.df-pagination .nav-links{display:inline-flex;gap:6px;list-style:none;border:0}
.woocommerce-pagination ul.page-numbers li{border:0}
.woocommerce-pagination .page-numbers,.df-pagination .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;font-weight:600;color:var(--navy);padding:0 8px}
.woocommerce-pagination .page-numbers.current,.df-pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top:3px solid var(--navy);background:var(--bg);border-radius:var(--radius);padding:14px 18px 14px 48px;margin-bottom:20px;font-size:14px;position:relative;list-style:none}
.woocommerce-message{border-top-color:var(--green)}.woocommerce-error{border-top-color:var(--red)}
.woocommerce-message::before{color:var(--green)}.woocommerce-info::before{color:var(--navy)}
.woocommerce-message .button{float:right;margin-left:12px;padding:8px 12px;font-size:12px}
.woocommerce-notices-wrapper:empty{display:none}

/* Single product */
.single-product .df-woo .df-container{padding-top:14px}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.woocommerce div.product>*{grid-column:1/-1;min-width:0}
.woocommerce div.product .woocommerce-product-gallery{grid-column:1;width:100%!important;max-width:100%;min-width:0;float:none!important;margin:0;overflow:hidden}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport{max-width:100%}
.woocommerce div.product .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff}
.woocommerce div.product .summary{grid-column:2;width:100%!important;min-width:0;float:none!important;margin:0}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg)}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;margin-top:10px;list-style:none;flex-wrap:wrap}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{width:calc(20% - 8px);margin:0;float:none}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{border:2px solid var(--line);border-radius:6px;opacity:1}.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--navy)}
.woocommerce div.product .product_title{font-size:clamp(26px,2.6vw,34px);margin-bottom:8px}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:8px}
.df-single__meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:14px}.df-single__meta a{color:var(--navy)}
.woocommerce div.product p.price{font-size:30px;font-weight:800;color:var(--navy);margin-bottom:4px}
.woocommerce div.product p.price small,.woocommerce div.product .price .woocommerce-price-suffix{font-size:13px;color:var(--muted);font-weight:500}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:15.5px;color:var(--text);margin:10px 0 18px}
.woocommerce div.product form.cart{margin:0 0 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{margin-bottom:14px;width:100%}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:0;text-align:left;line-height:1.4}
.woocommerce div.product form.cart .variations th.label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);font-weight:800;margin:12px 0 6px}
.woocommerce div.product form.cart .variations select{width:100%;max-width:420px;border:1px solid var(--line-2);border-radius:4px;padding:10px 12px;font-size:14px;background:#fff}
.woocommerce div.product form.cart .reset_variations{font-size:12px;color:var(--muted)}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.woocommerce div.product form.cart .woocommerce-variation-price .price{font-size:24px}
.woocommerce .quantity{display:inline-flex;align-items:stretch;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;height:50px}
.woocommerce .quantity .qty{width:58px;border:0;text-align:center;font-weight:700;font-size:15px;-moz-appearance:textfield}
.woocommerce .quantity .qty::-webkit-outer-spin-button,.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none}
.df-qty{width:42px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--bg);color:var(--navy)}.df-qty:hover{background:var(--line)}
.woocommerce div.product form.cart .button{height:50px;padding:0 28px;flex:1;min-width:200px}
.df-single__stock{font-size:14px;padding:10px 14px;border-radius:var(--radius);background:#ecf8f0;color:#14532d;margin-bottom:14px;display:flex;align-items:center;gap:8px}.df-single__stock::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green)}
.df-single__stock.is-out{background:var(--bg);color:var(--muted)}.df-single__stock.is-out::before{background:var(--muted)}
.df-single__calc{margin:4px 0 18px}
.df-single__specs{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 16px;margin:0 0 18px;font-size:14px}
.df-single__specs>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.df-single__specs>div:nth-last-child(-n+2){border-bottom:0}
.df-single__specs dt{color:var(--muted);margin:0}.df-single__specs dd{margin:0;font-weight:600;text-align:right}
.df-single__trust{list-style:none;display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.df-single__trust li{display:flex;gap:6px;align-items:center}.df-single__trust .df-icon{width:17px;height:17px;color:var(--navy)}
.woocommerce div.product .woocommerce-tabs{margin-top:40px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;border-bottom:2px solid var(--line);display:flex;gap:6px;overflow-x:auto}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:none;border-radius:0;margin:0;padding:0;white-space:nowrap}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 18px;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.05em;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy);border-bottom-color:var(--red)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:900px}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{font-size:20px}
.woocommerce table.shop_attributes{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.woocommerce table.shop_attributes th{width:220px;background:var(--bg);font-weight:600;padding:10px 14px}.woocommerce table.shop_attributes td{padding:10px 14px;font-style:normal}
.woocommerce table.shop_attributes tr:nth-child(even) td,.woocommerce table.shop_attributes tr:nth-child(even) th{background:transparent}
.df-related{margin-top:56px}

/* Cart */
.woocommerce-cart .df-woo h1,.woocommerce-checkout .df-woo h1,.woocommerce-account .df-woo h1{text-transform:uppercase;margin-bottom:20px}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.woocommerce-cart .woocommerce>*{grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1}.woocommerce-cart .cart-collaterals{grid-column:2;width:100%!important;position:sticky;top:16px}
/* Project summary box from the calculator (rendered in the cart) */
.dfc-project{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:var(--radius);padding:14px 18px;margin-bottom:20px}
.dfc-project strong{display:block;color:var(--navy)}
.dfc-project span{font-size:13px;color:var(--muted)}
.dfc-project .df-btn{flex:none}
.woocommerce-cart .cross-sells{grid-column:1/-1;width:100%!important;float:none!important;margin-top:48px}
.woocommerce-cart .cross-sells h2{font-size:clamp(20px,2vw,26px)}
.woocommerce-cart .cart_totals{width:100%!important;float:none!important;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}
.woocommerce-cart .cart_totals h2{font-size:18px;text-transform:uppercase}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius-lg);border-collapse:separate;font-size:14px}
.woocommerce table.shop_table th{background:var(--bg);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:12px 14px}
.woocommerce table.shop_table td{padding:14px;border-top:1px solid var(--line);vertical-align:middle}
.woocommerce table.shop_table td.product-thumbnail img{width:72px;border:1px solid var(--line);border-radius:6px}
.woocommerce table.shop_table td.product-name a{font-weight:700;color:var(--navy)}.df-sku{color:var(--muted)}
.woocommerce table.shop_table td.product-subtotal{font-weight:700;color:var(--navy)}
.woocommerce a.remove{color:var(--red)!important;font-size:22px;width:24px;height:24px;line-height:22px}.woocommerce a.remove:hover{background:var(--red);color:#fff!important}
.woocommerce table.shop_table td.actions{background:var(--bg)}.woocommerce table.shop_table td.actions .coupon{display:flex;gap:8px;float:left}.woocommerce table.shop_table td.actions .coupon .input-text{width:180px!important;border:1px solid var(--line-2);border-radius:4px;padding:9px 10px!important}
.woocommerce .cart_totals table.shop_table{border:0}.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;text-transform:none;letter-spacing:0;font-size:14px;color:var(--text)}
.woocommerce .cart_totals .order-total th,.woocommerce .cart_totals .order-total td{font-size:18px;font-weight:800;color:var(--navy);border:0;padding-top:14px}
.woocommerce .cart_totals .woocommerce-shipping-destination{font-size:12px;color:var(--muted)}
.woocommerce .cart_totals .wc-proceed-to-checkout{padding:16px 0 0}.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:15px;padding:15px}
.woocommerce-cart .df-continue{display:block;text-align:center;margin-top:12px;font-size:13px}
.cart-empty.woocommerce-info{font-size:18px}.return-to-shop .button{margin-top:8px}

/* Checkout */
.df-header--checkout .df-header__inner{height:80px;justify-content:space-between}
.df-checkout-steps{display:flex;gap:10px;font-size:13px;font-weight:600;color:var(--muted)}.df-checkout-steps span{display:inline-flex;align-items:center;gap:6px}.df-checkout-steps span::after{content:"›";margin-left:10px;color:var(--line-2)}.df-checkout-steps span:last-child::after{display:none}
.df-checkout-steps .is-active{color:var(--navy)}.df-checkout-steps .is-done{color:var(--green)}
.df-checkout-secure{font-size:13px;font-weight:600;display:inline-flex;gap:6px;align-items:center;color:var(--green)}.df-checkout-secure .df-icon{width:18px;height:18px}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1fr 420px;grid-template-rows:auto 1fr;gap:0 40px;align-items:start}
.woocommerce-checkout form.checkout>*{grid-column:1/-1}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1/3;width:100%}
.woocommerce-checkout form.checkout #customer_details .col-1,.woocommerce-checkout form.checkout #customer_details .col-2{width:100%;float:none}
.woocommerce-checkout form.checkout #order_review_heading,.woocommerce-checkout form.checkout #order_review{grid-column:2}
.woocommerce-checkout form.checkout #order_review_heading{grid-row:1;margin:0 0 12px;font-size:18px;text-transform:uppercase}
.woocommerce-checkout form.checkout #order_review{grid-row:2;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;position:sticky;top:16px;background:#fff}
.woocommerce-checkout form.checkout h3{font-size:16px;text-transform:uppercase;letter-spacing:.04em;margin:8px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.woocommerce form .form-row{margin-bottom:12px;padding:0}
.woocommerce form .form-row label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{border:1px solid var(--line-2);border-radius:4px;padding:11px 12px;font-size:14px;height:auto;background:#fff;line-height:1.3}
.select2-container--default .select2-selection--single{height:42px;display:flex;align-items:center}.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--red)}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table{border:0;font-size:14px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{background:none!important;border:0!important;border-bottom:1px solid var(--line)!important;padding:10px 0!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:14px!important}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:18px!important;font-weight:800;color:var(--navy)!important;border-bottom:0!important;padding-top:14px!important}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--muted)}
#payment.woocommerce-checkout-payment{background:var(--bg);border-radius:var(--radius);margin-top:16px}
#payment ul.payment_methods{padding:14px;border-bottom:1px solid var(--line)}#payment ul.payment_methods li{font-size:14px}
#payment div.payment_box{background:#fff;font-size:13px;border:1px solid var(--line)}#payment div.payment_box::before{border-bottom-color:var(--line)}
#payment .place-order{padding:14px}#payment #place_order{width:100%;font-size:15px;padding:15px}
.woocommerce-privacy-policy-text{font-size:12px;color:var(--muted)}
.woocommerce-terms-and-conditions-wrapper{font-size:13px}
.woocommerce-order .woocommerce-thankyou-order-received{font-size:20px;font-weight:700;color:var(--green);padding:18px;background:#ecf8f0;border-radius:var(--radius)}
.woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:20px 0}
.woocommerce ul.order_details li{font-size:12px;border-right:1px dashed var(--line-2);padding-right:20px;margin-right:20px}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation{width:240px;float:none}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
.woocommerce-account .woocommerce>*{grid-column:1/-1}.woocommerce-account .woocommerce-MyAccount-navigation{grid-column:1}.woocommerce-account .woocommerce-MyAccount-content{grid-column:2;width:100%;float:none}
.woocommerce-MyAccount-navigation ul{list-style:none;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;border-bottom:1px solid var(--line);font-weight:600;color:var(--text)}.woocommerce-MyAccount-navigation li.is-active a{background:var(--navy);color:#fff}
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}
.woocommerce-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:32px}.woocommerce-account #customer_login .col-1,.woocommerce-account #customer_login .col-2{width:100%;float:none}
.woocommerce form.login .button,.woocommerce form.register .button{width:100%}

/* Trust bar + footer */
.df-trustbar{background:var(--navy);color:#fff}
.df-trustbar__inner{display:grid;grid-template-columns:repeat(4,1fr)}
.df-trustbar__item{display:flex;gap:14px;align-items:flex-start;padding:26px 20px;border-left:1px solid rgba(255,255,255,.1)}.df-trustbar__item:first-child{border-left:0}
.df-trustbar__item .df-icon{width:32px;height:32px;stroke-width:1.4}.df-trustbar__item strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.df-trustbar__item span{font-size:13px;opacity:.8}
.df-footer{background:var(--navy-2);color:rgba(255,255,255,.85);font-size:14px}
.df-footer a{color:rgba(255,255,255,.85)}.df-footer a:hover{color:#fff;text-decoration:underline}
.df-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:36px;padding:54px var(--gutter) 44px}
.df-footer__col h3{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.df-footer__col ul{list-style:none}.df-footer__col li{padding:4px 0}
.df-footer__col--brand p{margin:16px 0;max-width:380px;line-height:1.6}
.df-footer__contact{list-style:none;display:flex;flex-direction:column;gap:8px}.df-footer__contact li{display:flex;gap:8px;align-items:center}.df-footer__contact .df-icon{width:18px;height:18px}
.df-footer address{font-style:normal;line-height:1.7}
.df-footer__pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.df-footer__pay span{font-size:11px;font-weight:700;padding:5px 8px;border:1px solid rgba(255,255,255,.3);border-radius:4px;letter-spacing:.03em}
.df-footer__bottom{border-top:1px solid rgba(255,255,255,.1);font-size:13px;padding:16px 0}
.df-footer__bottom-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.df-cookie{position:fixed;left:16px;right:16px;bottom:16px;margin:0 auto;max-width:640px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:16px 18px;display:flex;gap:16px;align-items:center;z-index:300;font-size:13px}
.df-cookie[hidden]{display:none}.df-cookie p{margin:0;flex:1}.df-cookie .df-btn{padding:8px 16px;font-size:12px}

/* Page / posts */
.df-page .df-container{padding-top:14px;padding-bottom:64px}
.df-page__title{text-transform:uppercase;margin-bottom:20px}
.df-page__head{margin-bottom:28px}.df-page__lead{font-size:17px;color:var(--muted);max-width:800px}
.df-content{font-size:16.5px;line-height:1.7;max-width:860px}.df-content--wide{max-width:none}.df-content--wide>h2,.df-content--wide>ol,.df-content--wide>p{max-width:860px}
.df-content h2{font-size:26px;margin-top:1.6em}.df-content h3{font-size:20px;margin-top:1.4em}
.df-content ul,.df-content ol{padding-left:1.4em;margin-bottom:1.2em}.df-content li{margin-bottom:.35em}
.df-content table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:15px}.df-content th,.df-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}.df-content th{background:var(--bg)}
.df-content img{border-radius:var(--radius-lg)}
.df-content .wp-block-button__link{background:var(--red);border-radius:var(--radius);font-weight:700;text-transform:uppercase;font-size:14px}
.df-content blockquote{border-left:4px solid var(--red);margin:1.4em 0;padding:4px 0 4px 18px;color:var(--muted);font-style:italic}
.df-content .df-infobox{background:var(--bg);border-left:4px solid var(--navy);padding:16px 20px;border-radius:var(--radius);margin:1.4em 0}
.df-page--full .df-article>*{margin-left:auto;margin-right:auto}
.df-post__head{margin-bottom:24px}.df-post__cat{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--red)}.df-post__meta{font-size:13px;color:var(--muted)}
.df-post__thumb{margin:0 0 28px}.df-post__thumb img{border-radius:var(--radius-lg);width:100%}
.df-post__cta{margin:48px 0;background:var(--navy);color:#fff;border-radius:var(--radius-lg);padding:28px 30px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.df-post__cta h2{color:#fff;font-size:22px;margin:0 0 4px}.df-post__cta p{margin:0;opacity:.9}.df-post__cta>div,.df-post__cta h2{flex:1 1 300px}
.df-guide__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.df-postcard{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.df-postcard__media{display:block;aspect-ratio:4/3;background:var(--bg);overflow:hidden}.df-postcard__media img{width:100%;height:100%;object-fit:cover}
.df-postcard__body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}.df-postcard__body h2,.df-postcard__body h3{font-size:18px;margin:0}.df-postcard__body p{color:var(--muted);font-size:14px;margin:0;flex:1}
.df-insp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.df-inspcard{position:relative;display:block;aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;background:var(--navy);color:#fff}
.df-inspcard img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.df-inspcard:hover img{transform:scale(1.05)}
.df-inspcard span{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;background:linear-gradient(transparent,rgba(1,26,60,.9));display:flex;flex-direction:column}.df-inspcard strong{font-size:18px}.df-inspcard em{font-style:normal;font-size:13px;opacity:.85}.df-inspcard:hover{color:#fff}
.df-contactcta{background:var(--bg)}.df-contactcta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.df-contactcta h2{font-size:clamp(22px,2.4vw,30px)}.df-contactcta p{max-width:620px;margin:0;color:var(--muted)}.df-contactcta__btns{display:flex;gap:12px;flex-wrap:wrap}
.df-404__inner{text-align:center;padding:80px 0}.df-404__code{font-size:90px;font-weight:800;color:var(--line-2);line-height:1;margin:0}.df-404__links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px}.df-search--inline{max-width:520px;margin:20px auto}

/* Forms (CF7 / contact) */
.df-form input[type=text],.df-form input[type=email],.df-form input[type=tel],.df-form input[type=number],.df-form select,.df-form textarea,.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 select,.wpcf7 textarea{width:100%;border:1px solid var(--line-2);border-radius:4px;padding:11px 12px;font-size:14px;background:#fff}
.wpcf7 input[type=submit]{background:var(--red);color:#fff;border:0;border-radius:var(--radius);padding:13px 24px;font-weight:700;text-transform:uppercase;font-size:14px;cursor:pointer}
.df-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.df-form label{font-size:13px;font-weight:600;display:block;margin-bottom:4px}
.df-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.df-contact__box{border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
	.df-cats__grid{grid-template-columns:repeat(3,1fr)}
	.df-hero__inner{grid-template-columns:1fr;}
	.df-hero__usp{justify-self:start;max-width:none;grid-template-columns:1fr 1fr}
	.df-hero__panel{justify-self:start;max-width:none}
	.df-footer__grid{grid-template-columns:1.5fr 1fr 1fr 1fr}
	.df-footer__col:last-child{grid-column:1/-1}
	ul.products.columns-4{grid-template-columns:repeat(3,1fr)}
	.df-hide-md{display:none}
}
@media (max-width:1024px){
	.df-header__inner{gap:16px;height:76px}
	.df-logo img{height:44px}
	.df-search{display:none}
	.df-burger{display:flex}
	.df-nav{display:none}
	.df-hdr-action__txt{display:none}
	.df-header__actions{gap:18px}
	.df-uspbar__inner{grid-template-columns:repeat(3,1fr)}.df-uspbar__item:nth-child(4){border-left:0}
	.df-calcteaser__inner{grid-template-columns:1fr}.df-calcteaser__mock{order:2}
	.df-shop{grid-template-columns:1fr}
	.df-shop__sidebar{position:fixed;top:0;left:0;bottom:0;width:min(340px,90vw);background:#fff;z-index:200;overflow-y:auto;padding:16px;transform:translateX(-100%);transition:transform .25s}
	.df-shop__sidebar.is-open{transform:none}
	.df-shop__sidebar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
	.df-filters-toggle{display:inline-flex}
	.woocommerce div.product{grid-template-columns:1fr;gap:24px}
	.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary{grid-column:1}
	.woocommerce-cart .woocommerce,.woocommerce-checkout form.checkout,.woocommerce-account .woocommerce{grid-template-columns:1fr}
	.woocommerce-cart .cart-collaterals,.woocommerce-checkout form.checkout #order_review,.woocommerce-checkout form.checkout #order_review_heading,.woocommerce-account .woocommerce-MyAccount-content{grid-column:1;position:static}
	.df-trustbar__inner{grid-template-columns:repeat(2,1fr)}.df-trustbar__item:nth-child(3){border-left:0}
	.df-guide__grid,.df-insp__grid{grid-template-columns:repeat(2,1fr)}
	.df-checkout-steps{display:none}
}
@media (max-width:768px){
	:root{--gutter:16px}
	.df-topbar{font-size:12px}.df-topbar__usp span:not(:first-child){display:none}.df-topbar__usp span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72vw}.df-topbar__nav li,.df-topbar__nav a{display:none}.df-topbar__lang{border:0;padding:0}
	.df-hero{min-height:0}.df-hero__inner{padding-top:40px;padding-bottom:40px;gap:24px}
	.df-hero__slide{min-height:0}
	.df-hero--slider .df-hero__inner{padding-bottom:70px}
	.df-hero__usp{grid-template-columns:1fr;padding:16px}
	.df-uspbar__inner{grid-template-columns:1fr 1fr}.df-uspbar__item{border-left:0;border-top:1px solid var(--line);padding:14px 8px}.df-uspbar__item .df-icon{width:26px;height:26px}
	.df-section{padding:36px 0}
	.df-cats__grid{grid-template-columns:repeat(2,1fr);gap:12px}
	ul.products,ul.products.columns-4,ul.products.columns-3{grid-template-columns:repeat(2,1fr);gap:12px}
	.df-card__body{padding:10px 12px 12px}.woocommerce-loop-product__title{font-size:14px}.df-card .price{font-size:16px}
	.df-card__foot .button{width:100%}
	.df-checks{grid-template-columns:1fr}
	.df-footer__grid{grid-template-columns:1fr 1fr;gap:26px;padding-top:36px}.df-footer__col--brand{grid-column:1/-1}
	.df-guide__grid,.df-insp__grid{grid-template-columns:1fr}
	.df-single__specs{grid-template-columns:1fr}.df-single__specs>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.df-single__specs>div:last-child{border-bottom:0}
	.woocommerce table.shop_table_responsive tr td::before{font-weight:600;color:var(--muted)}
	.woocommerce table.shop_table td.actions .coupon{float:none;margin-bottom:10px}
	.woocommerce table.shop_table td.actions .coupon .input-text{width:100%!important}
	.df-section__head{flex-direction:column;align-items:flex-start;gap:8px}
	.df-cookie{flex-direction:column;align-items:stretch}
	.df-account #customer_login{grid-template-columns:1fr}
	.df-contact__grid,.df-form__grid{grid-template-columns:1fr}
}
@media (max-width:480px){
	ul.products,ul.products.columns-4,ul.products.columns-3{grid-template-columns:1fr}
	.df-hero__text h1,.df-hero__title{font-size:34px}
	.df-hero__cta .df-btn{width:100%}
	.df-footer__grid{grid-template-columns:1fr}
}
@media print{.df-header,.df-footer,.df-trustbar,.df-cookie{display:none}}

/* Hornval-systemet tab (03.09) */
.df-hv-tab h3{margin:26px 0 10px;font-size:19px}
.df-hv-tab h3:first-child{margin-top:0}
.df-hv-fig{margin:14px 0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff}
.df-hv-fig img{width:100%;height:auto;display:block}

/* category description: tables, sub-headings, text below products (05.10.2026) */
.df-shop__desc--more{margin-top:40px;padding-top:28px;border-top:1px solid #e5e7eb;max-width:860px}.df-shop__desc h2{font-size:clamp(20px,2vw,24px);margin:28px 0 10px;color:var(--ink,#0b1b34)}.df-shop__desc h3{font-size:17px;margin:20px 0 6px;color:var(--ink,#0b1b34)}.df-shop__desc table{width:100%;border-collapse:collapse;margin:10px 0 8px;font-size:15px;display:block;overflow-x:auto}.df-shop__desc th,.df-shop__desc td{border:1px solid #e5e7eb;padding:8px 12px;text-align:left;white-space:nowrap}.df-shop__desc th{background:#f3f5f8;color:var(--ink,#0b1b34);font-weight:600}.df-shop__desc tbody tr:nth-child(even){background:#fafbfc}
