/* Acceptance corrections are added after the current native Elementor styles. */

:root {
  --ak-acceptance-ink: #2c3e50;
  --ak-acceptance-pine: #33473f;
  --ak-acceptance-moss: #71806f;
  --ak-acceptance-cream: #f6f3ed;
}

/* Non-Elementor templates (posts, legal pages and 404) use the same
   type family as the approved homepage. */
body,
button,
input,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", Arial, sans-serif !important;
}

/* The homepage is the approved typography and colour reference. */
body.elementor-page .elementor-location-single,
body.elementor-page .elementor-location-single .elementor-element,
body.elementor-page .elementor-location-single .elementor-widget-container,
body.elementor-page .elementor-location-single .elementor-button {
  font-family: "Open Sans", Arial, sans-serif;
}

body.elementor-page .elementor-location-single .elementor-heading-title {
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 300;
  color: var(--ak-acceptance-ink);
}

body.elementor-page .elementor-widget-heading .elementor-heading-title,
body.elementor-page .elementor-widget-text-editor,
body.elementor-page .elementor-widget-text-editor p,
body.elementor-page .elementor-button {
  font-family: "Open Sans", Arial, sans-serif !important;
}

/* Insights article template: match the approved hero hierarchy. */
body.single-post #page_caption.hasbg , body.single-case #page_caption.hasbg {
  position: relative;
  height: calc(100vh - 92px) !important;
  min-height: calc(100svh - 92px) !important;
  isolation: isolate;
}

@supports (min-height: 100dvh) {
  body.single-post #page_caption.hasbg , body.single-case #page_caption.hasbg {
    height: calc(100dvh - 92px) !important;
    min-height: calc(100dvh - 92px) !important;
  }
}

body.single-post #page_caption.hasbg::before , body.single-case #page_caption.hasbg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(24, 28, 27, .2);
  pointer-events: none;
}

body.single-post #page_caption.hasbg .page_title_wrapper , body.single-case #page_caption.hasbg .page_title_wrapper {
  z-index: 2;
}

body.single-post #page_caption.hasbg .page_title_inner , body.single-case #page_caption.hasbg .page_title_inner {
  display: flex;
  height: 100% !important;
  align-items: center;
}

body.single-post #page_caption.hasbg .page_title_content , body.single-case #page_caption.hasbg .page_title_content {
  width: 100%;
  padding: 0;
  text-align: left !important;
}

body.single-post #page_caption.hasbg h1 , body.single-case #page_caption.hasbg h1 {
  max-width: 1100px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(32px, 3.4vw, 52px);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: .035em;
  text-align: left !important;
  text-shadow: 0 2px 18px rgba(12, 16, 15, .35);
}

/* Insights are publications, not discussion pages. */
body.single-post .fullwidth_comment_wrapper, body.single-case .fullwidth_comment_wrapper,
body.single-post #respond, body.single-case #respond {
  display: none !important;
}

body.single-post #page_content_wrapper , body.single-case #page_content_wrapper {
  margin-top: 0 !important;
  top: 0 !important;
}

/* The legacy-modernised article footer has its own contact layout. */
body.single-post .ak-footer-contact , body.single-case .ak-footer-contact {
  gap: 0 !important;
}

body.single-post .ak-footer-contact .ak-social , body.single-case .ak-footer-contact .ak-social {
  margin-top: 16px;
}

.ak-native-feature .ak-native-section-title .elementor-heading-title,
.ak-native-narrow .ak-native-section-title .elementor-heading-title,
.ak-native-card .ak-native-card-title .elementor-heading-title,
.ak-native-posts .elementor-post__title a,
.ak-native-sidebar-title .elementor-heading-title {
  color: var(--ak-acceptance-ink) !important;
}

.ak-native-body p,
.ak-native-checklist li,
.ak-native-card-text p,
.ak-native-posts .elementor-post__excerpt p {
  color: var(--ak-acceptance-ink) !important;
}

