/* ───────── Base */
* { margin:0; padding:0; }
html { scroll-behavior: smooth; } /* native smooth scroll */
:root { --nav-h: 80px; /* desktop navbar height */ }

body { font-family: 'Poppins', sans-serif; font-size:14px; }
a { color:#d81b60; }
a:hover { color:#d81b60; }
.white { color:#fff !important; }
.black { color:#000; }

h1,h2,h3{font-weight:700} h4,h5{font-weight:600} h6{font-weight:500}

/* Any section that is a hash target gets offset for fixed header */
section[id] { scroll-margin-top: var(--nav-h); }  /* anchor offset */

/* ───────── Navbar (fixed) */
.navbar{
  position:fixed; inset-inline:0; top:0; width:100%;
  background:transparent; z-index:1030;
  min-height:var(--nav-h);
  line-height:var(--nav-h);
  padding-left:0; padding-right:0;
}
.logo-1{ width:80px; height:auto; }
.navbar .nav-item{ margin:0 5px; }
.navbar .nav-item a{ color:#fff; text-transform:uppercase; font-weight:600; font-size:13px; }
.navbar .nav-item a:hover{ color:#ffd1e4; }
.navbar .navbar-toggler span{ color:#fff; }

/* Navbar on scroll */
.nav-scroll{ background:#fff; box-shadow:0 1px 8px 3px rgba(0,0,0,.06); transition:all .4s ease; }
.nav-scroll .navbar-nav>li>a{ color:#333; }
.nav-scroll .navbar-toggler span{ color:#333; }

/* Mobile menu background */
@media (max-width:991px){
  .navbar .navbar-collapse{ overflow:auto; background:#ffd1e4; text-align:center; padding:10px 0; }
  .nav-scroll .navbar-collapse{ background:#fff !important; }
}

/* ───────── Banner */
.banner{
  background:linear-gradient(135deg,#ff6ea1,#ffb3d1);
  padding: calc(var(--nav-h) + 40px) 0 160px; /* top includes nav space */
  position:relative; overflow:hidden;
}
.banner img{ width:80%; height:auto; }
.banner::before{
  content:""; position:absolute; inset:0;
  background:url(images/pattern.png); opacity:.15;
}
.banner a.weblink{ color:#fff; border-bottom:1px dotted #fff; }
.svg-wave{ position:absolute; left:0; bottom:-1px; width:100%; z-index:2; line-height:0; pointer-events:none; }
.svg-wave img{ display:block; width:100%; height:140px; object-fit:cover; }
.banner-text{ padding-right:30px; margin:30px 0 0; }
.banner-text p{ margin:25px 0; }
.banner-text ul{ list-style:none; padding:0; }
.banner-text li{ display:inline-block; margin:0 10px 10px 0; }

.about-btn{
  color:#e91e63; padding:10px 28px; border:2px solid #e91e63;
  border-radius:30px; display:inline-block; font-size:16px; background:#fff;
}
.about-btn.btn-outline{ background:transparent; color:#fff; border-color:#fff; }
.about-btn:hover{ background:#e91e63; color:#fff; text-decoration:none; border-color:#e91e63; }

/* ───────── Sections */
.section-padding{ padding:80px 0; }
.sectioner-header{ width:69%; margin:0 auto; text-align:center; }
.line{ height:2px; width:50px; background:#e91e63; display:block; margin:20px auto; position:relative; }
.line::after{ content:""; position:absolute; left:50%; width:150px; height:2px; border-bottom:2px dashed #e91e63; margin-left:-75px; }
.sectioner-header p{ color:#818992; font-size:17px; }
.section-content{ margin-top:60px; }

/* Icon boxes */
.icon-box{ margin-bottom:40px; }
.icon-box i{
  display:block; width:120px; height:120px; border-radius:100px;
  background:linear-gradient(135deg,#ff6ea1,#ffb3d1); color:#fff; font-size:44px; line-height:120px; margin:0 auto;
}
.icon-box h5{ margin-top:20px; }
.icon-box p{ color:#818992; font-size:14px; width:80%; margin:0 auto; }

/* Occasion grid */
.team{ background:#fafafa; border-top:1px solid #e4e4e4; }
.occasion-card{ border:none; border-radius:12px; overflow:hidden; box-shadow:0 8px 20px rgba(0,0,0,.06); }
.occasion-card .card-title{ color:#e91e63; margin:10px 0 0; font-size:16px; }

/* ───────── Contact layout: Address | Form (row 1) + Map full row (row 2) */
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;    /* address | form */
  grid-auto-rows: minmax(100px, auto);
  gap:32px;
  align-items:start;
}
.contact-address{ grid-column:1; }
.contact-form{ grid-column:2; display:flex; flex-direction:column; gap:16px; }

.contact-info{
  background:#ff6ea1; color:#fff; padding:28px;
  border-radius:16px; box-shadow:0 12px 28px rgba(0,0,0,.06);
}
.contact-item{ display:flex; align-items:flex-start; column-gap:16px; row-gap:8px; margin:22px 0; }
.contact-item i{ flex:0 0 auto; font-size:26px; line-height:1; margin-top:4px; }
.contact-item p{ line-height:20px; margin:0; }

/* Form fields */
.form-input{
  border:1px solid #e4e4e4; background:#fff;
  height:50px; border-radius:28px; padding:0 1rem;
}
textarea.form-input{ height:190px; border-radius:16px; padding:1rem; resize:none; }
.btn-grad{
  padding:.9rem 2rem; display:inline-block; color:#fff;
  border-radius:2rem; border:0; background:linear-gradient(135deg,#ff6ea1,#ffb3d1); cursor:pointer;
}
.form-feedback{ margin-top:.5rem; font-size:.9rem; }

/* Map full width on row 2 */
.map-embed{ grid-column: 1 / -1; }
.map-embed iframe{ width:100%; height:380px; border:0; border-radius:12px; }

/* ───────── Footer */
.footer-copy{ background:#fff; color:#242424; font-size:13px; text-align:center; padding:15px 0; }
.footer-copy p{ margin:0; }

/* ───────── Responsive */
@media (max-width:992px){
  :root{ --nav-h: 64px; } /* smaller navbar on mobile */
  .section-padding{ padding:40px 0; }
  .sectioner-header{ width:90%; }
  .sectioner-header p{ font-size:14px; }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-form{ grid-column:auto; }
  .map-embed iframe{ height:320px; }
}

@media (max-width:768px){
  .banner-text{ padding-right:0; margin:10px 0 0; }
  h2{ font-size:25px; } h3{ font-size:23px; }
}

/* ───────── WhatsApp floating button */
.whatsapp-float{
  position:fixed; right:18px; bottom:18px; width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(37,211,102,.45); z-index:1040; transition:transform .2s ease, box-shadow .2s ease;
}
.whatsapp-float i{ font-size:28px; line-height:1; }
.whatsapp-float:hover{ transform:translateY(-2px) scale(1.05); box-shadow:0 12px 28px rgba(37,211,102,.55); }
