/* Gradek – site-wide CSS (loaded by the Gradek – tilpasninger plugin, in the slot Divi used for Theme Options CSS). Design lives in Divi presets + global colours/variables.
   This file only carries: brand signature details Divi attributes can't express, plugin markup (WPForms, Divi Pixel FAQ/
   breadcrumbs/tabs), card stretch-links and focus states. Colours mirror the global colours (fallbacks keep CPT pages right). */
:root{--gk-skog:#435350;--gk-skog-m:#36433F;--gk-sand:#C2A878;--gk-krem:#F1EAD8;--gk-papir:#FAF6EC;--gk-grafitt:#1B1E24;--gk-body:#33373D;--gk-messing:#7A6337;--gk-line:rgba(27,30,36,.14);--gk-line-d:rgba(250,246,236,.18)}
body{overflow-x:clip;background:var(--gk-papir)}
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* ---- Focus states (a11y): visible ring on every interactive element ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--gk-sand)!important;outline-offset:3px!important;border-radius:2px}
.gk-hero a:focus-visible,.gk-header a:focus-visible,.gk-footer a:focus-visible,.et_pb_section.gk-dark a:focus-visible{outline-color:var(--gk-krem)!important}
.gk-skip{position:absolute;left:12px;top:-60px;z-index:100000;background:var(--gk-sand);color:var(--gk-grafitt)!important;padding:12px 20px;font-weight:600;text-decoration:none}
.gk-skip:focus{top:12px}

/* ---- Signature: the 90° corner mark (the G's angle) on photos ---- */
.gk-vinkel{position:relative}
.gk-vinkel::before{content:"";position:absolute;z-index:2;top:-14px;left:-14px;width:72px;height:72px;border-top:3px solid var(--gk-sand);border-left:3px solid var(--gk-sand);pointer-events:none}
.gk-vinkel::after{content:"";position:absolute;z-index:2;bottom:-14px;right:-14px;width:72px;height:72px;border-bottom:3px solid var(--gk-sand);border-right:3px solid var(--gk-sand);pointer-events:none}
@media (max-width:767px){.gk-vinkel::before,.gk-vinkel::after{width:44px;height:44px;top:-8px;left:-8px}.gk-vinkel::after{top:auto;left:auto;bottom:-8px;right:-8px}}

/* ---- Eyebrow: short sand rule before the label ---- */
.gk-eyebrow p{display:inline-flex;align-items:center;gap:14px}
.gk-eyebrow p::before{content:"";display:inline-block;width:32px;height:2px;background:var(--gk-sand);flex:none}
.gk-eyebrow--center{text-align:center}

/* ---- Hero ---- */
.et_pb_section.gk-hero--video{position:relative;isolation:isolate}
.et_pb_section.gk-hero--video::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(31,38,37,.9) 0%,rgba(31,38,37,.8) 50%,rgba(31,38,37,.74) 100%)}
@media (max-width:980px){.et_pb_section.gk-hero--video::before{background:rgba(31,38,37,.78)}}
.et_pb_section.gk-hero--video>.et_pb_row{position:relative;z-index:2}
.gk-quick .dipi_button_grid_child a,.gk-quick a.et_pb_button,.gk-quick .dipi-button-grid-button{min-width:240px;text-align:center}
@media (max-width:980px){.gk-quick a{min-width:0}}

