/*
 * Nomad Custom Styles
 * Author: STL@Nomad
 * Author URI: https://www.agencenomad.com/
 * Active Theme: Kadence Child Theme
 * 
 * 01. Global Variables (CSS Custom Properties)
 * 02. Global Styles
 * 03. Header (Kadence Header Builder)
 * 04. Content (Primary)
 * 05-1. Homepage
 * 05-2. Page Programme
 * 05-3. Page Liste
 * 05-4. Page Documents
 * 06. Page Contact 
 * 06. Footer (Element)
 *
 */


/*--------------------------------------------------------------
 01. Global Variables (CSS Custom Properties)
--------------------------------------------------------------*/

:root {
	/*
	--global-kb-spacing-xxs: 0.5rem;
	--global-kb-spacing-xs: 1rem;
	--global-kb-spacing-sm: 1.5rem;
	--global-kb-spacing-md: 2rem;
	--global-kb-spacing-lg: 3rem;
	--global-kb-spacing-xl: 4rem;
	--global-kb-spacing-xxl: 5rem;
	--global-kb-spacing-3xl: 6.5rem;
	--global-kb-spacing-4xl: 8rem;
	--global-kb-spacing-5xl: 10rem;
	--custom-font-family: Lora, serif;
	--custom-font-weight-bold: 400;
	*/

	/* Kadence overrides */
	--global-content-edge-padding: clamp(1.5rem, 0.804rem + 3.095vw, 3.125rem); /* vw 360 → 1200 | 1.5rem → 3.125rem */


	/* Spacings */
	--clamp-spacing-sm: clamp(2rem, 1.357rem + 2.857vw, 3.5rem); /* vw 360 → 1200 | 2rem → 3.5rem */
	--clamp-spacing-md: clamp(3.5rem, 3.071rem + 1.905vw, 4.5rem); /* vw 360 → 1200 | 3.5rem → 4.5rem */

	/* Colors */ 
	--custom-highlight-color: var(--global-palette1);

	/* Line Height */ 
	--custom-line-height: calc( 1em + .5rem );

	/* Font Weights */ 
	--custom-font-weight-light: 400;
	--custom-font-weight-regular: 500;
	--custom-font-weight-bold: 600;
	--custom-font-weight-xbold: 700;

	/* Font Colors */ 
	--custom-heading-color: var(--global-palette4);
	--custom-body-color: var(--global-palette3);

	/* Body & Headings */
	--custom-body-font-size: 0,875rem;
	--custom-body-font-weight: var(--custom-font-weight-light);

	--custom-h1-font-size: clamp(1.5rem, 1.286rem + 0.952vw, 2rem); /* vw 360 → 1200 | 24px → 32px */
	--custom-h1-font-weight: 600;

	--custom-h2-font-size: clamp(1.5rem, 1.286rem + 0.952vw, 2rem); /* vw 360 → 1200 | 24px → 32px */
	--custom-h2-font-weight: 600;

	--custom-h3-font-size: clamp(1.25rem, 1.143rem + 0.476vw, 1.5rem); /* vw 360 → 1200 | 20px → 24px */
	--custom-h3-font-weight: 600;

	--custom-h4-font-size: 1rem;
	--custom-h4-font-weight: 500;

	--custom-h5-font-size: var(--custom-body-font-size);
	--custom-h5-font-weight: 500;

	--custom-h6-font-size: var(--custom-body-font-size);
	--custom-h6-font-weight: 400;

	/* Misc. */


}


/*--------------------------------------------------------------
 02. Global Styles
--------------------------------------------------------------*/


/**
 * Media queries
 */

.hide_all { 
	display: none !important;
}
@media only screen and (max-width: 478px) { 
	.hide_xs { display: none !important; } 
}
@media only screen and (max-width: 767px) { 
	.hide_sm { display: none !important; } 
}
@media only screen and (min-width: 768px) and (max-width: 1024px) { 
	.hide_md { display: none !important; } 
}
@media only screen and (min-width: 1025px) { 
	.hide_lg { display: none !important; } 
}

