/*
 Theme Name: Sako Child Theme
 Theme URI: https://rekry.sako.fi/
 Description: Sako recruitment site child theme for Cultmetrics.
 Author: Choice HR
 Template: cultmetrics-theme
 Version: 0.1.0
 Text Domain: sako-child
*/

.float-box {
  transform: translateY(40px);
  transition: transform 0.7s cubic-bezier(.22,1,.36,1), box-shadow 0.7s cubic-bezier(.22,1,.36,1);
}

.float-box.in-view {
  transform: translateY(0);
}

.wp-block-cover .float-box,
.wp-block-group .float-box {
  position: absolute;
  left: 4vw;
  bottom: -22vw;
  margin: 0;
  transform: none;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10), 0 1.5px 6px rgba(0,0,0,0.06);
}

/* Match the Uratarinat archive width so both card grids line up on the same edges.
   The Uratarinat archive main carries .has-global-padding (root side padding) and a
   wide-size inner container; this custom job template main lacks it, so add the same
   global side padding and wide-size inner container. The parent theme constrains
   is-layout-constrained children to content-size via a zero-specificity :where()
   rule, so the class selectors below override it back up to wide-size. */
.sako-job-archive {
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
}

.sako-job-archive > .wp-block-group.is-layout-constrained {
  max-width: var(--wp--style--global--wide-size);
}

.sako-job-archive__header,
.sako-job-tag-cloud,
.sako-job-list {
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto;
  margin-right: auto;
}

.sako-job-list {
  display: grid;
  /* 2rem matches the Uratarinat post-template gap so both card grids align identically. */
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: var(--wp--preset--spacing--60, 2rem);
}

.sako-job-card {
  background: #ffffff;
  border-radius: 0;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.08), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
  width: 100%;
}

.sako-job-card:hover {
  box-shadow: 0px 4px 16px -20px rgba(0, 0, 0, 0.08), 0px 35px 32px -20px rgba(0, 0, 0, 0.12);
  transform: translateY(-10px);
}

.sako-job-card__media {
  display: block;
  margin: 0;
  overflow: hidden;
}

.sako-job-card__image {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.sako-job-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.sako-job-card__title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
  text-transform: uppercase;
}

.sako-job-card__title a {
  color: inherit;
  text-decoration: none;
}

.sako-job-card__meta {
  color: #111111;
  font-size: inherit;
  margin: 20px 0 0;
}

.sako-job-card__excerpt {
  margin: 20px 0 0;
}

.sako-job-single__apply-link {
  color: #111111;
  display: inline-flex;
  font-weight: 500;
  margin-top: 20px;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.sako-job-archive {
  padding-block: clamp(2.5rem, 7vw, 6rem);
}

.sako-job-single {
  padding-block: 0 clamp(2.5rem, 7vw, 6rem);
}

.sako-job-single__article {
  background: transparent;
}

.sako-job-archive__header {
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.sako-job-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -2rem 0 2.5rem;
}

.sako-job-tag-cloud__item {
  border: 1px solid #111111;
  color: #111111;
  display: inline-flex;
  font-size: 0.875rem;
  padding: 0.65rem 1rem;
  text-decoration: none;
  transition: background-color 140ms ease, color 140ms ease;
}

.sako-job-tag-cloud__item:hover,
.sako-job-tag-cloud__item.is-active {
  background: #111111;
  color: #ffffff;
}

.sako-job-single__header {
  background-color: #111111;
  background-position: center;
  background-size: cover;
  color: #ffffff;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
  min-height: clamp(360px, 46vh, 560px);
  position: relative;
}

.sako-job-single__header-overlay {
  background: rgba(0, 0, 0, 0.46);
  inset: 0;
  position: absolute;
  z-index: 0;
}

.sako-job-single__header-inner {
  align-items: flex-start;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--content-size);
  min-height: inherit;
  padding-block: clamp(4rem, 9vw, 7rem);
  position: relative;
  text-align: left;
  z-index: 1;
}

.sako-job-single__header-inner > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left;
}

