/*
 * RKDF Medical College — Core Layout
 * New-shell dependency only.
 * Replaces reliance on deleted legacy Bootstrap/style.css files.
 * Path: public_html/assets/css/rkdf-core.css
 */

:root{
  --rkdf-primary:#006b77;
  --rkdf-primary-dark:#004d56;
  --rkdf-accent:#f2b705;
  --rkdf-text:#1f2937;
  --rkdf-muted:#5f6b76;
  --rkdf-border:#dde5e9;
  --rkdf-white:#fff;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  min-width:0;
  overflow-x:hidden;
}

img,
video{
  max-width:100%;
}

a{
  text-decoration:none;
}

/* Shared site width — used by header, menu, pages and footer */
.container{
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:18px;
  padding-right:18px;
}

@media(max-width:767px){
  .container{
    padding-left:14px;
    padding-right:14px;
  }
}

/* Accessibility helper */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ==========================================================
   Minimal navbar primitives for the new RKDF menu.
   The visual design continues to come from include/menu.php.
   ========================================================== */
.navbar{
  position:relative;
  min-height:1px;
}

.navbar::before,
.navbar::after,
.navbar-header::before,
.navbar-header::after,
.navbar-collapse::before,
.navbar-collapse::after{
  display:table;
  content:" ";
}

.navbar::after,
.navbar-header::after,
.navbar-collapse::after{
  clear:both;
}

.nav{
  margin:0;
  padding:0;
  list-style:none;
}

.nav > li{
  position:relative;
  display:block;
}

.nav > li > a{
  position:relative;
  display:block;
}

.navbar-header{
  min-height:60px;
}

.navbar-toggle{
  position:relative;
  float:right;
  margin:12px 0 8px;
  padding:9px 10px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  cursor:pointer;
}

.navbar-toggle .icon-bar{
  display:block;
  width:22px;
  height:2px;
  margin-top:4px;
  border-radius:1px;
}

.navbar-toggle .icon-bar:first-child{
  margin-top:0;
}

.navbar-collapse{
  overflow-x:visible;
  -webkit-overflow-scrolling:touch;
}

.collapse{
  display:none;
}

.collapse.in{
  display:block;
}

.dropdown-menu{
  display:none;
  margin:0;
  padding:0;
  list-style:none;
}

.dropdown.open > .dropdown-menu{
  display:block;
}

@media(min-width:768px){
  .navbar-header{
    float:left;
    min-height:1px;
  }

  .navbar-toggle{
    display:none;
  }

  .navbar-collapse.collapse{
    display:block !important;
    height:auto !important;
    padding-bottom:0;
    overflow:visible !important;
  }

  .navbar-nav{
    float:left;
  }

  .navbar-nav > li{
    float:left;
  }

  .navbar-right{
    float:right !important;
  }

  .dropdown-menu{
    position:absolute;
    top:100%;
    left:0;
    z-index:1300;
  }

  .navbar-right .dropdown-menu{
    right:0;
    left:auto;
  }
}

@media(max-width:767px){
  .navbar-toggle{
    display:block;
  }

  .navbar-collapse.collapse{
    display:none !important;
  }

  .navbar-collapse.in{
    display:block !important;
  }

  .navbar-nav{
    width:100%;
  }

  .navbar-nav > li{
    float:none;
    width:100%;
  }

  .dropdown-menu{
    position:static;
    float:none;
    width:100%;
  }
}

/* ==========================================================
   Small responsive grid used by existing complaint form.
   ========================================================== */
.row{
  display:flex;
  flex-wrap:wrap;
  margin-left:-8px;
  margin-right:-8px;
}

.col-sm-6,
.col-sm-12{
  width:100%;
  padding-left:8px;
  padding-right:8px;
}

@media(min-width:768px){
  .col-sm-6{width:50%;}
  .col-sm-12{width:100%;}
}

/* ==========================================================
   Lightweight modal — no Bootstrap JS/CSS required.
   ========================================================== */
.modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:99999;
  overflow-y:auto;
  padding:24px 14px;
  background:rgba(2,25,30,.66);
}

.modal.is-open{
  display:block;
}

.modal-dialog{
  width:100%;
  max-width:720px;
  margin:4vh auto;
}

.modal-content{
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}

.modal-header,
.modal-body,
.modal-footer{
  padding:18px 20px;
}

.modal-header{
  position:relative;
}

.modal-header .close{
  position:absolute;
  top:12px;
  right:14px;
  border:0;
  padding:4px 8px;
  color:inherit;
  background:transparent;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}

.modal-title{
  margin:0;
  padding-right:38px;
}

.modal-footer{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  border-top:1px solid #e8eeee;
}

body.rkdf-modal-open{
  overflow:hidden;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid #ccd7d9;
  border-radius:7px;
  background:#fff;
  color:#31464a;
  font:inherit;
  cursor:pointer;
}

.alert{
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:8px;
  font-size:13px;
  line-height:1.5;
}

.alert-success{color:#155724;background:#dff3e4;border:1px solid #bfe4c8;}
.alert-danger{color:#842029;background:#f8d7da;border:1px solid #f1bfc4;}
.alert-warning{color:#664d03;background:#fff3cd;border:1px solid #ffe69c;}

/* Keep shell sections predictable */
#mu-header,
#mu-menu,
#mu-footer,
#main-content{
  width:100%;
  max-width:100%;
}

@media(max-width:480px){
  .modal{
    padding:10px;
  }

  .modal-dialog{
    margin:2vh auto;
  }

  .modal-header,
  .modal-body,
  .modal-footer{
    padding:15px;
  }
}
