
/* =========================================================
   V23.5 — Student services + portal links + final spacing
   ========================================================= */

body.rebuild-v1 .portal-links-v235{
  gap:8px !important;
}

body.rebuild-v1 .portal-links-v235 a{
  position:relative;
  min-height:44px;
}

body.rebuild-v1 .portal-links-v235 a small{
  margin-right:auto;
  margin-left:8px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#d8ebff;
  font-size:7px;
  font-weight:800;
}

body.rebuild-v1 .student-services-v235{
  padding:28px 0 30px;
  background:linear-gradient(180deg,#f7faff,#eef5fc);
}

body.rebuild-v1 .student-services-v235__head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:18px;
}

body.rebuild-v1 .student-services-v235__head span{
  display:block;
  color:#0a65bf;
  font-size:9px;
  font-weight:800;
}

body.rebuild-v1 .student-services-v235__head h2{
  margin:6px 0 5px;
  color:#0b2f58;
  font-size:28px;
}

body.rebuild-v1 .student-services-v235__head p{
  margin:0;
  color:#718397;
  font-size:10px;
  line-height:1.8;
}

body.rebuild-v1 .student-services-v235__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

body.rebuild-v1 .student-service-card-v235{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:16px;
  align-items:start;
  min-height:220px;
  padding:22px;
  border:1px solid #dfe8f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(6,40,80,.06);
}

body.rebuild-v1 .student-service-card-v235__icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(145deg,#edf6ff,#dbeaff);
  font-size:27px;
}

body.rebuild-v1 .student-service-card-v235__meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
}

body.rebuild-v1 .student-service-card-v235__meta small{
  color:#8191a2;
  font-size:8px;
}

body.rebuild-v1 .service-status-v235{
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
}

body.rebuild-v1 .service-status-v235--open,
body.rebuild-v1 .service-status-v235--available{
  background:#e7f8ee;
  color:#207344;
}

body.rebuild-v1 .service-status-v235--soon{
  background:#fff4dd;
  color:#9b6711;
}

body.rebuild-v1 .service-status-v235--closed,
body.rebuild-v1 .service-status-v235--unavailable{
  background:#f2f4f6;
  color:#657587;
}

body.rebuild-v1 .student-service-card-v235 h3{
  margin:0 0 7px;
  color:#14395f;
  font-size:20px;
}

body.rebuild-v1 .student-service-card-v235 p{
  margin:0;
  color:#687d91;
  font-size:10px;
  line-height:1.9;
}

body.rebuild-v1 .student-service-dates-v235{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}

body.rebuild-v1 .student-service-dates-v235 span,
body.rebuild-v1 .student-service-term-v235{
  display:inline-flex;
  margin-top:11px;
  padding:7px 9px;
  border-radius:9px;
  background:#f4f8fc;
  color:#536b82;
  font-size:8px;
}

body.rebuild-v1 .student-service-card-v235 a{
  display:inline-flex;
  margin-top:14px;
  color:#0a61b8;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}

body.rebuild-v1 .student-service-disabled-v235{
  display:inline-block;
  margin-top:14px;
  color:#93a1ae;
  font-size:8px;
}

/* final tightening between key sections */
body.rebuild-v1 .quick-access{
  padding-bottom:12px !important;
}

body.rebuild-v1 .student-services-v235 + .about{
  padding-top:24px !important;
}

body.rebuild-v1 .about,
body.rebuild-v1 .departments,
body.rebuild-v1 .home-pages23,
body.rebuild-v1 .director-v234,
body.rebuild-v1 .news,
body.rebuild-v1 .events,
body.rebuild-v1 .home-gallery232,
body.rebuild-v1 .files{
  padding-top:24px !important;
  padding-bottom:24px !important;
}

body.rebuild-v1 .home-pages23{
  padding-bottom:20px !important;
}

body.rebuild-v1 .director-v234{
  padding-top:20px !important;
}

body.rebuild-v1 .section-head{
  margin-bottom:16px !important;
}

/* Admin */
.student-services-v235{
  grid-column:1/-1;
}

.student-service-box{
  margin-top:16px;
  padding:18px;
  border:1px solid #dce7f1;
  border-radius:14px;
  background:#f8fbff;
}

.student-service-box__head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:14px;
}

