/* Root-site contrast corrections. The synchronization plugin remains untouched. */
body.spoe-root-landing-page .spoe-root-chrome .spktn-header,
body.spktn-native-frontpage .spktn-header {
    z-index: 1000 !important;
}

/* Temporarily remove Themen from the statewide primary navigation while the
   editorial page is being revised. The page itself remains available by URL. */
.spoe-root-nav > a.spoe-root-nav__link[href*="/themen/"] {
    display: none !important;
}

/* Virtual contact, service and article routes can be served by legacy Nature
   Bliss/Elementor templates. Keep their content, but use only the canonical
   Kaernten header and prevent duplicate/obsolete navigation from resurfacing. */
body.spoe-root-auxiliary-page #masthead,
body.spoe-root-auxiliary-page #custom-header,
body.spoe-root-auxiliary-page #mobile-trigger,
body.spoe-root-auxiliary-page #mob-menu,
body.spoe-root-auxiliary-page .elementor-location-header {
    display: none !important;
}

body.spoe-root-auxiliary-page #page {
    margin-top: 0 !important;
}

body.spoe-root-auxiliary-page #content {
    padding-top: 0 !important;
}

body.spoe-root-auxiliary-page .spoe-contact-page {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: 1180px;
    padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 3vw, 2rem);
}

body.spoe-root-auxiliary-page .spoe-contact-page > header {
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    max-width: 760px;
}

