
:root{
  --header-h: clamp(170px, 10vw, 300px);
  --utility-h: clamp(48px, 3vw, 72px);
  --left-w: clamp(250px, 14vw, 420px);
  --right-w: var(--left-w);
  --dark:#075329;
  --accent:#4caf50;
  --soft:#edf0e5;
  --ink:#10233b;
  --cream:#eee7dc;
  --paper:#f8f3ea;
  --head:url('assets/header-standard-v6.jpg');
}
*{box-sizing:border-box}
html,body{
  margin:0;
  height:100%;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--cream);
}
body{overflow:hidden}

.site-header{
  height:var(--header-h);
  display:grid;
  grid-template-columns:clamp(430px, 31vw, 820px) 1fr;
  position:relative;
  background:#fff;
  border-bottom:3px solid var(--dark);
  overflow:hidden;
}
.brand{
  display:flex;
  align-items:center;
  padding:clamp(10px,1vw,24px) clamp(18px,1.5vw,38px);
  background:#fff;
  z-index:2;
}
.brand img{
  width:100%;
  max-width:760px;
  max-height:calc(var(--header-h) - 22px);
  object-fit:contain;
  object-position:left center;
}
.course{background:var(--head) center/cover no-repeat;min-width:0}
.actions{
  position:absolute;
  right:clamp(16px,1.4vw,38px);
  top:clamp(14px,1vw,26px);
  z-index:3;
}
.login{
  border:0;
  background:var(--dark);
  color:#fff;
  font-size:clamp(12px,.75vw,17px);
  font-weight:800;
  padding:clamp(10px,.75vw,15px) clamp(20px,1.4vw,30px);
  border-radius:7px;
  cursor:pointer;
}

.utility{
  height:var(--utility-h);
  display:grid;
  grid-template-columns:clamp(145px,10vw,230px) minmax(360px,860px) 1fr;
  align-items:center;
  gap:clamp(12px,1.2vw,24px);
  padding:0 clamp(14px,1.2vw,30px);
  background:#f2ebdf;
  border-bottom:1px solid #d7cec0;
}
.sound-toggle{
  justify-self:start;
  border:0;
  background:transparent;
  color:var(--dark);
  font-weight:800;
  font-size:clamp(11px,.72vw,16px);
  cursor:pointer;
}
.searchline{
  height:clamp(32px,2.1vw,46px);
  background:#fbf8f1;
  border:1px solid #d2c9bb;
  border-radius:8px;
  display:flex;
  align-items:center;
  padding:0 clamp(10px,.8vw,16px);
  gap:8px;
}
.searchline input{
  border:0;
  background:transparent;
  outline:0;
  width:100%;
  font-size:clamp(11px,.72vw,16px);
  color:#263a43;
}

