/*
* Theme name: Vesna
* Author name: Vesna Agency
*/


/* FLEX CLASSES */
.flex {
  display: flex;
}
.flex.flex--row {
  flex-direction: row;
}
.flex.flex--column {
  flex-direction: column;
}
.flex.items--center {
  justify-content: center;
  align-items: center;
}
.flex.align--start {
  align-items: flex-start;
}
.flex.align--center {
  align-items: center;
}
.flex.align--end {
  align-items: flex-end;
}
.flex.justify--start {
  justify-content: flex-start;
}
.flex.justify--center {
  justify-content: center;
}
.flex.justify--end {
  justify-content: flex-end;
}
.flex.justify--between {
  justify-content: space-between;
}
.flex.flex--wrap {
  flex-wrap: wrap;
}
.flex--grow {
  flex-grow: 1;
}

@media screen and (max-width: 959px) {
  .flex.flex--row--mobile {
    flex-direction: row;
  }
  .flex.flex--row-reverse--mobile {
    flex-direction: row-reverse;
  }
  .flex.flex--column--mobile {
    flex-direction: column;
  }
  .flex.items--center--mobile {
    justify-content: center;
    align-items: center;
  }
  .flex.align--start--mobile {
    align-items: flex-start;
  }
  .flex.align--center--mobile {
    align-items: center;
  }
  .flex.align--end--mobile {
    align-items: flex-end;
  }
  .flex.justify--start--mobile {
    justify-content: flex-start;
  }
  .flex.justify--center--mobile {
    justify-content: center;
  }
  .flex.justify--end--mobile {
    justify-content: flex-end;
  }
  .flex.justify--between--mobile {
    justify-content: space-between;
  }
  .flex.wrap--mobile {
    flex-wrap: wrap;
  }
  .flex.nowrap--mobile {
    flex-wrap: nowrap;
  }
}

/* SPACING */
.gap--4 {
  gap: 4px;
}

.gap--8 {
  gap: 0.5rem;
}

.gap--10 {
  gap: 0.625rem;
}

.gap--12 {
  gap: 0.75rem;
}

.gap--16 {
  gap: 1rem;
}

.gap--20 {
  gap: 1.25rem;
}

.gap--24 {
  gap: 1.5rem;
}

.gap--30 {
  gap: 1.875rem;
}

.gap--32 {
  gap: 2rem;
}

.gap--40 {
  gap: 2.5rem;
}

.gap--48 {
  gap: 3rem;
}

.gap--56 {
  gap: 3.5rem;
}

.gap--60 {
  gap: 3.75rem;
}

.gap--64 {
  gap: 4rem;
}

@media screen and (max-width: 959px) {
  .gap--4--m {
    gap: 4px;
  }

  .gap--8--m {
    gap: 0.5rem;
  }
	
  .gap--10--m {
    gap: 0.625rem;
  }

  .gap--12--m {
    gap: 0.75rem;
  }

  .gap--16--m {
    gap: 1rem;
  }

  .gap--20--m {
    gap: 1.25rem;
  }

  .gap--30--m {
    gap: 2.5rem;
  }

  .gap--32--m {
    gap: 2rem;
  }

  .gap--40--m {
    gap: 2.5rem;
  }

  .gap--48--m {
    gap: 3rem;
  }

  .gap--64--m {
    gap: 4rem;
  }
}

/*MARGIN*/
.mb--8 {
  margin-bottom: 0.5rem;
}

.mb--20 {
  margin-bottom: 1.25rem;
}

.mb--24 {
  margin-bottom: 24px;
}

.mb--32 {
  margin-bottom: 2rem;
}

.mb--36 {
  margin-bottom: 2.25rem;
}

.mb--40 {
  margin-bottom: 40px;
}

.mb--48 {
  margin-bottom: 3rem;
}

.mb--64 {
  margin-bottom: 64px;
}

.mt--40 {
  margin-top: 40px;
}

/* --- MARGINS --- */
/* Top */
.mt--8 {
  margin-top: 0.5rem;
}
.mt--16 {
  margin-top: 1rem;
}
.mt--24 {
  margin-top: 1.5rem;
}
.mt--32 {
  margin-top: 2rem;
}
.mt--40 {
  margin-top: 2.5rem;
}
.mt--48 {
  margin-top: 3rem;
}
.mt--64 {
  margin-top: 4rem;
}

