/*
Theme Name: Bostadsbesiktningen
Theme URI: https://modena.se
Author: Gabriel Westington
*/

@font-face{font-family:"Roboto";src:url('/wp-content/themes/bostadsbesiktningen/assets/fonts/Roboto-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Roboto";src:url('/wp-content/themes/bostadsbesiktningen/assets/fonts/Roboto-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}

*,*:before,*:after{box-sizing:inherit;-webkit-tap-highlight-color: transparent;}html{box-sizing:border-box}body{margin:0;padding:0;-webkit-font-smoothing:antialiased}article,footer,header,main,menu,nav,section{display:block}strong{font-weight:bold}img,.wp-caption{max-width:100%;height:auto;border:0;display:block}ul,ol,li>ul,li>ol{margin:0;padding:0;list-style:none}ul,ol{margin-left:20px;margin-bottom:20px}ul{list-style:disc}svg:not(:root){overflow:hidden}figure{display:block;margin:0}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}.site-content{overflow:hidden} figure img { display: block;}

:root {
    --header-height: 85px;
    --header-height-small: 70px;
	--default-max-width: 1360px;
	--column-padding: 30px;
	--color-darkblue: #0E2C5F;
	--color-darkerblue: #091d41;
	--color-subtleblue: #D0D1DB;
	--color-almostwhite: #FAFAFA;
	--color-lightblue: #EDF4FC;
    --color-lightgrey: #E3E3E3;
	--color-grey: #555555;
    --color-darkgrey: #222222;
	--color-almostblack: #101014;
	--color-white: #ffffff;
}

@media (max-width: 500px) {
    :root {
        --column-padding: 20px;
    }
}

/*--------------------------------------------------------------
# Block editor colors
--------------------------------------------------------------*/
.has-small-font-size { color: white; background: var(--color-almostblack); }
.has-lightblue-color { color: var(--color-lightblue); }
.has-lightblue-background-color { background-color: var(--color-lightblue); }
.has-subtleblue-color { color: var(--color-subtleblue); }
.has-subtleblue-background-color { background-color: var(--color-subtleblue); }
.has-darkblue-color { color: var(--color-darkblue); }
.has-darkblue-background-color { background-color: var(--color-darkblue); }
.has-almostwhite-color { color: var(--color-almostwhite); }
.has-almostwhite-background-color { background-color: var(--color-almostwhite); }
.has-grey-color { color: var(--color-grey); }
.has-grey-background-color { background-color: var(--color-grey); }
.has-almostblack-color { color: var(--color-almostblack); }
.has-almostblack-background-color { background-color: var(--color-almostblack); }
.has-white-color { color: var(--color-white); }
.has-white-background-color { background-color: var(--color-white); }

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {scroll-behavior: smooth;scroll-padding-top: 80px;}

body{font-family:"Roboto",sans-serif;font-weight:400;color:var(--color-almostblack);font-size:1.1rem;line-height:1.5;background:white}

a{color:var(--color-almostblack);text-decoration:none;-webkit-transition:all .2s ease-in-out 0s;-moz-transition:all .2s ease-in-out 0s;transition:all .2s ease-in-out 0s}a:hover,a:focus,a:active{color:var(--color-almostblack);text-decoration:none;outline:0}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 { font-family: "Roboto", sans-serif; font-weight: 600; font-style: normal; }

h1 { font-size: 4rem; line-height: 1.1; margin-top: 0; margin-bottom: 1.5rem; }
h2 { font-size: 3rem; line-height: 1.2; margin-top: 0; margin-bottom: 1.5rem; }
h3 { font-size: 1.4rem; line-height: 1.4; margin-top: 0; margin-bottom: 1.5rem; font-weight: 400; }
p { font-size: 1.1rem; line-height: 1.7; margin: 0 0 1.4rem 0; }
ul, li { font-size: 1.1rem; line-height: 1.7; }

@media (max-width: 1200px) {
h1 { font-size: 3.5rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 1.3rem; }
}

@media (max-width: 1024px) {
h1 { font-size: 3rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 1.2rem; }
}

@media (max-width: 781px) {
body { font-size: 1rem; }
h1 { font-size: 2.8rem; }
h2 { font-size: 2.1rem; }
h3 { font-size: 1.1rem; }
p { font-size: 1rem; line-height: 1.7; margin: 0 0 1.3rem 0; }
ul, li { font-size: 1rem; line-height: 1.7; }
}

@media (max-width: 500px) {
h1 { font-size: 2.7rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.1rem; }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
header {
	background: white;
	transition: background 0.3s ease;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1030;
	padding: 0;
    position: fixed;
}

.scrolled header {
    transition: background-color .3s cubic-bezier(.42, .00, .58, 1.00);
    box-shadow: 0 7px 15px 0 rgb(0 0 0 / 10%);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	z-index: 1;
	position: relative;
    max-width: var(--default-max-width);
	height: var(--header-height);
	padding: 0 var(--column-padding);
}

.site-header__logo img {
    width: 160px;
    height: auto;
    display: block;
    margin: 1rem 0;
    background: #fff;
    padding: 4px 4px 1px 4px;
    border-radius: 3px;
}

.site-header__nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
    gap: .7rem;
}

.site-header__contact-link {
    background: var(--color-darkblue);
    padding: 4px 14px;
    border-radius: 50px;
    font-size: 1rem;
    align-items: center;
    color: white;
    font-weight: 600;
    text-decoration: none;
    display: none;
}

.site-header__contact-link a {
    color: white;
}

.site-content {
	padding-top: var(--header-height);
}

