/**
Theme Name: Nationale Naturlandschaften Child-Theme
Author: jut-so GmbH
Author URI: https://jut-so.de
Description: Nationale Naturlandschaften Custom Child Theme basierend auf dem Hello Elementor Theme. 
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jut-so-child-theme
Template: hello-elementor
*/

/* variable.css and layout.css included via functions.php */

/* Default headline margins
 * Note: Pay attention to widget spacing. 
 * When using heading widget, margin-bottom is set to 0
 * then the spacing is controlled by the widget spacing
  .elementor-widget.elementor-widget.elementor-widget-heading .elementor-widget-container 
 */

body {
	-webkit-font-smoothing: antialiased;
	/* requested by design for retina displays */
	font-synthesis:none;
	--site-contrast-color: var(--text);
	color: var(--text);
}
/* iOs horizontal scroll fix */
html,body {
	overflow-x:hidden;
}

h1, h2, h3, h4, h5, h6,
.elementor-widget-container h1,
.elementor-widget-container h2,
.elementor-widget-container h3,
.elementor-widget-container h4,
.elementor-widget-container h5,
.elementor-widget-container h6 {
	margin: .5em 0 .5em 0;
}

h2 a,
h3 a,
h4 a,
h5 a,
h6 a{
	font-size: inherit !important;
	line-height: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
	word-spacing: inherit !important;
}

/* Utility classes for headlines */
.h1,
.h1 .elementor-heading-title,
[class*="elementor-kit-"] .h1 {
    font-family: var(--h1-font-family);
	color: var(--h1-default-color);
	font-size: var(--h1-font-size);
	line-height: var(--h1-line-height);
	font-weight: var(--h1-font-weight);
}

.h2,
.h2 .elementor-heading-title,
[class*="elementor-kit-"] .h2 {
    font-family: var(--h2-font-family);
	color: var(--h2-default-color);
	font-size: var(--h2-font-size);
	line-height: var(--h2-line-height);
	font-weight: var(--h2-font-weight);
}

.h3,
.h3 .elementor-heading-title,
[class*="elementor-kit-"] .h3 {
    font-family: var(--h3-font-family);
	color: var(--h3-default-color);
	font-size: var(--h3-font-size);
	line-height: var(--h3-line-height);
	font-weight: var(--h3-font-weight);
}

.h4,
.h4 .elementor-heading-title,
[class*="elementor-kit-"] .h4 {
    font-family: var(--h4-font-family);
	color: var(--h4-default-color);
	font-size: var(--h4-font-size);
	line-height: var(--h4-line-height);
	font-weight: var(--h4-font-weight);
}

::-moz-selection {
    background: #ff5100;
    color: #fff
}

::selection {
    background: #ff5100;
    color: #fff
}

.elementor a:not(.nnl-link-special):not(.nnl-link-disabled){
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.elementor a:not(.nnl-link-special):not(.nnl-link-disabled):hover{
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

#breadcrumbs a:not(.breadcrumb_last){
	opacity: 0.85;
}

#breadcrumbs span a,
#breadcrumbs span strong {
	font-size: 16px !important;
}

.elementor-widget-text-editor ul{
	margin-bottom: .9rem
}
#breadcrumbs a,
.nnl-link-special-menu a,
.nnl-link-special,
.nnl-link-special-parent .nnl-link-special-child{
	display: inline;
	-webkit-box-decoration-break: clone;
  box-decoration-break: clone;
	 background-size: 0% 2px;
  background-position: 0 100%;
  text-decoration: none !important;
  	text-decoration-line: none;
	  background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	transition: background-size .4s ease !important;
}

#breadcrumbs a,
#breadcrumbs span,
#breadcrumbs .breadcrumb_last {
	color: var(--site-contrast-color);
}

#breadcrumbs svg path{
	fill: var(--site-contrast-color);
}

#breadcrumbs a:hover{
	opacity: 1;
}

#breadcrumbs a:hover,
.nnl-link-special-menu a:hover,
.nnl-link-special:hover,
.nnl-link-special-parent:hover .nnl-link-special-child{
	text-decoration: none;
	background-size: 100% 2px !important;
}

/* Custom button: no global link underline (non-link styles have no hover underline) */
.custom-btn {
	background-image: none !important;
	background-size: 0 !important;
}

/* Link-style custom button only: underline grow under text, not under icon */
.custom-btn--link .custom-btn__text {
	position: relative;
}