.layout{
  height:calc(100vh - var(--header-h) - var(--utility-h) - 36px);
  display:grid;
  grid-template-columns:var(--left-w) minmax(0,1fr) var(--right-w);
  background:linear-gradient(105deg,#e7dfd2 0%,#f4eee5 56%,#e8e1d6 100%);
}
.left-nav{
  min-height:0;
  overflow:auto;
  background:linear-gradient(#075329,#063c22);
  padding:clamp(18px,1.1vw,28px) clamp(14px,1vw,24px);
  color:#fff;
}
.left-nav::-webkit-scrollbar{width:0}
.left-nav a{
  min-height:clamp(44px,2.8vw,66px);
  display:grid;
  grid-template-columns:clamp(24px,1.5vw,36px) 1fr 18px;
  align-items:center;
  color:#fff;
  font-size:clamp(12px,.82vw,18px);
  font-weight:800;
  padding:0 clamp(10px,.75vw,16px);
  border-radius:8px;
  margin-bottom:3px;
  text-decoration:none;
}
.left-nav a i{
  font-style:normal;
  text-align:right;
  font-size:clamp(16px,1.1vw,24px);
}
.left-nav .active{background:var(--accent)}
.social-dynamic{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:20px 8px 0;
}
.social-dynamic a{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#ffffff20;
  color:#fff;
  text-decoration:none;
  font-size:16px;
}

.content{
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:clamp(22px,1.6vw,38px) clamp(18px,1.3vw,32px) clamp(26px,1.7vw,42px);
}
.content::-webkit-scrollbar{width:10px}
.content::-webkit-scrollbar-thumb{background:#c6bdaf;border-radius:10px}
.card{
  border-radius:clamp(14px,1vw,20px);
  border:1px solid #0000000a;
  box-shadow:0 5px 18px #14231412;
  background:rgba(248,243,234,.94);
}
.welcome{
  min-height:100%;
  padding:clamp(34px,2.4vw,60px) clamp(36px,2.6vw,70px) clamp(30px,2vw,50px);
}
.welcome h1{
  font-size:clamp(30px,2vw,48px);
  margin:0;
  color:var(--ink);
  letter-spacing:-.02em;
}
.welcome h1 span,.welcome b,.welcome strong{color:var(--accent)}
.line{
  width:clamp(44px,3vw,72px);
  border-top:3px solid var(--accent);
  margin:clamp(16px,1.1vw,25px) 0 clamp(22px,1.6vw,38px);
}
.welcome p{
  font-size:clamp(15px,1vw,23px);
  line-height:1.62;
  margin:0 0 clamp(18px,1.2vw,28px);
}
.hero{
  width:100%;
  height:clamp(320px,20vw,580px);
  object-fit:cover;
  border-radius:clamp(12px,.9vw,18px);
  margin-top:clamp(12px,.8vw,20px);
}

.right-panel{
  min-height:0;
  overflow:auto;
  padding:clamp(16px,1vw,24px) clamp(12px,.8vw,18px) clamp(18px,1.1vw,26px);
  background:linear-gradient(#075329,#063c22);
  color:#fff;
}
.right-panel::-webkit-scrollbar{width:0}
.right-panel h2{
  font-size:clamp(12px,.8vw,18px);
  margin:0 0 clamp(10px,.8vw,16px) clamp(8px,.6vw,12px);
}
.player{
  position:relative;
  padding:clamp(18px,1.2vw,28px);
  margin-bottom:clamp(14px,.9vw,22px);
  min-height:clamp(220px,12.5vw,320px);
  background:var(--soft);
}
.avatar{
  position:absolute;
  width:clamp(60px,3.7vw,86px);
  height:clamp(60px,3.7vw,86px);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 50% 70%,#ffd66a,#554112);
  font-size:clamp(30px,1.9vw,44px);
}
.ph{margin-left:clamp(74px,4.8vw,110px)}
.ph h3{font-size:clamp(16px,1.05vw,24px);margin:0}
.ph small{font-size:clamp(10px,.62vw,14px);display:block}
.ph strong{font-size:clamp(26px,1.7vw,38px);color:var(--accent)}
.graph{
  position:absolute;
  right:clamp(16px,1vw,26px);
  top:clamp(32px,2vw,52px);
  color:var(--dark);
  font-size:clamp(17px,1.2vw,27px);
}
dl{
  display:grid;
  grid-template-columns:1fr auto;
  gap:clamp(7px,.5vw,12px) 10px;
  font-size:clamp(10px,.65vw,14px);
  margin:clamp(14px,.9vw,20px) 0 clamp(11px,.7vw,16px);
}
dt,dd{margin:0}
dd{font-weight:bold}
.player button{
  display:block;
  margin:auto;
  border:0;
  border-radius:6px;
  background:var(--dark);
  color:#fff;
  font-size:clamp(9px,.55vw,12px);
  font-weight:bold;
  padding:clamp(8px,.5vw,11px) clamp(28px,1.9vw,42px);
}
.sponsor{
  min-height:clamp(76px,4.8vw,110px);
  padding:clamp(16px,1vw,24px);
  position:relative;
}
.sponsor b{font-size:clamp(11px,.68vw,15px);display:block}
.sponsor small{font-size:clamp(9px,.52vw,12px)}
.sponsor span{
  position:absolute;
  right:18px;
  top:12px;
  font-size:clamp(34px,2vw,50px);
}
footer{
  height:36px;
  padding:10px var(--left-w);
  font-size:clamp(9px,.6vw,13px);
  border-top:1px solid #d7cec0;
  background:#ebe5db;
}

body[data-theme=halloween]{
  --dark:#111;--accent:#f27405;--soft:#211f1b;--ink:#f27405;
  --head:url('assets/header-halloween.jpg');background:#151515;color:#eee
}
body[data-theme=halloween] .welcome,body[data-theme=halloween] .card{background:#1c1c1ce8;color:#eee}
body[data-theme=halloween] .layout{background:linear-gradient(105deg,#161616,#211d19,#141414)}
body[data-theme=halloween] .right-panel{background:#181818}
body[data-theme=halloween] footer{background:#111;color:#f27405;border-color:#3a2816}
body[data-theme=christmas]{--dark:#a41218;--accent:#bd151b;--soft:#fff8f5;--ink:#8d1016;--head:url('assets/header-christmas.jpg')}
body[data-theme=easter]{--dark:#639b2f;--accent:#639b2f;--soft:#f4f5e9;--ink:#355d25;--head:url('assets/header-easter.jpg')}

@media(min-width:1800px){
  :root{--header-h:240px;--utility-h:62px;--left-w:340px}
  .site-header{grid-template-columns:660px 1fr}
}
@media(min-width:2400px){
  :root{--header-h:300px;--utility-h:74px;--left-w:410px}
  .site-header{grid-template-columns:800px 1fr}
  .brand img{max-width:740px}
}
@media(max-width:1100px){
  body{overflow:auto}
  .site-header{height:155px;grid-template-columns:340px 1fr}
  .brand img{max-width:310px}
  .layout{height:auto;grid-template-columns:220px 1fr}
  .right-panel{grid-column:2;padding:0 18px 18px}
  .left-nav{grid-row:1/3}
  footer{padding-left:230px}
}
@media(max-width:720px){
  .site-header{height:110px;grid-template-columns:210px 1fr}
  .brand img{max-width:195px}
  .login{padding:7px 10px}
  .utility{grid-template-columns:42px 1fr;height:44px}
  .sound-toggle{font-size:0}
  .sound-toggle:after{content:'🔇';font-size:15px}
  .layout{display:block}
  .left-nav{display:flex;overflow:auto;white-space:nowrap;padding:8px}
  .left-nav a{min-width:max-content;display:flex;gap:8px;padding:0 12px;margin-right:5px}
  .left-nav a i{display:none}
  .content,.right-panel{padding:12px}
  .welcome{padding:22px}
  .hero{height:230px}
  footer{padding:9px 12px}
}

.right-panel h2{color:#fff}
.right-panel .player,
.right-panel .sponsor{
  background:linear-gradient(145deg,#f5f4e9,#eaf0df);
  color:#10233b;
}
.right-panel .player h3,
.right-panel .sponsor b{color:#10233b}


/* V9 – sauber aufgebauter Header, kein Screenshot mit UI-Elementen */
.site-header.clean-final-header{
  height:clamp(165px,12.7vw,255px);
  display:block;
  position:relative;
  background-image:url('assets/header-clean-final-v9.jpg');
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
  border-bottom:3px solid var(--dark);
  overflow:hidden;
}
.clean-final-header .actions{
  position:absolute;
  right:clamp(24px,2.1vw,44px);
  top:clamp(14px,1.15vw,24px);
  z-index:5;
}
.clean-final-header .login{
  border:0;
  background:#075329;
  color:#fff;
  font-size:clamp(12px,.72vw,15px);
  font-weight:800;
  padding:clamp(10px,.7vw,14px) clamp(20px,1.35vw,28px);
  border-radius:7px;
  cursor:pointer;
}
.clean-final-header .brand,
.clean-final-header .course{
  display:none!important;
}
@media(max-width:900px){
  .site-header.clean-final-header{
    height:135px;
    background-size:cover;
    background-position:left center;
  }
  .clean-final-header .actions{right:12px;top:12px}
}


/* =========================================================
   V10 – Layout/Navigation/Scroll
   ========================================================= */

/* High-resolution approved header */
.site-header.clean-final-header{
  background-image:url('assets/header-clean-8k-v10.jpg') !important;
}

/* Sound belongs inside the header */
.header-sound{
  position:absolute;
  left:clamp(18px,1.7vw,34px);
  bottom:clamp(12px,1vw,20px);
  z-index:6;
  border:0;
  border-radius:7px;
  background:rgba(248,245,237,.90);
  color:#075329;
  font-weight:800;
  font-size:clamp(12px,.72vw,15px);
  padding:9px 13px;
  cursor:pointer;
  backdrop-filter:blur(5px);
}

/* Old utility/search strip is gone */
.utilitybar,
.utility-bar,
.top-tools,
.toolsbar{
  display:none !important;
}

/* Search sits in the left green navigation and has its width */
.sidebar-search{
  width:100%;
  box-sizing:border-box;
  padding:14px 13px 10px;
  position:relative;
}
.sidebar-search input{
  width:100%;
  box-sizing:border-box;
  min-width:0;
  border:1px solid rgba(255,255,255,.34);
  border-radius:8px;
  background:rgba(255,255,255,.95);
  color:#0d223d;
  font-size:clamp(12px,.72vw,15px);
  padding:10px 11px 10px 31px;
  outline:none;
}
.sidebar-search input:focus{
  border-color:#4caf50;
  box-shadow:0 0 0 2px rgba(76,175,80,.18);
}
.sidebar-search-icon{
  position:absolute;
  left:24px;
  top:25px;
  z-index:2;
  color:#0d223d;
  pointer-events:none;
}

/* ONE page scroll: left, middle and right participate in normal document flow.
   No separate scrollbars and no permanently fixed right rail. */
body{
  overflow-y:auto !important;
}
.layout,
.page-layout,
.shell,
.content-shell{
  align-items:flex-start !important;
}
.sidebar,
.left-sidebar,
.rightbar,
.right-sidebar,
aside{
  position:static !important;
  top:auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
main,
.main,
.main-content,
.content{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* The left menu remains visually present while its own content fits;
   after the menu ends the page naturally continues through the main content. */
.sidebar{
  align-self:flex-start !important;
}

/* Controlled content length / page navigation */
.blog-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:28px auto 38px;
  padding:0 16px;
}
.page-btn{
  border:1px solid #d7d5cd;
  background:#fff;
  color:#0d223d;
  border-radius:7px;
  min-width:38px;
  height:38px;
  padding:0 12px;
  font-weight:700;
  cursor:pointer;
}
.page-btn.active{
  background:#075329;
  border-color:#075329;
  color:#fff;
}
.more-btn{
  min-width:105px;
}

/* Responsive */
@media(max-width:900px){
  .header-sound{
    left:10px;
    bottom:9px;
    padding:7px 9px;
  }
  .sidebar-search{
    padding:10px;
  }
}


/* =========================================================
   V11 – KORREKTUR: keine separate Werkzeugleiste,
   Suche links, gesamtes Layout scrollt gemeinsam.
   ========================================================= */

/* Die alte Leiste ist vollständig weg */
.utility{
  display:none !important;
}

/* Gesamte Seite scrollt als EIN Dokument */
html, body{
  height:auto !important;
  min-height:100%;
}
body{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Keine künstliche Viewport-Höhe mehr */
.layout{
  height:auto !important;
  min-height:0 !important;
  align-items:start !important;
  grid-template-columns:var(--left-w) minmax(0,1fr) var(--right-w) !important;
}

/* Linke Navigation scrollt NICHT mehr separat */
.left-nav{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  align-self:start !important;
}

/* Mitte scrollt NICHT mehr separat – sie verlängert die Seite normal */
.content{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Rechte Leiste ist NICHT statisch und scrollt NICHT separat */
.right-panel{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  position:static !important;
  align-self:start !important;
}

/* Suchfeld direkt über STARTSEITE, exakt innerhalb der linken Leiste */
.sidebar-search{
  position:relative;
  width:100%;
  margin:0 0 clamp(10px,.8vw,16px);
}
.sidebar-search input{
  width:100%;
  min-width:0;
  height:clamp(36px,2.35vw,48px);
  border:1px solid rgba(255,255,255,.36);
  border-radius:8px;
  background:rgba(255,255,255,.97);
  color:#10233b;
  outline:none;
  padding:0 12px 0 34px;
  font-size:clamp(11px,.72vw,15px);
}
.sidebar-search input:focus{
  border-color:#8fd18c;
  box-shadow:0 0 0 2px rgba(143,209,140,.20);
}
.sidebar-search-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  color:#10233b;
  pointer-events:none;
  font-size:16px;
}

/* Header-Sound bleibt im Header */
.header-sound{
  display:block !important;
}

/* Blog/Beiträge bewusst begrenzen statt Endlos-Scrollen */
.blog-pagination{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:26px auto 36px;
}
.page-btn{
  border:1px solid #d5d0c7;
  background:#fff;
  color:#10233b;
  border-radius:7px;
  min-width:38px;
  height:38px;
  padding:0 12px;
  font-weight:800;
}
.page-btn.active{
  background:#075329;
  color:#fff;
  border-color:#075329;
}
.more-btn{
  min-width:105px;
}

/* Nach Ende der linken/rechten Spalte läuft nur noch der längere Hauptinhalt weiter,
   weil alle drei Bereiche im normalen Dokumentfluss stehen. */
@media(max-width:1100px){
  .layout{
    height:auto !important;
  }
  .left-nav,
  .content,
  .right-panel{
    overflow:visible !important;
    height:auto !important;
  }
}


/* V12 – rechte HCP-Kachel ohne bedeutungslose Deko-Grafik */
.graph{
  display:none !important;
}

/* Pagination wird nur angezeigt, wenn sie per JS wirklich benötigt wird */
.blog-pagination[hidden]{
  display:none !important;
}

/* Sauberer Footer */
.site-footer{
  min-height:48px;
  height:auto !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 24px !important;
  background:#ece6dc;
  border-top:1px solid #d5cdc0;
  color:#34464a;
  font-size:clamp(11px,.68vw,14px);
  text-align:center;
}
.site-footer .footer-separator{
  color:#7f8a86;
}


/* V15 – saisonale Headerbilder nach den freigegebenen Theme-Entwürfen */
body[data-theme="standard"] .site-header.clean-final-header {
  background-image:url('assets/header-clean-8k-v10.jpg') !important;
}
body[data-theme="halloween"] .site-header.clean-final-header {
  background-image:url('assets/header-halloween-v15.jpg') !important;
}
body[data-theme="christmas"] .site-header.clean-final-header {
  background-image:url('assets/header-christmas-v15.jpg') !important;
}
body[data-theme="easter"] .site-header.clean-final-header {
  background-image:url('assets/header-easter-v15.jpg') !important;
}


/* V16 – saisonale Header exakt nach der freigegebenen Vorschau */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-clean-8k-v10.jpg') !important;
}
body[data-theme="halloween"] .site-header.clean-final-header{
  background-image:url('assets/header-halloween-v16.jpg') !important;
}
body[data-theme="christmas"] .site-header.clean-final-header{
  background-image:url('assets/header-christmas-v16.jpg') !important;
}
body[data-theme="easter"] .site-header.clean-final-header{
  background-image:url('assets/header-easter-v16.jpg') !important;
}

/* Administration nur dezent im Footer */
.admin-footer-link{
  color:inherit;
  text-decoration:none;
  font-weight:600;
}
.admin-footer-link:hover{
  text-decoration:underline;
}

/* Keine alte Login-/Action-Fläche mehr im Header */
.site-header .actions,
.site-header .login{
  display:none !important;
}


/* V17 – saubere saisonale Header ohne eingebackene UI-Elemente */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-clean-8k-v10.jpg') !important;
}
body[data-theme="halloween"] .site-header.clean-final-header{
  background-image:url('assets/header-halloween-v17.jpg') !important;
}
body[data-theme="christmas"] .site-header.clean-final-header{
  background-image:url('assets/header-christmas-v17.jpg') !important;
}
body[data-theme="easter"] .site-header.clean-final-header{
  background-image:url('assets/header-easter-v17.jpg') !important;
}


/* V18 – Seite in Bearbeitung */
.maintenance-screen{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(rgba(248,245,237,.94),rgba(248,245,237,.96)),
    url('assets/header-clean-8k-v10.jpg') center/cover no-repeat;
}
.maintenance-card{
  width:min(680px,100%);
  text-align:center;
  background:rgba(255,255,255,.94);
  border:1px solid #d8d0c4;
  border-radius:22px;
  padding:38px 34px;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}
.maintenance-logo{
  width:min(390px,90%);
  height:auto;
  display:block;
  margin:0 auto 24px;
}
.maintenance-card h1{
  margin:0 0 14px;
  color:#10233b;
  font-size:clamp(30px,4vw,50px);
}
.maintenance-card p{
  margin:0 auto;
  max-width:560px;
  color:#52605d;
  font-size:clamp(16px,2vw,20px);
  line-height:1.55;
}
.maintenance-admin-link{
  display:inline-block;
  margin-top:28px;
  color:#6f7773;
  font-size:13px;
  text-decoration:none;
}
.maintenance-admin-link:hover{text-decoration:underline}
body.maintenance-active > *:not(#maintenanceScreen){
  visibility:hidden !important;
}
body.maintenance-active #maintenanceScreen{
  visibility:visible !important;
}


/* V19 – finale saubere saisonale Header ohne fremde Texte/Artefakte */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-clean-8k-v10.jpg') !important;
}
body[data-theme="halloween"] .site-header.clean-final-header{
  background-image:url('assets/header-halloween-v19.jpg') !important;
}
body[data-theme="christmas"] .site-header.clean-final-header{
  background-image:url('assets/header-christmas-v19.jpg') !important;
}
body[data-theme="easter"] .site-header.clean-final-header{
  background-image:url('assets/header-easter-v19.jpg') !important;
}


/* V21 – Wartungsmodus Fix */
.maintenance-screen[hidden]{display:none !important;}
body.maintenance-active{overflow:hidden !important;}
body.maintenance-active .maintenance-screen{
  display:grid !important;
  visibility:visible !important;
}


/* V22 – Wartungsmodus final */
.maintenance-screen[hidden]{
  display:none !important;
}
.maintenance-screen{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(rgba(248,245,237,.96),rgba(248,245,237,.98)),
    url('assets/header-clean-8k-v10.jpg') center/cover no-repeat;
}
.maintenance-card{
  width:min(680px,100%);
  text-align:center;
  background:rgba(255,255,255,.97);
  border:1px solid #d8d0c4;
  border-radius:22px;
  padding:38px 34px;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}
.maintenance-logo{
  width:min(390px,90%);
  height:auto;
  display:block;
  margin:0 auto 24px;
}
.maintenance-card h1{
  margin:0 0 14px;
  color:#10233b;
  font-size:clamp(30px,4vw,50px);
}
.maintenance-card p{
  margin:0 auto;
  max-width:560px;
  color:#52605d;
  font-size:clamp(16px,2vw,20px);
  line-height:1.55;
}
.maintenance-admin-link{
  display:inline-block;
  margin-top:28px;
  color:#6f7773;
  font-size:13px;
  text-decoration:none;
}
.maintenance-admin-link:hover{
  text-decoration:underline;
}
body.maintenance-active{
  overflow:hidden !important;
}
body.maintenance-active > *:not(#maintenanceScreen){
  display:none !important;
}
body.maintenance-active #maintenanceScreen{
  display:grid !important;
}


/* FINAL – saisonale Header aus der freigegebenen Vorschau */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-clean-8k-v10.jpg') !important;
}
body[data-theme="halloween"] .site-header.clean-final-header{
  background-image:url('assets/header-halloween-final.jpg') !important;
}
body[data-theme="christmas"] .site-header.clean-final-header{
  background-image:url('assets/header-christmas-final.jpg') !important;
}
body[data-theme="easter"] .site-header.clean-final-header{
  background-image:url('assets/header-easter-final.jpg') !important;
}


/* V27 – neues Standard-Headerbild */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v27.jpg') !important;
}

/* V27 – Sound-Button passend zu jedem Theme */
body[data-theme="standard"] .header-sound{
  background:rgba(255,255,255,.90) !important;
  color:#0b5a2f !important;
  border:1px solid rgba(11,90,47,.22) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}
body[data-theme="standard"] .header-sound:hover{
  background:#ffffff !important;
}

body[data-theme="halloween"] .header-sound{
  background:rgba(21,21,21,.88) !important;
  color:#ff7a00 !important;
  border:1px solid rgba(255,122,0,.55) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
}
body[data-theme="halloween"] .header-sound:hover{
  background:rgba(35,35,35,.96) !important;
}

body[data-theme="christmas"] .header-sound{
  background:rgba(255,255,255,.92) !important;
  color:#b5121b !important;
  border:1px solid rgba(181,18,27,.35) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.10);
}
body[data-theme="christmas"] .header-sound:hover{
  background:#ffffff !important;
}

body[data-theme="easter"] .header-sound{
  background:rgba(255,255,255,.90) !important;
  color:#5b8f2a !important;
  border:1px solid rgba(91,143,42,.35) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.10);
}
body[data-theme="easter"] .header-sound:hover{
  background:#ffffff !important;
}

/* V28 – Standard Header: vollständiges Logo/Artwork ohne Beschnitt */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v28.jpg') !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* V29 – freigegebener Standard-Header, unverändert */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v29.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* V29 – Sound-Schalter passend zum Standard-Theme */
body[data-theme="standard"] .header-sound{
  background:rgba(255,255,255,.92) !important;
  color:#145b2a !important;
  border:1px solid rgba(20,91,42,.28) !important;
  border-radius:10px !important;
  box-shadow:0 3px 12px rgba(0,0,0,.10) !important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
body[data-theme="standard"] .header-sound:hover{
  background:#ffffff !important;
  color:#0d4820 !important;
  border-color:rgba(20,91,42,.45) !important;
}

/* Saisonale Sound-Schalter bleiben passend zu ihren Themes */
body[data-theme="halloween"] .header-sound{
  background:rgba(20,20,20,.88) !important;
  color:#ff7a00 !important;
  border:1px solid rgba(255,122,0,.55) !important;
}
body[data-theme="christmas"] .header-sound{
  background:rgba(255,255,255,.92) !important;
  color:#b5121b !important;
  border:1px solid rgba(181,18,27,.35) !important;
}
body[data-theme="easter"] .header-sound{
  background:rgba(255,255,255,.92) !important;
  color:#5b8f2a !important;
  border:1px solid rgba(91,143,42,.35) !important;
}


/* V30 – Standardheader etwas kleiner darstellen, ohne das Bild zu beschneiden */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v29.png') !important;
  background-size:100% auto !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#f7f7f3 !important;
}


/* V32 – Standard: Logo auf saisonale optische Größe angepasst */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v32.png') !important;
  background-size:100% auto !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#f7f7f3 !important;
}


/* V33 – identisch zu V32, nur mittleren Übergangsstreifen entfernt */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v33.png') !important;
  background-size:100% auto !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#f7f7f3 !important;
}


/* V34 – endgültiges Standard-Theme */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v34.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* Sound-Schalter passend zum Standard-Theme */
body[data-theme="standard"] .header-sound{
  background:rgba(0,55,31,.90) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:999px !important;
  box-shadow:0 3px 12px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
body[data-theme="standard"] .header-sound:hover{
  background:rgba(0,73,40,.96) !important;
  color:#ffffff !important;
}

/* Saisonale Sound-Farben beibehalten */
body[data-theme="halloween"] .header-sound{
  background:rgba(20,20,20,.88) !important;
  color:#ff7a00 !important;
  border:1px solid rgba(255,122,0,.55) !important;
}
body[data-theme="christmas"] .header-sound{
  background:rgba(255,255,255,.92) !important;
  color:#b5121b !important;
  border:1px solid rgba(181,18,27,.35) !important;
}
body[data-theme="easter"] .header-sound{
  background:rgba(255,255,255,.92) !important;
  color:#5b8f2a !important;
  border:1px solid rgba(91,143,42,.35) !important;
}


/* V35 – Standardheader Feinschliff
   Motiv etwas höher; Sound liegt unten nicht mehr über Logo/Claim. */
body[data-theme="standard"] .site-header.clean-final-header{
  background-image:url('assets/header-standard-final-v34.png') !important;
  background-size:cover !important;
  background-position:center 43% !important;
  background-repeat:no-repeat !important;
}

/* Sound im Standardtheme in die freie obere linke Ecke */
body[data-theme="standard"] .header-sound{
  position:absolute !important;
  left:24px !important;
  top:18px !important;
  bottom:auto !important;
  z-index:20 !important;
  background:rgba(0,55,31,.90) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.60) !important;
  border-radius:999px !important;
  padding:10px 16px !important;
  box-shadow:0 3px 12px rgba(0,0,0,.16) !important;
}


/* V36 – dynamische öffentliche Inhalte aus dem Adminbereich */
.dynamic-page{min-height:100%}
.public-entry{
  padding:18px 0 24px;
  border-bottom:1px solid rgba(16,35,59,.12);
}
.public-entry:last-child{border-bottom:0}
.public-entry h2,.public-tile h2{margin:8px 0}
.public-entry small,.public-tile small{color:#68746f}
.dynamic-image{
  display:block;
  width:min(100%,760px);
  max-height:430px;
  object-fit:cover;
  border-radius:12px;
  margin:10px 0 14px;
}
.public-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.public-tile{
  background:#fff;
  border:1px solid rgba(16,35,59,.09);
  border-radius:14px;
  padding:18px;
}
.public-tile strong{
  display:block;
  color:var(--accent);
  font-size:28px;
  margin-top:8px;
}
.round-data{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px;
  margin:12px 0;
}
.public-button{
  display:inline-block;
  padding:10px 14px;
  background:var(--dark);
  color:#fff;
  text-decoration:none;
  border-radius:8px;
  font-weight:700;
}
.media-public-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.media-public-grid figure{margin:0}
.media-public-grid img,.media-public-grid video{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:12px;
}
.media-public-grid figcaption{padding:8px 2px 14px}
@media(max-width:850px){
  .public-grid,.media-public-grid,.round-data{grid-template-columns:1fr}
}


/* V38 – Blogübersicht: Titel + 6 Zeilen, 4 Beiträge je Seite */
.blog-teaser .blog-six-lines{
  line-height:1.65;
  margin:12px 0 16px;
}
.blog-more,.blog-back{
  border:0;
  cursor:pointer;
}
.blog-back{
  background:transparent;
  color:var(--accent);
  font-weight:800;
  padding:0;
  margin:0 0 18px;
}
.blog-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  padding:24px 0 4px;
}
.blog-pagination button{
  min-width:42px;
  height:42px;
  border:1px solid rgba(16,35,59,.18);
  border-radius:9px;
  background:#fff;
  color:var(--dark);
  font-weight:800;
  cursor:pointer;
}
.blog-pagination button.active{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}


/* V39 – Blogkarten im Projekt-Golf-Stil */
body[data-theme="standard"] .blog-teaser,
body[data-theme="easter"] .blog-teaser{
  background:linear-gradient(180deg,#0f5b32 0%,#0a4c29 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:20px 22px 22px;
  margin:0 0 18px;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}

body[data-theme="halloween"] .blog-teaser{
  background:linear-gradient(180deg,#1d1d1d 0%,#121212 100%);
  color:#fff;
  border:1px solid rgba(255,122,0,.30);
  border-radius:18px;
  padding:20px 22px 22px;
  margin:0 0 18px;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}

body[data-theme="christmas"] .blog-teaser{
  background:linear-gradient(180deg,#a3161d 0%,#851116 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:20px 22px 22px;
  margin:0 0 18px;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

/* Titel optisch klar hervorheben */
.blog-teaser h2{
  display:inline-block;
  margin:8px 0 14px;
  padding-bottom:7px;
  border-bottom:3px solid currentColor;
  font-size:clamp(23px,2.2vw,31px);
  line-height:1.15;
  letter-spacing:.01em;
}

/* Datum/Kategorie etwas dezenter */
.blog-teaser small{
  display:block;
  opacity:.80;
  margin-bottom:4px;
}

/* 6-Zeilen-Vorschau lesbar im dunklen Kasten */
.blog-teaser .blog-six-lines{
  color:inherit;
  opacity:.96;
}

/* Mehr-Button im jeweiligen Theme passend */
body[data-theme="standard"] .blog-teaser .blog-more,
body[data-theme="easter"] .blog-teaser .blog-more{
  background:#fff;
  color:#0b5a2f;
}

body[data-theme="halloween"] .blog-teaser .blog-more{
  background:#ff7a00;
  color:#171717;
}

body[data-theme="christmas"] .blog-teaser .blog-more{
  background:#fff;
  color:#a3161d;
}

/* Bilder innerhalb der Blogkarten */
.blog-teaser .dynamic-image{
  width:100%;
  max-height:340px;
  border-radius:14px;
  margin:0 0 14px;
}

/* Abstand zwischen Karten und Pagination */
.blog-pagination{
  margin-top:8px;
}


/* V40 – Blogkarten korrigiert:
   Hintergrund bleibt wie vorher, nur farbige Umrandung */
.blog-teaser{
  background:transparent !important;
  color:inherit !important;
  border-radius:18px !important;
  padding:20px 22px 22px !important;
  margin:0 0 18px !important;
  box-shadow:none !important;
}

/* Theme-Farbe nur als Umrandung */
body[data-theme="standard"] .blog-teaser{
  border:2px solid #0f5b32 !important;
}

body[data-theme="halloween"] .blog-teaser{
  border:2px solid #ff7a00 !important;
}

body[data-theme="christmas"] .blog-teaser{
  border:2px solid #b5121b !important;
}

body[data-theme="easter"] .blog-teaser{
  border:2px solid #6f9f37 !important;
}

/* Titel bleibt hervorgehoben, aber passend zur Theme-Farbe */
.blog-teaser h2{
  color:inherit !important;
}

body[data-theme="standard"] .blog-teaser h2{
  border-bottom-color:#0f5b32 !important;
}

body[data-theme="halloween"] .blog-teaser h2{
  border-bottom-color:#ff7a00 !important;
}

body[data-theme="christmas"] .blog-teaser h2{
  border-bottom-color:#b5121b !important;
}

body[data-theme="easter"] .blog-teaser h2{
  border-bottom-color:#6f9f37 !important;
}

/* Mehr-Button wieder neutral passend zum bisherigen Seitenhintergrund */
.blog-teaser .blog-more{
  background:var(--dark) !important;
  color:#fff !important;
}


/* V41 – Multi-Golfer, Blog-Interaktion & Newsletter */
.golfer-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.golfer-switch button{
  border:1px solid var(--accent);background:#fff;color:var(--dark);border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer
}
.golfer-switch button.active{background:var(--accent);color:#fff}
.member-profile-head{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:20px;align-items:start}
.member-mini-entry{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:12px 4px;border-bottom:1px solid rgba(16,35,59,.12)
}
.member-mini-entry.blog-link{cursor:pointer}
.member-mini-entry.blog-link:hover b{text-decoration:underline}
.blog-social{margin-top:28px;padding-top:20px;border-top:1px solid rgba(16,35,59,.15)}
.like-button,.comment-like,.comment-reply-toggle{
  border:1px solid rgba(16,35,59,.18);background:#fff;color:var(--dark);border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer
}
.like-button.active,.comment-like.active{color:#b5161d;border-color:#b5161d}
.comment-form{
  display:grid;grid-template-columns:1fr 180px;gap:10px;margin:12px 0 20px
}
.comment-form textarea{grid-column:1/-1}
.public-comment{
  border:1px solid rgba(16,35,59,.14);border-radius:12px;padding:13px 14px;margin:10px 0;background:rgba(255,255,255,.42)
}
.public-comment.reply{margin-left:32px}
.comment-head{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.comment-head small{margin-left:auto;color:#6a746f}
.question-badge{background:var(--accent);color:#fff;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}
.comment-actions{display:flex;gap:8px;margin-top:8px}
.public-reply-form{display:grid;gap:8px;margin-top:10px}
.newsletter-box{
  margin-top:28px;padding:22px;border:2px solid var(--accent);border-radius:16px;background:rgba(255,255,255,.35)
}
.newsletter-box h2{margin:0 0 8px}
.newsletter-box form{display:flex;gap:9px;max-width:620px}
.newsletter-box input{flex:1;border:1px solid rgba(16,35,59,.22);border-radius:8px;padding:11px}
.newsletter-box button{border:0;background:var(--dark);color:#fff;border-radius:8px;padding:11px 16px;font-weight:800}
#newsletterMsg{margin-top:8px;font-weight:700}
@media(max-width:760px){
  .member-profile-head{grid-template-columns:1fr}
  .comment-form{grid-template-columns:1fr}
  .comment-form textarea{grid-column:auto}
  .newsletter-box form{flex-direction:column}
  .public-comment.reply{margin-left:14px}
}


/* V42 – Mitgliederprofil-Link */
.member-profile-link{
  display:inline-block;
  margin-top:12px;
  padding:8px 14px;
  border:2px solid #0f5b32;
  border-radius:9px;
  background:#fff;
  color:#0f5b32;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.member-profile-link:hover{
  background:#f4faf6;
  text-decoration:none;
}


/* V43 – Smartphone, Alben, Lightbox, Datenschutz */
.mobile-menu-toggle{
  display:none;position:sticky;top:6px;z-index:9000;margin:8px 12px;padding:10px 14px;
  border:0;border-radius:9px;background:#075329;color:#fff;font-weight:800
}
.album-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px
}
.album-card{
  text-align:left;border:1px solid rgba(16,35,59,.16);border-radius:14px;background:#fff;padding:10px;cursor:pointer
}
.album-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;display:block;margin-bottom:9px}
.album-card strong,.album-card small{display:block}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gallery-item{margin:0;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;pointer-events:none}
.gallery-item figcaption{font-size:12px;padding:6px 2px}
.photo-lightbox{
  position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:34px
}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox img{max-width:94vw;max-height:84vh;object-fit:contain;user-select:none;-webkit-user-select:none}
.lightbox-close{position:absolute;top:14px;right:18px;border:0;background:transparent;color:#fff;font-size:44px;cursor:pointer}
#lightboxCaption{color:#fff;text-align:center;margin-top:8px}
body.lightbox-open{overflow:hidden}
.content-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.content-links a{color:var(--accent);font-weight:800;text-decoration:underline}
.blog-share-row{display:flex;justify-content:flex-end;margin:10px 0}
.share-button{border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:8px;padding:8px 12px;font-weight:800}
.consent-banner{
  position:fixed;left:14px;right:14px;bottom:14px;z-index:999998;background:#fff;border:2px solid #075329;
  border-radius:14px;padding:16px;box-shadow:0 12px 40px rgba(0,0,0,.22);display:flex;justify-content:space-between;gap:18px;align-items:center
}
.consent-banner[hidden]{display:none!important}
.consent-banner p{margin:5px 0 0;max-width:760px}
.consent-text{max-width:760px;line-height:1.5}
.consent-text p{margin:6px 0}
.consent-text strong{font-weight:800}
.consent-actions{display:flex;gap:8px;flex-wrap:wrap}
.consent-actions button{border:1px solid #075329;border-radius:8px;padding:9px 12px;background:#fff;color:#075329;font-weight:800}
.consent-actions button:last-child{background:#075329;color:#fff}

@media(max-width:760px){
  html,body{overflow-x:hidden}
  .mobile-menu-toggle{display:block}
  .layout{display:block!important}
  .left-nav{
    position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,330px)!important;z-index:8500;
    transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;padding-top:64px!important
  }
  body.mobile-nav-open .left-nav{transform:translateX(0)}
  body.mobile-nav-open::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,.36);z-index:8400}
  .content{width:100%!important;padding:10px!important}
  .right-rail{width:100%!important;position:static!important}
  .site-header.clean-final-header{min-height:150px!important;background-size:cover!important}
  .header-sound{font-size:12px!important;padding:8px 10px!important}
  .welcome.card,.card{border-radius:12px!important;padding:16px!important}
  .welcome h1{font-size:27px!important}
  .public-grid,.gallery-grid,.album-grid{grid-template-columns:1fr!important}
  .round-data{grid-template-columns:1fr!important}
  .dynamic-image{max-height:280px}
  .consent-banner{flex-direction:column;align-items:stretch}
  .consent-actions button{flex:1}
  .photo-lightbox{padding:18px}
  .site-footer{flex-wrap:wrap;gap:6px!important;padding:14px!important}
}

.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* V44 Newsletter unten in linker Leiste */
.sidebar-newsletter{margin-top:auto;padding:14px;border-top:1px solid rgba(255,255,255,.18);color:#fff}
.sidebar-newsletter h3{margin:0 0 6px;font-size:16px;text-decoration:underline;text-underline-offset:4px}
.sidebar-newsletter p{margin:0 0 9px;font-size:12px;line-height:1.4;opacity:.92}
.sidebar-newsletter form{display:grid;gap:7px}
.sidebar-newsletter input{width:100%;border:0;border-radius:8px;padding:9px 10px}
.sidebar-newsletter button{border:1px solid rgba(255,255,255,.75);border-radius:8px;padding:8px 10px;background:#fff;color:#075329;font-weight:800}
.sidebar-newsletter-msg{font-size:11px;margin-top:6px}

/* V44 Alben */
.album-card strong{display:block;font-size:22px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;margin:8px 0 6px}
.album-card small{display:block;color:var(--muted);margin-bottom:4px}
.album-card span{display:block;font-size:12px;font-weight:700;color:var(--dark)}

/* V45 Rundenkarten */
.round-card-list{display:grid;gap:16px}
.round-card{border:2px solid #48b955;border-radius:16px;padding:18px;background:transparent}
.round-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.round-card-head small{display:block;color:var(--muted);margin-bottom:4px}
.round-card-head h2{margin:0;font-size:clamp(22px,2.3vw,30px)}
.round-badge{border:1px solid #48b955;color:#2f963c;background:#f5fbf6;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.round-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.round-stat{border:1.5px solid #48b955;border-radius:11px;padding:10px 12px;min-height:72px}
.round-stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.round-stat strong{display:block;font-size:23px;color:#2f963c}
.round-note{margin-top:14px;padding-top:13px;border-top:1px solid rgba(72,185,85,.28);line-height:1.55}
.scorecard-preview{margin-top:12px;border:1px solid #48b955;background:#fff;color:#2f963c;border-radius:9px;padding:8px 12px;font-weight:800;cursor:pointer}
@media(max-width:700px){.round-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.round-card-head{flex-direction:column}}


/* V47 – Albumdarstellung kompakter */
.album-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}

.album-card{
  width:100% !important;
  max-width:none !important;
  padding:12px !important;
}

.album-card img{
  width:100% !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  border-radius:10px !important;
}

.album-card p{
  font-size:12px !important;
  line-height:1.45 !important;
  margin:8px 0 0 !important;
  color:var(--muted) !important;
}

.album-card small,
.album-card span{
  font-size:12px !important;
}

/* Das geöffnete Album: Fotos bleiben klein in der Übersicht */
.gallery-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}

.gallery-item img{
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  border-radius:10px !important;
}

/* Beim Klick öffnet weiterhin die vorhandene große Lightbox */
.gallery-item{
  cursor:zoom-in !important;
}

@media(max-width:900px){
  .album-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:520px){
  .gallery-grid{
    grid-template-columns:1fr !important;
  }
}


/* V48 – Wasserzeichen bewusster sichtbar */
.photo-watermark,
.gallery-watermark,
.watermarked-photo::after,
.gallery-item::after{
  opacity:.34 !important;
  font-weight:800 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.28) !important;
}

/* Falls das Wasserzeichen als Overlay über den Galeriefotos erzeugt wird */
.gallery-item{
  position:relative !important;
  overflow:hidden !important;
}
.gallery-item::after{
  content:"© PROJEKT GOLF";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-24deg);
  z-index:4;
  pointer-events:none;
  color:rgba(255,255,255,.52);
  font-size:clamp(18px,2.1vw,32px);
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
  text-shadow:0 2px 5px rgba(0,0,0,.42);
}

/* Auch in der großen Fotoansicht klar sichtbar */
.lightbox-content,
.photo-lightbox-content{
  position:relative;
}
.lightbox-content::after,
.photo-lightbox-content::after{
  content:"© PROJEKT GOLF";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-24deg);
  z-index:20;
  pointer-events:none;
  color:rgba(255,255,255,.48);
  font-size:clamp(24px,4vw,58px);
  font-weight:900;
  letter-spacing:.09em;
  white-space:nowrap;
  text-shadow:0 2px 6px rgba(0,0,0,.48);
}


/* V49 – Albumübersicht kleiner, Albumfotos größer */
.album-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:18px !important;
  align-items:flex-start !important;
}

.album-card{
  flex:0 1 430px !important;
  width:min(430px,100%) !important;
  max-width:430px !important;
  padding:10px !important;
}

.album-card img{
  width:100% !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
}

.album-card p{
  font-size:12px !important;
  line-height:1.35 !important;
  margin:7px 0 0 !important;
}

.album-card strong{
  font-size:21px !important;
}

/* Geöffnetes Album: echte Fotos wesentlich größer */
.gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr)) !important;
  gap:16px !important;
  width:100% !important;
}

.gallery-item img{
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
}

/* Einzelnes Foto darf die verfügbare Inhaltsbreite nutzen */
.gallery-grid > .gallery-item:only-child{
  max-width:900px !important;
  width:100% !important;
}

#rightProfileBtn{
  cursor:pointer !important;
}

@media(max-width:760px){
  .album-card{
    flex-basis:100% !important;
    width:100% !important;
    max-width:100% !important;
  }
  .gallery-grid{
    grid-template-columns:1fr !important;
  }
}


/* V50 – aussagekräftige Golfstatistik */
.stats-explainer{
  margin:0 0 18px;
  padding:12px 14px;
  border-left:4px solid #48b955;
  background:rgba(72,185,85,.06);
  border-radius:8px;
  line-height:1.5;
}

.stats-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.stat-summary-card{
  border:1.5px solid #48b955;
  border-radius:13px;
  padding:14px;
  min-height:96px;
  background:transparent;
}

.stat-summary-card.wide{
  grid-column:span 2;
}

.stat-summary-card span{
  display:block;
  color:var(--muted);
  font-size:13px;
  margin-bottom:7px;
}

.stat-summary-card strong{
  display:block;
  color:#2f963c;
  font-size:clamp(23px,2.5vw,34px);
  line-height:1.15;
}

.course-stat-list{
  display:grid;
  gap:14px;
}

.course-stat-card{
  border:2px solid #48b955;
  border-radius:15px;
  padding:16px;
  background:transparent;
}

.course-stat-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:13px;
}

.course-stat-head h3{
  margin:0 0 3px;
  font-size:22px;
}

.course-stat-head small{
  color:var(--muted);
}

.course-stat-head > span{
  border:1px solid #48b955;
  border-radius:999px;
  padding:5px 9px;
  color:#2f963c;
  font-weight:800;
  font-size:12px;
  white-space:nowrap;
}

.course-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.course-stat-grid > div{
  border:1px solid rgba(72,185,85,.65);
  border-radius:10px;
  padding:10px;
}

.course-stat-grid span{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-bottom:4px;
}

.course-stat-grid strong{
  display:block;
  color:#2f963c;
  font-size:20px;
}

.course-stat-latest{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(72,185,85,.25);
  color:var(--muted);
  font-size:12px;
}

.hcp-trend-line{
  margin:14px 0 4px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border:1px solid rgba(72,185,85,.5);
  border-radius:11px;
  padding:11px 13px;
}

.hcp-trend-line strong{
  color:#2f963c;
}

@media(max-width:800px){
  .stats-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-summary-card.wide{grid-column:span 2}
  .course-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:520px){
  .stats-overview-grid{grid-template-columns:1fr}
  .stat-summary-card.wide{grid-column:auto}
  .course-stat-grid{grid-template-columns:1fr 1fr}
  .course-stat-head{flex-direction:column}
}


/* V51 – Navigation robust */
.left-nav a{
  cursor:pointer;
}
.left-nav a.active{
  pointer-events:auto;
}

.render-error{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #d9aaaa;
  background:#fff7f7;
  border-radius:8px;
  color:#8b1f1f;
  font-size:13px;
}

.page-loading{min-height:240px;display:flex;align-items:center;justify-content:center}


/* V57 – Anfängerfreundliche Statistik + Formkurve */
.stats-help-box{
  margin:0 0 18px;
  padding:15px 17px;
  border:2px solid #48b955;
  border-radius:13px;
  background:rgba(72,185,85,.05);
}
.stats-help-box h2{margin:0 0 8px;font-size:20px}
.stats-help-box p{margin:7px 0;line-height:1.5}

.stat-summary-card small{
  display:block;
  margin-top:8px;
  font-size:11px;
  line-height:1.35;
  color:var(--muted);
}

.course-stat-grid small{
  display:block;
  margin-top:5px;
  font-size:10px;
  line-height:1.3;
  color:var(--muted);
}

.form-chart-wrap{
  border:2px solid #48b955;
  border-radius:15px;
  padding:14px;
  overflow:hidden;
}
.form-chart{
  display:block;
  width:100%;
  height:auto;
  min-height:240px;
}
.chart-grid{
  stroke:rgba(16,35,59,.12);
  stroke-width:1;
}
.chart-line{
  fill:none;
  stroke:#48b955;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.chart-point{
  fill:#fff;
  stroke:#2f963c;
  stroke-width:4;
}
.chart-axis-label{
  fill:#6a746f;
  font-size:13px;
  font-family:Arial,sans-serif;
}
.chart-trend-text{
  display:inline-block;
  margin-bottom:8px;
  padding:7px 10px;
  border-radius:999px;
  background:#f4faf5;
  color:#2f963c;
  font-weight:800;
  font-size:13px;
}
.form-chart-help{
  margin:8px 0 0;
  padding-top:10px;
  border-top:1px solid rgba(72,185,85,.25);
  font-size:13px;
  line-height:1.45;
}
.chart-empty{
  padding:24px;
  text-align:center;
  color:var(--muted);
}


/* V58 – Statistik kompakter und übersichtlicher */
.stats-overview-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:9px !important;
}

.stat-summary-card{
  min-height:72px !important;
  padding:10px 11px !important;
  border-radius:10px !important;
}

.stat-summary-card.wide{
  grid-column:span 2 !important;
}

.stat-summary-card span{
  font-size:11px !important;
  margin-bottom:3px !important;
}

.stat-summary-card strong{
  font-size:clamp(18px,1.9vw,27px) !important;
  line-height:1.08 !important;
}

.stat-summary-card small{
  margin-top:4px !important;
  font-size:9px !important;
  line-height:1.2 !important;
}

.member-section-title{
  font-size:22px !important;
  margin:18px 0 10px !important;
}

.form-chart-wrap{
  padding:10px !important;
  border-radius:11px !important;
}

.form-chart{
  min-height:180px !important;
  max-height:240px !important;
}

.chart-trend-text{
  padding:5px 8px !important;
  font-size:11px !important;
  margin-bottom:5px !important;
}

.form-chart-help{
  font-size:11px !important;
  padding-top:7px !important;
  margin-top:6px !important;
}

.course-stat-card{
  padding:12px !important;
  border-radius:11px !important;
}

.course-stat-head{
  margin-bottom:8px !important;
}

.course-stat-head h3{
  font-size:18px !important;
}

.course-stat-grid{
  gap:6px !important;
}

.course-stat-grid > div{
  padding:8px !important;
  border-radius:8px !important;
}

.course-stat-grid span{
  font-size:10px !important;
}

.course-stat-grid strong{
  font-size:17px !important;
}

.course-stat-grid small{
  font-size:9px !important;
  margin-top:3px !important;
}

.course-stat-latest{
  margin-top:7px !important;
  padding-top:6px !important;
  font-size:10px !important;
}

@media(max-width:1000px){
  .stats-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:520px){
  .stats-overview-grid{grid-template-columns:1fr 1fr !important}
  .stat-summary-card.wide{grid-column:span 2 !important}
}


/* V59 – Statistik genauer erklärt */
.best-round-detail{
  display:grid;
  gap:3px;
}
.best-round-detail strong{
  font-size:18px !important;
  color:#2f963c;
}
.best-round-detail span{
  display:block;
  font-size:11px;
  line-height:1.25;
  color:var(--dark);
}

.player dl{
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:7px 10px !important;
}
.player dl dt{
  font-size:11px !important;
}
.player dl dd{
  font-size:11px !important;
  font-weight:800;
  text-align:right;
}


/* V60 – alle aktiven Golfer rechts */
.right-players{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.golfer-sidebar-card{
  margin:0 !important;
}

.sidebar-player-image{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:50%;
  display:block;
  margin:0 auto 8px;
}

.sidebar-profile-btn{
  width:100%;
  margin-top:10px;
  border:1px solid #48b955;
  border-radius:8px;
  padding:8px 10px;
  background:#fff;
  color:#2f963c;
  font-weight:800;
  cursor:pointer;
}

.sidebar-profile-btn:hover{
  background:#f5fbf6;
}

.right-players .player dl{
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:7px 10px !important;
}

.right-players .player dt,
.right-players .player dd{
  font-size:11px !important;
}

@media(max-width:760px){
  .right-players{gap:10px}
}


/* V61 – Abstand Spieler / Sponsoren */
.right-players{
  margin-bottom:24px !important;
}

/* Falls Partner direkt nach dem Spielercontainer folgt */
.right-players + .card,
.right-players + section,
.right-players + aside{
  margin-top:24px !important;
}


/* V62 – Blogübersicht 2 Spalten × 3 Reihen */
.blog-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.blog-overview-card{
  border:2px solid #48b955;
  border-radius:14px;
  overflow:hidden;
  background:transparent;
}

.blog-overview-image{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

.blog-overview-body{
  padding:13px 14px 14px;
}

.blog-overview-body small{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-bottom:5px;
}

.blog-overview-body h2{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.2;
  text-decoration:underline;
  text-underline-offset:5px;
}

.blog-overview-body p{
  margin:8px 0 10px;
  font-size:13px;
  line-height:1.45;
}

.blog-overview-card .public-button{
  padding:7px 10px;
  font-size:12px;
}

.blog-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:18px;
}

.blog-pagination button{
  min-width:34px;
  height:34px;
  border:1px solid #48b955;
  border-radius:8px;
  background:#fff;
  color:#2f963c;
  font-weight:800;
  cursor:pointer;
}

.blog-pagination button.active{
  background:#48b955;
  color:#fff;
}

@media(max-width:760px){
  .blog-overview-grid{
    grid-template-columns:1fr;
  }
}


/* V63 – Gespielte Runden: 2 Spalten × 3 Reihen */
.round-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.round-overview-card{
  border:2px solid #48b955;
  border-radius:14px;
  padding:14px;
  background:transparent;
}

.round-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(72,185,85,.3);
}

.round-card-head small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:3px;
}

.round-card-head h2{
  margin:0;
  font-size:20px;
  line-height:1.2;
  text-decoration:underline;
  text-underline-offset:5px;
}

.round-card-head > span{
  flex:0 0 auto;
  border:1px solid #48b955;
  border-radius:999px;
  padding:4px 8px;
  color:#2f963c;
  font-size:10px;
  font-weight:800;
}

.round-card-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}

.round-card-stats > div{
  border:1px solid rgba(72,185,85,.65);
  border-radius:8px;
  padding:8px 6px;
  text-align:center;
}

.round-card-stats span{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-bottom:3px;
}

.round-card-stats strong{
  display:block;
  color:#2f963c;
  font-size:18px;
}

.round-card-footer{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}

.round-card-footer span{
  padding:3px 7px;
  border-radius:999px;
  background:rgba(72,185,85,.08);
  color:#2f963c;
  font-size:9px;
  font-weight:800;
}

.round-card-note{
  margin:8px 0 0;
  padding-top:7px;
  border-top:1px solid rgba(72,185,85,.2);
  font-size:11px;
  line-height:1.35;
}

.round-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:18px;
}

.round-pagination button{
  min-width:34px;
  height:34px;
  border:1px solid #48b955;
  border-radius:8px;
  background:#fff;
  color:#2f963c;
  font-weight:800;
  cursor:pointer;
}

.round-pagination button.active{
  background:#48b955;
  color:#fff;
}

@media(max-width:760px){
  .round-overview-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:430px){
  .round-card-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* V65 – EINHEITLICHER PROJEKT-GOLF ÜBERSICHTSSTIL
   Dieser Stil ist ab jetzt die Basis für Blog, Gespielte Runden,
   Fotoalben und künftige Übersichtsseiten. */

.standard-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.standard-overview-card{
  border:2px solid #48b955;
  border-radius:14px;
  overflow:hidden;
  background:transparent;
  transition:transform .15s ease,box-shadow .15s ease;
}

.standard-overview-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

.standard-overview-image{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

.standard-overview-body{
  padding:13px 14px 14px;
}

.standard-overview-body small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:5px;
}

.standard-overview-body h2{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.2;
  text-decoration:underline;
  text-underline-offset:5px;
}

.standard-overview-meta{
  font-size:11px;
  font-weight:800;
  color:#2f963c;
  margin-bottom:7px;
}

.standard-overview-text{
  margin:7px 0 10px;
  font-size:12px;
  line-height:1.4;
  color:var(--dark);
}

.standard-overview-button,
.standard-back-button{
  border:1px solid #48b955;
  background:#fff;
  color:#2f963c;
  border-radius:8px;
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.standard-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:18px;
}

.standard-pagination button{
  min-width:34px;
  height:34px;
  border:1px solid #48b955;
  border-radius:8px;
  background:#fff;
  color:#2f963c;
  font-weight:800;
  cursor:pointer;
}

.standard-pagination button.active{
  background:#48b955;
  color:#fff;
}

.album-overview-card{
  cursor:pointer;
}

.album-detail-head{
  margin:12px 0 16px;
}

.album-detail-head h2{
  margin:0 0 4px;
  font-size:24px;
  text-decoration:underline;
  text-underline-offset:5px;
}

.album-detail-head small{
  color:var(--muted);
  font-size:11px;
}

.album-detail-head p{
  max-width:760px;
  font-size:12px;
  line-height:1.4;
  margin:8px 0 0;
}

/* Bestehende Blog-/Runden-Übersichten optisch an denselben Stil anbinden */
.blog-overview-grid,
.round-overview-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}

.blog-overview-card,
.round-overview-card{
  border-radius:14px !important;
}

.blog-pagination button,
.round-pagination button{
  min-width:34px;
  height:34px;
  border-radius:8px;
}

@media(max-width:760px){
  .standard-overview-grid,
  .blog-overview-grid,
  .round-overview-grid{
    grid-template-columns:1fr !important;
  }
}


/* V66 – Backup Download gut sichtbar */
a[download],
.backup-download,
#backupDownload,
[data-backup-download]{
  color:#000 !important;
  font-weight:800 !important;
}

/* V66 – Blog Rich-Text Editor */
.blog-format-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:9px;
  margin:8px 0 0;
  border:1px solid #b9c8bc;
  border-bottom:0;
  border-radius:10px 10px 0 0;
  background:#f5f7f3;
}
.blog-format-toolbar button,
.blog-format-toolbar select{
  min-height:34px;
  border:1px solid #9fb2a3;
  border-radius:6px;
  background:#fff;
  color:#10253d;
  padding:5px 8px;
  font:inherit;
  cursor:pointer;
}
.blog-rich-editor{
  min-height:260px;
  padding:14px;
  border:1px solid #b9c8bc;
  border-radius:0 0 10px 10px;
  background:#fff;
  color:#10253d;
  line-height:1.55;
  overflow:auto;
}
.blog-rich-editor:focus{
  outline:2px solid rgba(72,185,85,.25);
  border-color:#48b955;
}
.blog-source-hidden{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}

/* V67 – Blogeditor, Kontaktformular, Rechtstexte */
.blog-format-toolbar{
  display:flex;flex-wrap:wrap;gap:6px;padding:9px;
  border:1px solid #b9c8bc;border-bottom:0;border-radius:10px 10px 0 0;background:#f4f7f4;
}
.blog-format-toolbar button,.blog-format-toolbar select{
  min-height:34px;padding:5px 8px;border:1px solid #9fb2a3;border-radius:6px;
  background:#fff;color:#111;font:inherit;cursor:pointer;
}
.blog-rich-editor{
  min-height:280px;padding:14px;border:1px solid #b9c8bc;border-radius:0 0 10px 10px;
  background:#fff;color:#10253d;line-height:1.55;overflow:auto;
}
.blog-rich-editor:focus{outline:2px solid rgba(72,185,85,.25);border-color:#48b955}
.blog-body-source{display:none!important}

.contact-form{display:grid;gap:12px;margin-top:16px;max-width:720px}
.contact-form label{display:grid;gap:5px;font-weight:700;font-size:13px}
.contact-form input,.contact-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #aebbb1;border-radius:8px;
  padding:10px;background:#fff;color:#10253d;font:inherit;
}
.contact-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:400!important;line-height:1.4}
.contact-consent input{width:auto;margin-top:3px}
.contact-honeypot{position:absolute!important;left:-99999px!important}
.contact-status{font-weight:700;color:#2f963c}
.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* V68 – Word-ähnlicher Blogeditor */
.blog-rich-editor{
  min-height:320px !important;
  padding:16px !important;
  border:1px solid #b9c8bc !important;
  border-radius:10px 10px 0 0 !important;
  background:#fff !important;
  color:#10253d !important;
  line-height:1.6 !important;
  overflow:auto !important;
}

.blog-format-toolbar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  padding:9px !important;
  margin:0 !important;
  border:1px solid #b9c8bc !important;
  border-top:0 !important;
  border-radius:0 0 10px 10px !important;
  background:#f4f7f4 !important;
}

.blog-format-toolbar button,
.blog-format-toolbar select{
  min-height:34px !important;
  padding:5px 8px !important;
  border:1px solid #9fb2a3 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#111 !important;
  font:inherit !important;
  cursor:pointer !important;
}

.blog-body-source{
  display:none !important;
}

/* V69 – nur EIN sichtbarer Blogeditor */
#blog_body.blog-body-source,
textarea#blog_body.blog-body-source,
.blog-body-source{
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

#blogRichEditor{
  display:block !important;
  visibility:visible !important;
  min-height:320px !important;
  border:1px solid #b9c8bc !important;
  border-radius:10px 10px 0 0 !important;
  background:#fff !important;
}

#blogFormatToolbar{
  margin-top:0 !important;
  border-top:0 !important;
  border-radius:0 0 10px 10px !important;
}


/* V70 – großer Blogeditor, Werkzeuge darunter */
#blogRichEditor.blog-rich-editor-large{
  min-height:520px !important;
  height:520px !important;
  max-height:70vh !important;
  overflow-y:auto !important;
  padding:18px !important;
  border:1px solid #b9c8bc !important;
  border-radius:12px 12px 0 0 !important;
  background:#fff !important;
  color:#10253d !important;
  line-height:1.65 !important;
  font-size:16px !important;
}

