.elementor-kit-10{--e-global-color-primary:#FFD700;--e-global-color-secondary:#000000;--e-global-color-text:#1B1B1B;--e-global-color-accent:#363636;--e-global-color-5a16a9f:#FFF3B2;--e-global-color-261e344:#E4E4E4;--e-global-color-cab97f6:#F2F2F2;--e-global-color-4f4962e:#FFF3B2;--e-global-color-9461844:#363636;--e-global-color-b568910:#FFFFFF;--e-global-color-453b9fd:#E4E4E4;--e-global-color-23d9f69:#F2F2F2;--e-global-color-9b8ab5f:#665600;--e-global-color-09988b6:#1B1B1B;--e-global-color-497cf9b:#363636;--e-global-color-30c1bae:#FFF3B2;--e-global-color-ae418fa:#E4E4E4;--e-global-typography-primary-font-family:"Courgette";--e-global-typography-secondary-font-family:"Anton";--e-global-typography-text-font-family:"PT Serif";--e-preloader-animation:eicon-spin;--e-preloader-animation-duration:1000ms;--e-preloader-max-width:30vh;}.elementor-kit-10 e-page-transition{background-color:#FFD90080;}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{border-style:none;}.elementor-kit-10 img{border-style:none;transition-duration:0s;}.elementor-kit-10 input:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea,.elementor-kit-10 .elementor-field-textual{color:var( --e-global-color-accent );background-color:var( --e-global-color-cab97f6 );border-style:none;border-radius:50px 50px 50px 50px;transition:0.25ms;}.elementor-kit-10 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea:focus,.elementor-kit-10 .elementor-field-textual:focus{color:var( --e-global-color-secondary );background-color:var( --e-global-color-5a16a9f );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:var(--spacing-1);}.elementor-element{--widgets-spacing:var(--spacing-1) var(--spacing-1);--widgets-spacing-row:var(--spacing-1);--widgets-spacing-column:var(--spacing-1);}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================
	General
   ========================= */

:root {
	/* Constants */
	--phi: 1.61803398875;

	/* Screen */
	--screen-to-max: calc(1140/360);
	--screen-to-min: calc(360/1140);

	/* Animations */
	--t-fast: 125ms;
	--t-med: 250ms;
	--t-slow: 500ms;
	--ease: cubic-bezier(.2, .8, .2, 1);

	--tr-fast: var(--t-fast) var(--ease);
	--tr-med: var(--t-med) var(--ease);
	--tr-slow: var(--t-slow) var(--ease);

	--body-background-color: var(--color-background-primary-active);
}

body {
	background-color: var(--body-background-color);
	-webkit-tap-highlight-color: transparent;
}

*:focus {
	outline: none;
}

.container-width-fit-content, .container-fit-content {
	width: fit-content;
}

.container-height-fit-content, .container-fit-content {
	height: fit-content;
}

/* =========================
	Colors
   ========================= */

/* Defaults */
:root {
	/* Brand */
	--color-primary: hsl(50, 100%, 50%);
	--color-primary-dark: hsl(50, 100%, 20%);
	--color-primary-active: var(--color-primary);

	--color-primary-muted: hsl(50, 100%, 60%);
	--color-primary-muted-dark: hsl(50, 100%, 10%);
	--color-primary-muted-active: var(--color-primary-muted);

	--color-primary-highlight: hsl(50, 100%, 40%);
	--color-primary-highlight-dark: hsl(50, 100%, 30%);
	--color-primary-highlight-active: var(--color-primary-highlight);

	--color-secondary: hsl(0, 0%, 10%);
	--color-secondary-dark: hsl(0, 0%, 90%);
	--color-secondary-active: var(--color-secondary);

	--color-secondary-muted: hsl(0, 0%, 20%);
	--color-secondary-muted-dark: hsl(0, 0%, 80%);
	--color-secondary-muted-active: var(--color-secondary-muted);

	--color-secondary-highlight: hsl(0, 0%, 0%);
	--color-secondary-highlight-dark: hsl(0, 0%, 100%);
	--color-secondary-highlight-active: var(--color-secondary-highlight);
	
	/* Status */
	--color-success: hsl(120, 100%, 50%);
	--color-success-dark: hsl(120, 100%, 20%);
	--color-success-active: var(--color-success);

	--color-error: hsl(0, 100%, 50%);
	--color-error-dark: hsl(0, 100%, 20%);
	--color-error-active: var(--color-error);

	/* Text */
	--color-text: hsl(0, 0%, 10%);
	--color-text-dark: hsl(0, 0%, 90%);
	--color-text-active: var(--color-text);

	--color-text-muted: hsl(0, 0%, 20%);
	--color-text-muted-dark: hsl(0, 0%, 80%);
	--color-text-muted-active: var(--color-text-muted);

	--color-text-highlight: hsl(0, 0%, 0%);
	--color-text-highlight-dark: hsl(0, 0%, 100%);
	--color-text-highlight-active: var(--color-text-highlight);

	--color-accent: hsl(50, 100%, 10%);
	--color-accent-dark: hsl(50, 100%, 80%);
	--color-accent-active: var(--color-accent);

	--color-accent-muted: hsl(50, 100%, 20%);
	--color-accent-muted-dark: hsl(50, 100%, 70%);
	--color-accent-muted-active: var(--color-accent-muted);

	--color-accent-highlight: hsl(50, 100%, 5%);
	--color-accent-highlight-dark: hsl(50, 100%, 90%);
	--color-accent-highlight-active: var(--color-accent-highlight);

	--color-text-success: hsl(120, 100%, 10%);
	--color-text-success-dark: hsl(120, 100%, 80%);
	--color-text-success-active: var(--color-text-success);

	--color-text-error: hsl(0, 100%, 10%);
	--color-text-error-dark: hsl(0, 100%, 80%);
	--color-text-error-active: var(--color-text-error);

	/* Background */
	--color-background-primary: hsl(0, 0%, 80%);
	--color-background-primary-dark: hsl(0, 0%, 5%);
	--color-background-primary-active: var(--color-background-primary);

	--color-background-secondary: hsl(0, 0%, 85%);
	--color-background-secondary-dark: hsl(0, 0%, 10%);
	--color-background-secondary-active: var(--color-background-secondary);

	--color-background-tertiary: hsl(0, 0%, 90%);
	--color-background-tertiary-dark: hsl(0, 0%, 15%);
	--color-background-tertiary-active: var(--color-background-tertiary);

	--color-background-quaternary: hsl(0, 0%, 95%);
	--color-background-quaternary-dark: hsl(0, 0%, 20%);
	--color-background-quaternary-active: var(--color-background-quaternary);

	--color-background-primary-accent: hsl(50, 100%, 80%);
	--color-background-primary-accent-dark: hsl(50, 100%, 5%);
	--color-background-primary-accent-active: var(--color-background-primary-accent);

	--color-background-secondary-accent: hsl(50, 100%, 85%);
	--color-background-secondary-accent-dark: hsl(50, 100%, 10%);
	--color-background-secondary-accent-active: var(--color-background-secondary-accent);

	--color-background-tertiary-accent: hsl(50, 100%, 90%);
	--color-background-tertiary-accent-dark: hsl(50, 100%, 15%);
	--color-background-tertiary-accent-active: var(--color-background-tertiary-accent);

	--color-background-quaternary-accent: hsl(50, 100%, 95%);
	--color-background-quaternary-accent-dark: hsl(50, 100%, 20%);
	--color-background-quaternary-accent-active: var(--color-background-quaternary-accent);

	--color-background-primary-success: hsl(120, 100%, 80%);
	--color-background-primary-success-dark: hsl(120, 100%, 5%);
	--color-background-primary-success-active: var(--color-background-primary-success);

	--color-background-secondary-success: hsl(120, 100%, 85%);
	--color-background-secondary-success-dark: hsl(120, 100%, 10%);
	--color-background-secondary-success-active: var(--color-background-secondary-success);

	--color-background-tertiary-success: hsl(120, 100%, 90%);
	--color-background-tertiary-success-dark: hsl(120, 100%, 15%);
	--color-background-tertiary-success-active: var(--color-background-tertiary-success);

	--color-background-quaternary-success: hsl(120, 100%, 95%);
	--color-background-quaternary-success-dark: hsl(120, 100%, 20%);
	--color-background-quaternary-success-active: var(--color-background-quaternary-success);

	--color-background-primary-error: hsl(0, 100%, 80%);
	--color-background-primary-error-dark: hsl(0, 100%, 5%);
	--color-background-primary-error-active: var(--color-background-primary-error);

	--color-background-secondary-error: hsl(0, 100%, 85%);
	--color-background-secondary-error-dark: hsl(0, 100%, 10%);
	--color-background-secondary-error-active: var(--color-background-secondary-error);

	--color-background-tertiary-error: hsl(0, 100%, 90%);
	--color-background-tertiary-error-dark: hsl(0, 100%, 15%);
	--color-background-tertiary-error-active: var(--color-background-tertiary-error);

	--color-background-quaternary-error: hsl(0, 100%, 95%);
	--color-background-quaternary-error-dark: hsl(0, 100%, 20%);
	--color-background-quaternary-error-active: var(--color-background-quaternary-error);

	/* Overlays */
	--color-overlay-black: hsla(0, 0%, 30%, 25%);
	--color-overlay-black-dark: hsla(0, 0%, 0%, 25%);
	--color-overlay-black-active: var(--color-overlay-black);

	--color-overlay-white: hsla(0, 0%, 100%, 25%);
	--color-overlay-white-dark: hsla(0, 0%, 70%, 25%);
	--color-overlay-white-active: var(--color-overlay-white);

	--color-overlay-accent: hsla(50, 100%, 50%, 25%);
	--color-overlay-accent-dark: hsla(50, 100%, 20%, 25%);
	--color-overlay-accent-active: var(--color-overlay-accent);

	--color-overlay-success: hsla(120, 100%, 50%, 25%);
	--color-overlay-success-dark: hsla(120, 100%, 20%, 25%);
	--color-overlay-success-active: var(--color-overlay-success);

	--color-overlay-error: hsla(0, 100%, 50%, 25%);
	--color-overlay-error-dark: hsla(0, 100%, 20%, 25%);
	--color-overlay-error-active: var(--color-overlay-error);
}

/* Explicit dark */
html[data-theme="dark"] {
	/* Brand */
	--color-primary-active: var(--color-primary-dark);
	--color-primary-muted-active: var(--color-primary-muted-dark);
	--color-primary-highlight-active: var(--color-primary-highlight-dark);
	--color-secondary-active: var(--color-secondary-dark);
	--color-secondary-muted-active: var(--color-secondary-muted-dark);
	--color-secondary-highlight-active: var(--color-secondary-highlight-dark);

	/* Status */
	--color-success-active: var(--color-success-dark);
	--color-error-active: var(--color-error-dark);

	/* Text */
	--color-text-active: var(--color-text-dark);
	--color-text-muted-active: var(--color-text-muted-dark);
	--color-text-highlight-active: var(--color-text-highlight-dark);
	--color-accent-active: var(--color-accent-dark);
	--color-accent-muted-active: var(--color-accent-muted-dark);
	--color-accent-highlight-active: var(--color-accent-highlight-dark);
	--color-text-success-active: var(--color-text-success-dark);
	--color-text-error-active: var(--color-text-error-dark);

	/* Background */
	--color-background-primary-active: var(--color-background-primary-dark);
	--color-background-secondary-active: var(--color-background-secondary-dark);
	--color-background-tertiary-active: var(--color-background-tertiary-dark);
	--color-background-quaternary-active: var(--color-background-quaternary-dark);
	--color-background-primary-accent-active: var(--color-background-primary-accent-dark);
	--color-background-secondary-accent-active: var(--color-background-secondary-accent-dark);
	--color-background-tertiary-accent-active: var(--color-background-tertiary-accent-dark);
	--color-background-quaternary-accent-active: var(--color-background-quaternary-accent-dark);
	--color-background-primary-success-active: var(--color-background-primary-success-dark);
	--color-background-secondary-success-active: var(--color-background-secondary-success-dark);
	--color-background-tertiary-success-active: var(--color-background-tertiary-success-dark);
	--color-background-quaternary-success-active: var(--color-background-quaternary-success-dark);
	--color-background-primary-error-active: var(--color-background-primary-error-dark);
	--color-background-secondary-error-active: var(--color-background-secondary-error-dark);
	--color-background-tertiary-error-active: var(--color-background-tertiary-error-dark);
	--color-background-quaternary-error-active: var(--color-background-quaternary-error-dark);

	/* Overlay */
	--color-overlay-black-active: var(--color-overlay-black-dark);
	--color-overlay-white-active: var(--color-overlay-white-dark);
	--color-overlay-accent-active: var(--color-overlay-accent-dark);
	--color-overlay-success-active: var(--color-overlay-success-dark);
	--color-overlay-error-active: var(--color-overlay-error-dark);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		/* Brand */
		--color-primary-active: var(--color-primary-dark);
		--color-primary-muted-active: var(--color-primary-muted-dark);
		--color-primary-highlight-active: var(--color-primary-highlight-dark);
		--color-secondary-active: var(--color-secondary-dark);
		--color-secondary-muted-active: var(--color-secondary-muted-dark);
		--color-secondary-highlight-active: var(--color-secondary-highlight-dark);

		/* Status */
		--color-success-active: var(--color-success-dark);
		--color-error-active: var(--color-error-dark);

		/* Text */
		--color-text-active: var(--color-text-dark);
		--color-text-muted-active: var(--color-text-muted-dark);
		--color-text-highlight-active: var(--color-text-highlight-dark);
		--color-accent-active: var(--color-accent-dark);
		--color-accent-muted-active: var(--color-accent-muted-dark);
		--color-accent-highlight-active: var(--color-accent-highlight-dark);
		--color-text-success-active: var(--color-text-success-dark);
		--color-text-error-active: var(--color-text-error-dark);

		/* Background */
		--color-background-primary-active: var(--color-background-primary-dark);
		--color-background-secondary-active: var(--color-background-secondary-dark);
		--color-background-tertiary-active: var(--color-background-tertiary-dark);
		--color-background-quaternary-active: var(--color-background-quaternary-dark);
		--color-background-primary-accent-active: var(--color-background-primary-accent-dark);
		--color-background-secondary-accent-active: var(--color-background-secondary-accent-dark);
		--color-background-tertiary-accent-active: var(--color-background-tertiary-accent-dark);
		--color-background-quaternary-accent-active: var(--color-background-quaternary-accent-dark);
		--color-background-primary-success-active: var(--color-background-primary-success-dark);
		--color-background-secondary-success-active: var(--color-background-secondary-success-dark);
		--color-background-tertiary-success-active: var(--color-background-tertiary-success-dark);
		--color-background-quaternary-success-active: var(--color-background-quaternary-success-dark);
		--color-background-primary-error-active: var(--color-background-primary-error-dark);
		--color-background-secondary-error-active: var(--color-background-secondary-error-dark);
		--color-background-tertiary-error-active: var(--color-background-tertiary-error-dark);
		--color-background-quaternary-error-active: var(--color-background-quaternary-error-dark);

		/* Overlay */
		--color-overlay-black-active: var(--color-overlay-black-dark);
		--color-overlay-white-active: var(--color-overlay-white-dark);
		--color-overlay-accent-active: var(--color-overlay-accent-dark);
		--color-overlay-success-active: var(--color-overlay-success-dark);
		--color-overlay-error-active: var(--color-overlay-error-dark);
	}
}

/* Background to Primary color */
.background-color-primary {	background-color: var(--color-primary); }
.background-color-primary-dark { background-color: var(--color-primary-dark); }
.background-color-primary-active { background-color: var(--color-primary-active); }

/* Background to Primary Muted color */
.background-color-primary-muted {	background-color: var(--color-primary-muted); }
.background-color-primary-muted-dark { background-color: var(--color-primary-muted-dark); }
.background-color-primary-muted-active { background-color: var(--color-primary-muted-active); }

/* Background to Primary Highlight color */
.background-color-primary-highlight { background-color: var(--color-primary-highlight); }
.background-color-primary-highlight-dark { background-color: var(--color-primary-highlight-dark); }
.background-color-primary-highlight-active { background-color: var(--color-primary-highlight-active); }

/* Background to Secondary color */
.background-color-secondary { background-color: var(--color-secondary); }
.background-color-secondary-dark { background-color: var(--color-secondary-dark); }
.background-color-secondary-active { background-color: var(--color-secondary-active); }

/* Background to Secondary Muted color */
.background-color-secondary-muted { background-color: var(--color-secondary-muted); }
.background-color-secondary-muted-dark { background-color: var(--color-secondary-muted-dark); }
.background-color-secondary-muted-active { background-color: var(--color-secondary-muted-active); }

/* Background to Secondary Hightlight color */
.background-color-secondary-highlight { background-color: var(--color-secondary-highlight); }
.background-color-secondary-highlight-dark { background-color: var(--color-secondary-highlight-dark); }
.background-color-secondary-highlight-active { background-color: var(--color-secondary-highlight-active); }

/* Background to Success color */
.background-color-success {	background-color: var(--color-success); }
.background-color-success-dark { background-color: var(--color-success-dark); }
.background-color-success-active { background-color: var(--color-success-active); }

/* Background to Error color */
.background-color-error {	background-color: var(--color-error); }
.background-color-error-dark { background-color: var(--color-error-dark); }
.background-color-error-active { background-color: var(--color-error-active); }

/* Background to Primary Background color */
.background-color-background-primary { background-color: var(--color-background-primary); }
.background-color-background-primary-dark {	background-color: var(--color-background-primary-dark); }
.background-color-background-primary-active { background-color: var(--color-background-primary-active); }

/* Background to Secondary Background color */
.background-color-background-secondary { background-color: var(--color-background-secondary); }
.background-color-background-secondary-dark { background-color: var(--color-background-secondary-dark); }
.background-color-background-secondary-active { background-color: var(--color-background-secondary-active); }

/* Background to Tertiary Background color */
.background-color-background-tertiary {	background-color: var(--color-background-tertiary); }
.background-color-background-tertiary-dark { background-color: var(--color-background-tertiary-dark); }
.background-color-background-tertiary-active { background-color: var(--color-background-tertiary-active); }

/* Background to Quaternary Background color */
.background-color-background-quaternary { background-color: var(--color-background-quaternary); }
.background-color-background-quaternary-dark { background-color: var(--color-background-quaternary-dark); }
.background-color-background-quaternary-active { background-color: var(--color-background-quaternary-active); }

/* Background to Primary Accent Background color */
.background-color-background-primary-accent { background-color: var(--color-background-primary-accent); }
.background-color-background-primary-accent-dark {	background-color: var(--color-background-primary-accent-dark); }
.background-color-background-primary-accent-active { background-color: var(--color-background-primary-accent-active); }

/* Background to Secondary Accent Background color */
.background-color-background-secondary-accent { background-color: var(--color-background-secondary-accent); }
.background-color-background-secondary-accent-dark { background-color: var(--color-background-secondary-accent-dark); }
.background-color-background-secondary-accent-active { background-color: var(--color-background-secondary-accent-active); }

