/*
    Theme Name: Themanaam
    Theme URI: http://www.profi-web.nl
    Description: Dit thema is gemaakt door Profi-Web Slagharen. Wanneer je hulp nodig bent kun je kijken op onze website www.profi-web.nl waar je handleidingen kunt downloaden of contact met ons op kunt nemen.
    Version: 1.0
    Author: Profi-Web
    Author URI: http://www.profi-web.nl
    License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* WordPress utill classes because they don't f*cking work halve the time for some reason */
body {
	.has-gold-background-color {
		background-color: var(--gold-color)!important;
	}
	.has-accent-background-color {
		background-color: var(--accent-color)!important;
	}
	.has-dark-background-color {
		background-color: var(--dark-color)!important;
	}
	.has-light-background-color {
		background-color: var(--lighter-color)!important;
	}
	.has-heading-background-color {
		background-color: var(--heading-color)!important;
	}
	.has-paragraph-background-color {
		background-color: var(--text-color)!important;
	}
	.has-dark-accent-background-color {
		background-color: var(--dark-accent)!important;
	}
	.has-deep-red-background-color {
		background-color: var(--deep-red)!important;
	}

	.has-gold-color {
		color: var(--gold-color)!important;
	}
	.has-accent-color {
		color: var(--accent-color)!important;
	}
	.has-dark-color {
		color: var(--dark-color)!important;
	}
	.has-light-color {
		color: var(--lighter-color)!important;
	}
	.has-heading-color {
		color: var(--heading-color)!important;
	}
	.has-paragraph-color {
		color: var(--text-color)!important;
	}
	.has-dark-accent-color {
		color: var(--dark-accent)!important;
	}
	.has-deep-red-color {
		color: var(--deep-red)!important;
	}
}