#blogFormatToolbar.blog-format-toolbar-bottom{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px !important;
  margin:0 !important;
  border:1px solid #b9c8bc !important;
  border-top:0 !important;
  border-radius:0 0 12px 12px !important;
  background:#f4f7f4 !important;
}

.blog-format-group{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}

#blogFormatToolbar button,
#blogFormatToolbar select{
  min-height:36px !important;
  padding:6px 9px !important;
  border:1px solid #9fb2a3 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#111 !important;
  font:inherit !important;
  cursor:pointer !important;
}

#blogFormatToolbar select{
  min-width:120px;
}

#blog_body.blog-body-source{
  display:none !important;
}

@media(max-width:760px){
  #blogRichEditor.blog-rich-editor-large{
    min-height:420px !important;
    height:420px !important;
  }
}


/* V71 – Backup-Bereich aufgeräumt */
#backupExportBtn{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  font-weight:800 !important;
}

#backupRestoreBtn{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  font-weight:800 !important;
}

/* nativer Dateiauswahlknopf gut lesbar */
input[type="file"]{
  color:#111 !important;
}
input[type="file"]::file-selector-button{
  color:#111 !important;
  background:#fff !important;
  border:1px solid #9aa69e !important;
  border-radius:6px !important;
  padding:7px 12px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}


