/* ============================================================
   AB CORE — PROJECT SHELL OVERRIDES
   ============================================================ */

body.ab-core-project-shell {
  background: var(--bg);
  color: var(--white);
}

body.ab-core-project-shell #page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  overflow-x: clip;
}

body.ab-core-project-shell #primary,
body.ab-core-project-shell .site-main {
  flex: 1 0 auto;
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 40px 20px 80px;
}

body.ab-core-project-shell #primary.site-main--home,
body.ab-core-project-shell .site-main.site-main--home,
body.ab-core-project-shell #primary.site-main--about,
body.ab-core-project-shell .site-main.site-main--about,
body.ab-core-project-shell #primary.site-main--services,
body.ab-core-project-shell .site-main.site-main--services,
body.ab-core-project-shell #primary.site-main--portfolio,
body.ab-core-project-shell .site-main.site-main--portfolio,
body.ab-core-project-shell #primary.site-main--careers,
body.ab-core-project-shell .site-main.site-main--careers,
body.ab-core-project-shell #primary.site-main--job-single,
body.ab-core-project-shell .site-main.site-main--job-single,
body.ab-core-project-shell #primary.site-main--portfolio-single,
body.ab-core-project-shell .site-main.site-main--portfolio-single,
body.ab-core-project-shell #primary.site-main--service-single,
body.ab-core-project-shell .site-main.site-main--service-single,
body.ab-core-project-shell #primary.site-main--team-single,
body.ab-core-project-shell .site-main.site-main--team-single,
body.ab-core-project-shell #primary.site-main--partner-single,
body.ab-core-project-shell .site-main.site-main--partner-single {
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.ab-core-project-shell .hero--home,
body.ab-core-project-shell .hero--about,
body.ab-core-project-shell .hero--portfolio,
body.ab-core-project-shell .hero--careers {
  width: 100%;
  min-height: 100svh;
  min-height: 100dvh;
}

body.admin-bar.ab-core-project-shell .hero--home,
body.admin-bar.ab-core-project-shell .hero--about,
body.admin-bar.ab-core-project-shell .hero--portfolio,
body.admin-bar.ab-core-project-shell .hero--careers {
  min-height: calc(100svh - 32px);
  min-height: calc(100dvh - 32px);
}

@media (max-width: 782px) {
  body.admin-bar.ab-core-project-shell .hero--home,
  body.admin-bar.ab-core-project-shell .hero--about,
  body.admin-bar.ab-core-project-shell .hero--portfolio,
  body.admin-bar.ab-core-project-shell .hero--careers {
    min-height: calc(100svh - 46px);
    min-height: calc(100dvh - 46px);
  }
}

body.ab-core-project-shell .hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

body.ab-core-project-shell .hero__video--youtube {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

body.ab-core-project-shell .hero__video--youtube iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300%;
  height: 100%;
  max-width: none;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

body.ab-core-project-shell .hero__video:not(.hero__video--youtube) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.ab-core-project-shell .hero--has-video .hero__bg {
  display: none;
}

body.ab-core-project-shell .hero--has-video.hero--video-fallback .hero__bg {
  display: block;
}

body.ab-core-project-shell .hero--has-video.hero--video-fallback .hero__video {
  display: none;
}

body.ab-core-project-shell #secondary {
  display: none;
}

body.ab-core-project-shell .skip-link:focus {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  width: auto;
  height: auto;
  margin: 0;
  padding: 12px 16px;
  clip: auto;
  clip-path: none;
  overflow: visible;
  white-space: normal;
  background: var(--red);
  color: var(--white);
  text-decoration: none;
}

body.ab-core-project-shell .navbar__links .current-menu-item > a::before,
body.ab-core-project-shell .navbar__links .current-menu-item > a::after,
body.ab-core-project-shell .navbar__links .current_page_item > a::before,
body.ab-core-project-shell .navbar__links .current_page_item > a::after,
body.ab-core-project-shell .navbar__links a.active::before,
body.ab-core-project-shell .navbar__links a.active::after {
  transform: scaleX(1);
}

body.ab-core-project-shell .social-bar__icon-text {
  color: var(--white);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.ab-core-project-shell .footer__newsletter-forminator {
  margin-bottom: 12px;
}

@media (min-aspect-ratio: 16/9) {
  body.ab-core-project-shell .hero__video--youtube iframe {
    width: 100%;
    height: 300%;
  }
}

body.ab-core-project-shell .contact-form__notice {
  margin-bottom: 20px;
  color: var(--gray-light);
  font-size: 14px;
}

body.ab-core-project-shell .portfolio-filter-tabs {
  justify-content: center;
  margin-bottom: 24px;
}

body.ab-core-project-shell .portfolio-filter-tabs--language {
  margin-top: -12px;
}

body.ab-core-project-shell .portfolio-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 24px 20px 0;
}

body.ab-core-project-shell .portfolio-pagination .page-numbers {
  color: var(--white);
  text-decoration: none;
}

body.ab-core-project-shell .portfolio-pagination .page-numbers.current {
  color: var(--red);
}

body.ab-core-project-shell .showroom-empty {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 20px 40px;
  text-align: center;
  color: var(--gray-light);
}

body.ab-core-project-shell .video-modal__frame video,
body.ab-core-project-shell .video-modal__video {
  width: 100%;
  height: 100%;
  display: block;
  background: #000;
}

body.ab-core-project-shell .careers-filter-tabs {
  justify-content: center;
  margin: -30px auto 30px;
  max-width: 1300px;
  padding: 0 60px;
}

body.ab-core-project-shell .careers-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 24px 60px 0;
}

