@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Serif+Display:ital@0;1&family=Dancing+Script:wght@400..700&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');
body {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  color: white;
/*  background: linear-gradient(to bottom right, #6b21a8, #db2777, #facc15);*/
  min-height: 100vh;
  }
.verifications-container{
    color:#000;
}
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: url('/images/pattern-background.png');
  opacity: 0.3; /* Your desired transparency */
  z-index: -1;
  pointer-events: none; /* So it doesn't block clicks */
}
.powered-by, .powered-by a{
    font-size:10px; 
    color:#fff;
    text-decoration: none;
}
p{
    font-size:13px;
}
nav {
  background-color: rgba(91, 33, 182, 0.9);
  padding: 1rem 2rem;
  position: fixed;
  width: 100%;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 3600;
}
h2{
  font-family: "DM Serif Display", serif;
  font-weight: 800;
  font-style: bold;
}

nav h1 {
  font-family: 'Cinzel Decorative', cursive;
  font-size: 1.8rem;
}

nav a {
  color: white;
  margin-left: 1rem;
  text-decoration: none;
  font-weight: 600;
}

nav a:hover {
  color: #facc15;
}
.nav-brand{
    height: 70px;
    width:140px;
    position: absolute;
    top:10px;
}
.nav-brand img{
    height: 100%;
    width:100%;
    object-fit: cover;
}

section {
  padding: 100px 2rem 2rem;
}

.hero {
  text-align: center;
  position: relative;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5); /* dark overlay for image dimming */
  z-index: 1;
}

.hero h2 {
  font-size: 3rem;
  font-weight: 700;
   position: relative;
  z-index: 2;
  margin-top:50px;
}

.hero p {
  margin: 1rem 0 2rem;
   position: relative;
  z-index: 2;
}

.btn {
  background-color: white;
  color: #6b21a8;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  margin: 0 0.5rem;
  border: none;
  cursor: pointer;
  font-weight: bold;
   position: relative;
  z-index: 2;
}

.btn:hover {
  background-color: #facc15;
}

.card-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}
.card-container .row{
    margin:0 auto;
}
.card {
  background-color: rgba(91, 33, 182, 0.8);
  padding: 1rem;
  border-radius: 10px;
}

.card h3 {
  font-size: 1.25rem ;
  margin-bottom: 0.5rem;
}

.form-group {
  margin-bottom: 1rem;
}

input,
textarea {
  width: 100%;
  padding: 0.75rem;
  border-radius: 8px;
  border: none;
  border-bottom: 1px solid #666;
  font-family: 'Poppins', sans-serif;
}

.contact-info {
  color:#666;
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap:20px;
  height: 300px;
  font-family: 'Poppins', sans-serif;
  background:#f7f7f7;
  margin-top:20px;
  min-height: 400px;
}
.contact-section  h2{
    font-weight: 600;
}
.contact-info .info i{
    height: 30px;
    width:30px;
    background: #7a1014;
    color: #fff;
    display:inline-flex;
  justify-content: center;
  align-items: center;
  border-radius:50%;
  border-radius: 50%;
  margin-right:10px;
}
.contact-head{
    color:#666;
}
.socials{
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap:20px;
}
.socials+div{
    border-top:2px solid #666;
}
.socials  i{
    height: 50px;
    width:50px;
    background: #7a1014;
    color: #fff;
    display:flex;
  justify-content: center;
  align-items: center;
  border-radius:50%;
  border-radius: 50%;
}

.ticket {
  background-color: rgba(255, 255, 255, 0.2);
  padding: 1rem;
  border-radius: 10px;
  text-align: center;
  min-height: 200px;
  margin-bottom:50px;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}