/* ---- Breadcrumbs (Divi Pixel) ---- */
.gk-crumbs a,.gk-crumbs span,.gk-crumbs li{font-family:Jost,sans-serif;font-size:14px!important;letter-spacing:.06em}
.gk-crumbs--light a{color:var(--gk-krem)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gk-crumbs--light a:hover{color:#fff!important}
.gk-crumbs--light,.gk-crumbs--light span{color:rgba(250,246,236,.84)}

/* ---- Cards: whole card is the link via the title's stretched anchor ---- */
.gk-card{position:relative;height:100%}
.gk-card--link{cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}
.gk-card--link:hover{border-color:var(--gk-sand)!important;transform:translateY(-2px)}
.gk-card--link:focus-within{outline:3px solid var(--gk-sand);outline-offset:3px}
.gk-card a.gk-stretch{color:inherit!important;text-decoration:none}
.gk-card a.gk-stretch::after{content:"";position:absolute;inset:0;z-index:1}
.gk-card a.gk-stretch:focus-visible{outline:none!important}
.gk-card .et_pb_heading,.gk-card .et_pb_module_header{position:static!important}
.gk-more{font-family:Jost,sans-serif;font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gk-messing);display:inline-flex;align-items:center;gap:10px}
.gk-more::after{content:"";width:22px;height:2px;background:currentColor;transition:width .2s ease}
.gk-card--link:hover .gk-more::after{width:34px}
.gk-card .gk-more-wrap{margin-top:auto}
.et_pb_section .gcard-dark .gk-more,.gk-steps .gk-more{color:var(--gk-krem)}
.preset--module--divi-group--3c1f1a45-97a2-48c4-90c0-276a37bcdb8e .gk-more{color:var(--gk-krem)}
.gk-step-num p{font-family:Spectral,serif!important;font-size:44px!important;letter-spacing:0!important;line-height:1!important;color:var(--gk-messing)}
.gk-step-num p::before{display:none}
.gk-step{border-top:3px solid var(--gk-sand)!important}

/* ---- Checklist (two columns, sand check) ---- */
.gk-check ul{list-style:none!important;padding:0!important;margin:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.gk-check li{position:relative;padding:16px 18px 16px 52px!important;background:var(--gk-papir);border:1px solid var(--gk-line);list-style:none!important;line-height:1.5}
.gk-check li::before{content:"";position:absolute;left:20px;top:21px;width:14px;height:8px;border-left:2px solid var(--gk-messing);border-bottom:2px solid var(--gk-messing);transform:rotate(-45deg)}
.gk-check--light li{background:rgba(250,246,236,.06);border-color:var(--gk-line-d)}
.gk-check--light li::before{border-color:var(--gk-sand)}
@media (max-width:767px){.gk-check ul{grid-template-columns:1fr}}

/* ---- Chips (related services) + contact list ---- */
.gk-chips{display:flex;flex-wrap:wrap;gap:10px}
.gk-chips a{display:inline-block;padding:10px 18px;border:1px solid var(--gk-line);border-radius:100px;font-family:Jost,sans-serif;font-size:14px;letter-spacing:.06em;text-decoration:none!important;color:var(--gk-grafitt)!important;background:var(--gk-papir);transition:all .2s ease}
.gk-chips a:hover{border-color:var(--gk-skog);background:var(--gk-skog);color:var(--gk-papir)!important}
.et_pb_section .gk-chips-wrap.gk-light a,.preset--module--divi-column--7d1c7855-a6b2-4dea-9c4f-c8ea95ff88b9 .gk-chips a{background:transparent;border-color:var(--gk-line-d);color:var(--gk-papir)!important}
.preset--module--divi-column--7d1c7855-a6b2-4dea-9c4f-c8ea95ff88b9 .gk-chips a:hover{background:var(--gk-papir);color:var(--gk-skog)!important}
.gk-contact-list{list-style:none!important;padding:0!important;margin:24px 0 0!important}
.gk-contact-list li{display:flex;flex-direction:column;padding:14px 0;border-top:1px solid var(--gk-line-d);list-style:none!important}
.gk-contact-list span{font-family:Jost,sans-serif;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--gk-krem)}
.gk-contact-list a{font-family:Spectral,serif;font-size:24px;color:var(--gk-papir)!important;text-decoration:none}
.gk-contact-list a:hover{text-decoration:underline}

/* ---- Quote (Spectral italic, large: sand passes AA as large text on Skoggrønn) ---- */
.gk-quote p{font-family:Spectral,serif!important;font-style:italic;font-size:clamp(26px,2.6vw,38px)!important;line-height:1.3!important;color:var(--gk-sand)!important;border-left:3px solid var(--gk-sand);padding-left:28px}

/* ---- Header + mega menu ---- */
.gk-nav--has-panel>a::after,.gk-nav--has-panel .et_pb_link::after{content:"";display:inline-block;width:7px;height:7px;margin-left:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.et_pb_link_module:has(.et_pb_dropdown){cursor:pointer}
.gk-nav a:hover,.gk-nav a:focus-visible{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.gk-phone a::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gk-sand);margin-right:10px;transform:translateY(-1px)}
.gk-mega-head{font-family:Spectral,serif!important;font-size:21px!important;color:var(--gk-grafitt)!important;margin-bottom:8px!important}
.et_pb_dropdown ul{padding:0!important}
.et_pb_dropdown li{padding:4px 0!important}
.et_pb_dropdown li a{text-decoration:none}
.et_pb_dropdown li a:hover{text-decoration:underline;text-underline-offset:4px}
.gk-mega-foot{border-top:1px solid var(--gk-line);padding-top:16px!important}
.gk-mega-foot a{font-weight:600!important;color:var(--gk-messing)!important}
.gk-mega-sep{margin:0 8px;color:var(--gk-sand)}
.gk-header .et_pb_dropdown{text-transform:none}
.gk-burger a{cursor:pointer}

/* Full menu needs ~1200px: between Divi's tablet breakpoint and 1200px show the menu button instead */
@media (min-width:981px) and (max-width:1199px){
  .gk-header .gk-mainnav,.gk-header .gk-phone{display:none!important}
  .gk-header .gk-burger{display:inline-flex!important}
}
/* ---- Mobile menu (Divi Pixel popup) ---- */
.gk-mm-head{font-family:Jost,sans-serif!important;font-size:14px!important;letter-spacing:.16em;text-transform:uppercase;color:var(--gk-sand)!important;margin-bottom:6px!important}
.gk-mm-main li a{text-decoration:none}

/* ---- Footer ---- */
.gk-footer a{text-decoration:none}
.gk-footer a:hover,.gk-footer a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.gk-footer ul{list-style:none!important;padding:0!important}
.gk-footer li{padding:3px 0;list-style:none!important}
.gk-foot-head p::before{display:none}
.gk-legal{font-size:14px}
.gk-legal span{margin:0 6px;color:var(--gk-sand)}

/* ---- WPForms (class .gk-form on the text module; form sits on a Papir card) ---- */
.gk-form .wpforms-container{--wpforms-field-background-color:#fff;--wpforms-field-border-color:#6B6F75;--wpforms-field-border-size:1px;--wpforms-field-border-radius:4px;
  --wpforms-field-text-color:#1B1E24;--wpforms-field-size-input-height:52px;--wpforms-field-size-font-size:16px;--wpforms-field-size-padding-h:16px;--wpforms-field-size-input-spacing:18px;
  --wpforms-field-menu-color:#fff;--wpforms-field-size-checkbox-size:20px;--wpforms-label-color:#1B1E24;--wpforms-label-size-font-size:16px;--wpforms-label-sublabel-color:#33373D;
  --wpforms-label-error-color:#9B2C1F;--wpforms-button-background-color:#435350;--wpforms-button-background-color-alt:#36433F;--wpforms-button-text-color:#FAF6EC;
  --wpforms-button-border-radius:0px;--wpforms-button-size-height:54px;--wpforms-button-size-font-size:15px;--wpforms-button-size-padding-h:34px;--wpforms-button-border-size:2px;
  --wpforms-button-border-color:#435350;--wpforms-container-padding:0px;margin:0!important}
.gk-form .wpforms-container .wpforms-field{padding:10px 0!important}
.gk-form .wpforms-container .wpforms-field-label{font-weight:600!important;color:#1B1E24!important}
.gk-form .wpforms-container .wpforms-field-description,.gk-form .wpforms-container .wpforms-field-sublabel{color:#33373D!important;font-size:14px!important}
.gk-form .wpforms-container input:not([type=checkbox]):not([type=radio]),.gk-form .wpforms-container textarea,.gk-form .wpforms-container select{background:#fff!important;color:#1B1E24!important;border:1px solid #6B6F75!important;border-radius:4px!important}
.gk-form .wpforms-container input:focus,.gk-form .wpforms-container textarea:focus,.gk-form .wpforms-container select:focus{border-color:#435350!important;box-shadow:0 0 0 3px rgba(194,168,120,.45)!important;outline:none}
.gk-form .wpforms-container button[type=submit]{background:#435350!important;color:#FAF6EC!important;border:2px solid #435350!important;font-family:Jost,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;border-radius:100px!important;transition:all .2s ease}
.gk-form .wpforms-container button[type=submit]:hover{background:transparent!important;color:#435350!important}
.gk-form .wpforms-container .wpforms-field-gdpr-checkbox label,.gk-form .wpforms-container .wpforms-field-checkbox li label,.gk-form .wpforms-container .wpforms-field-radio li label{font-weight:400!important;font-size:15px!important;line-height:1.5!important;color:#33373D!important}
.gk-form .wpforms-container a{color:#7A6337!important;font-weight:600;text-decoration:underline}
.gk-form .wpforms-container .wpforms-field-checkbox ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}
.gk-form .wpforms-container .wpforms-field-radio ul{display:flex!important;flex-wrap:wrap;gap:6px 22px}
@media (max-width:767px){.gk-form .wpforms-container .wpforms-field-checkbox ul{grid-template-columns:1fr}}
.gk-form .wpforms-container .wpforms-uploader{border:1px dashed #6B6F75!important;background:#fff!important;border-radius:4px}
.gk-form .wpforms-confirmation-container-full{background:var(--gk-krem)!important;border:1px solid var(--gk-sand)!important;color:#1B1E24!important;border-radius:0}
.gk-form .wpforms-container .wpforms-field-medium,.gk-form .wpforms-container input.wpforms-field-medium,.gk-form .wpforms-container select.wpforms-field-medium,.gk-form .wpforms-container textarea.wpforms-field-medium{max-width:100%!important;width:100%!important}
.gk-form-title h3{margin-bottom:6px}

/* ---- Divi Pixel FAQ: square entries, sand accent when open ---- */
.gk-faq .dipi-faq-entry{background:var(--gk-papir)!important;border:1px solid var(--gk-line)!important;border-radius:0!important;margin-bottom:12px!important;overflow:hidden;transition:border-color .2s ease}
.gk-faq .dipi-faq-entry.open{border-color:var(--gk-sand)!important;border-left:3px solid var(--gk-sand)!important}
.gk-faq .dipi-faq-entry:hover{border-color:var(--gk-sand)!important}
.gk-faq .dipi-faq-title{padding:20px 60px 20px 24px!important;cursor:pointer}
.gk-faq .dipi-faq-title,.gk-faq .dipi-faq-title h3{font-family:Spectral,serif!important;font-size:21px!important;font-weight:400!important;line-height:1.35!important;color:var(--gk-grafitt)!important;margin:0!important}
.gk-faq .dipi-faq-title h3{padding-bottom:0!important}
/* 2026-10-29: the title keeps 20px top and bottom in both states (it used to drop to 0 when closed and jump to 6px on open), and
   no CSS transition on title or answer – Divi Pixel's own slide animates the answer, a transition on top of it made it stutter. */
.gk-faq .dipi-faq-title,.gk-faq .dipi-faq-content{transition:none!important}
.gk-faq .dipi-faq-title>i,.gk-faq .dipi-faq-icon{right:22px!important;color:var(--gk-messing)!important}
.gk-faq .dipi-faq-content{padding:0 24px 22px 24px!important;font-size:17px;line-height:1.75;color:var(--gk-body)}
.gk-faq .dipi-faq-content a{color:var(--gk-messing);font-weight:600}

/* ---- Divi Pixel Advanced Tabs ---- */
.gk-tabs .dipi-advanced-tabs-nav,.gk-tabs .dipi_advanced_tabs_item_nav{gap:10px}
.gk-tabs ul{list-style:none!important;padding:0!important}
.gk-tabs .dipi-at-content ul li,.gk-tabs .dipi_advanced_tabs_item ul li{position:relative;padding:6px 0 6px 30px;list-style:none!important}
.gk-tabs .dipi_advanced_tabs_item ul li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:2px solid var(--gk-messing);border-bottom:2px solid var(--gk-messing);transform:rotate(-45deg)}
.gk-tabs .dipi_advanced_tabs_item ul{columns:2;column-gap:28px;margin:18px 0 6px!important}
@media (max-width:767px){.gk-tabs .dipi_advanced_tabs_item ul{columns:1}}
.gk-burger{white-space:nowrap;align-items:center;justify-content:center}
.gk-burger a{display:block;white-space:nowrap}
body .gk-header a.et_pb_link.gk-burger{padding:11px 22px!important;border:2px solid var(--gk-papir);border-radius:100px}
.gk-crumbs ul{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0!important;margin:0!important;list-style:none!important}
.gk-crumbs li,.gk-crumbs li a,.gk-crumbs li span{background:transparent!important;padding:0!important;list-style:none!important}
.gk-crumbs--light .dipi-breadcrumb-item:last-child span{color:rgba(250,246,236,.84)!important}
.gk-crumbs .dipi-separator-symbol{color:var(--gk-sand)!important}
.gk-card-name p{font-family:Spectral,serif!important;font-size:26px!important;line-height:1.2!important;color:var(--gk-grafitt)!important}
/* Hero video is cover-cropped: clip it to the section */
.et_pb_section.gk-hero--video{overflow:hidden}
/* Advanced Tabs: on tablet/phone the tab buttons stack instead of overflowing sideways */
@media (max-width:980px){
  .gk-tabs .dipi-at-tabs{flex-direction:column!important;flex-wrap:nowrap!important;width:100%!important}
  .gk-tabs .dipi-at-tab{width:100%!important;max-width:100%!important}
  .gk-tabs .dipi-at-tabs-container{flex-direction:column!important}
}

/* Video pause control (SC 2.2.2) */
.gk-video-toggle{position:absolute;z-index:3;right:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,32px);display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:2px solid var(--gk-krem);border-radius:100px;background:rgba(31,38,37,.6);color:var(--gk-papir);font-family:Jost,sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gk-video-toggle:hover{background:var(--gk-papir);color:var(--gk-skog)}
@media (max-width:980px){.gk-video-toggle{top:16px;bottom:auto}}
#main-content:focus{outline:none!important}
.gk-nav[aria-current="page"] .et_pb_link_text,.gk-mainnav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.gk-chips--center{justify-content:center}
.gk-chips--dark a{background:transparent;border-color:rgba(250,246,236,.6);color:var(--gk-papir)!important}
.gk-chips--dark a:hover{background:var(--gk-papir);color:var(--gk-skog)!important}

/* ---- Buttons: square, thin inner frame and the brand's 90° corner marks, like the image placeholders (client request 2026-10-28).
   Radius comes from the "Radius knapp" variable (0px); colours from the button presets. Applies to Divi buttons, the Divi Pixel
   quick links and tab buttons (all a.et_pb_button), the WPForms submit and the header's menu button. ---- */
body a.et_pb_button,body .gk-form .wpforms-container button[type=submit],body .gk-header a.et_pb_link.gk-burger{position:relative;border-radius:0!important;outline:1px solid color-mix(in srgb,currentColor 45%,transparent);outline-offset:-7px}
body .preset--module--divi-button--9a51294f-c49e-4f21-8a99-fc0875d6f705,body a.et_pb_button.dipi-at-btn,body .gk-form .wpforms-container button[type=submit]{outline-color:var(--gk-sand)}
body #page-container .et_pb_section a.et_pb_button.et_pb_button::before,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::before,body a.et_pb_button.et_pb_button::before,body .gk-form .wpforms-container button[type=submit]::before,body .gk-header a.et_pb_link.gk-burger::before,
body #page-container .et_pb_section a.et_pb_button.et_pb_button::after,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::after,body a.et_pb_button.et_pb_button::after,body .gk-form .wpforms-container button[type=submit]::after,body .gk-header a.et_pb_link.gk-burger::after{
  content:""!important;display:block!important;position:absolute!important;width:16px!important;height:16px!important;margin:0!important;padding:0!important;
  font-size:0!important;line-height:0!important;background:none!important;opacity:1!important;transform:none!important;pointer-events:none;transition:none!important}
body #page-container .et_pb_section a.et_pb_button.et_pb_button::before,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::before,body a.et_pb_button.et_pb_button::before,body .gk-form .wpforms-container button[type=submit]::before,body .gk-header a.et_pb_link.gk-burger::before{
  top:-7px!important;left:-7px!important;right:auto!important;bottom:auto!important;border-top:2px solid var(--gk-sand)!important;border-left:2px solid var(--gk-sand)!important;border-right:0!important;border-bottom:0!important}
body #page-container .et_pb_section a.et_pb_button.et_pb_button::after,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::after,body a.et_pb_button.et_pb_button::after,body .gk-form .wpforms-container button[type=submit]::after,body .gk-header a.et_pb_link.gk-burger::after{
  bottom:-7px!important;right:-7px!important;left:auto!important;top:auto!important;border-bottom:2px solid var(--gk-sand)!important;border-right:2px solid var(--gk-sand)!important;border-left:0!important;border-top:0!important}
body .gk-header a.et_pb_link.gk-burger{border-radius:0!important}
body .gk-form .wpforms-container button[type=submit]{--wpforms-button-border-radius:0px}

/* ---- Mega menu column headings: Jost like the main menu; icon + heading are one link (client request 2026-10-28) ---- */
.gk-mega-head,.et_pb_dropdown .gk-mega-head{font-family:Jost,sans-serif!important;font-size:15px!important;font-weight:500!important;letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.3!important;color:var(--gk-grafitt)!important;margin-bottom:10px!important}
.gk-mega-cat-wrap{margin-bottom:10px!important;padding:0!important}
.et_pb_dropdown a.gk-mega-cat{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;text-decoration:none!important;color:var(--gk-grafitt)!important}
.et_pb_dropdown a.gk-mega-cat img{width:34px;height:34px;display:block}
.et_pb_dropdown a.gk-mega-cat .gk-mega-head{margin-bottom:0!important}
.et_pb_dropdown a.gk-mega-cat:hover .gk-mega-head,.et_pb_dropdown a.gk-mega-cat:focus-visible .gk-mega-head{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* ---- Buttons: the corner marks are hidden at rest and grow out of the corners on hover / keyboard focus (2026-10-28).
   Pseudo-elements are absolutely positioned, so the button never resizes and its text never moves. ---- */
body #page-container .et_pb_section a.et_pb_button.et_pb_button::before,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::before,body a.et_pb_button.et_pb_button::before,body .gk-form .wpforms-container button[type=submit]::before,body .gk-header a.et_pb_link.gk-burger::before,body #page-container .et_pb_section a.et_pb_button.et_pb_button::after,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::after,body a.et_pb_button.et_pb_button::after,body .gk-form .wpforms-container button[type=submit]::after,body .gk-header a.et_pb_link.gk-burger::after{width:0!important;height:0!important;opacity:0!important;transition:width .25s ease,height .25s ease,opacity .15s ease!important}
body #page-container .et_pb_section a.et_pb_button.et_pb_button:is(:hover,:focus-visible)::before,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap:is(:hover,:focus-visible)::before,body a.et_pb_button.et_pb_button:is(:hover,:focus-visible)::before,body .gk-form .wpforms-container button[type=submit]:is(:hover,:focus-visible)::before,body .gk-header a.et_pb_link.gk-burger:is(:hover,:focus-visible)::before,body #page-container .et_pb_section a.et_pb_button.et_pb_button:is(:hover,:focus-visible)::after,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap:is(:hover,:focus-visible)::after,body a.et_pb_button.et_pb_button:is(:hover,:focus-visible)::after,body .gk-form .wpforms-container button[type=submit]:is(:hover,:focus-visible)::after,body .gk-header a.et_pb_link.gk-burger:is(:hover,:focus-visible)::after{width:16px!important;height:16px!important;opacity:1!important}
@media (prefers-reduced-motion:reduce){body #page-container .et_pb_section a.et_pb_button.et_pb_button::before,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::before,body a.et_pb_button.et_pb_button::before,body .gk-form .wpforms-container button[type=submit]::before,body .gk-header a.et_pb_link.gk-burger::before,body #page-container .et_pb_section a.et_pb_button.et_pb_button::after,body #page-container .et_pb_section .gk-quick a.et_pb_button.dipi-button-grid.dipi-button-wrap::after,body a.et_pb_button.et_pb_button::after,body .gk-form .wpforms-container button[type=submit]::after,body .gk-header a.et_pb_link.gk-burger::after{transition:none!important}}

/* ---- Complianz cookie banner (2026-10-28). Colours live in the banner settings (hex only); here only Gradek type,
   square corners and the same button behaviour as the site: fill → outline on hover, box never changes size. ---- */
.cmplz-cookiebanner{border-radius:0!important;font-family:Archivo,sans-serif!important}
.cmplz-cookiebanner .cmplz-title{font-family:Spectral,serif!important;font-size:24px!important;font-weight:400!important;line-height:1.2!important;color:#1B1E24!important}
.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-message p{font-size:15px!important;line-height:1.6!important;color:#33373D!important}
.cmplz-cookiebanner .cmplz-btn{font-family:Jost,sans-serif!important;font-size:14px!important;font-weight:500!important;letter-spacing:.08em!important;text-transform:uppercase;border-radius:0!important;border-width:2px!important;border-style:solid!important;transition:background-color .2s,color .2s}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover,.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover{background-color:transparent!important;color:#435350!important;border-color:#435350!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options:hover{background-color:#435350!important;color:#FAF6EC!important;border-color:#435350!important}
.cmplz-cookiebanner .cmplz-btn:focus-visible,.cmplz-cookiebanner a:focus-visible,.cmplz-cookiebanner input:focus-visible+label{outline:3px solid #C2A878!important;outline-offset:3px!important}
.cmplz-cookiebanner .cmplz-category{background-color:#F1EAD8!important;border-radius:0!important}
.cmplz-cookiebanner .cmplz-category .cmplz-category-title{color:#1B1E24!important;font-weight:600}
.cmplz-cookiebanner .cmplz-always-active{color:#7A6337!important}
.cmplz-cookiebanner .cmplz-links a{color:#7A6337!important;text-decoration:underline;text-underline-offset:3px}

/* ---- Complianz legal documents (Personvernerklæring, Informasjonskapsler): site type instead of document.css (14px, IDs) ---- */
.gk-legaldoc #cmplz-document{max-width:none;font-size:17px;line-height:1.75;color:#33373D;font-family:Archivo,sans-serif}
.gk-legaldoc #cmplz-document p,.gk-legaldoc #cmplz-document li,.gk-legaldoc #cmplz-document td{font-size:17px;line-height:1.75;color:#33373D}
.gk-legaldoc #cmplz-document h2{font-family:Spectral,serif;font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.25;color:#1B1E24;margin:44px 0 14px}
.gk-legaldoc #cmplz-document h2:first-of-type{margin-top:24px}
.gk-legaldoc #cmplz-document h3,.gk-legaldoc #cmplz-document h4{font-family:Spectral,serif;font-weight:400;font-size:21px;line-height:1.3;color:#1B1E24;margin:24px 0 8px}
.gk-legaldoc #cmplz-document a{color:#7A6337;font-weight:600}
.gk-legaldoc #cmplz-document details.cmplz-dropdown{background:#F1EAD8;border:1px solid rgba(27,30,36,.14);border-radius:0;margin:12px 0;padding:0 20px}
.gk-legaldoc #cmplz-document details.cmplz-dropdown[open]{border-color:#C2A878;padding-bottom:12px}
.gk-legaldoc #cmplz-document details.cmplz-dropdown summary{padding:16px 0;cursor:pointer}
.gk-legaldoc #cmplz-document table{border-collapse:collapse;width:100%}
.gk-legaldoc #cmplz-document table th,.gk-legaldoc #cmplz-document table td{padding:10px 14px;border-top:1px solid rgba(27,30,36,.14);text-align:left}
#cmplz-manage-consent-container{scroll-margin-top:130px}
.cmplz-cookiebanner .cmplz-body>.cmplz-message,.cmplz-cookiebanner .cmplz-body>.cmplz-categories{width:100%!important;max-width:none!important}
@media (min-width:768px){.cmplz-cookiebanner.cmplz-bottom-left{width:min(560px,calc(100vw - 20px))!important;max-width:min(560px,calc(100vw - 20px))!important}}
.cmplz-cookiebanner .cmplz-header{display:block!important}
.cmplz-cookiebanner .cmplz-header .cmplz-logo:empty,.cmplz-cookiebanner .cmplz-header .cmplz-close{display:none!important}
.cmplz-cookiebanner .cmplz-header .cmplz-title{display:block!important;width:100%!important;text-align:left!important;margin:0!important}
/* Complianz's floating "Administrer samtykke" tab: the footer link (.gk-consent) does this job. The banner's own
   hide-everywhere rule only ships in the banner CSS, which Complianz doesn't load for visitors who have already chosen. */
#cmplz-manage-consent .cmplz-manage-consent{display:none!important}

/* ---- Complianz privacy-request form "Send" (2026-10-29): same look as the contact-form submit. An <input> can't carry
   ::before/::after, so the site plugin (16) wraps it in span.gk-btnwrap, which draws the corner marks on hover / keyboard focus. ---- */
#cmplz-document #cmplz-datarequest-submit{-webkit-appearance:none;appearance:none;display:inline-block;height:54px;padding:0 34px;margin:0;background:#435350;color:#FAF6EC;border:2px solid #435350;border-radius:0;font-family:Jost,sans-serif;font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1;cursor:pointer;outline:1px solid var(--gk-sand);outline-offset:-7px;transition:all .2s ease}
#cmplz-document #cmplz-datarequest-submit:hover{background:transparent;color:#435350}
.gk-btnwrap{position:relative;display:inline-block;vertical-align:top}
#cmplz-datarequest-form .gk-btnwrap,#cmplz-datarequest-form > #cmplz-datarequest-submit{margin-top:16px}
.gk-btnwrap::before,.gk-btnwrap::after{content:"";position:absolute;width:0;height:0;opacity:0;pointer-events:none;transition:width .25s ease,height .25s ease,opacity .15s ease}
.gk-btnwrap::before{top:-7px;left:-7px;border-top:2px solid var(--gk-sand);border-left:2px solid var(--gk-sand)}
.gk-btnwrap::after{bottom:-7px;right:-7px;border-bottom:2px solid var(--gk-sand);border-right:2px solid var(--gk-sand)}
.gk-btnwrap:is(:hover,:has(:focus-visible))::before,.gk-btnwrap:is(:hover,:has(:focus-visible))::after{width:16px;height:16px;opacity:1}
@media (prefers-reduced-motion:reduce){.gk-btnwrap::before,.gk-btnwrap::after{transition:none}}
/* ---- Complianz privacy-request form fields: same look as the contact-form (WPForms) fields (2026-10-29). The anti-spam
   field (label.cmplz-first-name) is left alone: Complianz keeps it off-screen. ---- */
#cmplz-datarequest-form > div{margin:0;padding:10px 0}
#cmplz-datarequest-form > div > label:not(:has(input)){display:block;margin:0 0 18px;font-family:Archivo,sans-serif;font-size:16px;font-weight:600;line-height:1.2;color:var(--gk-grafitt)}
#cmplz-datarequest-form > div > input[type=text],#cmplz-datarequest-form > div > input[type=email]{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;width:100%;max-width:480px;height:52px;margin:0;padding:0 16px;background:#fff;border:1px solid #6B6F75;border-radius:4px;box-shadow:none;font-family:Archivo,sans-serif;font-size:16px;color:var(--gk-grafitt)}
#cmplz-datarequest-form > div > input[type=text]:focus,#cmplz-datarequest-form > div > input[type=email]:focus{outline:none!important;border-color:#435350;box-shadow:0 0 0 3px rgba(194,168,120,.45)}
#cmplz-datarequest-form > div.cmplz_datarequest{padding:9px 0}
#cmplz-datarequest-form > div.cmplz_datarequest > label{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:15px;line-height:1.5;color:var(--gk-body);cursor:pointer}
#cmplz-datarequest-form input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;border:1px solid #6B6F75;border-radius:3px;background:#fff center/14px 14px no-repeat;cursor:pointer}
#cmplz-datarequest-form input[type=checkbox]:checked{border-color:#435350;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7.5l3.2 3L12 3.5' fill='none' stroke='%23435350' stroke-width='2.6'/%3E%3C/svg%3E")}
#cmplz-datarequest-form input[type=checkbox]:focus-visible{outline:3px solid var(--gk-sand)!important;outline-offset:2px!important}
