/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Lindenpraxis: mobile navigation and assistant refinements */
@media (max-width: 767px) {
  footer .bricks-nav-menu-wrapper {
    display: block !important;
  }

  footer .bricks-nav-menu {
    display: flex !important;
    flex-direction: column;
    gap: 0.45rem;
  }

  footer .bricks-mobile-menu-toggle,
  footer .bricks-mobile-menu-wrapper,
  footer .bricks-mobile-menu-overlay {
    display: none !important;
  }
}

@media (max-width: 478px) {
  .lp-ai-launcher {
    right: 12px !important;
    bottom: 12px !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }

  .lp-ai-launcher > span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .lp-ai-launcher-icon {
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
  }
}


/* Lindenpraxis: consistent vertical rhythm */
:root {
  --lp-section-space: 100px;
}

/* Recruiting plugin blocks use the same section rhythm as Bricks. */
.lp-recruiting-block {
  margin-block: var(--lp-section-space) !important;
}

.lp-recruiting-info .lp-rb-panel {
  padding-block: 0 !important;
}

/* Remove the isolated default margin around the jobs overview. */
#brxe-jwaiax {
  margin-block: 0 !important;
  padding-block: var(--lp-section-space) !important;
}

@media (max-width: 991px) {
  :root { --lp-section-space: 80px; }
}

@media (max-width: 767px) {
  :root { --lp-section-space: 64px; }
}

@media (max-width: 478px) {
  :root { --lp-section-space: 48px; }
}


#brxe-ektspc .lp-recruiting-info .lp-rb-panel {
  padding-block: 0 !important;
}


#brxe-kszupr .lp-recruiting-block,
#brxe-ektspc .lp-recruiting-block,
#brxe-thddpf .lp-recruiting-block {
  margin-block: var(--lp-section-space) !important;
}


/* Praxis information card and persistent desktop navigation */
#brxe-cclkoz {
  background: #fff;
  padding: 40px;
  border-radius: 28px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.05);
}

#brxe-cclkoz > .brxe-div + .brxe-div {
  margin-top: 12px;
}

@media (min-width: 992px) {
  #brx-header {
    position: sticky;
    top: 0;
    z-index: 9998;
    background: #fff;
    box-shadow: 0 8px 28px rgba(34, 42, 32, 0.06);
  }

  body.admin-bar #brx-header {
    top: 32px;
  }
}

@media (max-width: 767px) {
  #brxe-cclkoz {
    padding: 28px;
    border-radius: 22px;
  }
}


/* Lindenpraxis: unified eyebrow and icon system */
:root {
  --lp-eyebrow-size: 14px;
  --lp-eyebrow-spacing: 0.16em;
  --lp-eyebrow-color: #9aa56f;
  --lp-eyebrow-gap: 16px;
}

:is(.lp_eyebrow, .lp-eyebrow, .lp-hero-eyebrow, .lp-rb-kicker, .lpjm-job-card__eyebrow, #brxe-bhagtq, #brxe-fzxdbs, #brxe-73cb21) {
  display: block;
  margin: 0 0 var(--lp-eyebrow-gap) !important;
  color: var(--lp-eyebrow-color) !important;
  font-size: var(--lp-eyebrow-size) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: var(--lp-eyebrow-spacing) !important;
  text-transform: uppercase !important;
}

:is(
  #brxe-uxufqq,
  #brxe-chgbov,
  #brxe-lymjhz,
  .lp-services-archive-head h1,
  .lp-recruiting-benefits .lp-rb-head h2,
  .lp-recruiting-process .lp-rb-head h2,
  .lp-text h2,
  .lp-process > h2,
  .lp-trust h2
)::before {
  display: block;
  margin-bottom: var(--lp-eyebrow-gap);
  color: var(--lp-eyebrow-color);
  font-size: var(--lp-eyebrow-size);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: var(--lp-eyebrow-spacing);
  text-transform: uppercase;
}

