/* =========================================================
   SNPS FACULTY & STAFF — COMPACT CARD DESIGN
   ========================================================= */

.snps-faculty-page {
    --snps-blue: #17166d;
    --snps-light: #ffffff;
    --snps-card: #ffffff;
    --snps-border: #d7d7e5;
    --snps-text: #111116;
    width: 100%;
    background: #ffffff;
    color: var(--snps-text);
    box-sizing: border-box;
}

.snps-faculty-page *,
.snps-faculty-page *::before,
.snps-faculty-page *::after {
    box-sizing: border-box;
}

.snps-faculty-wrapper {
    width: min(1120px, calc(100% - 24px));
    margin: 24px auto 60px;
}

.snps-faculty-accordion {
    width: 100%;
    margin: 0 0 12px;
    overflow: hidden;
    border: 0;
    border-radius: 7px;
    background: transparent;
}

.snps-faculty-accordion-header {
    width: 100%;
    min-height: 54px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 7px;
    background: var(--snps-blue);
    color: #fff;
    cursor: pointer;
    text-align: left;
    font: 600 17px/1.3 Arial, Helvetica, sans-serif;
    box-shadow: none;
}

.snps-faculty-accordion-header:hover,
.snps-faculty-accordion-header:focus {
    background: var(--snps-blue);
    color: #fff;
}

.snps-faculty-arrow {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: block;
    background-image: url("accordion-arrow.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform .25s ease;
}

.snps-faculty-accordion.is-open .snps-faculty-arrow {
    transform: rotate(180deg);
}

.snps-faculty-accordion-content {
    display: none;
    padding: 16px 0 4px;
    border: 0;
}

.snps-faculty-accordion.is-open .snps-faculty-accordion-content {
    display: block;
}

/* Compact four-column cards */
.snps-faculty-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

/* Profile card */
.snps-faculty-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d9d9df;
    border-radius: 13px;
    background: var(--snps-card);
    box-shadow: 0 3px 12px rgba(20, 20, 60, .045);
    transition: transform .22s ease, box-shadow .22s ease;
}

.snps-faculty-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 20px rgba(20, 20, 70, .09);
}

/* Slightly smaller portrait */
.snps-faculty-photo {
    width: calc(100% - 20px);
    height: auto;
    aspect-ratio: 1 / 1;
    display: block;
    margin: 10px 10px 0;
    object-fit: cover;
    object-position: top;
    border-radius: 9px;
    background: #eef0f5;
}

.snps-faculty-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: #999;
    font: 11px/1.2 Arial, sans-serif;
}

.snps-faculty-photo-placeholder .dashicons {
    font-size: 28px;
    width: 28px;
    height: 28px;
}

/* Name + plain details, without labels or field icons */
.snps-faculty-card-body {
    padding: 13px 14px 16px;
}

.snps-faculty-card h3 {
    margin: 0 0 10px;
    color: #07070a;
    font: 700 20px/1.15 Arial, Helvetica, sans-serif;
    letter-spacing: -.2px;
}

.snps-faculty-detail {
    display: block;
    margin: 0 0 5px;
    color: #4e4e59;
    font: 13px/1.35 Arial, Helvetica, sans-serif;
}

.snps-faculty-detail:last-child {
    margin-bottom: 0;
}

.snps-faculty-detail strong {
    display: none;
}

/* Hide old icon markup completely */
.snps-faculty-icon {
    display: none !important;
}

.snps-faculty-empty {
    padding: 40px 20px;
    border: 1px solid var(--snps-border);
    border-radius: 8px;
    background: #fff;
    text-align: center;
    color: #666;
}

@media (max-width: 980px) {
    .snps-faculty-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .snps-faculty-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
    }

    .snps-faculty-wrapper {
        width: calc(100% - 18px);
    }

    .snps-faculty-card h3 {
        font-size: 18px;
    }
}

@media (max-width: 520px) {
    .snps-faculty-grid {
        grid-template-columns: 1fr;
    }

    .snps-faculty-wrapper {
        width: calc(100% - 12px);
        margin-top: 14px;
    }

    .snps-faculty-accordion-header {
        min-height: 50px;
        padding: 0 15px;
        font-size: 15px;
    }

    .snps-faculty-accordion-content {
        padding-top: 12px;
    }

    .snps-faculty-photo {
        width: calc(100% - 16px);
        margin: 8px 8px 0;
    }
}


/* Final theme overrides */
.snps-faculty-page {
    background: #fff !important;
}

.snps-faculty-page .snps-faculty-accordion-header,
.snps-faculty-page .snps-faculty-accordion-header:hover,
.snps-faculty-page .snps-faculty-accordion-header:focus,
.snps-faculty-page .snps-faculty-accordion-header:active {
    background-color: #17166d !important;
    color: #fff !important;
    border-color: #17166d !important;
    box-shadow: none !important;
    outline: none;
}

.snps-faculty-page .snps-faculty-accordion-header span {
    color: #fff !important;
}

.snps-faculty-page .snps-faculty-accordion-content {
    background: #fff !important;
}

.snps-faculty-page .snps-faculty-card {
    background: #fff !important;
}

.snps-faculty-page .snps-faculty-card h3 {
    color: #111116 !important;
}

.snps-faculty-page .snps-faculty-detail {
    color: #4e4e59 !important;
}

.snps-faculty-page a,
.snps-faculty-page a:hover,
.snps-faculty-page a:focus {
    color: #17166d;
}

/* =========================================================
   SNPS FACULTY v5.2 — FINAL CARD / ACCORDION OVERRIDES
   ========================================================= */

/* Accordion button */
.snps-faculty-page .snps-faculty-accordion-header[type="button"]:not(:disabled),
.snps-faculty-page [type="submit"]:not(:disabled),
.snps-faculty-page button:not(:disabled) {
    cursor: pointer;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.snps-faculty-page .snps-faculty-accordion-header,
.snps-faculty-page .snps-faculty-accordion-header:hover,
.snps-faculty-page .snps-faculty-accordion-header:focus,
.snps-faculty-page .snps-faculty-accordion-header:active {
    background: #52489c !important;
    color: #fff !important;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Smaller image with a little breathing room */
.snps-faculty-page .snps-faculty-photo {
    width: calc(100% - 30px);
    margin: 15px 15px 0;
    border-radius: 9px;
}

/* Smaller teacher name + centered card content */
.snps-faculty-page .snps-faculty-card-body {
    padding: 11px 10px 14px;
    text-align: center;
}

.snps-faculty-page .snps-faculty-card h3 {
    margin: 0 0 7px;
    font-size: 17px !important;
    line-height: 1.2;
    text-align: center;
}

/* Only department and qualification are shown */
.snps-faculty-page .snps-faculty-detail {
    margin: 0 0 4px;
    font-size: 12.5px;
    line-height: 1.35;
    text-align: center;
}

.snps-faculty-page .snps-faculty-detail.subject,
.snps-faculty-page .snps-faculty-detail[data-field="subject"] {
    display: none !important;
}

/* Center all card content regardless of theme styles */
.snps-faculty-page .snps-faculty-card,
.snps-faculty-page .snps-faculty-card-body,
.snps-faculty-page .snps-faculty-detail {
    text-align: center;
}

.snps-faculty-detail-subject {
    display: none;
}