/* ========================================
   HOME SLIDER CSS - MATERIAL PINK THEME
   ========================================
   This file contains all CSS required for the home slider
   without affecting other parts of the application
*/

/* Gradient fallback when admin has not uploaded banner images */
.jitc-hero-slide--gradient{
    background: linear-gradient(135deg, #071a37 0%, #0b2b57 40%, #1d5fa8 100%);
}

/* Carousel indicator dots */
#bootstrap-touch-slider .carousel-indicators{
    bottom:22px;
    z-index:5;
    margin-bottom:0;
}
#bootstrap-touch-slider .carousel-indicators li{
    width:10px;height:10px;
    border-radius:50%;
    background:rgba(255,255,255,.35);
    border:none;
    margin:0 5px;
    cursor:pointer;
    transition:background .3s, transform .3s;
    text-indent:0;
}
#bootstrap-touch-slider .carousel-indicators li.active{
    background:var(--jitc-gold,#d4a64a);
    transform:scale(1.3);
}

/* Stat strip inside hero copy */
/* Stat strip – glassmorphism pill */
.jitc-hero-stats{
    display:flex!important;
    align-items:center;
    gap:0;
    margin-bottom:24px;
    width:fit-content;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.20);
    border-radius:16px;
    padding:14px 6px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.jitc-hero-stat{
    text-align:center;
    padding:0 22px;
    flex-shrink:0;
}
.jitc-hero-stat .n{
    display:block!important;
    font-size:28px!important;
    font-weight:900!important;
    color:#d4a64a!important;
    line-height:1!important;
    letter-spacing:-.5px;
    text-shadow:0 2px 12px rgba(212,166,74,.35);
}
.jitc-hero-stat .l{
    display:block!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase;
    letter-spacing:1px;
    color:rgba(255,255,255,.80)!important;
    margin-top:4px;
    white-space:nowrap;
}
.jitc-hero-stat-sep{
    width:1px;
    height:38px;
    background:rgba(255,255,255,.22);
    flex-shrink:0;
    align-self:center;
}

/* CTA admission-steps card variant */
.jitc-hero-card--cta{
    background:rgba(29,95,168,.18)!important;
    border-color:rgba(255,255,255,.15)!important;
    backdrop-filter:blur(8px);
    flex-direction:column;
}
.jitc-hero-card--cta .tx{width:100%;}
.jitc-admissions-steps{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:12px;
}
.jitc-step{
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.90);
    font-size:13px;
    font-weight:600;
}
.jitc-step span{
    width:22px;height:22px;
    border-radius:50%;
    background:var(--jitc-gold,#d4a64a);
    color:#0b2b57;
    font-size:11px;
    font-weight:900;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}
.jitc-panel-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:800;
    font-size:13px;
    color:var(--jitc-gold,#d4a64a)!important;
    text-decoration:none!important;
}
.jitc-panel-link:hover{color:#fff!important;}
.jitc-panel-link i{font-size:11px;}

/* Bootstrap Touch Slider Container */
#bootstrap-touch-slider{
    position:relative;
    overflow:hidden;
    width:100%;
    margin-bottom:0;
}

#bootstrap-touch-slider .carousel-inner{
    height:78vh;
    min-height:640px;
}

#bootstrap-touch-slider .carousel-inner .item{
    position:relative;
    display:none;
    width:100%;
    height:78vh;
    min-height:640px;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
}

#bootstrap-touch-slider .carousel-inner .item.active{display:block;}

/* Slide shell */
.jitc-hero-slide{
    position:relative;
    width:100%;
    height:100%;
    min-height:640px;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
}

/* Brand overlay: colorful but readable */
#bootstrap-touch-slider .bs-slider-overlay{
    position:absolute; inset:0;
    background:
        radial-gradient(900px 380px at 15% 10%, rgba(212,166,74,.30), transparent 60%),
        radial-gradient(900px 380px at 90% 15%, rgba(29,95,168,.35), transparent 55%),
        linear-gradient(120deg, rgba(11,43,87,.88), rgba(7,26,55,.55));
    z-index:1;
}

.jitc-hero-shell{
    position:relative;
    z-index:2;
    height:100%;
    padding:28px 0;
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap:22px;
    align-items:center;
}

.jitc-hero-copy{padding:0 15px;}