/* V72 – Blogeditor im Microsoft-Word-Stil */
#blogRichEditor.blog-rich-editor-word{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  min-height:900px !important;
  height:900px !important;
  max-height:75vh !important;
  overflow-y:auto !important;
  padding:22px !important;
  border:1px solid #b9c8bc !important;
  border-radius:12px 12px 0 0 !important;
  background:#fff !important;
  color:#10253d !important;
  line-height:1.65 !important;
  font-size:16px !important;
  font-family:Arial,Helvetica,sans-serif !important;
}

#blogFormatToolbar.blog-format-toolbar-word{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:9px 10px !important;
  margin:0 !important;
  border:1px solid #b9c8bc !important;
  border-top:0 !important;
  border-radius:0 0 12px 12px !important;
  background:#f3f3f3 !important;
}

#blogFormatToolbar .word-toolbar-group{
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  flex:0 0 auto !important;
}

#blogFormatToolbar .word-toolbar-separator{
  width:1px !important;
  height:28px !important;
  background:#c8c8c8 !important;
  margin:0 2px !important;
  flex:0 0 auto !important;
}

#blogFormatToolbar .word-select{
  width:auto !important;
  min-width:0 !important;
  height:34px !important;
  margin:0 !important;
  padding:4px 26px 4px 8px !important;
  border:1px solid #b5b5b5 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:500 !important;
}

