
:root{--green:#0d5d4a;--green-dark:#084638;--mint:#e9f5ef;--gold:#e7b65a;--ink:#172a25;--muted:#64746e;--line:#dce7e1;--paper:#f8fbf9;--white:#fff;--radius:20px;--shadow:0 12px 35px rgba(17,65,49,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans Bengali",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 36px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:10px;z-index:100}.skip-link:focus{left:8px}.topbar{background:var(--green-dark);color:#e8f5ef;font-size:.78rem}.topbar-inner{display:flex;justify-content:space-between;gap:12px;padding:7px 0}.site-header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-logo{width:52px;height:52px;border-radius:14px;background:var(--mint);display:grid;place-items:center;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:contain}.logo-fallback{font-size:12px;text-align:center}.brand-text strong{display:block;color:var(--green);font-size:1rem;line-height:1.45}.brand-text small{display:block;font-size:.78rem;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.main-nav a{font-size:.8rem;padding:8px 9px;border-radius:9px;color:#42544d}.main-nav a:hover,.main-nav a[aria-current=page]{background:var(--mint);color:var(--green)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px}.hero{width:min(1160px,calc(100% - 36px));margin:30px auto 0;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:24px}.hero-copy{background:var(--green);color:#fff;border-radius:26px;padding:clamp(26px,4vw,54px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:410px}.eyebrow{font-size:.78rem;font-weight:700;color:#b17b21;letter-spacing:.04em}.hero .eyebrow{color:#f3cf86}.hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.35;margin:13px 0 14px;letter-spacing:-.03em}.hero h1 span{color:#f5d38f}.hero p{max-width:580px;color:#e4f0eb}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--green);color:#fff;border:1px solid var(--green);padding:11px 18px;border-radius:12px;font-weight:700;cursor:pointer;transition:.2s}.btn:hover{background:var(--green-dark);transform:translateY(-1px)}.hero .btn{background:#f5d38f;color:#173c31;border-color:#f5d38f}.hero .btn-outline{background:transparent;color:#fff;border-color:#a5c9ba}.hero .small{font-size:.72rem}.muted{color:var(--muted)}.hero-image-wrap{min-height:410px;border-radius:26px;overflow:hidden;background:#dcece3;position:relative}.hero-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.image-placeholder{height:100%;min-height:180px;display:grid;place-content:center;text-align:center;gap:7px;padding:20px;background:repeating-linear-gradient(135deg,#e9f5ef,#e9f5ef 14px,#f8fbf9 14px,#f8fbf9 28px);color:var(--green)}.image-placeholder span{font-size:.82rem;font-weight:800}.image-placeholder small{color:var(--muted)}.quick-links{width:min(1160px,calc(100% - 36px));margin:20px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;box-shadow:var(--shadow)}.quick-card:hover{border-color:#9bc7b4}.quick-icon{grid-row:span 2;background:var(--mint);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--green);font-size:1.2rem}.quick-card strong{font-size:.92rem}.quick-card small{font-size:.75rem;color:var(--muted)}.section{width:min(1160px,calc(100% - 36px));margin:64px auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section h2,.section-heading h2{font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.4;margin:6px 0 0}.text-link{color:var(--green);font-weight:700;font-size:.88rem}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.two-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.info-card,.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.info-card h3{margin:10px 0 8px;font-size:1.08rem}.info-card p,.content-card p{color:#52655d}.info-card a{font-weight:700;color:var(--green);font-size:.86rem}.card-symbol{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:1.35rem}.split-section{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.split-section h2{margin:7px 0 15px}.portrait-placeholder{min-height:290px;position:relative;overflow:hidden;border-radius:22px;background:#e4f1e9}.portrait-placeholder>img{width:100%;height:100%;min-height:290px;position:absolute;inset:0;object-fit:cover}.notice-preview{background:var(--mint);padding:30px;border-radius:24px}.notice-empty{display:flex;align-items:center;gap:16px;background:#fff;border:1px dashed #b6d3c5;border-radius:15px;padding:20px}.notice-empty>span{font-size:1.6rem;color:var(--green);background:var(--mint);width:48px;height:48px;display:grid;place-items:center;border-radius:13px;flex-shrink:0}.notice-empty strong{display:block}.notice-empty p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-tile{min-height:220px;border-radius:18px;overflow:hidden;background:#e4f1e9;position:relative}.gallery-tile img{width:100%;height:100%;min-height:220px;object-fit:cover}.page-intro{background:var(--mint);padding:52px max(18px,calc((100% - 1160px)/2));}.page-intro h1{font-size:clamp(2rem,4vw,3rem);line-height:1.35;margin:8px 0}.page-intro p{margin:0;color:#50685e;max-width:780px}.content-card h2{font-size:1.25rem;margin-top:22px}.content-card h2:first-child{margin-top:0}.content-card p:first-child{margin-top:0}.narrow-card{max-width:560px;margin-inline:auto}.demo-form{display:grid;gap:15px;max-width:650px}.demo-form label{display:grid;gap:6px;font-weight:600;font-size:.9rem}.demo-form input,.demo-form select,.demo-form textarea,.section input,.section select{width:100%;padding:12px 13px;border:1px solid #cbdad2;border-radius:10px;background:#fff;color:var(--ink);min-height:44px}.demo-form input:focus,.demo-form select:focus,.demo-form textarea:focus{outline:3px solid #b5d8c8;border-color:var(--green)}.form-note{font-size:.8rem;color:var(--muted);background:#f3f7f4;padding:10px 12px;border-radius:9px}.form-message{font-size:.9rem;color:var(--green);font-weight:700}.library-items{margin-top:20px}.site-footer{margin-top:70px;background:#082f27;color:#e5f2ec;padding:44px 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:26px;padding-bottom:30px}.footer-brand{font-size:1.1rem;font-weight:800}.site-footer p{color:#b7d0c4;font-size:.85rem}.site-footer h3{font-size:.95rem;margin:0 0 12px}.site-footer a{display:block;color:#c7ddd2;font-size:.84rem;margin:7px 0}.site-footer a:hover{color:#f5d38f}.footer-bottom{border-top:1px solid #31584c;padding:15px 0;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:#b7d0c4}.footer-bottom a{display:inline}.small{font-size:.8rem}
@media(max-width:1000px){.header-inner{min-height:76px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:14px 18px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr)}.main-nav.open{display:grid}.main-nav a{padding:10px}.hero{grid-template-columns:1fr 1fr}.hero-copy,.hero-image-wrap{min-height:350px}.quick-links{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container,.hero,.quick-links,.section{width:min(100% - 24px,1160px)}.topbar-inner{font-size:.68rem;flex-direction:column;gap:0}.header-inner{gap:10px}.brand{min-width:0;gap:8px}.brand-logo{width:42px;height:42px}.brand-text strong{font-size:.83rem}.brand-text small{font-size:.68rem}.main-nav{grid-template-columns:repeat(2,1fr)}.main-nav a{font-size:.82rem}.hero{grid-template-columns:1fr;margin-top:14px;gap:12px}.hero-copy{min-height:unset;padding:27px 22px;border-radius:20px}.hero h1{font-size:2rem}.hero-image-wrap{min-height:230px;border-radius:20px}.quick-links{gap:9px;margin-top:12px}.quick-card{padding:12px;grid-template-columns:34px 1fr;column-gap:8px}.quick-icon{width:34px;height:34px}.quick-card strong{font-size:.8rem}.quick-card small{font-size:.68rem}.section{margin:42px auto}.section-heading{align-items:start;flex-direction:column;gap:8px}.three-grid,.two-grid,.gallery-grid,.split-section{grid-template-columns:1fr}.info-card,.content-card{padding:19px}.page-intro{padding:35px 18px}.page-intro h1{font-size:2rem}.gallery-tile,.gallery-tile img{min-height:200px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-bottom{flex-direction:column}.notice-preview{padding:18px}.notice-empty{align-items:flex-start;padding:14px}.notice-empty>span{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* 🔴 EDIT HERE: ভর্তি বিজ্ঞাপনের ডিজাইন */
.admission-ticker {
  width: min(1160px, calc(100% - 36px));
  margin: 18px auto;
  background: #0d5d4a;
  color: white;
  border: 2px solid #e7b65a;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(13, 93, 74, 0.12);
}

.admission-ticker-link {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 10px 14px;
  color: inherit;
}

.admission-badge {
  flex-shrink: 0;
  padding: 7px 11px;
  background: #e7b65a;
  color: #173c31;
  border-radius: 8px;
  font-weight: 800;
  font-size: 14px;
}

.admission-window {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.admission-track {
  display: flex;
  width: max-content;
  animation: admission-slide 18s linear infinite;
}

.admission-message {
  flex-shrink: 0;
  padding-right: 70px;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 700;
}

.admission-ticker:hover .admission-track {
  animation-play-state: paused;
}

.admission-button {
  flex-shrink: 0;
  background: #ffffff;
  color: #0d5d4a;
  border-radius: 8px;
  padding: 8px 11px;
  font-size: 13px;
  font-weight: 800;
}

@keyframes admission-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 600px) {
  .admission-ticker {
    width: calc(100% - 24px);
  }

  .admission-ticker-link {
    gap: 9px;
    padding: 9px;
  }

  .admission-badge {
    font-size: 11px;
    padding: 7px;
  }

  .admission-message {
    font-size: 12px;
    padding-right: 40px;
  }

  .admission-button {
    font-size: 11px;
    padding: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admission-track {
    animation: none;
  }
}


/* ===== Class Activities CSS ===== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 25px 15px;
}

/* শ্রেণিগুলোর গ্রিড */
.class-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
}

/* প্রতিটি শ্রেণির কার্ড */
.class-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 155px;
    padding: 22px 12px;

    background: linear-gradient(135deg, #ffffff, #eaf8f0);
    color: #087443;

    text-decoration: none;
    text-align: center;

    border: 1px solid #cde8d7;
    border-radius: 16px;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);

    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease,
        color 0.3s ease;
}

/* কার্ডের আইকন */
.class-card .number {
    font-size: 38px;
    line-height: 1.2;
    transition: transform 0.3s ease;
}

/* শ্রেণির নাম */
.class-card h2 {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

/* মাউস দিয়ে কার্ডের ওপর গেলে */
@media (hover: hover) {
    .class-card:hover {
        background: linear-gradient(135deg, #087443, #0aa663);
        color: #ffffff;
        transform: translateY(-7px);
        box-shadow: 0 12px 25px rgba(8, 116, 67, 0.22);
    }

    .class-card:hover .number {
        transform: scale(1.15);
    }
}

/* ক্লিক বা টাচ করলে */
.class-card:active {
    transform: scale(0.97);
}

/* কিবোর্ড দিয়ে নির্বাচন করলে */
.class-card:focus-visible {
    outline: 3px solid #f4b400;
    outline-offset: 4px;
}

/* ট্যাবলেট */
@media (max-width: 768px) {
    .container {
        padding: 20px 12px;
    }

    .class-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .class-card {
        min-height: 135px;
        padding: 18px 8px;
        border-radius: 12px;
    }

    .class-card .number {
        font-size: 32px;
    }

    .class-card h2 {
        font-size: 15px;
    }
}

/* ছোট মোবাইল */
@media (max-width: 400px) {
    .class-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .class-card {
        min-height: 120px;
    }

    .class-card h2 {
        font-size: 14px;
    }
}

/* অ্যানিমেশন কমাতে পছন্দ করেন এমন ব্যবহারকারীদের জন্য */
@media (prefers-reduced-motion: reduce) {
    .class-card,
    .class-card .number {
        transition: none;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #f1f5f9;
    color: #263238;
    line-height: 1.7;
}

.page-container {
    max-width: 1100px;
    margin: auto;
    padding: 18px;
}

.back-link {
    display: inline-block;
    margin-bottom: 15px;
    color: #087443;
    text-decoration: none;
    font-weight: bold;
}

.class-header {
    background: linear-gradient(135deg, #087443, #12a66b);
    color: white;
    text-align: center;
    padding: 25px 12px;
    border-radius: 14px;
    margin-bottom: 20px;
}

.class-header h1 {
    margin: 0 0 8px;
    font-size: 27px;
}

.class-header p {
    margin: 0;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.info-card {
    background: white;
    padding: 20px;
    margin-bottom: 18px;
    border-radius: 12px;
    box-shadow: 0 3px 12px #0000000c;
    overflow-wrap: anywhere;
}

.info-card h2 {
    margin-top: 0;
    color: #087443;
    font-size: 20px;
}

.info-card p {
    margin: 8px 0;
}

.info-card ul {
    padding-left: 23px;
}

.edit-note {
    color: #64748b;
    font-size: 14px;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 430px;
}

th, td {
    border: 1px solid #d9e3dd;
    padding: 10px;
    text-align: left;
}

th {
    background: #e5f5eb;
    color: #075e3a;
}

.photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.photo-grid img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 10px;
    background: #e2e8f0;
}

footer {
    background: #075e3a;
    color: white;
    padding: 18px;
    text-align: center;
    border-radius: 10px;
}

@media (max-width: 650px) {
    .page-container {
        padding: 12px;
    }

    .info-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .class-header h1 {
        font-size: 22px;
    }

    .info-card {
        padding: 15px;
    }

    .info-card h2 {
        font-size: 18px;
    }

    .photo-grid {
        grid-template-columns: 1fr 1fr;
    }

    .photo-grid img {
        height: 130px;
    }
}

/* STUDENT REGISTRATION PAGE */

.student-register-page {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 35px 15px;
    background: #f1f6fc;
    font-family: 'Noto Sans Bengali', sans-serif;
}

.register-card {
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    padding: 35px 30px;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.09);
}

.register-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 15px;
    border-radius: 50%;
    background: #e7f2ff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 35px;
}

.register-card h2 {
    text-align: center;
    color: #0875c9;
    font-size: 24px;
    margin-bottom: 8px;
}

.register-subtitle {
    text-align: center;
    color: #777;
    font-size: 14px;
    margin-bottom: 28px;
}

.form-group {
    margin-bottom: 19px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: #333;
    font-weight: 600;
    font-size: 14px;
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 13px;
    border: 1px solid #d5dce5;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    background: #fff;
    box-sizing: border-box;
    outline: none;
}

.form-group input:focus,
.form-group select:focus {
    border-color: #0875c9;
    box-shadow: 0 0 0 3px rgba(8,117,201,0.10);
}

.register-submit {
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 8px;
    background: #0875c9;
    color: white;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 8px;
}

.register-submit:hover {
    background: #005a9e;
}

.register-footer {
    text-align: center;
    font-size: 12px;
    color: #777;
    margin-top: 25px;
}

@media(max-width: 480px) {
    .register-card {
        padding: 28px 20px;
    }

    .register-card h2 {
        font-size: 21px;
    }
}
.developer-credit {
    text-align: center;
    padding: 15px 10px;
    font-size: 13px;
    color: #cbd5e1;
    background: #172b46;
    border-top: 1px solid #334155;
}

.developer-credit span {
    display: block;
    color: #ffffff;
    font-weight: 600;
    font-size: 15px;
    margin-top: 5px;
}

.developer-credit small {
    display: block;
    color: #94a3b8;
    font-size: 12px;
    margin-top: 4px;
}