/* Neue TOHO-Website — Zusatz-Styles (ergänzt shell.css + landing.css).
   Nutzt die Marken-Variablen aus shell.css (:root). */

/* Beispiel-Kurskarten (Platzhalter, bis das neue Event-System angebunden ist) */
.toho-lp .ex-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:22px; margin-top:26px; align-items:stretch; }
.toho-lp .ex-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 22px 20px; box-shadow:0 12px 34px -20px rgba(36,16,16,.35); }
.toho-lp .ex-cat { align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--bordeaux); background:#f6e8e7; padding:4px 11px; border-radius:999px; }
.toho-lp .ex-card h3 { margin:.75rem 0 .35rem; font-size:1.2rem; line-height:1.25; color:var(--ink); }
.toho-lp .ex-meta { color:#6a5b58; font-size:.9rem; margin:0 0 .55rem; }
.toho-lp .ex-card > p { margin:0 0 .9rem; color:#4b3f3d; }
.toho-lp .ex-price { margin-top:auto; font-weight:800; color:var(--bordeaux); }
.toho-lp .ex-note { margin-top:16px; font-size:.85rem; color:#8a7a77; font-style:italic; }

/* ============ Öffentliche Innenseiten (Event/Referenten/Anmeldung) ============ */
.toho-lp.inner{padding-top:88px;background:var(--paper,#FBF7F5);min-height:100vh;}
.toho-lp.inner .nav{background:var(--bordeaux-deep);}
.toho-lp.inner .nav::before{opacity:0;}
.toho-lp .pub-main{max-width:1040px;margin:0 auto;padding:44px 22px 88px;}
.toho-lp .pub-back{display:inline-block;color:var(--bordeaux);font-weight:700;margin-bottom:16px;text-decoration:none;}
.toho-lp .pub-back:hover{text-decoration:underline;}
.toho-lp .pub-kick{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--bordeaux);}
.toho-lp .pub-h1{font-size:2rem;line-height:1.15;margin:.3rem 0 .4rem;color:var(--ink);}
.toho-lp .pub-sub{color:var(--muted);font-size:1.05rem;margin:0 0 8px;}
.toho-lp .pub-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 30px 60px -42px rgba(74,4,3,.3);}
.toho-lp .facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;margin-bottom:14px;}
.toho-lp .facts .l{display:block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
.toho-lp .desc{line-height:1.7;margin-top:22px;color:#3a2f2e;}
.toho-lp .desc ul,.toho-lp .desc ol{margin:.6rem 0 .6rem 1.25rem;} .toho-lp .desc li{margin:.3rem 0;} .toho-lp .desc p{margin:.7rem 0;} .toho-lp .desc strong{color:var(--ink);}
/* Lange URLs/Wörter (v. a. Datenschutz) dürfen mobil nicht die Breite sprengen */
.toho-lp .desc,.toho-lp .legal-text{overflow-wrap:anywhere;word-break:break-word;}
.toho-lp .legal-text{line-height:1.6;}
.toho-lp .legal-text h3,.toho-lp .legal-text h4{margin:1.1em 0 .15em;font-size:1.05rem;color:var(--ink);}
.toho-lp .legal-text a{overflow-wrap:anywhere;word-break:break-all;}
.toho-lp .pub-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.toho-lp .note{background:#fff7e6;color:#8a5a00;border:1px solid #f2dca0;border-radius:12px;padding:14px 18px;margin:16px 0;}
.toho-lp .err{background:#fdeceb;color:#b42318;border:1px solid #f5c2c0;border-radius:12px;padding:14px 18px;margin:16px 0;font-weight:600;}
.toho-lp .ok-box{background:#e8f6ee;color:#027a48;border:1px solid #b7e4cb;border-radius:12px;padding:16px 20px;font-weight:600;}
/* Event-Karten-Grid (öffentliche Übersicht) reuse .ex-grid/.ex-card aus landing.css */
.toho-lp .ex-grid.pub{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.toho-lp .kfilter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;}
.toho-lp .kchip{padding:7px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:.9rem;text-decoration:none;}
.toho-lp .kchip:hover{border-color:var(--bordeaux);color:var(--bordeaux);}
.toho-lp .kchip.on{background:var(--bordeaux);color:#fff;border-color:var(--bordeaux);}
/* Referenten-Fotos: Gesicht im Fokus (oberer Bildbereich) */
.toho-lp .ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin-top:8px;}
.toho-lp .ref-card2{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 20px 44px -36px rgba(74,4,3,.3);color:var(--ink);text-align:center;}
.toho-lp .ref-card2:hover{text-decoration:none;color:var(--ink);}
.toho-lp .ref-photo{width:100%;aspect-ratio:4/5;background:#efe9e6 center 18% / cover no-repeat;}
.toho-lp .ref-photo.ph{display:flex;align-items:center;justify-content:center;color:#b7a9a5;font-size:.85rem;background:#f0ece8;}
.toho-lp .ref-card2 .b{padding:15px 14px 20px;}
.toho-lp .ref-card2 h3{margin:0 0 4px;font-size:1.08rem;}
.toho-lp .ref-card2 .role{color:var(--muted);font-size:.88rem;}
/* Mobil: kompakte Listen-Karten – Text links, kleines Hochformat-Foto rechts (mehrere pro Bildschirm) */
@media(max-width:640px){
	.toho-lp .ref-grid{grid-template-columns:1fr;gap:12px}
	.toho-lp .ref-card2{flex-direction:row-reverse;align-items:stretch;text-align:left}
	.toho-lp .ref-card2 .ref-photo{width:92px;min-width:92px;aspect-ratio:auto;min-height:108px}
	.toho-lp .ref-card2 .ref-photo.ph{font-size:.72rem}
	.toho-lp .ref-card2 .b{flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 14px}
	.toho-lp .ref-card2 h3{font-size:1rem;margin:0 0 2px}
}
.toho-lp .ref-h{margin:30px 0 12px;color:var(--bordeaux);font-size:1.3rem;}
.toho-lp .ref-profile{display:grid;grid-template-columns:270px 1fr;gap:32px;align-items:start;}
/* Ohne Bio: nicht zweispaltig mit leerer Hälfte, sondern kompakt zentriert */
.toho-lp .ref-profile.is-sparse{grid-template-columns:220px;justify-content:center;text-align:center;gap:20px;}
.toho-lp .ref-profile.is-sparse .photo{max-width:220px;margin:0 auto;}
.toho-lp .ref-profile .photo{width:100%;aspect-ratio:4/5;border-radius:16px;background:#efe9e6 center 18% / cover no-repeat;}
@media(max-width:640px){.toho-lp .facts{grid-template-columns:1fr}.toho-lp .ref-profile{grid-template-columns:1fr}.toho-lp .ref-profile .photo{max-width:260px}}
.toho-lp .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Einwilligungs-Label gut lesbar (nicht zu hellgrau) */
.toho-lp .cconsent{display:flex;gap:9px;align-items:flex-start;color:#3a2f2e;font-size:.92rem;line-height:1.45;margin:14px 0 4px;}
.toho-lp .cconsent input{margin-top:3px;}

/* Buttons auf hellen Innenseiten sichtbar machen */
.toho-lp.inner .btn-ghost{border-color:var(--bordeaux);color:var(--bordeaux);}
.toho-lp.inner .btn-ghost:hover{border-color:var(--bordeaux);background:var(--bordeaux);color:#fff;}
.toho-lp .pub-back{display:block;}

/* Cookie-Consent-Banner */
.toho-lp .cc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -24px rgba(74,4,3,.45);padding:16px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;max-width:920px;margin:0 auto;}
.toho-lp .cc-text{flex:1;min-width:240px;font-size:.9rem;color:var(--ink);line-height:1.5;}
.toho-lp .cc-actions{display:flex;gap:10px;flex-wrap:wrap;}
.toho-lp .cc-btn{padding:9px 18px;font-size:.9rem;}
@media(max-width:520px){.toho-lp .cc-banner{left:8px;right:8px;bottom:8px;padding:14px;}.toho-lp .cc-actions{width:100%;}.toho-lp .cc-btn{flex:1;}}

/* Belegungskalender (Vermietung) */
.toho-lp .vk{display:flex;gap:28px;flex-wrap:wrap}
.toho-lp .vk-month{flex:1;min-width:280px}
.toho-lp .vk-title{font-weight:800;color:var(--bordeaux);margin-bottom:10px}
.toho-lp .vk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.toho-lp .vk-wd{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);padding:2px 0}
.toho-lp .vk-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eef7ef;color:#1a1a1a;font-size:.9rem;border:1px solid #d7ecd9}
.toho-lp .vk-empty{aspect-ratio:1}
.toho-lp .vk-day.vk-bz{background:#fde2e1;border-color:#f5c2c0;color:#8a2b2b}
.toho-lp .vk-day.vk-rs{background:#ffcf8f;border-color:#e0a04a;color:#7a4a00}
.toho-lp .vk-key.vk-rs{background:#ffcf8f;border-color:#e0a04a}
.toho-lp .vk-day.vk-ev{background:#f6e8c9;border-color:#ecd39a;color:#7a5b00}
.toho-lp .vk-day.vk-past{opacity:.4}
.toho-lp .vk-day.vk-free{cursor:pointer;transition:transform .06s}
.toho-lp .vk-day.vk-free:hover{outline:2px solid var(--bordeaux);outline-offset:-2px}
.toho-lp .vk-day.vk-sel{background:var(--bordeaux)!important;border-color:var(--bordeaux)!important;color:#fff!important;font-weight:700}
.toho-lp .vk-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:.85rem;color:var(--muted)}
.toho-lp .vk-key{width:16px;height:16px;border-radius:5px;background:#eef7ef;border:1px solid #d7ecd9;display:inline-block;vertical-align:middle}
.toho-lp .vk-key.vk-bz{background:#fde2e1;border-color:#f5c2c0}
.toho-lp .vk-key.vk-ev{background:#f6e8c9;border-color:#ecd39a}

/* Kalender: nur ein Monat sichtbar + Umschalter */
.toho-lp .vk{display:block}
.toho-lp .vk-month{display:none;max-width:440px;margin:0 auto}
.toho-lp .vk-month.active{display:block}
.toho-lp .vk-cal .vk-title{display:none}
.toho-lp .vk-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:14px}
.toho-lp .vk-nav button{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--bordeaux);font-size:1.4rem;line-height:1;cursor:pointer}
.toho-lp .vk-nav button:hover{border-color:var(--bordeaux)}
.toho-lp .vk-nav button[disabled]{opacity:.3;cursor:default}
.toho-lp .vk-current{font-weight:800;color:var(--bordeaux);min-width:170px;text-align:center;font-size:1.05rem}

/* Vermietung: Einblick-Galerie + Ausstattungsliste */
.toho-lp .verm-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 4px}
.toho-lp .vg-thumb{padding:0;border:0;background:none;cursor:pointer;display:block}
.toho-lp .vg-thumb img{width:100%;height:270px;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block;transition:transform .12s,box-shadow .12s}
.toho-lp .vg-thumb:hover img{transform:scale(1.02);box-shadow:0 16px 34px -20px rgba(74,4,3,.5)}
.toho-lp .vg-lightbox{position:fixed;inset:0;z-index:1200;background:rgba(20,4,4,.9);display:flex;align-items:center;justify-content:center}
.toho-lp .vg-lightbox[hidden]{display:none}
.toho-lp .vg-img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.toho-lp .vg-close,.toho-lp .vg-prev,.toho-lp .vg-next{position:absolute;background:rgba(255,255,255,.16);color:#fff;border:0;cursor:pointer;border-radius:10px;line-height:1}
.toho-lp .vg-close:hover,.toho-lp .vg-prev:hover,.toho-lp .vg-next:hover{background:rgba(255,255,255,.3)}
.toho-lp .vg-close{top:18px;right:18px;width:44px;height:44px;font-size:1.7rem}
.toho-lp .vg-prev,.toho-lp .vg-next{top:50%;transform:translateY(-50%);width:52px;height:64px;font-size:2rem}
.toho-lp .vg-prev{left:14px}.toho-lp .vg-next{right:14px}
/* Vermietungs-Formular schmaler + Datums-/Zahlfelder auf volle Breite */
.toho-lp .verm-h1{white-space:nowrap;font-size:clamp(1.15rem,5.6vw,2rem)}
.toho-lp .verm-form{max-width:600px;margin-left:auto;margin-right:auto}
.toho-lp .cfield input,.toho-lp .cfield select,.toho-lp .cfield textarea{box-sizing:border-box;width:100%}
.toho-lp .cfield input[type=date],.toho-lp .cfield input[type=number]{-webkit-appearance:none;appearance:none;min-width:0}
.toho-lp .feat-list{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
.toho-lp .feat-list li{padding:9px 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--ink)}

/* Formular-Auswahlfelder wie Eingaben stylen */
.toho-lp .cfield select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}

/* Mobil: Formular einspaltig, Galerie/Ausstattung einspaltig, Hero-Fließtext ausblenden (steht auch im „Über uns") */
@media(max-width:640px){
	.toho-lp .cform-grid{grid-template-columns:1fr}
	.toho-lp .vg-thumb img{height:150px}
	.toho-lp .feat-list{grid-template-columns:1fr}
	.toho-lp .hero .body{display:none}
}

/* ============ Event-Popup „Nächste Veranstaltung“ (Startseite, 22.09.2026) ============
   Karte wie .cbox (weiß, Bordeaux-Oberkante), Inhalt mit den Klassen der Eventkarten. */
.toho-lp .ev-pop{border:0;padding:0;background:transparent;max-width:min(560px,calc(100vw - 32px));margin:auto;}
.toho-lp .ev-pop::backdrop{background:rgba(20,4,4,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.toho-lp .ev-pop[open]{animation:evPopAuf .45s cubic-bezier(.2,.7,.2,1) both;}
@keyframes evPopAuf{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.toho-lp .ev-pop__karte{position:relative;margin:0;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--bordeaux);border-radius:18px;padding:34px 34px 30px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.toho-lp .ev-pop__karte .pill{margin:0 44px 6px 0;}
.toho-lp .ev-pop__zu{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#6a5b58;font:inherit;font-size:1.1rem;cursor:pointer;}
.toho-lp .ev-pop__zu:hover,.toho-lp .ev-pop__zu:focus-visible{background:var(--tint,#F4EAE7);color:var(--bordeaux);}
.toho-lp .ev-pop__titel{font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.2;margin:4px 0 0;color:var(--ink);}
.toho-lp .ev-pop__meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;}
.toho-lp .ev-pop__meta span:empty,.toho-lp .ev-pop [data-feld]:empty{display:none;}
.toho-lp .ev-pop__text{margin:0;color:#4b3f3d;}
.toho-lp .ev-pop .ex-price{margin-top:4px;}
.toho-lp .ev-pop__knoepfe{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
.toho-lp .ev-pop__knoepfe .btn-ghost{border-color:var(--bordeaux);color:var(--bordeaux);}
.toho-lp .ev-pop__knoepfe .btn-ghost:hover{background:var(--bordeaux);color:#fff;}
@media (max-width:560px){.toho-lp .ev-pop__karte{padding:26px 20px 22px;}.toho-lp .ev-pop__knoepfe{width:100%;}.toho-lp .ev-pop__knoepfe .btn{width:100%;justify-content:center;}}
@media (prefers-reduced-motion:reduce){.toho-lp .ev-pop[open]{animation:none;}}

/* ============ Aktuelles / Beiträge (22.09.2026) ============ */
.toho-lp .krumen{font-size:.9rem;color:#6a5b58;margin-bottom:18px;}
.toho-lp .krumen a{color:var(--bordeaux);text-decoration:none;font-weight:600;}
.toho-lp .beitrag{max-width:860px;}
.toho-lp .beitrag-kopf .pub-kick{display:block;margin-bottom:6px;}
.toho-lp .beitrag-h1{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;margin:.2rem 0 .8rem;}
.toho-lp .beitrag-intro{font-size:1.18rem;line-height:1.6;color:#4b3f3d;margin:0 0 26px;}
.toho-lp .beitrag-bild{margin:0 0 28px;}
.toho-lp .beitrag-bild img{display:block;width:100%;height:auto;border-radius:18px;aspect-ratio:3/2;object-fit:cover;}
.toho-lp .beitrag-kurz{padding:24px 28px;margin:0 0 34px;}
.toho-lp .beitrag-kurz h2{font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;color:var(--bordeaux);margin:0 0 10px;}
.toho-lp .beitrag-kurz ul{margin:0;padding-left:1.2rem;} .toho-lp .beitrag-kurz li{margin:.4rem 0;line-height:1.55;}
.toho-lp .beitrag-text{margin-top:0;font-size:1.06rem;}
.toho-lp .beitrag-text h2{font-size:1.45rem;line-height:1.25;margin:2.1rem 0 .7rem;color:var(--ink);}
.toho-lp .beitrag-text section:first-child h2{margin-top:0;}
.toho-lp .beitrag-text a{color:var(--bordeaux);text-decoration:underline;text-underline-offset:3px;}
.toho-lp .beitrag-zitat{margin:1.6rem 0;padding:18px 24px;border-left:4px solid var(--gold);background:#fff;border-radius:0 14px 14px 0;}
.toho-lp .beitrag-zitat p{margin:0 0 .5rem;font-size:1.15rem;line-height:1.5;font-style:italic;color:var(--ink);}
.toho-lp .beitrag-zitat footer{font-size:.92rem;color:#6a5b58;} .toho-lp .beitrag-zitat cite{font-style:normal;font-weight:700;color:var(--bordeaux);}
.toho-lp .beitrag-fakten{margin:36px 0;}
.toho-lp .beitrag-fakten h2{font-size:1.2rem;margin:0 0 14px;color:var(--bordeaux);}
.toho-lp .beitrag-fakten dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin:0;}
.toho-lp .beitrag-fakten dt{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#6a5b58;margin-bottom:3px;}
.toho-lp .beitrag-fakten dd{margin:0;line-height:1.5;}
.toho-lp .beitrag-faq{margin:40px 0 10px;} .toho-lp .beitrag-faq .sec-title{font-size:clamp(1.4rem,2.6vw,1.9rem);} .toho-lp .beitrag-faq .faq-list{margin-top:24px;}
.toho-lp .beitrag-fuss{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem;color:#6a5b58;}
.toho-lp .beitrag-fuss a{color:var(--bordeaux);}
@media (max-width:640px){.toho-lp .beitrag-fakten dl{grid-template-columns:1fr;}.toho-lp .beitrag-kurz{padding:20px 18px;}}
/* Entwurf: Band oben und gelbe Platzhalter, verschwinden mit status veroeffentlicht */
.toho-lp .entwurf-band{position:relative;z-index:60;background:#1f2933;color:#fff;padding:.8rem 1.1rem;font-size:.92rem;line-height:1.5;margin-top:-88px;}
.toho-lp .entwurf-band + .pub-main{padding-top:88px;}
.toho-lp mark.ph{background:#fff1a8;color:#5a4300;padding:0 .3em;border-radius:4px;font-style:normal;font-weight:600;box-shadow:inset 0 -2px 0 #e6c200;}