/* Bottom */
.mb--8 {
  margin-bottom: 0.5rem;
}
.mb--16 {
  margin-bottom: 1rem;
}
.mb--24 {
  margin-bottom: 1.5rem;
}
.mb--32 {
  margin-bottom: 2rem;
}
.mb--40 {
  margin-bottom: 2.5rem;
}
.mb--48 {
  margin-bottom: 3rem;
}
.mb--64 {
  margin-bottom: 4rem;
}

/* Left */
.ml--8 {
  margin-left: 0.5rem;
}
.ml--16 {
  margin-left: 1rem;
}
.ml--24 {
  margin-left: 1.5rem;
}
.ml--32 {
  margin-left: 2rem;
}

/* Right */
.mr--8 {
  margin-right: 0.5rem;
}
.mr--16 {
  margin-right: 1rem;
}
.mr--24 {
  margin-right: 1.5rem;
}
.mr--32 {
  margin-right: 2rem;
}

/* --- PADDINGS --- */
/* All sides */
.p--16 {
  padding: 1rem;
}
.p--24 {
  padding: 1.5rem;
}
.p--32 {
  padding: 2rem;
}
.p--48 {
  padding: 3rem;
}

/* Top & Bottom (Vertical) */
.py--16 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py--24 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py--32 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py--48 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py--64 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

