/*
Theme Name: Twenty Twenty Child
Theme URI: https://wordpress.org/themes/twentytwenty/
Template: twentytwenty
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog,one-column,custom-background,custom-colors,custom-logo,custom-menu,editor-style,featured-images,footer-widgets,full-width-template,rtl-language-support,sticky-post,theme-options,threaded-comments,translation-ready,block-patterns,block-styles,wide-blocks,accessibility-ready
Version: 2.8.1739258108
Updated: 2025-02-11 08:15:08

*/



/* =============================
   Event-Kalender – CSS (clean + details)
   ============================= */

/* === Grid der Karten (Übersicht) === */
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 20px;
}
@media (max-width: 1100px) { .calendar-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .calendar-grid { grid-template-columns: 1fr; } }

/* === Karten === */
.calendar-item {
  background: #fff;
  border: 3px solid #0082C0;
  border-radius: 20px;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}
.calendar-item:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }

/* Einheitliche Bildhöhe bei Karten: 16:9 */
.calendar-image { aspect-ratio: 16 / 9; width: 100%; overflow: hidden; }
.calendar-image img { width: 100%; height: 100% !important; object-fit: cover; display: block; }

.calendar-content { padding: 15px; font-family: Helvetica, Arial, sans-serif; display:flex; flex-direction:column; }
.calendar-content h3 { margin-top: 0; color: #0056b3; }
.calendar-content p  { margin: 5px 0; }

.calendar-location { font-size: .8em; min-height: 60px; }
.calendar-datetime  { min-height: 4em; line-height: 1.3; }
.calendar-datetime_end { display: block; margin-top: 2px; }

.calendar-usercat { border-top: 2px solid #000; border-bottom: 2px solid #000; }
.calendar-title { padding-top: 10px; min-height: 160px; font-weight: 800; }
.calendar-title h3 { color: #000; font-size: 1.3em; font-weight: 700; }

/* Karten-Button */
.calendar-more {
  margin-top: auto;
  display: flex; align-items: center; justify-content: center;
  min-height: 50px;
  text-align: center; background: #0082C0;
  padding: 10px 14px; border-radius: 999px; border: 1px solid #0082C0;
}
.calendar-more a, .calendar-more a:link, .calendar-more a:visited {
  color: #fff !important; font-size: 1.2em; font-weight: 700; text-decoration: none; line-height:1.2;
}
.calendar-more:hover { background: #fff; border: 1px solid #0082C0; }
.calendar-more:hover a { color: #0082C0 !important; }
.calendar-more a:after { content: '>'; padding-left: 10px; }

/* Standort-Icons (SVG als BG) */
.location-icon{ display:inline-block; width:18px; height:18px; margin-right:6px;
  background-repeat:no-repeat; background-position:center; background-size:contain; vertical-align:middle; transform:translateY(-1px); }
/* Beispiel-Pfade – ggf. anpassen */
.icon-spreewald     { background-image:url('/wp-content/uploads/icons/mini-icon-spreewaldmuseum.svg'); }
.icon-festung       { background-image:url('/wp-content/uploads/icons/mini-icon-festung.svg'); }
.icon-lehde         { background-image:url('/wp-content/uploads/icons/mini-icon-lehde.svg'); }
.icon-kunstsammlung { background-image:url('/wp-content/uploads/icons/mini-icon-kunstsammlung.svg'); }
.icon-zechenhaus    { background-image:url('/wp-content/uploads/icons/mini-icon-zechenhaus.svg'); }

/* === Filter-Form === */
.event-filter-form {
  max-width: 1200px; margin: 0 auto 30px auto; padding: 20px;
  background: #f1f5f9; border-radius: 20px; border: 2px solid #0082C0;
  box-shadow: 0 6px 20px rgba(0,130,192,.08);
}
.event-filter-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 15px; align-items: center;
}
.event-filter-form select, .event-filter-form input[type="date"]{
  width:100%; padding:10px; font-size:1em; border-radius:8px; border:1px solid #ccc; background:#fff; font-family: Helvetica, Arial, sans-serif;
}
.custom-date-range{ display:flex; gap:10px; align-items:center; }

/* Button-Zeile */
.filter-actions{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap:12px; align-items:center; margin-top:12px;
}
@media (min-width: 700px){ .filter-actions{ grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px){ .filter-actions{ grid-template-columns: auto auto; justify-content:end; } }
.event-filter-form .event-search-btn{
  background:#0082C0; border:1px solid #0082C0; color:#fff; border-radius:999px;
  padding:12px 20px; font-weight:700; cursor:pointer; transition:background-color .25s ease, box-shadow .25s ease;
  width:100%; white-space:nowrap;
}
.event-filter-form .event-search-btn:hover{ background:#005099; box-shadow:0 4px 14px rgba(0,130,192,.25); color:#fff;  }
.event-filter-form .event-reset-btn{
  background:#f8fafc; border:1px solid #cbd5e1; color:#475569; border-radius:999px; padding:12px 16px; font-weight:600; cursor:pointer; width:100%; white-space:nowrap;
}
.event-filter-form .event-reset-btn:hover{ background:#eef2f7; border-color:#94a3b8; color:#334155; }
.event-filter-form select:focus, .event-filter-form input[type="date"]:focus,
.event-filter-form .event-search-btn:focus, .event-filter-form .event-reset-btn:focus { outline:2px solid #0082C0; outline-offset:2px; }
@media (min-width: 768px){
  .event-filter-grid{ grid-template-columns: repeat(6, 1fr); }
  .event-filter-grid select[name="location"]{ grid-column: span 2; }
  .event-filter-grid select[name="category"]{ grid-column: span 2; }
  .event-filter-grid select[name="period"]  { grid-column: span 2; }
  .custom-date-range                        { grid-column: span 2; }
}

/* === Event-Detailseite (nach Skizze) === */
.event-details-container{
  padding: 20px; background: #fff; border: 3px solid #0064a8; border-radius: 20px;
}

/* Hero */
.event-hero{
  display:grid; grid-template-columns: 1fr 260px; gap:20px; align-items:stretch;
}
@media (max-width: 800px){ .event-hero{ grid-template-columns: 1fr; } }

.event-hero-image img{
  width:100%; height:auto; display:block; object-fit:cover; border-radius:20px; /* runde Ecken wie Rahmen */
}

/* Blaue Kachel */
.event-hero-aside{
  background:#0082C0; color:#fff; border-radius:24px; padding:18px;
  display:flex; flex-direction:column; justify-content:center; gap:12px;
}
.event-hero-badge{
  align-self:flex-start; background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.3); color:#fff; border-radius:999px;
  padding:6px 10px; font-weight:700; font-size:.95em; text-transform:lowercase;
}
.event-hero-date-line1{ font-size:1.6em; font-weight:800; line-height:1.15; }
.event-hero-date-line2{ font-size:1.6em; font-weight:800; line-height:1.15; }
.event-hero-date-bis  { font-size:1.0em; opacity:.95; margin-top:2px; }

/* Kopfbereich */
.event-head{ margin-top:14px; }
.event-location-line{ display:flex; align-items:center; gap:8px; color:#111; margin-bottom:6px; }
.event-location-line .location-icon{ flex:0 0 18px; }
.event-category{ color:#444; margin-bottom:6px; }
.event-title{ font-size:4rem; line-height:1.1; margin:10px 0 8px; font-weight:800; color:#222; }
@media (max-width: 900px){ .event-title{ font-size:3rem; } }
@media (max-width: 600px){ .event-title{ font-size:2.3rem; } }

/* Beschreibung */
.event-description{ margin-top:8px; }
.event-description h2{ font-size:1.3rem; margin:10px 0; color:#333; }

/* Große blaue Info-Box */
.event-info-box{
  margin-top:22px; background:#0082C0; color:#fff; border-radius:20px; padding:20px;
}
.event-info-row{
  display:grid; grid-template-columns: 220px 1fr; gap:12px; align-items:start;
  padding:10px 0; border-bottom:1px solid rgba(255,255,255,.25);
}
.event-info-row:last-child{ border-bottom:none; }
@media (max-width: 700px){ .event-info-row{ grid-template-columns: 1fr; } }
.event-info-title{ font-weight:800; }
.event-info-text a, .event-info-box a:link, .event-info-box a:visited{ color:#fff; text-decoration: underline; }
.event-info-text a:hover{ text-decoration: none; }

/* CTA (Ticketlink) */
.event-cta{
  display:inline-block; background:#fff; color:#0082C0!important; border:1px solid #fff; border-radius:999px; padding:10px 14px; font-weight:800;text-decoration: none!important;}
.event-cta:hover{ background:transparent; color:#fff!important; border-color:#fff!important; }

/* Zurück-Link */
.event-back{ margin:24px 0 6px; }
.event-back a{ color:#0064a8; font-weight:700; text-decoration:none; }
.event-back a:hover{ text-decoration:underline; }

/* Hero-Bild mit runden Ecken (wie die blaue Kachel) */
.event-hero-image{
  border-radius: 24px;      /* ggf. 20px wählen, wenn du es 1:1 zum Außenrahmen willst */
  overflow: hidden;         /* schneidet die Bild-Ecken sauber ab */
}

.event-hero-image img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: inherit !important;  /* setzt Theme-Resets außer Kraft */
}

/* Falls das Bild als <picture> oder <figure> kommt, gleich mitskalieren */
.event-hero-image picture,
.event-hero-image figure{
  display:block;
  border-radius: inherit;
  overflow: hidden;
}