@media (min-width: 991px) {
	/* Only on desktop, it causes issues with mobile */
	.scrolled header {
		backdrop-filter: blur(4px);
	}
}

@media (max-width: 990px) {
    .site-header__contact-link {
        display: flex;
        margin-right: 1rem;
    }
}

@media (max-width: 500px) {
	.site-header__inner {
		height: var(--header-height-small);
	}
	.site-header__logo img {
		width: 140px;
	}
	.site-content {
		padding-top: var(--header-height-small);
	}
}

@media (max-width: 360px) {
	.site-header__logo img {
		width: 120px;
	}
    .site-header__nav {
        gap: .3rem;
    }
    .site-header__contact-link {
        margin-right: .5rem;
    }
}

/*--------------------------------------------------------------
# Header & Menu
--------------------------------------------------------------*/
@media (min-width: 991px) {
	.on-screen-menu {
		position: static;
		transition: none;
		transform: none;
	}

	.site-header .menu {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		gap: 30px;
	}

	.site-header .menu li {
		margin: 0;
		display: block;
		position: relative;
	}

	.main-menu .menu > li.menu-item > a {
		margin-right: 0;
		font-size: 15px;
		line-height: 1.6;
		color: var(--color-almostblack);
		font-weight: 600;
		display: inline-block;
		height: auto;
		text-decoration: none;
		transition: all .15s ease-in-out;
		border-bottom: 2px solid transparent;
		text-transform: uppercase;
		letter-spacing: .7px;
	}

	.main-menu .menu > li.menu-item:last-child > a {
		margin-right: 0;
        background: var(--color-lightgrey);
        padding: 7px 20px 5px;
        border-radius: 10px;
 		transition: all .15s ease-in-out;
        border: 0 !important;
	}

    .main-menu .menu > li.menu-item:last-child > a:hover {
        background: var(--color-subtleblue);
        border: 0 !important;
	}

	.main-menu .menu > li.menu-item:hover > a {
		border-bottom: 2px solid var(--color-almostblack);
	}
}

@media (max-width: 990px) {
	.on-screen-menu {
		margin: 0;
		padding: 0;
		top: 0;
		left: 0;
		position: fixed;
		background: white;
		width: 100%;
		height: 100%;
		z-index: -1;
		transition: transform cubic-bezier(.78, 0, .23, 1) .5s;
		transform: scale(1, 0);
		transform-origin: left top;
	}

	.main-menu ul {
		position: fixed;
		top: 150px;
		left: 0;
		transition: opacity cubic-bezier(.89, 0, .08, 1) .2s;
		opacity: 0;
		list-style: none;
	}

	.menu-item {
		transition: transform cubic-bezier(.19,.18,.04,1) .8s, opacity cubic-bezier(.47, 0, .94, .45) .5s;
		transform: translate(0, -80px);
		opacity: 0;
		list-style: none;
		margin-bottom: .7rem;
	}

	.site-header .menu-item a {
		font-size: 2rem;
        font-weight: 600;
        color: var(--color-almostblack);
	}

	.on-screen-menu.animate {
		transform: scale(1, 1);
	}

	.on-screen-menu.animate ul {
		opacity: 1;
		margin-left: var(--column-padding);
	}

	.background-container.animate {
		opacity: .2;
		transform: scale(.95, .95);
	}

	.on-screen-menu.animate ul .menu-item {
		transform: translate(0, 0);
		opacity: 1;
	}

	.on-screen-menu.animate ul .menu-item:nth-child(1) {
		transition-delay: .25s;
	}

	.on-screen-menu.animate ul .menu-item:nth-child(2) {
		transition-delay: .2s;
	}

	.on-screen-menu.animate ul .menu-item:nth-child(3) {
		transition-delay: .15s;
	}

	.on-screen-menu.animate ul .menu-item:nth-child(4) {
		transition-delay: .1s;
	}

	.on-screen-menu.animate ul .menu-item:nth-child(5) {
		transition-delay: .05s;
	}
}

@media (max-width: 500px) {
	.site-header .menu-item a {
		font-size: 1.7rem;
	}
}

/*--------------------------------------------------------------
# Block editor and classes
--------------------------------------------------------------*/
.has-small-font-size {
    padding: 6px 14px;
    margin: 0 0 1rem !important;
    align-self: flex-start;
    border-radius: 50px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 12px !important;
    line-height: 1 !important;
	display: inline-block;
}

.has-small-font-size.has-text-align-center {
    align-self: center;
    text-align: center;
}

.wp-block-list li {
	margin-bottom: 20px;
}

.aligncenter > .row {
	justify-content: center;
}

hr.wp-block-separator {
    width: 100%;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook {
    background-color: transparent;
    color: white;
}

.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
    font-size: 30px;
    margin-left: -5px;
    margin-top: -23px;
}

@media (max-width: 781px) {
    .has-small-font-size {
        letter-spacing: .5px;
        padding: 5px 14px;
        margin: 0 0 .9rem !important;
        font-size: 11px !important;
    }
    .wp-social-link, .wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
        font-size: 30px;
        margin-left: -10px;
        margin-top: -23px;
    }
}

/*--------------------------------------------------------------
## Buttons - Block editor
--------------------------------------------------------------*/
.wp-block-button__link {
    border: 0;
    border-radius: 5px;
    background: transparent;
	border: 2px solid white;
	color: white;
	border-radius: 50px;
    padding: 16px 30px;
	width: auto;
    font-size: 17px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: none;
	display: inline-flex;
	-webkit-transition: -webkit-transform 350ms ease-in-out;
    transition: -webkit-transform 350ms ease-in-out;
    -o-transition: transform 350ms ease-in-out;
    transition: transform 350ms ease-in-out;
    transition: transform 350ms ease-in-out, -webkit-transform 350ms ease-in-out;
}

