@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap);

/* temp hide */

.bg-slide-section{
	display:none !important;
}

/* Hero Section Styles */
.hero {
    background: var(--wpr-bg-7ee08966-4542-4869-9a2f-4323f399b374) no-repeat;
    background-size: 200%; /* Zoomed in for panning space */
    background-position: 100% 100%; /* Start at bottom-right */
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    animation: panLeftUp 10s linear forwards;
  }
  
  @keyframes panLeftUp {
    from {
      background-position: 100% 100%; /* Start: right-bottom */
    }
    to {
      background-position: 0% 0%;     /* End: left-top */
    }
  }
  
  
  .hero-overlay {
    /* background: linear-gradient(90deg, rgba(255, 45, 171, 0.325), rgba(106, 0, 255, 0.303)); */
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
  }
  
  .hero-title-image {
    max-width: 1000px;
    margin: 0 auto;
    display: block;
  }
  
  .hero-subtitle {
    display: flex;
    flex-direction: row;
    gap: 9px;
    justify-content: center;
    align-items: end;
    ;
  }

  .hero-subtitle p {
    font-weight: 500;
    font-size: 16px;
    line-height: 80%;
    letter-spacing: 1%;
    text-align: right;
    vertical-align: bottom;
    text-transform: uppercase;  
  }

  
  .cadogan-logo{
    display: block;
    height: 76px;
    width: 100px;
  }
  .hero-events-logo {
    position: absolute;
    right: 30px;
    bottom: 30px;
  }

  @media (max-width:767px) {
    .hero-events-logo {
    position: absolute;
    bottom: 20px;
    right:auto;
    max-width: 80px;
    height: auto;
    }

  }

  

  /* section 2 */

  /* Announcement Strip Section */

.announcement-strip {
   background: linear-gradient(
      90deg,
      #FF239C 0%,     /* deep magenta */
      #C53DAB 10%,    /* rich pink */
      #ea4c98 25%,    /* soft red-pink */
      #8A56AC 40%,    /* muted lavender */
      #b6b2d2 55%,    /* pale purple-gray */
      #6ac6ca 70%,    /* teal blend */
      #33d0ba 85%,    /* mint-teal */
      #1ec4a9 100%    /* soft turquoise */
    );
  
    background-size: 200% 200%;
    background-position: 100% 100%;
    animation: panLeftUp 10s linear forwards;
  
    padding-top: 45px;
    padding-bottom: 45px;
	      position: relative;

  }
  
  
  @keyframes panLeftUp {
  from {
    background-position: 100% 100%;
  }
  to {
    background-position: 0% 0%;
  }
}

  
  /* Text styles */
  .announcement-text {
    color: #ffffff;
	  font-weight:300 !important;
  }
  
  .tickets-note{
    font-weight: 400;
    font-size: 18px;
    line-height: 80%;
    letter-spacing: 1%;
    text-align: center;
    vertical-align: bottom;

  }
  
  


  /*  */

  /* === BACKGROUNDS === */
  .bg-gradient-pink {
    background: var(--wpr-bg-a361ee7d-8f8c-4518-a3cc-b58e0dac0c3a) no-repeat center top;
    background-size: cover;
  }
  

  .bg-navy {
    background-color: #0A0446;
  }

  /* === SPACING === */
 
  /* === TYPOGRAPHY BLOCK === */
  .text-block {
    font-weight: 600;
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: #FF91BF;
    border-radius: 8px;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 300px;
    padding-right: 300px;
  }
  
.text-block p {
  margin-bottom: 1.0em !important;

}




  /* fourth section  */

  .section-divider-image {
    height: 50px;
    background: var(--wpr-bg-7aa0cf4b-c5c9-49a0-bdb5-17f89c54623a) no-repeat center center;
    background-size: cover;
  }


  /* fifth section */


  .bg-slide-section {
    height: 700px;

  }

  .swiper-slide-1{ background: var(--wpr-bg-24f3f7fc-a105-42fb-8148-9e72df05baa1).png') no-repeat center center;
    background-size: cover;
    height: 700px;
    display: flex !important;
    align-items: center;}

  .swiper-slide-2{
    background: var(--wpr-bg-b484db26-b3da-433d-91a3-7bd150aff0df).png') no-repeat center center;
    background-size: cover;
    height: 700px;
    display: flex !important;
    align-items: center;
  }   

  .swiper-slide-3{
    background: var(--wpr-bg-89039bec-9ac0-412d-b8c1-9f30a82eacbe).png') no-repeat center center;
    background-size: cover;
    height: 700px;
    display: flex !important;
    align-items: center;
  }  

  .text-box-container{
    width: 1440px;
  }
  
  /* Text block inside the container */
  .text-box {
    padding: 100px 0 100px 200px;
    width: 600px;
  }

