/* EducationEyuboglu / AcademicCalendar */

.banner { width: 100%; padding: 3rem 1.25rem 1.5rem; position: relative; overflow: hidden; margin: 8em auto 2em auto; }

    .banner::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.18; }

    .banner .heading { font-weight: 700; font-size: clamp(28px, 4vw, 48px); color: #fff; line-height: 1; letter-spacing: -0.02em; margin-bottom: 0; opacity: 0; transform: translateY(20px); animation: fadeUp 0.7s ease forwards 0.1s; }

@keyframes fadeUp {
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
    .banner { padding: 2rem 1rem 1.5rem; }
}

.banner-bg { background-color: #993333; }
.content-row { padding: 1rem 0; }
    .content-row h4 { margin: 1rem 0; }

.takvim { max-width: 100%; margin: 0 auto; border-radius: 10px; overflow: hidden; border: 1px solid #ddd; }

table { width: 100%; border-collapse: collapse; background: white; }
tr { border-bottom: 1px solid #e8e8e8; }
    tr:last-child { border-bottom: none; }
    tr:nth-child(even) { background: #f9f9f9; }
td { padding: 12px 20px; vertical-align: middle; color: #222; }
    td:first-child { white-space: nowrap; width: 200px; font-weight: 500; color: #555; border-right: 1px solid #e8e8e8; }

.cards { display: none; background: white; }
.card { padding: 11px 16px; border-bottom: 1px solid #e8e8e8; }
    .card:last-child { border-bottom: none; }
.card-date { color: #888; margin-bottom: 4px; }
.card-desc { color: #222; line-height: 1.4; }

@media (max-width: 540px) {
    html, body { padding: 0; margin: 0; background: #fff; }
    .container, .container-fluid { padding-left: 0; padding-right: 0; }
    table { display: none; }
    .cards { display: block; }
}
