/* ==== 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; }
