/* =========================================
   EVENTS WIDGET STYLES
   ========================================= */

.me-widget-grid { display: grid; gap: 20px; width: 100%; box-sizing: border-box; }
.me-link-overlay { position: absolute; inset: 0; z-index: 10; cursor: pointer; }

/* --- CARD DESIGN --- */
.me-card {
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); border: 1px solid #f1f5f9;
    position: relative; transition: transform 0.3s;
    display: flex; flex-direction: column;
    height: 100%;
}
.me-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.1); }

.me-card-head {
    height: 180px; background-size: cover; background-position: center; position: relative;
}

/* Date Badge (White Box) */
.me-date-badge {
    position: absolute; top: 12px; left: 12px;
    background: #fff; border-radius: 10px; padding: 6px 12px;
    text-align: center; box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    min-width: 45px;
}
.me-date-badge .day { display: block; font-size: 1.4rem; font-weight: 800; color: #1e293b; line-height: 1; }
.me-date-badge .month { display: block; font-size: 0.7rem; text-transform: uppercase; color: #ef4444; font-weight: 700; margin-top: 2px; }

/* Special Badge (e.g. Chilbi) */
.me-special-badge {
    position: absolute; top: 12px; right: 12px;
    background: #8b5cf6; color: #fff; 
    font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
    padding: 4px 10px; border-radius: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    display: flex; align-items: center; gap: 4px;
}
.me-special-badge .dashicons { font-size: 14px; width: 14px; height: 14px; }

.me-card-body { padding: 18px; flex: 1; display: flex; flex-direction: column; }

.me-card .me-title { margin: 0 0 10px; font-size: 1.1rem; line-height: 1.3; color: #1e293b; font-weight: 700; }

.me-meta { margin-top: auto; display: flex; flex-wrap: wrap; gap: 12px; font-size: 0.85rem; color: #64748b; }
.me-meta span { display: flex; align-items: center; gap: 5px; }
.me-meta .dashicons { font-size: 16px; color: #94a3b8; width: 16px; height: 16px; }

.me-price { margin-top: 10px; font-weight: 600; color: #059669; font-size: 0.9rem; }

/* --- LIST DESIGN (Compact) --- */
.me-widget-grid.style-list { grid-template-columns: 1fr !important; gap: 10px; }

.me-list-item {
    display: flex; align-items: center; background: #fff; padding: 12px 15px;
    border-radius: 12px; border: 1px solid #f1f5f9; position: relative;
    transition: 0.2s; box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}
.me-list-item:hover { background: #f8fafc; border-color: #cbd5e1; transform: translateX(3px); }

.me-list-date {
    background: #f1f5f9; border-radius: 8px; padding: 6px 14px;
    text-align: center; margin-right: 15px; flex-shrink: 0; min-width: 50px;
}
.me-list-date .day { display: block; font-weight: 800; font-size: 1.2rem; color: #334155; line-height: 1; }
.me-list-date .month { display: block; font-size: 0.65rem; text-transform: uppercase; color: #64748b; font-weight: 700; }

.me-list-info { flex: 1; }
.me-list-info h4 { margin: 0; font-size: 1.05rem; color: #1e293b; font-weight: 600; }
.me-list-info .me-meta { margin-top: 3px; font-size: 0.8rem; }

.me-list-action { color: #cbd5e1; font-size: 20px; }

/* --- MOBILE APP-STYLE (Swipe Slider) --- */
@media (max-width: 768px) {
    .me-widget-grid {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 15px;
        padding: 5px 20px 30px 20px;
        scroll-padding-left: 20px;
        grid-template-columns: none !important;
        scrollbar-width: none; 
    }
    .me-widget-grid::-webkit-scrollbar { display: none; }

    .me-card {
        flex: 0 0 280px; /* Fixe Breite wie bei Vereinen */
        width: 280px;
        max-width: 80vw;
        scroll-snap-align: start;
        margin: 0;
    }
    
    /* List View bleibt untereinander */
    .me-widget-grid.style-list { display: grid !important; padding: 0; }
    .me-widget-grid.style-list > div { width: 100%; max-width: 100%; flex: auto; margin-bottom: 5px; }
}
/* GLOBAL DASHICON FIX */
.me-icon-box .dashicons, 
.me-mob-btn .dashicons,
.me-dz-icon {
    font-family: "dashicons" !important;
    font-weight: normal;
    font-style: normal;
    vertical-align: middle;
}

/* MEELO EVENTS DETAIL CSS */
.me-page { max-width: 1150px; margin: 0 auto; padding: 20px; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #334155; }

/* HERO */
.me-hero { height: 400px; border-radius: 16px; overflow: hidden; background: #e2e8f0; margin-top: 20px; position: relative; }
.me-hero img { width: 100%; height: 100%; object-fit: cover; }

/* GRID */
.me-grid { display: grid; grid-template-columns: 1fr 350px; gap: 50px; margin-top: 40px; }

/* HEADER */
.me-cat-badge { display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; color: #64748b; background: #f1f5f9; padding: 4px 10px; border-radius: 4px; margin-bottom: 10px; letter-spacing: 0.5px; }
h1.me-title { font-size: 2.6rem; font-weight: 800; line-height: 1.1; margin: 0 0 10px 0; color: #0f172a; }
.me-subtitle { font-size: 1.1rem; color: #64748b; display: flex; gap: 20px; align-items: center; }
.me-subtitle i { color: #3b82f6; margin-right: 6px; }

/* SECTIONS */
.me-section { margin-bottom: 50px; }
.me-h3 { font-size: 1.3rem; font-weight: 700; color: #0f172a; margin: 0 0 20px 0; }
.me-content { font-size: 1.05rem; line-height: 1.7; color: #475569; }

/* TABLES */
.me-prog-table { width: 100%; border-collapse: collapse; border-radius: 10px; overflow: hidden; border: 1px solid #e2e8f0; }
.me-prog-table td { padding: 12px 15px; border-bottom: 1px solid #f1f5f9; background: #fff; }
.me-prog-table tr:last-child td { border-bottom: none; }
.me-prog-table tr:nth-child(odd) td { background: #f8fafc; }
.me-time-col { width: 100px; font-weight: 700; color: #3b82f6; }

/* GALLERY */
.me-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.me-gal-img { aspect-ratio: 16/9; border-radius: 8px; overflow: hidden; background: #eee; cursor: pointer; transition: transform 0.2s; }
.me-gal-img:hover { transform: scale(1.02); }
.me-gal-img img { width: 100%; height: 100%; object-fit: cover; }

/* LOCATION CARD (Map Left) */
.me-loc-card { display: grid; grid-template-columns: 2fr 1fr; gap: 0; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; height: 320px; }
.me-loc-map { background: #eee; height: 100%; width: 100%; }
.me-loc-info { background: #f8fafc; padding: 25px; display: flex; flex-direction: column; justify-content: center; }
.me-loc-btn { display: inline-flex; align-items: center; gap: 5px; margin-top: 15px; color: #3b82f6; font-weight: 700; text-decoration: none; }

/* SIDEBAR BOXES */
.me-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 25px; margin-bottom: 25px; box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
.me-box-head { border-bottom: 1px solid #f1f5f9; padding-bottom: 15px; margin-bottom: 15px; font-weight: 700; color: #0f172a; font-size: 1.1rem; }

/* Organizer */
.me-org-small { display: flex; align-items: center; gap: 12px; }
.me-org-av { width: 50px; height: 50px; border-radius: 50%; background: #f1f5f9; overflow: hidden; flex-shrink: 0; }
.me-org-av img { width: 100%; height: 100%; object-fit: cover; }
.me-contact-info { font-size: 0.85rem; color: #64748b; margin-top: 5px; line-height: 1.4; }

/* Info List */
.me-info-list { list-style: none; padding: 0; margin: 0; }
.me-info-list li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f1f5f9; font-size: 0.95rem; }
.me-info-list li:last-child { border-bottom: none; }
.me-lbl { color: #64748b; } .me-val { font-weight: 600; color: #0f172a; text-align: right; }

/* Buttons */
.me-btn { display: block; text-align: center; padding: 12px; border-radius: 8px; font-weight: 700; text-decoration: none; margin-top: 10px; transition: 0.2s; }
.btn-prim { background: #0f172a; color: #fff; } .btn-prim:hover { background: #334155; }
.btn-sec { background: #fff; border: 2px solid #e2e8f0; color: #475569; } .btn-sec:hover { border-color: #cbd5e1; color: #0f172a; }
.me-link-btn { display: block; text-align: center; margin-top: 10px; font-size: 0.85rem; color: #3b82f6; text-decoration: none; }

/* Sponsors */
.me-spon-grid { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; margin-top: 20px; }
.me-spon-img { height: 60px; width: auto; filter: grayscale(100%); opacity: 0.8; transition: 0.3s; }
.me-spon-img:hover { filter: none; opacity: 1; }

@media(max-width: 900px) { 
    .me-grid { grid-template-columns: 1fr; } 
    .me-loc-card { grid-template-columns: 1fr; height: auto; } .me-loc-map { height: 250px; } 
    .me-hero { height: 250px; } 
    .me-gallery { grid-template-columns: repeat(2, 1fr); }
}
/* LOCATION CARD NEW STYLE (50/50) */
.me-loc-card { 
    display: grid; grid-template-columns: 1fr 1fr; gap: 0; 
    border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; 
    height: 350px; background: #fff;
}
.me-loc-map { background: #eee; height: 100%; width: 100%; }
.me-loc-info { 
    padding: 30px; display: flex; flex-direction: column; justify-content: center; 
    background: #f8fafc;
}
.me-loc-img { 
    width: 100%; height: 120px; object-fit: cover; border-radius: 8px; 
    margin-bottom: 15px; border: 1px solid #e2e8f0;
}
.me-loc-btn { 
    display: inline-flex; align-items: center; gap: 6px; margin-top: 15px; 
    background: #fff; color: #0f172a; font-weight: 700; text-decoration: none; 
    padding: 10px 20px; border-radius: 30px; border: 1px solid #cbd5e1; 
    align-self: start; transition: 0.2s; 
}
.me-loc-btn:hover { border-color: #0f172a; background: #0f172a; color: #fff; }

/* SPONSOR GRID (Cards) */
.me-spon-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 15px; margin-top: 20px; }
.me-spon-card { 
    background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 15px; 
    display: flex; align-items: center; justify-content: center; height: 80px; 
    transition: 0.2s; 
}
.me-spon-card:hover { border-color: #cbd5e1; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.me-spon-card img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(100%); opacity: 0.7; transition: 0.3s; }
.me-spon-card:hover img { filter: none; opacity: 1; }

@media(max-width: 900px) { 
    .me-loc-card { grid-template-columns: 1fr; height: auto; } 
    .me-loc-map { height: 250px; order: 2; }
    .me-loc-info { order: 1; }
}
/* MEELO EVENT DETAIL */
.me-page { max-width:1150px; margin:0 auto; padding:20px; font-family:-apple-system, sans-serif; color:#334155; }
.me-hero { height:400px; border-radius:16px; overflow:hidden; background:#e2e8f0; margin-top:20px; }
.me-hero img { width:100%; height:100%; object-fit:cover; }
.me-grid { display:grid; grid-template-columns:1fr 360px; gap:60px; margin-top:50px; }

/* HEADER */
h1.me-title { font-size:2.8rem; font-weight:800; line-height:1.1; margin:0 0 10px 0; color:#0f172a; }
.me-cat-pill { display:inline-block; font-size:0.75rem; font-weight:700; text-transform:uppercase; background:#f1f5f9; padding:4px 10px; border-radius:4px; color:#0f172a; vertical-align:middle; }

/* BOXES */
.me-box { background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:25px; margin-bottom:25px; }
.me-box-head { font-weight:700; font-size:1.1rem; color:#0f172a; margin-bottom:15px; padding-bottom:15px; border-bottom:1px solid #f1f5f9; display:block; }
.me-info-row { margin-bottom:15px; }
.me-lbl { display:block; font-size:0.8rem; text-transform:uppercase; color:#94a3b8; font-weight:700; margin-bottom:3px; }
.me-val { font-size:1rem; font-weight:600; color:#0f172a; display:block; }
.me-price { font-size:1.6rem; font-weight:800; color:#0f172a; } .me-price-cnt { text-align:center; margin:20px 0; }

/* LOCATION (2/3 Map) */
.me-loc-card { display:grid; grid-template-columns:2fr 1fr; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; height:350px; }
.me-loc-info { background:#f8fafc; padding:30px; display:flex; flex-direction:column; justify-content:center; }
.me-loc-img { height:100px; width:100%; object-fit:cover; border-radius:8px; margin-bottom:15px; }

/* LISTS & SPONSORS */
.me-prog-day { margin-bottom:30px; }
.me-day-title { font-size:1.1rem; font-weight:700; color:#0f172a; margin-bottom:10px; border-bottom:2px solid #f1f5f9; padding-bottom:5px; }
.me-prog-item { display:flex; padding:10px 0; border-bottom:1px solid #f1f5f9; }
.me-prog-time { width:80px; font-weight:700; color:#3b82f6; flex-shrink:0; }
.me-spon-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:20px; }
.me-spon-card { height:100px; background:#fff; border:1px solid #e2e8f0; border-radius:10px; display:flex; align-items:center; justify-content:center; padding:15px; }
.me-spon-card img { max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(100%); }

/* BUTTONS */
.me-btn { display:block; text-align:center; padding:12px; border-radius:8px; font-weight:700; text-decoration:none; margin-top:10px; transition:0.2s; border:none; cursor:pointer; }
.btn-buy { background:#0f172a; color:#fff; } .btn-buy:hover { background:#334155; }
.btn-sec { background:#fff; border:2px solid #e2e8f0; color:#475569; } .btn-sec:hover { border-color:#cbd5e1; color:#0f172a; }

/* MOBILE */
.me-sticky { display:none; position:fixed; bottom:0; left:0; right:0; background:#fff; padding:15px 20px; z-index:999; box-shadow:0 -5px 20px rgba(0,0,0,0.05); align-items:center; justify-content:space-between; }
.mob-only { display:none; }
@media(max-width:900px){ 
    .mob-only { display:block; } .desk-only { display:none; }
    .me-grid { display:block; } .me-loc-card { grid-template-columns:1fr; height:auto; } 
    .me-sticky { display:flex; } .me-page { padding-bottom:100px; }
}