:root{
  --kubio-blue:#2f7cff;
  --kubio-blue-dark:#1f52a9;
  --kubio-orange:#f17c20;
  --kubio-dark:#2b2d42;
  --kubio-text:#2b2d42;
  --kubio-gray:#999999;
  --kubio-light-gray:#dcdcdc;
  --kubio-white:#ffffff;
  --kubio-shadow:0 19px 38px rgba(0,0,0,.16);
  --kubio-soft-shadow:0 -10px 38px rgba(0,0,0,.10);
  --container:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--kubio-text);font-family:Mulish,Helvetica,Arial,sans-serif;font-size:16px;font-weight:300;line-height:1.4}
body.menu-open,body.popup-open{overflow:hidden}
a{color:var(--kubio-blue);font-weight:600;text-decoration:none;line-height:1.5}
a:hover{color:var(--kubio-blue-dark)}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
.narrow{max-width:820px}
.center{text-align:center}
h1,h2,h3,h4,h5,h6{font-family:Mulish,Helvetica,Arial,sans-serif;color:var(--kubio-dark);margin:0 0 20px}
h1{font-size:5.5em;line-height:1.26;font-weight:700}
h2{font-size:3em;line-height:1.143;font-weight:700}
h3{font-size:1.8em;line-height:1.25;font-weight:700}
h4{font-size:1.4em;line-height:1.4;font-weight:500}
p{margin:0 0 20px}
.lead{font-weight:400;font-size:1.2em;line-height:1.5}

