/* =================================================================
   SNEHA EDUCATIONAL INSTITUTION — Custom Stylesheet
   File: assets/css/sneha-custom.css
   ================================================================= */

/* ---------------------------------------------------------------
   1. GLOBAL SPACING
--------------------------------------------------------------- */
.section-space { padding-top: 75px !important; padding-bottom: 75px !important; }
@media (max-width: 1199px) { .section-space { padding-top: 60px !important; padding-bottom: 60px !important; } }
@media (max-width: 991px) { .section-space { padding-top: 50px !important; padding-bottom: 50px !important; } }

/* ---------------------------------------------------------------
   2. FEATURE CARDS (Why Choose Sneha)
--------------------------------------------------------------- */
.sneha-feature-card { background:#fff; padding:40px 30px; border-radius:10px; box-shadow:0 5px 20px rgba(0,0,0,0.05); height:100%; position:relative; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.sneha-feature-card::before { content:''; position:absolute; top:0; right:0; width:0; height:0; border-radius:10px; border-top:2.5px solid #920224; border-right:2.5px solid #920224; border-bottom:2.5px solid transparent; border-left:2.5px solid transparent; transition:width 0.25s ease 0s, height 0.25s ease 0.25s; box-sizing:border-box; }
.sneha-feature-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:0; border-radius:10px; border-bottom:2.5px solid #920224; border-left:2.5px solid #920224; border-top:2.5px solid transparent; border-right:2.5px solid transparent; transition:width 0.25s ease 0.25s, height 0.25s ease 0s; box-sizing:border-box; }
.sneha-feature-card:hover { transform:translateY(-6px); box-shadow:0 15px 35px rgba(146,2,36,0.12); }
.sneha-feature-card:hover::before,.sneha-feature-card:hover::after { width:100%; height:100%; }
.sneha-feature-icon { font-size:40px; color:#920224; margin-bottom:20px; display:block; transition:transform 0.3s ease; }
.sneha-feature-card:hover .sneha-feature-icon { transform:scale(1.15); }

/* ---------------------------------------------------------------
   3. ABOUT / INFO CARDS
--------------------------------------------------------------- */
.sneha-about-card { padding:36px 30px; background:#fff; border-radius:12px; box-shadow:0 4px 24px rgba(0,0,0,0.07); height:100%; position:relative; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.sneha-about-card::before { content:''; position:absolute; top:0; right:0; width:0; height:0; border-radius:12px; border-top:2.5px solid #920224; border-right:2.5px solid #920224; border-bottom:2.5px solid transparent; border-left:2.5px solid transparent; transition:width 0.25s ease 0s, height 0.25s ease 0.25s; box-sizing:border-box; }
.sneha-about-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:0; border-radius:12px; border-bottom:2.5px solid #920224; border-left:2.5px solid #920224; border-top:2.5px solid transparent; border-right:2.5px solid transparent; transition:width 0.25s ease 0.25s, height 0.25s ease 0s; box-sizing:border-box; }
.sneha-about-card:hover { transform:translateY(-5px); box-shadow:0 14px 32px rgba(146,2,36,0.10); }
.sneha-about-card:hover::before,.sneha-about-card:hover::after { width:100%; height:100%; }
.sneha-about-card .rs-feature-icon i { transition:transform 0.3s ease; }
.sneha-about-card:hover .rs-feature-icon i { transform:scale(1.15); }

/* ---------------------------------------------------------------
   4. PROGRAM CARDS
--------------------------------------------------------------- */
.sneha-program-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,0.08); height:100%; display:flex; flex-direction:column; position:relative; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.sneha-program-card::before { content:''; position:absolute; top:0; right:0; width:0; height:0; border-radius:12px; border-top:2.5px solid #920224; border-right:2.5px solid #920224; border-bottom:2.5px solid transparent; border-left:2.5px solid transparent; transition:width 0.25s ease 0s, height 0.25s ease 0.25s; box-sizing:border-box; z-index:5; pointer-events:none; }
.sneha-program-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:0; border-radius:12px; border-bottom:2.5px solid #920224; border-left:2.5px solid #920224; border-top:2.5px solid transparent; border-right:2.5px solid transparent; transition:width 0.25s ease 0.25s, height 0.25s ease 0s; box-sizing:border-box; z-index:5; pointer-events:none; }
.sneha-program-card:hover { transform:translateY(-5px); box-shadow:0 14px 32px rgba(146,2,36,0.12); }
.sneha-program-card:hover::before,.sneha-program-card:hover::after { width:100%; height:100%; }
.sneha-program-card .rs-program-thumb { overflow:hidden; }
.sneha-program-card:hover .rs-program-thumb img { transform:scale(1.08) !important; }

/* ---------------------------------------------------------------
   5. GALLERY
--------------------------------------------------------------- */
.sneha-real-gallery-item { position:relative; overflow:hidden; border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,0.06); display:block; }
.sneha-real-gallery-item img { width:100%; height:240px; object-fit:cover; display:block; transition:transform 0.6s cubic-bezier(0.25,1,0.5,1); }
.sneha-real-gallery-item .overlay { position:absolute; inset:0; background:rgba(146,2,36,0.6); opacity:0; transition:opacity 0.4s ease; display:flex; align-items:center; justify-content:center; }
.sneha-real-gallery-item .overlay i { color:#fff; font-size:40px; transform:scale(0.5); transition:transform 0.4s cubic-bezier(0.175,0.885,0.32,1.275); }
.sneha-real-gallery-item:hover img { transform:scale(1.1); }
.sneha-real-gallery-item:hover .overlay { opacity:1; }
.sneha-real-gallery-item:hover .overlay i { transform:scale(1); }

/* ---------------------------------------------------------------
   6. ZIGZAG ROWS
--------------------------------------------------------------- */
.sneha-zigzag-wrapper { max-width:960px; margin:0 auto; }
.sneha-zz-row { display:flex; align-items:center; background:rgba(255,255,255,0.06); border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,0.1); }
.sneha-zz-icon-wrap { flex-shrink:0; width:120px; display:flex; align-items:center; justify-content:center; padding:30px 15px; }
.sneha-zz-icon-bubble { width:72px; height:72px; border-radius:50%; background:#920224; color:#fff; font-size:30px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(146,2,36,0.4); transition:transform 0.3s ease, box-shadow 0.3s ease; }
.sneha-zz-row:hover .sneha-zz-icon-bubble { transform:scale(1.1) rotate(8deg); box-shadow:0 12px 28px rgba(146,2,36,0.5); }
.sneha-zz-content { flex:1; padding:30px 25px; }
.sneha-zz-content h4 { color:#fff; font-size:18px; margin-bottom:10px; }
.sneha-zz-content p { color:rgba(255,255,255,0.7); font-size:14px; line-height:1.7; margin:0; }
.sneha-zz-divider { width:1px; height:80px; background:rgba(255,255,255,0.12); flex-shrink:0; }
.sneha-zz-connector { display:flex; align-items:center; height:40px; }
.sneha-zz-line { flex:1; height:2px; background:linear-gradient(to right, transparent, rgba(146,2,36,0.4)); }
.sneha-zz-line.right { background:linear-gradient(to left, transparent, rgba(146,2,36,0.4)); }
.sneha-zz-dot { width:10px; height:10px; border-radius:50%; background:#920224; flex-shrink:0; box-shadow:0 0 0 4px rgba(146,2,36,0.2); }
.sneha-zz-row.reversed { flex-direction:row-reverse; }
@media (max-width: 767px) { .sneha-zz-row,.sneha-zz-row.reversed { flex-direction:column; text-align:center; } .sneha-zz-divider { width:80px; height:1px; } .sneha-zz-icon-wrap { width:100%; padding:25px 15px 10px; } .sneha-zz-connector { display:none; } }

/* ---------------------------------------------------------------
   7. FAQ
--------------------------------------------------------------- */
.sneha-faq-item { border-bottom:1px solid #e8e0d8; }
.sneha-faq-btn { display:flex; align-items:center; gap:15px; width:100%; padding:22px 0; background:none; border:none; cursor:pointer; text-align:left; font-weight:600; font-size:15px; color:#0b1c39; transition:color 0.3s ease; }
.sneha-faq-btn:not(.collapsed) { color:#920224; }
.sneha-faq-num { flex-shrink:0; width:36px; height:36px; background:#f0e8e2; color:#920224; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; transition:all 0.3s ease; }
.sneha-faq-btn:not(.collapsed) .sneha-faq-num { background:#920224; color:#fff; }
.sneha-faq-arrow { margin-left:auto; flex-shrink:0; font-size:22px; color:#999; transition:transform 0.35s ease, color 0.3s ease; }
.sneha-faq-btn:not(.collapsed) .sneha-faq-arrow { transform:rotate(180deg); color:#920224; }
.sneha-faq-body { padding:0 0 22px 51px; color:#666; line-height:1.8; font-size:15px; }

/* ---------------------------------------------------------------
   8. TESTIMONIALS
--------------------------------------------------------------- */
.rs-testimonial-two .swiper-slide { height:auto !important; }
.rs-testimonial-two .rs-testimonial-item { height:100% !important; display:flex; flex-direction:column; }
.rs-testimonial-two .rs-testimonial-content { flex-grow:1; display:flex; flex-direction:column; justify-content:space-between; }
.rs-testimonial-two .rs-testimonial-avater-thumb { display:none !important; }
.rs-testimonial-two .rs-testimonial-navigation { display:none !important; }

/* ---------------------------------------------------------------
   9. LOGO
--------------------------------------------------------------- */
a.sneha-logo-link { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; text-decoration:none !important; gap:6px !important; }
a.sneha-logo-link img { height:75px !important; width:auto !important; max-height:75px !important; object-fit:contain !important; display:block !important; }
a.sneha-logo-link .sneha-logo-text { display:flex !important; flex-direction:column !important; align-items:center !important; line-height:1.2; }
a.sneha-logo-link .sneha-logo-text strong { display:block !important; font-size:11px !important; font-weight:800 !important; color:#fff !important; letter-spacing:0.5px !important; text-transform:uppercase !important; white-space:nowrap !important; }

@media (max-width: 991px) {
    .header-logo a.sneha-logo-link .sneha-logo-text strong {
        color: #8b0000 !important;
    }
}
.rs-sticky-header.active .header-logo-wrapper::before,.rs-sticky-header.active .header-logo-wrapper::after { display:none !important; content:none !important; }
.rs-sticky-header.active .header-logo-wrapper { padding:6px 15px !important; margin-top:0 !important; height:auto !important; width:auto !important; }
.rs-sticky-header.active { min-height:unset !important; padding-top:8px !important; padding-bottom:8px !important; }
.rs-sticky-header.active a.sneha-logo-link img { height:50px !important; max-height:50px !important; }
.rs-sticky-header.active a.sneha-logo-link .sneha-logo-text strong { color:#8b0000 !important; font-size:11px !important; }
.header-logo img,.header-logo-wrapper img { max-height:none !important; }
.offcanvas-logo a.sneha-logo-link { flex-direction:row !important; text-align:left !important; align-items:center !important; margin-top:0 !important; }
.offcanvas-logo a.sneha-logo-link img { height:50px !important; }
.offcanvas-logo a.sneha-logo-link .sneha-logo-text { align-items:flex-start !important; }
.offcanvas-logo a.sneha-logo-link .sneha-logo-text strong { color:#fff !important; font-size:13px !important; }
.rs-footer-widget-logo img { max-height:60px; width:auto; }

/* ---------------------------------------------------------------
   10. HEADER TOP BAR
--------------------------------------------------------------- */
.header-top-title svg { width:18px; height:18px; fill:currentColor; display:inline-block; vertical-align:middle; margin-right:6px; }
.rs-header-top-one .header-top-title { display:flex; align-items:center; font-size:13px; }
.rs-header-top-one .header-nav-menu-item a { font-size:13px; display:inline-flex; align-items:center; }

/* ---------------------------------------------------------------
   11. IMAGE UTILITIES
--------------------------------------------------------------- */
.sneha-card-img { width:100%; height:240px; object-fit:cover; border-radius:8px; }
.sneha-gallery-img { width:100%; height:280px; object-fit:cover; border-radius:8px; transition:transform 0.4s ease; }
.sneha-gallery-img:hover { transform:scale(1.03); }
.rs-banner-subtitle { font-size:18px; letter-spacing:1px; text-transform:uppercase; }

/* ---------------------------------------------------------------
   12. SECTION GRID FIXES
--------------------------------------------------------------- */
@media (min-width: 992px) { .rs-funfact-one .rs-funfact-wrapper { grid-template-columns:repeat(4,1fr) !important; } .rs-faculty-two .rs-faculty-wrapper { grid-template-columns:repeat(4,1fr) !important; } }
.rs-program-two .rs-program-thumb img { height:250px !important; object-fit:cover !important; object-position:center 20% !important; }
.rs-faculty-two .rs-faculty-thumb img { height:220px !important; object-fit:cover !important; object-position:top center !important; }
.rs-event-two .rs-event-thumb img { height:240px !important; object-fit:cover !important; }
.rs-gallery-one .rs-gallery-item img { height:260px !important; object-fit:cover !important; }

/* ---------------------------------------------------------------
   13. RESULTS GRID
--------------------------------------------------------------- */
.sneha-results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:10px; }
@media (max-width: 991px) { .sneha-results-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 575px) { .sneha-results-grid { grid-template-columns:1fr; } }
.sneha-result-card { border-radius:16px; overflow:hidden; position:relative; display:block; }
.sneha-result-card a { display:block; position:relative; border-radius:16px; overflow:hidden; text-decoration:none; }
.sneha-result-card img { width:100%; height:320px; object-fit:cover; object-position:top center; display:block; transition:transform 0.5s ease; border-radius:16px; }
.sneha-result-card a:hover img { transform:scale(1.04); }
.sneha-result-label { position:absolute; bottom:0; left:0; right:0; padding:40px 20px 18px; background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%); border-radius:0 0 16px 16px; }
.sneha-result-label h5 { color:#fff; font-size:17px; font-weight:700; margin:0; }

/* ---------------------------------------------------------------
   14. CUSTOM CURSOR
--------------------------------------------------------------- */
#rs-mouse { position:fixed !important; top:0; left:0; width:24px; height:24px; border:1px solid #555; border-radius:50% !important; pointer-events:none !important; z-index:2147483647 !important; visibility:hidden; background:transparent; box-sizing:border-box; }
#cursor-ball { position:fixed !important; top:0; left:0; width:4px; height:4px; background:#444 !important; border-radius:50% !important; pointer-events:none !important; z-index:2147483647 !important; visibility:hidden; }
@media (max-width: 991px) {
    #rs-mouse, #cursor-ball { display: none !important; }
}

/* ---------------------------------------------------------------
   15. FOOTER
--------------------------------------------------------------- */
footer, .rs-footer-area { background:#0b1c39 !important; }
footer::before, footer::after, .rs-footer-area::before, .rs-footer-area::after { display:none !important; }

/* ---------------------------------------------------------------
   16. FLOATING WHATSAPP
--------------------------------------------------------------- */
.sneha-floating-wa { position:fixed; bottom:30px; left:30px; width:58px; height:58px; background-color:#25d366; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:30px; box-shadow:0 4px 15px rgba(37,211,102,0.45); z-index:9999; transition:transform 0.3s ease, box-shadow 0.3s ease; text-decoration:none; }
.sneha-floating-wa:hover { transform:scale(1.12); color:#fff; box-shadow:0 6px 22px rgba(37,211,102,0.6); }

/* ---------------------------------------------------------------
   17. FORMS — Clean redesign with labels
--------------------------------------------------------------- */
.sneha-form-wrap { background:#fff; padding:40px; border-radius:16px; box-shadow:0 10px 50px rgba(0,0,0,0.08); }
.sneha-form-wrap h4 { font-size:22px; font-weight:700; color:#0b1c39; margin-bottom:28px; padding-bottom:16px; border-bottom:2px solid #f0f0f0; }
.sneha-field { margin-bottom:20px; }
.sneha-field label { display:block; font-size:13px; font-weight:600; color:#555; margin-bottom:6px; letter-spacing:0.3px; }
.sneha-field input,
.sneha-field select,
.sneha-field textarea {
    width:100%;
    padding:12px 16px;
    border:1.5px solid #dde3ea;
    border-radius:8px;
    font-size:15px;
    color:#222;
    background:#fff;
    font-family:inherit;
    box-sizing:border-box;
    transition:border-color 0.25s ease, box-shadow 0.25s ease;
    outline:none;
}
.sneha-field input:focus,
.sneha-field select:focus,
.sneha-field textarea:focus {
    border-color:#920224;
    box-shadow:0 0 0 3px rgba(146,2,36,0.09);
}
.sneha-field input::placeholder, .sneha-field textarea::placeholder { color:#c0c8d0; }
.sneha-field select {
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    padding-right:42px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23920224' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:17px;
}
.sneha-field textarea { min-height:120px; resize:vertical; line-height:1.6; }
.sneha-form-submit { width:100%; padding:14px; background:#920224; color:#fff; border:none; border-radius:8px; font-size:16px; font-weight:600; cursor:pointer; transition:background 0.3s ease, transform 0.2s ease; letter-spacing:0.3px; margin-top:4px; }
.sneha-form-submit:hover { background:#720118; transform:translateY(-2px); }

/* ---------------------------------------------------------------
   18. LEGACY FORM CLASSES (used in admission.php & contact.php)
--------------------------------------------------------------- */
.sneha-form-card {
    background: #fff;
    padding: 40px 36px;
    border-radius: 16px;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.09);
}
.sneha-form-card h4 {
    font-size: 22px;
    font-weight: 700;
    color: #0b1c39;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f0f0f0;
}
.sneha-form-group {
    margin-bottom: 18px;
}
.sneha-form-group:last-child {
    margin-bottom: 0;
}
/* Input / Textarea / Select base */
.sneha-form-field {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid #dde3ea;
    border-radius: 8px;
    font-size: 15px;
    color: #222;
    background: #fff;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    outline: none;
    display: block;
}
.sneha-form-field:focus {
    border-color: #920224 !important;
    box-shadow: 0 0 0 3px rgba(146, 2, 36, 0.09) !important;
    outline: none !important;
}
.sneha-form-field::placeholder {
    color: #bbb;
    font-size: 14px;
}
/* Textarea */
textarea.sneha-form-field {
    min-height: 120px !important;
    resize: vertical;
    line-height: 1.6;
}
/* Select — custom arrow, no native */
select.sneha-form-field {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    padding: 0 42px 0 16px; height: 52px; line-height: 52px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23920224' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 17px;
}
/* Hide the old pseudo-element arrow */
.sneha-select-wrap { position: relative; }
.sneha-select-wrap::after { display: none !important; }

/* ---------------------------------------------------------------
   19. ACHIEVEMENT CARDS
--------------------------------------------------------------- */
.sneha-achievement-card {
    text-align: center;
    padding: 30px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sneha-achievement-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

.sneha-achievement-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #0b1c39;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin: 0 auto 20px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.sneha-achievement-card:hover .sneha-achievement-icon {
    background-color: #920224;
    transform: scale(1.1);
}

/* ---------------------------------------------------------------
   20. FLOATING SOCIAL ICONS
--------------------------------------------------------------- */
.sneha-floating-social {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    z-index: 9999;
    box-shadow: -2px 2px 10px rgba(0,0,0,0.1);
    border-radius: 8px 0 0 8px;
    overflow: hidden;
}

.sneha-floating-social a {
    width: 45px;
    height: 45px;
    background: #fff;
    color: #0b1c39;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: all 0.3s ease;
    border-bottom: 1px solid #f0f0f0;
    text-decoration: none;
}

.sneha-floating-social a:last-child {
    border-bottom: none;
}

.sneha-floating-social a:hover {
    background: #920224;
    color: #fff;
}
