/* ==========================================================
   AKV Design F  v2.0
   Cormorant Garamond + DM Sans
   Weiss #ffffff · Schwarz #333333 · Rot #BF2D2D
   ========================================================== */

:root {
  --ci:          #BF2D2D;
  --ci-hover:    #8f1a1a;
  --accent:       #BF2D2D;
  --accent-light: #f5e8e8;
  --text:        #333333;
  --text-muted:  #777777;
  --text-light:  #aaaaaa;
  --border:      #eeeeee;
  --border-dark: #111111;
  --bg:          #ffffff;
  --bg-soft:     #f7f7f5;
  --bg-white:    #ffffff;

  --font-serif:  'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --font-sans:   'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-title:  'Muli', 'DM Sans', -apple-system, sans-serif;

  --space-xs:    8px;
  --space-s:     16px;
  --space-m:     32px;
  --space-l:     64px;
  --space-xl:    100px;
  --transition:  0.22s ease;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-sans); font-size:17px; line-height:1.7;
       color:var(--text); background:var(--bg); }
img  { display:block; max-width:100%; height:auto; }
a    { text-decoration:none; color:inherit; transition:color var(--transition); }

.container { max-width:1100px; margin:0 auto; padding:0 24px; }

.skip-link { position:absolute; top:-100px; left:24px; padding:8px 16px;
             background:var(--ci); color:#fff; font-size:13px; z-index:9999; }
.skip-link:focus { top:20px; }

/* ── HEADER ──────────────────────────────────────── */
.header { background:var(--bg); border-bottom:1.5px solid var(--ci);
           position:sticky; top:0; z-index:100; }
.header-inner { display:flex; align-items:center; justify-content:space-between;
                padding:14px 24px; }

/* Logo-Block: Bild + Titel nebeneinander */
.logo-block { display:flex; align-items:center; gap:14px;
              text-decoration:none; flex-shrink:0; flex-grow:0; order:0; }

.logo-block img,
.logo-block .custom-logo-link img,
.custom-logo-link img,
.logo-link img { max-height:48px; width:auto; display:block;
                 transition:opacity var(--transition); }

.logo-block:hover img { opacity:0.85; }

.logo-title { font-family:var(--font-title); font-size:15px; font-weight:600;
              color:var(--text); letter-spacing:0.5px; line-height:1.2;
              transition:color var(--transition); white-space:nowrap; }

.logo-block:hover .logo-title { color:var(--ci); }

@media (max-width: 480px) {
  .logo-title { display:none; }
}

.nav { display:flex; }
.menu { list-style:none; display:flex; gap:32px; }
.menu a { font-family:var(--font-sans); font-size:11px; font-weight:400;
          text-transform:uppercase; letter-spacing:2px; color:var(--text-muted);
          padding-bottom:2px; transition:color var(--transition); }
.menu a:hover,
.current-menu-item > a { color:var(--ci); border-bottom:1px solid var(--ci); }

.header-actions { display:flex; align-items:center; gap:12px; }
.search-toggle { background:none; border:none; padding:4px; cursor:pointer;
                 color:var(--text-muted); display:flex; align-items:center;
                 transition:color var(--transition); }
.search-toggle:hover { color:var(--text); }

.menu-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer;
               background:none; border:none; padding:4px; z-index:1100; }
.menu-toggle span { display:block; width:22px; height:2px; background:var(--text); }

/* SEARCH OVERLAY */
.search-overlay { position:fixed; inset:0; background:rgba(255,255,255,0.97);
                  z-index:2000; display:flex; align-items:center;
                  justify-content:center; opacity:0; pointer-events:none;
                  transition:opacity 0.2s ease; }
.search-overlay.active { opacity:1; pointer-events:all; }
.search-overlay-inner { position:relative; width:90%; max-width:600px; }
.search-overlay-inner input[type="search"] { width:100%; padding:16px 0; font-size:20px;
  font-family:var(--font-serif); font-style:italic; border:none;
  border-bottom:1.5px solid var(--text); outline:none;
  background:transparent; color:var(--text); }
.search-overlay-inner input[type="submit"] { margin-top:20px; padding:12px 32px;
  background:var(--ci); color:#fff; border:none; font-family:var(--font-sans);
  font-size:11px; text-transform:uppercase; letter-spacing:2px; cursor:pointer; }
.search-close { position:absolute; top:-44px; right:0; background:none; border:none;
                color:var(--text); font-size:28px; cursor:pointer; }

/* ── HERO B: Weiss-Editorial ──────────────────── */
.hero-b { padding:80px 0 40px;
          border-bottom:1.5px solid var(--ci); margin-bottom:40px; }

.hero-b-tag { font-family:var(--font-sans); font-size:10px; font-weight:400;
              text-transform:uppercase; letter-spacing:3px; color:var(--ci);
              margin-bottom:var(--space-m); }

.hero-b-title { font-family:var(--font-serif); font-size:96px; font-weight:300;
                font-style:italic; color:var(--text); letter-spacing:-2px;
                line-height:0.92; margin-bottom:24px; }

.hero-b-title em { font-style:normal; color:var(--ci); }

.hero-b-sub { font-family:var(--font-sans); font-size:16px; font-weight:300;
              color:var(--text); max-width:480px; line-height:1.7; }