.sako-job-single__eyebrow {
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.sako-job-single__title {
  color: inherit;
  margin: 0;
  max-width: 900px;
}

.sako-job-single__details {
  color: inherit;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  justify-content: flex-start;
  margin-top: 1.25rem;
}

.sako-job-single__details span:not(:last-child)::after {
  content: "|";
  margin-left: 1rem;
}

.sako-job-single__actions {
  justify-content: flex-start;
  margin-top: 2rem;
}

.sako-job-single__body {
  margin-left: auto;
  margin-right: auto;
}

.sako-job-single__content {
  background: transparent;
  padding: 0;
}

/* Job single: keep a side gutter on the full-width hero and content so text
   never touches the viewport edges (the constrained content otherwise runs the
   full width below the desktop breakpoint). */
.sako-job-single__header,
.sako-job-single__body {
  padding-inline: clamp(20px, 4vw, 48px);
}

/* Job single: block-editor content inherits the page-level block gap
   (--wp--preset--spacing--60, ~88px between blocks) which is far too large for a
   job description. Tighten it so manually built (block) job posts read like the
   synced (raw-HTML) ones, with a little more air before section headings. */
.sako-job-single__content.wp-block-post-content.is-layout-constrained > :not(.alignfull),
.sako-job-single__content.wp-block-post-content.is-layout-flow > :not(.alignfull) {
  margin-block-start: 1.5rem;
}

.sako-job-single__content.wp-block-post-content.is-layout-constrained > :is(h2, h3, h4):not(.alignfull),
.sako-job-single__content.wp-block-post-content.is-layout-flow > :is(h2, h3, h4):not(.alignfull) {
  margin-block-start: 2.75rem;
}

.sako-job-single__featured-image {
  margin: 0 0 clamp(2rem, 5vw, 4rem);
}

.sako-job-single__featured-image img {
  display: block;
  height: auto;
  width: 100%;
}

.sako-job-single__content iframe {
  aspect-ratio: 16 / 9;
  height: auto;
  max-width: 100%;
}

.sako-job-single__footer {
  margin-top: 2rem;
}

.sako-job-single__footer-actions {
  justify-content: flex-start;
  margin-top: 2rem;
}

@media (max-width: 767px) {
  .sako-job-single__header {
    min-height: clamp(360px, 70vh, 560px);
  }

  .sako-job-single__header-inner {
    padding-block: clamp(3rem, 14vw, 5rem);
  }
}

@media (max-width: 479px) {
  .sako-job-list {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 480px) and (max-width: 1023px) {
  .sako-job-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .wp-block-cover .float-box,
  .wp-block-group .float-box {
    left: 2vw;
    bottom: -18vw;
    width: 90vw;
    max-width: 98vw;
    padding: 2rem 1rem;
  }
}

/* Ensure parent is positioned for absolute child */
.wp-block-cover,
.wp-block-group {
  position: relative;
  overflow: visible !important;
}

/* Header defaults */
.site-header {
  margin-top: 0;
}

/* Keep normal content flow spacing for any non-full-width block */
.entry-content.is-layout-constrained > :not(.alignfull),
.entry-content.is-layout-flow > :not(.alignfull),
.wp-block-post-content.is-layout-constrained > :not(.alignfull),
.wp-block-post-content.is-layout-flow > :not(.alignfull),
.editor-styles-wrapper .is-root-container.is-layout-constrained > :not(.alignfull),
.editor-styles-wrapper .is-root-container.is-layout-flow > :not(.alignfull) {
  margin-block-start: var(--wp--preset--spacing--60);
}

.entry-content.is-layout-constrained > :not(.alignfull):first-child,
.entry-content.is-layout-flow > :not(.alignfull):first-child,
.wp-block-post-content.is-layout-constrained > :not(.alignfull):first-child,
.wp-block-post-content.is-layout-flow > :not(.alignfull):first-child,
.editor-styles-wrapper .is-root-container.is-layout-constrained > :not(.alignfull):first-child,
.editor-styles-wrapper .is-root-container.is-layout-flow > :not(.alignfull):first-child {
  margin-block-start: 0;
}

/* Keep space before footer when last content block is not full-width */
.entry-content.is-layout-constrained > :not(.alignfull):last-child,
.entry-content.is-layout-flow > :not(.alignfull):last-child,
.wp-block-post-content.is-layout-constrained > :not(.alignfull):last-child,
.wp-block-post-content.is-layout-flow > :not(.alignfull):last-child,
.editor-styles-wrapper .is-root-container.is-layout-constrained > :not(.alignfull):last-child,
.editor-styles-wrapper .is-root-container.is-layout-flow > :not(.alignfull):last-child {
  margin-block-end: var(--wp--preset--spacing--60);
}

/* Match frontend page background inside the block editor canvas */
.editor-styles-wrapper,
.editor-styles-wrapper .is-root-container,
.block-editor-writing-flow,
.block-editor-block-list__layout.is-root-container {
  background: #f4f4f4;
}

.site-header .header-container {
  align-items: center;
  background: #f4f4f4;
  display: flex;
  min-height: 120px;
  padding-left: 56px !important;
  padding-right: 56px !important;
  padding-top: 0;
  padding-bottom: 0;
}

.site-header .header-container-grid {
  align-items: center;
  column-gap: 2.5rem;
  justify-content: space-between;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none;
  width: 100%;
}

.site-header .header-container.has-global-padding > .header-container-grid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.site-header .header-navigation-wrap {
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}

.site-header .wp-block-site-logo,
.site-header .header-logo-image {
  flex: 0 0 auto;
  margin: 0;
}

.site-header .header-logo-image > a {
  align-items: center;
  display: flex;
}

.site-header .wp-block-site-logo img,
.site-header .header-logo-image img {
  display: block;
  height: 46px;
  max-width: 129px;
  width: 129px;
}

.site-header .wp-block-navigation {
  min-width: 0;
  width: 100%;
}

.site-header .wp-block-navigation__container {
  align-items: center;
  column-gap: 2rem;
  justify-content: center;
  row-gap: 0.75rem;
}

@media (min-width: 1024px) {
  .site-header .wp-block-navigation__container {
    justify-content: flex-start;
  }

  .site-header .wp-block-navigation__container > .lang-item {
    margin-left: auto;
  }

  .site-header .wp-block-navigation__container > .header-cta-nav-item {
    margin-left: 0.75rem;
  }
}

@media (min-width: 1620px) {
  .site-header .header-container-grid {
    --sako-header-side-column: clamp(19rem, 18vw, 23rem);
    column-gap: 0;
    display: grid !important;
    grid-template-columns: var(--sako-header-side-column) minmax(0, 1fr) var(--sako-header-side-column);
  }

  .site-header .header-logo-image {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    z-index: 2;
  }

  .site-header .header-navigation-wrap {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-content: stretch;
    width: 100%;
  }

  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content {
    align-items: center;
    display: grid;
    grid-template-columns: var(--sako-header-side-column) minmax(0, 1fr) var(--sako-header-side-column);
    min-height: 52px;
    position: relative;
    width: 100%;
  }

  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
    grid-column: 2;
    justify-content: center;
    min-width: 0;
    position: static !important;
  }

  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .lang-item {
    margin-left: 0 !important;
    position: absolute !important;
    right: 14rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
  }

  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-buttons {
    grid-column: 3;
    justify-self: end;
    margin: 0;
  }

  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-button {
    margin: 0;
  }
}

.site-header .wp-block-navigation .wp-block-navigation-item {
  padding: 0;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content,
.site-header .wp-block-navigation .pll-switcher-item a {
  color: #111111;
  display: inline-flex;
  font-family: var(--wp--preset--font-family--din-next-lt-pro);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 0;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header .wp-block-navigation .wp-block-navigation-item__label {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  position: relative;
}

.site-header .wp-block-navigation .wp-block-navigation-item__label::after {
  background: currentColor;
  bottom: -1.1rem;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: none;
  transition: width 180ms ease;
  width: 0;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content::before,
.site-header .wp-block-navigation .wp-block-navigation-item__content::after,
.site-header .wp-block-navigation .pll-switcher-item a::before,
.site-header .wp-block-navigation .pll-switcher-item a::after {
  content: none !important;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content:hover .wp-block-navigation-item__label::after,
.site-header .wp-block-navigation .wp-block-navigation-item__content:focus .wp-block-navigation-item__label::after,
.site-header .wp-block-navigation .pll-switcher-item a:hover .wp-block-navigation-item__label::after,
.site-header .wp-block-navigation .pll-switcher-item a:focus .wp-block-navigation-item__label::after {
  width: 75%;
}

.site-header .wp-block-navigation .wp-block-navigation-item:not(.header-cta-nav-item) .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation .wp-block-navigation-item:not(.header-cta-nav-item) .wp-block-navigation-item__content:focus,
.site-header .wp-block-navigation .wp-block-navigation-item:not(.header-cta-nav-item) .wp-block-navigation-item__content[aria-current="page"],
.site-header .wp-block-navigation .pll-switcher-item a:hover,
.site-header .wp-block-navigation .pll-switcher-item a:focus {
  -webkit-text-stroke: 0 !important;
  color: #111111 !important;
  outline: none;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] .wp-block-navigation-item__label::after {
  width: 75%;
}

/* Mobile overlay menu: items are stacked vertically, so the desktop underline
   offset (-1.1rem) would land on the next item. Tuck it close under the label. */
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label::after {
  bottom: -0.35rem;
}

/* Mobile overlay menu: more breathing room between the stacked links. */
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  row-gap: 1.75rem;
}

.site-header .wp-block-navigation .wp-block-navigation-item__label img {
  display: block;
  height: 0.6875rem !important;
  width: 1rem !important;
}

.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close {
  color: #111111;
}

@media (max-width: 1440px) {
  .site-header .header-navigation-wrap {
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: auto;
  }

  .site-header .wp-block-navigation {
    width: auto;
  }

  .site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    align-items: center;
    display: inline-flex !important;
    justify-content: center;
  }

  .site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
  }
}

@media (min-width: 1441px) {
  .site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }

  .site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
  }
}

.site-header .header-cta {
  flex: 0 0 auto;
}

.site-header .header-cta .wp-block-button {
  margin: 0;
}

