/* ==========================================================
   Envision Academy – custom styles on top of the theme
   ========================================================== */
:root { --ea-orange: #D76735; --ea-navy: #012245; }

.skip-link { position: absolute; left: -999px; top: 0; z-index: 99999; background: var(--ea-orange); color: #fff; padding: 10px 16px; }
.skip-link:focus { left: 10px; top: 10px; color: #fff; }

/* Logo */
.header-wrap .header-bottom .logo img { max-width: 190px; height: auto; }
.footer-wrap .footer-top .footer-widget .footer-logo img { max-width: 210px; height: auto; }
.contact-popup .contact-popup-wrap .comp-info .comp-logo img { max-width: 200px; height: auto; }
@media (max-width: 767px) { .header-wrap .header-bottom .logo img { max-width: 150px; } }

/* Header */
.header-wrap .header-top .header-top-right { justify-content: flex-end; align-items: center; gap: 18px; }
.header-wrap .header-top .header-contact a, .header-wrap .header-top .header-contact p { white-space: nowrap; }
.header-menu-wrap { justify-content: flex-end; align-items: center; }
.header-cta { padding: 10px 16px !important; white-space: nowrap; }
.main-menu-wrap.style1 #menu > ul > li > a.active { color: var(--ea-orange); }
@media (min-width: 1200px) {
  .main-menu-wrap.style1 #menu > ul { display: flex; justify-content: center; }
}
@media (max-width: 1399px) and (min-width: 1200px) {
  .main-menu-wrap.style1 #menu > ul > li { margin-right: 18px !important; }
}
.main-menu .sub-menu .sub-menu { max-height: 70vh; overflow-y: auto; }

/* Hero */
.hero-tagline { display: inline-block; color: #fff; background: rgba(215, 103, 53, .9); padding: 6px 16px; border-radius: 30px; font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 18px; }
.hero-content h1 { font-size: 48px; line-height: 1.25; }
@media (max-width: 1199px) { .hero-content h1, .hero-wrap.style1 .hero-content h1 { font-size: 36px; } }
@media (max-width: 575px) { .hero-content h1, .hero-wrap.style1 .hero-content h1 { font-size: 28px; } .hero-btn .btn { margin-bottom: 10px; } }
.breadcrumb-wrap .breadcrumb-title h1 { font-size: 44px; }
@media (max-width: 767px) { .breadcrumb-wrap .breadcrumb-title h1 { font-size: 26px !important; } }

/* Highlights strip */
.ea-highlights { position: relative; z-index: 3; margin-top: -55px; }
.ea-highlights .row { background: #fff; border-radius: 10px; box-shadow: 0 15px 40px rgba(1, 34, 69, .12); overflow: hidden; }
.ea-hl { display: flex; align-items: center; gap: 14px; padding: 26px 22px; height: 100%; border-right: 1px solid #eef1f6; }
.ea-hl i { font-size: 34px; color: var(--ea-orange); line-height: 1; }
.ea-hl strong { display: block; color: var(--ea-navy); font-size: 18px; font-weight: 700; }
.ea-hl span { color: #6b7280; font-size: 14px; }
@media (max-width: 991px) { .ea-highlights { margin-top: 30px; } .ea-hl { padding: 18px 14px; border-bottom: 1px solid #eef1f6; } .ea-hl strong { font-size: 15px; } .ea-hl i { font-size: 26px; } }

/* Course cards */
.course-card .course-info p { min-height: 72px; }
.course-card .course-img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.course-card.style1 .price-tag p span { color: var(--ea-orange); font-weight: 700; font-size: 17px; }
.course-card.style2 .course-metainfo p a i { margin: 0 0 0 4px; }
.ea-anchor { scroll-margin-top: 120px; }
.ea-lead { font-size: 17px; }
.ea-table table { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(1, 34, 69, .08); }
.ea-table thead th { background: var(--ea-navy); color: #fff; padding: 16px 20px; font-weight: 600; border: 0; }
.ea-table td { padding: 14px 20px; }
.ea-table td a { color: var(--ea-navy); font-weight: 600; }
.ea-table td a:hover { color: var(--ea-orange); }
.ea-fee-note { text-align: center; margin: -6px 0 16px; color: #6b7280; }
.course-enroll-widget .btn { display: block; width: 100%; }
.course-tab-content h2, .course-tab-content h3 { margin: 25px 0 12px; }

/* Team / directors */
.team-member .team-member-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.team-member .team-member-info h3 { margin-bottom: 4px; }
.team-member .team-member-info small { color: #6b7280; }

/* Quote */
.ea-quote { position: relative; text-align: center; margin: 0; padding: 40px 30px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .15); border-radius: 12px; }
.ea-quote > i { font-size: 54px; color: var(--ea-orange); line-height: 1; }
.ea-quote blockquote { color: #fff; font-size: 26px; line-height: 1.5; font-weight: 500; margin: 10px 0 18px; }
.ea-quote figcaption { color: var(--ea-orange); font-weight: 600; font-size: 18px; }
@media (max-width: 767px) { .ea-quote blockquote { font-size: 19px; } }

/* Why us / services */
.ea-feature, .ea-service { background: #fff; border-radius: 10px; padding: 32px 28px; margin-bottom: 30px; box-shadow: 0 10px 30px rgba(1, 34, 69, .08); height: calc(100% - 30px); transition: .3s; }
.ea-feature:hover, .ea-service:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(1, 34, 69, .14); }
.ea-feature i { font-size: 40px; color: var(--ea-orange); }
.ea-feature h3, .ea-service h3 { font-size: 21px; margin: 14px 0 10px; color: var(--ea-navy); }
.ea-service-icon { width: 70px; height: 70px; border-radius: 50%; background: rgba(215, 103, 53, .1); display: flex; align-items: center; justify-content: center; }
.ea-service-icon i { font-size: 32px; color: var(--ea-orange); }
.ea-service-price { display: inline-block; background: var(--ea-navy); color: #fff; padding: 5px 14px; border-radius: 20px; font-weight: 600; font-size: 14px; margin-bottom: 14px; }
.ea-service .link { color: var(--ea-orange); font-weight: 600; }

/* CTA */
.ea-cta { padding: 0 0 100px; }
.ea-cta-box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 45px 50px; border-radius: 14px; background: linear-gradient(120deg, var(--ea-navy), #0a3a6e); }
.ea-cta-box h2 { color: #fff; font-size: 30px; margin: 0 0 8px; }
.ea-cta-box p { color: rgba(255, 255, 255, .85); margin: 0; }
.ea-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ea-btn-wa { background: #25D366 !important; color: #fff !important; border-color: #25D366 !important; padding: 12px 22px; border-radius: 5px; }
@media (max-width: 767px) { .ea-cta-box { padding: 30px 24px; } .ea-cta-box h2 { font-size: 22px; } }

/* WhatsApp floating button */
.wa-float { position: fixed; left: 20px; bottom: 25px; z-index: 999; width: 56px; height: 56px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 30px; box-shadow: 0 8px 24px rgba(0, 0, 0, .2); transition: .3s; }
.wa-float:hover { color: #fff; transform: scale(1.08); }

/* Blog */
.ea-blog-grid .blog-card { height: calc(100% - 30px); }
.blog-card .blog-img img { width: 100%; aspect-ratio: 27 / 19; object-fit: cover; }
.blog-card .blog-author-img img { width: 40px; height: 40px; object-fit: contain; background: #fff; }
.ea-post-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 0 0 22px; list-style: none; color: #6b7280; font-size: 15px; }
.ea-post-meta i { color: var(--ea-orange); margin-right: 4px; }
.ea-post-meta a { color: inherit; }
.ea-post-body h2 { font-size: 26px; margin: 30px 0 14px; }
.ea-post-body h3 { font-size: 22px; margin: 26px 0 12px; }
.ea-post-body p, .ea-post-body li { font-size: 16.5px; line-height: 1.8; }
.ea-post-body ul, .ea-post-body ol { padding-left: 22px; margin-bottom: 18px; }
.ea-post-body ul li { list-style: disc; } .ea-post-body ol li { list-style: decimal; }
.ea-post-body img { max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; }
.ea-post-body blockquote { border-left: 4px solid var(--ea-orange); background: #f5f7fb; padding: 18px 22px; margin: 22px 0; border-radius: 0 8px 8px 0; font-style: italic; }
.ea-post-body a { color: var(--ea-orange); text-decoration: underline; }
.ea-post-body table { width: 100%; border-collapse: collapse; margin: 18px 0; }
.ea-post-body th, .ea-post-body td { border: 1px solid #e5e7eb; padding: 10px 12px; }
.post-details .post-img img { width: 100%; height: auto; border-radius: 8px; }
.post-author-img img { background: #fff; border-radius: 50%; }
.ea-related { margin-top: 40px; }
.ea-related h2 { margin-bottom: 22px; }
.ea-filter-note { margin-bottom: 25px; color: #6b7280; }
.ea-filter-note a { color: var(--ea-orange); }
.ea-empty { text-align: center; padding: 60px 20px; background: #f5f7fb; border-radius: 12px; }
.ea-empty i { font-size: 48px; color: var(--ea-orange); }
.ea-side-cta p { margin-bottom: 14px; }
.pp-post-item .pp-post-img img { width: 85px; height: 85px; object-fit: cover; }
.sidebar .search-box { display: block; position: relative; }

/* Contact */
.contact-address address { font-style: normal; }
.contact-address address a { color: var(--ea-orange); }
.contact-address { height: calc(100% - 30px); }
.ea-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.ea-select { width: 100%; height: 60px; border: 1px solid #ddd; border-radius: 0; padding: 0 18px; background: #fff; color: #6b7280; }
.contact-form .form-group input, .contact-form .form-group textarea { width: 100%; }

/* 404 */
.ea-404 h1 { font-size: 140px; color: var(--ea-orange); line-height: 1; font-weight: 800; }

.mt-10 { margin-top: 10px; } .mb-30 { margin-bottom: 30px; } .mt-40 { margin-top: 40px; } .pb-40 { padding-bottom: 40px; }

/* Dark theme additions */
.theme-dark .ea-highlights .row, .theme-dark .ea-feature, .theme-dark .ea-service, .theme-dark .ea-table table, .theme-dark .ea-empty { background: #0f1720; }
.theme-dark .ea-hl { border-color: #1f2937; }
.theme-dark .ea-hl strong, .theme-dark .ea-feature h3, .theme-dark .ea-service h3, .theme-dark .ea-table td a { color: #fff; }
.theme-dark .ea-table td { color: #cbd5e1; background: #0f1720; border-color: #1f2937; }
.theme-dark .ea-post-body blockquote { background: #0f1720; }
.theme-dark .ea-select { background: #0f1720; border-color: #1f2937; }

/* Equal-height cards */
.course-wrap .row.justify-content-md-center > [class*="col-"], .related-course .row.justify-content-md-center > [class*="col-"], .blog-wrap .row.justify-content-md-center > [class*="col-"], .ea-blog-grid > [class*="col-"], .ea-related .row > [class*="col-"] { display: flex; }
.course-wrap .course-card, .related-course .course-card, .blog-wrap .blog-card { width: 100%; display: flex; flex-direction: column; }
.course-card .course-info, .blog-card .blog-info { flex: 1 1 auto; display: flex; flex-direction: column; }
.blog-card .blog-info .blog-author-wrap { margin-top: auto; }
.course-card .course-metainfo { align-items: center; flex-wrap: nowrap !important; }
.course-card .course-metainfo-left { min-width: 0; flex: 1 1 auto; }
.course-card .course-metainfo-left p, .course-card.style2 .course-metainfo > p:first-child { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.course-card .course-metainfo-right { flex: 0 0 auto; }
.ea-blog-grid > [class*="col-"] > div, .ea-related .row > [class*="col-"] > div { display: flex; width: 100%; }
.ea-related .blog-card, .ea-blog-grid .blog-card { width: 100%; display: flex; flex-direction: column; }
.course-card .course-metainfo { gap: 10px; }
.course-card .course-metainfo-left, .course-card .course-metainfo-left ul, .course-card .course-metainfo-left li { min-width: 0; max-width: 100%; overflow: hidden; }
.course-card .course-metainfo-left ul { flex-wrap: nowrap !important; margin: 0; padding: 0; }
.course-card .course-metainfo-left li { flex: 1 1 auto; margin: 0 !important; }
.course-card .course-metainfo-left p { display: block; margin: 0; }
.header-wrap .header-top .header-top-right .header-contact a { color: #fff; font-size: 14px; }
.header-wrap .header-top .header-top-right .header-contact a i { color: var(--ea-orange); margin-right: 5px; }
.header-wrap .header-bottom .logo img { max-width: 215px; }
@media (max-width: 767px) { .header-wrap .header-bottom .logo img { max-width: 165px; } }
.course-details .course-details-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.course-details-list { padding: 0; }
.course-details-list li { position: relative; padding-left: 28px; margin-bottom: 8px; list-style: none; }
.course-details-list li::before { content: "\eb81"; font-family: remixicon; position: absolute; left: 0; top: 0; color: var(--ea-orange); }
/* Editor alignment classes */
.ea-post-body .ql-align-center { text-align: center; } .ea-post-body .ql-align-right { text-align: right; } .ea-post-body .ql-align-justify { text-align: justify; }