/* ── ÜBERSCHRIFTEN H1–H6 ─────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 300;
  line-height: 1.2;
  color: var(--ci);
  margin-top: 0;
}

h1 { font-size: 40px; font-style: italic; letter-spacing: -0.5px; margin-bottom: var(--space-m); }
h2 { font-size: 32px; font-style: italic; letter-spacing: -0.5px; margin-bottom: 20px; }
h3 { font-size: 24px; font-style: italic; margin-bottom: 12px; }
h4 { font-size: 19px; font-weight: 400; font-style: normal; margin-bottom: 10px; }
h5 { font-size: 16px; font-weight: 400; font-style: normal; margin-bottom: 8px; }
h6 { font-size: 13px; font-weight: 400; font-style: normal; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 8px; }

.section-link { margin-top:var(--space-m); text-align:right; }

/* ── EVENT-REIHE ──────────────────────────────── */
.event-row { display:flex; align-items:center; gap:28px;
             border-bottom:1px solid var(--border); }

/* Klickbarer Hauptbereich: Datum + Bild + Text */
.event-row-inner { display:flex; align-items:center; gap:28px;
                   flex:1 1 auto; min-width:0; text-decoration:none; }

.event-row-date { display:flex; flex-direction:column; align-items:center;
                  flex-shrink:0; width:110px; padding:24px 0; cursor:pointer; }

.event-row-day { font-family:var(--font-serif); font-size:36px; font-weight:300;
                 color:var(--ci); line-height:1; white-space:nowrap; letter-spacing:-1px; }

.event-row-month { font-family:var(--font-sans); font-size:10px; text-transform:uppercase;
                   letter-spacing:2px; color:var(--text-light); margin-top:4px; }

.event-row-thumb { overflow:hidden; width:80px; height:80px; flex-shrink:0; cursor:pointer; }
.event-row-thumb img { width:100%; height:100%; object-fit:cover;
                       transition:transform 0.4s ease; }
.event-row:hover .event-row-thumb img { transform:scale(1.06); }

.event-row-body { padding:24px 0; cursor:pointer; flex:1 1 auto; min-width:0; }

.event-row-title { font-family:var(--font-serif); font-size:24px; font-weight:400;
                   color:var(--ci); line-height:1.25; margin-bottom:6px;
                   transition:color var(--transition); }
.event-row:hover .event-row-title { color:var(--ci); }

.event-row-meta { font-family:var(--font-sans); font-size:13px;
                  color:var(--text-muted); font-weight:300; line-height:1.5; }

.event-anmelden-btn { font-family:var(--font-sans); display:inline-block;
  padding:10px 22px; border:1px solid var(--ci); color:var(--ci);
  font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:2px;
  white-space:nowrap; flex-shrink:0; transition:all var(--transition); }
.event-anmelden-btn:hover { background:var(--ci); color:var(--bg); }

/* ── KÜNSTLER-REIHE ───────────────────────────── */
.artist-row { display:grid; grid-template-columns:96px 1fr 28px;
              gap:28px; align-items:center; padding:20px 0;
              border-bottom:1px solid var(--border);
              transition:transform var(--transition); text-decoration:none; }
.artist-row:hover { transform:translateX(6px); }

.artist-row-image { width:96px; height:96px; overflow:hidden; }
.artist-row-image img { width:100%; height:100%; object-fit:cover;
                        transition:transform 0.4s ease; }
.artist-row:hover .artist-row-image img { transform:scale(1.06); }

.artist-row-placeholder { width:96px; height:96px; background:#f0f0f0;
  display:flex; align-items:center; justify-content:center; }
.artist-row-placeholder span { font-family:var(--font-serif); font-size:40px;
  font-style:italic; color:var(--ci); }

.artist-row-disziplin { font-family:var(--font-sans); font-size:10px;
  text-transform:uppercase; letter-spacing:2px; color:var(--ci); margin-bottom:4px; }

.artist-row-name { font-family:var(--font-serif); font-size:26px; font-weight:400;
  font-style:italic; color:var(--ci); line-height:1.2;
  transition:color var(--transition); }
.artist-row:hover .artist-row-name { color:var(--ci); }

.artist-row-werk { font-family:var(--font-sans); font-size:13px;
  color:var(--text-light); font-weight:300; margin-top:4px; }

.artist-row-arrow { font-size:20px; color:var(--ci); opacity:0;
  transition:opacity var(--transition); justify-self:end; }
.artist-row:hover .artist-row-arrow { opacity:1; }

/* ── TRENNLINIE ──────────────────────────── */
.f-divider { height:1.5px; background:var(--ci); margin:40px 0; }

/* ── FOOTER ───────────────────────────────────── */
.footer.footer-b { background:#f5f5f3; margin-top:var(--space-xl);
                   padding:60px 0 32px; }

.footer-b-inner { display:grid; grid-template-columns:1fr 1fr 1fr;
  align-items:start; gap:40px; margin-bottom:48px; }

.footer-b-left { display:flex; flex-direction:column; gap:10px; }
.footer-b-wordmark { font-family:var(--font-serif); font-size:13px; font-weight:300;
  font-style:italic; color:var(--ci); letter-spacing:2px; }