/* Background to Tertiary Accent Background color */
.background-color-background-tertiary-accent {	background-color: var(--color-background-tertiary-accent); }
.background-color-background-tertiary-accent-dark { background-color: var(--color-background-tertiary-accent-dark); }
.background-color-background-tertiary-accent-active { background-color: var(--color-background-tertiary-accent-active); }

/* Background to Quaternary Accent Background color */
.background-color-background-quaternary-accent { background-color: var(--color-background-quaternary-accent); }
.background-color-background-quaternary-accent-dark { background-color: var(--color-background-quaternary-accent-dark); }
.background-color-background-quaternary-accent-active { background-color: var(--color-background-quaternary-accent-active); }

/* Background to Primary Success Background color */
.background-color-background-primary-success { background-color: var(--color-background-primary-success); }
.background-color-background-primary-success-dark {	background-color: var(--color-background-primary-success-dark); }
.background-color-background-primary-success-active { background-color: var(--color-background-primary-success-active); }

/* Background to Secondary Success Background color */
.background-color-background-secondary-success { background-color: var(--color-background-secondary-success); }
.background-color-background-secondary-success-dark { background-color: var(--color-background-secondary-success-dark); }
.background-color-background-secondary-success-active { background-color: var(--color-background-secondary-success-active); }

/* Background to Tertiary Success Background color */
.background-color-background-tertiary-success {	background-color: var(--color-background-tertiary-success); }
.background-color-background-tertiary-success-dark { background-color: var(--color-background-tertiary-success-dark); }
.background-color-background-tertiary-success-active { background-color: var(--color-background-tertiary-success-active); }

/* Background to Quaternary Success Background color */
.background-color-background-quaternary-success { background-color: var(--color-background-quaternary-success); }
.background-color-background-quaternary-success-dark { background-color: var(--color-background-quaternary-success-dark); }
.background-color-background-quaternary-success-active { background-color: var(--color-background-quaternary-success-active); }

/* Background to Primary Error Background color */
.background-color-background-primary-error { background-color: var(--color-background-primary-error); }
.background-color-background-primary-error-dark {	background-color: var(--color-background-primary-error-dark); }
.background-color-background-primary-error-active { background-color: var(--color-background-primary-error-active); }

/* Background to Secondary Error Background color */
.background-color-background-secondary-error { background-color: var(--color-background-secondary-error); }
.background-color-background-secondary-error-dark { background-color: var(--color-background-secondary-error-dark); }
.background-color-background-secondary-error-active { background-color: var(--color-background-secondary-error-active); }

/* Background to Tertiary Error Background color */
.background-color-background-tertiary-error {	background-color: var(--color-background-tertiary-error); }
.background-color-background-tertiary-error-dark { background-color: var(--color-background-tertiary-error-dark); }
.background-color-background-tertiary-error-active { background-color: var(--color-background-tertiary-error-active); }

/* Background to Quaternary Error Background color */
.background-color-background-quaternary-error { background-color: var(--color-background-quaternary-error); }
.background-color-background-quaternary-error-dark { background-color: var(--color-background-quaternary-error-dark); }
.background-color-background-quaternary-error-active { background-color: var(--color-background-quaternary-error-active); }

/* Background to Overlay Black color */
.background-color-overlay-black {	background-color: var(--color-overlay-black); }
.background-color-overlay-black-dark { background-color: var(--color-overlay-black-dark); }
.background-color-overlay-black-active { background-color: var(--color-overlay-black-active); }

/* Background to Overlay White color */
.background-color-overlay-white {	background-color: var(--color-overlay-white); }
.background-color-overlay-white-dark { background-color: var(--color-overlay-white-dark); }
.background-color-overlay-white-active { background-color: var(--color-overlay-white-active); }

/* Background to Overlay Accent color */
.background-color-overlay-accent { background-color: var(--color-overlay-accent); }
.background-color-overlay-accent-dark { background-color: var(--color-overlay-accent-dark); }
.background-color-overlay-accent-active { background-color: var(--color-overlay-accent-active); }

/* Background to Overlay Success color */
.background-color-overlay-success { background-color: var(--color-overlay-success); }
.background-color-overlay-success-dark { background-color: var(--color-overlay-success-dark); }
.background-color-overlay-success-active { background-color: var(--color-overlay-success-active); }

/* Background to Overlay Error color */
.background-color-overlay-error { background-color: var(--color-overlay-error); }
.background-color-overlay-error-dark { background-color: var(--color-overlay-error-dark); }
.background-color-overlay-error-active { background-color: var(--color-overlay-error-active); }

/* Color to Primary color */
.color-primary { color: var(--color-primary); }
.color-primary-dark { color: var(--color-primary-dark); }
.color-primary-active { color: var(--color-primary-active); }

/* Color to Primary Muted color */
.color-primary-muted { color: var(--color-primary-muted); }
.color-primary-muted-dark { color: var(--color-primary-muted-dark); }
.color-primary-muted-active { color: var(--color-primary-muted-active); }

/* Color to Primary Highlight color */
.color-primary-highlight { color: var(--color-primary-highlight); }
.color-primary-highlight-dark { color: var(--color-primary-highlight-dark); }
.color-primary-highlight-active { color: var(--color-primary-highlight-active); }

/* Color to Secondary color */
.color-secondary { color: var(--color-secondary); }
.color-secondary-dark { color: var(--color-secondary-dark); }
.color-secondary-active { color: var(--color-secondary-active); }

/* Color to Secondary Muted color */
.color-secondary-muted { color: var(--color-secondary-muted); }
.color-secondary-muted-dark { color: var(--color-secondary-muted-dark); }
.color-secondary-muted-active { color: var(--color-secondary-muted-active); }

/* Color to Secondary Highlight color */
.color-secondary-highlight { color: var(--color-secondary-highlight); }
.color-secondary-highlight-dark { color: var(--color-secondary-highlight-dark); }
.color-secondary-highlight-active { color: var(--color-secondary-highlight-active); }

/* Color to Success color */
.color-success { color: var(--color-success); }
.color-success-dark { color: var(--color-success-dark); }
.color-success-active { color: var(--color-success-active); }

/* Color to Error color */
.color-error { color: var(--color-error); }
.color-error-dark { color: var(--color-error-dark); }
.color-error-active { color: var(--color-error-active); }

/* Color to Text color */
.color-text { color: var(--color-text); }
.color-text-dark { color: var(--color-text-dark); }
.color-text-active { color: var(--color-text-active); }

/* Color to Text Muted color */
.color-text-muted { color: var(--color-text-muted); }
.color-text-muted-dark { color: var(--color-text-muted-dark);}
.color-text-muted-active { color: var(--color-text-muted-active); }

/* Color to Text Highlight color */
.color-text-highlight { color: var(--color-text-highlight); }
.color-text-highlight-dark { color: var(--color-text-highlight-dark);}
.color-text-highlight-active { color: var(--color-text-highlight-active); }

/* Color to Accent color */
.color-accent { color: var(--color-accent); }
.color-accent-dark { color: var(--color-accent-dark); }
.color-accent-active { color: var(--color-accent-active); }

/* Color to Accent Muted color */
.color-accent-muted { color: var(--color-accent-muted); }
.color-accent-muted-dark { color: var(--color-accent-muted-dark);}
.color-accent-muted-active { color: var(--color-accent-muted-active); }

/* Color to Accent Highlight color */
.color-accent-highlight { color: var(--color-accent-highlight); }
.color-accent-highlight-dark { color: var(--color-accent-highlight-dark);}
.color-accent-highlight-active { color: var(--color-accent-highlight-active); }

/* Color to Text Success color */
.color-text-success { color: var(--color-text-success); }
.color-text-success-dark { color: var(--color-text-success-dark);}
.color-text-success-active { color: var(--color-text-success-active); }

/* Color to Text Error color */
.color-text-error { color: var(--color-text-error); }
.color-text-error-dark { color: var(--color-text-error-dark);}
.color-text-error-active { color: var(--color-text-error-active); }

/* Fill to Primary color */
.fill-primary { fill: var(--color-primary); }
.fill-primary-dark { fill: var(--color-primary-dark); }
.fill-primary-active { fill: var(--color-primary-active); }

/* Fill to Secondary color */
.fill-secondary { fill: var(--color-secondary); }
.fill-secondary-dark { fill: var(--color-secondary-dark); }
.fill-secondary-active { fill: var(--color-secondary-active); }

/* Fill to Primary Highlight color */
.fill-primary-highlight { fill: var(--color-primary-highlight); }
.fill-primary-highlight-dark { fill: var(--color-primary-highlight-dark); }
.fill-primary-highlight-active { fill: var(--color-primary-highlight-active); }

/* Fill to Secondary Highlight color */
.fill-secondary-highlight { fill: var(--color-secondary-highlight); }
.fill-secondary-highlight-dark { fill: var(--color-secondary-highlight-dark); }
.fill-secondary-highlight-active { fill: var(--color-secondary-highlight-active); }

/* Fill to Success color */
.fill-success { fill: var(--color-success); }
.fill-success-dark { fill: var(--color-success-dark); }
.fill-success-active { fill: var(--color-success-active); }

/* Fill to Error color */
.fill-error { fill: var(--color-error); }
.fill-error-dark { fill: var(--color-error-dark); }
.fill-error-active { fill: var(--color-error-active); }

/* Fill to Text color */
.fill-text { fill: var(--color-text); }
.fill-text-dark { fill: var(--color-text-dark); }
.fill-text-active { fill: var(--color-text-active); }

/* Fill to Text Muted color */
.fill-text-muted { fill: var(--color-text-muted); }
.fill-text-muted-dark { fill: var(--color-text-muted-dark);}
.fill-text-muted-active { fill: var(--color-text-muted-active); }

/* Fill to Text Highlight color */
.fill-text-highlight { fill: var(--color-text-highlight); }
.fill-text-highlight-dark { fill: var(--color-text-highlight-dark);}
.fill-text-highlight-active { fill: var(--color-text-highlight-active); }

/* Fill to Accent color */
.fill-accent { fill: var(--color-accent); }
.fill-accent-dark { fill: var(--color-accent-dark); }
.fill-accent-active { fill: var(--color-accent-active); }

/* Fill to Accent Muted color */
.fill-accent-muted { fill: var(--color-accent-muted); }
.fill-accent-muted-dark { fill: var(--color-accent-muted-dark);}
.fill-accent-muted-active { fill: var(--color-accent-muted-active); }

/* Fill to Accent Highlight color */
.fill-accent-highlight { fill: var(--color-accent-highlight); }
.fill-accent-highlight-dark { fill: var(--color-accent-highlight-dark);}
.fill-accent-highlight-active { fill: var(--color-accent-highlight-active); }

/* Fill to Text Success color */
.fill-text-success { fill: var(--color-text-success); }
.fill-text-success-dark { fill: var(--color-text-success-dark);}
.fill-text-success-active { fill: var(--color-text-success-active); }

/* Fill to Text Error color */
.fill-text-error { fill: var(--color-text-error); }
.fill-text-error-dark { fill: var(--color-text-error-dark);}
.fill-text-error-active { fill: var(--color-text-error-active); }

/* =========================
	Shadows
   ========================= */

/* Variables */
:root {
	/* Colors */
	--shadow-color-short: hsla(0, 0%, 10%, 20%);
	--shadow-color-short-dark: hsla(0, 0%, 50%, 20%);
	--shadow-color-short-active: var(--shadow-color-short);

	--shadow-color-long: hsla(0, 0%, 10%, 10%);
	--shadow-color-long-dark: hsla(0, 0%, 50%, 10%);
	--shadow-color-long-active: var(--shadow-color-long);

	--shadow-color-accent-short: hsla(50, 100%, 30%, 20%);
	--shadow-color-accent-short-dark: hsla(50, 100%, 50%, 20%);
	--shadow-color-accent-short-active: var(--shadow-color-accent-short);

	--shadow-color-accent-long: hsla(50, 100%, 30%, 10%);
	--shadow-color-accent-long-dark: hsla(50, 100%, 50%, 10%);
	--shadow-color-accent-long-active: var(--shadow-color-accent-long);

	--shadow-color-success-short: hsla(120, 100%, 30%, 20%);
	--shadow-color-success-short-dark: hsla(120, 100%, 50%, 20%);
	--shadow-color-success-short-active: var(--shadow-color-success-short);

	--shadow-color-success-long: hsla(120, 100%, 30%, 10%);
	--shadow-color-success-long-dark: hsla(120, 100%, 50%, 10%);
	--shadow-color-success-long-active: var(--shadow-color-success-long);

	--shadow-color-error-short: hsla(0, 100%, 30%, 20%);
	--shadow-color-error-short-dark: hsla(0, 100%, 50%, 20%);
	--shadow-color-error-short-active: var(--shadow-color-error-short);

	--shadow-color-error-long: hsla(0, 100%, 30%, 10%);
	--shadow-color-error-long-dark: hsla(0, 100%, 50%, 10%);
	--shadow-color-error-long-active: var(--shadow-color-error-long);

	/* Shadows */
	--shadow-short: 0 0 5px var(--shadow-color-short-active);
	--shadow-long: 0 0 10px var(--shadow-color-long-active);
	--shadow-inset-short: 0 0 5px var(--shadow-color-short-active) inset;
	--shadow-inset-long: 0 0 10px var(--shadow-color-long-active) inset;

	--shadow-accent-short: 0 0 5px var(--shadow-color-accent-short-active);
	--shadow-accent-long: 0 0 10px var(--shadow-color-accent-long-active);
	--shadow-accent-inset-short: 0 0 5px var(--shadow-color-accent-short-active) inset;
	--shadow-accent-inset-long: 0 0 10px var(--shadow-color-accent-long-active) inset;

	--shadow-success-short: 0 0 5px var(--shadow-color-success-short-active);
	--shadow-success-long: 0 0 10px var(--shadow-color-success-long-active);
	--shadow-success-inset-short: 0 0 5px var(--shadow-color-success-short-active) inset;
	--shadow-success-inset-long: 0 0 10px var(--shadow-color-success-long-active) inset;

	--shadow-error-short: 0 0 5px var(--shadow-color-error-short-active);
	--shadow-error-long: 0 0 10px var(--shadow-color-error-long-active);
	--shadow-error-inset-short: 0 0 5px var(--shadow-color-error-short-active) inset;
	--shadow-error-inset-long: 0 0 10px var(--shadow-color-error-long-active) inset;

	/* Box Shadows */
	--box-shadow: var(--shadow-short), var(--shadow-long);
	--box-shadow-inset: var(--shadow-inset-short), var(--shadow-inset-long);
	--box-shadow-accent: var(--shadow-accent-short), var(--shadow-accent-long);
	--box-shadow-accent-inset: var(--shadow-accent-inset-short), var(--shadow-accent-inset-long);
	--box-shadow-success: var(--shadow-success-short), var(--shadow-success-long);
	--box-shadow-success-inset: var(--shadow-success-inset-short), var(--shadow-success-inset-long);
	--box-shadow-error: var(--shadow-error-short), var(--shadow-error-long);
	--box-shadow-error-inset: var(--shadow-error-inset-short), var(--shadow-error-inset-long);

	/* Drop Shadows */
	--drop-shadow: drop-shadow(var(--shadow-short)) drop-shadow(var(--shadow-long));
	--drop-shadow-accent: drop-shadow(var(--shadow-accent-short)) drop-shadow(var(--shadow-accent-long));
	--drop-shadow-success: drop-shadow(var(--shadow-success-short)) drop-shadow(var(--shadow-success-long));
	--drop-shadow-error: drop-shadow(var(--shadow-error-short)) drop-shadow(var(--shadow-error-long));
}

/* Explicit dark */
html[data-theme="dark"] {
	--shadow-color-short-active: var(--shadow-color-short-dark);
	--shadow-color-long-active: var(--shadow-color-long-dark);
	--shadow-color-accent-short-active: var(--shadow-color-accent-short-dark);
	--shadow-color-accent-long-active: var(--shadow-color-accent-long-dark);
	--shadow-color-success-short-active: var(--shadow-color-success-short-dark);
	--shadow-color-success-long-active: var(--shadow-color-success-long-dark);
	--shadow-color-error-short-active: var(--shadow-color-error-short-dark);
	--shadow-color-error-long-active: var(--shadow-color-error-long-dark);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		--shadow-color-short-active: var(--shadow-color-short-dark);
		--shadow-color-long-active: var(--shadow-color-long-dark);
		--shadow-color-accent-short-active: var(--shadow-color-accent-short-dark);
		--shadow-color-accent-long-active: var(--shadow-color-accent-long-dark);
		--shadow-color-success-short-active: var(--shadow-color-success-short-dark);
		--shadow-color-success-long-active: var(--shadow-color-success-long-dark);
		--shadow-color-error-short-active: var(--shadow-color-error-short-dark);
		--shadow-color-error-long-active: var(--shadow-color-error-long-dark);
	}
}

.box-shadow, .box-shadow img { box-shadow: var(--box-shadow); }
.box-shadow-inset, .box-shadow-inset img { box-shadow: var(--box-shadow-inset); }
.box-shadow-accent, .box-shadow-accent img { box-shadow: var(--box-shadow-accent); }
.box-shadow-accent-inset, .box-shadow-accent-inset img { box-shadow: var(--box-shadow-accent-inset); }
.box-shadow-success, .box-shadow-success img { box-shadow: var(--box-shadow-success); }
.box-shadow-success-inset, .box-shadow-success-inset img { box-shadow: var(--box-shadow-success-inset); }
.box-shadow-error, .box-shadow-error img { box-shadow: var(--box-shadow-error); }
.box-shadow-error-inset, .box-shadow-error-inset img { box-shadow: var(--box-shadow-error-inset); }

.drop-shadow, .drop-shadow svg { filter: var(--drop-shadow); }
.drop-shadow-accent, .drop-shadow svg { filter: var(--drop-shadow-accent); }
.drop-shadow-success, .drop-shadow svg { filter: var(--drop-shadow-success); }
.drop-shadow-error, .drop-shadow svg { filter: var(--drop-shadow-error); }

/* =========================
	Fonts
   ========================= */