/* Left & Right (Horizontal) */
.px--16 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px--24 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px--32 {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* --- MOBILE ADAPTIVE (max-width: 959px) --- */
@media screen and (max-width: 959px) {
  /* Margins Mobile */
  .mt--0--m {
    margin-top: 0 !important;
  }
  .mt--16--m {
    margin-top: 1rem;
  }
  .mt--24--m {
    margin-top: 1.5rem;
  }
  .mt--32--m {
    margin-top: 2rem;
  }

  .mb--16--m {
    margin-bottom: 1rem;
  }
  .mb--24--m {
    margin-bottom: 1.5rem;
  }
  .mb--32--m {
    margin-bottom: 2rem;
  }

  /* Paddings Mobile */
  .p--16--m {
    padding: 1rem;
  }
  .p--24--m {
    padding: 1.5rem;
  }

  .py--24--m {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py--32--m {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .px--16--m {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* HEADINGS */

.heading {
  font-family: var(--heading-font-family);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
}

.heading strong {
  color: var(--green-accent);
  font-weight: 400;
}


.heading-1 {
  font-size: 13.75rem; 
  line-height: 100%;
  letter-spacing: 0;
}

.heading-2 {
  font-size: 6rem;
  line-height: 100%;
  letter-spacing: 0.02em; 
}

.heading-3 {
  font-size: 5rem; 
  line-height: 100%;
  letter-spacing: 0.02em; 
}

.heading-4 {
  font-size: 4.5rem; 
  line-height: 100%;
  letter-spacing: 0.02em; 
}

.heading-5 {
  font-size: 3.75rem; 
  line-height: 110%;
  letter-spacing: 0.05em;
}

.heading-6 {
  font-family: "Bryndan Write", cursive; 
  font-size: 3rem; 
  line-height: 110%;
  letter-spacing: -0.04em; 
}

.heading-7 {
  font-size: 2.25rem; 
  line-height: 100%;
  letter-spacing: 0.02em; 
}

.text {
  font-family: var(--body-font-family);
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  letter-spacing: 0.02em;
}

.text.text--large {
  font-size: 2rem; 
}

.text.text--medium {
  font-size: 1.75rem; 
}

.text.text--small {
  font-size: 1.5rem; 
}

.text--center{
	text-align: center;
}

@media screen and (max-width: 959px) {
  .heading-1, .heading-1{
    font-size: 5.3125rem;
    line-height: 90%;
    letter-spacing: 0;
  }

  .heading-2, .heading-2{
    font-size: 2.25rem; 
    line-height: 100%;
    letter-spacing: 0;
  }

  .heading-3, .heading-3{
    font-size: 2.25rem; 
    line-height: 110%;
    letter-spacing: 0.02em;
  }

  .heading-4, .heading-4 {
    font-size: 2.25rem; 
    line-height: 110%;
    letter-spacing: 0.02em;
  }

  .heading-5, .heading-5 {
    font-size: 2rem; 
    line-height: 100%;
    letter-spacing: -0.01em; 
  }

  .heading-6, .heading-6 {
    font-size: 2rem;
    line-height: 110%;
    letter-spacing: 0.02em;
  }

  .heading-7, .heading-7 {
    font-size: 1.25rem;
    line-height: 110%;
    letter-spacing: 0.02em;
  }

  .text.text--large {
    font-size: 1.25rem; 
    line-height: 110%;
    letter-spacing: 0.02em;
  }
	
	.text.text--medium{
		font-size: 1.25rem; 
	}
	
	.text.text--small {
	  font-size: 1.125rem; 
	}
}

@media screen and (max-width: 959px) {
  br{
    display: none;
  }
}

/* COLORS */
.color--black--50{
  color: var(--black-50);
}
.color--grey{
  color: var(--dark-base);
}
.color--yellow{
  color: var(--yellow-accent);
}
.color--orange{
  color: var(--orange-accent);
}

/* BORDER RADIUS */
.br--20 {
  border-radius: 1.25rem;
}
.br--24 {
  border-radius: 1.5rem;
}
.br--32 {
  border-radius: 2rem;
}
@media screen and (max-width: 959px) {
  .br--16--m {
    border-radius: 1rem;
  }
  .br--20--m {
    border-radius: 1.25rem;
  }
  .br--24--m {
    border-radius: 1.5rem;
  }
  .br--32--m {
    border-radius: 2rem;
  }
}

/* BUTTON */
.btn {
  font-family: var(--body-font-family);
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  letter-spacing: -0.02em;
  font-size: 2rem;
  position: relative;
  text-decoration: none;
	background:none;
	border: none;
	cursor: pointer;
}

.btn.btn--primary{
  font-size: 1.5rem;
  padding: 1.25rem 0rem;
  border-radius: 1.25rem;
  border: 0.125rem solid #FBF8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FF7A00; 
  color: #FBF8F0;
  gap: 0.625rem;
  transition: all .3s linear;
}

.btn.btn--primary:hover{
  background-color: var(--green-accent);
}

.btn.btn--primary.btn--green{
  background-color: #328B40;
}

.btn.btn--primary.btn--green:hover {
    background-color: var(--orange-accent);
}

.btn.btn--primary.btn--white{
  background-color: rgba(251, 248, 240, 1);
	color: rgba(54, 52, 50, 1);
	border: 1px solid rgba(54, 52, 50, 0.2);
}

.btn.btn--primary.btn--white:hover{
	color: #FBF8F0;
	background-color: var(--orange-accent);
}

.btn.btn--text{
  color: var(--black);
}

.btn.btn--text::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.375rem;
  height: 1px;
  width: 100%;
  background-color: var(--black);
  transition: all .3s linear;
}

.btn.btn--text:hover::after{
  width: 0;
}

.btn.btn--text svg{
  fill: var(--black);
  width: 1.625rem;
  height: auto;
}

.btn.btn--ticket{
	display: inline-flex;
	align-items:center;
    transition: all 0.3s ease;
}

.btn.btn--ticket .btn__icon{
	position: relative;
	display:block;
	height: 6.9375rem;
	width: 8.625rem;
	
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
    transition: all 0.3s ease;
	
} 

.btn.btn--ticket .btn__icon .icon-swiper-arrow{
	position: absolute;
	top: 3rem;
	left: 3.5rem;
	width: 1.625rem;
    height: auto;
	transform: translate(-50%);
	fill: #FBF8F0;
	z-index: 1;
}

.btn.btn--ticket .btn__text{
	flex: 1 1 auto;
	height: 6.9375rem;
	border-bottom-right-radius: 1.25rem;
	border-top-right-radius: 1.25rem;
	border: 0.125rem solid #FBF8F0;
	border-left: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 4.3125rem;
	padding-left: 3.3125rem;
	margin-left: -0.0625rem;
	z-index: 1;
    transition: all 0.3s ease;
}

.btn.btn--ticket.btn--ticket--green .btn__text{
	background-color: #328B40;
	color: #FBF8F0;
}

.btn.btn--ticket.btn--ticket--orange .btn__text{
	background-color: #FF7A00;
	color: #FBF8F0;
}
.btn.btn--ticket.btn--ticket--orange .btn__icon .icon-swiper-arrow,
.btn.btn--ticket.btn--ticket--orange .btn__icon circle,
.btn.btn--ticket.btn--ticket--green .btn__icon .icon-swiper-arrow,
.btn.btn--ticket.btn--ticket--green .btn__icon circle{
	fill: #FBF8F0;
}
.btn.btn--ticket.btn--ticket--white .btn__text{
	background-color: #FBF8F0;
	color: #000;
}
.btn.btn--ticket.btn--ticket--white .btn__icon .icon-swiper-arrow,
.btn.btn--ticket.btn--ticket--white .btn__icon circle{
	fill:#000;
	transition: all .3s linear;
}

.btn.btn--ticket .btn__icon-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all 0.3s ease;
    margin-left: 0.125rem
}

.btn--ticket.btn--ticket--orange .btn__icon-svg{
	fill: #FF7A00;
}

.btn--ticket.btn--ticket--green .btn__icon-svg{
	fill: #328B40;
}

.btn--ticket.btn--ticket--white .btn__icon-svg{
	fill: #FBF8F0;
}

.btn.btn--ticket .btn__icon-svg .svg-border-path{
    fill: #FBF8F0;
}

.btn--ticket.btn--ticket--orange:hover .btn__icon-svg{
    fill: #328B40;
}

.btn--ticket.btn--ticket--green:hover .btn__icon-svg{
    fill: #FF7A00;
}

.btn--ticket.btn--ticket--white:hover .btn__icon-svg{
    fill: #328B40;
}

.btn.btn--ticket.btn--ticket--white:hover .btn__icon .icon-swiper-arrow,
.btn.btn--ticket.btn--ticket--white:hover .btn__icon circle{
	fill: #FBF8F0;
}


.btn.btn--ticket .btn__arrow {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
}

.btn--ticket.btn--ticket--orange:hover .btn__text{
    background-color: #328B40;
}

.btn--ticket.btn--ticket--green:hover .btn__text{
    background-color: #FF7A00;
}

.btn--ticket.btn--ticket--white:hover .btn__text{
    background-color: #328B40;
	color: #FBF8F0;
}
@media screen and (max-width: 959px) {
  .btn {
    font-size: 1.5rem;
  }
	
  .btn.btn--primary{
	  font-size: 1.125rem;
	}

  .btn.btn--text{
    color: var(--black);
  }

  .btn.btn--text::after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.375rem;
    height: 1px;
    width: 100%;
    background-color: var(--black);
    transition: all .3s linear;
  }

  .btn.btn--text:hover::after{
    width: 0;
  }

  .btn.btn--text svg{
    fill: var(--black);
    width: 1.625rem;
    height: auto;
  }

  .btn.btn--ticket{
    display: inline-flex;
    align-items:center;
  }

  .btn.btn--ticket .btn__icon{
    height: 4.5rem;
    width: 5.594375rem;
	  margin-left: 0px;
	  flex-shrink: 0;
  } 
	
	.btn.btn--ticket .btn__icon-svg {
		margin-left: 0px;
	}

  .btn.btn--ticket .btn__icon .icon-swiper-arrow{
    top: 1.875rem;
    left: 2.375rem;
    width: 1.1875rem;
  }

  .btn.btn--ticket .btn__text{
    height: 4.5rem;
    border-bottom-right-radius: 0.9375rem;
    border-top-right-radius: 0.9375rem;
    border-width: 0.09375rem;
    border-left: none;
	margin-left: -0.09375rem;
    padding-right: 1.6875rem;
    padding-left: 1.6875rem;
	text-align: center;
  }
}

/* ICON */
.icon {
  display: flex;
  width: 4.5rem;
  height: 4.5rem;
  justify-content: center;
  align-items: center;
  background-color: var(--light-green);
  border-radius: 100%;
  flex-shrink: 0;
}

.icon img,
.icon svg {
  width: 2.25rem;
  height: 2.25rem;
}

@media screen and (max-width: 959px) {
  .icon {
    width: 2.75rem;
    height: 2.75rem;
  }

  .icon img,
  .icon svg {
    width: 1.203125rem;
    height: 1.203125rem;
  }

  .icon.icon--large {
    width: 4rem;
    height: 4rem;
  }

  .icon.icon--large img,
  .icon.icon--large svg {
    width: 2rem;
    height: 2rem;
  }
}

/* MEDIA */
.media {
  position: relative;
  overflow: hidden;
}

.media img,
.media video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* FORM */
form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

form .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
  margin-top: 0.5rem;
}

form input:not([type="submit"]):not([type="button"]),
select{
  width: 100%;
  color: rgba(255, 255, 255, 1);
  font-family: var(--body-font-family);
  background-color: transparent;
  font-size: 2.25rem;
  font-style: normal;
  font-weight: 600;
  border: none;
  outline: none;
}

select option{
	color: black;
	font-size: 1rem;
}

form input:not([type="submit"]):not([type="button"])::placeholder{
	font-size: 2.25rem;
}

form .form__terms {
  font-weight: 400;
  color: rgba(255, 255, 255, 0.8);
}

form .form__terms a {
  font-weight: 700;
  color: var(--white);
}

@media screen and (max-width: 959px) {
  form .form__bottom p {
    width: 100%;
    text-align: center;
  }

  form .form__bottom input[type="submit"] {
    width: 100%;
  }
	
	form input:not([type="submit"]):not([type="button"]),
	select{
	  width: 100%;
	  background-color: #F8F7F6;
	  color: #363432;
	  font-size: 1.25rem;
	  border-radius: 1.25rem;
	  font-style: normal;
	  font-weight: 600;
	  border: none;
	  outline: none;
	  min-height: 4.9375rem;
		padding-left: 1.875rem;
		padding-right: 1.875rem;
	}
	
	select{
		color: rgba(54, 54, 50, 0.5);
	}
	
	form input:not([type="submit"]):not([type="button"])::placeholder{
		color: rgba(54, 54, 50, 0.5);
		font-size: 1.25rem;
	}
}

.wpcf7 {
  position: relative;
}

.wpcf7 .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
  color: white;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  display: none;
}