#brxe-uxufqq::before { content: 'ZAHNMEDIZIN FÜR ALLE'; }
#brxe-chgbov::before { content: 'LEISTUNGEN'; }
#brxe-lymjhz::before { content: 'SERVICE'; }
.lp-services-archive-head h1::before { content: 'ZAHNMEDIZIN IN BUCHHOLZ'; }
.lp-recruiting-benefits .lp-rb-head h2::before { content: 'IHRE VORTEILE'; }
.lp-recruiting-process .lp-rb-head h2::before { content: 'BEWERBUNG'; }
.lp-text h2::before { content: 'ÜBERBLICK'; }
.lp-process > h2::before { content: 'BEHANDLUNGSABLAUF'; }
.lp-trust h2::before { content: 'PERSÖNLICHE BETREUUNG'; }

/* Repeated icon families retain their hierarchy but use identical boxes. */
.lp-trust-item > .brxe-icon,
.lp-trust-item .lp-trust-icon {
  width: 100px !important;
  min-width: 100px !important;
  height: 100px !important;
  object-fit: contain;
}

.lp-service-card-icon {
  width: 78px !important;
  height: 78px !important;
  object-fit: contain;
}

.lp-benefit-icon {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
}

.lp-rb-icon {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.lp-rb-icon svg {
  width: 22px !important;
  height: 22px !important;
}

@media (max-width: 767px) {
  :root {
    --lp-eyebrow-size: 12px;
    --lp-eyebrow-gap: 12px;
  }

  .lp-trust-item > .brxe-icon,
  .lp-trust-item .lp-trust-icon {
    width: 76px !important;
    min-width: 76px !important;
    height: 76px !important;
  }
}


/* Support both legacy Bricks eyebrow class spellings. */
:is(.lp_eyebrown, .lp-hero-eyebrown) {
  display: block;
  margin: 0 0 var(--lp-eyebrow-gap) !important;
  color: var(--lp-eyebrow-color) !important;
  font-size: var(--lp-eyebrow-size) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: var(--lp-eyebrow-spacing) !important;
  text-transform: uppercase !important;
}


/* Body copy stays neutral; green is reserved for accents and eyebrows. */
.lp-trust-header {
  color: #2f342f !important;
  text-transform: none !important;
}


/* Service detail trust icons match the main site trust-bar scale. */
.single-lp_leistung .lp-benefit-icon {
  width: 100px !important;
  min-width: 100px !important;
  height: 100px !important;
  object-fit: contain;
}

@media (max-width: 767px) {
  .single-lp_leistung .lp-benefit-icon {
    width: 76px !important;
    min-width: 76px !important;
    height: 76px !important;
  }
}


/* Reserve the full icon column so service benefit copy never overlaps. */
.single-lp_leistung .lp-benefit {
  grid-template-columns: 100px minmax(0, 1fr) !important;
  column-gap: 24px !important;
  align-items: center !important;
}

.single-lp_leistung .lp-benefit-content {
  min-width: 0;
}

@media (max-width: 767px) {
  .single-lp_leistung .lp-benefit {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    column-gap: 20px !important;
  }
}


/* Mobile portrait: consistent gutters, contact template and team grid. */
@media (max-width: 767px) {
  /* The embedded contact template already owns its 20px page gutter. */
  .home #brxe-ewzgea {
    padding-inline: 0 !important;
  }

  /* Keep the introductory home section on the shared 20px mobile gutter. */
  .home #brxe-mszdcs {
    padding-inline: 20px !important;
  }

  .home #brxe-mszdcs > .brxe-container {
    width: 100% !important;
  }

  /* Contact hero card must remain fully inside the portrait viewport. */
  .page-id-21 #brxe-jamhfv {
    left: auto !important;
    right: auto !important;
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    margin: -70px 20px 0 !important;
    box-sizing: border-box;
  }

  /* Equal columns and contained media for all team cards. */
  #brxe-xnafgo {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    row-gap: 24px !important;
  }

  #brxe-xnafgo > .brxe-div,
  #brxe-oxwwrx > .brxe-div {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  #brxe-xnafgo img,
  #brxe-oxwwrx img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}