/**
 * Fonts
 */

body {
	font-family: var(--global-body-font-family);
	font-size: var(--custom-body-font-size);
	font-weight: var(--custom-body-font-weight);
	color: var(--custom-body-color);
}

:is(h1, h2, h3, h4, h5, h6) {
	line-height: var(--custom-line-height);
}

:is(h1, .style-h1) {
	font-family: var(--global-heading-font-family, inherit);
	font-size: var(--custom-h1-font-size);
	font-weight: var(--custom-h1-font-weight);
	color: var(--custom-heading-color);
}


:is(h2, .style-h2) {
	font-family: var(--global-heading-font-family, inherit);
	font-size: var(--custom-h2-font-size);
	font-weight: var(--custom-h2-font-weight);
	color: var(--custom-heading-color);
}

:is(h3, .style-h3) {
	font-family: var(--global-heading-font-family, inherit);
	font-size: var(--custom-h3-font-size);
	font-weight: var(--custom-h3-font-weight);
	color: var(--custom-heading-color);
}

:is(h4, .style-h4) {
	font-family: var(--global-body-font-family);
	font-size: var(--custom-h4-font-size);
	font-weight: var(--custom-h4-font-weight);
	color: var(--custom-body-color);
}

:is(h5, .style-h5) {
	font-family: var(--global-body-font-family);
	font-size: var(--custom-h5-font-size);
	font-weight: var(--custom-h5-font-weight);
	color: var(--custom-body-color);
}

:is(h6, .style-h6) {
	font-family: var(--global-body-font-family);
	font-size: var(--custom-h6-font-size);
	font-weight: var(--custom-h6-font-weight);
	color: var(--custom-body-color);
}

b, strong {
	font-weight: var(--custom-font-weight-bold);
}

::placeholder {
	/* color: rgba(255,255,255,.5); */
}


/**
* Tags
*/

.text-justify {
	text-align: justify;
}

/**
* Buttons
*/

.button,
.wp-block-buttons * {
	transition: all .6s;
}


/**
 * Kadence Debug / Resets
 */

body .single-content .wp-block-group,
figure {
	margin-block: 0;
}

.single-content p:not(:last-child),
.entry .single-content ul:not(:last-child), 
.entry .single-content ol:not(:last-child) {
	margin-bottom: 1em;
}

.entry .single-content li ul, 
.entry .single-content li ol {
	margin-bottom: 0;
}

/* Read more links → icons are not aligned vertically */
a.post-more-link {
	display: inline-flex;
	align-items: center;
}
a.post-more-link .kadence-svg-iconset svg {
	display: block;
}


/**
* Custom classes
*/

/* Custom Youtube Embed (HTML block to avoid YT suggestions) */
.video-iframe-wrapper {
	& iframe {
		height: 100%;
		width: 100%;
		aspect-ratio: 16 / 9;
	}
	&.ratio-16-9 iframe {
		aspect-ratio: 16 / 9;
	}
	&.ratio-4-3 iframe {
		aspect-ratio: 4 / 3;
	}
}


/*--------------------------------------------------------------
 03. Header (Kadence Header Builder)
--------------------------------------------------------------*/

/**
 * Header Top 
 */



/**
 * Header Main Row
 */

/* Logo shrink (Kadence debug) */
:is(#main-header, #mobile-header) .site-branding :is(img, svg) {
	padding: 8px 0;
}

/* Main Menu */
#main-header :is(p, a) {
	font-size: clamp(0.875rem, 0.654rem + 0.462vw, 1rem); /* vw 767 → 1200 */
}


/* Sticky Menu */
.kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.item-hidden-above) > .site-header-row-container-inner .site-branding :is(img, svg) {
	width: auto; /* Kadence adds max-height but keeps static width set in the customizer */
	max-height: 100%; /* Just in case */
}

#masthead .site-header-row-layout-contained {
	padding-inline: 0;
}