#blogFormatToolbar .word-font{
  width:150px !important;
}

#blogFormatToolbar .word-size{
  width:70px !important;
}

#blogFormatToolbar .word-icon{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  margin:0 !important;
  padding:0 7px !important;
  border:1px solid transparent !important;
  border-radius:4px !important;
  background:transparent !important;
  color:#111 !important;
  font-size:15px !important;
  line-height:32px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  text-align:center !important;
}

#blogFormatToolbar .word-icon:hover{
  background:#e4e4e4 !important;
  border-color:#c5c5c5 !important;
}

#blogFormatToolbar .word-wide{
  width:auto !important;
  min-width:34px !important;
  padding:0 9px !important;
  font-size:13px !important;
}

#blog_body.blog-body-source{
  display:none !important;
}

@media(max-width:900px){
  #blogRichEditor.blog-rich-editor-word{
    min-height:650px !important;
    height:650px !important;
  }
  #blogFormatToolbar .word-toolbar-separator{
    display:none !important;
  }
}

@media(max-width:600px){
  #blogRichEditor.blog-rich-editor-word{
    min-height:500px !important;
    height:500px !important;
  }
  #blogFormatToolbar .word-font{
    width:125px !important;
  }
}

/* V76 – Blogvorschau zeigt formatierten Inhalt sauber als Text */
.blog-six-lines{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}