.site-header .wp-block-navigation .header-cta-nav-item {
  --sako-button-tone: var(--sako-button-context-tone, #111111);
  --sako-button-contrast: var(--sako-button-context-contrast, #ffffff);
}

.site-header .wp-block-navigation .header-cta-nav-item .wp-block-navigation-item__content {
  align-items: center;
  background: var(--sako-button-tone);
  border: 2px solid var(--sako-button-tone);
  color: var(--sako-button-contrast);
  display: inline-flex;
  font-family: var(--wp--preset--font-family--din-next-lt-pro);
  font-size: 0.875rem;
  font-weight: 500;
  justify-content: center;
  line-height: 1;
  min-width: 8.25rem;
  padding: 1.05rem 1.8rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
}

.site-header .wp-block-navigation .header-cta-nav-item .wp-block-navigation-item__label::after {
  content: none;
}

.site-header .wp-block-navigation .header-cta-nav-item .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation .header-cta-nav-item .wp-block-navigation-item__content:focus {
  background: transparent;
  border-color: var(--sako-button-tone);
  color: var(--sako-button-tone);
}

.site-header .wp-block-navigation .header-cta-nav-item .wp-block-navigation-item__content[aria-current="page"] {
  background: var(--sako-button-tone);
  border-color: var(--sako-button-tone);
  color: var(--sako-button-contrast);
}

.site-header .header-cta .wp-block-button__link {
  background: var(--sako-button-tone);
  border-color: var(--sako-button-tone);
  color: var(--sako-button-contrast);
}

.site-header .header-cta .wp-block-button__link:hover,
.site-header .header-cta .wp-block-button__link:focus,
.site-header .header-cta .wp-block-button__link:active {
  background: transparent;
  border-color: var(--sako-button-tone);
  color: var(--sako-button-tone);
}

/* Three button styles system: outline, solid, text-with-arrow */
.has-white-color {
  --sako-button-context-tone: #ffffff;
  --sako-button-context-contrast: #111111;
}

.has-black-color {
  --sako-button-context-tone: #111111;
  --sako-button-context-contrast: #ffffff;
}

.wp-block-button {
  --sako-button-tone: var(--sako-button-context-tone, #111111);
  --sako-button-contrast: var(--sako-button-context-contrast, #ffffff);
}

.has-white-color .wp-block-button,
.wp-block-button.has-white-color,
.wp-block-button .wp-block-button__link.has-white-color {
  --sako-button-tone: #ffffff;
  --sako-button-contrast: #111111;
}

.has-black-color .wp-block-button,
.wp-block-button.has-black-color,
.wp-block-button .wp-block-button__link.has-black-color {
  --sako-button-tone: #111111;
  --sako-button-contrast: #ffffff;
}

.wp-block-button:not(.is-style-text-with-arrow) .wp-block-button__link {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 0;
  display: inline-flex;
  font-family: var(--wp--preset--font-family--din-next-lt-pro);
  font-size: 0.875rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  min-height: 0;
  min-width: 8.25rem;
  padding: 1.05rem 1.8rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
  white-space: nowrap;
}

/* Outline style (default named style in editor) */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border-color: var(--sako-button-tone);
  color: var(--sako-button-tone);
}

.wp-block-button.is-style-outline--2 .wp-block-button__link {
  background: transparent;
  border-color: var(--sako-button-tone);
  color: var(--sako-button-tone);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
  background: var(--sako-button-tone);
  border-color: var(--sako-button-tone);
  color: var(--sako-button-contrast);
}

.wp-block-button.is-style-outline--2 .wp-block-button__link:hover,
.wp-block-button.is-style-outline--2 .wp-block-button__link:focus {
  background: var(--sako-button-tone);
  border-color: var(--sako-button-tone);
  color: var(--sako-button-contrast);
}

/* Solid style (core fill/default + legacy alias) */
.wp-block-button:not(.is-style-outline):not(.is-style-outline--2):not(.is-style-text-with-arrow) .wp-block-button__link {
  background: var(--sako-button-tone);
  border-color: var(--sako-button-tone);
  color: var(--sako-button-contrast);
}

/* visited before hover/focus so hover wins in cascade */
.wp-block-button.is-style-outline .wp-block-button__link:visited,
.wp-block-button.is-style-outline--2 .wp-block-button__link:visited {
  color: var(--sako-button-tone);
}

.wp-block-button:not(.is-style-outline):not(.is-style-outline--2):not(.is-style-text-with-arrow) .wp-block-button__link:visited {
  color: var(--sako-button-contrast);
}

.wp-block-button:not(.is-style-outline):not(.is-style-outline--2):not(.is-style-text-with-arrow) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline):not(.is-style-outline--2):not(.is-style-text-with-arrow) .wp-block-button__link:focus {
  background: transparent;
  border-color: var(--sako-button-tone);
  color: var(--sako-button-tone);
}

/* Sako global style: text link with arrow for core/button style variation */
.wp-block-button.is-style-text-with-arrow {
  color: inherit;
}

.wp-block-button.is-style-text-with-arrow .wp-block-button__link {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
  display: inline-flex;
  font-family: var(--wp--preset--font-family--din-next-lt-pro);
  font-size: 13px;
  font-weight: 500;
  gap: 18px;
  letter-spacing: 0;
  line-height: 1.54;
  margin: 0;
  min-height: 0;
  min-width: 0;
  padding: 0;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (min-width: 950px) {
  .wp-block-button.is-style-text-with-arrow .wp-block-button__link {
    font-size: 20px;
    line-height: 1.4;
  }
}

.wp-block-button.is-style-text-with-arrow .wp-block-button__link::after {
  background-color: currentColor;
  content: "";
  display: inline-block;
  height: 24px;
  margin-top: -4px;
  transition: transform 100ms ease-in-out;
  width: 24px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.wp-block-button.is-style-text-with-arrow .wp-block-button__link:hover::after,
.wp-block-button.is-style-text-with-arrow .wp-block-button__link:focus::after,
.wp-block-button.is-style-text-with-arrow:hover .wp-block-button__link::after,
.wp-block-button.is-style-text-with-arrow:focus-within .wp-block-button__link::after {
  transform: translateX(9px);
}

.wp-block-button.is-style-text-with-arrow .wp-block-button__link:visited {
  color: inherit;
}

@media (max-width: 1023px) {
  .site-header .header-container {
    padding-left: 2.4rem !important;
    padding-right: 2.4rem !important;
    padding-top: 0;
    padding-bottom: 0;
  }

  .site-header .header-container-grid {
    column-gap: 1rem;
  }

  .site-header .wp-block-navigation__container > .lang-item {
    margin-left: 0;
  }

  .site-header .wp-block-navigation .header-cta-nav-item .wp-block-navigation-item__content {
    min-width: 0;
    padding: 0.85rem 1rem 0.7rem;
  }

  .site-header .header-cta .wp-block-button__link {
    min-width: 0;
    padding: 0.85rem 1rem 0.7rem;
  }
}

/* ── Footer ── */
.site-footer-sako {
  text-align: left;
}

.site-footer-sako .footer-logo {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.site-footer-sako .footer-logo > a {
  align-items: center;
  display: flex;
}

.site-footer-sako .footer-logo img {
  height: 56px;
  width: auto;
}

.site-footer-sako .footer-social-links .wp-social-link {
  background: transparent !important;
  padding: 0;
}

.site-footer-sako .footer-social-links .wp-social-link svg {
  height: 2rem;
  width: 2rem;
}

.site-footer-sako .footer-social-links .wp-social-link:hover {
  opacity: 0.7;
}

/* Footer wide-width content container */
.site-footer-sako .wp-block-columns,
.site-footer-sako .footer-copyright {
  max-width: var(--wp--style--global--wide-size) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Custom block styles + interactions (vanilla JS) */
.acf-block-accordions {
  margin: 9.6rem auto;
  max-width: var(--wp--style--global--wide-size);
  padding: 0 2.4rem;
}
.acf-block-accordions > h2 {
  margin: 0 0 4.8rem;
}
.acf-block-accordion {
  border-top: 1px solid #111111;
}
.acf-block-accordion > h3 {
  margin: 0;
  padding: 0;
}
.acf-block-accordion-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: 0;
  border: 0;
  color: #111111;
  font-weight: 500;
  text-transform: uppercase;
  padding: 2.4rem 0;
}
.acf-block-accordion-control svg.arrow-down,
.acf-block-accordion-control svg.arrow-up {
  height: 2rem;
  width: 2rem;
}
@media (min-width: 1280px) {
  .acf-block-accordion-control svg.arrow-down,
  .acf-block-accordion-control svg.arrow-up {
    height: 2.4rem;
    width: 2.4rem;
  }
}
.acf-block-accordion-control svg.arrow-down {
  display: block;
}
.acf-block-accordion-control svg.arrow-up {
  display: none;
}
.acf-block-accordion-control--is-active svg.arrow-down {
  display: none;
}
.acf-block-accordion-control--is-active svg.arrow-up {
  display: block;
}
.acf-block-accordion-content {
  display: none;
  padding: 0 0 2.4rem;
}
.acf-block-accordion-content--is-active {
  display: block;
}
@media (min-width: 768px) {
  .acf-block-accordion-content--is-active {
    display: grid;
    gap: 4.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.accordion-content-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media (max-width: 1023px) {
  .accordion-content-image img {
    height: auto;
    aspect-ratio: 1/1;
  }
}
.accordion-content-wysiwyg-editor {
  margin: 2.4rem 0 0;
}
@media (min-width: 768px) {
  .accordion-content-wysiwyg-editor {
    margin-top: 0;
  }
}
.accordion-content-wysiwyg-editor > :first-child {
  margin-top: 0;
}

/* Floating box layout */
.box-animate {
  position: relative;
  aspect-ratio: 1756 / 694;
  margin-bottom: calc(clamp(3rem, 6vw, 5rem) + 40px);
  min-height: 0;
  overflow: visible;
}

.editor-styles-wrapper .block-editor-block-list__layout .block-editor-block-list__block.wp-block-cover.box-animate {
  margin-bottom: calc(clamp(3rem, 6vw, 5rem) + 40px) !important;
}
.box-animate .wp-block-cover__inner-container {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 2.4rem;
  align-items: end;
  width: 100%;
  height: 100%;
  padding: 0 !important;
}
.box {
  position: relative;
  grid-column: 2 / span 6;
  align-self: end;
  width: auto;
  max-width: none;
  transform: translateY(40px);
  margin: 0 !important;
}

.box-animate > .wp-block-cover__image-background,
.box-animate > .wp-block-cover__video-background,
.box-animate > .wp-block-cover__background {
  inset: 0;
}

@media (max-width: 1023px) {
  .box-animate {
    aspect-ratio: auto;
    margin-bottom: calc(2rem + 32px);
    min-height: 32rem;
  }

  .editor-styles-wrapper .block-editor-block-list__layout .block-editor-block-list__block.wp-block-cover.box-animate {
    margin-bottom: calc(2rem + 32px) !important;
  }

  .box-animate .wp-block-cover__inner-container {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  .box {
    grid-column: 1;
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
}


/* Parallax effect on scroll (optional, needs JS) */
.float-box.is-parallax {
  will-change: transform;
}

.accordion-content-wysiwyg-editor > :last-child {
  margin-bottom: 0;
}

/* Carousel base */
.sako-carousel-track {
  display: flex;
  transition: transform 0.4s ease;
  will-change: transform;
}

.sako-carousel-track > * {
  flex-shrink: 0;
  width: 100%;
  overflow: hidden;
}
.sako-carousel-controls {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-top: 2.4rem;
}
.sako-carousel-button {
  appearance: none;
  border: 1px solid #111111;
  background: #ffffff;
  color: #111111;
  padding: 0.6rem 1.2rem;
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.sako-carousel-button:disabled {
  opacity: 0.4;
  cursor: default;
}
.sako-carousel-dots {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.sako-carousel-dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 0;
  background-color: #71DBD4;
  opacity: 0.5;
  cursor: pointer;
}
.sako-carousel-dot.is-active {
  opacity: 1;
}

/* Carousel with three items */
.acf-block-carousel-with-three-items {
  background-color: #111111;
  max-width: none;
  padding: 4.8rem 0;
}
@media (min-width: 1024px) {
  .acf-block-carousel-with-three-items {
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
  }
}
.acf-block-carousel-with-three-items h2 {
  color: #ffffff;
  margin: 0 0 4.8rem;
}
.acf-block-carousel-with-three-items__container {
  margin: 0 auto;
  max-width: var(--wp--style--global--wide-size);
  padding: 0 2.4rem;
}
.acf-block-carousel-items {
  overflow: hidden;
}
.acf-block-carousel-item {
  padding-right: 1.2rem;
  padding-left: 1.2rem;
}
@media (min-width: 1024px) {
  .acf-block-carousel-item {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}
.acf-block-carousel-item img {
  min-height: 256px;
  object-fit: cover;
}
.acf-block-carousel-item p,
.acf-block-carousel-item h3 {
  color: #ffffff;
}
.acf-block-carousel-item p {
  margin: 0;
}
.acf-block-carousel-item h3 {
  margin-top: 2.4rem;
}

/* Banner carousel */
.acf-block-banner-carousel {
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  position: relative;
}
.acf-block-banner-carousel.alignwide {
  max-width: var(--wp--style--global--wide-size);
}
.acf-block-banner-carousel.alignfull {
  max-width: none;
}
.acf-block-banner-carousel__inner-container {
  margin: 0 auto;
  max-width: var(--wp--style--global--wide-size);
  padding: 2.4rem;
  text-align: center;
}
@media (min-width: 1024px) {
  .acf-block-banner-carousel__inner-container {
    padding: 6rem;
  }
}
.acf-block-banner-carousel-items {
  display: flex;
  overflow: hidden;
  align-items: flex-start;
}

.acf-block-banner-carousel .sako-embla-viewport {
  --sako-banner-side-pad: 2.4rem;
  background: #ffffff;
  overflow: hidden;
  position: relative;
  transition: height 260ms ease;
}

@media (min-width: 1024px) {
  .acf-block-banner-carousel .sako-embla-viewport {
    --sako-banner-side-pad: 6rem;
  }
}

.acf-block-banner-carousel .sako-carousel-arrows {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: space-between;
  padding: 0;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

.acf-block-banner-carousel .sako-banner-carousel-arrow {
  align-items: center;
  background: transparent;
  border: 0;
  color: #111111;
  display: inline-flex;
  font-size: 44px;
  font-weight: 400;
  height: 100%;
  justify-content: center;
  line-height: 1;
  min-width: var(--sako-banner-side-pad);
  padding: 0;
  pointer-events: auto;
  text-transform: none;
  width: var(--sako-banner-side-pad);
}

.acf-block-banner-carousel.is-active-slide-with-image .sako-carousel-button--prev.sako-banner-carousel-arrow {
  color: #ffffff;
}

.acf-block-banner-carousel .sako-banner-carousel-arrow:disabled {
  cursor: default;
  opacity: 0.3;
}

@media (max-width: 767px) {
  .acf-block-banner-carousel .sako-carousel-arrows {
    display: none;
  }
}

.acf-block-banner-carousel .sako-embla-viewport .acf-block-banner-carousel-items {
  background: #ffffff;
  overflow: visible;
}

.acf-block-banner-carousel-items > .acf-block-banner-carousel-item {
  background: #ffffff;
  flex: 0 0 100%;
  min-width: 0;
}

.acf-block-banner-carousel-item {
  position: relative;
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
}
.acf-block-banner-carousel-item .carousel-item__container {
  display: flex;
  min-height: 0;
  height: 100%;
  background: #ffffff;
}
@media (max-width: 767px) {
  .acf-block-banner-carousel-item .carousel-item__container {
    flex-flow: column;
    min-height: auto;
  }
}
.acf-block-banner-carousel-item .carousel-item__container > img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  min-height: 100%;
  width: 50%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .acf-block-banner-carousel-item .carousel-item__container > img {
    position: relative;
    min-height: unset;
    height: 250px;
    width: 100%;
  }
}
.acf-block-banner-carousel-item__content {
  padding: 2.4rem;
  position: relative;
  z-index: 1;
}

.acf-block-banner-carousel-item__content > :last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  .acf-block-banner-carousel-item__content {
    width: 100%;
    margin-left: 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .acf-block-banner-carousel-item .carousel-item__container {
    flex-flow: column;
    min-height: auto;
  }

  .acf-block-banner-carousel-item .carousel-item__container > img {
    position: relative;
    min-height: unset;
    height: 320px;
    width: 100%;
  }

  .acf-block-banner-carousel-item__content {
    width: 100%;
    margin-left: 0;
    padding: 2.4rem;
  }
}
@media (min-width: 1024px) {
  .acf-block-banner-carousel-item__content {
    box-sizing: border-box;
    padding: 6rem;
    width: 100%;
    margin-left: 0;
  }

  .acf-block-banner-carousel-item .carousel-item__container > img + .acf-block-banner-carousel-item__content {
    width: 50%;
    margin-left: 50%;
  }
}
.acf-block-banner-carousel .sako-carousel-controls {
  position: static;
  width: 100%;
  max-width: none;
  margin-top: 2.4rem;
  justify-content: center;
}

/* Banner carousel editor UX */
.sako-banner-carousel-sidepanel {
  padding: 1.2rem;
}
.sako-banner-carousel-sidepanel__item {
  border: 1px solid #dcdcde;
  margin-bottom: 1rem;
  padding: 0.8rem;
  cursor: pointer;
}
.sako-banner-carousel-sidepanel__item.is-active {
  border-color: #007cba;
}
.sako-banner-carousel-sidepanel__select {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 0.8rem;
  padding: 0;
}
.sako-banner-carousel-sidepanel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.sako-banner-carousel-editor__preview {
  overflow: visible;
}
.sako-banner-carousel-editor__preview-item {
  outline: 2px solid #007cba;
  outline-offset: -2px;
}
.sako-banner-carousel-editor__image-wrap {
  position: relative;
  width: 50%;
  min-height: 500px;
  background: #e6e6e6;
  overflow: hidden;
}
.sako-banner-carousel-editor__image-wrap img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.sako-banner-carousel-editor__image-wrap .block-editor-media-placeholder {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  height: 100%;
  justify-content: center;
  margin: 0;
  min-height: inherit;
  width: 100%;
}
.sako-banner-carousel-editor__empty-image {
  align-items: center;
  color: #595959;
  display: flex;
  font-weight: 500;
  height: 100%;
  justify-content: center;
  min-height: 320px;
}
.sako-banner-carousel-editor__dots {
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  margin-top: 4.8rem;
}

.acf-block-banner-carousel .sako-carousel-dots {
  margin-left: 0;
  justify-content: center;
}

.editor-styles-wrapper .acf-block-banner-carousel .acf-block-banner-carousel-item.is-editor-inactive {
  display: none;
}

.editor-styles-wrapper .acf-block-banner-carousel .acf-block-banner-carousel-item.is-editor-active {
  display: block;
}

.editor-styles-wrapper .acf-block-banner-carousel .acf-block-banner-carousel-items {
  display: block;
  overflow: visible;
}

.editor-styles-wrapper .acf-block-banner-carousel .block-editor-inner-blocks,
.editor-styles-wrapper .acf-block-banner-carousel .block-editor-block-list__layout {
  width: 100%;
}

.editor-styles-wrapper .acf-block-banner-carousel .acf-block-banner-carousel-item {
  width: 100%;
}

.editor-styles-wrapper .acf-block-banner-carousel .sako-carousel-controls,
.editor-styles-wrapper .acf-block-banner-carousel .sako-carousel-dots {
  display: flex;
  pointer-events: auto;
}

.editor-styles-wrapper .acf-block-banner-carousel .sako-carousel-dot {
  cursor: pointer;
}

@media (max-width: 767px) {
  .sako-banner-carousel-editor__image-wrap {
    width: 100%;
    min-height: 250px;
  }
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  text-transform: uppercase;
}

h3 {
  font-size: 1.75rem;
  line-height: 1.14;
}

/* Hero transparent box */
.wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group,
[data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group {
  backdrop-filter: blur(20px);
  padding: 6rem;
}

.wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container,
[data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
  height: 100%;
}

.wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group,
[data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group {
  margin-left: auto;
  margin-right: auto;
}

.wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group:before,
[data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group:before {
  content: "";
  position: absolute;
  top: 9rem;
  right: calc(100% + 2.5rem);
  width: min(12rem, calc(100vw - var(--wp--style--global--wide-size)));
  height: 2px;
  background-color: white;
}

/* Title cover: compact vertical height and decorative line without blur box */
.wp-block-cover.alignfull.wp-block-title,
[data-align=full] .wp-block-cover.wp-block-title {
  min-height: clamp(300px, 48vh, 560px) !important;
}

.wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container,
[data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group,
[data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group {
  width: 100%;
  padding: 0 !important;
  position: relative;
  z-index: 1;
}

.wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group > .wp-block-heading,
[data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group > .wp-block-heading,
.wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group > h1,
[data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group > h1 {
  font-size: 3.5rem !important;
  text-align: left;
}

.wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group:before,
[data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group:before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% + 2.5rem);
  width: 100vw;
  height: 2px;
  transform: translateY(-50%);
  background-color: white;
  z-index: -1;
}
@media (max-width: 1023px) {
  .wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group,
  [data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group {
    margin-left: 0;
    margin-right: auto;
    max-width: min(100%, calc(100vw - (2 * var(--wp--style--root--padding-left)))) !important;
    width: min(100%, calc(100vw - (2 * var(--wp--style--root--padding-left))));
    padding: 2rem;
  }

  .wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group:before,
  [data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group:before {
    top: 4.25rem;
    right: calc(100% - 1.5rem);
    width: 100vw;
  }

  .wp-block-cover.alignfull.wp-block-title,
  [data-align=full] .wp-block-cover.wp-block-title {
    min-height: 340px !important;
  }

  .wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container,
  [data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container {
    padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
  }

  .wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group:before,
  [data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group:before {
    top: 50%;
    right: calc(100% + 1.5rem);
    width: 100vw;
  }

  .wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group > .wp-block-heading,
  [data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group > .wp-block-heading,
  .wp-block-cover.alignfull.wp-block-title .wp-block-cover__inner-container .wp-block-group > h1,
  [data-align=full] .wp-block-cover.wp-block-title .wp-block-cover__inner-container .wp-block-group > h1 {
    font-size: 2.5rem !important;
  }
}

@media (min-width: 1024px) {
  .wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container,
  [data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group,
  [data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group {
    margin-left: 0;
    margin-right: auto;
    max-width: 46.5rem !important;
    width: min(100%, 46.5rem);
  }

  .wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container .wp-block-group:before,
  [data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container .wp-block-group:before {
    right: calc(100% - 2.5rem);
    width: 100vw;
  }
}
.wp-block-cover.alignfull .wp-block-cover__inner-container,
[data-align=full] .wp-block-cover .wp-block-cover__inner-container {
  padding-top: 0;
  padding-bottom: 10rem;
  width: 100%;
}

.wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container,
[data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.wp-block-cover.alignfull.wp-block-hero,
[data-align=full] .wp-block-cover.wp-block-hero {
  height: 80vh;
  min-height: 80vh;
  max-height: 80vh;
  overflow: hidden;
}

.wp-block-cover.alignfull.wp-block-hero video,
[data-align=full] .wp-block-cover.wp-block-hero video,
.wp-block-cover.alignfull.wp-block-hero .wp-block-cover__image-background,
[data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__image-background {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 479px) {
  .wp-block-cover.alignfull .wp-block-cover__inner-container,
  [data-align=full] .wp-block-cover .wp-block-cover__inner-container {
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
  }

  .wp-block-cover.alignfull.wp-block-hero .wp-block-cover__inner-container,
  [data-align=full] .wp-block-cover.wp-block-hero .wp-block-cover__inner-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Circle number badges */
h4.circle {
  align-items: center;
  background-color: #71DBD4;
  border-radius: 50%;
  color: #111111;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  height: 3rem;
  justify-content: center;
  line-height: 1;
  margin: 0 0 1rem;
  width: 3rem;
}

/* Sako numbers block */
.wp-block-sako-numbers,
.sako-numbers {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
}

.sako-numbers__title {
  margin: 0 0 2.4rem;
}

.sako-numbers__grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 1fr;
}

/* Mobile: a single column so long Finnish labels (e.g. "Vastausaktiivisuus")
   are not squeezed/cut in two columns. Two columns only from 600px up. */
@media (min-width: 600px) {
  .sako-numbers.is-cols-2 .sako-numbers__grid,
  .sako-numbers.is-cols-3 .sako-numbers__grid,
  .sako-numbers.is-cols-4 .sako-numbers__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .sako-numbers__grid {
    gap: 2.4rem;
  }

  .sako-numbers.is-cols-3 .sako-numbers__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sako-numbers.is-cols-4 .sako-numbers__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.wp-block-sako-numbers .number-box {
  align-items: center;
  background: #ffffff;
  display: flex;
  gap: 1.2rem;
  height: 100%;
  padding: 2.4rem;
}

.wp-block-sako-numbers .number-icon {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  width: 44px;
}

.wp-block-sako-numbers .number-icon img {
  display: block;
  height: auto;
  max-height: 44px;
  max-width: 44px;
  width: 100%;
}

.wp-block-sako-numbers .number-content {
  min-width: 0;
}

.wp-block-sako-numbers .number-mainline {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font-size: 4.4rem;
  font-weight: 600;
  gap: 0.35rem;
  line-height: 1;
  margin: 0;
}

.wp-block-sako-numbers .number-prefix,
.wp-block-sako-numbers .number-suffix {
  font-size: 2.4rem;
  font-weight: 500;
}

.wp-block-sako-numbers .number-label-line {
  margin-top: 0.8rem;
}

.wp-block-sako-numbers .number-label {
  display: block;
  font-size: 1.7rem;
  line-height: 1.3;
}

.wp-block-sako-numbers.is-unified-box .sako-numbers__grid {
  background: #ffffff;
  gap: 2.4rem;
  padding: 2.4rem;
}

.wp-block-sako-numbers.is-unified-box .number-box {
  background: transparent;
  padding: 0;
}

.wp-block-sako-numbers.is-unified-box .number-mainline {
  font-size: 2.2rem;
  gap: 0.25rem;
}

.wp-block-sako-numbers.is-unified-box .number-prefix,
.wp-block-sako-numbers.is-unified-box .number-suffix {
  font-size: 1.8rem;
}

.wp-block-sako-numbers.is-unified-box .number-label {
  font-size: 1.45rem;
}

@media (max-width: 1023px) {
  .wp-block-sako-numbers.is-unified-box .sako-numbers__grid {
    gap: 1.8rem;
    padding: 1.8rem;
  }
}

.editor-styles-wrapper .wp-block-sako-numbers .sako-numbers__item {
  background: #f5f5f5;
  border: 1px solid #dddddd;
  padding: 1.2rem;
}

.editor-styles-wrapper .wp-block-sako-numbers .sako-numbers__item-toolbar {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.editor-styles-wrapper .wp-block-sako-numbers .sako-numbers__item-index {
  font-size: 1.2rem;
  font-weight: 600;
}

.editor-styles-wrapper .wp-block-sako-numbers .sako-numbers__media-control p {
  margin: 0 0 0.6rem;
}

.editor-styles-wrapper .wp-block-sako-numbers .sako-numbers__icon-preview {
  display: block;
  height: auto;
  margin-top: 0.8rem;
  max-height: 44px;
  max-width: 44px;
}

.editor-styles-wrapper .wp-block-sako-numbers .sako-numbers__item-preview {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  margin-top: 0.8rem;
}

/* Edut icons helper classes */
.sako-edut-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 4.4rem;
  width: 4.4rem;
}

.sako-edut-icon--salary-benefits {
  background-image: url('assets/images/edut/salary-benefits.png');
}

.sako-edut-icon--wellbeing {
  background-image: url('assets/images/edut/occupational-wellbeing.png');
}

.sako-edut-icon--community {
  background-image: url('assets/images/edut/work-community.png');
}

.sako-edut-icon--training {
  background-image: url('assets/images/edut/training.png');
}

/* Benefit-card icons: black line icon in a mint tile matching the testimonial box.
   Scoped to is-cards text columns (no media-text) that hold an image, so job cards
   and the numbered "Miksi viihdymme" cards are untouched. brightness(0) forces the
   icon to solid black regardless of its source (theme asset or media-library PNG). */
.wp-block-columns.is-cards > .wp-block-column:not(:has(.wp-block-media-text)) .wp-block-image {
  --sako-edut-icon-bg: #a6d9d4;
  background: var(--sako-edut-icon-bg);
  border-radius: 10px;
  display: inline-block;
  line-height: 0;
  margin: 0;
  padding: 14px;
  width: fit-content;
}

/* Tighten the gap between the icon tile and the heading (was ~75px). */
.wp-block-columns.is-cards > .wp-block-column:not(:has(.wp-block-media-text)) .wp-block-image + * {
  margin-top: 1.75rem !important;
}

.wp-block-columns.is-cards > .wp-block-column:not(:has(.wp-block-media-text)) .wp-block-image img {
  display: block;
  filter: brightness(0);
}

/* Content bullet lists: the theme's dash marker is white (invisible on light
   backgrounds) and sits far from the text with a big indent. Make it a short,
   currentColor dash tucked close to the text. Selectors mirror the parent
   theme's (main ul.wp-block-list li::before) so they win on source order. */
main ul.wp-block-list,
.wp-block-post-content ul.wp-block-list {
  padding-left: 0.5rem;
}

main ul.wp-block-list > li,
.wp-block-post-content ul.wp-block-list > li {
  padding-left: 1.75rem;
}

main ul.wp-block-list > li::before,
.wp-block-post-content ul.wp-block-list > li::before {
  background-color: currentColor !important;
  width: 14px !important;
}

/* TalentAdore careers list */
.wp-block-sako-talentadore-careers {
  width: 100%;
}

.wp-block-sako-talentadore-careers.alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
}

.wp-block-sako-talentadore-careers.alignfull {
  max-width: none;
}

#ta-json-careers {
  max-width: none !important;
  width: 100% !important;
}

/* Restore normal Gutenberg block flow spacing for TalentAdore wrapper */
:root :where(.is-layout-flow) > #ta-json-careers,
:root :where(.is-layout-constrained) > #ta-json-careers {
  margin-block-start: var(--wp--preset--spacing--60) !important;
  margin-block-end: 0 !important;
}

:root :where(.is-layout-flow) > #ta-json-careers:not(.alignfull):last-child,
:root :where(.is-layout-constrained) > #ta-json-careers:not(.alignfull):last-child {
  margin-block-end: var(--wp--preset--spacing--60) !important;
}

:root :where(.is-layout-flow) > #ta-json-careers:first-child,
:root :where(.is-layout-constrained) > #ta-json-careers:first-child {
  margin-block-start: 0 !important;
}

/* Respect alignment settings for TalentAdore block */
#ta-json-careers {
  width: 100%;
}

#ta-json-careers.alignwide {
  max-width: 1416px !important;
  margin-left: auto;
  margin-right: auto;
}

#ta-json-careers.alignfull {
  max-width: none !important;
}

/* Outer wrapper alignment */
.wp-block-sako-talentadore-careers.alignwide {
  max-width: 1416px !important;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-sako-talentadore-careers.alignfull {
  max-width: none !important;
}
#ta-json-careers #ta-json-positions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 40px;
  margin: 0 !important;
}
@media (max-width: 479px) {
  #ta-json-careers #ta-json-positions {
    grid-template-columns: 1fr;
  }
}
#ta-json-careers #ta-json-positions .position {
  width: 100%;
  margin: 0 !important;
  border-radius: 0;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.08), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}
#ta-json-careers #ta-json-positions .position:hover {
  transform: translateY(-10px);
  box-shadow: 0px 4px 16px -20px rgba(0, 0, 0, 0.08), 0px 35px 32px -20px rgba(0, 0, 0, 0.12);
}
#ta-json-careers #ta-json-positions .position .info {
  padding: 20px;
}
#ta-json-careers #ta-json-positions .position .info .description {
  display: none;
}
#ta-json-careers #ta-json-positions .position .info .location {
  color: black;
  padding: 0;
  margin: 20px 0 0 0;
  background: unset;
  text-align: left;
}
#ta-json-careers #ta-json-positions .position .info .heading {
  text-align: left;
  margin: 0;
  padding: 0;
}
#ta-json-careers #ta-json-positions .position .apply {
  display: none;
}

/* Uratarina single article: narrower reading column, readable rhythm and a
   legible pull quote. The theme content-size (1180px) makes very long article
   lines, so the hero image and the body share a tighter measure. */
.single-uratarina .wp-block-group > .wp-block-post-featured-image,
.single-uratarina .wp-block-post-content {
  --sako-article-width: 820px;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--sako-article-width);
}

/* The parent theme spaces every constrained child by spacing--60 (~100px),
   which is far too much between article paragraphs — tighten it here and give
   headings/quotes their own spacing. */
.single-uratarina .wp-block-post-content.is-layout-constrained > * {
  margin-block-start: 1.6rem;
}

.single-uratarina .wp-block-post-content.is-layout-constrained > :first-child {
  margin-block-start: 0;
}

.single-uratarina .wp-block-post-content > h2,
.single-uratarina .wp-block-post-content > .wp-block-heading[class*="level-2"],
.single-uratarina .wp-block-post-content > h2.wp-block-heading {
  margin-block-start: 3.5rem;
}

.single-uratarina .wp-block-post-content > h3 {
  margin-block-start: 2.75rem;
}

.single-uratarina .wp-block-post-content p {
  font-size: 1.125rem;
  line-height: 1.7;
}

/* Bold intro line straight under the headline */
.single-uratarina .wp-block-post-content > .uratarina-subtitle {
  margin-block-start: 0.6rem;
  font-size: 1.3rem;
  line-height: 1.45;
}

/* Pull quote: visible dark bar (was an invisible white line) + larger text.
   The parent theme narrows the quote and centers it with auto margins; force
   full width so the bar lines up with the body text (the text still indents
   past the bar via padding). */
.single-uratarina .wp-block-post-content blockquote.wp-block-quote {
  border-left: 4px solid #111111;
  margin-inline: 0;
  /* The parent theme pins quote max-width with !important; match it to win. */
  max-width: none !important;
  padding: 0.4rem 0 0.4rem 1.9rem;
}

.single-uratarina .wp-block-post-content blockquote.wp-block-quote p {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
  font-style: normal;
  margin: 0;
}

.single-uratarina .wp-block-post-content blockquote.wp-block-quote cite {
  color: #555555;
  display: block;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  margin-top: 0.9rem;
}

@media (max-width: 767px) {
  .single-uratarina .wp-block-post-content blockquote.wp-block-quote p {
    font-size: 1.3rem;
  }
}

/* Employee testimonial block */
.wp-block-sako-employee-testimonial,
.sako-employee-testimonial {
  background: var(--sako-testimonial-card-bg, #cbd0bd);
  container-name: sako-testimonial;
  container-type: inline-size;
  align-content: flex-start;
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  overflow: hidden;
  text-align: left;
  width: 100%;
}

.sako-employee-testimonial__media {
  align-self: stretch;
  display: flex;
  flex: 0 0 min(33%, 220px);
  height: auto;
  margin: 0;
  min-width: 0;
}

.sako-employee-testimonial__image-wrap {
  aspect-ratio: auto;
  border-radius: 0;
  display: block;
  flex: 1 1 auto;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.sako-employee-testimonial__image,
.sako-employee-testimonial__image-placeholder {
  display: block;
  height: 100% !important;
  width: 100% !important;
}

.sako-employee-testimonial__image {
  display: block;
  object-fit: cover !important;
}

.sako-employee-testimonial__image[alt="Teemu Leino"],
body.postid-2043 .wp-block-post-featured-image img,
.post-2043 .wp-block-post-featured-image img {
  object-position: center 24% !important;
}

.sako-employee-testimonial__image-placeholder {
  background: #d3d3d3;
  display: inline-block;
}

.sako-employee-testimonial__quote {
  margin: 0;
  font-size: inherit;
}

.sako-employee-testimonial__meta {
  margin: 0;
  font-size: inherit;
}

.sako-employee-testimonial__meta-name {
  font-weight: 500;
}

/* Employee cards: job titles shown in lowercase (brand style), everywhere. */
.sako-employee-testimonial__meta-job-title {
  text-transform: lowercase;
}

/* Long Finnish compound words (e.g. "Tuotannonsuunnittelu") must wrap and
   hyphenate instead of overflowing, especially in hero/section headings on
   mobile. hyphens:auto uses the page language (<html lang>) and only breaks
   when a word would otherwise overflow. */
.wp-block-heading,
.sako-job-single__title,
.sako-numbers__title {
  overflow-wrap: break-word;
  hyphens: auto;
}

.sako-employee-testimonial__content {
  align-self: stretch;
  align-items: flex-start;
  background: var(--sako-testimonial-card-bg, #cbd0bd);
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 12px;
  justify-content: flex-start !important;
  min-width: 0;
  padding: 24px 24px 20px 58px;
  position: relative;
}

.sako-employee-testimonial__content::before {
  background: url("assets/images/quote-right.svg?v=4") center / contain no-repeat;
  content: "";
  height: 38px;
  left: -26px;
  pointer-events: none;
  position: absolute;
  top: 22px;
  width: 53px;
}

.sako-employee-testimonial__content .sako-employee-testimonial__quote,
.sako-employee-testimonial__content .sako-employee-testimonial__meta {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* In column layouts, stretch testimonial cards to match equal column heights */
.wp-block-column .sako-employee-testimonial {
  align-self: stretch;
  height: 100%;
}

.wp-block-column .sako-employee-testimonial__content {
  align-self: stretch;
}

/* Keep testimonial blocks visible inside editor columns */
.editor-styles-wrapper .wp-block-columns .sako-employee-testimonial {
  align-self: stretch;
  min-width: 0;
  width: 100%;
}

.editor-styles-wrapper .wp-block-columns .sako-employee-testimonial__preview {
  display: contents;
  min-width: 0;
  width: 100%;
}

@container sako-testimonial (max-width: 480px) {
  .sako-employee-testimonial__media {
    align-self: flex-start;
    display: block;
    flex-basis: 100%;
  }

  .sako-employee-testimonial__image-wrap {
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .sako-employee-testimonial__content {
    flex-basis: 100%;
    padding: 34px 20px 20px 20px;
  }

  .sako-employee-testimonial__content::before {
    left: 20px;
    top: -18px;
  }
}

/* Uratarinat archive cards: match TalentAdore card look */
body.post-type-archive-uratarina main.wp-block-group.is-layout-constrained > .wp-block-group.is-layout-constrained {
  width: 100%;
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

body.post-type-archive-uratarina .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.post-type-archive-uratarina .wp-block-group.is-layout-constrained > .wp-block-query-title,
body.post-type-archive-uratarina .wp-block-group.is-layout-constrained > .wp-block-query {
  width: 100%;
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template {
  gap: 40px;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post {
  background: #fff;
  /* Parent theme forces .archive .wp-block-post { border-radius: 8px !important } */
  border-radius: 0 !important;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.08), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post:hover {
  transform: translateY(-10px);
  box-shadow: 0px 4px 16px -20px rgba(0, 0, 0, 0.08), 0px 35px 32px -20px rgba(0, 0, 0, 0.12);
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-featured-image {
  margin: 0;
  overflow: hidden;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-featured-image img {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post > *:not(.wp-block-post-featured-image):not(hr) {
  padding-left: 20px;
  padding-right: 20px;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-title {
  margin: 0;
  padding-top: 20px;
  padding-bottom: 0;
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 500;
  text-transform: uppercase;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-excerpt {
  margin: 20px 0 0 0 !important;
  padding-top: 0;
  /* Parent theme forces .archive .wp-block-post-excerpt { padding: 0 1.5rem 1.5rem !important };
     reserve room for the absolutely positioned arrow so it never overlaps long excerpts. */
  padding-bottom: 64px !important;
  font-size: inherit;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-title a {
  position: relative;
  z-index: 2;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-excerpt__more-text {
  margin: 0;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-excerpt .wp-block-post-excerpt__more-text .sako-uratarina-card__link {
  bottom: 0;
  display: block;
  font-size: 0;
  left: 0;
  position: absolute;
  right: 0;
  text-decoration: none;
  top: 0;
  width: auto;
  z-index: 1;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-excerpt .wp-block-post-excerpt__more-text .sako-uratarina-card__link::before {
  background-color: #111111;
  bottom: 20px;
  content: "";
  height: 24px;
  left: 20px;
  position: absolute;
  transition: transform 140ms ease;
  width: 30px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E") left center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E") left center / contain no-repeat;
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post:hover .wp-block-post-excerpt .wp-block-post-excerpt__more-text .sako-uratarina-card__link::before,
body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post:focus-within .wp-block-post-excerpt .wp-block-post-excerpt__more-text .sako-uratarina-card__link::before {
  transform: translateX(6px);
}

body.post-type-archive-uratarina .wp-block-query .wp-block-post-template .wp-block-post .wp-block-post-excerpt .wp-block-post-excerpt__more-text .sako-uratarina-card__link:focus-visible {
  outline: 2px solid #111111;
  outline-offset: -6px;
}

/* Column grid and flex layout */
.wp-block-group > .wp-block-columns,
.wp-block-columns {
  gap: var(--wp--style--block-gap);
  display: flex;
  align-items: stretch;
}

.wp-block-column {
  display: flex;
  flex-direction: column;
}

/* Card component.
   The card is either a column inside .wp-block-columns.is-cards, or any single
   container carrying .is-card. The :is() group keeps both scopes at the same
   specificity (0,3,0), which clears the parent theme's has-background padding
   without !important. */
.wp-block-columns.is-cards {
  height: auto;
  min-height: auto;
}

:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) {
  --sako-card-padding: 20px;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.08), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* A card hosting media-text drops its own padding so the image runs full bleed to
   the card edges; the media-text content side carries the padding instead. Cards
   without media (plain text boxes) keep the theme's has-background padding. */
:is(.wp-block-columns.is-cards > .wp-block-column, .is-card):has(> .wp-block-media-text) {
  padding: 0;
}

:is(.wp-block-columns.is-cards > .wp-block-column, .is-card):hover {
  box-shadow: 0px 4px 16px -20px rgba(0, 0, 0, 0.08), 0px 35px 32px -20px rgba(0, 0, 0, 0.12);
  transform: translateY(-10px);
}

.wp-block-columns.is-cards > .wp-block-column {
  flex: 1 1 0%;
}

.is-card {
  height: 100%;
  width: 100%;
}

/* Media & text stacks vertically inside a card */
:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) .wp-block-media-text {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  margin: 0;
  width: 100%;
}

/* Full bleed media: no margin, no padding, no inset of any kind */
:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) .wp-block-media-text__media {
  flex: 0 0 auto;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) .wp-block-media-text__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Padded content side */
:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) .wp-block-media-text__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0;
  padding: var(--sako-card-padding);
  width: 100%;
}

/* Card typography matches the TalentAdore job card */
:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) :is(h3, .wp-block-heading) {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  text-transform: uppercase;
}

:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) .wp-block-media-text__content :is(h3, .wp-block-heading) {
  margin: 0;
  padding: 0;
}

:is(.wp-block-columns.is-cards > .wp-block-column, .is-card) .wp-block-media-text__content p {
  font-size: inherit;
  margin: var(--sako-card-padding) 0 0;
  padding: 0;
  text-align: left;
}

.sako-linked-card {
  cursor: pointer;
}

.sako-linked-card:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* Homepage job-category linked cards already navigate via data-card-link JS;
   add the same bottom-left arrow cue as the article cards. */
.wp-block-columns.is-cards .sako-linked-card .wp-block-media-text__content {
  padding-bottom: 3.5rem;
  position: relative;
}

.wp-block-columns.is-cards .sako-linked-card .wp-block-media-text__content::after {
  background-color: #111111;
  bottom: 20px;
  content: "";
  height: 24px;
  left: 20px;
  position: absolute;
  transition: transform 140ms ease;
  width: 30px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E") left center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E") left center / contain no-repeat;
}

.wp-block-columns.is-cards .sako-linked-card:hover .wp-block-media-text__content::after {
  transform: translateX(6px);
}

/* People cards that link to an article: the link overlays the whole card so it
   is clickable everywhere, with an arrow cue at the bottom-left (sako.global
   style) drawn on the link's ::before. */
.wp-block-columns.is-cards .wp-block-media-text.has-background:has(.sako-card-arrow) {
  cursor: pointer;
  position: relative;
}

/* reserve room at the bottom for the arrow */
.sako-card-arrow {
  margin: 1.5rem 0 0 !important;
  min-height: 24px;
}

.sako-card-arrow a {
  bottom: 0;
  display: block;
  font-size: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.sako-card-arrow a::before {
  background-color: #111111;
  bottom: 20px;
  content: "";
  height: 24px;
  left: 20px;
  position: absolute;
  transition: transform 140ms ease;
  width: 30px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E") left center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 12H22' stroke='black' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 5L22 12L15 19' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E") left center / contain no-repeat;
}

.sako-card-arrow a:focus-visible {
  outline: 2px solid #111111;
  outline-offset: 4px;
}

.wp-block-columns.is-cards .wp-block-media-text.has-background:has(.sako-card-arrow):hover .sako-card-arrow a::before {
  transform: translateX(6px);
}

/* Media & text block inside regular columns - default behavior (not cards) */
.wp-block-media-text:not(.has-background) {
  column-gap: var(--wp--preset--spacing--20);
  row-gap: var(--wp--preset--spacing--20);
}

.wp-block-media-text:not(.has-background) .wp-block-media-text__content {
  padding: 0;
}

.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {
  align-self: stretch !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media::before {
  content: "";
  display: block;
  padding-top: 75%;
}

.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media img {
  height: 100% !important;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100% !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text {
  display: flex !important;
  flex-direction: row !important;
  gap: var(--wp--preset--spacing--20) !important;
  grid-template-columns: none !important;
  align-items: stretch;
  width: 100% !important;
  margin: 0 !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-background {
  gap: 0 !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.is-stacked-on-mobile {
  display: flex !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text__media {
  flex: 0 0 50% !important;
  width: 50% !important;
  margin: 0 !important;
  order: 1;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text__content {
  flex: 0 0 50% !important;
  width: 50% !important;
  padding: 0 !important;
  order: 2;
  margin: 0 !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-background .wp-block-media-text__content {
  padding: var(--wp--preset--spacing--20) !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-media-on-the-right {
  flex-direction: row-reverse !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  order: 2 !important;
}

.wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  order: 1 !important;
}

/* Stack on smaller viewport for non-card columns */
@media (max-width: 767px) {
  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text {
    flex-direction: column !important;
  }

  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-media-on-the-right {
    flex-direction: column !important;
  }

  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text__media {
    flex: 0 0 auto !important;
    width: 100% !important;
    order: 1 !important;
  }

  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text__content {
    flex: 0 0 auto !important;
    width: 100% !important;
    order: 2 !important;
  }

  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
    order: 1 !important;
  }

  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    order: 2 !important;
  }

  .wp-block-columns:not(.is-cards) .wp-block-column:not(.is-card) .wp-block-media-text__media img {
    height: auto !important;
    width: 100% !important;
    display: block;
  }

  .wp-block-media-text.is-image-fill-element > .wp-block-media-text__media::before {
    padding-top: 56.25%;
  }

  .wp-block-media-text.is-image-fill-element > .wp-block-media-text__media img {
    height: 100% !important;
    position: absolute;
  }
}

/* ------------------------------------------------------------------ *
 * Omea Consent — only the brand alignment the plugin has no setting for:
 * square corners, DIN typography, uppercase buttons and no focus/active
 * ring. The light box and all colours come from the plugin's own settings
 * (Appearance: Light + button/link colours), so they are NOT overridden
 * here in CSS.
 * ------------------------------------------------------------------ */
#omea-consent-banner,
#omea-consent-modal,
#omea-consent-banner .omea-consent-button,
#omea-consent-modal .omea-consent-button {
	border-radius: 0 !important;
	font-family: "DINNextLTPro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

#omea-consent-banner .omea-consent-button,
#omea-consent-modal .omea-consent-button {
	text-transform: uppercase;
	box-shadow: none !important;
	outline: none !important;
}

/* Remove the plugin's focus/active double-ring in every state */
#omea-consent-banner .omea-consent-button:hover,
#omea-consent-banner .omea-consent-button:focus,
#omea-consent-banner .omea-consent-button:focus-visible,
#omea-consent-banner .omea-consent-button:active,
#omea-consent-modal .omea-consent-button:hover,
#omea-consent-modal .omea-consent-button:focus,
#omea-consent-modal .omea-consent-button:focus-visible,
#omea-consent-modal .omea-consent-button:active {
	box-shadow: none !important;
	outline: none !important;
}

/* Preferences link — the plugin colours this with its accent (yellow) and
   there is no setting for it, so tone it down to a dark underlined link. */
#omea-consent-banner .omea-consent-preferences-button,
#omea-consent-modal .omea-consent-preferences-button {
	color: #111111 !important;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
