/* ============================================================
   Briefmarken-Club Augusta e.V. — Gemeinsames Stylesheet
   ============================================================ */

/* ===== VARIABLES ===== */
:root{
  --club-red:#8a0e1c;--club-red-md:#a01420;--club-red-lt:#b81a28;
  --club-green:#1a5c1a;--club-green-dk:#114011;--club-green-lt:#286028;
  --paper:#faf7f2;--paper-dk:#f2ece0;--cream:#fdf9f4;
  --gold:#b89020;--gold-lt:#d4a830;--gold-pale:#e8c040;
  --ink:#181008;--ink-md:#2e1e10;--ink-lt:#5e4430;
  --border:#d8c8a8;--border-lt:#ece0c8;
  --dark:#0e0c08;--dark-2:#1a1610;
  --gold-mid:#c8a030;
}

*,*::before,*::after{box-sizing:border-box;}

html{overflow-y:scroll;height:100%;}

body{
  margin:0;padding:0;
  font-family:'Lato',sans-serif;font-size:16px;
  background:#e8e3d8;
  color:var(--ink);line-height:1.7;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100%;
}

body>*{width:100%;}

/* ===== LAYOUT ===== */
.page-wrapper{
  max-width:1140px;margin:0 auto;
  background:#fff;
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
  box-shadow:0 8px 40px rgba(0,0,0,.18);
  flex:1;
}
.content{padding:clamp(16px,2.5vw,30px) clamp(14px,2.5vw,28px);}
.content img{max-width:100%;height:auto;}
.content h2{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:var(--club-red);margin:28px 0 12px;}
.content h3:not(.sec-title):not(.blog-title){font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--club-red);margin:24px 0 10px;}
.content h4{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--ink);margin:18px 0 8px;}
.inner{max-width:1400px;margin:0 auto;padding:0 clamp(16px,3vw,36px);}

/* ===== HEADER ===== */
.site-header,.main-nav,.masthead{user-select:none;-webkit-user-select:none;}
.site-header{
  background:
    repeating-linear-gradient(43deg,transparent,transparent 28px,rgba(255,255,255,.012)28px,rgba(255,255,255,.012)29px),
    linear-gradient(130deg,#2e0608 0%,#5a0c18 25%,#7a0e1c 55%,#6a0a16 78%,#3a0608 100%);
  position:relative;overflow:hidden;
  border-bottom:2px solid var(--gold-mid);
  padding:6px 0;
  min-height:110px;
}
.site-header::after{
  content:'1952';position:absolute;right:4%;bottom:-10px;
  font-size:clamp(4.8rem,10vw,7.4rem);font-weight:900;letter-spacing:-4px;
  color:rgba(255,255,255,.038);font-family:'Lato',sans-serif;line-height:1;
  pointer-events:none;user-select:none;
}
.hdr-center{
  display:grid;
  grid-template-columns:clamp(76px,9vw,104px) 1fr clamp(76px,9vw,104px);
  align-items:center;
  padding:6px clamp(12px,2.4vw,28px);
  max-width:1400px;margin:0 auto;
  position:relative;z-index:1;
}
.hdr-logo-frame{
  width:clamp(76px,9vw,104px);height:clamp(76px,9vw,104px);flex-shrink:0;
  border:2px solid var(--gold-lt);border-radius:3px;
  box-shadow:0 0 0 2px rgba(80,8,16,.45),0 4px 14px rgba(0,0,0,.42);
  overflow:hidden;display:block;text-decoration:none;
  transition:transform .32s,box-shadow .32s;
}
.hdr-logo-frame:hover{transform:scale(1.03) rotate(-.5deg);}
.hdr-logo-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.hdr-title-block{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px;}
.hdr-eyebrow{font-size:.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-lt);opacity:.9;margin-bottom:2px;}
.hdr-name{font-family:'Lato',sans-serif;font-size:1.35rem;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:rgba(255,255,255,.92);line-height:1.15;margin-bottom:0;}
.hdr-ev{font-family:'Playfair Display',serif;font-size:1.7rem;font-style:italic;font-weight:700;color:#fff;line-height:1.1;text-shadow:1px 2px 10px rgba(0,0,0,.38);}
@media(max-width:480px){
  .hdr-name{font-size:1rem;}
  .hdr-ev{font-size:1.2rem;}
}
.hdr-divline{width:42px;height:1px;margin:4px auto 3px;background:linear-gradient(90deg,transparent,var(--gold-lt),transparent);border-radius:1px;opacity:.7;}
.hdr-meta{font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,200,180,.8);}
.hdr-meta span{color:rgba(255,220,160,.72);}
.no-caps{text-transform:none!important;}