#masthead .site-header-row-layout-contained .site-container {
	padding-inline: var(--global-content-edge-padding);
}


/**
 * Mobile Drawer (Off Canvas)
 */

/* No border required below last item */
#mobile-drawer .mobile-navigation ul li:last-child a {
	border-bottom: none;
}

#mobile-drawer .drawer-content {
  padding-inline: 1rem;
}

#mobile-drawer .mobile-header-button {
	padding: 1em 2em .9em;
}

/**
 * Banners + Logos (Responsive)
 */

#hero-banner {
	min-height: clamp(21.875rem, 12.337rem + 28.261vw, 30rem); /* vw 540 → 1000 | 350px → 480px ( img 1200x480 ) */
}

#hero-banner .header-logo {
	width: 300px;
	margin-block: 110px 0;
	max-width: 50%;
}

@media (max-width: 540px)
{
	#hero-banner {
		background-image: url('/wp-content/uploads/header-banner-mobile.jpg');
	}

	#hero-banner .kt-inside-inner-col {
		min-height: clamp(31.25rem, -0.714rem + 127.857vw, 42.438rem); /* vw 400 → 540 | 500px → 679px ( img 540x679 ) */
	}

	#hero-banner .header-logo {
		margin-top: 60px;
		max-width: 70%;
	}
}

#header-baseline {
	margin-block: 0;
	font-size: clamp(0.813rem, 0.625rem + 0.833vw, 1.25rem); /* vw 360 → 1200 */

	& > .kt-inside-inner-col {
		padding: .5em var(--global-content-edge-padding);
	}
}



/*--------------------------------------------------------------
 04. Content (Primary)
--------------------------------------------------------------*/

#wrapper {
	max-width: var(--global-content-width);
	margin-inline: auto;
	position: relative;
}

#primary {
	--custom-primary-vertical-spacing: clamp(3rem, 2.571rem + 1.905vw, 4rem); /* vw 360 → 1200  */
	margin-top: var(--custom-primary-vertical-spacing);
	margin-bottom: var(--custom-primary-vertical-spacing);
}

.has-sidebar #primary > .content-container {
	--custom-content-aside-gap: clamp(1.75rem, 0.917rem + 2.778vw, 3rem); /* vw 480 → 1200 */
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	column-gap: var(--custom-content-aside-gap);
	row-gap: calc( var(--custom-content-aside-gap) * 1.5 );
	justify-content: center;

	& #secondary {
		padding-left: var(--custom-content-aside-gap);
		border-left: 2px dotted var(--global-palette7);
	}
}

@media only screen and (max-width: 1024px){
	.has-sidebar #primary > .content-container {
		grid-template-columns: minmax(0, 1fr);

		& #secondary {
			max-width: 480px;
			padding: var(--custom-content-aside-gap);
			border: none;
			background-color: var(--global-palette8);
			margin-top: 2.5rem;
		}
	}
}



/*--------------------------------------------------------------
 05-1. Archive Loop + Single
--------------------------------------------------------------*/

#archive-container {
	row-gap: 4rem;

	& .entry-title,
	& .entry-title > * {
	}

	& .entry-meta {
		margin-top: 0.2em;
		font-size: .7em;
	}

	& .more-link-wrap {
		margin-top: .6em;
	}

	& .entry-summary p {
		margin: 0;
	}
}

@supports (font-size: 1cqi) {

	#archive-container .entry-list-item {
		container-type: inline-size;

		& .entry-title,
		& .entry-title > * {
			font-size: clamp(1.2rem, 1.014rem + 0.828cqi, 1.5rem); /* vw 360 → 940  */
		}

		& .entry-header {
			margin-bottom: .8em;
		}

		& .entry-summary {
			margin: 0;
		}
	}
}

@media (max-width: 767px)
{
	#archive-container .loop-entry {
		max-width: 500px;
		margin-inline: auto;
	}
}

/**
 * Single posts
 */

#main .post-navigation {
	padding: .5rem 1rem;
	background-color: var(--global-palette8);

	& .post-navigation-sub {
		margin: 0 0 0.2em;
	}
}



