/*
 * Additions to the designer's style.css for elements the static design left empty.
 * Keep design changes in style.css; only put Laravel-specific additions here.
 */

/* Variables style.css uses but does not define. */
:root {
    --ink: #0C0D51;
    --accent: #B5832F;
    --head: 'DM Sans 18pt';
    --navy: #232256;
    --text: #000000;
    --brand-2: #292A7D;
    --bluebg:#292A7D;
    --err: #d33;
    --ok: #17623a;
    --panel-ink: #ffffff;
    --panel-text: #ffffff;
    --panel-muted: rgba(255, 255, 255, .7);
    --accent-soft: rgba(181, 131, 47, .15);
    --bg: #ffffff;
    --lav: #ececf7;
    --row: #f5f5fc;
}

/* Home banner carousel (the design had an empty .bannerhome placeholder) */
.bannerhome .carousel-item { position: relative; }
.bannerhome .carousel-item > img { height: 620px; object-fit: cover; }
.bannerhome .carousel-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .1) 70%); }
.bannerhome .banner-caption { position: absolute; inset: 0; display: flex; align-items: center; z-index: 2; color: #fff; }
.bannerhome .banner-caption h1,
.bannerhome .banner-caption h2 { color: #fff; font-size: 48px; font-weight: bold; max-width: 640px; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.bannerhome .banner-caption p { color: #fff; font-size: 18px; max-width: 560px; margin-bottom: 25px; }
.bannerhome .hero-course-search { display: flex; align-items: center; gap: 5px; width: min(590px, 100%); padding: 5px; margin-top: 36px; border-radius: 7px; background: #fff; margin-bottom: 20px; }
.bannerhome .hero-course-search input { flex: 1; min-width: 0; height: 42px; padding: 8px 10px; border: 0; border-radius: 5px; outline: 0; color: #222; background: #fff; }
.bannerhome .hero-course-search input::placeholder { color: #777; opacity: 1; }
.bannerhome .hero-course-search button { min-width: 92px; height: 42px; padding: 8px 18px; border: 1px solid #6840e8; border-radius: 6px; color: #fff; background: #292a7d; }
.bannerhome .hero-course-search button:hover { background: #1d1e61; }
.bannerhome .carousel-indicators { z-index: 3; }
.bannerhome .carousel-indicators button {width: 15px;height: 15px;border-radius: 100%;}
.bannerhome button.carousel-control-prev, button.carousel-control-next {display: none;}


.home-reviews { width: 100%; overflow: visible; margin: 30px 0; padding: 20px 0; }
.home-reviews .lc_reviews_widget { display: block; width: 100%; min-width: 0; height: 680px; border: 0; overflow-y: auto; }
@media (max-width: 767px) { .home-reviews .lc_reviews_widget { height: 600px; } }

.whatsapp { position: fixed; right: 10px; bottom: 115px; z-index: 1030; }
.whatsapp a { display: grid; width: 60px; height: 60px; place-items: center; border-radius: 50%; color: #fff; background: #00c765; box-shadow: 0 8px 24px rgba(0, 0, 0, .2); text-decoration: none; }
.whatsapp a:hover { color: #fff; background: #00b85c; }
.whatsapp svg { display: block; width: 32px; height: 36px; fill: currentColor; }
@media (max-width: 767px) {.whatsapp a { width: 54px; height: 54px; } }

/* Make linked city cards look like the design */
.cities-courses .cities-item a { color: inherit; text-decoration: none; }

@media (max-width: 991px) {
    .bannerhome .carousel-item > img { height: 480px; }
}

@media (max-width: 767px) {
    .bannerhome .carousel-item > img { height: 400px; }
    .bannerhome .carousel-control-prev,
    .bannerhome .carousel-control-next { display: none; }
    .bannerhome .banner-caption h1,
    .bannerhome .banner-caption h2 { font-size: 26px; }
    .bannerhome .banner-caption p { font-size: 14px; }
    .bannerhome .hero-course-search { margin-top: 24px; }
}

/* ---------- Inner pages (content pages, services) ---------- */
.inner-banner--image { background-size: cover; background-position: center; }
.inner-banner .innertopbanner { padding: 90px 0; }
.inner-banner:not(.inner-banner--image) .innertopbanner { background: var(--bluebg); }
.inner-banner--image .innertopbanner { background: linear-gradient(rgba(41, 42, 125, .58), rgba(41, 42, 125, .58)); }
.inner-banner__subtitle { color: #fff; font-size: 18px; max-width: 760px; margin: 10px auto 0; }
.service-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 0; font-size: 14px; color: #6b6b80; }
.service-breadcrumb a { color: #232256; text-decoration: none; font-weight: 500; }
.service-breadcrumb a:hover { text-decoration: underline; }
.page-preview-notice { background: #fff3cd; color: #664d03; text-align: center; padding: 10px 16px; font-size: 14px; }

/* Search results table mirrors the legacy course schedule results. */
.course-search-results { margin: 0 auto 64px; }
.course-search-results__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.course-search-results__length { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; }
.course-search-results__length select { min-height: 40px; border: 1px solid #ccc; border-radius: 5px; background: #fff; padding: 7px 10px; color: #222; }
.course-search-results__city-search { display: flex; align-items: center; gap: 8px; margin: 0; }
.course-search-results__city-search input { min-height: 40px; width: 270px; border: 1px solid #ccc; border-radius: 5px; background: #fff; padding: 7px 10px; color: #222; }
.course-search-results__city-search-hint { color: #666; font-size: 13px; }
.course-search-results__table-wrap { overflow-x: auto; }
.course-search-results__table { width: 100%; min-width: 680px; border-collapse: collapse; color: #111; font-size: 15px; }
.course-search-results__table th { background: #292a7d; color: #fff; text-align: left; font-weight: 500; padding: 10px; }
.course-search-results__table td { border: 1px solid #d0d0d0; padding: 9px 10px; }
.course-search-results__table tbody tr:nth-child(even) { background: #f0f0f8; }
.course-search-results__table tbody tr[hidden] { display: none; }
.course-search-results__table td a { color: #111; text-decoration: none; }
.course-search-results__table td a:hover { color: #292a7d; text-decoration: underline; }
.course-search-results__table .course-search-results__empty { padding: 24px; text-align: center; }
.course-search-results__pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; }
.course-search-results__pagination p { margin: 0; }
.course-search-results__pagination nav { margin-left: auto; }
.course-search-results__pagination .pagination { margin: 0; }
.course-search-results__pagination .page-link { color: #292a7d; border-color: #d0d0d0; }
.course-search-results__pagination .page-item.active .page-link { background: #292a7d; border-color: #292a7d; color: #fff; }
.course-search-results__pagination .page-item.disabled .page-link { color: #888; }
.course-search-results__pagination nav.justify-content-between .justify-content-sm-between {gap: 20px;}


@media (max-width: 767px) {
    .course-search-results__toolbar,
    .course-search-results__pagination { align-items: stretch; flex-direction: column; }
    .course-search-results__city-search input { width: 100%; min-width: 0; }
    .course-search-results__pagination nav { margin-left: 0; }
}

/* Text written in the admin's rich editor. The theme makes every h1 white and every h2 huge, so reset them here. */
.rich-content { font-size: 15px; line-height: 1.7; color: #000; overflow-wrap: break-word; }
.rich-content h1,
.rich-content h2,
.rich-content h3,
.rich-content h4,
.rich-content h5,
.rich-content h6 { color: #0C0D51; text-transform: none; font-weight: bold; margin: 1.4em 0 .6em; line-height: 1.25; }
.rich-content h1 { font-size: 36px; }
.rich-content h2 { font-size: 30px; }
.rich-content h3 { font-size: 24px; }
.rich-content h4 { font-size: 20px; }
.rich-content h5,
.rich-content h6 { font-size: 17px; }
.rich-content > :first-child { margin-top: 0; }
/* Bold inside a bold heading would ask for the Black weight, which the theme doesn't ship (falls back to a serif font). */
.rich-content b,
.rich-content strong { font-weight: 700; }
.rich-content ul,
.rich-content ol { padding-left: 22px; margin-bottom: 1em; }
.rich-content li { margin-bottom: 6px; }
.rich-content a { color: #292a7d; }
.rich-content img { max-width: 100%; height: auto; border-radius: 8px; }
.rich-content table { width: 100%; margin-bottom: 1em; border-collapse: collapse; }
.rich-content th,
.rich-content td { border: 1px solid #DDE2EB; padding: 8px 12px; }

.page-content--full-width .page-block:first-child {
    background: #F5F5FC;
}
.content-page--about-us .rich-content h2 {margin: 0 0 6px;font-size: 22px;color: #292A7D;}
.content-page--about-us .rich-content h1 {font-weight: bold;color: var(--blackcolor);margin: 0 0 20px;font-size: 1.76rem;}
.content-page--about-us .block-image-text__image {position: relative;}
.content-page--about-us .block-image-text__image:after {position: absolute;content: '';background: var(--bluebg);height: 100%;
width: 100%;left: 10px;top: 10px;}
.content-page--about-us .block-image-text__image img.img-fluid {border-radius: 0;aspect-ratio: 1; position: relative; z-index: 9999; } 
.content-page--about-us .page-content--full-width .page-block:first-child + .page-block.page-block--cards {background: none;}
.page-content--full-width .page-block:first-child + .page-block.page-block--cards .block-card {
    background: #2a267a;
}
.content-page--about-us .page-content--full-width .page-block:first-child + .page-block.page-block--cards .block-card h3{ color: #fff; font-size: 1.75rem;}
.content-page--about-us .page-content--full-width .page-block:first-child + .page-block.page-block--cards .block-card p{ color: #fff;}
.content-page--about-us .page-content--full-width > .page-block--image-text:last-child h4 {
margin-bottom: 0;
}

/* Content blocks */
.page-block { padding: 50px 0; }
.page-content--default .page-block:first-child,
.page-content--full-width .page-block:first-child { padding-top: 30px; }
.page-content--full-width .page-block:nth-child(even) { background: #F3F5F9; }
.page-content--full-width .page-block--image:has(> .block-image) { padding: 0; background: none; }
.block-heading { font-size: 34px; margin-bottom: 30px; text-align: center; }
.block-image { margin: 0; }
.block-image img { width: 100%; border-radius: 10px; }
.page-block--image > .block-image img { border-radius: 0; max-height: 560px; object-fit: cover; }
.block-image figcaption { font-size: 14px; color: #6b6b80; text-align: center; margin-top: 8px; }
.block-image-text__image img { width: 100%; border-radius: 12px; }
.block-card { height: 100%; background: #fff; border: 1px solid #DDE2EB; border-radius: 12px; padding: 30px; text-align: center; transition: box-shadow .2s; }
.block-card:hover { box-shadow: 0 10px 30px rgba(35, 34, 86, .1); }
.block-card__icon img { max-height: 64px; margin-bottom: 18px; }
.block-card h3 { font-size: 22px; font-weight: bold; color: #0C0D51; margin-bottom: 10px; }
.block-card p { margin: 0; }
.block-gallery__item { display: block; overflow: hidden; border-radius: 10px; aspect-ratio: 4 / 3; }
.block-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.block-gallery__item:hover img { transform: scale(1.05); }
.block-cta { background: #232256; background-size: cover; background-position: center; border-radius: 14px; padding: 60px 30px; text-align: center; position: relative; overflow: hidden; }
.block-cta--image::before { content: ''; position: absolute; inset: 0; background: rgba(35, 34, 86, .8); }
.block-cta > * { position: relative; }
.block-cta h2 { color: #fff; font-size: 34px; }
.block-cta p { color: #fff; font-size: 17px; max-width: 640px; margin: 0 auto 20px; }

/* Legal layout */
.page-content--legal { padding: 30px 0 70px; }
.page-content--legal .page-block { padding: 0 0 30px; }
.legal-toc { position: sticky; top: 20px; background: #F3F5F9; border-radius: 10px; padding: 20px; max-height: calc(100vh - 40px); overflow-y: auto; }
.legal-toc__title { font-size: 16px; margin-bottom: 12px; }
.legal-toc__list { padding-left: 18px; margin: 0; font-size: 14px; }
.legal-toc__list li { margin-bottom: 8px; }
.legal-toc__list a { color: #232256; text-decoration: none; }
.legal-toc__list a:hover { text-decoration: underline; }
.legal-updated { font-size: 13px; color: #6b6b80; border-top: 1px solid #DDE2EB; padding-top: 15px; }
#legal-content [id] { scroll-margin-top: 20px; }

@media (max-width: 767px) {
    .inner-banner--image .innertopbanner { padding: 50px 0; }
    .inner-banner__subtitle { font-size: 15px; }
    .page-block { padding: 35px 0; }
    .rich-content h1 { font-size: 28px; }
    .rich-content h2 { font-size: 24px; }
    .rich-content h3 { font-size: 20px; }
    .block-heading,
    .block-cta h2 { font-size: 26px; }
    .block-card { padding: 22px; }
}

/* ---------- Course category page ---------- */
/* The category description comes from the rich editor; keep it white on the navy hero. */
.hero-coursesbanner .rich-content,
.hero-coursesbanner .rich-content p { color: #fff; }
.hero-coursesbanner .rich-content a { color: #fff; text-decoration: underline; }
.hero-coursesbanner h1 { font-size: 44px; text-transform: none; margin-bottom: 20px; }
.catlogpanel-card h2 { font-size: 30px; text-transform: none; }
.catlogpanel-card .list .categorylist-card span.title a::after { content: ''; position: absolute; inset: 0; }
.catlogpanel-card .list .categorylist-card:hover { border-color: #232256; box-shadow: 0 8px 24px rgba(35, 34, 86, .08); }
.catlogpanel-card .list .categorylist-card:hover svg.go { transform: translateX(3px); }
.catlogpanel-card .list .empty { grid-column: 1 / -1; list-style: none; text-align: center; padding: 40px 20px; border: 1px dashed #DDE2EB; border-radius: 14px; color: #586379; }
.catlogpanel-card .list .empty strong { display: block; color: #000; margin-bottom: 6px; }
.catlogpanel-card .toolbar .search-hint { flex-basis: 100%; margin: -6px 0 0; color: #586379; font-size: 13px; }
.catalog-filter-summary { font-size: 14px; color: #586379; }
.catalog-filter-summary a { color: #232256; font-weight: 600; margin-left: 6px; }
.catlogpanel-sidebar .search-card .viewmore { width: 100%; }

@media (max-width: 767px) {
    .hero-coursesbanner h1 { font-size: 28px; }
    .catlogpanel-card h2 { font-size: 22px; }
}

/* ---------- FAQ page ---------- */
.faq-panel h2 { text-transform: none; }
.faq-panel details .ans .rich-content { color: var(--muted); }
.faq-panel details .ans .rich-content p:last-child { margin-bottom: 0; }
.faq-panel .group { scroll-margin-top: 20px; }
.faq-panel .help .faq-help-btn { margin-top: 16px; background: #fff; color: #000; }
.faq-panel .help .faq-help-btn::after { filter: invert(1); }

/* ---------- Contact page ---------- */
.contactForm .ok.show { display: block; }
.contactForm .contact-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contactForm .field-error { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: #d33; }
.recaptcha-wrap { margin: 16px 0; }
.recaptcha-wrap .field-error { margin: 7px 0 0; font-size: 13px; color: #d33; }
.contactForm [aria-invalid="true"] { border-color: #d33; }
.contactaddresssec .item a.d-block + a.d-block { margin-top: 4px; }

/* ---------- Blog listing ---------- */
.blog-card a.card .tx h2 { text-transform: none; line-height: 1.25; }
.blog-card a.card:hover { border-color: var(--bluebg); box-shadow: 0 10px 30px rgba(35, 34, 86, .08); }
.blog-card a.card .im img.blog-card__placeholder { object-fit: contain; padding: 40px; background: var(--lightbluebg); }
.blog-card nav.pager a.next,
.blog-card nav.pager a.n { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font-weight: 600; text-decoration: none; }
.blog-card nav.pager a.next { background: var(--bluebg); color: var(--whitecolor); transition: transform .15s; }
.blog-card nav.pager a.next:hover { transform: translateX(2px); }
.blog-card nav.pager a.prev:hover { transform: translateX(-2px); }
.blog-card nav.pager a.n { background: var(--lightbluebg); color: var(--blackcolor); }
.blog-card nav.pager a.n:hover { background: var(--bluebg); color: var(--whitecolor); }
.blog-card aside ul.chips li a { text-decoration: none; }
.blog-card aside ul.chips li a[aria-current="page"] { background: var(--bluebg); color: var(--whitecolor); }
.blog-card aside ul.recent li a:hover { border-color: var(--bluebg); color: var(--bluebg); }
.blog-empty { background: var(--whitebg); border: 1px dashed var(--line); border-radius: 24px; padding: 40px; text-align: center; }
.blog-empty h2 { font-size: 24px; text-transform: none; }

/* ---------- Blog post ---------- */
.innertopbanner h2.inner-banner__title { font-size: 60px; }
.blog-post { background: var(--whitebg); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; }
.blog-post__image { position: relative; }
.blog-post__image img { display: block; width: 100%; max-height: 520px; object-fit: cover; }
.blog-post__image .date { position: absolute; top: 20px; left: 20px; background: var(--whitebg); color: #000; font-weight: 600; font-size: 14px; padding: 6px 14px; border-radius: 999px; }
.blog-post__body { padding: 32px 40px 40px; }
.blog-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; color: var(--muted); margin-bottom: 14px; }
.blog-post__meta .tag { background: var(--bluebg); color: var(--whitecolor); font-weight: 600; padding: 4px 12px; border-radius: 999px; text-decoration: none; }
.blog-post__title { color: var(--blackcolor); font-size: 34px; line-height: 1.25; text-transform: none; margin-bottom: 24px; }
.blog-post__content { color: #333; }
.blog-post__content a { font-weight: 600; }
.blog-post__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); }
.blog-post__nav a { display: block; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; color: var(--blackcolor); transition: border-color .15s; }
.blog-post__nav a:hover { border-color: var(--bluebg); }
.blog-post__nav a.next { grid-column: 2; text-align: right; }
.blog-post__nav small { display: block; color: var(--muted); font-size: 13px; margin-bottom: 4px; }
.blog-post__nav span { font-weight: 600; line-height: 1.35; }

@media (max-width: 767px) {
    .innertopbanner h2.inner-banner__title { font-size: 40px; }
    .blog-post__body { padding: 22px 20px 28px; }
    .blog-post__title { font-size: 26px; }
    .blog-post__nav { grid-template-columns: 1fr; }
    .blog-post__nav a.next { grid-column: auto; text-align: left; }
}

/* ---------- Course category tabs ---------- */
.course-category-detail-page .business-strategy { min-width: 0; }
.course-category-detail-page .business-strategy .tab-content h2 { margin-top: 0; text-transform: none; font-size: 30px; }
.course-category-detail-page .all-training-cities h2 { margin-top: 40px; }
.all-cities-course .card .allcountryimg { display: block; }
.city-card__placeholder { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; border-radius: 10px; background: linear-gradient(135deg, var(--bluebg), #3b3c9e); }
.city-card__placeholder svg { width: 48px; height: 48px; stroke: rgba(255, 255, 255, .7); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.all-training-cities .city-card__placeholder { width: 64px; height: 64px; aspect-ratio: auto; margin: 0 auto 10px; border-radius: 50%; }
.all-training-cities .city-card__placeholder svg { width: 28px; height: 28px; }
.all-cities-course .card:hover { border-color: var(--bluebg); }
.top-courses-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.top-courses-grid a.topcoursemanagement { display: flex; flex-direction: column; text-decoration: none; }
.top-courses-grid a.topcoursemanagement .badge { align-self: flex-start; }
.top-courses-grid a.topcoursemanagement .meta { margin-top: auto; color: #111827; }

@media (max-width: 767px) {
    .course-category-detail-page .business-strategy .tab-content h2 { font-size: 22px; }
    .top-courses-grid { grid-template-columns: 1fr; }
}

/* ---------- Course page ---------- */
.course-breadcrumb { padding: 24px 0 0; color: rgba(255, 255, 255, .7); }
.course-breadcrumb a { color: #fff; }
.course-detail-page .hero-coursesbanner .wrap { padding-top: 24px; }
.course-hero__code { display: inline-block; background: rgba(255, 255, 255, .12); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .02em; padding: 4px 12px; border-radius: 999px; margin-bottom: 14px; }
.course-detail-page .business-strategy .tab-content h2 { text-transform: none; font-size: 30px; }
.course-detail-page .courses-syllabus-content { color: #000; }
.course-detail-page .courses-syllabus-content strong { font-weight: 700; }
.course-detail-page .business-strategy .tab-content .rel a { height: auto; min-height: 220px; }
.course-detail-page .business-strategy .tab-content .rel a h3 { text-transform: none; }
.course-detail-page .business-strategy .tab-content .rel a p { color: #555; margin: 0; }
.cursecitiesavailable .citiescards .card-flag { display: block; width: 50px; height: 50px; margin: 0 auto 14px; border-radius: 50%; object-fit: cover; }
.cursecitiesavailable .citiescards .city-card__placeholder { display: grid; place-items: center; }
.cursecitiesavailable .citiescards h4.card-title a { line-height: 1.4; }
.schedule-empty { background: var(--lightbluebg); border-radius: 10px; padding: 24px; }
.tbl-scroll-strategy thead th[data-k]:focus-visible { outline: 3px solid #8f8bf0; outline-offset: -3px; }

@media (max-width: 767px) {
    .course-detail-page .business-strategy .tab-content h2 { font-size: 22px; }
}

/* ---------- Registration pages ---------- */
/* Honeypot field: hidden from people on every form. */
.contact-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-error-summary { background: #fdecec; color: #b42318; border-radius: 10px; padding: 12px 16px; margin-bottom: 20px; font-weight: 500; }
.pdf-register-course h1.pdf-register-course__title { font-size: 22px; line-height: 1.3; color: var(--whitecolor); text-transform: none; margin: 15px 0; }
.pdf-register-course .facts small { color: rgba(255, 255, 255, .7); }
/* The design's tag pill is white on the white panel text colour; give it the brand colour. */
.pdf-register-course .tag { color: var(--bluecolor); }
/* ".formwrap-register label span" colours the required asterisks red; keep the consent text grey. */
.formwrap-register .consent span { color: var(--muted); }
.formwrap-register .consent.bad,
.formwrap-register .consent.bad span { color: var(--muted); }
.formwrap-register .consent-err { display: none; color: var(--err); font-size: .82rem; margin: 8px 0 14px; }
.formwrap-register .consent-err.show { display: block; }
.pdf-register-form .consent.bad span { color: var(--muted); }
.pdf-register-form .consent a,
.formwrap-register .consent a { color: var(--bluecolor); }
.course-registration-page .declaration-box { padding: 14px; background: #fafbff; border: 1.5px solid var(--line); border-radius: 12px; }
.course-registration-page .declaration-box .consent { margin: 0 !important; }
.course-registration-page .declaration-copy { display: block; flex: 1; min-width: 0; }
.course-registration-page .declaration-copy__text { display: block; line-height: 1.5; overflow-wrap: anywhere; }
.course-registration-page .declaration-toggle { display: none; margin: 8px 0 0 32px; padding: 0; border: 0; background: transparent; color: var(--bluecolor); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.course-registration-page .declaration-toggle:focus-visible { outline: 2px solid var(--bluecolor); outline-offset: 3px; }
@media (max-width: 767px) {
    .course-registration-page .declaration-copy__text { position: relative; max-height: 7.5em; overflow: hidden; }
    .course-registration-page .consent.declaration-expanded .declaration-copy__text { max-height: none; overflow: visible; }
    .course-registration-page .consent:not(.declaration-expanded) .declaration-copy__text::after { position: absolute; right: 0; bottom: 0; padding-left: 2em; background: linear-gradient(90deg, transparent, #fafbff 35%); content: '...'; pointer-events: none; }
    .course-registration-page .declaration-toggle { display: inline-block; }
}
/* The design hides the form via ".formwrap-register .success", but .success is on the outer card. */
.registerform .card.success .formwrap-register form,
.registerform .card.success .formwrap-register .head { display: none; }
.registerform .card.success .formwrap-register .done { display: block; }
.registration-confirmation__card { display: block; max-width: 760px; margin: 0 auto; background: var(--whitebg); border: 1px solid var(--line); border-radius: 20px; padding: 40px; text-align: center; }
.registration-confirmation__card .tick { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: #e6f6ec; display: grid; place-items: center; }
.registration-confirmation__card .tick svg { width: 32px; height: 32px; stroke: #17623a; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.registration-confirmation__card h2 { font-size: 24px; text-transform: none; color: var(--bluecolor); }
.registration-confirmation__table { width: 100%; margin: 24px 0; border-collapse: collapse; text-align: left; }
.registration-confirmation__table th,
.registration-confirmation__table td { border-bottom: 1px solid var(--line); padding: 10px 6px; vertical-align: top; }
.registration-confirmation__table th { width: 35%; color: var(--muted); font-weight: 500; }
.registration-confirmation__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.viewmore.viewmore--outline { background: transparent; color: var(--bluecolor); border: 1px solid var(--bluecolor); }
.viewmore.viewmore--outline::after { filter: invert(1); }

/* Keep the career section's decorative overlay from intercepting CTA clicks. */
.career-home::before { pointer-events: none; }

@media (max-width: 767px) {
    .registration-confirmation__card { padding: 24px 18px; }
    .registration-confirmation__card h2 { font-size: 20px; }
}


/* Courses menu navigates by label and opens categories on hover/focus. */
@media (min-width: 992px) {
    .header-courses-dropdown:hover > .dropdown-menu,
    .header-courses-dropdown:focus-within > .dropdown-menu,
    .header-services-dropdown:hover > .dropdown-menu,
    .header-services-dropdown:focus-within > .dropdown-menu { display: block; }
}
@media (max-width: 991px) {
    .header-courses-dropdown > .dropdown-menu,
    .header-services-dropdown > .dropdown-menu { position: static; float: none; }
    .header-courses-dropdown:hover > .dropdown-menu,
    .header-courses-dropdown:focus-within > .dropdown-menu,
    .header-services-dropdown:hover > .dropdown-menu,
    .header-services-dropdown:focus-within > .dropdown-menu { display: block; }
}
