/* SWT mobile refresh. Desktop styles remain in styles.css. */
.swt-mobile-header,.swt-mobile-menu { display:none; }
:root { --swt-safe-left:env(safe-area-inset-left,0px); --swt-safe-right:env(safe-area-inset-right,0px); }
.swt-home-main .swt-home-welcome-title { font-weight:700; text-transform:none; text-align:left; font-size:clamp(40px,4vw,52px)!important; line-height:1.15!important; }
.swt-home-main .section .swt-home-welcome-text { font-size:18px; line-height:1.6; font-weight:400; text-align:left; margin:0 0 28px; }
@media (max-width:794px), (max-width:1366px) and (pointer:coarse) {
  :root { --swt-bar-height:64px; }
  .header-wrapper,#cssmenu,#social-sidebar { display:none!important; }
  .swt-mobile-header { display:flex; align-items:center; justify-content:space-between; gap:8px; height:var(--swt-bar-height); padding:0 10px 0 0; box-sizing:border-box; background:rgba(255,255,255,.68); backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%); border:0; position:fixed; top:0; z-index:10001; }
  .swt-mobile-brand { display:flex; align-items:center; gap:10px; color:#3d4245; text-decoration:none; min-width:0; }
  .swt-mobile-brand img { width:52px; height:64px; object-fit:contain; }
  .swt-mobile-emblem { position:relative; display:block; width:64px; height:64px; flex:0 0 64px; background:#fff; }
  .swt-mobile-emblem img { display:block; margin:0 auto; }
  .swt-mobile-schoolmark { position:absolute; left:0; top:0; width:64px; height:64px; color:#fff; background:#f09e23; font-family:'SWT'; font-size:52px; line-height:64px; text-align:center; animation:fadein 10s ease-in-out infinite alternate; }
  .swt-mobile-schoolmark:before { content:'\0042'; }
  .swt-mobile-brand strong { display:block; font-size:20px; line-height:1.2; color:#f09e23; }
  .swt-mobile-brand small { display:block; white-space:nowrap; font-size:clamp(9px,3vw,12px); line-height:1.35; margin-top:4px; }
  .swt-mobile-toggle { background:none; border:0; color:#8a8a8f; padding:8px; min-width:48px; min-height:48px; cursor:pointer; }
  .swt-mobile-toggle-icon { display:block; position:relative; width:22px; height:18px; margin:auto; border:0; background:none; }
  .swt-mobile-toggle-icon:before,.swt-mobile-toggle-icon:after { content:''; position:absolute; left:0; width:22px; height:1.5px; border-radius:2px; background:currentColor; transform-origin:center; transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s ease; }
  .swt-mobile-toggle-icon:before { top:5px; }
  .swt-mobile-toggle-icon:after { top:11px; }
  .swt-mobile-toggle[aria-expanded=true] .swt-mobile-toggle-icon:before { transform:translateY(3px) rotate(45deg); }
  .swt-mobile-toggle[aria-expanded=true] .swt-mobile-toggle-icon:after { transform:translateY(-3px) rotate(-45deg); }
  .swt-mobile-toggle-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .swt-mobile-menu { display:block; position:fixed; z-index:10000; top:var(--swt-bar-height); left:0; right:0; bottom:0; padding:12px 24px max(24px,env(safe-area-inset-bottom)); background:rgba(250,249,246,0); overflow-y:auto; overscroll-behavior:contain; visibility:hidden; clip-path:inset(0 0 100% 0); transition:clip-path .5s cubic-bezier(.22,1,.36,1),background-color .5s ease,visibility .5s; box-sizing:border-box; }
  .swt-menu-open .swt-mobile-menu { visibility:visible; clip-path:inset(0); background:rgba(250,249,246,1); }
  .swt-mobile-menu ul { list-style:none; padding:0; margin:0; }
  .swt-mobile-links>li { border-bottom:1px solid #dedbd4; opacity:0; transform:translateX(-24px); transition:transform .35s ease,opacity .35s ease; }
  .swt-menu-open .swt-mobile-links>li { transform:none; opacity:1; transition-delay:calc(.10s + var(--swt-item,0)*.045s); }
  .swt-mobile-links>li>a,.swt-mobile-group { width:100%; display:flex; justify-content:space-between; align-items:center; text-align:left; padding:15px 0; font:inherit; font-size:20px; font-weight:600; line-height:1.3; color:#3d4245; background:transparent; border:0; text-decoration:none; box-sizing:border-box; cursor:pointer; text-transform:none; letter-spacing:0; }
  .swt-mobile-group .swt-mobile-chevron { position:relative; display:block; flex:0 0 14px; width:14px; height:14px; margin-right:3px; color:#8a8a8f; }
  .swt-mobile-chevron:before,.swt-mobile-chevron:after { content:''; position:absolute; top:6px; width:8px; height:1.5px; border-radius:2px; background:currentColor; transition:transform .25s ease-in-out; }
  .swt-mobile-chevron:before { left:0; transform:rotate(40deg); }
  .swt-mobile-chevron:after { right:0; transform:rotate(-40deg); }
  .swt-mobile-group[aria-expanded=true] .swt-mobile-chevron:before { transform:rotate(-40deg); }
  .swt-mobile-group[aria-expanded=true] .swt-mobile-chevron:after { transform:rotate(40deg); }
  .swt-mobile-menu .swt-mobile-submenu { padding:0 0 12px; clip-path:inset(0 -24px); }
  .swt-mobile-submenu[hidden] { display:none; }
  .swt-mobile-submenu a { display:block; position:relative; min-height:44px; padding:11px 0 11px 18px; color:#484c4d; font-size:18px; line-height:1.4; text-decoration:none; text-transform:none; }
  .swt-mobile-department:before { content:''; position:absolute; left:-24px; top:12px; bottom:12px; width:28px; min-height:20px; border-radius:0; background:var(--department-color); }
  .swt-mobile-extras { margin-top:22px; }
  .swt-mobile-extras>p { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#686b6c; margin:0 0 10px; }
  .swt-mobile-quicklinks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; }
  .swt-mobile-quicklinks a,.swt-mobile-social a { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-height:48px; padding:10px 12px; background:#fff; border:0; border-radius:999px; box-shadow:0 3px 12px rgba(30,40,45,.09); color:#3d4245; text-decoration:none; font-size:14px; box-sizing:border-box; }
  .swt-mobile-social { display:flex; gap:10px; margin-top:14px; }
  .swt-mobile-social a { flex:1; }
  .swt-mobile-action-icon { display:block; flex:0 0 24px; width:24px; height:26px; -webkit-mask-image:var(--swt-action-logo); mask-image:var(--swt-action-logo); -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; background-color:var(--swt-action-color); }
  .swt-mobile-action-10 { --swt-action-logo:url("../img/svg/anmeldung_white.svg"); --swt-action-color:#f09e23; }
  .swt-mobile-action-11 { --swt-action-logo:url("../img/svg/the-shop-logo-white.svg"); --swt-action-color:#8cc43f; }
  .swt-mobile-action-12 { --swt-action-logo:url("../img/svg/alumniclub-white.svg"); --swt-action-color:#fe8501; }
  .swt-mobile-action-7 { --swt-action-logo:url("../img/svg/video_white.svg"); --swt-action-color:#ff0000; }
  .swt-mobile-action-8 { --swt-action-logo:url("../img/svg/f_logo_white.svg"); --swt-action-color:#1877f2; }
  .swt-mobile-action-9 { --swt-action-logo:url("../img/svg/instagram-white.svg"); --swt-action-color:#8a3ab9; }

  .swt-mobile-header a:focus-visible,.swt-mobile-menu a:focus-visible,.swt-mobile-header button:focus-visible,.swt-mobile-menu button:focus-visible { outline:3px solid #0d5c91; outline-offset:3px; }
  /* The legacy page is a wrapping flex container: the header must span a row. */
  .page { display:block; overflow-x:clip; padding-top:var(--swt-bar-height); }
  .swt-mobile-header { width:100%; max-width:none; flex:none; left:0; right:0; }
  .swt-mobile-header { padding-left:var(--swt-safe-left); padding-right:calc(var(--swt-safe-right) + 10px); }
  .swt-mobile-menu { padding-left:calc(var(--swt-safe-left) + 24px); padding-right:calc(var(--swt-safe-right) + 24px); }
  .section,.section2,.ds-container { padding-left:20px; padding-right:20px; box-sizing:border-box; }
  .page h1 { font-size:clamp(25px,6.7vw,30px)!important; line-height:1.2!important; hyphens:none; -webkit-hyphens:none; overflow-wrap:normal; word-break:normal; margin:24px 0 20px; padding:0; }
  .page h2 { font-size:22px; line-height:1.3; }
  .swt-home-main .section .swt-home-welcome-text { font-size:17px; }
  .page h3 { font-size:22px; line-height:1.35; }
  .section p,.event-text { text-align:left; font-size:17px; line-height:1.6; hyphens:none; -webkit-hyphens:none; }
  .section [data-aos] { opacity:1!important; transform:none!important; }
  .aside { margin-top:24px; padding:24px 0; }
  .aside ul a li { height:auto; min-height:44px; }
  .aside a li p { line-height:1.5; padding:10px 0; }
  .seals,.cooperations { padding:24px 20px; margin:0; box-sizing:border-box; }
  .seals h3,.cooperations h3 { text-align:left; margin:0 0 16px; }
  .seal,.cooperation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 10px; width:100%; padding:0; margin:0; }
  .seal { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 8px; }
  .seal li,.cooperation li { padding:0; margin:0; min-width:0; }
  .seal li a { display:flex; align-items:center; justify-content:center; width:100%; }
  .seal li a img { width:90%; height:auto; aspect-ratio:1; max-height:85px; object-fit:contain; }
  .cooperation li a { display:block; }
  .cooperation li a img,.cooperation li a img:hover { display:block; width:100%; height:auto; aspect-ratio:3.0166; box-sizing:border-box; background-size:100% auto; background-position:left top; background-repeat:no-repeat; filter:none; }
  .footer-container { padding:26px 20px max(28px,env(safe-area-inset-bottom)); }
  .footer-section { gap:18px; }
  .footer-section ul { text-align:center; padding:0; margin:0; }
  .footer-section li { font-size:14px; line-height:1.7; }
  .footer-section a { display:inline-block; padding:4px 0; }
}
@media (orientation:landscape) and (min-width:700px) and (max-width:1366px) and (pointer:coarse) {
  .swt-home-main>.section>h1,.swt-home-main>.section>h2 { text-align:left; }
  .swt-home-main .section .swt-home-welcome-text { text-align:left; }
  .swt-home-main>.section>h2,.swt-home-main>.aside>h3,.swt-home-main .seals>h3,.swt-home-main .cooperations>h3 { font-size:22px!important; line-height:1.35!important; }
  .footer .footer-section { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  .footer .footer-section li { font-size:16px; line-height:1.7; }
  .footer .footer-section li a,.footer .footer-section li span { font-size:inherit; line-height:inherit; }
  .page>.main:not(.swt-news-main) { padding-left:var(--swt-safe-left); padding-right:var(--swt-safe-right); box-sizing:border-box; }
  .page>.slideshow { margin-left:var(--swt-safe-left); margin-right:var(--swt-safe-right); width:calc(100% - var(--swt-safe-left) - var(--swt-safe-right)); box-sizing:border-box; }
  .footer-container { padding-left:calc(var(--swt-safe-left) + 20px); padding-right:calc(var(--swt-safe-right) + 20px); }
  .seal { grid-template-columns:repeat(8,minmax(0,1fr)); }
  .cooperation { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .swt-mobile-menu,.swt-mobile-links>li,.swt-mobile-chevron:before,.swt-mobile-chevron:after,.swt-mobile-toggle-icon:before,.swt-mobile-toggle-icon:after { transition:none!important; }
  .swt-mobile-schoolmark { animation:none; opacity:0; }
}

/* Desktop: gleiche Schriftgröße wie Aktuelles. */
@media (min-width:795px) and (pointer:fine), (min-width:1367px) {
  .swt-home-main>.section>h2 { font-size:1.75rem!important; line-height:2rem!important; }
}

@media (max-width:794px), (max-width:1366px) and (pointer:coarse) {
  .swt-home-main .swt-home-welcome-title { font-size:clamp(34px,7.5vw,40px)!important; line-height:1.15!important; }
}