/*--------------------------------------------------------------
 05-2. Page Programme
--------------------------------------------------------------*/



/*--------------------------------------------------------------
 05-3. Page Liste
--------------------------------------------------------------*/



/*--------------------------------------------------------------
 05-4. Page Documents
--------------------------------------------------------------*/

#main .custom-auto-grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax(220px, 1fr) );
	gap: 2rem;
}


/*--------------------------------------------------------------
 06. Page Contact
--------------------------------------------------------------*/



/*--------------------------------------------------------------
 07. Footer (Element)
--------------------------------------------------------------*/

/**
 * Main Footer
 */

#main-footer .elections-stamp {
	text-transform: uppercase;
	font-size: 1.8rem;
	line-height: 1.1;
	& span {
		display: block;
		font-weight: var(--custom-font-weight-light);
		&.first {
			font-size: .435em;
		}
		&.last {
			font-size: .395em;
		}
	}
}

#main-footer .footer-logo {
	max-width: 240px;
}

/* 
:is(#main-footer, #footer-copyright) :not(h2, h2 *, h3, h3 *) {
	--text-color: rgba(255, 255, 255, 0.8);
	color: var(--text-color);
} */

:is(#main-footer, #footer-copyright) a {
	transition: all 200ms linear;
	text-decoration: none;
}

:is(#main-footer, #footer-copyright) a:hover,
:is(#main-footer, #footer-copyright) a:hover * {
	color: rgba(255, 255, 255, 1);
}


/**
 * Footer Copyright
 */

#footer-copyright {
	text-align: center;
	font-size: .8rem;
}

#footer-copyright p {
	margin: 0;
}

#footer-copyright .footer-disclaimer {
	color: var(--text-color);
	font-size: .75rem;
	margin-top: 1rem;
}

#footer-copyright .mentions-wrapper,
#footer-copyright .mentions-wrapper .inline-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	row-gap: 0;
}

#footer-copyright .mentions-wrapper > *:not(:last-child)::after,
#footer-copyright .mentions-wrapper > .inline-wrap > *:not(:last-child)::after {
	content: "\00a0|";
	margin-inline: .5em .8em;
}

@media only screen and (max-width: 800px)
{

	#footer-copyright .mentions-wrapper {
		flex-direction: column;
		row-gap: .5em;
	}

	#footer-copyright .mentions-wrapper > *::after {
		display: none;
	}
}


/**
 * Complianz Cookies
 */

#cmplz-cookiebanner-container {
	--cmplz_text_font_size: .75rem;
	--cmplz_button_font_size: .75rem;
	--cmplz_link_font_size: .75rem;
	--cmplz_button_accept_background_color: var(--global-palette2);
	--cmplz_button_accept_border_color: var(--cmplz_button_accept_background_color);
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: var(--global-palette7);
	--cmplz_button_deny_border_color: var(--cmplz_button_deny_background_color);
	--cmplz_button_deny_text_color: #222;
	--cmplz_hyperlink_color: #222;
	font-weight: 400;
}
#cmplz-cookiebanner-container .cmplz-header,
#cmplz-cookiebanner-container .cmplz-divider {
	display: none;
}
#cmplz-cookiebanner-container .cmplz-message {
	text-align: center;
}
#cmplz-cookiebanner-container p {
	margin: 0;
}
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn {
	background-image: none; /* Kadence debug: button style gradient */
	padding: .5em .8em;
	line-height: 1.3;
	font-weight: normal;
	text-transform: none;
	height: auto;
}
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn:hover {
	background-image: none; /* Kadence debug: button style gradient */
}
@media only screen and (max-width: 767px)
{
	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-accept {
		padding-block: .8em;
	}
}
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-accept {} 
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-deny {}
#cmplz-cookiebanner-container .cmplz-links {
	margin-top: .3rem;
}
#cmplz-cookiebanner-container .cmplz-links a:not(:hover, :active, :focus) {
	text-decoration: none;
}