.footer-b-name { font-family:var(--font-sans); font-size:11px; font-weight:300;
  text-transform:uppercase; letter-spacing:3px; color:var(--text-muted); }
.footer-b-social { font-family:var(--font-sans); font-size:11px; font-weight:300;
  color:var(--text-muted); transition:color var(--transition); }
.footer-b-social:hover { color:var(--ci); }


.footer-b-address { font-family:var(--font-sans); font-size:12px; font-weight:300;
  color:var(--text-muted); line-height:1.9; text-align:center; justify-self:center; }
.footer-b-right { display:flex; flex-direction:column; gap:12px; align-items:flex-end; justify-self:end; }
.footer-b-right a { font-family:var(--font-sans); font-size:11px; font-weight:400;
  text-transform:uppercase; letter-spacing:2px; color:var(--text-muted);
  border-bottom:1px solid transparent; padding-bottom:2px;
  transition:color var(--transition), border-color var(--transition); }
.footer-b-right a:hover { color:var(--ci); border-bottom-color:var(--ci); }

.footer-b-bottom { border-top:1.5px solid var(--ci); padding-top:24px; }
.footer-b-bottom p { font-family:var(--font-sans); font-size:11px;
  color:var(--text-light); font-weight:300; }

/* ── BACK LINK ────────────────────────────────── */
.back-link { font-family:var(--font-sans); font-size:11px; font-weight:400;
  text-transform:uppercase; letter-spacing:2px; color:var(--text-muted);
  border-bottom:1px solid transparent; padding-bottom:2px;
  transition:color var(--transition), border-color var(--transition); }
.back-link:hover { color:var(--ci); border-bottom-color:var(--ci); }

/* ── SINGLE EVENT ─────────────────────────────── */
.event-single { max-width:860px; padding-top:var(--space-l); }
.event-single-image { margin-bottom:var(--space-l); }
.event-single-image img { width:100%; }
.event-single-title { font-family:var(--font-serif); font-size:72px; font-weight:300;
  font-style:italic; color:var(--ci); letter-spacing:-1.5px; line-height:1.02;
  margin-bottom:20px; }
.event-single-meta { font-family:var(--font-sans); font-size:12px; font-weight:300;
  color:var(--text-light); text-transform:uppercase; letter-spacing:2px;
  margin-bottom:var(--space-l); }
.event-single-content { font-size:19px; line-height:1.9; color:var(--text);
  max-width:680px; font-family:var(--font-sans); font-weight:300; }
.event-single-content p { margin-bottom:24px; }

.event-ticket-btn { display:inline-block; margin-top:40px; padding:14px 40px;
  border:1px solid var(--ci); color:var(--ci); font-family:var(--font-sans);
  font-size:11px; text-transform:uppercase; letter-spacing:2px;
  transition:all var(--transition); }
.event-ticket-btn:hover { background:var(--ci); color:var(--bg); }

/* ANMELDEFORMULAR */
.anmelde-wrap { margin-top:72px; padding-top:56px; border-top:1px solid var(--border);
                max-width:600px; scroll-margin-top:40px; }
.anmelde-title { font-family:var(--font-serif); font-size:38px; font-weight:300;
  font-style:italic; color:var(--ci); margin-bottom:36px; }
.anmelde-erfolg { padding:20px 24px; background:#fff8f8;
  border-left:3px solid var(--accent); color:var(--text); font-size:15px; line-height:1.6; }
.anmelde-form { display:flex; flex-direction:column; }
.anmelde-field { display:grid; grid-template-columns:160px 1fr; align-items:center;
  border-bottom:1px solid var(--border); }
.anmelde-field:first-of-type { border-top:1px solid var(--border); }
.anmelde-field label { font-family:var(--font-sans); font-size:11px; font-weight:400;
  text-transform:uppercase; letter-spacing:1.5px; color:var(--text); padding:16px 0; }
.anmelde-field input,
.anmelde-field textarea { font-family:var(--font-sans); font-size:16px; font-weight:300;
  color:var(--text); background:transparent; border:none;
  border-left:1px solid var(--border); padding:14px 18px; outline:none;
  width:100%; -webkit-appearance:none; appearance:none; border-radius:0;
  transition:background var(--transition); }