/* General theme css */
:root {
    --dark-color: hsl(0, 7%, 7%);
    --lighter-color: hsl(0, 9%, 15%);
    --gold-color: hsl(25, 40%, 65%);
    --accent-color: hsl(14, 75%, 62%);

    --dark-accent: color-mix(
        in lch,
        var(--dark-color) 93%,
        var(--accent-color)
    );
    --deep-red: color-mix(
        in lch,
        var(--dark-color) 80%,
        var(--accent-color)
    );

    --gold-opaque: rgb(from var(--gold-color) r g b / 0.7);
    --dark-opaque: rgb(from var(--dark-color) r g b / 0.7);

    --background-color: var(--lighter-color);

    --heading-color: hsl(25, 40%, 65%);
    --text-color: hsl(25, 40%, 90%);

    --padding: 0.5rem;
    --border-radius: 0.75em;

    --button-background: var(--gold-color);
    --button-color: var(--dark-color);
    --button-background_hover: var(--dark-color);
    --button-color_hover: var(--gold-color);

    --wp--preset--font-size--x-large: clamp(2em, 4cqi, 5em) !important;
}
html {
    color-scheme: dark;
    accent-color: var(--accent-color);
    scroll-behavior: smooth;
}
body {
    font-family: "Manrope", system-ui, sans-serif !important;
    background-color: var(--background-color);
    color: var(--text-color);
}
body:has(#wpadminbar) {
    --wp-adminbar-height: 32px;
}
:is(h1, h2, h3, h4, h5, h6) {
    color: var(--heading-color);
    line-height: 1.2;
    &.pull-behind {
		margin-bottom: 0;
		position: relative;
		bottom: -0.25em;
		z-index: -1;
		isolation: isolate;
		word-break: break-all;
		text-shadow: 0 -1.5rem 0 rgb( from var(--heading-color) r g b / 0.05 );
    }
}
.form-control {
	/*all: revert;*/
}
:is(label, .wpcf7-form-control-wrap) {
    display: block;
}
:is(input, button, select, optgroup, textarea) {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    padding: 0.4rem 0.75rem;
    font-size: 1rem;
    background-color: #fff;
    color: var(--dark-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
}
body .btn-primary {
    background-color: var(--dark-color);
    color: var(--gold-color);
    border-color: currentColor;
    font-weight: bold;
}
.gold-border {
	border: 2px solid var(--gold-color);
}
.corner-scoop {
	corner-shape: scoop;
}
.is-vertical {
    flex-direction: column;
    #main-content & {
        row-gap: 2rem;
    }
}
.branding-container {
    background: var(--dark-opaque);
    border: 3px solid var(--gold-color);
    color: var(--gold-color);
    border-radius: var(--border-radius);
    backdrop-filter: blur(8px);
    padding: 0 8px;
}
#main-header {
    --button-background: var(--dark-opaque);
    --button-color: var(--gold-color);

    position: absolute;
    top: var(--wp-adminbar-height, 0);
    inset-inline: 0;
    bottom: auto;
    z-index: 500;
    padding: var(--padding);
    isolation: isolate;

    .container-fluid {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        gap: 0.5rem;

        container: header / inline-size;
    }
}
@container header (width < 1000px) {
    .hide-on-small {
        display: none;
        content-visibility: hidden;
    }
}
#header-logo-bar {
    width: min(60%, 250px);
}
#header-widget-bar {
    flex: 1;
    .is-layout-flex {
    	height: 100%;
    }
    & figure {
        margin: 0;
    }
    & img {
        width: auto;
        max-height: 100px;
    }
}
#header-menu-bar {
    & button {
        height: 100%;
    }
}
#menu-button {
    background: var(--gold-color);
    color: var(--dark-color);
    border: unset;
    text-transform: uppercase;
    font-size: 1.5em;
    padding: 0.5em 2em;
    outline: 3px solid var(--dark-color);
    outline-offset: -6px;
    border-radius: var(--border-radius);
    transition: all 0.3s ease-in-out;
    cursor: pointer;

    & svg {
        color: inherit;
        width: auto;
        height: 2em;
        aspect-ratio: 1;
    }
    & span.dynamic-button-text {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    & span span {
        width: 5ch;
        @media screen and (max-width: 900px) {
            diplay: none;
        }
    }
    & span.open-button {
        [aria-expanded="true"] & {
            display: none;
            content-visibility: hidden;
        }
    }
    & span.close-button {
        [aria-expanded="false"] & {
            display: none;
            content-visibility: hidden;
        }
    }
}
.site-logo {
    width: 100%;
    height: auto;
}
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#main-navigation {
    background: rgb(from var(--dark-color) r g b / 0.7);
    color: var(--gold-color);
    backdrop-filter: blur(8px);
    position: fixed;
    inset: 0;
    z-index: -1;
    isolation: isolate;
    contain: content;
    content-visibility: auto;
    padding: 1rem;

    &.show {
        overflow: auto;
        padding-top: 150px;
    }

    :where(a, .dropdown-menu) {
        all: unset;
    }
    :where(hr) {
        height: 1px;
        border: 0;
        background-color: var(--dark-color);
    }

    & > ul {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        padding: 2rem;
        align-items: start;
        justify-content: center;
        gap: 2rem;
    }
    & > ul > li:first-child {
        background-color: rgb(from var(--gold-color) r g b / 0.9);
        color: var(--dark-color);
        padding: 1rem 0.5rem;
        border-radius: var(--border-radius);

        grid-row: span 2;
        & .dropdown-menu .dropdown-menu {
            opacity: 0.8;
            @media screen and (max-width: 900px) {
                display: none;
            }
        }
    }
    & li {
        width: 100%;
    }
    & li.menu-item-has-children > a {
        font-weight: 800;
        text-transform: uppercase;
    }
    & li[class*="current-menu-item"] > a {
        font-weight: 800;
        background-color: rgb(from currentColor r g b / 0.2);
    }
    & a {
        display: block;
        padding: 1rem 2rem;
        cursor: pointer;
        border-radius: var(--border-radius);
    }
    & a:has(hr) {
        padding-block: 0.5rem;
    }
    & a:hover {
        text-decoration: underline;
        background-color: rgb(from currentColor r g b / 0.1);
    }
}
body:has(#main-navigation.show) {
    overflow: hidden;
    .branding-container {
        border-color: transparent;
        background: transparent;
    }
    #header-nav,
    #header-widget-bar {
        content-visibility: hidden;
    }
}
#main-banner {
    --button-background: var(--dark-accent);
    --button-color: var(--gold-color);
    --height: 60vh;

    display: grid;
    align-content: end;
    text-align: center;
    position: relative;
    isolation: isolate;
    overflow: clip;
    height: max(400px, var(--height));

    container-type: inline-size;
    container-name: banner;

    .home & {
        --height: 75vh;
    }
    .page-template-page-smallbanner & {
        --height: 40vh;
    }
    .page-template-page-nobanner & {
        display: none;
        content-visibility: hidden;
    }
    & .container {
        padding-block: 2rem;
    }
    & h1 {
        font-size: clamp(2em, 5cqi, 5em);
    }
    & .has-background {
        backdrop-filter: blur(8px);
        border-radius: var(--border-radius);
        &:not(.padding, .padding-xl) {
            padding: 1rem;
        }
    }
    & .wp-block-image a {
        & img {
            transition: all 0.3s ease-in-out;
        }
        &:hover img {
            scale: 1.2;
            rotate: -5deg;
        }
    }
    &::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: -1;
        --bg1: rgb(from var(--dark-color) r g b / 0.4);
        --bg2: rgb(from var(--dark-color) r g b / 0.95);
        background: linear-gradient(to bottom, var(--bg1), var(--bg2));
    }
    & figure.backdrop {
        position: absolute;
        inset: 0;
        z-index: -2;
        margin: 0;
        padding: 0;
    }
    & figure.backdrop img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    .n2_clear,
    ss3-force-full-width,
    ss3-force-full-width * {
        height: 100%;
    }
}
#main-content {
    &.container {
        padding-block: 2rem;
    }
    &.no-container {
	    max-width: 1800px;
	    margin-inline: auto;
    }
    h2 {
        font-weight: 800;
    }
    & .wp-block-list {
        list-style: none;
        padding: 0;
        margin: 0;
        & li {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 0.5em;
            align-items: center;
            margin-block: 0.25em;
        }
        & li:before {
            content: "";
            display: inline-block;
            width: 1lh;
            aspect-ratio: 1;
        }
    }
    & hr.wp-block-separator.is-style-dots {
    	color: inherit;
    }
    & ul.wp-block-list {
        & li:before {
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%20fill%3D%22currentcolor%22%3E%3Cpath%20d%3D%22m438-452-58-57q-11-11-27.5-11T324-508q-11%2011-11%2028t11%2028l86%2086q12%2012%2028%2012t28-12l170-170q12-12%2011.5-28T636-592q-12-12-28.5-12.5T579-593zM326-90l-58-98-110-24q-15-3-24-15.5t-7-27.5l11-113-75-86q-10-11-10-26t10-26l75-86-11-113q-2-15%207-27.5t24-15.5l110-24%2058-98q8-13%2022-17.5t28%201.5l104%2044%20104-44q14-6%2028-1.5t22%2017.5l58%2098%20110%2024q15%203%2024%2015.5t7%2027.5l-11%20113%2075%2086q10%2011%2010%2026t-10%2026l-75%2086%2011%20113q2%2015-7%2027.5T802-212l-110%2024-58%2098q-8%2013-22%2017.5T584-74l-104-44-104%2044q-14%206-28%201.5T326-90%22%2F%3E%3C%2Fsvg%3E");
            mask-size: contain;
            mask-position: center;
            mask-repeat: no-repeat;
            background-color: var(--accent-color);
        }
    }
    & ol.wp-block-list {
        opacity: 0.7;
        & li:before {
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%20fill%3D%22currentcolor%22%3E%3Cpath%20d%3D%22m326-90-58-98-110-24q-15-3-24-15.5t-7-27.5l11-113-75-86q-10-11-10-26t10-26l75-86-12-130-42-42q-11-11-11-28t11-28%2028-11%2028%2011l680%20680q11%2011%2011%2028t-11%2028-28%2011-28-11l-84-84-46%2078q-8%2013-22%2017.5T584-74l-104-44-104%2044q-14%206-28%201.5T326-90m496-278%207%2075q2%2014-11%2020t-23-4L586-486l50-50q12-12%2011.5-28T636-592q-12-12-28.5-12.5T579-593l-50%2050-227-228q-10-10-11.5-23t5.5-25l30-51q8-13%2022-17.5t28%201.5l104%2044%20104-44q14-6%2028-1.5t22%2017.5l58%2098%20110%2024q15%203%2024%2015.5t7%2027.5l-11%20113%2075%2086q10%2011%2010%2026t-10%2026zm-498-84%2086%2086q12%2012%2028%2012t28-12l8-8-51-51-91-91-4%204-4%204q-12%2012-12%2028t12%2028%22%2F%3E%3C%2Fsvg%3E");
            mask-size: contain;
            mask-position: center;
            mask-repeat: no-repeat;
            background-color: currentColor;
        }
    }
    & .wp-block-quote {
        text-wrap: balance;
    }
    & .has-background:not(.wp-block-button__link) {
        border-radius: var(--border-radius);
        &:not(.padding, .padding-xl) {
            padding: 1rem;
        }
    }
    & .has-background#contact-sidebar {
        padding: 2rem;
        overflow: clip;
        & figure {
            margin: -3rem;
            margin-top: 2rem;
            pointer-events: none;
        }
    }
    & .wp-block-cover {
        border-radius: var(--border-radius);
        .wp-block-cover__inner-container {
            padding: 2rem;
        }
        .has-text-align-center {
            max-width: 70ch;
            text-wrap: balance;
            margin-inline: auto;
        }
        &.has-object-fit-contain .wp-block-cover__image-background {
            object-fit: contain !important;
        }
    }
    & .wp-block-columns {
        gap: 1em;
    }
    & .wp-block-file {
    }
    & .wp-block-file__embed {
        height: unset !important;
        aspect-ratio: 1 / 1.41;
        border-radius: var(--border-radius);
    }
    .wp-block-columns:has(.swiper) .wp-block-column {
        place-content: center;
    }
    /*.wp-block-gslider-blocks-image-slider {
        background: red;
    }
    .gslider-image-slider-content-wrapper {
        background: blue;
    }
    .gslider-image-item {
        background: yellow;
    }*/
    .wp-block-gslider-blocks-image-slider.gslider-image-slider-wrapper {
        margin: 0;
        border-radius: var(--border-radius);
        overflow: clip;
        width: 100%;
        height: 100%;
        .swiper-slide {
            aspect-ratio: 16 / 9;
            width: 100%;
            height: 100%;
            overflow: clip;
            isolation: isolate;
            position: relative;
            &::after {
                content: "";
                position: absolute;
                inset: 0;
                z-index: 1;
                background: linear-gradient(
                    to top left,
                    rgb(from var(--dark-color) r g b / 0.4),
                    rgb(from var(--gold-color) r g b / 0.4)
                );
            }
        }
        .swiper-button-prev,
        .swiper-button-next {
            background: var(--dark-opaque);
            color: var(--gold-color);
            border: 2px solid currentColor;
            border-radius: 50vh;
            backdrop-filter: blur(8px);
        }
        .gslider-image-slider-content-wrapper,
        .gslider-image-item {
            width: 100%;
            height: 100%;
        }
        .gslider-image-slider-content-wrapper .gslider-image-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
    }
}
.has-large-font-size {
    line-height: 1.3;
}
.grid-container {
    width: min(90%, 1000px);
    padding-block: 4rem;
    margin-inline: auto;
}
#subpages {
    background-color: var(--deep-red);
    .container {
        &:has(.wp-block-buttons) {
            padding-block: 1rem;
        }
    }
    .wp-block-button {
    	flex: 1;
    }
    .wp-block-button__link {
	    outline: 2px solid currentColor;
	    outline-offset: -4px;
    }
}