.custom-btn--link .custom-btn__text::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0% 100%;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.4s ease;
}

.custom-btn--link:hover .custom-btn__text::after,
.custom-btn--link:focus .custom-btn__text::after {
	background-size: 100% 100%;
}


	
.elementor-nav-menu .menu-item a{
	text-decoration: none ;
}

.nnl-materialien-print-verfuegbar{
	padding: 4px 8px;
	font-size: var(--paragraph-s-font-size);
	font-weight: var(--paragraph-s-font-weight);
	line-height: var(--paragraph-s-line-height);
	background-color: var(--white);
	border: 1px solid var(--text);
	border-radius: 5px;
}

.site-color{
	background-color: var(--site-color) !important;
	color: var(--site-contrast-color) !important;
}

.site-color a{
	color: var(--site-contrast-color);
}

.site-color-bottom .elementor-shape-bottom .elementor-shape-fill{
	fill: var(--site-color) !important;
}

.site-color-top .elementor-shape-top .elementor-shape-fill{
	fill: var(--site-color) !important;
}



/* Strich -- Background line hover effect */
.nnl-strich{
	z-index: 1;
	position: relative;
	text-decoration: none !important;
	background-image: linear-gradient(var(--site-color), var(--site-color));
	background-size: 100% 50%;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size 0.2s ease-in-out;
}

.nnl-strich.nnl-strich-white{
	background-image: linear-gradient(var(--white), var(--white));
	opacity: 100%;
}

.nnl-strich:hover{
	background-size: 100% 100%;
}

.elementor-toc__list-item-text-wrapper{
	display: block ;
	position: relative;
	margin-left: 32px;
}