.anmelde-field input:focus,
.anmelde-field textarea:focus { background:#fafafa; }
.anmelde-field input::placeholder,
.anmelde-field textarea::placeholder { color:var(--text-light); }
.anmelde-field textarea { resize:vertical; min-height:90px; line-height:1.6;
  align-self:stretch; padding-top:16px; }
.anmelde-field input[type="number"] { max-width:100px; }
.anmelde-field--textarea { align-items:start; }
.anmelde-field--textarea label { padding-top:18px; }
.anmelde-submit { margin-top:28px; display:flex; align-items:center; gap:24px;
  flex-wrap:wrap; }
.anmelde-btn { font-family:var(--font-sans); font-size:11px; font-weight:400;
  text-transform:uppercase; letter-spacing:2px; color:var(--bg);
  background:var(--ci); border:none; padding:14px 36px; cursor:pointer;
  transition:background var(--transition); }
.anmelde-btn:hover { background:var(--ci-hover); }
.anmelde-hinweis { font-size:13px; color:var(--text-muted); font-weight:300; }
.anmelde-hinweis a { color:var(--ci); border-bottom:1px solid transparent; }
.anmelde-hinweis a:hover { border-bottom-color:var(--ci); }

/* PREV/NEXT */
.event-nav { display:flex; justify-content:space-between; gap:20px;
  margin-top:80px; padding-top:40px; border-top:1px solid var(--border); }
.event-nav-link { font-family:var(--font-sans); font-size:12px; color:var(--text-muted);
  max-width:45%; font-weight:300; transition:color var(--transition); }
.event-nav-link:hover { color:var(--ci); }
.event-nav-next { text-align:right; margin-left:auto; }

/* ARCHIV */
.archive-title { font-family:var(--font-serif); font-size:60px; font-weight:300;
  font-style:italic; color:var(--ci); letter-spacing:-1px; margin:72px 0 48px; }
.archive-intro { font-size:16px; color:var(--text-muted); margin-top:-30px;
                  margin-bottom:var(--space-l); }
.archive-alt-link { font-family:var(--font-sans); font-size:11px; font-weight:400;
                     letter-spacing:2px; text-transform:uppercase; color:var(--ci);
                     text-decoration:none; margin-left:16px; white-space:nowrap; }
.archive-alt-link:hover { border-bottom:1px solid var(--ci); }
                  margin-bottom:var(--space-l); }

  margin-bottom:var(--space-l); font-weight:300; }
.archive-year { margin-bottom:var(--space-l); }
.archive-year-title { font-family:var(--font-serif); font-size:52px; font-weight:300;
  font-style:italic; color:var(--ci); letter-spacing:-1.5px; line-height:1;
  margin-bottom:var(--space-xs); }
.archive-month { margin-bottom:var(--space-m); padding-left:20px;
  border-left:1px solid var(--accent-light); }
.archive-month-title { font-family:var(--font-sans); font-size:10px; font-weight:400;
  text-transform:uppercase; letter-spacing:3px; color:var(--text-light); margin-bottom:12px; }
.archive-event { display:grid; grid-template-columns:44px 1fr; gap:16px;
  align-items:center; padding:12px 0; border-bottom:1px solid var(--border);
  transition:transform var(--transition); }
.archive-event:hover { transform:translateX(6px); }
.archive-event-day { font-family:var(--font-serif); font-size:24px; font-weight:300;
  font-style:italic; color:var(--ci); }
.archive-event-thumb { display:none; }
.archive-event-thumb img { width:56px; height:56px; object-fit:cover; }
.archive-event-title { font-family:var(--font-serif); font-size:18px; font-weight:400;
  color:var(--ci); transition:color var(--transition); }
.archive-event:hover .archive-event-title { color:var(--ci); }
.archive-event-loc { font-family:var(--font-sans); font-size:12px; color:var(--text-light);
  font-weight:300; }

/* PAGINATION */
.pagination { margin:64px 0 32px; }
.pagination .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.pagination a, .pagination .current { font-family:var(--font-sans); font-size:11px;
  text-transform:uppercase; letter-spacing:2px; padding:7px 13px;
  border:1px solid var(--border); color:var(--text-muted);
  transition:all var(--transition); }
.pagination a:hover { border-color:var(--ci); color:var(--ci); }
.pagination .current { background:var(--ci); color:var(--bg); border-color:var(--ci); }

/* ── SEITEN ────────────────────────────────────────── */
.page-header { margin:56px 0 32px; }
.page-title {
  font-family: var(--font-serif);
  font-size: 40px;
  font-weight: 300;
  font-style: italic;
  color: var(--ci);
  letter-spacing: -0.5px;
  line-height: 1.1;
}

/* Gemeinsame Basis für allen Seiten-Inhalt */
.page-content {
  max-width: 820px;
  font-size: 17px;
  line-height: 1.85;
  color: var(--text);
  font-weight: 400;
}
.page-content h2 {
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 300;
  font-style: italic;
  color: var(--ci);
  margin-top: 48px;
  margin-bottom: 14px;
}
.page-content h3 {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 400;
  color: var(--ci);
  margin-top: 32px;
  margin-bottom: 10px;
}
.page-content p        { margin-bottom: 20px; }
.page-content ul,
.page-content ol       { margin: 0 0 20px 24px; }
.page-content li       { margin-bottom: 6px; }
.page-content a        { color: var(--ci); border-bottom: 1px solid transparent; }
.page-content a:hover  { border-bottom-color: var(--ci); }
.page-content a.back-link       { color: var(--text-muted); }
.page-content a.back-link:hover { color: var(--ci); border-bottom-color: var(--ci); }
.page-content strong   { font-weight: 600; }

/* ── FIELD LABEL (z.B. "Präsident", "Kassier" in Kontaktlisten) ── */
.field-label {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--text-muted);
}

/* Importierte Seiten von alter Website (SiteOrigin Page Builder) */
.akv-prose                      { max-width:820px; }

/* Bilder */
.akv-prose img                  { max-width:100% !important; height:auto !important;
                                   display:block !important; margin:20px 0 !important; }
