/*
Theme Name:		ZH Private Tax
Theme URI: 		https://xeit.ch
Version: 		1.09
Author: 		Xeit AG
Author URI: 	https://xeit.ch
*/

/* @import "https://use.typekit.net/yze5mfs.css";*/
/* @import "assets/css/glightbox.css";*/

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/Inter-Regular.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/Inter-Black.woff2') format('woff2');
    font-display: swap;
}

* {
    font-smoothing: antialiased;
}

html, body {
    overflow-x: hidden;
}

@media (max-width: 1100px) {
    body {
        font-size: 16px;
        line-height: 1.5;
    }
}

.entry-content {
    margin-top: 0;
}

.entry-content > .wp-block-cover:first-child {
    min-height: 22em;
    padding: 0 !important;
}

    /*.entry-content > .wp-block-cover:first-child::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(https://zhprivatetax.ch/app/uploads/2025/12/underconstruction.png);
        background-size: cover;
        background-position: bottom left;
        background-repeat: no-repeat;
        opacity: 1;
        z-index: 9;
        pointer-events: none;
    }*/

    .entry-content > .wp-block-cover:first-child .wp-block-cover__background {
        background-color: transparent !important;
        background: rgba(0, 0, 0, 0.5);
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
        opacity: 1;
    }

    .entry-content > .wp-block-cover:first-child .wp-block-cover__background::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0px;
        height: 0px;
        border-style: solid;
        border-width: 18em 0 0 18em;
        border-color: transparent transparent transparent #009FE3;
        opacity: 0.8;
        transform: rotate(0deg);
    }

    .entry-content > .wp-block-cover:first-child h1 + p.has-large-font-size {
        margin-top: 0 !important;
    }


    .wp-block-cover .teaser {
        position: absolute;
        font-size: 0.8em;
        line-height: 1.2;
        background-color: rgba(255,255,255,0.8) !important;
        border-radius: 0.3em;
        padding: 0.5em 1em;
        right: 1em;
    }

.entry-content > .wp-block-group.has-background {
    padding: 4em 0;
    margin-top: 0 !important;
}


.wp-block-buttons.is-style-multiline {
    --gap: 1.5em;
    gap: var(--gap);
    flex-wrap: wrap !important;
}

    .wp-block-buttons.is-style-multiline .wp-block-button {
        align-self: stretch;
        align-items: flex-start;
        margin-top: 0 !important;
        width: calc(33.333% - calc(var(--gap) * 2 / 3));
    }

    @media (max-width: 700px) {
        .wp-block-buttons.is-style-multiline {
            --gap: 1em;
        }

        .wp-block-buttons.is-style-multiline .wp-block-button {
            width: calc(50% - calc(var(--gap) * 1 / 2)) !important;
        }
    }

    @media (max-width: 450px) {
        .wp-block-buttons.is-style-multiline .wp-block-button {
            width: 100% !important;
        }
    }

    .wp-block-buttons.is-style-multiline .wp-block-button__link {
        border: 1px solid var(--wp--preset--color--primary);
        border-radius: 0;
        text-align: left;
        font-size: 0.7em;
        padding: 1em 1.5em 1em 5em;
        line-height: 1.2;
        color: var(--wp--preset--color--gray-dark);
        margin-top: 0 !important;
        display: flex;
        height: 100%;
        align-items: flex-start;
        justify-content: flex-start;
        flex-flow: column;
        position: relative;
    }

    .wp-block-buttons.is-style-multiline .wp-block-button__link strong {
        font-size: 1.15em;
        color: var(--wp--preset--color--foreground);
    }

    /* .wp-block-buttons.is-style-multiline .wp-block-button__link:hover {
        background-color: #009FE3;
    } */

    .wp-block-buttons.is-style-multiline .wp-block-button__link::before {
        content: '';
        position: absolute;
        top: 1em;
        left: 1em;
        width: 2.7em;
        height: 2.7em;
        border-radius: 50%;
        border: 1px solid var(--wp--preset--color--primary);
        background-size: 52% auto;
        background-repeat: no-repeat;
        background-position: center;
    }

    .wp-block-buttons.is-style-multiline .icon-arrow-right .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Arrow_right.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-question .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Question.svg');
        background-size: 62% auto;
    }

    .wp-block-buttons.is-style-multiline .icon-users .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Users.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-email .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Email.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-laptop .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Laptop.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-monitor .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Monitor.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-phone .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Phone.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-pin .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Pin.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-share .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Share.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-shield .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Shield.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-user .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/User.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-file .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/File.svg');
    }

    .wp-block-buttons.is-style-multiline .icon-video .wp-block-button__link::before {
        background-image: url('assets/images/Line Rounded/Video.svg');
    }