body.ab-core-project-shell .careers-pagination .page-numbers {
  color: var(--white);
  text-decoration: none;
}

body.ab-core-project-shell .careers-pagination .page-numbers.current {
  color: var(--red);
}

body.ab-core-project-shell .careers-empty {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 60px 40px;
  text-align: center;
  color: var(--gray-light);
}

body.ab-core-project-shell .job-card__list-wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.ab-core-project-shell .cpt-single,
body.ab-core-project-shell .job-single {
  background: var(--bg);
  max-width: 960px;
  margin: 0 auto;
  padding: 120px 20px 80px;
}

body.ab-core-project-shell .cpt-single__back,
body.ab-core-project-shell .job-single__back {
  color: var(--gray-light);
  text-decoration: none;
}

body.ab-core-project-shell .cpt-single__back:hover,
body.ab-core-project-shell .job-single__back:hover {
  color: var(--white);
}

body.ab-core-project-shell .cpt-single__title,
body.ab-core-project-shell .job-single__title {
  margin: 16px 0 12px;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--white);
}

body.ab-core-project-shell .cpt-single__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  color: var(--gray-light);
  font-size: 14px;
}

body.ab-core-project-shell .cpt-single__breadcrumb a {
  color: var(--gray-light);
  text-decoration: none;
}

body.ab-core-project-shell .cpt-single__breadcrumb a:hover {
  color: var(--white);
}

body.ab-core-project-shell .cpt-single__breadcrumb-current {
  color: var(--white);
}

body.ab-core-project-shell .portfolio-single__meta,
body.ab-core-project-shell .portfolio-single__language,
body.ab-core-project-shell .team-single__role {
  color: var(--gray-light);
}

body.ab-core-project-shell .job-single__type {
  color: var(--red);
  text-transform: capitalize;
  margin: 0 0 30px;
}

body.ab-core-project-shell .job-single__section-title {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
}

body.ab-core-project-shell .job-single__list {
  list-style: disc;
  padding-left: 20px;
}

body.ab-core-project-shell .portfolio-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 8px;
}

body.ab-core-project-shell .portfolio-single__featured,
body.ab-core-project-shell .service-single__featured,
body.ab-core-project-shell .team-single__photo,
body.ab-core-project-shell .partner-single__logo {
  margin: 32px 0;
}

body.ab-core-project-shell .portfolio-single__featured img,
body.ab-core-project-shell .service-single__featured img,
body.ab-core-project-shell .team-single__photo img,
body.ab-core-project-shell .partner-single__logo img {
  width: 100%;
  height: auto;
  display: block;
}

body.ab-core-project-shell .portfolio-single__featured--video {
  cursor: pointer;
}

body.ab-core-project-shell .service-single__number {
  color: var(--red);
  font-size: 14px;
  letter-spacing: 0.08em;
}

body.ab-core-project-shell .cpt-single__section-title,
body.ab-core-project-shell .job-single__section-title {
  margin: 0 0 16px;
  color: var(--white);
}

body.ab-core-project-shell .cpt-single__body,
body.ab-core-project-shell .job-single__body,
body.ab-core-project-shell .job-single__list {
  color: var(--gray-light);
  line-height: 1.7;
}

