/* Reset & Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Poppins', sans-serif;
  line-height: 1.6;
  scroll-behavior: smooth;
}
h2 {
  text-align: center;
  margin-bottom: 20px;
}
section {
  padding: 60px 20px;
  text-align: center;
}
.light {
  background-color: #f9f9f9;
}

/* Navbar */
/* ========== NAVBAR BASE ========== */
.navbar {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 999;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.navbar-container {
  max-width: 1200px;
  margin: auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo { width: 180px; height: auto; }

/* Links */
.nav-links {
  display: flex;
  gap: 1.5rem;
}
.nav-links a {
  text-decoration: none;
  color: #111;
  font-weight: 600;
  position: relative;
} 
.nav-links a::after {
  content: '';
  position: absolute;
  left: 0; bottom: -4px;
  width: 0; height: 2px;
  background: #111;
  transition: width .3s;
}
.nav-links a:hover::after { width: 100%; }

/* Enquire button (desktop) */
.btn.enquire-desktop {
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.12) 40%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0.12) 60%, transparent 100%);
  transform:skewX(-20deg);
  animation: enquire-desktop 2s linear infinite;
  pointer-events:none;
  color: #fff;
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.25s;
}
@keyframes enquire-desktop {
      0%{ left:-120%; }
      100%{ left:120%; }
    }
ul, li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
.btn.enquire-desktop:hover { background: #444; }

/* Hamburger (hidden on desktop) */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 4px;
  background: none;
  border: none;
  cursor: pointer;
}
.hamburger span {
  width: 26px; height: 3px;
  background: #111;
  transition: transform .3s, opacity .3s;
}

/* ========== MOBILE STYLES ========== */
.nav-links.mobile {
  z-index: 1000; /* Add this line */
}

@media (max-width: 768px) {
  /* hide desktop stuff */
  .nav-links,
  .btn.enquire-desktop { display: none; }

  /* show hamburger */
  .hamburger { display: flex; }

  /* mobile menu panel */
  .nav-links.mobile {
    position: fixed;
    top: 70px;           /* below navbar */
    right: 0;
    width: 220px;
    background: #fff;
    box-shadow: -2px 0 12px rgba(0,0,0,.08);
    flex-direction: column;
    gap: 0;
    padding: 1rem;
    transform: translateX(100%);
    transition: transform .2s ease;
  }
  .nav-links.mobile a {
    padding: 12px 5px;
    border-bottom: 1px solid #eee;
  }
  /* menu open state */
  .nav-links.mobile.open { transform: translateX(0); }

  /* hamburger X animation */
  .hamburger.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .hamburger.active span:nth-child(2) { opacity: 0; }
  .hamburger.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  
}
/* Video */
.video-background {
  height: 100vh;
  position: relative;
  overflow: hidden;
  object-fit: cover;
  @media (max-width: 768px) {
    height: 50vh;
  }
}
#bgVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  
}
.video-overlay {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
}
.video-overlay h1 {
  font-size: 36px;
}
.video-overlay p {
  font-size: 20px;
}
/* service vedio */
.service-intro {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-bottom: 40px;
}

#serviceVideo {
  width: 100%;
  max-width: 450px;
  height: 400px;
  border-radius: 10px;
  border: #000 solid 2px;
  display: flex;
  justify-content: left;
  object-fit: cover;
}

.service-text {
  max-width: 450px;
  text-align: left;
}

#servicesh1 {
  font-size: 32px;
  color: #000;
  margin-bottom: 10px;
}

#servicesp {
  font-size: 18px;
  color: #5e5a5a;
  line-height: 1.6;
}



/* Flex Layouts */
.flex-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.service-box, .testimonial {
  flex: 1 1 300px;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 10px;
}
#flexcontent {
  font-size: 16px;
  color: #8d8787;
  line-height: 1.6;

}
/* wedding reels */
/* Section Styling */
#reels {
  padding: 60px 20px;
  background-color: #f9f9f9;
  text-align: center;
}

#reels h2 {
  font-size: 32px;
  margin-bottom: 30px;
}

/* Grid Layout */
.reel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: auto;
}

/* Reel Item */
.reel-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.reel-item img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.reel-item:hover img {
  transform: scale(1.05);
}

/* Optional play icon overlay */
.reel-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 36px;
  color: white;
  transform: translate(-50%, -50%);
  opacity: 0.7;
  pointer-events: none;
}