.wp-block-buttons.is-style-fullwidth {
    display: block;
}

    .wp-block-buttons.is-style-fullwidth .wp-block-button {
        width: 100%;
    }

    .wp-block-buttons.is-style-fullwidth .wp-block-button__link {
        width: 100%;
        text-align: left;
        padding: 1.25em 5em 1.25em 2.4em;
        background-image: url('assets/images/Line Rounded/Arrow_right.svg');
        background-size: 1.8em auto;
        background-repeat: no-repeat;
        background-position: right 2em center;
    }

hr.is-style-wide {
    height: 3px !important;
    background-color: var(--wp--preset--color--foreground);
    border: none;
    margin: 5.75em 0 1.5em 0;
    position: relative;
    overflow: visible;
}

    header hr.is-style-wide {
        margin: 1em 0 1.5em 0;
    }

    hr.is-style-wide.has-background-background-color {
        background-color: var(--wp--preset--color--background);
    }

    hr.is-style-wide::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        background-color: var(--wp--preset--color--foreground);
    }

    hr.is-style-wide.has-background-background-color::before {
        background-color: var(--wp--preset--color--background);
    }

.entry-content ul,
.is-root-container ul {
    padding-left: 0;
    list-style: none;
    margin-bottom: 3em;
}

    .entry-content ul li.is-style-checkmark,
    .is-root-container ul li.is-style-checkmark {
        padding-left: 2.6em;
        background-image: url('assets/images/check.svg');
        background-size: 1.2em auto;
        background-repeat: no-repeat;
        background-position: top 0.2em left;
    }

    .entry-content ul li.is-style-checkmark + li.is-style-checkmark,
    .is-root-container ul li.is-style-checkmark + li.is-style-checkmark {
        margin-top: 1.25em;
    }


.entry-content ol,
.is-root-container ol {
    padding-left: 0;
    list-style: none;
    counter-reset: li;
    margin-bottom: 3em;
}

    .entry-content ol li,
    .is-root-container ol li {
        padding-left: 2.6em;
        position: relative;
    }

    .entry-content ol li + li,
    .is-root-container ol li + li {
        margin-top: 1.25em;
    }

    .entry-content ol li::before,
    .is-root-container ol li::before {
        content: counter(li);
        counter-increment: li;
        position: absolute;
        top: 0.2em;
        left: 0;
        width: 1.7em;
        height: 1.7em;
        display: inline-block;
        text-align: center;
        line-height: 1em;
        font-weight: 400;
        font-size: 0.8em;
        color: var(--wp--preset--color--primary);
        border: 2px solid var(--wp--preset--color--primary);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100%;
    }

    .entry-content ol li strong,
    .is-root-container ol li strong {
        color: var(--wp--preset--color--foreground);
    }

    


h3 {
    margin-top: 3em !important;
}

.entry-content > .wp-block-group.has-background > .wp-block-group.has-background {
    padding: 2.5em !important;
}

header {

}

    header > .wp-block-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    header .is-layout-flex {
        --gap: 1.5em;
        gap: var(--gap);
    }

    header .logo {
        position: absolute;
        transform: translateX(calc(-100% - var(--gap)));
    }

main,
section {
    width: 70rem !important;
    max-width: calc(100% - 50px) !important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 13rem !important  ;
}
/* main > * {
    margin-left: 0 !important;
} */

.toc {
    width: 11rem;
    position: absolute;
    left: 0;
    top: 4.5em;
    transition: opacity 0.3s ease-out;
}

body:not(.home) .toc {
	display: none;
}

    .toc > * {
        font-size: 0.8em;
    }

    .toc .toc-title {
        display: block;
        font-weight: 700;
        margin-bottom: 1em;
    }


    .toc ul {
        color: #666;
        padding-left: 0 !important;
        list-style: none !important;
        list-style-type: none !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
        border-left: 1px solid #666;
    }

        .toc ul li {
            list-style-type: none !important;
            padding-left: 1.2em;
            font-size: 12px;
            line-height: 1.2;
            padding-top: 0.75em !important;
            padding-bottom: 0.75em !important;
            margin: 0 !important;
            color: #666 !important;
        }

        .toc ul li.is-visible {
            border-left: 3px solid var(--wp--preset--color--foreground);
            color: var(--wp--preset--color--foreground) !important;
        }


        .toc ul li a {
            text-decoration: none;
            color: inherit !important;
        }

    .toc + h2 {
        margin-top: 0 !important;
    }

    .toc.sticky {
        position: fixed;
        top: 50px;
        left: 50%;
        transform: translateX(-28em);
    }

    @media (max-width: 1170px) {
        .toc.sticky {
            left: 25px;
            transform: none;
        }
    }

    .toc.fade-out {
        opacity: 0;
        pointer-events: none;
    }

    @media (max-width: 800px) {
        .toc {
            display: none;
        }

        main, 
        section {
            padding-left: 0 !important;
        }
    }