/* V77 – Blogkarten wieder kompakt: 2x3, kurze Vorschau */
.blog-overview-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

.blog-overview-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  height:100% !important;
  max-height:420px !important;
  overflow:hidden !important;
  border:2px solid #48b955 !important;
  border-radius:14px !important;
}

.blog-overview-image{
  width:100% !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  flex:0 0 auto !important;
}

.blog-overview-body{
  display:flex !important;
  flex-direction:column !important;
  padding:12px 14px 14px !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.blog-overview-body h2{
  margin:0 0 7px !important;
  font-size:21px !important;
  line-height:1.2 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.blog-six-lines{
  margin:7px 0 10px !important;
  font-size:13px !important;
  line-height:1.42 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:6 !important;
  overflow:hidden !important;
  max-height:calc(1.42em * 6) !important;
}

.blog-overview-card .blog-more,
.blog-overview-card .public-button{
  margin-top:auto !important;
  align-self:flex-start !important;
  flex:0 0 auto !important;
}

@media(max-width:760px){
  .blog-overview-grid{
    grid-template-columns:1fr !important;
  }
  .blog-overview-card{
    max-height:none !important;
  }
}

/* V78 – Partner/Sponsoren-Kachel Hauptschalter */
.sponsor-card-toggle{
  margin:12px 0 4px;
}


.contact-status.success{
  color:#2f963c !important;
}

.contact-status.error{
  color:#a31b1b !important;
}

.contact-partner-note{
  margin-top:18px;
  padding:13px 15px;
  border:1px solid #48b955;
  border-radius:10px;
  background:rgba(72,185,85,.05);
  display:grid;
  gap:4px;
  font-size:13px;
}

.contact-partner-note a{
  color:#2f963c;
  font-weight:800;
}

.home-goal-rich{
  margin-top:12px;
  font-weight:700;
}

/* V80 – Kontaktformular Diagnose nur bei Fehler */
.contact-tech-error{
  display:block;
  margin-top:6px;
  color:#7b1e1e;
  font-size:10px;
  line-height:1.35;
  word-break:break-word;
}
.contact-status.error a{
  color:#a31b1b;
  font-weight:800;
}


/* V86 – feste Seitenhöhe mit scrollbarem Mittelbereich */
@media (min-width: 901px){

  html,
  body{
    height:100%;
  }

  body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }

  .site-header{
    flex:0 0 auto;
  }

  .page-shell,
  .site-layout,
  .layout,
  .main-layout{
    flex:1 1 auto;
    min-height:0;
  }

  /* Hauptbereich: linke Leiste / Mitte / rechte Leiste */
  .page-shell{
    display:grid !important;
    grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(220px,260px) !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }

  .left-nav,
  .right-panel,
  .content{
    min-height:0 !important;
    height:100% !important;
    max-height:100% !important;
    box-sizing:border-box !important;
  }

  /* Linke und rechte Spalte bleiben fest stehen */
  .left-nav,
  .right-panel{
    overflow:hidden !important;
  }

  /* Nur der Mittelbereich scrollt */
  .content{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-bottom:18px !important;
  }

  /* Footer immer direkt unter den drei Spalten */
  .site-footer{
    flex:0 0 auto !important;
    margin-top:0 !important;
  }
}

/* Falls die bestehende Seite andere Wrapper-Namen nutzt, greift diese Variante ebenfalls */
@media (min-width: 901px){
  body > .page-shell{
    flex:1 1 auto !important;
    min-height:0 !important;
  }
}


/* V87 – Desktoplayout korrigiert:
   Seite endet am Footer; nur die Mitte scrollt. */
@media (min-width:901px){
  html,body{
    height:100%;
  }

  body{
    height:100vh !important;
    min-height:100vh !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }

  .site-header{
    flex:0 0 auto !important;
  }

  .mobile-menu-toggle{
    flex:0 0 auto !important;
  }

  .layout{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    align-items:stretch !important;
  }

  .left-nav,
  .right-panel{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
  }

  .content{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .site-footer{
    flex:0 0 auto !important;
    margin:0 !important;
  }
}


/* V87 – Hinweis auf den neuesten Blogbeitrag */
.latest-blog-notice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin:0 0 12px;
  padding:10px 13px;
  border:1px solid rgba(72,185,85,.65);
  border-radius:11px;
  background:rgba(248,243,234,.95);
  box-shadow:0 3px 10px rgba(20,35,20,.06);
}

.latest-blog-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#48b955;
  box-shadow:0 0 0 4px rgba(72,185,85,.12);
}