/* ===== NAV ===== */
.main-nav{
  background:linear-gradient(180deg,var(--club-green-lt) 0%,var(--club-green-dk) 100%);
  border-top:2px solid rgba(232,192,64,.28);
  position:relative;z-index:1;
  box-shadow:0 4px 16px rgba(0,0,0,.38);
}
.main-nav .container-fluid{max-width:1400px;margin:0 auto;}
.main-nav .nav-link{
  font-size:.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.7)!important;padding:11px 16px!important;
  border-right:1px solid rgba(255,255,255,.07);transition:all .18s;
  border-bottom:3px solid transparent;
}
.main-nav .nav-link:hover{color:#fff!important;background:rgba(255,255,255,.09)!important;border-bottom:3px solid transparent!important;}
.main-nav .nav-link.active{color:#fff!important;background:var(--club-red)!important;border-bottom:3px solid transparent!important;}

/* Mobile: Burger in header */
.hdr-mob-btn{
  display:none;background:none;border:1px solid rgba(255,255,255,.3);
  color:rgba(255,255,255,.7);padding:5px 12px;font-size:.78rem;border-radius:4px;
  cursor:pointer;flex-shrink:0;position:relative;z-index:1002;
  transition:all .2s ease;
}
.hdr-mob-btn:hover{border-color:rgba(255,255,255,.6);color:#fff;}
@media(max-width:767px){
  .hdr-mob-btn{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;}
  .site-header{position:relative;z-index:1001;}
  /* Hide green nav bar on mobile — menu is overlay only */
  .main-nav{min-height:0;padding:0;border:none;box-shadow:none;position:static;
    background:linear-gradient(180deg,var(--club-green-lt) 0%,var(--club-green-dk) 100%);
    height:12px;border-top:2px solid rgba(232,192,64,.28);}
  .main-nav .container-fluid{padding:0;}
  .main-nav .navbar-collapse{
    display:none!important;
  }
  .main-nav .navbar-collapse.show{
    display:flex!important;
    position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;
    background:rgba(14,12,8,.97);
    flex-direction:column;align-items:center;justify-content:center;
    overflow-y:auto;
  }
  .page-wrapper,.tricolor-stripe,.site-footer,.termine-bar,.mitglied-band,.dark-strip{position:relative;z-index:0;}
  .main-nav .navbar-collapse .navbar-nav{
    flex-direction:column;align-items:stretch;gap:0;width:280px;
    transform:translateY(20px);transition:transform .35s ease;
  }
  .main-nav .navbar-collapse.show .navbar-nav{transform:translateY(0);}

  /* Nav links */
  .main-nav .nav-item{text-align:center;}
  .main-nav .nav-link{
    padding:15px 20px!important;border-right:none!important;
    font-size:.95rem!important;letter-spacing:2.5px;text-align:center;
    font-weight:600;text-transform:uppercase;
    border-bottom:none!important;border-radius:0;
    color:rgba(255,255,255,.65)!important;
    display:block!important;width:100%;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    transition:all .2s ease;
  }
  .main-nav .nav-link:hover{
    background:rgba(255,255,255,.06)!important;color:#fff!important;
    letter-spacing:3px;
  }
  .main-nav .nav-link.active{
    color:#fff!important;
    background:rgba(255,255,255,.08)!important;
    border-left:3px solid rgba(255,255,255,.4)!important;
    border-right:3px solid transparent!important;
  }

  /* Dropdown: flatten — hide parent, show children as regular links */
  .main-nav .nav-item.dropdown{display:contents;}
  .main-nav .dropdown-toggle{display:none!important;}
  .main-nav .dropdown-menu{
    position:static!important;background:transparent!important;
    border:none!important;text-align:center;padding:0;margin:0;
    display:contents!important;
  }
  .main-nav .dropdown-item{
    color:rgba(255,255,255,.65)!important;text-align:center;
    padding:15px 20px!important;font-size:.95rem!important;letter-spacing:2.5px;font-weight:600;
    display:block!important;text-transform:uppercase;width:100%;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    transition:all .2s ease;
  }
  .main-nav .dropdown-item:hover{background:rgba(255,255,255,.06)!important;color:#fff!important;letter-spacing:3px;}
  .main-nav .dropdown-item.active{color:#fff!important;background:rgba(255,255,255,.08)!important;border-left:3px solid rgba(255,255,255,.4)!important;}
  /* Buttons volle Breite auf Mobile */
  .welcome-buttons{flex-direction:column;}
  .btn-club{width:100%;text-align:center;box-sizing:border-box;}
  .hide-mobile{display:none!important;}
  /* Grids und Flex-Layouts auf Mobile einspaltig */
  .content [style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  .content .info-row{flex-direction:column;}
}

/* Nav Dropdown */
.main-nav .dropdown-toggle::after{display:inline-block;margin-left:4px;vertical-align:middle;border-top:.28em solid;border-right:.28em solid transparent;border-left:.28em solid transparent;opacity:.6;}
.main-nav .dropdown-menu{
  background:var(--club-green-dk);border:1px solid rgba(232,192,64,.2);
  border-top:2px solid var(--gold);border-radius:0 0 4px 4px;min-width:180px;
}
.main-nav .dropdown-item{
  font-size:.82rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:rgba(255,255,255,.7);padding:10px 18px;
}
.main-nav .dropdown-item:hover{background:var(--club-green);color:#fff;}
.main-nav .dropdown-divider{border-color:rgba(255,255,255,.1);}

/* ===== TERMINE BAR ===== */
.termine-bar{
  background:#fff;
  border-top:1px solid var(--border-lt);
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.tb-inner{
  display:flex;align-items:stretch;gap:0;
  padding:0 clamp(14px,2.5vw,28px);
  max-width:1140px;margin:0 auto;
  width:100%;box-sizing:border-box;
}
.tb-chip{display:flex;align-items:center;gap:0;min-width:0;overflow:hidden;}
.tb-chip:first-child{flex:0 1 auto;}
.tb-chip:last-child:not(:first-child){flex:1;}
.tb-chip:last-child:not(:first-child) .tb-chip-body{flex:0 0 auto;margin-left:auto;border-left:1px solid var(--border-lt);padding-left:14px;}
.tb-chip+.tb-chip{border-left:none;}
.tb-evt-dot{font-size:.8rem;flex-shrink:0;line-height:1;display:inline-block;}
.tb-evt-dot-red{color:var(--club-red);}
.tb-evt-dot-green{color:var(--club-green);}
.tb-chip-body{display:flex;align-items:center;gap:8px;padding:9px 8px 9px 14px;flex:1;min-width:0;overflow:hidden;}
.tb-chip-date{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;white-space:nowrap;flex-shrink:0;}
.tb-chip-date-red{color:var(--club-red);}
.tb-chip-date-green{color:var(--club-green);}
.tb-dot-sep{color:var(--border);font-size:.9rem;flex-shrink:0;line-height:1;}
.tb-chip-info{flex:1;min-width:0;}
.tb-chip-name{font-size:.8rem;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tb-chip-detail{font-size:.78rem;color:var(--ink-lt);white-space:nowrap;}
.tb-chip-cd{display:flex;gap:5px;align-items:center;padding:6px 10px;align-self:stretch;flex-shrink:0;transition:opacity .2s;user-select:none;-webkit-user-select:none;}
.tb-cd-box{background:var(--dark);text-align:center;padding:6px 8px;border-radius:4px;min-width:36px;}
.tb-cd-num{font-size:.85rem;font-weight:900;color:var(--gold-lt);display:block;line-height:1;margin-bottom:3px;}
.tb-cd-lbl{font-size:.65rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.7);display:block;}
.termine-bar-sep{display:none;}
@media(max-width:860px){
  .tb-chip-cd{display:none;}
}
@media(max-width:700px){
  .tb-chip-detail{display:none;}
  .tb-chip-body{padding:7px 12px;}
}
@media(max-width:480px){
  .tb-inner{flex-direction:column;gap:0;padding:0;}
  .tb-chip{width:100%;min-width:0;border-left:none!important;}
  .tb-chip+.tb-chip{display:flex;border-top:1px solid var(--border-lt);}
  .tb-chip:last-child{flex:1 0 auto;}
  .tb-chip:last-child .tb-chip-body{flex:1;margin-left:0!important;border-left:none;padding-left:12px;justify-content:flex-start;}
  .tb-chip-body{padding:7px 12px;}
  .tb-chip-date{font-size:.8rem;}
  .tb-chip-name{font-size:.75rem;}
}

/* ===== WELCOME LETTER (index) ===== */
.welcome-wrap{max-width:820px;margin:0 auto 24px;position:relative;}
.welcome-body{
  background:var(--cream);border:1px solid var(--border);border-radius:2px;
  padding:clamp(18px,3vw,34px) clamp(16px,3vw,32px);
  position:relative;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.welcome-tricolor{height:4px;background:linear-gradient(90deg,var(--club-red) 33%,var(--club-green) 33% 66%,#e8e0d0 66%);border-radius:2px 2px 0 0;margin-bottom:0;}
.welcome-sender{
  font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--ink-lt);margin-bottom:18px;padding-bottom:10px;
  border-bottom:1px dashed var(--border);
}
.welcome-body::before{
  content:'\201C';position:absolute;top:8px;left:12px;
  font-family:'Playfair Display',serif;font-size:3.5rem;
  color:var(--gold);opacity:.12;line-height:1;pointer-events:none;
}
.welcome-body::after{
  content:'\201D';position:absolute;bottom:-16px;right:12px;
  font-family:'Playfair Display',serif;font-size:3.5rem;
  color:var(--gold);opacity:.12;line-height:1;pointer-events:none;
}
.welcome-greeting{font-family:'IM Fell English',serif;font-style:italic;font-size:.78rem;color:var(--ink-lt);margin-bottom:4px;}
.welcome-title{
  font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2.5vw,1.65rem);
  font-weight:900;color:var(--club-red);margin-bottom:10px;line-height:1.2;
}
.welcome-text{font-size:.95rem;color:var(--ink-md);margin-bottom:12px;line-height:1.7;}
.welcome-ornament{text-align:center;color:var(--gold);font-size:.8rem;letter-spacing:6px;margin:12px 0;}
.welcome-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.btn-club{
  font-size:.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:12px 24px;border-radius:4px;text-decoration:none;transition:all .2s;
  display:inline-block;cursor:pointer;
}
.btn-red{background:var(--club-red);color:#fff;border:2px solid var(--club-red);}
.btn-red:hover{background:var(--club-red-lt);border-color:var(--club-red-lt);color:#fff;}
.btn-green{background:var(--club-green);color:#fff;border:2px solid var(--club-green);}
.btn-green:hover{background:var(--club-green-lt);border-color:var(--club-green-lt);color:#fff;}
.btn-outline{background:transparent;color:var(--ink-md);border:2px solid var(--border);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

/* Stamp + postmark */
.welcome-stamp{
  position:absolute;top:18px;right:18px;width:72px;height:90px;
  background:var(--paper-dk);border:2px solid var(--border);
  box-shadow:1px 2px 6px rgba(0,0,0,.1);transform:rotate(2deg);
  display:flex;align-items:center;justify-content:center;
  font-size:.5rem;color:var(--ink-lt);text-align:center;padding:4px;
  font-family:'Special Elite',monospace;line-height:1.3;
  user-select:none;-webkit-user-select:none;pointer-events:none;
}
.welcome-postmark{
  position:absolute;top:8px;right:80px;width:68px;height:68px;
  border:2px solid rgba(138,14,28,.15);border-radius:50%;
  transform:rotate(-18deg);display:flex;align-items:center;justify-content:center;
  font-size:.42rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  color:rgba(138,14,28,.2);font-family:'Lato',sans-serif;
  user-select:none;-webkit-user-select:none;pointer-events:none;
}

/* ===== FEATURE TILES ===== */
.feature-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px;}
.ftile{
  background:transparent;border:1px solid var(--border-lt);
  border-top:3px solid var(--club-green);
  padding:20px 16px;border-radius:0 0 7px 7px;text-align:center;
  transition:transform .2s,box-shadow .2s;
}
.ftile:nth-child(2){border-top-color:var(--club-red);}
.ftile:nth-child(3){border-top-color:var(--gold);}
.ftile:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1);border-color:var(--border);}
.ftile-icon{font-size:2.1rem;margin-bottom:9px;display:block;}
.ftile-title{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--ink);margin-bottom:7px;}
.ftile-text{font-size:.95rem;line-height:1.7;color:var(--ink-lt);}

/* ===== CONTENT DIVIDER ===== */
.wood-divider{
  height:1px;margin:28px 0;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}

/* ===== STAMPS SECTION ===== */
.stamps-section{margin-bottom:24px;}
.stamps-section h2{
  font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;
  color:var(--club-red);margin-bottom:4px;text-align:center;
}
.stamps-section .section-sub{
  font-size:.6rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--ink-lt);text-align:center;margin-bottom:16px;
}
.stamps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.faux-stamp{
  background:var(--cream);border:2px dashed var(--border);padding:14px;
  text-align:center;border-radius:4px;position:relative;transition:border-color .2s;
}
.faux-stamp::before{
  content:'';position:absolute;inset:4px;border:1px solid var(--border-lt);
  border-radius:1px;pointer-events:none;
}
.stamp-val{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:900;color:var(--club-red);margin-bottom:2px;}
.stamp-label{font-size:.55rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-lt);}
.stamp-desc{font-size:.7rem;color:var(--ink-md);margin-top:6px;line-height:1.5;}

/* ===== NEWS GRID ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;}
.news-card{
  background:var(--cream);border:1px solid var(--border);border-radius:6px;
  padding:18px 20px;margin-bottom:0;position:relative;transition:box-shadow .2s;
}
.news-card-red{border-left:3px solid var(--club-red);}
.news-card-green{border-left:3px solid var(--club-green);}
.news-card-gold{border-left:3px solid var(--border);}
.news-date{font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-lt);margin-bottom:3px;}
.news-title{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--ink);margin-bottom:6px;}
.news-text{font-size:.88rem;color:var(--ink-lt);line-height:1.65;}

/* ===== TAUSCHLOKAL ===== */
.tauschlokal-box{
  background:var(--cream);border:1px solid var(--border);border-left:3px solid var(--club-green);
  padding:16px 18px;border-radius:6px;margin-bottom:16px;
}
.tauschlokal-box h3{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--club-green);margin-bottom:6px;}
.tauschlokal-box p{font-size:.75rem;color:var(--ink-md);line-height:1.6;margin-bottom:3px;}

/* ===== SIDEBAR ===== */
.sidebar-card{
  background:var(--cream);border:1px solid var(--border);border-radius:6px;
  padding:14px 14px;margin-bottom:12px;
}
.sidebar-card h4{
  font-family:'Playfair Display',serif;font-size:.82rem;font-weight:700;
  color:var(--club-red);margin-bottom:10px;padding-bottom:6px;
  border-bottom:1px solid var(--border-lt);
}

/* Sidebar Termine */
.tm-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px;}
.tm-row:last-child{margin-bottom:0;}
.tm-date-box{
  background:var(--club-red);color:#fff;text-align:center;
  padding:3px 6px;border-radius:3px;min-width:36px;flex-shrink:0;
}
.tm-day{font-size:.88rem;font-weight:900;line-height:1.1;display:block;}
.tm-mon{font-size:.65rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;opacity:.9;}
.tm-info{flex:1;}
.tm-name{font-size:.72rem;font-weight:700;color:var(--ink);line-height:1.3;}
.tm-detail{font-size:.7rem;color:var(--ink-lt);}

/* Sidebar Kontakt */
.kontakt-line{font-size:.7rem;color:var(--ink-md);margin-bottom:3px;}
.kontakt-line strong{color:var(--ink);}

/* Sidebar badges */
.sidebar-badges{display:flex;gap:10px;flex-wrap:wrap;}
.badge-box{
  flex:1;min-width:80px;text-align:center;padding:12px 8px;
  background:var(--paper-dk);border:1px solid var(--border);border-radius:3px;
}
.badge-box .badge-name{font-size:.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink-lt);}
.badge-box .badge-full{font-size:.5rem;color:var(--ink-lt);margin-top:2px;}

/* ===== CTA BAND ===== */
.cta-band{display:none;}

/* ===== DARK STRIP ===== */
.dark-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  background:var(--dark-2);border-top:2px solid var(--gold);
}
.ds-cell{padding:22px;border-right:1px solid rgba(255,255,255,.04);transition:background .2s;display:block;text-decoration:none;cursor:pointer;}
.ds-cell:last-child{border-right:none;}
.ds-cell:hover{background:rgba(255,255,255,.05);}
.ds-icon{font-size:1.1rem;margin-bottom:6px;line-height:1;}
.ds-title{font-family:'Playfair Display',serif;font-size:.88rem;font-weight:700;color:var(--gold-lt);margin-bottom:4px;}
.ds-text{font-size:.8rem;color:rgba(255,255,255,.75);line-height:1.5;margin-bottom:5px;}
.ds-link{color:rgba(255,255,255,.7);font-size:.75rem;font-weight:700;text-decoration:none;letter-spacing:.5px;}
.ds-link:hover{color:var(--gold-lt);}
@media(max-width:767px){
  .dark-strip{grid-template-columns:1fr;}
  .ds-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.04);}
}

/* ===== TRICOLOR STRIPE ===== */
.tricolor-stripe{height:5px;background:linear-gradient(to bottom, var(--dark-2) 2px, transparent 2px), linear-gradient(90deg,var(--club-red) 33%,var(--club-green) 33% 66%,#e8e0d0 66%);}

/* ===== FOOTER ===== */
.site-footer{
  background:var(--dark-2);
  border-top:1px solid rgba(184,144,32,.18);
  padding:20px clamp(16px,3vw,36px);
}
.ft-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.ft-links{flex:1;text-align:center;}
.ft-brand{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--gold-lt);}
.ft-sub{font-size:.75rem;color:rgba(255,220,160,.7);margin-top:3px;}
.ft-links a{
  color:rgba(255,220,160,.7);font-size:.78rem;text-decoration:none;
  margin-right:16px;transition:color .18s;
}
.ft-links a:hover{color:var(--gold-lt);}
.ft-right{font-size:.78rem;color:rgba(255,220,160,.8);text-align:right;}
.ft-copy{
  margin-top:14px;padding-top:12px;
  border-top:1px solid rgba(255,255,255,.05);
  font-size:.78rem;color:rgba(255,220,160,.75);text-align:center;
}
@media(max-width:600px){
  .ft-row{flex-direction:column;align-items:center;}
  .ft-links{text-align:center;}
  .ft-right{text-align:center;}
}

/* ===== MASTHEAD ===== */
.masthead{
  background:linear-gradient(180deg,var(--paper-dk),var(--paper));
  border-bottom:1px solid var(--border-lt);text-align:center;
  padding:12px 20px 15px;position:relative;
}
.masthead::after{
  content:'';position:absolute;bottom:0;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.32;
}
.mh-orn{color:var(--gold-lt);letter-spacing:10px;font-size:.8rem;}
.mh-title{
  font-family:'IM Fell English',serif;font-size:clamp(.9rem,2vw,1.15rem);
  color:var(--ink-md);letter-spacing:1.5px;margin:4px 0;
}
.mh-sub{font-size:.75rem;color:var(--ink-lt);letter-spacing:2px;font-style:italic;}

/* ===== SEC-TITLE ===== */
.sec-title{
  font-family:'Playfair Display',serif;font-size:1.18rem;font-weight:700;
  color:var(--ink);padding-left:14px;border-left:4px solid var(--border);
  margin-bottom:20px;margin-top:8px;
}

/* ===== STAMP GALLERY ===== */
.stamp-gallery{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start;margin-bottom:30px;}
.real-stamp{
  flex-shrink:0;position:relative;padding:10px;
  cursor:default;transition:transform .3s,filter .3s;
}
.real-stamp:hover{transform:translateY(-5px) rotate(-1.5deg);filter:drop-shadow(4px 8px 12px rgba(30,15,0,.25));}
.real-stamp::before{display:none;}
.stamp-card{position:relative;z-index:1;background:#fff;border:2px solid #bbb;box-shadow:1px 2px 8px rgba(0,0,0,.13);}
.stamp-card img{display:block;width:132px;height:auto;max-height:180px;object-fit:contain;}
.stamp-card .st-cap{display:none;}
.stamp-text{flex:1;min-width:200px;padding-top:8px;font-size:.94rem;line-height:1.85;color:var(--ink-lt);}
.stamp-text strong{color:var(--ink-md);}
.stamp-text a{color:var(--club-red);font-weight:700;text-decoration:none;}
.stamp-text a:hover{text-decoration:underline;}

/* ===== TAUSCHLOKAL SEKTION ===== */
.lokal-row{display:grid;grid-template-columns:1fr 285px;gap:20px;align-items:start;margin-bottom:26px;}
.lokal-photo{overflow:hidden;border:1px solid var(--border);border-radius:6px;}
.lokal-photo img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .4s;}
.lokal-photo:hover img{transform:scale(1.03);}
.lokal-cap{
  font-size:.85rem !important;
  background:var(--dark);color:rgba(255,255,255,.78);
  padding:8px 12px;line-height:1.55;border-radius:0 0 6px 6px;
}
.lokal-cap strong{color:var(--gold-lt);}
.lokal-cap a{color:var(--gold-lt);font-weight:700;text-decoration:none;}
.lokal-info{display:flex;flex-direction:column;gap:10px;}

/* ===== INFO CARDS & BADGES ===== */
.info-card{
  background:transparent;border:1px solid var(--border-lt);
  border-top:3px solid var(--club-green);
  padding:14px 16px;border-radius:0 0 6px 6px;
}
.info-card-t{
  font-size:.58rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;
  color:var(--club-green);margin-bottom:8px;padding-bottom:6px;
  border-bottom:1px solid var(--border-lt);
}
.info-card p{font-size:.9rem;line-height:1.75;color:var(--ink-lt);margin:0;}
.info-card strong{color:var(--ink-md);}
.info-card a{color:var(--club-red);text-decoration:none;font-weight:700;}
.badge-block{
  border:1px solid var(--border);background:var(--cream);
  text-align:center;padding:12px 14px;transition:all .18s;border-radius:6px;
}
.badge-block:hover{border-color:var(--club-green);background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.06);}
.badge-block .badge-pre{font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-lt);}
.badge-block .badge-main{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;color:var(--ink);line-height:1.1;}
.badge-block .badge-sub{font-size:.8rem;color:var(--ink-lt);line-height:1.4;margin-top:2px;}
.btn-lokal{
  display:block;text-align:center;text-decoration:none;
  font-family:'Lato',sans-serif;font-weight:700;font-size:.8rem;
  letter-spacing:1.2px;text-transform:uppercase;
  border-radius:5px;padding:10px 20px;
  background:var(--club-green);color:#fff;
  box-shadow:0 2px 6px rgba(26,92,26,.28);
  transition:all .18s;
}
.btn-lokal:hover{background:var(--club-green-lt);color:#fff;transform:translateY(-1px);}

@media(max-width:767px){
  .lokal-row{grid-template-columns:1fr!important;}
  .stamp-gallery{flex-wrap:wrap;}.stamp-gallery .stamp-text{width:100%;}
  .feature-tiles{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
}

/* ===== MITGLIED WERDEN BAND ===== */
.mitglied-band{
  background:linear-gradient(160deg,var(--dark-2) 0%,#160408 50%,#0e1808 100%);
  border-top:3px solid var(--gold);
  padding:clamp(28px,4vw,52px) 0;
  position:relative;overflow:hidden;
}
.mitglied-band::before{
  content:'1952';position:absolute;right:3%;top:50%;transform:translateY(-50%);
  font-size:clamp(5rem,12vw,10rem);font-weight:900;color:rgba(255,255,255,.025);
  font-family:'Lato',sans-serif;pointer-events:none;user-select:none;line-height:1;
}
.mitglied-inner{max-width:900px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.mitglied-header{text-align:center;margin-bottom:32px;}
.mitglied-orn{color:var(--gold-lt);font-size:1.1rem;letter-spacing:8px;margin-bottom:8px;}
.mitglied-title{
  font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,2rem);
  font-weight:900;color:#fff;margin:0 0 8px;
}
.mitglied-sub{font-size:.95rem;color:rgba(255,220,160,.4);margin:0;line-height:1.6;}
.mitglied-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:32px;
}
.mb-item{
  background:rgba(255,255,255,.04);border:1px solid rgba(232,192,64,.12);
  border-left:3px solid rgba(232,192,64,.4);
  border-radius:0 4px 4px 0;padding:12px 14px;
  display:flex;align-items:flex-start;gap:10px;
  transition:background .2s;
}
.mb-item:hover{background:rgba(255,255,255,.07);}
.mb-icon{display:none;}
.mb-label{display:block;font-weight:700;font-size:.82rem;color:var(--gold-lt);margin-bottom:3px;}
.mb-desc{display:block;font-size:.75rem;color:rgba(255,220,160,.5);line-height:1.5;}
.mb-text{flex:1;}
.mitglied-cta{text-align:center;}
.btn-mitglied{
  display:inline-block;text-decoration:none;
  background:linear-gradient(135deg,var(--gold-lt),var(--gold-pale));
  color:var(--dark);font-family:'Lato',sans-serif;font-weight:900;
  font-size:.82rem;letter-spacing:2px;text-transform:uppercase;
  padding:14px 36px;border-radius:4px;
  box-shadow:0 4px 20px rgba(184,144,32,.35);
  transition:all .22s;
}
.btn-mitglied:hover{
  background:linear-gradient(135deg,var(--gold-pale),#f0d060);
  box-shadow:0 6px 28px rgba(184,144,32,.55);
  transform:translateY(-2px);color:var(--dark);
}
.mitglied-note{
  display:block;margin-top:14px;font-size:.82rem;
  color:rgba(255,220,160,.4);font-style:italic;
}
@media(max-width:767px){
  .mitglied-benefits{grid-template-columns:repeat(2,1fr);}
  .mitglied-band::before{display:none;}
}
@media(max-width:480px){
  .mitglied-benefits{grid-template-columns:1fr;}
}

/* ===== SCROLL-TO-TOP ===== */
.scroll-top{
  position:fixed;bottom:28px;right:24px;z-index:900;
  width:44px;height:44px;border-radius:50%;
  background:var(--club-red);color:#fff;
  border:2px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(138,14,28,.45);
  cursor:pointer;
  opacity:0;visibility:hidden;
  transform:translateY(12px);
  transition:opacity .28s ease,visibility .28s ease,transform .28s ease,background .18s;
}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.scroll-top:hover{background:var(--club-red-lt);box-shadow:0 6px 20px rgba(138,14,28,.6);}
.scroll-top:active{transform:scale(.92);}
@media(max-width:767px){.scroll-top{bottom:18px;right:14px;width:40px;height:40px;}}

/* ===== HEADER STAMP SVG ===== */
.hdr-stamp-svg{
  opacity:.45;
  transition:opacity .4s ease, transform .5s cubic-bezier(.34,1.56,.64,1), filter .4s ease;
  transform-origin:center;
  cursor:default;
  display:block;
}
.hdr-stamp .hdr-stamp-svg:hover{
  opacity:.9;
  transform:scale(1.1) rotate(6deg);
  filter:drop-shadow(0 0 10px rgba(232,192,64,.55)) drop-shadow(0 0 22px rgba(232,192,64,.25));
}

/* ===== UNTERSEITEN LAYOUT ===== */
.page-title-block{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-lt);}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:900;color:var(--club-red);margin:4px 0 0;}

.prose-block{max-width:720px;margin-bottom:24px;}
.prose-block p{font-size:.88rem;line-height:1.7;color:var(--ink-md);margin-bottom:10px;}

.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
.info-card-green{border-top-color:var(--club-green);}
.info-card-red{border-top-color:var(--club-red);}
.info-card-gold{border-top-color:var(--gold);}
.info-icon{font-size:1.6rem;margin-bottom:6px;}
.info-label{font-size:.58rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-lt);margin-bottom:4px;}
.info-value{font-family:'Playfair Display',serif;font-size:.88rem;font-weight:700;color:var(--ink);line-height:1.4;}

.section-heading{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border-lt);}

