/* Design v2: Abweichungen vom Prototyp, die nur WordPress braucht.
   v2.css bleibt unverändert, damit neue Prototyp-Versionen einspielbar sind. */

/* Admin-Leiste: feste Elemente rutschen darunter */
body.admin-bar .pbar{top:32px}
body.admin-bar header#hdr{top:calc(var(--pb,0px) + 32px)}
@media (max-width:782px){
  body.admin-bar .pbar{top:46px}
  body.admin-bar header#hdr{top:calc(var(--pb,0px) + 46px)}
}

/* Editor-Inhalt bestehender Events und Beiträge im neuen Layout */
.wpprose{color:var(--text);font-size:16px;line-height:1.6}
.wpprose>*+*{margin-top:1em}
.wpprose h2,.wpprose h3,.wpprose h4{color:var(--ink);font-weight:600;line-height:1.25;margin-top:1.6em}
.wpprose h2{font-size:22px}.wpprose h3{font-size:18px}.wpprose h4{font-size:16px}
.wpprose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.wpprose ul,.wpprose ol{padding-left:1.3em}
.wpprose ul{list-style:disc}.wpprose ol{list-style:decimal}
.wpprose img{max-width:100%;height:auto;border-radius:12px}

/* Shop: echte Artikelfotos statt Titelentwurf. Lädt das Foto nicht, entfernt ein
   onerror-Handler es und der Titelentwurf des Prototyps bleibt stehen. */
.shimg .shphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;z-index:1}

/* Blätter-Links unter den Wissen-Listen */
.arpager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;margin-top:64px}
.arpager .btn{margin:0}
.arpage{font-size:15px;color:var(--text)}

/* Textseiten (v2/page.php): Abstand unten wie die Rechtstexte im Prototyp, etwas breiterer Lesebereich */
.wptext{padding-bottom:20px}
.wptext.lgwrap{max-width:640px}

/* Die Beitragsreihen der Startseite ragen auf dem Handy um die Seitenränder hinaus. Der Prototyp
   nutzt dafür --gut, definiert die Variable aber nicht; sie muss dem Seitenrand (.wrap) entsprechen. */
:root{--gut:24px}
@media (max-width:520px){:root{--gut:16px}}

/* Das Menü im Header steckt in einem <nav> (Semantik, Tests); es soll das Layout nicht verändern. */
.mainnav{display:contents}

/* Ersatz für die Shortcodes von «Shortcodes Ultimate» (functions/v2-shortcodes.php) */
.wpprose .su-note{padding:20px 24px;border-radius:12px;background:var(--soft)}
.wpprose .su-note>*:first-child{margin-top:0}
.wpprose .su-box{border:2px solid var(--blue);border-radius:12px;overflow:hidden}
.wpprose .su-box-title{padding:10px 20px;font-weight:600;color:#fff;background:var(--blue)}
.wpprose .su-box-content{padding:20px 24px}
.wpprose .su-divider{border:0;border-top:1px solid var(--line)}
.wpprose .su-spoiler,.wpprose .su-expand{border-top:1px solid var(--line);padding:14px 0}
.wpprose .su-spoiler summary,.wpprose .su-expand summary{cursor:pointer;font-weight:500;color:var(--ink)}
.wpprose .su-spoiler-content{margin-top:10px}
.wpprose .su-label{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--soft);font-size:13px;color:var(--ink)}
.wpprose .su-label-success{background:#d4edda}
.wpprose .su-members{padding:12px 16px;border:1px solid var(--line);border-radius:12px;font-size:15px}
.wpprose .su-youtube{position:relative;aspect-ratio:16/9;margin:24px 0}
.wpprose .su-youtube iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px}
.wpprose .su-quote{border-left:3px solid var(--blue);padding-left:20px;font-size:18px;color:var(--ink)}
.wpprose .su-quote cite{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.wpprose .su-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}

/* Verein: Personen ohne Foto stehen unten bündig */
.ppl li.noph{align-self:end}

/* ==========================================================================
   WPForms im Stil der Formulare des Prototyps (.gdform, .btn)
   Betrifft alle WPForms-Formulare im neuen Design: Feedback, Infoletter,
   Anmeldungen in Events und Inhalten. Das Plugin liefert graue Standardfelder.
   ========================================================================== */
