/* ==========================================================
   soul-trail.de – Zentrales CSS (Plugin "siimple Zentrales CSS")
   Regeln: Klassen mit Präfix st-/soul-, keine Inline-Styles in Seiten.
   ========================================================== */

/* --- Allgemein ------------------------------------------- */
/* Borlabs-Cookie: Vorschaubilder blockierter Inhalte in Graustufen */
body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-thumbnail{filter:grayscale(1)}

/* Divi-Akkordeon: Absatzabstände */
.et_pb_accordion .et_pb_toggle_content p{padding-bottom:.45em}
.et_pb_accordion .et_pb_toggle_content p:last-child{padding-bottom:0}

/* Unterzeile unter Abschnittsüberschriften */
.st-subline{text-align:center;font-size:1.25em}

/* --- Leistungen („Darum solltest du dabei sein“) --------- */
.st-benefits{display:grid;grid-template-columns:1fr 1fr;gap:34px 70px;max-width:1000px;margin:0 auto;padding:10px 0 0;grid-template-rows:repeat(4,auto);grid-auto-flow:column}
.st-benefit{display:flex;align-items:center;gap:20px;min-height:64px}
.st-benefit-icon{flex:0 0 56px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:#C65F17}
.st-benefit-icon svg{width:48px;height:48px}
.st-benefit-text{padding:6px 0;font-size:19px;line-height:1.45;color:#000;font-weight:600;align-self:stretch;display:flex;align-items:center}
@media (max-width:980px){.st-benefits{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;gap:24px;max-width:560px}}
@media (max-width:767px){.st-benefit{gap:14px}
.st-benefit-icon{flex-basis:42px;width:42px;height:42px}
.st-benefit-icon svg{width:38px;height:38px}
.st-benefit-text{font-size:16px}}
/* Variante mit 6 Punkten (z. B. Mini Trail): 3 Zeilen statt 4 */
@media (min-width:981px){.st-benefits.st-benefits-3rows{grid-template-rows:repeat(3,auto)}}

/* --- Bewertungen-Slider (Startseite) --------------------- */
.st-rev{max-width:1180px;margin:0 auto;padding:0 0 10px;position:relative}
.st-rev *{box-sizing:border-box}
.st-rev .st-rev-title{text-align:center;margin:0;padding-bottom:10px;color:#2D4A38;font-size:59px;font-weight:700;line-height:1em}
.st-rev .st-rev-sub{text-align:center;margin:0 0 30px;padding:0;color:#000;font-size:25px;font-weight:300;line-height:1.3em}
@media (max-width:980px){.st-rev .st-rev-title{font-size:50px}
.st-rev .st-rev-sub{font-size:22px}}
@media (max-width:767px){.st-rev .st-rev-title{font-size:33px}
.st-rev .st-rev-sub{font-size:20px}}
.st-rev-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.st-rev-track::-webkit-scrollbar{display:none}
.st-rev-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;background:#f2efe3;border-radius:6px;border-top:5px solid #5f7f1f;padding:26px 26px 22px;display:flex;flex-direction:column;margin:0}
.st-rev-stars{color:#5f7f1f;font-size:22px;letter-spacing:3px;line-height:1;margin-bottom:14px}
.st-rev-stars .off{color:#cfd3c2}
.st-rev-card blockquote{margin:0;padding:0;border:0;font-size:18px;line-height:1.5;color:#000;flex:1;font-style:normal}
.st-rev-card figcaption{margin-top:16px;font-weight:700;color:#2D4A38;font-size:17px}
.st-rev-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px}
.st-rev-btn{width:44px;height:44px;border-radius:50%;border:2px solid #5f7f1f;background:#fff;color:#5f7f1f;font-size:20px;line-height:1;cursor:pointer;padding:0;transition:background .2s,color .2s,border-color .2s}
.st-rev-btn:hover{background:#c65f17;border-color:#c65f17;color:#fff}
.st-rev-dots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.st-rev-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#cfd3c2;cursor:pointer}
.st-rev-dot.active{background:#5f7f1f}
@media (max-width:980px){.st-rev-card{flex-basis:calc((100% - 24px)/2)}}
@media (max-width:767px){.st-rev-card{flex-basis:86%;padding:22px 20px 18px}
.st-rev-card blockquote{font-size:16px}
.st-rev-track{gap:16px}}

/* --- Streckenseiten: Fast Facts --------------------------- */
.soul-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:56px;max-width:1080px;margin:0 auto;text-align:center}
.soul-facts .sf{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:22px 0 20px;border-bottom:1px solid #111}
.soul-facts .sf-v{display:block;font-size:28px;line-height:1.15;font-weight:700;color:#111}
.soul-facts .sf-l{display:block;font-size:17px;line-height:1.3;font-weight:300;color:#111;margin-top:8px}
.soul-facts .sf-wide .sf-v{font-size:19px;font-weight:400;line-height:1.5}
.soul-facts .sf-wide .registration-fee-steps::first-line{font-size:28px;font-weight:700;line-height:1.15}
@media (max-width:600px){.soul-facts .sf-wide .registration-fee-steps::first-line{font-size:24px}}
@media (max-width:980px){.soul-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}
@media (max-width:600px){.soul-facts{grid-template-columns:1fr}
.soul-facts .sf-v{font-size:24px}}
.soul-facts .sf::before{content:"";order:3;display:block;width:48px;height:48px;margin:0 auto 10px;background:#C65F17;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.soul-facts .sf:nth-child(1){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%276%27 cy=%2719%27 r=%273%27/%3E%3Cpath d=%27M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15%27/%3E%3Ccircle cx=%2718%27 cy=%275%27 r=%273%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(2){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m8 3 4 8 5-5 5 15H2L8 3z%27/%3E%3Cpath d=%27M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(3){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z%27/%3E%3Cpath d=%27M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z%27/%3E%3Cpath d=%27M16 17h4%27/%3E%3Cpath d=%27M4 13h4%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(4){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z%27/%3E%3Cpath d=%27M4 22v-7%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(5){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M5 22h14%27/%3E%3Cpath d=%27M5 2h14%27/%3E%3Cpath d=%27M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22%27/%3E%3Cpath d=%27M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(6){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z%27/%3E%3Ccircle cx=%2712%27 cy=%2710%27 r=%273%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(7){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z%27/%3E%3Cpath d=%27M13 5v2%27/%3E%3Cpath d=%27M13 17v2%27/%3E%3Cpath d=%27M13 11v2%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(8){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M10 2h4%27/%3E%3Cpath d=%27M10.5 2v3L8.6 7.2A2.5 2.5 0 0 0 8 8.8V20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V8.8a2.5 2.5 0 0 0-.6-1.6L13.5 5V2%27/%3E%3Cpath d=%27M8 12h8%27/%3E%3Cpath d=%27M8 16h8%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(9){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%27/%3E%3Ccircle cx=%279%27 cy=%277%27 r=%274%27/%3E%3Cpath d=%27M22 21v-2a4 4 0 0 0-3-3.87%27/%3E%3Cpath d=%27M16 3.13a4 4 0 0 1 0 7.75%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(10){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%27/%3E%3Ccircle cx=%279%27 cy=%277%27 r=%274%27/%3E%3Cpath d=%27M19 8v6%27/%3E%3Cpath d=%27M22 11h-6%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(11){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M10 2h4%27/%3E%3Cpath d=%27M12 14l3-3%27/%3E%3Ccircle cx=%2712%27 cy=%2714%27 r=%278%27/%3E%3C/svg%3E")}
.soul-facts .sf:nth-child(12){--i:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 10h12%27/%3E%3Cpath d=%27M4 14h9%27/%3E%3Cpath d=%27M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2%27/%3E%3C/svg%3E")}

/* --- Streckenseiten: Pflichtausrüstung-Icons -------------- */
.st-gear-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 6px;color:#C65F17}

/* --- Streckenseiten: ITRA-/UTMB-Logos --------------------- */
.st-itra-logo{width:15%;height:auto;display:inline-block}

/* --- Streckenseiten: Höhenprofil (Wurzel: .soul-hp) ------- */
.soul-hp{color:#111}
.soul-hp svg{width:100%;height:auto;display:block;overflow:visible;touch-action:pan-y}
.soul-hp .g{stroke:rgba(45,74,56,.14);stroke-width:1}
.soul-hp .ax{fill:rgba(17,17,17,.6)}
.soul-hp .ln{fill:none;stroke:#2D4A38;stroke-width:2.5;stroke-linejoin:round}
.soul-hp .ar{fill:url(#soul-hp-gr)}
.soul-hp .vl{stroke:#C65F17;stroke-width:1.5;stroke-dasharray:4 4}
.soul-hp .pill{fill:#C65F17}
.soul-hp .pt{fill:#fff;font-weight:700}
.soul-hp .dot{fill:#fff;stroke:#C65F17;stroke-width:3}
.soul-hp .vp{cursor:pointer;outline:none}
.soul-hp .vp:hover .pill,.soul-hp .vp:focus .pill,.soul-hp .vp.on .pill{fill:#2D4A38}
.soul-hp .vp.on .dot,.soul-hp .vp.on .vl{stroke:#2D4A38}
.soul-hp .cur{pointer-events:none;opacity:0}
.soul-hp .cur line{stroke:#111;stroke-width:1}
.soul-hp .cur circle{fill:#C65F17;stroke:#fff;stroke-width:2}
.soul-hp .tip rect{fill:#111}
.soul-hp .tip text{fill:#fff;font-weight:700}
.soul-hp .hp-info{margin-top:12px;min-height:44px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;border-top:1px solid rgba(45,74,56,.2);padding-top:12px;font-size:15px;line-height:1.4}
.soul-hp .hp-info b{color:#2D4A38}
.soul-hp .hp-hint{display:none}

/* --- Bild-Text-Reihen (Startseite DE/CZ: ITRA, Tracking App, Fotos, Trinkbecher) ---
   Zeile in Divi mit CSS-Klasse st-media-row. Desktop: Text vertikal mittig zum Bild.
   Tablet/Handy: untereinander, Reihenfolge Bild > Text über Divi Responsive Helper (Spaltenreihenfolge). */
@media (min-width:981px){.et_pb_row.st-media-row{display:flex;align-items:center}}
/* Theme setzt mobil padding:0 20px !important auf Zeilen – Abstand daher per margin */
@media (max-width:980px){.et_pb_row.st-media-row{flex-wrap:wrap;row-gap:20px;margin-bottom:50px}
.et_pb_row.st-media-row:last-child{margin-bottom:0}
/* Divi Responsive Helper setzt margin-bottom:30px !important auf die letzte Spalte – hier neutralisiert, Abstand kommt aus row-gap */
.et_pb_row.st-media-row>.et_pb_column.et_pb_column{margin-bottom:0!important}}
.st-media-row .et_pb_column>.et_pb_module:last-child{margin-bottom:0}
