/* Sri Sai ITI - Plugin Styles */

/* --- Base --- */
.srisaiiti-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
    border-radius: var(--srisaiiti-border-radius, 6px);
}
.srisaiiti-btn--primary {
    background-color: var(--srisaiiti-primary, #1a365d);
    color: #fff;
}
.srisaiiti-btn--primary:hover {
    background-color: var(--srisaiiti-secondary, #007cba);
    transform: translateY(-1px);
}
.srisaiiti-btn--outline {
    background: transparent;
    border: 2px solid var(--srisaiiti-primary, #1a365d);
    color: var(--srisaiiti-primary, #1a365d);
}
.srisaiiti-btn--outline:hover {
    background-color: var(--srisaiiti-primary, #1a365d);
    color: #fff;
}
.srisaiiti-btn--sm { padding: 6px 16px; font-size: 13px; }
.srisaiiti-btn--lg { padding: 12px 28px; font-size: 15px; }

/* --- Notices --- */
.srisaiiti-notices {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.srisaiiti-notices--list {
    display: block;
}
.srisaiiti-notice-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    position: relative;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s ease;
}
.srisaiiti-notice-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.srisaiiti-notice-card.is-important {
    border-left: 4px solid var(--srisaiiti-accent, #ff6b00);
}
.srisaiiti-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}
.srisaiiti-badge--important {
    background: var(--srisaiiti-accent, #ff6b00);
    color: #fff;
}
.srisaiiti-notice-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}
.srisaiiti-notice-title a {
    color: inherit;
    text-decoration: none;
}
.srisaiiti-notice-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 8px;
}
.srisaiiti-notice-category {
    display: inline-block;
    background: var(--srisaiiti-secondary, #007cba);
    color: #fff;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 11px;
    margin-bottom: 8px;
}
.srisaiiti-notice-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

/* --- Results --- */
.srisaiiti-results { padding: 20px 0; }
.srisaiiti-results-year {
    font-size: 18px;
    font-weight: 700;
    color: var(--srisaiiti-primary, #1a365d);
    margin: 20px 0 12px;
    border-bottom: 2px solid var(--srisaiiti-primary, #1a365d);
    padding-bottom: 6px;
}
.srisaiiti-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
}
.srisaiiti-result-item:last-child { border-bottom: none; }
.srisaiiti-result-title { font-size: 15px; margin: 0; }
.srisaiiti-result-title a { color: inherit; text-decoration: none; }
.srisaiiti-result-title a:hover { color: var(--srisaiiti-primary, #1a365d); }

/* --- Exams --- */
.srisaiiti-exams {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.srisaiiti-exam-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
}
.srisaiiti-exam-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.srisaiiti-exam-status--upcoming { background: #dbeafe; color: #1e40af; }
.srisaiiti-exam-status--ongoing { background: #dcfce7; color: #166534; }
.srisaiiti-exam-status--completed { background: #f1f5f9; color: #475569; }

/* --- Courses --- */
.srisaiiti-courses {
    display: grid;
    gap: 20px;
}
.srisaiiti-courses--cols-3 { grid-template-columns: repeat(3, 1fr); }
.srisaiiti-courses--cols-2 { grid-template-columns: repeat(2, 1fr); }
.srisaiiti-courses--cols-1 { grid-template-columns: 1fr; }
@media (max-width: 991px) {
    .srisaiiti-courses--cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .srisaiiti-courses--cols-3,
    .srisaiiti-courses--cols-2 { grid-template-columns: 1fr; }
}
.srisaiiti-course-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.srisaiiti-course-image { margin-bottom: 12px; }
.srisaiiti-course-image img { width: 100%; height: auto; display: block; }
.srisaiiti-course-content { padding: 16px; flex-grow: 1; display: flex; flex-direction: column; }
.srisaiiti-course-title { font-size: 16px; margin: 0 0 8px; }
.srisaiiti-course-title a { color: inherit; text-decoration: none; }
.srisaiiti-course-code { background: var(--srisaiiti-secondary, #007cba); color: #fff; padding: 3px 8px; border-radius: 4px; font-size: 12px; display: inline-block; margin-bottom: 8px; }
.srisaiiti-course-duration, .srisaiiti-course-intake { font-size: 13px; color: #475569; margin: 4px 0; }
.srisaiiti-course-eligibility { font-size: 13px; color: #64748b; margin: 8px 0; flex-grow: 1; }
.srisaiiti-course-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

/* --- Scholarships --- */
.srisaiiti-scholarships {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.srisaiiti-scholarship-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
}
.srisaiiti-scholarship-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.srisaiiti-status--active { background: #dcfce7; color: #166534; }
.srisaiiti-status--inactive { background: #fef3c7; color: #92400e; }
.srisaiiti-status--closed { background: #fee2e2; color: #991b2b; }
.srisaiiti-scholarship-actions { display: flex; gap: 8px; margin-top: 12px; }

/* --- Gallery --- */
.srisaiiti-gallery {
    display: grid;
    gap: 12px;
}
.srisaiiti-gallery--cols-4 { grid-template-columns: repeat(4, 1fr); }
.srisaiiti-gallery--cols-3 { grid-template-columns: repeat(3, 1fr); }
.srisaiiti-gallery--cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 991px) {
    .srisaiiti-gallery--cols-4 { grid-template-columns: repeat(2, 1fr); }
    .srisaiiti-gallery--cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .srisaiiti-gallery--cols-4,
    .srisaiiti-gallery--cols-3,
    .srisaiiti-gallery--cols-2 { grid-template-columns: 1fr; }
}
.srisaiiti-gallery-img { width: 100%; height: 200px; object-fit: cover; border-radius: 6px; }
.srisaiiti-gallery-placeholder {
    background: #f1f5f9;
    border: 2px dashed #cbd5e1;
    border-radius: 6px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}

/* --- Staff --- */
.srisaiiti-staff {
    display: grid;
    gap: 20px;
}
.srisaiiti-staff--cols-4 { grid-template-columns: repeat(4, 1fr); }
.srisaiiti-staff--cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 991px) {
    .srisaiiti-staff--cols-4 { grid-template-columns: repeat(2, 1fr); }
    .srisaiiti-staff--cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .srisaiiti-staff--cols-4,
    .srisaiiti-staff--cols-3 { grid-template-columns: 1fr; }
}
.srisaiiti-staff-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    padding: 20px;
}
.srisaiiti-staff-photo { margin-bottom: 12px; }
.srisaiiti-staff-img { width: 100px; height: 100px; object-fit: cover; border-radius: 50%; }
.srisaiiti-staff-name { font-size: 16px; font-weight: 600; margin: 0; }

/* --- Vacancies --- */
.srisaiiti-vacancy-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.srisaiiti-status--open { background: #dcfce7; color: #166534; }

/* --- Inquiry Form --- */
.srisaiiti-inquiry-form .srisaiiti-form {
    display: grid;
    gap: 16px;
}
.srisaiiti-form-title { margin-top: 0; }
.srisaiiti-form-row {
    display: grid;
    gap: 16px;
}
.srisaiiti-form-row .srisaiiti-form-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.srisaiiti-form-col.full, .srisaiiti-form-col { width: 100%; }
.srisaiiti-form-control {
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 15px;
}
.srisaiiti-form-control:focus {
    outline: 2px solid var(--srisaiiti-primary, #1a365d);
    border-color: var(--srisaiiti-primary, #1a365d);
}
.srisaiiti-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.srisaiiti-alert {
    padding: 14px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-weight: 500;
}
.srisaiiti-alert--success {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}

/* --- Contact Info --- */
.srisaiiti-contact-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.srisaiiti-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.srisaiiti-contact-item svg { flex-shrink: 0; margin-top: 2px; }

/* --- Social Links --- */
.srisaiiti-social-links {
    display: flex;
    gap: 12px;
}
.srisaiiti-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--srisaiiti-primary, #1a365d);
    color: #fff;
    text-decoration: none;
    transition: all 0.2s ease;
}
.srisaiiti-social-link:hover {
    transform: translateY(-2px);
    opacity: 0.85;
}

/* --- Table --- */
.srisaiiti-table-container {
    overflow-x: auto;
}
.srisaiiti-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.srisaiiti-table th,
.srisaiiti-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #e2e8f0;
}
.srisaiiti-table th {
    background: #f8fafc;
    font-weight: 600;
    color: var(--srisaiiti-primary, #1a365d);
}
.srisaiiti-table-title a {
    color: inherit;
    text-decoration: none;
}
.srisaiiti-table-title a:hover { color: var(--srisaiiti-primary, #1a365d); }

/* --- No Results --- */
.srisaiiti-no-results {
    text-align: center;
    padding: 40px;
    color: #64748b;
}

/* --- Responsive --- */
@media (max-width: 767px) {
    .srisaiiti-form-row {
        grid-template-columns: 1fr;
    }
}