.wpcf7 form.invalid input:not([type="submit"]):not([type="button"]) {
  border-color: #ff0000;
}

section .wpcf7 form.sent .wpcf7-response-output {
  margin-left: 0px;
  margin-right: 0px;
  background-color: var(--green);
  border-color: var(--green);
  border-radius: 1rem;
  padding: 1rem;
}

/* SWIPER */
.swiper {
  width: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
}
.swiper .swiper__wrapper {
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: row;
}
.swiper .swiper__slide {
  flex-shrink: 0;
}
.swiper .swiper__button-container{
  background-color: #f4f1ea;
  position: absolute;
  z-index: 10;
  padding-top: 0.625rem;
}
.swiper .swiper__button-container:has(.swiper__button--prev){
  padding-right: 0.625rem;
  border-top-right-radius: 1.25rem;
  border-top-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.swiper .swiper__button-container:has(.swiper__button--next){
  padding-left: 0.625rem;
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.swiper .swiper__button {
  width: 5rem;
  height: 5rem;
  background: var(--green-accent);
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s ease;
}
.swiper .swiper__button svg{
  width: 1.625rem;
  height: auto;
  fill: var(--white);
}
.swiper .swiper__button.swiper__button--prev svg{
  transform: rotate(180deg);
}

.swiper .swiper__progressbar{
  margin-top: 1.25rem;
  position: relative;
  width: 100%;
  height: 0.125rem;
  background-color: rgba(0, 0, 0, 0.3);
}
.swiper .swiper__progressbar .swiper-pagination-progressbar-fill{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 0.125rem;
  width: 100%;
  transform-origin: left top;
  background-color: rgba(0, 0, 0, 1);
}
@media screen and (max-width: 959px) {
  .swiper .swiper__progressbar{
    max-width: 18.75rem;
  }
}

/* BREADCRUMBS */
.breadcrumb {
    display: flex;
    justify-content: center;
    align-items: center; 
    list-style: none;
    padding: 0.9375rem 1.25rem;
	background-color: rgba(54, 52, 50, 0.1);
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);
    border-radius: 0.625rem;
    width: fit-content;
    margin: 0 auto;
}
.white-breadcrumbs .breadcrumb{
	background: rgba(255, 255, 255, 0.2);
}
.breadcrumb-item{
    font-size: 1.5rem;
    opacity: 1;
}
.white-breadcrumbs .breadcrumb-item{
	opacity: 0.65;
}
.breadcrumb li a{
    list-style: none;
    text-decoration: none;
    color: var(--dark-base); 
}
.white-breadcrumbs .breadcrumb li a{
	color: var(--white); 
}
.breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    padding-right: 1rem;
    padding-left: 1rem;
    color: var(--orange-accent); 
    font-weight: bold;
}
.breadcrumb-item.active{
	opacity: 0.5;
}
.white-breadcrumbs .breadcrumb-item.active {
    opacity: 0.8;
    color: var(--white); 
}

