/* Responsive iframe styling */
.responsive-iframe {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    border: none;
    z-index: 9999;
}

/* Show iframe on small screens, hide custom form */
@media (max-width: 1699px) {
    .responsive-iframe {
        display: block;
    }
    .custom-form-container {
        display: none !important;
    }
}

/* Hide iframe on large screens, show custom form */
@media (min-width: 1700px) {
    .responsive-iframe {
        display: none;
    }
    .custom-form-container {
        display: block;
    }
}

@font-face {
	font-family: 'TWKLausanne';
	src: url('./fonts/TWKLausanne-300.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'TWKLausanne';
	src: url('./fonts/TWKLausanne-500.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

html,
body,
.alpineContainer,
.alpinePage {
	height: 100%;
	margin: 0;
	padding: 0;
}

html, body {
	overflow-x: hidden;
	min-height: 100vh;
}

*{
	font-family: 'TWKLausanne', sans-serif;
	color: white;
	box-sizing: border-box;
}

.flex {
	display: flex;
	gap: 1rem;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'TWKLausanne', sans-serif;
	margin: 0 0 1rem 0;
}


.container {
	height: 100vh;
	display: flex;
	position: relative;
	overflow: hidden;
}

.left {
	width: 50%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.right {
	background-image: url('right.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 100%;
	width: 50%;
	position: relative;
}

.header {
	background-image: url('header.jpg');
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	height: 40%;
	width: 100%;
}

.bottom {
	background-image: url('bottom.jpg');
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	height: 60%;
	width: 40%;
	position: relative;
}

.center {
	background-image: url('center.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 0;
	right: 30%;
	height: 60%;
	width: 50%;
	z-index: 10;
	overflow: scroll;
}
.page2 .center {
    height: 34%;
    bottom: 26%;
}

.center-content {
	position: relative;
	height: 100%;
}
    .diamond {
        position: absolute;
        top: 100px;
		right: 200px;
		z-index: 15;
        background-image: url('diamond.png');
        background-size: cover;
        position: absolute;
        width: 600px;
        height: 600px;
    }
    .page2 .diamond {
        top: 250px;
        right: 400px;
        width: 300px;
        height: 300px;
    }

/* Content containers */
.left-content,
.form-container,
.workshop-descriptions,
.dinner-container,
.thankyou-container {
    position: relative;
    z-index: 1;
    padding: 2rem;
	margin-right: 5rem;
}

.bottom .left-content {
    padding: 3rem 2rem;
}

.center .center-content {
    height: 100%;
    padding: 2rem;
}

/* Form inputs */
.textinput {
    border: none;
    background-color: #94fe98;
    border-radius: 0;
    width: 100%;
    font-family: 'TWKLausanne', sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    padding: 0.75rem;
    margin: 0.5rem 0;
    color: white;
}

.textinput::placeholder {
    color: white;
    opacity: 1;
}

.textinput-variatie {
    background-color: #64e281;
}

/* Choice/Workshop selections */
.choice-container {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 2rem;
}

.choice-item {
    background-color: #94fe98;
    padding: 1.5rem;
    min-width: 150px;
	z-index: 16;
}

.choice-title {
    font-weight: 700;
    color: #003905;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.choice-block {
    padding: 0.5rem 0;
}

.choice-option {
    margin: 0.5rem 0;
}

.choice-input {
    display: none;
}

.choice-label {
    font-weight: 400;
    color: #003905;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.choice-label span {
    color: #003905;
}

.choice-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #003905;
    display: inline-block;
    cursor: pointer;
    flex-shrink: 0;
}

.choice-input:checked + .choice-label .choice-checkbox,
.choice-label.is-checked .choice-checkbox {
    background-color: #4cde42;
    border-color: #4cde42;
}

.checkbox {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    margin: 0.5rem 0;
}

/* Workshop container */
.workshow-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: auto;
    display: flex;
    gap: 2rem;
    flex-direction: row;
    padding: 2rem;
    background-color: #94fe98;
    overflow-y: auto;
    max-height: 60%;
	z-index: 20;
}

.workshop-item {
    flex: 1;
    min-width: 200px;
}

.workshop-item.open .workshop-content {
    display: block;
}

.workshop-title {
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    color: #0b400c;
    cursor: pointer;
}

.workshop-title span {
    color: #0b400c;
}

.workshop-subtitle {
    font-size: 22px;
    line-height: 22px;
    font-weight: 300;
    color: #0b400c;
}

.workshop-content {
    display: none;
    font-weight: 300;
    font-size: 0.9rem;
    color: #0b400c;
    margin-top: 0.5rem;
}

.workshop-content p {
    color: #0b400c;
}

.title-side {
    color: #0b400c;
    font-size: 0.85rem;
    font-style: italic;
}

/* Language switcher & navigation */
.bottom-bar {
    position: fixed;
    bottom: 40px;
    right: 40px;
    display: flex;
    align-items: center;
    gap: 2rem;
    z-index: 100;
}

.bottom-bar.compact {
    bottom: 20px;
    right: 20px;
    gap: 1rem;
}

.lang-container {
    font-size: 28px;
    font-weight: 700;
    gap: 0.5rem;
}

.bottom-bar.compact .lang-container {
    font-size: 20px;
}

.lang-container span {
    cursor: pointer;
    opacity: 0.6;
}

.lang-container span.active {
    opacity: 1;
}

.buttonNext {
    cursor: pointer;
    background-image: url("next.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 100px;
    height: 75px;
}

.bottom-bar.compact .buttonNext {
    width: 60px;
    height: 45px;
}

/* Alerts/Errors */
.alert {
    position: relative;
    background-color: #f44336;
    padding: 1rem;
    margin: 1rem 0;
    z-index: 13;
}

.alert p {
    margin: 0.25rem 0;
    color: white;
}

.errors {
    background-color: #f44336;
    z-index: 13;
}

/* Star icon */
.star {
    width: 1.5rem;
    height: 1.5rem;
    display: inline-block;
    vertical-align: middle;
}

h2 {
    font-size: 2.5rem;
    line-height: 2.8rem;
    font-weight: 700;
}

h3 {
    font-size: 2rem;
    line-height: 2.3rem;
}

p {
    font-size: 1.1rem;
    line-height: 1.6;	
	margin: 0 0 1rem 0;

}