.jitc-hero-pill{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-weight:800;
    letter-spacing:.9px;
    text-transform:uppercase;
    font-size:12px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    padding:10px 12px;
    border-radius:999px;
    backdrop-filter: blur(6px);
}
.jitc-hero-pill .dot{
    width:10px;height:10px;border-radius:99px;
    background: var(--jitc-gold,#d4a64a);
    box-shadow:0 0 0 6px rgba(212,166,74,.18);
}

.jitc-hero-title{
    margin:14px 0 10px;
    color:#fff!important;
    font-weight:900;
    line-height:1.08;
    font-size:54px;
    text-shadow:0 10px 30px rgba(0,0,0,.35);
}
.jitc-hero-title span{color:#d4a64a!important;}
.jitc-hero-sub{
    margin:0 0 18px;
    color:rgba(255,255,255,.86)!important;
    font-size:18px;
    line-height:1.55;
    max-width:640px;
}
.jitc-hero-pill{
    color:#fff!important;
}
.jitc-hero-badge{
    color:rgba(255,255,255,.88)!important;
}

.jitc-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}
.jitc-btn-ghost{
    background:rgba(255,255,255,.10)!important;
    border-color:rgba(255,255,255,.25)!important;
    color:#fff!important;
}
.jitc-btn-ghost:hover{
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
}

.jitc-hero-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.jitc-hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
    color:rgba(255,255,255,.88);
    font-weight:700;
    backdrop-filter: blur(6px);
}
.jitc-hero-badge i{color:var(--jitc-gold,#d4a64a);}

.jitc-hero-cards{
    padding:0 15px;
    display:grid;
    gap:12px;
}
.jitc-hero-card{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 14px;
    border-radius:16px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(11,43,87,.08);
    box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.jitc-hero-card .ic{
    width:44px;height:44px;
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(29,95,168,.10);
    color:var(--jitc-blue,#1d5fa8);
    border:1px solid rgba(29,95,168,.18);
    font-size:18px;
    flex:0 0 auto;
}
.jitc-hero-card .t{font-weight:900;color:var(--jitc-navy,#0b2b57);margin:0 0 3px;}
.jitc-hero-card .d{color:rgba(10,18,32,.74);font-size:13px;line-height:1.4;}
.jitc-hero-card--cta .t{color:#fff;}
.jitc-hero-card--cta .d{color:rgba(255,255,255,.80);}

@media (max-width: 991px){
    #bootstrap-touch-slider .carousel-inner,
    #bootstrap-touch-slider .carousel-inner .item,
    .jitc-hero-slide{height:auto; min-height:560px;}
    .jitc-hero-shell{grid-template-columns:1fr; padding:18px 0;}
    .jitc-hero-title{font-size:38px;}
}

@media (max-width: 480px){
    .jitc-hero-title{font-size:30px;}
    .jitc-hero-sub{font-size:16px;}
}

/* Carousel Controls */
#bootstrap-touch-slider .carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.6);
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

#bootstrap-touch-slider .carousel-control:hover {
    opacity: 0.9;
}

#bootstrap-touch-slider .carousel-control.left {
    left: 0;
    background-image: linear-gradient(to right, rgba(0,0,0,.5) 0%, rgba(0,0,0,.0001) 100%);
}

#bootstrap-touch-slider .carousel-control.right {
    right: 0;
    background-image: linear-gradient(to right, rgba(0,0,0,.0001) 0%, rgba(0,0,0,.5) 100%);
}

#bootstrap-touch-slider .carousel-control .fa {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 30px;
}

#bootstrap-touch-slider .carousel-control .fa-angle-left {
    left: 50%;
    margin-left: -15px;
}

#bootstrap-touch-slider .carousel-control .fa-angle-right {
    right: 50%;
    margin-right: -15px;
}

/* Animation Keyframes */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Responsive Design */
@media (max-width: 1199px) {
    #bootstrap-touch-slider .carousel-inner {
        height: 65vh;
        min-height: 55vh;
    }
    
    #bootstrap-touch-slider .hero-content .hero-title {
        font-size: 60px;
    }
    
    #bootstrap-touch-slider .hero-content {
        left: 15%;
        max-width: 750px;
    }
}

