/*
Theme Name: Epovia Theme
Author: Mats Ouchiian
Text Domain: epovia
Version: 0.0.1
*/
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    margin: 0 !important;
    scroll-behavior: smooth;
    scroll-padding-top: calc(90px + 3rem);
}

a {
    color: inherit;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    transition: all 0.25s ease-in-out;
}

header.scrolled {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

body:has(.main-logo) .header-image {
    opacity: 0;
    transition: opacity 0.25s ease-in-out;
}

.header-image.visible {
    opacity: 1 !important;
}

header .wp-block-navigation__responsive-container-open {
    margin-right: 1rem;
}

header button svg path {
    stroke-width: 2.5 !important;
}

header .wp-block-navigation .wp-block-navigation-item:not(wp-block-navigation-submenu) {
    padding-bottom: 0.5rem;
}

header .wp-block-navigation .wp-block-navigation__submenu-container {
    padding: 0.5rem 0;
    border: none !important;
    font-weight: normal;
}

header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: var(--wp--preset--font-size--normal) !important;
}

header + * {
    margin-top: 0;
}

.entry-content {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .main-logo {
        max-width: 200px;
    }

    footer .wp-block-columns .wp-block-column p {
        text-align: center;
    }

    footer .wp-block-columns .wp-block-column ul {
        justify-content: center;
    }
}

.entry-content > *:not(.alignfull) {
    width: calc(100vw - 2rem);
}

.taxonomy-category.wp-block-post-terms {
    pointer-events: none;
}

.taxonomy-category.wp-block-post-terms a {
    text-decoration: none;
}

header > .wp-block-group > *:not(.alignfull),
footer > .wp-block-group > *:not(.alignfull) {
    width: calc(100vw - 2rem);
}

header .wp-block-navigation__responsive-container.is-menu-open {
    padding-left: 1rem;
    padding-right: 1rem;
}

.single.single-post .wp-block-cover + figure {
    position: relative;
}

.single.single-post .wp-site-blocks > .wp-block-group-is-layout-constrained > * {
    width: calc(100vw - 2rem);
}

figure.alignfull {
    padding-left: 0;
    padding-right: 0;
}

.wp-block-query .wp-block-post {
    box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.25);
    border-radius: 15px;
    overflow: hidden;
}

.wp-block-query .wp-block-post-featured-image img {
    aspect-ratio: 16 / 9;
}

details.wp-block-details {
    width: 100%;
    transition: all 0.25s;
}

details.wp-block-details[open] {
    background: var(--wp--preset--color--orange);
    color: var(--wp--preset--color--white);
}

details.wp-block-details summary {
    font-weight: bold;
}

details.wp-block-details p {
    margin-top: 1rem;
}

.post-card {
    cursor: pointer;
}

/* CF7 */
.wpcf7-form p {
    margin-top: 0;
}

.wpcf7-form input,
.wpcf7-form textarea {
    padding: 6px 12px;
    font-family: inherit;
    width: 100%;
    font-size: 0.8em;
    margin-top: 4px;
    border: 1px solid var(--wp--preset--color--blue);
    border-radius: 4px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.wpcf7-form input:not(.wpcf7-submit):focus-visible,
.wpcf7-form textarea:focus-visible {
    border: 1px solid var(--wp--preset--color--mint);
    outline: none;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1);
}

.wpcf7-form textarea {
    resize: vertical;
}

.wpcf7-form .wpcf7-submit {
    color: var(--wp--preset--color--white);
    background: var(--wp--preset--color--blue);
    transition: all 0.25s;
    width: min-content;
    padding: 6px 20px;
}

.wpcf7-form .wpcf7-submit:hover {
    opacity: 0.8;
    cursor: pointer;
}

.wpcf7-form .wpcf7-not-valid-tip {
    margin-top: 0.5rem;
}

.wpcf7 form.wpcf7-form .wpcf7-response-output {
    margin: 1rem 0 0 !important;
    border-radius: 4px;
    padding: 0.8rem 1rem;
}

.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output {
    border: 1px solid var(--wp--preset--color--orange);
}

.wpcf7 form.wpcf7-form.sent .wpcf7-response-output {
    border: 1px solid var(--wp--preset--color--green);
}