/* Otter's Slider block (Gutenberg) uses the same left-pointing SVG path
   for both nav arrows and expects its own generated CSS to mirror the
   right one. That stylesheet never gets enqueued on this install (see
   the plugin PHP for the base glide.js CSS fix), so mirror it here. */
.glide__arrow--right svg {
  transform: scaleX(-1);
}

/* The canonical CTA strip (added to article/case single templates via JS)
   needs the same breathing room above it that the hero has below it. */
body.single-post .elementor-canonical-cta,
body.single-case .elementor-canonical-cta {
  margin-top: 70px;
}

/* Every inner hero uses the approved homepage proportions and hierarchy. */
.ak-native-subhero {
  position: relative;
  min-height: calc(100vh - 92px);
  min-height: calc(100svh - 92px);
  overflow: hidden;
  isolation: isolate;
  background-color: #26342f;
  color: #fff;
}

@supports (min-height: 100dvh) {
  .ak-native-subhero { min-height: calc(100dvh - 92px); }
}

.ak-native-subhero > .elementor-background-overlay {
  z-index: 1;
  background: rgba(24, 28, 27, .2) !important;
  opacity: 1 !important;
}

.ak-native-subhero > .elementor-container {
  position: relative;
  z-index: 2;
  min-height: inherit !important;
  max-width: none !important;
  align-items: stretch !important;
}

.ak-native-subhero-column {
  min-height: inherit;
  padding: 0 !important;
}

.ak-native-subhero-column > .elementor-widget-wrap {
  min-height: inherit;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: flex-end;
  padding: 70px 8vw 80px !important;
}

.ak-native-subhero-column > .elementor-widget-wrap > .elementor-element:not(.ak-native-subhero-video) {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  width: 100%;
  max-width: 1120px;
}

.ak-native-subhero .ak-native-hero-title {
  margin: 0 0 24px;
}

.ak-native-subhero .ak-native-hero-title .elementor-heading-title {
  max-width: 1100px;
  color: #fff !important;
  font-size: clamp(32px, 3.4vw, 52px);
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: .045em;
  text-shadow: 0 2px 18px rgba(12, 16, 15, .35);
}

.ak-native-subhero .ak-native-hero-lead {
  max-width: 920px;
  margin: 0 0 30px;
}

.ak-native-subhero .ak-native-hero-lead p {
  margin: 0;
  color: #fff !important;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: .035em;
  text-shadow: 0 1px 10px rgba(12, 16, 15, .3);
}

.ak-native-subhero .ak-native-hero-button {
  align-self: flex-start;
  width: auto !important;
  margin: 0;
}