.akv-prose figure               { margin:24px 0 !important; }
.akv-prose figcaption,
.akv-prose .wp-caption-text     { font-family:var(--font-sans) !important; font-size:12px !important;
                                   color:var(--text-muted) !important; font-style:italic !important;
                                   margin-top:6px !important; text-align:left !important; }
.akv-prose .wp-caption          { max-width:100% !important; }

/* SiteOrigin: Jahres-Trennzeilen (widget-title in h3) */
.akv-prose .widget-title,
.akv-prose h3.widget-title      { font-family:var(--font-serif) !important;
                                   font-size:32px !important; font-weight:300 !important;
                                   font-style:italic !important; color:var(--ci) !important;
                                   margin-top:48px !important; margin-bottom:16px !important;
                                   padding:0 !important; background:none !important;
                                   border-bottom:1px solid var(--border) !important; }

/* H2 (Haupttitel pro Eintrag, z.B. "Wasserschloss Bottmingen") */
.akv-prose h2                   { font-family:var(--font-serif) !important;
                                   font-size:22px !important; font-weight:300 !important;
                                   font-style:italic !important; color:var(--ci) !important;
                                   margin-top:32px !important; margin-bottom:8px !important;
                                   padding:0 !important; background:none !important;
                                   border:none !important; text-transform:none !important; }

/* H3 (Unter-Überschriften in Berichten) */
.akv-prose h3:not(.widget-title) { font-family:var(--font-serif) !important;
                                   font-size:19px !important; font-weight:400 !important;
                                   font-style:normal !important; color:var(--ci) !important;
                                   margin-top:28px !important; margin-bottom:8px !important;
                                   padding:0 !important; background:none !important; }

/* H4 */
.akv-prose h4                   { font-family:var(--font-serif) !important;
                                   font-size:17px !important; font-weight:400 !important;
                                   color:var(--ci) !important; margin-top:20px !important;
                                   margin-bottom:6px !important; padding:0 !important; }

/* H5 (Event-Titel, z.B. "Kleine Welten – Grosse Geschichten") */
.akv-prose h5                   { font-family:var(--font-serif) !important;
                                   font-size:17px !important; font-weight:300 !important;
                                   font-style:italic !important; color:var(--ci) !important;
                                   margin-top:4px !important; margin-bottom:4px !important;
                                   padding:0 !important; background:none !important;
                                   border:none !important; text-transform:none !important;
                                   letter-spacing:normal !important; }
.akv-prose h5 strong,
.akv-prose h5 b                 { font-weight:300 !important; }

/* H6 */
.akv-prose h6                   { font-family:var(--font-sans) !important;
                                   font-size:11px !important; font-weight:400 !important;
                                   letter-spacing:2px !important; text-transform:uppercase !important;
                                   color:var(--text-muted) !important; margin-top:16px !important;
                                   margin-bottom:4px !important; padding:0 !important; }

/* Datum-Zeilen (plain text vor H2/H5, kein Tag) */
.akv-prose .siteorigin-widget-tinymce > p:first-child,
.akv-prose .textwidget > p:first-child { font-family:var(--font-sans) !important;
                                   font-size:11px !important; font-weight:400 !important;
                                   letter-spacing:2px !important; text-transform:uppercase !important;
                                   color:var(--text-muted) !important; margin-bottom:4px !important; }

/* Fliesstext */
.akv-prose p                    { font-family:var(--font-sans) !important;
                                   font-size:16px !important; line-height:1.75 !important;
                                   color:var(--text) !important; margin-bottom:14px !important; }
.akv-prose strong,
.akv-prose b                    { font-weight:600 !important; }
.akv-prose em,
.akv-prose i                    { font-style:italic !important; }
.akv-prose a                    { color:var(--ci) !important; text-decoration:none !important; }
.akv-prose a:hover              { border-bottom:1px solid var(--ci) !important; }

/* SiteOrigin Panel-Layout → sauber stapeln */
.akv-prose .panel-layout,
.akv-prose .panel-grid,
.akv-prose .panel-grid-cell,
.akv-prose .so-panel,
.akv-prose .so-widget-sow-editor,
.akv-prose .siteorigin-widget-tinymce,
.akv-prose .textwidget           { display:block !important; width:100% !important;
                                   float:none !important; padding:0 !important;
                                   margin-left:0 !important; margin-right:0 !important; }

/* SiteOrigin Widget-Shortcodes ausblenden */
.akv-prose input[type="hidden"] { display:none !important; }

/* Trennlinie zwischen Einträgen */
.akv-prose .so-panel            { border-bottom:1px solid #eeeeee !important;
                                   padding-bottom:24px !important;
                                   margin-bottom:8px !important; }
.akv-prose .so-panel:last-child { border-bottom:none !important; }

/* Legal-Seiten (Datenschutz, Impressum): volle Breite, kompaktere Schrift */
.legal-content {
  max-width: 100%;
  font-size: 15px;
  line-height: 1.8;
}
.legal-content h2 { font-size: 18px; margin-top: 40px; }
.legal-content h3 { font-size: 15px; margin-top: 26px; font-style: normal; }
.legal-back { margin: 60px 0 40px; }

