/* ==========================================================================
   StarBridals — theme.css
   Rebuilt stylesheet (original file was missing from the upload).
   Colors / fonts inferred from inline var() references and Google Fonts
   already linked in <head>: Cormorant Garamond, Jost, Mrs Saint Delafield.
   ========================================================================== */

:root{
  --maroon: #8a1538;
  --maroon-dark: #5c0e26;
  --gold: #b8894a;
  --gold-light: #e3c08a;
  --ink: #2a2220;
  --ink-soft: #6b5f5a;
  --ivory: #fdf9f4;
  --ivory-deep: #f6ede2;
  --shadow-soft: 0 10px 30px rgba(90,20,40,.10);
}

html{ scroll-behavior:smooth; }

body{
  font-family:'Jost', Arial, sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.script{
  font-family:'Cormorant Garamond', Georgia, serif;
  color:var(--maroon-dark);
  font-weight:600;
  line-height:1.15;
}

h1{ font-size:clamp(2.4rem, 5vw, 3.6rem); }
h2{ font-size:clamp(1.8rem, 3.4vw, 2.5rem); margin-bottom:.5rem; }
h3{ font-size:1.25rem; }

.script{
  font-family:'Mrs Saint Delafield', cursive;
  color:var(--gold);
  font-size:1.6rem;
  font-weight:400;
}

.small-caps{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  color:var(--ink-soft);
}

a{ color:var(--maroon); text-decoration:none; }
a:hover{ color:var(--maroon-dark); }

.bg-ivory-deep{ background:var(--ivory-deep); }
.bg-maroon{ background:var(--maroon); color:#fff; }
.bg-maroon .stat span{ color:#f0d9c8; }

section{ padding:4.5rem 0; }
@media (max-width:767px){ section{ padding:3rem 0; } }

/* -------------------- Header / Nav -------------------- */
.site-header{
  position:sticky; top:0; z-index:1030;
  background:rgba(253,249,244,.96);
  backdrop-filter:blur(6px);
  box-shadow:0 1px 0 rgba(90,20,40,.06);
  transition:box-shadow .25s ease, padding .25s ease;
}
.site-header.scrolled{ box-shadow:var(--shadow-soft); }
.site-header .navbar-brand img{ height:52px; width:auto; transition:height .25s ease; }
.site-header.scrolled .navbar-brand img{ height:42px; }

.nav-link{
  color:var(--ink) !important;
  font-weight:500;
  font-size:.94rem;
  padding:.5rem .9rem !important;
}
.nav-link:hover, .nav-link.active{ color:var(--maroon) !important; }
.dropdown-menu{ border:none; box-shadow:var(--shadow-soft); border-radius:4px; }
.dropdown-item:hover{ background:var(--ivory-deep); color:var(--maroon); }

.nav-rating-pill{
  align-items:center; gap:.4rem;
  background:var(--ivory-deep);
  border:1px solid var(--gold-light);
  border-radius:999px;
  padding:.3rem .8rem;
  font-size:.78rem;
  color:var(--ink-soft);
  margin-right:.75rem;
}
.nav-rating-pill .stars{ color:var(--gold); letter-spacing:1px; font-size:.7rem; }

.nav-book-btn{
  background:var(--maroon);
  color:#fff !important;
  border-radius:999px;
  padding:.55rem 1.3rem !important;
  margin-left:.4rem;
}
.nav-book-btn:hover{ background:var(--maroon-dark); }

/* -------------------- Buttons -------------------- */
.btn{
  border-radius:2px;
  padding:.7rem 1.6rem;
  font-size:.88rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-weight:600;
  transition:all .25s ease;
}
.btn-maroon{ background:var(--maroon); color:#fff; border:1px solid var(--maroon); }
.btn-maroon:hover{ background:var(--maroon-dark); border-color:var(--maroon-dark); color:#fff; }

.btn-ghost-light{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.7); }
.btn-ghost-light:hover{ background:#fff; color:var(--maroon-dark); }

.btn-outline-gold{ background:transparent; color:var(--maroon-dark); border:1px solid var(--gold); }
.btn-outline-gold:hover{ background:var(--gold); color:#fff; border-color:var(--gold); }

/* -------------------- Hero -------------------- */
.hero{ position:relative; color:#fff; padding:9rem 0 6rem; overflow:hidden; }
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transform:scale(1.04);
}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(30,10,18,.55) 0%, rgba(30,10,18,.72) 100%);
}
.hero-content{ position:relative; z-index:2; }
.hero h1{ color:#fff; }
.hero-badges{ display:flex; gap:2rem; flex-wrap:wrap; margin-top:2.5rem; }
.hero-badge b{
  display:block; font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; color:var(--gold-light);
}
.hero-badge div{ font-size:.82rem; color:#e9dccf; }

.page-hero{ padding:6.5rem 0 4rem; }
.breadcrumb-bar a{ color:#e9dccf; }
.breadcrumb-bar a:hover{ color:#fff; }
.breadcrumb-bar .current{ color:var(--gold-light); }

/* -------------------- Section heads -------------------- */
.section-head{ margin-bottom:2.5rem; }
.section-head.center{ text-align:center; max-width:640px; }
.eyebrow{
  display:flex; align-items:center; gap:.5rem;
  color:var(--gold); text-transform:uppercase;
  letter-spacing:.12em; font-size:.78rem; font-weight:600;
  margin-bottom:.6rem;
}
.eyebrow::before{
  content:''; display:inline-block; width:26px; height:1px; background:var(--gold);
}

/* -------------------- Service cards -------------------- */
.service-card{
  background:#fff; border-radius:4px; overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:transform .3s ease, box-shadow .3s ease;
  height:100%;
}
.service-card:hover{ transform:translateY(-6px); box-shadow:0 16px 34px rgba(90,20,40,.16); }
.service-card .img-wrap{ aspect-ratio:4/3; overflow:hidden; }
.service-card .img-wrap img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.service-card:hover .img-wrap img{ transform:scale(1.07); }
.service-card .body{ padding:1.1rem 1.2rem 1.3rem; }
.service-card .num{
  font-family:'Cormorant Garamond',serif;
  color:var(--gold); font-size:1rem; font-weight:600;
}

/* -------------------- Stats -------------------- */
.stat{ padding:1rem 0; }
.stat b{
  display:block; font-family:'Cormorant Garamond',serif;
  font-size:2.6rem; color:#fff; font-weight:600;
}
.stat span{ font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; }

/* -------------------- Why us / steps -------------------- */
.step{ padding:1.5rem 0; border-top:1px solid var(--ivory-deep); }
.step .idx{
  font-family:'Cormorant Garamond',serif;
  color:var(--gold); font-size:1.6rem; font-weight:600; margin-bottom:.3rem;
}

/* -------------------- Gallery -------------------- */
.gallery-item{
  border-radius:3px; overflow:hidden; aspect-ratio:1/1;
  box-shadow:var(--shadow-soft);
}
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.gallery-item:hover img{ transform:scale(1.08); }

.gallery-filter{ display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; margin-bottom:2rem; }
.gallery-filter [data-filter]{
  border:1px solid var(--gold-light); background:#fff; color:var(--ink);
  border-radius:999px; padding:.45rem 1.1rem; font-size:.82rem;
  cursor:pointer; transition:all .2s ease;
}
.gallery-filter [data-filter]:hover{ border-color:var(--gold); }
.gallery-filter [data-filter].active{ background:var(--maroon); border-color:var(--maroon); color:#fff; }

.related-card{
  background:#fff; border-radius:4px; overflow:hidden;
  box-shadow:var(--shadow-soft); height:100%;
  transition:transform .3s ease;
}
.related-card:hover{ transform:translateY(-4px); }

/* -------------------- Reviews -------------------- */
.rating-block{ display:flex; align-items:center; gap:1rem; justify-content:center; margin-top:1rem; }
.rating-score{ font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--maroon-dark); font-weight:700; }
.google-g{ width:16px; height:16px; vertical-align:-3px; margin-right:.2rem; }

.review-card{
  background:#fff; border-radius:4px; padding:1.6rem;
  box-shadow:var(--shadow-soft); height:100%;
}
.review-card .stars{ color:var(--gold); letter-spacing:2px; display:block; margin-bottom:.6rem; }
.review-card .who{ display:flex; align-items:center; gap:.7rem; margin-top:1.1rem; }
.review-avatar{
  width:36px; height:36px; border-radius:50%;
  background:var(--ivory-deep); color:var(--maroon-dark);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.9rem; flex:0 0 auto;
}

/* -------------------- CTA band -------------------- */
.cta-band{
  background:linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%);
  border-radius:6px;
}

/* -------------------- FAQ / accordion -------------------- */
.accordion-item{ border:none; border-bottom:1px solid var(--ivory-deep); background:transparent; }
.accordion-button{
  background:transparent; color:var(--maroon-dark);
  font-weight:600; font-size:1rem; padding:1rem 0;
  box-shadow:none !important;
}
.accordion-button:not(.collapsed){ color:var(--maroon); background:transparent; }
.accordion-button::after{ filter:hue-rotate(300deg) saturate(3); }
.accordion-body{ padding:0 0 1.2rem; color:var(--ink-soft); }

/* -------------------- Forms -------------------- */
.form-label{ font-size:.85rem; font-weight:600; color:var(--ink); margin-bottom:.35rem; }
.form-control, .form-select{
  border:1px solid #e3d8cf; border-radius:2px;
  padding:.65rem .9rem; font-size:.95rem;
  background:#fff;
}
.form-control:focus, .form-select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 .2rem rgba(184,137,74,.18);
}

/* -------------------- Feature items -------------------- */
.feature-item{ text-align:center; padding:1.5rem 1rem; }
.feature-icon{
  width:60px; height:60px; border-radius:50%;
  background:var(--ivory-deep); color:var(--maroon);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin:0 auto 1rem;
}

/* -------------------- Footer -------------------- */
.site-footer{
  background:var(--maroon-dark); color:#e9dccf;
  padding:4.5rem 0 0; margin-top:2rem;
}
.site-footer h6{
  color:#fff; text-transform:uppercase; letter-spacing:.08em;
  font-size:.82rem; margin-bottom:1.2rem;
}
.site-footer a{ color:#e9dccf; }
.site-footer a:hover{ color:var(--gold-light); }
.site-footer .flogo{ height:48px; margin-bottom:1rem; filter:brightness(0) invert(1); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.5rem; padding:1.2rem 0;
  font-size:.8rem; color:#c9b3a8;
}

.social-round{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.08); margin-right:.5rem;
  color:#fff !important; transition:background .2s ease;
}
.social-round:hover{ background:var(--gold); }

/* -------------------- Floating WhatsApp / back-to-top -------------------- */
.float-whatsapp{
  position:fixed; right:22px; bottom:22px; z-index:1040;
  width:54px; height:54px; border-radius:50%;
  background:#25D366; color:#fff !important;
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; box-shadow:0 8px 20px rgba(0,0,0,.25);
  transition:transform .2s ease;
}
.float-whatsapp:hover{ transform:scale(1.08); }

.totop{
  position:fixed; right:22px; bottom:86px; z-index:1040;
  width:40px; height:40px; border-radius:50%;
  background:var(--maroon); color:#fff !important;
  display:flex; align-items:center; justify-content:center;
  font-size:.65rem; font-weight:700; letter-spacing:.05em;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .25s ease;
}
.totop.show{ opacity:1; visibility:visible; transform:translateY(0); }

/* -------------------- Scroll reveal -------------------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* -------------------- Misc -------------------- */
::selection{ background:var(--gold-light); color:var(--maroon-dark); }

@media (max-width:991px){
  .navbar-collapse{
    background:#fff; margin-top:1rem; padding:1rem 1.2rem;
    border-radius:6px; box-shadow:var(--shadow-soft);
  }
}