.two-col-block{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}

.clean-list{margin:0;padding:0;list-style:none;}
.clean-list li{font-size:.82rem;color:var(--ink-md);padding:5px 0;border-bottom:1px solid var(--border-lt);line-height:1.5;}
.clean-list li::before{content:'\2192 ';color:var(--club-green);font-weight:700;}

.contact-block{margin-bottom:16px;}
.contact-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:2px;}
.contact-role{font-size:.8rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-lt);margin-bottom:6px;}
.contact-detail{font-size:.82rem;color:var(--ink-md);line-height:1.7;}
.contact-detail a{color:var(--club-green);text-decoration:none;}
.contact-detail a:hover{text-decoration:underline;}

.event-list{display:grid;gap:10px;margin-bottom:24px;}
.event-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--border-lt);border-left:4px solid var(--border);border-radius:0 6px 6px 0;padding:14px 16px;}
.event-red{border-left-color:var(--club-red);}
.event-green{border-left-color:var(--club-green);}
.event-date{font-family:'Playfair Display',serif;font-size:.88rem;font-weight:700;color:var(--ink-lt);}
.event-name{font-size:.88rem;font-weight:700;color:var(--ink);margin-bottom:3px;}
.event-meta{font-size:.73rem;color:var(--ink-lt);line-height:1.5;}