.elementor-toc__list-item-text-wrapper::before {
  content: "" !important;
  background: url(https://development2.jut-so.de/nnl/wp-content/uploads/DownArrowNNL.svg);
    background-repeat: repeat;
    background-size: auto;
  width: 24px !important;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate( -100%, -50% );
}

.header-button a,
.header-quicklink a{
	text-decoration: none;
}

.elementor-widget-theme-post-content .wp-block-image{
	margin-bottom: 48px;
	margin-top: 48px;
}

.elementor-widget-theme-post-content .wp-block-image img{
	width: 100%;
	border-radius: 10px;
}

.elementor-widget-theme-post-content .wp-block-image figcaption{
	color: var(--black);
	/* Text/Small/Normal */
	font-family: Roboto;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 21px */
	border-left: 4px solid var(--site-color);
	padding-left: 20px;

}

.elementor-widget-theme-post-content .wp-block-quote{
	color: var(--text);
	font-size: var(--blockquote-font-size);
	font-style: normal;
	font-weight: var(--blockquote-font-weight);
	line-height: var(--blockquote-line-height); /* 48px */
	letter-spacing: var(--blockquote-letter-spacing);
	margin: 0;
	margin-top: 32px;
	margin-bottom: 48px;
	border-left: 4px solid var(--site-color);
	padding-left: 20px;
}

.elementor-post-navigation__next{
	display: flex;
	justify-content: end;
	margin-right: 32px;
}

.post-navigation__arrow-next{
	position: absolute;
	transform: translateX(calc(100% + 8px));
}

.elementor-post-navigation__prev{
	display: flex;
	justify-content: start;
	margin-left: 32px;
}

.post-navigation__arrow-prev{
	position: absolute;
	transform: translateX(calc(-100% - 8px));
}

.elementor-post-navigation__link a {
	display: flex !important;
}

.elementor-pagination{
	flex-wrap: wrap;
}

/* ========================================
   Utility: Sprechblase-style container
   Matches widget: size-m, top variant
   ======================================== */
.nnl-sprechblase-top-m {
	position: relative;
	background-color: var(--site-color);
	color: var(--site-contrast-color, var(--text));
	border-radius: 60px 60px 150px 150px;
	padding: 48px;
	max-width: 405px;
	margin-inline: auto;
	height: min-content;
}

.nnl-sprechblase-top-m h1,
.nnl-sprechblase-top-m h2,
.nnl-sprechblase-top-m h3,
.nnl-sprechblase-top-m h4,
.nnl-sprechblase-top-m h5,
.nnl-sprechblase-top-m h6,
.nnl-sprechblase-top-m p,
.nnl-sprechblase-top-m a {
	color: var(--site-contrast-color, var(--text));
}

/* Use same mask-based shape as widget (size-m, top, left) */
.nnl-sprechblase-top-m::before {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/plugins/jut-so-custom-elementor-widgets/widgets/sprechblase-widget/masks/m-right.svg');
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/plugins/jut-so-custom-elementor-widgets/widgets/sprechblase-widget/masks/m-right.svg');
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	position: absolute;
	left: 0;
	width: 100%;
	aspect-ratio: 405 / 144;
	content: '';
	background-color: var(--site-color);
	mask-position: bottom;
	-webkit-mask-position: bottom;
	transform: translateY(70px);
}

.general-filter-meta-gebiete-ids-container{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.general-filter-meta-gebiete-ids-container label{
	transition: all 0.2s ease;
	padding: 10px;
	border-radius: 10px;
	display: flex;
	width: 100%;
	align-items: center;
	gap: 10px;
}

.general-filter-meta-gebiete-ids-container label:hover{
	cursor: pointer;
	background-color: #f0f0f0;
}

.general-filter-meta-gebiete-ids-container input[type="checkbox"]:checked + label{
	background-color: #f0f0f0;
	font-weight: 700;
}

.general-filter-meta-checkbox-image{
	width: 32px;
	height: 32px;
}

.general-filter-meta-gebiete-ids-container input[type="checkbox"]{
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}


.nnl-gebietstyp-pill{
	padding: 4px 8px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	width: min-content;
	height: min-content;
	/**
		border: 1px solid;
	**/
	border: none !important;
	border-radius: 5px; 
	white-space: nowrap;
}

.elementor-pagination{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 16px;
}

.page-numbers{
	text-decoration: none !important;
	display: flex;
	height: 32px;
	width: 32px;
	padding: 0;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	align-items: center;
	justify-content: center;
}

.page-numbers:hover{
	font-weight: 700 !important;
}

.page-numbers.current{
	background-color: var(--borders);
	border-radius: 10px;
	font-weight: 700;
}

.page-numbers.prev,
.page-numbers.next,
.page-numbers.prev:hover,
.page-numbers.next:hover{
	position: relative;
	color: transparent;
	width: 0;
	margin: 0 40px  !important;
}

.page-numbers.prev:before,
.page-numbers.next:after {
	content: '';
	position: absolute;
	height: 32px;
	width: 32px;
	
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 100%;
	border: 1px solid var(--text);
	transition: background-size 0.4s ease;
}

.page-numbers.prev:before,
.page-numbers.next:after{
	opacity: 0.5;
	pointer-events: none;
	cursor: default;
}

.page-numbers.prev[href]:before,
.page-numbers.next[href]:after{
	opacity: 1;
	pointer-events: all;
	cursor: pointer;
}

.page-numbers.prev[href]:hover:before,
.page-numbers.next[href]:hover:after{
	border-width: 2px;
}

.page-numbers.prev:before{
	content: '';
	background-image: url(https://development2.jut-so.de/nnl/wp-content/uploads/LeftArrowNNL.svg);
}

.page-numbers.next:after{
	content: '';
	background-image: url(https://development2.jut-so.de/nnl/wp-content/uploads/RightArrowNNL.svg);
}

/* Item 1, 9, 17... → Shape 3B */
.nnl-wave-card-grid>div:nth-child(8n+1) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_03-mobile-B.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_03-mobile-B.svg') !important;
	aspect-ratio: 320 / 44;
}

/* Item 2, 10, 18... → Shape 3D */
.nnl-wave-card-grid>div:nth-child(8n+2) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_03-mobile-D.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_03-mobile-D.svg') !important;
	aspect-ratio: 320 / 44;
}

/* Item 3, 11, 19... → Shape 2B */
.nnl-wave-card-grid>div:nth-child(8n+3) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_02-mobile-B.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_02-mobile-B.svg') !important;
	aspect-ratio: 320 / 23;
}

/* Item 4, 12, 20... → Shape 2D */
.nnl-wave-card-grid>div:nth-child(8n+4) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_02-mobile-D.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_02-mobile-D.svg') !important;
	aspect-ratio: 320 / 45;
}

/* Item 5, 13, 21... → Shape 1B */
.nnl-wave-card-grid>div:nth-child(8n+5) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_01-mobile-B.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_01-mobile-B.svg') !important;
	aspect-ratio: 321 / 44;
}

/* Item 6, 14, 22... → Shape 1D */
.nnl-wave-card-grid>div:nth-child(8n+6) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_01-mobile-D.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_01-mobile-D.svg') !important;
	aspect-ratio: 320 / 44;
}