@media (max-width: 991px) {
    #bootstrap-touch-slider .carousel-inner {
        height: 60vh;
        min-height: 50vh;
    }
    
    #bootstrap-touch-slider .hero-content .hero-title {
        font-size: 48px;
        margin: 15px 0;
    }
    
    #bootstrap-touch-slider .hero-content .hero-sub-title {
        font-size: 20px;
        letter-spacing: 4px;
        margin-bottom: 15px;
    }
    
    #bootstrap-touch-slider .hero-content p {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 15px;
    }
    
    #bootstrap-touch-slider .hero-content {
        left: 10%;
        max-width: 700px;
        padding: 0 15px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-btn {
        margin-top: 25px;
    }
}

@media (max-width: 767px) {
    #bootstrap-touch-slider .carousel-inner {
        height: 55vh;
        min-height: 45vh;
    }
    
    #bootstrap-touch-slider .hero-content {
        width: 90%;
        left: 5%;
        padding: 0 10px;
        max-width: 600px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-title {
        font-size: 36px;
        margin: 12px 0;
        line-height: 1.1;
    }
    
    #bootstrap-touch-slider .hero-content .hero-sub-title {
        font-size: 18px;
        letter-spacing: 2px;
        margin-bottom: 12px;
    }
    
    #bootstrap-touch-slider .hero-content p {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 12px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-btn {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 20px;
        gap: 0.8rem;
    }
    
    #bootstrap-touch-slider .hero-content .theme-btn {
        padding: 12px 18px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    #bootstrap-touch-slider .carousel-inner {
        height: 50vh;
        min-height: 40vh;
    }
    
    #bootstrap-touch-slider .hero-content {
        width: 95%;
        left: 2.5%;
        padding: 0 8px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-title {
        font-size: 28px;
        margin: 10px 0;
        line-height: 1.1;
    }
    
    #bootstrap-touch-slider .hero-content .hero-sub-title {
        font-size: 14px;
        letter-spacing: 1px;
        margin-bottom: 10px;
    }
    
    #bootstrap-touch-slider .hero-content p {
        font-size: 12px;
        line-height: 18px;
        margin-bottom: 10px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-btn {
        margin-top: 15px;
        gap: 0.6rem;
    }
    
    #bootstrap-touch-slider .hero-content .theme-btn {
        padding: 10px 14px;
        font-size: 11px;
    }
}

@media (max-width: 360px) {
    #bootstrap-touch-slider .carousel-inner {
        height: 45vh;
        min-height: 35vh;
    }
    
    #bootstrap-touch-slider .hero-content .hero-title {
        font-size: 24px;
        margin: 8px 0;
    }
    
    #bootstrap-touch-slider .hero-content .hero-sub-title {
        font-size: 12px;
        letter-spacing: 0.5px;
        margin-bottom: 8px;
    }
    
    #bootstrap-touch-slider .hero-content p {
        font-size: 11px;
        line-height: 16px;
        margin-bottom: 8px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-btn {
        margin-top: 12px;
    }
    
    #bootstrap-touch-slider .hero-content .theme-btn {
        padding: 8px 12px;
        font-size: 10px;
    }
}

/* Touch Support for Mobile */
@media (max-width: 767px) {
    #bootstrap-touch-slider .carousel-control {
        width: 20%;
    }
    
    #bootstrap-touch-slider .carousel-control .fa {
        font-size: 24px;
    }
}

/* Landscape orientation adjustments */
@media (max-height: 500px) and (orientation: landscape) {
    #bootstrap-touch-slider .carousel-inner {
        height: 100vh;
        min-height: 100vh;
    }
    
    #bootstrap-touch-slider .hero-content {
        top: 40%;
        transform: translateY(-40%);
    }
    
    #bootstrap-touch-slider .hero-content .hero-title {
        font-size: 48px;
        margin: 15px 0;
    }
    
    #bootstrap-touch-slider .hero-content .hero-sub-title {
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    #bootstrap-touch-slider .hero-content p {
        font-size: 16px;
        margin-bottom: 15px;
    }
    
    #bootstrap-touch-slider .hero-content .hero-btn {
        margin-top: 20px;
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    #bootstrap-touch-slider .hero-content .hero-title {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Print Styles */
@media print {
    #bootstrap-touch-slider {
        display: none;
    }
}

/* Accessibility Improvements */
#bootstrap-touch-slider .carousel-control .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Focus States for Accessibility */
#bootstrap-touch-slider .carousel-control:focus {
    outline: 2px solid #bd0745;
    outline-offset: 2px;
}

#bootstrap-touch-slider .theme-btn:focus {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    #bootstrap-touch-slider .hero-content * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

