*{box-sizing:border-box}
.sport-selection-body{margin:0;color:#fff;font-family:"Segoe UI",Arial,Helvetica,sans-serif}
.sport-selection-shell{min-height:100vh;position:relative;isolation:isolate;padding-bottom:28px}
.sport-selection-shell::before,.sport-selection-shell::after{content:"";position:fixed;z-index:-1;border:1px solid rgba(116,210,246,.28);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;pointer-events:none;transform:rotate(-17deg)}
.sport-selection-shell::before{width:720px;height:270px;left:-260px;top:165px}
.sport-selection-shell::after{width:860px;height:330px;right:-360px;bottom:80px;transform:rotate(17deg)}
.selection-header{width:min(1180px,calc(100% - 48px));margin:0 auto;min-height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12)}
.selection-brand img{display:block;width:250px;max-height:78px;object-fit:contain}
.selection-back{color:#dceaf3;text-decoration:none;font-weight:700;font-size:14px;padding:10px 0}
.selection-main{width:min(1050px,calc(100% - 48px));margin:0 auto;padding:38px 0 20px}
.selection-intro{text-align:center;margin:0 auto 28px;max-width:760px}
.selection-intro h1{margin:0 0 10px;font-size:clamp(28px,4vw,43px);line-height:1.08;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.selection-intro>p:last-child{margin:0;color:#f0f5f8;font-size:18px;line-height:1.5;font-weight:650}
.sport-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sport-select-card{position:relative;min-height:235px;border:1px solid rgba(255,255,255,.52);border-radius:18px;padding:22px 14px 17px;background:linear-gradient(155deg,rgba(7,37,62,.91),rgba(5,27,47,.94));box-shadow:0 13px 32px rgba(0,0,0,.22);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;overflow:hidden}
.sport-select-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.82)}
.sport-select-card[aria-pressed="true"]{border:2px solid #d9a542;background:linear-gradient(155deg,rgba(34,50,60,.97),rgba(8,31,49,.98));box-shadow:0 0 0 3px rgba(217,165,66,.16),0 14px 34px rgba(0,0,0,.26)}
.sport-select-card[aria-pressed="true"]::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(217,165,66,.16),transparent 52%);pointer-events:none}
.recipe-card{border:1.5px solid rgba(222,173,78,.82);box-shadow:0 0 0 1px rgba(222,173,78,.08),0 13px 32px rgba(0,0,0,.22)}
.recipe-card:hover{border-color:#edc36b}
.recipe-card[aria-pressed="true"]{border-color:#efc56f;background:linear-gradient(155deg,rgba(62,49,28,.96),rgba(28,35,43,.98));box-shadow:0 0 0 3px rgba(239,197,111,.18),0 14px 34px rgba(0,0,0,.26)}
.special-badge{position:absolute;left:18px;right:18px;bottom:15px;padding:7px 9px;border:1px solid rgba(239,197,111,.9);border-radius:8px;background:rgba(20,29,35,.78);color:#efc56f;font-size:14px;font-weight:900;letter-spacing:.055em;line-height:1.08;z-index:2}
.sport-icon{height:92px;width:100%;display:grid;place-items:center;margin-bottom:7px;color:#f7f2e7;filter:drop-shadow(0 3px 5px rgba(0,0,0,.34))}
.sport-icon img{display:block;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.32))}
.sport-select-card strong{font-size:21px;line-height:1.05;letter-spacing:.015em;margin-bottom:9px;text-shadow:0 2px 4px rgba(0,0,0,.45)}
.sport-select-card small{font-size:10.5px;line-height:1.35;letter-spacing:.035em;color:#d6e0e6;font-weight:700}
.selected-label{position:absolute;left:0;right:0;bottom:0;height:27px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#a66f1d,#e7bd63,#a66f1d);color:#092238;font-size:12px;font-weight:900;transform:translateY(100%);transition:transform .16s ease}
.sport-select-card[aria-pressed="true"] .selected-label{transform:translateY(0)}
.selection-action{margin:26px auto 0;text-align:center;max-width:600px}
.selection-action p{min-height:24px;margin:0 0 10px;color:#f0f5f8;font-size:16px;font-weight:700;transition:color .16s ease,transform .16s ease}
.selection-action p.selection-warning{color:#efc56f;transform:scale(1.02)}
#continueToAnalysis{width:100%;min-height:58px;border-radius:14px;border:1px solid rgba(185,231,248,.9);background:rgba(5,35,58,.91);color:#fff;font-size:18px;font-weight:800;letter-spacing:.045em;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.2)}
#continueToAnalysis span{font-size:26px;margin-left:10px;vertical-align:-2px}
#continueToAnalysis:disabled{opacity:.42;cursor:not-allowed}
#continueToAnalysis:not(:disabled):hover{background:rgba(13,58,82,.96)}
@media(max-width:900px){.sport-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-header{min-height:94px}.selection-brand img{width:215px}}
@media(max-width:560px){.selection-header,.selection-main{width:min(100% - 26px,1050px)}.selection-header{min-height:82px}.selection-brand img{width:180px}.selection-main{padding-top:25px}.selection-intro{margin-bottom:20px}.selection-intro h1{font-size:29px}.selection-intro>p:last-child{font-size:14px}.sport-card-grid{gap:10px}.sport-select-card{min-height:202px;padding:17px 8px 14px;border-radius:14px}.sport-icon{height:75px}.sport-icon img{width:70px;height:70px}.sport-select-card strong{font-size:16px}.sport-select-card small{font-size:8.5px}.special-badge{position:absolute;left:18px;right:18px;bottom:15px;padding:7px 9px;border:1px solid rgba(239,197,111,.9);border-radius:8px;background:rgba(20,29,35,.78);color:#efc56f;font-size:14px;font-weight:900;letter-spacing:.055em;line-height:1.08;z-index:2}.selection-back{font-size:12px}#continueToAnalysis{min-height:55px;font-size:15px}}

.recipe-card{padding-bottom:48px}
.recipe-card[aria-pressed="true"] .special-badge{opacity:0}
@media(max-width:560px){.recipe-card{padding-bottom:39px}}


/* =========================================================
   029 – Kachelauswahl: nur neuer SPORT-INFINITY-Hintergrund
   ========================================================= */
body.infinity-sport-surface.sport-selection-body {
  background-image:
    linear-gradient(
      90deg,
      rgba(3, 42, 77, 0.72) 0%,
      rgba(3, 42, 77, 0.54) 34%,
      rgba(3, 42, 77, 0.36) 58%,
      rgba(3, 42, 77, 0.28) 100%
    ),
    url("assets/infinity-sport-background-desktop.webp?v=029") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

@media (max-width: 768px) {
  body.infinity-sport-surface.sport-selection-body {
    background-image:
      linear-gradient(
        180deg,
        rgba(3, 42, 77, 0.62) 0%,
        rgba(3, 42, 77, 0.70) 45%,
        rgba(3, 42, 77, 0.78) 100%
      ),
      url("assets/infinity-sport-background-mobile.webp?v=029") !important;
    background-position: center top !important;
    background-size: cover !important;
    background-attachment: scroll !important;
  }
}