.dark-btn .wp-block-button__link {
	background: transparent;
	border: 2px solid;
	color: var(--color-almostblack);
}

.light-btn .wp-block-button__link {
    border: 2px solid white;
    color: white;
}

.button--ripple-effect {
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-transition: color 350ms ease-in-out,border-color 350ms ease-in-out,-webkit-transform 200ms ease-in-out;
    transition: color 350ms ease-in-out,border-color 350ms ease-in-out,-webkit-transform 200ms ease-in-out;
    -o-transition: color 350ms ease-in-out,border-color 350ms ease-in-out,transform 200ms ease-in-out;
    transition: color 350ms ease-in-out,border-color 350ms ease-in-out,transform 200ms ease-in-out;
    transition: color 350ms ease-in-out,border-color 350ms ease-in-out,transform 200ms ease-in-out,-webkit-transform 200ms ease-in-out
}

.button--ripple-effect .button__inner{
    z-index: 1;
    position: relative
}

.button--active {
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    color: white;
    border-color: white;
}

.dark-btn .button--active {
    color: #fff;
    border-color: var(--color-almostblack);
}

.light-btn .button__ripple-el {
    background-color: white;
}

.light-btn .button--active {
    color: var(--color-almostblack);
    border-color: var(--color-almostblack);
}

.button__ripple-el {
    position: absolute;
    border-radius: 50%;
    background-color: var(--color-almostblack);
    -webkit-animation: ripple-effect-reverse 550ms ease-in-out;
    animation: ripple-effect-reverse 550ms ease-in-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.dark-btn .button__ripple-el {
  	background-color: var(--color-almostblack);
}

.button__ripple-el--active {
    -webkit-animation: ripple-effect 600ms ease-in-out;
    animation: ripple-effect 600ms ease-in-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes ripple-effect {
	from { -webkit-transform: scale(0); transform: scale(0); }
	to { -webkit-transform: scale(3); transform: scale(3); }
}
@keyframes ripple-effect {
	from { transform: scale(0); }
	to { transform: scale(3); }
}
@-webkit-keyframes ripple-effect-reverse {
	from { -webkit-transform: scale(3); transform: scale(3); }
	to { -webkit-transform: scale(0); transform: scale(0); }
}
@keyframes ripple-effect-reverse {
	from { transform: scale(3); }
	to { transform: scale(0); }
}

@media (max-width: 781px) {
	.wp-block-button__link {
		padding: 16px 20px;
		font-size: 15px;
	}
	.wp-block-button__link *,
	.wp-block-button__link:visited * {
		font-size: 15px;
	}
}

@media (max-width: 500px) {
	.wp-block-button__link {
		padding: 14px 18px;
		font-size: 14px;
	}
	.wp-block-button__link *,
	.wp-block-button__link:visited * {
		font-size: 14px;
	}
}

/*--------------------------------------------------------------
## Hamburger animation
--------------------------------------------------------------*/
.ham-wrap {
    display: none;
}

.ham-wrap .icon {    
    width: 34px;
    height: 26px;
    position: relative;
    cursor: pointer;
}

@media (max-width: 990px){

.ham-wrap {
    display: block;
}

.ham-wrap span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    border-radius: 4px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}
.ham-wrap span {
    background: var(--color-darkblue);
}

.ham-wrap .open span {
    background: var(--color-darkblue);
}

.ham-wrap span:nth-child(1) {
  top: 0;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.ham-wrap span:nth-child(2) {
  top: 11px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.ham-wrap span:nth-child(3) {
  top: 22px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.ham-wrap .icon.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  left: 5px;
}

.ham-wrap .icon.open span:nth-child(2) {
	width: 0%;
	opacity: 0;
}

.ham-wrap .icon.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 24px;
    left: 5px;
}

}
@media (max-width: 781px){}
@media (max-width: 568px){}

/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/
section { padding: 100px 0 80px; }
@media (max-width: 1100px) { section { padding: 80px 0 60px; } }
@media (max-width: 781px) { section { padding: 50px 0 40px; } }
@media (max-width: 500px) { section { padding: 40px 0 30px; } }

/*--------------------------------------------------------------
# Block : Smartblock
--------------------------------------------------------------*/
.smartblock .wp-block-columns {
    max-width: var(--default-max-width);
    margin: 0 auto;
    gap: 3rem;
}

.smartblock.full-height {
    min-height: calc(100vh - var(--header-height) - 1px);
    display: flex;
    align-items: center;
    padding: 80px 0 100px;
}

.smartblock.rounded-corners {
    margin: 0 var(--column-padding);
    border-radius: 20px;
}

.smartblock .wp-block-columns > div {
    padding: 0 var(--column-padding);
}

.smartblock h2 {
    margin-top: 0;
}

.smartblock .wp-block-list,
.smartblock .wp-block-list li:last-child {
    margin-bottom: 0;
}

.smartblock h2 a {
    color: var(--color-almostblack);
    border: 0;
}

.smartblock figure a {
    border: 0;
}

.smartblock img {
    display: block;
}

.smartblock figure.is-style-rounded img {
    border-radius: 20px;
}

.smartblock p {
    margin-bottom: 1.5rem;
}

.smartblock .wp-block-buttons {
    margin-top: .5rem;
}

@media (min-width: 782px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 1100px) {
    .smartblock .wp-block-columns {
        gap: 1.5rem;
    }
}
@media (max-width: 1024px) {
    .smartblock .wp-block-columns {
        gap: 0;
    }
}
@media (max-width: 781px) {
    .smartblock .wp-block-columns {
        gap: 3rem;
        display: flex;
        flex-direction: column;
    }

    .smartblock.full-height {
        padding: 80px 0 50px;
    }
    /* reverse order */
    .smartblock.bb-reverse-order .wp-block-columns {
        display: flex;
        flex-direction: column-reverse;
    }
    .smartblock .wp-block-columns > div:first-child {
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
    }
}

/*--------------------------------------------------------------
# Hem
--------------------------------------------------------------*/
#hem p.has-small-font-size.has-subtleblue-background-color {
    position: relative;
    padding-left: 30px;
}

#hem p.has-small-font-size.has-subtleblue-background-color::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 48%;
    transform: translateY(-48%);
    width: 9px;
    height: 9px;
    background-color: #01c901;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: translateY(-48%) scale(1);
        opacity: 1;
    }
    50% {
        transform: translateY(-48%) scale(1.3);
        opacity: 0.7;
    }
    100% {
        transform: translateY(-48%) scale(1);
        opacity: 1;
    }
}