.info-note{background:transparent;border:1px solid var(--border-lt);border-left:3px solid var(--gold);padding:12px 14px;border-radius:0 4px 4px 0;font-size:.8rem;color:var(--ink-md);line-height:1.6;}

.legal-block{max-width:780px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border-lt);}
.legal-block:last-child{border-bottom:none;padding-bottom:0;}
.legal-block h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--club-red);margin:24px 0 10px;}
.legal-block h3:first-child{margin-top:0;}
.legal-block h4{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--ink);margin:18px 0 8px;}
.legal-block p{font-size:.95rem;color:var(--ink-md);line-height:1.75;margin-bottom:10px;}
.legal-block ul{font-size:.95rem;color:var(--ink-md);line-height:1.75;padding-left:24px;margin-bottom:12px;}
.legal-block li{margin-bottom:4px;}
.legal-block a{color:var(--club-green);}
.legal-block strong{color:var(--ink);}

.form-label{font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink-lt);display:block;margin-bottom:4px;}
.form-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:4px;font-size:.83rem;box-sizing:border-box;font-family:inherit;background:#fff;}
.form-input:focus{outline:2px solid var(--club-green);outline-offset:2px;border-color:var(--club-green);}
textarea.form-input{resize:vertical;min-height:100px;}

@media(max-width:767px){
  .info-row{grid-template-columns:1fr;}
  .two-col-block{grid-template-columns:1fr;}
  .event-item{grid-template-columns:1fr;}
  .event-date{font-size:.8rem;}
}