/* Original Kubio navigation */
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;background:transparent;box-shadow:none;transition:background .22s ease,box-shadow .22s ease,backdrop-filter .22s ease;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);overflow:visible}
.site-header.is-scrolled,.site-header.menu-active{background:rgba(241,124,32,.68);box-shadow:0 6px 18px rgba(0,0,0,.10);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nav-shell{height:80px;display:flex;align-items:center;padding:0 20px;overflow:visible}
.brand{display:flex;align-items:center;justify-content:center;padding:10px;flex:0 0 auto}
.brand img{max-height:60px;width:auto}
.main-nav{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:50px;position:relative;z-index:1002;overflow:visible}
.main-nav>a,.nav-dropdown>a{position:relative;padding:10px 0;color:rgba(255,255,255,.8);font-family:Mulish,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.5}
.main-nav>a:hover,.nav-dropdown>a:hover,.main-nav>a.active,.nav-dropdown.active>a{color:#fff}
.main-nav>a::after,.nav-dropdown>a::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:#fff;transition:right .25s ease}
.main-nav>a:hover::after,.nav-dropdown>a:hover::after,.main-nav>a.active::after,.nav-dropdown.active>a::after{right:0}
.nav-dropdown{position:relative;z-index:1003;padding-bottom:0}
.nav-caret{font-size:15px;margin-left:4px}
.dropdown-menu{display:none;position:absolute;top:100%;left:-10px;min-width:220px;background:#fff;margin:0;padding:6px 0;border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.18);z-index:1010;pointer-events:auto}
.dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:transparent}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown.is-open .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:11px 18px;border-bottom:1px solid rgba(128,128,128,.14);background:#fff;color:#404141;font-size:14px;font-weight:500;white-space:nowrap;pointer-events:auto}
.dropdown-menu a:hover{background:var(--kubio-blue);color:#fff}
.menu-toggle{display:none;margin-left:auto;width:34px;height:34px;padding:5px;border:0;background:transparent;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.25s;z-index:1020}
.mobile-menu{position:fixed;top:0;right:-300px;width:300px;height:100dvh;background:var(--kubio-dark);z-index:1021;transition:right .25s ease;overflow:auto}
.mobile-overlay.open{opacity:1;visibility:visible}
.mobile-menu.open{right:0}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:10px}
.mobile-brand{display:flex;padding:10px}
.mobile-brand img{max-height:70px;width:auto}
.mobile-close{border:0;background:transparent;color:#fff;font-size:32px;line-height:1;padding:8px;cursor:pointer}
.mobile-nav>a,.mobile-nav summary,.mobile-nav details>a{display:block;color:#fff;font-size:14px;font-weight:400;padding:20px 40px;border:0;cursor:pointer}
.mobile-nav>a:hover,.mobile-nav summary:hover,.mobile-nav details>a:hover{background:var(--kubio-blue);color:#fff}
.mobile-nav details>a{padding:12px 40px 12px 58px;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-nav summary{list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}

/* Hero */
.hero{position:relative;display:flex;align-items:center;justify-content:center;color:#fff;background-image:var(--hero-image,url("/assets/media/header_bild.jpg"));background-size:cover;background-repeat:no-repeat}
.hero-overlay{position:absolute;inset:0;background:#000;opacity:.6}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff}
.hero-title{font-size:3em;line-height:1.143;color:#fff;margin:0 0 20px}
.hero-title-mobile{display:none}
.home-hero{min-height:100vh;background-position:50% 50%;padding:80px 0 0}
.home-hero .hero-content{width:min(80%,900px)}
.hero-lead{font-weight:300;font-size:16px;line-height:1.4;margin-bottom:20px;color:#fff}
.hero-copy{max-width:780px;margin:0 auto 20px;color:#fff}
.hero-actions{padding-top:20px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:.25s}
.hero-btn{width:200px;min-height:52px;padding:15px 40px;border-radius:6px;font-weight:600;border:0}
.hero-btn-orange{background:var(--kubio-orange);color:#fff}
.hero-btn-orange:hover{background:var(--kubio-dark);color:#fff}
.hero-btn-white{background:#fff;color:var(--kubio-dark)}
.hero-btn-white:hover{background:var(--kubio-blue);color:#fff}
.page-hero{background-position:49% 63%;padding:180px 20px 100px}
.page-hero .hero-content{width:100%}

/* Kubio page sections */
.section{padding:25px 0}
.section-title{font-size:2em;text-align:center}
.section-lead{font-size:1em;text-align:center}
.about-section{background:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.about-copy h2{font-size:2em;text-align:center}
.about-copy p{text-align:left}
.kubio-shadow-image{border-radius:6px;box-shadow:var(--kubio-shadow);overflow:hidden}
.kubio-shadow-image img{width:100%;height:auto}

.offers-home{background:var(--kubio-light-gray);padding-top:20px;padding-bottom:25px}
.section-heading{width:80%;margin:0 auto 24px;text-align:center}
.section-heading h2{font-size:2em}
.section-heading p{font-size:1em}
.cards{display:grid;gap:20px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.offer-card{background:#fff;border-radius:8px;overflow:hidden;position:relative;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.offer-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(43,45,66,.12)}
.offer-card.is-featured{border-color:rgba(241,124,32,.55);box-shadow:0 12px 28px rgba(241,124,32,.12)}
.offer-card-media{position:relative;overflow:hidden}
.offer-card-media img{width:100%;height:220px;object-fit:cover}
.offer-card-status{position:absolute;left:14px;top:14px;max-width:calc(100% - 28px);padding:7px 10px;border-radius:999px;background:rgba(43,45,66,.88);color:#fff;font-size:12px;font-weight:700;line-height:1.2}
.offer-card-status.status-open{background:#2d8a52}
.offer-card-status.status-closed{background:#b83232}
.offer-card-status.status-upcoming{background:#c86b1d}
.offer-card-body{padding:20px;text-align:left}
.offer-card-body h3{font-size:1.4em;font-weight:500;margin-bottom:20px}
.offer-card-body p{margin-bottom:20px}
.text-link{color:var(--kubio-gray);font-weight:600}
.text-link:hover{color:var(--kubio-dark)}
.text-link::after{content:"»";margin-left:10px;font-size:16px}

.team-teaser{background:#fff;padding:25px 0}
.team-teaser .section-heading{max-width:790px;width:69.06%}
.team-visual{position:relative;width:min(551px,100%);min-height:330px;margin:20px auto 0;background-image:var(--team-image,url("/assets/media/trainerteam_2024.webp"));background-position:53% 84%;background-size:cover;background-repeat:no-repeat;border:8px solid #fff;border-bottom:0;border-radius:6px 6px 0 0;box-shadow:var(--kubio-soft-shadow);display:flex;align-items:flex-end;justify-content:center}
.team-visual-action{width:100%;padding:0 0 18px;text-align:center}
.kubio-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:var(--kubio-orange);border:2px solid var(--kubio-orange);border-radius:5px;color:#fff;font-family:"Open Sans",Arial,sans-serif;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:1px;text-transform:uppercase;text-align:center}
.kubio-btn:hover{background:var(--kubio-blue-dark);border-color:var(--kubio-blue-dark);color:#fff}
.team-visual .kubio-btn{padding:12px;border-radius:6px;margin:10px}

.home-locations-heading{background:var(--kubio-light-gray);padding:25px 0}
.home-locations-heading h2{font-size:2em;text-align:center;margin:0}
.home-locations{background:var(--kubio-light-gray);padding:0}
.home-locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.home-location{padding:40px 10px;text-align:left}
.home-location h2{font-size:2em;text-align:center}
.home-location a{color:var(--kubio-orange)}
.home-location a:hover{color:var(--kubio-blue-dark)}
.home-map-wrap{background:var(--kubio-light-gray);padding:0 0 25px}
.mapbox-home{width:100%;height:500px;border-radius:10px;overflow:hidden}
.custom-marker{width:50px;height:50px;border-radius:50%;overflow:visible;position:relative;cursor:pointer;transition:transform .3s ease}
.custom-marker img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s ease}
.marker-label{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);background:rgba(255,255,255,.25);color:#000;font-size:12px;padding:6px 10px;border-radius:8px;text-align:center;width:max-content;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:.9}
.custom-marker:hover img{transform:scale(1.18)}
.custom-marker:hover .marker-label{background:rgba(255,255,255,.7);opacity:1}

/* Angebote */
.offers-page-section{padding:32px 0 36px;background:rgba(255,255,255,.65)}
.offers-page-section>.container>h2{font-size:2em;text-align:center}
.offers-page-section .section-heading{width:80%}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.offer-detail-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e5ea;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px rgba(43,45,66,.08);scroll-margin-top:100px}
.offer-detail-card.is-featured{border-color:rgba(241,124,32,.7);box-shadow:0 16px 34px rgba(241,124,32,.16)}
.offer-detail-media{position:relative;background:#eee}
.offer-detail-media img{width:100%;height:220px;object-fit:cover}
.offer-badges{position:absolute;left:14px;right:14px;top:14px;display:flex;gap:7px;flex-wrap:wrap}
.offer-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.offer-badge-featured{background:var(--kubio-orange);color:#fff}
.offer-badge-status{background:rgba(43,45,66,.9);color:#fff}
.offer-badge-status.status-open{background:#2d8a52}
.offer-badge-status.status-closed{background:#b83232}
.offer-badge-status.status-upcoming{background:#c86b1d}
.offer-detail-body{display:flex;flex-direction:column;flex:1;padding:22px}
.offer-detail-card h3{font-size:1.5em;font-weight:700;text-align:left;margin-bottom:12px}
.offer-detail-copy{min-height:92px;margin-bottom:16px}
.offer-detail-meta{font-size:14px;line-height:1.45;margin:0 0 9px;color:#4f5364}
.offer-detail-meta strong{color:var(--kubio-dark)}
.offer-facts{margin:14px 0 20px;border-top:1px solid #eceef2}
.offer-facts>div{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eceef2}
.offer-facts dt{font-size:12px;font-weight:700;color:#777b88;text-transform:uppercase;letter-spacing:.04em}
.offer-facts dd{margin:0;font-weight:500;color:var(--kubio-dark)}
.offer-actions{margin-top:auto}
.offer-detail-card .trainings-btn-wrapper{width:100%;margin:0 0 9px}
.offer-detail-card .trainings-btn{width:100%;max-width:none;margin:0}
.offer-panel .kubio-btn{margin:0 0 18px}
.offer-panel ul{padding-left:22px;margin:0 0 24px}
.gallery-section{padding:0;background:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-column{display:flex;flex-direction:column;gap:0}
.gallery-item{padding-bottom:30px}
.gallery-item img{width:100%;height:auto;border:6px solid #fff;border-radius:6px;box-shadow:var(--kubio-shadow)}

/* Trainerteam */
.trainer-section{padding:25px 0}
.trainer-intro{width:80%;margin:0 auto 30px;text-align:center}
.trainer-intro h2{font-size:2em}
.trainer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trainer-card{background:#fff;box-shadow:var(--kubio-shadow);text-align:center}
.trainer-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;margin:0 auto}
.trainer-card-body{padding:18px}
.trainer-card h3{font-size:1.4em;font-weight:500;margin:0 0 8px}
.trainer-card p{margin:0;color:var(--kubio-gray)}

/* Standorte */
.locations-page{padding:25px 0}
.locations-page h2{font-size:2em;text-align:center}
.location-cards{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.location-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #e5e7ec;border-radius:10px;padding:24px;box-shadow:0 10px 26px rgba(43,45,66,.07)}
.location-card img{width:auto;max-width:100%;height:180px;object-fit:contain;margin-bottom:16px}
.location-card h3{font-size:1.45em;margin-bottom:8px}
.location-card p{max-width:480px}
.location-fact{font-weight:700;color:var(--kubio-blue);margin-bottom:10px}
.location-actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:auto}
.location-card .kubio-btn{margin-top:10px}
.location-route{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid #cfd4dc;border-radius:5px;color:var(--kubio-dark);font-weight:600}

/* Club detail */
.club-detail{padding:25px 0}
.club-content{max-width:100%;text-align:center}
.club-content h2{font-size:2em;text-align:center}
.club-content p{font-size:1em;text-align:justify}
.button-row{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:20px 0}
.map-shell{margin-top:24px;border-radius:6px;box-shadow:var(--kubio-shadow);overflow:hidden;background:#f3f3f3}
.mapbox-location{width:100%;height:430px}
.mapbox-location-shell{background:#fff}
.mapbox-route-bar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:16px;background:#fff;border-top:1px solid #e3e5ea}
.mapbox-route-button:disabled{opacity:.6;cursor:wait}
.mapbox-route-status{font-size:14px;font-weight:700;color:#505363}
.mapbox-route-status.error{color:#a02020}

/* Kontakt */
.contact-section{padding:25px 0;background:#fff}
.contact-card{display:grid;grid-template-columns:1fr 1fr;margin:0 5%;background:#fff;box-shadow:var(--kubio-shadow)}
.contact-photo{min-height:560px;background-image:linear-gradient(90deg,rgba(255,255,255,0) 70%,#fff 100%),var(--contact-image,url("/assets/media/braun_kontakt.webp"));background-size:cover;background-position:59% 32%}
.contact-form-col{padding:34px;display:flex;flex-direction:column;justify-content:flex-end}
.contact-form-col h2{font-size:2em;font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:400;margin:0 0 4px}
input,textarea,select{width:100%;font-family:Syne,Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.6;color:var(--kubio-dark);background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 10px;margin-bottom:10px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--kubio-blue)}
textarea{min-height:150px;resize:vertical}
.contact-submit{padding:8px 25px;background:var(--kubio-blue);border:2px solid var(--kubio-blue);border-radius:4px;color:#fff;font-family:Syne,Helvetica,Arial,sans-serif;cursor:pointer}
.contact-submit:hover{background:var(--kubio-blue-dark);border-color:var(--kubio-blue-dark)}
.contact-social{display:flex;justify-content:center;gap:18px;margin-top:20px}
.contact-social a{display:flex;width:30px;height:30px;color:rgba(0,0,0,.5)}
.contact-social svg{width:26px;height:26px;fill:currentColor}
.contact-social a:hover{color:var(--kubio-blue)}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-notice{padding:14px 16px;border-radius:4px;margin:0 0 20px;font-weight:600}
.form-notice.success{background:#edf8ef;color:#256331;border:1px solid #b9dfc0}
.form-notice.error{background:#fff1f1;color:#8b2222;border:1px solid #edc1c1}

/* Legal */
.legal{max-width:920px}
.legal-main-title{font-size:2em!important;text-align:left}
.legal h2{font-size:1.8em;margin-top:32px}

/* Footer */
.site-footer{background:#fff;padding:30px 0}
.footer-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.footer-left{text-align:left}
.footer-name{display:inline-block;color:var(--kubio-dark);font-size:24px;font-weight:600;line-height:1.4;margin-bottom:14px}
.footer-name:hover{color:var(--kubio-dark)}
.footer-social{display:flex;align-items:center}
.footer-social a{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:15px;color:rgba(0,0,0,.5)}
.footer-social svg{width:26px;height:26px;fill:currentColor}
.footer-social a:hover{color:var(--kubio-blue)}
.footer-right{text-align:left}
.footer-right>a{color:var(--kubio-gray);font-weight:400}
.footer-right p{font-size:14px;color:#404141;margin:10px 0 0}

/* Active WordPress popup: Wintertennistraining */
.wp-popup-overlay{position:fixed;inset:0;z-index:1999999999;background:rgba(0,0,0,.38);display:none;align-items:center;justify-content:center;padding:35px}
.wp-popup-overlay.open{display:flex}
.wp-popup{position:relative;background:#fff;border:14px solid var(--kubio-orange);border-radius:24px;padding:24px;max-width:min(430px,calc(100vw - 48px));box-shadow:0 0 0 0 rgba(2,2,2,0)}
.wp-popup a{display:block}
.wp-popup img{width:336px;max-width:100%;height:auto;opacity:.42}
.wp-popup-close{position:absolute;right:-30px;top:-30px;width:32px;height:32px;padding:0;border:0;border-radius:28px;background:#fff;color:#2d2d2d;font-family:"Times New Roman",serif;font-weight:100;font-size:32px;line-height:28px;text-align:center;cursor:pointer;box-shadow:none}

/* Legacy modal used by offers */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-card{width:min(620px,100%);background:#fff;border-radius:6px;padding:30px;position:relative}
.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}

@media(max-width:991px){
  :root{--container:960px}
  .main-nav{display:none}
  .menu-toggle{display:block}
  .page-hero{padding:140px 20px 60px}
  .cards.three,.offer-grid{grid-template-columns:repeat(2,1fr)}
  .offer-detail-copy{min-height:0}
  .trainer-grid{grid-template-columns:repeat(2,1fr)}
  .section-heading,.trainer-intro{width:90%}
}
@media(max-width:767px){
  :root{--container:540px}
  .container{width:min(100% - 30px,var(--container))}
  h1{font-size:2.5em}
  .nav-shell{height:80px;padding:10px 15px}
  .brand{justify-content:flex-start}
  .brand img{max-height:60px}
  .home-hero{background-position:51% 10%;padding-top:80px}
  .home-hero .hero-content{width:100%}
  .page-hero{background-position:49% 63%;padding:110px 20px 60px}
  .hero-title{font-size:2.4em}
  .hero-title-desktop{display:none}.hero-title-mobile{display:inline}
  .hero-actions{gap:12px;padding-top:20px}
  .hero-btn{width:200px}
  .about-grid,.home-locations-grid,.location-cards,.contact-card{grid-template-columns:1fr}
  .about-copy{text-align:center}.about-copy p{text-align:left}
  .cards.three,.offer-grid,.trainer-grid,.gallery-grid{grid-template-columns:1fr}
  .offer-card-media img,.offer-detail-media img{height:auto;aspect-ratio:16/10;object-fit:cover}
  .offer-detail-card h3{text-align:left}
  .offer-card-body{text-align:center}
  .section-heading,.team-teaser .section-heading,.trainer-intro{width:100%}
  .team-visual{min-height:250px}
  .home-location{padding:25px 0}
  .gallery-grid{gap:0}
  .location-card img{height:220px}
  .club-content p{text-align:justify}
  .contact-card{margin:0}
  .contact-photo{min-height:250px;background-position:51.6% 16.9%;background-image:var(--contact-image,url("/assets/media/braun_kontakt.webp"))}
  .contact-form-col{padding:24px}
  .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-left,.footer-right{text-align:center}
  .footer-social{justify-content:center}
  .wp-popup{border-width:10px;padding:16px}
  .wp-popup-close{right:-24px;top:-24px}
}

/* Newsletter – live Kubio page */
.newsletter-intro{background:#dcdcdc;padding:30px 0}
.newsletter-copy{width:min(90%,var(--container));text-align:center}
.newsletter-icon{font-size:50px;line-height:1;color:var(--kubio-blue);padding-bottom:20px}
.newsletter-welcome{font-size:24px;margin-bottom:18px}
.newsletter-copy h5{font-size:1em;font-weight:500;line-height:1.5;margin:0}
@media(max-width:767px){
  .newsletter-welcome{font-size:18px;line-height:1.5}
}

/* Trust / Why us */
.trust-strip{background:#fff;border-bottom:1px solid #e8e9ed;overflow:hidden}
.trust-strip-inner{overflow:hidden;padding:12px 0}
.trust-strip-track{display:flex;width:max-content;min-width:100%;justify-content:center;will-change:transform}
.trust-strip-group{display:flex;align-items:center;justify-content:center;flex:0 0 auto;white-space:nowrap}
.trust-strip span{padding:4px 15px;font-size:13px;font-weight:700;color:#505363;position:relative;white-space:nowrap}
.trust-strip-group span+span:before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:var(--kubio-orange);transform:translateY(-50%)}
.trust-strip.is-marquee .trust-strip-inner{max-width:none;width:100%;padding-left:0;padding-right:0}
.trust-strip.is-marquee .trust-strip-track{min-width:0;justify-content:flex-start;animation:trust-strip-marquee var(--trust-duration,24s) linear infinite}
.trust-strip.is-marquee .trust-strip-group{justify-content:flex-start}
.trust-strip.is-marquee .trust-strip-group+.trust-strip-group span:first-child:before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:var(--kubio-orange);transform:translateY(-50%)}
.trust-strip.is-marquee:hover .trust-strip-track{animation-play-state:paused}
@keyframes trust-strip-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.why-section{padding:34px 0;background:#fff}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.why-card{border:1px solid #e7e8ec;border-radius:8px;padding:20px;background:#fafbfc}
.why-card h3{font-size:1.15em;margin-bottom:8px}.why-card p{margin:0;font-size:14px;color:#555a68}

/* Trainer details */
.trainer-card{overflow:hidden;border-radius:8px}
.trainer-more{margin-top:12px;border:0;background:transparent;color:var(--kubio-blue);font-weight:700;cursor:pointer;padding:6px 0}
.trainer-details{padding:0 18px 18px;text-align:left;border-top:1px solid #eceef2}
.trainer-details p{margin:12px 0 0;font-size:14px}.trainer-details strong,.trainer-details span{display:block}.trainer-details strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#777b88;margin-bottom:3px}
.page-cta-row{display:flex;justify-content:center;margin:28px 0 5px}

/* FAQ */
.faq-section{padding:38px 0;background:#f5f6f8}
.faq-list{display:grid;gap:10px}
.faq-item{background:#fff;border:1px solid #e2e4e9;border-radius:8px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:700;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--kubio-blue)}
.faq-item[open] summary:after{content:"–"}
.faq-answer{padding:0 18px 16px}.faq-answer p{margin:0}

/* Improved Mapbox popup */
.map-popup strong{display:block;font-size:15px;margin-bottom:5px}.map-popup p{margin:0 0 10px;font-size:13px}
.map-popup-actions{display:flex;gap:7px;flex-wrap:wrap}.map-popup-actions a{display:inline-flex;padding:7px 9px;border-radius:4px;background:var(--kubio-blue);color:#fff;font-size:12px;font-weight:700}
.map-popup-actions a:last-child{background:var(--kubio-orange)}
.custom-marker{border:0;background:transparent;padding:0}

/* Modern responsive popup */
.wp-popup.wp-popup-html{max-width:min(760px,calc(100vw - 36px));display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr);gap:0;padding:0;overflow:visible}
.wp-popup-html .wp-popup-image{width:100%;height:100%;max-height:460px;object-fit:cover;opacity:1;border-radius:10px 0 0 10px}
.wp-popup-copy{display:flex;flex-direction:column;justify-content:center;padding:30px;background:#fff;border-radius:0 10px 10px 0}
.wp-popup-copy h2{font-size:1.8em;margin-bottom:10px}.wp-popup-copy p{margin-bottom:20px}.wp-popup-copy .kubio-btn{align-self:flex-start}

/* Footer */
.footer-contact-lines{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.footer-contact-lines a{font-size:14px;color:#555a68;font-weight:400}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 16px}.footer-links a{color:var(--kubio-gray);font-weight:500;font-size:14px}

/* Mobile sticky CTA */
.mobile-sticky-cta{display:none}

/* Accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(47,124,255,.45);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:991px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  body{padding-bottom:66px}
  body.popup-open,body.menu-open{padding-bottom:0}
  .trust-strip-inner{padding:10px 0}
  .why-grid{grid-template-columns:1fr 1fr}
  .wp-popup.wp-popup-html{grid-template-columns:1fr;max-height:calc(100dvh - 30px);overflow:auto}
  .wp-popup-html .wp-popup-image{height:auto;max-height:38vh;border-radius:10px 10px 0 0}
  .wp-popup-copy{border-radius:0 0 10px 10px;padding:22px}
  .mobile-sticky-cta{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid #ddd;box-shadow:0 -8px 24px rgba(0,0,0,.1)}
  .mobile-sticky-cta a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px;text-align:center;font-size:14px;font-weight:800}
  .mobile-sticky-primary{background:var(--kubio-orange);color:#fff}.mobile-sticky-primary:hover{color:#fff}
  .mobile-sticky-secondary{background:#fff;color:var(--kubio-dark)}
  body.popup-open .mobile-sticky-cta,body.menu-open .mobile-sticky-cta{display:none}
  .location-card{padding:20px}.location-card img{height:150px}
}
@media(max-width:520px){
  .why-grid{grid-template-columns:1fr}
}

/* Newsletter signup */
.newsletter-signup-section{padding:42px 0;background:#f5f6f8}
.newsletter-signup-card{background:#fff;border:1px solid #e3e5ea;border-radius:12px;box-shadow:0 14px 34px rgba(43,45,66,.08);padding:30px}
.newsletter-signup-copy{text-align:center;margin-bottom:24px}
.newsletter-signup-copy h2{font-size:2em;margin-bottom:10px}
.newsletter-signup-copy p{max-width:680px;margin-left:auto;margin-right:auto}
.newsletter-signup-form{max-width:620px;margin:0 auto}
.newsletter-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:14px 0 20px}
.newsletter-consent input{width:20px;height:20px;flex:0 0 auto;margin:2px 0 0}
.newsletter-consent span{line-height:1.5}
.newsletter-submit{width:100%;font-size:14px}
.newsletter-message{margin-top:14px;font-weight:700}
.newsletter-message.success{color:#247032}
.newsletter-message.error{color:#a02020}
.newsletter-action-page{padding:52px 0;background:#f5f6f8}
.newsletter-action-card{background:#fff;border:1px solid #e3e5ea;border-radius:12px;padding:34px;box-shadow:0 14px 34px rgba(43,45,66,.08)}
@media(max-width:767px){
  .newsletter-signup-card,.newsletter-action-card{padding:20px}
}

@media(prefers-reduced-motion:reduce){
  .trust-strip.is-marquee .trust-strip-inner{overflow-x:auto}
  .trust-strip.is-marquee .trust-strip-track{animation:none;transform:none}
}

/* Direct offer navigation feedback */
.trainings-btn.attention-pulse{
  position:relative;
  z-index:1;
  animation:training-attention 1s ease-in-out 3;
}
@keyframes training-attention{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(241,124,32,0)}
  45%{transform:scale(1.035);box-shadow:0 0 0 8px rgba(241,124,32,.22)}
  70%{transform:scale(1.02);box-shadow:0 0 0 4px rgba(241,124,32,.14)}
}
@media(prefers-reduced-motion:reduce){
  .trainings-btn.attention-pulse{
    animation:none;
    box-shadow:0 0 0 4px rgba(241,124,32,.24);
  }
}


/* Randomized tennis 404 — rebuilt with consistent tennis geometry */
.error404-fun{
  padding:34px 0 64px;
  background:linear-gradient(180deg,#fff 0%,#f6f7fa 100%);
  overflow:hidden;
}
.error404-stage{
  position:relative;
  width:100%;
  height:300px;
  margin:0 auto 28px;
  overflow:hidden;
  border:1px solid #e5e8ee;
  border-radius:18px;
  background:#f8f9fb;
  box-shadow:0 14px 34px rgba(43,45,66,.08);
}
.error404-scene{position:absolute;inset:0;display:none}
.error404-scene.is-active{display:block}
.error404-svg{display:block;width:100%;height:100%}
.scene-bg{fill:#f8f9fb}
.error404-copy{text-align:center}
.error404-copy h2{font-size:clamp(30px,5vw,46px);margin-bottom:8px}
.error404-copy p{font-size:18px;color:#5a5f6f;margin-bottom:22px}
.error404-actions{margin-top:0}
.error404-secondary{background:#fff;color:var(--kubio-dark)}
.error404-secondary:hover{background:var(--kubio-dark);border-color:var(--kubio-dark);color:#fff}

/* Shared ball */
.ball-fill{fill:#ddea42;stroke:#c1cf2c;stroke-width:1.5}
.ball-seam{fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round;opacity:.95}

/* Shared top-down tennis court geometry:
   long axis = vertical, net = horizontal across the centre */
.court-surface,.zero-court-surface{fill:#d97b34}
.court-outline,.court-line,.zero-court-outline,.zero-court-line{
  fill:none;
  stroke:#fff;
  stroke-width:2.5;
  vector-effect:non-scaling-stroke;
}
.court-net-base{stroke:#2b2d42;stroke-width:6}
.net-post{stroke:#2b2d42;stroke-width:6;stroke-linecap:round}
.net-tape{stroke:#fff;stroke-width:5;stroke-linecap:round}
.net-mesh line{stroke:rgba(43,45,66,.55);stroke-width:1.5}
.ghost-404{
  fill:rgba(43,45,66,.07);
  font-family:Mulish,Arial,sans-serif;
  font-size:170px;
  font-weight:800;
}

/* 1 — ball really hits a transverse net and rebounds */
.scene-net .court-topdown{opacity:.88}
.ball-net{
  transform:translate(350px,50px);
  animation:tennis404-net-ball 3.6s cubic-bezier(.4,.05,.28,1) infinite;
}
.scene-net.is-active .net-hit{
  transform-origin:380px 150px;
  animation:tennis404-net-impact 3.6s ease-in-out infinite;
}
@keyframes tennis404-net-ball{
  0%{transform:translate(350px,45px) rotate(0deg);opacity:0}
  8%{opacity:1}
  34%{transform:translate(375px,105px) rotate(120deg)}
  48%{transform:translate(393px,134px) rotate(190deg)}
  54%{transform:translate(394px,134px) rotate(215deg) scale(.96)}
  70%{transform:translate(410px,92px) rotate(295deg) scale(1)}
  88%{transform:translate(432px,58px) rotate(380deg);opacity:1}
  100%{transform:translate(445px,42px) rotate(430deg);opacity:0}
}
@keyframes tennis404-net-impact{
  0%,46%,66%,100%{transform:translateY(0)}
  51%{transform:translateY(4px)}
  56%{transform:translateY(-2px)}
  61%{transform:translateY(1px)}
}

/* 2 — anatomically connected racket: head -> throat -> shaft -> grip */
.racket-score .solid-404{
  fill:#2b2d42;
  font-family:Mulish,Arial,sans-serif;
  font-size:170px;
  font-weight:800;
}
.tennis-racket-svg{
  transform-box:fill-box;
  transform-origin:50% 100%;
  transform:rotate(-10deg);
  animation:tennis404-racket-swing 3.8s cubic-bezier(.4,.05,.25,1) infinite;
}
.racket-frame{
  fill:#fff;
  stroke:#f17c20;
  stroke-width:8;
}
.racket-strings line{stroke:#7d8290;stroke-width:1.5;opacity:.65}
.racket-throat{
  fill:none;
  stroke:#f17c20;
  stroke-width:7;
  stroke-linecap:round;
}
.racket-shaft{
  stroke:#f17c20;
  stroke-width:9;
  stroke-linecap:round;
}
.racket-grip{fill:#2b2d42}
.grip-wrap{stroke:#727686;stroke-width:2;stroke-linecap:round}
.digit-last{
  transform-box:fill-box;
  transform-origin:50% 100%;
  animation:tennis404-digit-fall 3.8s ease-in-out infinite;
}
.impact-star{
  fill:#f17c20;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  animation:tennis404-impact-star 3.8s ease-in-out infinite;
}
@keyframes tennis404-racket-swing{
  0%,42%,100%{transform:rotate(-10deg)}
  56%{transform:rotate(-42deg)}
  63%{transform:rotate(-46deg)}
  74%{transform:rotate(-18deg)}
  84%{transform:rotate(-10deg)}
}
@keyframes tennis404-digit-fall{
  0%,58%{transform:rotate(0deg) translate(0,0)}
  68%{transform:rotate(13deg) translate(7px,2px)}
  82%,100%{transform:rotate(76deg) translate(24px,14px)}
}
@keyframes tennis404-impact-star{
  0%,54%,72%,100%{opacity:0;transform:scale(.5)}
  59%{opacity:1;transform:scale(1)}
  65%{opacity:.75;transform:scale(1.18)}
}

/* 3 — proper full court with two believable bounce points */
.scene-court .scene-bg{fill:#f7f8fb}
.court-watermark{
  fill:rgba(255,255,255,.14);
  font-family:Mulish,Arial,sans-serif;
  font-size:138px;
  font-weight:800;
}
.ball-court{
  transform:translate(278px,248px);
  animation:tennis404-court-ball 4s cubic-bezier(.35,.04,.28,1) infinite;
}
.ball-shadow-svg{display:none}
.bounce-ring{
  fill:none;
  stroke:#fff;
  stroke-width:3;
  opacity:0;
}
.bounce-ring-one{animation:tennis404-bounce-one 4s ease-out infinite}
.bounce-ring-two{animation:tennis404-bounce-two 4s ease-out infinite}
@keyframes tennis404-court-ball{
  0%{transform:translate(278px,248px) rotate(0deg) scale(1);opacity:0}
  6%{opacity:1}
  22%{transform:translate(315px,220px) rotate(100deg) scale(.86)}
  42%{transform:translate(370px,154px) rotate(190deg) scale(1.12)}
  48%{transform:translate(383px,142px) rotate(220deg) scale(1.08)}
  69%{transform:translate(450px,83px) rotate(320deg) scale(.86)}
  88%{transform:translate(522px,42px) rotate(430deg) scale(1.05);opacity:1}
  100%{transform:translate(565px,18px) rotate(500deg) scale(1);opacity:0}
}
@keyframes tennis404-bounce-one{
  0%,18%,34%,100%{opacity:0;transform-origin:315px 220px;transform:scale(.4)}
  22%{opacity:.85;transform:scale(.45)}
  30%{opacity:0;transform:scale(1.2)}
}
@keyframes tennis404-bounce-two{
  0%,65%,80%,100%{opacity:0;transform-origin:450px 83px;transform:scale(.4)}
  69%{opacity:.85;transform:scale(.45)}
  77%{opacity:0;transform:scale(1.2)}
}

/* 4 — 404 as a court: both 4s are typographic strokes, the 0 contains a full court */
.scene-numbercourt .scene-bg{fill:#f7f8fb}
.numbercourt-stroke{
  fill:none;
  stroke:#2b2d42;
  stroke-width:25;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.zero-frame{
  fill:#2b2d42;
  opacity:.96;
}
.zero-court-surface{fill:#d97b34}
.zero-court-outline,.zero-court-line{stroke:#fff;stroke-width:2}
.zero-net{stroke:#2b2d42;stroke-width:6}
.ball-numbercourt{
  transform-box:fill-box;
  transform-origin:center;
  animation:tennis404-zero-ball 3.6s ease-in-out infinite;
}
@keyframes tennis404-zero-ball{
  0%{transform:translate(-18px,-15px);opacity:0}
  8%{opacity:1}
  28%{transform:translate(22px,28px)}
  48%{transform:translate(-14px,58px)}
  68%{transform:translate(20px,92px)}
  88%{transform:translate(-10px,124px);opacity:1}
  100%{transform:translate(12px,145px);opacity:0}
}

/* Responsive: preserve geometry by scaling the SVG as one system */
@media(max-width:700px){
  .error404-fun{padding-top:24px}
  .error404-stage{height:235px;border-radius:14px}
  .error404-copy p{font-size:16px}
  .error404-actions{gap:10px}
}
@media(max-width:430px){
  .error404-stage{height:205px}
  .error404-actions .kubio-btn{width:100%}
}

/* Accessibility: keep each scene meaningful but static when motion is reduced */
@media(prefers-reduced-motion:reduce){
  .ball-net,
  .net-hit,
  .tennis-racket-svg,
  .digit-last,
  .impact-star,
  .ball-court,
  .bounce-ring,
  .ball-numbercourt{
    animation:none!important;
  }
  .impact-star{display:none}
}


.nav-dropdown.is-open>a .nav-caret{display:inline-block;transform:rotate(180deg)}
.nav-caret{display:inline-block;transition:transform .16s ease}
@media(hover:none){
  .nav-dropdown:hover .dropdown-menu{display:none}
  .nav-dropdown.is-open .dropdown-menu{display:block}
}

/* Bild-Popup: vollständige Darstellung und klickbare Grafik */
.wp-popup.wp-popup-image-mode{width:min(640px,calc(100vw - 36px));max-width:100%;max-height:calc(100dvh - 36px);padding:0;border:0;border-radius:14px;overflow:visible;box-shadow:0 16px 48px rgba(0,0,0,.18)}
.wp-popup-image-mode .wp-popup-image-link{display:block;overflow:hidden;border-radius:12px}
.wp-popup-image-mode .wp-popup-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 54px);object-fit:contain;opacity:1}
.wp-popup-image-mode .wp-popup-image-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
.wp-popup .wp-popup-close{z-index:2}
.wp-popup .wp-popup-close:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Angebote: alle Buchungsbuttons mit derselben Breite und Höhe,
   unabhängig davon, ob der Text eine oder zwei Zeilen hat. */
.offer-detail-card .trainings-btn{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:60px;
  min-height:60px;
  padding:8px 12px !important;
  border:1px solid #F17C20 !important;
  line-height:1.2 !important;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}


/* Dezenter Entwickler- und Hosting-Hinweis im Footer, passend zur Vorlage. */
.footer-smartwerk-credit{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:13px;
  color:#555a68;
  font-size:12px;
  font-weight:400;
  line-height:1.4;
}
.footer-smartwerk-credit span{white-space:normal}
.footer-smartwerk-credit a{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  border-radius:4px;
}
.footer-smartwerk-credit img{
  display:block;
  width:153px;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.footer-smartwerk-credit a:focus-visible{outline:2px solid #2b5bb2;outline-offset:3px}
@media (max-width:767px){
  .footer-smartwerk-credit{justify-content:center;gap:7px 10px}
}


/* Kontakt-Erfolgsseite · Tennis-Alex-Braun CI */
.success-page{background:#f6f7fa}
.success-hero{
  min-height:380px;
  padding:150px 20px 126px;
  background-position:center 56%;
  text-align:center;
}
.success-hero .hero-overlay{
  opacity:1;
  background:linear-gradient(90deg,rgba(22,24,40,.77),rgba(22,24,40,.48) 50%,rgba(22,24,40,.73));
}
.success-hero-inner{position:relative;z-index:2;color:#fff}
.success-hero-eyebrow{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#fff;margin-bottom:15px;
}
.success-hero-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--kubio-orange);box-shadow:0 0 0 5px rgba(241,124,32,.16)}
.success-hero h1{
  margin:0 auto 12px;color:#fff;
  font-size:clamp(2rem,4.1vw,3.3rem);line-height:1.14;
  max-width:820px;font-weight:700;letter-spacing:-.025em;
}
.success-hero p{margin:0;color:rgba(255,255,255,.9);font-size:17px;line-height:1.55;font-weight:400}
.success-section{padding:0 0 66px}
.success-card{
  width:min(100%,780px);
  margin:-78px auto 0;
  position:relative;z-index:3;
  padding:42px clamp(24px,5.5vw,66px) 31px;
  background:#fff;
  border:1px solid #eceef2;
  border-radius:17px;
  box-shadow:0 24px 60px rgba(43,45,66,.13);
  text-align:center;
}
.success-icon{
  width:76px;height:76px;margin:0 auto 21px;
  display:grid;place-items:center;
  border-radius:50%;color:#fff;
  background:linear-gradient(145deg,#f99132,#f17c20);
  box-shadow:0 9px 23px rgba(241,124,32,.26);
}
.success-icon svg{width:53px;height:53px;display:block}
.success-kicker{display:block;color:#c9640e;text-transform:uppercase;font-weight:800;letter-spacing:.14em;font-size:11px;margin-bottom:11px}
.success-card h2{
  font-size:clamp(1.65rem,3.5vw,2.5rem);
  line-height:1.2;letter-spacing:-.025em;
  margin:0 auto 17px;max-width:620px;font-weight:700;
}
.success-intro{
  color:#616677;line-height:1.72;font-weight:400;
  font-size:16px;max-width:540px;margin:0 auto 29px;
}
.success-next{
  display:grid;grid-template-columns:46px minmax(0,1fr);gap:17px;
  text-align:left;align-items:flex-start;
  padding:22px 24px;background:#f7f8fb;
  border:1px solid #e9ebf1;border-radius:11px;
}
.success-next-icon{
  width:45px;height:45px;display:grid;place-items:center;
  border-radius:11px;background:#fff0e4;color:#da6b11;
}
.success-next-icon svg{width:23px;height:23px}
.success-next h3{font-size:16px;line-height:1.35;margin:1px 0 7px;font-weight:700}
.success-next p{font-size:14px;line-height:1.7;font-weight:400;color:#646a7b;margin:0}
.success-actions{display:flex;gap:12px;align-items:stretch;justify-content:center;flex-wrap:wrap;margin:30px auto 28px}
.success-action{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:51px;padding:13px 22px;border-radius:7px;
  font-size:13px;line-height:1.35;font-weight:800;
  text-decoration:none;text-align:center;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.success-action-primary{background:var(--kubio-orange);color:#fff;border:1px solid var(--kubio-orange)}
.success-action-primary svg{width:18px;height:18px;flex:none}
.success-action-primary:hover{background:#2b2d42;border-color:#2b2d42;color:#fff;transform:translateY(-2px)}
.success-action-secondary{background:#fff;color:#2b2d42;border:1px solid #ccd0dc}
.success-action-secondary:hover{background:#f4f6fa;color:#2b2d42;border-color:#a5aabb;transform:translateY(-2px)}
.success-action:focus-visible,.success-contact-note a:focus-visible{outline:3px solid var(--kubio-blue);outline-offset:3px}
.success-contact-note{
  border-top:1px solid #edf0f3;padding-top:22px;margin:0;
  color:#737988;font-weight:400;font-size:13px;line-height:1.75;
}
.success-contact-note a{color:var(--kubio-blue-dark);text-decoration:underline;text-decoration-color:rgba(31,82,169,.3);text-underline-offset:3px}
.success-signoff{text-align:center;color:#878c99;font-size:13px;letter-spacing:.01em;margin:22px auto 0}
.success-signoff span{color:var(--kubio-orange);margin:0 8px}
@media(max-width:767px){
  .success-hero{min-height:335px;padding:129px 15px 109px}
  .success-hero h1{font-size:clamp(1.95rem,7vw,2.6rem)}
  .success-hero p{font-size:15px}
  .success-card{margin-top:-65px;padding:32px 23px 25px;border-radius:13px}
  .success-icon{width:68px;height:68px;margin-bottom:17px}
  .success-icon svg{width:48px;height:48px}
  .success-intro{font-size:15px;margin-bottom:24px}
  .success-next{padding:18px;gap:12px;grid-template-columns:39px minmax(0,1fr)}
  .success-next-icon{width:39px;height:39px}
  .success-next h3{font-size:15px}
  .success-actions{margin:25px auto 23px}
}
@media(max-width:520px){
  .success-actions{display:flex;flex-direction:column}
  .success-action{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .success-action{transition:none}
  .success-action:hover{transform:none}
}


/* Dynamische Seitentitel bleiben auch bei langen Namen gut lesbar. */
.page-hero .hero-title{
  font-size:clamp(1.8rem,4vw,3rem);
  line-height:1.18;
  overflow-wrap:anywhere;
  hyphens:auto;
  text-wrap:balance;
}
@media(max-width:767px){
  .page-hero .hero-title{font-size:clamp(1.8rem,6.4vw,2.4rem)}
}


/* Kontakt-Icons aus den vier bereitgestellten Originalbildern.
   Einheitliche Touchflächen, erkennbare Markenfarben, barrierefreie Links. */
.footer-social{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.footer-social a{
  flex:0 0 46px;
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;margin:0;
  background:#f7f8fa;border:1px solid #e8ebf0;border-radius:11px;
  color:var(--kubio-dark);
  text-decoration:none;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.footer-social .footer-social-icon{
  display:block;width:34px;height:34px;max-width:34px;
  object-fit:contain;
}
.footer-social a:hover{
  background:#fff3e8;border-color:#f17c20;
  box-shadow:0 4px 12px rgba(43,45,66,.08);transform:translateY(-2px);
}
.footer-social a:focus-visible,.footer-contact-lines a:focus-visible{
  outline:3px solid #2f7cff;outline-offset:3px;
}
.footer-contact-lines a:hover{color:var(--kubio-orange);text-decoration:underline}
@media(prefers-reduced-motion:reduce){.footer-social a{transition:none}.footer-social a:hover{transform:none}}