/* Item 7, 15, 23... → Shape 4B */
.nnl-wave-card-grid>div:nth-child(8n+7) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_04-mobile-B.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_04-mobile-B.svg') !important;
	aspect-ratio: 320 / 23;
}

/* Item 8, 16, 24... → Shape 4D */
.nnl-wave-card-grid>div:nth-child(8n) .jce-wave-card__divider::after {
	mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_04-mobile-D.svg') !important;
	-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/themes/nnl-child-theme/assets/shape-dividers/shape_04-mobile-D.svg') !important;
	aspect-ratio: 320 / 44;
}
.elementor-field-group{
	position: relative;
}

.elementor-field-group.elementor-error .elementor-field{
	border-color: #D63146 !important;
}

.elementor-field-group.elementor-error:after{
	z-index: 10;
	content: '';
	position: absolute;
	right: 20px;
	top: 52px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM11 15H9V13H11V15ZM11 11H9V5H11V11Z' fill='%23D63146'/%3E%3C/svg%3E%0A");
}

.elementor-message:before{
	content: "" !important;
	z-index: 10;
	width: 20px;
	height: 20px;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM11 15H9V13H11V15ZM11 11H9V5H11V11Z' fill='%23D63146'/%3E%3C/svg%3E%0A");
}

.elementor-field-group .elementor-message{
	position: absolute;
	font-size: var(--paragraph-xs-font-size);
	font-weight: var(--paragraph-xs-font-weight);
	line-height: var(--paragraph-xs-line-height);
	top: 100%;
	margin: 4px 0 0 12px !important;
	left: 0;
}

.elementor-field-group .elementor-message:before{
	display: none;
}

.nnl-shortcode-headline{
	font-weight: 700;
	margin: 0;
}

.nnl-shortcode-layout{
	display: flex;
	flex-direction: row;
	gap: 12px;
}

.nnl-shortcode-content-wrap{
	display: flex;
	flex-direction: column;
}

.nnl-shortcode-icon-wrap{
	width: 32px;
	height: 32px;
	max-width: 32px;
	max-height: 32px;
	flex-grow: 1;
	flex-shrink: 0;
}

@media screen and (max-width: 767px) {
	.nnl-sprechblase-top-m {
		width: 100%;
		max-width: none;
		border-radius: 30px 30px 50px 50px;
		padding: 40px 20px 0 20px;
	}

	/* Reuse mobile-top-bubble mask from widget for top variant */
	.nnl-sprechblase-top-m::before {
		mask-image: url('https://development2.jut-so.de/nnl/wp-content/plugins/jut-so-custom-elementor-widgets/widgets/sprechblase-widget/masks/mobile-top-bubble.svg') !important;
		-webkit-mask-image: url('https://development2.jut-so.de/nnl/wp-content/plugins/jut-so-custom-elementor-widgets/widgets/sprechblase-widget/masks/mobile-top-bubble.svg') !important;
		mask-position: bottom !important;
		-webkit-mask-position: bottom !important;
		mask-repeat: no-repeat !important;
		-webkit-mask-repeat: no-repeat !important;
		bottom: auto !important;
		aspect-ratio: 287 / 102;
		height: auto;
		top: 100%;
		transform: translateY(-45%);
		border-radius: 0 0 30px 30px;
	}

	.nnl-jahresbericht-dropdown-widget .nnl-jahresbericht-parent-dropdown {
		font-size: 52px;
	}

	.elementor-pagination{
		gap: 8px;
	}

	.page-numbers.prev,
	.page-numbers.prev:hover{
		width: 0;
		
		margin: 0 auto 0 0 !important;
	}
	.page-numbers.prev:before{
	transform: translateX(50%);
	}

	.page-numbers.next,
	.page-numbers.next:hover{
		width: 0;
		
		margin: 0 0 0 auto !important;
	}

	.page-numbers.next:after{
	transform: translateX(-50%);
	}


}

/**
*
* Mobile breadcrumb is just a back arrow.
*
**/
#breadcrumbs > span > svg:first-child{
		display: none;
	}

@media (max-width: 768px) {

	#breadcrumbs > span > span,
	#breadcrumbs > span > svg{
		display: none;
	}

	#breadcrumbs > span > span:nth-last-child(3){
		display: inline-block;
	}

	#breadcrumbs > span > svg:first-child{
		transform: rotate(180deg);
		display: inline-block;
	}
	
}