/* =========================================================
   EduRoute360 - css/style.css (FULL FILE - OPTIMISED)
   PURPOSE:
   - Core template layout + HERO/BANNER behavior
   - Alignment-safe with Bootstrap grid (gutters preserved)
   - Header full-width red bar (no white gap)
   - Campus address section: desktop side-by-side layout
   - Footnote alignment
   - NO sticky button styling
   - NO compliance/patch blocks (those go into /styles.css)
   ========================================================= */

/* ---------- Global sizing ---------- */
*{ box-sizing: border-box; }
html, body{ width: 100%; height: 100%; }
body{
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  background: #f4f4f4;
}
img{ max-width: 100%; }
.clearB{ clear: both; display: block; }

/* Site width constant */
:root{
  --site-max: 1200px;
  /* Bootstrap container padding is typically 0.75rem (12px) on each side */
  --site-gutter: calc(var(--bs-gutter-x, 1.5rem) * .5);
}

/* Small helper (used in heading) */
.r-color{ color: #d4202d; }

/* ---------- Wrapper ---------- */
#wrapper{
  width: 100%;
  margin: 0;
  padding: 0;
}

/*
  IMPORTANT ALIGNMENT FIX:
  Keep a single .container that is Bootstrap-compatible.
  - Preserves gutters for .row/.col grid alignment
  - Ensures all sections align consistently on desktop
*/
.container{
  width: 100%;
  max-width: var(--site-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
}

/* ---------- Header ---------- */
header{ background: #fff; }

/* ensure header background is full-width red (removes right-side white block) */
.nmins_header{
  width: 100%;
  background: #d4202d; /* ✅ full-width */
  border-bottom: 1px solid rgba(0,0,0,0.08);
  display: flow-root; /* clear legacy floats safely */
}

/* keep compatibility even if old markup adds R-nmims-head later */
.L-nmims-head,
.R-nmims-head{
  float: none;
  width: 100%;
  background: transparent;
}

/* align logo with the same container width & gutters */
.L-nmims-head{
  padding: 12px 0;
}
.nmims_logo{
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 0 var(--site-gutter);
  text-align: left;
}
.nmims_logo a{ display: inline-block; }
.nmims_logo img{
  height: auto;
  max-height: 56px;
  width: auto;
  max-width: 100%;
  display: inline-block;
}

/* ---------- Banner / Hero (DESKTOP DEFAULT) ---------- */
.banner_section{
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #000; /* prevents white flash while image loads */
}
.main_banner{
  position: relative;   /* anchor for absolute overlay */
  width: 100%;
}
.main_banner .responsive_img{
  width: 100%;          /* keeps hero image centred/fluid */
  height: auto;
  display: block;
}

/*
  Desktop overlay sits ON the image and aligns with .container gutters.
  IMPORTANT: overlay is absolute relative to .main_banner (positioned).
*/
.banner_overlay{
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--site-max);
  height: 100%;
  z-index: 10;
  pointer-events: none;
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
}
.banner_overlay::after{
  content: "";
  display: block;
  clear: both;
}

/* Columns inside overlay (legacy floats retained for stability) */
.L-banner-box{
  width: 66%;
  float: left;
  padding: 190px 0 0 0;
  color: #fff;
  pointer-events: none;
}
.R-banner-box{
  width: 34%;
  float: left;
  padding-top: 90px;
  pointer-events: auto; /* form must be interactive */
}

/* Desktop hero text */
.L-banner-box h1,
.L-banner-box h2{
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.2px;
}
.L-banner-box h3{
  margin: 10px 0 0 0;
  font-weight: 700;
}

/* Mobile hero box exists in HTML but hidden on desktop */
.L-banner-box.mobile_banner_box{
  display: none;
}

/* ---------- Enquiry form card (right side) ---------- */
.free_sample_form{
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.18);
  padding: 18px 28px;
  margin-top: 22px;
}
.free_sample_form h3{
  margin: 0 0 8px 0;
  font-size: 26px;
  font-weight: 800;
  color: #111;
}

/* Form field styling */
.name-box ul,
.send-box ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.name-box li,
.send-box li{
  margin: 0 0 10px 0;
}
.name-box label{
  font-size: 12px;
  color: #222;
  font-weight: 700;
  display: block;
  margin-bottom: 6px;
}
.name-box input,
.name-box select{
  width: 100%;
  font-size: 13px;
  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,0.18);
  border-radius: 6px;
  outline: none;
}
.name-box input:focus,
.name-box select:focus{
  border-color: rgba(0,0,0,0.38);
}

