/* 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}
}
