@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/dm-sans-bold-700.woff2") format("woff2");}
@font-face {font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/dm-sans-medium-500.woff2") format("woff2");}
@font-face {font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/dm-sans-semibold-600.woff2") format("woff2");}

@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/dm-sans-light-300.woff2") format("woff2");
}

/* Site-wide typography, including Astra and existing block content. */
body, button, input, select, textarea,
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body li, body a, body label, body summary,
body strong, body b, body small, body span,
body .entry-content, body .entry-title, body .site-title,
body .ast-button, body .ast-custom-button,
body .uagb-button__link,
body .wp-block-heading {
	font-family: "DM Sans", sans-serif !important;
	font-weight: 300;
}

/* Keep the existing Astra header and block layout. */
#masthead {
	position: absolute !important;
	top: var(--aloniss-admin-offset, 0px) !important;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: transparent;
	box-shadow: none;
	transition: background-color 250ms ease, box-shadow 250ms ease;
}

#masthead.aloniss-is-scrolled {
	position: fixed !important;
	background: rgb(255 255 255 / 90%);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 6px 24px rgb(6 37 59 / 9%);
}

/* Shared header grid across the site; the transparent header overlays the Hero. */
@media (min-width: 922px) {
	#masthead .site-primary-header-wrap {
		width: calc(100% - 2 * clamp(24px, 4vw, 72px));
		max-width: var(--aloniss-grid);
		margin: 0 auto;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	#masthead .site-header-primary-section-left { justify-content: flex-start; }
	#masthead .site-header-primary-section-right { justify-content: flex-end; }
	#masthead .site-header-primary-section-left > .ast-builder-layout-element { padding-left: 0; }
	#masthead .site-header-primary-section-right > .ast-builder-layout-element { padding-right: 0; }
}







#masthead .ast-primary-header-bar {
	background: transparent !important;
	min-height: 96px;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

#masthead .custom-logo-link img {
	width: 208px;
	max-width: 208px;
}

#masthead:not(.aloniss-is-scrolled),
#masthead:not(.aloniss-is-scrolled) .ast-primary-header-bar {
	border-bottom: 0 !important;
}

#masthead .main-header-menu > .menu-item > .menu-link {
	color: #304b5d !important;
}

#masthead .main-header-menu > .menu-item.current-menu-item > .menu-link,
#masthead .main-header-menu > .menu-item > .menu-link:hover {
	color: #147be0 !important;
}

.aloniss-header-spacer { flex-shrink: 0; }

#masthead a[href^="tel:"]::before {
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	height: 18px !important;
}

html {
	scroll-padding-top: calc(var(--aloniss-header-height, 100px) + var(--aloniss-admin-offset, 0px) + 16px);
}

#masthead a[href^="tel:"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

#masthead a[href^="tel:"]::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background-color: currentColor;
	-webkit-mask: url("../images/phone.svg") center / contain no-repeat;
	mask: url("../images/phone.svg") center / contain no-repeat;
}

@media (max-width: 921px) {
	#masthead .ast-button-wrap .menu-toggle {
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 50% !important;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	#masthead .custom-logo-link img { width: 135.2px; max-width: 135.2px; }
	#masthead .ast-primary-header-bar { min-height: 80px; }
	#masthead #ast-mobile-header .ast-mobile-header-content {
		background: var(--ast-global-color-5, #fff);
		display: block !important;
		max-height: 0;
		opacity: 0;
		visibility: hidden;
		overflow: hidden;
		transition: max-height 320ms ease, opacity 220ms ease, visibility 0s 320ms;
	}

	.ast-main-header-nav-open #masthead #ast-mobile-header .ast-mobile-header-content {
		max-height: calc(100dvh - var(--aloniss-header-height, 90px) - var(--aloniss-admin-offset, 0px));
		opacity: 1;
		visibility: visible;
		overflow-y: auto;
		transition: max-height 320ms ease, opacity 220ms ease, visibility 0s;
	}
}

@media (prefers-reduced-motion: reduce) {
	#masthead #ast-mobile-header .ast-mobile-header-content {
		transition: none;
	}
}

/* Prislista Hero: preserve the existing Spectra blocks and their copy. */




































/* Eight editable service cards, using the supplied photography and icon sheet. */





















































@media (prefers-reduced-motion: reduce) { #masthead { transition: none; } }

/* White site canvas and a shared desktop grid for the price page. */
:root, body {
	--ast-global-color-4: #fff !important;
	--ast-global-color-6: #fff !important;
}
body, #page { background-color: #fff !important; }























/* Overlay spacing follows the final responsive Hero padding rules. */





/* First-screen backgrounds continue behind the transparent header. */
body:has(.entry-content > :is(.uagb-block-9e299122, .uagb-block-5ee8ccc4, .uagb-block-f90b5c01, .uagb-block-0f5c86a2):first-child) #content {
 padding-top: 0;
}
.entry-content > .uagb-block-9e299122:first-child {
 padding-top: max(100px, calc(var(--aloniss-header-height, 96px) + 24px)) !important;
}
.home .entry-content > .uagb-block-9e299122:first-child {
 padding-top: max(180px, calc(var(--aloniss-header-height, 96px) + 24px)) !important;
}
@media (max-width: 921px) {
 .home .entry-content > .uagb-block-9e299122:first-child {
  padding-top: calc(var(--aloniss-header-height, 80px) + 24px) !important;
 }
}

/* Opening the mobile menu gives the logo and navigation one glass panel. */
@media (max-width: 921px) {
 body.ast-main-header-nav-open #masthead {
  background: rgb(255 255 255 / 90%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 6px 24px rgb(6 37 59 / 9%);
 }
 #masthead #ast-mobile-header .ast-mobile-header-content,
 #masthead #ast-mobile-header .ast-mobile-header-content .main-header-menu,
 #masthead #ast-mobile-header .ast-mobile-header-content .menu-item,
 #masthead #ast-mobile-header .ast-mobile-header-content .menu-link {
  background-color: transparent !important;
 }
}

@media (max-width: 921px) {
 #masthead #ast-mobile-header .menu-item-has-children > .sub-menu {
  display: block !important;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: max-height 320ms ease, opacity 220ms ease, visibility 0s 320ms;
 }
 #masthead #ast-mobile-header .ast-submenu-expanded > .sub-menu {
  max-height: var(--aloniss-submenu-height, 600px);
  opacity: 1;
  visibility: visible;
  transition: max-height 320ms ease, opacity 220ms ease, visibility 0s;
 }
}
@media (prefers-reduced-motion: reduce) {
 #masthead #ast-mobile-header .menu-item-has-children > .sub-menu { transition: none; }
}

/* Let long Swedish service names use the full card width below the icon. */



/* Separate service titles from their overlapping icons. */

/* Emphasize the navigation contact number. */
body #masthead a[href^="tel:"],body #masthead a[href^="tel:"] strong{font-family:'DM Sans',sans-serif!important;font-weight:700!important;}