/* Reuse slide buttons */
.slide-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0,0,0,0.4);
  color: white;
  border: none;
  padding: 12px 16px;
  cursor: pointer;
  border-radius: 50%;
  z-index: 1;
  font-size: 20px;
}

.slide-btn.prev {
  left: 10px;
}

.slide-btn.next {
  right: 10px;
}

.slide-btn:hover {
  background-color: rgba(0, 0, 0, 0.7);
}



/* //words clients// */
#customerheader{
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-block;
  border-radius: 8px;
  background-color: rgb(246, 245, 245);

}
#clientwords{
  color: rgb(68, 63, 63);
}
#testimonials {
  font-weight: lighter;
}
/* //testimonial cards// */
#testimonials {
  padding: 80px 20px;
  background: linear-gradient(135deg, #fbecec, #f7f7f7);
  text-align: center;
  margin-top: -80px;
}

#testimonials h2 {
  font-size: 36px;
  margin-bottom: 50px;
}

.testimonial-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.flip-card {
  background-color: transparent;
  width: 300px;
  height: 350px;
  perspective: 1200px;
  transition: transform 0.6s ease;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 1s;
  transform-style: preserve-3d;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  border-radius: 16px;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  transition: all 0.4s ease-in-out;
}

.flip-card-front {
  background: #ffffff;
  color: #333;
  box-shadow: inset 0 0 10px #ececec;
}

.flip-card-front p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.flip-card-front span {
  font-weight: bold;
  color: #888;
}

.flip-card-back {
  background: #000;
  transform: rotateY(180deg);
  padding: 0;
}

.flip-card-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Responsive */
@media (max-width: 768px) {
  .testimonial-cards {
    flex-direction: column;
    align-items: center;
  }
}
/* Star rating inside front */
.flip-card-front .stars {
  margin-top: 10px;
  color: #e9b004;
  font-size: 18px;
}

/* Glow and bounce on hover */
.flip-card:hover {
  animation: pulseGlow 1s ease;
}

@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
  50% {
    box-shadow: 0 0 20px rgba(255, 140, 0, 0.5);
  }
  100% {
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
}
.flip-card-inner.auto-flip {
  transform: rotateY(180deg);
}



/* //more services// */
#more-services {
  padding: 80px 20px;
  background: rgb(249, 247, 247);
  text-align: center;
}

#more-services h2 {
  font-size: 36px;
  margin-bottom: 40px;
}

.service-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

/* Reuse existing flip-card styles */
.service-card {
  width: 300px;
  height: 380px;
}
.service-card figure {
  margin: 0;
  position: relative;
  height: 100%;
}
.service-card:hover img {
  transform: scale(1.05);
  transition: transform .6s ease;
}

/* Caption strip */
.service-card figcaption {
  height: 48px;                 /* same gap */
  line-height: 48px;
  background: #000;
  color: #fff;
  text-align: center;
  font-weight: 600;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  font-size: 1rem;
  overflow: hidden;            /* trim if text too long */
}
/* Front image */
.service-card .flip-card-front {
  height: 100%;
  display: block;
}
.service-card img {
  width: 100%;
  height: calc(100% - 48px);   /* leave space for caption */
  object-fit: cover;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  display: block;
}

/* Back with button */
.service-card .flip-card-back {
  background: #000;
  color: #fff;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.service-card .flip-card-back h3 {
  margin-bottom: 20px;
  font-size: 20px;
}


.gallery-btn {
  display: inline-block;
  padding: 10px 20px;
  background: #fafaf9;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  border-radius: 8px;
  transition: background 0.3s ease;
}

.gallery-btn:hover {
  background: #0e0d0d;
  color: #fff;
}


/* === Sweet Memories • Workflow Card === */
.sm-workflow{
  padding:4rem 0;
  display:flex;
  justify-content:center;
}
.sm-workflow .card{
  background:#ffffff;
  border-radius:12px;
  padding:4rem 2rem 5rem;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  max-width:1100px;
  width:100%;
  text-align:center;
  position:relative;
  overflow:hidden;
  font-family:system-ui, sans-serif;
}

/* badge */
.sm-workflow .badge{
  display:inline-block;
  background:#dfe2e7;
  color:#444;
  font-size:.8rem;
  font-weight:600;
  padding:.35rem 1rem;
  border-radius:8px;
  letter-spacing:.5px;
  margin-bottom:1rem;
}