.ak-native-subhero .ak-native-hero-button .elementor-button {
  min-height: 54px;
  padding: 19px 27px;
  border: 1px solid #fff;
  border-radius: 0;
  background: #fff;
  color: var(--ak-acceptance-pine);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.ak-native-subhero .ak-native-hero-button .elementor-button:hover,
.ak-native-subhero .ak-native-hero-button .elementor-button:focus-visible {
  background: transparent;
  color: #fff;
}

.ak-native-subhero-video {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.ak-native-subhero-video .elementor-widget-container,
.ak-native-subhero-video .e-hosted-video,
.ak-native-subhero-video .elementor-wrapper,
.ak-native-subhero-video video {
  width: 100% !important;
  height: 100% !important;
}

.ak-native-subhero-video video {
  display: block;
  object-fit: cover;
  object-position: 50% 100%;
}

/* Restore the original Venue collage: one large image and two smaller images. */
.page-id-4019 .ak-native-feature-media > .elementor-widget-wrap,
.page-id-3999 .ak-native-feature-media > .elementor-widget-wrap,
.page-id-4039 .ak-native-feature-media > .elementor-widget-wrap,
.page-id-4059 .ak-native-feature-media > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0;
  height: 100%;
  min-height: clamp(340px, 38vw, 520px);
  padding: 0 !important;
}

.page-id-4019 .ak-native-feature-media .elementor-widget-image,
.page-id-3999 .ak-native-feature-media .elementor-widget-image,
.page-id-4039 .ak-native-feature-media .elementor-widget-image,
.page-id-4059 .ak-native-feature-media .elementor-widget-image {
  width: 100% !important;
  height: 100%;
  margin: 0;
}

.page-id-4019 .ak-native-feature-media .elementor-widget-image:first-child,
.page-id-3999 .ak-native-feature-media .elementor-widget-image:first-child,
.page-id-4039 .ak-native-feature-media .elementor-widget-image:first-child,
.page-id-4059 .ak-native-feature-media .elementor-widget-image:first-child {
  grid-row: 1 / -1;
}

.page-id-4019 .ak-native-feature-media .elementor-widget-container,
.page-id-3999 .ak-native-feature-media .elementor-widget-container,
.page-id-4039 .ak-native-feature-media .elementor-widget-container,
.page-id-4059 .ak-native-feature-media .elementor-widget-container,
.page-id-4019 .ak-native-feature-media img,
.page-id-3999 .ak-native-feature-media img,
.page-id-4039 .ak-native-feature-media img,
.page-id-4059 .ak-native-feature-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.page-id-4019 .ak-native-feature-media img,
.page-id-3999 .ak-native-feature-media img,
.page-id-4039 .ak-native-feature-media img,
.page-id-4059 .ak-native-feature-media img {
  display: block;
  object-fit: cover;
}

/* One compact CTA strip standard for every page. */
.ak-native-cta > .elementor-container {
  min-height: 140px !important;
  padding: 28px clamp(42px, 7vw, 110px) !important;
  align-items: center !important;
}

.ak-native-cta .elementor-column,
.ak-native-cta .elementor-column > .elementor-widget-wrap {
  min-height: 54px;
  align-items: center;
}

.ak-native-cta-copy,
.ak-native-cta-action {
  padding: 0 !important;
}

.ak-native-cta-copy > .elementor-widget-wrap,
.ak-native-cta-action > .elementor-widget-wrap {
  padding: 0 !important;
}

.ak-native-cta-action,
.ak-native-cta-action > .elementor-widget-wrap {
  justify-content: flex-end;
}

.ak-native-cta-action .elementor-widget-button {
  text-align: right;
}

.ak-native-cta .ak-native-cta-title,
.ak-native-cta .ak-native-cta-title .elementor-heading-title {
  margin: 0;
}

.ak-native-cta .ak-native-cta-title {
  display: flex;
  min-height: 54px;
  align-items: center;
}

.ak-native-cta .ak-native-cta-title > .elementor-widget-container {
  width: 100%;
}

.ak-native-cta .ak-native-cta-title .elementor-heading-title {
  color: #fff !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: .08em;
}

.ak-native-cta .ak-native-cta-button .elementor-button,
.ak-native-cta .ak-native-button-light .elementor-button {
  min-height: 54px;
  padding: 19px 27px;
  border: 1px solid #fff;
  border-radius: 0;
  background: #fff;
  color: var(--ak-acceptance-pine);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  white-space: nowrap;
}

/* FAQ heading and questions stay in one visual block. */
.ak-native-faq-section .ak-native-section-title {
  margin: 0 0 26px;
}

.ak-native-faq-section .ak-native-section-title .elementor-heading-title {
  color: var(--ak-acceptance-ink) !important;
  font-size: clamp(24px, 2.3vw, 34px);
  font-weight: 300;
  letter-spacing: .08em;
}

/* The shared footer remains editable in Theme Builder, only its rhythm changes. */
.ak-native-footer-top > .elementor-container {
  padding-top: clamp(28px, 3vw, 40px) !important;
  padding-bottom: clamp(20px, 2vw, 28px) !important;
}

.ak-native-footer-logo {
  margin-bottom: 8px !important;
}

.ak-native-footer-copy p {
  margin-bottom: 0 !important;
  line-height: 1.5 !important;
}

.ak-native-footer-contact p {
  margin: 0 0 6px !important;
  line-height: 1.45 !important;
}

.ak-native-footer-contact p + p {
  margin-top: 2px !important;
}

.ak-native-footer-socials {
  margin-top: 12px;
}

.ak-native-footer-bottom > .elementor-container {
  min-height: 60px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  align-items: center !important;
}

.ak-native-footer-bottom-column,
.ak-native-footer-bottom-column > .elementor-widget-wrap {
  min-height: 40px !important;
  align-items: center !important;
}

.ak-native-footer-copyright,
.ak-native-footer-privacy {
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ak-native-footer-copyright p,
.ak-native-footer-privacy p {
  margin: 0 !important;
  line-height: 1.35 !important;
}

@media (max-width: 1024px) {
  body.single-post #page_caption.hasbg , body.single-case #page_caption.hasbg {
    height: calc(100vh - 74px) !important;
    min-height: calc(100svh - 74px) !important;
  }

  @supports (min-height: 100dvh) {
    body.single-post #page_caption.hasbg , body.single-case #page_caption.hasbg {
      height: calc(100dvh - 74px) !important;
      min-height: calc(100dvh - 74px) !important;
    }
  }

  .ak-native-subhero {
    min-height: calc(100vh - 74px);
    min-height: calc(100svh - 74px);
  }

  @supports (min-height: 100dvh) {
    .ak-native-subhero { min-height: calc(100dvh - 74px); }
  }

  .ak-native-subhero-column > .elementor-widget-wrap {
    padding: 55px 5vw 65px !important;
  }
}