.swiper-pagination {
  position: absolute;
  max-width: 1440px !important;
  margin: 0 auto;
  text-align: left !important;
  padding: 0px 24px 100px 224px;
  left: 0 !important;
}
 
  .swiper-pagination-bullet {
    background: #fff !important;
    opacity: 0.4 !important;
    width: 40px !important;
    height: 10px !important;
    border-radius: 5px !important;
    margin: 0 6px !important;
    transition: opacity 0.3s ease !important;
  }
  
  .swiper-pagination-bullet-active {
    opacity: 1 !important;
  }



/*map section */

.festival-map-section {
            background-color: #e5eefe;
            position: relative;
        }

        .festival-map-img {
            width: 100%;
            height: auto;
            cursor: pointer;
            transition: transform 0.3s ease;
        }

        .map-wrapper {
            display: flex;
            justify-content: center;
        }

        /* Popup overlay */
        .map-popup-overlay {
            position: fixed;
			  top: 0;
			  left: 0;
			  z-index: 1000;
			  width: 100%;
			  height: 100vh;
			  background-color: rgba(10, 0, 20, 0.6);
			display:none;
			  justify-content: center;
			  align-items: center;
        }

			.map-popup-container{
				 position: relative; /* ⬅️ Enables positioning inside */
  width: 100%;
  height: 100vh;
  max-height: 90vh;
  overflow-y: scroll;
  display: flex;
  background: #E5EEFE;
  border: 10px solid #FF008C;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
				
			}

.close-parent{
	position:relative;
}

			#zoomWrapper {
			  transform: scale(1); /* Zoom in */
			  transform-origin: center center;
			  cursor: grab;
			}

			#draggableMap {
			  max-width: none;
			  width: 720px;
			  height: auto;
			  pointer-events: none; /* Make the wrapper handle dragging */
			}

        .map-popup-overlay img {
            max-width: 100%;
            max-height: 90%;
            cursor: grab;
        }

        .map-popup-overlay.active {
            display: flex;
			 animation: fadeInOverlay 0.4s ease forwards;
        }

        .close-popup {
            position: fixed;
			  top: 6%;
			  right: 00px;
			  color: black;
			  border: none;
			  cursor: pointer;
			background: #FF008C;
			padding: 6px;
			z-index:999;
        }

.close-popup img {height:50px;}

 @media (min-width: 764px) {
            .festival-map-img {
                pointer-events: none;
                /* Prevent click on desktop */
	 }}
  

  /* section 3 */

  .text-partner {
    color: #FFFFFF;
  }

  .parter-section-parent {
    position: relative;
    z-index: 1;
  }
  #partnerModal .flex.gap-4.items-center a.icons {
    padding:3px;
  }
  #partnerModal .flex.gap-4.items-center a.icons:hover {

    background-color:black;

  }
  #partnerModal .flex.gap-4.items-center a.icons:hover > img {
    filter: brightness(0) invert(1);
  }

.btn-white{
  padding: 10px 20px;
  color: #000000;
  font-weight: 400;
  border: none;
  cursor: pointer;
  font-size: 16px;
  width: fit-content;
  background: #FFFFFF;
  border: 1px solid #000000;
  min-height: 36px;
  display: flex;
  text-decoration: none;
transition:0.3s;
} 

#partnerModal .btn-white:hover > img {
  filter: brightness(0) invert(1);
}
  .btn-white:hover {
    background-color: black;
    color:white;
  }
  .partner-section {
    padding-top: 100px;
    padding-bottom: 100px;
    margin-bottom: 0;
    background-color: #001F3F; /* assuming bg-navy = dark blue */
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
  }
  
  .partner-logo {
    width: 150px;
    height: 114px;
    transition: transform 0.4s ease;
    cursor: pointer;
  }
  
  .partner-logo:hover {
    transform: scale(1.2);
  }
  
  .parter-section-parent:has(.partner-logo:hover) .partner-section {
    padding-bottom: 130px;
    margin-bottom: -20px; /* Overlap towards .section-divider-image */
  }
  
  /* Ensure section-divider-image stays visually beneath partner-section */
  .section-divider-image {
    position: relative;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

	
.partner-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none; /* Hidden by default */
	background-color: rgba(10, 0, 20, 0.6); /* dark overlay */
    justify-content: center;
    align-items: center;
    z-index: 9999;
	
  }
  
  .partner-modal.open {
    display: flex; /* Show when toggled via JS */
  }
  
  .partner-modal-content {
    background-color: #fff;
    border-radius: 0;
    max-width: 1150px;
    max-height: 600px;
    padding-inline: 70px;
    padding-block: 60px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    width: 90%; /* Responsive fallback */
    background: #FFFFFF;
    border: 5px solid #FF008C;
	  opacity: 0;
  transform: scale(0.92);
	  

  }
  
  /* Optional: hide scrollbar for Webkit */
  .partner-modal-content::-webkit-scrollbar {
    width: 6px;
  }
  .partner-modal-content::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 4px;
  }
  

  .partner-modal .child1 .heading-sm{
    font-weight: 600;
  }

  .partner-modal .child1 .p{
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: -1%;
    font-family: 'Poppins', sans-serif;
  }
  
  .partner-modal .text-black {
    color: #221111 !important;
  }
  
  .close-btn {
    position: absolute;
    top: -1px;
    right: 00px;
    color: white;
    border: none;
    cursor: pointer;
	  background: #FF008C;
			padding: 6px;

  }
  