body.ab-core-project-shell .cpt-single__actions {
  margin-top: 32px;
}

body.ab-core-project-shell .job-single__apply {
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body.ab-core-project-shell .job-single__apply .contact-form,
body.ab-core-project-shell .job-single__apply .forminator-custom-form,
body.ab-core-project-shell .job-single__apply .job-application-form {
  margin-top: 24px;
}

body.ab-core-project-shell a.service-row {
  display: flex;
  color: inherit;
  text-decoration: none;
}

body.ab-core-project-shell .showroom-item {
  position: relative;
}

body.ab-core-project-shell .showroom-item__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

body.ab-core-project-shell #primary.site-main--blog,
body.ab-core-project-shell .site-main.site-main--blog,
body.ab-core-project-shell #primary.site-main--post-single,
body.ab-core-project-shell .site-main.site-main--post-single,
body.ab-core-project-shell #primary.site-main--archive,
body.ab-core-project-shell .site-main.site-main--archive,
body.ab-core-project-shell #primary.site-main--search,
body.ab-core-project-shell .site-main.site-main--search,
body.ab-core-project-shell #primary.site-main--404,
body.ab-core-project-shell .site-main.site-main--404,
body.ab-core-project-shell #primary.site-main--page,
body.ab-core-project-shell .site-main.site-main--page,
body.ab-core-project-shell #primary.site-main--index,
body.ab-core-project-shell .site-main.site-main--index {
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.ab-core-project-shell .hero--blog,
body.ab-core-project-shell .hero--page {
  width: 100%;
  min-height: 100svh;
  min-height: 100dvh;
}

body.admin-bar.ab-core-project-shell .hero--blog,
body.admin-bar.ab-core-project-shell .hero--page {
  min-height: calc(100svh - 32px);
  min-height: calc(100dvh - 32px);
}

@media (max-width: 782px) {
  body.admin-bar.ab-core-project-shell .hero--blog,
  body.admin-bar.ab-core-project-shell .hero--page {
    min-height: calc(100svh - 46px);
    min-height: calc(100dvh - 46px);
  }
}

body.ab-core-project-shell .blogs-section__header {
  text-align: center;
  margin-bottom: 60px;
}

body.ab-core-project-shell .blog-pagination,
body.ab-core-project-shell .careers-pagination,
body.ab-core-project-shell .portfolio-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 24px 60px 0;
}

body.ab-core-project-shell .blog-pagination .page-numbers {
  color: var(--white);
  text-decoration: none;
}

body.ab-core-project-shell .blog-pagination .page-numbers.current {
  color: var(--red);
}

body.ab-core-project-shell .archive-empty,
body.ab-core-project-shell .search-empty {
  max-width: 720px;
  margin: 0 auto;
  padding: 80px 60px 100px;
  text-align: center;
  color: var(--gray-light);
}

body.ab-core-project-shell .archive-empty__content .section-title,
body.ab-core-project-shell .error-404__content .section-title {
  margin-bottom: 20px;
}

body.ab-core-project-shell .error-404 {
  padding: 120px 60px 140px;
  text-align: center;
}

body.ab-core-project-shell .error-404__message {
  color: var(--gray-light);
  max-width: 560px;
  margin: 0 auto 30px;
}

body.ab-core-project-shell .error-404__search {
  max-width: 560px;
  margin: 0 auto 30px;
}

body.ab-core-project-shell .page-shell__header,
body.ab-core-project-shell .page-shell__content {
  max-width: 900px;
  margin: 0 auto;
  padding-left: 60px;
  padding-right: 60px;
}

body.ab-core-project-shell .page-shell__header {
  padding-top: 120px;
  padding-bottom: 24px;
}

body.ab-core-project-shell .page-shell__title {
  font-size: 42px;
  font-weight: 900;
  text-transform: uppercase;
}

body.ab-core-project-shell .page-shell__content {
  padding-bottom: 100px;
  color: var(--gray-light);
  line-height: 1.7;
}

body.ab-core-project-shell .post__content.entry-content {
  color: var(--gray-light);
}

body.ab-core-project-shell .post__content.entry-content a {
  color: var(--white);
}

body.ab-core-project-shell .comment-respond {
  margin-top: 0;
}

body.ab-core-project-shell .comment-respond .comment-reply-title {
  display: none;
}

body.ab-core-project-shell .blogs-section--archive {
  padding-top: 120px;
}