/* SINGLE ARTIST */
.artist-single { max-width:860px; padding-top:var(--space-l); }
.artist-single-inner { display:grid; grid-template-columns:300px 1fr;
  gap:64px; align-items:start; margin-top:48px; }
.artist-single-image img { width:100%; }
.artist-single-title { font-family:var(--font-serif); font-size:52px; font-weight:300;
  font-style:italic; color:var(--ci); letter-spacing:-1px; margin:0 0 12px; }
.artist-single-diz { font-family:var(--font-sans); font-size:11px; font-weight:400;
  text-transform:uppercase; letter-spacing:2px; color:var(--ci); margin-bottom:36px; }
.artist-single-content { font-size:18px; line-height:1.9; font-weight:300; }
.artist-single-content p { margin-bottom:24px; }

/* SUCHE + 404 */
.search-header, .page-404 { max-width:680px; padding-top:var(--space-l); }
.search-empty { color:var(--text-muted); font-size:17px; padding:48px 0; font-weight:300; }
.page-404 { text-align:center; padding:120px 0; }
.page-404-code { font-family:var(--font-serif); font-size:140px; font-weight:300;
  font-style:italic; color:var(--accent-light); line-height:1; }
.page-404-title { font-family:var(--font-serif); font-size:36px; font-weight:300;
  font-style:italic; color:var(--ci); margin:0 0 16px; }
.page-404-text { font-size:17px; color:var(--text-muted); font-weight:300;
  max-width:420px; margin:0 auto 44px; line-height:1.7; }
.page-404-btn { display:inline-block; padding:14px 40px; border:1px solid var(--ci);
  color:var(--ci); font-family:var(--font-sans); font-size:11px;
  text-transform:uppercase; letter-spacing:2px; transition:all var(--transition); }
.page-404-btn:hover { background:var(--ci); color:var(--bg); }

/* FACEBOOK */
.fb-feed-wrap { margin:16px 0; overflow:hidden; }
.fb-notice { color:var(--text-muted); font-style:italic; padding:18px;
  border:1px dashed var(--border); font-weight:300; }

/* ── MOBILE ───────────────────────────────────── */
@media (max-width: 768px) {
  .header-inner { padding:14px 20px; }
  .menu-toggle { display:flex; }
  .nav { position:fixed; top:0; right:-100%; width:260px; height:100%;
         background:var(--bg); padding:88px 24px 40px;
         transition:right 0.28s ease; border-left:1px solid var(--border); z-index:1000; }
  body.menu-open .nav { right:0; }
  .menu { flex-direction:column; gap:20px; }
  .menu a { font-size:13px; }

  .hero-b-title { font-size:56px; }
  .hero-b { padding:56px 0 32px; }
  .admin-bar .hero-b { padding-top:86px; }
  .event-row { flex-wrap:wrap; gap:0 16px; padding:18px 0; }
  .event-row-inner { gap:16px; }
  .event-row-thumb { display:none; }
  .event-row-date { width:56px; padding:0; }
  .event-row-day { font-size:30px; }
  .event-row-body { padding:0; }
  .event-row-title { font-size:19px; }
  .event-anmelden-btn { width:100%; text-align:center; padding:12px; margin:14px 0 4px; }

  .artist-row { grid-template-columns:72px 1fr 20px; gap:16px; padding:16px 0; }
  .artist-row-image, .artist-row-placeholder { width:72px; height:72px; }
  .artist-row-name { font-size:20px; }

  .event-single-title { font-size:44px; }
  .archive-title { font-size:40px; margin:48px 0 28px; }
  .archive-year-title { font-size:34px; }
  .archive-event { grid-template-columns:38px 1fr; }
  .archive-event-thumb { display:none; }
  .artist-single-inner { grid-template-columns:1fr; gap:28px; }
  .artist-single-title { font-size:38px; }
  .page-title { font-size:28px; }
  .event-nav { flex-direction:column; gap:12px; }
  .event-nav-next { text-align:left; margin-left:0; }
  .footer-b-inner { grid-template-columns:1fr; gap:24px; }
  .footer-b-address { text-align:left; justify-self:start; }
  .footer-b-right { align-items:flex-start; justify-self:start; }
  .anmelde-field { grid-template-columns:1fr; }
  .anmelde-field label { padding:12px 0 4px; }
  .anmelde-field input, .anmelde-field textarea {
    border-left:none; border-top:1px solid var(--border); padding:10px 0; }
  .anmelde-submit { flex-direction:column; align-items:stretch; }
  .anmelde-btn { width:100%; text-align:center; }
}

/* ── VEREIN-TEASER ────────────────────────────── */
.verein-teaser { margin-bottom:0; }

main section { padding-top:32px; }
main section:first-child { padding-top:0; }

.verein-teaser-inner {
  display:grid;
  grid-template-columns: 1fr auto;
  gap:40px;
  align-items:end;
  padding-bottom:var(--space-m);
}

.verein-teaser-text {
  font-family:var(--font-sans);
  font-size:17px;
  font-weight:300;
  color:var(--text);
  line-height:1.7;
  max-width:640px;
  margin-bottom:16px;
}

.verein-teaser-link {
  font-family:var(--font-sans);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--text-muted);
  white-space:nowrap;
  border-bottom:1px solid transparent;
  transition:color var(--transition), border-color var(--transition);
  padding-bottom:2px;
  flex-shrink:0;
}

