@import url('https://fonts.googleapis.com/css2?family=Anek+Bangla:wght@100..800&display=swap');
body {
    font-family: "Anek Bangla", sans-serif;
    font-size: 15px;
    overflow-x: hidden;
    line-height: 1.5;
    background: var(--background-color);
    /*background-image: url('../images/dot-grid.webp');*/
}

:root {
    --background-color: #fff;
    --primary-color: #003deb;
    --secondary-color: #20c902;
}

/*==== COMMON CSS START ====*/
p {
    margin: 0;
    color: #222;
    padding: 0;
}

button,
button:focus,
button:active {
    outline: none !important;
    box-shadow: 0 0 !important;
}

form input::placeholder {
    font-size: 15px;
    color: #888;
    text-align: left !important;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

li {
    display: inline-block;
    list-style: none;
}

a,
a:hover,
a,
a:hover,
a:focus {
    color: #000;
    text-decoration: none;
    outline-offset: 0;
    outline: 0;
    transition: 0.35s all;
}

button,
button:focus,
button:active {
    text-decoration: none;
    border: 0;
    outline: 0;
}

.form-control,
.form-control:focus,
input,
input:focus {
    outline: 0;
    border: 1;
    box-shadow: 0 0 !important;
}

.parsley-errors-list {
    color: var(--secondary-color);
}

.parsley-error {
    border: 1px solid var(--secondary-color) !important;
}

img {
    max-width: 100%;
    height: 100%;
}

button {
    padding: 0;
    border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Anek Bangla", sans-serif;
    margin: 0;
}

.cursor {
    cursor: pointer;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.container {
    max-width: 1200px;
}

/*==== COMMON CSS END ====  */


/*==== HEADER CSS START ====*/
.logo img {
    width: 120px;
}
.header-section {
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
}
.logo-menu-auth {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.menu ul li a {
    font-size: 17px;
    font-weight: 600;
    margin: 0 10px;
    padding: 0 10px;
    transition: 0.35s all;
}
.menu ul li a:hover {
   color: var(--primary-color);
}
.auth ul li a {
    font-size: 17px;
    font-weight: 600;
    margin: 0px 5px;
    border: 1px solid var(--primary-color);
    padding: 4px 15px;
    border-radius: 10px;
    color:  var(--primary-color);;
    transition: 0.35s all;
}

.auth ul li a.active,.auth ul li a:hover {
    background: var(--primary-color);
    color: #fff;
}
.mobile-menu {
    display: none;
}
.mobile-header {
    display: none;
}

/*==== HEADER CSS END ====*/

/*==== SLIDER CSS START ====*/
.slider-section {
    padding: 15px 0;
}

.slider-item img {
    border-radius: 10px;
    overflow: hidden;
}

.slider-item {
    border-radius: 10px;
    overflow: hidden;
}
.owl-prev,.owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.owl-prev span,.owl-next span {
    font-size: 30px;
}

.owl-prev {
    height: 50px;
    width: 50px;
    background: rgba(92,175,70,0.5) !important;
    z-index: 9999;
    left: -25px;
    border-radius: 50px;
    color: #fff !important;
    transition: 0.35s all;
}
.owl-next {
    height: 50px;
    width: 50px;
    background: rgba(92,175,70,0.5) !important;
    z-index: 9999;
    right: -25px;
    border-radius: 50px;
    color: #fff !important;
    transition: 0.35s all;
}
.owl-prev:hover,.owl-next:hover {
     background: rgba(92,175,70,1) !important;
}
/*==== SLIDER CSS END ====*/

/*==== COUNTER CSS START ====*/
.counter-section {
    padding: 60px 0;
    background: #f2fff1;
}
.counter-heading {
    text-align: center;
    margin-bottom: 35px;
}

.counter-heading h2 {
    color: var(--secondary-color);
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 5px;
}

.counter-item {
    text-align: center;
    border: 2px solid var(--primary-color);
    padding: 10px;
    border-radius: 10px;
    background: #fff;
}
.total_counter {
    font-size: 25px;
    font-weight: 600;
    margin: 5px 0;
}
.counter-content i {
    color: var(--primary-color);
    font-size: 18px;
}

.counter_title {
    color: var(--primary-color);
    font-weight: 500;
    font-size: 16px;
}

.orange-color.counter-item {
    border-color: #F27F21 !important;
}
.orange-color .counter-content i {
    color: #F27F21;
}

.orange-color .counter_title {
    color: #F27F21;
}

.cyan-color.counter-item {
    border-color: #4ACCDB !important;
}
.cyan-color .counter-content i {
    color: #4ACCDB;
}

.cyan-color .counter_title {
    color: #4ACCDB;
}

.red-color.counter-item {
    border-color: #EE436D !important;
}
.red-color .counter-content i {
    color: #EE436D;
}

.red-color .counter_title {
    color: #EE436D;
}


/*==== COUNTER CSS END ====*/

/*==== ABOUT CSS START ====*/
.about-section {
    padding: 60px 0;
}
.about-img {
    border-radius: 10px;
    overflow: hidden;
}

.about-img img {
    border-radius: 10px;
}

.about-content h1 {
    font-weight: 700;
}

.about-content p {
    margin: 20px 0;
}

.about-content ul li {
    display: block;
    margin: 10px 0;
    padding-left: 30px;
    position: relative;
}

.about-content ul {
    margin-bottom: 20px;
}

a.more-details {
    background: var(--primary-color);
    padding: 15px 30px;
    display: inline-block;
    font-weight: 700;
    color: #fff;
    border-radius: 10px;
}
a.more-details:hover {
    box-shadow: 2px 3px  1px #222;
}

.about-content ul li:after {
    position: absolute;
    height: 15px;
    width: 15px;
    left: 0;
    top: 4px;
    content: "";
    background: var(--secondary-color);
    border-radius: 2px;
}

.about-content ul li:before {
    position: absolute;
    height: 15px;
    width: 15px;
    left: 4px;
    top: 7px;
    content:
    "";
    background: #ddd;
    border-radius: 2px;
}
/*==== ABOUT CSS END ====*/

/*==== COURSE CARD CSS START ====*/
.batch-section {
    padding: 60px 0;
    background: #f8f8ff;
}
.course-section {
    padding: 30px 0;
}

.section-heading {
    margin-bottom: 25px;
    display: flex;
    justify-content: space-between;
}
.section-heading h1 {
    font-weight: 700;
    font-size: 33px;
}
.course-item {
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0px 0px 6px 1px #ddd;
    margin: 15px 0;
}

.course-content {
    padding: 20px;
}


.course_name {
    align-items: center;
    font-size: 18px;
    height: 40px;
    font-weight: 600;
    display: flex;
}

.course-content ul {
    display: flex;
    justify-content: space-between;
    margin: 12px 0;
}

.course_fee {
    font-size: 18px;
    color: #555;
    font-weight: 500;
}
.course_btn, .course_btn:focus {
    display: block;
    width: 100%;
    background: var(--primary-color);
    color: #fff !important;
    text-align: center;
    padding: 8px 0;
    font-size: 17px;
    border-radius: 8px;
    font-weight: 600;
}
a.course_btn:hover {
    background: var(--primary-color);
}
.course-img img {
    width: 100%;
}
.batch_short ul {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.batch_short ul li {
    position: relative;
    margin-left: 15px;
}

.batch_short ul li:after {
    position: absolute;
    left: -15px;top: 50%;
    transform: translateY(-50%);
     background: url('../images/tick2.svg');
    content: "";
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
}
/*==== COURSE CARD CSS END ====*/

/*==== BOOK CSS START ====*/
.book-section {
    padding: 20px 0;
    /*background: url('../images/dot-grid.webp');*/
}
.book-item {
    background: #fff;
    border: 2px solid var(--secondary-color);
    border-radius: 20px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 30px;
    gap: 25px;
    align-items: center;
}

.book-content h1 {
    font-size: 23px;
    font-weight: 700;
}

.price-amount {
    margin: 10px 0;
    font-size: 26px;
    color: var(--primary-color);
    font-weight: 600;
}
h5.price-amount del {
    color: var(--secondary-color);
}
a.buy-now {
    background: var(--primary-color);
    color: #fff;
    padding: 8px 20px;
    display: inline-block;
    font-size: 18px;
    font-weight: 600;
    border-radius: 50px;
}
a.buy-now:hover {
    box-shadow: 2px 3px  1px #222;
}
/*==== BOOK CSS END ====*/

/*==== SUCCESS HISTORY CSS START ====*/
.success-students {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.session-tab {
    margin-bottom: 25px;
    background: var(--primary-color);
    padding: 10px 20px;
    border-radius: 5px;
}
.session-tab ul li a {
    color: #fff;
}
.session-tab ul li {
    font-size: 18px;
    margin: 0 10px;
    font-weight: 600;
    cursor: pointer;
}
.student-inner {
    box-shadow: 0px 0px 6px 5px #ddd;
    padding: 30px;
    text-align: center;
    border-radius: 5px;
    position: relative;
    margin: 10px 10px;
}

.student-img {
    height: 120px;
    width: 120px;
    overflow: hidden;
    border-radius: 50%;
    background: #ddd;
    border: 5px solid #ddd;
    margin: 0 auto;
}

.student-info {
    margin-top: 10px;
}


.student-info p {
    margin-top: 5px;
}

.success-history-section {
    padding: 50px 0;
}
.all-success {
    text-align: right;
}

.session-tab ul li a {
    color: #fff;
}

.all-success a {
    font-weight: 600;
    border: 1px solid var(--secondary-color);
    color: var(--secondary-color);
    padding: 3px 20px;
    border-radius: 5px;
}
.all-success a:hover {
    background: var(--secondary-color);
    color: #fff;
}
a.all_btns {
    border: 2px solid #222;
    display: inline-block;
    padding: 5px 20px;
    border-radius: 5px;
    font-weight: 600;
}

a.all_btns:hover {
    background: #222;
    color: #fff;
}
/*==== SUCCESS HISTORY CSS END ====*/

/*==== FOOTER CSS START ====*/
.fixed_whats a {
    width: 42px;
    height: 42px;
    background: #00D757;
    text-align: center;
    line-height: 42px;
    font-size: 25px;
    position: fixed;
    bottom: 55px;
    right: 34px;
    border-radius: 50px;
    color: #fff;
    z-index: 9999;
}
.scrolltop {
    position: fixed;
    right: 34px !important;
    bottom: 10px !important;
    width: 40px !important;
    background: var(--secondary-color) !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 50% !important;
    text-align: center !important;
    color: #ffff !important;
    font-size: 24px !important;
    cursor: pointer;
    z-index: 99;
}
.footer-top {
    background: #f1f1f1;
    padding: 50px 0;
}
.footer-bottom {
    text-align: center;
    background: #111;
    padding: 15px 0;
    border-top: 1px solid #555;
}
.copyright p {
    color: #f1f1f1;
}

.footer-social ul li a {
    color: #fff;
    background: var(--primary-color);
    height: 40px;
    width: 40px;
    line-height: 40px;
    display: inline-block;
    text-align: center;
    margin-right: 5px;
    border-radius: 5px;
    font-size: 16px;
}

.footer-logo {
    margin-bottom: 15px;
}
h4.quick-title {
    color: var(--secondary-color);
    font-size: 18px;
    display: inline-block;
    padding-bottom: 5px;
    margin-bottom: 15px;
    border-bottom: 1px solid #555;
}

.footer-quick ul li {
    display: block;
}

.footer-quick ul li a {
    color: #222;
    margin: 3px 0;
    display: inline-block;
    font-weight: 600;
}
.footer-quick ul li a:hover {
    margin-left: 2px;
    color: var(--primary-color);
}
.footer-contact ul li {
    display: flex;
    color: #fff;
    gap: 15px;
    align-items: center;
    margin-bottom: 15px;
}
.footer-contact ul li i {
    background: #363333;
    color: #fff;
    height: 35px;
    line-height: 35px;
    width: 35px;
    text-align: center;
    border-radius: 50px;
}

.footer-contact ul li a {
    color: #222;
}
.download-app img {
    width: 210px;
    text-align: left;
}
.download-app h6 {
    color: #222;
    margin-top: 15px;
    margin-bottom: 10px;
    margin-left: 15px;
}
/*==== FOOTER CSS END ====*/

/*==== COURSE DETAILS CSS START ====*/
.page-breadcumb {
    background: #222;
    color: #fff;
    text-align: center;
    padding: 35px;
}
.page-banner p {
    color: #ddd;
    margin: 8px 0;
}
.course-video {
    box-shadow: 0px 7px 25px rgba(0, 0, 0, 0.09);
    padding: 15px;
}

.youtube-video .iframe {
    width: 100% !important;
}

.youtube-video iframe {
    width: 100%;
    height: 250px;
}

.course-price h1 {
    font-weight: 600;
    margin: 15px 0;
    font-size: 32px;
}
/*==== COURSE DETAILS CSS END ====*/



/*==== AUTH  CSS START ====*/
.auth-content {
    box-shadow: 0px 0px 5px 1px #ddd;
    border-radius: 5px;
    padding: 30px;
}

.auth-content input,.auth-content input:focus,.auth-content select,.auth-content select:focus {
    border: 1px solid #ddd;
    height: 44px;
    border-radius: 5px;
}

.auth-section {
    padding: 50px 0;
}

.form-label {
    font-weight: 600;
    color: #555;
}
.submit_btn {
    background: #222;
    color: #fff;
    display: block;
    width: 100%;
    padding: 12px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    border-radius: 5px;
}
.auth-extra a {
    text-decoration: underline;
    font-weight: 600;
}
/*==== AUTH  CSS END ====*/

/*==== BOOK DETAILS CSS START ====*/
.book-image {
    height: 550px;
     position: relative;
}
button.read_more {
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 80px;
    height: 80px;
    border-radius: 50px;
    background: #dc3545;
    color: #fff;
    padding: 5px;
    font-size: 14px;
}

.book-image img {
    width: 100%;

}
.book-details h1 {
    font-size: 33px;
    font-weight: 600;
}
.b-author {
    display: flex;
    align-items: center;
    background: #f1f1f1;
    padding: 10px;
    border-radius: 5px;
    gap: 15px;
    cursor: pointer;
}

.author-img {
    width: 80px;
    height: 80px;
    border-radius: 50px;
    overflow: hidden;
    border: 2px solid var(--primary-color);
}

.book-authors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 15px 0;
}

.author-name h4 {
    font-size: 16px;
    font-weight: 600;
}

.book-infoes {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px;
}

.book-info {
    color: #fff;
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 10px;
    border-radius: 5px;
}

.book-con p {
    color: #fff;
}
.book-price-inner {
    margin: 25px 0;
    text-align: center;
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 5px;
}
.book-price-inner h4 {
   color : var(--primary-color)
}
.book-price-inner h4 del{
   color : var(--secondary-color)
}
button.buy-now-btn {
    width: 100%;
    background: var(--primary-color);
    color: #fff;
    padding: 12px;
    font-weight: 600;
    font-size: 18px;
    border-radius: 5px;
}
.side_cart {
    position: fixed;
    right: 34px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--primary-color);
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 50px;
    z-index: 99;
}
.side_cart span {
    position: absolute;
    top: -5px;
    background: var(--secondary-color);
    height: 20px;
    width: 20px;
    line-height: 20px;
    color: #fff;
    border-radius: 50px;
    font-size: 10px;
}

.side_cart p {
    color: #fff;
    font-size: 20px;
}
/*==== BOOK DETAILS CSS END ====*/

/*==== CHECKOUT  CSS START ====*/
.cart-item {
    display: grid;
    grid-template-columns: 15% 1fr 22%;
    border: 1px solid #ddd;
    padding: 8px;
    border-radius: 5px;
    gap: 15px;
    align-items: center;
    margin: 20px 0;
}

.cart-img {
    width: 110px;
    height: 110px;
}

.checkout-section {
    padding: 40px 0;
}

.checkout_title {
    color: var(--secondary-color);
    font-size: 25px;
    font-weight: 600;
}
.qty-wrapper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 5px;
  overflow: hidden;
}
.qty-wrapper button {
    padding: 5px 12px;
    background: #eee;
    border: none;
    font-size: 18px;
    cursor: pointer;
    font-weight: 600;
}
.qty-wrapper input {
    width: 50px;
    text-align: center;
    border: none;
    font-size: 16px;
    font-weight: 600;
}
.cart-price h4 {
    margin-top: 5px;
    color: var(--primary-color);
    font-size: 20px;
    text-align: center;
}

.cart-price h4 del {
    color: var(--secondary-color);
}
button.cart_remove {
    background: var(--secondary-color);
    color: #fff;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 14px;
}
table.table.custom-table {
    border: 1px solid #ddd;
    border-radius: 5px;
}
/*==== CHECKOUT  CSS END ====*/

/*==== COURSE DETAILS CSS START ====*/
.course-details-section {
    padding: 40px 0;
}
.course-curriculam .accordion-button {
    font-size: 18px;
    color: #444 !important;
    font-weight: 600;
}
.course-curriculam #course_accordion {
    margin-top: 20px;
}

.course-curriculam .accordion-button {
    font-size: 18px;
    color: #444 !important;
    font-weight: 600;
}

ul.lesson-list li {
    display: flex;
    justify-content: space-between;
}

ul.lesson-list li p {
    font-weight: 500;
    color: #555;
    font-size: 16px;
}

ul.lesson-list {
    padding-left: 15px;
}
.accordion-button:not(.collapsed) {
    background: var(--primary-color);
    color: #fff !important;
}
.course-description {
    border: 1px solid #ddd;
    padding: 15px;
}
.description-title {
    margin-bottom: 15px;
}
.course-price.course-modal .modal-header {
    padding: 0 20px;
}
.course-modal .modal-title {
    font-size: 25px;
}
.payment-form-body ul li {
    display: flex;
    justify-content: space-between;
}

.payment-form-body ul li h4 {
    font-size: 18px;
}
.payment-form-body ul {
    margin-bottom: 16px;
    padding: 15px 10px;
    background: #f1f1f1;
    border-radius: 5px;
}
.course-details-img {
    margin-top: 45px;
}
.course-details-img img {
    width: 100%;
}
.course-content.details {
    border: 1px solid #ddd;
    margin-top: 15px;
}
a.routine_btn {
    background: var(--secondary-color);
    color: #fff;
    padding: 10px 15px;
    display: block;
    margin-top: 15px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
}
/*==== COURSE DETAILS CSS END ====*/


/*==== NOTICE SECTION CSS START ====*/
.notice-section {
  padding: 30px 0;
  background-color: #fff;
}

.notice-table table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  font-size: 16px;
}