@media screen and (max-width: 959px){
	.breadcrumb-item{
		font-size: 1rem;
	}
    
    .burger-icon.is-active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .burger-icon.is-active span:nth-child(2) {
        opacity: 0;
    }
    .burger-icon.is-active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
    
    .burger-icon span {
        transition: all 0.3s ease-in-out;
    }
    
    .header__glass-btn {
        transition: background 0.3s ease;
    }
}
/*Popup*/
.popup {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;

  width: 100%;
  min-height: 150vh;
  z-index: -1;

  opacity: 0;
  visibility: hidden;


  transition: all 0.3s linear;
  overflow-y: hidden;
}
.popup.show {
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.burger-menu.show{
	z-index: 13;
}

.popup .popup__container {
    background-color: rgba(46, 77, 32, 0.5); 
    backdrop-filter: blur(15px);
    display: flex;
    flex-direction: column;
    padding: 1.75rem;
    align-items: end;
    justify-content: center;
    width: 100%;
    height: 100%;
    height: 150vh;
}

.popup__body {
    width: 100%;
    max-width: 15rem;
    height: 100%;
    position: relative;
    background: transparent;
}

.popup__menu-card {
    background: #FBF8F0;
    border-radius: 1.875rem;
    width: 100%;
    padding: 2.1875rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
    margin-top: 7.5rem; 
}

.burger__menu-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.6875rem 0;
    text-align: center;
}
.burger__menu-list ul{
    list-style: none;
}
.burger__menu-list li {
    margin-bottom: 1.875rem;
}

