.elementor-332 .elementor-element.elementor-element-10b6d8f0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;}.elementor-332 .elementor-element.elementor-element-2a562db8{--display:flex;--min-height:50vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--overlay-opacity:0.4;--border-radius:20px 20px 20px 20px;--padding-top:9em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-2a562db8:not(.elementor-motion-effects-element-type-background), .elementor-332 .elementor-element.elementor-element-2a562db8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-400b0b3 );}.elementor-332 .elementor-element.elementor-element-2a562db8::before, .elementor-332 .elementor-element.elementor-element-2a562db8 > .elementor-background-video-container::before, .elementor-332 .elementor-element.elementor-element-2a562db8 > .e-con-inner > .elementor-background-video-container::before, .elementor-332 .elementor-element.elementor-element-2a562db8 > .elementor-background-slideshow::before, .elementor-332 .elementor-element.elementor-element-2a562db8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-332 .elementor-element.elementor-element-2a562db8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-332 .elementor-element.elementor-element-6e8c42ec{--display:flex;--justify-content:flex-end;--padding-top:0em;--padding-bottom:7em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-3aecd64c .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-332 .elementor-element.elementor-element-5947a3ff{--display:flex;--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-332 .elementor-element.elementor-element-69f8dc9b{margin:-47% 0% calc(var(--kit-widget-spacing, 0px) + 0%) -35%;padding:0px 0px 0px 0px;text-align:end;}.elementor-332 .elementor-element.elementor-element-69f8dc9b img{width:100%;height:415px;object-fit:cover;object-position:top center;}.elementor-332 .elementor-element.elementor-element-6c412339{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2em;--padding-bottom:7em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-5541e8af{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-332 .elementor-element.elementor-element-7789bae{--display:flex;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:3em;}.elementor-332 .elementor-element.elementor-element-43cbe894{text-align:start;}.elementor-332 .elementor-element.elementor-element-43cbe894 img{width:100%;border-radius:20px 20px 20px 20px;}.elementor-332 .elementor-element.elementor-element-7b2cc3cc .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:700;text-transform:uppercase;line-height:1.2em;}.elementor-332 .elementor-element.elementor-element-473205c{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-332 .elementor-element.elementor-element-7561b62{--display:flex;}.elementor-332 .elementor-element.elementor-element-6865a68{--display:flex;}.elementor-332 .elementor-element.elementor-element-d49b4ee{--display:flex;}.elementor-332 .elementor-element.elementor-element-3a841cf{--display:flex;}.elementor-332 .elementor-element.elementor-element-98026b5{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:20px 20px 20px 20px;--padding-top:2em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;}.elementor-332 .elementor-element.elementor-element-98026b5:not(.elementor-motion-effects-element-type-background), .elementor-332 .elementor-element.elementor-element-98026b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-39423e9 );}.elementor-332 .elementor-element.elementor-element-7e5f70da{--grid-columns:1;--grid-row-gap:10px;--grid-column-gap:0px;}.elementor-332 .elementor-element.elementor-element-46c6e337{--spacer-size:15px;}.elementor-332 .elementor-element.elementor-element-11568b3e{--display:flex;--overlay-opacity:0.4;--border-radius:20px 20px 20px 20px;--padding-top:2em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;}.elementor-332 .elementor-element.elementor-element-11568b3e:not(.elementor-motion-effects-element-type-background), .elementor-332 .elementor-element.elementor-element-11568b3e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-400b0b3 );}.elementor-332 .elementor-element.elementor-element-11568b3e::before, .elementor-332 .elementor-element.elementor-element-11568b3e > .elementor-background-video-container::before, .elementor-332 .elementor-element.elementor-element-11568b3e > .e-con-inner > .elementor-background-video-container::before, .elementor-332 .elementor-element.elementor-element-11568b3e > .elementor-background-slideshow::before, .elementor-332 .elementor-element.elementor-element-11568b3e > .e-con-inner > .elementor-background-slideshow::before, .elementor-332 .elementor-element.elementor-element-11568b3e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://fc-stuttgart.de/wp-content/uploads/2026/01/img-22.webp");--background-overlay:'';background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-332 .elementor-element.elementor-element-8dbe69{text-align:center;}.elementor-332 .elementor-element.elementor-element-8dbe69 .elementor-heading-title{color:var( --e-global-color-accent );}.elementor-332 .elementor-element.elementor-element-24afe8e5{text-align:center;}.elementor-332 .elementor-element.elementor-element-24afe8e5 .elementor-heading-title{color:var( --e-global-color-primary );}@media(max-width:1024px){.elementor-332 .elementor-element.elementor-element-2a562db8{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;--padding-top:12em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-6e8c42ec{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-3aecd64c{text-align:center;}.elementor-332 .elementor-element.elementor-element-5541e8af{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-332 .elementor-element.elementor-element-7789bae{--padding-top:3em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-7b2cc3cc .elementor-heading-title{font-size:2.6rem;}.elementor-332 .elementor-element.elementor-element-473205c{--grid-auto-flow:row;}.elementor-332 .elementor-element.elementor-element-7e5f70da{--grid-columns:2;}.elementor-332 .elementor-element.elementor-element-11568b3e{--min-height:45vh;--justify-content:center;}}@media(max-width:767px){.elementor-332 .elementor-element.elementor-element-10b6d8f0{--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-332 .elementor-element.elementor-element-2a562db8{--padding-top:6em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-5947a3ff{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-332 .elementor-element.elementor-element-5947a3ff.e-con{--order:99999 /* order end hack */;}.elementor-332 .elementor-element.elementor-element-69f8dc9b{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-332 .elementor-element.elementor-element-69f8dc9b img{height:243px;}.elementor-332 .elementor-element.elementor-element-7789bae{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-332 .elementor-element.elementor-element-7b2cc3cc .elementor-heading-title{font-size:1.6rem;}.elementor-332 .elementor-element.elementor-element-473205c{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-332 .elementor-element.elementor-element-7e5f70da{--grid-columns:1;}.elementor-332 .elementor-element.elementor-element-11568b3e{--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}}@media(min-width:768px){.elementor-332 .elementor-element.elementor-element-6e8c42ec{--width:50%;}.elementor-332 .elementor-element.elementor-element-5947a3ff{--width:45%;}.elementor-332 .elementor-element.elementor-element-7789bae{--width:70%;}.elementor-332 .elementor-element.elementor-element-3a841cf{--width:30%;}}@media(max-width:1024px) and (min-width:768px){.elementor-332 .elementor-element.elementor-element-6e8c42ec{--width:100%;}.elementor-332 .elementor-element.elementor-element-5947a3ff{--width:85%;}.elementor-332 .elementor-element.elementor-element-7789bae{--width:100%;}.elementor-332 .elementor-element.elementor-element-3a841cf{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-6c412339 *//* 
 * FC STUTTGART - KARTEN DESIGN SYSTEM (#ba042a)
 * Verwendung: Fügen Sie diese Datei in Ihren Theme-Ordner ein oder kopieren Sie den Inhalt in das "Zusätzliche CSS" im Customizer.
 */

/* =========================================
   1. TRAININGSZEITEN
   ========================================= */
.fc-trainingszeiten-wrapper {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: #f8f9fa;
    padding: 10px;
    border-radius: 16px;
    box-sizing: border-box;
}
.fc-trainingszeiten-wrapper * { box-sizing: border-box; }
.fc-training-grid { display: grid; gap: 1rem; max-width: 900px; margin: 0 auto; }

.fc-training-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
    position: relative;
    /* Drop shadow for better rounded corners rendering */
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.05));
    border: 1px solid #eef0f2;
}