:root {
	/* Titles */
	--font-title-style: normal;
	--font-title-weight: 900;
	--font-title-family: "Courgette";
	--font-title-line-height: 1.2;

	--font-title-1-size: clamp(4.8rem, 3.2308rem + 6.9744vw, 8.2rem);
	--font-title-1:
		var(--font-title-style)
		var(--font-title-weight)
    	var(--font-title-1-size)/var(--font-title-line-height)
		var(--font-title-family);

	--font-title-2-size: clamp(4.2rem, 2.9077rem + 5.7436vw, 7rem);
	--font-title-2:
		var(--font-title-style)
		var(--font-title-weight)
    	var(--font-title-2-size)/var(--font-title-line-height)
		var(--font-title-family);

	--font-title-3-size: clamp(3.6rem, 2.1231rem + 6.5641vw, 6.8rem);
	--font-title-3:
		var(--font-title-style)
		var(--font-title-weight)
    	var(--font-title-3-size)/var(--font-title-line-height)
		var(--font-title-family);

	--font-title-4-size: clamp(3rem, 2.2615rem + 3.2821vw, 4.6rem);
	--font-title-4:
		var(--font-title-style)
		var(--font-title-weight)
    	var(--font-title-4-size)/var(--font-title-line-height)
		var(--font-title-family);

	--font-title-5-size: clamp(2.4rem, 1.9385rem + 2.0513vw, 3.4rem);
	--font-title-5:
		var(--font-title-style)
		var(--font-title-weight)
    	var(--font-title-5-size)/var(--font-title-line-height)
		var(--font-title-family);

	--font-title-6-size: clamp(1.8rem, 1.6154rem + 0.8205vw, 2.2rem);
	--font-title-6:
		var(--font-title-style)
		var(--font-title-weight)
    	var(--font-title-6-size)/var(--font-title-line-height)
		var(--font-title-family);

	/* Subtitles */
	--font-subtitle-style: normal;
	--font-subtitle-weight: normal;
	--font-subtitle-family: "Anton";
	--font-subtitle-line-height: 1.5;
	--font-subtitle-1-size: clamp(2.1rem, 1.6846rem + 1.8462vw, 3rem);
	--font-subtitle-2-size: clamp(1.8rem, 1.4769rem + 1.4359vw, 2.5rem);
	--font-subtitle-3-size: clamp(1.6rem, 1.4154rem + 0.8205vw, 2rem);
	--font-subtitle-4-size: clamp(1.4rem, 1.2385rem + 0.7179vw, 1.75rem);
	--font-subtitle-5-size: clamp(1.2rem, 1.0615rem + 0.6154vw, 1.5rem);
	--font-subtitle-6-size: 1.125rem;

	--font-subtitle-1:
		var(--font-subtitle-style)
		var(--font-subtitle-weight)
    	var(--font-subtitle-1-size)/var(--font-subtitle-line-height)
		var(--font-subtitle-family);

	--font-subtitle-2:
		var(--font-subtitle-style)
		var(--font-subtitle-weight)
    	var(--font-subtitle-2-size)/var(--font-subtitle-line-height)
		var(--font-subtitle-family);

	--font-subtitle-3:
		var(--font-subtitle-style)
		var(--font-subtitle-weight)
    	var(--font-subtitle-3-size)/var(--font-subtitle-line-height)
		var(--font-subtitle-family);

	--font-subtitle-4:
		var(--font-subtitle-style)
		var(--font-subtitle-weight)
    	var(--font-subtitle-4-size)/var(--font-subtitle-line-height)
		var(--font-subtitle-family);

	--font-subtitle-5:
		var(--font-subtitle-style)
		var(--font-subtitle-weight)
    	var(--font-subtitle-5-size)/var(--font-subtitle-line-height)
		var(--font-subtitle-family);

	--font-subtitle-6:
		var(--font-subtitle-style)
		var(--font-subtitle-weight)
    	var(--font-subtitle-6-size)/var(--font-subtitle-line-height)
		var(--font-subtitle-family);

	/* Text */
	--font-text-normal-style: normal;
	--font-text-italic-style: italic;
	--font-text-normal-weight: normal;
	--font-text-bold-weight: bold;
	--font-text-big-size: 1.125rem;
	--font-text-medium-size: 1rem;
	--font-text-small-size: 0.875rem;
	--font-text-line-height: 1.5;
	--font-text-family: "PT Serif";

	--font-text-big: 
		var(--font-text-normal-style)
		var(--font-text-normal-weight)
    	var(--font-text-big-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-big-italic: 
		var(--font-text-italic-style)
		var(--font-text-normal-weight)
    	var(--font-text-big-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-big-bold: 
		var(--font-text-normal-style)
		var(--font-text-bold-weight)
    	var(--font-text-big-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-big-bold-italic: 
		var(--font-text-italic-style)
		var(--font-text-bold-weight)
    	var(--font-text-big-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-medium: 
		var(--font-text-normal-style)
		var(--font-text-normal-weight)
    	var(--font-text-medium-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-medium-italic: 
		var(--font-text-italic-style)
		var(--font-text-normal-weight)
    	var(--font-text-medium-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-medium-bold: 
		var(--font-text-normal-style)
		var(--font-text-bold-weight)
    	var(--font-text-medium-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-medium-bold-italic: 
		var(--font-text-italic-style)
		var(--font-text-bold-weight)
    	var(--font-text-medium-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-small: 
		var(--font-text-normal-style)
		var(--font-text-normal-weight)
    	var(--font-text-small-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-small-italic: 
		var(--font-text-italic-style)
		var(--font-text-normal-weight)
    	var(--font-text-small-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-small-bold: 
		var(--font-text-normal-style)
		var(--font-text-bold-weight)
    	var(--font-text-small-size)/var(--font-text-line-height)
		var(--font-text-family);

	--font-text-small-bold-italic: 
		var(--font-text-italic-style)
		var(--font-text-bold-weight)
    	var(--font-text-small-size)/var(--font-text-line-height)
		var(--font-text-family);
}

.font-title-1, .font-title-1 .elementor-heading-title { font: var(--font-title-1); }
.font-title-2, .font-title-2 .elementor-heading-title { font: var(--font-title-2); }
.font-title-3, .font-title-3 .elementor-heading-title { font: var(--font-title-3); }
.font-title-4, .font-title-4 .elementor-heading-title { font: var(--font-title-4); }
.font-title-5, .font-title-5 .elementor-heading-title { font: var(--font-title-5); }
.font-title-6, .font-title-6 .elementor-heading-title { font: var(--font-title-6); }

.font-subtitle-1, .font-subtitle-1 .elementor-heading-title { font: var(--font-subtitle-1); }
.font-subtitle-2, .font-subtitle-2 .elementor-heading-title { font: var(--font-subtitle-2); }
.font-subtitle-3, .font-subtitle-3 .elementor-heading-title { font: var(--font-subtitle-3); }
.font-subtitle-4, .font-subtitle-4 .elementor-heading-title { font: var(--font-subtitle-4); }
.font-subtitle-5, .font-subtitle-5 .elementor-heading-title { font: var(--font-subtitle-5); }
.font-subtitle-6, .font-subtitle-6 .elementor-heading-title { font: var(--font-subtitle-6); }

.font-text-big, .font-text-big .elementor-heading-title { font: var(--font-text-big); }
.font-text-big-italic, .font-text-big-italic .elementor-heading-title { font: var(--font-text-big-italic); }
.font-text-big-bold, .font-text-big-bold .elementor-heading-title { font: var(--font-text-big-bold); }
.font-text-big-bold-italic, .font-text-big-bold-italic .elementor-heading-title { font: var(--font-text-big-bold-italic); }

.font-text-medium, .font-text-medium .elementor-heading-title { font: var(--font-text-medium); }
.font-text-medium-italic, .font-text-medium-italic .elementor-heading-title { font: var(--font-text-medium-italic); }
.font-text-medium-bold, .font-text-medium-bold .elementor-heading-title { font: var(--font-text-medium-bold); }
.font-text-medium-bold-italic, .font-text-medium-bold-italic .elementor-heading-title { font: var(--font-text-medium-bold-italic); }

.font-text-small, .font-text-small .elementor-heading-title { font: var(--font-text-small); }
.font-text-small-italic, .font-text-small-italic .elementor-heading-title { font: var(--font-text-small-italic); }
.font-text-small-bold, .font-text-small-bold .elementor-heading-title { font: var(--font-text-small-bold); }
.font-text-small-bold-italic, .font-text-small-bold-italic .elementor-heading-title { font: var(--font-text-small-bold-italic); }

/* =========================
	Text
   ========================= */

:root {
	--text-selection-background-color: var(--color-primary-highlight);
	--text-selection-background-color-dark: var(--color-primary-highlight-dark);
	--text-selection-background-color-active: var(--text-selection-background-color);
	
	--text-selection-color: var(--color-text-highlight-dark);
	--text-selection-color-dark: var(--color-text-highlight);
	--text-selection-color-active: var(--text-selection-color);
}

/* Explicit dark */
html[data-theme="dark"] {
	--text-selection-background-color-active: var(--text-selection-background-color-dark);
	--text-selection-color-active: var(--color-text-highlight);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		--text-selection-background-color-active: var(--text-selection-background-color-dark);
		--text-selection-color-active: var(--color-text-highlight);
	}
}

/* Selection */
::selection {
	background: var(--text-selection-background-color-dark);
	color: var(--text-selection-color-active);
}

body {
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.selection-active, .selection-active * {
	user-select: text;
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
}

/* =========================
	Spacings
   ========================= */

:root {
	/* Spacings */
	--spacing-1: clamp(1rem, calc(0.538rem + 2.051vw), 2rem);
	--spacing-2: calc(var(--spacing-1) * var(--phi));
	--spacing-3: calc(var(--spacing-2) * var(--phi));
	--spacing-4: calc(var(--spacing-3) * var(--phi));
	--spacing-5: calc(var(--spacing-4) * var(--phi));
	--spacing-6: calc(var(--spacing-5) * var(--phi));
}

/* =========================
	Margins
   ========================= */

/* all sides */
.margin-1 { margin: var(--spacing-1); }
.margin-2 { margin: var(--spacing-2); }
.margin-3 { margin: var(--spacing-3); }
.margin-4 { margin: var(--spacing-4); }
.margin-5 { margin: var(--spacing-5); }
.margin-6 { margin: var(--spacing-6); }

/* vertical (top+bottom) */
.margin-vertical-1 { margin-top: var(--spacing-1); margin-bottom: var(--spacing-1); }
.margin-vertical-2 { margin-top: var(--spacing-2); margin-bottom: var(--spacing-2); }
.margin-vertical-3 { margin-top: var(--spacing-3); margin-bottom: var(--spacing-3); }
.margin-vertical-4 { margin-top: var(--spacing-4); margin-bottom: var(--spacing-4); }
.margin-vertical-5 { margin-top: var(--spacing-5); margin-bottom: var(--spacing-5); }
.margin-vertical-6 { margin-top: var(--spacing-6); margin-bottom: var(--spacing-6); }

/* horizontal (left+right) */
.margin-horizontal-1 { margin-left: var(--spacing-1); margin-right: var(--spacing-1); }
.margin-horizontal-2 { margin-left: var(--spacing-2); margin-right: var(--spacing-2); }
.margin-horizontal-3 { margin-left: var(--spacing-3); margin-right: var(--spacing-3); }
.margin-horizontal-4 { margin-left: var(--spacing-4); margin-right: var(--spacing-4); }
.margin-horizontal-5 { margin-left: var(--spacing-5); margin-right: var(--spacing-5); }
.margin-horizontal-6 { margin-left: var(--spacing-6); margin-right: var(--spacing-6); }

/* individual sides */
.margin-top-1 { margin-top: var(--spacing-1); }
.margin-top-2 { margin-top: var(--spacing-2); }
.margin-top-3 { margin-top: var(--spacing-3); }
.margin-top-4 { margin-top: var(--spacing-4); }
.margin-top-5 { margin-top: var(--spacing-5); }
.margin-top-6 { margin-top: var(--spacing-6); }

.margin-right-1 { margin-right: var(--spacing-1); }
.margin-right-2 { margin-right: var(--spacing-2); }
.margin-right-3 { margin-right: var(--spacing-3); }
.margin-right-4 { margin-right: var(--spacing-4); }
.margin-right-5 { margin-right: var(--spacing-5); }
.margin-right-6 { margin-right: var(--spacing-6); }

.margin-bottom-1 { margin-bottom: var(--spacing-1); }
.margin-bottom-2 { margin-bottom: var(--spacing-2); }
.margin-bottom-3 { margin-bottom: var(--spacing-3); }
.margin-bottom-4 { margin-bottom: var(--spacing-4); }
.margin-bottom-5 { margin-bottom: var(--spacing-5); }
.margin-bottom-6 { margin-bottom: var(--spacing-6); }

.margin-left-1 { margin-left: var(--spacing-1); }
.margin-left-2 { margin-left: var(--spacing-2); }
.margin-left-3 { margin-left: var(--spacing-3); }
.margin-left-4 { margin-left: var(--spacing-4); }
.margin-left-5 { margin-left: var(--spacing-5); }
.margin-left-6 { margin-left: var(--spacing-6); }

/* =========================
	Paddings
   ========================= */

/* all sides */
.padding-1 { padding: var(--spacing-1); }
.padding-2 { padding: var(--spacing-2); }
.padding-3 { padding: var(--spacing-3); }
.padding-4 { padding: var(--spacing-4); }
.padding-5 { padding: var(--spacing-5); }
.padding-6 { padding: var(--spacing-6); }

/* vertical (top+bottom) */
.padding-vertical-1 { padding-top: var(--spacing-1); padding-bottom: var(--spacing-1); }
.padding-vertical-2 { padding-top: var(--spacing-2); padding-bottom: var(--spacing-2); }
.padding-vertical-3 { padding-top: var(--spacing-3); padding-bottom: var(--spacing-3); }
.padding-vertical-4 { padding-top: var(--spacing-4); padding-bottom: var(--spacing-4); }
.padding-vertical-5 { padding-top: var(--spacing-5); padding-bottom: var(--spacing-5); }
.padding-vertical-6 { padding-top: var(--spacing-6); padding-bottom: var(--spacing-6); }

/* horizontal (left+right) */
.padding-horizontal-1 { padding-left: var(--spacing-1); padding-right: var(--spacing-1); }
.padding-horizontal-2 { padding-left: var(--spacing-2); padding-right: var(--spacing-2); }
.padding-horizontal-3 { padding-left: var(--spacing-3); padding-right: var(--spacing-3); }
.padding-horizontal-4 { padding-left: var(--spacing-4); padding-right: var(--spacing-4); }
.padding-horizontal-5 { padding-left: var(--spacing-5); padding-right: var(--spacing-5); }
.padding-horizontal-6 { padding-left: var(--spacing-6); padding-right: var(--spacing-6); }

/* individual sides */
.padding-top-1 { padding-top: var(--spacing-1); }
.padding-top-2 { padding-top: var(--spacing-2); }
.padding-top-3 { padding-top: var(--spacing-3); }
.padding-top-4 { padding-top: var(--spacing-4); }
.padding-top-5 { padding-top: var(--spacing-5); }
.padding-top-6 { padding-top: var(--spacing-6); }

.padding-right-1 { padding-right: var(--spacing-1); }
.padding-right-2 { padding-right: var(--spacing-2); }
.padding-right-3 { padding-right: var(--spacing-3); }
.padding-right-4 { padding-right: var(--spacing-4); }
.padding-right-5 { padding-right: var(--spacing-5); }
.padding-right-6 { padding-right: var(--spacing-6); }

.padding-bottom-1 { padding-bottom: var(--spacing-1); }
.padding-bottom-2 { padding-bottom: var(--spacing-2); }
.padding-bottom-3 { padding-bottom: var(--spacing-3); }
.padding-bottom-4 { padding-bottom: var(--spacing-4); }
.padding-bottom-5 { padding-bottom: var(--spacing-5); }
.padding-bottom-6 { padding-bottom: var(--spacing-6); }

.padding-left-1 { padding-left: var(--spacing-1); }
.padding-left-2 { padding-left: var(--spacing-2); }
.padding-left-3 { padding-left: var(--spacing-3); }
.padding-left-4 { padding-left: var(--spacing-4); }
.padding-left-5 { padding-left: var(--spacing-5); }
.padding-left-6 { padding-left: var(--spacing-6); }

/* =========================
	Borders
   ========================= */

/* Variables */
:root {
	/* Colors */
	--border-color: var(--color-text);
	--border-color-dark: var(--color-text-dark);
	--border-color-active: var(--border-color);

	--border-color-accent: var(--color-accent);
	--border-color-accent-dark: var(--color-accent-dark);
	--border-color-accent-active: var(--border-color-accent);

	--border-color-muted: var(--color-text-muted);
	--border-color-muted-dark: var(--color-text-muted-dark);
	--border-color-muted-active: var(--border-color-muted);

	--border-color-accent-muted: var(--color-accent-muted);
	--border-color-accent-muted-dark: var(--color-accent-muted-dark);
	--border-color-accent-muted-active: var(--border-color-accent-muted);

	/* Border Radius */
	--border-radius-1: min(50px, var(--spacing-1));
	--border-radius-2: min(50px, var(--spacing-2));
	--border-radius-3: min(50px, var(--spacing-3));
	--border-radius-4: min(50px, var(--spacing-4));
	--border-radius-5: min(50px, var(--spacing-5));
	--border-radius-6: min(50px, var(--spacing-6));

	/* Border Size */
	--border-width-1: calc(var(--spacing-1) * 0.1);
	--border-width-2: calc(var(--border-width-1) * var(--phi));
	--border-width-3: calc(var(--border-width-2) * var(--phi));
	--border-width-4: calc(var(--border-width-3) * var(--phi));
	--border-width-5: calc(var(--border-width-4) * var(--phi));
	--border-width-6: calc(var(--border-width-5) * var(--phi));

	/* UI Border */
	--border-color-ui: hsla(0, 0%, 80%, 30%);
	--border-color-ui-dark: hsla(0, 0%, 20%, 30%);
	--border-color-ui-active: var(--border-color-ui);
	--border-width-ui: calc(var(--spacing-1) * 0.05);
	--border-style-ui: solid;
	--border-ui: var(--border-width-ui) var(--border-style-ui) var(--border-color-ui);
	--border-ui-dark: var(--border-width-ui) var(--border-style-ui) var(--border-color-ui-dark);
	--border-ui-active: var(--border-width-ui) var(--border-style-ui) var(--border-color-ui-active);
}

/* Explicit dark */
html[data-theme="dark"] {
	/* Border */
	--border-color-active: var(--border-color-dark);
	--border-color-muted-active: var(--border-color-muted-dark);
	--border-color-accent-active: var(--border-color-accent-dark);
	--border-color-accent-muted-active: var(--border-color-accent-muted-dark);

	--border-color-ui-active: var(--border-color-ui-dark);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		/* Border */
		--border-color-active: var(--border-color-dark);
		--border-color-muted-active: var(--border-color-muted-dark);
		--border-color-accent-active: var(--border-color-accent-dark);
		--border-color-accent-muted-active: var(--border-color-accent-muted-dark);

		--border-color-ui-active: var(--border-color-ui-dark);
	}
}

/* Border color to Border color */
.border-color, .border-color img { border-color: var(--border-color); }
.border-color-dark, .border-color-dark img { border-color: var(--border-color-dark); }
.border-color-active, .border-color-active img { border-color: var(--border-color-active); }

/* Border color to Border Muted color */
.border-color-muted, .border-color img { border-color: var(--border-color-muted); }
.border-color-muted-dark, .border-color-dark img { border-color: var(--border-color-muted-dark); }
.border-color-muted-active, .border-color-active img { border-color: var(--border-color-muted-active); }

/* Border color to Border Accent color */
.border-color-accent, .border-color img { border-color: var(--border-color-accent); }
.border-color-accent-dark, .border-color-dark img { border-color: var(--border-color-accent-dark); }
.border-color-accent-active, .border-color-active img { border-color: var(--border-color-accent-active); }

/* Border color to Border Accent Muted color */
.border-color-accent-muted, .border-color img { border-color: var(--border-color-accent-muted); }
.border-color-accent-muted-dark, .border-color-dark img { border-color: var(--border-color-accent-muted-dark); }
.border-color-accent-muted-active, .border-color-active img { border-color: var(--border-color-accent-muted-active); }

/* Border to Border UI */
.border-ui, .border-ui img { border: var(--border-ui); }
.border-ui-dark, .border-ui-dark img { border: var(--border-ui-dark); }
.border-ui-active, .border-ui-active img { border: var(--border-ui-active); }

/* Border top to Border UI */
.border-top-ui, .border-top-ui img { border-top: var(--border-ui); }
.border-top-ui-dark, .border-top-ui-dark img { border-top: var(--border-ui-dark); }
.border-top-ui-active, .border-top-ui-active img { border-top: var(--border-ui-active); }

/* Border right to Border UI */
.border-right-ui, .border-right-ui img { border-right: var(--border-ui); }
.border-right-ui-dark, .border-right-ui-dark img { border-right: var(--border-ui-dark); }
.border-right-ui-active, .border-right-ui-active img { border-right: var(--border-ui-active); }

/* Border left to Border UI */
.border-left-ui, .border-left-ui img { border-left: var(--border-ui); }
.border-left-ui-dark, .border-left-ui-dark img { border-left: var(--border-ui-dark); }
.border-left-ui-active, .border-left-ui-active img { border-left: var(--border-ui-active); }

/* Border bottom to Border UI */
.border-bottom-ui, .border-bottom-ui img { border-bottom: var(--border-ui); }
.border-bottom-ui-dark, .border-bottom-ui-dark img { border-bottom: var(--border-ui-dark); }
.border-bottom-ui-active, .border-bottom-ui-active img { border-bottom: var(--border-ui-active); }

/* Border Radius */
.border-radius-1 { border-radius: var(--border-radius-1); }
.border-radius-2 { border-radius: var(--border-radius-2); }
.border-radius-3 { border-radius: var(--border-radius-3); }
.border-radius-4 { border-radius: var(--border-radius-4); }
.border-radius-5 { border-radius: var(--border-radius-5); }
.border-radius-6 { border-radius: var(--border-radius-6); }

.border-radius-top-1 {
	border-top-left-radius: var(--border-radius-1);
	border-top-right-radius: var(--border-radius-1);
}
.border-radius-top-2 {
	border-top-left-radius: var(--border-radius-2);
	border-top-right-radius: var(--border-radius-2);
}
.border-radius-top-3 {
	border-top-left-radius: var(--border-radius-3);
	border-top-right-radius: var(--border-radius-3);
}
.border-radius-top-4 {
	border-top-left-radius: var(--border-radius-4);
	border-top-right-radius: var(--border-radius-4);
}
.border-radius-top-5 {
	border-top-left-radius: var(--border-radius-5);
	border-top-right-radius: var(--border-radius-5);
}
.border-radius-top-6 {
	border-top-left-radius: var(--border-radius-6);
	border-top-right-radius: var(--border-radius-6);
}

.border-radius-bottom-1 {
	border-bottom-left-radius: var(--border-radius-1);
	border-bottom-right-radius: var(--border-radius-1);
}
.border-radius-bottom-2 {
	border-bottom-left-radius: var(--border-radius-2);
	border-bottom-right-radius: var(--border-radius-2);
}
.border-radius-bottom-3 {
	border-bottom-left-radius: var(--border-radius-3);
	border-bottom-right-radius: var(--border-radius-3);
}
.border-radius-bottom-4 {
	border-bottom-left-radius: var(--border-radius-4);
	border-bottom-right-radius: var(--border-radius-4);
}
.border-radius-bottom-5 {
	border-bottom-left-radius: var(--border-radius-5);
	border-bottom-right-radius: var(--border-radius-5);
}
.border-radius-bottom-6 {
	border-bottom-left-radius: var(--border-radius-6);
	border-bottom-right-radius: var(--border-radius-6);
}

.border-radius-left-1 {
	border-top-left-radius: var(--border-radius-1);
	border-bottom-left-radius: var(--border-radius-1);
}
.border-radius-left-2 {
	border-top-left-radius: var(--border-radius-2);
	border-bottom-left-radius: var(--border-radius-2);
}
.border-radius-left-3 {
	border-top-left-radius: var(--border-radius-3);
	border-bottom-left-radius: var(--border-radius-3);
}
.border-radius-left-4 {
	border-top-left-radius: var(--border-radius-4);
	border-bottom-left-radius: var(--border-radius-4);
}
.border-radius-left-5 {
	border-top-left-radius: var(--border-radius-5);
	border-bottom-left-radius: var(--border-radius-5);
}
.border-radius-left-6 {
	border-top-left-radius: var(--border-radius-6);
	border-bottom-left-radius: var(--border-radius-6);
}

.border-radius-right-1 {
	border-top-right-radius: var(--border-radius-1);
	border-bottom-right-radius: var(--border-radius-1);
}
.border-radius-right-2 {
	border-top-right-radius: var(--border-radius-2);
	border-bottom-right-radius: var(--border-radius-2);
}
.border-radius-right-3 {
	border-top-right-radius: var(--border-radius-3);
	border-bottom-right-radius: var(--border-radius-3);
}
.border-radius-right-4 {
	border-top-right-radius: var(--border-radius-4);
	border-bottom-right-radius: var(--border-radius-4);
}
.border-radius-right-5 {
	border-top-right-radius: var(--border-radius-5);
	border-bottom-right-radius: var(--border-radius-5);
}
.border-radius-right-6 {
	border-top-right-radius: var(--border-radius-6);
	border-bottom-right-radius: var(--border-radius-6);
}

/* =========================
	Cards
   ========================= */

.card-1 {
	padding: var(--spacing-1);
	border-radius: var(--border-radius-1);
}

.card-2 {
	padding: var(--spacing-2);
	border-radius: var(--border-radius-2);
}

.card-3 {
	padding: var(--spacing-3);
	border-radius: var(--border-radius-3);
}

.card-4 {
	padding: var(--spacing-4);
	border-radius: var(--border-radius-4);
}

.card-5 {
	padding: var(--spacing-5);
	border-radius: var(--border-radius-5);
}

.card-6 {
	padding: var(--spacing-6);
	border-radius: var(--border-radius-6);
}

/* =========================
	Lists
   ========================= */

/* Variables */
:root {
	/* General */
	--list-gap: var(--spacing-1);

	/* List title */
	--list-title-color: var(--color-text-active);
	--list-title-font: var(--font-title-6);

	/* List content */
	--list-content-color: var(--color-text-muted-active);
	--list-content-color-active: var(--color-text-highlight-active);

	--list-big-content-gap: calc(var(--font-text-big-size) * var(--font-text-line-height) * 0.2);
	--list-big-content-icon-size: calc(var(--font-text-big-size) * var(--font-text-line-height));
	--list-big-content-font: var(--font-text-big);
	--list-big-content-italic-font: var(--font-text-big-italic);
	--list-big-content-bold-font: var(--font-text-big-bold);
	--list-big-content-bold-italic-font: var(--font-text-big-bold-italic);

	--list-medium-content-gap: calc(var(--font-text-medium-size) * var(--font-text-line-height) * 0.2);
	--list-medium-content-icon-size: calc(var(--font-text-medium-size) * var(--font-text-line-height));
	--list-medium-content-font: var(--font-text-medium);
	--list-medium-content-italic-font: var(--font-text-medium-italic);
	--list-medium-content-bold-font: var(--font-text-medium-bold);
	--list-medium-content-bold-italic-font: var(--font-text-medium-bold-italic);

	--list-small-content-gap: calc(var(--font-text-small-size) * var(--font-text-line-height) * 0.2);
	--list-small-content-icon-size: calc(var(--font-text-small-size) * var(--font-text-line-height));
	--list-small-content-font: var(--font-text-small);
	--list-small-content-italic-font: var(--font-text-small-italic);
	--list-small-content-bold-font: var(--font-text-small-bold);
	--list-small-content-bold-italic-font: var(--font-text-small-bold-italic);

	/* Entries */
	--list-entry-border-bottom-style: solid;
	--list-entry-border-bottom-color: transparent;
	--list-entry-border-bottom-color-active: var(--color-primary-highlight-active);

	--list-big-entry-gap: calc(var(--font-text-big-size) * 0.5);
	--list-big-entry-border-bottom-width: calc(var(--font-text-big-size) * 0.2);
	--list-big-entry-border-radius: 0;
	--list-big-entry-border-radius-active: var(--list-big-entry-gap);
	--list-big-entry-padding-horizontal: calc(var(--list-big-content-gap) * 0.5);

	--list-medium-entry-gap: calc(var(--font-text-medium-size) * 0.5);
	--list-medium-entry-border-bottom-width: calc(var(--font-text-medium-size) * 0.2);
	--list-medium-entry-border-radius: 0;
	--list-medium-entry-border-radius-active: var(--list-medium-entry-gap);
	--list-medium-entry-padding-horizontal: calc(var(--list-medium-content-gap) * 0.5);

	--list-small-entry-gap: calc(var(--font-text-small-size) * 0.5);
	--list-small-entry-border-bottom-width: calc(var(--font-text-small-size) * 0.2);
	--list-small-entry-border-radius: 0;
	--list-small-entry-border-radius-active: var(--list-small-entry-gap);
	--list-small-entry-padding-horizontal: calc(var(--list-small-content-gap) * 0.5);
}

.list-big, .list-big-italic, .list-big-bold, .list-big-bold-italic {
	--list-content-gap: var(--list-big-content-gap);
	--list-content-icon-size: var(--list-big-content-icon-size);
	--list-entry-gap: var(--list-big-entry-gap);
	--list-entry-border-bottom-width: var(--list-big-entry-border-bottom-width);
	--list-entry-border-radius: var(--list-big-entry-border-radius);
	--list-entry-border-radius-active: var(--list-big-entry-border-radius-active);
	--list-entry-padding-horizontal: var(--list-big-entry-padding-horizontal);
}
.list-big { --list-content-font: var(--list-big-content-font); }
.list-big-italic { --list-content-font: var(--list-big-content-italic-font); }
.list-big-bold { --list-content-font: var(--list-big-content-bold-font); }
.list-big-bold-italic { --list-content-font: var(--list-big-content-bold-italic-font); }

.list-medium, .list-medium-italic, .list-medium-bold, .list-medium-bold-italic {
	--list-content-gap: var(--list-medium-content-gap);
	--list-content-icon-size: var(--list-medium-content-icon-size);
	--list-entry-gap: var(--list-medium-entry-gap);
	--list-entry-border-bottom-width: var(--list-medium-entry-border-bottom-width);
	--list-entry-border-radius: var(--list-medium-entry-border-radius);
	--list-entry-border-radius-active: var(--list-medium-entry-border-radius-active);
	--list-entry-padding-horizontal: var(--list-medium-entry-padding-horizontal);
}
.list-medium { --list-content-font: var(--list-medium-content-font); }
.list-medium-italic { --list-content-font: var(--list-medium-content-italic-font); }
.list-medium-bold { --list-content-font: var(--list-medium-content-bold-font); }
.list-medium-bold-italic { --list-content-font: var(--list-medium-content-bold-italic-font); }

.list-small, .list-small-italic, .list-small-bold, .list-small-bold-italic {
	--list-content-gap: var(--list-small-content-gap);
	--list-content-icon-size: var(--list-small-content-icon-size);
	--list-entry-gap: var(--list-small-entry-gap);
	--list-entry-border-bottom-width: var(--list-small-entry-border-bottom-width);
	--list-entry-border-radius: var(--list-small-entry-border-radius);
	--list-entry-border-radius-active: var(--list-small-entry-border-radius-active);
	--list-entry-padding-horizontal: var(--list-small-entry-padding-horizontal);
}
.list-small { --list-content-font: var(--list-small-content-font); }
.list-small-italic { --list-content-font: var(--list-small-content-italic-font); }
.list-small-bold { --list-content-font: var(--list-small-content-bold-font); }
.list-small-bold-italic { --list-content-font: var(--list-small-content-bold-italic-font); }

.list {
	gap: var(--list-gap);
}

.list-content {
	gap: var(--list-content-gap);
}

.list-title, .list-title .elementor-heading-title {
	color: var(--list-title-color);
	font: var(--list-title-font);
}

.list-entry-group {
	width: fit-content;
	height: fit-content;
	gap: var(--list-content-gap);
}

.list-entry {
	align-items: center;
	width: fit-content;
	height: fit-content;
	padding-top: var(--list-entry-padding-horizontal);
	padding-bottom: var(--list-entry-padding-horizontal);
	gap: var(--list-entry-gap);
	border-bottom-style: var(--list-entry-border-bottom-style);
	border-bottom-width: var(--list-entry-border-bottom-width);
	border-bottom-color: var(--list-entry-border-bottom-color);
	border-radius: var(--list-entry-border-radius);
	transition:
		border-bottom-color var(--tr-med),
		color var(--tr-med),
		fill var(--tr-med),
		padding-left var(--tr-med),
		padding-right var(--tr-med),
		border-radius var(--tr-med);
}

.list-icon {
	color: var(--list-content-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0; /* fix baseline spacing that pushes SVG upward */
}

.list-icon i,
.list-icon span {
	color: var(--list-content-color);
	font-size: var(--list-content-icon-size);
	line-height: 1;
	display: block;
}

.list-icon svg {
	fill: var(--list-content-color);
	width: var(--list-content-icon-size);
	height: var(--list-content-icon-size);
	display: block; /* prevents inline SVG baseline alignment */
}


.list-text, .list-text .elementor-heading-title {
	color: var(--list-content-color);
	font: var(--list-content-font);
}

/* Fine pointer: hover (including group broadcast) */
@media (hover: hover) {
	.list-entry:hover,
	.list-entry-group:hover .list-entry {
		padding-left: var(--list-entry-gap);
		padding-right: var(--list-entry-gap);
		border-bottom-color: var(--list-entry-border-bottom-color-active);
		border-radius: var(--list-entry-border-radius-active);
		cursor: pointer;
	}

	.list-entry:hover .list-icon,
	.list-entry-group:hover .list-entry .list-icon {
		color: var(--list-content-color-active);
	}

	.list-entry:hover .list-icon svg,
	.list-entry-group:hover .list-entry .list-icon svg {
		fill: var(--list-content-color-active);
	}

	.list-entry:hover .list-text,
	.list-entry-group:hover .list-entry .list-text,
	.list-entry:hover .list-text .elementor-heading-title,
	.list-entry-group:hover .list-entry .list-text .elementor-heading-title {
		color: var(--list-content-color-active);
	}
}

/* Coarse pointer: touch feedback while pressed (group broadcast via :has) */
@media (hover: none) {
	/* Fallback: pressed entry only (works even without :has support) */
	.list-entry:active {
		padding-left: var(--list-entry-gap);
		padding-right: var(--list-entry-gap);
		border-bottom-color: var(--list-entry-border-bottom-color-active);
		border-radius: var(--list-entry-border-radius-active);
	}

	.list-entry:active .list-icon {
		color: var(--list-content-color-active);
	}

	.list-entry:active .list-icon svg {
		fill: var(--list-content-color-active);
	}

	.list-entry:active .list-text,
	.list-entry:active .list-text .elementor-heading-title {
		color: var(--list-content-color-active);
	}

	/* Upgrade: whole group highlights while any entry is pressed (requires :has) */
	.list-entry-group:has(.list-entry:active) .list-entry {
		padding-left: var(--list-entry-gap);
		padding-right: var(--list-entry-gap);
		border-bottom-color: var(--list-entry-border-bottom-color-active);
		border-radius: var(--list-entry-border-radius-active);
	}

	.list-entry-group:has(.list-entry:active) .list-entry .list-icon {
		color: var(--list-content-color-active);
	}

	.list-entry-group:has(.list-entry:active) .list-entry .list-icon svg {
		fill: var(--list-content-color-active);
	}

	.list-entry-group:has(.list-entry:active) .list-entry .list-text,
	.list-entry-group:has(.list-entry:active) .list-entry .list-text .elementor-heading-title {
		color: var(--list-content-color-active);
	}
}

/* =========================
	Buttons
   ========================= */

:root {
	--button-font-style: normal;
	--button-font-weight: normal;
	--button-font-family: "Anton";
	--button-line-height: 1.5;

	/* Extra Big Button */
	--button-extra-big-font-size: clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem);
	--button-extra-big-font:
		var(--button-font-style)
		var(--button-font-weight)
    	var(--button-extra-big-font-size)/var(--button-line-height)
		var(--button-font-family);
	--button-extra-big-padding-horizontal: calc(var(--button-extra-big-font-size) * var(--button-line-height) * 0.75);
	--button-extra-big-padding-vertical: calc(var(--button-extra-big-padding-horizontal) * 0.2);
	--button-extra-big-border-width: var(--border-width-ui);
	--button-extra-big-border-radius: calc(var(--button-extra-big-font-size) * var(--button-line-height) / 2 + var(--button-extra-big-padding-vertical));
	--button-extra-big-min-height: calc(var(--button-extra-big-font-size) * var(--button-line-height) + 2 * var(--button-extra-big-padding-vertical) + 2 * var(--button-big-border-width));
	--button-extra-big-icon-gap: calc(var(--button-extra-big-min-height) * 0.25);

	/* Big Button */
	--button-big-font-size: clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem);
	--button-big-font:
		var(--button-font-style)
		var(--button-font-weight)
    	var(--button-big-font-size)/var(--button-line-height)
		var(--button-font-family);
	--button-big-padding-horizontal: calc(var(--button-big-font-size) * var(--button-line-height) * 0.75);
	--button-big-padding-vertical: calc(var(--button-big-padding-horizontal) * 0.2);
	--button-big-border-width: var(--border-width-ui);
	--button-big-border-radius: calc(var(--button-big-font-size) * var(--button-line-height) / 2 + var(--button-big-padding-vertical));
	--button-big-min-height: calc(var(--button-big-font-size) * var(--button-line-height) + 2 * var(--button-big-padding-vertical) + 2 * var(--button-big-border-width));
	--button-big-icon-gap: calc(var(--button-big-min-height) * 0.25);

	/* Medium Button */
	--button-medium-font-size: clamp(1.4rem, 1.3538rem + 0.2051vw, 1.5rem);
	--button-medium-font:
		var(--button-font-style)
		var(--button-font-weight)
    	var(--button-medium-font-size)/var(--button-line-height)
		var(--button-font-family);
	--button-medium-padding-horizontal: calc(var(--button-medium-font-size) * var(--button-line-height) * 0.75);
	--button-medium-padding-vertical: calc(var(--button-medium-padding-horizontal) * 0.2);
	--button-medium-border-width: var(--border-width-ui);
	--button-medium-border-radius: calc(var(--button-medium-font-size) * var(--button-line-height) / 2 + var(--button-medium-padding-vertical));
	--button-medium-min-height: calc(var(--button-medium-font-size) * var(--button-line-height) + 2 * var(--button-medium-padding-vertical) + 2 * var(--button-medium-border-width));
	--button-medium-icon-gap: calc(var(--button-medium-min-height) * 0.25);

	/* Small Button */
	--button-small-font-size: clamp(1.2rem, 1.1769rem + 0.1026vw, 1.25rem);
	--button-small-font:
		var(--button-font-style)
		var(--button-font-weight)
    	var(--button-small-font-size)/var(--button-line-height)
		var(--button-font-family);
	--button-small-padding-horizontal: calc(var(--button-small-font-size) * var(--button-line-height) * 0.75);
	--button-small-padding-vertical: calc(var(--button-small-padding-horizontal) * 0.2);
	--button-small-border-width: var(--border-width-ui);
	--button-small-border-radius: calc(var(--button-small-font-size) * var(--button-line-height) / 2 + var(--button-small-padding-vertical));
	--button-small-min-height: calc(var(--button-small-font-size) * var(--button-line-height) + 2 * var(--button-small-padding-vertical) + 2 * var(--button-small-border-width));
	--button-small-icon-gap: calc(var(--button-small-min-height) * 0.25);

	/* Extra Small Button */
	--button-extra-small-font-size: 1rem;
	--button-extra-small-font:
		var(--button-font-style)
		var(--button-font-weight)
    	var(--button-extra-small-font-size)/var(--button-line-height)
		var(--button-font-family);
	--button-extra-small-padding-horizontal: calc(var(--button-extra-small-font-size) * var(--button-line-height) * 0.75);
	--button-extra-small-padding-vertical: calc(var(--button-extra-small-padding-horizontal) * 0.2);
	--button-extra-small-border-width: var(--border-width-ui);
	--button-extra-small-border-radius: calc(var(--button-extra-small-font-size) * var(--button-line-height) / 2 + var(--button-extra-small-padding-vertical));
	--button-extra-small-min-height: calc(var(--button-extra-small-font-size) * var(--button-line-height) + 2 * var(--button-extra-small-padding-vertical) + 2 * var(--button-extra-small-border-width));
	--button-extra-small-icon-gap: calc(var(--button-extra-small-min-height) * 0.25);

	/* Primary Button */
	--button-primary-background-color: var(--color-primary);
	--button-primary-background-color-dark: var(--color-primary-dark);
	--button-primary-background-color-active: var(--button-primary-background-color);

	--button-primary-foreground-color: var(--color-text);
	--button-primary-foreground-color-dark: var(--color-text-dark);
	--button-primary-foreground-color-active: var(--button-primary-foreground-color);

	--button-primary-border-color: var(--border-color-ui);
	--button-primary-border-color-dark: var(--border-color-ui-dark);
	--button-primary-border-color-active: var(--button-primary-border-color);

	--button-primary-border-style: none;
	--button-primary-box-shadow: var(--box-shadow);
	--button-primary-text-shadow: none;

	/* Secondary Button */
	--button-secondary-background-color: var(--color-secondary-muted);
	--button-secondary-background-color-dark: var(--color-secondary-muted-dark);
	--button-secondary-background-color-active: var(--button-secondary-background-color);

	--button-secondary-foreground-color: var(--color-text-dark);
	--button-secondary-foreground-color-dark: var(--color-text);
	--button-secondary-foreground-color-active: var(--button-secondary-foreground-color);

	--button-secondary-border-color: var(--border-color-ui);
	--button-secondary-border-color-dark: var(--border-color-ui-dark);
	--button-secondary-border-color-active: var(--button-secondary-border-color);

	--button-secondary-border-style: none;
	--button-secondary-box-shadow: var(--box-shadow);
	--button-secondary-text-shadow: none;

	/* Tertiary Button */
	--button-tertiary-background-color: var(--color-overlay-black);
	--button-tertiary-background-color-dark: var(--color-overlay-white-dark);
	--button-tertiary-background-color-active: var(--button-tertiary-background-color);

	--button-tertiary-foreground-color: var(--color-text-muted);
	--button-tertiary-foreground-color-dark: var(--color-text-muted-dark);
	--button-tertiary-foreground-color-active: var(--button-tertiary-foreground-color);

	--button-tertiary-border-color: var(--border-color-ui);
	--button-tertiary-border-color-dark: var(--border-color-ui-dark);
	--button-tertiary-border-color-active: var(--button-tertiary-border-color);

	--button-tertiary-border-style: solid;
	--button-tertiary-box-shadow: var(--box-shadow);
	--button-tertiary-text-shadow: none;

	/* Quaternary Button */
	--button-quaternary-background-color: transparent;
	--button-quaternary-background-color-dark: transparent;
	--button-quaternary-background-color-active: var(--button-quaternary-background-color);

	--button-quaternary-foreground-color: var(--color-text-muted);
	--button-quaternary-foreground-color-dark: var(--color-text-muted-dark);
	--button-quaternary-foreground-color-active: var(--button-quaternary-foreground-color);

	--button-quaternary-border-color: transparent;
	--button-quaternary-border-color-dark: transparent;
	--button-quaternary-border-color-active: var(--button-quaternary-border-color);

	--button-quaternary-border-style: none;
	--button-quaternary-box-shadow: none;
	--button-quaternary-text-shadow: var(--box-shadow);

	/* Primary Button Set */
	--button-set-primary-background-color: var(--color-primary);
	--button-set-primary-background-color-dark: var(--color-primary-dark);
	--button-set-primary-background-color-active: var(--button-set-primary-background-color);

	--button-set-primary-foreground-color: var(--color-text);
	--button-set-primary-foreground-color-dark: var(--color-text-dark);
	--button-set-primary-foreground-color-active: var(--button-set-primary-foreground-color);

	--button-set-primary-border-color: var(--border-color-ui);
	--button-set-primary-border-color-dark: var(--border-color-ui-dark);
	--button-set-primary-border-color-active: var(--button-set-primary-border-color);

	--button-set-primary-border-style: none;
	--button-set-primary-box-shadow: var(--box-shadow-inset);
	--button-set-primary-text-shadow: none;

	/* Secondary Button Set */
	--button-set-secondary-background-color: var(--color-secondary-muted);
	--button-set-secondary-background-color-dark: var(--color-secondary-muted-dark);
	--button-set-secondary-background-color-active: var(--button-set-secondary-background-color);

	--button-set-secondary-foreground-color: var(--color-text-dark);
	--button-set-secondary-foreground-color-dark: var(--color-text);
	--button-set-secondary-foreground-color-active: var(--button-set-secondary-foreground-color);

	--button-set-secondary-border-color: var(--border-color-ui);
	--button-set-secondary-border-color-dark: var(--border-color-ui-dark);
	--button-set-secondary-border-color-active: var(--button-set-secondary-border-color);

	--button-set-secondary-border-style: none;
	--button-set-secondary-box-shadow: var(--box-shadow-inset);
	--button-set-secondary-text-shadow: none;

	/* Tertiary Button Set */
	--button-set-tertiary-background-color: var(--color-overlay-black);
	--button-set-tertiary-background-color-dark: var(--color-overlay-black-dark);
	--button-set-tertiary-background-color-active: var(--button-set-tertiary-background-color);

	--button-set-tertiary-foreground-color: var(--color-text-muted);
	--button-set-tertiary-foreground-color-dark: var(--color-text-muted-dark);
	--button-set-tertiary-foreground-color-active: var(--button-set-tertiary-foreground-color);

	--button-set-tertiary-border-color: var(--border-color-ui);
	--button-set-tertiary-border-color-dark: var(--border-color-ui-dark);
	--button-set-tertiary-border-color-active: var(--button-set-tertiary-border-color);

	--button-set-tertiary-border-style: solid;
	--button-set-tertiary-box-shadow: var(--box-shadow-inset);
	--button-set-tertiary-text-shadow: none;

	/* Quaternary Button Set */
	--button-set-quaternary-background-color: transparent;
	--button-set-quaternary-background-color-dark: transparent;
	--button-set-quaternary-background-color-active: var(--button-set-quaternary-background-color);

	--button-set-quaternary-foreground-color: var(--color-text-muted);
	--button-set-quaternary-foreground-color-dark: var(--color-text-muted-dark);
	--button-set-quaternary-foreground-color-active: var(--button-set-quaternary-foreground-color);

	--button-set-quaternary-border-color: var(--border-color-ui);
	--button-set-quaternary-border-color-dark: var(--border-color-ui-dark);
	--button-set-quaternary-border-color-active: var(--button-set-tertiary-border-color);

	--button-set-quaternary-border-style: solid;
	--button-set-quaternary-box-shadow: var(--box-shadow-inset);
	--button-set-quaternary-text-shadow: none;

	--button-shift: .25rem;
}

/* Explicit dark */
html[data-theme="dark"] {
	--button-primary-background-color-active: var(--button-primary-background-color-dark);
	--button-primary-foreground-color-active: var(--button-primary-foreground-color-dark);
	--button-primary-border-color-active: var(--button-primary-border-color-dark);

	--button-secondary-background-color-active: var(--button-secondary-background-color-dark);
	--button-secondary-foreground-color-active: var(--button-secondary-foreground-color-dark);
	--button-secondary-border-color-active: var(--button-secondary-border-color-dark);

	--button-tertiary-background-color-active: var(--button-tertiary-background-color-dark);
	--button-tertiary-foreground-color-active: var(--button-tertiary-foreground-color-dark);
	--button-tertiary-border-color-active: var(--button-tertiary-border-color-dark);

	--button-quaternary-background-color-active: var(--button-quaternary-background-color-dark);
	--button-quaternary-foreground-color-active: var(--button-quaternary-foreground-color-dark);
	--button-quaternary-border-color-active: var(--button-quaternary-border-color-dark);

	--button-set-primary-background-color-active: var(--button-set-primary-background-color-dark);
	--button-set-primary-foreground-color-active: var(--button-set-primary-foreground-color-dark);
	--button-set-primary-border-color-active: var(--button-set-primary-border-color-dark);

	--button-set-secondary-background-color-active: var(--button-set-secondary-background-color-dark);
	--button-set-secondary-foreground-color-active: var(--button-set-secondary-foreground-color-dark);
	--button-set-secondary-border-color-active: var(--button-set-secondary-border-color-dark);

	--button-set-tertiary-background-color-active: var(--button-set-tertiary-background-color-dark);
	--button-set-tertiary-foreground-color-active: var(--button-set-tertiary-foreground-color-dark);
	--button-set-tertiary-border-color-active: var(--button-set-tertiary-border-color-dark);

	--button-set-quaternary-background-color-active: var(--button-set-quaternary-background-color-dark);
	--button-set-quaternary-foreground-color-active: var(--button-set-quaternary-foreground-color-dark);
	--button-set-quaternary-border-color-active: var(--button-set-quaternary-border-color-dark);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		--button-primary-background-color-active: var(--button-primary-background-color-dark);
		--button-primary-foreground-color-active: var(--button-primary-foreground-color-dark);
		--button-primary-border-color-active: var(--button-primary-border-color-dark);

		--button-secondary-background-color-active: var(--button-secondary-background-color-dark);
		--button-secondary-foreground-color-active: var(--button-secondary-foreground-color-dark);
		--button-secondary-border-color-active: var(--button-secondary-border-color-dark);

		--button-tertiary-background-color-active: var(--button-tertiary-background-color-dark);
		--button-tertiary-foreground-color-active: var(--button-tertiary-foreground-color-dark);
		--button-tertiary-border-color-active: var(--button-tertiary-border-color-dark);

		--button-quaternary-background-color-active: var(--button-quaternary-background-color-dark);
		--button-quaternary-foreground-color-active: var(--button-quaternary-foreground-color-dark);
		--button-quaternary-border-color-active: var(--button-quaternary-border-color-dark);

		--button-set-primary-background-color-active: var(--button-set-primary-background-color-dark);
		--button-set-primary-foreground-color-active: var(--button-set-primary-foreground-color-dark);
		--button-set-primary-border-color-active: var(--button-set-primary-border-color-dark);

		--button-set-secondary-background-color-active: var(--button-set-secondary-background-color-dark);
		--button-set-secondary-foreground-color-active: var(--button-set-secondary-foreground-color-dark);
		--button-set-secondary-border-color-active: var(--button-set-secondary-border-color-dark);

		--button-set-tertiary-background-color-active: var(--button-set-tertiary-background-color-dark);
		--button-set-tertiary-foreground-color-active: var(--button-set-tertiary-foreground-color-dark);
		--button-set-tertiary-border-color-active: var(--button-set-tertiary-border-color-dark);

		--button-set-quaternary-background-color-active: var(--button-set-quaternary-background-color-dark);
		--button-set-quaternary-foreground-color-active: var(--button-set-quaternary-foreground-color-dark);
		--button-set-quaternary-border-color-active: var(--button-set-quaternary-border-color-dark);
	}
}

/* Shrink on click */
.elementor-button { transition: transform var(--tr-fast); }
.elementor-button:active { transform: scale(0.8); }

/* Sizes */
.button-extra-big, .button-set-extra-big {
	--button-font-size: var(--button-extra-big-font-size);
	--button-font: var(--button-extra-big-font);
	--button-padding-horizontal: var(--button-extra-big-padding-horizontal);
	--button-padding-vertical: var(--button-extra-big-padding-vertical);
	--button-border-width: var(--button-extra-big-border-width);
	--button-border-radius: var(--button-extra-big-border-radius);
	--button-min-height: var(--button-extra-big-min-height);
	--button-icon-gap: var(--button-extra-big-icon-gap);
	--button-set-gap: var(--button-extra-big-padding-vertical);
}
.button-big, .button-set-big {
	--button-font-size: var(--button-big-font-size);
	--button-font: var(--button-big-font);
	--button-padding-horizontal: var(--button-big-padding-horizontal);
	--button-padding-vertical: var(--button-big-padding-vertical);
	--button-border-width: var(--button-big-border-width);
	--button-border-radius: var(--button-big-border-radius);
	--button-min-height: var(--button-big-min-height);
	--button-icon-gap: var(--button-big-icon-gap);
	--button-set-gap: var(--button-big-padding-vertical);
}
.button-medium, .button-set-medium {
	--button-font-size: var(--button-medium-font-size);
	--button-font: var(--button-medium-font);
	--button-padding-horizontal: var(--button-medium-padding-horizontal);
	--button-padding-vertical: var(--button-medium-padding-vertical);
	--button-border-width: var(--button-medium-border-width);
	--button-border-radius: var(--button-medium-border-radius);
	--button-min-height: var(--button-medium-min-height);
	--button-icon-gap: var(--button-medium-icon-gap);
	--button-set-gap: var(--button-medium-padding-vertical);
}
.button-small, .button-set-small {
	--button-font-size: var(--button-small-font-size);
	--button-font: var(--button-small-font);
	--button-padding-horizontal: var(--button-small-padding-horizontal);
	--button-padding-vertical: var(--button-small-padding-vertical);
	--button-border-width: var(--button-small-border-width);
	--button-border-radius: var(--button-small-border-radius);
	--button-min-height: var(--button-small-min-height);
	--button-icon-gap: var(--button-small-icon-gap);
	--button-set-gap: var(--button-small-padding-vertical);
}
.button-extra-small, .button-set-extra-small {
	--button-font-size: var(--button-extra-small-font-size);
	--button-font: var(--button-extra-small-font);
	--button-padding-horizontal: var(--button-extra-small-padding-horizontal);
	--button-padding-vertical: var(--button-extra-small-padding-vertical);
	--button-border-width: var(--button-extra-small-border-width);
	--button-border-radius: var(--button-extra-small-border-radius);
	--button-min-height: var(--button-extra-small-min-height);
	--button-icon-gap: var(--button-extra-small-icon-gap);
	--button-set-gap: var(--button-extra-small-padding-vertical);
}

/* Colors */
.button-primary,
.button-set-button-checked-primary .button-checked,
.button-set-button-next-primary .button-next,
.button-set-button-unchecked-primary {
	--button-background-color: var(--button-primary-background-color-active);
	--button-foreground-color: var(--button-primary-foreground-color-active);
	--button-border-color: var(--button-primary-border-color-active);
	--button-border-style: var(--button-primary-border-style);
	--button-box-shadow: var(--button-primary-box-shadow);
	--button-text-shadow: var(--button-primary-text-shadow);
}
.button-secondary,
.button-set-button-checked-secondary .button-checked,
.button-set-button-next-secondary .button-next,
.button-set-button-unchecked-secondary {
	--button-background-color: var(--button-secondary-background-color-active);
	--button-foreground-color: var(--button-secondary-foreground-color-active);
	--button-border-color: var(--button-secondary-border-color-active);
	--button-border-style: var(--button-secondary-border-style);
	--button-box-shadow: var(--button-secondary-box-shadow);
	--button-text-shadow: var(--button-secondary-text-shadow);
}
.button-tertiary,
.button-set-button-checked-tertiary .button-checked,
.button-set-button-next-tertiary .button-next,
.button-set-button-unchecked-tertiary {
	--button-background-color: var(--button-tertiary-background-color-active);
	--button-foreground-color: var(--button-tertiary-foreground-color-active);
	--button-border-color: var(--button-tertiary-border-color-active);
	--button-border-style: var(--button-tertiary-border-style);
	--button-box-shadow: var(--button-tertiary-box-shadow);
	--button-text-shadow: var(--button-tertiary-text-shadow);
}
.button-quaternary,
.button-set-button-checked-quaternary .button-checked,
.button-set-button-next-quaternary .button-next,
.button-set-button-unchecked-quaternary {
	--button-background-color: var(--button-quaternary-background-color-active);
	--button-foreground-color: var(--button-quaternary-foreground-color-active);
	--button-border-color: var(--button-quaternary-border-color-active);
	--button-border-style: var(--button-quaternary-border-style);
	--button-box-shadow: var(--button-quaternary-box-shadow);
	--button-text-shadow: var(--button-quaternary-text-shadow);
}

.button-set-primary {
	--button-set-background-color: var(--button-set-primary-background-color-active);
	--button-set-foreground-color: var(--button-set-primary-foreground-color-active);
	--button-set-border-color: var(--button-set-primary-border-color-active);
	--button-set-border-style: var(--button-set-primary-border-style);
	--button-set-box-shadow: var(--button-set-primary-box-shadow);
	--button-set-text-shadow: var(--button-set-primary-text-shadow);
}
.button-set-secondary {
	--button-set-background-color: var(--button-set-secondary-background-color-active);
	--button-set-foreground-color: var(--button-set-secondary-foreground-color-active);
	--button-set-border-color: var(--button-set-secondary-border-color-active);
	--button-set-border-style: var(--button-set-secondary-border-style);
	--button-set-box-shadow: var(--button-set-secondary-box-shadow);
	--button-set-text-shadow: var(--button-set-secondary-text-shadow);
}
.button-set-tertiary {
	--button-set-background-color: var(--button-set-tertiary-background-color-active);
	--button-set-foreground-color: var(--button-set-tertiary-foreground-color-active);
	--button-set-border-color: var(--button-set-tertiary-border-color-active);
	--button-set-border-style: var(--button-set-tertiary-border-style);
	--button-set-box-shadow: var(--button-set-tertiary-box-shadow);
	--button-set-text-shadow: var(--button-set-tertiary-text-shadow);
}
.button-set-quaternary {
	--button-set-background-color: var(--button-set-quaternary-background-color-active);
	--button-set-foreground-color: var(--button-set-quaternary-foreground-color-active);
	--button-set-border-color: var(--button-set-quaternary-border-color-active);
	--button-set-border-style: var(--button-set-quaternary-border-style);
	--button-set-box-shadow: var(--button-set-quaternary-box-shadow);
	--button-set-text-shadow: var(--button-set-quaternary-text-shadow);
}

/* Button Attributes */
.button-primary .elementor-button, .button-secondary .elementor-button,
.button-tertiary .elementor-button, .button-quaternary .elementor-button,
.button-set-primary .elementor-button, .button-set-secondary .elementor-button,
.button-set-tertiary .elementor-button, .button-set-quaternary .elementor-button {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	background-color: var(--button-background-color);
	padding: var(--button-padding-vertical) var(--button-padding-horizontal);
	min-height: var(--button-min-height);
	border-width: var(--button-border-width);
	border-radius: var(--button-border-radius);
	border-style: var(--button-border-style);
	border-color: var(--button-border-color);
	box-shadow: var(--button-box-shadow);
}

.elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: var(--button-icon-gap);
}

.elementor-button-text {
	color: var(--button-foreground-color);
	font: var(--button-font);
	text-shadow: var(--button-text-shadow);
}

.elementor-button .elementor-button-icon {
	width: var(--button-font-size);
	height: var(--button-font-size);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

/* SVG icons (Elementor often uses .e-font-icon-svg) */
.elementor-button .elementor-button-icon svg,
.elementor-button .elementor-button-icon .e-font-icon-svg {
	width: 100%;
	height: 100%;
	display: block;
	fill: var(--button-foreground-color);
}

/* Font icons (<i> / Font Awesome) */
.elementor-button .elementor-button-icon i {
	font-size: var(--button-font-size);
	line-height: 1;
	width: auto;
	height: auto;
	display: inline-block;
	color: var(--button-foreground-color);
}

.button-set-extra-big, .button-set-big, .button-set-medium, .button-set-small, .button-set-extra-small,
.button-set-primary, .button-set-secondary, .button-set-tertiary, .button-set-quaternary {
	display: inline-flex;
	flex-direction: row;
	width: fit-content;
	gap: var(--button-set-gap);

	background-color: var(--button-set-background-color);
	border-width: var(--button-border-width);
	border-radius: var(--button-border-radius);
	border-style: var(--button-set-border-style);
	border-color: var(--button-set-border-color);
	box-shadow: var(--button-set-box-shadow);
}

/* ---------------------------------------------------------
	Toggle Set Container
--------------------------------------------------------- */

.button-set-toggle:not(.button-set-multiple-check) {
	display: inline-flex;
	position: relative;
	width: fit-content;
	gap: 0;

	background-color: transparent;
	border: none;
	box-shadow: none;

	min-height: var(--button-min-height);

	align-items: center;
	vertical-align: middle;
}

/* Keep natural width / no wrapping for toggle visible button */
.button-set-toggle:not(.button-set-multiple-check) .elementor-button-text { white-space: nowrap; }
.button-set-toggle:not(.button-set-multiple-check) .elementor-button-content-wrapper { white-space: nowrap; }

/* ---------------------------------------------------------
	Toggle behavior (single-check)
	Always hide all buttons, only show .button-next if present
--------------------------------------------------------- */

.button-set-toggle:not(.button-set-multiple-check) .elementor-button {
	display: none;
}

.button-set-toggle:not(.button-set-multiple-check) .elementor-button.button-next,
.button-set-toggle:not(.button-set-multiple-check) .button-next .elementor-button {
	display: inline-flex;
}

/* ---------------------------------------------------------
	Toggle sets: never wrap text (natural width)
--------------------------------------------------------- */

.button-set-toggle:not(.button-set-multiple-check) .elementor-button-text {
	white-space: nowrap;
}

/* ---------------------------------------------------------
	Smooth reveal utilities
--------------------------------------------------------- */

.button-collapsed,
.elementor-button.button-collapsed {
	--button-reveal-width: 0;
	--button-reveal-opacity: 0;
	--button-reveal-shift: calc(var(--button-shift) * -1);
	--button-reveal-gap: 0;
}

/* Text collapse (all variants) */
:is(
	.button-text-collapsed,
	.button-text-collapsed-pointer-fine,
	.button-text-collapsed-pointer-coarse
) .elementor-button-text,
.elementor-button:is(
	.button-text-collapsed,
	.button-text-collapsed-pointer-fine,
	.button-text-collapsed-pointer-coarse
) .elementor-button-text {
	max-width: var(--button-reveal-width);
	opacity: var(--button-reveal-opacity);
	transform: translateX(var(--button-reveal-shift));
	overflow: hidden;
	white-space: nowrap;
	will-change: max-width, opacity, transform;
	transition:
		max-width var(--tr-med),
		transform var(--tr-med),
		opacity var(--tr-fast);
}

/* Icon collapse (all variants) */
:is(
	.button-icon-collapsed,
	.button-icon-collapsed-pointer-fine,
	.button-icon-collapsed-pointer-coarse
) .elementor-button-icon,
.elementor-button:is(
	.button-icon-collapsed,
	.button-icon-collapsed-pointer-fine,
	.button-icon-collapsed-pointer-coarse
) .elementor-button-icon {
	max-width: var(--button-reveal-width);
	opacity: var(--button-reveal-opacity);
	transform: translateX(var(--button-reveal-shift));
	overflow: hidden;
	white-space: nowrap;
	will-change: max-width, opacity, transform;
	transition:
		max-width var(--tr-med),
		transform var(--tr-med),
		opacity var(--tr-fast);
}

/* Gap collapse */
:is(
	.button-text-collapsed,
	.button-icon-collapsed,
	.button-text-collapsed-pointer-fine,
	.button-icon-collapsed-pointer-fine,
	.button-text-collapsed-pointer-coarse,
	.button-icon-collapsed-pointer-coarse
) .elementor-button-content-wrapper,
.elementor-button:is(
	.button-text-collapsed,
	.button-icon-collapsed,
	.button-text-collapsed-pointer-fine,
	.button-icon-collapsed-pointer-fine,
	.button-text-collapsed-pointer-coarse,
	.button-icon-collapsed-pointer-coarse
) .elementor-button-content-wrapper {
	gap: var(--button-reveal-gap);
	transition: gap var(--tr-med);
}

/* ---------------------------------------------------------
	Reveal behavior (focus always reveals)
--------------------------------------------------------- */

:is(
	.button-text-collapsed,
	.button-text-collapsed-pointer-fine,
	.button-text-collapsed-pointer-coarse
) .elementor-button:focus-visible,
.elementor-button:is(
	.button-text-collapsed,
	.button-text-collapsed-pointer-fine,
	.button-text-collapsed-pointer-coarse
):focus-visible {
	--button-reveal-width: 50ch;
	--button-reveal-opacity: 1;
	--button-reveal-shift: 0;
	--button-reveal-gap: var(--button-icon-gap);
}

:is(
	.button-icon-collapsed,
	.button-icon-collapsed-pointer-fine,
	.button-icon-collapsed-pointer-coarse
) .elementor-button:focus-visible,
.elementor-button:is(
	.button-icon-collapsed,
	.button-icon-collapsed-pointer-fine,
	.button-icon-collapsed-pointer-coarse
):focus-visible {
	--button-reveal-width: 2em;
	--button-reveal-opacity: 1;
	--button-reveal-shift: 0;
	--button-reveal-gap: var(--button-icon-gap);
}

/* ---------------------------------------------------------
	Fine pointer behavior (hover + focus)
--------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
	/* Text reveal on fine */
	:is(.button-text-collapsed, .button-text-collapsed-pointer-fine)
	.elementor-button:is(:hover, :focus-visible),
	.elementor-button:is(.button-text-collapsed, .button-text-collapsed-pointer-fine)
	:is(:hover, :focus-visible) {
		--button-reveal-width: 50ch;
		--button-reveal-opacity: 1;
		--button-reveal-shift: 0;
		--button-reveal-gap: var(--button-icon-gap);
	}

	/* Icon reveal on fine */
	:is(.button-icon-collapsed, .button-icon-collapsed-pointer-fine)
	.elementor-button:is(:hover, :focus-visible),
	.elementor-button:is(.button-icon-collapsed, .button-icon-collapsed-pointer-fine)
	:is(:hover, :focus-visible) {
		--button-reveal-width: 2em;
		--button-reveal-opacity: 1;
		--button-reveal-shift: 0;
		--button-reveal-gap: var(--button-icon-gap);
	}

	/* Force reveal for coarse-only classes on fine pointer */
	.button-text-collapsed-pointer-coarse,
	.elementor-button.button-text-collapsed-pointer-coarse {
		--button-reveal-width: 50ch;
		--button-reveal-opacity: 1;
		--button-reveal-shift: 0;
		--button-reveal-gap: var(--button-icon-gap);
	}

	.button-icon-collapsed-pointer-coarse,
	.elementor-button.button-icon-collapsed-pointer-coarse {
		--button-reveal-width: 2em;
		--button-reveal-opacity: 1;
		--button-reveal-shift: 0;
		--button-reveal-gap: var(--button-icon-gap);
	}
}

/* ---------------------------------------------------------
	Coarse pointer behavior
--------------------------------------------------------- */

@media (hover: none) and (pointer: coarse) {
	/* Prevent toggle press/focus reveal */
	.button-set-toggle:not(.button-set-multiple-check) .button-collapsed,
	.button-set-toggle:not(.button-set-multiple-check)
	.elementor-button.button-collapsed {
		--button-reveal-width: 0;
		--button-reveal-opacity: 0;
		--button-reveal-shift: calc(var(--button-shift) * -1);
		--button-reveal-gap: 0;
	}

	.button-set-toggle:not(.button-set-multiple-check)
	.elementor-button:is(:active, :focus, :focus-visible) {
		--button-reveal-width: 0;
		--button-reveal-opacity: 0;
		--button-reveal-shift: calc(var(--button-shift) * -1);
		--button-reveal-gap: 0;
	}

	/* Force reveal for fine-only classes on coarse pointer */
	.button-text-collapsed-pointer-fine,
	.elementor-button.button-text-collapsed-pointer-fine {
		--button-reveal-width: 50ch;
		--button-reveal-opacity: 1;
		--button-reveal-shift: 0;
		--button-reveal-gap: var(--button-icon-gap);
	}

	.button-icon-collapsed-pointer-fine,
	.elementor-button.button-icon-collapsed-pointer-fine {
		--button-reveal-width: 2em;
		--button-reveal-opacity: 1;
		--button-reveal-shift: 0;
		--button-reveal-gap: var(--button-icon-gap);
	}
}

/* =========================
	Fields
   ========================= */

:root {
	/* Container */
	--field-container-padding-horizontal: 0;
	--field-container-padding-horizontal-hover: 0;
	--field-container-padding-horizontal-focus: 0;

	--field-container-padding-vertical: var(--button-medium-padding-vertical);
	--field-container-padding-vertical-hover: var(--button-medium-padding-vertical);
	--field-container-padding-vertical-focus: var(--button-medium-padding-vertical);

	--field-container-border-radius: var(--button-medium-border-radius);
	--field-container-border-radius-hover: var(--button-medium-border-radius);
	--field-container-border-radius-focus: var(--button-medium-border-radius);

	--field-container-border-width: var(--button-medium-border-width);
	--field-container-border-width-hover: var(--button-medium-border-width);
	--field-container-border-width-focus: var(--button-medium-border-width);

	--field-container-border-style: solid;
	--field-container-border-style-hover: solid;
	--field-container-border-style-focus: solid;
	
	--field-container-gap: 0;
	--field-container-gap-hover: 0;
	--field-container-gap-focus: 0;

	--field-container-background-color: transparent;
	--field-container-background-color-dark: transparent;
	--field-container-background-color-active: var(--field-container-background-color);

	--field-container-background-color-hover: transparent;
	--field-container-background-color-hover-dark: transparent;
	--field-container-background-color-hover-active: var(--field-container-background-color-hover);

	--field-container-background-color-focus: transparent;
	--field-container-background-color-focus-dark: transparent;
	--field-container-background-color-focus-active: var(--field-container-background-color-focus);

	--field-container-border-color: transparent;
	--field-container-border-color-dark: transparent;
	--field-container-border-color-active: var(--field-container-border-color);

	--field-container-border-color-hover: transparent;
	--field-container-border-color-hover-dark: transparent;
	--field-container-border-color-hover-active: var(--field-container-border-color-hover);

	--field-container-border-color-focus: transparent;
	--field-container-border-color-focus-dark: transparent;
	--field-container-border-color-focus-active: var(--field-container-border-color-focus);

	--field-container-box-shadow: none;
	--field-container-box-shadow-hover: none;
	--field-container-box-shadow-focus: none;

	/* Label */
	--field-label-font-family: var(--font-text-family);
	--field-label-font-family-hover: var(--font-text-family);
	--field-label-font-family-focus: var(--font-text-family);

	--field-label-font-size: var(--font-text-medium-size);
	--field-label-font-size-hover: var(--font-text-medium-size);
	--field-label-font-size-focus: var(--font-text-medium-size);

	--field-label-font-weight: var(--font-text-bold-weight);
	--field-label-font-weight-hover: var(--font-text-bold-weight);
	--field-label-font-weight-focus: var(--font-text-bold-weight);

	--field-label-font-style: var(--font-text-normal-style);
	--field-label-font-style-hover: var(--font-text-normal-style);
	--field-label-font-style-focus: var(--font-text-normal-style);

	--field-label-line-height: var(--font-text-line-height);
	--field-label-line-height-hover: var(--font-text-line-height);
	--field-label-line-height-focus: var(--font-text-line-height);

	--field-label-padding-horizontal: calc(var(--button-medium-padding-horizontal) * 0.5 );
	--field-label-padding-horizontal-hover: calc(var(--button-medium-padding-horizontal) * 0.5 );
	--field-label-padding-horizontal-focus: calc(var(--button-medium-padding-horizontal) * 0.5 );
	
	--field-label-color: var(--color-text-muted);
	--field-label-color-dark: var(--color-text-muted-dark);
	--field-label-color-active: var(--field-label-color);
	
	--field-label-color-hover: var(--color-text);
	--field-label-color-hover-dark: var(--color-text-dark);
	--field-label-color-hover-active: var(--field-label-color-hover);
	
	--field-label-color-focus: var(--color-accent-muted);
	--field-label-color-focus-dark: var(--color-accent-muted-dark);
	--field-label-color-focus-active: var(--field-label-color-focus);

	/* Label Error */
	--field-label-color-error: var(--color-error);
	--field-label-color-error-dark: var(--color-error-dark);
	--field-label-color-error-active: var(--field-label-color-error);
	
	--field-label-color-error-hover: var(--color-error);
	--field-label-color-error-hover-dark: var(--color-error-dark);
	--field-label-color-error-hover-active: var(--field-label-color-error-hover);
	
	--field-label-color-error-focus: var(--color-error);
	--field-label-color-error-focus-dark: var(--color-error-dark);
	--field-label-color-error-focus-active: var(--field-label-color-error-focus);

	/* Field Content */
	--field-content-font: var(--button-medium-font);
	--field-content-font-hover: var(--button-medium-font);
	--field-content-font-focus: var(--button-medium-font);
	
	--field-content-padding-horizontal: var(--button-medium-padding-horizontal);
	--field-content-padding-horizontal-hover: var(--button-medium-padding-horizontal);
	--field-content-padding-horizontal-focus: var(--button-medium-padding-horizontal);
	
	--field-content-padding-vertical: var(--button-medium-padding-vertical);
	--field-content-padding-vertical-hover: var(--button-medium-padding-vertical);
	--field-content-padding-vertical-focus: var(--button-medium-padding-vertical);
	
	--field-content-border-radius: var(--button-medium-border-radius);
	--field-content-border-radius-hover: var(--button-medium-border-radius);
	--field-content-border-radius-focus: var(--button-medium-border-radius);

	--field-content-border-bottom-width: calc(var(--button-medium-font-size) * 0.2);
	--field-content-border-bottom-width-hover: calc(var(--button-medium-font-size) * 0.2);
	--field-content-border-bottom-width-focus: calc(var(--button-medium-font-size) * 0.2);
	
	--field-content-border-bottom-style: solid;
	--field-content-border-bottom-style-hover: solid;
	--field-content-border-bottom-style-focus: solid;
	
	--field-content-border-bottom-color: var(--color-text-muted);
	--field-content-border-bottom-color-dark: var(--color-text-muted-dark);
	--field-content-border-bottom-color-active: var(--field-content-border-bottom-color);
	
	--field-content-border-bottom-color-hover: var(--color-text-highlight);
	--field-content-border-bottom-color-hover-dark: var(--color-text-highlight-dark);
	--field-content-border-bottom-color-hover-active: var(--field-content-border-bottom-color-hover);
	
	--field-content-border-bottom-color-focus: var(--color-primary-highlight);
	--field-content-border-bottom-color-focus-dark: var(--color-primary-highlight-dark);
	--field-content-border-bottom-color-focus-active: var(--field-content-border-bottom-color-focus);

	--field-content-background-color: transparent;
	--field-content-background-color-dark: transparent;
	--field-content-background-color-active: var(--field-content-background-color);
	
	--field-content-background-color-hover: var(--color-overlay-white);
	--field-content-background-color-hover-dark: var(--color-overlay-black-dark);
	--field-content-background-color-hover-active: var(--field-content-background-color-hover);
	
	--field-content-background-color-focus: var(--color-overlay-white);
	--field-content-background-color-focus-dark: var(--color-overlay-black-dark);
	--field-content-background-color-focus-active: var(--field-content-background-color-focus);
	
	--field-content-foreground-color: var(--color-text-muted);
	--field-content-foreground-color-dark: var(--color-text-muted-dark);
	--field-content-foreground-color-active: var(--field-content-foreground-color);
	
	--field-content-foreground-color-hover: var(--color-text-highlight);
	--field-content-foreground-color-hover-dark: var(--color-text-highlight-dark);
	--field-content-foreground-color-hover-active: var(--field-content-foreground-color-hover);
	
	--field-content-foreground-color-focus: var(--color-text-highlight);
	--field-content-foreground-color-focus-dark: var(--color-text-highlight-dark);
	--field-content-foreground-color-focus-active: var(--field-content-foreground-color-focus);
	
	--field-content-box-shadow: var(--box-shadow-inset);
	--field-content-box-shadow-hover: var(--box-shadow-inset);
	--field-content-box-shadow-focus: var(--box-shadow-accent-inset);

	/*Field Content Error */
	--field-content-border-bottom-color-error: var(--color-error);
	--field-content-border-bottom-color-error-dark: var(--color-error-dark);
	--field-content-border-bottom-color-error-active: var(--field-content-border-bottom-color-error);
	
	--field-content-border-bottom-color-error-hover: var(--color-error);
	--field-content-border-bottom-color-error-hover-dark: var(--color-error-dark);
	--field-content-border-bottom-color-error-hover-active: var(--field-content-border-bottom-color-error-hover);
	
	--field-content-border-bottom-color-error-focus: var(--color-primary-highlight);
	--field-content-border-bottom-color-error-focus-dark: var(--color-primary-highlight-dark);
	--field-content-border-bottom-color-error-focus-active: var(--field-content-border-bottom-color-error-focus);

	--field-content-background-color-error: transparent;
	--field-content-background-color-error-dark: transparent;
	--field-content-background-color-error-active: var(--field-content-background-color-error);
	
	--field-content-background-color-error-hover: var(--color-overlay-white);
	--field-content-background-color-error-hover-dark: var(--color-overlay-black-dark);
	--field-content-background-color-error-hover-active: var(--field-content-background-color-error-hover);
	
	--field-content-background-color-error-focus: var(--color-overlay-white);
	--field-content-background-color-error-focus-dark: var(--color-overlay-black-dark);
	--field-content-background-color-error-focus-active: var(--field-content-background-color-error-focus);

	--field-content-box-shadow-error: var(--box-shadow-error-inset);
	--field-content-box-shadow-error-hover: var(--box-shadow-error-inset);
	--field-content-box-shadow-error-focus: var(--box-shadow-accent-inset);

	/* Status */
	--field-status-font-family: var(--font-text-family);
	--field-status-font-family-hover: var(--font-text-family);
	--field-status-font-family-focus: var(--font-text-family);

	--field-status-font-size: var(--font-text-small-size);
	--field-status-font-size-hover: var(--font-text-small-size);
	--field-status-font-size-focus: var(--font-text-small-size);

	--field-status-font-weight: var(--font-text-bold-weight);
	--field-status-font-weight-hover: var(--font-text-bold-weight);
	--field-status-font-weight-focus: var(--font-text-bold-weight);

	--field-status-font-style: var(--font-text-italic-style);
	--field-status-font-style-hover: var(--font-text-italic-style);
	--field-status-font-style-focus: var(--font-text-italic-style);

	--field-status-line-height: var(--font-text-line-height);
	--field-status-line-height-hover: var(--font-text-line-height);
	--field-status-line-height-focus: var(--font-text-line-height);

	--field-status-padding-horizontal: calc(var(--button-medium-padding-horizontal) * 0.5 );
	--field-status-padding-horizontal-hover: calc(var(--button-medium-padding-horizontal) * 0.5 );
	--field-status-padding-horizontal-focus: calc(var(--button-medium-padding-horizontal) * 0.5 );
	
	--field-status-color: var(--color-error);
	--field-status-color-dark: var(--color-error);
	--field-status-color-active: var(--field-status-color);
	
	--field-status-color-hover: var(--color-error);
	--field-status-color-hover-dark: var(--color-error);
	--field-status-color-hover-active: var(--field-status-color-hover);
	
	--field-status-color-focus: var(--color-error);
	--field-status-color-focus-dark: var(--color-error);
	--field-status-color-focus-active: var(--field-status-color-focus);

	/* Status Error */
	--field-status-color-error: var(--color-error);
	--field-status-color-error-dark: var(--color-error);
	--field-status-color-error-active: var(--field-status-color-error);
	
	--field-status-color-error-hover: var(--color-error);
	--field-status-color-error-hover-dark: var(--color-error);
	--field-status-color-error-hover-active: var(--field-status-color-error-hover);
	
	--field-status-color-error-focus: var(--color-error);
	--field-status-color-error-focus-dark: var(--color-error);
	--field-status-color-error-focus-active: var(--field-status-color-error-focus);
}

/* Explicit dark */
html[data-theme="dark"] {
	/* Container */
	--field-container-background-color-active: var(--field-container-background-color-dark);
	--field-container-background-color-hover-active: var(--field-container-background-color-hover-dark);
	--field-container-background-color-focus-active: var(--field-container-background-color-focus-dark);

	--field-container-border-color-active: var(--field-container-border-color-dark);
	--field-container-border-color-hover-active: var(--field-container-border-color-hover-dark);
	--field-container-border-color-focus-active: var(--field-container-border-color-focus-dark);

	/* Label */
	--field-label-color-active: var(--field-label-color-dark);
	--field-label-color-hover-active: var(--field-label-color-hover-dark);
	--field-label-color-focus-active: var(--field-label-color-focus-dark);
	
	--field-label-color-error-active: var(--field-label-color-error-dark);
	--field-label-color-error-hover-active: var(--field-label-color-error-hover-dark);
	--field-label-color-error-focus-active: var(--field-label-color-error-focus-dark);

	/* Content */
	--field-content-border-bottom-color-active: var(--field-content-border-bottom-color-dark);
	--field-content-border-bottom-color-hover-active: var(--field-content-border-bottom-color-hover-dark);
	--field-content-border-bottom-color-focus-active: var(--field-content-border-bottom-color-focus-dark);

	--field-content-background-color-active: var(--field-content-background-color-dark);
	--field-content-background-color-hover-active: var(--field-content-background-color-hover-dark);
	--field-content-background-color-focus-active: var(--field-content-background-color-focus-dark);

	--field-content-foreground-color-active: var(--field-content-foreground-color-dark);
	--field-content-foreground-color-hover-active: var(--field-content-foreground-color-hover-dark);
	--field-content-foreground-color-focus-active: var(--field-content-foreground-color-focus-dark);
	
	--field-content-border-bottom-color-error-active: var(--field-content-border-bottom-color-error-dark);
	--field-content-border-bottom-color-error-hover-active: var(--field-content-border-bottom-color-error-hover-dark);
	--field-content-border-bottom-color-error-focus-active: var(--field-content-border-bottom-color-error-focus-dark);

	--field-content-background-color-error-active: var(--field-content-background-color-error-dark);
	--field-content-background-color-error-hover-active: var(--field-content-background-color-error-hover-dark);
	--field-content-background-color-error-focus-active: var(--field-content-background-color-error-focus-dark);

	/* Status */
	--field-status-color-active: var(--field-status-color-dark);
	--field-status-color-hover-active: var(--field-status-color-hover-dark);
	--field-status-color-focus-active: var(--field-status-color-focus-dark);

	--field-status-color-error-active: var(--field-status-color-error-dark);
	--field-status-color-error-hover-active: var(--field-status-color-error-hover-dark);
	--field-status-color-error-focus-active: var(--field-status-color-error-focus-dark);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		/* Container */
		--field-container-background-color-active: var(--field-container-background-color-dark);
		--field-container-background-color-hover-active: var(--field-container-background-color-hover-dark);
		--field-container-background-color-focus-active: var(--field-container-background-color-focus-dark);

		--field-container-border-color-active: var(--field-container-border-color-dark);
		--field-container-border-color-hover-active: var(--field-container-border-color-hover-dark);
		--field-container-border-color-focus-active: var(--field-container-border-color-focus-dark);

		/* Label */
		--field-label-color-active: var(--field-label-color-dark);
		--field-label-color-hover-active: var(--field-label-color-hover-dark);
		--field-label-color-focus-active: var(--field-label-color-focus-dark);
		
		--field-label-color-error-active: var(--field-label-color-error-dark);
		--field-label-color-error-hover-active: var(--field-label-color-error-hover-dark);
		--field-label-color-error-focus-active: var(--field-label-color-error-focus-dark);

		/* Content */
		--field-content-border-bottom-color-active: var(--field-content-border-bottom-color-dark);
		--field-content-border-bottom-color-hover-active: var(--field-content-border-bottom-color-hover-dark);
		--field-content-border-bottom-color-focus-active: var(--field-content-border-bottom-color-focus-dark);

		--field-content-background-color-active: var(--field-content-background-color-dark);
		--field-content-background-color-hover-active: var(--field-content-background-color-hover-dark);
		--field-content-background-color-focus-active: var(--field-content-background-color-focus-dark);

		--field-content-foreground-color-active: var(--field-content-foreground-color-dark);
		--field-content-foreground-color-hover-active: var(--field-content-foreground-color-hover-dark);
		--field-content-foreground-color-focus-active: var(--field-content-foreground-color-focus-dark);
		
		--field-content-border-bottom-color-error-active: var(--field-content-border-bottom-color-error-dark);
		--field-content-border-bottom-color-error-hover-active: var(--field-content-border-bottom-color-error-hover-dark);
		--field-content-border-bottom-color-error-focus-active: var(--field-content-border-bottom-color-error-focus-dark);

		--field-content-background-color-error-active: var(--field-content-background-color-error-dark);
		--field-content-background-color-error-hover-active: var(--field-content-background-color-error-hover-dark);
		--field-content-background-color-error-focus-active: var(--field-content-background-color-error-focus-dark);

		/* Status */
		--field-status-color-active: var(--field-status-color-dark);
		--field-status-color-hover-active: var(--field-status-color-hover-dark);
		--field-status-color-focus-active: var(--field-status-color-focus-dark);

		--field-status-color-error-active: var(--field-status-color-error-dark);
		--field-status-color-error-hover-active: var(--field-status-color-error-hover-dark);
		--field-status-color-error-focus-active: var(--field-status-color-error-focus-dark);
	}
}

/* Field Container standard styling */
.field-container {
	padding-left: var(--field-container-padding-horizontal);
	padding-right: var(--field-container-padding-horizontal);
	padding-top: var(--field-container-padding-vertical);
	padding-bottom: var(--field-container-padding-vertical);
	gap: var(--field-container-gap);
	border-radius: var(--field-container-border-radius);
	border-width: var(--field-container-border-width);
	border-style: var(--field-container-border-style);
	background-color: var(--field-container-background-color-active);
	border-color: var(--field-container-border-color-active);
	box-shadow: var(--field-container-box-shadow);
}

/* Field Container hover styling */
.field-container:hover {
	padding-left: var(--field-container-padding-horizontal-hover);
	padding-right: var(--field-container-padding-horizontal-hover);
	padding-top: var(--field-container-padding-vertical-hover);
	padding-bottom: var(--field-container-padding-vertical-hover);
	gap: var(--field-container-gap-hover);
	border-radius: var(--field-container-border-radius-hover);
	border-width: var(--field-container-border-width-hover);
	border-style: var(--field-container-border-style-hover);
	background-color: var(--field-container-background-color-hover-active);
	border-color: var(--field-container-border-color-hover-active);
	box-shadow: var(--field-container-box-shadow-hover);
}

/* Field Container focus styling */
.field-container:has(:is(input, textarea, select):focus) {
	padding-left: var(--field-container-padding-horizontal-focus);
	padding-right: var(--field-container-padding-horizontal-focus);
	padding-top: var(--field-container-padding-vertical-focus);
	padding-bottom: var(--field-container-padding-vertical-focus);
	gap: var(--field-container-gap-focus);
	border-radius: var(--field-container-border-radius-focus);
	border-width: var(--field-container-border-width-focus);
	border-style: var(--field-container-border-style-focus);
	background-color: var(--field-container-background-color-focus-active);
	border-color: var(--field-container-border-color-focus-active);
	box-shadow: var(--field-container-box-shadow-focus);
}

/* Field Label hidden when placeholder is shown or field is focus */
.field-container:has(:is(input, textarea, select):not(:placeholder-shown)) .field-label,
.field-container:has(:is(input, textarea, select):focus) .field-label {
	visibility: visible;
	transform: translateY(-0.1rem);
	transition:
		visibility var(--tr-med),
		transform var(--tr-med);
}

/* Field Label standard styling */
.field-label {
	visibility: hidden;
	font-family: var(--field-label-font-family);
	font-size: var(--field-label-font-size);
	font-weight: var(--field-label-font-weight);
	font-style: var(--field-label-font-style);
	line-height: var(--field-label-line-height);
	color: var(--field-label-color-active);
	padding-left: var(--field-label-padding-horizontal);
	padding-right: var(--field-label-padding-horizontal);
	/* min-height: calc(var(--field-label-font-size) * var(--field-label-line-height)); */
}

/* Field Label hover styling */
.field-container:hover .field-label, .field-label:hover {
	font-family: var(--field-label-font-family-hover);
	font-size: var(--field-label-font-size-hover);
	font-weight: var(--field-label-font-weight-hover);
	font-style: var(--field-label-font-style-hover);
	line-height: var(--field-label-line-height-hover);
	color: var(--field-label-color-hover-active);
	padding-left: var(--field-label-padding-horizontal-hover);
	padding-right: var(--field-label-padding-horizontal-hover);
	/* min-height: calc(var(--field-label-font-size-hover) * var(--field-label-line-height-hover)); */
}

/* Field Label focus styling */
.field-container:has(:is(input, textarea, select):focus) .field-label, .field-label:focus {
	font-family: var(--field-label-font-family-focus);
	font-size: var(--field-label-font-size-focus);
	font-weight: var(--field-label-font-weight-focus);
	font-style: var(--field-label-font-style-focus);
	line-height: var(--field-label-line-height-focus);
	color: var(--field-label-color-focus-active);
	padding-left: var(--field-label-padding-horizontal-focus);
	padding-right: var(--field-label-padding-horizontal-focus);
	/* min-height: calc(var(--field-label-font-size-focus) * var(--field-label-line-height-focus)); */
}

/* Field Label error styling */
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid .field-label {
	color: var(--field-label-color-error-active);
	/* min-height: calc(var(--field-label-font-size) * var(--field-label-line-height)); */
}

/* Field Label error hover styling */
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid .field-container:hover .field-label,
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid .field-label:hover {
	color: var(--field-label-color-error-hover-active);
	/* min-height: calc(var(--field-label-font-size-hover) * var(--field-label-line-height-hover)); */
}

/* Field Label error focus styling */
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid .field-container:has(:is(input, textarea, select):focus) .field-label,
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid .field-label:focus {
	color: var(--field-label-color-error-focus-active);
	/* min-height: calc(var(--field-label-font-size-focus) * var(--field-label-line-height-focus)); */
}

/* Field Content hidden placeholder when focused */
.field-container .field > :is(input.field-input, textarea.field-textarea, select.field-select):focus::placeholder {
	opacity: 0;
	transition: opacity var(--tr-med);
}

/* Field Content standard styling */
.field-container .field > :is(input.field-input, textarea.field-textarea, select.field-select) {
	resize: none;
	/* Styling */
	font: var(--field-content-font);
	color: var(--field-content-foreground-color-active);
	padding-left: var(--field-content-padding-horizontal);
	padding-right: var(--field-content-padding-horizontal);
	padding-top: var(--field-content-padding-vertical);
	padding-bottom: var(--field-content-padding-vertical);
	border-radius: var(--field-content-border-radius);
	border-bottom-width: var(--field-content-border-bottom-width);
	border-bottom-style: var(--field-content-border-bottom-style);
	border-bottom-color: var(--field-content-border-bottom-color-active);
	background: var(--field-content-background-color-active);
	background-color: var(--field-content-background-color-active);
	box-shadow: var(--field-content-box-shadow);
	transition: 
		background-color var(--tr-med),
		border-bottom-color var(--tr-med),
		box-shadow var(--tr-med);
}

/* Field Content hover styling */
.field-container .field > :is(input.field-input, textarea.field-textarea, select.field-select):hover {	
	font: var(--field-content-font-hover);
	color: var(--field-content-foreground-color-hover-active);
	padding-left: var(--field-content-padding-horizontal-hover);
	padding-right: var(--field-content-padding-horizontal-hover);
	padding-top: var(--field-content-padding-vertical-hover);
	padding-bottom: var(--field-content-padding-vertical-hover);
	border-radius: var(--field-content-border-radius-hover);
	border-bottom-width: var(--field-content-border-bottom-width-hover);
	border-bottom-style: var(--field-content-border-bottom-style-hover);
	border-bottom-color: var(--field-content-border-bottom-color-hover-active);
	background: var(--field-content-background-color-hover-active);
	background-color: var(--field-content-background-color-hover-active);
	box-shadow: var(--field-content-box-shadow-hover);
}

/* Field Content focus styling */
.field-container .field > :is(input.field-input, textarea.field-textarea, select.field-select):focus {	
	font: var(--field-content-font-focus);
	color: var(--field-content-foreground-color-focus-active);
	padding-left: var(--field-content-padding-horizontal-focus);
	padding-right: var(--field-content-padding-horizontal-focus);
	padding-top: var(--field-content-padding-vertical-focus);
	padding-bottom: var(--field-content-padding-vertical-focus);
	border-radius: var(--field-content-border-radius-focus);
	border-bottom-width: var(--field-content-border-bottom-width-focus);
	border-bottom-style: var(--field-content-border-bottom-style-focus);
	border-bottom-color: var(--field-content-border-bottom-color-focus-active);
	background: var(--field-content-background-color-focus-active);
	background-color: var(--field-content-background-color-focus-active);
	box-shadow: var(--field-content-box-shadow-focus);
}

/* Field Content error styling */
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid {
	border-bottom-color: var(--field-content-border-bottom-color-error-active);
	background: var(--field-content-background-color-error-active);
	background-color: var(--field-content-background-color-error-active);
	box-shadow: var(--field-content-box-shadow-error);
}

/* Field Content error hover styling */
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid:hover {
	border-bottom-color: var(--field-content-border-bottom-color-error-hover-active);
	background: var(--field-content-background-color-error-hover-active);
	background-color: var(--field-content-background-color-error-hover-active);
	box-shadow: var(--field-content-box-shadow-error-hover);
}

/* Field Content error focus styling */
.field-container:has(.field > .field-status[role="status"][aria-hidden="false"]) .field > :is(input.field-input, textarea.field-textarea, select.field-select)[data-field-touched="true"]:invalid:focus {
	border-bottom-color: var(--field-content-border-bottom-color-error-focus-active);
	background: var(--field-content-background-color-error-focus-active);
	background-color: var(--field-content-background-color-error-focus-active);
	box-shadow: var(--field-content-box-shadow-error-focus);
}

/* Field Status hidden when placeholder field is focus */
.field-container:has(:is(input, textarea, select):focus) .field-status {
	display: none;
	transform: translateY(-0.1rem);
	transition:
		display var(--tr-med),
		transform var(--tr-med);
}

/* Field Status standard styling */
.field-status {
	font-family: var(--field-status-font-family);
	font-size: var(--field-status-font-size);
	font-weight: var(--field-status-font-weight);
	font-style: var(--field-status-font-style);
	line-height: var(--field-status-line-height);
	color: var(--field-status-color-active);
	padding-left: var(--field-status-padding-horizontal);
	padding-right: var(--field-status-padding-horizontal);
	transition: all var(--tr-med);
}

/* Field Status hover styling */
.field-container:hover .field-status, .field-status:hover {
	font-family: var(--field-status-font-family-hover);
	font-size: var(--field-status-font-size-hover);
	font-weight: var(--field-status-font-weight-hover);
	font-style: var(--field-status-font-style-hover);
	line-height: var(--field-status-line-height-hover);
	color: var(--field-status-color-hover-active);
	padding-left: var(--field-status-padding-horizontal-hover);
	padding-right: var(--field-status-padding-horizontal-hover);
}

/* Field Status focus styling */
.field-container:has(:is(input, textarea, select):focus) .field-status, .field-status:focus {
	font-family: var(--field-status-font-family-focus);
	font-size: var(--field-status-font-size-focus);
	font-weight: var(--field-status-font-weight-focus);
	font-style: var(--field-status-font-style-focus);
	line-height: var(--field-status-line-height-focus);
	color: var(--field-status-color-focus-active);
	padding-left: var(--field-status-padding-horizontal-focus);
	padding-right: var(--field-status-padding-horizontal-focus);
}

/* =========================
	Form
   ========================= */

:root {
	/* Form */
	--form-gap: var(--spacing-1);
	--form-field-gap: var(--button-small-padding-vertical);

	/* Typography */
	--form-field-font: var(--button-small-font);
	--form-label-font: var(--font-text-medium-bold);

	/* Colors */
	--form-field-text-color: var(--color-text-muted-active);
	--form-field-text-color-active: var(--color-text-highlight-active);
	--form-label-color: var(--color-text-active);
	--form-field-border-color-active: var(--color-primary-active);

	/* Spacing */
	--form-field-padding-vertical: var(--button-small-padding-vertical);
	--form-field-padding-horizontal: var(--button-small-padding-horizontal);

	/* Shape */
	--form-field-radius-bottom: var(--button-small-border-radius);
	--form-field-border-width-active: 2px;

	/* Placeholder */
	--form-placeholder-color: var(--color-text-muted-active);
	--form-placeholder-opacity-idle: 0.5;
	--form-placeholder-opacity-hover: 1;

	/* Label animation */
	--form-label-reveal-max-height: 2.5em;
	--form-label-reveal-translate-y: 4px;
}

/* =========================
	Layout
   ========================= */
form.contact-form {
	display: flex;
	flex-direction: column;
	gap: var(--form-gap);
}

form.contact-form .form-field {
	display: flex;
	flex-direction: column;
	gap: var(--form-field-gap);
}

/* =========================
	Label
	- hidden by default
	- visible on focus OR when filled
	- padding on hover + focus
   ========================= */
form.contact-form .form-field > label {
	font: var(--form-label-font);
	color: var(--form-label-color);
	margin: 0;

	/* default spacing */
	padding-left: 0;
	padding-right: 0;

	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transform: translateY(var(--form-label-reveal-translate-y));
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity var(--tr-fast),
		transform var(--tr-med),
		max-height var(--tr-med),
		padding-left var(--tr-med),
		padding-right var(--tr-med);
}

/* Padding applies on hover + focus */
form.contact-form .form-field:hover > label,
form.contact-form .form-field:focus-within > label {
	padding-left: var(--form-field-padding-x);
	padding-right: var(--form-field-padding-x);
}

/* Label visible only on focus or when filled */
form.contact-form .form-field:focus-within > label,
form.contact-form .form-field.is-filled > label {
	opacity: 1;
	max-height: var(--form-label-reveal-max-height);
	transform: translateY(0);
	visibility: visible;
}

/* =========================
	Inputs & textarea
	- no background ever
	- no borders except bottom on hover/focus
	- no radius except bottom on hover/focus
   ========================= */
form.contact-form .form-field input.text-input,
form.contact-form .form-field textarea.text-area {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;

	display: block;
	width: 100%;
	box-sizing: border-box;

	font: var(--form-field-font);
	color: var(--form-field-text-color);

	background: transparent;
	background-color: transparent;

	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;

	padding-top: var(--form-field-padding-y);
	padding-bottom: var(--form-field-padding-y);
	padding-left: 0;
	padding-right: 0;

	/* prepare animated border */
	border-bottom-style: solid;
	border-bottom-width: 0;
	border-bottom-color: transparent;

	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;

	transition:
		padding-left var(--tr-med),
		padding-right var(--tr-med),
		color var(--tr-fast),
		border-bottom-width var(--tr-med),
		border-bottom-color var(--tr-med),
		border-bottom-left-radius var(--tr-med),
		border-bottom-right-radius var(--tr-med);
}

/* Ensure no background appears on any interaction */
form.contact-form .form-field input.text-input:hover,
form.contact-form .form-field textarea.text-area:hover,
form.contact-form .form-field input.text-input:focus,
form.contact-form .form-field textarea.text-area:focus,
form.contact-form .form-field input.text-input:active,
form.contact-form .form-field textarea.text-area:active {
	background: transparent;
	background-color: transparent;
	box-shadow: none;
	outline: none;
}

/* Autofill neutralizer */
form.contact-form .form-field input.text-input:-webkit-autofill,
form.contact-form .form-field input.text-input:-webkit-autofill:hover,
form.contact-form .form-field input.text-input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--form-field-text-color-active);
	-webkit-box-shadow: 0 0 0 1000px transparent inset;
	transition: background-color 99999s ease-out;
}

/* =========================
	Placeholder
	(JS removes it on focus)
   ========================= */
form.contact-form .form-field input.text-input::placeholder,
form.contact-form .form-field textarea.text-area::placeholder,
form.contact-form .form-field input.text-input::-webkit-input-placeholder,
form.contact-form .form-field textarea.text-area::-webkit-input-placeholder,
form.contact-form .form-field input.text-input::-moz-placeholder,
form.contact-form .form-field textarea.text-area::-moz-placeholder,
form.contact-form .form-field input.text-input:-ms-input-placeholder,
form.contact-form .form-field textarea.text-area:-ms-input-placeholder {
	color: var(--form-placeholder-color);
	opacity: var(--form-placeholder-opacity-idle);
	transition:
		opacity var(--tr-fast),
		color var(--tr-fast);
}

/* Placeholder stronger on hover */
form.contact-form .form-field:hover input.text-input::placeholder,
form.contact-form .form-field:hover textarea.text-area::placeholder,
form.contact-form .form-field:hover input.text-input::-webkit-input-placeholder,
form.contact-form .form-field:hover textarea.text-area::-webkit-input-placeholder,
form.contact-form .form-field:hover input.text-input::-moz-placeholder,
form.contact-form .form-field:hover textarea.text-area::-moz-placeholder,
form.contact-form .form-field:hover input.text-input:-ms-input-placeholder,
form.contact-form .form-field:hover textarea.text-area:-ms-input-placeholder {
	opacity: var(--form-placeholder-opacity-hover);
}

/* =========================
	Hover + Focus field styling
   ========================= */
form.contact-form .form-field:hover input.text-input,
form.contact-form .form-field:hover textarea.text-area,
form.contact-form .form-field:focus-within input.text-input,
form.contact-form .form-field:focus-within textarea.text-area {
	color: var(--form-field-text-color-active);

	padding-left: var(--form-field-padding-x);
	padding-right: var(--form-field-padding-x);

	border-bottom-width: var(--form-field-border-width-active);
	border-bottom-color: var(--form-field-border-color-active);

	border-bottom-left-radius: var(--form-field-radius-bottom);
	border-bottom-right-radius: var(--form-field-radius-bottom);
}

/* =========================
	Textarea behavior
	- auto-fit handled by JS
	- user-resizable vertically
   ========================= */
form.contact-form .form-field textarea.text-area {
	height: auto;
	min-height: 0;
	overflow-y: hidden;
	resize: vertical;
}

/* =========================
	Navigation Bar
   ========================= */

.nav-container, .nav-horizontal, .nav-vertical {
	flex: 0 1 auto;
	width: auto;
	min-width: 0;
	max-width: max-content;
}

.nav-container .elementor-button {
    padding: 0;
}

.nav-horizontal .nav-container {
	flex-direction: row;
}

.nav-vertical .nav-container {
	flex-direction: column;
}

/* =========================
	Logo
   ========================= */

/* Variables */
:root {
	/* Logo */
	--logo-ratio: 1747/6920;
	--logo-width: clamp(190px, calc(146.154px + 12.179vw), 285px);
	--logo-height: calc(var(--logo-width) * var(--logo-ratio));

	/* Primary fill */
	--logo-fill-primary: var(--color-primary);
	--logo-fill-primary-dark: var(--color-primary-dark);
	--logo-fill-primary-active: var(--color-primary);

	/* Secondary fill*/
	--logo-fill-secondary: var(--color-secondary);
	--logo-fill-secondary-dark: var(--color-secondary-dark);
	--logo-fill-secondary-active: var(--color-secondary);
}

.logo {
	--fill-primary: var(--logo-fill-primary-active);
	--fill-secondary: var(--logo-fill-secondary-active);
}

.logo svg {
	width: var(--logo-width);
	height: auto;
	display: block;
	filter: var(--drop-shadow);
}

.logo svg .logo-primary {
	filter: var(--drop-shadow);
}

/* Explicit dark */
html[data-theme="dark"] {
	/* Primary fill */
	--logo-fill-primary-active: var(--logo-fill-primary-dark);

	/* Secondary fill*/
	--logo-fill-secondary-active: var(--logo-fill-secondary-dark);
}

/* Auto: only when no data-theme is set */
@media (prefers-color-scheme: dark){
	html:not([data-theme]) {
		/* Primary fill */
		--logo-fill-primary-active: var(--logo-fill-primary-dark);

		/* Secondary fill*/
		--logo-fill-secondary-active: var(--logo-fill-secondary-dark);
	}
}

/* =========================
	Menu
   ========================= */

/* Variables */
:root {
	/* Menu */
	--menu-background: var(--color-background-tertiary-active);
	--menu-width: clamp(300px, calc(207.692px + 25.641vw), 500px);
	--menu-height: 100dvh;
	--menu-padding-top: var(--spacing-1);
	--menu-padding-right: var(--spacing-1);
	--menu-padding-left: var(--spacing-1);
	--menu-padding-bottom: calc(var(--font-text-small-size) * 0.5);
	--menu-border-top-left-radius: var(--border-radius-1);
	--menu-border-top-right-radius: 0;
	--menu-border-bottom-left-radius: var(--border-radius-1);
	--menu-border-bottom-right-radius: 0;
	--menu-border-width: var(--border-width-ui);
	--menu-border-color: var(--border-color-ui);
	--menu-box-shadow: var(--box-shadow);
}

.menu-off-canvas {
	width: var(--menu-width);
	height: var(--menu-height);
	border-top-left-radius: var(--menu-border-top-left-radius);
	border-top-right-radius: var(--menu-border-top-right-radius);
	border-bottom-left-radius: var(--menu-border-bottom-left-radius);
	border-bottom-right-radius: var(--menu-border-bottom-right-radius);
}

.menu-container {
	width: var(--menu-width);
	height: var(--menu-height);
	background-color: var(--menu-background);
	padding-top: var(--menu-padding-top);
	padding-right: var(--menu-padding-right);
	padding-left: var(--menu-padding-left);
	padding-bottom: var(--menu-padding-bottom);
	border-top-left-radius: var(--menu-border-top-left-radius);
	border-top-right-radius: var(--menu-border-top-right-radius);
	border-bottom-left-radius: var(--menu-border-bottom-left-radius);
	border-bottom-right-radius: var(--menu-border-bottom-right-radius);
	border-width: var(--menu-border-width);
	border-color: var(--menu-border-color);
	box-shadow: var(--menu-box-shadow);
}

/* =========================
	Header
   ========================= */

/* Variables */
:root {
	--header-background-color: var(--color-background-tertiary-active);
	--header-padding: var(--spacing-1);
	--header-height: calc(var(--logo-height) + 2 * var(--header-padding));
	--header-max-width: calc(1140px + 2 * var(--header-padding));
	--header-margin: 0px;
	--header-border: var(--border-ui-active);
	--header-border-radius: var(--border-radius-1);
	--header-box-shadow: var(--box-shadow);
}

/* Set the anchor offset to the header height */
.anchor-offset {
	scroll-margin-top: calc(var(--header-height) - var(--header-border-radius));
}

/* Action Bar */
.header-action-bar {
	flex: 0 1 auto;
	width: auto;
	min-width: 0;
	max-width: max-content;
}

/* Header */
.header-section {
	margin-bottom: calc(-1 * var(--header-height) + var(--header-margin));
}

.header-container {
	padding: var(--header-padding);
	margin-bottom: var(--header-margin);
	background-color: var(--header-background-color);
	border-bottom: var(--header-border);
	border-bottom-left-radius: var(--header-border-radius);
	border-bottom-right-radius: var(--header-border-radius);
	box-shadow: var(--header-box-shadow);
}

@media (min-width: 1140px) {
	.header-container {
		border-left: var(--header-border);
		border-right: var(--header-border);
	}
}

/* =========================
	Footer
   ========================= */

/* Variables */
:root {
	/* Section */
	--footer-background-color: transparent;
	--footer-padding-top: var(--spacing-1);
	--footer-padding-bottom: calc(var(--font-text-small-size) * 0.5);
	--footer-padding-left: var(--spacing-1);
	--footer-padding-right: var(--spacing-1);
	--footer-gap: var(--spacing-3);
	--footer-margin: var(--spacing-1);
	--footer-border: var(--border-ui-active);
	--footer-box-shadow: var(--box-shadow);

	/* Links Grid */
	--footer-links-gap: var(--spacing-2);

	/* Notes */
	--footer-note-color: var(--color-text-muted-active);
	--footer-note-font: var(--font-text-small);
}

/* Footer section */
.footer-section {
	background-color: var(--footer-background-color);
	padding-top: var(--footer-padding-top);
	padding-bottom: var(--footer-padding-bottom);
	padding-left: var(--footer-padding-left);
	padding-right: var(--footer-padding-right);
	gap: var(--footer-gap);
	margin-top: var(--footer-margin);
}

/* Footer links */

.footer-links {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr) max-content;
	grid-template-rows: auto;
	gap: var(--footer-links-gap);
}

.footer-links-about {
	grid-column: 1;
	align-items: start;
}

.footer-links-about .list {
	width: fit-content;
	height: fit-content;
	align-items: start;
}

.footer-links-about .list-content {
	align-items: start;
}

.footer-links-about .list-icon {
	order: 0;
}

.footer-links-follow-us {
	grid-column: 2;
	align-items: center;
}

.footer-links-follow-us .list {
	width: fit-content;
	height: fit-content;
	align-items: start;
}

.footer-links-follow-us .list-content {
	align-items: start;
}

.footer-links-follow-us .list-icon {
	order: 0;
}

.footer-links-legal {
	grid-column: 3;
	align-items: end;
}

.footer-links-legal .list {
	width: fit-content;
	height: fit-content;
	align-items: end;
}

.footer-links-legal .list-content {
	align-items: end;
}

.footer-links-legal .list-icon {
	order: 1;
}

@media (max-width: 760px) {
	.footer-links {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, auto);
	}

	.footer-links-follow-us {
		grid-column: auto;
		align-items: end;
	}

	.footer-links-follow-us .list {
		align-items: end;
	}

	.footer-links-follow-us .list-content {
		align-items: end;
	}

	.footer-links-follow-us .list-icon {
		order: 1;
	}

	.footer-links-legal {
		grid-column: auto;
		align-items: start;
	}

	.footer-links-legal .list {
		align-items: start;
	}

	.footer-links-legal .list-content {
		align-items: start;
	}

	.footer-links-legal .list-icon {
		order: 0;
	}
}

@media (max-width: 520px) {
	.footer-links {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3, auto);
	}

	.footer-links-follow-us {
		align-items: start;
	}

	.footer-links-follow-us .list {
		align-items: start;
	}

	.footer-links-follow-us .list-content {
		align-items: start;
	}

	.footer-links-follow-us .list-icon {
		order: 0;
	}
}