.student-service-box__head strong,
.student-service-box__head small{
  display:block;
}

.student-service-box__head strong{
  color:#173c62;
}

.student-service-box__head small{
  margin-top:4px;
  color:#8191a1;
}

.student-service-toggle{
  display:flex !important;
  flex-direction:row !important;
  gap:8px !important;
  align-items:center !important;
  white-space:nowrap;
}

.student-service-toggle input{
  width:auto !important;
}

@media(max-width:760px){
  body.rebuild-v1 .student-services-v235__grid{
    grid-template-columns:1fr;
  }

  body.rebuild-v1 .student-service-card-v235{
    min-height:0;
  }

  .student-service-box__head{
    flex-direction:column;
  }
}

@media(max-width:520px){
  body.rebuild-v1 .student-services-v235{
    padding:22px 0;
  }

  body.rebuild-v1 .student-service-card-v235{
    grid-template-columns:52px minmax(0,1fr);
    padding:17px;
  }

  body.rebuild-v1 .student-service-card-v235__icon{
    width:52px;
    height:52px;
    border-radius:14px;
    font-size:22px;
  }

  body.rebuild-v1 .student-services-v235__head h2{
    font-size:23px;
  }
}


/* =========================================================
   V23.6 — clearer status badges and stronger state colors
   ========================================================= */

/* Hero portal status badges */
body.rebuild-v1 .portal-links-v235 a small{
  min-width:72px !important;
  min-height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  margin-right:auto !important;
  margin-left:10px !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  border:1px solid transparent !important;
  box-shadow:0 4px 12px rgba(0,0,0,.10) !important;
}

/* Registration state in portal */
body.rebuild-v1 .portal-links-v235 a:nth-child(2) small{
  background:#1f9d55 !important;
  color:#fff !important;
  border-color:#57c787 !important;
}

/* Results state in portal */
body.rebuild-v1 .portal-links-v235 a:nth-child(3) small{
  background:#1f67d2 !important;
  color:#fff !important;
  border-color:#5d95eb !important;
}

/* Main student services status badges */
body.rebuild-v1 .service-status-v235{
  min-width:96px !important;
  min-height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  border:1px solid transparent !important;
  box-shadow:0 5px 14px rgba(7,42,84,.08) !important;
}

body.rebuild-v1 .service-status-v235::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:currentColor;
  opacity:.95;
}

body.rebuild-v1 .service-status-v235--open{
  background:#e7f8ee !important;
  color:#16753e !important;
  border-color:#a8dfbd !important;
}

body.rebuild-v1 .service-status-v235--available{
  background:#eaf2ff !important;
  color:#185fc4 !important;
  border-color:#b6d0f7 !important;
}

body.rebuild-v1 .service-status-v235--soon{
  background:#fff4dd !important;
  color:#b67100 !important;
  border-color:#f4cf80 !important;
}

body.rebuild-v1 .service-status-v235--closed,
body.rebuild-v1 .service-status-v235--unavailable{
  background:#fff0ed !important;
  color:#cf3f23 !important;
  border-color:#f0b1a4 !important;
}

/* Make the service titles and action buttons visually stronger */
body.rebuild-v1 .student-service-card-v235 h3{
  font-size:22px !important;
  line-height:1.45 !important;
}

body.rebuild-v1 .student-service-card-v235 a{
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:9px 14px !important;
  border-radius:10px !important;
  background:#0f63bd !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:900 !important;
  box-shadow:0 7px 16px rgba(15,99,189,.16) !important;
}

body.rebuild-v1 .student-service-card-v235--registration a{
  background:#188a4a !important;
  box-shadow:0 7px 16px rgba(24,138,74,.16) !important;
}

body.rebuild-v1 .student-service-card-v235--results a{
  background:#1f67d2 !important;
  box-shadow:0 7px 16px rgba(31,103,210,.16) !important;
}

/* Admin: improve visibility of the state selector itself */
.student-services-v235 select[name="registration_status"],
.student-services-v235 select[name="results_status"]{
  font-weight:800 !important;
  color:#173b61 !important;
}

