
.swr-st-front{--swr-blue:#073463;--swr-blue-2:#0b5fa5;--swr-soft:#eef5fa;width:100%;box-sizing:border-box}
.swr-st-front *{box-sizing:border-box}
.swr-st-front-title{margin:0 0 22px;text-align:left;font-size:clamp(28px,3vw,40px);line-height:1.1;color:var(--swr-blue);font-weight:700}
.swr-st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.swr-st-tile{min-width:0;border:1px solid #d7e1e8;background:#fff;box-shadow:0 8px 24px rgba(7,52,99,.08);overflow:hidden}
.swr-st-tile-top{background:var(--swr-blue);color:#fff;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.swr-st-weekday{font-size:18px;font-weight:700}
.swr-st-date{font-size:15px;font-weight:600;white-space:nowrap}
.swr-st-time{padding:20px 18px 8px;font-size:22px;font-weight:700;color:var(--swr-blue)}
.swr-st-note{padding:8px 18px 20px;font-size:15px;line-height:1.5;color:#425466}
.swr-st-hidden{display:none}
.swr-st-more-wrap{text-align:center;margin-top:24px}
.swr-st-more{appearance:none;border:0;background:var(--swr-blue);color:#fff;padding:13px 26px;font-size:15px;font-weight:700;cursor:pointer;border-radius:0}
.swr-st-more:hover,.swr-st-more:focus{background:var(--swr-blue-2);color:#fff}
.swr-st-empty{padding:18px 20px;background:var(--swr-soft);border-left:4px solid var(--swr-blue);color:#18324a}
@media(max-width:767px){
 .swr-st-front-title{font-size:28px;margin-bottom:18px}
 .swr-st-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .swr-st-tile-top{padding:12px 12px;display:block}
 .swr-st-weekday,.swr-st-date{display:block}
 .swr-st-weekday{font-size:15px}
 .swr-st-date{font-size:13px;margin-top:2px}
 .swr-st-time{padding:14px 12px 6px;font-size:16px;line-height:1.25}
 .swr-st-note{padding:6px 12px 14px;font-size:13px}
}
@media(max-width:380px){
 .swr-st-grid{gap:8px}
 .swr-st-time{font-size:15px}
}


/* SWR Fluid Typography 2026
   Einheitliche fluide Typografie fuer Smartphone, Tablet und Desktop. */
h1{
    font-size:clamp(28px,4vw,46px)!important;
    line-height:1.1!important;
}
h2{
    font-size:clamp(23px,3vw,38px)!important;
    line-height:1.14!important;
}
h3{
    font-size:clamp(17px,1.8vw,24px)!important;
    line-height:1.2!important;
}
h4{
    font-size:clamp(15px,1.45vw,20px)!important;
    line-height:1.25!important;
}
p,
li,
td,
th,
label{
    font-size:clamp(13px,1.05vw,16px)!important;
    line-height:1.58!important;
}
button,
.button,
a[class*="button"],
input[type="submit"]{
    font-size:clamp(11.5px,.95vw,14px)!important;
    line-height:1.2!important;
}

@media(max-width:767px){
    h1{
        font-size:clamp(24px,7vw,32px)!important;
    }
    h2{
        font-size:clamp(20px,6vw,28px)!important;
    }
    h3{
        font-size:clamp(15px,4.6vw,20px)!important;
    }
    h4{
        font-size:clamp(14px,4vw,18px)!important;
    }
    p,
    li,
    td,
    th,
    label{
        font-size:clamp(12px,3.55vw,14.5px)!important;
        line-height:1.5!important;
    }
    button,
    .button,
    a[class*="button"],
    input[type="submit"]{
        font-size:clamp(10.5px,3.15vw,12.5px)!important;
    }
}

@media(max-width:380px){
    h1{font-size:clamp(22px,6.6vw,27px)!important;}
    h2{font-size:clamp(19px,5.7vw,24px)!important;}
    h3{font-size:clamp(14px,4.2vw,17px)!important;}
    p,
    li,
    td,
    th,
    label{font-size:clamp(11.5px,3.35vw,13.5px)!important;}
}
