.site-main .wp-block-group__inner-container { padding: 0 !important; }
:root{
  --salvie:#4A6D5C;--salvie-h:#3d5c4d;--salvie-pale:#ECF1EE;
  --honning:#C8935E;--honning-pale:#F5EBE0;
  --dyp-skog:#2E4237;--hvit:#FFFFFF;--krem:#FAF8F5;--krem-mork:#F2EDE6;
  --tekst:#1E2C25;--tekst-myk:#4A5A52;--kant:#DDD8CF;--kant-lys:#EDE9E2;
  --fh:'Lora',Georgia,serif;--fb:'DM Sans',system-ui,sans-serif;
  --r:6px;--rm:12px;--rl:20px;
  --s1:0 1px 4px rgba(30,44,37,.07),0 2px 8px rgba(30,44,37,.05);
  --s2:0 4px 16px rgba(30,44,37,.10),0 8px 32px rgba(30,44,37,.07);
  --w:1100px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--tekst);background:var(--krem);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--fh);line-height:1.22;color:var(--dyp-skog)}
h1{font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;margin-bottom:16px}
h3{font-size:1.15rem;font-weight:600;letter-spacing:.01em}
p{font-size:1.0625rem;line-height:1.72;color:var(--tekst-myk)}
.lbl{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--honning);margin-bottom:10px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fb);font-size:.9375rem;font-weight:600;padding:12px 22px;border-radius:var(--r);border:2px solid transparent;cursor:pointer;transition:all .18s;white-space:nowrap}
a.btn-dark,.btn-dark,a.btn-dark:visited,.btn-dark:visited{background:var(--dyp-skog);color:#fff;border-color:var(--dyp-skog)}
a.btn-dark:hover,.btn-dark:hover{background:#243629;color:#fff;transform:translateY(-1px);box-shadow:var(--s2)}
a.btn-green,.btn-green,a.btn-green:visited,.btn-green:visited{background:var(--salvie);color:#fff;border-color:var(--salvie)}
a.btn-green:hover,.btn-green:hover{background:var(--salvie-h);color:#fff;transform:translateY(-1px);box-shadow:var(--s2)}
.btn-outline{background:transparent;color:var(--dyp-skog);border-color:var(--dyp-skog)}
.btn-outline:hover{background:var(--dyp-skog);color:#fff;transform:translateY(-1px)}
a.btn-outline-lt,.btn-outline-lt,a.btn-outline-lt:visited,.btn-outline-lt:visited{background:transparent;color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.35)}
a.btn-outline-lt:hover,.btn-outline-lt:hover{background:rgba(255,255,255,.1);color:#fff}

/* wp:button overrides - fix double-box when .btn classes applied to Gutenberg wrapper div */
.wp-block-button.btn { background:none !important; border:none !important; padding:0 !important; border-radius:0 !important; }
.wp-block-button.btn-green .wp-block-button__link { display:inline-flex; padding:12px 22px; border-radius:var(--r); border:2px solid var(--salvie); background:var(--salvie); color:#fff; text-decoration:none; font-weight:500; }
.wp-block-button.btn-green .wp-block-button__link:hover { background:var(--salvie-h); border-color:var(--salvie-h); }
.wp-block-button.btn-ghost .wp-block-button__link { display:inline-flex; padding:12px 22px; border-radius:var(--r); border:2px solid rgba(255,255,255,.9); background:rgba(255,255,255,.85); color:var(--dyp-skog); text-decoration:none; font-weight:500; backdrop-filter:blur(4px); }
.wp-block-button.btn-dark .wp-block-button__link { display:inline-flex; padding:12px 22px; border-radius:var(--r); border:2px solid var(--dyp-skog); background:var(--dyp-skog); color:#fff; text-decoration:none; font-weight:500; }
.wp-block-button.btn-outline-lt .wp-block-button__link { display:inline-flex; padding:12px 22px; border-radius:var(--r); border:2px solid rgba(255,255,255,.5); background:transparent; color:#fff; text-decoration:none; font-weight:500; }
.wp-block-button.btn-outline .wp-block-button__link { display:inline-flex; padding:12px 22px; border-radius:var(--r); border:2px solid var(--dyp-skog); background:transparent; color:var(--dyp-skog); text-decoration:none; font-weight:500; }
.wp-block-button.btn-outline .wp-block-button__link:hover { background:var(--dyp-skog); color:#fff; border-color:var(--dyp-skog); }
.wp-block-button.btn-white .wp-block-button__link { display:inline-flex; padding:12px 22px; border-radius:var(--r); border:2px solid #fff; background:#fff; color:var(--salvie); text-decoration:none; font-weight:500; }
.wp-block-button.btn-white .wp-block-button__link:hover { background:var(--krem); color:var(--dyp-skog); border-color:var(--krem); }
.btn-white{background:#fff;color:var(--salvie);border-color:#fff}
.btn-white:hover{background:var(--krem);color:var(--dyp-skog);transform:translateY(-1px);box-shadow:var(--s2)}

/* Forminator submit */
.forminator-button-submit { background: var(--salvie) !important; color: #fff !important; width: 100%; border: 2px solid var(--salvie) !important; border-radius: var(--r) !important; padding: 12px 22px !important; font-family: var(--fb) !important; font-size: .9375rem !important; font-weight: 600 !important; cursor: pointer; transition: all .18s; }
.forminator-button-submit:hover { background: var(--salvie-h) !important; border-color: var(--salvie-h) !important; transform: translateY(-1px); }
.forminator-form .forminator-response-message, a.forminator-edit-form-link { display: none !important; }
/* Icons */
.iw{width:52px;height:52px;background:var(--salvie-pale);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.iw svg{width:24px;height:24px;stroke:var(--salvie);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Nav */
.nav{position:sticky;top:0;z-index:100;height:68px;background:#fff;border-bottom:1px solid var(--kant-lys);box-shadow:var(--s1)}
.nav-i{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;cursor:pointer}
.logo-nm{font-family:var(--fh);font-size:1.25rem;font-weight:700;color:var(--dyp-skog);letter-spacing:.06em;text-transform:uppercase}
.logo-sb{font-size:.7rem;font-weight:500;color:var(--salvie);letter-spacing:.14em;text-transform:uppercase}
.nav-lnks{display:flex;align-items:center;gap:2px;list-style:none}
.nav-lnks > li{position:relative}
.nav-lnks > li > a, .nav-lnks > li > button.nav-trigger{font-family:var(--fb);font-size:.875rem;font-weight:500;color:var(--tekst-myk);padding:8px 11px;border-radius:var(--r);transition:all .15s;cursor:pointer;display:inline-flex;align-items:center;gap:5px;background:none;border:none;line-height:1.5;white-space:nowrap}
.nav-lnks > li > a:hover, .nav-lnks > li > a.act, .nav-lnks > li > button.nav-trigger:hover, .nav-lnks > li.open > button.nav-trigger, .nav-lnks > li > button.nav-trigger.act{color:var(--dyp-skog);background:var(--salvie-pale)}
.nav-trigger svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.nav-lnks > li.open .nav-trigger svg{transform:rotate(180deg)}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
/* Fix: korrekt selektor - a-taggen er selve .nav-cta, ikke et barn av den */
#site-navigation .nav-cta { display: inline-flex !important; padding: 10px 18px !important; }
#site-navigation .menu-bar-items { margin-left: 12px; display: flex; align-items: center; gap: 10px; }
#site-navigation .nav-tel { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
#site-navigation .nav-tel svg { width: 14px; height: 14px; flex-shrink: 0; }
/* Fix: forhindre at .menu-bar-items wrapper til ny linje nar nav-menyen er bred */
#site-navigation .inside-navigation { flex-wrap: nowrap !important; }
/* Fix: main-nav tar flex:1 slik at menypunktene far full tilgjengelig bredde.
   GP setter main-nav som display:block - den trenger flex-grow for a fylle spacing.
   sf-menu er flex med wrap - nowrap forhindrer menypunkter fra a wrappe til rad 2.
   Nav-lenker ma ha white-space:nowrap + display:flex - ellers bryter tekst+dropdown-pil
   til to linjer og gir 136px-hoy nav. */
.main-navigation .main-nav { flex: 1; }
#site-navigation .main-nav > ul.sf-menu { flex-wrap: nowrap !important; }
.main-navigation .main-nav ul li > a {
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  height: auto !important;
}
.nav-tel{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;font-weight:600;color:var(--dyp-skog);padding:8px 12px;border-radius:var(--r);transition:all .15s;cursor:pointer;white-space:nowrap}
.nav-tel:hover{background:var(--salvie-pale);color:var(--salvie)}
.nav-tel svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Mega-meny */
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:280px;background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);box-shadow:var(--s2);padding:24px;opacity:0;visibility:hidden;transition:all .2s ease;z-index:120;pointer-events:none}
.nav-lnks > li.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mega::before{content:'';position:absolute;top:-8px;left:0;right:0;height:8px;background:transparent}
.mega-wide{min-width:780px}
.mega-grid{display:grid;gap:28px}
.mega-grid-1{grid-template-columns:1fr}
.mega-grid-4{grid-template-columns:repeat(4,1fr)}
.mega-col h4{font-family:var(--fh);font-size:.78rem;font-weight:600;color:var(--honning);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--kant-lys)}
.mega-col ul{display:flex;flex-direction:column;gap:2px;list-style:none}
.mega-col a{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:500;color:var(--tekst-myk);padding:7px 10px;border-radius:var(--r);cursor:pointer;transition:all .15s;line-height:1.4}
.mega-col a:hover{background:var(--salvie-pale);color:var(--dyp-skog);padding-left:14px}
.mega-col a.is-hub{font-weight:600;color:var(--dyp-skog)}
.mega-col a.is-hub::after{content:'›';color:var(--salvie);font-size:1.1rem;font-weight:400;transition:transform .15s}
.mega-col a.is-hub:hover::after{transform:translateX(3px)}
.mega-foot{margin-top:20px;padding-top:18px;border-top:1px solid var(--kant-lys);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.mega-foot p{font-size:.8125rem;color:var(--tekst-myk);margin:0}

/* Hamburger (mobil) */
.nav-burger{display:none;background:none;border:none;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--r);transition:background .15s}
.nav-burger:hover{background:var(--salvie-pale)}
.nav-burger svg{width:22px;height:22px;stroke:var(--dyp-skog);fill:none;stroke-width:2;stroke-linecap:round}

/* Mobil-drawer */
.drawer-overlay{position:fixed;inset:0;background:rgba(30,44,37,.5);opacity:0;visibility:hidden;transition:all .25s ease;z-index:200}
.drawer-overlay.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:201;box-shadow:-8px 0 32px rgba(30,44,37,.12)}
.drawer.open{transform:translateX(0)}
.drawer-hd{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--kant-lys);flex-shrink:0}
.drawer-close{width:38px;height:38px;background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--r);transition:background .15s}
.drawer-close:hover{background:var(--krem-mork)}
.drawer-close svg{width:20px;height:20px;stroke:var(--dyp-skog);fill:none;stroke-width:2;stroke-linecap:round}
.drawer-body{flex-grow:1;overflow-y:auto;padding:4px 0;height:0;min-height:0}
.drawer-item{border-bottom:1px solid var(--kant-lys)}
.drawer-item:empty{display:none}
.drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;min-height:56px;background:none;border:none;text-align:left;font-family:var(--fb);font-size:1rem;font-weight:500;color:var(--dyp-skog);cursor:pointer;transition:background .15s}
.drawer-row:hover{background:var(--salvie-pale)}
.drawer-row.act{color:var(--salvie);font-weight:600}
.drawer-row svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;transition:transform .2s;flex-shrink:0;margin-left:12px}
.drawer-item.open .drawer-row svg{transform:rotate(180deg)}
.drawer-sub{max-height:0;overflow:hidden;transition:max-height .3s ease;background:var(--krem-mork)}
.drawer-item.open .drawer-sub{max-height:600px}
.drawer-sub-group{padding:10px 0 14px}
.drawer-sub-group h5{font-family:var(--fb);font-size:.6875rem;font-weight:500;color:rgba(74,109,92,0.6);letter-spacing:.08em;text-transform:uppercase;padding:12px 20px 4px;margin-bottom:0 !important;margin-top:8px !important;pointer-events:none;cursor:default;background:none !important;border:none}
.drawer-sub a{display:flex;align-items:center;padding:12px 20px 12px 32px;min-height:44px;font-size:.9375rem;font-weight:400;color:var(--tekst-myk);cursor:pointer;transition:all .15s}
.drawer-sub a:hover{color:var(--salvie);background:#fff;padding-left:42px}
.drawer-sub a.is-hub{font-weight:600;color:var(--dyp-skog)}
.drawer-ft{padding:18px 22px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--kant-lys);display:flex;flex-direction:column;gap:10px;flex-shrink:0;background:var(--krem)}
.drawer-ft .nav-tel{justify-content:center;padding:13px 16px;border:1.5px solid var(--kant);font-size:.95rem}
.drawer-ft .btn{justify-content:center;padding:14px 20px;background:var(--honning);border-color:var(--honning);min-height:52px}
.drawer-ft .btn:hover{background:#b5824f;border-color:#b5824f}
body.no-scroll{overflow:hidden}

/* Lifestyle image (post-prose, pre-grid) */
.lifestyle-img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rl);margin:32px 0}

/* Page hero */
.ph{background:var(--dyp-skog);padding:52px 0 44px;box-shadow:0 4px 16px -4px rgba(30,44,37,.12)}
.ph h1{color:#fff}
.bc{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:rgba(255,255,255,.38);margin-bottom:16px}
.bc span{color:rgba(255,255,255,.18)}
.bc a{color:rgba(255,255,255,.38);cursor:pointer;transition:color .15s}
.bc a:hover{color:var(--honning)}

/* Page hero – rich variant */
.ph-rich{background:var(--dyp-skog);padding:64px 0 56px;box-shadow:0 4px 16px -4px rgba(30,44,37,.12)}
.ph-rich h1{color:#fff;margin-bottom:12px}
.ph-rich .ph-sub{font-size:1.0625rem;color:rgba(255,255,255,.65);line-height:1.7;max-width:560px}
.ph-rich .ph-badge{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--honning);margin-bottom:14px}
.ph-rich .ph-badge::before{content:'';width:6px;height:6px;background:var(--honning);border-radius:50%}

/* Sections */
.sec{padding:80px 0;position:relative}.sec-sm{padding:48px 0}.sec-lg{padding:100px 0}
.sec::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.65' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.018'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.sec>*{position:relative;z-index:1}
.bg-alt{background:linear-gradient(180deg,var(--krem-mork) 0%,#EDE8E0 100%)}.bg-dk{background:linear-gradient(180deg,var(--dyp-skog) 0%,#253830 100%)}
.bg-alt+.sec,.sec+.bg-alt{border-top:1px solid var(--kant-lys)}
.bg-dk+.sec,.bg-dk+.bg-alt{box-shadow:inset 0 8px 16px -8px rgba(30,44,37,.08)}
.sec-hd{margin-bottom:48px !important}.sec-hd p{max-width:560px;margin-top:14px}
.sec-hd.ctr{text-align:center}.sec-hd.ctr p{margin:14px auto 0}

/* Trust bar – UNUSED in current prototype, kept for potential WP use */
.tb{background:#fff;border-bottom:1px solid var(--kant-lys)}
.tb-i{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap}
.ti{display:flex;align-items:center;gap:9px;padding:16px 28px;font-size:.875rem;font-weight:500;color:var(--tekst);border-right:1px solid var(--kant-lys)}
.ti:last-child{border-right:none}
.ti svg{width:16px;height:16px;flex-shrink:0;stroke:var(--salvie);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.tc{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tc svg{width:16px;height:16px;stroke:var(--salvie);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ti.hot .tc svg{stroke:var(--honning)}

/* Cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:#fff;border:1px solid var(--kant-lys);border-top:3px solid var(--honning);border-radius:var(--rm);padding:28px 24px;display:flex;flex-direction:column;gap:14px;transition:all .2s;position:relative;cursor:pointer}
.card:hover{border-color:var(--salvie);box-shadow:var(--s2);transform:translateY(-2px)}
.card h3{font-size:1.0625rem}
.card p{font-size:.9rem;flex-grow:1}
.card-lnk{font-size:.8125rem;font-weight:600;color:var(--salvie);display:inline-flex;align-items:center;gap:5px;margin-top:4px;cursor:pointer}
.card-lnk svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.card-lnk::after{content:"";position:absolute;inset:0;z-index:1}
.card:hover .card-lnk svg{transform:translateX(3px)}

/* Two col */
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start}
.two-eq{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}

/* Process */
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--kant-lys);border-radius:var(--rl);overflow:hidden}
.proc-step{background:#fff;padding:36px 32px;display:flex;flex-direction:column;gap:16px;transition:background .2s}
.proc-step:hover{background:var(--salvie-pale)}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.step-n{font-family:var(--fh);font-size:2.75rem;font-weight:700;color:var(--kant);line-height:1;transition:color .2s}
.proc-step:hover .step-n{color:var(--salvie)}
.step-iw{width:40px;height:40px;border:1.5px solid var(--kant);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
.proc-step:hover .step-iw{border-color:var(--salvie);background:var(--salvie)}
.step-iw svg{width:16px;height:16px;stroke:var(--tekst-myk);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.proc-step:hover .step-iw svg{stroke:#fff}
.step-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--honning);margin-top:auto;padding-top:12px;border-top:1px solid var(--kant-lys)}
.trust-badge{background:var(--krem-mork);border:1px solid var(--kant-lys);border-radius:var(--r);padding:10px 18px;font-size:.875rem;font-weight:500;color:var(--tekst-myk);display:inline-block;margin:0}
.info-card{background:var(--krem-mork);border:1px solid var(--kant-lys);border-radius:var(--rm);padding:28px 32px;margin-top:48px}
.info-card h3{margin-bottom:16px;color:var(--dyp-skog)}
.info-card p{font-size:.9375rem}
.info-section{margin-bottom:48px}
.info-section h3{font-family:var(--fh);font-size:1.25rem;font-weight:600;color:var(--dyp-skog);margin-bottom:6px}
.info-section > .wp-block-paragraph{color:var(--tekst-myk);font-size:.9375rem;line-height:1.7;margin-bottom:20px}
.mini-card{background:var(--honning-pale);border-radius:var(--r);padding:16px 18px}
.mini-card-title{display:block;font-size:.875rem;color:var(--dyp-skog);margin-bottom:4px;font-weight:600}
.mini-card-desc{font-size:.8125rem;color:var(--tekst-myk);line-height:1.5;margin:0}
.rv-meta{margin:0}
.rv-meta .rv-nm{margin:0}
.rv-meta .rv-dt{margin:3px 0 0 0}

/* Price */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.price-big{font-family:var(--fh);font-size:clamp(1.8rem,3.5vw,2.75rem);font-weight:700;color:#fff;margin:20px 0 4px}
.price-sub{font-size:.8125rem;color:rgba(255,255,255,.45);margin-bottom:24px}
.price-div{width:32px;height:2px;background:var(--honning);margin-bottom:20px}
.pt{display:flex;flex-direction:column;gap:10px}
.pt-row{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--rm);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pt-lbl{font-size:.9375rem;color:rgba(255,255,255,.72)}
.pt-val{font-family:var(--fh);font-size:.9375rem;font-weight:600;color:#fff;white-space:nowrap}
.pt-val.acc{color:#D9A778}
.obos{background:rgba(200,147,94,.12);border:1px solid rgba(200,147,94,.22);border-radius:var(--rm);padding:18px 20px;display:flex;align-items:flex-start;gap:14px;margin-bottom:28px}
.obos-ic{width:36px;height:36px;background:rgba(200,147,94,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.obos-ic svg{width:18px;height:18px;stroke:var(--honning);fill:none;stroke-width:2;stroke-linecap:round}
.obos strong{display:block;color:#fff;font-size:.9375rem;font-weight:600}
.obos span{color:rgba(255,255,255,.55);font-size:.8125rem}
.obos-lt{background:var(--honning-pale);border-color:rgba(200,147,94,.3)}
.obos-lt strong{color:var(--dyp-skog)}
.obos li strong{display:inline}
.obos-lt span{color:var(--tekst-myk)}

/* Gallery */
.gal-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px}
.gal-cell{border-radius:var(--rm);background:var(--krem-mork);border:2px dashed var(--kant);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--tekst-myk);font-size:.8125rem;text-align:center;padding:16px;overflow:hidden}
.gal-cell.sp2{grid-row:1/3}
.gal-cell svg{width:28px;height:28px;stroke:var(--kant);fill:none;stroke-width:1.25}
.gal-tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--salvie);padding:3px 10px;background:var(--salvie-pale);border-radius:99px}

/* CTA block */
.cta-blk{background:var(--salvie);padding:72px 0;text-align:center;position:relative;overflow:hidden}
.cta-blk::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:700px;height:280px;background:radial-gradient(ellipse,rgba(255,255,255,.07),transparent 70%);pointer-events:none}
.cta-blk h2{color:#fff;margin-bottom:14px}
.cta-blk p{color:rgba(255,255,255,.72);max-width:480px;margin:0 auto 36px}
.cta-bts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta-inner{border:1px solid rgba(255,255,255,.15);border-radius:var(--rl);padding:48px 40px;display:inline-block;width:100%;max-width:640px;margin:0 auto}
.cta-trust{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:20px;font-size:.8125rem;color:rgba(255,255,255,.5)}
.cta-trust span{display:inline-flex;align-items:center;gap:6px}
.cta-trust svg{width:14px;height:14px;stroke:rgba(255,255,255,.45);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Reviews */
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rv-card{background:var(--honning-pale);border:1px solid rgba(200,147,94,.18);border-radius:var(--rm);padding:32px 28px;display:flex;flex-direction:column;gap:16px;transition:box-shadow .2s}
.rv-card:hover{box-shadow:var(--s2)}
.rv-q{font-family:var(--fh);font-size:3.5rem;color:var(--honning);line-height:.8;margin-bottom:4px;user-select:none}
.rv-txt{font-size:1rem;font-style:italic;color:var(--tekst);line-height:1.68;flex-grow:1}
.rv-ft{display:flex;align-items:center;gap:10px;border-top:1px solid var(--kant-lys);padding-top:16px}
.rv-av{width:36px;height:36px;border-radius:50%;background:var(--salvie-pale);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:.875rem;font-weight:600;color:var(--salvie);flex-shrink:0}
.rv-nm{font-size:.875rem;font-weight:600;color:var(--dyp-skog)}
.rv-dt{font-size:.75rem;color:var(--tekst-myk);margin-top:1px}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:2px;background:var(--kant-lys);border-radius:var(--rl);overflow:hidden}
.faq-item{background:#fff}
.faq-q{width:100%;text-align:left;padding:22px 28px;font-family:var(--fh);font-size:1rem;font-weight:600;color:var(--dyp-skog);background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background .15s}
.faq-q:hover{background:var(--salvie-pale)}
.faq-q svg{width:16px;height:16px;stroke:var(--salvie);fill:none;stroke-width:2.5;stroke-linecap:round;flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-q{background:var(--salvie-pale)}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-a{padding:0 28px;max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{font-size:.9375rem;line-height:1.7;padding-bottom:24px;padding-left:16px;border-left:3px solid var(--honning)}
.faq-item.open .faq-a{max-height:400px}

/* Form */
.form-g{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fg{display:flex;flex-direction:column;gap:7px}
.fg.full{grid-column:1/-1}
label{font-size:.875rem;font-weight:600;color:var(--dyp-skog)}
input,select,textarea{font-family:var(--fb);font-size:.9375rem;color:var(--tekst);background:#fff;border:1.5px solid var(--kant);border-radius:var(--r);padding:12px 16px;width:100%;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus{outline:none;border-color:var(--salvie);box-shadow:0 0 0 3px rgba(74,109,92,.1)}
textarea{resize:vertical;min-height:120px}
.form-note{font-size:.8125rem;color:var(--tekst-myk);margin-top:12px}

/* Material cards */
.mat-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mat-card{background:#fff;border:1px solid var(--kant-lys);border-top:3px solid var(--salvie);border-radius:var(--rm);padding:32px 28px;display:flex;flex-direction:column;gap:16px;transition:all .2s;cursor:pointer}
.mat-card:hover{border-color:var(--salvie);box-shadow:var(--s2);transform:translateY(-2px)}
.mat-sw{width:56px;height:56px;border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.mat-sw svg{width:24px;height:24px;stroke:var(--salvie);fill:none;stroke-width:1.5;stroke-linecap:round}
.mat-card h3{font-size:1.0625rem}
.mat-card p{font-size:.9rem;flex-grow:1}

/* Steps list */
.steps{display:flex;flex-direction:column;gap:2px;background:var(--kant-lys);border-radius:var(--rl);overflow:hidden}
.step-row{background:#fff;padding:28px 32px;display:flex;align-items:flex-start;gap:24px;transition:background .2s}
.step-row:hover{background:var(--salvie-pale)}
.sn{font-family:var(--fh);font-size:2rem;font-weight:700;color:var(--kant);line-height:1;min-width:36px;transition:color .2s}
.step-row:hover .sn{color:var(--salvie)}
.sb h3{margin-bottom:8px;color:var(--dyp-skog)}
.sb p{font-size:.9375rem}

/* Prose */
.prose p+p{margin-top:20px}
.prose h3{margin-top:28px;margin-bottom:10px}
.prose ul{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.prose ul li{display:flex;align-items:flex-start;gap:12px;font-size:1.0625rem;line-height:1.68;color:var(--tekst-myk)}
.prose ul li::before{content:'';width:5px;height:5px;background:var(--honning);border-radius:50%;margin-top:10px;flex-shrink:0}
.prose strong{color:var(--tekst);font-weight:600}

/* Standalone price table */
.pt-sa{display:flex;flex-direction:column;gap:10px}
.pt-sa .pt-row{background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pt-sa .pt-row:hover{border-color:var(--salvie)}
.pt-sa .pt-lbl{color:var(--tekst-myk)}
.pt-sa .pt-val{color:var(--dyp-skog)}
.pt-sa .pt-val.acc{color:var(--honning)}

/* Feature items */
.feat-list{display:flex;flex-direction:column;gap:16px}
.feat-item{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);padding:20px 22px;transition:box-shadow .2s}
.feat-item:hover{box-shadow:var(--s2)}
.feat-item h3{font-size:1rem;margin-bottom:6px}
.feat-item p{font-size:.9rem}

/* Footer */
.footer{background:var(--dyp-skog);padding:56px 0 28px}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-logo{width:100%;height:auto;display:block;margin-bottom:20px}
.footer-brand p{font-size:.875rem;color:rgba(255,255,255,.5);line-height:1.65;max-width:270px;margin:14px 0}
.fl-nm{font-family:var(--fh);font-size:1.0625rem;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.fl-sb{font-size:.58rem;color:var(--salvie);letter-spacing:.18em;text-transform:uppercase}
.f-ct{display:flex;flex-direction:column;gap:8px}
.f-ct a{font-size:.875rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:8px;transition:color .15s;cursor:pointer}
.f-ct a:hover{color:var(--honning)}
.f-ct svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}
.footer-col h4{font-family:var(--fh);font-size:.875rem;font-weight:600;color:#fff;margin-bottom:14px}
.footer-col ul{display:flex;flex-direction:column;gap:9px;padding-left:0 !important;margin-left:0 !important;list-style:none}
.footer-col ul li{padding-left:0 !important;margin-left:0 !important}
.footer-col a{font-size:.875rem;color:rgba(255,255,255,.5);transition:color .15s;cursor:pointer}
.footer-col a:hover{color:var(--honning)}
.footer-btm{border-top:1px solid rgba(255,255,255,.07);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-btm span{font-size:.8125rem;color:rgba(255,255,255,.28)}
.f-mitro{font-size:.8125rem;color:rgba(74,109,92,.85);font-weight:500}

/* Blog / gallery */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);overflow:hidden;transition:all .2s;cursor:pointer}
.blog-card:hover{box-shadow:var(--s2);transform:translateY(-2px)}
.blog-img{height:180px;background:var(--krem-mork);border-bottom:1px solid var(--kant-lys);display:flex;align-items:center;justify-content:center}
.blog-img svg{width:32px;height:32px;stroke:var(--kant);fill:none;stroke-width:1.25}
.blog-body{padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.blog-meta{font-size:.75rem;color:var(--honning);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.blog-body h3{font-size:1rem}
.blog-body p{font-size:.875rem;flex-grow:1}
.blog-lnk{font-size:.8125rem;font-weight:600;color:var(--salvie);display:inline-flex;align-items:center;gap:5px;margin-top:4px}
.blog-lnk svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;transition:transform .15s}
.blog-card:hover .blog-lnk svg{transform:translateX(3px)}

/* Gallery full */
.gal-full{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-item{border-radius:var(--rm);background:var(--krem-mork);border:2px dashed var(--kant);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--tekst-myk);font-size:.8125rem;text-align:center;padding:16px;transition:border-color .2s}
.gal-item:hover{border-color:var(--salvie)}
.gal-item svg{width:28px;height:28px;stroke:var(--kant);fill:none;stroke-width:1.25}

/* Cat grid */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat-card{background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);padding:28px 22px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;transition:all .2s}
.cat-card:hover{border-color:var(--salvie);box-shadow:var(--s2);transform:translateY(-2px)}
.cat-cov{width:80px;height:100px;background:var(--krem-mork);border-radius:4px;border:1px solid var(--kant-lys);display:flex;align-items:center;justify-content:center}
.cat-cov svg{width:32px;height:32px;stroke:var(--kant);fill:none;stroke-width:1.25}
.cat-card h3{font-size:.9375rem}

/* Contact */
.ct-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.ct-info{display:flex;flex-direction:column;gap:24px}
.ct-item{display:flex;align-items:flex-start;gap:14px}
.ct-item h3{font-size:.9375rem;margin-bottom:4px}
.ct-item p{font-size:.9rem}

/* Info grid (book-befaring, kontakt) */
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}

/* Hero */
/* ─── HERO v2 – editorial split ─── */
.hero{position:relative;min-height:88vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.hero-bg .wp-block-group__inner-container,.hero-bg figure.wp-block-image{position:absolute;inset:0;margin:0;padding:0;max-width:none;width:auto}
.hero-bg figure.wp-block-image img{position:absolute;inset:0}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(242,237,230,.35) 0%,transparent 35%),linear-gradient(to top,rgba(30,28,24,.55) 0%,rgba(30,28,24,.3) 20%,transparent 45%),linear-gradient(to right,rgba(242,237,230,.5) 0%,rgba(242,237,230,.2) 30%,transparent 50%)}
.hero .wrap{position:relative;z-index:2;width:100%;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding-top:56px;padding-bottom:20px}
.hero-top{max-width:600px}
.hero-eye{display:inline-flex;align-items:center;gap:8px;color:var(--honning);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.hero-dot{width:6px;height:6px;background:var(--honning);border-radius:50%;animation:blink 2.4s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:var(--fh);font-size:clamp(1.8rem,3.8vw,2.75rem);font-weight:600;line-height:1.18;color:var(--dyp-skog);margin-bottom:16px}
.hero-body{font-size:1rem;color:var(--tekst-myk);line-height:1.7;max-width:420px}
.hero-bottom{position:absolute;bottom:24px;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;padding:0 28px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn-ghost{background:rgba(255,255,255,.85);color:var(--dyp-skog);border-color:rgba(255,255,255,.9);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:#fff;color:var(--dyp-skog)}
.hero-trust-strip{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;align-items:center;width:100%}
.hero-stat{text-align:center}
.hero-sn{font-family:var(--fh);font-size:1.4rem;font-weight:700;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.hero-sl{font-size:.75rem;font-weight:500;color:rgba(255,255,255,.75);letter-spacing:.04em;margin-top:3px;text-shadow:0 1px 4px rgba(0,0,0,.2)}
.hero-top>*{animation:fadeUp .6s ease both}
.hero-top>*:nth-child(1){animation-delay:.1s}
.hero-top>*:nth-child(2){animation-delay:.2s}
.hero-top>*:nth-child(3){animation-delay:.35s}
.hero-bottom{animation:fadeUp .6s ease both;animation-delay:.45s}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* Responsive */
@media(max-width:1024px){
  .nav-tel span{display:none}
  .nav-lnks > li > a, .nav-lnks > li > button.nav-trigger{padding:8px 9px;font-size:.825rem}
}
@media(max-width:940px){
  .grid3,.proc-grid{grid-template-columns:1fr 1fr}
  .proc-grid > .proc-step:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .wp-block-group.proc-grid > .wp-block-group:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .two,.two-eq,.ct-grid,.price-grid{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-lnks{display:none}
  .nav-tel{display:none}
  .nav-burger{display:inline-flex}
  .rv-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr 1fr}
  .mat-grid{grid-template-columns:1fr}
  .hero{min-height:min(80vh,640px)}
  .hero .wrap{padding-top:40px;padding-bottom:16px}
  .hero-top{max-width:100%}
  .hero h1{color:var(--dyp-skog)}
  .hero-bg::after{background:linear-gradient(to bottom,rgba(242,237,230,.6) 0%,rgba(242,237,230,.2) 30%,transparent 45%),linear-gradient(to top,rgba(30,28,24,.65) 0%,rgba(30,28,24,.35) 25%,transparent 50%)}
  .hero-bottom{position:static;flex-direction:column;align-items:center;padding:0}
  .hero-stat{text-align:center}
  .hero-trust-strip{gap:16px}
  .cat-tabs{flex-wrap:wrap}
  .menu-bar-items { display: none !important; }
  .inside-header { display: flex !important; align-items: center; justify-content: space-between; padding: 12px 20px !important; min-height: auto !important; }
  .site-logo, .site-branding { flex-shrink: 0; }
  #mobile-menu-control-wrapper { margin-left: auto; }
  .menu-toggle, #mobile-menu-control-wrapper .menu-toggle { width: 48px; height: 48px; padding: 10px; }
  .menu-toggle .mobile-menu-icon svg, #mobile-menu-control-wrapper svg { width: 26px !important; height: 26px !important; }
  .site-logo img, .header-image img { max-width: 200px !important; height: auto !important; }
  .info-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .grid3,.grid2,.mat-grid,.gal-full,.blog-grid,.cat-grid{grid-template-columns:1fr}
  .form-g{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-cell.sp2{grid-row:auto;aspect-ratio:4/3}
  .nav-cta .btn{padding:10px 16px;font-size:.875rem}
  .sec{padding:56px 0}
  .sec-lg{padding:72px 0}
  .sec-hd{margin-bottom:36px}
  .wrap{padding:0 20px}
  h1{font-size:clamp(1.5rem,6vw,2rem)}
  h3{font-size:1.05rem}
  .card{padding:22px 18px}
  .proc-step{padding:24px 20px}
  .step-n{font-size:2rem}
  .cta-blk{padding:56px 0}
  .cta-blk .btn,.sec .btn{width:100%;justify-content:center}
  .hero-ctas{flex-direction:column;width:100%}
  .hero-ctas .btn{width:100%;justify-content:center}
  .cat-tabs{flex-direction:column}
  .cat-tab{padding:12px}
  .info-grid{grid-template-columns:1fr}
  .cta-inner{padding:36px 24px}
  .cta-trust{flex-direction:column;align-items:center;gap:8px}
  .proc-grid{grid-template-columns:1fr !important}
  .wp-block-group.proc-grid{grid-template-columns:1fr !important}
  .hero-trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 12px}
  .hero-sn{font-size:1.1rem}
  .hero-sl{font-size:.65rem}
  .price-big{word-break:break-word;overflow-wrap:break-word}
  .hero-bottom, .wp-block-group.hero-bottom { display: none !important; }
  .hero-ctas .wp-block-button__link, .wp-block-buttons.hero-ctas .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
}

/* ── FRONT CATALOG ─────────────────────────────────────────────────── */
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.filter-btn{font-family:var(--fb);font-size:.875rem;font-weight:500;padding:9px 18px;border-radius:99px;border:1.5px solid var(--kant);background:#fff;color:var(--tekst-myk);cursor:pointer;transition:all .15s}
.filter-btn:hover{border-color:var(--salvie);color:var(--salvie)}
.filter-btn.act{background:var(--salvie);color:#fff;border-color:var(--salvie)}

.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod-card{background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);overflow:hidden;transition:all .2s;cursor:pointer}
.prod-card:hover{box-shadow:var(--s2);transform:translateY(-3px)}
.prod-img{height:220px;background:var(--krem-mork);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.prod-img svg{width:36px;height:36px;stroke:var(--kant);fill:none;stroke-width:1.25}
.prod-img img{object-fit:cover !important}
.prod-badge{position:absolute;top:12px;left:12px;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--salvie-pale);color:var(--salvie)}
.prod-body{padding:20px 18px 18px}
.prod-name{font-family:var(--fh);font-size:1rem;font-weight:600;color:var(--dyp-skog);margin-bottom:4px}
.prod-sub{font-size:.8125rem;color:var(--tekst-myk);margin-bottom:14px}
.prod-swatches{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.swatch{width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.07);cursor:pointer;transition:transform .15s;flex-shrink:0}
.swatch:hover{transform:scale(1.25)}
.swatch-more{font-size:.72rem;color:var(--tekst-myk);font-weight:600;margin-left:2px}
.prod-specs{display:flex;gap:8px;flex-wrap:wrap}
.spec-pill{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--tekst-myk);background:var(--krem-mork);padding:4px 10px;border-radius:99px}
.prod-footer{padding:0 18px 18px;border-top:1px solid var(--kant-lys);margin-top:14px;padding-top:14px;display:flex;justify-content:space-between;align-items:center}
.prod-footer span{font-size:.8125rem;color:var(--tekst-myk)}
.prod-footer a{font-size:.8125rem;font-weight:600;color:var(--salvie);cursor:pointer}

/* Category nav tabs */
.cat-tabs{display:flex;gap:2px;background:var(--kant-lys);border-radius:var(--rm);overflow:hidden;margin-bottom:48px}
.cat-tab{flex:1;text-align:center;padding:14px 12px;font-size:.875rem;font-weight:500;color:var(--tekst-myk);cursor:pointer;background:#fff;transition:all .15s;border:none}
.cat-tab:hover{color:var(--dyp-skog);background:var(--salvie-pale)}
.cat-tab.act{background:var(--salvie);color:#fff}

@media(max-width:860px){.prod-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.prod-grid{grid-template-columns:1fr}}
/* ============================================================
   GP MAX-WIDTH OVERRIDE FOR GRID/FLEX CONTAINERS
   GP injiserer max-width:1100px pa .wp-block-group__inner-container
   og body .wp-block { max-width: content-width } - dette bryter
   grid-barn som skal fylle hele bredden.
   ============================================================ */
.grid3 .wp-block,
.two-eq .wp-block,
.mat-grid .wp-block,
.grid4 .wp-block,
.cat-tabs .wp-block {
  max-width: none !important;
  width: auto;
}

/* ============================================================
   GP MEGA MENU
   Aktiveres av .mega-menu klasse pa top-level menu items.
   GP shipper ikke denne CSS-en - den ma legges til manuelt.
   Ref: docs.generatepress.com/article/simple-mega-menu
   ============================================================ */
/* === MEGA-MENY VISIBILITY OVERRIDE (force depth-2 visible) === */
@media (min-width: 769px) {
  nav .main-nav .mega-menu > ul > li > ul.sub-menu {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
  }

  nav .main-nav .mega-menu > ul > li > .dropdown-menu-toggle {
    display: none !important;
  }
}

.main-navigation .main-nav ul li.mega-menu {
  position: static;
}
.main-navigation .main-nav ul li.mega-menu > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  left: 0;
  background: var(--ks-bg-white, #fff);
  box-shadow: var(--ks-shadow-md);
  border-radius: 0 0 var(--ks-radius-md, 12px) var(--ks-radius-md, 12px);
  padding: 1.5rem 2rem;
}
.main-navigation .main-nav ul li.mega-menu > ul > li {
  width: 25%;
  padding: 0 0.75rem;
}
.main-navigation .main-nav ul li.mega-menu > ul > li > a {
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ks-secondary, #2E4237);
}
.main-navigation .main-nav ul li.mega-menu > ul > li > ul {
  display: block;
  position: static;
  width: 100%;
  background: none;
  box-shadow: none;
  border: none;
  padding: 0;
  margin: 0.5rem 0 0;
}
.main-navigation .main-nav ul li.mega-menu > ul > li > ul > li > a {
  font-weight: 400;
  font-size: 0.875rem;
  text-transform: none;
  letter-spacing: 0;
  padding: 0.35rem 0;
}
.main-navigation .main-nav ul li.mega-menu.mega-menu-col-2 > ul > li { width: 50%; }
.main-navigation .main-nav ul li.mega-menu.mega-menu-col-3 > ul > li { width: 33.3333%; }
.main-navigation .main-nav ul li.mega-menu.mega-menu-col-4 > ul > li { width: 25%; }
.main-navigation .main-nav ul li.mega-menu.mega-menu-col-5 > ul > li { width: 20%; }

@media (max-width: 940px) {
  .main-navigation .main-nav ul li.mega-menu > ul {
    flex-direction: column;
  }
  .main-navigation .main-nav ul li.mega-menu > ul > li {
    width: 100%;
  }
}

/* === MEGA-MENY TILLEGGS-CSS (prototype match) === */
@media (min-width: 769px) {
  /* Kolonneoverskrifter: honning-farge, uppercase, border-bottom */
  .main-navigation .main-nav ul li.mega-menu > ul > li > a {
    font-size: 0.78rem;
    font-weight: 600;
    color: #C8935E;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 1px solid #e8e0d4;
    pointer-events: none;
    cursor: default;
  }

  /* Depth-2 lenker */
  .main-navigation .main-nav ul li.mega-menu > ul > li > ul > li > a {
    font-size: 0.875rem;
    font-weight: 500;
    color: #555;
    padding: 7px 10px;
    border-radius: 6px;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .main-navigation .main-nav ul li.mega-menu > ul > li > ul > li > a:hover {
    background: #eef3f0;
    color: #2E4237;
    padding-left: 14px;
  }

  /* Hub-lenker (Alle fronter, Alle benkeplater, etc.) */
  .main-navigation .main-nav ul li.mega-menu > ul > li > ul > li:first-child > a {
    font-weight: 600;
    color: #2E4237;
  }

  .main-navigation .main-nav ul li.mega-menu > ul > li > ul > li:first-child > a::after {
    content: '\203A';
    color: #4A6D5C;
    font-size: 1.1rem;
    font-weight: 400;
    margin-left: 6px;
    transition: transform 0.15s;
  }

  .main-navigation .main-nav ul li.mega-menu > ul > li > ul > li:first-child > a:hover::after {
    transform: translateX(3px);
  }

  /* Skjul kun sub-level toggles - behold depth-0 pil på nav-bar */
  .main-navigation .main-nav ul li.mega-menu>ul .dropdown-menu-toggle {
    display: none !important;
  }

  /* Hover/focus/current bakgrunn transparent */
  .main-navigation .main-nav ul li.mega-menu > ul > li:hover > a,
  .main-navigation .main-nav ul li.mega-menu > ul > li:focus > a,
  .main-navigation .main-nav ul li.mega-menu > ul > li[class*="current-"] > a,
  .main-navigation .main-nav ul li.mega-menu ul ul {
    background-color: transparent !important;
  }

  /* Mega-menu footer-rad */
  .main-navigation .main-nav ul li.mega-menu > ul > li.mega-menu-footer {
    width: 100% !important;
    border-top: 1px solid #e8e0d4;
    padding-top: 18px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }

  .main-navigation .main-nav ul li.mega-menu > ul > li.mega-menu-footer > a {
    font-size: 0.8125rem;
    font-weight: 400;
    color: #555;
    text-transform: none;
    letter-spacing: normal;
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
    pointer-events: auto;
    cursor: default;
  }

  .main-navigation .main-nav ul li.mega-menu > ul > li.mega-menu-footer .mm-cta-btn {
    display: inline-block;
    background: #4A6D5C;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    pointer-events: auto;
    cursor: pointer;
  }

  .main-navigation .main-nav ul li.mega-menu > ul > li.mega-menu-footer .mm-cta-btn:hover {
    background: #3d5c4d;
    transform: translateY(-1px);
  }

  /* Mega-meny panel styling */
  .main-navigation .main-nav ul li.mega-menu > ul {
    padding: 24px;
    border: 1px solid #e8e0d4;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(30,44,37,0.12);
  }
}

/* === WP layout.type:flex override === */
.wp-block-group.two-eq { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 48px !important; }
.wp-block-group.two { display: grid !important; grid-template-columns: 1.3fr 1fr !important; gap: 48px !important; }
/* Fallback: nar inner-container eksisterer (ingen layout-attr pa two) */
.wp-block-group.two > .wp-block-group__inner-container { display: grid !important; grid-template-columns: 1.3fr 1fr !important; gap: 48px !important; align-items: start; }
.wp-block-group.grid3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
.wp-block-group.grid4 { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; }
.wp-block-group.mat-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
.wp-block-group.cat-tabs { display: flex !important; }

/* Responsive overrides */
@media (max-width: 940px) {
  .wp-block-group.two-eq, .wp-block-group.two { grid-template-columns: 1fr !important; }
  .wp-block-group.grid3 { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .wp-block-group.grid3, .wp-block-group.mat-grid, .wp-block-group.grid4 { grid-template-columns: 1fr !important; }
}

/* === PASS 3: layout overrides (layout.type:flex applied, wrapper div removed) === */
/* Note: when no layout attr set, Gutenberg wraps children in __inner-container. Target both. */
.wp-block-group.wrap { display: block !important; max-width: 1100px; margin: 0 auto; padding: 0 28px; }
.wp-block-group.bc { display: flex !important; flex-direction: row; align-items: center; gap: 8px; }
.wp-block-group.card { display: flex !important; flex-direction: column; gap: 14px; }

/* ct-grid: grid is applied to the inner-container (no layout attr = inner-container exists) */
.wp-block-group.ct-grid > .wp-block-group__inner-container { display: grid !important; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: start; }
/* Fallback for when layout attr was flex (no inner-container) */
.wp-block-group.ct-grid { display: grid !important; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: start; }

/* ct-info: flex column applied to inner-container */
.wp-block-group.ct-info > .wp-block-group__inner-container { display: flex !important; flex-direction: column; gap: 24px; }
.wp-block-group.ct-info { display: flex !important; flex-direction: column; gap: 24px; }

.wp-block-group.hero { display: flex !important; flex-direction: column; }
@media(min-width:601px) { .wp-block-group.hero-bottom { display: flex !important; flex-direction: row; gap: 32px; } }
/* Hero spacing fix: .wp-block-group.wrap{padding:0 28px} resets padding-top to 0 on .hero .wrap - override with more specific selector */
.wp-block-group.hero .wp-block-group.wrap { padding-top: 54px !important; }
/* Hero inter-spacing fix: GP sets p{margin-bottom:1.5em} = 25.5px on hero-eye wrapper <p>, remove it */
.wp-block-group.hero-top { --wp--style--block-gap: 0px !important; }
.wp-block-group.hero-top > .wp-block-group__inner-container { --wp--style--block-gap: 0px !important; }
.wp-block-group.hero-top p.wp-block-paragraph:has(.hero-eye) { margin-bottom: 0 !important; }

/* info-grid: grid applied to inner-container */
.wp-block-group.info-grid > .wp-block-group__inner-container { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 16px; }
.wp-block-group.info-grid { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 16px; }

.wp-block-group.price-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.wp-block-group.proc-grid { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 2px; }
.wp-block-group.prod-grid { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 24px; }
.wp-block-group.pt { display: flex !important; flex-direction: column; gap: 10px; }
.wp-block-group.rv-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px; }
.wp-block-group.steps { display: flex !important; flex-direction: column; gap: 2px !important; --wp--style--block-gap: 0px; }
/* Responsive */
@media (max-width: 940px) {
  .wp-block-group.ct-grid, .wp-block-group.price-grid { grid-template-columns: 1fr !important; gap: 40px; }
  .wp-block-group.ct-grid > .wp-block-group__inner-container { grid-template-columns: 1fr !important; gap: 40px; }
  .wp-block-group.proc-grid { grid-template-columns: 1fr 1fr !important; }
  .wp-block-group.rv-grid { grid-template-columns: 1fr !important; }
  .wp-block-group.info-grid { grid-template-columns: 1fr 1fr !important; }
  .wp-block-group.info-grid > .wp-block-group__inner-container { grid-template-columns: 1fr 1fr !important; }
  .wp-block-group.hero-bottom { flex-direction: column; align-items: center; }
}
@media (max-width: 860px) {
  .wp-block-group.prod-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .wp-block-group.info-grid { grid-template-columns: 1fr !important; }
  .wp-block-group.info-grid > .wp-block-group__inner-container { grid-template-columns: 1fr !important; }
  .wp-block-group.wrap { padding: 0 20px; }
}
@media (max-width: 560px) {
  .wp-block-group.prod-grid { grid-template-columns: 1fr !important; }
}

/* WP margin reset for KS components — WP sets p{margin-bottom:1.5em} and h3{margin-bottom:20px} globally */
.card h3, .step-row h3 { margin-bottom: 8px !important; }
.card p, .step-row p, .rv-card p { margin-bottom: 0 !important; }
.pt-row { margin-bottom: 0 !important; }
.price-big, .price-sub { margin-bottom: 0 !important; }
.hero-trust-strip * { margin-bottom: 0 !important; }

/* Match prototype root font-size (16px) for page content — GP body is 17px */
.entry-content { font-size: 16px; line-height: normal; }

/* line-height overrides — GP body lh 1.72 inflates these */
.price-big { line-height: 1.27 !important; }
.price-sub { line-height: 1.3 !important; }

/* QA: spacing + bakgrunn */
.cat-tabs{margin-bottom:64px !important}
.filter-bar{margin-top:48px !important;margin-bottom:56px !important}
.prod-grid{margin-top:16px}
.sec{background-color:#FAF8F5}

/* QA: cat-tabs fyller full bredde */
.cat-tab{flex:1}

/* QA: mat-cards lik topp-justering + riktig gap */
.mat-grid{align-items:start}
.wp-block-group.mat-grid{gap:24px !important}

/* QA: cat-tabs hub - p-wrapper er eneste flex-child */
.wp-block-group.cat-tabs > .wp-block-paragraph{display:flex;gap:2px;flex:1}
.wp-block-group.cat-tabs > .wp-block-paragraph .cat-tab{flex:1}

/* ct-info-card: kontaktinfo-kort i info-grid (kontakt-siden) */
.ct-info-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--kant-lys);border-radius:var(--rm);padding:16px 18px}
.ct-lbl{font-size:.75rem;font-weight:600;color:var(--tekst-myk);text-transform:uppercase;letter-spacing:.08em}
.ct-val{font-weight:600;color:var(--dyp-skog);white-space:nowrap}
.ct-val a{color:var(--salvie);text-decoration:none}
.ct-val a:hover{color:var(--dyp-skog)}

/* QA kontakt: fjern flex-nowrap-effekt pa wrap nar ingen layout-attr er satt */
.wp-block-group.wrap:not(.is-layout-flex){display:block}


/* Fix 2: ct-form-wrap — hvit kortboks rundt skjema (matcher prototype)
   Proto: background:#fff; padding:36px; border-radius:var(--rl); border:1px solid var(--kant-lys) */
.ct-form-wrap,
.wp-block-group.ct-form-wrap {
  background: #fff !important;
  padding: 36px !important;
  border-radius: var(--rl) !important;
  border: 1px solid var(--kant-lys) !important;
  box-sizing: border-box;
}

/* Fjern evt. inner-container padding-reset som bryter ct-form-wrap */
.wp-block-group.ct-form-wrap > .wp-block-group__inner-container {
  padding: 0 !important;
}

/* Fix: om-oss card-col - flex-column layout for ikonkort-kolonne */
/* Med layout:flex Gutenberg legger ingen inner-container - direkte override */
.wp-block-group.card-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
/* Fallback: nar inner-container eksisterer (ingen layout-attr) */
.wp-block-group.card-col > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* FIX 3: Header nav-cta btn-green - hvit tekst
   GP setter color pa .main-navigation a og overrider .btn-green color:#fff.
   !important kreves for a vinne over GP-spesifisitet. */
.main-navigation .btn-green,
.main-navigation a.btn-green,
.site-header .btn-green,
.site-header a.btn-green,
a.btn-green.nav-cta {
  color: #fff !important;
}
.main-navigation .btn-green:hover,
.main-navigation a.btn-green:hover,
.site-header .btn-green:hover,
.site-header a.btn-green:hover,
a.btn-green.nav-cta:hover {
  color: #fff !important;
}

/* === HERO POSITIONING OVERRIDES (BL-052) === */

/* Trust strip - Gutenberg-klasse override (bekrefter .hero-bottom original) */
@media(min-width:601px) { .wp-block-group.hero-bottom {
  position: absolute !important;
  bottom: 24px !important;
} }

/* animation-fill-mode:none + opacity:1: fadeUp (fill-mode:both) skapte transform:matrix
   pa inner-container og brakte den ut av normal flow. fill-mode:none fjerner transform. */
.wp-block-group.hero-top > .wp-block-group__inner-container {
  animation-fill-mode: none !important;
  opacity: 1 !important;
}
/* CTA i normal flow, rett under brodteksten - ingen position:absolute, ingen margin-top:auto */
.wp-block-buttons.hero-ctas {
  position: static !important;
  margin-top: 28px !important;
}

/* Fix Problem 2: Hero CTA-knapper - eksplisitt spesifikk selektor for padding
   Forrige deploy endret .btn fra 13px 26px til 12px 28px, men hero-knapper bruker
   .wp-block-button__link som ble overstyrt av en mer generell regel.
   Denne sikrer at hero-CTA alltid har riktig padding uavhengig av arv. */
.wp-block-buttons.hero-ctas .wp-block-button.btn-green .wp-block-button__link,
.wp-block-buttons.hero-ctas .wp-block-button.btn-ghost .wp-block-button__link {
  padding: 12px 22px !important;
}



.error404 .site-main { display: none; }