/* ---------- Headings / Sections (lightweight base) ---------- */
.heading01{
  font-size: 32px;
  font-weight: 800;
  margin: 0 0 20px 0;
  position: relative;
}
.heading01:after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 55px;
  height: 3px;
  background: #d4202d;
}
.heading01W{
  font-size: 30px;
  font-weight: 900;
  margin: 0 0 22px 0;
  color: #fff;
}

/* =========================================================
   SECTION SPACING (keep page consistent)
   IMPORTANT: Section 02 is controlled separately to avoid gaps
   ========================================================= */
.section02{ padding: 0; background: #ffffff; }
.section03, .section05, .section7{ padding: 35px 0; }

.aboutnmims_section,
.regional_office_section{
  background: #ffffff;
}

.distance_learning_programme_section{
  background: #101010;
  color: #ffffff;
  padding: 40px 0 30px 0;
}

/* =========================================================
   SECTION 02 (Elevate Your Career) - CLEAN LAYOUT (NO GAP)
   - Decorative art is absolute so it adds ZERO layout height
   ========================================================= */
.nmims-acc-banner{
  width: 100%;
  height: auto;
  display: block;
}

/* Section wrapper */
.bfuture_ready_section{
  position: relative;
  background: #ffffff;
  padding: 35px 0;
  overflow: hidden; /* prevents decorative bg from creating scroll */
}

/* Decorative background (no layout height) */
.bfr_gac{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 520px;
  height: 320px;
  background: url("../images/bfr_gac_bg.png") no-repeat left bottom;
  background: image-set(url(../images/bfr_gac_bg.avif) type("image/avif"), url(../images/bfr_gac_bg.webp) type("image/webp"), url("../images/bfr_gac_bg.png") type("image/png")) no-repeat left bottom;
  background-size: contain;
  opacity: 0.10;
  pointer-events: none;
  z-index: 0;
}

/* Content sits above decorative background */
.bfuture_ready_section .container{
  position: relative;
  z-index: 1;
  display: flex;
  gap: 28px;
  align-items: center;
}

/* Left image */
.bfr_img{
  flex: 0 0 320px;
  max-width: 320px;
}
.bfr_img img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* Right content */
.bfr_content{ flex: 1; }
.bfr_content > span{
  display: inline-block;
  margin: 6px 0 10px 0;
  color: #333;
}
.bfr_content p{
  margin: 0;
  color: #222;
  line-height: 1.55;
}

/* CTA */
.bfr_cta{
  text-align: center;
  margin-top: 14px;
}
.bfr_cta .btn{
  background-color: #D4202D !important;
  border-color: #D4202D !important;
  color: #ffffff !important;
  font-weight: 800;
  padding: 10px 16px;
}

/* =========================================================
   Course section footnote (aligned + readable)
   ========================================================= */
.karm-footnote{
  margin: 14px auto 0 auto;
  max-width: 980px;
  font-size: 12px;
  line-height: 1.45;
  color: #333;
  text-align: center;
}

/* =========================================================
   SECTION 07 (Campus Address) - DESKTOP SIDE-BY-SIDE LAYOUT
   Fixes screenshot issue where image drops below text on desktop
   ========================================================= */
.regional_office_section .container{
  display: flex;
  gap: 32px;
  align-items: center;
}
.L-regional_ofc{
  flex: 1 1 auto;
  min-width: 0;
}
.R-regional_ofc{
  flex: 0 0 520px;
  max-width: 520px;
}
.R-regional_ofc img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* ---------- Footer ---------- */
.footer-section{
  background: #111;
  color: #fff;
  padding: 14px 0;
}
.footer-section a{ color: #fff; text-decoration: underline; }
.footer-section p{
  margin: 0;
  font-size: 13px;
}

/* -----------------------------
   Section 02 responsive (only)
   ----------------------------- */
@media (max-width: 1000px){
  .bfuture_ready_section .container{
    flex-direction: column;
    align-items: stretch;
  }

  .bfr_img{
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
  }

  .bfr_gac{
    width: 360px;
    height: 220px;
    opacity: 0.08;
  }

  /* campus address stacks on mobile/tablet */
  .regional_office_section .container{
    flex-direction: column;
    align-items: stretch;
  }
  .R-regional_ofc{
    flex: 0 0 auto;
    max-width: 620px;
    margin: 10px auto 0 auto;
  }
}