@media (max-width: 767px) {
  body.single-post #page_caption.hasbg .page_title_content , body.single-case #page_caption.hasbg .page_title_content {
    padding: 0 24px;
  }

  body.single-post #page_caption.hasbg h1 , body.single-case #page_caption.hasbg h1 {
    font-size: clamp(29px, 8.5vw, 38px);
  }

  .ak-native-subhero-column > .elementor-widget-wrap {
    padding: 44px 24px 52px !important;
  }

  .ak-native-subhero .ak-native-hero-title .elementor-heading-title {
    font-size: clamp(29px, 8.5vw, 38px);
    line-height: 1.08;
  }

  .ak-native-subhero .ak-native-hero-lead p {
    font-size: 14px;
    line-height: 1.6;
  }

  .page-id-4019 .ak-native-feature-media > .elementor-widget-wrap,
  .page-id-3999 .ak-native-feature-media > .elementor-widget-wrap,
  .page-id-4039 .ak-native-feature-media > .elementor-widget-wrap,
  .page-id-4059 .ak-native-feature-media > .elementor-widget-wrap {
    min-height: 320px;
  }

  .ak-native-cta > .elementor-container {
    min-height: 0 !important;
    padding: 30px 24px !important;
    gap: 20px;
    align-items: flex-start !important;
  }

  .ak-native-cta .elementor-column {
    width: 100% !important;
    min-height: 0;
  }

  .ak-native-cta .ak-native-cta-title {
    min-height: 0;
  }

  .ak-native-cta-action,
  .ak-native-cta-action > .elementor-widget-wrap {
    justify-content: flex-start;
  }

  .ak-native-cta-action .elementor-widget-button {
    text-align: left;
  }

  .ak-native-footer-top > .elementor-container {
    gap: 26px !important;
    padding: 34px 24px 26px !important;
  }

  .ak-native-footer-bottom-column > .elementor-widget-wrap {
    flex-flow: row nowrap !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .ak-native-footer-copyright,
  .ak-native-footer-privacy {
    width: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ak-native-subhero-video { display: none; }
}

/* Cases and Insights cards: image, title, excerpt, then date. */
.ak-native-posts .elementor-post__text {
  display: flex !important;
  flex-direction: column;
}

.ak-native-posts .elementor-post__title { order: 1; }
.ak-native-posts .elementor-post__excerpt { order: 2; margin: 0 !important; padding: 0 !important; }
.ak-native-posts .elementor-post__meta-data { order: 3; margin: 0 !important; padding: 0 !important; }
.ak-native-posts .elementor-post__read-more { order: 4; }

.ak-native-posts .elementor-post__excerpt p {
  margin: 0 !important;
  padding: 20px 0 0 !important;
  color: #2c3e50 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  text-transform: none !important;
}

