/* ==== MOBILE BASE: loaded at max-width 900px ==== */
body                            { font-size: 16px; }
.wrap                           { width: calc(100% - 40px); }
.bh                             { font-size: clamp(32px,7vw,48px); line-height: 1.15; }
.button                         { min-height: 48px; font-size: 15px; padding: 11px 20px; }
/* ==== HEADER ==== */
#header                         { background-size: 100% 120px; background-position: center 40px; }
.announcement                   { min-height: 40px; height: auto; padding: 8px 12px; font-size: 9px; gap: 8px; }
.announcement img               { width: 25px; height: auto; }
.site-header                    { min-height: 92px; gap: 15px; flex-wrap: wrap; position: relative; }
.brand                          { flex: 0 1 210px; min-width: 0; gap: 8px; }
.menu-toggle                    { display: flex; align-items: center; gap: 8px; padding: 10px; }
.menu-toggle                    { border: 1px solid var(--gold); color: var(--cream); background: #432048dd; }
.menu-toggle                    { border-radius: 8px; }
#primary-navigation             { display: none; position: absolute; top: 86px; left: 0; right: 0; }
#primary-navigation             { background: var(--dark); border: 1px solid var(--gold); padding: 20px; }
#primary-navigation             { border-radius: 14px; flex-direction: column; align-items: stretch; gap: 0; }
#primary-navigation             { box-shadow: 0 12px 30px #0005; }
#primary-navigation.is-open     { display: flex; }
#primary-navigation a           { padding: 12px; }
.header-actions                 { width: 100%; justify-content: flex-end; gap: 14px; padding-bottom: 16px; }
.header-actions .button         { min-height: 40px; font-size: 12px; padding: 7px 12px; border-width: 2px; }
.login-link                     { font-size: 13px; }
/* ==== HERO ==== */
.home-hero                      { min-height: 730px; }
.hero-image                     { object-position: 63% center; }
.home-hero:after                { content: ''; position: absolute; inset: 0; }
.home-hero:after                { background: linear-gradient(90deg,#0008,transparent); }
.hero-copy                      { padding: 275px 0 125px; z-index: 1; }
.hero-copy h1                   { font-size: clamp(34px,7.5vw,60px); line-height: 1.13; }
.hero-copy p                    { font-size: 17px; line-height: 1.6; max-width: 470px; margin-top: 22px; }
.desktop-break                  { display: none; }
.hero-copy .button              { margin-top: 28px; }
/* ==== AGENT LIST ==== */
.home-advisors                  { padding: 65px 0; }
.home-advisors .bh              { margin-bottom: 40px; }
.agentlist                      { grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 20px; }
.agent-empty                    { padding: 25px 0; }
.agent-empty h3                 { font-size: 25px; }
.advisors-more                  { margin-top: 35px; }
/* ==== TOPICS ==== */
.home-topics                    { padding: 65px 0; }
.home-topics .bh                { white-space: normal; margin-bottom: 35px; }
.topic-grid                     { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.topic-card:last-child          { grid-column: 1 / -1; width: calc(50% - 7.5px); justify-self: center; }
.topic-card>div                 { min-height: 160px; padding: 15px 12px; }
.topic-card h3                  { font-size: clamp(18px,4vw,26px); line-height: 1.5; margin-bottom: 8px; }
.topic-card p                   { font-size: 13px; }
/* ==== SESSION ==== */
.home-how                       { grid-template-columns: 1fr; }
.how-copy                       { padding: 60px 25px; min-height: 0; }
.how-copy .bh br                { display: none; }
.how-copy .bh                   { max-width: 400px; }
.steps                          { margin-top: 35px; min-height: 155px; }
.steps h3                       { font-size: 30px; }
.how-image                      { height: 440px; }
.slider-controls img            { width: 55px; height: 55px; }
/* ==== METHODS ==== */
.home-methods                   { padding: 65px 20px; }
.home-methods .bh               { margin-bottom: 35px; }
.method-chips                   { gap: 12px; }
.method-chips.major             { display: grid; grid-template-columns: 1fr; }
.method-chips.major a           { font-size: clamp(18px,4.5vw,26px); padding: 18px 12px; }
.method-chips.minor             { gap: 10px; margin-top: 20px; }
.method-chips.minor a           { padding: 10px 14px; min-width: 0; font-size: 12px; }
.home-methods>.button           { min-width: 0; width: 100%; max-width: 328px; margin-top: 35px; }
/* ==== NUMBERS ==== */
.home-stats                     { min-height: 240px; height: auto; padding: 65px 0; }
.home-stats .wrap               { width: calc(100% - 24px); gap: 10px; }
.home-stats strong              { font-size: clamp(32px,8vw,52px); margin-bottom: 8px; }
.home-stats span                { font-size: 12px; display: block; }
/* ==== TV ==== */
.home-tv                        { padding: 60px 20px; }
.tv-wrap                        { width: 100%; }
.tv-intro                       { flex-direction: column; align-items: flex-start; gap: 25px; margin-bottom: 30px; }
.tv-intro h2                    { font-size: 36px; }
.eyebrow                        { font-size: 12px; }
.tv-card                        { padding: 24px 18px; }
.tv-card-heading h3             { font-size: 18px; }
.tv-name h4                     { font-size: 28px; }
.tv-meta                        { gap: 15px; }
.tv-meta strong                 { font-size: 15px; }
.tv-profile                     { flex-direction: column; }
.tv-profile>img                 { width: 180px; height: 180px; flex-basis: auto; }
.tv-profile p                   { font-size: 14px; }
.tv-profile .button             { min-width: 0; width: 100%; }
/* ==== TESTIMONIAL ==== */
.home-testimonial               { grid-template-columns: 1fr; }
.testimonial-photo              { height: 340px; }
.testimonial-photo p            { left: 25px; bottom: 30px; font-size: 28px; }
.testimonial-copy               { padding: 45px 25px; min-height: 0; }
blockquote                      { font-size: 35px; }
.testimonial-copy>p             { font-size: 14px; }
.testimonial-copy .slider-controls{ margin-top: 30px; }
/* ==== CLUB ==== */
.home-club                      { min-height: 560px; }
.club-copy                      { padding: 80px 20px; }
.club-copy h2                   { font-size: 42px; margin-bottom: 30px; }
.club-copy p                    { font-size: 17px; line-height: 1.5; margin-bottom: 30px; }
.club-copy p br                 { display: none; }
.club-copy .button              { min-width: 0; width: 100%; max-width: 328px; }
/* ==== FAQ ==== */
.home-faq                       { padding: 65px 20px; }
.faq-wrap                       { width: 100%; }
.faq-wrap h2                    { font-size: 50px; }
.faq-intro                      { margin: 30px 0; font-size: 15px; }
.faq-list summary               { padding: 20px; font-size: 15px; min-height: 80px; }
.faq-list details>p             { padding: 0 20px 25px; font-size: 14px; }
/* ==== FOOTER ==== */
.footer-wrap                    { padding: 55px 0 30px; }
.footer-columns                 { grid-template-columns: 1fr 1fr; gap: 30px 20px; font-size: 14px; }
.footer-columns h2              { margin-bottom: 20px; }
.footer-columns nav>a,.footer-columns nav>span,.footer-social>a,.footer-social>span{ margin-bottom: 15px; }
.newsletter                     { grid-column: 1 / -1; }
.newsletter p br                { display: none; }
.newsletter-fields              { gap: 10px; }
.newsletter-fields input        { min-height: 48px; padding: 12px; }
.footer-trust                   { margin-top: 30px; gap: 25px; align-items: flex-start; flex-direction: column; }
.social-icons                   { gap: 8px; flex-wrap: wrap; }
.social-icons>a                 { font-size: 12px; }
.copyright                      { margin-top: 35px; font-size: 15px; gap: 15px; }

/* ==== SYSTEMNAVIGATION ==== */
.site-header                    { padding-top: 0; padding-bottom: 0; }
#header #primary-navigation     { background: var(--dark); padding: 12px 20px; z-index: 10; }
#header #primary-navigation     { max-height: calc(100dvh - 150px); overflow-y: auto; }
#header .level_1                { flex-direction: column; align-items: stretch; gap: 0; }
#header .level_1 a              { padding: 12px 0; }
/* ==== TEAM ==== */
.shiva-team .team-intro         { padding: 42px 0 32px; }
.shiva-team .team-intro h1      { font-size: 38px; line-height: 1.2; margin-bottom: 18px; }
.shiva-team .team-intro p       { margin-bottom: 26px; }
.shiva-team .team-filters       { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.shiva-team .team-search        { grid-column: 1 / -1; }
.shiva-team .team-filters select{ width: 100%; min-width: 0; max-width: none; font-size: 14px; padding: 0 10px; }
.shiva-team .team-search input  { font-size: 14px; }
.shiva-team .team-sort          { flex-wrap: wrap; font-size: 12px; }
.shiva-team .team-name h2       { font-size: 24px; }
.shiva-team .team-results       { padding: 35px 0; }

/* ==== BERATERPROFIL ==== */
.shiva-profile .advisor-detail  { padding: 28px 0 45px; }
.shiva-profile .profile-back    { font-size: 14px; margin-bottom: 28px; }
.shiva-profile .profile-grid    { grid-template-columns: 1fr; gap: 28px; }
.shiva-profile .profile-portrait{ width: 100%; max-width: 560px; margin: 0 auto; }
.shiva-profile .profile-image   { aspect-ratio: 560 / 600; }
.shiva-profile .profile-info    { padding-top: 0; gap: 16px; }
.shiva-profile .profile-info h1 { font-size: 36px; line-height: 1.2; }
.shiva-profile .profile-story   { font-size: 15px; }
.shiva-profile .profile-languages{ font-size: 14px; }
.shiva-profile .profile-specialties a{ font-size: 12px; }
.shiva-profile .profile-methods { padding: 18px; }
.shiva-profile .profile-contact { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.shiva-profile .profile-contact .button{ font-size: 14px; padding: 12px 8px; }
.shiva-profile .profile-price small{ font-size: 12px; }
.shiva-profile .profile-message.button{ font-size: 16px; }
.shiva-profile .profile-reviews { padding: 45px 0; }
.shiva-profile .profile-review-grid{ grid-template-columns: 1fr; gap: 18px; margin-top: 25px; }
.shiva-profile .profile-review  { padding: 22px; }
.shiva-profile .profile-reviews-empty{ font-size: 15px; }
.shiva-profile .profile-tariffs { font-size: 12px; overflow-x: auto; }

/* ==== CLUB ==== */
.club-hero                      { height: 500px; min-height: 0; }
.club-hero .section-image       { object-position: 57% bottom; }
.club-hero h1                   { top: 57%; font-size: 48px; }
.club-intro                     { padding: 65px 0; }
.club-intro .bh                 { margin-bottom: 30px; }
.club-intro .button             { width: 100%; padding: 12px; }
.club-divider                   { padding: 70px 0; }
.club-divider p                 { font-size: 32px; }
.club-team-grid                 { grid-template-columns: 1fr; gap: 40px; padding: 55px 0; }
.club-team .button              { margin: 28px 0; }
.club-team-portraits            { gap: 12px; }
.club-audience                  { padding: 60px 0; }
.club-audience figure           { margin-top: 35px; }
.club-audience figure img       { width: 100%; }
.club-audience figcaption       { font-size: 24px; margin-top: 24px; }
.club-media                     { padding: 60px 0; }
.club-media-link>span           { font-size: 20px; padding: 20px 10px; }

/* ==== ÜBER UNS ==== */
.about-hero                     { min-height: 520px; }
.about-hero .wrap               { padding-top: 250px; padding-bottom: 80px; }
.about-hero h1                  { font-size: 38px; }
.about-hero h1 br               { display: none; }
.about-why                      { padding: 50px 0; }
.about-why-grid                 { grid-template-columns: 1fr; gap: 35px; }
.about-why-image                { aspect-ratio: 4 / 3; }
.about-why .bh                  { font-size: 38px; margin-bottom: 22px; }
.about-question                 { font-size: 24px; min-height: 5.28em; }
.shiva-about .home-topics       { padding: 60px 0; }
.shiva-about .topic-card>div    { min-height: 0; }
.about-methods                  { padding: 60px 0; }
.about-methods>.wrap>.bh        { font-size: 38px; margin-bottom: 35px; }
.about-method-card              { grid-template-columns: 1fr; }
.about-method-card>img          { aspect-ratio: 4 / 3; }
.about-method-copy              { padding: 30px 24px; }
.about-method-links             { width: calc(100% - 40px); margin-top: 30px; }
.about-stream .how-copy         { min-height: 0; padding-bottom: 50px; }
.about-stream p                 { font-size: 24px; margin: 24px 0 30px; }
.about-compass                  { min-height: 400px; }
.about-compass .wrap            { padding: 100px 0; }
.about-compass .bh              { font-size: 36px; }

/* ==== KONTAKT ==== */
.contact-hero                   { height: 430px; }
.contact-hero .section-image    { object-position: 58% center; }
.contact-hero h1                { top: 62%; font-size: 44px; }
.contact-wide                   { width: calc(100% - 40px); }
.contact-topics,.contact-direct { padding: 50px 0; }
.shiva-contact #main h2:not(.bh){ font-size: 28px; line-height: 1.3; }
.contact-topic-grid             { grid-template-columns: 1fr; gap: 16px; margin-top: 30px; }
.contact-topic                  { padding: 24px; }
.contact-form-intro             { padding-bottom: 30px; }
.shiva-contact .cte_form        { width: calc(100% - 40px); padding-bottom: 55px; }
.shiva-contact .cte_form form   { grid-template-columns: 1fr; gap: 22px; }
.contact-advisors               { padding: 55px 0; }
.contact-advisors p             { font-size: 16px; }
.contact-direct-grid            { grid-template-columns: 1fr; margin-top: 30px; }
.contact-direct article         { padding: 24px; }
.contact-direct h3              { font-size: 19px; }
.contact-direct p               { flex-wrap: wrap; gap: 8px; font-size: 14px; }

/* ==== SYSTEMFORMULARE: GEMEINSAME FELDER UND REGISTRIERUNG ==== */
#main .mod_register             { width: calc(100% - 40px); padding: 38px 0 55px; }
#main .mod_register>.bh         { font-size: 34px; margin-bottom: 28px; }
#main .mod_register form        { grid-template-columns: 1fr; gap: 22px; }
#main .mod_register .ctrl_gender select{ max-width: none; }
#main .mod_register form>.submit{ width: 100%; }
#main form .row>div.phone>.cc   { flex-basis: 105px; width: 105px; }
/* ==== LOGIN ==== */
.login-intro                    { width: calc(100% - 40px); padding-top: 42px; }
.login-intro h1                 { font-size: 34px; }
#main .mod_login,.login-register{ width: calc(100% - 40px); }
.login-register                 { margin-bottom: 55px; }
/* ==== SYSTEMSEITEN: FEHLERMELDUNGEN ==== */
body:has(#main .system-error-block) #main        { padding: 42px 0 55px; min-height: 38vh; }
body:has(#main .system-error-block) #main>.inside{ width: calc(100% - 40px); }
body:has(#main .system-error-block) .cte_text .bh{ font-size: 34px; margin-bottom: 22px; }
body:has(#main .system-error-block) .cte_text p  { font-size: 16px; }

/* ==== STANDARD-INHALTSBLÖCKE ==== */
:where(#main>.inside)>div.block  { width: calc(100% - 40px); margin: 42px auto 55px; }
:where(#main>.inside)>div.block>.bh{ font-size: 34px; margin-bottom: 26px; }
#main .block .submit_container .submit{ width: 100%; }

/* ==== STREAM / LIVE ==== */
.stream-hero                    { height: 430px; min-height: 0; }
.stream-hero .section-image     { object-position: 60% 71.6%; }
.stream-hero h1                 { top: 62%; font-size: 44px; }
.stream-wrap                    { width: calc(100% - 40px); }
.stream-stage                   { padding: 35px 0; }
.stream-grid                    { grid-template-columns: 1fr; gap: 24px; }
.stream-player                  { aspect-ratio: auto; min-height: 260px; }
.stream-player-message          { padding: 35px 22px; }
.stream-player-message h2       { font-size: 27px; }
.stream-player-message .button  { width: 100%; }
.stream-chat-copy               { padding: 24px; }
.stream-schedule,.stream-archive{ padding: 55px 0; }
.stream-schedule h2,.stream-archive h2{ font-size: 28px; }
.stream-empty                   { padding: 24px; }
.stream-video-grid              { grid-template-columns: 1fr; gap: 24px; }
.stream-video-copy              { padding: 22px; }
.stream-archive-more .button    { width: 100%; }

/* ==== VERSCHACHTELTE SYSTEMNAVIGATION ==== */
.site-header                    { flex-wrap: wrap; }
#header #primary-navigation     { display: none; position: absolute; top: 100%; left: 0; right: 0; width: 100%; }
#header #primary-navigation     { background: var(--dark); border: 1px solid var(--gold); padding: 12px 18px; }
#header #primary-navigation     { max-height: min(70dvh,600px); overflow-y: auto; overscroll-behavior: contain; }
#header #primary-navigation.is-open{ display: block; }
#header #primary-navigation .level_1{ display: block; white-space: normal; }
#header #primary-navigation .level_1>li{ border-bottom: 1px solid #ffffff1f; }
#header #primary-navigation .level_1>li:last-child{ border-bottom: 0; }
#header #primary-navigation a   { padding: 14px 0; font-size: 16px; line-height: 1.5; }
#header #primary-navigation .account-navigation{ display: block; }
#header #primary-navigation .has-submenu>a{ padding-right: 48px; }
#header #primary-navigation .submenu-toggle{ display: grid; place-items: center; position: absolute; top: 4px; right: 0; }
#header #primary-navigation .submenu-toggle{ width: 44px; height: 44px; padding: 0; color: var(--gold); font-size: 24px; }
#header #primary-navigation .submenu-toggle{ background: none; border: 1px solid #cbbd9640; border-radius: 8px; }
#header #primary-navigation .submenu-toggle[aria-expanded="true"]{ transform: rotate(180deg); }
#header #primary-navigation li>ul{ display: none; position: static; min-width: 0; border: 0; border-left: 1px solid var(--gold); }
#header #primary-navigation li>ul{ padding: 0 0 0 16px; margin: 0 0 14px 4px; border-radius: 0; }
#header #primary-navigation li:hover>ul,#header #primary-navigation li:focus-within>ul{ display: none; }
#header #primary-navigation li.submenu-open>ul{ display: block; }
#header #primary-navigation li>ul a{ font-size: 14px; padding-top: 12px; padding-bottom: 12px; }

/* ==== SYSTEMMELDUNGEN ==== */
.sysmsg                         { padding: 16px 18px; font-size: 15px; margin-top: 16px; margin-bottom: 16px; }
#main>.inside>#ajax-sysmsg:has(.sysmsg){ width: calc(100% - 40px); margin: 24px auto; }

/* ==== BERATER-STARTSEITE ==== */
body.member #container{ display: flex; flex-direction: column; gap: 24px; }
body.member #container{ width: calc(100% - 40px); margin: 28px auto 50px; }
body.member #left{ width: 100%; }
body.member #left .nav{ display: none; }
body.member #left .block{ margin: 0; padding: 20px; }
body.member #left .infos{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
body.member #left .infos .user{ grid-column: 1 / -1; }
body.member #left .infos li{ font-size: 13px; }
body.member #left .infos .status{ grid-column: 1 / -1; }
.advisor-dashboard-intro        { padding: 8px 0 28px; }
.advisor-dashboard-intro h1     { font-size: 34px; }
.advisor-dashboard-intro .button{ width: 100%; }
body.member #main>.inside>div.block{ padding: 22px 18px; margin-bottom: 24px; }
body.member #main .block>.bh{ font-size: 23px; margin-bottom: 20px; }
body:has(.advisor-dashboard-intro) .mod_statistic table{ min-width: 620px; font-size: 13px; }
body:has(.advisor-dashboard-intro) .mod_statistic :is(th,td){ padding: 13px 12px; }
body:has(.advisor-dashboard-intro) .mod_statistic :is(th,td):first-child{ position: sticky; left: 0; z-index: 1; }
body:has(.advisor-dashboard-intro) .cte_account .submit{ width: 100%; }
body:has(.advisor-dashboard-intro) #window>.inside{ padding: 24px 20px; }
body:has(.advisor-dashboard-intro) #window .cte_account .submit{ width: 100%; }

/* ==== MITGLIEDERBEREICH: SYSTEMMODULE ==== */
body.member #main .table table  { min-width: 620px; font-size: 13px; }
body.member #main .table :is(th,td){ display: table-cell; padding: 12px; }
body.member #main .table tr     { display: table-row; }
body.member #main .table thead  { display: table-header-group; }
body.member #main .tabnav       { gap: 6px; margin: 20px 0; }
body.member #main .tabnav a     { font-size: 13px; padding: 10px 12px; }
body.member #main .button,body.member #main form>.submit{ width: 100%; }
body.member #main :is(form.search,form div.search){ flex-wrap: wrap; }
body.member #main :is(form.search,form div.search) input.text{ flex-basis: 100%; width: 100%; }
body.member #main :is(form.search,form div.search) .submit{ width: 100%; }
body.member #main .mod_customers>.right{ display: grid; grid-template-columns: 1fr; }
body.member #main .mod_status input.radio+label{ padding: 9px 12px; font-size: 14px; }
body.member #main .fx_cnt       { padding: 14px; }
body.member #main #filter #submit,body.member #main #filter #search{ width: 100%; }

/* ==== KUNDENBEREICH ==== */
body.member #main .mod_recharge .payment>a{ float: none; display: inline-block; margin: 0 0 20px; }
body.member #main .mod_recharge h3{ font-size: 22px; }
body.member #main .mod_recharge form{ flex-direction: column; align-items: stretch; }
body.member #main .mod_recharge form>:is(select,input,.submit){ width: 100%; min-width: 0; }
body.member #main #pmWrite .fx_cnt{ min-height: 220px; }

/* ==== MOBILES MITGLIEDERMENÜ NACH FIGMA ==== */
#header #primary-navigation .account-navigation>ul{ background: var(--violet); border: 0; border-radius: 20px; }
#header #primary-navigation .account-navigation>ul{ padding: 16px 12px; margin: 8px 0 16px; }
#header #primary-navigation .account-navigation>ul>li{ margin: 0 0 4px; }
#header #primary-navigation .account-navigation>ul>li:last-child{ margin-bottom: 0; }
#header #primary-navigation .account-navigation>ul>li>a{ display: flex; align-items: center; gap: 12px; }
#header #primary-navigation .account-navigation>ul>li>a{ padding: 12px 16px; border-radius: 12px; }
#header #primary-navigation .account-navigation>ul>li>a{ font-size: 15px; line-height: 1.5; font-weight: 500; color: #fcf8efd9; }
#header #primary-navigation .account-navigation>ul>li>a:hover{ background: #fcf8ef14; color: var(--cream); }
#header #primary-navigation .account-navigation>ul>li.active>a{ background: var(--gold); color: var(--violet); }
#header #primary-navigation .account-navigation>ul>li.active>a{ text-decoration: none; }