/* tagline */
.sm-workflow .tagline{
  font-size:1.4rem;
  font-weight:700;
  color:#222;
  margin-bottom:3rem;
}

/* timeline container */
.sm-workflow .timeline{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  padding:0 1rem;
}
.sm-workflow .timeline::before{
  content:"";
  position:absolute;
  left:0;right:0;
  top:36px;          /* line sits behind dots */
  height:6px;
  background:#e5e6e8;
  border-radius:3px;
}

/* step block */
.sm-workflow .step{
  flex:1;
  max-width:25%;
  position:relative;
}
.sm-workflow .step h4{
  font-size:1.2rem;
  font-weight:700;
  color:#333;
  margin-bottom:4rem; /* space above dot */
}
#workflowheaders{
     margin-top: 50px;
     

     

}
.sm-workflow .step p{
  font-size:.95rem;
  color:#555;
  margin-top:2.5rem;   /* space below dot */
  line-height:1.4;
  padding:0 10px;
}

/* static dots */
.sm-workflow .dot{
  width:32px;height:32px;
  background:#5d5d5d;
  border:6px solid #5d5d5d;   /* thicker look */
  border-radius:50%;
  position:absolute;
  top:20px;left:50%;
  transform:translateX(-50%);
}

/* animated active dot */
.sm-workflow .active-dot{
  position:absolute;
  top:20px;
  left:calc(12.5%);           /* start at first step center */
  width:32px;height:32px;
  background:#000;
  border-radius:50%;
  box-shadow:0 0 10px rgba(0,0,0,0.4);
  animation:sm-slide 5s ease-in-out infinite;
}
@keyframes sm-slide{
  0%   {left:12.5%;}
  25%  {left:37.5%;}
  50%  {left:62.5%;}
  75%  {left:87.5%;}
  100% {left:12.5%;}
}

/* responsive tweaks */
@media(max-width:780px){
  .sm-workflow .timeline{flex-direction:column;align-items:center}
  .sm-workflow .timeline::before{display:none;}
  .sm-workflow .active-dot{display:none;}
  .sm-workflow .step{max-width:100%;margin-bottom:2.5rem;text-align:center}
  .sm-workflow .step h4{margin-bottom:1rem;}
  .sm-workflow .step .dot{position:static;margin:0 auto 1rem;}
}
/* === end workflow === */

/* === Sweet Memories • Minimized Forms === */
:root{ --accent:#0b0b0b; }

.sm-forms{
  padding:4rem 1rem;
  background:#f8f8f8;
  font-family:system-ui,sans-serif;
}
.sm-forms__wrapper{
  max-width:1100px;
  margin:auto;
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
}

/* smaller card */
.form-card{
  background:#fff;
  flex:1 1 480px;
  border-radius:12px;
  padding:2rem 1.8rem;
  box-shadow:0 10px 25px rgba(0,0,0,0.05);
  transition:transform .3s, box-shadow .3s;
}
.form-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 35px rgba(0,0,0,0.08);
}
.form-card h3{
  font-size:1.5rem;
  font-weight:700;
  margin-bottom:1.5rem;
  color:#000;
}

/* input fields */
.field{
  position:relative;
  margin-bottom:1.2rem;
}
.field input,
.field textarea,
.field select{
  width:100%;
  padding:0.75rem 0.9rem;
  font-size:0.95rem;
  border:2px solid #ccc;
  border-radius:8px;
  background:transparent;
  outline:none;
  transition:border-color .2s;
}
.field select{appearance:none;}

/* floating label */
.field label{
  position:absolute;
  left:0.9rem;
  top:0.75rem;
  font-size:0.95rem;
  color:#666;
  pointer-events:none;
  transition:.2s ease;
}

/* label on focus/filled */
.field input:focus,
.field textarea:focus,
.field select:focus{ border-color:var(--accent); }

.field input:focus + label,
.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,
.field textarea:not(:placeholder-shown) + label,
.field select:focus + label,
.field select:not([value=""]) + label{
  top:-.6rem;
  left:0.8rem;
  font-size:.75rem;
  background:#fff;
  padding:0 .3rem;
  color:var(--accent);
}