/* Responsive */
@media(max-width:620px){
  body.rebuild-v1 .portal-links-v235 a small{
    min-width:66px !important;
    min-height:26px !important;
    font-size:9px !important;
    padding:5px 9px !important;
  }

  body.rebuild-v1 .service-status-v235{
    min-width:88px !important;
    min-height:30px !important;
    font-size:10px !important;
  }

  body.rebuild-v1 .student-service-card-v235 h3{
    font-size:20px !important;
  }
}


/* =========================================================
   V23.7 — News & Announcements cards polish
   ========================================================= */

/* Keep the news grid compact and visually balanced */
body.rebuild-v1 .news-grid,
body.rebuild-v1 .news-grid-v2,
body.rebuild-v1 .news-grid-v235{
  align-items:stretch !important;
}

/* Common news-card selectors used across the homepage versions */
body.rebuild-v1 .news-card,
body.rebuild-v1 .news-card-v2,
body.rebuild-v1 .news-card-v235{
  height:100% !important;
  overflow:hidden !important;
  border-radius:18px !important;
  border:1px solid rgba(14,56,96,.12) !important;
  background:#fff !important;
  box-shadow:0 8px 24px rgba(8,42,80,.045) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.rebuild-v1 .news-card:hover,
body.rebuild-v1 .news-card-v2:hover,
body.rebuild-v1 .news-card-v235:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(24,103,189,.24) !important;
  box-shadow:0 14px 32px rgba(8,42,80,.09) !important;
}

/* Uniform image presentation */
body.rebuild-v1 .news-card img,
body.rebuild-v1 .news-card-v2 img,
body.rebuild-v1 .news-card-v235 img{
  width:100% !important;
  height:210px !important;
  object-fit:cover !important;
  display:block !important;
}

/* News/announcement badge */
body.rebuild-v1 .news-card .badge,
body.rebuild-v1 .news-card-v2 .badge,
body.rebuild-v1 .news-card-v235 .badge,
body.rebuild-v1 .news-badge{
  min-width:42px !important;
  min-height:26px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  background:#eef5ff !important;
  color:#125eaf !important;
  border:1px solid #c9ddf6 !important;
}

/* If the existing template exposes announcement-specific classes */
body.rebuild-v1 .badge-announcement,
body.rebuild-v1 .news-badge--announcement{
  background:#fff1e8 !important;
  color:#b95a12 !important;
  border-color:#f2c49f !important;
}

/* Typography and vertical rhythm */
body.rebuild-v1 .news-card h3,
body.rebuild-v1 .news-card-v2 h3,
body.rebuild-v1 .news-card-v235 h3{
  font-size:18px !important;
  line-height:1.7 !important;
  font-weight:900 !important;
  color:#082d57 !important;
  margin:8px 0 7px !important;
}

body.rebuild-v1 .news-card p,
body.rebuild-v1 .news-card-v2 p,
body.rebuild-v1 .news-card-v235 p{
  font-size:13px !important;
  line-height:1.8 !important;
  color:#667789 !important;
}

/* Dates: more legible and ready for Arabic date output from Blade */
body.rebuild-v1 .news-card time,
body.rebuild-v1 .news-card-v2 time,
body.rebuild-v1 .news-card-v235 time,
body.rebuild-v1 .news-date{
  display:block !important;
  font-size:11px !important;
  line-height:1.4 !important;
  color:#738396 !important;
  margin-bottom:5px !important;
}

/* Keep "read more" aligned toward the bottom when card uses flex */
body.rebuild-v1 .news-card .read-more,
body.rebuild-v1 .news-card-v2 .read-more,
body.rebuild-v1 .news-card-v235 .read-more,
body.rebuild-v1 .news-read-more{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  margin-top:auto !important;
  padding-top:10px !important;
  color:#1267b7 !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

@media(max-width:900px){
  body.rebuild-v1 .news-card img,
  body.rebuild-v1 .news-card-v2 img,
  body.rebuild-v1 .news-card-v235 img{
    height:195px !important;
  }
}

@media(max-width:620px){
  body.rebuild-v1 .news-card img,
  body.rebuild-v1 .news-card-v2 img,
  body.rebuild-v1 .news-card-v235 img{
    height:190px !important;
  }
  body.rebuild-v1 .news-card h3,
  body.rebuild-v1 .news-card-v2 h3,
  body.rebuild-v1 .news-card-v235 h3{
    font-size:17px !important;
  }
}