a.wp-block-button__link:not([tabindex]) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    font-weight: 800;

    border-radius: var(--border-radius);

    word-wrap: break-word;
    backdrop-filter: blur(8px);

    transition: all 0.3s ease-in-out;

    background-color: var(--button-background);
    color: var(--button-color);

    :where(#main-header, .widget) & {
        border: 2px solid currentColor;
    }
    .is-style-outline & {
        background-color: transparent;
    }

    &:after {
        content: "";
        display: block;
        mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%20fill%3D%22currentcolor%22%3E%3Cpath%20d%3D%22M504-480%20320-664l56-56%20240%20240-240%20240-56-56z%22%2F%3E%3C%2Fsvg%3E");
        mask-size: contain;
        mask-position: center;
        mask-repeat: no-repeat;
        width: 1lh;
        aspect-ratio: 1;
        background-color: currentColor;
        position: relative;
        transform: translate(50%);
    }
    &:hover {
        background-color: var(--button-background_hover);
        color: var(--button-color_hover);
    }
}

h1 {
    margin-block: 0 0.5em;
    line-height: 1;
    letter-spacing: 1px;
}
.wp-block-columns {
    gap: var(--padding);
}
.wp-block-columns.is-arrangement {
    .wp-block-column:has(.wp-block-heading) {
        padding: calc(var(--padding) * 5);
        place-content: center;
        background: var(--dark-opaque);
        border-radius: var(--border-radius);

        display: flex;
        flex-direction: column;
        justify-content: start;
        gap: 1rem;

        & .wp-block-buttons {
            justify-items: end;
            align-items: end;
            flex: 1;
        }
    }
    & h2 {
        color: var(--accent-color);
        margin: 0;
    }
}
.wp-block-image.is-style-rounded {
    border: 3px solid var(--gold-color);
    border-radius: var(--border-radius);
    overflow: clip;
    width: fit-content;
    & img {
        border-radius: 0;
    }
}
.wp-block-gallery {
    margin-block: 1rem;
    & figure {
        border-radius: var(--border-radius);
        overflow: clip;
    }
}
#kamer-faciliteiten {
    & > div {
        aspect-ratio: 2 / 1;
        display: grid;
        place-content: center;
    }
    & figure {
        margin-bottom: 0.5rem;
    }
    & p {
        margin: 0;
        text-wrap: balance;
        font-weight: 600;
        font-size: 0.75rem;
    }
}
body .wp-block-media-text {
    background-color: var(--dark-accent);
    width: 100%;
    aspect-ratio: 3 / 1;

    main.container & {
        border-radius: var(--border-radius);
        overflow: clip;
    }
    .wp-block-media-text__media {
        border-radius: var(--border-radius);
        overflow: clip;
        position: relative;
        isolation: isolate;
        &::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(
                to top left,
                rgb(from var(--dark-color) r g b / 0.4),
                rgb(from var(--gold-color) r g b / 0.4)
            );
        }
    }
    .wp-block-media-text__content {
        padding: 2rem;
        text-wrap: balance;
        .wp-block-heading {
            margin-top: 0;
        }
    }

    /* Hotelkamers en Arrangementen */
    #main-content.no-container > &:is(.hotelkamers-block, .arrangementen-block) {
		&:nth-child(2n+2) {
			direction: rtl;
			.wp-block-media-text__media {
				& img {
					left: 0;
				}
			}
		}
    }
}