.burger__menu-list li a {
    font-size: 1.25rem;
    color: #2D2D2D;
    text-decoration: none;
    border-bottom: 3px solid #D9D9D9; 
    padding-bottom: 0.25rem;
    display: inline-block;
  transition: all .3s linear;
}
.burger__menu-list li a:hover{
    color: var(--yellow-accent);
}
.burger-menu .btn.btn--primary{
    padding: 1.125rem 1.625rem;
    text-wrap: nowrap;
}

/* HEADER */
.header{
	position: fixed;
	top: 2.5rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 15;
	gap: 0.625rem;
}

.header .header__content{
	padding: 0.6875rem 2.1875rem;
	border-radius: 1.25rem;
	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(0.25rem);
	transition: all .3s linear;
}

.header .header__content ul{
	list-style: none;
	gap: 2.1875rem;
}

.header .header__content ul a{
	color: #fff;
	text-decoration: none;
    transition: all .3s linear;
}
.header .header__content ul a:hover{
    color: var(--yellow-accent);
}

.header .header__content img{
	height: 3.75rem;
	width: auto;
}

.header .header__btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 1.25rem;
	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(0.25rem);
	padding: 0 2.1875rem;
	gap: 0.625rem;
	text-decoration: none;
	color: #fff;
	transition: all .3s linear;
}
.header .header__btn:hover
{
    color:var(--yellow-accent);
}
.header.header--white .header__content,
.header.header--white .header__btn{
	background-color: rgba(54, 52, 50, 0.4);
	backdrop-filter: blur(0.5rem);
}

.header .header__btn svg{
	width: 1.625rem;
	height: auto;
	fill: #fff;
}

.header .header__btn:hover svg{
    fill: var(--yellow-accent);
}
/* FOOTER */
.site-footer {
    background-color: var(--orange-accent); 
    color: var(--white);
    padding: 3.125rem 5rem 2.8125rem 5rem;
    font-family: var(--base-font);
}

.footer-container {
    margin: 0 auto;
}

.footer-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 3.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    margin-bottom: 1.25rem;
}

.footer-col {
    display: flex;
    flex-direction: column;
	align-items: flex-start;
}

.footer-col:last-of-type{
	align-items: flex-end;
}

.footer-slogan {
	margin-top: 1.6875rem;
    max-width: 40rem;
}

.footer-slogan img {
    width: 100%;
    height: auto;
}


.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    margin-bottom: 1.25rem;
}

.footer-menu a{
    color: var(--white);
    text-decoration: none;
    font-size: 2rem;
    opacity: 0.7;
	transition: all .3s linear;
}
.footer-menu a:hover{
    opacity: 1;
}
.footer-contacts a{
  text-align: right;
  opacity: 1;
  font-size: 2rem;
  text-decoration: none;
  color: var(--white);
  transition: all .3s linear;
}