/*--------------------------------------------------------------
# Kontakt
--------------------------------------------------------------*/
#kontakta-oss .wp-block-table {
    white-space: nowrap;
    overflow-x: auto;
    padding-bottom: 1rem;
}

#kontakta-oss .wp-block-table td,
#kontakta-oss .wp-block-table th {
    white-space: nowrap;
}

#kontakta-oss .wp-block-table td, #kontakta-oss .wp-block-table th {
    border: none;
}

#kontakta-oss .wp-block-table td,
#kontakta-oss .wp-block-table td a {
    color: var(--color-subtleblue);
}

#kontakta-oss .wp-block-table td:first-child {
    color: white;
    width: 30%;
    vertical-align: baseline;
    padding-left: 0;
    margin: 0;
    font-weight: 600;
    word-break: keep-all;
    white-space: nowrap;
}

#kontakta-oss .follow-us {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    /* Only target 2-column tables */
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child),
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) {
        border: none;
    }
    
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) tr,
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) tr {
        display: block;
        margin-bottom: 5px;
    }
    
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) tr:last-child,
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) tr:last-child {
        margin-bottom: 0;
    }
    
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) td,
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) th,
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) td,
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) th {
        display: block;
        border: none;
        padding: 8px 0;
        text-align: left !important;
        width: 100% !important;
    }
    
    /* First column styling (label) */
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) td:first-child,
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) th:first-child,
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) td:first-child,
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) th:first-child {
        padding-bottom: 0;
    }
    
    /* Second column styling (value) */
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) td:nth-child(2),
    .wp-block-table table:has(tr:first-child td:nth-child(2):last-child) th:nth-child(2),
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) td:nth-child(2),
    .wp-block-table table:has(tr:first-child th:nth-child(2):last-child) th:nth-child(2) {
        padding-top: 0;
    }
}

/*--------------------------------------------------------------
# Block : Services Accordion
--------------------------------------------------------------*/
.service-accordion {
	width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.accordion-item {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.accordion-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.accordion-header-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
}

.accordion-header-icon {
    max-height: 30px;
    width: auto;
    object-fit: contain;
}

.accordion-header:hover,
.accordion-item.active .accordion-header,
.accordion-header:focus,
.accordion-header:focus-visible,
.accordion-header:active,
.accordion-header:active:focus {
    background: var(--color-lightblue)
}

.accordion-header h3 {
    margin: 0;
}

.accordion-toggle {
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.accordion-item.active .accordion-toggle {
    transform: rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    background: white;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-content-inner {
    padding: 20px;
    transition: opacity 0.3s ease 0.1s;
    opacity: 0;
}


.accordion-item.active .accordion-content {
    max-height: 1000px; /* Increased from 500px to accommodate longer content */
    padding: 0;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-item.active .accordion-content-inner {
    opacity: 1;
}

.service__item--footer p {
    margin: 0 0 15px 0;
    color: var(--color-almostblack);
}

.service-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 600;
}

.service-link::after {
    content: '';
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M8.59 16.59L13.17 12L8.59 7.41L10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    font-size: 1.2em;
    transition: transform 0.3s ease;
}

.service-link:hover,
.service-link:focus,
.service-link:active {
    border: 0 !important;
}

.service-link:hover::after {
    transform: translateX(3px);
}

@media (max-width: 781px) {
    .accordion-header {
        padding: 15px;
    }
    .accordion-content-inner {
        padding: 15px;
    }
    .accordion-header-left {
        gap: 10px;
    }
    .service-link {
        font-size: 1rem;
        line-height: 1.7;
    }
}

/*--------------------------------------------------------------
# Block : Reviews Carousel
--------------------------------------------------------------*/
.reviews-carousel.slick-initialized {
    visibility: visible;
}

.reviews-carousel {
    width: 100%;
    overflow: hidden;
    padding: 40px 0;
    position: relative;
    visibility: hidden;
}

.reviews-carousel.slick-initialized {
    visibility: visible;
}

/* Equal height for slick slides */
.slick-initialized .slick-track {
    display: flex;
    align-items: stretch;
}

.slick-initialized .slick-track .slick-slide {
    display: flex;
    height: auto;
}

.slick-initialized .slick-track .slick-slide > div {
    width: 100%;
}

/* Arrows*/
.slick-prev:before,
.slick-next:before {
	content: none;
}
.slick-prev, .slick-next {
   	font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev, .slick-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow:  0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
    display: flex !important;
    justify-content: center;
    align-items: center;
	opacity: 1;
    transition: all .3s;
}
.slick-prev:hover, .slick-next:hover {
    background-color: #f5f5f5;
}
.slick-prev:active, .slick-next:active {
    background-color: #ededed;
}
.slick-prev svg, .slick-next svg {
	width: 18px;
	height: 18px;
}
.slick-next svg {
	transform: rotate(180deg);
}
.slick-prev,
.slick-next {
	z-index: 99;
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}
.slick-prev svg {
	left: -2px;
    position: relative;
}

.reviews-carousel::before,
.reviews-carousel::after {
    content: '';
    position: absolute;
    top: 0;
    width: 80px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.reviews-carousel::before {
    left: 0;
    background: linear-gradient(to right, var(--color-lightblue), transparent);
}

.reviews-carousel::after {
    right: 0;
    background: linear-gradient(to left, var(--color-lightblue), transparent);
}

.review-card {
    margin: 15px;
    padding: 30px;
    background: #fff;
    border: 0.5px solid #ededed;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    overflow: hidden;
    transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
    cursor: grab;
}

.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 26px rgba(0, 0, 0, 0.15);
}

.review-content {
    margin-bottom: 25px;
}

.review-content blockquote {
    margin: 0;
    padding: 0;
    border: none;
}

.review-content blockquote p {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-almostblack);
    margin: 0;
}
.reviewer-info {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.reviewer-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50% !important;
    object-fit: cover;
    border: 2px solid var(--color-darkblue);
    flex-shrink: 0;
}

.reviewer-details h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-almostblack);
}