.notice-table thead th {
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 12px;
  font-weight: bold;
  text-align: center;
}

.notice-table tbody td {
  border: 1px solid #ddd;
  padding: 12px;
  vertical-align: middle;
  text-align: center;
}
td.notice-title {
    text-align: left !important;
}

.notice-table tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}

.notice-table tbody tr:hover {
  background-color: #f1f1f1;
}

.notice-table .download-btn {
  background-color: #000;
  color: #fff;
  padding: 6px 14px;
  border-radius: 6px;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
}

.notice-table .download-btn:hover {
  background-color: #333;
}

.notice-table .view-link {
  color: orange;
  font-weight: bold;
  text-decoration: none;
}

.notice-table .view-link:hover {
  text-decoration: underline;
}
/*==== NOTICE SECTION CSS END ====*/

/*==== COURSE TOPIC SECTION START ====*/

.course-topic-section{
    margin-top:40px;
}

.topic-box{
    height:100%;
    background:#fff;
    border:2px solid #111;
    border-radius:8px;
    overflow:hidden;
    margin-bottom:24px;
    transition:0.3s ease;
}

.topic-box:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.topic-box-head{
    border-bottom:2px solid #111;
    padding:18px 20px;
    background:#f8f8f8;
}

.topic-box-head h5{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:#111;
}

