{"id":50354,"date":"2026-06-22T22:32:17","date_gmt":"2026-06-22T20:32:17","guid":{"rendered":"https:\/\/bsasoccer.ch\/ferien-fussball-camps-2\/"},"modified":"2026-07-27T12:23:20","modified_gmt":"2026-07-27T10:23:20","slug":"ferien-fussball-camps-2","status":"publish","type":"page","link":"https:\/\/bsasoccer.ch\/de-ch\/ferien-fussball-camps-2\/","title":{"rendered":"Fu\u00dfballcamps in den Ferien"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"50354\" class=\"elementor elementor-50354 elementor-50349\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16f9831 e-con e-atomic-element e-flexbox-base e-6c23a9b \" data-id=\"16f9831\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"16f9831\" data-e-type=\"e-flexbox\" data-id=\"16f9831\">\n    \t\t<div class=\"elementor-element elementor-element-5d14f6b elementor-widget elementor-widget-html\" data-id=\"5d14f6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .bsa-camps-page {\r\n    --blue: #174a7c;\r\n    --dark: #0d3156;\r\n    --red: #d71920;\r\n    --yellow: #ffd447;\r\n    --orange: #c76b21;\r\n    --pink: #ff3f8e;\r\n    --purple: #7b3ff2;\r\n    --green: #2f6b57;\r\n    --soft: #f4f8fc;\r\n    --faq: #f6fbff;\r\n    --text: #142033;\r\n    --muted: #637083;\r\n    --border: #dbe6f2;\r\n    font-family: inherit;\r\n    color: var(--text);\r\n  }\r\n\r\n  .bsa-camps-page * { box-sizing: border-box; }\r\n  .bsa-wrap { width: min(1100px, 92%); margin: auto; }\r\n\r\n  .bsa-hero {\r\n    background:\r\n      linear-gradient(135deg, rgba(13, 49, 86, .76), rgba(23, 74, 124, .62) 55%, rgba(35, 107, 168, .46)),\r\n      url(\"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2026\/03\/Cover-Camp-Sample.jpg\") top\/cover no-repeat;\r\n    color: white;\r\n    padding: 76px 0 66px;\r\n    border-radius: 0 0 32px 32px;\r\n  }\r\n\r\n  .bsa-hero-grid {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 34px;\r\n    align-items: center;\r\n  }\r\n\r\n  .bsa-hero h1 {\r\n    color: #fff !important;\r\n    font-size: clamp(36px, 5vw, 60px);\r\n    line-height: 1.03;\r\n    margin: 0 0 18px;\r\n    letter-spacing: -1.4px;\r\n  }\r\n\r\n  .bsa-hero p {\r\n    color: rgba(255, 255, 255, .94);\r\n    font-size: 17px;\r\n    line-height: 1.6;\r\n    margin: 0 0 24px;\r\n  }\r\n\r\n  .bsa-kicker {\r\n    display: inline-flex;\r\n    padding: 8px 14px;\r\n    border-radius: 999px;\r\n    background: rgba(255, 255, 255, .16);\r\n    border: 1px solid rgba(255, 255, 255, .28);\r\n    font-weight: 800;\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  .bsa-btn {\r\n    display: inline-flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    padding: 12px 19px;\r\n    border-radius: 999px;\r\n    font-weight: 900;\r\n    text-decoration: none !important;\r\n    transition: .2s;\r\n    border: 0;\r\n  }\r\n\r\n  .bsa-btn-red { background: var(--red); color: white !important; }\r\n  .bsa-btn-red:hover { background: var(--yellow); color: var(--dark) !important; }\r\n  .bsa-btn-white { background: white; color: var(--blue) !important; }\r\n  .bsa-btn-white:hover { background: var(--yellow); color: var(--dark) !important; }\r\n  .bsa-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }\r\n\r\n  .bsa-hero-card {\r\n    position: relative;\r\n    overflow: hidden;\r\n    background: rgba(255, 255, 255, .96);\r\n    color: var(--text);\r\n    border: 1px solid rgba(255, 255, 255, .55);\r\n    border-radius: 24px;\r\n    padding: 26px;\r\n    box-shadow: 0 22px 52px rgba(0, 0, 0, .20);\r\n    backdrop-filter: blur(8px);\r\n  }\r\n\r\n  .bsa-hero-card::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 5px;\r\n    background: linear-gradient(90deg, var(--red), var(--yellow), var(--blue));\r\n  }\r\n\r\n  .bsa-hero-card h2 {\r\n    color: var(--dark);\r\n    margin: 0 0 18px;\r\n    font-size: 25px;\r\n    line-height: 1.15;\r\n    letter-spacing: -.3px;\r\n  }\r\n\r\n  .bsa-expect-grid {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 11px;\r\n  }\r\n\r\n  .bsa-expect-item {\r\n    position: relative;\r\n    min-height: 92px;\r\n    background: linear-gradient(180deg, #ffffff, #f4f8fc);\r\n    border: 1px solid var(--border);\r\n    border-radius: 15px;\r\n    padding: 15px 15px 14px 17px;\r\n    box-shadow: 0 5px 14px rgba(18, 47, 82, .05);\r\n  }\r\n\r\n  .bsa-expect-item::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    left: 0;\r\n    top: 14px;\r\n    bottom: 14px;\r\n    width: 4px;\r\n    border-radius: 0 999px 999px 0;\r\n    background: var(--blue);\r\n  }\r\n\r\n  .bsa-expect-item strong {\r\n    display: block;\r\n    color: var(--dark);\r\n    line-height: 1.28;\r\n    font-size: 14px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  .bsa-expect-item span {\r\n    display: block;\r\n    color: var(--muted);\r\n    font-size: 12px;\r\n    line-height: 1.45;\r\n    margin-top: 5px;\r\n  }\r\n\r\n  .bsa-section { padding: 56px 0; }\r\n  .bsa-soft-bg { background: var(--soft); }\r\n\r\n  .bsa-section-head {\r\n    text-align: center;\r\n    max-width: 800px;\r\n    margin: 0 auto 28px;\r\n  }\r\n\r\n  .bsa-section-head h2 {\r\n    color: var(--dark);\r\n    font-size: clamp(29px, 4vw, 42px);\r\n    margin: 0 0 12px;\r\n  }\r\n\r\n  .bsa-section-head p {\r\n    color: var(--muted);\r\n    font-size: 16px;\r\n    line-height: 1.6;\r\n    margin: 0;\r\n  }\r\n\r\n  .bsa-season-tabs,\r\n  .bsa-camp-tabs,\r\n  .bsa-inner-tabs {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 9px;\r\n    justify-content: center;\r\n    margin-bottom: 22px;\r\n  }\r\n\r\n  .bsa-tab {\r\n    border: 0;\r\n    border-radius: 999px;\r\n    padding: 11px 16px;\r\n    font-weight: 900;\r\n    cursor: pointer;\r\n    font-family: inherit;\r\n    transition: .2s;\r\n    color: white;\r\n    font-size: 14px;\r\n  }\r\n\r\n  .bsa-season-tabs .bsa-tab.summer {background: var(--blue);}\r\n  .bsa-camp-tabs .bsa-tab.summer {background: #5f8fbd;color: #fff;}\r\n  .bsa-camp-tabs .bsa-tab.summer:hover { background: #4f7faa;}\r\n  .bsa-camp-tabs .bsa-tab.summer.active {background:var(--blue);}\r\n  \r\n  .bsa-tab.fall { background: var(--orange); }\r\n  .bsa-tab.soon { background: var(--green); }\r\n  .bsa-tab.girls { background: linear-gradient(135deg, var(--pink), var(--purple)); }\r\n  .bsa-tab.closed { background: #e2e7ec; color: #8b97a5; cursor: not-allowed; }\r\n  .bsa-tab.active { outline: 3px solid rgba(255, 212, 71, .75); }\r\n\r\n  .bsa-season-panel,\r\n  .bsa-camp-panel,\r\n  .bsa-inner-panel { display: none; }\r\n\r\n  .bsa-season-panel.active,\r\n  .bsa-camp-panel.active,\r\n  .bsa-inner-panel.active { display: block; }\r\n\r\n  .bsa-camp-card {\r\n    background: white;\r\n    border: 1px solid var(--border);\r\n    border-radius: 22px;\r\n    overflow: hidden;\r\n    box-shadow: 0 12px 30px rgba(18, 47, 82, .08);\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n .bsa-camp-top {\r\n  display: grid;\r\n  grid-template-columns: 36% 64%;\r\n  align-items: start;\r\n}\r\n\r\n.bsa-camp-image {\r\n  width: calc(100% - 26px);\r\n  height: 340px;\r\n  margin: 72px 0 26px 26px;\r\n  border-radius: 18px;\r\n  background-size: cover;\r\n  background-position: center;\r\n  background-repeat: no-repeat;\r\n}\r\n\r\n  .bsa-camp-intro { padding: 26px; }\r\n\r\n  .bsa-badge {\r\n    display: inline-flex;\r\n    background: #fff1f1;\r\n    color: var(--red);\r\n    padding: 6px 11px;\r\n    border-radius: 999px;\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  .bsa-badge.girls { background: #fff0f7; color: var(--pink); }\r\n\r\n  .bsa-camp-intro h3 {\r\n    color: var(--dark);\r\n    font-size: 27px;\r\n    margin: 0 0 10px;\r\n    letter-spacing: -.4px;\r\n  }\r\n\r\n  .bsa-camp-intro p {\r\n    color: var(--muted);\r\n    line-height: 1.58;\r\n    margin: 0 0 16px;\r\n    font-size: 15px;\r\n  }\r\n\r\n  .bsa-facts {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 9px;\r\n  }\r\n\r\n  .bsa-fact{ \r\n      background:#f4f8fc; \r\n      border:1px solid #dbe6f2; \r\n      border-radius:12px; \r\n      padding:13px 14px; \r\n      font-weight:600; \r\n      color:#26384f; \r\n      font-size:15px; \r\n      line-height:1.35;\r\n    } \r\n  \r\n  .bsa-fact span{\r\n    display:block;\r\n    font-size:13px;\r\n    font-weight:800;\r\n    color:#6f8fb0 !important;\r\n    text-transform:uppercase;\r\n    letter-spacing:.05em;\r\n    margin-bottom:5px;\r\n}\r\n      \r\n  }\r\n\r\n  .bsa-location-link {\r\n    color: var(--blue) !important;\r\n    text-decoration: none !important;\r\n    font-weight: 700;\r\n  }\r\n\r\n  .bsa-location-link:hover { color: var(--red) !important; }\r\n\r\n  .bsa-collab-box {\r\n    margin-top: 12px;\r\n    padding: 10px;\r\n    background: #f7f8fb;\r\n    border: 1px solid #dbe6f2;\r\n    border-radius: 14px;\r\n  }\r\n\r\n  .bsa-collab-box span {\r\n    display: block;\r\n    color: #637083;\r\n    font-size: 11px;\r\n    font-weight: 900;\r\n    margin-bottom: 8px;\r\n    text-transform: uppercase;\r\n    letter-spacing: .04em;\r\n  }\r\n\r\n  .bsa-collab-logos {\r\n    display: grid;\r\n    grid-template-columns: repeat(5, 1fr);\r\n    gap: 7px;\r\n    align-items: center;\r\n  }\r\n\r\n  .bsa-collab-logo {\r\n    height: 60px;\r\n    background: white;\r\n    border: 1px solid #dbe6f2;\r\n    border-radius: 9px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 5px;\r\n  }\r\n\r\n  .bsa-collab-logo img {\r\n    max-width: 100%;\r\n    max-height: 100%;\r\n    object-fit: contain;\r\n  }\r\n\r\n  .bsa-inner {\r\n    border-top: 1px solid var(--border);\r\n    padding: 22px 26px 26px;\r\n  }\r\n\r\n  .bsa-inner-tabs { justify-content: flex-start; }\r\n\r\n  .bsa-inner-tabs .bsa-tab {\r\n    background: var(--soft);\r\n    color: var(--blue);\r\n    border: 1px solid var(--border);\r\n  }\r\n\r\n  .bsa-inner-tabs .bsa-tab.active {\r\n    background: var(--blue);\r\n    color: white;\r\n    outline: none;\r\n  }\r\n\r\n  .bsa-inner-panel h4 {\r\n    color: var(--dark);\r\n    font-size: 22px;\r\n    margin: 0 0 10px;\r\n  }\r\n\r\n  .bsa-inner-panel p,\r\n  .bsa-inner-panel li {\r\n    color: var(--muted);\r\n    line-height: 1.6;\r\n  }\r\n\r\n  .bsa-program-info {\r\n    background: linear-gradient(180deg, #ffffff, #f4f8fc);\r\n    border: 1px solid #dbe6f2;\r\n    border-radius: 20px;\r\n    padding: 20px;\r\n  }\r\n\r\n  .bsa-program-kicker {\r\n    display: inline-flex;\r\n    background: #fff1f1;\r\n    color: #d71920;\r\n    padding: 6px 11px;\r\n    border-radius: 999px;\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n    margin-bottom: 10px;\r\n  }\r\n\r\n  .bsa-program-info h4 {\r\n    margin: 0 0 9px;\r\n    color: #0d3156;\r\n    font-size: 24px;\r\n  }\r\n\r\n  .bsa-program-intro {\r\n    max-width: 820px;\r\n    margin: 0 0 18px;\r\n    color: #637083;\r\n    line-height: 1.58;\r\n    font-size: 15px;\r\n  }\r\n\r\n  .bsa-program-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 12px;\r\n  }\r\n\r\n  .bsa-program-step {\r\n    background: white;\r\n    border: 1px solid #dbe6f2;\r\n    border-radius: 16px;\r\n    padding: 14px;\r\n  }\r\n\r\n  .bsa-program-step strong {\r\n    display: block;\r\n    color: #d71920;\r\n    font-size: 16px;\r\n    margin-bottom: 5px;\r\n  }\r\n\r\n  .bsa-program-step span {\r\n    display: block;\r\n    color: #142033;\r\n    font-weight: 900;\r\n    margin-bottom: 4px;\r\n  }\r\n\r\n  .bsa-program-step p {\r\n    margin: 0;\r\n    color: #637083;\r\n    line-height: 1.45;\r\n    font-size: 13px;\r\n  }\r\n\r\n  .bsa-girls-info {\r\n    background: linear-gradient(180deg, #fff, #fff1f7);\r\n    border: 1px solid rgba(255, 63, 142, .18);\r\n    border-radius: 20px;\r\n    padding: 22px;\r\n  }\r\n\r\n  .bsa-girls-kicker {\r\n    color: #ff3f8e;\r\n    font-weight: 900;\r\n    text-transform: uppercase;\r\n    letter-spacing: .08em;\r\n    font-size: 12px;\r\n    margin-bottom: 9px;\r\n  }\r\n\r\n  .bsa-girls-info h4 {\r\n    margin: 0 0 10px;\r\n    color: #10131a;\r\n    font-size: clamp(24px, 3vw, 34px);\r\n    line-height: 1.08;\r\n  }\r\n\r\n  .bsa-girls-info p {\r\n    max-width: 780px;\r\n    color: #4c4c55;\r\n    line-height: 1.55;\r\n    margin: 0 0 18px;\r\n    font-size: 15px;\r\n  }\r\n\r\n  .bsa-girls-mini-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 10px;\r\n  }\r\n\r\n  .bsa-girls-mini-grid div {\r\n    background: white;\r\n    border: 1px solid rgba(255, 63, 142, .14);\r\n    border-radius: 14px;\r\n    padding: 14px 10px;\r\n    text-align: center;\r\n    box-shadow: 0 6px 16px rgba(16, 19, 26, .06);\r\n  }\r\n\r\n  .bsa-girls-mini-grid span {\r\n    display: block;\r\n    font-size: 25px;\r\n    margin-bottom: 7px;\r\n  }\r\n\r\n  .bsa-girls-mini-grid strong {\r\n    color: #10131a;\r\n    font-size: 13px;\r\n    line-height: 1.25;\r\n  }\r\n\r\n  .bsa-info-photos {\r\n    margin-top: 18px;\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 12px;\r\n  }\r\n\r\n  .bsa-info-photos img {\r\n    width: 100%;\r\n    height: 150px;\r\n    object-fit: cover;\r\n    border-radius: 16px;\r\n    border: 1px solid var(--border);\r\n  }\r\n\r\n  .bsa-service-note {\r\n    margin-top: 16px;\r\n    padding: 15px;\r\n    border-radius: 16px;\r\n    background: #eef6ff;\r\n    border: 1px solid #cfe1f2;\r\n  }\r\n\r\n  .bsa-service-note h5 {\r\n    margin: 0 0 7px;\r\n    color: var(--dark);\r\n    font-size: 17px;\r\n  }\r\n\r\n  .bsa-service-note p {\r\n    margin: 0;\r\n    color: var(--muted);\r\n    line-height: 1.55;\r\n    font-size: 14px;\r\n  }\r\n\r\n  .bsa-product-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 12px;\r\n  }\r\n\r\n  .bsa-product {\r\n    border: 1px solid var(--border);\r\n    border-radius: 18px;\r\n    padding: 16px;\r\n    background: white;\r\n    box-shadow: 0 8px 22px rgba(18, 47, 82, .06);\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n\r\n  .bsa-product.featured { border: 2px solid var(--red); }\r\n\r\n  .bsa-product h5 {\r\n    margin: 0 0 7px;\r\n    color:#8f1418;\r\n    font-weight:900;\r\n    line-height:1.15;\r\n    font-size: 18px;\r\n  }\r\n.bsa-product.price-girls h5{\r\n  color:#b01864;\r\n}\r\n\r\n.bsa-popular-badge{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  width:max-content;\r\n  background:#fff1f1;\r\n  color:#8f1418;\r\n  border:1px solid rgba(143,20,24,.18);\r\n  border-radius:999px;\r\n  padding:5px 10px;\r\n  font-size:11px;\r\n  font-weight:900;\r\n  margin-bottom:10px;\r\n  text-transform:uppercase;\r\n  letter-spacing:.04em;\r\n}\r\n\r\n.bsa-product.price-girls .bsa-popular-badge{\r\n  background:#fff1f7;\r\n  color:#b01864;\r\n  border-color:rgba(176,24,100,.18);\r\n}\r\n  .bsa-product-time {\r\n    color: var(--blue);\r\n    font-weight: 900;\r\n    margin-bottom: 10px;\r\n    font-size: 13px;\r\n  }\r\n\r\n  .bsa-price-list {\r\n    display: grid;\r\n    gap: 9px;\r\n    margin: 10px 0;\r\n  }\r\n\r\n  .bsa-price-list div {\r\n    border: 1px solid var(--border);\r\n    border-radius: 12px;\r\n    padding: 10px;\r\n    font-size: 13px;\r\n    background: white;\r\n  }\r\n\r\n  .bsa-price-list strong {\r\n    display: block;\r\n    color: #000;\r\n    font-size: 14px;\r\n  }\r\n\r\n  .bsa-price-list span {\r\n    display: block;\r\n    color: #637083;\r\n    margin-top: 3px;\r\n  }\r\n\r\n  .bsa-price-list b {\r\n    display: block;\r\n    color: var(--blue);\r\n    font-size: 18px;\r\n    margin-top: 5px;\r\n  }\r\n\r\n  .bsa-product.price-girls .bsa-price-list b {\r\n    color: var(--pink);\r\n  }\r\n\r\n  .bsa-product.price-combo .bsa-price-list b {\r\n    color: var(--blue);\r\n  }\r\n\r\n  .bsa-product.price-earlybird .bsa-price-list b {\r\n    color: var(--blue);\r\n  }\r\n\r\n  .bsa-product ul {\r\n    padding-left: 16px;\r\n    color: var(--muted);\r\n    font-size: 13px;\r\n    line-height: 1.45;\r\n  }\r\n\r\n  .bsa-product .bsa-btn {\r\n    margin-top: auto;\r\n    width: 100%;\r\n    padding: 11px 12px;\r\n  }\r\n\r\n  .combo-camp {\r\n    padding: 16px 0;\r\n    background: #f7f8fa;\r\n    border-radius: 20px;\r\n  }\r\n\r\n  .combo-camp-inner {\r\n    max-width: 1000px;\r\n    margin: 0 auto;\r\n    background: #ffffff;\r\n    border-radius: 18px;\r\n    padding: 24px 20px;\r\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);\r\n    text-align: center;\r\n  }\r\n\r\n  .combo-camp h5 {\r\n    font-size: 26px;\r\n    margin: 0 0 9px;\r\n    color: #111827;\r\n  }\r\n\r\n  .combo-subtitle {\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    color: #1d4f91;\r\n    margin-bottom: 18px;\r\n  }\r\n\r\n  .combo-text {\r\n    max-width: 780px;\r\n    margin: 0 auto 14px;\r\n    font-size: 15px;\r\n    line-height: 1.58;\r\n    color: #374151;\r\n  }\r\n\r\n  .combo-text-small { margin-bottom: 26px; }\r\n\r\n  .combo-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(6, 1fr);\r\n    gap: 14px;\r\n    margin-top: 8px;\r\n    margin-bottom: 26px;\r\n  }\r\n\r\n  .combo-card {\r\n    grid-column: span 2;\r\n    background: #f9fafb;\r\n    border-radius: 15px;\r\n    padding: 18px 14px;\r\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);\r\n    min-height: 185px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    text-align: center;\r\n  }\r\n\r\n  .combo-card-thursday { grid-column: 2 \/ span 2; }\r\n  .combo-card-friday { grid-column: 4 \/ span 2; }\r\n  .combo-icon { font-size: 30px; margin-bottom: 11px; line-height: 1; }\r\n  .combo-card h3 { margin: 0 0 7px; font-size: 17px; color: #111827; }\r\n  .combo-card p { margin: 0 0 8px; font-size: 14px; font-weight: 600; line-height: 1.45; color: #1d4f91; }\r\n  .combo-card span { display: block; font-size: 13px; line-height: 1.5; color: #4b5563; }\r\n  .combo-extra { margin-top: 8px; }\r\n  .combo-highlight { font-size: 18px; font-weight: 700; color: #1d4f91; margin-top: 20px; margin-bottom: 8px; }\r\n  .combo-final-text { margin-bottom: 0; }\r\n\r\n  .bsa-coming-soon {\r\n    background: white;\r\n    border: 1px solid var(--border);\r\n    border-radius: 24px;\r\n    padding: 40px 20px;\r\n    margin-bottom: 26px;\r\n    text-align: center;\r\n    box-shadow: 0 12px 30px rgba(18, 47, 82, .07);\r\n  }\r\n\r\n  .bsa-faq-section { background: linear-gradient(180deg, #fff, var(--faq)); }\r\n  .bsa-faq { display: grid; gap: 12px; max-width: 900px; margin: auto; }\r\n\r\n  .bsa-faq details {\r\n    background: white;\r\n    border: 1px solid #cfe1f2;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n    box-shadow: 0 7px 20px rgba(23, 74, 124, .06);\r\n  }\r\n\r\n  .bsa-faq summary {\r\n    cursor: pointer;\r\n    background: #eaf4ff;\r\n    color: var(--blue);\r\n    font-weight: 900;\r\n    padding: 16px 18px;\r\n    list-style-position: inside;\r\n  }\r\n\r\n  .bsa-faq p {\r\n    color: var(--muted);\r\n    line-height: 1.6;\r\n    margin: 0;\r\n    padding: 16px 20px 20px;\r\n  }\r\n\r\n  @media(max-width:900px) {\r\n    .bsa-hero-grid,\r\n    .bsa-camp-top { grid-template-columns: 1fr; }\r\n    .bsa-product-grid { grid-template-columns: repeat(2, 1fr); }\r\n    .combo-grid { grid-template-columns: repeat(2, 1fr); }\r\n    .combo-card,\r\n    .combo-card-thursday,\r\n    .combo-card-friday { grid-column: span 1; }\r\n  }\r\n\r\n  @media(max-width:700px) {\r\n    .bsa-program-grid,\r\n    .bsa-girls-mini-grid { grid-template-columns: 1fr; }\r\n    .bsa-collab-logos { grid-template-columns: repeat(2, 1fr); }\r\n  }\r\n\r\n  @media(max-width:700px) {\r\n    .bsa-hero-card {\r\n      padding: 22px;\r\n    }\r\n\r\n    .bsa-expect-item {\r\n      min-height: auto;\r\n    }\r\n  }\r\n\r\n  @media(max-width:600px) {\r\n    .bsa-hero { padding: 54px 0; border-radius: 0 0 26px 26px; }\r\n    .bsa-section { padding: 46px 0; }\r\n    .bsa-camp-intro,\r\n    .bsa-inner { padding: 22px; }\r\n    .bsa-expect-grid,\r\n    .bsa-facts,\r\n    .bsa-product-grid,\r\n    .bsa-info-photos,\r\n    .combo-grid { grid-template-columns: 1fr; }\r\n    .bsa-hero-actions .bsa-btn { width: 100%; }\r\n    .combo-camp-inner { padding: 20px 15px; }\r\n    .combo-camp h5 { font-size: 23px; }\r\n    .combo-subtitle { font-size: 17px; }\r\n    .combo-text { font-size: 14px; line-height: 1.5; }\r\n    .combo-highlight { font-size: 16px; }\r\n  }\r\n  \r\n  \/*  What to bring design *\/\r\n.bsa-bring-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 14px;\r\n  margin-top: 14px;\r\n}\r\n\r\n.bsa-bring-item {\r\n  background: linear-gradient(180deg,#ffffff,#f4f8fc);\r\n  border: 1px solid var(--border);\r\n  border-radius: 16px;\r\n  padding: 16px 14px;\r\n  font-weight: 600;\r\n  color: var(--dark);\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n}\r\n\r\n.bsa-bring-item span {\r\n  font-size: 24px;\r\n}\r\n\r\n@media(max-width:900px){\r\n  .bsa-camp-image {\r\n    width: calc(100% - 32px);\r\n    height: 240px;\r\n    margin: 16px;\r\n  }\r\n}\r\n\r\n@media(max-width:650px){\r\n  .bsa-bring-grid {\r\n    grid-template-columns: 1fr;\r\n  }\r\n}\r\n\r\n\/* Ready to join *\/\r\n\r\n.bsa-camps-page .bsa-final-cta{\r\n  padding:56px 0;\r\n  background:#fff;\r\n}\r\n\r\n.bsa-camps-page .bsa-final-cta-card{\r\n  position:relative;\r\n  overflow:hidden;\r\n  border-radius:30px;\r\n  background:\r\n    linear-gradient(135deg,rgba(13,49,86,.74),rgba(23,74,124,.58)),\r\n    url(\"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/11\/PHOTOS-WEB-12.webp\") center 58%\/cover no-repeat!important;\r\n  padding:54px 34px;\r\n  color:#fff;\r\n  box-shadow:0 18px 46px rgba(13,49,86,.18);\r\n}\r\n\r\n.bsa-camps-page .bsa-final-cta-grid{\r\n  display:grid;\r\n  grid-template-columns:1.1fr .9fr;\r\n  gap:30px;\r\n  align-items:center;\r\n}\r\n\r\n.bsa-camps-page .bsa-final-cta h2{\r\n  color:#fff!important;\r\n  font-size:clamp(32px,4.6vw,56px)!important;\r\n  line-height:1.05!important;\r\n  margin:0 0 16px!important;\r\n  letter-spacing:-.04em;\r\n}\r\n\r\n.bsa-camps-page .bsa-final-cta p{\r\n  color:rgba(255,255,255,.92)!important;\r\n  font-size:18px!important;\r\n  line-height:1.55!important;\r\n  margin:0 0 24px!important;\r\n  max-width:650px;\r\n}\r\n\r\n.bsa-camps-page .bsa-final-cta-photos{\r\n  display:grid!important;\r\n  grid-template-columns:1fr 1fr!important;\r\n  grid-template-areas:\r\n    \"photo1 photo2\"\r\n    \"photo3 photo3\"!important;\r\n  gap:12px!important;\r\n  transform:rotate(2deg)!important;\r\n}\r\n\r\n.bsa-camps-page .bsa-cta-photo{\r\n  width:100%!important;\r\n  height:165px!important;\r\n  object-fit:cover!important;\r\n  border-radius:18px!important;\r\n  border:4px solid rgba(255,255,255,.9)!important;\r\n  box-shadow:0 12px 28px rgba(0,0,0,.22)!important;\r\n}\r\n\r\n.bsa-camps-page .bsa-cta-photo-1{\r\n  grid-area:photo1!important;\r\n  object-position:center 35%!important;\r\n  transform:rotate(2deg)!important;\r\n}\r\n\r\n.bsa-camps-page .bsa-cta-photo-2{\r\n  grid-area:photo2!important;\r\n  object-position:center 35%!important;\r\n  transform:translateY(22px) rotate(-4deg)!important;\r\n}\r\n\r\n.bsa-camps-page .bsa-cta-photo-3{\r\n  grid-area:photo3!important;\r\n  height:175px!important;\r\n  object-position:center 70%!important;\r\n  transform:rotate(-2deg)!important;\r\n}\r\n\r\n@media(max-width:800px){\r\n  .bsa-camps-page .bsa-final-cta-photos{\r\n    grid-template-areas:\r\n      \"photo1\"\r\n      \"photo2\"\r\n      \"photo3\"!important;\r\n    grid-template-columns:1fr!important;\r\n    transform:none!important;\r\n  }\r\n\r\n  .bsa-camps-page .bsa-cta-photo,\r\n  .bsa-camps-page .bsa-cta-photo-1,\r\n  .bsa-camps-page .bsa-cta-photo-2,\r\n  .bsa-camps-page .bsa-cta-photo-3{\r\n    height:135px!important;\r\n    transform:none!important;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<div class=\"bsa-camps-page\">\r\n<section class=\"bsa-hero\">\r\n    <div class=\"bsa-wrap bsa-hero-grid\">\r\n      <div>\r\n        <div class=\"bsa-kicker\">Football holiday camps in Basel<\/div>\r\n        <h1>School holidays full of football, fun and confidence.<\/h1>\r\n        <p>BSA holiday camps give children aged 5\u201315 a positive football experience in Basel. Each camp is designed to\r\n          help children improve, play matches, make friends and enjoy their school holidays on the pitch.<\/p>\r\n        <div class=\"bsa-hero-actions\">\r\n          <a href=\"#camp-options\" class=\"bsa-btn bsa-btn-red\">View camp options<\/a>\r\n          <a href=\"https:\/\/bsasoccer.ch\/de-ch\/kontakt\/\" class=\"bsa-btn bsa-btn-white\">Ask us a question<\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"bsa-hero-card\">\r\n        <h2>What families can expect<\/h2>\r\n\r\n        <div class=\"bsa-expect-grid\">\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Qualified multilingual coaching<\/strong>\r\n            <span>Camps run in English, with children from all languages and backgrounds welcome.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Groups by age and football level<\/strong>\r\n            <span>Players are grouped so every child can learn, improve and enjoy the camp.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Over 10 hours of football training<\/strong>\r\n            <span>Included for children attending the full camp week.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Over 8 hours of match play<\/strong>\r\n            <span>Daily games, small-sided matches and tournaments.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Skills, games and mini tournaments<\/strong>\r\n            <span>A varied programme that keeps children active and engaged.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>BSA Nike T-shirt included<\/strong>\r\n            <span>For children attending three or more camp days.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Flexible booking options<\/strong>\r\n            <span>Choose full-day, half-day or single-day attendance.<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bsa-expect-item\">\r\n            <strong>Hot lunch included<\/strong>\r\n            <span>Provided for all full-day campers.<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-1b8d0a3 e-con e-atomic-element e-flexbox-base e-fbb9f01 \" data-id=\"1b8d0a3\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"1b8d0a3\" data-e-type=\"e-flexbox\" data-id=\"1b8d0a3\">\n    \t\t<div class=\"elementor-element elementor-element-4d97aba elementor-widget elementor-widget-html\" data-id=\"4d97aba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  \/* =========================================================\n     CAMP NAVIGATION DESIGN\n     This section only controls the season and camp selection tabs.\n     All camp tabs use the same colours so parents can clearly see\n     that the dark blue tab is the one currently selected.\n     ========================================================= *\/\n\n  .bsa-camps-page .bsa-season-tabs,\n  .bsa-camps-page .bsa-camp-tabs {\n    display: grid;\n    gap: 12px;\n    width: 100%;\n  }\n\n  .bsa-camps-page .bsa-season-tabs {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    margin: 28px 0 22px;\n  }\n\n  .bsa-camps-page .bsa-camp-tabs {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    margin: 0 0 26px;\n  }\n\n  .bsa-camps-page .bsa-season-tabs .bsa-tab,\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 0;\n    margin: 0;\n    border: 2px solid #d9e2ec;\n    background: #ffffff;\n    color: #173a63;\n    font-family: inherit;\n    text-align: center;\n    cursor: pointer;\n    transition: border-color .2s ease, background-color .2s ease,\n                color .2s ease, box-shadow .2s ease, transform .2s ease;\n  }\n\n  \/* Season buttons are intentionally larger than the camp-week buttons. *\/\n  .bsa-camps-page .bsa-season-tabs .bsa-tab {\n    min-height: 82px;\n    padding: 16px 18px;\n    border-radius: 18px;\n    font-size: clamp(16px, 1.8vw, 20px);\n    font-weight: 800;\n    line-height: 1.2;\n    gap: 10px;\n  }\n\n  .bsa-camps-page .bsa-season-label {\n    display: block;\n  }\n\n  \/* Camp buttons are intentionally smaller than the season tabs. *\/\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab {\n    min-height: 68px;\n    padding: 9px 11px;\n    border-radius: 12px;\n    flex-direction: column;\n    gap: 2px;\n  }\n\n  .bsa-camps-page .bsa-camp-tab-topline {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 5px;\n    font-size: 14px;\n    font-weight: 800;\n    line-height: 1.15;\n  }\n\n  .bsa-camps-page .bsa-camp-tab-icon {\n    font-size: 17px;\n    line-height: 1;\n  }\n\n  .bsa-camps-page .bsa-camp-tab-date {\n    display: block;\n    color: #62758a;\n    font-size: 12px;\n    font-weight: 700;\n    line-height: 1.2;\n  }\n\n  .bsa-camps-page .bsa-camp-tab-highlight {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    margin-top: 3px;\n    padding: 3px 8px;\n    border-radius: 999px;\n    background: #fff1e8;\n    color: #a7480b;\n    font-size: 10px;\n    font-weight: 800;\n    letter-spacing: .04em;\n    line-height: 1.2;\n    text-transform: uppercase;\n  }\n\n  .bsa-camps-page .bsa-season-tabs .bsa-tab:hover:not(:disabled),\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab:hover {\n    border-color: #173a63;\n    box-shadow: 0 8px 22px rgba(23, 58, 99, .12);\n    transform: translateY(-2px);\n  }\n\n  \/* The active state is intentionally strong and identical on every tab. *\/\n  .bsa-camps-page .bsa-season-tabs .bsa-tab.active,\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab.active {\n    border-color: #173a63;\n    background: #173a63;\n    color: #ffffff;\n    box-shadow: 0 10px 25px rgba(23, 58, 99, .24);\n    transform: translateY(-2px);\n  }\n\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab.active .bsa-camp-tab-date {\n    color: rgba(255, 255, 255, .82);\n  }\n\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab.active .bsa-camp-tab-highlight {\n    background: #ffffff;\n    color: #173a63;\n  }\n\n  \/* Selected label makes the active camp obvious without relying on colour alone. *\/\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab.active::after {\n    content: \"\u2713 Selected\";\n    position: absolute;\n    top: 7px;\n    right: 8px;\n    padding: 3px 7px;\n    border-radius: 999px;\n    background: #ffffff;\n    color: #173a63;\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: .03em;\n    line-height: 1.2;\n    text-transform: uppercase;\n  }\n\n  .bsa-camps-page .bsa-season-tabs .bsa-tab.soon {\n    border-style: dashed;\n  }\n\n  .bsa-camps-page .bsa-season-tabs .bsa-tab.closed {\n    border-color: #e5e9ee;\n    background: #f2f4f6;\n    color: #9aa5b1;\n    cursor: not-allowed;\n    box-shadow: none;\n    transform: none;\n  }\n\n  .bsa-camps-page .bsa-season-tabs .bsa-tab:focus-visible,\n  .bsa-camps-page .bsa-camp-tabs .bsa-tab:focus-visible {\n    outline: 3px solid rgba(23, 58, 99, .28);\n    outline-offset: 3px;\n  }\n\n  @media (max-width: 900px) {\n    .bsa-camps-page .bsa-season-tabs {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .bsa-camps-page .bsa-camp-tabs {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 520px) {\n    .bsa-camps-page .bsa-season-tabs {\n      gap: 9px;\n    }\n\n    .bsa-camps-page .bsa-season-tabs .bsa-tab {\n      min-height: 70px;\n      padding: 12px 10px;\n      border-radius: 14px;\n      font-size: 15px;\n    }\n\n    .bsa-camps-page .bsa-camp-tabs {\n      grid-template-columns: 1fr;\n      gap: 10px;\n    }\n\n    .bsa-camps-page .bsa-camp-tabs .bsa-tab {\n      min-height: 64px;\n      padding: 8px 10px;\n    }\n  }\n<\/style>\n\n<div class=\"bsa-camps-page\">\n<section class=\"bsa-section bsa-soft-bg\" id=\"camp-options\">\n    <div class=\"bsa-wrap\">\n      <div class=\"bsa-section-head\">\n        <h2>BSA Holiday Camps<\/h2>\n        <p>Choose the season first, then select the camp week.<\/p>\n      <\/div>\n      <div class=\"bsa-season-tabs\" id=\"bsa-season-tabs\"><\/div>\n      <div id=\"bsa-season-panels\"><\/div>\n    <\/div>\n  <\/section>\n<\/div>\n\n<script data-jetpack-boost=\"ignore\">\n  (function () {\n    function initBsaCampsPage() {\n\n    \/*\n      SEASONAL CYCLE:\n      open   = clickable and shows camp cards\n      soon   = clickable and shows coming-soon message\n      closed = grey, disabled, not clickable\n\n      CURRENT:\n      seasonOrder = [\"summer\", \"fall\", \"winter\", \"easter\"];\n      summer status = \"open\"\n      fall status = \"soon\"\n      winter\/easter status = \"closed\"\n\n      AFTER SUMMER:\n      seasonOrder = [\"fall\", \"winter\", \"easter\", \"summer\"];\n      summer status = \"closed\"\n      fall status = \"open\"\n      winter status = \"soon\"\n      easter status = \"closed\"\n    *\/\n\n    const seasonOrder = [\"summer\", \"fall\", \"winter\", \"easter\"];\n\n\n    \/* =========================================================\n       QUICK UPDATE SETTINGS\n       Change these two values when you want a different season\n       or camp tab to open automatically when the page loads.\n\n       Season IDs: summer, fall, winter, easter\n       Summer camp IDs:\n       summer1   = Week 1 \u00b7 Jun 22\u201326\n       summer2   = Week 2 \u00b7 Jun 29\u2013Jul 3\n       girlsonly = Girls Only \u00b7 Jun 29\u2013Jul 3\n       summer3   = Week 3 \u00b7 Jul 6\u201310\n       summer4   = Week 4 \u00b7 Jul 20\u201324\n       summer5   = Combo Camp \u00b7 Aug 3\u20137\n       ========================================================= *\/\n    const DEFAULT_SEASON_ID = \"summer\";\n    const DEFAULT_CAMP_ID = \"summer5\";\n\n    const SCHUTZENMATTE_MAP = \"https:\/\/maps.app.goo.gl\/7XyoAEkbZ8HmYhTF8\";\n    const ELYS_LINK = \"https:\/\/elys-basel.ch\/\";\n\n    \/* =========================================================\n       CAMP CONTENT\n       To update dates, titles, images, locations or product links,\n       edit the matching camp object below.\n       Keep every camp ID unique.\n       ========================================================= *\/\n    const seasons = {\n      summer: {\n        title: \"Summer Camps 2026\",\n        color: \"summer\",\n        status: \"open\",\n        camps: [\n          {\n            id: \"summer1\",\n            tab: \"Week 1 \u00b7 Jun 22\u201326\",\n            title: \"BSA Summer Camp - Week 1\",\n            badge: \"Summer Week 1 \u00b7 2026\",\n            dates: \"June 22\u201326\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2026\/04\/bsasoccercamp.jpg\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standardSummer\",\n            priceMode: \"summer\",\n            kickOffUntil: \"May 10\",\n            secondPriceLabel: \"May 11 \u2013 June 7\",\n            thirdPriceLabel: \"June 8 & onward\",\n            productLinks: [\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-june-fwfd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-june-fwhd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-june-singleday-fd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-june-singleday-hd\/\"\n            ],\n            logos: [],\n            services: \"both\",\n            bring: \"summer\"\n          },\n          {\n            id: \"summer2\",\n            tab: \"Week 2 \u00b7 Jun 29\u2013Jul 3\",\n            title: \"BSA\/BIFC Summer Camp - Week 2\",\n            badge: \"Summer Week 2 \u00b7 2026\",\n            dates: \"June 29\u2013July 3\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/bsasoccercamp2.jpg\",\n            infoPhotos: [],\n            type: \"bifc\",\n            priceSet: \"standardSummer\",\n            priceMode: \"summer\",\n            kickOffUntil: \"May 10\",\n            secondPriceLabel: \"May 11 \u2013 June 7\",\n            thirdPriceLabel: \"June 8 & onward\",\n            productLinks: [\n              \"https:\/\/bsasoccer.ch\/product\/bifc-summer-soccer-camp-july-fwfd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/bifc-summer-soccer-camp-july-fwhd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/bifc-summer-soccer-camp-july-singleday-fd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/bifc-summer-soccer-camp-july-singleday-hd\/\"\n            ],\n            logos: [\"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/04\/bifc-e1714640613799.png\"],\n            services: \"both\",\n            bring: \"summer\"\n          },\n          {\n            id: \"girlsonly\",\n            tab: \"Girls Only \u00b7 Jun 29\u2013Jul 3\",\n            title: \"BSA Summer Girls Only Soccer Camp\",\n            badge: \"Girls Only Camp \u00b7 2026\",\n            dates: \"June 29\u2013July 3\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2026\/04\/GirlsCamp2.jpeg\",\n            infoPhotos: [],\n            type: \"girls\",\n            priceSet: \"girlsSummer\",\n            priceMode: \"summer\",\n            kickOffUntil: \"May 17\",\n            secondPriceLabel: \"May 18 \u2013 June 7\",\n            thirdPriceLabel: \"June 8 & onward\",\n            productLinks: [\n              \"https:\/\/bsasoccer.ch\/product\/girls-only-summer-camp-full-week-full-day\/\",\n              \"https:\/\/bsasoccer.ch\/product\/girls-only-summer-camp-full-week-half-day\/\",\n              \"https:\/\/bsasoccer.ch\/product\/girls-only-summer-camp-single-day-full-day\/\",\n              \"https:\/\/bsasoccer.ch\/product\/girls-only-summer-camp-single-day-half-day\/\"\n            ],\n            logos: [],\n            services: \"both\",\n            bring: \"summer\"\n          },\n          {\n            id: \"summer3\",\n            tab: \"Week 3 \u00b7 Jul 6\u201310\",\n            title: \"BSA Summer Camp - Week 3\",\n            badge: \"Summer Week 3 \u00b7 2026\",\n            dates: \"July 6\u201310\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/04\/PHOTOS-WEB-6.webp\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standardSummer\",\n            priceMode: \"summer\",\n            kickOffUntil: \"May 10\",\n            secondPriceLabel: \"May 11 \u2013 June 7\",\n            thirdPriceLabel: \"June 8 & onward\",\n            productLinks: [\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july6-fwfd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july6-fwhd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july6-singleday-fd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july6-singleday-hd\/\"\n            ],\n            logos: [],\n            services: \"both\",\n            bring: \"summer\"\n          },\n          {\n            id: \"summer4\",\n            tab: \"Week 4 \u00b7 Jul 20\u201324\",\n            title: \"BSA Summer Camp - Week 4\",\n            badge: \"Summer Week 4 \u00b7 2026\",\n            dates: \"July 20\u201324\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/campmatch.jpg\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standardSummer\",\n            priceMode: \"summer\",\n            kickOffUntil: \"May 10\",\n            secondPriceLabel: \"May 11 \u2013 June 7\",\n            thirdPriceLabel: \"June 8 & onward\",\n            productLinks: [\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july20-fwfd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july20-fwhd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july20-singlesday-fd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-july20-singleday-hd\/\"\n            ],\n            logos: [],\n            services: \"both\",\n            bring: \"summer\"\n          },\n          {\n            id: \"summer5\",\n            tab: \"Combo Camp \u00b7 Aug 3\u20137\",\n            title: \"BSA Combo Summer Camp - Week 5\",\n            badge: \"Combo Summer Camp \u00b7 2026\",\n            dates: \"August 3\u20137\",\n            fullDay: \"Mon\u2013Thu 10:00\u201317:00 \/ Fri 10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            morningLocation: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            morningLocationUrl: SCHUTZENMATTE_MAP,\n            afternoonLocation: \"Kultur- und Gewerbehaus ELYS\",\n            afternoonLocationUrl: ELYS_LINK,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/PHOTOS-WEB-16.webp\",\n            infoPhotos: [],\n            type: \"combo\",\n            priceSet: \"comboSummer\",\n            priceMode: \"summer\",\n            kickOffUntil: \"May 10\",\n            secondPriceLabel: \"May 11 \u2013 June 7\",\n            thirdPriceLabel: \"June 8 & onward\",\n            productLinks: [\n              \"https:\/\/bsasoccer.ch\/product\/summercamp-soccer-tech-ninja-climb-august-fwfd\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-august-halfday\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summercamp-soccer-tech-ninja-august-singleday\/\",\n              \"https:\/\/bsasoccer.ch\/product\/summer-soccer-camp-august-singleday-hd\/\"\n            ],\n            logos: [\n              \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-28-031413.webp\",\n              \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-28-032446.webp\",\n              \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-28-032519.webp\"\n            ],\n            services: \"early\",\n            bring: \"summer\"\n          }\n        ]\n      },\n\n      fall: {\n        title: \"Fall Camps 2026\",\n        color: \"fall\",\n        status: \"soon\",\n        camps: [\n          {\n            id: \"fall1\",\n            tab: \"Fall Camp 1\",\n            title: \"Fall Football Camp 1\",\n            badge: \"Fall Camp 1 \u00b7 2026\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standard\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\n              \"FALL1-FWFD-LINK\", \n              \"FALL1-FWHD-LINK\", \n              \"FALL1-SINGLE-FD-LINK\", \n              \"FALL1-SINGLE-HD-LINK\"\n            ],\n            logos: [],\n            services: \"both\",\n            bring: \"fall\"\n          },\n          {\n            id: \"fall2\",\n            tab: \"Fall Camp 2\",\n            title: \"Fall Football Camp 2\",\n            badge: \"Fall Camp 2 \u00b7 2026\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"Synthetic Turf Field at Sch\u00fctzenmatte\",\n            locationUrl: SCHUTZENMATTE_MAP,\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standard\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\n              \"FALL2-FWFD-LINK\", \n              \"FALL2-FWHD-LINK\", \n              \"FALL2-SINGLE-FD-LINK\", \n              \"FALL2-SINGLE-HD-LINK\"\n            ],\n            logos: [],\n            services: \"both\",\n            bring: \"fall\"\n          },\n          {\n            id: \"fall3\",\n            tab: \"Fall Camp 3\",\n            title: \"Fall Football Camp 3\",\n            badge: \"Fall Camp 3 \u00b7 2026\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"LOCATION TO UPDATE\",\n            locationUrl: \"#\",\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standard\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\"FALL3-FWFD-LINK\", \"FALL3-FWHD-LINK\", \"FALL3-SINGLE-FD-LINK\", \"FALL3-SINGLE-HD-LINK\"],\n            logos: [],\n            services: \"both\",\n            bring: \"fall\"\n          }\n        ]\n      },\n\n      winter: {\n        title: \"Winter Camps 2027\",\n        color: \"soon\",\n        status: \"closed\",\n        camps: [\n          {\n            id: \"winter1\",\n            tab: \"Winter Camp 1\",\n            title: \"Winter Football Camp 1\",\n            badge: \"Winter Camp 1 \u00b7 2027\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"LOCATION TO UPDATE\",\n            locationUrl: \"#\",\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"winter\",\n            priceSet: \"winter\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\"WINTER1-FWFD-LINK\", \"WINTER1-FWHD-LINK\", \"WINTER1-SINGLE-FD-LINK\", \"WINTER1-SINGLE-HD-LINK\"],\n            logos: [],\n            services: \"none\",\n            bring: \"winter\"\n          },\n          {\n            id: \"winter2\",\n            tab: \"Winter Camp 2\",\n            title: \"Winter Football Camp 2\",\n            badge: \"Winter Camp 2 \u00b7 2027\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"LOCATION TO UPDATE\",\n            locationUrl: \"#\",\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"winter\",\n            priceSet: \"winter\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\"WINTER2-FWFD-LINK\", \"WINTER2-FWHD-LINK\", \"WINTER2-SINGLE-FD-LINK\", \"WINTER2-SINGLE-HD-LINK\"],\n            logos: [],\n            services: \"none\",\n            bring: \"winter\"\n          }\n        ]\n      },\n\n      easter: {\n        title: \"Easter Camps 2027\",\n        color: \"soon\",\n        status: \"closed\",\n        camps: [\n          {\n            id: \"easter1\",\n            tab: \"Easter Camp 1\",\n            title: \"Easter Football Camp 1\",\n            badge: \"Easter Camp 1 \u00b7 2027\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"LOCATION TO UPDATE\",\n            locationUrl: \"#\",\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standard\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\"EASTER1-FWFD-LINK\", \"EASTER1-FWHD-LINK\", \"EASTER1-SINGLE-FD-LINK\", \"EASTER1-SINGLE-HD-LINK\"],\n            logos: [],\n            services: \"both\",\n            bring: \"easter\"\n          },\n          {\n            id: \"easter2\",\n            tab: \"Easter Camp 2\",\n            title: \"Easter Football Camp 2\",\n            badge: \"Easter Camp 2 \u00b7 2027\",\n            dates: \"DATES TO UPDATE\",\n            fullDay: \"10:00\u201316:00\",\n            halfDay: \"10:00\u201312:30\",\n            location: \"LOCATION TO UPDATE\",\n            locationUrl: \"#\",\n            image: \"https:\/\/bsasoccer.ch\/wp-content\/uploads\/2024\/12\/BSA-5-1.webp\",\n            infoPhotos: [],\n            type: \"standard\",\n            priceSet: \"standard\",\n            priceMode: \"earlyBird\",\n            earlyUntil: \"DATE TO UPDATE\",\n            afterDate: \"DATE TO UPDATE\",\n            productLinks: [\"EASTER2-FWFD-LINK\", \"EASTER2-FWHD-LINK\", \"EASTER2-SINGLE-FD-LINK\", \"EASTER2-SINGLE-HD-LINK\"],\n            logos: [],\n            services: \"both\",\n            bring: \"easter\"\n          }\n        ]\n      }\n    };\n\n    const descriptions = {\n      standard: \"Join us for an active and positive football holiday camp experience in Basel. Whether your child is just starting out or already developing their skills, our camps are designed for children of different backgrounds, ages and football levels.\",\n      bifc: \"A fun and competitive football camp week in collaboration with BIFC. Players enjoy technical training, games, match play and a positive camp atmosphere.\",\n      girls: \"A fun, empowering and high-energy football camp just for girls. Players build confidence, develop skills and enjoy a fantastic week of football, friends and match play.\",\n      combo: \"Our Combo Camp is a fun and active holiday camp in Basel for children aged 5 to 15 who enjoy football, movement, creativity and trying new things.\",\n      winter: \"A fun indoor football camp for children who want to stay active, improve their skills and enjoy football during the winter school holidays.\"\n    };\n\n    const infoText = {\n      standard: `\n        <div class=\"bsa-program-info\">\n          <div class=\"bsa-program-kicker\">Daily programme<\/div>\n          <h4>How the camp day works<\/h4>\n          <p class=\"bsa-program-intro\">Our holiday camps in Basel combine football training, fun games, lunch for full-day campers and plenty of match play. Children train in small groups so they can improve at the right pace and enjoy the day with players of a similar age and level.<\/p>\n          <div class=\"bsa-program-grid\">\n            <div class=\"bsa-program-step\"><strong>09:40\u201309:55<\/strong><span>Arrival<\/span><p>We meet at the field and get ready to start on time.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>10:00\u201312:30<\/strong><span>Morning training<\/span><p>Technical exercises, fun games and a short morning match.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>12:30<\/strong><span>Half-day pick-up<\/span><p>Half-day campers are picked up at the field.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>12:30\u201313:30<\/strong><span>Hot lunch<\/span><p>Lunch for full-day campers at a nearby restaurant.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>13:30\u201316:00<\/strong><span>Matches and tournaments<\/span><p>Players use their new skills in games and match play.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>16:00<\/strong><span>Pick-up<\/span><p>End of camp day. Children are picked up at the field.<\/p><\/div>\n          <\/div>\n        <\/div>\n      `,\n      girls: \"girls\",\n      combo: \"combo\",\n      winter: `\n        <div class=\"bsa-program-info\">\n          <div class=\"bsa-program-kicker\">Winter football camp<\/div>\n          <h4>Indoor football, skills and games<\/h4>\n          <p class=\"bsa-program-intro\">Children stay active during the winter holidays with football training, coordination work, shooting, passing and small-sided games in an indoor setting.<\/p>\n        <\/div>\n      `\n    };\n\n    \/* =========================================================\n       PRICES\n       Each row follows this order:\n       [option name, time, price 1, price 2, price 3, benefits]\n       Benefits are separated with | characters.\n       ========================================================= *\/\n    const priceSets = {\n      standardSummer: [\n        [\"Full Week \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF 469.00\", \"CHF 499.00\", \"CHF 549.00\", \"Lunch included|BSA Nike T-shirt included|Training, games and match play|Early drop-off \/ late pick-up available by request\"],\n        [\"Full Week \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF 279.00\", \"CHF 299.00\", \"CHF 329.00\", \"Morning football session|BSA Nike T-shirt included|Great option for younger players|Early drop-off available by request\"],\n        [\"Single Day \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF 105.00 per day\", \"CHF 115.00 per day\", \"CHF 120.00 per day\", \"Lunch included|T-shirt for 3+ days|Flexible day choice\"],\n        [\"Single Day \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF 60.00 per day\", \"CHF 65.00 per day\", \"CHF 70.00 per day\", \"Morning football session|T-shirt for 3+ days|Flexible day choice\"]\n      ],\n\n      girlsSummer: [\n        [\"Full Week \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF 369.00\", \"CHF 399.00\", \"CHF 449.00\", \"Hot lunch included|BSA Nike T-shirt included|Training, games and match play|Early drop-off \/ late pick-up available by request\"],\n        [\"Full Week \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF 189.00\", \"CHF 209.00\", \"CHF 249.00\", \"Morning football sessions|BSA Nike T-shirt included|Great option for younger players|Early drop-off available by request\"],\n        [\"Single Day \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF 90.00 per day\", \"CHF 95.00 per day\", \"CHF 100.00 per day\", \"Hot lunch included|T-shirt for 3+ camp days|Flexible option for families|Early drop-off \/ late pick-up available by request\"],\n        [\"Single Day \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF 40.00 per day\", \"CHF 45.00 per day\", \"CHF 50.00 per day\", \"Morning football session|T-shirt for 3+ camp days|Flexible option for families|Early drop-off by request\"]\n      ],\n\n      comboSummer: [\n        [\"Full Week \u00b7 Full Day\", \"Mon\u2013Thu 10:00\u201317:00 \/ Fri 10:00\u201316:00\", \"CHF 569.00\", \"CHF 599.00\", \"CHF 649.00\", \"Lunch included|Afternoon activities included|BSA Nike T-shirt included|Early drop-off available by request\"],\n        [\"Full Week \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF 279.00\", \"CHF 299.00\", \"CHF 329.00\", \"Morning football sessions|BSA Nike T-shirt included|Early drop-off available by request\"],\n        [\"Single Day \u00b7 Full Day\", \"Mon\u2013Thu 10:00\u201317:00 \/ Fri 10:00\u201316:00\", \"CHF 125.00 per day\", \"CHF 130.00 per day\", \"CHF 140.00 per day\", \"Lunch included|Choose your day|Afternoon activities included|T-shirt for 3+ camp days|Early drop-off available by request\"],\n        [\"Single Day \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF 60.00 per day\", \"CHF 65.00 per day\", \"CHF 70.00 per day\", \"Morning football session|Flexible day choice|T-shirt for 3+ camp days|Early drop-off available by request\"]\n      ],\n\n      standard: [\n        [\"Full Week \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF XXX\", \"CHF XXX\", \"Lunch included|BSA Nike T-shirt included|Training, games and match play|Early drop-off \/ late pick-up available by request\"],\n        [\"Full Week \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF XXX\", \"CHF XXX\", \"Morning football session|BSA Nike T-shirt included|Early drop-off available by request\"],\n        [\"Single Day \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF XXX\", \"CHF XXX\", \"Lunch included|T-shirt for 3+ camp days|Flexible day choice\"],\n        [\"Single Day \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF XXX\", \"CHF XXX\", \"Morning football session|T-shirt for 3+ camp days|Flexible day choice\"]\n      ],\n\n      winter: [\n        [\"Full Week \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF XXX\", \"CHF XXX\", \"Indoor football camp|BSA Nike T-shirt included|Early drop-off \/ late pick-up available by request\"],\n        [\"Full Week \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF XXX\", \"CHF XXX\", \"Indoor football camp|BSA Nike T-shirt included|Early drop-off available by request\"],\n        [\"Single Day \u00b7 Full Day\", \"10:00\u201316:00\", \"CHF XXX\", \"CHF XXX\", \"Indoor football camp|T-shirt for 3+ camp days|Flexible day choice\"],\n        [\"Single Day \u00b7 Half Day\", \"10:00\u201312:30\", \"CHF XXX\", \"CHF XXX\", \"Indoor football camp|T-shirt for 3+ camp days|Flexible day choice\"]\n      ]\n    };\n\n    function comboCampInfoHTML() {\n      return `\n        <section class=\"combo-camp\"><div class=\"combo-camp-inner\">\n          <h5>\u26bd Ready for another epic summer? \u26bd<\/h5>\n          <p class=\"combo-subtitle\">Due to popular demand, our most exciting summer camp in Basel is back for another unforgettable week.<\/p>\n          <p class=\"combo-text\">Our Combo Summer Camp is a fun and active <strong>summer camp in Basel<\/strong> for children aged 5 to 15 who enjoy football, movement, creativity and trying new things.<br><br>Each morning starts with football training, games and matches in a positive and supportive setting. In the afternoons, the children head off for a different activity each day, making this a unique <strong>football and multi-activity summer camp in Switzerland<\/strong> for families looking for more than just a standard holiday camp.<\/p>\n          <p class=\"combo-text combo-text-small\">With the mix of football, adventure and hands-on experiences, this <strong>summer holiday camp<\/strong> is designed to keep kids active, engaged and happy all week long.<\/p>\n          <div class=\"combo-grid\">\n            <div class=\"combo-card\"><div class=\"combo-icon\">\ud83e\udde0<\/div><h3>Monday<\/h3><p>TechLabs<\/p><span>STEAM-powered creativity and hands-on learning that is actually fun.<\/span><\/div>\n            <div class=\"combo-card\"><div class=\"combo-icon\">\ud83e\udd77<\/div><h3>Tuesday<\/h3><p>Ninja Warrior<\/p><span>Balance, jump, climb, and conquer the ultimate obstacle zone.<\/span><\/div>\n            <div class=\"combo-card\"><div class=\"combo-icon\">\ud83e\udde0<\/div><h3>Wednesday<\/h3><p>TechLabs<\/p><span>A fresh round of creative building, problem-solving and hands-on discovery.<\/span><\/div>\n            <div class=\"combo-card combo-card-thursday\"><div class=\"combo-icon\">\ud83e\uddd7<\/div><h3>Thursday<\/h3><p>Boulderloft Climbing Adventure<\/p><span>Push limits, gain confidence, and climb like a pro.<\/span><\/div>\n            <div class=\"combo-card combo-card-friday\"><div class=\"combo-icon\">\ud83c\udfc6<\/div><h3>Friday<\/h3><p>All-Day Soccer Tournament<\/p><span>The big finale to an unforgettable week of football and team spirit.<\/span><\/div>\n          <\/div>\n          <p class=\"combo-text combo-extra\">We also travel together by tram during the week as part of the camp experience, so please let us know if your child already has a public transport pass.<\/p>\n          <p class=\"combo-text combo-highlight\">\ud83c\udfaf One week only. One big adventure. All the fun.<\/p>\n          <p class=\"combo-text combo-text-small combo-final-text\">Places are limited, so we recommend booking early to secure your spot.<\/p>\n        <\/div><\/section>`;\n    }\n\n    function girlsCampInfoHTML() {\n      return `\n        <section class=\"bsa-girls-info\">\n          <div class=\"bsa-girls-kicker\">Train. Play. Grow.<\/div>\n          <h4>Develop skills. Build confidence. Have fun.<\/h4>\n          <p>Our Girls Only Camp gives players a positive and supportive space to enjoy football, improve their skills and feel confident on the pitch. Each day includes technical training, fun games, small-sided matches and tournament play.<\/p>\n          <div class=\"bsa-girls-mini-grid\">\n            <div><span>\ud83c\udfaf<\/span><strong>Technical development<\/strong><\/div>\n            <div><span>\ud83e\udd1d<\/span><strong>Teamwork<\/strong><\/div>\n            <div><span>\ud83d\udee1\ufe0f<\/span><strong>Confidence<\/strong><\/div>\n            <div><span>\ud83d\ude0a<\/span><strong>Fun and friendships<\/strong><\/div>\n          <\/div>\n          <br>\n          <div class=\"bsa-program-kicker\">Daily programme<\/div>\n          <div class=\"bsa-program-grid\">\n            <div class=\"bsa-program-step\"><strong>09:40\u201309:55<\/strong><span>Arrival<\/span><p>We meet at the field and get ready to start on time.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>10:00\u201312:30<\/strong><span>Morning training<\/span><p>Technical exercises, fun games and a short morning match.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>12:30<\/strong><span>Half-day pick-up<\/span><p>Half-day campers are picked up at the field.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>12:30\u201313:30<\/strong><span>Hot lunch<\/span><p>Lunch for full-day campers at Restaurant Sch\u00fctzenmatte.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>13:30\u201316:00<\/strong><span>Matches and tournaments<\/span><p>Players use their new skills in games and match play.<\/p><\/div>\n            <div class=\"bsa-program-step\"><strong>16:00<\/strong><span>Pick-up<\/span><p>End of camp day. Children are picked up at the field.<\/p><\/div>\n          <\/div>\n        <\/section>`;\n    }\n\n    function serviceNoteHTML(type) {\n      if (type === \"early\") {\n        return `<div class=\"bsa-service-note\"><h5>Early drop-off available by request<\/h5><p>Supervised early drop-off is available from 8:30 AM.<br>Price: CHF 15 per child per day, or CHF 60 per child for the full camp week. Sibling discount applies.<\/p><\/div>`;\n      }\n      if (type === \"both\") {\n        return `<div class=\"bsa-service-note\"><h5>Early drop-off and late pick-up available by request<\/h5><p>Supervised early drop-off is available from 8:30 AM and late pick-up until 5:15 PM.<br>Price: CHF 15 per child, per service, per day, or CHF 60 per child, per service, for the full camp week. Sibling discount applies.<\/p><\/div>`;\n      }\n      return \"\";\n    }\n\n    function comingSoonHTML() {\n      return `<div class=\"bsa-coming-soon\">\n        <div style=\"text-align:center; margin:0 auto; max-width:760px; color:#1E3A5F; padding:0 16px;\">\n          <div style=\"width:clamp(100px,14vw,132px);height:clamp(100px,14vw,132px);margin:0 auto 18px auto;position:relative;\">\n            <svg viewBox=\"0 0 140 140\" style=\"width:100%; height:100%; display:block;\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n              <g transform=\"translate(70,70)\">\n                <path d=\"M0,-58 A58,58 0 0 1 26,-52\" fill=\"none\" stroke=\"#163A70\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M31,-49 A58,58 0 0 1 49,-31\" fill=\"none\" stroke=\"#2F6B57\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M52,-26 A58,58 0 0 1 58,0\" fill=\"none\" stroke=\"#B7CDBE\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M58,6 A58,58 0 0 1 49,31\" fill=\"none\" stroke=\"#D5DDD7\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M45,36 A58,58 0 0 1 27,52\" fill=\"none\" stroke=\"#DCE2DD\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M21,55 A58,58 0 0 1 -6,58\" fill=\"none\" stroke=\"#E3E8E4\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M-12,57 A58,58 0 0 1 -36,45\" fill=\"none\" stroke=\"#1E3A5F\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M-40,41 A58,58 0 0 1 -53,20\" fill=\"none\" stroke=\"#163A70\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M-56,14 A58,58 0 0 1 -58,-12\" fill=\"none\" stroke=\"#1E3A5F\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M-56,-18 A58,58 0 0 1 -47,-39\" fill=\"none\" stroke=\"#163A70\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n                <path d=\"M-42,-44 A58,58 0 0 1 -22,-54\" fill=\"none\" stroke=\"#2F6B57\" stroke-width=\"10\" stroke-linecap=\"butt\"\/>\n              <\/g>\n              <rect x=\"41\" y=\"42\" width=\"58\" height=\"52\" rx=\"10\" fill=\"#FFFFFF\" stroke=\"#1E3A5F\" stroke-width=\"4\"\/>\n              <rect x=\"41\" y=\"42\" width=\"58\" height=\"16\" rx=\"10\" fill=\"#1E3A5F\"\/>\n              <rect x=\"41\" y=\"50\" width=\"58\" height=\"8\" fill=\"#1E3A5F\"\/>\n              <rect x=\"53\" y=\"33\" width=\"6\" height=\"16\" rx=\"3\" fill=\"#1E3A5F\"\/>\n              <rect x=\"81\" y=\"33\" width=\"6\" height=\"16\" rx=\"3\" fill=\"#1E3A5F\"\/>\n              <path d=\"M54 71 L66 81 L85 61\" fill=\"none\" stroke=\"#9AA8B6\" stroke-width=\"6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n            <\/svg>\n          <\/div>\n          <h3 style=\"margin:0;color:#1E3A5F;font-size:clamp(24px,4.2vw,44px);line-height:1.08;font-weight:800;letter-spacing:-0.03em;text-transform:uppercase;\">We\u2019re Organising<br>Our Next Holiday Camps!<\/h3>\n          <div style=\"width:clamp(120px,28vw,220px);height:3px;background:#2F6B57;margin:18px auto 22px auto;border-radius:999px;\"><\/div>\n          <p style=\"margin:0;color:#1E3A5F;font-size:clamp(15px,2.2vw,22px);line-height:1.5;max-width:620px;margin-left:auto;margin-right:auto;\">We\u2019re finalising the details for another great soccer experience.<\/p>\n          <p style=\"margin:18px 0 0 0;color:#1E3A5F;font-size:clamp(17px,2.6vw,28px);line-height:1.4;font-weight:700;max-width:620px;margin-left:auto;margin-right:auto;\">Camp Registration will be open soon.<br>Stay tuned!<\/p>\n          <p style=\"margin:22px 0 0 0;color:#1E3A5F;font-size:clamp(15px,2.1vw,20px);line-height:1.45;max-width:620px;margin-left:auto;margin-right:auto;\">More skills. More fun. More memories.<\/p>\n        <\/div>\n      <\/div>`;\n    }\n\n    function locationLink(label, url) {\n      if (!label) return \"\";\n      if (!url || url === \"#\") return label;\n      return `<a class=\"bsa-location-link\" href=\"${url}\" target=\"_blank\" rel=\"noopener\">${label}<\/a>`;\n    }\n\n    function factsHTML(camp) {\n  const locationHTML = camp.type === \"combo\"\n    ? `\n      <div class=\"bsa-fact\">\n        <span>Mon\u2013Thu Morning & Fri (All Day)<\/span>\n        ${locationLink(camp.morningLocation, camp.morningLocationUrl)}\n      <\/div>\n\n      <div class=\"bsa-fact\">\n        <span>Mon\u2013Thu Afternoon<\/span>\n        ${locationLink(camp.afternoonLocation, camp.afternoonLocationUrl)}\n      <\/div>\n\n      \n    `\n    : `\n      <div class=\"bsa-fact\">\n        <span>Location<\/span>\n        ${locationLink(camp.location, camp.locationUrl)}\n      <\/div>\n    `;\n\n  return `\n    <div class=\"bsa-facts\">\n      <div class=\"bsa-fact\">\n        <span>Dates<\/span>\n        ${camp.dates}\n      <\/div>\n\n      <div class=\"bsa-fact\">\n        <span>Age<\/span>\n        5\u201315 years\n      <\/div>\n\n      <div class=\"bsa-fact\">\n        <span>Full-day<\/span>\n        ${camp.fullDay}\n      <\/div>\n\n      <div class=\"bsa-fact\">\n        <span>Half-day<\/span>\n        ${camp.halfDay}\n      <\/div>\n\n      ${locationHTML}\n    <\/div>\n  `;\n}\n\n    function productCards(camp) {\n      const prices = priceSets[camp.priceSet] || priceSets.standardSummer;\n      const links = camp.productLinks || [];\n\n      return prices.map((p, i) => {\n        const link = links[i] || \"#\";\n        const priceClass = camp.priceSet === \"girlsSummer\" ? \"price-girls\" : camp.priceSet === \"comboSummer\" ? \"price-combo\" : camp.priceMode === \"earlyBird\" ? \"price-earlybird\" : \"price-summer\";\n\n        const priceHTML = camp.priceMode === \"earlyBird\"\n          ? `<div class=\"bsa-price-list\">\n              <div>\ud83d\udd58 <strong>Early Price<\/strong><span>Until ${camp.earlyUntil || \"DATE TO UPDATE\"}<\/span><b>${p[2]}<\/b><\/div>\n              <div>\u23f3 <strong>From ${camp.afterDate || \"DATE TO UPDATE\"} & onward<\/strong><b>${p[3]}<\/b><\/div>\n            <\/div>`\n          : `<div class=\"bsa-price-list\">\n              <div>\ud83d\ude80 <strong>Kick-Off Price<\/strong><span>Until ${camp.kickOffUntil || \"May 10\"}<\/span><b>${p[2]}<\/b><\/div>\n              <div>\ud83d\udd58 <strong>${camp.secondPriceLabel || \"May 11 \u2013 June 7\"}<\/strong><b>${p[3]}<\/b><\/div>\n              <div>\u23f3 <strong>${camp.thirdPriceLabel || \"June 8 & onward\"}<\/strong><b>${p[4]}<\/b><\/div>\n            <\/div>`;\n\n       return `<div class=\"bsa-product ${priceClass} ${i === 0 ? \"featured\" : \"\"}\">\n          ${i === 0 ? `<div class=\"bsa-popular-badge\">Most popular<\/div>` : \"\"}\n          <h5>${p[0]}<\/h5>\n          <div class=\"bsa-product-time\">${p[1]}<\/div>\n          ${priceHTML}\n          <ul>${p[camp.priceMode === \"earlyBird\" ? 4 : 5].split(\"|\").map(item => `<li>${item}<\/li>`).join(\"\")}<\/ul>\n          <a href=\"${link}\" class=\"bsa-btn bsa-btn-red\">Register<\/a>\n        <\/div>`;\n      }).join(\"\");\n    }\n\n    function logosHTML(logos) {\n      if (!logos || logos.length === 0) return \"\";\n      return `<div class=\"bsa-collab-box\"><span>In collaboration with<\/span><div class=\"bsa-collab-logos\">${logos.slice(0, 5).map(logo => `<div class=\"bsa-collab-logo\"><img decoding=\"async\" src=\"${logo}\" alt=\"Partner logo\"><\/div>`).join(\"\")}<\/div><\/div>`;\n    }\n\n    function infoPhotosHTML(camp) {\n      if (!camp.infoPhotos || camp.infoPhotos.length === 0) return \"\";\n      return `<div class=\"bsa-info-photos\">${camp.infoPhotos.slice(0, 3).map(photo => `<img decoding=\"async\" src=\"${photo}\" alt=\"${camp.title}\">`).join(\"\")}<\/div>`;\n    }\n\n    const bringSets = {\n      summer: [\n        [\"\u26bd\ud83d\udc5f\", \"Cleats or turf shoes\"],\n        [\"\ud83d\udee1\ufe0f\", \"Shin guards\"],\n        [\"\ud83e\udde2\", \"Sport cap\"],\n        [\"\ud83d\udca7\", \"Water bottle\"],\n        [\"\ud83c\udf4e\", \"Snacks\"],\n        [\"\u2600\ufe0f\", \"Sunscreen\"],\n        [\"\ud83d\udc55\", \"Light sports clothes for warm weather\"]\n      ],\n      fall: [\n        [\"\u26bd\ud83d\udc5f\", \"Cleats or turf shoes\"],\n        [\"\ud83d\udee1\ufe0f\", \"Shin guards\"],\n        [\"\ud83d\udca7\", \"Water bottle\"],\n        [\"\ud83c\udf4e\", \"Snacks\"],\n        [\"\ud83c\udf27\ufe0f\", \"Rain jacket\"],\n        [\"\ud83e\udde5\", \"Warm sports layers\"]\n      ],\n      winter: [\n        [\"\ud83d\udc5f\", \"Indoor sports shoes\"],\n        [\"\ud83d\udee1\ufe0f\", \"Shin guards\"],\n        [\"\ud83d\udca7\", \"Water bottle\"],\n        [\"\ud83c\udf4e\", \"Snacks\"],\n        [\"\ud83e\udde5\", \"Warm layers for before and after camp\"],\n        [\"\ud83e\udde4\", \"Gloves \/ hat if needed\"]\n      ],\n      easter: [\n        [\"\u26bd\ud83d\udc5f\", \"Cleats or turf shoes\"],\n        [\"\ud83d\udee1\ufe0f\", \"Shin guards\"],\n        [\"\ud83d\udca7\", \"Water bottle\"],\n        [\"\ud83c\udf4e\", \"Snacks\"],\n        [\"\ud83c\udf26\ufe0f\", \"Weather-appropriate sports clothes\"],\n        [\"\ud83e\udde5\", \"Light rain jacket\"]\n      ]\n    };\n\n    function bringHTML(season) {\n      const items = bringSets[season] || bringSets.summer;\n      return `<h4>What to bring<\/h4>\n        <div class=\"bsa-bring-grid\">\n          ${items.map(item => `<div class=\"bsa-bring-item\"><span>${item[0]}<\/span>${item[1]}<\/div>`).join(\"\")}\n        <\/div>`;\n    }\n\n    function campCard(camp) {\n      const type = camp.type || \"standard\";\n      const isGirls = type === \"girls\";\n      const campInfo =\n        type === \"combo\"\n          ? comboCampInfoHTML() + serviceNoteHTML(camp.services) + infoPhotosHTML(camp)\n          : type === \"girls\"\n            ? girlsCampInfoHTML() + serviceNoteHTML(camp.services) + infoPhotosHTML(camp)\n            : `${infoText[type] || infoText.standard}${serviceNoteHTML(camp.services)}${infoPhotosHTML(camp)}`;\n\n      return `<article class=\"bsa-camp-panel bsa-camp-card ${camp.id === DEFAULT_CAMP_ID ? \"active\" : \"\"}\" id=\"${camp.id}\">\n        <div class=\"bsa-camp-top\">\n          <div class=\"bsa-camp-image\" style=\"background-image:url('${camp.image}');\"><\/div>\n          <div class=\"bsa-camp-intro\">\n            <div class=\"bsa-badge ${isGirls ? \"girls\" : \"\"}\">${camp.badge}<\/div>\n            <h3>${camp.title}<\/h3>\n            <p>${descriptions[type] || descriptions.standard}<\/p>\n            ${factsHTML(camp)}\n            ${logosHTML(camp.logos)}\n          <\/div>\n        <\/div>\n        <div class=\"bsa-inner\">\n          <div class=\"bsa-inner-tabs\">\n            <button class=\"bsa-tab active\" data-inner=\"${camp.id}-info\">Camp info<\/button>\n            <button class=\"bsa-tab\" data-inner=\"${camp.id}-products\">Book options<\/button>\n            <button class=\"bsa-tab\" data-inner=\"${camp.id}-bring\">What to bring<\/button>\n          <\/div>\n          <div class=\"bsa-inner-panel active\" id=\"${camp.id}-info\">${campInfo}<\/div>\n          <div class=\"bsa-inner-panel\" id=\"${camp.id}-products\"><div class=\"bsa-product-grid\">${productCards(camp)}<\/div><\/div>\n          \n          <div class=\"bsa-inner-panel\" id=\"${camp.id}-bring\">\n            ${bringHTML(camp.bring || \"summer\")}\n          <\/div>\n        <\/div>\n      <\/article>`;\n    }\n\n    const seasonTabs = document.getElementById(\"bsa-season-tabs\");\n    const seasonPanels = document.getElementById(\"bsa-season-panels\");\n\n    \/\/ \n    \/\/ This guard prevents the script from failing or rendering the tabs twice.\n    if (!seasonTabs || !seasonPanels || seasonTabs.dataset.bsaReady === \"true\") return;\n    seasonTabs.dataset.bsaReady = \"true\";\n\n    \/\/ Uses DEFAULT_SEASON_ID when it is available. Otherwise, it falls back\n    \/\/ to the first season that is not closed.\n    const firstAvailableSeason =\n      seasons[DEFAULT_SEASON_ID] && seasons[DEFAULT_SEASON_ID].status !== \"closed\"\n        ? DEFAULT_SEASON_ID\n        : seasonOrder.find(key => seasons[key].status !== \"closed\");\n\n    \/* =========================================================\n       CAMP TAB LABEL HELPER\n       This separates each camp name from its dates and adds icons\n       only to Girls Only and Combo Camp.\n       ========================================================= *\/\n\n    function campTabHTML(camp) {\n      const parts = camp.tab.split(\" \u00b7 \");\n      const name = parts[0] || camp.tab;\n      const date = parts.slice(1).join(\" \u00b7 \");\n      const icon = camp.type === \"girls\" ? \"\ud83d\udc67\" : camp.type === \"combo\" ? \"\ud83d\udd25\" : \"\";\n      const highlight = camp.type === \"combo\" ? `<span class=\"bsa-camp-tab-highlight\">Most popular<\/span>` : \"\";\n\n      return `<span class=\"bsa-camp-tab-topline\">${icon ? `<span class=\"bsa-camp-tab-icon\" aria-hidden=\"true\">${icon}<\/span>` : \"\"}<span>${name}<\/span><\/span>${date ? `<span class=\"bsa-camp-tab-date\">${date}<\/span>` : \"\"}${highlight}`;\n    }\n\n    seasonOrder.forEach((key) => {\n      const season = seasons[key];\n      const isActive = key === firstAvailableSeason;\n      const btn = document.createElement(\"button\");\n      btn.type = \"button\";\n      btn.innerHTML = `<span class=\"bsa-season-label\">${season.title}<\/span>`;\n      btn.setAttribute(\"aria-pressed\", isActive ? \"true\" : \"false\");\n\n      if (season.status === \"closed\") {\n        btn.className = \"bsa-tab closed\";\n        btn.disabled = true;\n        btn.title = \"Registrations are not open yet\";\n      } else if (season.status === \"soon\") {\n        btn.className = `bsa-tab soon ${isActive ? \"active\" : \"\"}`;\n        btn.dataset.season = key;\n      } else {\n        btn.className = `bsa-tab ${season.color} ${isActive ? \"active\" : \"\"}`;\n        btn.dataset.season = key;\n      }\n\n      seasonTabs.appendChild(btn);\n\n      const panel = document.createElement(\"div\");\n      panel.className = `bsa-season-panel ${isActive ? \"active\" : \"\"}`;\n      panel.id = key;\n\n      if (season.status === \"soon\") {\n        panel.innerHTML = comingSoonHTML();\n      } else if (season.status === \"open\") {\n        panel.innerHTML = `<div class=\"bsa-camp-tabs\">${season.camps.map((camp) => `<button type=\"button\" class=\"bsa-tab ${camp.id === DEFAULT_CAMP_ID ? \"active\" : \"\"}\" data-camp=\"${camp.id}\" aria-pressed=\"${camp.id === DEFAULT_CAMP_ID ? \"true\" : \"false\"}\">${campTabHTML(camp)}<\/button>`).join(\"\")}<\/div>${season.camps.map((camp) => campCard(camp)).join(\"\")}`;\n      }\n\n      seasonPanels.appendChild(panel);\n    });\n\n    \/* =========================================================\n       \n       ========================================================= *\/\n    if (!document.body.dataset.bsaCampsClickReady) {\n      document.body.dataset.bsaCampsClickReady = \"true\";\n\n      document.addEventListener(\"click\", function (e) {\n      const seasonBtn = e.target.closest(\".bsa-season-tabs .bsa-tab:not(.closed)\");\n      if (seasonBtn) {\n        document.querySelectorAll(\".bsa-season-tabs .bsa-tab\").forEach(b => {\n          b.classList.remove(\"active\");\n          b.setAttribute(\"aria-pressed\", \"false\");\n        });\n        document.querySelectorAll(\".bsa-season-panel\").forEach(p => p.classList.remove(\"active\"));\n        seasonBtn.classList.add(\"active\");\n        seasonBtn.setAttribute(\"aria-pressed\", \"true\");\n        const panel = document.getElementById(seasonBtn.dataset.season);\n        if (panel) panel.classList.add(\"active\");\n      }\n\n      const campBtn = e.target.closest(\".bsa-camp-tabs .bsa-tab\");\n      if (campBtn) {\n        const seasonPanel = campBtn.closest(\".bsa-season-panel\");\n        seasonPanel.querySelectorAll(\".bsa-camp-tabs .bsa-tab\").forEach(b => {\n          b.classList.remove(\"active\");\n          b.setAttribute(\"aria-pressed\", \"false\");\n        });\n        seasonPanel.querySelectorAll(\".bsa-camp-panel\").forEach(p => p.classList.remove(\"active\"));\n        campBtn.classList.add(\"active\");\n        campBtn.setAttribute(\"aria-pressed\", \"true\");\n        const campPanel = seasonPanel.querySelector(\"#\" + campBtn.dataset.camp);\n        if (campPanel) campPanel.classList.add(\"active\");\n      }\n\n      if (e.target.matches(\".bsa-inner-tabs .bsa-tab\")) {\n        const btn = e.target;\n        const inner = btn.closest(\".bsa-inner\");\n        inner.querySelectorAll(\".bsa-inner-tabs .bsa-tab\").forEach(b => b.classList.remove(\"active\"));\n        inner.querySelectorAll(\".bsa-inner-panel\").forEach(p => p.classList.remove(\"active\"));\n        btn.classList.add(\"active\");\n        const innerPanel = inner.querySelector(\"#\" + btn.dataset.inner);\n        if (innerPanel) innerPanel.classList.add(\"active\");\n      }\n      });\n    }\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", initBsaCampsPage);\n    } else {\n      initBsaCampsPage();\n    }\n  })();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-a8f0dc6 e-con e-atomic-element e-flexbox-base e-ffc5524 \" data-id=\"a8f0dc6\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"a8f0dc6\" data-e-type=\"e-flexbox\" data-id=\"a8f0dc6\">\n    \t\t<div class=\"elementor-element elementor-element-35551eb elementor-widget elementor-widget-html\" data-id=\"35551eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"bsa-camps-page\">\n<section class=\"bsa-section bsa-faq-section\">\n    <div class=\"bsa-wrap\">\n      <div class=\"bsa-section-head\"><h2>H\u00e4ufig gestellte Fragen zu Ferienlagern<\/h2><\/div>\n      <div class=\"bsa-faq\">\n        <details>\n          <summary>F\u00fcr welche Altersgruppen sind die Camps gedacht?<\/summary>\n          <p>Alle Kinder im Alter von 5 bis 15 Jahren k\u00f6nnen an unseren Ferienlagern teilnehmen.<br><br><strong>Bitte beachten Sie:<\/strong> Kinder, die etwas j\u00fcnger oder \u00e4lter sind, k\u00f6nnen im Einzelfall ber\u00fccksichtigt werden. Bitte wenden Sie sich an info@bsasoccer.ch, um weitere Informationen zu erhalten. <\/p>\n        <\/details>\n        <details>\n          <summary>K\u00f6nnen Anf\u00e4nger teilnehmen?<\/summary>\n          <p>Ja, auf jeden Fall. Unsere Camps stehen Kindern aller Leistungsstufen offen, auch Anf\u00e4ngern. <\/p>\n        <\/details>\n        <details>\n          <summary>Wie sind die Gruppen organisiert?<\/summary>\n          <p>Wir tun unser Bestes, um die Kinder nach Alter und Niveau einzuteilen, damit jeder das Camp genie\u00dfen und das Beste aus der Erfahrung machen kann.<\/p>\n        <\/details>\n        <details>\n          <summary>Kann ich auch einzelne Tage buchen?<\/summary>\n          <p>Ja, f\u00fcr die meisten Camps k\u00f6nnen Sie einen einzelnen Tag buchen, je nach Verf\u00fcgbarkeit. Sie k\u00f6nnen auch ganze und halbe Tage mischen, um Ihren Zeitplan anzupassen. <\/p>\n        <\/details>\n        <details>\n          <summary>Ist das Mittagessen inbegriffen?<\/summary>\n          <p>F\u00fcr Teilnehmer des Ganztagesprogramms ist das Mittagessen inbegriffen. Teilnehmer des Halbtagesprogramms m\u00fcssen lediglich einige Snacks mitbringen. <br><br>Bitte beachten Sie, dass unsere Wintercamps in der Regel in Innenr\u00e4umen stattfinden und das Mittagessen normalerweise nicht inbegriffen ist.<\/p>\n        <\/details>\n        <details>\n          <summary>Was passiert, wenn es regnet, kalt wird oder sehr hei\u00df ist?<\/summary>\n          <p>Wir f\u00fchren unsere Camps bei fast jedem Wetter durch und sagen sie nur ab, wenn es zu gef\u00e4hrlich ist. Wenn es regnet, warten wir in der Regel an einem nahegelegenen \u00fcberdachten Ort und kehren zum Spielfeld zur\u00fcck, sobald es wieder sicher ist, zu spielen. <br><br>An k\u00e4lteren Tagen sollten Kinder sich in mehreren Schichten warm anziehen, damit sie sich wohlf\u00fchlen. Thermounterw\u00e4sche, Handschuhe, eine M\u00fctze, ein Schal und zwei Paar Socken k\u00f6nnen dabei sehr hilfreich sein. Auch ein warmes Getr\u00e4nk kann zwischen den Aktivit\u00e4ten n\u00fctzlich sein.  <br><br>An sehr hei\u00dfen Tagen gehen wir besonders umsichtig vor. Wir nutzen schattige Bereiche f\u00fcr Pausen, bieten den Kindern h\u00e4ufiger Trinkpausen an und passen den Tagesablauf bei Bedarf an. M\u00f6glicherweise reduzieren wir die Intensit\u00e4t w\u00e4hrend der hei\u00dfesten Zeit am Nachmittag, verl\u00e4ngern den Fu\u00dfballblock am Vormittag etwas oder verbringen nach dem Mittagessen etwas mehr Zeit im Innenbereich, damit sich die Kinder ausreichend abk\u00fchlen k\u00f6nnen.  <br><br>Unser Ziel ist es stets, daf\u00fcr zu sorgen, dass sich die Kinder sicher, wohl und aktiv f\u00fchlen und gleichzeitig bei jedem Wetter Spa\u00df am Fu\u00dfball haben.<\/p>\n        <\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"bsa-final-cta\">\n  <div class=\"bsa-wrap\">\n    <div class=\"bsa-final-cta-card\">\n      <div class=\"bsa-final-cta-grid\">\n        <div>\n          <div class=\"bsa-kicker\">Fu\u00dfball, Freunde und Urlaubsspa\u00df<\/div>\n          <h2>Sind Sie bereit, an unseren Fu\u00dfball-Feriencamps in Basel teilzunehmen?<\/h2>\n          <p>W\u00e4hlen Sie die Camp-Woche aus, die am besten zu Ihrer Familie passt, und wir k\u00fcmmern uns um den Fu\u00dfball, die Spiele und die gute Stimmung auf dem Platz.<\/p>\n          <a href=\"#camp-options\" class=\"bsa-btn bsa-btn-red\">Siehe Camp-Optionen<\/a>\n        <\/div>\n\n        <div class=\"bsa-final-cta-photos\">\n  <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bsa-cta-photo bsa-cta-photo-1\" src=\"https:\/\/i0.wp.com\/bsasoccer.ch\/wp-content\/uploads\/2025\/03\/campmatch.jpg?ssl=1\" alt=\"Kinder, die im BSA-Camp Fu\u00dfball spielen\">\n  <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bsa-cta-photo bsa-cta-photo-2\" src=\"https:\/\/i0.wp.com\/bsasoccer.ch\/wp-content\/uploads\/2026\/04\/bsasoccercamp.jpg?ssl=1\" alt=\"BSA-Fu\u00dfball-Feriencamp in Basel\">\n  <img data-recalc-dims=\"1\" decoding=\"async\" class=\"bsa-cta-photo bsa-cta-photo-3\" src=\"https:\/\/i0.wp.com\/bsasoccer.ch\/wp-content\/uploads\/2026\/04\/GirlsCamp8.jpeg?ssl=1\" alt=\"Gruppenfoto vom M\u00e4dchenfu\u00dfballcamp in Basel\">\n<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Football holiday camps in Basel School holidays full of football, fun and confidence. BSA holiday camps give children aged 5\u201315 a positive football experience in Basel. Each camp is designed to help children improve, play matches, make friends and enjoy their school holidays on the pitch. View camp options Ask us a question What families [&hellip;]<\/p>\n","protected":false},"author":247790968,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-50354","page","type-page","status-publish","hentry"],"jetpack_shortlink":"https:\/\/wp.me\/PfASTJ-d6a","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/pages\/50354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/users\/247790968"}],"replies":[{"embeddable":true,"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/comments?post=50354"}],"version-history":[{"count":11,"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/pages\/50354\/revisions"}],"predecessor-version":[{"id":51408,"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/pages\/50354\/revisions\/51408"}],"wp:attachment":[{"href":"https:\/\/bsasoccer.ch\/de-ch\/wp-json\/wp\/v2\/media?parent=50354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}