#main-footer {
    background-color: var(--dark-accent);
    color: var(--gold-color);
    contain: content;
    content-visibility: auto;
    isolation: isolate;
    padding-block: 4rem;
    & .is-layout-grid {
    	gap: 1em;
    }
    & h4 {
     	margin-top: 0;
        color: var(--accent-color);
    }
    & em {
        font-style: normal;
        opacity: 0.6;
    }
    & p {
        margin: 0;
    }
    & .widget div {
        margin-block: 0.5em;
    }
    & .form-control {
    	background-color: color-mix(
			in lch,
			Canvas 70%,
			var(--accent-color)
		);
		color: color-mix(
			in lch,
			CanvasText 90%,
			var(--accent-color)
		);
		border-color: transparent;
		&::placeholder {
			color: inherit;
			opacity: 0.5;
		}
    }
    & .mailpoet_paragraph .btn-primary {
    	background-color: var(--gold-color);
     	color: var(--dark-color);
    }
}
.footer-img {
    width: min(30%, 300px);
    position: absolute;
    right: -25px;
    bottom: -25px;
    rotate: -10deg;
    opacity: 0.7;
    z-index: -1;
    pointer-events: none;
}
.mailpoet_paragraph {
    margin-block: 4px;
    & .btn-primary {
        margin-top: 8px;
        background-color: var(--accent-color);
        color: #fff;
        font-weight: 700 !important;
        padding-inline: 16px;
        border-radius: var(--border-radius) !important;
    }
}