/* button */
button{
  background:var(--accent);
  color:#fff;
  border:none;
  padding:.7rem 1.7rem;
  font-size:.95rem;
  font-weight:600;
  border-radius:8px;
  cursor:pointer;
  transition:background .25s;
}
button:hover{ background:#ad244c; }

/* responsive */
@media(max-width:680px){
  .form-card{padding:1.8rem 1.3rem;}
  .form-card h3{font-size:1.3rem;}
}
/* === end minimized forms === */


/* button */
button{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  border:none;
  padding:.9rem 2.2rem;
  font-size:1rem;
  font-weight:600;
  border-radius:8px;
  cursor:pointer;
  transition:background .25s;
}
button:hover{ background:#4be558; }

/* mobile stacking tweak */
@media(max-width:680px){
  .form-card{padding:2.5rem 1.5rem;}
  .form-card h3{font-size:1.6rem;}
}
/* === end forms === */
/* === Sweet Memories • Contact + Map Section === */
/* Logo inside contact-info */
.contact-info .contactlogo{
  text-align:center;
  margin-bottom:1.5rem;
}
.contact-info .contactlogo video{
  max-width:200px;
  height:auto;
  display:inline-block;
  border-radius:8px;
  margin-top: -30px;
  
}


.contact-wrapper{
  max-width:1200px;
  margin:auto;
  display:flex;
  gap:2rem;
  flex-wrap:wrap;
}

/* Left Side */
.contact-info{
  flex:1 1 400px;
  background:#f7f7f7;
  padding:2rem;
  border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
}
.contact-info h3{
  font-size:1.8rem;
  font-weight:700;
  margin-bottom:1.5rem;
  color:#000;
}
.contact-info ul{
  list-style:none;
  padding:0;
  margin:0;
}
.contact-info li{
  font-size:1rem;
  color:#333;
  line-height:1.6;
  margin-bottom:.8rem;
}
.contact-info strong{
  color:#000;

  /* // call button// */

}
.call-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:#1a1617;           /* accent */
  color:#fff;
  font-size:1rem;
  font-weight:600;
  padding:.8rem 1.6rem;
  border-radius:8px;
  text-decoration:none;
  margin-top:1.5rem;
  transition:background .25s, transform .25s;
}
.call-btn:hover{
  background:#07e316;
  transform:translateY(-2px);
}
.call-btn svg{
  flex-shrink:0;
  display:block;
}

/* Right Side */
.contact-map{
  flex:1 1 600px;
  min-height:300px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

/* Responsive */
@media(max-width:768px){
  .contact-wrapper{flex-direction:column;}
  .contact-info, .contact-map{width:100%;}
}
/* === end contact + map === */

.social-links {
  margin-top:20px;
  display:flex;
  justify-content:center;
  gap:30px;          /* space between icons */
}

/* Icon look & size */
.social-links a i {
  font-size:32px;    /* bigger icon */
  color:#222;        /* default color */
  transition:transform .3s ease, color .3s ease;
}

/* Hover effect */
.social-links a:hover i {
  transform:scale(1.2) rotate(8deg);
  color:#ff4f60;     /* pick an accent color */
}
/* WhatsApp Floating Button */
.whatsapp-float {
  position: fixed;
  right: 24px;        /* distance from right edge */
  bottom: 24px;       /* distance from bottom */
  width: 60px;
  height: 60px;
  z-index: 1000;
  border-radius: 50%;
  overflow: hidden;
  animation: slideIn 0.8s ease-out 0.3s backwards,
             pulse 2.5s ease-in-out 1.1s infinite;
  transition: transform 0.25s;
}

.whatsapp-float img {
  width: 100%;
  height: 100%;
}

/* Hover / tap feedback */
.whatsapp-float:hover,
.whatsapp-float:focus {
  transform: scale(1.12);
}

/* KEYFRAMES */
/* 1. Slide in from bottom‑right */
@keyframes slideIn {
  from {
    transform: translate(100%, 100%) scale(0);
    opacity: 0;
  }
  to {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
}
/* 2. Subtle pulsing glow */
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
  }
}



/* Footer */
footer {
  background: #0f0f0f;
  color: white;
  padding: 20px;
  text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
  .navbar-container {
    flex-direction: column;
  }
  .nav-links {
    flex-direction: column;
    align-items: center;
  }
  .video-overlay h1 {
    font-size: 28px;
  }
}