p.reviewer-location {
	font-size: 0.9rem;
	color: var(--color-grey);
	margin-bottom: 0;
}

.rating {
    display: flex;
    gap: 2px;
}

.star {
    color: #ddd;
    font-size: 14px;
}

.star.filled {
    color: #ffc107;
}

@media (max-width: 1100px) {
    .reviews-carousel::before,
    .reviews-carousel::after {
        width: 40px;
    }
}

@media (max-width: 781px) {
    /* Add this to override Gutenberg's column behavior */
    #reviews.smartblock .wp-block-columns > .wp-block-column {
        width: 100% !important;
    }

    .reviews-carousel {
        padding: 0;
    }
    .review-content blockquote p {
        font-size: 1rem;
    }
    
    .reviewer-avatar {
        width: 40px;
        height: 40px;
    }
    
    .reviewer-details h4 {
        font-size: 0.9rem;
    }
    
    .reviews-carousel::before,
    .reviews-carousel::after {
        width: 25px;
    }
}

/*--------------------------------------------------------------
## Single Page
--------------------------------------------------------------*/
article section.hero .row > div {
	max-width: 100%;
	padding: 0;
}

.single-post {
	max-width: 1064px;
	margin: 0 auto;
	padding: 0 20px;
}

.single-post p, .single-post ul {
	margin-bottom: 2em;
}

.single-post h1 {
	color: #fff;
	margin-bottom: 2rem;
}

.single-post h3 {
	margin-bottom: 1.1rem;
}

.single-post h4 {
	margin-bottom: 1rem;
}

/*--------------------------------------------------------------
## Forminator form
--------------------------------------------------------------*/
.forminator-ui#forminator-module-208 {
    background: white;
    padding: 30px !important;
    border-radius: 20px;
    margin-top: 2rem;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-input, .forminator-ui#forminator-module-208.forminator-design--default .forminator-textarea {
    border-color: var(--color-subtleblue) !important;
    color: var(--color-almostblack) !important;
    border-radius: 8px;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-label {
    color: var(--color-almostblack) !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    font-weight: 400 !important;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-error-message {
    background-color: transparent !important;
    padding: 0 !important;
    color: #E04562 !important;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-row:nth-child(5) {
    margin: 0 !important;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-button-submit {
    border: 2px solid var(--color-almostblack);
    border-radius: 50px;
    background: transparent !important;
    color: var(--color-almostblack);
    padding: 16px 30px;
    width: auto;
    font-size: 17px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: .5px !important;
    text-transform: none;
    display: inline-flex;
    position: relative;
    z-index: 1;
    overflow: hidden;
    cursor: pointer;
    transition: color 350ms ease-in-out, border-color 350ms ease-in-out, transform 200ms ease-in-out;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-button-submit span:first-child {
    color: var(--color-almostblack);
    font-weight: 600;
    font-size: 17px;
    line-height: 1.1;
    letter-spacing: .5px;
    text-transform: none;
    z-index: 1;
    position: relative;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-button-submit span[aria-hidden="true"] {
    position: absolute;
    border-radius: 50%;
    background-color: var(--color-almostblack);
    animation: ripple-effect-reverse 550ms ease-in-out;
    animation-fill-mode: forwards;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-button-submit.button--active {
    animation-fill-mode: forwards;
    color: white;
    border-color: var(--color-darkgrey);
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-button-submit.button--active span:first-child {
    color: white;
    z-index: 9;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-button-submit.button--active span[aria-hidden="true"] {
    animation: ripple-effect 600ms ease-in-out;
    animation-fill-mode: forwards;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-consent__label p a {
    text-decoration: underline;
    color: var(--color-almostblack) !important;
}

.forminator-checkbox__label.forminator-consent__label a:hover,
.forminator-checkbox__label.forminator-consent__label a:focus,
.forminator-checkbox__label.forminator-consent__label a:active {
    color: var(--color-almostblack) !important;
    text-decoration: underline;
}

.forminator-ui#forminator-module-208.forminator-design--default .forminator-checkbox.forminator-consent .forminator-checkbox-box {
    border-radius: 4px;
}

.forminator-checkbox__label.forminator-consent__label p {
    margin-top: -5px;
}

.forminator-row.forminator-row-last {
    margin-top: 2rem;
}

/* HP fields */
#forminator-module-208 #phone-1 {
    position: absolute;
    left: -9999px;
}

#forminator-module-208 #url-1 {
    display: none;
}

#forminator-module-208 #textarea-2 {
    position: absolute;
    left: -9999px;
}

@media (max-width: 781px) {
    .forminator-ui#forminator-module-208 {
        margin-top: 0;
    }
    .smartblock  .wp-block-columns > div.formular {
        padding: 0;
    }
    .forminator-ui#forminator-module-208 {
        border-radius: 16px;
        background: var(--color-almostwhite) !important;
    }
    section#kontakta-oss {
        padding-bottom:0;
    }
}

@media (max-width: 500px) {
    .forminator-ui#forminator-module-208 {
        padding: 20px !important;
    
    }
}