/* Red Bar - Detached Fix */
.fc-training-card::before {
    content: '';
    position: absolute;
    left: -1px;
    top: -1px;
    bottom: -1px;
    width: 6px;
    background: #ba042a;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    z-index: 1;
}

.fc-training-card:hover { 
    transform: translateY(-3px); 
    filter: drop-shadow(0 8px 12px rgba(186, 4, 42, 0.15));
    border-color: #fce7ec;
}

.fc-icon-wrapper {
    width: 54px; height: 54px;
    background: #fef2f4;
    border-radius: 50%;
    display: flex; 
    align-items: center; /* FIXED: camelIcon error corrected */
    justify-content: center;
    margin-right: 1.5rem;
    transition: all 0.3s ease;
    flex-shrink: 0;
}
.fc-training-card:hover .fc-icon-wrapper { background: #ba042a; }
.fc-icon-wrapper svg { width: 26px; height: 26px; color: #ba042a; transition: all 0.3s ease; }
.fc-training-card:hover .fc-icon-wrapper svg { color: white; }

.fc-training-info { flex: 1; }
.fc-training-day { font-size: 1.25rem; font-weight: 600; color: #1a1a1a; text-transform: uppercase; margin-bottom: 0.25rem; letter-spacing: 0.5px; }
.fc-training-time { font-size: 1rem; color: #555; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; }
.fc-training-time svg { width: 18px; height: 18px; color: #ba042a; }

@media (max-width: 600px) { .fc-training-card { padding: 1.25rem 1.25rem 1.25rem 1.75rem; } }


/* =========================================
   2. LINKS
   ========================================= */
.fc-links-wrapper {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: #f8f9fa;
    padding: 10px;
    border-radius: 16px;
    box-sizing: border-box;
}
.fc-links-wrapper * { box-sizing: border-box; }
.fc-links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; max-width: 1200px; margin: 0 auto; }

.fc-link-card {
    background: white;
    border-radius: 12px;
    padding: 1.75rem;
    text-decoration: none;
    color: inherit;
    display: flex; align-items: center; gap: 1.25rem;
    transition: all 0.3s ease;
    border: 1px solid #eef0f2;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
    position: relative; overflow: hidden;
}
.fc-link-card::before {
    content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0%; background: #ba042a; transition: width 0.3s ease;
}
.fc-link-card:hover::before { width: 100%; }
.fc-link-card:hover { transform: translateY(-4px); border-color: #fce7ec; box-shadow: 0 10px 25px rgba(186, 4, 42, 0.1); }
.fc-link-icon {
    width: 48px; height: 48px; background: white; border: 2px solid #f0f0f0; border-radius: 12px;
    display: flex; align-items: center; justify-content: center; color: #ba042a; transition: all 0.3s ease; flex-shrink: 0;
}
.fc-link-card:hover .fc-link-icon { border-color: #ba042a; background: #ba042a; color: white; }
.fc-link-icon svg { width: 24px; height: 24px; }
.fc-link-content { flex: 1; overflow: hidden; }
.fc-link-title { font-size: 1.1rem; font-weight: 700; color: #1a1a1a; display: block; margin-bottom: 0.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-link-url { font-size: 0.85rem; color: #888; font-weight: 500; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.3s ease; }
.fc-link-card:hover .fc-link-url { color: #ba042a; }
.fc-link-arrow { color: #ccc; transition: all 0.3s ease; }
.fc-link-card:hover .fc-link-arrow { color: #ba042a; transform: translateX(4px); }


/* =========================================
   3. TRAINER
   ========================================= */
.fc-trainer-wrapper {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: #f8f9fa;
    padding: 10px;
    border-radius: 20px;
    box-sizing: border-box;
}
.fc-trainer-wrapper * { box-sizing: border-box; }
.fc-trainer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 2rem; max-width: 1400px; margin: 0 auto; }

.fc-trainer-card {
    background: white; border-radius: 16px; overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease; text-align: center; border: 1px solid #eef0f2; position: relative;
    max-width: 400px;
}
.fc-trainer-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(186, 4, 42, 0.12); border-color: #f8d7da;
}

.fc-trainer-top {
    height: 50px; background: linear-gradient(135deg, #ba042a 0%, #900320 100%); position: relative;
    /* Ensure no gap at top */
    margin-top: -1px; margin-left: -1px; margin-right: -1px; width: calc(100% + 2px);
}
.fc-trainer-top::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(255,255,255,0.1) 1px, transparent 1px); background-size: 20px 20px; opacity: 0.3;
}

.fc-trainer-avatar {
    width: 70px; height: 70px; background: white; border-radius: 50%;
    margin: -35px auto 1rem; display: flex; align-items: center; justify-content: center;
    border: 5px solid white; box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    position: relative; z-index: 2; color: #ddd; transition: color 0.3s ease;
}
.fc-trainer-card:hover .fc-trainer-avatar { color: #ba042a; }
.fc-trainer-avatar svg { width: 50px; height: 50px; }

.fc-trainer-info { padding: 0 2rem 2.5rem; }
.fc-trainer-name { font-size: 1.6rem; font-weight: 800; color: #1a1a1a; margin-bottom: 2rem; text-transform: uppercase; letter-spacing: 0.5px; }

.fc-contact-list { display: flex; flex-direction: column; gap: 1rem; text-align: left; }

.fc-contact-row {
    display: flex; align-items: center; gap: 1.25rem; padding: 1rem 1.25rem;
    background: #fdf2f4; border-radius: 12px; transition: all 0.3s ease; border: 1px solid transparent;
    min-height: 80px;
}
.fc-contact-row:hover { background: white; border-color: #ba042a; box-shadow: 0 4px 12px rgba(186, 4, 42, 0.08); }

.fc-contact-icon {
    width: 44px; height: 44px; border-radius: 12px; background: white;
    display: flex; align-items: center; justify-content: center; color: #ba042a;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03); flex-shrink: 0;
    font-size: 1.5rem;
}
.fc-contact-row:hover .fc-contact-icon { background: #ba042a; color: white; }

.fc-contact-text { font-size: 1rem; font-weight: 500; color: #333; flex: 1; word-break: break-all; display: flex; flex-direction: column; justify-content: center; }
.fc-label { display: block; font-size: 0.75rem; text-transform: uppercase; color: #ba042a; margin-bottom: 4px; opacity: 0.9; font-weight: 700; letter-spacing: 0.5px; }
.fc-contact-text a { text-decoration: none; color: inherit; transition: color 0.2s; }
.fc-contact-text a:hover { color: #ba042a; text-decoration: underline; }/* End custom CSS */