/* ===================================================
   BMECP Centre — Custom styles (Bootstrap override)
   =================================================== */

@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap");

/* --- Brand tokens ---------------------------------- */
:root {
  --brand-navy:   oklch(18% .04 265);
  --brand-purple: #7c3aed;
  --brand-green:  #16a34a;
  --brand-yellow: #fde047;
  --bg:           #f8f9fc;
  --card-bg:      #ffffff;
  --border:       #e5e7f0;
  --muted-fg:     #6b7280;
  --radius:       0.75rem;
}

/* --- Base ------------------------------------------ */
*,::after,::before{box-sizing:border-box}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;background-color:var(--bg);color:#1a1f3c;-webkit-font-smoothing:antialiased;margin:0}
h1,h2,h3,h4,h5,h6{font-family:"Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:-.02em}

/* --- Section container ----------------------------- */
.section-container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:1rem}
@media (min-width:576px){
.section-container{padding-inline:1.5rem}
}
@media (min-width:992px){
.section-container{padding-inline:2rem}
}


/* === HERO ========================================== */
.hero{background-color:var(--brand-navy);color:#fff}
.hero .section-container{padding-top:3.5rem;padding-bottom:3.5rem}
section.hero h1{font-weight:700;font-size:3rem}
.hero-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:var(--brand-yellow);display:block}
.hero h1{color:#fff;margin-top:.75rem}
.hero p{color:rgba(255,255,255,.7);max-width:42rem;margin-top:1rem}

/* === ROOM CARDS ==================================== */
.room-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .2s;height:100%}
.roomWrp{padding-top:3.5rem;padding-bottom:3.5rem}
.room-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1)}
.room-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;height:auto;border-radius:19px 19px 0 0}
.room-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.room-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--muted-fg);flex-wrap:wrap}
.room-meta span{display:inline-flex;align-items:center;gap:.25rem}
.room-card h2{font-size:1.15rem;font-weight:700;margin:.5rem 0 .25rem}
.room-card p{font-size:.875rem;color:var(--muted-fg);margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.room-card-footer{display:flex;align-items:flex-end;justify-content:space-between;margin-top:1rem;gap:.75rem}
.rate-label-sm{font-size:.75rem;color:var(--muted-fg)}
.rate-value{font-size:.875rem;font-weight:700;color:var(--brand-purple)}
.btn-view{display:inline-flex;align-items:center;gap:.25rem;background:var(--brand-navy);color:#fff;font-size:.875rem;font-weight:600;padding:.4rem .9rem;border-radius:.4rem;text-decoration:none;border:none;transition:opacity .15s;white-space:nowrap}
.btn-view:hover{opacity:.88;color:#fff}

/* === ROOM DETAIL =================================== */
.back-link{font-size:.875rem;color:var(--muted-fg);text-decoration:none;margin: 0;}
.back-link:hover{color:var(--brand-navy)}
.detail-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.gallery{width:100%;max-width:100%;margin:0}
.gallery-slider{width:100%;height:auto;margin:0 0 10px 0}
.gallery-slider .swiper-slide{width:auto}
.gallery-slider .swiper-slide img{display:block;width:100%;height:auto;margin:0 auto;aspect-ratio:16/10;border-radius:15px;object-fit:cover}
.gallery-thumbs{width:100%;padding:0;overflow:hidden}
.gallery-thumbs .swiper-slide{width:100%;height:auto;text-align:center;overflow:hidden}
.gallery-thumbs .swiper-slide-active{opacity:1}
.gallery-thumbs .swiper-slide img{width:100%;height:auto;border-radius:8px;aspect-ratio:2/1.5;object-fit:cover;cursor:pointer}
.swiper-slide.swiper-slide-thumb-active{border:2px solid #7c40ee;border-radius:12px}
.gallery-thumbs .swiper-button-next:after,.gallery-thumbs .swiper-button-prev:after{color:#000;font-size:12px}
.gallery-thumbs .sliderlr{background:#fff;width:35px;height:35px;border-radius:100px;font-weight:600}

.col-12.col-lg-5.detail-sticky_wrap {
    position: sticky;
    top: 140px;
}
.roomWrp {
  background: var(--bg)!important;
}
.rm_dt {
  background: var(--bg);
}

@media (max-width: 767px) {
.detail-card.detail-sticky h1 {
  font-size: 20px !important;
}
.col-12.col-md-6 {
  margin-top: 20px;
}
.row.g-5.mt-4 {
  margin-top: 0 !important;
}
.back-link {
  margin-bottom: 0;
}
.pricing-value {
  font-size: 14px;
}
section.hero h1 {
    font-size: 2rem;
}
.hero .section-container {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.roomWrp {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
}

@media (min-width: 992px) {.detail-sticky { position: sticky; top: 80px; }}
.pricing-box{background:#f0f0f8;border-radius:.5rem;padding:1rem;margin-top:1.5rem}
.pricing-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}
.pricing-value{font-size:1.05rem;font-weight:700;color:var(--brand-purple);margin-top:.2rem}
.btn-book-now{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:var(--brand-yellow);color:var(--brand-navy);font-weight:700;padding:.75rem 1.25rem;border-radius:.4rem;text-decoration:none;margin-top:1.5rem;border:none;transition:filter .15s}
.btn-book-now:hover{filter:brightness(.93);color:var(--brand-navy)}
.amenity-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(22,163,74,.15);color:var(--brand-green);flex-shrink:0}
.layout-badge{display:inline-block;border:1px solid var(--border);background:var(--card-bg);border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}
.facilities-heading{font-size:1.75rem;font-weight:700;color:var(--brand-green)}
.facilities-icon{color:#efce1f;flex-shrink:0}
.need-box{background:rgba(240,240,248,.6);border-radius:var(--radius);padding:1.5rem}


/* page min-height helper */
.page-wrap { min-height: 100vh; background: var(--bg); }