.verein-teaser-link:hover {
  color:var(--ci);
  border-bottom-color:var(--ci);
}

@media (max-width:768px) {
  .verein-teaser-inner {
    grid-template-columns:1fr;
    gap:16px;
  }
  .verein-teaser-text { font-size:18px; }
}

/* ── MITGLIEDER-FORMULAR ─────────────────────── */
.mitglied-wrap {
  margin-top: var(--space-l);
  scroll-margin-top: 40px;
}

.mitglied-title {
  font-family: var(--font-serif);
  font-size: 38px;
  font-weight: 300;
  font-style: italic;
  color: var(--ci);
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}

.mitglied-intro {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 300;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: var(--space-m);
}

/* Vorname + Nachname nebeneinander */
.mitglied-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.mitglied-row .anmelde-field:first-child {
  border-right: none;
}

@media (max-width: 768px) {
  .mitglied-row {
    grid-template-columns: 1fr;
  }
  .mitglied-row .anmelde-field:first-child {
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
}

/* Select-Feld im Mitglieder-Formular */
.anmelde-field select {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 300;
  color: var(--text);
  background: transparent;
  border: none;
  border-left: 1px solid var(--border);
  padding: 14px 18px;
  outline: none;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aaaaaa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 44px;
}

.anmelde-field select:focus {
  background-color: #fafafa;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BF2D2D' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Admin-Bar Kompensation */
.admin-bar .hero-b { padding-top:88px; }

/* ── KÜNSTLER 2-SPALTEN ──────────────────────────── */
.artists-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}

@media (max-width: 768px) {
  .artists-2col { grid-template-columns: 1fr; }
}

/* ── KÜNSTLER KONTAKT-LINKS ──────────────────────── */
.artist-single-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.artist-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--transition);
}

.artist-link:hover { color: var(--ci); }

/* ── KÜNSTLER GALERIE ────────────────────────────── */
.artist-galerie {
  margin-top: var(--space-l);
  padding-top: var(--space-l);
  border-top: 1px solid var(--border);
}

.artist-galerie-title {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 300;
  font-style: italic;
  color: var(--ci);
  margin-bottom: var(--space-m);
}

.artist-galerie-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.artist-galerie-item {
  margin: 0;
}

.artist-galerie-item a {
  display: block;
  overflow: hidden;
  aspect-ratio: 1;
}

.artist-galerie-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.artist-galerie-item a:hover img {
  transform: scale(1.04);
}

.artist-galerie-item figcaption {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--text-light);
  margin-top: 6px;
  font-weight: 300;
}

@media (max-width: 768px) {
  .artist-galerie-grid { grid-template-columns: repeat(2, 1fr); }
  .artist-single-links { margin-top: 20px; }
}

/* ── GALERIE CAPTION MIT BILDDETAILS ─────────────── */
.artist-galerie-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.artist-galerie-item {
  margin: 0;
}

.artist-galerie-img-link {
  display: block;
  overflow: hidden;
}

.artist-galerie-img-link img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.artist-galerie-img-link:hover img { transform: scale(1.04); }

.artist-galerie-caption {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 0 4px;
  border-bottom: 1px solid var(--border);
}

.agc-titel {
  font-family: var(--font-serif);
  font-size: 15px;
  font-style: italic;
  color: var(--text);
  font-weight: 400;
}

.agc-meta {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 300;
}

.agc-preis {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--ci);
  margin-top: 4px;
}

@media (max-width: 768px) {
  .artist-galerie-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .artist-galerie-img-link img { height: 160px; }
}

/* ── ARCHIV ZUSATZ ── */

.archive-link { margin-top:var(--space-l); }

.archive-empty { font-size:16px; color:var(--text-muted); padding:var(--space-m) 0; }

/* Seiteninhalt im Archiv (importierte Blöcke) */
.archive-page-content { margin-bottom:var(--space-l);
                         padding-bottom:var(--space-l);
                         border-bottom:1px solid var(--border); }

/* SiteOrigin panels: Trennlinie pro Eintrag */
.archive-page-content .so-panel { border-bottom:1px solid #eeeeee;
                                    padding:20px 0; margin:0; }
.archive-page-content .so-panel:last-child { border-bottom:none; }

/* Alte Artikel: Jahres-Accordion */
.alte-artikel-accordion { max-width:820px; margin:0 auto; }
.jahr-block { border-bottom:1px solid var(--border); }
.jahr-block:first-of-type { border-top:1.5px solid var(--ci); }
.jahr-block summary { font-family:var(--font-serif); font-size:28px; font-weight:400;
  color:var(--text); padding:22px 4px; cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between;
  transition:color var(--transition); }
.jahr-block summary::-webkit-details-marker { display:none; }
.jahr-block summary::after { content:"+"; font-family:var(--font-sans);
  font-size:22px; font-weight:300; color:var(--ci); margin-left:16px;
  transition:transform var(--transition); }