/* Archive */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
    gap: 1rem;
}
.archive-article {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1rem;
    padding: 2rem;
    background: var(--dark-color);
    border-radius: var(--border-radius);
    background:
        linear-gradient(
                hsl(from var(--dark-color) h s calc(l * 0.9)),
                hsl(from var(--dark-color) h s calc(l * 0.7))
            )
            padding-box,
        linear-gradient(
                hsl(from var(--dark-color) h s calc(l * 1.1)),
                hsl(from var(--dark-color) h s calc(l * 1.4))
            )
            border-box;
    border: 1px solid transparent;
}
.archive-title {
    margin: 0;
    font-size: 1rem;
    color: var(--accent-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    & a {
        color: inherit;
    }
}
.archive-description {
    color: var(--gold-opaque);
    font-size: small;
}
.archive-button {
    width: fit-content;
}

/* Booking module */
body .booking-widget #ChContainer {
    font-family: inherit;
    #ChBookingWidget {
        font-family: unset;
        .ChForm {
       		background-color: var(--dark-accent)!important;
        	color: var(--gold-color)!important;
            border-radius: var(--border-radius) !important;
            /*outline: 3px solid #fff;
            outline-offset: 3px;*/
            .ChForm_block--heading {
            	color: unset;
            }
            .ChForm_input--total_amount {
            	background: transparent;
             	color: inherit;
            }
        }
        .ChForm_block--button {
            display: flex;
            flex-direction: row-reverse;
            align-items: center;
            justify-content: center;
            gap: 1em;
            background: var(--gold-color);
            color: var(--dark-color);
            border: unset;
            text-transform: uppercase;
            font-size: 1.1em;
            font-weight: 600;
            outline: 3px solid currentColor;
            outline-offset: -12px;
            border-radius: 1rem !important;
            border: 5px solid currentColor;
            & br {
                display: none;
            }
        }
    }
}
.no-margin {
    margin: 0 !important;
    & figure {
        margin-bottom: 0 !important;
    }
}
.no-padding {
    padding: 0 !important;
}
.margin {
    margin: var(--padding);
}
.padding {
    padding: var(--padding);
}
.padding-xl {
    padding: calc(var(--padding) * 4);
}
.border-radius {
	border-radius: var(--border-radius);
}
.no-border-radius {
	border-radius: 0;
}