.topic-box-body{
    padding:20px;
    min-height:160px;
}

.topic-box-body p{
    margin:0;
    color:#555;
    line-height:1.8;
    font-size:15px;
}

/*==== RESPONSIVE ====*/

@media(max-width:767px){

    .topic-box-head{
        padding:14px 16px;
    }

    .topic-box-body{
        padding:16px;
        min-height:auto;
    }

    .topic-box-head h5{
        font-size:16px;
    }

    .topic-box-body p{
        font-size:14px;
    }

}

/*==== COURSE TOPIC SECTION END ====*/
/* Free class page */
.free-class-hero { padding:34px 0; background:#103c2f; color:#fff; text-align:center; }
.free-class-hero h1 { margin:0; font-size:34px; line-height:1.15; font-weight:900; }
.free-class-section { padding:34px 0 48px; background:#f7fafc; }
.free-class-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.free-video-card { display:block; background:#fff; border:1px solid var(--line, #e1e8f0); border-radius:8px; overflow:hidden; color:var(--ink, #122033) !important; box-shadow:0 10px 24px rgba(15,23,42,.06); }
.free-video-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,23,42,.10); }
.free-video-thumb { position:relative; display:block; aspect-ratio:16/9; background:#e8eef5; overflow:hidden; }
.free-video-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.free-video-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:24px; background:rgba(15,35,28,.18); }
.free-video-play i { width:50px; height:50px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#e11d48; }
.free-video-body { display:block; padding:14px; }
.free-video-course { display:block; color:var(--green, #18754a); font-size:13px; font-weight:900; margin-bottom:5px; }
.free-video-body strong { display:block; font-size:17px; line-height:1.35; font-weight:900; }
.empty-state { padding:28px; border:1px solid var(--line, #e1e8f0); background:#fff; border-radius:8px; text-align:center; color:var(--muted, #64748b); font-weight:700; }
@media (max-width:991px){ .free-class-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .free-class-hero{padding:26px 0;} .free-class-hero h1{font-size:28px;} .free-class-section{padding:24px 0 36px;} .free-class-grid{grid-template-columns:1fr;} }

/* Shared modern frontend header/footer and landing content */
:root { --green:#18754a; --green2:#0f5b3b; --yellow:#ffd166; --blue:#2563eb; --ink:#122033; --muted:#64748b; --line:#e1e8f0; --soft:#f5fbf8; }
body { font-family:"Baloo Da 2", "Anek Bangla", system-ui, sans-serif; color:var(--ink); background:#f7fafc; font-weight:500; }
a { text-decoration:none; }
.topbar { background:#0f3d2e; color:#dff7e9; font-size:14px; }
.topbar-inner { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.topbar a { color:#fff; font-weight:700; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.nav-wrap { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:11px; color:var(--ink); min-width:0; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; width:160px; height:60px; flex:0 0 160px; border:0; border-radius:0; background:#fff; overflow:hidden; }
.brand-mark img { width:100%; height:100%; object-fit:contain; display:block; }
.main-nav { display:flex; align-items:center; gap:22px; }
.main-nav a { color:#334155; font-weight:700; font-size:14px; white-space:nowrap; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex:0 0 auto; }
.btn-main, .btn-ghost, .btn-call { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 13px; border-radius:6px; font-weight:800; line-height:1.1; white-space:nowrap; }
.btn-main { background:var(--green); color:#fff !important; }
.btn-ghost { border:1px solid var(--line); color:var(--ink) !important; background:#fff; }
.btn-call { background:#fff7d8; color:#7a4b00 !important; border:1px solid #ffe8a3; }
.mobile-menu-toggle { display:none; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--green); font-size:18px; }
.hero { position:relative; min-height:calc(100vh - 110px); display:flex; align-items:center; background:linear-gradient(90deg, rgba(9,47,36,.90), rgba(14,91,62,.74)), url('../images/banner-1.webp') center/cover no-repeat; color:#fff; }
.hero-grid { display:flex; justify-content:center; align-items:center; min-height:calc(100vh - 110px); padding:68px 0 82px; text-align:center; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); color:#effff6; font-weight:800; font-size:14px; }
.hero h1 { margin:18px auto 14px; max-width:860px; font-size:clamp(42px, 6.2vw, 76px); line-height:.98; font-weight:800; letter-spacing:0; }
.hero p { max-width:760px; margin:0 auto 26px; color:#e2f3ea; font-size:22px; line-height:1.55; font-weight:500; }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.section { padding:66px 0; }
.section.white { background:#fff; }
.section-head { max-width:780px; margin:0 auto 30px; text-align:center; }
.section-head small { color:var(--green); font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.section-head h2 { margin:8px 0 10px; font-size:30px; font-weight:900; }
.section-head p { margin:0; color:var(--muted); line-height:1.75; font-size:16px; }
.feature-grid, .process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.feature { min-height:185px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:9px; }
.feature i { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:8px; background:#ecfdf3; color:var(--green); margin-bottom:14px; font-size:18px; }
.feature h3, .step h3 { margin:0 0 8px; font-size:18px; font-weight:900; }
.feature p, .step p { margin:0; color:var(--muted); line-height:1.65; font-size:14px; }
.subjects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.subject-card { background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.subject-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.subject-card-body { padding:16px; }
.subject-card h3 { margin:0 0 8px; font-size:20px; font-weight:900; }
.subject-card p { margin:0; color:var(--muted); line-height:1.6; }
.process { background:#103c2f; color:#fff; }
.step { padding:20px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(255,255,255,.06); }
.step b { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--yellow); color:#3b2b00; margin-bottom:12px; }
.process .section-head h2 { color:#fff; }
.process .section-head p, .process .step p { color:#d5eee2; }
.handnote-band { background:#fff; }
.handnote-box { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; padding:26px; border:1px solid var(--line); border-radius:12px; background:#f8fcfa; }
.handnote-box h2 { margin:0 0 10px; font-size:32px; font-weight:900; }
.handnote-box p { color:var(--muted); line-height:1.75; margin:0 0 16px; }
.checks { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.checks li { display:flex; gap:9px; align-items:flex-start; color:#334155; font-weight:700; }
.checks i { color:var(--green); margin-top:4px; }
.note-preview { background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px; box-shadow:0 16px 40px rgba(15,23,42,.08); }
.note-preview h3 { font-size:18px; font-weight:900; margin:0 0 12px; }
.note-line { height:12px; border-radius:999px; background:#e8eef5; margin:10px 0; }
.note-line.short { width:70%; }
.note-line.green { background:#d9f3e3; }
.cta { padding:58px 0; background:#fff7d8; }
.cta-box { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px; border-radius:12px; background:#fff; border:1px solid #ffe8a3; }
.cta-box h2 { margin:0 0 8px; font-size:30px; font-weight:900; }
.cta-box p { margin:0; color:var(--muted); }
.site-footer { background:#0b2d23; color:#cfe5da; padding:46px 0 22px; }
.site-footer .footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:22px; margin-bottom:26px; }
.site-footer .footer-grid h3 { color:#fff; font-size:17px; font-weight:900; margin:0 0 12px; }
.site-footer .footer-grid p, .site-footer .footer-grid a { color:#cfe5da; line-height:1.7; font-size:14px; }
.site-footer .footer-links { display:grid; gap:8px; }
.site-footer .footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:16px; display:flex; justify-content:space-between; gap:12px; font-size:13px; background:transparent; text-align:left; }
@media (max-width:991px){ .main-nav{display:none;} .handnote-box{grid-template-columns:1fr;} .feature-grid,.process-grid{grid-template-columns:repeat(2,1fr);} .subjects{grid-template-columns:1fr 1fr;} .site-footer .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:575px){ .topbar{display:none;} .nav-wrap{min-height:64px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:8px; padding-top:8px; padding-bottom:8px;} .mobile-menu-toggle{display:inline-flex;} .brand{justify-content:center; gap:7px;} .brand-mark{width:160px; height:60px; flex:none; border:0; border-radius:0;} .header-actions{width:auto; justify-content:flex-end; gap:5px;} .header-actions a{width:34px; min-height:32px; padding:6px; font-size:0; border-radius:7px;} .header-actions a i{font-size:15px; margin:0;} .main-nav{position:absolute; left:12px; right:12px; top:calc(100% + 6px); display:none; flex-direction:column; align-items:stretch; gap:0; padding:8px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 18px 40px rgba(15,23,42,.16);} .site-header.menu-open .main-nav{display:flex;} .main-nav a{padding:10px 12px; border-radius:7px; font-size:14px;} .main-nav a:hover{background:#f1f8f4; color:var(--green);} .hero{min-height:auto;} .hero-grid{min-height:auto; padding:32px 0 38px;} .hero-badge{padding:6px 10px; font-size:12px; gap:6px;} .hero h1{max-width:330px; margin:14px auto 10px; font-size:35px; line-height:.98;} .hero p{max-width:330px; margin-bottom:18px; font-size:17px; line-height:1.45;} .hero-actions{gap:8px;} .hero-actions .btn-main,.hero-actions .btn-ghost{min-height:34px; padding:7px 11px; font-size:13px;} .section{padding:44px 0;} .feature-grid,.process-grid,.subjects,.site-footer .footer-grid{grid-template-columns:1fr;} .cta-box,.site-footer .footer-bottom{align-items:flex-start; flex-direction:column;} }

/* Student registration enrollment UI */
.portal-auth { padding:34px 0; background:#f4f7fb; min-height:calc(100vh - 70px); }
.portal-auth__panel { max-width:760px; margin:0 auto; background:#fff; border:1px solid #e5eaf1; border-radius:8px; padding:28px; box-shadow:0 14px 34px rgba(25,42,70,.08); }
.portal-auth__panel h1 { font-size:24px; color:#17263b; margin-bottom:18px; }
.portal-auth .form-label { font-size:15px; font-weight:800; color:#06172f; }
.portal-auth .form-control { min-height:46px; }
.portal-auth__submit { width:100%; min-height:46px; border:0; border-radius:6px; background:#166534; color:#fff; font-weight:700; }
.enrollment-rows .btn { min-width:42px; min-height:42px; }
@media (max-width:575px){ .portal-auth{padding:14px 0;} .portal-auth__panel{padding:18px 14px;} .portal-auth__panel h1{font-size:22px; margin-bottom:14px;} .portal-auth form{--bs-gutter-y:.65rem;} .portal-auth .form-label{margin-bottom:4px; font-size:15px;} .portal-auth .form-control{min-height:38px; padding:7px 10px;} .portal-auth__submit{min-height:38px;} }

/* Student login */
.portal-login { padding:54px 0; background:#f4f7fb; }
.portal-login__panel { max-width:460px; margin:0 auto; padding:28px; background:#fff; border:1px solid #e3e9f0; border-radius:8px; box-shadow:0 14px 34px rgba(25,42,70,.08); }
.portal-login__panel h1 { font-size:24px; color:#17263b; margin-bottom:18px; }
.portal-login .form-label { font-size:15px; font-weight:800; color:#06172f; }
.portal-login .form-control { min-height:46px; }
.portal-login__button { width:100%; min-height:46px; border:0; border-radius:6px; background:#17324f; color:#fff; font-weight:700; }
.portal-login__links { display:flex; justify-content:space-between; gap:12px; margin-top:17px; font-size:15px; }
.portal-login__notice { padding:12px 14px; margin-bottom:16px; border:1px solid #fed7aa; border-radius:8px; background:#fff7ed; color:#9a3412; font-weight:700; line-height:1.55; }
@media (max-width:575px){ .portal-login{padding:16px 0;} .portal-login__panel{padding:18px 14px;} .portal-login__panel h1{font-size:22px; margin-bottom:14px;} .portal-login form{--bs-gutter-y:.75rem;} .portal-login .form-label{margin-bottom:4px; font-size:15px;} .portal-login .form-control{min-height:38px; padding:7px 10px;} .portal-login__button{min-height:38px;} .portal-login__links{flex-direction:column; margin-top:12px;} }

/* Subject care cards clean layout */
.subject-care-section { background:#fff; }
.subject-care-section .section-head { margin-bottom:28px; }
.subject-care-section .section-head h2 { max-width:720px; margin-left:auto; margin-right:auto; line-height:1.22; }
.subjects-polished { align-items:stretch; gap:18px; }
.subjects-polished .subject-card { display:flex; flex-direction:column; min-height:320px; border:1px solid #dfe8f1; border-radius:8px; background:#fff; overflow:hidden; box-shadow:0 10px 26px rgba(15,23,42,.06); transition:transform .2s ease, box-shadow .2s ease; }
.subjects-polished .subject-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(15,23,42,.1); }
.subject-visual { min-height:172px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#fff; text-align:center; }
.subject-visual i { width:54px; height:54px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.26); font-size:24px; }
.subject-visual strong { color:inherit; font-size:34px; line-height:1; font-weight:900; letter-spacing:0; }
.subject-card--english .subject-visual { background:linear-gradient(135deg,#079b77,#14b88e); }
.subject-card--math .subject-visual { background:linear-gradient(135deg,#fff176,#ffe35c); color:#111827; }
.subject-card--math .subject-visual i { background:rgba(0,0,0,.08); border-color:rgba(0,0,0,.12); }
.subject-card--all .subject-visual { background:linear-gradient(135deg,#5957f4,#6b63ff); }
.subjects-polished .subject-card-body { flex:1; padding:17px 18px 20px; }
.subjects-polished .subject-card h3 { margin:0 0 7px; color:#0f172a; font-size:22px; line-height:1.2; font-weight:900; }
.subjects-polished .subject-card p { color:#64748b; font-size:16px; line-height:1.55; font-weight:600; }
@media (max-width:991px){ .subjects-polished{grid-template-columns:1fr 1fr;} .subjects-polished .subject-card{min-height:300px;} }
@media (max-width:575px){ .subject-care-section .section-head{margin-bottom:18px;} .subject-care-section .section-head h2{font-size:25px;} .subjects-polished{grid-template-columns:1fr; gap:14px;} .subjects-polished .subject-card{min-height:auto;} .subject-visual{min-height:138px;} .subject-visual strong{font-size:28px;} .subjects-polished .subject-card-body{padding:14px 15px 16px;} .subjects-polished .subject-card h3{font-size:20px;} .subjects-polished .subject-card p{font-size:15px;} }.note-preview.note-preview-image {
    padding: 0;
    overflow: hidden;
    background: #fff;
}
.note-preview.note-preview-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}
