/*START HEADER*/

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
		font-family: 'Roboto Flex', sans-serif;
	box-shadow: 0px 4px 13px 0px #00000080;
}

.modal-content {
    background: #F8F8F8;
    width: 70%;
		max-width: 1200px;
    margin: 5% auto;
    padding: 3rem;
    position: relative;
		overflow-y: scroll;
		max-height: 70vh;
}

.reservation-step {
    display: none;
}

.reservation-step.active {
    display: block;
}

.modal-content h2 {
font-size: 55px;
font-weight: 700;
line-height: 64.45px;
text-align: center;
	color: #474747;
	margin: 0 0 1rem 0;
}

.modal-content h3 {
font-size: 21px;
font-weight: 700;
line-height: 24.61px;
text-align: center;
	color: #474747;
}

.step-icons {
	margin: 2rem;
	display: flex;
	justify-content: center;
	gap: 3rem;
}

.step-icons svg {
    border: 3px solid transparent;
    border-radius: 50%;
    padding: 5px;
    transition: border-color 0.3s ease;
}

.step-icons svg.active {
    border-color: #FFA434;
}

.close-modal {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 30px;
	height: 30px;
	cursor: pointer;
	transition: .3s;
}

.close-modal svg {
	transition: .3s;
}

.close-modal:hover svg {
	transform: scale(1.1);
	transition: .3s;
}

/* END HEADER */

/* START STEP 1 */

#step-1 {
	text-align: right !important;
}

#step-1 h3 {
	font-size: 21px;
font-weight: 700;
line-height: 24.61px;
text-align: center;
	color: #474747;
}

#step-1 button:not(#next-step-1) {
	background: none;
	box-shadow: none;
}

#step-1 .participants-wrapper {
	display: flex;
	justify-content: center;
	gap: 3rem;
}

#step-1 .participants-buttons {
	display: flex;
	align-items: center;
}

#step-1 .participants button {
	padding: .5rem;
}

#step-1 .participants span {
font-size: 21px;
font-weight: 700;
line-height: 24.61px;
text-align: center;
}

#step-1 label span {
font-size: 13px !important;
font-weight: 700 !important;
line-height: 15.23px !important;
}

#step-1 label {
	display: flex;
	flex-direction: column;
	align-items: center;
font-size: 21px;
font-weight: 700;
line-height: 24.61px;
color: #474747;
}

#step-1 .modal-separator {
	width: 450px;
	display: flex;
	justify-content: center;
	border-top: 3px solid #FFA434;
	margin: 2rem auto;
}

#step-1 #next-step-1 {
width: 200px;
border-radius: 0;
background: #FFA434;
font-size: 34px;
font-weight: 600;
padding: .5rem;
margin-top: 2rem;
}

#step-1 #participants-summary {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

#step-1 #total-summary {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
}

#step-1 #total-summary p {
font-size: 34px;
font-weight: 700;
line-height: 39.84px;
	display: flex;
	align-items: center;
	gap: 5px;
}

#step-1 #participants-list {
	display: flex;
	align-items: center;
	flex-direction: column;
}

#step-1 .participant-item {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8rem;
	min-width: 600px;
}

#step-1 .participant-item span {
font-size: 21px;
font-weight: 700;
line-height: 24.61px;
	color: #474747;
}

#step-1 .remove-participant {
	margin-left: 3rem;
}

#step-1 #total-summary-price {
	margin-top: 3rem;
	position: relative;
}

#step-1 #total-summary-price:before {
	content: '';
	border-top: 3px solid #FFA434;
	width: 350px;
	position: absolute;
	top: -1rem;
	left: 50%;
	transform: translate(-50%);
}

#step-1 #total-summary-price p {
	margin: 0;
	display: flex;
	justify-content: center;
	gap: 3rem;
	font-size: 21px;
font-weight: 700;
line-height: 24.61px;
	color: #474747;
}



/* END STEP 1 */

/* START STEP 2 */

#step-2 .control-buttons {
	display: flex;
	justify-content: space-between;
}

#step-2 #next-step-2 {
width: 200px;
border-radius: 0;
background: #FFA434;
font-size: 34px;
font-weight: 600;
padding: .5rem;
margin-top: 2rem;
}

#step-2 #back-step-2 {
width: 200px;
border-radius: 0;
background: #FFA434;
font-size: 34px;
font-weight: 600;
padding: .5rem;
margin-top: 2rem;
}

#step-1 #next-step-1,
#step-2 #next-step-2,
#step-2 #back-step-2 {
	transition: .3s;
}

#step-1 #next-step-1:hover,
#step-2 #next-step-2:hover,
#step-2 #back-step-2:hover {
	opacity: .7;
	transition: .3s;
}

#step-2 .participant-form {
	padding: 0 5rem;
	margin: 0;
	max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}


#step-2 .form-separator {
	border-bottom: 3px solid #FFA434;
	width: 500px;
	height: 3px;
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	margin: 0.5rem 0 3rem 0;
}

#step-2 .form-group.form-group-half {
	display: flex;
	gap: 20px;
}

#step-2 .form-group {
	margin: 1rem 0;
}

#step-2 .form-group.form-group-half div {
	width: 100%;
}

#step-2 .form-group input {
	box-shadow: 0px 0px 21px 0px #00000011;
}

#step-2 .form-group label {
font-size: 13px;
font-weight: 700;
line-height: 24.61px;
}

#step-2 .participant-form select {
	padding: 5px 0 8px 15px;
}

#step-2 .participant-form.show {
    max-height: 500px;
}

#step-2 .form-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 5rem;
	margin-top: 3rem;
	cursor: pointer;
}

#step-2 .form-header svg {
	transition: .3s;
}

#step-2 .form-header:hover svg {
	transform: translateX(10px);
	transition: .3s;
}

#step-2 #participants-data:has(.expanded) .form-header svg {
	transform: rotate(90deg);
}

#step-2 #participants-data:has(.expanded) .form-header:hover svg {
	transform: translateY(10px) rotate(90deg);
}

#step-2 input:invalid,
#step-2 select:invalid,
#step-2 textarea:invalid {
  border: 2px solid red;
}

#step-2 input:valid,
#step-2 select:valid,
#step-2 textarea:valid {
  border: 2px solid green;
}



/* END STEP 2 */




