/* =========================================================
   ADMISSIONS 2026–27
   Shared by admission-documents.blade.php and
   admission-programmes.blade.php
========================================================= */

.admissions-2026-section,
.admission-programmes-section {
    --admission-data-font-size:clamp(.88rem,.95vw,1rem);
    position:relative;
    overflow:hidden;
}

.admissions-2026-section {
    padding:clamp(24px,3vw,38px) 0 clamp(48px,6vw,76px);
    background:
        radial-gradient(circle at 8% 5%,rgba(238,118,71,.18),transparent 28%),
        radial-gradient(circle at 94% 88%,rgba(98,102,234,.22),transparent 31%),
        linear-gradient(135deg,var(--plum) 0%,#30286c 100%);
}

.admissions-2026-section::before,
.admission-programmes-section::before {
    position:absolute;
    content:"";
    pointer-events:none;
}



/* =========================================================
   MAIN ADMISSIONS HEADING
========================================================= */

.admissions-2026-heading {
    position:relative;
    z-index:1;
    max-width:820px;
    margin:0 auto 30px;
    text-align:center;
}

.admissions-2026-heading .kicker {
    justify-content:center;
    color:#ffc4aa;
}

.admissions-2026-heading .kicker::before {
    background:#ffc4aa;
}

.admissions-2026-heading h2 {
    margin:10px 0 0;
    color:#fff;
    font-size:clamp(1.75rem,3vw,2.5rem);
    font-weight:850;
    line-height:1.15;
}

.admissions-2026-heading p {
    max-width:700px;
    margin:11px auto 0;
    color:rgba(255,255,255,.82);
    font-size:var(--admission-data-font-size);
    line-height:1.65;
}

/* =========================================================
   B.TECH. AND M.TECH. STREAMS
========================================================= */

.admission-stream-layout {
    position:relative;
    z-index:1;
}

.admission-stream {
    position:relative;
}

.admission-stream + .admission-stream {
    margin-top:30px;
}

.admission-stream-heading {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
    padding:15px 19px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:14px;
    background:rgba(255,255,255,.09);
    box-shadow:0 12px 28px rgba(0,0,0,.13);
    backdrop-filter:blur(8px);
}

.admission-stream-icon {
    display:grid;
    flex:0 0 46px;
    width:46px;
    height:46px;
    place-items:center;
    border-radius:12px;
    font-size:20px;
    transition:transform .25s ease,box-shadow .25s ease;
}

.admission-stream-heading:hover .admission-stream-icon {
    transform:translateY(-2px) rotate(-4deg) scale(1.06);
    box-shadow:0 10px 20px rgba(0,0,0,.16);
}

.admission-stream-heading small {
    display:block;
    margin-bottom:3px;
    font-size:.68rem;
    font-weight:850;
    line-height:1.25;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.admission-stream-heading h3 {
    margin:0;
    color:#fff;
    font-size:clamp(1.2rem,2vw,1.65rem);
    font-weight:850;
    line-height:1.2;
}

.admission-stream-btech .admission-stream-heading {
    border-left:5px solid #0ca65a;
    background:linear-gradient(90deg,rgba(8,120,63,.30),rgba(255,255,255,.08));
}

.admission-stream-btech .admission-stream-icon {
    background:rgba(12,166,90,.25);
    color:#d8f7e7;
}

.admission-stream-btech .admission-stream-heading small {
    color:#bcefd3;
}

.admission-stream-mtech .admission-stream-heading {
    border-left:5px solid var(--coral);
    background:linear-gradient(90deg,rgba(238,118,71,.27),rgba(255,255,255,.08));
}

.admission-stream-mtech .admission-stream-icon {
    background:rgba(238,118,71,.22);
    color:#ffd5c4;
}

.admission-stream-mtech .admission-stream-heading small {
    color:#ffc4aa;
}

/* =========================================================
   ALLOTMENT MESSAGE
========================================================= */

.admissions-allotment-alert {
    display:flex;
    align-items:flex-start;
    gap:12px;
    width:100%;
    margin:0 0 18px;
    padding:13px 15px;
    border:1px solid rgba(169,231,202,.65);
    border-left:5px solid #a9e7ca;
    border-radius:11px;
    background:linear-gradient(135deg,#08783f,#0b9250);
    color:#fff;
    text-align:left;
    box-shadow:0 12px 28px rgba(8,120,63,.25);
}

.admissions-allotment-alert > i {
    flex:0 0 auto;
    margin-top:3px;
    color:#d8f7e7;
    font-size:21px;
    line-height:1;
    transition:transform .25s ease;
}

.admissions-allotment-alert:hover > i {
    transform:translateY(-2px) scale(1.08);
}

.admissions-allotment-alert p {
    flex:1;
    min-width:0;
    margin:0;
    color:#fff;
    font-size:var(--admission-data-font-size);
    font-weight:600;
    line-height:1.55;
    text-align:left;
}

.admissions-allotment-alert a {
    display:inline;
    color:#fff3a8;
    font-weight:850;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
    white-space:nowrap;
}

.admissions-allotment-alert a:hover {
    color:#fff;
}

/* =========================================================
   ADMISSION INFORMATION CARDS
========================================================= */

.admission-information-row {
    position:relative;
    z-index:1;
    align-items:stretch;
    margin-bottom:0;
}

.admission-information-card {
    position:relative;
    display:flex;
    width:100%;
    min-width:0;
    flex-direction:column;
    gap:15px;
    padding:20px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.22);
    border-radius:15px;
    background:rgba(255,255,255,.10);
    box-shadow:0 14px 32px rgba(0,0,0,.16);
    backdrop-filter:blur(8px);
    transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}

.admission-information-card:hover {
    background:rgba(255,255,255,.14);
    transform:translateY(-4px);
    box-shadow:0 20px 42px rgba(0,0,0,.23);
}

.admission-information-notification {
    border-left:5px solid var(--coral);
}

.admission-stream-btech .admission-information-notification {
    border-left-color:#0ca65a;
}

.admission-information-permission {
    border-left:5px solid #8689ff;
}

.admission-information-main {
    display:flex;
    align-items:center;
    gap:13px;
    width:100%;
    min-width:0;
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.15);
}

.admission-information-icon {
    display:grid;
    flex:0 0 50px;
    width:50px;
    height:50px;
    place-items:center;
    border-radius:12px;
    font-size:21px;
    transition:transform .25s ease,box-shadow .25s ease;
}

.admission-information-card:hover .admission-information-icon {
    transform:translateY(-2px) rotate(-3deg) scale(1.06);
    box-shadow:0 9px 18px rgba(0,0,0,.16);
}

.admission-information-notification .admission-information-icon {
    background:rgba(238,118,71,.18);
    color:#ffc4aa;
}

.admission-stream-btech .admission-information-notification .admission-information-icon {
    background:rgba(12,166,90,.22);
    color:#c9f7df;
}

.admission-information-permission .admission-information-icon {
    background:rgba(134,137,255,.20);
    color:#d8d9ff;
}

.admission-information-content {
    display:block;
    min-width:0;
}

.admission-information-content small {
    display:block;
    margin-bottom:4px;
    color:#ffc4aa;
    font-size:.65rem;
    font-weight:850;
    line-height:1.2;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.admission-stream-btech .admission-information-notification .admission-information-content small {
    color:#bcefd3;
}

.admission-information-permission .admission-information-content small {
    color:#d8d9ff;
}

.admission-information-content strong {
    display:block;
    color:#fff;
    font-size:clamp(1rem,1.15vw,1.15rem);
    font-weight:850;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.admission-information-actions,
.admission-notification-actions {
    width:100%;
    margin-top:auto;
}

.admission-information-actions {
    display:flex;
    flex-direction:column;
    gap:12px;
}

/* Keep the allotment actions directly below the card heading. */
.admission-information-permission .admission-information-actions {
    margin-top:0;
}

.admission-stream-btech .admission-information-permission {
    height:auto;
    align-self:flex-start;
}

.admission-notification-actions {
    display:grid;
    gap:13px;
}

.admission-information-button {
    position:relative;
    display:flex;
    width:100%;
    min-width:0;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:11px 14px;
    overflow:hidden;
    border-radius:9px;
    color:#fff;
    font-size:var(--admission-data-font-size);
    font-weight:800;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}

.admission-information-button > span:not(.admission-new-ribbon) {
    min-width:0;
}

.admission-information-button:hover {
    color:#fff;
    transform:translateY(-2px);
}

.admission-information-button > i {
    flex:0 0 auto;
    transition:transform .2s ease;
}

.admission-information-button:hover > i {
    transform:translate(2px,-2px);
}

.btech-notification-button {
    background:linear-gradient(135deg,#08783f,#0ca65a);
}

.btech-notification-button:hover {
    background:linear-gradient(135deg,#065d31,#087f45);
    box-shadow:0 8px 18px rgba(8,120,63,.23);
}

.mtech-notification-button {
    background:linear-gradient(135deg,var(--coral),#cf4c20);
}

.mtech-notification-button:hover {
    background:linear-gradient(135deg,#d85f31,#b93c16);
    box-shadow:0 8px 18px rgba(238,118,71,.23);
}

.admission-information-permission .admission-information-button {
    background:linear-gradient(135deg,#6266ea,#4d51cc);
}

.admission-information-permission .admission-information-button:hover {
    background:linear-gradient(135deg,#5155d4,#393daa);
    box-shadow:0 8px 18px rgba(98,102,234,.24);
}

/* =========================================================
   NEW RIBBON
========================================================= */

.has-new-ribbon {
    padding-left:52px;
}

.admission-new-ribbon {
    position:absolute;
    top:9px;
    left:-32px;
    z-index:2;
    display:block;
    width:105px;
    padding:5px 0;
    overflow:hidden;
    border-top:1px solid #ffe08a;
    border-bottom:1px solid #ffe08a;
    background:linear-gradient(135deg,#ff1744 0%,#d5004f 50%,#9c003c 100%);
    color:#fff;
    font-size:11px;
    font-weight:950;
    line-height:1;
    letter-spacing:.16em;
    text-align:center;
    text-shadow:0 1px 2px rgba(0,0,0,.35);
    transform:rotate(-45deg);
    box-shadow:0 3px 10px rgba(0,0,0,.35),0 0 10px rgba(255,215,90,.65);
    animation:newRibbonPulse 1.15s ease-in-out infinite;
}

.admission-new-ribbon::after {
    position:absolute;
    top:-10px;
    left:-35px;
    width:24px;
    height:40px;
    content:"";
    background:rgba(255,255,255,.65);
    filter:blur(3px);
    transform:skewX(-20deg);
    animation:newRibbonShine 1.8s ease-in-out infinite;
}

@keyframes newRibbonPulse {
    0%,100% {
        opacity:1;
        filter:brightness(1);
    }

    50% {
        opacity:.75;
        filter:brightness(1.3);
    }
}

@keyframes newRibbonShine {
    0% {
        left:-35px;
        opacity:0;
    }

    35% {
        opacity:.9;
    }

    70%,100% {
        left:115px;
        opacity:0;
    }
}

/* =========================================================
   SEPARATE PROGRAMME DIRECTORY SECTION
========================================================= */

.admission-programmes-section {
    padding:clamp(24px,3vw,36px) 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    background:#08783f;
}

.admission-programmes-section::before {
    bottom:-170px;
    left:-150px;
    width:380px;
    height:380px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(238,118,71,.10),transparent 70%);
    animation:admissionAmbientDrift 12s ease-in-out infinite alternate-reverse;
}

.admission-programmes-heading {
    position:relative;
    z-index:1;
    max-width:780px;
    margin:0 auto 18px;
    text-align:center;
}

.admission-programmes-heading .kicker {
    justify-content:center;
    color:#ffc4aa;
}

.admission-programmes-heading .kicker::before {
    background:#ffc4aa;
}

.admission-programmes-heading h2 {
    margin:6px 0 0;
    color:#fff;
    font-size:clamp(1.75rem,3vw,2.5rem);
    font-weight:850;
    line-height:1.15;
}

.admission-programmes-heading p {
    max-width:680px;
    margin:7px auto 0;
    color:rgba(255,255,255,.78);
    font-size:var(--admission-data-font-size);
    line-height:1.65;
}

.admission-programme-row {
    position:relative;
    z-index:1;
    align-items:stretch;
}

.admission-programme-card {
    --programme-accent:var(--rose);
    position:relative;
    display:flex;
    width:100%;
    min-width:0;
    min-height:330px;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #dfdfea;
    border-radius:17px;
    background:#fff;
    color:var(--ink);
    box-shadow:0 14px 34px rgba(33,34,84,.10);
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.admission-programme-card::before {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    content:"";
    background:var(--programme-accent);
}

.admission-programme-engineering {
    --programme-accent:var(--rose);
}

.admission-programme-sciences {
    --programme-accent:var(--coral);
}

.admission-programme-management {
    --programme-accent:var(--orchid);
}

.admission-programme-humanities {
    --programme-accent:#08783f;
}

.admission-programme-card:hover {
    border-color:color-mix(in srgb,var(--programme-accent) 38%,#dfdfea);
    transform:translateY(-7px);
    box-shadow:0 24px 48px rgba(33,34,84,.17);
}

.admission-programme-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:25px 22px 0;
}

.admission-programme-icon {
    display:grid;
    flex:0 0 54px;
    width:54px;
    height:54px;
    place-items:center;
    border-radius:14px;
    font-size:22px;
    transition:transform .25s ease,box-shadow .25s ease;
}

.admission-programme-card:hover .admission-programme-icon {
    transform:translateY(-3px) rotate(-4deg) scale(1.07);
    box-shadow:0 10px 20px rgba(33,34,84,.13);
}

.admission-icon-engineering {
    background:rgba(98,102,234,.12);
    color:var(--rose);
}

.admission-icon-sciences {
    background:rgba(238,118,71,.13);
    color:#c9572b;
}

.admission-icon-management {
    background:rgba(144,82,168,.13);
    color:var(--orchid);
}

.admission-icon-humanities {
    background:rgba(8,120,63,.12);
    color:#08783f;
}

.admission-programme-number {
    display:grid;
    flex:0 0 38px;
    width:38px;
    height:38px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--programme-accent) 28%,transparent);
    border-radius:50%;
    background:color-mix(in srgb,var(--programme-accent) 10%,#fff);
    color:var(--programme-accent);
    font-size:.75rem;
    font-weight:850;
    line-height:1;
    transition:transform .25s ease,background .25s ease;
}

.admission-programme-card:hover .admission-programme-number {
    background:color-mix(in srgb,var(--programme-accent) 17%,#fff);
    transform:translateY(-2px) scale(1.06);
}

.admission-programme-content {
    flex:1;
    padding:22px 22px 25px;
}

.admission-programme-content h3 {
    margin:0;
    color:var(--plum);
    font-size:clamp(1.05rem,1.35vw,1.28rem);
    font-weight:850;
    line-height:1.32;
    letter-spacing:-.02em;
}

.admission-programme-content p {
    display:inline-flex;
    width:fit-content;
    align-items:center;
    margin:12px 0 0;
    padding:6px 11px;
    border:1px solid #a9e7ca;
    border-radius:999px;
    background:#e1faee;
    color:#007a4d;
    font-size:var(--admission-data-font-size);
    font-weight:800;
    line-height:1.35;
}

.admission-programme-actions {
    display:grid;
    grid-template-columns:1fr 1.25fr;
    margin-top:auto;
}

.admission-apply-button,
.admission-fee-button {
    display:flex;
    min-width:0;
    min-height:68px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:12px 10px;
    color:#fff;
    font-size:clamp(.78rem,.88vw,.92rem);
    font-weight:800;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:background .2s ease,color .2s ease;
}

.admission-apply-button {
    background:linear-gradient(135deg,var(--coral),#cf4c20);
}

.admission-fee-button {
    border-left:1px solid rgba(255,255,255,.22);
    background:linear-gradient(135deg,#08783f,#0ca65a);
}

.admission-apply-button:hover {
    background:linear-gradient(135deg,#d85f31,#b93c16);
    color:#fff;
}

.admission-fee-button:hover {
    background:linear-gradient(135deg,#065d31,#087f45);
    color:#fff;
}

.admission-apply-button i,
.admission-fee-button i {
    flex:0 0 auto;
    color:#fff;
    font-size:.8rem;
    transition:transform .2s ease;
}

.admission-apply-button:hover i,
.admission-fee-button:hover i {
    transform:translate(2px,-2px);
}

@keyframes admissionAmbientDrift {
    from {
        transform:translate3d(0,0,0) scale(1);
    }

    to {
        transform:translate3d(18px,12px,0) scale(1.05);
    }
}

/* Compact dynamic schools within the admission programme directory. */
#admission-programmes #schools .school-grid {
    gap:18px;
}

#admission-programmes #schools .school-media > img,
#admission-programmes #schools .school-placeholder {
    height:180px;
}

#admission-programmes #schools .school-content {
    padding:14px 16px;
}

#admission-programmes #schools .school-content h2,
#admission-programmes #schools .school-content h3 {
    min-height:0;
    margin-bottom:8px;
    padding:8px 12px;
}

#admission-programmes #schools .school-programme-list {
    margin:0 0 8px;
}

#admission-programmes #schools .school-programme-badge {
    padding:4px 10px;
}

#admission-programmes #schools .school-resource-actions {
    gap:6px;
    margin:8px 0 10px;
}

#admission-programmes #schools .school-content a.school-resource-link {
    min-height:38px;
    gap:7px;
    padding:8px 10px;
}

#admission-programmes #schools .school-content > a:not(.school-resource-link) {
    min-height:40px;
    padding:9px 12px;
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

.admission-information-button:focus-visible,
.admission-apply-button:focus-visible,
.admission-fee-button:focus-visible {
    outline:3px solid #d7b875;
    outline-offset:3px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1199px) {
    .admission-programme-card {
        min-height:310px;
    }
}

@media(max-width:991px) {
    .admission-programme-card {
        min-height:300px;
    }

    .admission-programme-actions {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:767px) {
    .admissions-2026-section {
         padding:22px 0 46px;
    }

    .admission-programmes-section {
        padding:22px 0 28px;
    }

    .admissions-2026-heading {
        margin-bottom:24px;
    }

    .admission-programmes-heading {
        margin-bottom:16px;
    }

    .admissions-2026-heading h2,
    .admission-programmes-heading h2 {
        font-size:clamp(1.45rem,6vw,1.85rem);
    }

    .admission-stream + .admission-stream {
        margin-top:24px;
    }

    .admission-stream-heading {
        gap:11px;
        margin-bottom:13px;
        padding:13px 14px;
    }

    .admission-stream-icon {
        flex-basis:41px;
        width:41px;
        height:41px;
        font-size:18px;
    }

    .admission-stream-heading h3 {
        font-size:1.15rem;
    }

    .admissions-allotment-alert {
        gap:9px;
        padding:12px 13px;
    }

    .admissions-allotment-alert > i {
        font-size:18px;
    }

    .admission-information-card {
        gap:13px;
        padding:16px;
    }

    .admission-information-main {
        padding-bottom:12px;
    }

    .admission-information-actions,
    .admission-notification-actions {
        gap:10px;
    }

    .admission-programme-card {
        min-height:0;
    }

    .admission-programme-top {
        padding:21px 18px 0;
    }

    .admission-programme-icon {
        flex-basis:49px;
        width:49px;
        height:49px;
        font-size:20px;
    }

    .admission-programme-content {
        padding:18px 18px 22px;
    }

    .admission-programme-actions {
        grid-template-columns:1fr;
    }

    .admission-apply-button,
    .admission-fee-button {
        min-height:51px;
    }

    .admission-fee-button {
        border-top:1px solid rgba(255,255,255,.22);
        border-left:0;
    }
}

@media(max-width:380px) {
    .admission-information-icon {
        flex-basis:44px;
        width:44px;
        height:44px;
        font-size:18px;
    }

    .admission-information-content strong {
        font-size:.95rem;
    }

    .admission-information-button {
        padding-right:10px;
        padding-left:10px;
    }

    .has-new-ribbon {
        padding-left:46px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .admission-information-card,
    .admission-information-button,
    .admission-programme-card,
    .admission-apply-button,
    .admission-fee-button {
        transition:none;
    }

    .admission-information-card:hover,
    .admission-information-button:hover,
    .admission-programme-card:hover {
        transform:none;
    }

    .admission-new-ribbon,
    .admission-new-ribbon::after,
    .admissions-2026-section::before,
    .admission-programmes-section::before {
        animation:none;
    }

    .admission-stream-heading:hover .admission-stream-icon,
    .admissions-allotment-alert:hover > i,
    .admission-information-card:hover .admission-information-icon,
    .admission-information-button:hover > i,
    .admission-programme-card:hover .admission-programme-icon,
    .admission-programme-card:hover .admission-programme-number,
    .admission-apply-button:hover i,
    .admission-fee-button:hover i {
        transform:none;
    }
}


.admission-syllabi-button{
    grid-column:1 / -1;
    width:100%;
    border-color:#6266ea;
    background:linear-gradient(
        135deg,
        #6266ea,
        #4145bd
    );
    color:#fff;
}

.admission-syllabi-button:visited{
    color:#fff;
}

.admission-syllabi-button:hover,
.admission-syllabi-button:focus{
    border-color:#35399f;
    background:linear-gradient(
        135deg,
        #5559d7,
        #35399f
    );
    color:#fff;
}