.footer-phone {
  margin-bottom: 1.25rem;
}

.footer-socials a{
    margin-top: 1.25rem;
    display: flex;
    gap: 1.25rem;
    justify-content: flex-end;
    text-decoration: none;
    color: var(--white);
    text-wrap: none;
}
.footer-socials {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    text-wrap: none;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    font-size: 2rem;
    opacity: 0.7;
}

.footer-bottom a {
    color: var(--white);
    text-decoration: underline;
}
.footer-logo{
	background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 1rem;
}
.footer-logo img {
	width: auto;
	height: 4.0625rem;
}
@media (max-width: 768px) {
    .site-footer {
        padding: 2.5rem 1.25rem 6.375rem 1.25rem;
    }

    .footer-main {
        display: grid; 
        grid-template-columns: 1fr 1fr; 
        grid-template-areas: 
            "branding nav"
            "contacts nav"; 
        gap: 1.25rem;
        padding-bottom: 0;
        border-bottom: none;
        align-items: start;
    }

    .footer-branding {
        grid-area: branding;
        margin-bottom: 0;
    }
	
	.footer-logo{
		 border: 1px solid var(--white);
        border-radius: 1.25rem;
        padding: 0.875rem;
	}
	.footer-logo img {
        width: 4.125rem;
        height: auto;
       
    }

    .footer-nav {
        grid-area: nav;
        text-align: right;
    }

    .footer-menu li {
        margin-bottom: 1.25rem;
    }

    .footer-menu a {
        font-size: 1.25rem;
    }

    .footer-contacts {
        grid-area: contacts;
        text-align: left; 
    }

    .footer-contacts a {
        font-size: 1.25rem;
        text-align: left;
        display: block;
    }

    .footer-socials {
        justify-content: flex-start; 
        gap: 1.25rem;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        font-size: 1rem;
        padding-top: 1.25rem;
        padding-bottom: 1.5625rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    .footer-slogan{
        margin-bottom: 2.625rem;
    }
	
	.footer-col:last-of-type{
		align-items: flex-start;
	}
}

@media screen and (min-width: 960px) {
  .hide-desktop {
    display: none !important;
  }
}

@media screen and (max-width: 959px) {
  .hide-mobile {
    display: none !important;
  }
}

@media screen and (max-width: 959px){
	.mobile-bar{
		position: fixed;
		bottom: 0px;
		left: 0px;
		right: 0px;
		background-color: #FBF8F0;
		padding: 1.1875rem 2.6875rem 1.4375rem;
		border-top: 0.0625rem solid rgba(54, 52, 50, 0.3);
		z-index: 10;
	}

	.mobile-bar .bar__action{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-size: 1rem;
		color: #202020;
		text-decoration: none;
		gap: 0.4375rem;
	}

	.mobile-bar .bar__action .action__icon{
		font-size: 2rem;
		line-height: 2rem;
	}
	.header__btn{
	    display: none !important;
	}
	.touer-btn svg{
	    fill: #fff;
	}
}


@media (max-width: 959px) {
    .header {
        position: absolute;
        transform: none;
        left: 0;
        justify-content: space-between !important;
    }
    
    .header__logo-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        width: 5rem; 
        height: 5rem;
        
        background: rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        border-radius: 1.25rem; 
        border: 1px solid #B9B8B8;
        transition: all 0.3s ease;
    }
    
    .header__logo {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    
    .header__burger {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.8rem 1.2rem;
        background: rgba(255, 255, 255, 0.25);
        backdrop-filter: blur(10px);
        border-radius: 1.25rem;
        border: none;
        cursor: pointer;
        color: #fff;
        min-width: 100px;
    }
    
    .header__burger-text {
        font-size: 1.2rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }
    
    
    .header__burger-icon span {
        display: block;
        width: 100%;
        height: 1px;
        background-color: #fff;
    }
    
    .header__logo-glass,
    .header__glass-btn {
        background: rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        border-radius: 0.625rem; 
        border: 1px solid #B9B8B8;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
    }
    
    .header__mobile-controls {
        display: flex;
        flex-direction: column;
        gap: 0.125rem;
    }
    
    .header__glass-btn--text {
        height: 1.75rem;
        color: #fff;
        font-size: 1rem;
        text-decoration: none;
    }
    
    
    .header__glass-btn--icon {
        height: 3.0625rem;
        width: 100%;
        min-width: 5.0625rem;
    }
    
    .header__logo-glass {
        width: 85px;
        height: 85px;
        padding: 10px;
    }
    
    .header__logo-glass img {
        width: 100%;
        height: auto;
    }
    
    .btn-tours{
        padding: 0 1rem;
        height: 4.83625rem;
    }
    
    .burger-icon {
        width: 30px;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    
    .burger-icon span {
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
        border-radius: 2px;
    }
    
    
    .header.header--white .header__logo-glass,
    .header.header--white .header__glass-btn,
    .header.header--white .header__logo-wrapper{
    	background-color: rgba(54, 52, 50, 0.4);
    }
    
    .header .header__glass-btn--text a{
    	transition: all .3s linear;
    }
}
/*TABS*/
.day-number {
  font-size: 10rem;
  font-weight: bold;
}

.day-label {
  font-size: 2rem;
}

.camp-vertical-tabs {
  display: flex;
  align-items: flex-start;
  gap: 7.8125rem;
  margin: 9.375rem 0;
}

.camp-tabs-nav-vertical {
  display: flex;
  flex-direction: column; 
  gap: 3.125rem;
  flex: 0 0 35rem; 
}

.camp-tab-trigger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 3rem;
  color: rgb(0,0,0, 0.2);
  margin-left: 14.875rem;
  width: 20.3125rem;
  height: 20.3125rem;
  cursor: pointer;
  transition: all 0.4s ease;
}

.camp-tab-trigger.is-active {
  background: var(--green-accent); 
  color: var(--white);
}

.camp-tab-content {
  display: none;
}

.camp-tab-content.is-active {
  display: block;
  animation: slideIn 0.4s ease forwards;
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

.camp-itinerary-container {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.camp-day-row {
    display: flex;
    align-items: flex-start; 
    gap: 7.8125rem;
    position: relative;
}

.camp-day-left {
    flex: 0 0 35rem; 
    position: sticky;
    top: 5rem; 
    height: fit-content;
}

.camp-day-right {
    flex: 1;
    min-width: 0;
}

.mobile-day-header {
    display: none;
}

@media (max-width: 959px) {
    .camp-vertical-tabs {
        display: block; 
        margin: 2.125rem 0;
    }

    .camp-tabs-nav-vertical {
        display: none !important;
    }

    .camp-tab-content {
        display: block !important; 
        opacity: 1 !important;
        visibility: visible !important;
    }

    .mobile-day-header .day-badge {
        background: var(--green-accent);
        color: var(--white);
        width: 5.625rem; 
        height: 5.625rem;
        border-radius: 1.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .mobile-day-header .day-number {
        font-size: 2.75rem;
    }

    .mobile-day-header .day-label {
        font-size: 1.125rem;
    }

    .camp-tabs-content-vertical {
        padding-right: 0;
        width: 100%;
    }
    .mobile-bar.touer-btn a{
        width: 100%;
    }
}
.camp-itinerary-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.camp-day-row:not(:last-child) .camp-day-right {
    border-bottom: 2px solid rgba(0, 0, 0, 0.2);
    padding-bottom: 6rem;
}

@media (min-width: 960px) {
    .camp-day-row {
        display: flex;
        align-items: flex-start;
        gap: 7.8125rem;
        margin-bottom: 10rem;
    }

    .camp-day-left {
        flex: 0 0 35rem; 
        position: sticky;
        top: 5rem;
        height: fit-content;
        display: flex;
        justify-content: flex-end;
    }

    .camp-tab-trigger.is-active {
        background: var(--green-accent);
        color: white;
    }

    .camp-day-right {
      flex: 1;
      min-width: 0;
      margin-right: 5rem;
    }

    .mobile-day-header {
        display: none;
    }
}

@media (max-width: 959px) {
    .camp-day-row {
        display: block;
        margin-bottom: 3rem;
    }
	
	.camp-day-row .camp-day-right{
		margin-left: 1.875rem;
    	margin-right: 1.875rem;
	}
	
	.camp-day-row:not(:last-child) .camp-day-right{
		border-width: 1px;
	}

    .camp-day-left {
        display: none;
    }

    .mobile-day-header {
        display: flex;
        margin-bottom: 1.5rem;
    }
	
	.camp-day-row:not(:last-child) .camp-day-right {
        padding-bottom: 0;
    }
}