/* SBR2 Site: sitewide design tokens, typography, header and footer.
 * Loaded on every public page. Section styles live in front.css.
 */

@font-face {
	font-family: "Gantari";
	src: url("fonts/gantari-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--sbrs-brand: #00008B;      /* logo navy, logo only */
	--sbrs-accent: #1A73E8;     /* Registerblå, same as SBR2_Theme default */
	--sbrs-accent-deep: #1557B0;
	--sbrs-accent-wash: #E8F0FE;
	--sbrs-deep: #0A1E3F;
	--sbrs-ink: #0F1B2D;
	--sbrs-ink-2: #34445A;
	--sbrs-muted: #627288;
	--sbrs-paper: #FFFFFF;
	--sbrs-mist: #F3F6FA;
	--sbrs-line: #DFE6EF;
	--sbrs-line-2: #C8D3E1;
	--sbrs-good: #1E7F3B;
	--sbrs-good-wash: #E6F4EA;
	--sbrs-warn: #A45A00;
	--sbrs-warn-wash: #FEF3E0;
	--sbrs-crit: #C5221F;
	--sbrs-crit-wash: #FCE8E6;
	--sbrs-ui: "Gantari", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--sbrs-plate: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* One typeface for the whole site. Doubled selectors beat Flatsome's inline type CSS. */
html body,
html body .nav > li > a,
html body .nav-dropdown,
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .heading-font,
html body .button,
html body button,
html body input,
html body select,
html body textarea {
	font-family: var(--sbrs-ui);
}
html body { color: var(--sbrs-ink); -webkit-font-smoothing: antialiased; }

/* ---------- Header ---------- */
html body .header-main { box-shadow: 0 1px 0 var(--sbrs-line); }
html body .header-nav-main.nav > li > a {
	font-size: 15px;
	font-weight: 600;
	color: var(--sbrs-ink-2);
	letter-spacing: 0;
	text-transform: none;
}
html body .header-nav-main.nav > li > a:hover,
html body .header-nav-main.nav > li.active > a,
html body .header-nav-main.nav > li.current-menu-item > a { color: var(--sbrs-ink); }
html body .header-nav-main.nav-line-bottom > li > a::before,
html body .header-nav-main.nav-line-bottom > li.active > a::before { background-color: var(--sbrs-accent); }
html body .nav-dropdown { border-radius: 12px; border: 1px solid var(--sbrs-line); box-shadow: 0 20px 40px -24px rgba(10, 30, 63, .35); padding: 8px; }
html body .nav-dropdown > li > a { border-radius: 8px; padding: 10px 14px; font-weight: 600; color: var(--sbrs-ink); }
html body .nav-dropdown > li > a:hover { background: var(--sbrs-mist); color: var(--sbrs-ink); }
html body .header .button.primary,
html body .header-button .button { border-radius: 10px; font-weight: 700; text-transform: none; letter-spacing: 0; box-shadow: none; }

/* ---------- Footer (renders [sbr_site_footer] inside Flatsome's footer 2) ---------- */
html body .footer-wrapper .footer-2:has(.sbrs-foot) { padding: 0; background: var(--sbrs-deep) !important; }
html body .footer-2:has(.sbrs-foot) > .row,
html body .footer-2:has(.sbrs-foot) .col,
html body .footer-2:has(.sbrs-foot) .col-inner { max-width: none; padding: 0; margin: 0; }
html body .footer-2:has(.sbrs-foot) .widget { margin: 0; }
html body .footer-wrapper:has(.sbrs-foot) .absolute-footer { display: none; }

.sbrs-foot { background: var(--sbrs-deep); color: #AFC0D8; font: 15px/1.6 var(--sbrs-ui); padding: 64px 0 28px; text-align: left; }
.sbrs-foot .sbrs-wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.sbrs-foot-cols { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 32px; }
.sbrs-foot .sbrs-f-logo { display: inline-block; }
.sbrs-foot .sbrs-f-logo-img { display: block; height: 44px; width: auto; aspect-ratio: 1400 / 323; pointer-events: none; }
.sbrs-foot .sbrs-f-name { color: #fff; font-weight: 800; }
.sbrs-foot .sbrs-f-about { margin: 16px 0 0; max-width: 32ch; color: #AFC0D8; }
.sbrs-foot .sbrs-f-h { color: #fff; font-size: 14.5px; font-weight: 700; margin: 0 0 14px; }
.sbrs-foot ul { list-style: none; margin: 0; padding: 0; }
.sbrs-foot li { margin: 0 0 9px; padding: 0; list-style: none; }
.sbrs-foot a { color: #C9D6E8; text-decoration: none; }
.sbrs-foot a:hover { color: #fff; text-decoration: underline; }
.sbrs-foot-base { margin-top: 44px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13.5px; }
@media (max-width: 900px) {
	.sbrs-foot-cols { grid-template-columns: 1fr 1fr; }
	.sbrs-foot-cols > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 549px) {
	.sbrs-foot { padding-top: 44px; }
	.sbrs-foot .sbrs-wrap { padding: 0 18px; }
}

/* Account link from [sbr_mitt_konto] (sbr2-dashboard ships it with inline styles). */
html body .header-main [id^="sbr2d-mk-"] { background: transparent !important; color: var(--sbrs-ink) !important; padding: 8px 12px !important; min-height: 40px !important; border-radius: 10px !important; font-family: var(--sbrs-ui) !important; }
html body .header-main [id^="sbr2d-mk-"]:hover { background: var(--sbrs-mist) !important; }
html body .header-main [id^="sbr2d-mk-"] span { color: var(--sbrs-ink) !important; font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 700 !important; }
html body .header-main [id^="sbr2d-mk-"] svg { display: none; }
html body .header-main .header-button-1 .button { margin: 0 0 0 4px; padding: 0 18px; min-height: 40px; line-height: 40px; font-size: 14.5px; }
html body .header-main [id^="sbr2d-mk-"] span { display: inline-block !important; text-transform: lowercase !important; }
html body .header-main [id^="sbr2d-mk-"] span::first-letter { text-transform: uppercase; }

/* Sticky header: solid, never see-through. */
html body .header-wrapper .header-bg-color { background-color: #fff !important; }

/* Flatsome colours footer links for its own dark/light modes; ours win. */
html body .sbrs-foot a,
html body .sbrs-foot a:visited { color: #C9D6E8 !important; }
html body .sbrs-foot a:hover { color: #fff !important; }
html body .sbrs-foot .sbrs-foot-base { color: #AFC0D8; }

/* Animated SVG logo rendered as <object> (see class-site-logo.php). */
html body #logo .sbrs-logo-obj { display: block; width: 100%; height: auto; aspect-ratio: 1400 / 323; max-height: 76px; padding: 10px 0; box-sizing: content-box; pointer-events: none; }
html body .stuck #logo .sbrs-logo-obj { max-height: 52px; padding: 6px 0; }

/* Footer logo placeholder until the animated SVG is loaded (class-site-footer.php). */
.sbrs-foot .sbrs-f-logo-lazy { display: block; }

/* The cookie banner's close icon is Font Awesome SVG markup; the FA stylesheet that
   sized it is not loaded on the lean pages (class-site-perf.php). */
.svg-inline--fa { display: inline-block; height: 1em; overflow: visible; vertical-align: -.125em; }
.svg-inline--fa.fa-w-11 { width: .6875em; }

/* Contrast (WCAG AA 4.5:1) where the new primary colour or plugin widgets fell short. */
html body .button.primary.is-outline:not(:hover),
html body .button.primary.is-link,
html body .button.primary.is-underline { color: #1463C9; }
#sbr2-agarbyte-root .ag-badge { color: #17704A; }
#sbr2-agarbyte-root .ag-choice-d { color: #4A5F6C; }
#sbr2-agarbyte-root .ag-pid, #sbr2-agarbyte-root .ag-plab { color: #6E6752; }
html body .ag-paper .ag-psec .ag-ptag { color: #3F6A91 !important; }
#sbr2-ks #ks-pill { color: #8A5A06; }