.jahr-block[open] summary::after { transform:rotate(45deg); }
.jahr-block summary:hover { color:var(--ci); }
.jahr-inhalt { padding:0 4px 32px; }
.artikel-eintrag { padding:18px 0; border-bottom:1px solid var(--border); }
.artikel-eintrag:last-child { border-bottom:none; }
.artikel-datum { font-family:var(--font-sans); font-size:11px; font-weight:400;
  text-transform:uppercase; letter-spacing:1.5px; color:var(--text-light);
  margin:0 0 6px; }
.artikel-titel { font-family:var(--font-serif); font-size:19px; font-weight:400;
  color:var(--text); margin:0 0 6px; }
.artikel-text { font-family:var(--font-sans); font-size:14px; font-weight:300;
  line-height:1.7; color:var(--text-muted); margin:0 0 8px; }
.artikel-pdf a { font-family:var(--font-sans); font-size:12px; font-weight:400;
  color:var(--ci); text-decoration:none; border-bottom:1px solid transparent;
  transition:border-color var(--transition); }
.artikel-pdf a:hover { border-bottom-color:var(--ci); }

@media (max-width:640px) {
  .jahr-block summary { font-size:22px; padding:18px 2px; }
  .artikel-titel { font-size:17px; }
}

/* Überschriften (Jahres-Titel) */
.archive-page-content .widget-title,
.archive-page-content h3.widget-title { font-family:var(--font-serif);
                                          font-size:28px; font-weight:300; font-style:italic;
                                          color:var(--ci); margin:32px 0 4px;
                                          padding-bottom:8px;
                                          border-bottom:1px solid var(--border); }

/* H5: Event-Titel */
.archive-page-content h5 { font-family:var(--font-serif); font-size:17px;
                             font-weight:300; font-style:italic; color:var(--ci);
                             margin:0 0 4px; }
.archive-page-content h5 strong,
.archive-page-content h5 b { font-weight:300; }

/* Datum-Zeilen (plain text) */
.archive-page-content p:first-child { font-family:var(--font-sans); font-size:11px;
                                        letter-spacing:2px; text-transform:uppercase;
                                        color:var(--text-muted); margin-bottom:4px; }

/* Fliesstext */
.archive-page-content p  { font-family:var(--font-sans); font-size:15px;
                             line-height:1.7; color:var(--text); margin-bottom:10px; }

/* Bilder */
.archive-page-content img { max-width:100%; height:auto; display:block; margin:14px 0; }

/* Links allgemein: dezent */
.archive-page-content a  { color:var(--text-muted); text-decoration:none;
                             font-size:11px; letter-spacing:1px;
                             border-bottom:1px solid transparent; }
.archive-page-content a:hover { color:var(--ci); border-bottom-color:var(--ci); }

/* H5-Links (Kategorie-Links aus SiteOrigin) */
.archive-page-content h5 a { color:var(--ci); font-size:inherit;
                               letter-spacing:normal; font-style:italic; }
.archive-page-content h5 a:hover { border-bottom-color:var(--ci); }

/* Archiv-Tabs */
.archive-tabs { display:flex; gap:0; margin-bottom:var(--space-l);
                border-bottom:2px solid var(--border); }
.archive-tab  { font-family:var(--font-sans); font-size:11px; font-weight:400;
                letter-spacing:2px; text-transform:uppercase; color:var(--text-muted);
                background:none; border:none; padding:12px 24px 10px; cursor:pointer;
                border-bottom:2px solid transparent; margin-bottom:-2px;
                transition:color .2s; }
.archive-tab:hover  { color:var(--text); }
.archive-tab.active { color:var(--ci); border-bottom-color:var(--ci); }

/* Archiv-Panel */
.archive-panel--hidden { display:none; }

/* Blog-Post im Archiv */
.archive-post { display:grid; grid-template-columns:120px 1fr; gap:20px;
                align-items:start; padding:20px 0;
                border-bottom:1px solid var(--border);
                text-decoration:none; color:inherit; transition:transform .2s; }
.archive-post:hover { transform:translateX(6px); }
.archive-post-thumb img { width:120px; height:80px; object-fit:cover; display:block; }
.archive-post-info { display:flex; flex-direction:column; gap:4px; }
.archive-post-date  { font-family:var(--font-sans); font-size:10px; font-weight:400;
                      letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
.archive-post-title { font-family:var(--font-serif); font-size:20px; font-weight:400;
                      color:var(--text); line-height:1.3; }
.archive-post:hover .archive-post-title { color:var(--ci); }
.archive-post-excerpt { font-family:var(--font-sans); font-size:13px;
                        color:var(--text-muted); line-height:1.6; }

/* ── EVENT PDF DOWNLOAD BUTTON ───────────────────── */
.event-pdf-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  padding-bottom: 3px;
  transition: color var(--transition), border-color var(--transition);
}
.event-pdf-btn:hover {
  color: var(--ci);
  border-bottom-color: var(--ci);
}


/* ── EVENT DATUMSBEREICH (monatsübergreifend) ──────── */
.event-row-day--range {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  line-height: 1.1;
}

.event-row-range-from,
.event-row-range-to {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 300;
  color: var(--ci);
  white-space: nowrap;
}

.event-row-range-mon {
  font-family: var(--font-sans);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-light);
}

.event-row-range-sep {
  font-size: 12px;
  color: var(--text-light);
  line-height: 1;
  margin: 1px 0;
}
