/* Blue Mine Holdings v2 — Responsive styles */
:root{
  --bm-deep:#0b2447;
  --bm-blue:#19376d;
  --bm-accent:#2b7abf;
  --bm-light:#e6f0ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:#1f2937}
.bg-gradient-dark{background:linear-gradient(180deg,#0b2447,#19376d)}
.bg-gradient-blue{background:linear-gradient(90deg,#19376d,#2b7abf)}
.bg-body{background:#f8fafc}

.site-header .navbar{backdrop-filter:saturate(150%) blur(6px)}
.navbar .nav-link{opacity:.9}
.navbar .nav-link.active{opacity:1; font-weight:600}

.hero-spotlight{min-height:70vh; display:grid; place-items:center; padding-top:4.5rem; padding-bottom:2rem}
.hero-spotlight .hero-media{position:absolute; inset:0; overflow:hidden}
.hero-spotlight .overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.6))}
.object-cover{object-fit:cover}
.hero-badge{background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); padding:.25rem .5rem; border-radius:.5rem; display:inline-block}
.hero-media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.slideshow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: fadeSlideshow 27s infinite;
}

/* Adjust animation delay for each slide */
.slide:nth-child(1) { animation-delay: 0s; }
.slide:nth-child(2) { animation-delay: 3s; }
.slide:nth-child(3) { animation-delay: 6s; }
.slide:nth-child(4) { animation-delay: 9s; }
.slide:nth-child(5) { animation-delay: 12s; }
.slide:nth-child(6) { animation-delay: 15s; }
.slide:nth-child(7) { animation-delay: 18s; }
.slide:nth-child(8) { animation-delay: 21s; }
.slide:nth-child(9) { animation-delay: 24s; }

@keyframes fadeSlideshow {
  0%   { opacity: 0; }
  5%   { opacity: 1; }
  33%  { opacity: 1; }
  38%  { opacity: 0; }
  100% { opacity: 0; }
}

.section-pad{padding-top: clamp(2.5rem, 3vw, 4rem); padding-bottom: clamp(2.5rem, 3vw, 4rem)}

.feature, .service-card, .review{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:1rem; padding:1.25rem;
  box-shadow:0 .25rem 1rem rgba(0,0,0,.04); transition:transform .25s ease, box-shadow .25s ease;
}
.feature:hover, .service-card:hover, .review:hover{transform:translateY(-2px); box-shadow:0 .5rem 1.25rem rgba(0,0,0,.06)}
.icon-xxl{font-size:2rem}

.stone-card .card-img-top{aspect-ratio:4/3; object-fit:cover}
.gallery-item img{aspect-ratio:1/1; object-fit:cover}

footer a:hover{text-decoration:underline}

@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0; transform:translateY(12px); transition:opacity .6s ease, transform .6s ease}
  .reveal.reveal-in{opacity:1; transform:none}
}

/* Fluid type scale */
h1,.display-5{line-height:1.1}
h1{font-size:clamp(2rem, 2.2rem + 1.2vw, 3.2rem)}
h2{font-size:clamp(1.4rem, 1.2rem + .8vw, 2rem)}
.lead{font-size:clamp(1rem, .95rem + .4vw, 1.25rem)}


/* --- Full-viewport layout fixes --- */
html, body { height: 100%; }
.site-main { flex: 1 0 auto; display: flex; flex-direction: column; }

/* Dynamically sized first section = full screen minus navbar */
.site-main > section:first-of-type {
  min-height: calc(100vh - var(--nav-h, 64px));
  display: flex;
  align-items: center;
}

/* Hero should always fill full viewport minus navbar */
.hero-spotlight { min-height: calc(100vh - var(--nav-h, 64px)); }

/* Utility in case you want any section to fill the viewport */
.section-full { min-height: calc(100vh - var(--nav-h, 64px)); display: flex; align-items: center; }

tr.replied {
  background-color: #d1e7dd; /* Light green */
}
/* Filter bar polish */
.filter-bar .form-control::placeholder{opacity:.6}
.filter-bar .form-label{font-weight:600; color:#4b5563}
.filter-bar .btn{min-width: 120px}
@media (max-width: 575.98px){
  .filter-bar .btn{width:100%}
}

/* Hero slideshow fade */
.hero-spotlight .hero-media img{transition:opacity .25s ease}


/* Stones page header bar */
.stones-header{ top: var(--nav-h, 64px) !important; }
.stones-header .form-label{ font-weight:600; color:#4b5563 }
.stones-header .btn{ min-width: 120px }
@media (max-width: 575.98px){
  .stones-header .btn{ width:100% }
}
/* Add breathing room below sticky header */
#stone-grid{ margin-top: 1rem; }


/* Stones sticky toolbar inside container */
.stones-toolbar{
  position: sticky;
  top: calc(var(--nav-h, 64px) + 0.5rem);
  background:#fff;
  z-index: 1020;
}
.stones-toolbar .form-label{font-weight:600; color:#4b5563}
.stones-toolbar .btn{min-width:120px}
@media (max-width: 575.98px){
  .stones-toolbar .btn{width:100%}
}
/* Ensure grid has room below toolbar */
#stone-grid{ margin-top: .5rem; }


/* Service card image ratio */
.service-card .service-img{ width:100%; aspect-ratio:3/2; object-fit:cover }