/* Animate modal content when .open is applied */
.partner-modal.open {
  animation: fadeInOverlay 0.4s ease forwards;
}

.partner-modal.open .partner-modal-content {
  animation: popupScaleIn 0.4s ease forwards;
}

/* Overlay background animation */
@keyframes fadeInOverlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Popup scale + fade effect */
@keyframes popupScaleIn {
  0% {
    opacity: 0;
    transform: scale(0.92);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}



  /* news section */



/* === Typography === */
.latest-news-section{
  background-color: #FFFFFF;
}

.latest-news-section .news-container{
	row-gap:50px;
}

.text-news-heading {
  font-family: 'Poppins', sans-serif;
  line-height: 115%;
  letter-spacing: -0.02em;
  color: #000;
}
.news-title {
  font-family: Poppins;
  font-weight: 600;
  font-size: 24px;
  line-height: 114.99999999999999%;
  letter-spacing: -2%;  
  color: #000;
  min-height: 100px;
}

.news-link:hover {
  text-decoration: underline;
	color:#000;
} 


.news-date {
  font-family: Poppins;
font-weight: 500;
font-size: 12px;
line-height: 150%;
letter-spacing: -1%;
color: #000;

}


.with-icon::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: var(--wpr-bg-bbde51d0-4d93-4f01-9b25-d7b9c49a28f6);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
	

}



.view-all-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 20px;
line-height: 114.99999999999999%;
letter-spacing: -2%;
  color: #000;
  transition: color 0.3s ease;
}

/* Icon as ::after */
.view-all-link::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: var(--wpr-bg-4cec90de-f46a-4c4e-bd24-73917a8c1613);
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
	margin-top: 5px;
}

/* Hover underline + icon move */
.view-all-link:hover {
	color:#000;
  text-decoration: underline;
  text-decoration-thickness: 2px;   /* ⬅️ Make underline bolder */
  text-underline-offset: 4px;       /* ⬅️ Slight spacing from text */
}

.view-all-link:hover::after {
  transform: translateX(8px); /* Slide icon slightly to right */
}


/* === News Card === */
.news-card {
  width: 30%;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid black;
  padding-bottom: 22px;
  overflow: hidden;

}

.news-image-wrapper {
  width: 100%;
  height: auto;
  overflow: hidden;
}