/* Lindenpraxis: polished mobile navigation, team media and back-to-top. */
@media (max-width: 767px) {
  #brx-header .bricks-mobile-menu-toggle span {
    background-color: #87995d !important;
    height: 2px;
    border-radius: 999px;
  }

  #brx-header .bricks-mobile-menu-wrapper {
    background: #f6f4ee !important;
    color: #2f342f !important;
    box-shadow: -18px 0 44px rgba(47, 52, 47, 0.16);
    padding-top: 24px;
  }

  #brx-header .bricks-mobile-menu > li > a {
    color: #2f342f !important;
    padding: 15px 28px !important;
    border-bottom: 1px solid rgba(135, 153, 93, 0.18);
    transition: background-color .2s ease, color .2s ease;
  }

  #brx-header .bricks-mobile-menu > li.current-menu-item > a,
  #brx-header .bricks-mobile-menu > li.current-menu-ancestor > a,
  #brx-header .bricks-mobile-menu > li > a:hover,
  #brx-header .bricks-mobile-menu > li > a:focus-visible {
    background: #e7ebdc !important;
    color: #59683d !important;
  }

  #brx-header .bricks-mobile-menu .menu-item-has-children > a button,
  #brx-header .bricks-mobile-menu .menu-item-has-children > a i,
  #brx-header .bricks-mobile-menu .menu-item-has-children > a svg {
    color: #87995d !important;
    fill: currentColor !important;
  }

  #brx-header .bricks-mobile-menu .sub-menu {
    background: #ecefe3 !important;
    color: #2f342f !important;
    padding: 6px 0 8px !important;
    box-shadow: inset 3px 0 0 #a6b374;
  }

  #brx-header .bricks-mobile-menu .sub-menu a {
    color: #2f342f !important;
    padding: 12px 28px 12px 40px !important;
  }

  #brx-header .bricks-mobile-menu .sub-menu a:hover,
  #brx-header .bricks-mobile-menu .sub-menu a:focus-visible,
  #brx-header .bricks-mobile-menu .sub-menu .current-menu-item > a {
    background: rgba(135, 153, 93, 0.14) !important;
    color: #59683d !important;
  }

  #brx-header .bricks-mobile-menu-overlay {
    background: rgba(47, 52, 47, 0.32) !important;
  }

  #brxe-oxwwrx img {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .lp-back-to-top {
    position: fixed;
    right: 18px;
    bottom: 92px;
    z-index: 998;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: #87995d;
    color: #fff;
    box-shadow: 0 8px 24px rgba(47,52,47,.22);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background-color .2s ease;
  }

  .lp-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .lp-back-to-top:hover,
  .lp-back-to-top:focus-visible {
    background: #6f804b;
  }

  .lp-back-to-top svg {
    width: 20px;
    height: 20px;
  }
}

@media (min-width: 768px) {
  .lp-back-to-top {
    display: none !important;
  }
}


@media (max-width: 767px) {
  .lp-back-to-top { bottom: 132px; }
}


@media (max-width: 767px) {
  #brx-header .bricks-mobile-menu .sub-menu,
  #brx-header .bricks-mobile-menu .sub-menu > li {
    background-color: #ecefe3 !important;
  }
}