/* Notes */

.footer-note, .footer-note .elementor-heading-title {
	color: var(--footer-note-color);
	font: var(--footer-note-font);
}

/* =========================
	Viewport
   ========================= */

/* Variables */
:root {
    --full-vh: 100vh;
    --full-svh: 100svh;
    --full-dvh: 100dvh;
    
    --full-vh-without-header: calc(var(--full-vh) - var(--header-height) - var(--header-margin));
    --full-svh-without-header: calc(var(--full-vh) - var(--header-height) - var(--header-margin));
    --full-dvh-without-header: calc(var(--full-vh) - var(--header-height) - var(--header-margin));
    
    --full-vh-without-header-and-footer-margin: calc(var(--full-vh-without-header) - var(--footer-margin));
    --full-svh-without-header-and-footer-margin: calc(var(--full-svh-without-header) - var(--footer-margin));
    --full-dvh-without-header-and-footer-margin: calc(var(--full-dvh-without-header) - var(--footer-margin));
    
    --full-vw: 100vw;
    --full-svw: 100svw;
    --full-dvw: 100dvw;
}

/* Height: full vh */
.height-full-vh {
	height: var(--full-vh);
}

.height-full-svh {
	height: var(--full-svh);
}

.height-full-dvh {
	height: var(--full-dvh);
}