/* Image itself */
.news-image {
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

/* On hover, zoom in image smoothly */
.news-image:hover {
  transform: scale(1.05); /* zoom in without resizing layout */
}


/* section5 */
 
  /* === Text Styles === */
.signup-section a{
  text-decoration: underline;;
}

.form-paragraph{
font-weight: 500;
font-size: 12px;
line-height: 100%;
letter-spacing: -1%;
text-align: right;

}

.w-20 {
    width: 20%;
  }
  .w-40 {
    width: 40%;
  }


  .signup-section {
    background-color: #fff;
	  padding-block: 70px !important;
  padding-inline: 100px !important;
  }
  .text-heading-lg {
    font-weight: 600;
    font-size: 20px;
    line-height: 115%;
    letter-spacing: -0.02em;
    color: #202536;
  }

  
  /* === Inputs === */
  .signup-input {
    font-size: 16px;
    padding: 20px !important;
    border: 1px solid #00000066;
    outline: none;
    font-weight: 500;
    letter-spacing: 0%;
  }
  
  /* === Primary Button === */
  .btn-form {
	  font-family: 'Poppins', sans-serif !important;
    background-color: #000;
	  gap: 10px;
	  padding-top: 20px !important;
	  padding-right: 40px !important;
	  padding-bottom: 20px !important;
	  padding-left: 40px !important;
	  border-radius: 5px !important;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    letter-spacing: 0.15em;
    transition: background-color 0.3s ease;
  }
  .btn-form:hover {
    background-color: #FF008C;
  }





.hero-title-image-mobile{
    display: none;
  }

  @media screen and (max-width: 1300px) {

    .announcement-strip .padding-inline{

      padding-inline: 50px;
      gap:20px;
    }

    .bg-gradient-pink .px-300{
      padding-inline: 200px;
    }

    .latest-news-section.padding-inline{
      padding-inline: 150px;
    }
   
    .signup-section .w-20{
      width: 19%;
    }

    .signup-section .w-40{
      width: 39%;
    }

    .swiper-slide .text-box-container .text-box{
      padding: 50px 0 50px 100px;
    }

  }



  /* 1024 media query */

  @media screen and (max-width: 1024px) {

    .hero-title-image{
      max-width: 500px;
    }


    .announcement-strip .announcement-text{
      font-size: 20px;
    }

    .announcement-strip  .tickets-note {
      font-size: 14px;
      line-height: 114.99999999999999%;
    }

    .announcement-strip .btn-primary{
      padding-inline: 15px;
      padding-block: 10px;
      font-size: 16px;
      text-align: center;
    }

    .bg-gradient-pink .px-300{
      padding-inline: 100px;
    }

    .bg-gradient-pink .text-block{
      font-size: 20px;
    }

    .latest-news-section.padding-inline{
      padding-inline: 100px;
    }

    .latest-news-section .news-card{
      width: 48%;
      margin-bottom: 40px;
    }

    .latest-news-section .text-news-heading {
      font-size: 30px;
    }

    .latest-news-section .news-title{
      font-size: 20px;
      min-height: unset;
    }
    
    .signup-section form{
      flex-direction: column;
      gap: 20px;
    }
	  
	 .signup-section{
		padding-inline:0px !important;
		padding-block:50px !important
	}

    .signup-section .w-20{
      width: 100%;
    }

    .signup-section .w-40{
      width: 100%;
    }

    .signup-section form button{
      width: 100%;
    }

    .signup-section .text-right{
      text-align: center;
    }

    .signup-section .signup-footer {
      align-items: center;
      justify-content: center;
    }

    .signup-section .container{
      padding-inline: 30px;
    }

  }


 


  @media screen and (max-width: 764px) {

    .hero{
      height: auto;
      padding-block: 70px;
      padding-bottom:125px;
    }

    .hero-title-image{
      display: none;
    }
  

    .hero-title-image-mobile{
      display: block;
    }
   

    .cadogan-logo{
      height: 51px;
  width: 66px;
}

  .hero-subtitle p {
    font-size: 12px;
  }

  .announcement-strip{
    padding-block: 40px;
	  z-index:0;
  }

  .bg-gradient-pink .px-300{
    padding-inline: 50px;
    padding-block: 70px;
  }


  .latest-news-section.padding-inline{
    padding-inline: 0px;
    padding-block: 70px;
  }

  .latest-news-section .container {
    padding-inline: 50px;
  }
 
  .latest-news-section .news-card{
    width: 100%;
    margin-bottom: 40px;
  }

  .latest-news-section .pt-100{
    padding-top: 0px;
  }

  .latest-news-section .pb-50{
    padding-bottom: 20px;
  }

  .latest-news-section .pb-100{
    padding-bottom: 0px;
  }

  .latest-news-section .pt-50{
    padding-bottom: 20px;
  }

  .latest-news-section .text-right{
    text-align: right;
  }

  .partner-section{
    padding-block: 70px;
  }

  .signup-section{
    padding-block: 70px;
  }
	  
	  


  .signup-section .signup-footer {
 display: unset;
  }
	  
	  .signup-section .form-container .form-paragraph{
		  padding-inline:50px;
	  }
  
	  .swiper-slide .text-box-container .text-box {
  padding: 0px 0 100px 0px;
}

.swiper-slide {
  align-items: flex-end;
  background-position: 75% -10px !important;
  background-size: 250% !important;
}


.swiper-slide .text-box h2 {
  font-size: 30px;
  margin-bottom: 5px;
}

.swiper-slide .text-box .paragraph {
  line-height: 150%;
}

.swiper-slide .text-box button {
  font-size: 20px;
  padding: 10px 15px;
  margin-top: 15px;
}

.swiper-slide .text-box {
  max-width: 315px;
}

.swiper-pagination {
  padding: 0px 0 30px 24px;
}
.swiper-slide .text-box-container-outer {
background-color: #0A0446;
}
.swiper-slide .text-box-container::before {
content: "";
position: absolute;
background-color: #0A0446;
width: 100%;
height: 100%;
z-index: -1;
transform: skewY(12deg);
left: -16px;
top: 50px;
border-radius: 2px;
}

.swiper-slide .text-box-container {
  position: relative;
}
	  
	  .festival-map-section{
		  padding-block:30px;
	  }

/* ----------- slider css ------------ */

  .partner-modal-content {


      padding-inline: 50px;
      padding-block: 40px;
      height: 100vh;
      width: 100%;
      max-height: 90vh;
	  overflow-y:scroll;
    }
      .partner-modal-content .below-container{
        flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: flex-start;
  gap: 26px;
      }
	  
	  .partner-modal-content .child1 p{
		  font-size:14px;
	  }

      .below-container .gap-4 {
        gap: 20px
      };
      

  }