.latest-blog-copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.latest-blog-copy small{
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  color:#2f963c;
}

.latest-blog-copy strong{
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.latest-blog-copy span{
  font-size:10px;
  color:var(--muted);
}

.latest-blog-open{
  border:0;
  background:transparent;
  color:#2f963c;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

@media(max-width:650px){
  .latest-blog-notice{
    grid-template-columns:auto 1fr;
  }
  .latest-blog-open{
    grid-column:2;
    justify-self:start;
    padding:0;
  }
}


/* V88 – Seitenhöhe folgt der rechten Leiste.
   Die GESAMTE Seite scrollt bis zum Ende der rechten Leiste.
   Ist die Mitte länger, scrollt danach nur die Mitte. */
@media (min-width:901px){

  html{
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
  }

  body{
    height:auto !important;
    min-height:100vh !important;
    display:block !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  .site-header{
    position:relative !important;
  }

  .layout{
    display:grid !important;
    grid-template-columns:var(--left-w) minmax(0,1fr) var(--right-w) !important;
    align-items:stretch !important;
    min-height:0 !important;
    max-height:none !important;
    height:var(--pg-rail-height,auto);
    overflow:visible !important;
  }

  .left-nav,
  .right-panel,
  .content{
    min-height:0 !important;
    max-height:none !important;
    box-sizing:border-box !important;
  }

  /* Linke Leiste exakt so lang wie die rechte */
  .left-nav{
    height:var(--pg-rail-height,auto) !important;
    overflow:hidden !important;
  }

  /* Rechte Leiste bestimmt die Seitenlänge */
  .right-panel{
    height:var(--pg-rail-height,auto) !important;
    overflow:hidden !important;
  }

  /* Mitte bekommt dieselbe sichtbare Höhe.
     Nur wenn ihr Inhalt länger ist, besitzt sie einen eigenen Scrollbereich. */
  .content{
    height:var(--pg-rail-height,auto) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Footer liegt direkt unter dem Ende der rechten/linken Leiste */
  .site-footer{
    margin-top:0 !important;
    position:relative !important;
  }
}


/* V95 – stabiles, natürliches Seitenlayout
   Die ganze Website scrollt gemeinsam.
   Kein eigener Scrollbereich in der Mitte.
   Linke und rechte Leiste wachsen automatisch mit dem längsten Inhalt. */
@media (min-width:901px){
  html,
  body{
    height:auto !important;
    min-height:100% !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }

  body{
    display:block !important;
    min-height:100vh !important;
  }

  .layout{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    display:grid !important;
    grid-template-columns:var(--left-w) minmax(0,1fr) var(--right-w) !important;
    align-items:stretch !important;
    overflow:visible !important;
  }

  .left-nav,
  .content,
  .right-panel{
    height:auto !important;
    min-height:100% !important;
    max-height:none !important;
    overflow:visible !important;
    align-self:stretch !important;
  }

  .content{
    overflow:visible !important;
  }

  .left-nav,
  .right-panel{
    /* Die grüne Fläche läuft bis zum Ende der längsten Spalte. */
    background:linear-gradient(#075329,#063c22) !important;
  }

  .site-footer{
    position:relative !important;
    margin-top:0 !important;
  }
}

/* Mobil/Tablet: ebenfalls normales gemeinsames Seitenscrollen. */
@media (max-width:900px){
  html,body{
    overflow-y:auto !important;
  }
  .content{
    overflow:visible !important;
    height:auto !important;
    max-height:none !important;
  }
}


/* V97 – Bilder innerhalb von Blogartikeln */
.blog-full .blog-inline-image{
  display:block;
  width:auto;
  max-width:100%;
  max-height:680px;
  height:auto;
  object-fit:contain;
  margin:18px auto;
  border-radius:12px;
}

/* =========================================================
   V98 – Smartphone / iPhone responsive stabilization
   ========================================================= */
@media (max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:hidden !important;-webkit-text-size-adjust:100%;}
  body{min-width:0 !important;}
  img,video,iframe,canvas,svg{max-width:100%;height:auto;}
  .site-header.clean-final-header{
    width:100%;
    height:clamp(94px,28vw,138px) !important;
    background-size:cover !important;
    background-position:center center !important;
  }
  .clean-final-header .actions{right:8px !important;top:8px !important;}
  .clean-final-header .login{font-size:11px !important;padding:8px 10px !important;}
  .header-sound{transform:scale(.9);transform-origin:left top;}
  .utility{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) !important;height:auto !important;min-height:46px;padding:6px 10px !important;gap:6px !important;}
  .utility > *{min-width:0;}
  .utility .sound-toggle{display:none !important;}
  .searchline{width:100%;min-width:0;}
  .layout{display:flex !important;flex-direction:column !important;width:100% !important;min-width:0 !important;height:auto !important;overflow:visible !important;}
  .left-nav{
    order:1;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:7px 8px !important;
    display:flex !important;
    gap:6px;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .left-nav::-webkit-scrollbar{display:none;}
  .left-nav a{
    flex:0 0 auto;
    min-width:auto !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 12px !important;
    border-radius:8px;
    font-size:13px !important;
    line-height:1.15;
  }
  .left-nav a i{display:none !important;}
  .sidebar-search,.social-dynamic{flex:0 0 auto;}
  .sidebar-search{width:min(240px,72vw) !important;margin:0 2px !important;}
  .sidebar-search input{width:100% !important;min-width:0 !important;}
  .social-dynamic{padding:0 4px !important;align-items:center;flex-wrap:nowrap !important;}
  .content{order:2;width:100% !important;min-width:0 !important;padding:12px !important;overflow:visible !important;}
  .right-panel{order:3;width:100% !important;min-width:0 !important;padding:12px !important;overflow:visible !important;display:grid;grid-template-columns:1fr;gap:12px;}
  .right-panel > *{min-width:0;}
  .welcome,.card,.blog-card,.blog-full,.round-card,.member-card,.equipment-card{max-width:100% !important;min-width:0 !important;}
  .welcome{padding:20px 16px !important;min-height:0 !important;}
  .welcome h1{font-size:clamp(26px,8vw,36px) !important;overflow-wrap:anywhere;}
  .welcome p,.blog-full,.blog-card{font-size:15px;line-height:1.55;overflow-wrap:anywhere;word-break:normal;}
  .hero{height:auto !important;max-height:none !important;aspect-ratio:16/10;object-fit:cover;}
  .blog-full img,.blog-card img,.blog-inline-image{max-width:100% !important;width:auto !important;height:auto !important;}
  .blog-full table,.content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap;}
  input,select,textarea,button{max-width:100%;font-size:16px;}
  .player,.sponsor{width:100%;min-width:0;}
  footer,.site-footer{width:100% !important;padding:12px !important;height:auto !important;text-align:center;overflow-wrap:anywhere;}
}

@media (max-width:600px){
  .site-header.clean-final-header{height:105px !important;background-position:center center !important;}
  .clean-final-header .login{font-size:10px !important;padding:7px 9px !important;}
  .content,.right-panel{padding:10px !important;}
  .welcome{padding:18px 14px !important;}
  .card{border-radius:12px !important;}
  .left-nav a{font-size:12px !important;padding:0 10px !important;min-height:38px !important;}
  .sidebar-search{width:min(210px,70vw) !important;}
}

@media (max-width:430px){
  .site-header.clean-final-header{height:96px !important;}
  .header-sound{transform:scale(.78);}
  .clean-final-header .actions{right:5px !important;top:5px !important;}
  .content,.right-panel{padding:8px !important;}
  .welcome{padding:16px 12px !important;}
  .welcome h1{font-size:25px !important;}
}

/* =========================================================
   V99 – Blog-Fotogalerie, Klick-Vergrößerung und Datumsformat
   ========================================================= */
.blog-body-rich{line-height:1.6;overflow-wrap:anywhere;}
.blog-full .blog-inline-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}
.blog-full .blog-inline-gallery .blog-inline-image{
  display:block;
  width:100% !important;
  height:190px !important;
  max-width:none !important;
  max-height:190px !important;
  object-fit:cover !important;
  margin:0 !important;
  border-radius:10px;
  cursor:zoom-in;
}
.blog-full .blog-inline-gallery .blog-inline-image:focus{outline:3px solid currentColor;outline-offset:2px;}
@media (max-width:760px){
  .blog-full .blog-inline-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
  .blog-full .blog-inline-gallery .blog-inline-image{height:105px !important;max-height:105px !important;border-radius:7px;}
}
@media (max-width:380px){
  .blog-full .blog-inline-gallery .blog-inline-image{height:88px !important;max-height:88px !important;}
}


/* =========================================================
   V100 – Zurück-nach-oben-Pfeil für lange Blogartikel
   ========================================================= */
.blog-back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  box-shadow:0 4px 18px rgba(0,0,0,.22);
  font-size:26px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  z-index:1200;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.blog-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.blog-back-to-top:hover{transform:translateY(-2px);}
.blog-back-to-top:focus-visible{outline:3px solid currentColor;outline-offset:3px;}
@media (max-width:760px){
  .blog-back-to-top{right:14px;bottom:14px;width:46px;height:46px;font-size:24px;}
}

/* V101 – GolfMetrics by ProjektGolf */
.golfmetrics-page{
  padding:clamp(28px,2.2vw,52px);
  text-align:center;
}
.golfmetrics-page h1{
  margin:0;
  color:var(--ink);
  font-size:clamp(28px,2vw,46px);
}
.golfmetrics-page .line{
  margin-left:auto;
  margin-right:auto;
}
.golfmetrics-intro{
  max-width:760px;
  margin:18px auto 24px;
  font-size:clamp(15px,1vw,18px);
  line-height:1.65;
}
.golfmetrics-logo{
  display:block;
  width:min(100%,760px);
  height:auto;
  margin:10px auto 26px;
  border-radius:18px;
}
.golfmetrics-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
  min-height:48px;
  text-decoration:none;
  font-size:16px;
  font-weight:800;
}
@media (max-width:700px){
  .golfmetrics-page{padding:22px 14px 28px;}
  .golfmetrics-logo{width:100%;margin-bottom:20px;border-radius:12px;}
  .golfmetrics-button{width:100%;max-width:360px;min-height:50px;}
}

/* V106 – Blogübersicht: eine breite, kompakte Zeile pro Beitrag + NEU-Markierung */
.blog-overview-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

.blog-overview-card{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) !important;
  min-height:155px !important;
  height:auto !important;
  max-height:190px !important;
  overflow:hidden !important;
  border:2px solid #48b955 !important;
  border-radius:14px !important;
  background:transparent !important;
}