.ticket_upgrade  {
  background-color: rgba(255, 255, 255, 0.2);
 /* padding: .2rem;*/
  border-radius: 0px;
  text-align: center;
  height: 100px;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  display:flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.ticket_upgrade .form-check{
    display:flex;
   /* flex-direction: column;*/
   padding:5px;
 justify-content: space-between;
  align-items: center ;
  text-transform: uppercase;
   padding-left: 25px;
    background:rgba(0,0,0,0.4);
    border-radius: 0px !important;
    width:100%;
    gap:10px;
    height: 40px;
    color:#fff;
    position: absolute;
  bottom: 0;
}
.upgrade-counter{
    height: 100px;
      display:flex;
   flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.ticket::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5); /* dark overlay for image dimming */
  z-index: 1;
}
.ticket p,.ticket h3, .ticket button {
  position: relative;
  z-index: 2;
}
.ticket_upgrade.concert_upgrade{
    background: url('/images/concert.jpeg') center/cover no-repeat;
}
.ticket_upgrade.drinks_upgrade{
    background: url('/images/drinks.jpeg') center/cover no-repeat;
}
.ticket.drama, .ticket_upgrade.drama_upgrade{
    background: url('/images/d-puss-in-boots.webp') center/cover no-repeat;
}
.ticket.cinema, .ticket_upgrade.cinema_upgrade{
    background: url('/images/d-fantasyland-movie-in-the-park.jpeg') center/cover no-repeat;
}
.ticket.games-land,.ticket.drama-movie,.ticket_upgrade.concert{
    background: url('/images/d-fantasyland-movie-drama.jpeg') center/cover no-repeat;
}

.ticket h3 {
  margin-bottom: 0.5rem;
}
.payment-form label,.payment-form input{
    font-size:13px;
}
.amount-group{
    display:flex;
    align-items: center;
    justify-content: space-between;
    background-color:#dd1900;
    border-radius: 30px;
    padding: 0 !important;
}
.amount-group .counter, .counter-tool{
    width:40px;
    height:40px;
    background-color:#dd1900 ;
    border-radius: 50%;
     display:flex;
    align-items: center;
    justify-content: center;
}
.counter-tool{
    width:30px;
    height:30px;
}
.upgrade-category{
    border-bottom:1px solid #eae9e9;
    margin-bottom:20px;
    padding:15px 0;
}
.amount-group .counter i{
    color:#fff;
    font-size:30px;
}
.counter-tool i{
    color:#fff;
    font-size:20px;
}
.amount-div{
    display:flex;
    align-items: center;
    justify-content: center;
    background-color:#000;
    height:25px;
    min-width:25px;
    border-radius: 50%;
    font-size:13px;
}
.amount-div span{
    width:30px;
    height:30px;
    border-radius: 50%;
    background-color:#15141a ;
    color:#fff;
    display:flex;
    align-items: center;
    justify-content: center;
}
.category-group{
    height: auto;
    /*width:100%;*/
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap:15px;
}
.category-group p{
    font-weight:bold;
    font-size:18px;
}

footer {
  text-align: center;
  padding: 2rem;
  background-color: rgba(0, 0, 0, 0.3);
}