/* Height: full vh without header */
.height-full-vh-without-header {
	height: var(--full-vh-without-header);
}

.height-full-svh-without-header {
	height: var(--full-svh-without-header);
}

.height-full-dvh-without-header {
	height: var(--full-dvh-without-header);
}

/* Height: full vh without header adn footer margin */
.height-full-vh-without-header-and-footer-margin {
	height: var(--full-vh-without-header-and-footer-margin);
}

.height-full-svh-without-header-and-footer-margin {
	height: var(--full-svh-without-header-and-footer-margin);
}

.height-full-dvh-without-header-and-footer-margin {
	height: var(--full-dvh-without-header-and-footer-margin);
}

/* Width: full vw */
.width-full-vw {
	width: var(--full-vw);
}

.width-full-svw {
	width: var(--full-svw);
}

.width-full-dvw {
	width: var(--full-dvw);
}

/* =========================
	Single Page
   ========================= */
.single-page-container {
	padding-top: calc(var(--header-height) + var(--header-margin));
	background-color: var(--color-background-secondary-active);
	box-shadow: var(--box-shadow);
	border-bottom-left-radius: var(--border-radius-1);
	border-bottom-right-radius: var(--border-radius-1);
}

@media (min-width: 1140px) {
	.single-page-container {
		border-left: var(--border-ui-active);
		border-right: var(--border-ui-active);
	}
}

