/* Simple responsive styles for CAS Vattamkulam (moved to project root) */
:root{
    --primary:#4da6ff;
    --accent:#0b6edc;
    --bg:#f6fbff;
    --card:#ffffff;
    --muted:#6b7a87;
    --text:#1f2d3d;
    --shadow: 0 10px 25px rgba(15,40,80,0.06);
    --radius:12px;
    --logo-height:56px; /* master logo height used across header */
}
*{box-sizing:border-box}
html,body{height:100%}
body{font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;margin:0;background:linear-gradient(180deg,var(--bg),#ffffff);color:var(--text);-webkit-font-smoothing:antialiased}
.container{max-width:1100px;margin:0 auto;padding:1rem}
.site-header{background:linear-gradient(90deg,var(--primary),var(--accent));box-shadow:var(--shadow);position:sticky;top:0;z-index:60}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;min-height:70px}
.brand{display:flex;align-items:center;gap:.75rem;margin-left:calc(-1 * 1rem)}
.logo-img{height:var(--logo-height);width:auto;display:block;border-radius:8px;max-height:56px}
.brand-text{line-height:1}
.college-name{font-weight:700;color:#fff;display:block}
.college-location{display:block;color:rgba(255,255,255,0.9);font-size:.8rem}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;align-items:center}
.main-nav a{color:#fff;text-decoration:none;padding:.5rem .6rem;display:block;border-radius:8px;transition:background-color .18s ease, transform .12s ease;white-space:nowrap}
.main-nav a:hover{background:rgba(255,255,255,0.08);transform:translateY(-1px)}

/* make anchor underline globally disabled but keep visible focus styles */
a{ text-decoration:none; color:inherit }
a:focus{outline:2px dashed rgba(11,110,220,0.22);outline-offset:3px}

/* Mobile menu toggle button */
.menu-toggle{display:none;background:transparent;border:0;color:#fff;font-size:1.35rem;padding:.25rem .5rem;cursor:pointer}
.menu-toggle:focus{outline:2px solid rgba(255,255,255,0.25);border-radius:6px}

/* Dropdown submenu */
.main-nav li{position:relative}
.main-nav .submenu{position:absolute;left:0;top:100%;min-width:220px;background:var(--card);border-radius:8px;padding:.35rem 0;display:none;box-shadow:0 10px 30px rgba(15,40,80,0.08);z-index:999}
.main-nav .submenu li{padding:0}
.main-nav .submenu a{padding:.45rem 1rem;color:var(--text)}
.main-nav li:hover > .submenu{display:block}
.main-nav li:focus-within > .submenu{display:block}

/* Partner logo sizing control */
.partner-logo {
    max-height: 45px !important;
    height: auto !important;
    width: auto !important;
    max-width: 100px !important;
    object-fit: contain;
    margin-left: 8px;
    display: block;
    border-radius: 6px;
}

/* Header right section alignment */
.header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin-left: 1rem;
}

.org-logos {
    display: flex;
    align-items: center;
    gap: 8px;
}

.hero{background:linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.95));padding:1.5rem;border:1px solid rgba(230,233,238,0.6);margin-bottom:1rem;border-radius:12px;box-shadow:var(--shadow)}
.btn{display:inline-block;background:linear-gradient(90deg,var(--primary),var(--accent));color:#fff;padding:.6rem .95rem;border-radius:10px;text-decoration:none;border:0;box-shadow:0 8px 18px rgba(11,110,220,0.12);transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(11,110,220,0.14)}
h2{margin-top:0}
.courses-list{columns:2;list-style:disc;margin-left:1.5rem}
footer.site-footer{background:linear-gradient(90deg,var(--primary),var(--accent));border-top:1px solid rgba(0,0,0,0.06);padding:1.25rem;margin-top:2.25rem;color:#fff}
.site-footer p{margin:0;color:rgba(255,255,255,0.95)}
/* Footer columns */
.footer-columns{display:flex;gap:2rem;align-items:flex-start;justify-content:space-between}
.footer-columns .col{flex:1}
.footer-columns h4{color:#fff;margin-top:0}
.footer-columns ul{list-style:none;padding:0;margin:0}
.footer-columns a{color:rgba(255,255,255,0.95);text-decoration:none}
.footer-columns a:hover{opacity:.95;text-decoration:none}

@media (max-width:700px){
    .footer-columns{flex-direction:column;gap:1rem}
}

/* Footer specifics */
.footer-columns .col ul li{margin:.35rem 0}
.footer-columns .col.address, .footer-columns .col.contact{color:rgba(255,255,255,0.95)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:.8rem;margin-top:.8rem;text-align:center}

/* Announcements ticker */
.announcement-ticker{background:linear-gradient(90deg,var(--primary),var(--accent));border-top:1px solid rgba(0,0,0,0.06);border-bottom:1px solid rgba(0,0,0,0.06);padding:.5rem 0;color:#fff}
.announcement-ticker .ticker-inner{overflow:hidden;position:relative}
.announcement-ticker .ticker-content{display:flex;align-items:center}
.announcement-ticker .ticker-run{white-space:nowrap;display:inline-block;padding-right:4rem;color:inherit}
.announcement-ticker a{ text-decoration:none; color:inherit; cursor:pointer }
.announcement-ticker a:hover,.announcement-ticker a:focus{ text-decoration:none; opacity:.95 }
.announcement-ticker .ticker-content{animation:marquee var(--marquee-duration,20s) linear infinite}
.announcement-ticker .ann-end{opacity:.95;color:rgba(255,255,255,0.98);font-weight:600;margin-left:.35rem}
.announcement-ticker .ann-sep{opacity:.95}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Pause on hover/focus */
.announcement-ticker:hover .ticker-content,
.announcement-ticker:focus .ticker-content,
.announcement-ticker:focus-within .ticker-content{animation-play-state:paused}

@media (prefers-reduced-motion:reduce){
    .announcement-ticker .ticker-content{animation:none}
}

/* Make the announcement bar full-bleed edge-to-edge */
.announcement-ticker{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}

/* Slider styles */
.slider{position:relative;overflow:hidden;background:var(--card);border-radius:12px;margin-bottom:1rem}
/* make the slider full-bleed while page content stays centered */
.slider{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.slider img{width:100%;display:none;object-fit:cover;max-height:520px;height:auto;border-radius:0}
.slider img.active{display:block;animation:fadeIn .6s ease}
.slide-overlay{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#fff;padding:1rem;background:linear-gradient(180deg, rgba(11,110,220,0.28), rgba(11,110,220,0.12));backdrop-filter: blur(3px)}
.slide-overlay h1{font-size:1.6rem;margin:0 0 .5rem}
.slide-overlay p{margin:0 0 .75rem;color:rgba(255,255,255,0.95)}

/* Features grid */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}
.feature{background:var(--card);padding:1.25rem;border-radius:12px;box-shadow:var(--shadow);text-align:left;transition:transform .18s ease,box-shadow .18s ease}
.feature:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(15,40,80,0.09)}
.feature h3{margin-top:0;color:var(--primary)}

/* CTA */
.cta{background:linear-gradient(90deg, rgba(77,166,255,0.08), rgba(77,166,255,0.03));padding:1rem;margin-top:1.25rem;border-radius:10px}
.cta-inner{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

@media (max-width:900px){
    .header-inner{flex-direction:row;align-items:center}
    .menu-toggle{display:block}
    .brand{flex:1}
    .main-nav{width:100%}
    .main-nav ul{flex-direction:column;gap:.25rem;display:none;margin:0;padding:0}
    .main-nav.open ul{display:flex}
    .main-nav li{width:100%}
    .main-nav li > a{padding:.6rem 1rem}
    .main-nav .submenu{position:static;border:none;box-shadow:none;padding-left:1rem;display:none}
    .main-nav .submenu.open{display:block}
    .main-nav li:hover > .submenu{display:none}
    .courses-list{columns:1}
    .header-right{display:none}
}
@media (max-width:600px){
    .slide-overlay h1{font-size:1.2rem}
    .slide-overlay p{font-size:.95rem}
    .slider img{max-height:340px}
    :root{ --logo-height:40px }
    .partner-logo, .logo-img{height:var(--logo-height)}
    .partner-logo{max-height:35px !important;max-width:80px !important;margin-left:5px}
}