/* ---------- Unified card system ---------- */
.gj-card, .gj-event-card, .gj-blog-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
    transition: .3s ease-in-out;
    overflow: hidden;
    margin-bottom: 20px;
}

.gj-card, .gj-event-card, .gj-blog-card { padding: 0; }
.gj-card:hover, .gj-event-card:hover, .gj-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

/* Date box used by many cards */
.gj-card { 
    display: flex; 
    padding: 20px; 
    align-items: flex-start;  /* prevent stretching */
}

.gj-card-date, .gj-card-date-small {
    width:80px; margin-right:18px; text-align:center; border-radius:8px; overflow:hidden; background:#eef4f4;
}
/* .gj-month { background:#b5c0c9; font-size:14px; font-weight:bold; padding:4px 0; text-transform:uppercase; }
.gj-day { font-size:32px; font-weight:bold; color:#ff6600; padding:6px 0; } */

.gj-card-date {
    background: #e9eff3;
    border-radius: 12px;
    text-align: center;
    width: 80px;
    padding: 0;
    overflow: hidden;

    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    gap: 0;
}
.gj-card-date .gj-month {
    background: #b5c0c9;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    padding: 6px 0;
    width: 100%;
    line-height: 1;
}

.gj-card-date .gj-day {
    font-size: 32px;
    font-weight: 800;
    color: #ff3c00;
    line-height: 1;
    margin: 6px 0 0 0;
    padding: 0;
}

.gj-card-date .gj-year {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin: 2px 0 4px 0;  /* perfect bottom control */
    padding: 0;
    line-height: 1;
}