.blog-overview-card.has-image{
  grid-template-columns:minmax(180px, 30%) minmax(0, 1fr) !important;
}

.blog-overview-card.is-new{
  border-color:#2f963c !important;
  box-shadow:0 0 0 3px rgba(72,185,85,.12) !important;
}

.blog-overview-image{
  width:100% !important;
  height:100% !important;
  min-height:155px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  display:block !important;
}

.blog-overview-body{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  padding:12px 16px !important;
  overflow:hidden !important;
}

.blog-overview-meta{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:4px !important;
}

.blog-overview-meta small{
  margin:0 !important;
  min-width:0 !important;
}

.blog-new-badge{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:4px 9px !important;
  border-radius:999px !important;
  background:#48b955 !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  line-height:1 !important;
}

.blog-overview-body h2{
  margin:0 0 6px !important;
  font-size:21px !important;
  line-height:1.18 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:1 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.blog-six-lines{
  margin:5px 0 8px !important;
  font-size:13px !important;
  line-height:1.4 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  max-height:calc(1.4em * 3) !important;
}

.blog-overview-card .blog-more,
.blog-overview-card .public-button{
  margin-top:auto !important;
  align-self:flex-start !important;
}

@media(max-width:760px){
  .blog-overview-card{
    grid-template-columns:minmax(0,1fr) !important;
    min-height:118px !important;
    max-height:145px !important;
  }
  .blog-overview-card.has-image{
    grid-template-columns:112px minmax(0,1fr) !important;
  }
  .blog-overview-image{
    min-height:118px !important;
  }
  .blog-overview-body{
    padding:9px 10px !important;
  }
  .blog-overview-body h2{
    font-size:17px !important;
    -webkit-line-clamp:2 !important;
  }
  .blog-six-lines{
    -webkit-line-clamp:2 !important;
    max-height:calc(1.4em * 2) !important;
    font-size:12px !important;
    margin:3px 0 6px !important;
  }
  .blog-overview-meta{
    align-items:flex-start !important;
  }
  .blog-new-badge{
    padding:4px 7px !important;
    font-size:10px !important;
  }
  .blog-overview-card .blog-more,
  .blog-overview-card .public-button{
    padding:6px 9px !important;
    font-size:11px !important;
  }
}

@media(max-width:430px){
  .blog-overview-card.has-image{
    grid-template-columns:92px minmax(0,1fr) !important;
  }
  .blog-overview-meta small{
    font-size:10px !important;
    line-height:1.2 !important;
  }
  .blog-six-lines{
    display:none !important;
  }
}
