/* Shared theme: Homepage design, native Flexcom regions and CMS navigation. */
:root                           { --st-brand: #9e1b32; --st-surface: #fffaf2; --st-brown: #6b3e26; --st-paper: #f5e8d6; }
:root                           { --st-ink: #392b24; --st-muted: #746252; --st-gold: #cbaa7d; --st-border: #9c8065; }
:root                           { --st-heading: 'Berkshire Swash', Georgia, serif; --font-family: Lora, Georgia, serif; }
:root                           { --font-size: 16px; --line-height: 1.625; --text-color: var(--st-ink); }
:root                           { --st-content-width: 1500px; --st-block-gap: 32px; --st-panel-padding: 32px; --st-radius: 8px; }
@font-face                      { font-family: 'Berkshire Swash'; src: url('font/berkshire-swash.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face                      { font-family: Lora; src: url('font/lora-variable.ttf') format('truetype'); font-weight: 400 700; font-style: normal; font-display: swap; }
body.st-theme                   { margin: 0; background: var(--st-paper); color: var(--text-color); font: 400 var(--font-size)/var(--line-height) var(--font-family); }
.st-theme *, .st-theme *::before, .st-theme *::after { box-sizing: border-box; }
.st-theme img                   { max-width: 100%; }
.st-theme a                     { color: var(--st-brand); text-underline-offset: 4px; }
.st-theme :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--st-gold); outline-offset: 4px; }
.st-theme :is(button,input,select,textarea) { font-family: inherit; }
.st-theme :is(h1,h2,h3,.bh)      { color: var(--st-brown); font-family: var(--st-heading); font-weight: 400; }
.st-theme h1                    { font-size: 40px; line-height: 1.25; }
.st-theme h2, .st-theme .bh      { font-size: 28px; line-height: 36px; }
.st-theme h3                    { font-size: 22px; line-height: 30px; }
.st-theme p                     { margin: 0 0 16px; }
.st-theme #wrapper              { width: 100%; max-width: none; margin: 0; padding: 0; background: transparent; }
.st-theme #container            { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px; max-width: 1500px; margin: 0 auto; padding: 48px 32px; }
.st-theme #main                 { flex: 1 1 0; float: none; min-width: 0; width: auto; margin: 0; padding: 0; }
.st-theme #main > .inside       { width: 100%; max-width: none; margin: 0; padding: 0; }
.st-theme .aside                { flex: 0 0 260px; float: none; width: 260px; margin: 0; }
.st-theme #container > .clear   { display: none; }
/* ==== REUSABLE BLOCKS ==== */
/* Neutral blocks are not cards. Navigation/account modules retain their semantics. */
.st-theme :is(#main,.aside) .block { margin: 0 0 var(--st-block-gap); min-width: 0; }
.st-theme :is(#main,.aside) .bh  { margin: 0 0 20px; padding: 0; border: 0; background: none; }
.st-theme :is(#main,.aside) .bh :is(h1,h2,h3) { margin: 0; color: inherit; font: inherit; }
.st-theme .block.block--panel   { padding: var(--st-panel-padding); border: 1px solid var(--st-gold); border-radius: var(--st-radius); background: var(--st-surface); }
.st-theme .block.block--plain   { padding: 0; border: 0; border-radius: 0; background: transparent; }
.st-theme .block > :last-child  { margin-bottom: 0; }
.st-theme .cte_text             { overflow-wrap: anywhere; }
.st-theme .cte_text :is(ul,ol)   { padding-left: 24px; }
.st-theme .cte_text li + li     { margin-top: 8px; }
.st-theme .st-button            { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--st-brand); border-radius: 8px; background: var(--st-brand); color: var(--st-paper); font: 600 15px/22px var(--font-family); text-decoration: none; text-align: center; }
.st-theme .st-button:hover      { color: var(--st-surface); background: #85162a; }
.st-theme .st-button--secondary { border-color: var(--st-gold); background: #fcf6eb; color: var(--st-brown); }
.st-theme .st-button--secondary:hover { background: var(--st-paper); color: var(--st-brown); }
/* ==== HEADER ==== */
.st-theme #header               { position: relative; width: 100%; margin: 0; padding: 16px 32px; color: var(--st-paper); background: linear-gradient(rgba(38,21,11,.45),rgba(38,21,11,.45)), url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; box-shadow: 0 2px 8px rgba(66,38,20,.18); }
.st-theme #header > .inside     { display: grid; grid-template-columns: 320px minmax(0,1fr) auto; align-items: center; gap: 32px; width: 100%; max-width: 1344px; margin: 0 auto; padding: 0; }
.st-theme .st-brand             { display: block; width: 320px; max-width: 100%; line-height: 0; }
.st-theme .st-brand img         { display: block; width: 100%; height: auto; aspect-ratio: 320 / 56; object-fit: contain; }
.st-theme .st-site-navigation   { min-width: 0; }
.st-theme #header :is(.mod_simplenav,.mod_navigation) { position: static; float: none; display: block; width: auto; height: auto; margin: 0; padding: 0; background: transparent; transform: none; }
.st-theme #header .level_1      { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 36px; margin: 0; padding: 0; list-style: none; }
.st-theme #header .level_1 > li  { float: none; margin: 0; padding: 0; list-style: none; }
.st-theme #header .level_1 a    { display: flex; align-items: center; min-height: 44px; padding: 8px 0; border-bottom: 2px solid transparent; background: transparent; color: var(--st-paper); font: 400 16px/24px var(--font-family); text-decoration: none; }
.st-theme #header .level_1 :is(.active,.trail) > a, .st-theme #header .level_1 a:hover { border-bottom-color: var(--st-gold); }
.st-theme .st-header-actions    { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.st-theme #header :is(.mobile_menu,.mobile_login,.menu_close) { display: none; }
.st-theme .st-menu-toggle       { display: none; }
@media (min-width: 901px) and (max-width: 1199px) {
.st-theme #header > .inside     { grid-template-columns: 260px minmax(0,1fr); gap: 12px 24px; }
.st-theme .st-brand             { width: 260px; }
.st-theme .st-header-actions    { grid-column: 2; }
.st-theme #header .level_1      { gap: 8px 20px; justify-content: flex-end; }
}
/* ==== FOOTER ==== */
.st-theme #footer               { margin: 0; padding: 56px 32px 32px; color: var(--st-paper); background: linear-gradient(rgba(13,8,5,.55),rgba(13,8,5,.55)), url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; }
.st-theme #footer > .inside     { width: 100%; max-width: var(--st-content-width); margin: 0 auto; padding: 0; }
.st-theme .st-footer__columns   { display: grid; grid-template-columns: 1.3fr 1fr 1fr; align-items: start; gap: 48px; }
.st-theme #footer .st-brand     { width: 290px; }
.st-theme #footer h2            { margin: 0 0 10px; color: var(--st-gold); font: 700 16px/24px var(--font-family); }
.st-theme #footer :is(ul,.block,.cte_text) { float: none; width: auto; margin: 0; padding: 0; background: transparent; border: 0; }
.st-theme #footer ul            { display: block; }
.st-theme #footer li            { float: none; display: block; margin: 0 0 10px; padding: 0; list-style: none; }
.st-theme #footer a             { color: rgba(245,232,214,.88); font-size: 14px; line-height: 22px; text-decoration: none; }
.st-theme #footer a:hover       { color: var(--st-surface); text-decoration: underline; }
.st-theme .st-footer__bottom    { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(203,170,125,.3); }
.st-theme .st-footer__copyright { margin: 0; color: rgba(245,232,214,.6); font-size: 13px; }
.st-theme .contribute           { margin: 0; padding: 12px 24px; background: #27190f; color: var(--st-paper); text-align: center; font: 400 13px/21px var(--font-family); }
.st-theme .contribute a         { color: inherit; }
/* ==== FULL-WIDTH BERATER PAGE ==== */
.st-theme #container:has(.st-prepage) { display: block; max-width: none; padding: 0; }
.st-theme #main .cte_html:has(> .st-prepage) { margin: 0; padding: 0; border: 0; background: transparent; }
.st-theme #main .mod_register:has(#reg) { margin-bottom: 0; }
/* Shared CMS tabs may wrap without overlapping the following block. */
.st-theme #main .tabnav         { display: flex; flex-wrap: wrap; height: auto; margin: 0 0 16px; padding: 0; list-style: none; border-bottom: 1px solid var(--st-gold); }
.st-theme #main .tabnav li      { float: none; margin: 0; }
.st-theme #main .tabnav a       { display: block; padding: 10px 16px; color: var(--st-brown); background: var(--st-surface); line-height: 24px; text-decoration: none; }
.st-theme #main .tabnav .active a { color: var(--st-surface); background: var(--st-brand); }

/* ==== BERATERSEITE UND REGISTRIERUNGSFELDER ==== */
#reg { --st-brand: #9e1b32; --st-paper: #f5e8d6; --st-ink: #392b24; --st-border: #9c8065; box-sizing: border-box; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; width: calc(100% - 32px); max-width: 820px; margin: 40px auto 64px; padding: 40px; border: 1px solid var(--st-border); border-radius: 8px; background: var(--st-paper); color: var(--st-ink); font: 400 16px/1.625 Lora, Georgia, serif; scroll-margin-top: 24px; }
#reg * { box-sizing: border-box; }
#reg > .row { float: none; clear: none; width: auto; min-width: 0; margin: 0; padding: 0; }
#reg > .row > label { display: block; float: none; width: auto; margin: 0 0 8px; color: var(--st-ink); font-size: 14px; font-weight: 600; line-height: 22px; overflow-wrap: anywhere; }
#reg input.text, #reg select, #reg textarea { display: block; float: none; width: 100%; max-width: 100%; min-width: 0; min-height: 52px; margin: 0; padding: 12px 16px; border: 1px solid var(--st-border); border-radius: 4px; background: #fffaf2; color: var(--st-ink); font: inherit; line-height: 26px; }
#reg select { padding-right: 8px; }
#reg textarea { min-height: 132px; resize: vertical; }
#reg input::placeholder, #reg textarea::placeholder { color: #746252; opacity: 1; }
#reg :is(input, select, textarea):focus-visible { outline: 2px solid var(--st-brand); outline-offset: 3px; }
#reg :is(input, select, textarea):disabled { opacity: .6; cursor: not-allowed; }
#reg :is(input, select, textarea)[aria-invalid="true"], #reg input:user-invalid { border-color: var(--st-brand); box-shadow: 0 0 0 1px var(--st-brand); }
#reg .asterisk { margin-left: 4px; color: var(--st-brand); }
#reg .help { position: static; width: auto; margin: 8px 0 0; color: #746252; font-size: 13px; line-height: 21px; }
#reg .help p { margin: 0; }
#reg .ctrl_phone, #reg .ctrl_consultingPhone, #reg .ctrl_taxation { grid-column: 1 / -1; }
#reg div.phone { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; width: 100%; margin: 0; }
#reg .pw_input { display: block; position: relative; width: 100%; }
#reg .pw_input input { padding-right: 48px; }
#reg .pw_toggle { position: absolute; inset: 0 0 auto auto; display: flex; align-items: center; justify-content: center; width: 44px; height: 52px; cursor: pointer; }
#reg > .check { grid-column: 1 / -1; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; min-height: 44px; }
#reg > .check > input { width: 22px; height: 22px; margin: 3px 0 0; accent-color: var(--st-brand); }
#reg > .check > label { margin: 0; font-size: 16px; font-weight: 400; line-height: 26px; }
#reg a { color: var(--st-brand); text-underline-offset: 3px; }
#reg > p { grid-column: 1 / -1; margin: 0; font-size: 13px; line-height: 21px; }
#reg > input.submit { grid-column: 1 / -1; width: 100%; min-height: 52px; margin: 0; padding: 12px 24px; border: 1px solid var(--st-brand); border-radius: 4px; background: var(--st-brand); color: #fffaf2; font: 600 16px/24px Lora, Georgia, serif; white-space: normal; cursor: pointer; }
#reg > input.submit:hover { background: #85162a; }
#reg > input.submit:disabled { opacity: .6; cursor: not-allowed; }
.st-prepage, .st-prepage * { box-sizing: border-box; }
.st-prepage { width: 100%; color: var(--st-ink); font: 400 16px/26px Lora, Georgia, serif; }
.st-prepage :is(h1,h2,h3,p,figure,ol) { margin: 0; }
.st-prepage :is(h1,h2,h3) { font-family: var(--st-heading); font-weight: 400; }
.st-hero { min-height: 700px; display: flex; align-items: center; padding: 64px 32px; background: linear-gradient(90deg, rgba(15,26,23,.7), rgba(15,26,23,0)), url('../img/Vorabseite%20Berater/vorabseite-bild-05.png') center / cover no-repeat; color: #fffaf2; }
.st-hero__inside { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; width: 100%; max-width: 1344px; margin: 0 auto; }
.st-hero__eyebrow { max-width: 720px; color: #f5e8d6; font-size: 14px; font-weight: 600; line-height: 22px; }
.st-prepage .st-hero h1 { max-width: 840px; font-size: 80px; line-height: 91px; color: #fffaf2; }
.st-hero__text { max-width: 660px; font-size: 16px; line-height: 26px; }
.st-hero__note { max-width: 660px; color: #f5e8d6; font-size: 13px; line-height: 21px; }
.st-prepage .st-button { display: inline-flex; align-items: center; justify-content: center; width: 312px; max-width: 100%; min-height: 52px; padding: 12px 24px; border: 1px solid #9e1b32; border-radius: 4px; background: #9e1b32; color: #fffaf2; font: 600 16px/24px Lora, Georgia, serif; text-align: center; text-decoration: none; }
.st-prepage .st-button:hover { color: #fffaf2; background: #85162a; border-color: #85162a; }
.st-prepage .st-button:focus-visible { outline: 3px solid #cbaa7d; outline-offset: 4px; }
.st-intro { position: relative; isolation: isolate; padding: 64px 32px; background: #f5e8d6; }
.st-intro::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('../img/Vorabseite%20Berater/vorabseite-bild-06.png') center / cover; opacity: .13; }
.st-intro__inside { display: flex; flex-direction: column; align-items: center; gap: 24px; width: 100%; max-width: 928px; margin: 0 auto; text-align: center; }
.st-prepage .st-intro h2 { font-size: 40px; line-height: 50px; color: #6b3e26; }
.st-intro__copy { width: 100%; }
.st-intro__copy p + p { margin-top: 26px; }
.st-intro__figure { width: 100%; }
.st-intro__figure img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; object-position: center; border-radius: 8px; }
.st-intro__figure figcaption { margin-top: 12px; color: #746252; font-size: 13px; line-height: 21px; }
.st-steps { padding: 48px 32px; background: #9e1b32; color: #fffaf2; }
.st-steps__inside { width: 100%; max-width: 1440px; margin: 0 auto; }
.st-prepage .st-steps h2 { margin: 0 0 32px; color: #fffaf2; font-size: 40px; line-height: 50px; }
.st-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; padding: 0; list-style: none; }
.st-steps__list > li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; margin: 0; padding: 0 0 8px; }
.st-steps__number { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fffaf2; color: #9e1b32; font: 400 28px/36px var(--st-heading); }
.st-prepage .st-steps h3 { margin-bottom: 4px; color: #fffaf2; font-size: 22px; line-height: 34px; }
.st-steps__list p { font-size: 16px; line-height: 28px; }
body:has(.st-prepage) #main .mod_register > h1 { display: none; }
.st-intro__inside { max-width: 820px; }
.st-intro__figure img { height: auto; aspect-ratio: 2 / 1; object-fit: cover; }
#reg .pw_toggle { inset: 0 0 auto auto; transform: none; margin: 0; padding: 0; width: 44px; height: 52px; z-index: 2; color: #6b3e26; background-size: 20px 20px; background-position: center; background-repeat: no-repeat; }
body:has(.st-prepage) #reg { position: relative; isolation: isolate; background: #f5e8d6; margin-top: 64px; }
body:has(.st-prepage) #reg::before, body:has(.st-prepage) #reg::after { content: ''; position: absolute; left: 0; width: 100%; aspect-ratio: 1968 / 544; background: url('../img/Vorabseite%20Berater/vorabseite-bild-02.png') center / 100% 100% no-repeat; opacity: .65; pointer-events: none; z-index: -1; border-radius: 8px; }
body:has(.st-prepage) #reg::before { top: 0; }
body:has(.st-prepage) #reg::after { bottom: 0; }
body:has(.st-prepage) #reg input.text, body:has(.st-prepage) #reg select, body:has(.st-prepage) #reg textarea { background-color: #fffaf2; }
body:has(.st-prepage) #main { background: linear-gradient(rgba(245,232,214,.45), rgba(245,232,214,.45)), url('../img/Vorabseite%20Berater/vorabseite-bild-06.png') center / cover no-repeat; background-color: #f5e8d6; }
body:has(.st-prepage) .st-intro { background: transparent; }
body:has(.st-prepage) .st-intro::before { display: none; }
body:has(.st-prepage) .mod_register { display: flow-root; background: transparent; }
body:has(.st-prepage) #reg { background: linear-gradient(rgba(245,232,214,.45), rgba(245,232,214,.45)), url('../img/Vorabseite%20Berater/vorabseite-bild-06.png') center / cover no-repeat; background-color: #f5e8d6; }
body:has(.st-prepage) #reg .st-form-intro { grid-column: 1 / -1; padding: 24px 0; border-bottom: 1px solid #cbaa7d; color: #6b3e26; text-align: center; }
body:has(.st-prepage) #reg .st-form-intro h2 { margin: 0 0 8px; color: inherit; font: 400 28px/36px 'Berkshire Swash', Georgia, serif; }
body:has(.st-prepage) #reg .st-form-intro p { margin: 0; font: 400 13px/21px Lora, Georgia, serif; }
.st-prepage .st-button, body:has(.st-prepage) #reg > input.submit { box-sizing: border-box; height: 52px; min-height: 52px; line-height: 24px; padding-top: 12px; padding-bottom: 12px; }
body:has(.st-prepage) #reg > .row { align-self: start; }
body:has(.st-prepage) #reg > :is(.ctrl_email,.ctrl_username,.ctrl_bankName,.ctrl_taxNumber,.ctrl_profileTeaser), body:has(.st-prepage) #reg > .row:has(textarea) { grid-column: 1 / -1; }
body:has(.st-prepage) #reg .textdiv { display: block; float: none; width: 100%; min-width: 0; margin: 0; }
body:has(.st-prepage) #reg textarea { width: 100%; min-height: 160px; height: auto; padding: 16px; line-height: 26px; resize: vertical; }
body:has(.st-prepage) #reg > .check { grid-template-columns: 22px minmax(0,1fr); column-gap: 12px; row-gap: 8px; align-items: start; }
body:has(.st-prepage) #reg > .check > input[type='checkbox'] { grid-column: 1; grid-row: 1; margin: 3px 0 0; }
body:has(.st-prepage) #reg > .check > label { grid-column: 2; grid-row: 1; margin: 0; font-size: 16px; line-height: 26px; font-weight: 400; }
body:has(.st-prepage) #reg > .check > :is(.help,.error) { grid-column: 1 / -1; }
body:has(.st-prepage) #reg :is(.error,.error_message) { color: #9e1b32; font-size: 13px; line-height: 21px; overflow-wrap: anywhere; }
body:has(.st-prepage) #reg { background: #f5e8d6; }
body:has(.st-prepage) #reg::before { inset: 0; width: auto; height: auto; aspect-ratio: auto; background: url('../img/Vorabseite%20Berater/vorabseite-bild-02.png') center / cover no-repeat; opacity: .8; border-radius: 8px; }
body:has(.st-prepage) #reg::after { top: 0; bottom: auto; left: 0; width: 100%; height: auto; aspect-ratio: 1968 / 544; background: url('../img/Vorabseite%20Berater/vorabseite-bild-02.png') left top / 100% auto no-repeat; opacity: .85; border-radius: 8px 8px 0 0; mask-image: linear-gradient(to bottom, #000 65%, transparent); }
body:has(.st-prepage) #reg > .ctrl_consultingCategories { display: block; grid-column: 1 / -1; }
body:has(.st-prepage) #reg > .ctrl_consultingCategories > label { display: block; margin: 0 0 12px; font-size: 14px; font-weight: 600; line-height: 22px; }
body:has(.st-prepage) #reg .ctrl_consultingCategories ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; list-style: none; margin: 0; padding: 0; }
body:has(.st-prepage) #reg .ctrl_consultingCategories li { float: none; width: auto; min-width: 0; margin: 0; padding: 0; list-style: none; }
body:has(.st-prepage) #reg .ctrl_consultingCategories li label { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 0; padding: 9px 0; color: #392b24; font: 400 16px/26px Lora, Georgia, serif; cursor: pointer; overflow-wrap: anywhere; }
body:has(.st-prepage) #reg .ctrl_consultingCategories li input { flex: 0 0 22px; width: 22px; height: 22px; margin: 2px 0 0; accent-color: #9e1b32; cursor: pointer; }
body:has(.st-prepage) #reg .ctrl_privacyPolicy { border-top: 1px solid #cbaa7d; padding-top: 24px; }
.st-steps__number { flex: 0 0 44px; padding: 0; box-sizing: border-box; }
.st-steps__digit { display: block; line-height: 36px; }
.st-steps__digit--1 { transform: translate(.95px, -3.1px); }
.st-steps__digit--2 { transform: translate(.4px, -2.95px); }
.st-steps__digit--3 { transform: translate(.3px, -5.8px); }

/* ==== REGISTRATION-ONLY TEMPLATE: fe_page_registrierung ==== */
.st-theme.st-registration #header > .inside { grid-template-columns: minmax(0,1fr); gap: 0; }
.st-theme.st-registration #header { min-height: 88px; }
.st-theme.st-registration #footer { padding: 20px 32px; }
.st-theme.st-registration #footer ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; }
.st-theme.st-registration #footer li { margin: 0; }
.st-theme.st-registration #footer a { display: inline-flex; align-items: center; min-height: 44px; }

/* ==== CMS REGISTRATION FEEDBACK: shared by customer and advisor flows ==== */
.st-theme:has(.st-registration-feedback) #container { max-width: none; padding: 80px 32px; background: linear-gradient(rgba(245,232,214,.87),rgba(245,232,214,.87)), url('../img/Vorabseite%20Berater/vorabseite-bild-06.png') center / cover no-repeat; }
.st-theme:has(.st-registration-feedback) #header > .inside { justify-items: center; }
.st-theme:has(.st-registration-feedback) #header { padding-top: 32px; padding-bottom: 32px; }
.st-theme #main .st-registration-feedback { display: flex; flex-direction: column; gap: 32px; width: 100%; max-width: 800px; margin: 0 auto; color: var(--st-ink); }
.st-theme .st-registration-feedback > * { margin: 0; }
.st-theme .st-registration-feedback__greeting { padding: 20px 16px; background: url('../img/Vorabseite%20Berater/vorabseite-bild-02.png') center / cover; color: var(--st-brown); font: 400 28px/36px var(--st-heading); text-align: center; }
.st-theme .st-registration-feedback__headline h1 { margin: 0; color: var(--st-brown); font: 400 40px/50px var(--st-heading); overflow-wrap: anywhere; }
.st-theme .st-registration-feedback__notice { padding: 24px; border: 1px solid #344b40; border-radius: 8px; background: var(--st-surface); }
.st-theme .st-registration-feedback__notice p { margin: 0 0 16px; font: 400 16px/26px var(--font-family); }
.st-theme .st-registration-feedback__notice p:last-child { margin-bottom: 0; }
.st-theme .st-registration-feedback__signature { color: var(--st-brown); }

.st-theme #main .st-registration-feedback__headline .bh { margin: 0; }

/* ==== CATEGORY TEXT: shared native CMS text variants ==== */
.st-theme #container:has(.st-category-hero) { max-width: 1440px; }
.st-theme #main .cte_text:is(.st-category-intro,.st-category-copy,.st-category-highlight,.st-category-quote) { width: 100%; max-width: none; }
.st-theme #main .cte_text:is(.st-category-intro,.st-category-copy,.st-category-highlight,.st-category-quote) { margin: 0 auto var(--st-block-gap); }
.st-theme #main .cte_text:is(.st-category-intro,.st-category-copy,.st-category-highlight,.st-category-quote) { font: 400 20px/32px var(--font-family); }
.st-theme #main .cte_text:is(.st-category-intro,.st-category-copy,.st-category-highlight,.st-category-quote) { text-align: justify; hyphens: auto; }
.st-theme #main :is(.st-category-intro,.st-category-copy,.st-category-highlight,.st-category-quote) p { margin: 0 0 24px; }
.st-theme #main :is(.st-category-intro,.st-category-copy,.st-category-highlight,.st-category-quote) p:last-of-type { margin-bottom: 0; }
.st-theme #main .cte_text.st-category-intro { font-style: italic; line-height: 26px; }
.st-theme #main .st-category-copy .bh { margin: 0 0 24px; color: var(--st-brand); font: 400 36px/46px var(--st-heading); }
.st-theme #main .cte_text.st-category-highlight { padding: 24px 28px; border-radius: 6px; background: var(--st-brand); }
.st-theme #main .cte_text.st-category-highlight { color: #fff; font-size: 22px; line-height: 34px; font-weight: 700; }
.st-theme #main .st-category-highlight p { margin-bottom: 12px; }
.st-theme #main .st-category-highlight a { color: inherit; }
.st-theme #main .cte_text.st-category-quote { padding: 0; border: 0; background: none; color: var(--st-brand); font-weight: 700; }

/* ==== CATEGORY HERO: CMS-selected image, shared presentation ==== */
.st-theme #main .st-category-hero { position: relative; isolation: isolate; display: flex; flex-direction: column; }
.st-theme #main .st-category-hero { justify-content: flex-end; gap: 12px; min-height: 238px; padding: 40px 48px; }
.st-theme #main .st-category-hero { overflow: hidden; border-radius: 8px; background: #27190f; color: var(--st-surface); }
.st-theme #main .st-category-hero > .image { position: absolute; inset: 0; z-index: -2; float: none; margin: 0; }
.st-theme #main .st-category-hero > .image { width: 100%; height: 100%; max-width: none; }
.st-theme #main .st-category-hero .image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.st-theme #main .st-category-hero .image a { display: block; width: 100%; height: 100%; }
.st-theme #main .st-category-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.st-theme #main .st-category-hero::after { background: rgba(20,9,4,.45); }
.st-theme #main .st-category-hero .bh { margin: 0; color: inherit; font: 400 64px/76px var(--st-heading); }
.st-theme #main .st-category-hero p { margin: 0; color: inherit; font: 400 34px/36px var(--st-heading); }
.st-theme #main .st-category-hero .st-category-hero__eyebrow { font: 600 16px/22px var(--font-family); }
.st-theme #main .st-category-hero > .clear { display: none; }
/* ==== CATEGORY CTA: native CMS text block ==== */
.st-theme #main .st-category-cta { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 40px; }
.st-theme #main .st-category-cta { border-radius: 8px; overflow: hidden; color: var(--st-surface); text-align: center; }
.st-theme #main .st-category-cta { background: linear-gradient(rgba(38,21,11,.45),rgba(38,21,11,.45)), url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center / cover; }
.st-theme #main .st-category-cta .bh { margin: 0; color: inherit; font: 400 40px/50px var(--st-heading); }
.st-theme #main .st-category-cta p { margin: 0; width: 100%; font: 400 18px/26px var(--font-family); }
.st-theme #main .st-category-cta p:last-of-type { font-size: 14px; line-height: 21px; }
.st-theme #main .st-category-cta p a { display: inline-flex; align-items: center; justify-content: center; }
.st-theme #main .st-category-cta p a { width: 360px; max-width: 100%; min-height: 52px; padding: 12px 24px; }
.st-theme #main .st-category-cta p a { border: 1px solid var(--st-brand); border-radius: 4px; background: var(--st-brand); }
.st-theme #main .st-category-cta p a { color: var(--st-surface); font: 600 16px/24px var(--font-family); text-decoration: none; }
.st-theme #main .st-category-cta p a:hover { background: #85162a; border-color: #85162a; }
.st-theme #main .st-category-cta > .clear { display: none; }
.st-theme #main .st-category-cta > .fe_editable { display: flex; flex-direction: column; gap: 24px; width: 100%; }
/* ==== FOOTER DIVIDER AND CATEGORY BACK LINK ==== */
.st-theme .st-footer-divider { width: 100%; height: 16px; background: url('../img/Homepage/homepage-divider-bild-01.png') left top / 35px 35px repeat; }
.st-theme #main .st-category-back { margin: 0 0 48px; font: 600 16px/22px var(--font-family); }
.st-theme #main .st-category-back a { color: var(--st-brown); text-decoration: underline; }
.st-theme #main .st-category-back a:hover { color: var(--st-brand); }
/* ==== PUBLIC HEADER: HOME FIGMA 521:364 ==== */
.st-theme #header.st-public-header > .inside { max-width: 1440px; }
.st-theme #header.st-public-header .level_1 { column-gap: 28px; }
.st-theme #header.st-public-header .level_1 a { color: var(--st-surface); border-bottom: 0; }
.st-theme #header.st-public-header .level_1 :is(.active,.trail) > a { color: var(--st-gold); text-decoration: underline; }
.st-theme #header.st-public-header .level_1 a:hover { color: var(--st-gold); text-decoration: underline; }
.st-theme #header.st-public-header .st-menu-label { display: none; }
.st-theme #header.st-public-header .st-header-actions .st-button { line-height: 20px; }

/* ==== HOME HERO: NATIVE TEXT/BILD, FIGMA 521:408 ==== */
.st-theme #container:has(.st-home-hero) { max-width: none; padding: 0 0 48px; }
.st-theme #main > .inside:has(> .st-home-hero) > :not(.st-home-hero) { max-width: 1436px; margin-left: auto; margin-right: auto; width: calc(100% - 64px); }
.st-theme #main .st-home-hero { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.st-theme #main .st-home-hero { gap: 18px; min-height: 740px; margin: 0 0 48px; padding: 0 24px 48px; overflow: hidden; color: var(--st-paper); background: #241b16; }
.st-theme #main .st-home-hero > .image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; max-width: none; margin: 0; }
.st-theme #main .st-home-hero > .image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.st-theme #main .st-home-hero::before { content: ''; display: block; flex: 0 0 24px; width: 120px; height: 24px; background: url('../img/Homepage/home-hero-ornament.svg') center/120px 24px no-repeat; }
.st-theme #main .st-home-hero::after { content: ''; position: absolute; z-index: 1; left: -18px; bottom: -12px; width: calc(100% + 36px); height: 108px; }
.st-theme #main .st-home-hero::after { background: url('../img/Homepage/home-hero-pergament-desktop.png') center/100% 100% no-repeat; pointer-events: none; }
.st-theme #main .st-home-hero h1 { display: flex; flex-direction: column; align-items: center; gap: 18px; margin: 0; color: var(--st-paper); font: 700 66px/1.25 var(--font-family); }
.st-theme #main .st-home-hero h1 { text-align: center; text-shadow: 10px 10px 6px rgba(0,0,0,.95), 10px 10px 24px rgba(0,0,0,.75); }
.st-theme #main .st-home-hero h1 > span + span { color: #f2d9a8; font: 400 78px/1.25 var(--st-heading); }
.st-theme #main .st-home-hero p { margin: 0; }
.st-theme #main .st-home-hero__subtitle { font: italic 400 21px/1.3 var(--font-family); text-align: center; }
.st-theme #main .st-home-hero__subtitle { text-shadow: 10px 10px 6px rgba(0,0,0,.95), 10px 10px 24px rgba(0,0,0,.8); }
.st-theme #main .st-home-hero__actions { display: flex; gap: 20px; padding-top: 16px; max-width: 100%; }
.st-theme #main .st-home-hero__actions > :is(a,span) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 320px; max-width: 100%; min-height: 52px; }
.st-theme #main .st-home-hero__actions > :is(a,span) { padding: 12px 16px; border-radius: 10px; font: 600 17px/24px var(--font-family); text-decoration: none; text-align: center; box-shadow: 10px 10px 9px rgba(0,0,0,.75); }
.st-theme #main .st-home-hero__primary { color: var(--st-paper); background: var(--st-brand); border: 1px solid #bf596b; }
.st-theme #main .st-home-hero__primary:hover { background: #85162a; }
.st-theme #main .st-home-hero__secondary { color: var(--st-brown); background: rgba(245,232,214,.95); }
.st-theme #main .st-home-hero > .clear { display: none; }
.st-theme #agents { scroll-margin-top: 24px; }

/* ==== HOME TRUST BAND: CMS TEXT 174 ==== */
.st-theme #main > .inside:has(> .st-home-hero) > .st-home-trust { max-width: 1440px; }
.st-theme #main .st-home-trust { min-height: 190px; padding: 28px 70px; margin-bottom: 16px; color: var(--st-gold); }
.st-theme #main .st-home-trust { background: linear-gradient(rgba(38,21,11,.35),rgba(38,21,11,.35)), url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; box-shadow: 0 6px 18px rgba(26,13,5,.55); }
.st-theme #main .st-home-trust ul { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: start; gap: 0; min-height: 134px; margin: 0; padding: 0; list-style: none; }
.st-theme #main .st-home-trust li { display: flex; flex-direction: column; align-items: center; gap: 7px; margin: 0; padding: 0; text-align: center; font: 400 14px/1.3 var(--font-family); }
.st-theme #main .st-home-trust strong { color: var(--st-paper); font-size: 16px; }
.st-theme #main .st-home-trust li::before { content: ''; width: 42px; height: 42px; flex: 0 0 42px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.st-theme #main .st-home-trust li:nth-child(1)::before { background-image: url('../img/Homepage/homepage-trust-vektor-01.svg'); }
.st-theme #main .st-home-trust li:nth-child(2)::before { background-image: url('../img/Homepage/homepage-trust-vektor-03.svg'); }
.st-theme #main .st-home-trust li:nth-child(3)::before, .st-theme #main .st-home-trust li:nth-child(5)::before { background-image: url('../img/Homepage/homepage-trust-vektor-02.svg'); }
.st-theme #main .st-home-trust li:nth-child(4)::before { background-image: url('../img/Homepage/homepage-trust-vektor-04.svg'); }
.st-theme #main .st-home-trust .clear { display: none; }

/* ==== NATIVE ADVISOR LIST: FIGMA 521:484 ==== */
.st-theme #main > .inside:has(> .st-home-hero) > .st-advisor-section { max-width: 1440px; }
.st-theme #main .st-advisor-section { padding: 56px 0 40px; }
.st-theme #main .st-advisor-heading { margin: 0 0 32px; color: var(--st-brown); font: 400 46px/1.25 var(--st-heading); text-align: center; }
.st-theme #main .st-advisor-heading > span { color: var(--st-brand); }
.st-theme #main .st-advisor-section > .tabnav { justify-content: center; gap: 8px; margin: 0 0 26px; border: 0; }
.st-theme #main .st-advisor-section > .tabnav a { border-radius: 4px; }
.st-theme #main .st-advisor-section .agentlist { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; margin: 0; padding: 10px 8px; }
.st-theme #main .st-advisor-page { display: contents; }
.st-theme #main .st-advisor-section .profile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; float: none; width: auto; min-width: 0; }
.st-theme #main .st-advisor-section .profile { margin: 0; padding: 94px 24px 28px; border: 0; border-radius: 4px; color: var(--st-gold); box-shadow: 0 5px 16px rgba(20,10,3,.5); }
.st-theme #main .st-advisor-section .profile { background: linear-gradient(rgba(38,21,11,.32),rgba(38,21,11,.32)), url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; }
.st-theme #main .st-advisor-status { position: absolute; top: 14px; left: -8px; width: 180px; max-width: calc(100% - 16px); padding: 5px 6px; transform: rotate(-3deg); }
.st-theme #main .st-advisor-status { color: var(--st-surface); background: #5b5348; box-shadow: 1px 2px 4px rgba(0,0,0,.3); font: 600 14px/20px var(--font-family); text-align: center; }
.st-theme #main .st-advisor-section .profile > :is(.left,.main,.right) { float: none; width: 100%; margin: 0; padding: 0; min-width: 0; text-align: center; }
.st-theme #main .st-advisor-section .profile .left > a { display: block; width: 148px; margin: 0 auto; }
.st-theme #main .st-advisor-section figure { margin: 0; }
.st-theme #main .st-advisor-section .profile img.pic { display: block; width: 148px; height: 148px; max-width: 100%; border: 2px solid var(--st-gold); border-radius: 50%; object-fit: cover; }
.st-theme #main .st-advisor-section figcaption { font-size: 12px; line-height: 16px; }
.st-theme #main .st-advisor-section .profile h3 { margin: 0 0 9px; font: 400 30px/1.2 var(--st-heading); overflow-wrap: anywhere; }
.st-theme #main .st-advisor-section .profile h3 a { color: var(--st-paper); text-decoration: none; }
.st-theme #main .st-advisor-section .teaser { margin: 0 0 9px; color: var(--st-gold); font: italic 400 14.5px/1.4 var(--font-family); overflow-wrap: anywhere; }
.st-theme #main .st-advisor-section :is(.ddi,.calls) { display: none; }
.st-theme #main .st-advisor-section .rating { display: block; margin-bottom: 9px; color: var(--st-gold); }
.st-theme #main .st-advisor-section .buttons { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.st-theme #main .st-advisor-section .button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; height: auto; margin: 0; padding: 10px 8px; }
.st-theme #main .st-advisor-section .button { border: 0; border-radius: 4px; background: #5b5348; color: var(--st-surface); text-decoration: none; font: 600 15px/20px var(--font-family); }
.st-theme #main .st-advisor-section :is(.button,.st-advisor-status).online { background-color: #2f4f3e; }
.st-theme #main .st-advisor-section :is(.button,.st-advisor-status).busy { background-color: var(--st-brand); }
.st-theme #main .st-advisor-section .button.email { background: #fcf6eb; color: #4d2b1a; }
.st-theme #main .st-advisor-section .button:hover { filter: brightness(1.12); }
.st-theme #main .st-advisor-section .tariff { display: block; color: var(--st-paper); font: 400 14px/20px var(--font-family); margin: 0 0 8px; }
.st-theme #main .st-advisor-section .tariff.disable { text-decoration: line-through; }
.st-theme #main .st-advisor-section .chat { width: 100%; }
.st-theme #main .st-advisor-section .profile .foot { color: var(--st-gold); border-top: 1px solid var(--st-gold); padding-top: 12px; font-size: 14px; }
.st-theme #main .st-advisor-section .pagination { margin: 26px 0 0; text-align: center; }
.st-theme #main .st-advisor-section .agentlist > p { grid-column: 1 / -1; text-align: center; }
@media (min-width: 901px) and (max-width: 1199px) {
.st-theme #main .st-advisor-section .agentlist { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Native span.status is refreshed by Flexcom, including pending callbacks. */
.st-theme #main .st-advisor-status > .st-status-label { display: none; }
.st-theme #main .st-advisor-status:has(> .status.online) { background-color: #2f4f3e; }
.st-theme #main .st-advisor-status:has(> .status.busy) { background-color: var(--st-brand); }
.st-theme #main .st-advisor-status:has(> .status.offline) { background-color: #5c544d; }
.st-theme #main .st-advisor-status:has(> .status.online) > .st-status-label--online,
.st-theme #main .st-advisor-status:has(> .status.busy) > .st-status-label--busy,
.st-theme #main .st-advisor-status:has(> .status.offline) > .st-status-label--offline { display: inline; }
.st-theme #main .st-advisor-status > .status:is(.online,.busy,.offline) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.st-theme #main .st-advisor-status > .status { color: inherit; background: none; font: inherit; }


/* HOME CATEGORY CARDS: native catnav links, Figma 521:632 */
.st-theme #main > .inside:has(> .st-home-hero) > .st-home-categories { width: 100%; max-width: none; }
.st-theme #main .st-home-categories { margin: 0; padding: 64px 32px; color: var(--st-surface); background: linear-gradient(rgba(38,21,11,.45),rgba(38,21,11,.45)),url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; }
.st-theme #main .st-home-categories > .bh { margin: 0 0 48px; color: inherit; text-align: center; font: 400 44px/1.25 var(--st-heading); }
.st-theme #main .st-category-rail { width: 100%; max-width: 1440px; margin: 0 auto; }
.st-theme #main .st-category-page { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 40px 32px; list-style: none; padding: 0; margin: 0; }
.st-theme #main .st-category-page + .st-category-page { margin-top: 40px; }
.st-theme #main .st-home-categories:not(.st-categories-expanded) .st-category-page ~ .st-category-page { display: none; }
.st-theme #main .st-category-page > li { float: none; width: auto; min-width: 0; margin: 0; padding: 0; list-style: none; }
.st-theme #main .st-category-page a { display: flex; flex-direction: column; align-items: center; gap: 12px; color: inherit; text-decoration: none; text-align: center; border: 0; padding: 0; background: none; }
.st-theme #main .st-category-page img { display: block; width: 180px; height: 180px; max-width: 100%; border: 2px solid var(--st-gold); border-radius: 50%; object-fit: cover; }
.st-theme #main .st-category-title { font: 400 28px/1.25 var(--st-heading); text-shadow: 0 2px 6px rgba(0,0,0,.9),0 4px 20px rgba(0,0,0,.6); }
.st-theme #main .st-category-teaser { font: 600 17px/26px var(--font-family); }
.st-theme #main .st-category-page a:hover .st-category-title { text-decoration: underline; }
.st-theme #main .st-category-expand { display: block; width: 280px; max-width: 100%; min-height: 52px; margin: 48px auto 0; padding: 12px 24px; border: 1px solid var(--st-brand); border-radius: 4px; background: var(--st-brand); color: var(--st-surface); font: 600 16px/24px var(--font-family); cursor: pointer; }
.st-theme #main .st-category-expand:focus-visible,.st-theme #main .st-category-page a:focus-visible { outline: 2px solid var(--st-gold); outline-offset: 5px; }

/* HOME HOW: Figma 521:674, editable native text block */
.st-theme #main .st-home-how { padding:36px 0 0; color:#4d2b1a; scroll-margin-top:100px; }
.st-theme #main .st-home-how h2 { margin:0 0 26px; font-family:'Berkshire Swash',serif; font-size:40px; font-weight:400; line-height:52px; text-align:center; color:#4d2b1a; }
.st-theme #main .st-home-how ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:30px; padding:32px 40px; margin:0; list-style:none; background:url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; }
.st-theme #main .st-home-how li { min-width:0; padding:62px 36px 30px; border:1px solid #000; border-radius:160px 160px 10px 10px; background:#f5ead1 url('../img/Vorabseite%20Berater/vorabseite-bild-02.png') right center/210.67% 100% no-repeat; box-shadow:0 15px 6px rgba(3,3,4,.38); text-align:center; }
.st-theme #main .st-home-how h3 { margin:0; font-family:'Lora',serif; font-size:20px; line-height:27px; font-weight:700; color:#4d2b1a; }
.st-theme #main .st-home-how h3::after { content:''; display:block; width:70px; height:3px; margin:12px auto; border-radius:2px; background:#cbaa7d; }
.st-theme #main .st-home-how p { margin:0; font-size:16px; line-height:24px; text-align:center; }
@media(min-width:901px) and (max-width:1199px) { .st-theme #main .st-home-how ol { padding:28px 24px; gap:20px; } .st-theme #main .st-home-how li { padding-left:20px; padding-right:20px; } }

.st-theme #main .st-home-how ol > li { margin:0; }


/* HOME FINAL SECTIONS: native editable text blocks, Figma 521:732/745/759 */
.st-theme #main .st-home-arrival { padding:24px 0 56px; }
.st-theme #main .st-arrival-panel { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(24px,3.33vw,48px); min-height:340px; padding:40px clamp(24px,4.86vw,70px); background:linear-gradient(rgba(38,21,11,.35),rgba(38,21,11,.35)),url('../img/Vorabseite%20Berater/vorabseite-bild-01.png') center/cover; box-shadow:0 6px 18px rgba(26,13,5,.55); }
.st-theme #main .st-arrival-copy { text-align:center; }
.st-theme #main .st-arrival-copy h2 { margin:0 0 12px; color:#f5e8d6; font:700 30px/1.3 var(--font-family); }
.st-theme #main .st-arrival-copy p { margin:0; color:#cbaa7d; font-size:15.5px; line-height:1.4; }
.st-theme #main .st-arrival-copy .st-arrival-tagline { margin-bottom:12px; color:#f2d9a8; font:400 30px/1.3 var(--st-heading); }
.st-theme #main .st-arrival-hut { display:block; width:100%; height:auto; aspect-ratio:287/164; object-fit:contain; background:#f1e3c9; border-radius:10px; box-shadow:0 4px 14px rgba(20,10,5,.55); }
.st-theme #main .st-arrival-sign { transform:rotate(-2deg); text-align:center; }
.st-theme #main .st-arrival-sign > img { display:block; width:80px; height:34px; margin:0 auto; }
.st-theme #main .st-arrival-sign a { display:block; padding:24px 12px; border:3px solid #472917; border-radius:8px; color:#6b3e26; background:#f1e3c9 url('../img/Vorabseite%20Berater/vorabseite-bild-02.png') right center/130.24% 100% no-repeat; box-shadow:0 5px 12px rgba(0,0,0,.45); font:italic 16px/1.3 var(--font-family); text-decoration:none; }
.st-theme #main .st-arrival-sign a:hover { text-decoration:underline; }
.st-theme #main .st-arrival-sign a span { color:var(--st-brand); }
.st-theme #main > .inside:has(> .st-home-hero) > .st-home-post { width:100%; max-width:none; margin:0; }
.st-theme #main .st-home-post { padding:30px 32px; background:#9e1b32; color:#f5e8d6; box-shadow:inset 0 3px 10px rgba(0,0,0,.3); }
.st-theme #main .st-post-inner { max-width:1440px; margin:auto; display:flex; align-items:center; gap:18px; }
.st-theme #main .st-post-inner > img { flex:0 0 40px; width:40px; height:40px; }
.st-theme #main .st-post-inner h2 { margin:0 0 2px; color:inherit; font:400 26px/1.3 var(--st-heading); }
.st-theme #main .st-post-inner p { margin:0; color:rgba(245,232,214,.9); font:italic 14px/1.4 var(--font-family); }
.st-theme #main .st-post-inner a { margin-left:auto; flex-shrink:0; padding:12px 24px; border:1px solid rgba(245,232,214,.5); border-radius:8px; background:#6b0f21; color:#f5e8d6; text-decoration:none; font:600 15px/1.5 var(--font-family); text-align:center; }
.st-theme #main .st-post-inner a:hover { background:#4e0b18; }
.st-theme #main > .inside:has(> .st-home-hero) > .st-home-join { width:100%; max-width:1440px; margin:0 auto; }
.st-theme #main .st-home-join { padding:150px 40px; background:url('../img/Homepage/homepage-berater-werden-pergament-breit-v2.png') center/cover no-repeat; color:#392b24; }
.st-theme #main .st-join-inner { max-width:960px; margin:auto; display:grid; grid-template-columns:minmax(0,480fr) minmax(0,416fr); align-items:center; gap:64px; }
.st-theme #main .st-join-inner h2 { margin:0 0 16px; color:inherit; font:700 34px/41px var(--font-family); }
.st-theme #main .st-join-inner p { margin:0; font-size:16px; line-height:23px; }
.st-theme #main .st-join-inner ul { padding:0 0 0 20px; margin:0 0 20px; list-style:disc; }
.st-theme #main .st-join-inner li { margin:0; font-size:18px; line-height:30px; }
.st-theme #main .st-join-inner a { display:flex; align-items:center; justify-content:center; width:210px; max-width:100%; min-height:52px; padding:12px 20px; border-radius:4px; background:#9e1b32; color:#fcf6eb; text-decoration:none; font:700 16px/1.4 var(--font-family); }
.st-theme #main .st-join-inner a:hover { background:#781427; }
.st-theme #main :is(.st-home-arrival,.st-home-post,.st-home-join) .clear { display:none; }
@media(min-width:901px) and (max-width:1199px) { .st-theme #main .st-arrival-panel { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr); gap:20px; } .st-theme #main .st-arrival-copy h2,.st-theme #main .st-arrival-copy .st-arrival-tagline { font-size:25px; } .st-theme #main .st-arrival-sign a { font-size:14px; } .st-theme #main .st-join-inner { max-width:780px; gap:40px; } }

/* HOME REVIEW 20261015: existing Font Awesome Free heart, native category data */
.st-theme .st-heart { flex: 0 0 auto; font-size: .8em; vertical-align: .02em; }
.st-theme #main .st-advisor-heading > .st-heart { color: var(--st-brand); }
.st-theme #main .st-advisor-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; padding: 0; margin: 0 0 12px; list-style: none; color: var(--st-gold); font: 400 14.5px/1.5 var(--font-family); }
.st-theme #main .st-advisor-categories > li { margin: 0; padding: 0; list-style: none; }
@media(min-width:901px) { .st-theme #main .st-category-page:last-child:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3,minmax(0,1fr)); width: calc(75% - 8px); margin-left: auto; margin-right: auto; } }

.st-theme #main .st-advisor-section .button { gap: 7px; }
.st-theme #main .st-advisor-categories > li[hidden] { display: none; }
.st-theme #st-mailcon-products { scroll-margin-top: 100px; }

/* HOME READABILITY: soft alpine-white backing, native tariff output preserved */
.st-theme #main .st-home-how li { position: relative; isolation: isolate; overflow: hidden; }
.st-theme #main .st-home-how li::before { content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; background: rgba(252,246,235,.30); backdrop-filter: blur(0.5px); -webkit-backdrop-filter: blur(0.5px); pointer-events: none; }
.st-theme #main .st-home-how li > :is(h3,p) { position: relative; z-index: 1; }
.st-theme #main .st-advisor-section .tariff .asterisk { display: none; }
/* Native cookie notice: compact lines and accessible close target; behavior unchanged */
.st-theme #cookie { box-sizing: border-box; padding: 12px 76px 12px 24px; height: auto; min-height: 68px; font: 400 14px/22px var(--font-family); text-align: left; color: #fcf6eb; background: #392b24; border-top: 1px solid #cbaa7d; }
.st-theme #cookie > a:not(.close) { color: #fcf6eb; text-decoration: underline; text-underline-offset: 3px; }
.st-theme #cookie > a.close { position: absolute; top: 12px; right: 16px; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #cbaa7d; border-radius: 6px; background: #fcf6eb; color: #392b24; font-size: 0; line-height: 1; text-decoration: none; opacity: 1; }
.st-theme #cookie > a.close::before { content: '\00d7'; font: 400 28px/1 Arial,sans-serif; }
.st-theme #cookie > a:focus-visible { outline: 3px solid #f6c344; outline-offset: 3px; }

/* Matching red hearts in Home sign and how heading */
.st-theme #main .st-arrival-sign .st-heart, .st-theme #main .st-home-how h2 > .st-heart { color: var(--st-brand); }


/* ==== CUSTOMER REGISTRATION AND CONTACT: native CMS forms ==== */
.st-theme #container:has(.st-customer-hero) { display: block; max-width: none; padding: 0; }
.st-theme #main :is(.st-customer-hero,.st-customer-intro,.st-customer-steps) { margin: 0; }
.st-theme #main .st-customer-hero { position: relative; isolation: isolate; min-height: 700px; display: flex; align-items: center; padding: 64px 24px 92px; }
.st-theme .st-customer-hero > figure.image { position: absolute; inset: 0; margin: 0; z-index: -2; }
.st-theme .st-customer-hero > figure.image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.st-theme .st-customer-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(15,26,23,.7),rgba(15,26,23,0)); }
.st-theme .st-customer-hero::after { content: ''; position: absolute; bottom: -12px; left: -18px; right: -18px; height: 108px; pointer-events: none; }
.st-theme .st-customer-hero::after { background: url('/files/img/Homepage/home-hero-pergament-desktop.png') center / 100% 100% no-repeat; }
.st-theme .st-customer-hero__copy { width: 100%; max-width: 1440px; margin: auto; color: var(--st-surface); }
.st-theme .st-customer-hero__copy > * { margin: 0 0 24px; max-width: 660px; }
.st-theme .st-customer-hero__copy > :last-child { margin-bottom: 0; }
.st-theme .st-customer-hero h1 { max-width: 840px; color: var(--st-surface); font-size: 80px; line-height: 91px; }
.st-theme .st-customer-eyebrow { font-size: 14px; font-weight: 600; line-height: 22px; }
.st-theme .st-customer-caption { font-size: 14px; line-height: 21px; }
.st-theme a.st-customer-button { display: inline-flex; align-items: center; justify-content: center; width: 320px; max-width: 100%; min-height: 52px; padding: 12px 24px; }
.st-theme a.st-customer-button { border: 1px solid var(--st-brand); border-radius: 4px; background: var(--st-brand); color: var(--st-surface); font-weight: 600; text-align: center; text-decoration: none; }
.st-theme a.st-customer-button:hover { background: #85162a; }
.st-theme #main .st-customer-intro { max-width: 1488px; padding: 64px 24px; margin: auto; }
.st-theme .st-customer-intro h2 { margin: 0 0 12px; font-size: 40px; line-height: 50px; }
.st-theme .st-customer-intro > figure.image { margin: 24px 0 0; }
.st-theme .st-customer-intro > figure.image img { display: block; width: 100%; height: 464px; object-fit: cover; border-radius: 8px; }
.st-theme .st-customer-intro > figure.image::after { content: 'Ein ruhiges Platzerl. Ein offenes Ohr. Zeit für dich.'; display: block; margin-top: 12px; font-size: 14px; text-align: center; color: var(--st-muted); }
.st-theme #main .st-customer-steps { background: var(--st-brand); color: var(--st-surface); padding: 48px 24px; }
.st-theme .st-customer-inner { max-width: 1440px; margin: auto; }
.st-theme .st-customer-steps h2 { margin: 0 0 32px; color: inherit; font-size: 40px; line-height: 50px; }
.st-theme .st-customer-steps ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin: 0; padding: 0; counter-reset: customer-step; list-style: none; }
.st-theme .st-customer-steps li { display: flex; gap: 16px; margin: 0; padding: 0; counter-increment: customer-step; }
.st-theme .st-customer-steps li::before { content: counter(customer-step); flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--st-surface); color: var(--st-brand); text-align: center; font: 400 28px/44px var(--st-heading); }
.st-theme .st-customer-steps h3 { margin: 0 0 4px; color: inherit; font-size: 22px; line-height: 34px; }
.st-theme .st-customer-steps p { margin: 0; line-height: 28px; }
.st-theme .st-customer-register { display: flow-root; }
.st-theme .st-customer-register #reg { width: calc(100% - 48px); margin: 64px auto; }
.st-theme :is(.st-customer-register #reg,.st-contact form) { position: relative; isolation: isolate; background: var(--st-paper); border: 1px solid var(--st-border); border-radius: 8px; }
.st-theme :is(.st-customer-register #reg,.st-contact form)::before,
.st-theme :is(.st-customer-register #reg,.st-contact form)::after { content: ''; position: absolute; left: 0; width: 100%; aspect-ratio: 1968 / 544; opacity: .65; pointer-events: none; z-index: -1; border-radius: 8px; }
.st-theme :is(.st-customer-register #reg,.st-contact form)::before,
.st-theme :is(.st-customer-register #reg,.st-contact form)::after { background: url('/files/img/Vorabseite%20Berater/vorabseite-bild-02.png') center / cover no-repeat; }
.st-theme :is(.st-customer-register #reg,.st-contact form)::before { top: 0; }
.st-theme :is(.st-customer-register #reg,.st-contact form)::after { bottom: 0; }
.st-theme :is(.st-customer-form-intro,.st-contact-form-intro) { grid-column: 1 / -1; padding: 24px 0; border-bottom: 1px solid var(--st-gold); text-align: center; color: var(--st-brown); }
.st-theme :is(.st-customer-form-intro,.st-contact-form-intro) h2 { margin: 0 0 8px; font-size: 28px; line-height: 36px; }
.st-theme :is(.st-customer-form-intro,.st-contact-form-intro) p { margin: 0; font-size: 14px; line-height: 21px; }
.st-theme .st-customer-register #reg > :is(.ctrl_gender,.ctrl_street,.ctrl_country,.ctrl_email,.ctrl_username,.retraction) { grid-column: 1 / -1; }
.st-theme .st-customer-register #reg > br,.st-theme .st-customer-register .retraction > br { display: none; }
.st-theme .st-customer-register #reg > .ctrl_city { grid-column: 2; }
.st-theme .st-customer-login { text-align: center; }
.st-theme #container:has(.st-contact) { max-width: 1488px; padding: 48px 24px 64px; }
.st-theme #main .st-contact { margin: 0; }
.st-theme .st-contact-heading { margin-bottom: 40px; }
.st-theme .st-contact-heading h1 { margin: 0 0 16px; font-size: 64px; line-height: 76px; }
.st-theme .st-contact-heading p { margin: 0; color: var(--st-muted); }
.st-theme .st-contact form { display: grid; gap: 24px; width: 100%; max-width: 820px; margin: auto; padding: 40px; }
.st-theme .st-contact form > .row { float: none; clear: none; width: 100%; min-width: 0; margin: 0; padding: 0; }
.st-theme .st-contact form > .row > label { display: block; float: none; width: auto; margin: 0 0 8px; font-size: 14px; font-weight: 600; line-height: 22px; }
.st-theme .st-contact :is(input.text,textarea,select) { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 52px; margin: 0; padding: 12px 16px; }
.st-theme .st-contact :is(input.text,textarea,select) { border: 1px solid var(--st-border); border-radius: 4px; background: var(--st-surface); color: var(--st-ink); font: inherit; }
.st-theme .st-contact .textdiv { float: none; width: 100%; margin: 0; }
.st-theme .st-contact textarea { height: 132px; resize: vertical; }
.st-theme .st-contact form > .check { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 12px; }
.st-theme .st-contact form > .check > input { width: 22px; height: 22px; margin: 3px 0 0; accent-color: var(--st-brand); }
.st-theme .st-contact form > .check > label { margin: 0; font-size: 14px; line-height: 22px; font-weight: 400; }
.st-theme .st-contact .submit_div { margin: 0; }
.st-theme .st-contact input.submit { width: 100%; min-height: 52px; padding: 12px 24px; border: 1px solid var(--st-brand); border-radius: 4px; cursor: pointer; }
.st-theme .st-contact input.submit { background: var(--st-brand); color: var(--st-surface); font: 600 16px/24px var(--font-family); }
.st-theme .st-contact input.submit:hover { background: #85162a; }
.st-theme .st-contact :is(input,textarea):user-invalid { border-color: var(--st-brand); }
.st-theme .st-contact :is(.error,.error_message) { color: var(--st-brand); overflow-wrap: anywhere; }
.st-theme:has(.st-contact,.st-customer-feedback) #header::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 36px; pointer-events: none; z-index: 1; }
.st-theme:has(.st-contact,.st-customer-feedback) #header::after { background: url('/files/img/Homepage/contact-edge-desktop.png') center / 100% 100% no-repeat; }
.st-theme #main .st-customer-feedback { max-width: 800px; margin: 32px auto; }
.st-theme .st-customer-feedback > * { margin: 0 0 32px; }
.st-theme .st-customer-feedback__greeting { padding: 20px 16px; text-align: center; color: var(--st-brown); font: 400 28px/36px var(--st-heading); }
.st-theme .st-customer-feedback__greeting { background: url('/files/img/Vorabseite%20Berater/vorabseite-bild-02.png') center / cover; }
.st-theme .st-customer-feedback .st-customer-eyebrow { color: var(--st-brand); }
.st-theme .st-customer-feedback h1 { font-size: 40px; line-height: 50px; }
.st-theme .st-customer-feedback__notice { padding: 24px; background: var(--st-surface); border: 1px solid #344b40; border-radius: 8px; }
.st-theme .st-customer-feedback__notice strong { display: block; margin-bottom: 8px; color: #344b40; font-size: 14px; }
.st-theme .st-customer-feedback__notice p { margin: 0; }
.st-theme .st-customer-feedback__action { text-align: center; }

.st-theme .st-contact .ctrl_Nachricht .textdiv { display: block; width: 100% !important; }
.st-theme:has(.st-contact,.st-customer-hero,.st-customer-feedback) #main { background: linear-gradient(rgba(245,232,214,.45),rgba(245,232,214,.45)),url('/files/img/Vorabseite%20Berater/vorabseite-bild-06.png') center / cover; }

.st-theme:has(.st-contact,.st-customer-feedback) #wrapper { background: linear-gradient(rgba(245,232,214,.65),rgba(245,232,214,.65)),url('/files/img/Vorabseite%20Berater/vorabseite-bild-06.png') center / cover; }
.st-theme:has(.st-contact,.st-customer-feedback) #main { background: transparent; }
.st-theme .st-contact-feedback .bh { font-size: 40px; line-height: 50px; }
.st-theme #main .st-contact-feedback { min-height: 280px; padding: 40px 0; }

/* ==== SHARED PARCHMENT: all theme pages, Figma original at 22 percent ==== */
:root { --st-main-paper: #f1e3c9; --st-main-paper-image: url('/files/img/Vorabseite%20Berater/vorabseite-bild-06.png'); }
.st-theme #wrapper { background-color: var(--st-main-paper); }
.st-theme #wrapper { background-image: linear-gradient(rgba(241,227,201,.78),rgba(241,227,201,.78)),var(--st-main-paper-image); }
.st-theme #wrapper { background-size: auto,2088.8px 1475.6px; background-position: left top; background-repeat: repeat; }
.st-theme #wrapper #container,.st-theme #wrapper #main { background: transparent; }
.st-theme:has(.st-contact,.st-customer-feedback) #wrapper { background-color: var(--st-main-paper); }
.st-theme:has(.st-contact,.st-customer-feedback) #wrapper { background-image: linear-gradient(rgba(241,227,201,.78),rgba(241,227,201,.78)),var(--st-main-paper-image); }
.st-theme:has(.st-contact,.st-customer-feedback) #wrapper { background-size: auto,2088.8px 1475.6px; background-position: left top; background-repeat: repeat; }
.st-theme #main .st-customer-hero { overflow: hidden; }

/* ==== PAPER EDGE: fade into the shared texture, preserve the torn upper edge ==== */
.st-theme #main :is(.st-home-hero,.st-customer-hero) { background-color: transparent; }
.st-theme #main :is(.st-home-hero,.st-customer-hero) > figure.image { clip-path: inset(0 0 44px 0); }
.st-theme #main .st-customer-hero::before { clip-path: inset(0 0 44px 0); }
.st-theme #main :is(.st-home-hero,.st-customer-hero)::after { bottom: 0; }
.st-theme #main :is(.st-home-hero,.st-customer-hero)::after { mask-image: linear-gradient(to bottom,#000 60%,transparent 100%); }
.st-theme #main :is(.st-home-hero,.st-customer-hero)::after { -webkit-mask-image: linear-gradient(to bottom,#000 60%,transparent 100%); }

/* ==== LOGIN: shared parchment and native Flexcom authentication ==== */
.st-theme #main .st-login-page { max-width: 1440px; margin: 0 auto; padding: 48px 24px 64px; }
.st-theme .st-login-heading { margin: 0 0 40px; text-align: center; }
.st-theme .st-login-heading h1 { margin: 0 0 16px; font: 400 64px/76px var(--st-heading); color: var(--st-brown); }
.st-theme .st-login-heading p { margin: 0; color: var(--st-muted); font-size: 16px; line-height: 26px; }
.st-theme .st-login-page form { position: relative; isolation: isolate; display: grid; gap: 24px; width: 100%; max-width: 820px; margin: auto; padding: 40px; border: 1px solid var(--st-border); border-radius: 8px; overflow: hidden; }
.st-theme .st-login-page form::before,.st-theme .st-login-page form::after { content: ''; position: absolute; z-index: -1; inset: 0 0 auto; height: 190px; pointer-events: none; background: url('/files/img/Vorabseite%20Berater/vorabseite-bild-02.png') center / cover no-repeat; opacity: .20; }
.st-theme .st-login-page form::after { inset: auto 0 0; height: 150px; opacity: .40; }
.st-theme .st-login-intro { padding: 24px; border-bottom: 1px solid var(--st-border); text-align: center; }
.st-theme .st-login-intro h2 { margin: 0 0 12px; color: var(--st-brown); font: 400 28px/36px var(--st-heading); }
.st-theme .st-login-intro p { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 21px; }
.st-theme .st-login-field label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; line-height: 22px; }
.st-theme .st-login-page input.text { display: block; width: 100%; min-width: 0; height: 52px; margin: 0; padding: 12px 16px; border: 1px solid var(--st-border); border-radius: 4px; background: var(--st-surface); color: var(--st-ink); font: inherit; }
.st-theme .st-login-required { margin: 0; font-size: 14px; line-height: 22px; }
.st-theme .st-login-page .pwlink { margin: 0; font-size: 14px; line-height: 22px; color: var(--st-brand); }
.st-theme .st-login-page input.submit { width: 100%; min-height: 52px; margin: 0; padding: 12px 24px; border: 1px solid var(--st-brand); border-radius: 4px; background: var(--st-brand); color: var(--st-surface); font: 600 16px/24px var(--font-family); cursor: pointer; }
.st-theme .st-login-page input.submit:hover { background: #85162a; }
.st-theme .st-login-register { text-align: center; color: var(--st-brand); font-size: 14px; line-height: 22px; }
.st-theme .st-login-page :is(.error,.error_message) { color: var(--st-brand); overflow-wrap: anywhere; }
.st-theme:has(.st-login-page) #header::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 36px; pointer-events: none; z-index: 1; background: url('/files/img/Homepage/contact-edge-desktop.png') center / 100% 100% no-repeat; }

.st-theme .st-login-page form::before { mask-image: linear-gradient(#000,transparent); -webkit-mask-image: linear-gradient(#000,transparent); }
.st-theme .st-login-page form::after { mask-image: linear-gradient(transparent,#000); -webkit-mask-image: linear-gradient(transparent,#000); }

.st-theme:has(.st-login-page) #container { width: 100%; max-width: none; padding: 0; }

/* Native password recovery, including native anti-spam fields. */
.st-theme #main .mod_passreset { max-width: 820px; margin: 0 auto; padding: 48px 0 64px; }
.st-theme .mod_passreset h1 { text-align: center; font: 400 48px/1.2 var(--st-heading); margin: 0 0 32px; }
.st-theme .mod_passreset form { border: 1px solid var(--st-border); border-radius: 8px; padding: 32px; }
.st-theme .mod_passreset .formbody { display: grid; gap: 24px; }
.st-theme .mod_passreset .row { margin: 0; padding: 0; }
.st-theme .mod_passreset .row > br { display: none; }
.st-theme .mod_passreset :is(input.text,select) { width: 100%; min-height: 52px; margin: 0; padding: 12px 16px; border: 1px solid var(--st-border); border-radius: 4px; background: var(--st-surface); color: var(--st-ink); font: inherit; }
.st-theme .mod_passreset input.submit { width: 100%; min-height: 52px; white-space: normal; padding: 12px; margin: 0; background: var(--st-brand); color: var(--st-surface); border: 0; border-radius: 4px; font: 600 16px/24px var(--font-family); cursor: pointer; }
.st-theme:has(.mod_passreset) #header::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 36px; pointer-events: none; z-index: 1; background: url('/files/img/Homepage/contact-edge-desktop.png') center / 100% 100% no-repeat; }

/* ==== PUBLIC ADVISOR PROFILE: native data and actions ==== */
.st-theme:has(.cte_agent.detail) #container { width: 100%; max-width: 1504px; padding: 72px 32px 48px; }
.st-theme:has(.cte_agent.detail) #header::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 36px; background: url('/files/img/Homepage/contact-edge-desktop.png') center / 100% 100% no-repeat; pointer-events: none; }
.st-theme .st-profile-card { position: relative; padding: 88px 40px 40px; border: 1px solid #cbaa7d; border-radius: 8px; background: linear-gradient(rgba(38,21,11,.45),rgba(38,21,11,.45)),url('/files/img/Vorabseite%20Berater/vorabseite-bild-01.png') center / cover; color: #fffaf2; box-shadow: 0 6px 10px rgba(56,36,20,.12); }
.st-theme .st-profile-card .cte_agent.detail { display: grid; grid-template-columns: 300px minmax(0,1fr) 240px; gap: 32px; padding: 0; margin: 0 0 32px; background: none; border: 0; }
.st-theme .st-profile-card .cte_agent > figure { grid-column: 1; grid-row: 1; width: 300px; margin: 0; float: none; }
.st-theme .st-profile-card .cte_agent > figure img { display: block; float: none; width: 300px; height: 300px; max-width: 100%; object-fit: cover; border: 3px solid #cbaa7d; border-radius: 50%; margin: 0; }
.st-theme .st-profile-card .st-profile-heading { grid-column: 2; grid-row: 1; min-width: 0; }
.st-theme .st-profile-card h1 { color: #fffaf2; font: 400 64px/1.2 var(--st-heading); margin: 0 0 24px; overflow-wrap: anywhere; }
.st-theme .st-profile-card h2 { color: #fffaf2; font: 400 40px/1.25 var(--st-heading); margin: 0 0 24px; }
.st-theme .st-profile-card .pnotice h2 { font-size: 28px; margin-bottom: 12px; }
.st-theme .st-profile-card .pnotice { margin: 0; padding: 0; background: none; color: inherit; border: 0; }
.st-theme .st-profile-card .cte_agent .right { grid-column: 3; grid-row: 1; float: none; width: auto; margin: 0; padding: 0; align-self: start; scroll-margin-top: 30px; }
.st-theme .st-profile-card .right .button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 10px 12px; margin: 0; border: 1px solid #cbaa7d; border-radius: 4px; color: #fffaf2; background: #746252; font: 600 16px/24px var(--font-family); text-decoration: none; text-align: center; }
.st-theme .st-profile-card .right .button.online { background: #2f4f3e; border-color: #2f4f3e; }
.st-theme .st-profile-card .right .button.busy { background: #9e1b32; border-color: #9e1b32; }
.st-theme .st-profile-card .right .button.email { background: #fcf6eb; color: #6b3e26; }
.st-theme .st-profile-card .right .tariff { display: block; color: inherit; font-size: 14px; margin: 4px 0 16px; }
.st-theme .st-profile-card .right .tariff.disable { text-decoration: line-through; }
.st-theme .st-profile-card > .block { margin: 32px 0 0; padding: 0; }
.st-theme .st-profile-card .longtext { font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
.st-theme .st-profile-card .longtext img { max-width: 100%; height: auto; }
.st-theme .st-profile-status { position: absolute; top: 22px; left: -9px; padding: 6px 18px; background: #746252; color: #fffaf2; font-size: 14px; transform: rotate(-3deg); box-shadow: 1px 2px 4px #0005; }
.st-theme .st-profile-status.online { background: #2f4f3e; }
.st-theme .st-profile-card .cats ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 16px; list-style: none; margin: 24px 0; padding: 0; }
.st-theme .st-profile-card .cats li { float: none; width: auto; margin: 0; padding: 0; min-width: 0; }
.st-theme .st-profile-card .cats li[hidden],.st-theme .st-profile-card [hidden] { display: none !important; }
.st-theme .st-profile-card .cats a { display: flex; flex-direction: column; align-items: center; gap: 12px; color: #fffaf2; text-align: center; text-decoration: none; }
.st-theme .st-profile-card .cats img { width: 156px; height: 156px; max-width: 100%; object-fit: cover; border: 2px solid #cbaa7d; border-radius: 50%; }
.st-theme .st-profile-category-name { font: 400 27px/1.3 var(--st-heading); }
.st-theme .st-profile-category-copy { font-size: 17px; line-height: 26px; }
.st-theme .st-profile-expand { display: block; width: 280px; max-width: 100%; min-height: 52px; margin: 24px auto 0; background: #fffaf21a; color: #fffaf2; border: 1px solid #cbaa7d; border-radius: 4px; font: inherit; cursor: pointer; }
.st-theme .st-profile-card .table { overflow-x: auto; }
.st-theme .st-profile-card a:focus-visible,.st-theme .st-profile-card button:focus-visible { outline: 3px solid #cbaa7d; outline-offset: 4px; }
.st-theme .st-profile-card .cats a:hover img { border-color: #fffaf2; }
.st-theme .st-profile-card .st-contact-highlight { animation: st-profile-glow 1.2s ease-out; }
@keyframes st-profile-glow { from { box-shadow: 0 0 22px #cbaa7d; } to { box-shadow: none; } }
@media (prefers-reduced-motion: reduce) { .st-theme .st-profile-card .st-contact-highlight { animation: none; outline: 2px solid #cbaa7d; } }
.st-theme:has(.cte_agent.detail) .cte_tariffs { margin-top: 24px; font-size: 13px; }
.st-theme .cte_agent.detail a[href*='/pm/write/agent/'] { display: none; }

/* Shared native status and a visible category-to-contact cue. */
.st-theme .st-profile-status.busy { background: #9e1b32; }
.st-theme .st-profile-status.break,.st-theme .st-profile-card .right .button.break { background: #976025; color: #fffaf2; }
.st-theme .st-profile-status.offline,.st-theme .st-profile-card .right .button.offline { background: #746252; color: #fffaf2; }
.st-theme .st-profile-card .st-contact-highlight { animation: none; }
.st-theme .st-profile-card .st-contact-highlight .button { animation: st-profile-button-glow 2.2s ease-out; }
@keyframes st-profile-button-glow { 0%,45% { box-shadow: 0 0 0 3px #fff0bf,0 0 26px 8px #cbaa7dbb; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .st-theme .st-profile-card .st-contact-highlight .button { animation: none; outline: 3px solid #fff0bf; outline-offset: 3px; } }
.st-theme .st-profile-personal { float: right; width: 300px; max-width: 40%; margin: 0 0 24px 32px; }
.st-theme .st-profile-personal img { display: block; width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; border: 3px solid #cbaa7d; border-radius: 50%; }
.st-theme .st-profile-about::after { content: ''; display: block; clear: both; }
