/* ==========================================
   Einheitliche Modul-Überschriften
   ========================================== */
.sp-module h2,
.location_block h2,
.contact_block h2,
.organizer-content h2 {
    margin-top: 0;
    font-size: 2rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 25px;
}

/* ==========================================
   LOCATION-BLOCK – voller Streifen + Inhalt
   ========================================== */
.location_block {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;

    background-color: #faf5f0;
    padding: 60px 0;
    margin-bottom: 80px;
}

.location_inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.location_grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
}

.location_content,
.location_map_image {
    flex: 1;
    min-width: 280px;
}

.location_map_image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border: 1px solid #e0ded9;
}

.location_block .location-text {
    font-size: 1.1rem;
    color: #444;
    margin-bottom: 20px;
}

/* ==========================================
   KONTAKT-BLOCK – voller Streifen + Inhalt
   ========================================== */
.contact_block {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;

    background-color: #f7f9fa;
    padding: 60px 0;
    margin-bottom: 80px;
    border-top: 1px solid #eaeaea;
}

.contact_inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

.contact_grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 50px;
}

.contact_content,
.contact_image {
    flex: 1;
    min-width: 300px;
}

.contact_image img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 350px;
    margin: 0 auto;
}

.contact_block .contact-text {
    font-size: 1.1rem;
    color: #444;
    margin-bottom: 20px;
}

/* ==========================================
   Buttons – einheitlich
   ========================================== */
.pill-btn {
    display: inline-block;
    background: #ffb7b2;
    color: #222;
    padding: 10px 24px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    user-select: none;
    margin-right: 10px;
}

.pill-btn:hover {
    background: #ff9c96;
    color: #000;
}

.register-pill-btn {
    background: #a8d8ea;
}

.register-pill-btn:hover {
    background: #8ecae6;
}

/* ==========================================
   VERANSTALTER-BLOCK
   ========================================== */
.organizer-standard-block {
    padding: 50px 0;
    background-color: #ffffff;
}

.organizer-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 50px;
}

.organizer-logos,
.organizer-content {
    flex: 1;
    min-width: 300px;
}

.organizer-all-logos {
    width: 100%;
    height: auto;
    display: block;
    max-width: 450px;
    margin: 0 auto;
}

.organizer-intro {
    font-size: 1.05rem;
    color: #444;
    line-height: 1.6;
    margin-bottom: 20px;
}

.organizer-list {
    list-style-type: disc;
    padding-left: 20px;
    margin: 0;
}

.organizer-list li {
    font-size: 1rem;
    color: #555;
    margin-bottom: 8px;
    line-height: 1.4;
}

/* ==========================================
   Registrierungsformular – Überschriften ausblenden
   ========================================== */
.com-users-registration .fields-container > h3,
.com-users-registration fieldset > legend,
.com-users-registration .profile-fieldset > legend,
.com-users-registration h3:not([class]) {
    display: none !important;
}

.com-users-registration legend {
    display: none !important;
}

/* ==========================================
   Frontend-Editor – Tabs ausblenden
   ========================================== */
.item-page.edit #jform_alias-lbl,
.item-page.edit #jform_alias,
.item-page.edit .control-group:has(#jform_alias) {
    display: none !important;
}

.item-page.edit .nav-tabs {
    display: none !important;
}

.item-page.edit #images,
.item-page.edit #attrib-helix_ultimate_blog_options,
.item-page.edit #publishing {
    display: none !important;
}

.item-page.edit .btn-toolbar {
    margin-top: 15px;
}

/* ==========================================
   Abstand zwischen Modulen
   ========================================== */
#sp-main-body .sp-module {
    margin-bottom: 80px;
}