/* General Reset & Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #7a1014;;
  padding: 1rem;
  color: #fff;
  flex-wrap: wrap;
  height: 50px;
}

nav h1 {
  font-family: 'Cinzel Decorative', cursive;
  font-size: 1.8rem;
}

.nav-links {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
  position: absolute;
  right: 20px;
}

.nav-links a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  position: relative;
}
.nav-links a.active::after,.fantasy-menu-holder ul li a.active::after {
  content: '';
  position: absolute;
  height: 20px;
  width: 20px;
 background: url('/images/fairy-icon.png') no-repeat;
 background-size: contain;
 top: 3px;
  left: -18px;
  z-index: 2;
}

.nav-links a.active {
  border-bottom: 2px dotted #fff;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  gap: 5px;
}

.menu-toggle div {
  width: 25px;
  height: 3px;
  background-color: #fff;
}

.content {
  max-width: 1100px;
  margin: auto;
  padding: 2rem 1rem;
  color:#000;
}

.content h2 {
  font-size: 2rem;
  margin-bottom: 3.5rem;
  margin-top: 2.5rem;
  position:relative;
}


.content h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #7a1014;
  position:relative;
}

.content .head-3:after,.content h2:after {
  content: '';
  position: absolute;
  height: 40px;
  width: 80px;
  bottom: 8px;
  background: url('/images/bg-magic-wand.png') center/cover no-repeat;
  transform: rotate(-65deg);
  margin-left: -50px;
  left: 0;
}
.about-card .head-3{
    margin:50px 0;
}
.content h2:after {
  transform: rotate(-85deg);
  bottom: 18px;
  margin-left: -42px;
}
.content ul {
  list-style: disc inside;
  margin-bottom: 2rem;
  color:#000;
}

.content ul li{
  color:#000 !important;
  font-size:13px;
  margin-bottom:10px;
}

  .fairy-list {
      list-style: none !important;
      padding-left: 0;
    }
    .fairy-list li {
      padding-left: 2rem;
      background: url('/images/fairy-icon.png') no-repeat left center;
      background-size: 1.2rem;
      margin-bottom: 0.8rem;
    }
    
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.card {
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
}
.card-img{
  width: 100%;
  height: 250px !important;
  overflow: hidden;
}
.card .card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card h4 {
  font-size: 1.2rem;
  margin: 1rem 1rem 0.5rem 1rem;
  color: #0359bb;
}

.card p {
  margin: 0 1rem 1rem;
  color: #555;
}

/* Footer */
footer {
  background-color: #0359bb;
  color: white;
  text-align: center;
  padding: 1rem;
  margin-top: 2rem;
}



/* Hero Section */
.hero.home, .hero.about {
  background: url('/images/hero-bg.jpg') center/cover no-repeat;
  color: white;
  text-align: center;
  padding: 4rem 2rem;
}

 .hero.about {
  background: url('/images/hero-bg.jpg') center/cover no-repeat;
  color: white;
  text-align: center;
  padding: 4rem 2rem;
}

.hero-text h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.hero-text p {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

.btn {
  background: #dd1900;
  padding: 0.8rem 1.5rem;
  color: white;
  text-decoration: none;
  border-radius: 25px;
  font-weight: 600;
}

/* Main Content */
.content {
  padding: 2rem;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.feature.wonderland{
  background: url('/images/castle.png') center/contain no-repeat;
}
.feature.adventure{
  background: url('/images/game.png') center/contain no-repeat;
}
.feature.nostalgia{
  background: url('/images/magic-wond.png') center/contain no-repeat;
}
.feature {
  background: #f2f2f2;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  position: relative;
}
.front-grid .feature::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.9); /* dark overlay for image dimming */
  z-index: 1;
}
.front-grid .feature::after {
  content: '';
  position: absolute;
  height: 70px;
  width: 100px;
  background: url('/images/sunny-edge.png') center/cover no-repeat;
  top: -15px;
  left: -20px;
  z-index: 2;
}
.feature h3 {
   font-family: "Archivo Black", sans-serif;
  font-weight: 400;
  font-style: normal; 
  font-size: 1.25rem !important;
}
.feature p,.feature h3 {
  position: relative;
  z-index: 2;
}
/* Highlights List */
.highlights-list {
  list-style: none;
  padding: 0;
  margin: 2rem 0;
}

.highlights-list li {
  background: #e6e0ff;
  margin-bottom: 1rem;
  padding: 1rem;
  border-left: 5px solid #4b0082;
  font-weight: 500;
  border-radius: 8px;
}

/* Testimonials */
.testimonial-section {
  margin: 3rem 0;
}