/* ===== TERMINE: EVENT HIGHLIGHTS ===== */
.event-highlights{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;}
.event-highlight{background:#fff;border:1px solid var(--border-lt);border-top:4px solid;border-radius:0 0 6px 6px;padding:20px 22px;}
.event-highlight-red{border-top-color:var(--club-red);}
.event-highlight-green{border-top-color:var(--club-green);}
.evh-label{font-size:.58rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-lt);margin-bottom:6px;}
.evh-date{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:900;margin-bottom:3px;}
.event-highlight-red .evh-date{color:var(--club-red);}
.event-highlight-green .evh-date{color:var(--club-green);}
.evh-name{font-size:.85rem;font-weight:700;color:var(--ink);margin-bottom:8px;}
.evh-meta{font-size:.75rem;color:var(--ink-lt);line-height:1.7;}

/* ===== TERMINE: ACCORDION ===== */
.acc-list{display:grid;gap:4px;margin-bottom:24px;}
.acc-item{border:1px solid var(--border-lt);border-radius:4px;overflow:hidden;}
.acc-item-muted{opacity:.5;}
.acc-head{
  width:100%;background:#fff;border:none;
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;cursor:pointer;text-align:left;
  font-family:inherit;transition:background .15s;
  box-shadow:inset 0 -1px 0 var(--border-lt);
}
.acc-head:hover{background:var(--cream);}
.acc-head.acc-open{background:var(--cream);border-left:3px solid var(--club-green);padding-left:13px;}
.acc-month{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--ink);min-width:130px;}
.acc-badges{display:flex;gap:5px;flex:1;flex-wrap:wrap;}
.acc-arrow{font-size:.72rem;color:var(--ink-lt);transition:transform .2s;flex-shrink:0;}
.acc-head.acc-open .acc-arrow{transform:rotate(180deg);}
.acc-badge{font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.acc-badge-green{background:rgba(44,95,45,.12);color:var(--club-green);}
.acc-badge-red{background:rgba(138,14,28,.1);color:var(--club-red);}
.acc-badge-grey{background:var(--border-lt);color:var(--ink-lt);}
.acc-body{background:#fff;border-top:1px solid var(--border-lt);}
.acc-row{display:grid;grid-template-columns:58px 160px 1fr 1fr;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--border-lt);font-size:.82rem;}
.acc-row:last-child{border-bottom:none;}
.acc-row:hover{background:var(--cream);}
.acc-row-gross{background:rgba(138,14,28,.03)!important;}
.acc-d{font-family:'Playfair Display',serif;font-weight:700;color:var(--ink);}
.acc-z{color:var(--ink-lt);}
.acc-o{font-size:.75rem;color:var(--ink-lt);}
.acc-empty{padding:12px 16px;font-size:.8rem;color:var(--ink-lt);font-style:italic;}
.tr-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:2px 8px;border-radius:20px;}
.tr-badge-green{background:rgba(44,95,45,.1);color:var(--club-green);}
.tr-badge-red{background:rgba(138,14,28,.1);color:var(--club-red);}