/* Card body */
.gj-card-body { flex:1; padding-left:6px; }
.gj-title { font-size:18px; font-weight:bold; color:#222; margin-bottom:6px; line-height:1.2; }
.gj-desc { font-size:14px; color:#444; margin-bottom:10px; line-height:1.4; }
.gj-card-footer { display:flex; justify-content:space-between; align-items:center; font-size:13px; color:#666; }
.gj-icons i { font-size:18px; margin-left:10px; color:#222; cursor:pointer; }

/* Event card specifics */
.gj-event-image img { width:100%; height:190px; object-fit:cover; display:block; }
.gj-event-body { padding:15px; }
.gj-event-date { font-size:15px; font-weight:bold; color:#ff0000; margin-bottom:6px; }
.gj-event-title { font-size:17px; font-weight:bold; color:#333; line-height:1.3; }

/* Blog card specifics */
.gj-blog-image img { width:100%; height:210px; object-fit:cover; display:block; }
.gj-blog-body { padding:16px 18px; }
.gj-blog-date { font-size:14px; color:#ff0000; font-weight:bold; margin-bottom:6px; }
.gj-blog-title { font-size:19px; font-weight:bold; color:#222; margin-bottom:10px; line-height:1.3; min-height:52px; }
.gj-blog-meta { display:flex; justify-content:space-between; font-size:13px; color:#666; margin-bottom:12px; }
.gj-blog-desc { color:#444; font-size:14px; line-height:1.5; min-height:50px; }
.gj-blog-btn a { background:#d9534f; padding:8px 18px; color:#fff; border-radius:6px; font-size:14px; text-decoration:none; }
.gj-blog-btn a:hover { background:#c9302c; }

/* General layout tweaks */
.bg-grey { background:#f5f5f5; padding:20px 0; }
.section-header { font-weight:bold; font-size:20px; margin-bottom:5px; }
.text-center .blk-txt { margin-bottom:10px; }

/* Responsive */
@media (max-width: 767px) {
    .gj-card { flex-direction:row; min-height:auto; padding:12px; }
    .gj-card-date { width:68px; margin-right:12px; }
    .gj-day { font-size:24px; }
    .gj-blog-image img { height:160px; }
    .gj-event-image img { height:150px; }
}
/* Leadership Cards */
.leader-card {
    background: #ffffff;
    border-radius: 15px;
    padding: 20px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
    transition: 0.3s ease;
    text-align: left;
}

.leader-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.leader-img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
}

.leader-name {
    font-size: 18px;
    font-weight: bold;
    color: #222;
}

.leader-position {
    font-size: 13px;
    color: #444;
    margin-top: 4px;
}

.leader-btn-group {
    margin-top: 12px;
}

.leader-btn {
    background: #d9534f;
    color: #ffffff !important;
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    margin-right: 10px;
    display: inline-block;
}

.leader-btn:hover {
    background: #c9302c;
    color: #fff !important;
}
/* Equal card container wrapper */
.equal-card-wrapper {
    display: flex;
    height: 100%;
}

/* Big parent cards with equal height */
.equal-card {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
    padding: 20px;
    height: 100%;
}

/* YouTube iframe responsive clean */
.youtube-frame iframe {
    width: 100%;
    height: 300px;
    border-radius: 10px;
}

/* Inner title spacing */
.equal-card h4 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 12px;
}

/* Highlight events inside the same card */
.highlight-item {
    margin-bottom: 22px;
    background: #fff;
    padding-bottom: 10px;
    border-radius: 10px;
}

.highlight-item img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}

.highlight-date {
    color: #ff0000;
    font-size: 15px;
    font-weight: bold;
    margin-top: 8px;
}

.highlight-title {
    font-size: 17px;
    font-weight: 600;
    margin-top: 5px;
    color: #333;
}

.highlight-footer {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 13px;
    color: #666;
}

/* Responsive */
@media (max-width:767px){
    .equal-card { margin-bottom:20px; }
    .youtube-frame iframe { height:200px; }
}

/* Highlights Section Updated Styling */
/* Updated Compact Highlight Card */
.highlight-card {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    overflow: hidden;
    margin-bottom: 22px;
    transition: .25s ease-in-out;
    height: 370px;
}

.highlight-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}

.highlight-img {
    width: 100%;
    height: 180px;     /* Compact Image Height */
    object-fit: cover;
}

.highlight-body {
    padding: 15px;
}

.highlight-date {
    font-size: 15px;
    font-weight: 700;
    color: #d91c1c;
    margin-bottom: 6px;
}

.highlight-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    color: #222;
    min-height: 52px;     /* perfect 2-line title height */
    margin-bottom: 10px;
}

.highlight-title a {
    color: #222;
    text-decoration: none;
}

.highlight-title a:hover {
    color: #ff3a3a;
}

.highlight-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #777;
}

/* Modern Blog Card */
.blog-card {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: .25s ease-in-out;
    margin-bottom: 25px;
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

.blog-img {
    width: 100%;
    height: 170px; /* smaller image height */
    object-fit: cover;
}

.blog-body {
    padding: 18px 20px;
}

.blog-date {
    font-size: 14px;
    color: #e40000;
    font-weight: 700;
    margin-bottom: 6px;
}

.blog-title {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    line-height: 1.35;
    min-height: 52px; /* clean 2-line title height */
    margin-bottom: 10px;
}

.blog-title a {
    text-decoration: none;
    color: #222;
}

.blog-title a:hover {
    color: #ff3737;
}

.blog-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 10px;
    color: #666;
}

.blog-desc {
    font-size: 14px;
    color: #444;
    line-height: 1.5;
    min-height: 60px; /* balanced clean 3 lines */
}

.blog-btn {
    margin-top: 14px;
}

.blog-btn a {
    background: #d9534f;
    color: #ffffff !important;
    padding: 6px 18px;
    font-size: 14px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 600;
}

.blog-btn a:hover {
    background: #c9302c;
}
/* Make each column a flexbox container */
.blog-col {
    display: flex;
}

/* Full height blog card */
.blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Body should stretch and push button to bottom */
.blog-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Description flexible */
.blog-desc {
    flex: 1;
}

/* Button stays at bottom */
.blog-btn {
    margin-top: auto;
}
.admission-notice-card{
    height: 185px;
}

@media (max-width:767px){
   .admission-notice-card{
        height: unset;
    }
}