/* Shared responsive corrections for the preserved page templates. */
.container, .cmp-menu__container { max-width: 100%; }
.header__container { gap: 24px; }
.header__logo, .header__btn-menu, .header__search { margin-right: 0; }
.header__search { flex: 1; min-width: 0; max-width: 360px; }
.header__search-input { width: 100%; min-width: 0; }
.header__nav .menu { gap: 28px; }
.header__nav .menu > .menu-item { margin-right: 0; white-space: nowrap; }
.header__logo a:focus-visible, a:focus-visible, button:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible,
[role="button"]:focus-visible { outline: 3px solid #333333; outline-offset: 3px; }
.header__btn-menu, .header__btn-menu-mobile { flex-shrink: 0; min-height: 44px; }
.header__btn-menu-mobile { width: 44px; min-width: 44px; align-items: center; justify-content: center; }
.header__btn-menu-mobile img { width: 30px; }
.cmp-menu { position: fixed; top: 74px; max-height: calc(100vh - 74px); max-height: calc(100dvh - 74px); overflow-y: auto; overscroll-behavior: contain; }
.cmp-menu__container { width: 1300px; }
.cmp-menu, .header__menu-mobile { font-family: stem-semilight, Arial, sans-serif; }
.cmp-menu__left { flex: 0 0 260px; }
.cmp-menu__right { flex: 1; min-width: 0; width: auto; }
.cmp-menu__categories, .cmp-menu__directions-section-list { max-height: none; overflow: visible; }
.cmp-menu__categories-item { min-height: 49px; height: auto; padding-top: 8px; padding-bottom: 8px; }
.cmp-menu__directions-item a { display: block; padding: 10px 8px; overflow-wrap: anywhere; }
body.has-open-navigation { overflow: hidden; }
.header__menu-mobile { max-height: calc(100dvh - 74px); overflow-y: auto; }
.cmp-select__list-option, .cmp-select__list-option-empty { white-space: normal; overflow-wrap: anywhere; min-height: 44px; line-height: 1.35; }
.cmp-select__list-options { max-height: min(320px, 55vh); }
.cmp-select:not([data-type="search"]):hover:not([data-opened="1"]) .cmp-select__list-options-wrap { display: none; opacity: 0; }
.footer .menu, footer .menu { flex-wrap: wrap; gap: 12px 24px; justify-content: flex-start; }
.footer__head { display: flex; flex-wrap: wrap; gap: 20px; height: auto; }
.footer__logo { max-width: 100%; }
.footer__nav { flex: 1; min-width: 0; width: auto; max-width: 100%; height: auto; }
.footer__nav .menu-footer-container, .footer__nav .menu { width: auto; max-width: 100%; }
footer .menu > .menu-item { flex: 0 1 auto; margin: 0; padding: 0; }
footer .menu a { display: inline-block; padding: 8px 0; }
.catalog-schools__hero-search { min-width: 0; max-width: 100%; }
.catalog-schools__hero-search-input { flex: 1; min-width: 0; }
.catalog-schools__hero-search-btn { flex-shrink: 0; min-height: 44px; }
.school-catalog__toolbar > * { min-width: 0; max-width: 100%; }
.school-catalog { padding-left: 12px; padding-right: 12px; }
.school-catalog__toolbar input, .school-catalog__toolbar select { min-height: 44px; }
.school-catalog__toolbar label { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.school-catalog__toolbar input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; max-width: 18px; padding: 0; flex: 0 0 18px; }
.catalog-card { min-width: 0; overflow-wrap: anywhere; }
.catalog-card__action { min-height: 44px; }
.school-catalog__empty { padding: 20px; border: 1px solid #e1e3ea; border-radius: 8px; }
.school-catalog__empty[hidden] { display: none; }
.rtrs-form-check { line-height: 1.5; }
.rtrs-form-check label, .rtrs-form-check a { font-size: 14px; }
.rtrs-form-check input { min-width: 18px; min-height: 18px; }
.cmp-comment__form-personal { display: flex; align-items: flex-start; gap: 10px; }
.cmp-comment__form-personal-text { font-size: 14px; line-height: 1.5; }
.cmp-comment__form-personal-checkbox { min-width: 18px; min-height: 18px; margin: 2px 0 0; }
.rtrs-review-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.rtrs-review-form textarea { min-height: 44px; font-size: 16px; }
.rtrs-review-form textarea { min-height: 120px; }
.rtrs-review-form [type="submit"] { min-height: 44px; }
.rtrs-review-form .rtrs-feedback-input { max-width: 100%; }
.single-page__block[class] .rtrs-field-add { min-height: 44px; height: auto !important; }
.rtrs-review-form .rtrs-feedback-input .rtrs-remove-btn { width: 32px; height: 32px; font-size: 24px; line-height: 30px; top: 6px; }
.rtrs-review-form .rtrs-feedback-input .rtrs-input-filed { padding-right: 42px; }

@media (max-width: 1100px) {
  .header__container { gap: 16px; height: 74px; }
  .header__logo { height: auto; min-width: 0; }
  .header__logo-img { width: 190px; min-width: 0; max-width: 100%; height: auto; }
  .header__nav { display: none; }
  .header__btn-menu-mobile { display: flex; margin-top: 0; }
  .header__menu-mobile { position: absolute; top: 74px; left: 0; width: 100%; z-index: 995; background: #fff; padding: 12px 0; display: none; }
  .header__menu-mobile[data-opened="1"] { display: block; }
  .header__menu-mobile .menu-item { display: block; font-size: 20px; padding: 0; }
  .header__menu-mobile .menu-item a { display: block; min-height: 44px; padding: 12px; }
  .header__blackout { position: fixed; inset: 0; z-index: 91; background: rgb(0 0 0 / 60%); display: none; }
  .cmp-menu__directions-item { width: 50%; }
}

@media (min-width: 1024px) and (max-width: 1100px) {
  .d_cat_filter2__head-center, .d_cat_filter2__views { margin-left: 4px; }
}

/* The original mobile filter layout also fits tablets; tables retain a scroll fallback. */
@media (max-width: 1023px) {
  .d_course_table--desktop, .page-school-course .d_course_items { display: none !important; }
  .d_course_table--mobile, .page-school-course .d_course_rating--mobile { display: block !important; }
  .d_course_rating__table { max-width: 100%; overflow-x: auto; }
  .d_cat_filter2 { display: flex; flex-direction: column; }
  .d_cat_filter2--mobile { display: block; }
  .d_cat_filter2--desktop { display: none; }
  .d_cat_filter2__views { display: none; }
  .d_cat_filter2__head-top, .d_cat_filter2__head, .d_cat_filter2__content { width: 100%; }
  .d_cat_filter2__head-top { order: 1; position: relative; z-index: 91; }
  .d_cat_filter2__content { order: 2; padding-top: 0; padding-bottom: 20px; }
  .d_cat_filter2__head { order: 3; display: block; }
  .d_cat_filter2__m-head-top { display: flex; justify-content: space-between; gap: 12px; }
  .d_cat_filter2__m-head-top > * { width: calc(50% - 6px); margin: 0; min-width: 0; }
  .d_cat_filter2__head-center { display: flex; gap: 12px; margin: 0; width: 100%; }
  .d_cat_filter2__head-center .d_cat_filter2__head-select { flex: 1; min-width: 0; width: auto; margin: 0 0 16px; }
  .d_cat_filter2__but-sorting { margin-left: 0; }
  .d_cat_filter2__but-sorting .d_cat_filter2__head-select-name-value { white-space: normal; line-height: 1.3; font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-height: 36.4px; overflow: hidden; }
  .d_cat_filter2__but-sorting .cmp-select__list-options { width: min(310px, calc(100vw - 32px)); }
  .d_cat_filter2__but-sorting .cmp-select__list-options-wrap { right: 0; left: auto; }
  .d_cat_filter2__section-attr { flex-wrap: wrap; gap: 16px; }
  .d_cat_filter2__attr-block { display: block; width: calc(50% - 8px); margin-bottom: 8px; }
  .d_cat_filter2__attr-block .d_course__select { width: 100%; margin: 0; }
  .d_cat_filter2__section-props, .d_cat_filter2__props { display: flex; flex-wrap: wrap; width: 100%; }
  .d_cat_filter2__props-item { width: 50%; }
  .d_cat_filter2__props-item-label { font-size: 14px; line-height: 1.35; }
  .d_course_table__m { display: flex; flex-wrap: wrap; margin: 0 -8px; }
  .d_course_table__m-item-wrap { width: 50%; padding: 8px; min-width: 0; }
  .d_course_table__m-item { display: flex; flex-direction: column; border-radius: 8px; padding: 16px; height: 100%; margin-bottom: 0; background: #fff; box-shadow: 0 3px 14px rgb(0 0 0 / 9%); }
  .d_course_table__m-item-image { height: 130px; background-size: contain; background-position: center; background-repeat: no-repeat; }
  .d_course_table__m-item-content { display: flex; flex-direction: column; flex: 1; padding-top: 16px; }
  .d_course_table__m-item-name { height: auto; min-height: 44px; font-size: 16px; line-height: 1.4; display: block; overflow: visible; margin-bottom: 12px; }
  .d_course_table__m-item-center { border-top: 1px solid #dadee3; border-bottom: 1px solid #dadee3; padding: 10px 0; margin-bottom: 12px; }
  .d_course_table__m-item-company { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
  .d_course_table__m-item-company-logo { width: 30px; margin: 0; }
  .d_course_table__m-item-company-name { font-size: 14px; overflow-wrap: anywhere; }
  .d_course_table__m-item-rating { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .d_course_table__m-item-rating-num { margin: 0; color: #1fc578; }
  .d_course_table__m-item-rating-review { font-size: 13px; line-height: 1.5; }
  .d_course_table__m-item-prop, .d_course_table__m-item-prop span { font-size: 14px; line-height: 1.5; }
  .d_course_table__m-item-btn { margin-top: auto; min-height: 44px; height: auto; padding: 12px 8px; width: 100%; display: flex; align-items: center; justify-content: center; font-size: 14px; text-align: center; background: #171717; color: #fff; border-radius: 5px; text-decoration: none; }
  .d_course_table__m-item-content > :last-child { margin-top: 16px; }
}

@media (max-width: 620px) {
  .footer__head { flex-direction: column; align-items: flex-start; }
  .footer__nav { width: 100%; }
  .header__container { gap: 8px; }
  .header__logo { flex: 1; }
  .header__logo-img { width: 170px; }
  .header__btn-menu { width: 96px; padding-left: 44px; padding-right: 8px; font-size: 11px; }
  .header__search { display: none; }
  .header[menu-opened="1"] .header__search { flex: 1; width: auto; min-width: 0; }
  .header[menu-opened="1"] .header__search-input { font-size: 16px; }
  .cmp-menu__container { width: 100%; padding: 0 12px; }
  .cmp-menu__left { width: 100%; }
  .cmp-menu__directions-item { width: 100%; }
  .d_cat_filter2__head-center { display: block; }
  .d_cat_filter2__head-center .d_cat_filter2__head-select { width: 100%; }
  .d_course__select:has(.d_course__select-price-value) .cmp-select__list-options-wrap { right: 0; left: auto; width: min(270px, calc(100vw - 32px)); }
  .d_course__select-price-value { min-width: 0; font-size: 16px; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select { font-size: 16px; }
  .catalog-schools__hero-search { gap: 8px; flex-wrap: wrap; }
  .catalog-schools__hero-search-input { width: 100%; flex-basis: 100%; min-height: 44px; border-radius: 5px; }
  .catalog-schools__hero-search-btn { width: 100%; justify-content: center; padding-left: 28px; border-radius: 5px; background-position: calc(50% - 65px) center; }
}

@media (max-width: 480px) {
  .d_course_table__m-item-wrap { width: 100%; }
  .page-index__courses .d_course_table__m-item-wrap { width: 280px; }
  .d_cat_filter2__attr-block { width: 100%; }
  .d_cat_filter2__props-item { width: 100%; min-height: 44px; }
  .d_cat_filter2__props-item-content { align-items: center; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Visual tokens shared by all prepared Next.js pages. Existing icon assets are retained. */
:root {
  --academka-ink: #171717;
  --academka-muted: #656975;
  --academka-border: #e7e9ee;
  --academka-surface: #f5f6f8;
  --academka-radius: 16px;
  --academka-control-radius: 12px;
}
.header { border-bottom: 1px solid var(--academka-border); }
.header__logo { align-items: center; flex-shrink: 0; }
.academka-brand { display: inline-flex; align-items: center; gap: 8px; width: 210px; min-width: 0; height: 40px; color: var(--academka-ink); vertical-align: middle; }
.academka-brand__mark { flex: 0 0 34px; width: 34px; height: 40px; background: url('/assets/v2/images/site/logo.6b87b08d41dbbf256e81.svg') left center / 245px 40px no-repeat; }
.academka-brand__name { font: 700 30px/1 Arial, sans-serif; letter-spacing: -1.1px; }
.header__logo .header__logo-img { width: 210px; min-width: 0; height: 40px; }
.header__logo .header__logo-img--mobile { display: none; }
.footer__logo.academka-brand { height: 40px; }
.header__btn-menu { color: #fff; background-color: var(--academka-ink); background-image: none !important; border-radius: 999px; height: 44px; padding-left: 49px; padding-right: 17px; }
.header__btn-menu::before { content: ''; position: absolute; left: 13px; top: 50%; width: 30px; height: 30px; transform: translateY(-50%); background: url('/assets/v2/images/site/menu-alt-1-svgrepo-com.d1190ad37f59cbf48c3c.svg') center / 30px no-repeat; filter: invert(1); pointer-events: none; }
.header__btn-menu[data-opened='1']::before { background-image: url('/assets/v2/images/site/cross-small-svgrepo-com.f96a32b563e5e60867fb.svg'); background-size: 49px; }
.header__btn-menu:hover { background-color: #333333; }
.header__btn-menu-mobile { border-radius: 50%; background: var(--academka-surface); }
.header__search-input { height: 44px; border: 1px solid var(--academka-border); border-radius: 999px; padding-right: 18px; background-color: #fff; background-position: 12px center; color: var(--academka-ink); }
.header__search-input:focus { border-color: #525252; }
.header__search-input[data-pointer-focus="1"]:focus { outline: none; outline-offset: 0; box-shadow: none; border-color: var(--academka-border); }
.page-index__hero-search-input, .catalog-schools__hero-search-input { border-radius: var(--academka-control-radius); }
.page-index__hero-foot { border-radius: var(--academka-radius); }
.page-index__hero-search { border-radius: var(--academka-radius); }
.page-index__hero-props { border-radius: var(--academka-radius); overflow: hidden; }
.page-index__hero-props-item:last-child { border-radius: 0 var(--academka-radius) var(--academka-radius) 0; }
/* Give the homepage introduction more breathing room without changing its artwork. */
.page-index__hero { padding-top: clamp(36px, 4vw, 64px); padding-bottom: clamp(40px, 4vw, 64px); }
.page-index__hero-head { align-items: center; min-height: 270px; }
.page-index__hero-title { margin-top: 0; margin-bottom: 24px; font-size: clamp(28px, 2.45vw, 35px); line-height: 1.22; }
.page-index__hero-desc { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; }
.page-index__hero-foot { margin-top: 32px; gap: 24px; align-items: stretch; }
.page-index__hero-img { background-image: url('/assets/v2/images/site/hero-course-comparison.bd51f48466c2366a.webp'); background-position: center; background-size: contain; background-repeat: no-repeat; }
.page-index__hero-search { height: 88px; padding: 0; align-items: center; background: transparent; box-shadow: none; border-radius: 999px; }
.page-index__hero-search .page-index__hero-select-wrap { width: 100%; min-width: 0; flex: 1; background: transparent; box-shadow: none; border-radius: 999px; }
.page-index__hero-search-input { height: 64px; width: 100%; border: 1px solid #e1e4e8; border-radius: 999px; background-color: #fff; padding-left: 22px; padding-right: 58px; background-position: calc(100% - 22px) center; }
.page-index__hero-search-input:focus, .page-index__hero-search-input:focus-visible { outline: none; outline-offset: 0; box-shadow: none; border-color: #e1e4e8; }
.page-index__hero-props-item { height: 88px; display: flex; flex-direction: column; justify-content: center; padding: 0 16px; }
.page-index__hero-props-item:first-child { padding-left: 16px; }
.page-index__hero-props-item-key { line-height: 1.35; }
@media (max-width: 1100px) and (min-width: 621px) {
  .page-index__hero-props-item { padding-left: 10px; padding-right: 10px; }
  .page-index__hero-props-item:first-child { padding-left: 10px; }
}
@media (max-width: 620px) {
  .page-index__hero { padding-top: 28px; padding-bottom: 36px; }
  .page-index__hero-head { min-height: 0; }
  .page-index__hero-title { font-size: 26px; margin-bottom: 20px; }
  .page-index__hero-desc { margin-bottom: 0; line-height: 1.55; }
  .page-index__hero-foot { margin-top: 28px; }
  .page-index__hero-search { height: 80px; margin-bottom: 22px; }
  .page-index__hero-search-input { font-size: 16px; height: 60px; padding-left: 18px; padding-right: 48px; background-position: calc(100% - 18px) center; }
  .page-index__hero-props-item { height: 80px; }
}
.page-index__hero-select-wrap, .page-index__hero-info, .page-index__categories-content,
.d_course_question__item, .d_course_reviews__item-wrap, .catalog-card,
.d_course_tile__item, .d_course_table__m-item, .rtrs-main-review,
.school-catalog__empty { border-radius: var(--academka-radius); }
.catalog-card, .d_course_table__m-item { border: 1px solid var(--academka-border); box-shadow: 0 4px 18px rgb(23 23 23 / 5%); }
.cmp-search__select-list-wrap, .cmp-select__list-options-wrap { border-radius: var(--academka-control-radius); box-shadow: 0 8px 28px rgb(23 23 23 / 12%); }
.cmp-search__select-option:hover, .cmp-select__list-option:hover { background-color: #f2f2f2; }
.cmp-menu__categories-item, .cmp-menu__related-item, .cmp-menu__back { border-radius: 10px; }
.cmp-menu__directions-item a { border-radius: 8px; }
.cmp-menu__directions-item a:hover { background: #f2f2f2; }
.btn, .d_course_table__m-item-btn, .catalog-card__action,
.catalog-schools__hero-search-btn, .d_cat_filter2__head-select,
.d_cat_filter2__m-btn, .d_course__select, .page-index__categories-specs-item-content,
.rtrs-submit-btn, .rtrs-field-add { border-radius: var(--academka-control-radius); }
.school-catalog__toolbar input:not([type='checkbox']), .school-catalog__toolbar select,
.rtrs-review-form textarea, .rtrs-review-form input:not([type='checkbox']):not([type='radio']):not([type='hidden']) { border-radius: var(--academka-control-radius); }
.rtrs-review-form textarea, .rtrs-review-form input:not([type='checkbox']):not([type='radio']):not([type='hidden']) { border-color: var(--academka-border); }
.d_page-category-img { filter: grayscale(1) brightness(.35) !important; }
@media (min-width: 1024px) {
  .d_cat_filter2 { padding-top: 36px; margin-bottom: 28px; }
  .d_cat_filter2__head { align-items: center; gap: 16px; }
  .d_cat_filter2__head > .d_cat_filter2--desktop { flex-shrink: 0; }
  .d_cat_filter2__head .d_cat_filter2__head-center { flex: 1; width: auto; min-width: 0; gap: 0; margin-left: 0; border: 1px solid #e1e4e8; border-radius: 14px; background: #fff; }
  .d_cat_filter2__head-center > .d_cat_filter2__head-select { flex: 1; width: auto; min-width: 0; margin: 0; padding: 0; border-radius: 0; border-right: 1px solid #eceef1; background: transparent; }
  .d_cat_filter2__head-center > .d_cat_filter2__head-select .d_cat_filter2__head-select-name { height: 64px; padding: 10px 16px; border-radius: 0; background-position: calc(100% - 16px) center; }
  .d_cat_filter2__head-center > .d_cat_filter2__head-select:first-child,
  .d_cat_filter2__head-center > .d_cat_filter2__head-select:first-child .d_cat_filter2__head-select-name { border-radius: 14px 0 0 14px; }
  .d_cat_filter2__head-center > .d_cat_filter2__head-select:last-child,
  .d_cat_filter2__head-center > .d_cat_filter2__head-select:last-child .d_cat_filter2__head-select-name { border-radius: 0 14px 14px 0; border-right: 0; }
  .d_cat_filter2__head-center .d_cat_filter2__head-select-name-label { font-size: 12px; line-height: 18px; color: #747b84; }
  .d_cat_filter2__head-center .d_cat_filter2__head-select-name-value { display: block; line-height: 24px; padding-right: 28px; }
  .d_cat_filter2__head-center .cmp-select__list-options-wrap { margin-left: 0; padding-top: 8px; }
  .d_cat_filter2__but-filter { min-width: 160px; height: 66px; padding: 0 12px; border: 1px solid #e1e4e8; border-radius: 14px; background-position: 14px center; }
  .d_cat_filter2__but-filter span { padding-left: 34px; padding-right: 0; }
  .d_cat_filter2__but-sorting { min-width: 190px; margin: 0; padding: 0; border: 1px solid #e1e4e8; border-radius: 14px; }
  .d_cat_filter2__but-sorting .d_cat_filter2__head-select-name { height: 64px; padding: 0 16px; gap: 8px; border-radius: 14px; background-position: calc(100% - 16px) center; }
  .d_cat_filter2__but-sorting .d_cat_filter2__head-select-name-label { margin: 0; flex-shrink: 0; background-position: center; }
  .d_cat_filter2__views { display: flex; align-items: center; justify-content: center; gap: 4px; width: 96px; height: 66px; flex: 0 0 96px; margin: 0; padding: 6px; border: 1px solid #e1e4e8; border-radius: 14px; background: #fff; }
  .d_cat_filter2__views-item { width: 40px; height: 48px; border-radius: 9px; background-position: center; }
}
:root { --academka-accent: #171717; --academka-accent-hover: #333333; }
@media (max-width: 1100px) {
  .header__logo .header__logo-img { width: 180px; }
  .academka-brand__name { font-size: 26px; }
  .academka-brand { width: 180px; }
}
@media (max-width: 620px) {
  .header__logo { flex-shrink: 1; }
  .header__logo .header__logo-img { width: auto; max-width: 100%; }
  .header__logo .academka-brand { gap: 4px; }
  .header__logo .academka-brand__mark { width: 26px; height: 32px; flex-basis: 26px; background-size: 196px 32px; }
  .header__logo .academka-brand__name { font-size: 22px; letter-spacing: -1px; }
  .header__btn-menu { padding-left: 41px; padding-right: 8px; }
  .header__btn-menu::before { left: 8px; }
}


/* White canvas and distinct rounded element surfaces. */
:root { --academka-surface: #f7f8fa; --academka-border: #e5e8ed; }
html, body, .wrapper, .footer-wrap, .d_section,
.page-index__categories, .page-index__courses, .page-category__content,
.page-direction__content, .catalog-schools, .single-page { background-color: #fff; }
.page-index__categories-content, .page-index__hero-props,
.d_course_question__item, .d_course_reviews__item-wrap,
.d_course_tile__item, .d_course_table__m-item, .catalog-card,
.rtrs-main-review, .school-catalog__empty,
.live-course-card, .live-school-card, .live-review {
 background-color: var(--academka-surface); border: 1px solid var(--academka-border);
 border-radius: 16px; box-shadow: none;
}
.page-index__hero-props-item { background-color: transparent; }
.page-index__categories-specs-item-content,
.d_cat_filter2__but-filter, .d_cat_filter2__but-sorting,
.d_cat_filter2__views, .d_cat_filter2__head .d_cat_filter2__head-center,
.live-catalog-filter, .live-school-toolbar { background-color: var(--academka-surface); border-color: var(--academka-border); }
.live-catalog-filter, .live-school-toolbar { border: 1px solid var(--academka-border); border-radius: 16px; }
.d_course_table__m-item, .d_course_tile__item { overflow: hidden; }

.live-catalog .live-course-card,.live-schools .live-school-card,.live-review-list .live-review {background-color:var(--academka-surface);border-color:var(--academka-border);box-shadow:none;}

/* Legacy catalog templates use an additional canvas wrapper. */
.bg-grey, .bg-gray { background-color: #fff; }
.d_course_table,.d_course_rating__table { background-color:var(--academka-surface); border:1px solid var(--academka-border); border-spacing:0; border-collapse:separate; border-radius:16px; overflow:hidden; }
.d_course_table tbody,.d_course_table thead,.d_course_table tr,.d_course_table td,.d_course_table th,
.d_course_rating__table tbody,.d_course_rating__table thead,.d_course_rating__table tr,.d_course_rating__table td,.d_course_rating__table th { background-color:transparent; }
.d_course_table tr:first-child th:first-child,.d_course_rating__table tr:first-child th:first-child { border-top-left-radius:16px; }
.d_course_table tr:first-child th:last-child,.d_course_rating__table tr:first-child th:last-child { border-top-right-radius:16px; }

/* Category cards: white canvas, borderless neutral surfaces and inline lists. */
.page-courses__categories, .page-courses__categories-list { background-color: #fff; }
.page-courses__categories-item-wrap { align-self: flex-start; }
.page-courses__categories-item { background: #f7f8fa; border: 0; border-radius: 22px; box-shadow: none; height: auto; min-height: 110px; }
.page-courses__categories-item-select .cmp-select__list { position: static; height: auto; width: 100%; }
.page-courses__categories-item-select .cmp-select__list-options-wrap { position: static; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.page-courses__categories-item-select .cmp-select__list-options { max-height: 320px; background: transparent; border: 0; padding: 12px 0 0; }
.page-courses__categories-item-select .cmp-select__search { padding: 0 0 10px; }
.page-courses__categories-item-select .cmp-select__search input { border: 0; border-radius: 14px; background: #fff; min-height: 42px; }
.page-courses__categories-item-select .cmp-select__list-option { border: 0; border-radius: 10px; margin-bottom: 4px; }
.page-courses__categories-item-select .cmp-select__list-option:hover { background: #eceef2; }

.page-courses__categories-item-select { background-position: right 6px; }
.page-courses__categories-item-select .cmp-select__list-options { box-shadow: none; border-radius: 14px; }

/* Keep slider gutters transparent; paint only the actual review card. */
.d_course_reviews { background: #fff; }
.d_course_reviews__list { margin-left: -12px; margin-right: -12px; }
.d_course_reviews__item-wrap { padding-left: 12px; padding-right: 12px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.d_course_reviews__item { background: #f7f8fa; border: 0; border-radius: 22px; box-shadow: none; padding: 26px 24px; min-height: 340px; display: flex; flex-direction: column; }
.d_course_reviews__item-school { margin-bottom: 24px; }
.d_course_reviews__item-school-rating { border: 0; height: auto; padding-right: 0; }
.d_course_reviews__item-title { font-size: 15px; line-height: 1.5; margin-bottom: 12px; }
.d_course_reviews__item-text { height: auto; flex: 1; display: flex; flex-direction: column; gap: 12px; font-size: 15px; line-height: 1.5; margin-bottom: 0; }
.d_course_reviews__item-text span { min-height: 90px; }
.d_course_reviews__item-text-more { display: inline-block; align-self: flex-start; min-height: 24px; }
.d_course_reviews__item-foot { margin-top: 22px; line-height: 1.5; }
@media(max-width:620px) { .d_course_reviews__item { padding: 24px 22px; } }

/* FAQ surfaces are separated by whitespace, with real inner padding. */
.d_course_question { background: #fff; }
.d_course_question__list { display: grid; gap: 16px; padding: 0; margin-top: 0; background: transparent; border: 0; border-radius: 0; }
.d_course_question__item { background: #f7f8fa; border: 0; border-radius: 22px; box-shadow: none; overflow: hidden; }
.d_course_question__item-head { min-height: 80px; padding: 24px 28px; font-size: 18px; line-height: 1.5; }
.d_course_question__item-head span { padding-right: 36px; background-position: right center; }
.d_course_question__item-content { padding: 0 28px 28px; line-height: 1.7; overflow-wrap: anywhere; }
.d_course_question__item-content p { font-size: 16px !important; line-height: 1.7; margin: 0 0 14px; }
.d_course_question__item-content p:last-child { margin-bottom: 0; }
.d_course_question__item-content ul,.d_course_question__item-content ol { padding-left: 22px; margin: 14px 0; }
.d_course_question__item-content li { margin-bottom: 10px; }
@media(max-width:620px) {
 .d_course_question__list { gap: 14px; }
 .d_course_question__item { border-radius: 20px; }
 .d_course_question__item-head { min-height: 76px; padding: 22px 20px; font-size: 16px; }
 .d_course_question__item-head span { padding-right: 30px; }
 .d_course_question__item-content { padding: 0 20px 24px; }
 .d_course_question__item-content p { font-size: 15px !important; }
}

/* Only four unmodified SVG icons downloaded from Iconify's Phosphor collection. */
:root { --academka-star-fill:url('/assets/v2/icons/iconify/star-fill.90d8c37f733262fb.svg'); --academka-star-half:url('/assets/v2/icons/iconify/star-half-fill.b3155545ae096faa.svg'); --academka-star-empty:url('/assets/v2/icons/iconify/star.cbc7c46051fb5740.svg'); --academka-review-icon:url('/assets/v2/icons/iconify/chat-circle-text.c8515945efd53396.svg'); }
.page-index__hero-search .cmp-search__select-list-wrap { padding:0; margin:0; min-height:0; box-shadow:none !important; }
.page-index__hero-search .cmp-search__select-list { box-shadow:none !important; }
.page-index__hero-search-input { box-shadow:none !important; }
.rtrs-star,.rtrs-star-half-alt,.rtrs-star-empty { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:var(--academka-star-size,20px); height:var(--academka-star-size,20px); font-size:var(--academka-star-size,20px); line-height:1; margin:0 !important; vertical-align:middle; }
:is(.rtrs-star,.rtrs-star-half-alt,.rtrs-star-empty)[class]::before { content:'' !important; display:block; width:100% !important; height:100% !important; margin:0 !important; font-size:inherit !important; background:#e8a23c; -webkit-mask:var(--academka-star-fill) center/contain no-repeat; mask:var(--academka-star-fill) center/contain no-repeat; }
.rtrs-star-half-alt[class]::before { -webkit-mask-image:var(--academka-star-half); mask-image:var(--academka-star-half); }
.rtrs-star-empty[class]::before { background:#adb4c0; -webkit-mask-image:var(--academka-star-empty); mask-image:var(--academka-star-empty); }
.page-index__schools-item-rating-starts { --academka-star-size:17px; }
.single-page__header-reviews { --academka-star-size:24px; }
.single-page__review-rating-start-list { --academka-star-size:24px; }
.page-index__schools-item-rating-starts,.d_course_reviews__item-school-rating-starts,.d_course_tile__item-rating-starts,.d_course__rating-starts { display:flex; align-items:center; gap:2px; margin-top:0; padding-top:0; }
.page-index__schools-item-rating-values,.d_course_reviews__item-school-bottom { display:flex; align-items:center; gap:8px; }
.page-index__schools-item-rating { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.page-index__schools-item-rating-num,.d_course_reviews__item-school-rating,.d_course__rating-num,.d_course_tile__item-rating-num,.d_course_table__m-item-rating-num,.d_course_table__school-rating-num,.catalog-schools__list-item-rating-num,.page-course__info-rating-num,.page-school-course__hero-rating-num,.single-page__review-rating-num,.single-page__header-reviews-num,.single-page__similar-item-rating-num,.d_cat_table__rating-num,.d_cat_product__reviews-num,.d_cat_product_detail__rating-num { display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:28px; height:auto; min-height:28px; padding:4px 8px; margin:0; border:0; border-radius:9px; background:#171717; color:#fff; font-family:inherit; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; line-height:1.2; letter-spacing:0; }
.page-index__schools-item-rating-reviews { display:flex; align-items:center; gap:5px; }
.page-index__schools-item-rating-reviews img { width:19px; height:19px; margin:0; }
.single-page__header-count,.page-school-course__hero-review,.page-course__info-review,.catalog-schools__list-item-review,.d_course__rating-review { background-image:none; padding-left:0; display:inline-flex; align-items:center; gap:7px; }
.single-page__header-count::before,.page-school-course__hero-review::before,.page-course__info-review::before,.catalog-schools__list-item-review::before,.d_course__rating-review::before { content:''; display:inline-block; width:20px; height:20px; flex:0 0 20px; background:currentColor; -webkit-mask:var(--academka-review-icon) center/contain no-repeat; mask:var(--academka-review-icon) center/contain no-repeat; }
.single-page__review-btn-add { background-image:none; padding-left:14px; padding-right:14px; gap:8px; }
.single-page__review-btn-add::before { content:''; display:inline-block; width:20px; height:20px; background:currentColor; -webkit-mask:var(--academka-review-icon) center/contain no-repeat; mask:var(--academka-review-icon) center/contain no-repeat; }

.cmp-rating__vpn-rating-start,.cmp-review__rating-start,.d_cat_comments__rating-you-start { background-image:none; }
.cmp-rating__vpn-rating-start::before,.cmp-review__rating-start::before,.d_cat_comments__rating-you-start::before { content:''; display:block; width:100%; height:100%; background:#e8a23c; -webkit-mask:var(--academka-star-fill) center/contain no-repeat; mask:var(--academka-star-fill) center/contain no-repeat; pointer-events:none; }
.d_cat_comments__rating-you-start::before { background:#adb4c0; -webkit-mask-image:var(--academka-star-empty); mask-image:var(--academka-star-empty); }
.d_cat_comments__rating-you-start[data-selected='1'] { background-image:none; }
.d_cat_comments__rating-you-start[data-selected='1']::before { background:#e8a23c; -webkit-mask-image:var(--academka-star-fill); mask-image:var(--academka-star-fill); }

.page-index__schools-item-rating { flex-direction:column; align-items:flex-start; gap:7px; }
.page-index__schools-item-rating-values { margin-bottom:0; }

/* Consistent rounded actions; preserve grouped selectors and original icons. */
:root { --academka-button-radius: 999px; }
.btn, .site-block-file__button,
.cmp-comment__form-submit, .single-page__comment-form-submit,
.d_cat_product__btn-service, .d_cat_product__btn-price, .d_cat_product__btn-detail,
.d_cat_table__but-link, .d_course_table__but-link, .d_course_table__m-item-btn,
.d_course__but-more, .catalog-card__action,
.live-catalog-actions button, .live-catalog-more, .live-course-card__action,
.live-school-card a, .admin-school-promo button,
.d_cat_filter2__but-show, .d_cat_filter2__but-reset {
 border-radius: var(--academka-button-radius);
 min-height: 44px; box-sizing: border-box; box-shadow: none;
 transition: background-color .12s ease, color .12s ease, border-color .12s ease;
}
.d_course_table__but-link, .d_course_table__m-item-btn,
.d_cat_table__but-link, .d_course__but-more,
.d_cat_product__btn-service, .cmp-comment__form-submit,
.single-page__comment-form-submit {
 background-color: #171717; color: #fff; padding-left: 18px; padding-right: 18px;
}
.d_course_table__but-link:hover, .d_course_table__m-item-btn:hover,
.d_cat_table__but-link:hover, .d_course__but-more:hover,
.d_cat_product__btn-service:hover, .cmp-comment__form-submit:hover,
.single-page__comment-form-submit:hover { background-color: #333; color: #fff; }
.d_cat_filter2__foot { gap: 12px; align-items: center; flex-wrap: wrap; }
.d_cat_filter2__but-show { min-height: 48px; padding: 12px 22px; justify-content: center; }
.d_cat_filter2__but-show:hover { background-color: #333; }
.d_cat_filter2__but-reset {
 min-height: 48px; padding: 12px 18px 12px 44px; width: auto;
 background-color: #f7f8fa; background-position: 17px center;
 border: 1px solid #e5e8ed; color: #333;
}
.d_cat_filter2__but-reset:hover { background-color: #eceef2; border-color: #d9dde3; }
.d_course_tile__item-btn {
 border-radius: var(--academka-button-radius); border: 0;
 background-color: #171717; color: #fff; min-height: 46px;
 width: calc(100% - 32px); margin: 16px; padding: 12px 16px;
 box-sizing: border-box; box-shadow: none;
}
.d_course_tile__item-btn:hover { background-color: #333; color: #fff; }
.single-page__block[class]:not(.dddd111111) .rtrs-submit-btn,
.rtrs-review-form .rtrs-form-group .rtrs-submit-btn {
 border-radius: var(--academka-button-radius) !important;
 min-height: 46px !important; background-color: #171717 !important;
 color: #fff !important; box-shadow: none !important;
}
.single-page__block[class]:not(.dddd111111) .rtrs-submit-btn:hover,
.rtrs-review-form .rtrs-form-group .rtrs-submit-btn:hover { background-color: #333 !important; }
.live-review footer button { border-radius: 999px; min-height: 40px; }
.cmp-slider__btn-prev { border-radius: 12px 0 0 12px; }
.cmp-slider__btn-next { border-radius: 0 12px 12px 0; }
@media(max-width:620px) {
 .d_cat_filter2__foot { gap: 10px; }
 .d_cat_filter2__but-show, .d_cat_filter2__but-reset { flex: 1 1 calc(50% - 5px); width: auto; min-width: 0; }
}
@media(prefers-reduced-motion:reduce) {
 .btn, .cmp-comment__form-submit, .single-page__comment-form-submit,
 .d_course_table__but-link, .d_course_table__m-item-btn, .d_course__but-more,
 .d_cat_filter2__but-show, .d_cat_filter2__but-reset { transition: none; }
}