/*--------------------------------------------------------------
## Other pages
--------------------------------------------------------------*/
article {
    max-width: 800px;
    padding: 0 30px;
    margin: 80px auto;
} 

article .wp-block-list li {
    margin-bottom: 3px;
}

article h1 {
    margin-bottom: 2rem;
}

article h3 {
    font-weight: 600;
	margin-top: 3rem;
	margin-bottom: 1rem;
}

@media (max-width: 781px) {
	article {
        margin: 40px auto;
	}
    article h1 {
        margin-bottom: 1.5rem;
    }
    article h3 {
        margin-top: 2rem;
        margin-bottom: .5rem;
    }
}

/*--------------------------------------------------------------
## Animation
--------------------------------------------------------------*/
.animated-content{will-change:transform,opacity;opacity:0;transform:translate3d(0,30px,0) scale(1);transition:opacity .6s,transform .6s cubic-bezier(.25,.46,.45,.94)}.animated-content.animated-scale{transform:translate3d(0,40px,0) scale(.95)}.animated-content.animated{opacity:1;transform:translate3d(0,0,0)}

/*--------------------------------------------------------------
## Make embedded video in WP editor responsive
--------------------------------------------------------------*/
.wp-video,video.wp-video-shortcode,.mejs-container,.mejs-overlay.load{width:100%!important;height:100%!important}.mejs-container{padding-top:56.25%}.wp-video,video.wp-video-shortcode{max-width:100%!important}video.wp-video-shortcode{position:relative}.mejs-mediaelement{position:absolute;top:0;right:0;bottom:0;left:0}.mejs-controls{display:none}.mejs-overlay-play{top:0;right:0;bottom:0;left:0;width:auto!important;height:auto!important}

/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/
footer {
	color: var(--color-almostblack);
	overflow: hidden;
}

.footer-top {
	padding: 100px 0 80px;
}

.footer-bottom {
	padding: 40px 0 33px;
}

.footer-top__inner {
	display: flex;
	flex-direction: row;
	justify-content: center;
	max-width: var(--default-max-width);
	margin: 0 auto;
}

.footer-top__info,
.footer-top__nav,
.footer-top__logos,
.footer-bottom > div {
	padding: 0 var(--column-padding);
}

.footer-top__info {
    flex: 30%;
}

.footer-top__nav {
    flex: 20%;
}

.footer-top__logos {
	flex: 50%;
}

footer p, footer a, footer a:hover, footer a:visited, footer a:active {
	color: var(--color-almostblack);
	margin-bottom: 0;
}

footer a {
	line-height: 1.6;
	transition: ease-in-out .2s;
	border-bottom: 2px solid transparent;
}

footer a:hover {
	border-bottom: 2px solid var(--color-almostblack);
}

footer ul {
	list-style: none;
}

footer h4 {
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 8px;
}

footer ul {
	margin: 0;
}

footer ul li {
	margin-bottom: 4px;
}

footer .menu-item {
	margin-top: 0;
    font-size: 18px;
    line-height: 1.5;
	font-weight: 400;
	transition: ease-in-out .2s;
	transform: none;
	opacity: 1;
	text-transform: none;
	margin: 0;
}

footer .menu-item a {
	letter-spacing: 0;
}

footer .copyright {
	font-size: 14px;
	line-height: 1.2;
}

.footer-bottom .row > div {
	display: flex;
}

.footer-social span {
	text-transform: capitalize;
}

@media (min-width: 782px) {
	footer .row > div:not(:first-child) {
        flex-direction: column;
        display: flex;
        align-items: center;
	}
	footer .company-info {
		padding-right: 40px;
	}
}

@media (max-width: 1024px) {
	.footer-top {
		padding: 70px 0 30px;
	}
	footer .row > div {
		margin-bottom: 40px;
	}
}

@media (max-width: 781px) {
	.footer-top__inner {
		flex-direction: column;
        gap: 2rem;
	}
	footer .row > div {
		text-align: center;
		display: flex;
		align-items: center;
		flex-direction: column;
	}
	.footer-top {
		padding: 60px 0 20px;
	}
	footer .copyright {
		text-align: center;
	}
	footer h4 {
		font-size: 1.1rem;
	}
	footer .menu-item {
		font-size: 16px;
	}
}

/*--------------------------------------------------------------
# Adminbar
--------------------------------------------------------------*/
.admin-bar .site-header {
	top: 32px;
}

