/* Langetetal.ch – Update 06.11.2026
   Neue Bausteine (Kalender-Abo, ähnliche Einträge) und Feinschliff für Bedienbarkeit.
   Bewusst als eigene Datei, damit bestehende Styles unverändert bleiben. */

/* ---------- Kalender-Abo ---------- */
.lt-calendar-cta{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;
  margin:0 0 56px;padding:28px 32px;border-radius:24px;
  background:linear-gradient(120deg,#e8f7fe 0%,#ffffff 70%);border:1px solid #cbeefa;
}
.lt-calendar-icon{
  width:76px;height:80px;border-radius:16px;background:#fff;overflow:hidden;
  display:grid;grid-template-rows:26px 1fr;text-align:center;
  box-shadow:0 10px 26px rgba(0,125,180,.16);border:1px solid #d7eef8;
}
.lt-calendar-icon span{background:#009fe3;color:#fff;font-size:12px;font-weight:900;letter-spacing:.12em;line-height:26px}
.lt-calendar-icon b{font-size:32px;line-height:52px;color:#0b2a3f;font-weight:800}
.lt-calendar-copy h2{margin:0 0 6px;font-size:clamp(20px,2.2vw,26px);line-height:1.2;color:#0b2a3f}
.lt-calendar-copy p{margin:0;color:#4a6375;max-width:60ch}
.lt-calendar-copy .home-kicker{color:#007db4;margin-bottom:6px}
.lt-calendar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.lt-calendar-actions .btn{white-space:nowrap;font-size:14px;padding:11px 16px;font-weight:700}
.lt-calendar-actions .btn.primary{background:#007db4;border-color:#007db4;color:#fff}
.lt-calendar-actions .btn.light{background:#fff;border-color:#cfe3ee;color:#0b2a3f}
.lt-calendar-actions [data-copied]{background:#e6f7ec!important;border-color:#9ad4ae!important;color:#16572e!important}
@media (max-width:900px){
  .lt-calendar-cta{grid-template-columns:auto minmax(0,1fr);padding:22px}
  .lt-calendar-actions{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:520px){
  .lt-calendar-cta{grid-template-columns:minmax(0,1fr);gap:16px}
  .lt-calendar-icon{width:60px;height:64px;grid-template-rows:22px 1fr}
  .lt-calendar-icon span{line-height:22px;font-size:11px}
  .lt-calendar-icon b{font-size:26px;line-height:42px}
  .lt-calendar-actions .btn{flex:1 1 auto;text-align:center}
}

/* ---------- Ähnliche Einträge auf der Detailseite ---------- */
body:not(.admin) .lt-related{
  box-sizing:border-box;width:min(var(--site-content-max,1560px),calc(100% - 2 * var(--site-gutter,24px)));
  margin:8px auto 64px;
}
.lt-related .section-heading h2{color:#0b2a3f}
.lt-related .home-kicker{color:#007db4}
@media (max-width:700px){ .lt-related .home-card-grid{grid-template-columns:minmax(0,1fr)} }

/* ---------- Bedienbarkeit ---------- */
/* Sichtbarer Tastaturfokus überall, ohne Mausklicks zu umranden */
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:3px solid #007db4;outline-offset:2px;border-radius:6px;
}
/* Programmatisch fokussierte Container (z. B. Detailansicht) nicht dick umranden */
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none!important;box-shadow:none!important}
/* Ausreichend grosse Tippflächen auf Touchgeräten */
@media (pointer:coarse){
  .site-header nav a,.site-footer nav a,.town-shortcuts a,.town-category-links a,.quick-links button{min-height:44px;display:inline-flex;align-items:center}
}
/* Lange Wörter (Vereinsnamen, URLs) brechen statt das Layout zu sprengen */
.event-detail-content,.home-card,.landing-agenda,.story-article-wrap{overflow-wrap:anywhere}
/* Sprunglink für Tastatur- und Screenreader-Nutzer */
.lt-skip{position:absolute;left:12px;top:-60px;z-index:10000;background:#0b2a3f;color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.lt-skip:focus{top:12px}
/* Bewegung reduzieren, wenn im System so eingestellt */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Buddy-Knopf soll auf kleinen Bildschirmen keine Inhalte/Buttons verdecken */
@media (max-width:700px){
  html body #chatToggle,html body.ltcb-buddy-page #chatToggle{bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;right:14px!important;display:flex!important;align-items:center;justify-content:center;width:54px!important;height:54px!important;min-width:0!important;min-height:0!important;padding:0!important;border-radius:50%!important;font-size:22px!important;line-height:1;gap:0!important}
  html body #chatToggle span,html body.ltcb-buddy-page #chatToggle span{display:block!important;position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap}
  .site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
/* Druckansicht: Navigation, Werbung und Chat ausblenden */
@media print{
  .site-header,.site-footer,.chat-toggle,.chat-box,.home-ad-slot,.ad-bottom,.lt-calendar-cta,.buddy-widget{display:none!important}
  body{background:#fff!important;color:#000!important}
}
.lt-related-grid{display:grid;gap:28px}
.lt-related-grid.has-both{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.lt-related-grid h3{margin:0 0 14px;font-size:15px;font-weight:800;color:#36566b;letter-spacing:.01em}
.lt-related-grid .event-agenda-list{grid-template-columns:minmax(0,1fr)}
.lt-related-places{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.lt-related-grid.has-both{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.lt-related-places{grid-template-columns:minmax(0,1fr)}}

/* ---------- Eintragsformular: sichtbare Feldbeschriftungen ---------- */
.submit-entry-page .lt-field{display:grid;gap:6px;margin:0;font-weight:700;font-size:14px;color:#183447}
.submit-entry-page .lt-field>span em{font-style:normal;color:#c2410c}
.submit-entry-page .lt-field>small{font-weight:400;color:#5d6d7e;font-size:12.5px}
.submit-entry-page .lt-field input,.submit-entry-page .lt-field textarea{font-weight:400;width:100%;box-sizing:border-box}
.submit-entry-page textarea{font-family:inherit;font-size:16px;line-height:1.5}
.submit-entry-page input,.submit-entry-page select,.submit-entry-page textarea{font-size:16px} /* verhindert Zoom auf iPhone */
.submit-entry-page input:user-invalid,.submit-entry-page textarea:user-invalid{border-color:#dc2626;background:#fff7f7}
/* Kategorien als kompakte Auswahl-Chips statt langer Liste */
.submit-entry-page #categoryChoices .choice-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.submit-entry-page #categoryChoices .choice-grid label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d7e3eb;border-radius:12px;background:#fff;cursor:pointer;font-size:14px;line-height:1.25;min-height:44px;box-sizing:border-box}
.submit-entry-page #categoryChoices .choice-grid label:has(input:checked){border-color:#009fe3;background:#e8f7fe;color:#004f73;font-weight:700}
.submit-entry-page #categoryChoices .choice-grid label:has(input:disabled){opacity:.45;cursor:not-allowed}
@media (max-width:520px){.submit-entry-page #categoryChoices .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#submitEntryButton{min-height:52px;font-size:16px;font-weight:800}