body.v2 div.wpforms-container-full{margin:28px 0 0;font:inherit;color:var(--text)}
body.v2 div.wpforms-container-full .wpforms-form{display:block}
body.v2 div.wpforms-container-full .wpforms-field-container{display:grid;gap:16px}
body.v2 div.wpforms-container-full .wpforms-field{padding:0;margin:0;overflow:visible}
body.v2 div.wpforms-container-full .wpforms-field-label{margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.4;color:var(--ink)}
body.v2 div.wpforms-container-full .wpforms-field-label.wpforms-label-hide{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body.v2 div.wpforms-container-full .wpforms-required-label{color:var(--blue);font-weight:500}
body.v2 div.wpforms-container-full .wpforms-field-sublabel{margin:6px 0 0;font-size:13px;color:var(--muted)}
body.v2 div.wpforms-container-full .wpforms-field-description,
body.v2 div.wpforms-container-full .wpforms-field-limit-text{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--text)}

/* Felder: weiss, feiner Rand, grosse Rundung, wie .gdform */
body.v2 div.wpforms-container-full .wpforms-form input[type=text],
body.v2 div.wpforms-container-full .wpforms-form input[type=email],
body.v2 div.wpforms-container-full .wpforms-form input[type=tel],
body.v2 div.wpforms-container-full .wpforms-form input[type=url],
body.v2 div.wpforms-container-full .wpforms-form input[type=number],
body.v2 div.wpforms-container-full .wpforms-form input[type=password],
body.v2 div.wpforms-container-full .wpforms-form input[type=date],
body.v2 div.wpforms-container-full .wpforms-form select,
body.v2 div.wpforms-container-full .wpforms-form textarea{
  display:block;width:100%;max-width:none;min-height:48px;height:auto;padding:0 16px;
  border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:none;
  font:inherit;font-size:15px;line-height:1.4;color:var(--ink);transition:border-color .2s,box-shadow .2s}
body.v2 div.wpforms-container-full .wpforms-form textarea{min-height:140px;padding:14px 16px;resize:vertical}
body.v2 div.wpforms-container-full .wpforms-form select{padding-right:40px;appearance:none;-webkit-appearance:none;
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center}
body.v2 div.wpforms-container-full .wpforms-form ::placeholder{color:var(--muted);opacity:1}
body.v2 div.wpforms-container-full .wpforms-form input:hover,
body.v2 div.wpforms-container-full .wpforms-form select:hover,
body.v2 div.wpforms-container-full .wpforms-form textarea:hover{border-color:#C9D2D7}
body.v2 div.wpforms-container-full .wpforms-form input:focus,
body.v2 div.wpforms-container-full .wpforms-form select:focus,
body.v2 div.wpforms-container-full .wpforms-form textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,99,169,.14)}

/* Vor- und Nachname, PLZ und Ort nebeneinander wie .flrow */
body.v2 div.wpforms-container-full .wpforms-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;max-width:none}
body.v2 div.wpforms-container-full .wpforms-field-row .wpforms-field-row-block{width:auto;padding:0;margin:0;float:none}
body.v2 div.wpforms-container-full .wpforms-field-row::before,
body.v2 div.wpforms-container-full .wpforms-field-row::after,
body.v2 div.wpforms-container-full .wpforms-clear::before,
body.v2 div.wpforms-container-full .wpforms-clear::after{display:none}
body.v2 div.wpforms-container-full .wpforms-field-row .wpforms-field-row-block:only-child{grid-column:1/-1}
body.v2 div.wpforms-container-full .wpforms-field-medium,
body.v2 div.wpforms-container-full .wpforms-field-large,
body.v2 div.wpforms-container-full .wpforms-field-small,
body.v2 div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
body.v2 div.wpforms-container-full .wpforms-form input.wpforms-field-large,
body.v2 div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium,
body.v2 div.wpforms-container-full .wpforms-form textarea.wpforms-field-large,
body.v2 div.wpforms-container-full .wpforms-form select.wpforms-field-medium{max-width:none!important}
body.v2 div.wpforms-container-full .wpforms-one-half,
body.v2 div.wpforms-container-full .wpforms-one-third{width:auto;margin-left:0}