body.spoe-root-auxiliary-page .spoe-contact-page__eyebrow {
    color: #e42612;
    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

body.spoe-root-auxiliary-page .spoe-contact-page h1 {
    color: #e42612;
    font-size: clamp(2.5rem, 6vw, 5rem);
    line-height: 1;
    margin: 0.25rem 0 1rem;
}

body.spoe-root-auxiliary-page .spoe-contact-page > .spoe-rose-form {
    background: #fff;
    border: 1px solid rgba(228, 38, 18, 0.16);
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(38, 20, 21, 0.09);
    margin-top: 0;
    min-height: 0;
    padding: clamp(1rem, 3vw, 2rem);
}

/* Nature Bliss floats #primary on legacy single-post templates. The virtual
   article is a full-page layout, so clear that float and keep the obsolete
   Elementor footer from wrapping into a right-hand pseudo-sidebar. */
body.spoe-root-article-page .spoe-virtual-shell--single {
    box-sizing: border-box;
    clear: both;
    float: none !important;
    margin-inline: auto !important;
    max-width: 1180px;
    padding-inline: clamp(1rem, 3vw, 2rem);
    width: calc(100% - 2rem) !important;
}

body.spoe-root-article-page .elementor-location-footer {
    display: none !important;
}

body.spktn-native-frontpage .spktn-logo.spktn-logo--template,
body.spoe-root-landing-page .spoe-root-chrome .spktn-logo.spktn-logo--template {
    aspect-ratio: 908 / 741;
    background: url("spoe-kaernten-logo-original-rot.png") left center / contain no-repeat;
    display: block;
    width: clamp(108px, 8.4vw, 132px);
}

body.spktn-native-frontpage .spktn-logo.spktn-logo--template img,
body.spktn-native-frontpage .spktn-logo.spktn-logo--template .spktn-logo__title,
body.spoe-root-landing-page .spoe-root-chrome .spktn-logo.spktn-logo--template img,
body.spoe-root-landing-page .spoe-root-chrome .spktn-logo.spktn-logo--template .spktn-logo__title {
    display: none !important;
}

body.spktn-native-frontpage .spoe-root-nav__link,
body.spktn-native-frontpage .spoe-root-nav__item > summary,
body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav__link,
body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav__item > summary {
    font-size: 14px !important;
}

/* Firefox can otherwise retain its native disclosure marker and an
   inconsistent hit area on flex-positioned details summaries. */
body.spktn-native-frontpage .spoe-root-nav__item > summary,
body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav__item > summary {
    list-style: none !important;
}

body.spktn-native-frontpage .spoe-root-nav__item > summary::marker,
body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav__item > summary::marker {
    content: "";
}

/* Root article cards use 1200x630 editorial images. Preserve the complete
   preview, including after hover and after AJAX pagination. */
body.spktn-native-frontpage .spktn-card__image {
    aspect-ratio: 1200 / 630 !important;
}

body.spktn-native-frontpage .spktn-card__image img,
body.spktn-native-frontpage .spktn-card:hover .spktn-card__image img {
    object-fit: contain !important;
    transform: none !important;
}

/* Progressive root-mobile navigation. The menu is hidden only after the
   script has successfully bound the accessible toggle. */
.spoe-root-nav-toggle {
    display: none;
}

@media (max-width: 900px) {
    html.spoe-root-mobile-nav-ready body.spktn-native-frontpage .spktn-header__inner,
    html.spoe-root-mobile-nav-ready body.spoe-root-landing-page .spoe-root-chrome .spktn-header__inner {
        align-items: center !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
        justify-content: space-between !important;
    }

    html.spoe-root-mobile-nav-ready body.spktn-native-frontpage .spoe-root-nav-toggle,
    html.spoe-root-mobile-nav-ready body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav-toggle {
        align-items: center;
        background: #e30613;
        border: 2px solid #e30613;
        border-radius: 7px;
        color: #fff;
        cursor: pointer;
        display: inline-flex;
        font: inherit;
        font-size: 0.92rem;
        font-weight: 800;
        gap: 0.65rem;
        justify-content: center;
        min-height: 46px;
        padding: 0.65rem 0.85rem;
    }

    html.spoe-root-mobile-nav-ready .spoe-root-nav-toggle:hover,
    html.spoe-root-mobile-nav-ready .spoe-root-nav-toggle:focus-visible {
        background: #fff;
        color: #e30613;
        outline: 3px solid rgba(227, 6, 19, 0.18);
        outline-offset: 2px;
    }

    .spoe-root-nav-toggle__icon {
        display: grid;
        gap: 4px;
        width: 22px;
    }

    .spoe-root-nav-toggle__icon i {
        background: currentColor;
        border-radius: 999px;
        display: block;
        height: 2px;
        width: 100%;
    }

    html.spoe-root-mobile-nav-ready body.spktn-native-frontpage .spoe-root-nav,
    html.spoe-root-mobile-nav-ready body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav {
        display: none !important;
    }

    html.spoe-root-mobile-nav-ready body.spktn-native-frontpage .spoe-root-nav.spoe-root-nav--open,
    html.spoe-root-mobile-nav-ready body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav.spoe-root-nav--open {
        align-items: stretch !important;
        background: #e30613 !important;
        border-radius: 12px;
        box-shadow: 0 16px 34px rgba(54, 18, 18, 0.18);
        display: flex !important;
        flex: 1 0 100%;
        flex-direction: column !important;
        gap: 0.2rem !important;
        padding: 0.65rem !important;
        width: 100% !important;
    }

    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open > .spoe-root-nav__link,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open > .spoe-root-nav__item > summary {
        border-radius: 7px;
        color: #fff !important;
        display: block;
        padding: 0.82rem 0.9rem !important;
        text-align: left;
        width: 100% !important;
    }

    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open > .spoe-root-nav__link:hover,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open > .spoe-root-nav__link:focus-visible,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open > .spoe-root-nav__item > summary:hover,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open > .spoe-root-nav__item > summary:focus-visible {
        background: rgba(255, 255, 255, 0.16) !important;
        color: #fff !important;
    }

    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open .spoe-root-nav__panel {
        background: #fff !important;
        border: 0 !important;
        border-radius: 9px;
        box-shadow: none !important;
        color: #252525 !important;
        margin-top: 0.35rem !important;
        min-width: 0 !important;
        padding: 0.8rem !important;
        position: static !important;
        transform: none !important;
        width: 100% !important;
    }

    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open .spoe-root-nav__panel a,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open .spoe-root-nav__panel strong,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open .spoe-root-nav__panel span,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open .spoe-root-nav__panel p,
    html.spoe-root-mobile-nav-ready .spoe-root-nav.spoe-root-nav--open .spoe-root-nav__panel h4 {
        color: #252525 !important;
    }
}

@media (min-width: 1000px) {
    body.spktn-native-frontpage .spoe-root-nav__link,
    body.spktn-native-frontpage .spoe-root-nav__item > summary,
    body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav__link,
    body.spoe-root-landing-page .spoe-root-chrome .spoe-root-nav__item > summary {
        font-size: 14.667px !important;
    }
}

body.spoe-root-landing-page .spoe-root-page__button {
    background: #e42612 !important;
    border: 2px solid #e42612 !important;
    color: #fff !important;
    text-decoration: none !important;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease !important;
}

body.spoe-root-landing-page .spoe-root-page__button:hover,
body.spoe-root-landing-page .spoe-root-page__button:focus-visible {
    background: #fff !important;
    border-color: #e42612 !important;
    color: #e42612 !important;
}

body.spoe-root-landing-page .spoe-root-page__button--ghost {
    background: #fff !important;
    border-color: #e42612 !important;
    color: #e42612 !important;
}

body.spoe-root-landing-page .spoe-root-page__button--ghost:hover,
body.spoe-root-landing-page .spoe-root-page__button--ghost:focus-visible {
    background: #e42612 !important;
    border-color: #e42612 !important;
    color: #fff !important;
}

.spktn-topbar__actions {
  align-items: center;
  display: flex;
  gap: clamp(1rem, 2vw, 2rem);
}

.spoe-root-district-directory {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.spoe-root-district {
  background: #fff;
  border: 1px solid rgba(228, 38, 18, 0.14);
  border-radius: 24px;
  box-shadow: 0 16px 38px rgba(40, 20, 20, 0.08);
  display: grid;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: minmax(230px, 0.75fr) minmax(0, 1.5fr);
  padding: clamp(1.25rem, 3vw, 2.25rem);
  scroll-margin-top: 150px;
}

.spoe-root-district__eyebrow {
  color: #e42612;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin: 0;
  text-transform: uppercase;
}

.spoe-root-district__contact h3 {
  color: #e42612;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  margin: 0.3rem 0 1rem;
}

.spoe-root-district__contact address {
  font-style: normal;
}

.spoe-root-district__contact a,
.spoe-root-district__people a {
  color: #c91f10;
  font-weight: 750;
}

.spoe-root-district__people {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.spoe-root-district__people article {
  background: #fff7f6;
  border-radius: 18px;
  overflow: hidden;
}

.spoe-root-district__people img {
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.spoe-root-district__people article > div {
  display: flex;
  flex-direction: column;
  padding: 1rem;
}

.spoe-root-district__people h4 {
  color: #e42612;
  font-size: 1.1rem;
  margin: 0;
}

.spoe-root-district__role {
  font-weight: 750;
  margin: 0.25rem 0 0.65rem;
}

.spoe-root-directory__unavailable {
  color: #5f5f5f;
}

@media (max-width: 760px) {
  .spktn-topbar__actions {
    gap: 0.75rem;
  }

  .spoe-root-district {
    grid-template-columns: 1fr;
  }

  .spoe-root-district__people {
    grid-template-columns: 1fr;
  }
}

body.spoe-root-landing-page .elementor-share-btn {
    background: #e42612 !important;
    border: 1px solid #e42612 !important;
    color: #fff !important;
}

body.spoe-root-landing-page .elementor-share-btn:hover,
body.spoe-root-landing-page .elementor-share-btn:focus-visible {
    background: #fff !important;
    border-color: #e42612 !important;
    color: #e42612 !important;
}

body.spoe-root-landing-page .elementor-share-btn *,
body.spoe-root-landing-page .elementor-share-btn:hover *,
body.spoe-root-landing-page .elementor-share-btn:focus-visible * {
    color: inherit !important;
    fill: currentColor !important;
}

/* Borlabs' default hover green is too light for white text. Keep consent-gated
   embeds readable and consistent with the site's button language. */
body ._brlbs-content-blocker ._brlbs-btn {
    background: #e42612 !important;
    border: 2px solid #e42612 !important;
    color: #fff !important;
}

body ._brlbs-content-blocker ._brlbs-btn:hover,
body ._brlbs-content-blocker ._brlbs-btn:focus-visible {
    background: #fff !important;
    border-color: #e42612 !important;
    color: #e42612 !important;
}

.spoe-root-legal-page,
.spoe-root-form-page {
    margin-inline: auto;
    max-width: 980px;
    padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 3vw, 2rem);
}

.spoe-root-legal-page h2,
.spoe-root-legal-page h3,
.spoe-root-legal-page h4,
.spoe-root-form-page h2 {
    color: #e42612;
    line-height: 1.15;
}

.spoe-root-legal-page p,
.spoe-root-legal-page li,
.spoe-root-form-page p {
    font-size: 1.05rem;
    line-height: 1.75;
}

.spoe-root-legal-page a,
.spoe-root-form-page a {
    color: #c91e10;
}

.spoe-root-form-page .spoe-rose-form {
    background: #fff;
    border: 1px solid rgba(228, 38, 18, 0.16);
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(38, 20, 21, 0.09);
    margin-top: 2rem;
    min-height: 220px;
    padding: clamp(1rem, 3vw, 2rem);
}

/* The former Elementor membership page still contains an obsolete ROSE form
   and theme colors that can make dynamically mounted labels invisible. The
   network plugin now renders form 1311 in this isolated, contrast-safe shell. */
.spoe-root-membership-page {
    color: #252525;
    max-width: 1120px;
}

.spoe-root-membership-page__header {
    max-width: 820px;
    margin-bottom: clamp(2rem, 5vw, 4rem);
}

.spoe-root-membership-page__eyebrow {
    color: #e42612;
    font-size: 0.82rem !important;
    font-weight: 850;
    letter-spacing: 0.13em;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
}

.spoe-root-membership-page__header h1 {
    color: #171717;
    font-size: clamp(2.6rem, 7vw, 5.5rem);
    letter-spacing: -0.035em;
    line-height: 0.96;
    margin: 0 0 1.4rem;
}

.spoe-root-membership-page__header p:not(.spoe-root-membership-page__eyebrow) {
    color: #4b4b4b;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.65;
    margin: 0.45rem 0;
}

.spoe-root-membership-page__form-card {
    background: #fff;
    border: 1px solid rgba(228, 38, 18, 0.16);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(38, 20, 21, 0.1);
    padding: clamp(1.25rem, 4vw, 3rem);
}

.spoe-root-membership-page__form-card > h2 {
    margin: 0;
}

.spoe-root-membership-page .spoe-rose-form {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-top: 1.25rem;
    min-height: 0;
    padding: 0;
}

.spoe-root-membership-page .unite-form,
.spoe-root-membership-page .unite-form form,
.spoe-root-membership-page .unite-form .form-group,
.spoe-root-membership-page .unite-form .columns,
.spoe-root-membership-page .unite-form .column {
    color: #3b4351;
}

.spoe-root-membership-page .unite-form.style-spectre {
    margin-inline: auto;
    max-width: 900px;
}

.spoe-root-membership-page .unite-form .form-label,
.spoe-root-membership-page .unite-form label,
.spoe-root-membership-page .unite-form legend {
    color: #252525 !important;
    opacity: 1 !important;
}

.spoe-root-membership-page .unite-form .form-label {
    font-weight: 750;
}

.spoe-root-membership-page .unite-form .form-input,
.spoe-root-membership-page .unite-form .form-select,
.spoe-root-membership-page .unite-form textarea {
    background: #fff !important;
    border-color: #b8bfca !important;
    color: #252525 !important;
}

.spoe-root-membership-page .unite-form .form-input:focus,
.spoe-root-membership-page .unite-form .form-select:focus,
.spoe-root-membership-page .unite-form textarea:focus {
    border-color: #e42612 !important;
    box-shadow: 0 0 0 0.12rem rgba(228, 38, 18, 0.18) !important;
}

.spoe-root-membership-page .unite-form .btn,
.spoe-root-membership-page .unite-form button[type="submit"] {
    background: #e42612 !important;
    border-color: #e42612 !important;
    color: #fff !important;
    font-weight: 800;
}

.spoe-root-membership-page .unite-form a {
    color: #c91e10 !important;
}

@media (max-width: 700px) {
    .spoe-root-membership-page {
        padding-inline: 0.85rem;
    }

    .spoe-root-membership-page__form-card {
        border-radius: 16px;
        padding: 1rem;
    }
}

/* Membership landing page: old-site content in the current Kärnten design. */
.spoe-root-membership-page {
    color: #252525;
    max-width: 1180px;
}

.spoe-root-membership-page__hero {
    align-items: stretch;
    background: linear-gradient(135deg, #fff 0%, #fff7f6 62%, #fde7e5 100%);
    border: 1px solid rgba(227, 6, 19, 0.16);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(46, 21, 21, 0.09);
    display: grid;
    gap: clamp(1.5rem, 4vw, 3.75rem);
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.7fr);
    overflow: hidden;
    padding: clamp(1.5rem, 5vw, 4.5rem);
}

.spoe-root-membership-page__hero-copy {
    align-self: center;
}

.spoe-root-membership-page__hero h1 {
    color: #171717;
    font-size: clamp(2.65rem, 6vw, 5.25rem);
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin: 0 0 1.4rem;
    max-width: 760px;
}

.spoe-root-membership-page__hero-copy > p:not(.spoe-root-membership-page__eyebrow) {
    color: #4a4a4a;
    font-size: clamp(1rem, 1.7vw, 1.12rem);
    line-height: 1.7;
    margin: 0.75rem 0;
    max-width: 720px;
}

.spoe-root-membership-page__hero-copy .spoe-root-membership-page__lead {
    color: #252525;
    font-size: clamp(1.18rem, 2vw, 1.4rem) !important;
    font-weight: 700;
    line-height: 1.45;
}

.spoe-root-membership-page__cta {
    align-items: center;
    background: #e30613;
    border: 2px solid #e30613;
    border-radius: 999px;
    color: #fff !important;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 800;
    justify-content: center;
    margin-top: 1.2rem;
    min-height: 50px;
    padding: 0.7rem 1.45rem;
    text-decoration: none !important;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.spoe-root-membership-page__cta:hover,
.spoe-root-membership-page__cta:focus-visible {
    background: transparent;
    color: #e30613 !important;
    transform: translateY(-2px);
}

.spoe-root-membership-page__values {
    align-self: stretch;
    background: linear-gradient(145deg, #ed1717, #c70813);
    border-radius: 22px;
    box-shadow: 0 20px 45px rgba(191, 7, 18, 0.22);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 2.6rem);
    position: relative;
}

.spoe-root-membership-page__values::after {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    content: "";
    height: 150px;
    position: absolute;
    right: -65px;
    top: -58px;
    width: 150px;
}

.spoe-root-membership-page__values > span {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.spoe-root-membership-page__values > strong {
    color: #fff;
    font-size: clamp(2.4rem, 5vw, 4.25rem);
    letter-spacing: -0.04em;
    line-height: 1;
    margin: 0.25rem 0 1rem;
}

.spoe-root-membership-page__values p {
    color: #fff;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.spoe-root-membership-page__value-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1.4rem 0;
}

.spoe-root-membership-page__value-list span {
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 750;
    padding: 0.35rem 0.65rem;
}

.spoe-root-membership-page__friendship {
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    font-weight: 700;
    margin-top: 0.25rem !important;
    padding-top: 1.1rem;
}

.spoe-root-membership-page__benefits {
    margin-top: clamp(3.5rem, 7vw, 6rem);
}

.spoe-root-membership-page__section-head {
    margin: 0 auto clamp(1.6rem, 4vw, 2.75rem);
    max-width: 780px;
    text-align: center;
}

.spoe-root-membership-page__section-head h2 {
    color: #171717;
    font-size: clamp(2rem, 4vw, 3.5rem);
    letter-spacing: -0.03em;
    margin: 0 0 0.8rem;
}

.spoe-root-membership-page__section-head > p:not(.spoe-root-membership-page__eyebrow) {
    color: #565656;
    margin: 0;
}

.spoe-root-membership-page__benefit-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.spoe-root-membership-page__benefit {
    background: #fff;
    border: 1px solid rgba(227, 6, 19, 0.14);
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(48, 25, 25, 0.07);
    padding: clamp(1.25rem, 3vw, 1.8rem);
}

.spoe-root-membership-page__benefit-icon {
    align-items: center;
    background: #e30613;
    border-radius: 14px;
    color: #fff;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    margin-bottom: 1rem;
    width: 48px;
}

.spoe-root-membership-page__benefit-icon svg {
    display: block;
}

.spoe-root-membership-page__benefit h3 {
    color: #1e1e1e;
    font-size: 1.2rem;
    margin: 0 0 0.45rem;
}

.spoe-root-membership-page__benefit p {
    color: #5a5a5a;
    font-size: 0.98rem;
    line-height: 1.58;
    margin: 0;
}

.spoe-root-membership-page__form-card {
    border-color: rgba(227, 6, 19, 0.18);
    margin-top: clamp(3.5rem, 8vw, 7rem);
    scroll-margin-top: 2rem;
}

.spoe-root-membership-page__form-head {
    border-bottom: 1px solid #eee3e2;
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
}

.spoe-root-membership-page__form-head h2 {
    color: #171717;
    font-size: clamp(2rem, 4vw, 3.25rem);
    letter-spacing: -0.03em;
    margin: 0 0 0.55rem;
}

.spoe-root-membership-page__form-head > p:not(.spoe-root-membership-page__eyebrow) {
    color: #555;
    margin: 0;
}

.spoe-root-membership-page__form-head strong {
    color: #e30613;
}

/* ROSE mounts its own application after page load. Override every readable
   text layer, not only labels, so inherited white Elementor text cannot leak
   into the white form card. */
.spoe-root-membership-page .unite-form,
.spoe-root-membership-page .unite-form form,
.spoe-root-membership-page .unite-form p,
.spoe-root-membership-page .unite-form li,
.spoe-root-membership-page .unite-form .form-radio,
.spoe-root-membership-page .unite-form .form-checkbox,
.spoe-root-membership-page .unite-form .text-small {
    color: #252525 !important;
}

.spoe-root-membership-page .unite-form p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

.spoe-root-membership-page .unite-form .text-small,
.spoe-root-membership-page .unite-form .text-small p {
    color: #555 !important;
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
}

.spoe-root-membership-page .unite-form strong {
    color: #202020 !important;
}

.spoe-root-membership-page .unite-form h2,
.spoe-root-membership-page .unite-form h3 {
    color: #e30613 !important;
}

.spoe-root-membership-page .unite-form .text-error,
.spoe-root-membership-page .unite-form .form-input-hint {
    color: #b00020 !important;
}

.spoe-root-membership-page .unite-form .form-group {
    margin-bottom: 1rem;
}

/* The contribution explanation is required form content, not an empty spacer.
   Present it as a compact fact box while keeping every sentence readable. */
.spoe-root-membership-page .unite-form .form-group.spoe-membership-contribution-info {
    background: #fff5f3 !important;
    border: 1px solid rgba(227, 6, 19, 0.18) !important;
    border-left: 5px solid #e30613 !important;
    border-radius: 12px !important;
    margin: 0.35rem 0 1rem !important;
    padding: clamp(0.85rem, 2vw, 1.15rem) !important;
}

.spoe-root-membership-page .unite-form .form-group.spoe-membership-contribution-info p {
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    margin: 0 0 0.55rem !important;
}

.spoe-root-membership-page .unite-form .form-group.spoe-membership-contribution-info p:last-child {
    margin-bottom: 0 !important;
}

.spoe-root-membership-page .unite-form .form-label {
    color: #202020 !important;
    font-size: 0.96rem;
    margin-bottom: 0.38rem;
}

.spoe-root-membership-page .unite-form .form-input,
.spoe-root-membership-page .unite-form .form-select,
.spoe-root-membership-page .unite-form textarea {
    border-radius: 8px !important;
    min-height: 46px;
    padding-inline: 0.8rem;
}

.spoe-root-membership-page .unite-form input::placeholder,
.spoe-root-membership-page .unite-form textarea::placeholder {
    color: #747b84 !important;
    opacity: 1;
}

.spoe-root-membership-page .unite-form .btn:hover,
.spoe-root-membership-page .unite-form .btn:focus-visible,
.spoe-root-membership-page .unite-form button[type="submit"]:hover,
.spoe-root-membership-page .unite-form button[type="submit"]:focus-visible {
    background: #fff !important;
    border-color: #e30613 !important;
    color: #e30613 !important;
}

@media (max-width: 900px) {
    .spoe-root-membership-page__hero {
        grid-template-columns: 1fr;
    }

    .spoe-root-membership-page__values {
        min-height: 320px;
    }

    .spoe-root-membership-page__benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .spoe-root-membership-page {
        padding-inline: 0.75rem;
    }

    .spoe-root-membership-page__hero {
        border-radius: 18px;
        padding: 1.25rem;
    }

    .spoe-root-membership-page__hero h1 {
        font-size: clamp(2.35rem, 13vw, 3.5rem);
    }

    .spoe-root-membership-page__values {
        border-radius: 16px;
        min-height: 0;
    }

    .spoe-root-membership-page__benefit-grid {
        grid-template-columns: 1fr;
    }

    .spoe-root-membership-page__form-card {
        padding: 1rem;
    }

    .spoe-root-membership-page .unite-form .columns {
        margin-inline: 0;
    }

    .spoe-root-membership-page .unite-form .column {
        padding-inline: 0;
    }
}
@media (max-width: 900px) {
  /* The canonical mobile header replaces Nature Bliss' former fixed header. */
  body.spoe-root-landing-page #page {
    margin-top: 0 !important;
  }
}