@media(max-width:767px){
  .event-highlights{grid-template-columns:1fr;}
  .acc-row{grid-template-columns:56px 1fr;}.acc-z{display:none;}.acc-o{display:none;}
  .acc-month{min-width:unset;}
}

/* ===== PAGE TITLE EYEBROW ===== */
.page-title-eyebrow{
  font-size:.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--ink-lt);margin-bottom:4px;
}

/* ===== EVENT CARDS (Tauschlokal) ===== */
.event-item{
  display:flex;gap:16px;align-items:flex-start;
  background:#fff;border:1px solid var(--border-lt);border-radius:6px;
  padding:18px 20px;margin-bottom:12px;
  transition:box-shadow .2s;
}
.event-item:hover{box-shadow:0 4px 16px rgba(0,0,0,.06);}
.event-badge{
  font-size:1.8rem;flex-shrink:0;width:48px;text-align:center;line-height:1;
}
.event-body{flex:1;min-width:0;}
.event-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:4px;}
.event-detail{font-size:.78rem;font-weight:600;color:var(--ink-lt);margin-bottom:8px;}
.event-desc{font-size:.85rem;color:var(--ink-md);line-height:1.65;margin:0;}

/* ===== GOOGLE MAPS EMBED ===== */
.map-container{
  border:1px solid var(--border);border-radius:6px;overflow:hidden;
  margin:16px 0 24px;box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.map-container iframe{width:100%;height:350px;border:0;display:block;}

/* ===== AKTUELLES BLOG CARDS ===== */
.blog-card{
  background:#fff;border:1px solid var(--border-lt);border-radius:6px;
  padding:20px 22px;transition:box-shadow .2s,transform .2s;cursor:pointer;
}
a.blog-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1);border-color:var(--border);}
.blog-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px);}
.blog-date{font-size:.8rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-lt);margin-bottom:6px;}
.blog-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.3;}
.blog-title a{color:inherit;text-decoration:none;}
.blog-title a:hover{color:var(--club-red);}
.blog-excerpt{font-size:.85rem;color:var(--ink-md);line-height:1.65;margin-bottom:10px;}
.blog-more{font-size:.78rem;font-weight:700;color:var(--club-red);text-decoration:none;}
.blog-more:hover{text-decoration:underline;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;}
@media(max-width:767px){.blog-grid{grid-template-columns:1fr;}}