/* Auswahl: Optionen als Karten wie .mwopt, Kästchen in der Markenfarbe */
body.v2 div.wpforms-container-full .wpforms-field-radio ul,
body.v2 div.wpforms-container-full .wpforms-field-checkbox ul,
body.v2 div.wpforms-container-full .wpforms-field-payment-multiple ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
body.v2 div.wpforms-container-full .wpforms-field-radio ul li,
body.v2 div.wpforms-container-full .wpforms-field-checkbox ul li{display:flex;align-items:center;gap:12px;margin:0!important;padding:12px 16px!important;border:1px solid var(--line)!important;border-radius:14px!important;cursor:pointer;transition:border-color .2s,box-shadow .2s}
body.v2 div.wpforms-container-full .wpforms-field-radio:not(.wpforms-list-inline) ul li,
body.v2 div.wpforms-container-full .wpforms-field-checkbox:not(.wpforms-list-inline) ul li{flex:1 1 100%}
body.v2 div.wpforms-container-full .wpforms-list-inline ul li{display:flex!important;flex:0 0 auto}
body.v2 div.wpforms-container-full .wpforms-form input[type=radio],
body.v2 div.wpforms-container-full .wpforms-form input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--blue)}
body.v2 div.wpforms-container-full .wpforms-field-radio ul li label,
body.v2 div.wpforms-container-full .wpforms-field-checkbox ul li label{margin:0;font-size:14px;font-weight:400;line-height:1.5;color:var(--text);cursor:pointer}
body.v2 div.wpforms-container-full .wpforms-field-radio ul li label a,
body.v2 div.wpforms-container-full .wpforms-field-checkbox ul li label a{color:var(--blue);font-weight:600;text-decoration:none}
body.v2 div.wpforms-container-full .wpforms-field-radio ul li:has(input:checked),
body.v2 div.wpforms-container-full .wpforms-field-checkbox ul li:has(input:checked){border-color:var(--blue)!important;box-shadow:inset 0 0 0 1px var(--blue)}

/* Absenden: blaue Pille wie .btn */
body.v2 div.wpforms-container-full .wpforms-submit-container{margin:28px 0 0;padding:0}
body.v2 div.wpforms-container-full .wpforms-form button[type=submit],
body.v2 div.wpforms-container-full .wpforms-form .wpforms-submit{
  display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 32px;border:0;border-radius:999px;
  background:var(--blue);color:#fff;font:inherit;font-size:17px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;
  box-shadow:none;transition:filter .2s}
body.v2 div.wpforms-container-full .wpforms-form button[type=submit]:hover,
body.v2 div.wpforms-container-full .wpforms-form .wpforms-submit:hover{background:var(--blue);filter:brightness(1.1)}
body.v2 div.wpforms-container-full .wpforms-form button[type=submit]:focus-visible{outline:3px solid #A8DCF7;outline-offset:3px}
body.v2 div.wpforms-container-full .wpforms-form button[type=submit][disabled]{opacity:.6;cursor:default;filter:none}
@media (max-width:640px){body.v2 div.wpforms-container-full .wpforms-form .wpforms-submit{width:100%}}

/* Fehler und Bestätigung */
body.v2 div.wpforms-container-full label.wpforms-error,
body.v2 div.wpforms-container-full .wpforms-error{margin:6px 0 0;font-size:13px;font-weight:500;color:#B3261E}
body.v2 div.wpforms-container-full .wpforms-form input.wpforms-error,
body.v2 div.wpforms-container-full .wpforms-form textarea.wpforms-error,
body.v2 div.wpforms-container-full .wpforms-form select.wpforms-error{border-color:#B3261E}
body.v2 div.wpforms-container-full .wpforms-confirmation-container-full,
body.v2 div.wpforms-container-full .wpforms-confirmation-container{margin:0;padding:24px 28px;border:0;border-radius:18px;background:var(--soft);font-size:16px;line-height:1.5;color:var(--ink)}
body.v2 div.wpforms-container-full .wpforms-confirmation-container-full p:last-child{margin-bottom:0}
body.v2 div.wpforms-container-full .wpforms-notice,
body.v2 div.wpforms-container-full .wpforms-error-container{margin:0 0 16px;padding:16px 20px;border:0;border-radius:14px;background:#FCEDEC;color:#B3261E}

/* Offene Stellen: Bild über Liste und Detailseite */
.stimg{margin:32px 0 0}
.stimg img{display:block;width:100%;height:auto;aspect-ratio:3.2/1;object-fit:cover;object-position:center 35%;border-radius:18px}
@media(max-width:560px){.stimg img{aspect-ratio:2/1}}
.gdwrap .stimg+.edlead{margin-top:28px}
.gdwrap .stimg+.edsec,.gdwrap .stimg+.edlead+.edsec{margin-top:48px}