@property --a {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}

.ai-search-form {
    position: relative;
    --a:0deg; 
    transition:--a 20s;
}

    .ai-search-form.loading {
        /* opacity: 0.5; */
        pointer-events: none;
    }

    

    @keyframes spin-gradient {
        0% {
            --a:0deg;
        }
       
        
        100% {
            --a:360deg;
        }
    }

    .ai-search-form.loading::before {
        content: '';
        position: absolute;
        top: -5px;
        left: -5px;
        width: calc(100% + 10px);
        height: calc(100% + 10px);
        background-size: 100% 100%;
        background: conic-gradient(from var(--a) at 50% 50%, #fff, #fff, #2d90c5, #0065AB);
        animation: spin-gradient 2s linear infinite;
        pointer-events: none;
        z-index: 0;
    }

    .ai-search-form input[type="text"] {
        position: relative;
        z-index: 1;
        appearance: none;
        width: 100%;
        padding: 1em 3em 1em 3em;
        border: 1px solid #666;
        border-radius: 0;
        font: inherit;
        font-size: 1em;
        line-height: 1.2;
        margin: 0 !important;
        outline: none;
        background-image: url('assets/images/ai.svg');
        background-size: 1.3em auto;
        background-repeat: no-repeat;
        background-position: left 1em center;
        box-sizing: border-box;
    }

    .ai-search-form input[type="text"]:focus {
        border-color: var(--wp--preset--color--primary);
        box-shadow: 0 0 0.2em var(--wp--preset--color--primary);
    }

    .ai-search-form input[type="submit"] {
        appearance: none;
        position: relative;
        z-index: 9;
        border: none;
        background-color: var(--wp--preset--color--foreground);
        color: var(--wp--preset--color--background);
        padding: 0.5em 1.5em;
        border-radius: 0;
        font: inherit;
        position: absolute;
        right: 0.5em;
        top: 50%;
        transform: translateY(-50%);
        box-sizing: border-box;
        cursor: pointer;
    }

    .ai-answer:empty {
        display: none;
    }

    .ai-answer:not(:empty) {
        box-sizing: border-box;
        display: block;
        background-color: var(--wp--preset--color--blue-light);
        color: var(--wp--preset--color--primary);
        padding: 2.5em;
    }

    .ai-answer > *:first-child {
        margin-top: 0 !important;
    }

    .ai-answer > *:last-child {
        margin-bottom: 0 !important;
    }

    .ai-answer ul {
        padding-left: 20px !important;
        list-style: disc !important;
    }

    .ai-answer ol {
        padding-left: 20px !important;
        list-style: decimal !important;
    }



.wp-block-columns.is-style-faq {
    display: block;
}

    .wp-block-columns.is-style-faq .wp-block-column {
        padding: 1em 0;
    }

    .wp-block-columns.is-style-faq .wp-block-column:nth-child(1) {
        border-bottom: 1px solid #C5C5C5;
        cursor: pointer;
        padding-right: 2em;
        position: relative;
    }

    .wp-block-columns.is-style-faq .wp-block-column:nth-child(1)::before {
        content: '';
        position: absolute;
        top: 1.2em;
        right: 0;
        width: 1em;
        height: 1em;
        background-image: url('assets/images/Line Rounded/Plus.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }

    .frontend .wp-block-columns.is-style-faq .wp-block-column:nth-child(2) {
        display: none
    }


    .wp-block-columns.is-style-faq + .wp-block-columns.is-style-faq {
        margin-top: 0 !important;
    }

@media (max-width: 700px) {
    h1 {
        font-size: 2.3em;
    }
}

@media (max-width: 450px) {
    body {
        --wp--preset--font-size--large: 1.3em;
    }
    h1,
    h2 {
        font-size: 1.8em;
    }
}

nav .has-modal-open {
    padding: 25px !important;
}

.wp-block-navigation__responsive-container-close {
    right: unset !important;
    left: 0 !important;
}

@media (max-width: 600px) {
    nav ul.wp-block-navigation__container {
        font-size: 1.8em !important;
        font-weight: 700 !important;
        gap: 0.5em !important;
    }
}

footer {
    --wp--style--global--content-size: 57rem !important;
}


footer .wp-block-list.links,
footer .wp-block-list.meta {
    padding-left: 0 !important;
    list-style: none !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    display: flex;
    flex-flow: row wrap;
    gap: 1em;
    font-weight: 700;
}

    footer .wp-block-list.links li a {
        text-decoration: none !important;
    }

    

    footer .wp-block-list.links {
        font-size: 0.9em;
    }

    footer .wp-block-list.meta {
        margin-top: 1em !important;
        font-size: 14px;
        color: rgb(204, 204, 204) !important;
    }

    footer .wp-block-list.meta a {
        color: rgb(204, 204, 204) !important;
        text-decoration: none !important;
        font-weight: 400 !important;
    }


    footer > .wp-block-group:last-child .wp-block-column:last-child p {
        font-size: 14px;
        color: rgb(204, 204, 204) !important;
        line-height: 1.2;
        font-weight: 500 !important;
    }


    footer > .wp-block-group:last-child {
        padding-top: 2.5em !important;
        padding-bottom: 4em !important;
    }

    footer > .wp-block-group:last-child .is-layout-flex {
        --gap: 0.25em;
        gap: var(--gap) !important;
    }

    footer > .wp-block-group:last-child figure a {
        box-sizing: border-box;
        background-color: rgb(148, 148, 148);
        width: 2.4em;
        height: 2.4em;
        aspect-ratio: 1/1;
        border-radius: 50%;
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0.5em;
        box-sizing: border-box;
        padding: 0 !important;
        transition: background-color 0.2s ease-out;
    }

    footer > .wp-block-group:last-child figure a:hover {
        background-color: rgba(80,80,80);
    }

    @media (max-width: 781px) {
        footer .wp-block-column:last-child {
            margin-top: 2em !important;
        }

        footer .has-text-align-right {
            text-align: left !important;
        }
    }

.wpcf7-form {

}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form input[type="time"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="search"],
.wpcf7-form input[type="password"],
.wpcf7-form input[type="range"],
.wpcf7-form input[type="color"],
.wpcf7-form input[type="file"],
.wpcf7-form select {
    -webkit-appearance: none;
    border: 2px solid #949494;
    border-radius: 2px;
    display: block;
    font-size: 1rem;
    line-height: 1.5;
    order: 1;
    padding: 1.375rem 1rem 1.375rem 1rem;
    width: 100%;
    outline: none;
    box-sizing: border-box;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form input[type="time"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="search"]:focus,
.wpcf7-form input[type="password"]:focus,
.wpcf7-form input[type="range"]:focus,
.wpcf7-form input[type="color"]:focus,
.wpcf7-form input[type="file"]:focus,
.wpcf7-form select:focus {
    border-color: var(--wp--preset--color--primary);
}

.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-list-item {
    display: block;
    margin-left: 0 !important;
    min-height: 2rem;
}

.wpcf7-list-item input[type="radio"] {
    border: 2px solid #949494 !important;
    border-radius: 99px;
    box-sizing: border-box;
    height: 1.5rem;
    left: 0;
    top: 0;
    transition: border-color .2s ease;
    width: 1.5rem;
    appearance: none;
    -webkit-appearance: none;
    margin-bottom: -0.25rem !important;
}

.wpcf7-list-item input[type="radio"]:checked {
    border-color: var(--wp--preset--color--primary) !important;
    background-color: var(--wp--preset--color--primary) !important;
}

.wpcf7-form input[type="submit"] {
    background: #000;
    border: none;
    border-radius: 1px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-family: InterBlack, Arial Black, Helvetica, sans-serif;
    font-size: 1rem;
    height: 3rem;
    line-height: 1.4;
    max-width: 100%;
    min-width: 3rem;
    padding: 1px 24px 0;
    position: relative;
    margin-top: 2em !important;
}

.wpcf7-form input[type="submit"]:hover {
    background-color: #333;
}
@media (max-width:600px){
	.mobile-fullwidth {
    display: block !important;
}
	.mobile-fullwidth .wp-block-group +.wp-block-group {
		margin-top: 2em !important;
	}
	
}

a:not([href]),
a.not-clickable {
    cursor: default !important;
}