@media screen and (max-width: 781px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

/*--------------------------------------------------------------
# Responsive Column Order
--------------------------------------------------------------*/
.wp-block-columns.reverse-desktop  {
    flex-direction: row-reverse;
}

/* Tablet reverse (max-width: 1024px) */
@media (max-width: 1024px) {
    .wp-block-columns.reverse-tablet {
        flex-direction: row-reverse;
    }
    .wp-block-columns.reverse-desktop:not(.reverse-tablet) {
        flex-direction: row;
    }
}

/* Mobile reverse (max-width: 781px) */
@media (max-width: 781px) {
    .wp-block-columns.reverse-mobile {
        flex-direction: column-reverse;
    }
    .wp-block-columns.reverse-desktop:not(.reverse-mobile),
    .wp-block-columns.reverse-tablet:not(.reverse-mobile) {
        flex-direction: column;
    }
}

/*--------------------------------------------------------------
# Responsive Column Gap
--------------------------------------------------------------*/
/* No gap classes */
.wp-block-columns.no-gap-desktop { 
    gap: 0; 
}

@media (max-width: 1024px) {
    .wp-block-columns.no-gap-tablet { 
        gap: 0; 
    }
}

@media (max-width: 781px) {
    .wp-block-columns.no-gap-mobile { 
        gap: 0; 
    }
}

/*--------------------------------------------------------------
# Responsive Column Alignment
--------------------------------------------------------------*/
/* Desktop alignment */
.smartblock .wp-block-columns.align-desktop-left,
.smartblock .wp-block-columns.align-desktop-right {
    margin: initial;
}

.smartblock .wp-block-columns.align-desktop-left > .wp-block-column {
    text-align: left;
    align-items: flex-start;
}

.wp-block-columns.align-desktop-center > .wp-block-column {
    text-align: center;
    margin: 0 auto;
    align-items: center;
}

.wp-block-columns.align-desktop-right > .wp-block-column {
    text-align: right;
    align-items: flex-end;
}

/* Tablet alignment (max-width: 1024px) */
@media (max-width: 1024px) {
    .smartblock .wp-block-columns.align-tablet-left,
    .smartblock .wp-block-columns.align-tablet-right {
        margin: initial;
    }

    .wp-block-columns.align-tablet-left > .wp-block-column {
        text-align: left;
        align-items: flex-start;
    }

    .wp-block-columns.align-tablet-center > .wp-block-column {
        text-align: center;
        margin: 0 auto;
        align-items: center;
    }

    .wp-block-columns.align-tablet-right > .wp-block-column {
        text-align: right;
        align-items: flex-end;
    }
}

/* Mobile alignment (max-width: 781px) */
@media (max-width: 781px) {
    .smartblock .wp-block-columns.align-mobile-left,
    .smartblock .wp-block-columns.align-mobile-right {
        margin: initial;
    }

    .wp-block-columns.align-mobile-left > .wp-block-column {
        text-align: left;
        align-items: flex-start;
    }

    .wp-block-columns.align-mobile-center > .wp-block-column {
        text-align: center;
        margin: 0 auto;
        align-items: center;
    }

    .wp-block-columns.align-mobile-right > .wp-block-column {
        text-align: right;
        align-items: flex-end;
    }
}

/*--------------------------------------------------------------
# Responsive Column Max Width
--------------------------------------------------------------*/
/* Desktop max-width classes (min-width: 1025px) */
@media (min-width: 1025px) {
    .wp-block-column.max-w-desktop-10 { max-width: 10%; }
    .wp-block-column.max-w-desktop-15 { max-width: 15%; }
    .wp-block-column.max-w-desktop-20 { max-width: 20%; }
    .wp-block-column.max-w-desktop-25 { max-width: 25%; }
    .wp-block-column.max-w-desktop-30 { max-width: 30%; }
    .wp-block-column.max-w-desktop-35 { max-width: 35%; }
    .wp-block-column.max-w-desktop-40 { max-width: 40%; }
    .wp-block-column.max-w-desktop-45 { max-width: 45%; }
    .wp-block-column.max-w-desktop-50 { max-width: 50%; }
    .wp-block-column.max-w-desktop-55 { max-width: 55%; }
    .wp-block-column.max-w-desktop-60 { max-width: 60%; }
    .wp-block-column.max-w-desktop-65 { max-width: 65%; }
    .wp-block-column.max-w-desktop-70 { max-width: 70%; }
    .wp-block-column.max-w-desktop-75 { max-width: 75%; }
    .wp-block-column.max-w-desktop-80 { max-width: 80%; }
    .wp-block-column.max-w-desktop-85 { max-width: 85%; }
    .wp-block-column.max-w-desktop-90 { max-width: 90%; }
    .wp-block-column.max-w-desktop-95 { max-width: 95%; }
}

/* Tablet max-width classes (max-width: 1024px) */
@media (max-width: 1024px) {
    .wp-block-column.max-w-tablet-10 { max-width: 10%; }
    .wp-block-column.max-w-tablet-15 { max-width: 15%; }
    .wp-block-column.max-w-tablet-20 { max-width: 20%; }
    .wp-block-column.max-w-tablet-25 { max-width: 25%; }
    .wp-block-column.max-w-tablet-30 { max-width: 30%; }
    .wp-block-column.max-w-tablet-35 { max-width: 35%; }
    .wp-block-column.max-w-tablet-40 { max-width: 40%; }
    .wp-block-column.max-w-tablet-45 { max-width: 45%; }
    .wp-block-column.max-w-tablet-50 { max-width: 50%; }
    .wp-block-column.max-w-tablet-55 { max-width: 55%; }
    .wp-block-column.max-w-tablet-60 { max-width: 60%; }
    .wp-block-column.max-w-tablet-65 { max-width: 65%; }
    .wp-block-column.max-w-tablet-70 { max-width: 70%; }
    .wp-block-column.max-w-tablet-75 { max-width: 75%; }
    .wp-block-column.max-w-tablet-80 { max-width: 80%; }
    .wp-block-column.max-w-tablet-85 { max-width: 85%; }
    .wp-block-column.max-w-tablet-90 { max-width: 90%; }
    .wp-block-column.max-w-tablet-95 { max-width: 95%; }
}

/* Mobile max-width classes (max-width: 781px) */
@media (max-width: 781px) {
    .wp-block-column.max-w-mobile-10 { max-width: 10%; }
    .wp-block-column.max-w-mobile-15 { max-width: 15%; }
    .wp-block-column.max-w-mobile-20 { max-width: 20%; }
    .wp-block-column.max-w-mobile-25 { max-width: 25%; }
    .wp-block-column.max-w-mobile-30 { max-width: 30%; }
    .wp-block-column.max-w-mobile-35 { max-width: 35%; }
    .wp-block-column.max-w-mobile-40 { max-width: 40%; }
    .wp-block-column.max-w-mobile-45 { max-width: 45%; }
    .wp-block-column.max-w-mobile-50 { max-width: 50%; }
    .wp-block-column.max-w-mobile-55 { max-width: 55%; }
    .wp-block-column.max-w-mobile-60 { max-width: 60%; }
    .wp-block-column.max-w-mobile-65 { max-width: 65%; }
    .wp-block-column.max-w-mobile-70 { max-width: 70%; }
    .wp-block-column.max-w-mobile-75 { max-width: 75%; }
    .wp-block-column.max-w-mobile-80 { max-width: 80%; }
    .wp-block-column.max-w-mobile-85 { max-width: 85%; }
    .wp-block-column.max-w-mobile-90 { max-width: 90%; }
    .wp-block-column.max-w-mobile-95 { max-width: 95%; }
}

/*--------------------------------------------------------------
# Logo cols
--------------------------------------------------------------*/
.smartblock .wp-block-columns.logo-cols {
    gap: 3rem;
}

.smartblock .wp-block-columns.logo-cols > div {
    padding: 0;
}

.smartblock .wp-block-columns.logo-cols > div > figure {
    display: flex;
    justify-content: center;
}

@media (max-width: 781px) {
    .smartblock .wp-block-columns.logo-cols {
        gap: 2rem;
        margin-bottom: 2rem;
    }
}

/*--------------------------------------------------------------
# Footer logos
--------------------------------------------------------------*/
.footer-top__logos ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    list-style: none;
    align-items: normal;
    gap: 2rem;
    margin: 0;
    padding: 0;
}