.testimonials {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.testimonial {
  background: #fff0f6;
  padding: 1.5rem;
  border-radius: 12px;
  border-left: 5px solid #d90c00;
  font-style: italic;
}

/* CTA Banner */
.cta-banner {
 /* background: #4b0082;*/
 /* background: url('/images/fantasy-land-explore.png') center/cover no-repeat;*/
  color: white;
  text-align: center;
  padding: 1em 2rem !important;
  border-radius: 12px;
  margin: 1rem 0;
  position: relative;
  /*height: 120px;*/
}

/*.cta-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.1); 
  z-index: 1;
}*/
/*.cta-banner::after {
  content: '';
  background: url('/images/sticker-png-brown-rope.png') center/cover no-repeat;
  position: absolute;
  height: 100px;
  z-index: 30;
  width: 55px;
  top: 70px;
}*/



.cta-banner .btn-outline {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  border: 3px solid #7a1014;
  border-radius: 25px;
  color: #7a1014;
  text-decoration: none;
  font-weight: bold;
  position: relative;
  z-index: 2;
  width: max-content;
  margin: 0 auto;
  margin-top:30px;
}
.cta-banner-wrap{
     display: flex;
  /*align-items: center;*/
  justify-content: center;
  flex-direction: column;
}
.cta-banner h3 {
     position: relative;
  z-index: 2;
  width:max-content;
  margin:0 auto;
}
.fantasy-menu{
    position: fixed;
    width: 100vw;
    height: 100vh;
    /*background:rgba(204, 182, 120,0.95);*/
    z-index:3400;
    transform: translateY(-120%);
    transition:1s all;
}
.active{
    transform: translateY(0%); 
}
.open-menu{
  background: url('/images/open-menu.png') no-repeat;
  background-size:cover;
}
.fantasy-menu-holder{
    position: absolute;
    width: 80%;
    height: 50vh;
    background: url('/images/fantsay-scroll.png') no-repeat;
    background-size:cover;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
}
.fantasy-menu-holder ul{
    list-style: none;
    position: absolute;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
}
.fantasy-menu-holder ul li{
   margin-bottom:20px;
}
.fantasy-menu-holder ul li a{
   color:#dd1900;
   font-size:30px;
   text-decoration: none;
   font-family: "Dancing Script", cursive;
  font-optical-sizing: auto;
   font-weight: bold;
   position: relative;
}
.alert {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  font-family: 'Poppins', sans-serif;
  max-width: 500px;
  margin: 20px auto;
  position: fixed;
  animation: fadeIn 0.4s ease-in;
   left:50%;
  bottom:0%;
  transform: translate(-50%, -50%);
  z-index: 2000;
  width:300px;
}

.alert-icon {
  font-size: 24px;
  margin-right: 16px;
}

.alert-content {
  flex: 1;
  font-size: 16px;
}

.alert-close {
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  color: #555;
  padding: 0 8px;
}

.alert-danger {
  background-color: #ffe8e6;
  color: #b20000;
  border-left: 5px solid #ff4d4d;
}
.indicator-wrap{
    width:100vw;
    height: calc(100vh - 40px);
    position: fixed;
    top:50px;
    background:#fff;
    display:flex;
    flex-direction: column;
    gap:10px;
    align-items: center;
    justify-content: center;
    z-index: 1999;
}
.indicator-wrap .load-message{
    font-size:14px;
    color:#666;
    text-align: center;
}
.indicator-wrap .download-qr{
    font-size:14px;
    color:#666;
    text-align: center;
    background: url('/images/fantasy-land-button.png') center/cover no-repeat;
    height: 120px;
  width: 300px;
  font-size: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Dancing Script", cursive;
  font-weight: bold;
  color: #ff99;
}
.hidden{
    display:none;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
.contact-info {
  color:#fff;
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap:20px;
  height: 300px;
  font-family: 'Poppins', sans-serif;
  background:#de1a00;
  margin-top:20px;
  min-height: 400px;
}
.contact-section  h2,.contact-section  h3{
    font-weight: 600 !important;
    font-family: "DM Serif Display", serif;
}
.modal-header .modal-title{
    font-weight: 600 !important;
    font-family: "DM Serif Display", serif;
}
.contact-info .info i{
    height: 30px;
    width:30px;
    background: #7a1014;
    color: #fff;
    display:inline-flex;
  justify-content: center;
  align-items: center;
  border-radius:50%;
  border-radius: 50%;
  margin-right:10px;
}
.contact-head{
    color:#666;
    margin-top:35px;
}
.socials{
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap:20px;
}
.socials+div{
    border-top:2px solid #666;
}
.socials  i{
    height: 50px;
    width:50px;
    background: #7a1014;
    color: #fff;
    display:flex;
  justify-content: center;
  align-items: center;
  border-radius:50%;
  border-radius: 50%;
}
.about-card{
    margin-top:20px;
}
.about-card .card{
    padding: 0;
}
       .time-card{
	width:100%;
	min-height:150px;
	position:relative;
	border:none;
	/*margin-top:30px;*/
	background:transparent;
	padding:0 !important;
	box-shadow: none;
}
.processes-section{
   /* background-color:#7a1014;
    padding-top:30px;**/
}
.process-image-container{
    height:250px;
    width:300px;
    overflow:hidden;
    border-radius:10px;
    padding:10px;
}
.processes-section .head3{
    color: var(--third--);
    text-align:center;
}
.processes-section .headp{
    color: #fff;
    text-align:center;
}
.process-image-container img{
    height:100%;
    width:100%;
    object-fit:cover;
    border-left:10px solid #dd1900;
    border-right:10px solid #dd1900;
    border-radius:10px 40px 10px 40px;
}
.processes-section h2,.processes-section h3{
    color:#666;
}
.time-card:before{
	content:attr(data-number);
	display:block;
	position:absolute;
	height:50px;
	width:50px;
	border:2px solid #dd1900;
	color:#fff;
	background-color:#dd1900;
	border-radius:50%;
	padding-top:13px;
	text-align:center;
	z-index:2;
	margin-top:30px;
	font-weight:bold;
}
.time-card:after{
	content:'';
	display:block;
	position:absolute;
	height:130%;
	width:3px;
	color:#fff;
	left: 25px;
  background-color: #dd1900;
}
.time-card-text{
	width:85%;
	margin-left: 55px;
	background:transparent;
	padding:10px;
	border-radius:10px;
}
.processes-section .time-card-text p{
	color:#fff;
	margin:0;
}
.processes-section .time-card-text .lead{
	color:var(--third--);
}
.time-card h3{
	width:85%;
	margin-left:60px;
margin-top: 40px !important;
}
.time-card-text .lead{
	color:#7a1014;
	font-weight:bold;
}
.time-card .btn{
    margin-top:60px;
}
.type-amount-wrap.footer-wrap{
    display:flex;
    justify-content: right;
}
.totoal-amount-display{
    display: flex;
    align-items: center;
    justify-content: center;
    gap:10px;
    flex-grow: 1;
    margin: 0;
    padding: 0;
}
/* Responsive Menu */
@media (max-width: 768px) {
  .nav-links {
    display: none;
    flex-direction: column;
    background-color: #0359bb;
    width: 100%;
    padding: 1rem 0;
  }

  .nav-links a {
    padding: 0.5rem 1rem;
  }

  .nav-links.active {
    display: flex;
  }

  .menu-toggle {
    display: flex;
  }
}
/* Responsive Menu */
@media (max-width: 480px) {
 .content h2 {
  font-size: 1.8rem;
}
.time-card .btn{
    margin-top:60px;
    margin-bottom:20px;
}
 .menu-toggle {
    position: absolute;
    right:20px;
     background-size:cover;
     width: 40px;
    height: 40px;
  }
  
  .closed-menu {
    background: url('/images/menu.png') no-repeat;
    background-size:cover;
  }
  
 
 .open-menu{
  background: url('/images/open-menu.png') no-repeat;
  background-size:cover;
}
.categories-container section, .categories-container section div.col-12,
.card-grid, .card-grid div.col-12{
    padding-left:0px;
    padding-right:0px;
}h

.front-grid .feature {
  margin-bottom:40px;
}

.content h3 {
  margin-top: 0;
}
.contact-head{
    margin-top:75px;
}
.left-contact{
    padding-left:40px;
    padding-right:40px;
}
.about-card .card-wrap{
    margin-top:50px;
}
.extra-margin{
    margin-bottom:0 !important;
}
.home-content .about-card{
    margin-top:0px;
}
.about-card .mb-4{
    margin-bottom:0px !important;
}
}