/* Mobile refinement: high-contrast brand navigation and Praxis feature card. */
@media (max-width: 767px) {
  #brx-header .bricks-mobile-menu-wrapper {
    background: #2f342f !important;
    background-color: #2f342f !important;
    color: #ffffff !important;
  }

  #brx-header .bricks-mobile-menu > li,
  #brx-header .bricks-mobile-menu > li > a {
    background-color: transparent !important;
    color: #ffffff !important;
  }

  #brx-header .bricks-mobile-menu > li.current-menu-item > a,
  #brx-header .bricks-mobile-menu > li.current-menu-ancestor > a,
  #brx-header .bricks-mobile-menu > li > a:hover,
  #brx-header .bricks-mobile-menu > li > a:focus-visible {
    background-color: #87995d !important;
    color: #ffffff !important;
  }

  #brx-header .bricks-mobile-menu .sub-menu,
  #brx-header .bricks-mobile-menu .sub-menu > li {
    background: #3f4938 !important;
    background-color: #3f4938 !important;
    color: #ffffff !important;
  }

  #brx-header .bricks-mobile-menu .sub-menu a {
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255,255,255,.10);
  }

  #brx-header .bricks-mobile-menu .sub-menu a:hover,
  #brx-header .bricks-mobile-menu .sub-menu a:focus-visible,
  #brx-header .bricks-mobile-menu .sub-menu .current-menu-item > a {
    background-color: #59683d !important;
    color: #ffffff !important;
  }

  #brx-header .bricks-mobile-menu-toggle[aria-expanded="true"] span {
    background-color: #ffffff !important;
  }

  #brxe-cclkoz {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding: 24px !important;
    box-sizing: border-box;
  }

  #brxe-qvlljy,
  #brxe-nwseyh,
  #brxe-zxerso {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 16px !important;
    width: 100% !important;
    min-height: 76px;
    box-sizing: border-box;
  }

  #brxe-qvlljy .brxe-icon,
  #brxe-nwseyh .brxe-icon,
  #brxe-zxerso .brxe-icon {
    display: block !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    object-fit: contain;
  }

  #brxe-qvlljy .brxe-text-basic,
  #brxe-nwseyh .brxe-text-basic,
  #brxe-zxerso .brxe-text-basic {
    width: auto !important;
    min-width: 0 !important;
    color: #2f342f !important;
    line-height: 1.35 !important;
  }
}



/* Lindenpraxis: unify visible plugin typography and components. */
.lpjm-open-jobs-overview,
.lpjm-single-template,
.lp-recruiting-block,
.lp-ai-panel,
.lp-ai-panel *,
.lp-opening-hours,
.lp-opening-hours * {
  font-family: Inter, Arial, sans-serif !important;
}

.lpjm-open-jobs-overview,
.lpjm-single-template,
.lp-recruiting-block {
  color: #2f342f;
}