.footer-top__logos li {
    display: grid;
    justify-content: center;
    margin: 0;
}

@media (max-width: 568px) {
    .footer-top__logos ul {
        grid-template-columns: 1fr;
    }
    .footer-top__logos li {
        justify-content: left;
    }
}

/*--------------------------------------------------------------
# Floating Modal
--------------------------------------------------------------*/
.floating-modal {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1040;
    max-width: 300px;
    opacity: 0;
    transform: translateY(20px) scale(0.9);
    transition: all 0.3s ease;
    pointer-events: none;
}

.floating-modal:active,
.floating-modal:focus {
    background: white !important;
}

.floating-modal.show {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.floating-modal.hide {
    opacity: 0;
    transform: translateY(20px) scale(0.9);
    pointer-events: none;
}

.floating-modal__content {
    position: relative;
    padding: 0;
}

.floating-modal__close {
    position: absolute;
    top: -12px;
    right: -12px;
    background: none;
    border: none;
    font-size: 20px;
    color: white;
    background: var(--color-almostblack);
    cursor: pointer;
    line-height: 1;
    padding: 4px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    border-radius: 50%;
}

.floating-modal__close:hover,
.floating-modal__close:focus {
    color: var(--color-subtleblue);
    background: var(--color-almostblack);
}

.floating-modal__link {
    color: var(--color-almostblack);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    margin: 0;
    transition: all 0.2s ease;
    border: 0 !important;
    gap: 10px;
}

.floating-modal__arrow {
    width: 32px;
    height: 32px;
    background: var(--color-almostblack);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.floating-modal__arrow svg {
    width: 16px;
    height: 16px;
    fill: white;
    transition: all 0.3s ease;
    transform: rotate(-45deg);
}

.floating-modal__link:hover .floating-modal__arrow {
    background: var(--color-almostblack);
}

.floating-modal__link:hover .floating-modal__arrow svg {
    transform: rotate(0deg);
}

.floating-modal__wrapper {
    display: flex;
    gap: 15px;
    background: var(--color-lightgrey);
    border-radius: 50px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    padding: 18px 24px 17px 30px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.floating-modal__link:hover .floating-modal__wrapper,
.floating-modal__link:focus .floating-modal__wrapper {
    background: var(--color-subtleblue);
}

@media (max-width: 568px) {
    .floating-modal__link {
        font-size: 14px;
        padding: 0;
    }
    .floating-modal__close {
        top: -13px;
        right: -13px;
    }
    .floating-modal__arrow {
        width: 30px;
        height: 30px;
    }
    .floating-modal__arrow svg {
        width: 14px;
        height: 14px;
    }
}

/*--------------------------------------------------------------
# Privacy Button
--------------------------------------------------------------*/
@media (max-width: 568px) {
    .privacyButton {
        width: 36px;
        height: 36px;
    }
}