/* Full blog entry on aktuelles page */
.blog-entry{
  background:#fff;border:1px solid var(--border-lt);border-radius:6px;
  padding:24px 28px;margin-bottom:16px;overflow:hidden;
}
.blog-entry .blog-title{font-size:1.15rem;margin-bottom:10px;}
.blog-entry .blog-text{font-size:.88rem;color:var(--ink-md);line-height:1.75;}
.blog-entry .blog-text p{margin-bottom:10px;}
.blog-entry .blog-text p:last-child{margin-bottom:0;}
.blog-entry .blog-img{
  width:100%;height:220px;object-fit:cover;border-radius:6px;
  margin-bottom:16px;display:block;
}
@media(max-width:576px){.blog-entry .blog-img{height:160px;}}

/* ===== LAYOUT STABILITY ===== */
.site-header,.main-nav{backface-visibility:hidden;}

/* ===== ACCESSIBILITY: Minimum font sizes ===== */
/* Labels & eyebrows: min 0.75rem (12px) */
.hdr-eyebrow{font-size:.65rem;}
.hdr-meta{font-size:.6rem;}
.welcome-sender{font-size:.75rem;}
.page-title-eyebrow{font-size:.75rem;}
.info-card-t{font-size:.7rem;}
.info-label{font-size:.7rem;}
.evh-label{font-size:.7rem;}
.contact-role{font-size:.75rem;}
.form-label{font-size:.75rem;}
.badge-block .badge-pre{font-size:.7rem;}
.acc-badge{font-size:.65rem;}
.tr-badge{font-size:.65rem;}
.tm-mon{font-size:.55rem;}