.lpjm-button,
.lpjm-back-button,
.lp-recruiting-block a[class*="button"],
.lp-recruiting-block button {
  border-radius: 8px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.lpjm-job-card__title {
  font-family: Inter, Arial, sans-serif !important;
  color: #2f342f !important;
}

.lp-ai-panel {
  color: #2f342f !important;
}

.lp-ai-header {
  color: #33402a !important;
}

@media (max-width: 767px) {
  .lpjm-open-jobs-overview {
    width: auto !important;
    max-width: none !important;
    margin-inline: 20px !important;
    box-sizing: border-box;
  }

  .lpjm-open-jobs-overview__list,
  .lpjm-open-jobs-overview__item,
  .lpjm-open-jobs-overview__summary,
  .lpjm-open-jobs-overview__jobs,
  .lpjm-overview-job,
  .lpjm-overview-job__link {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box;
  }

  .lpjm-open-jobs-overview__item {
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(47,52,47,.08);
  }

  .lpjm-open-jobs-overview__summary {
    padding: 18px !important;
  }

  .lpjm-open-jobs-count,
  .lpjm-open-jobs-overview__count {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .lpjm-open-jobs-overview__name {
    color: #59683d !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
  }

  .lpjm-open-jobs-overview__jobs {
    padding: 8px !important;
  }

  .lpjm-overview-job {
    padding: 0 !important;
  }

  .lpjm-overview-job__link {
    min-height: 88px;
    padding: 16px !important;
    border-radius: 12px !important;
  }

  .lpjm-overview-job__content {
    min-width: 0 !important;
  }

  .lpjm-overview-job__title {
    color: #2f342f !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  .lpjm-overview-job__meta {
    color: #667064 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .lpjm-overview-job__arrow {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    font-size: 18px !important;
  }

  .lp-recruiting-block {
    width: auto !important;
    max-width: none !important;
    margin-inline: 20px !important;
    box-sizing: border-box;
  }

  .lp-recruiting-block .lp-rb-head,
  .lp-recruiting-block .lp-rb-panel,
  .lp-recruiting-block .lp-rb-benefit-grid,
  .lp-recruiting-block .lp-rb-info-grid,
  .lp-recruiting-block .lp-rb-process-wrap,
  .lp-recruiting-block .lp-rb-process-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box;
  }

  .lp-recruiting-block .lp-rb-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding: 20px !important;
    border-radius: 16px !important;
    box-sizing: border-box;
  }

  .lp-recruiting-block .lp-rb-head {
    padding-inline: 0 !important;
  }

  .lp-recruiting-block h2 {
    color: #2f342f !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em;
  }

  .lp-recruiting-block h3 {
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  .lp-recruiting-block p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .lp-recruiting-block .lp-rb-kicker {
    color: #87995d !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .lp-recruiting-block .lp-rb-icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }

  .lpjm-single-wrapper {
    width: 100% !important;
    padding-inline: 20px !important;
    box-sizing: border-box;
  }

  .lpjm-job-card,
  .lpjm-job-card__inner {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box;
  }

  .lpjm-job-card {
    border-radius: 18px !important;
  }

  .lpjm-job-card__inner {
    padding: 20px !important;
  }

  .lpjm-job-card__title {
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  .lpjm-job-card__eyebrow {
    color: #87995d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .lpjm-job-chip,
  .lpjm-back-button {
    font-size: 14px !important;
  }

  .lpjm-job-section {
    border-radius: 14px !important;
  }

  .lpjm-button {
    min-height: 46px;
    font-size: 15px !important;
  }

  .lp-ai-panel,
  .lp-ai-panel input,
  .lp-ai-panel textarea,
  .lp-ai-panel button {
    font-family: Inter, Arial, sans-serif !important;
  }

  .lp-ai-message,
  .lp-ai-form input,
  .lp-ai-form textarea {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}



/* Career page: override late-loading recruiting plugin styles. */
@media (max-width: 767px) {
  body.page-id-19 main .brxe-shortcode > .lp-recruiting-block {
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    box-sizing: border-box !important;
  }

  body.page-id-19 main .lp-recruiting-block .lp-rb-head,
  body.page-id-19 main .lp-recruiting-block .lp-rb-panel,
  body.page-id-19 main .lp-recruiting-block .lp-rb-benefit-grid,
  body.page-id-19 main .lp-recruiting-block .lp-rb-info-grid,
  body.page-id-19 main .lp-recruiting-block .lp-rb-process-wrap,
  body.page-id-19 main .lp-recruiting-block .lp-rb-process-grid,
  body.page-id-19 main .lp-recruiting-block .lp-rb-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-id-19 main .lp-recruiting-block .lp-rb-card {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  body.page-id-19 main .lp-recruiting-block h2 {
    color: #2f342f !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  body.page-id-19 main .lp-recruiting-block h3 {
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  body.page-id-19 main .lp-recruiting-block p:not(.lp-rb-kicker) {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  body.page-id-19 main .lp-recruiting-block .lp-rb-kicker {
    color: #87995d !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
  }
}



/* Career recruiting blocks: align with the Lindenpraxis design system. */
body.page-id-19 main .lp-recruiting-block {
  font-family: Inter, Arial, sans-serif !important;
  color: #2f342f !important;
}

body.page-id-19 main .lp-recruiting-block h2,
body.page-id-19 main .lp-recruiting-block h3 {
  font-family: Montserrat, Arial, sans-serif !important;
  color: #2f342f !important;
}

body.page-id-19 main .lp-recruiting-block h2 {
  font-size: clamp(38px, 4.1vw, 52px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
}

body.page-id-19 main .lp-recruiting-block h3 {
  font-size: clamp(21px, 1.8vw, 26px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
}

body.page-id-19 main .lp-recruiting-block p:not(.lp-rb-kicker) {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #5f675f !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-kicker {
  font-family: Montserrat, Arial, sans-serif !important;
  color: #87995d !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.page-id-19 main .lp-recruiting-info .lp-rb-panel {
  background: #f7f5ef !important;
  border: 0 !important;
  border-radius: 28px !important;
  padding: clamp(32px, 4vw, 64px) !important;
  box-shadow: none !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-card {
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 38px rgba(47, 52, 47, .08) !important;
  color: #2f342f !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-card.is-highlight {
  background: #87995d !important;
  color: #ffffff !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-card.is-highlight h3,
body.page-id-19 main .lp-recruiting-block .lp-rb-card.is-highlight p {
  color: #ffffff !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  padding: 0 !important;
  border: 1px solid rgba(135, 153, 93, .24) !important;
  border-radius: 50% !important;
  background: #f1f3e8 !important;
  color: #78894e !important;
  box-shadow: none !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-icon svg {
  width: 27px !important;
  height: 27px !important;
  stroke-width: 1.8 !important;
}

body.page-id-19 main .lp-recruiting-block .lp-rb-card.is-highlight .lp-rb-icon {
  background: rgba(255, 255, 255, .14) !important;
  border-color: rgba(255, 255, 255, .36) !important;
  color: #ffffff !important;
}

body.page-id-19 main .lp-recruiting-process .lp-rb-process-card {
  position: relative;
  padding: 32px !important;
}

body.page-id-19 main .lp-recruiting-process .lp-rb-step-number {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 50% !important;
  background: #87995d !important;
  color: #ffffff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: 0 0 0 5px #f1f3e8 !important;
}

body.page-id-19 main .lp-rb-process-line {
  background: rgba(135, 153, 93, .22) !important;
}

@media (max-width: 767px) {
  body.page-id-19 main .lp-recruiting-block h2 {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  body.page-id-19 main .lp-recruiting-block h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  body.page-id-19 main .lp-recruiting-block p:not(.lp-rb-kicker) {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  body.page-id-19 main .lp-recruiting-info .lp-rb-panel {
    padding: 24px !important;
    border-radius: 22px !important;
  }

  body.page-id-19 main .lp-recruiting-block .lp-rb-card,
  body.page-id-19 main .lp-recruiting-process .lp-rb-process-card {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  body.page-id-19 main .lp-recruiting-block .lp-rb-icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }

  body.page-id-19 main .lp-recruiting-block .lp-rb-icon svg {
    width: 24px !important;
    height: 24px !important;
  }
}



/* Header navigation: separate, accessible desktop and mobile color systems. */
@media (min-width: 768px) {
  #brx-header .bricks-nav-menu > li > .sub-menu,
  #brx-header .bricks-nav-menu .sub-menu {
    background: #f6f4ee !important;
    background-color: #f6f4ee !important;
    border: 1px solid rgba(135, 153, 93, .22) !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 18px 38px rgba(47, 52, 47, .14) !important;
    overflow: hidden;
  }

  #brx-header .bricks-nav-menu .sub-menu > li,
  #brx-header .bricks-nav-menu .sub-menu > li > a {
    background: transparent !important;
    background-color: transparent !important;
    color: #2f342f !important;
  }

  #brx-header .bricks-nav-menu .sub-menu > li > a {
    padding: 15px 24px !important;
    border-bottom: 1px solid rgba(135, 153, 93, .14);
    font-family: Inter, Arial, sans-serif !important;
  }

  #brx-header .bricks-nav-menu .sub-menu > li:last-child > a {
    border-bottom: 0;
  }

  #brx-header .bricks-nav-menu .sub-menu > li > a:hover,
  #brx-header .bricks-nav-menu .sub-menu > li > a:focus-visible,
  #brx-header .bricks-nav-menu .sub-menu > li.current-menu-item > a {
    background: #e7ebdc !important;
    background-color: #e7ebdc !important;
    color: #59683d !important;
  }
}

@media (max-width: 767px) {
  #brx-header nav.bricks-mobile-menu-wrapper,
  #brx-header nav.bricks-mobile-menu-wrapper .bricks-mobile-menu {
    background: #2f342f !important;
    background-color: #2f342f !important;
    color: #ffffff !important;
  }

  #brx-header nav.bricks-mobile-menu-wrapper .bricks-mobile-menu > li > a,
  #brx-header nav.bricks-mobile-menu-wrapper .bricks-mobile-menu .sub-menu a {
    color: #ffffff !important;
  }

  #brx-header nav.bricks-mobile-menu-wrapper .bricks-mobile-menu .sub-menu,
  #brx-header nav.bricks-mobile-menu-wrapper .bricks-mobile-menu .sub-menu > li {
    background: #3f4938 !important;
    background-color: #3f4938 !important;
  }
}

/* Career info panel: true internal breathing room, including motion states. */
body.page-id-19 main .lp-recruiting-info .lp-rb-panel {
  width: 100% !important;
  max-width: 1280px !important;
  padding: 56px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.page-id-19 main .lp-recruiting-info .lp-rb-head {
  width: 100% !important;
  margin: 0 0 44px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-19 main .lp-recruiting-info .lp-rb-info-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-19 main .lp-recruiting-info .lp-rb-info-card {
  transform: none !important;
}

@media (max-width: 767px) {
  body.page-id-19 main .lp-recruiting-info .lp-rb-panel {
    padding: 24px !important;
  }

  body.page-id-19 main .lp-recruiting-info .lp-rb-head {
    margin-bottom: 28px !important;
  }
}



/* Final high-specificity override for the recruiting plugin panel spacing. */
body.page-id-19 #brx-content #brxe-ldyllq > section.lp-recruiting-info > .lp-rb-panel {
  padding: 56px !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
}

body.page-id-19 #brx-content #brxe-ldyllq > section.lp-recruiting-info > .lp-rb-panel > .lp-rb-head {
  margin: 0 0 44px !important;
  padding: 0 !important;
}

body.page-id-19 #brx-content #brxe-ldyllq > section.lp-recruiting-info > .lp-rb-panel > .lp-rb-info-grid {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  body.page-id-19 #brx-content #brxe-ldyllq > section.lp-recruiting-info > .lp-rb-panel {
    padding: 24px !important;
  }

  body.page-id-19 #brx-content #brxe-ldyllq > section.lp-recruiting-info > .lp-rb-panel > .lp-rb-head {
    margin-bottom: 28px !important;
  }
}



/* Career job overview: restore the site's visual scale and hierarchy. */
body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__item {
  border-radius: 22px !important;
  box-shadow: 0 14px 38px rgba(47, 52, 47, .08) !important;
  overflow: hidden;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__summary {
  min-height: 104px !important;
  padding: 24px 28px !important;
  gap: 14px !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__name {
  font-family: Montserrat, Arial, sans-serif !important;
  color: #59683d !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__count,
body.page-id-19 main .lpjm-open-jobs-count {
  min-height: 34px !important;
  padding: 7px 13px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__summary::after {
  width: 40px !important;
  height: 40px !important;
  font-size: 18px !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__jobs {
  gap: 12px !important;
  padding: 12px 24px 24px !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__link,
body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job:not(.is-empty) {
  min-height: 104px !important;
  padding: 22px 24px !important;
  border-radius: 16px !important;
  align-items: center !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__title {
  font-family: Montserrat, Arial, sans-serif !important;
  color: #2f342f !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__meta {
  margin-top: 6px !important;
  font-family: Inter, Arial, sans-serif !important;
  color: #667064 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__arrow {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  font-size: 18px !important;
}

@media (max-width: 767px) {
  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__summary {
    min-height: 0 !important;
    padding: 20px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__name {
    font-size: 20px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__count,
  body.page-id-19 main .lpjm-open-jobs-count {
    font-size: 13px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__summary::after {
    width: 36px !important;
    height: 36px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-open-jobs-overview__jobs {
    padding: 8px 12px 16px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__link,
  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job:not(.is-empty) {
    min-height: 96px !important;
    padding: 18px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__title {
    font-size: 17px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__meta {
    font-size: 15px !important;
  }

  body.page-id-19 main .lpjm-open-jobs-overview--accordion .lpjm-overview-job__arrow {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }
}


/* Opening-hours bar: centered and never clipped */
#brxe-fnxpvu {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 44px !important;
  height: auto !important;
  overflow: visible !important;
  padding-block: 7px !important;
}
#brxe-iuacht { justify-self: start !important; }
#brxe-hnwhvz {
  justify-self: center !important;
  width: auto !important;
  max-width: none !important;
  min-width: max-content !important;
}
#brxe-nhryxn { justify-self: end !important; }
#brxe-hnwhvz .lpoh-today-status {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  text-align: center !important;
  text-transform: none !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: .035em !important;
}
@media (max-width: 767px) {
  #brxe-fnxpvu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 6px 16px !important;
  }
  #brxe-fnxpvu > #brxe-iuacht,
  #brxe-fnxpvu > #brxe-nhryxn { display: none !important; }
  #brxe-fnxpvu > #brxe-hnwhvz {
    display: block !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
  }
  #brxe-hnwhvz .lpoh-today-status {
    width: 100% !important;
    font-size: clamp(10.5px, 3.1vw, 12px) !important;
    letter-spacing: .015em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
}


/* Final intrinsic width fix for opening status */
#brxe-hnwhvz .brxe-shortcode,#brxe-hnwhvz>.brxe-shortcode,#brxe-hnwhvz .lpoh-today-status{width:max-content!important;max-width:none!important}
@media(max-width:767px){#brxe-hnwhvz .brxe-shortcode,#brxe-hnwhvz>.brxe-shortcode,#brxe-hnwhvz .lpoh-today-status{width:100%!important;max-width:100%!important}}


/* Mobile sticky main header: the opening-hours bar scrolls away */
@media (max-width:767px){
  #brxe-rmdzqk{
    position:sticky!important;
    top:0!important;
    z-index:9995!important;
    width:100%!important;
    background:rgba(255,255,255,.96)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    backdrop-filter:blur(12px)!important;
    box-shadow:0 8px 24px rgba(40,48,43,.08)!important;
  }
  body.admin-bar #brxe-rmdzqk{top:46px!important}
  #brxe-rmdzqk .bricks-mobile-menu-wrapper{z-index:10002!important}
  #brxe-rmdzqk .bricks-mobile-menu-overlay{z-index:10001!important}
  #brxe-rmdzqk .bricks-mobile-menu-toggle{position:relative;z-index:10003!important}
}
@media (min-width:768px){#brxe-rmdzqk{box-shadow:none}}


/* Mobile sticky state managed after the status bar leaves view */
@media(max-width:767px){
 #brxe-rmdzqk{position:relative!important;top:auto!important}
 body.lp-mobile-nav-stuck #brx-header{padding-bottom:var(--lp-mobile-nav-height)!important}
 body.lp-mobile-nav-stuck #brxe-rmdzqk{position:fixed!important;top:0!important;left:0!important;right:0!important}
 body.admin-bar.lp-mobile-nav-stuck #brxe-rmdzqk{top:46px!important}
}