/* =========================
	Featured Images
   ========================= */

.featured-image {
	flex: 1 1 auto;			/* Takes the remaining space (row or column) */
	min-width: 0;			/* Important in ROW layouts to prevent overflow */
	min-height: 0;			/* Important in COLUMN layouts to allow shrinking/growing */
	align-self: stretch;
}

/* Make the widget’s internal wrapper and the <img> actually fill the space */
.featured-image .elementor-widget-container {
	height: 100%;
	width: 100%;
}

.featured-image img {
	height: 100%;
	width: 100%;
	object-fit: cover;          /* Fills frame, crops */
	object-position: 50% 50%;   /* Centered both axes */
	display: block;
	border-top: var(--border-ui-active);
	border-bottom: var(--border-ui-active);
	box-shadow: var(--box-shadow);
	overflow: hidden;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Courgette';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://telisimple.com/wp-content/uploads/2025/12/Courgette-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Anton';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://telisimple.com/wp-content/uploads/2025/12/Anton-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'PT Serif';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://telisimple.com/wp-content/uploads/2025/12/PTSerif-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'PT Serif';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://telisimple.com/wp-content/uploads/2025/12/PTSerif-Italic.ttf') format('truetype');
}
@font-face {
	font-family: 'PT Serif';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://telisimple.com/wp-content/uploads/2025/12/PTSerif-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'PT Serif';
	font-style: italic;
	font-weight: 700;
	font-display: auto;
	src: url('https://telisimple.com/wp-content/uploads/2025/12/PTSerif-BoldItalic.ttf') format('truetype');
}
/* End Custom Fonts CSS */