/* Body text: min 0.875rem (14px) */
.news-text{font-size:.95rem;line-height:1.7;}
.tauschlokal-box p{font-size:.9rem;line-height:1.7;}
.tm-name{font-size:.85rem;}
.tm-detail{font-size:.8rem;}
.kontakt-line{font-size:.85rem;}
.stamp-desc{font-size:.85rem;line-height:1.6;}
.news-date{font-size:.8rem;}
.tb-chip-detail{font-size:.78rem;}
.blog-date{font-size:.78rem;}
.blog-excerpt{font-size:.9rem;line-height:1.7;}
.blog-more{font-size:.85rem;}
.blog-entry .blog-text{font-size:.95rem;}
.event-detail{font-size:.85rem;}
.event-desc{font-size:.9rem;line-height:1.7;}
.event-meta{font-size:.85rem;line-height:1.6;}
.evh-meta{font-size:.85rem;}
.ds-text{font-size:.88rem;}
.ds-link{font-size:.82rem;}
.info-card p{font-size:.95rem;}
.info-note{font-size:.9rem;}
.contact-detail{font-size:.9rem;}
.prose-block p{font-size:.95rem;line-height:1.75;}
.legal-block p{font-size:.95rem;line-height:1.75;}
.legal-block ul{font-size:.95rem;}
.legal-block h3{font-size:1.15rem;}
.legal-block h4{font-size:1rem;}
.clean-list li{font-size:.9rem;}
.mb-label{font-size:.88rem;}
.mb-desc{font-size:.82rem;}
.mitglied-note{font-size:.82rem;}
.badge-block .badge-sub{font-size:.8rem;}
.ft-links a{font-size:.85rem;}
.ft-right{font-size:.78rem;}
.ft-copy{font-size:.75rem;}
.acc-row{font-size:.88rem;}
.form-input{font-size:.9rem;padding:10px 12px;}

/* Focus styles for keyboard navigation */
a:focus-visible,.btn-club:focus-visible,.nav-link:focus-visible,.form-input:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;
}
.scroll-top:focus-visible{outline:2px solid #fff;outline-offset:2px;}

/* Senior-friendly: larger touch targets */
.btn-club{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.btn-red:focus,.btn-green:focus,.btn-outline:focus{box-shadow:0 0 0 3px rgba(184,144,32,.5);}
.nav-link{min-height:44px;display:flex;align-items:center;}
.scroll-top{width:48px;height:48px;}
@media(max-width:767px){.scroll-top{width:44px;height:44px;}}

/* Better content spacing */
.content{padding:clamp(20px,3vw,36px) clamp(18px,3vw,32px);}
.page-title{font-size:clamp(1.5rem,3.5vw,2.2rem);margin-bottom:8px;}
.sec-title{font-size:1.25rem;margin-bottom:24px;margin-top:12px;}
.section-heading{font-size:1.1rem;margin-bottom:16px;}

/* Mobile: simplify header */
@media(max-width:576px){
  .hdr-eyebrow{display:none;}
  .hdr-meta{display:none;}
  .hdr-divline{display:none;}
  .hdr-name{font-size:1.1rem;}
  .hdr-ev{font-size:1.3rem;}
  .site-header{min-height:auto;padding:4px 0;}
  .hdr-center{padding:4px 12px;}
  .hdr-logo-frame{width:60px;height:60px;}
  .hdr-title-block{min-height:auto;}
}
