.fanb-app {
    --fanb-navy: #041326;
    --fanb-navy-2: #0d3150;
    --fanb-green: #00eb96;
    --fanb-blue: #00bef5;
    --fanb-gradient: linear-gradient(135deg, #00eb96 0%, #00bef5 100%);
    --fanb-ink: #383838;
    --fanb-muted: #5e6873;
    --fanb-line: #d9dada;
    --fanb-bg: #ebecec;
    --fanb-white: #fff;
    width: 100vw;
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: var(--fanb-bg);
    color: var(--fanb-ink);
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    line-height: 1.5;
    box-sizing: border-box;
    overflow-x: clip;
}
.fanb-app *, .fanb-app *::before, .fanb-app *::after { box-sizing: border-box; }
.fanb-app [hidden] { display: none !important; }
.fanb-app__header { min-height: 84px; padding: 16px clamp(20px, 4vw, 72px); display: grid; grid-template-columns: 220px 1fr auto; gap: 30px; align-items: center; background: var(--fanb-navy); color: #fff; }
.fanb-brand { display: inline-flex; align-items: baseline; font: 800 26px/1 "Sora", "Segoe UI", sans-serif; letter-spacing: -.04em; }
.fanb-brand__mark { color: #fff; }.fanb-brand__year { color: var(--fanb-green); }
.fanb-app__event { display: flex; flex-direction: column; text-align: center; font-size: 13px; color: #aec2d0; }
.fanb-app__event strong { color: #fff; font: 600 14px/1.4 "Sora", "Segoe UI", sans-serif; }
.fanb-app__help { color: #fff !important; font-size: 14px; text-decoration: none !important; border-bottom: 1px solid var(--fanb-green); }
.fanb-app__layout { min-height: calc(100dvh - 84px); display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); }
.fanb-progress { padding: clamp(36px, 5vw, 72px) clamp(26px, 4vw, 58px); color: #fff; background: linear-gradient(155deg, var(--fanb-navy) 0%, #0b3655 70%, #0d4560 100%); position: sticky; top: 0; align-self: start; min-height: calc(100dvh - 84px); }
.fanb-eyebrow { width:fit-content; margin: 0 0 10px !important; background:var(--fanb-gradient); color:var(--fanb-green); font: 800 12px/1.3 "Sora", "Segoe UI", sans-serif; letter-spacing: .14em; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.fanb-progress h1 { margin: 0 0 14px; max-width: 280px; color: #fff; font: 700 clamp(28px, 3vw, 42px)/1.12 "Sora", "Segoe UI", sans-serif; letter-spacing: -.04em; }
.fanb-progress__intro { max-width: 290px; margin: 0 0 38px; color: #bfd0da; font-size: 15px; }
.fanb-progress ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.fanb-progress li { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: center; min-height: 70px; opacity: .5; }
.fanb-progress li::after { content: ""; position: absolute; left: 18px; top: 53px; width: 1px; height: 35px; background: rgba(255,255,255,.22); }
.fanb-progress li:last-child::after { display: none; }
.fanb-progress li > span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.42); color: #fff; font-weight: 700; }
.fanb-progress li strong, .fanb-progress li small { display: block; }.fanb-progress li strong { color: #fff; font: 700 14px "Sora", sans-serif; }.fanb-progress li small { color: #b7c8d3; font-size: 12px; }
.fanb-progress li.is-active, .fanb-progress li.is-complete { opacity: 1; }.fanb-progress li.is-active > span { border-color: var(--fanb-green); background: var(--fanb-green); color: var(--fanb-navy); }.fanb-progress li.is-complete > span { border-color: var(--fanb-green); color: var(--fanb-green); }.fanb-progress li.is-complete > span { font-size: 0; }.fanb-progress li.is-complete > span::after { content: "✓"; font-size: 16px; }
.fanb-progress__availability { margin-top: 36px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: #b9ccd6; font-size: 12px; }.fanb-status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--fanb-green); box-shadow: 0 0 0 4px rgba(57,199,165,.14); }
.fanb-form { min-width: 0; min-height: calc(100dvh - 84px); background: #fff; display: flex; flex-direction: column; }
.fanb-step { width: min(1080px, calc(100% - clamp(36px, 8vw, 120px))); margin: 0 auto; padding: clamp(42px, 6vw, 82px) 0 130px; animation: fanbFade .25s ease both; }
@keyframes fanbFade { from { opacity: 0; transform: translateY(8px); } }
.fanb-step__heading { max-width: 760px; min-width:0; margin-bottom: 34px; }.fanb-step__heading h2, .fanb-result h2 { margin: 0 0 10px; color: var(--fanb-navy); font: 700 clamp(28px, 3.5vw, 46px)/1.1 "Sora", "Segoe UI", sans-serif; letter-spacing: -.04em; overflow-wrap:anywhere; }.fanb-step__heading > p:last-child { color: var(--fanb-muted); font-size: 16px; margin: 0; overflow-wrap:anywhere; }
.fanb-step__heading h2:focus { outline: none; }
.fanb-packages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fanb-package-groups { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.fanb-variant-panels.has-error { padding-bottom: 28px; position: relative; }.fanb-variant-panels.has-error::after { content: "Wybierz jeden dostępny wariant pakietu."; position: absolute; left: 0; bottom: 3px; color: #a52d2d; font-size: 12px; font-weight: 700; }
.fanb-package-group { position: relative; display: block; min-height: 92px; padding: 16px 18px; overflow: hidden; border: 1px solid var(--fanb-line); border-radius: 0; background: #fff; color: var(--fanb-ink); text-align: left; cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s; }
.fanb-package-group:hover { transform: translateY(-3px); border-color: #8da8b5; box-shadow: 0 14px 38px rgba(9,43,68,.1); }.fanb-package-group:focus-visible { outline: 3px solid rgba(36,169,220,.35); outline-offset: 2px; }.fanb-package-group.is-selected { border: 2px solid var(--fanb-green); background: #f7fcfa; box-shadow: 0 12px 34px rgba(35,160,136,.13); }.fanb-package-group.is-sold-out { opacity: .52; cursor: not-allowed; }
.fanb-package-group__content { display: flex; flex-direction: column; min-width: 0; }.fanb-package-group__content > strong { color: var(--fanb-navy); font: 700 16px/1.35 "Sora",sans-serif; }.fanb-package-group__content > span { margin-top: 5px; color: var(--fanb-muted); font-size: 12px; }
.fanb-variant-panels { display:grid; gap:18px; margin-top:0; }.fanb-variants-panel { position:relative; margin:0; padding:0 18px 18px; border:1px solid #a7bec8; background:#f5f8f9; animation:fanbFade .2s ease both; }.fanb-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }.fanb-package-band { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.65fr); gap:24px; align-items:stretch; margin:0 -18px 14px; padding:18px 20px; border-bottom:1px solid #c7d8de; background:linear-gradient(110deg,#f2f8f8 0%,#eaf3f5 100%); }.fanb-package-band__title { display:flex; flex-direction:column; justify-content:center; min-width:0; padding-right:24px; border-right:1px solid #c9dade; }.fanb-package-band__title span,.fanb-package-band__title strong { display:block; overflow-wrap:anywhere; }.fanb-package-band__title span { color:#197665; font:800 10px "Sora",sans-serif; letter-spacing:.12em; text-transform:uppercase; }.fanb-package-band__title strong { margin-top:5px; color:var(--fanb-navy); font:700 17px/1.35 "Sora",sans-serif; }.fanb-package-band__contents { min-width:0; color:#506477; font-size:13px; line-height:1.4; }.fanb-package-band__contents>span { display:block; margin:0 0 9px; color:#197665; font:800 11px "Sora",sans-serif; letter-spacing:.04em; text-transform:uppercase; }.fanb-package-band__contents ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 18px; margin:0; padding:0; list-style:none; }.fanb-package-band__contents li { position:relative; min-width:0; padding-left:23px; overflow-wrap:anywhere; }.fanb-package-band__contents li::before { content:"✓"; position:absolute; left:0; top:0; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:#d9f5ec; color:#087760; font:900 10px/1 Arial,sans-serif; }.fanb-variant-options { display:grid; gap:9px; margin-top:0; }
.fanb-variant-option { display: grid; grid-template-columns: 24px minmax(180px,1fr) auto auto minmax(110px,auto); gap: 16px; align-items: center; min-height: 76px; padding: 13px 16px; border: 1px solid var(--fanb-line); background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s; }.fanb-variant-option:hover { border-color: #8eaab6; }.fanb-variant-option:has(input:checked) { border: 2px solid var(--fanb-green); box-shadow: 0 7px 24px rgba(35,160,136,.11); }.fanb-variant-option input { position: absolute; opacity: 0; }.fanb-variant-option:has(input:focus-visible) { outline: 3px solid rgba(36,169,220,.35); }.fanb-variant-option__radio { width: 20px; height: 20px; border: 2px solid #93a9b3; border-radius: 50%; }.fanb-variant-option input:checked + .fanb-variant-option__radio { border: 6px solid var(--fanb-green); }.fanb-variant-option__name strong,.fanb-variant-option__name small,.fanb-variant-option__price strong,.fanb-variant-option__price small { display:block; }.fanb-variant-option__name strong { color: var(--fanb-navy); font: 700 14px "Sora",sans-serif; }.fanb-variant-option__name small,.fanb-variant-option__price small { color: var(--fanb-muted); font-size: 11px; }.fanb-variant-option em { padding: 4px 7px; background: #fff0d8; color: #925900; font-size: 10px; font-style: normal; font-weight: 800; text-transform: uppercase; }.fanb-variant-option__availability { color: #287e73; font-size: 12px; font-weight: 700; }.fanb-variant-option__price { text-align: right; }.fanb-variant-option__price strong { color: var(--fanb-navy); font: 700 18px "Sora",sans-serif; }.fanb-variant-option.is-sold-out { opacity: .5; cursor: not-allowed; }
.fanb-package { position: relative; display: block; cursor: pointer; min-height: 275px; border: 1px solid var(--fanb-line); background: #fff; transition: border-color .2s, box-shadow .2s, transform .2s; }.fanb-package:hover { transform: translateY(-2px); border-color: #8faab7; box-shadow: 0 12px 34px rgba(9,43,68,.09); }.fanb-package input { position: absolute; opacity: 0; }.fanb-package:has(input:focus-visible) { outline: 3px solid rgba(36,169,220,.35); outline-offset: 2px; }.fanb-package:has(input:checked) { border: 2px solid var(--fanb-green); box-shadow: 0 12px 36px rgba(35,160,136,.15); }.fanb-package.is-sold-out { opacity: .55; cursor: not-allowed; }.fanb-package.is-sold-out:hover { transform: none; box-shadow: none; }
.fanb-package__check { position: absolute; z-index: 2; top: 18px; right: 18px; width: 22px; height: 22px; border: 2px solid #9db0bb; border-radius: 50%; }.fanb-package input:checked + .fanb-package__check { border: 6px solid var(--fanb-green); }
.fanb-package__content { display: flex; flex-direction: column; min-height: 273px; padding: 24px; }.fanb-package__top { display: flex; gap: 10px; padding-right: 28px; align-items: start; }.fanb-package__top strong { color: var(--fanb-navy); font: 700 17px/1.3 "Sora", sans-serif; }.fanb-package__top em { white-space: nowrap; padding: 4px 7px; background: #fff1da; color: #9b5b00; font-size: 10px; font-style: normal; font-weight: 800; text-transform: uppercase; }.fanb-package__variant { display: block; color: #287e73; font-size: 13px; font-weight: 800; margin: 9px 0 12px; }.fanb-package__description { color: var(--fanb-muted); font-size: 13px; line-height: 1.55; }.fanb-package__bottom { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e6edef; color: var(--fanb-muted); font-size: 12px; }.fanb-package__bottom b { color: var(--fanb-navy); font: 700 23px "Sora", sans-serif; }.fanb-package__bottom b small { font: 600 11px "Nunito Sans", sans-serif; color: var(--fanb-muted); }
.fanb-fields { display: grid; gap: 22px; }.fanb-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }.fanb-field--wide { grid-column: 1 / -1; }.fanb-field { display: grid; gap: 7px; color: var(--fanb-navy); font-size: 13px; font-weight: 800; }.fanb-field input, .fanb-field textarea, .fanb-field select { width: 100%; min-height: 52px; margin: 0; padding: 12px 14px; border: 1px solid #bdccd3; border-radius: 0; background: #fff; color: var(--fanb-ink); font: 500 16px "Nunito Sans", sans-serif; box-shadow: none; transition: border .2s, box-shadow .2s; }.fanb-field textarea { min-height: 86px; resize: vertical; }.fanb-field input:focus, .fanb-field textarea:focus { outline: none; border-color: var(--fanb-blue); box-shadow: 0 0 0 3px rgba(36,169,220,.14); }
.fanb-relationship-choice { margin: 0; padding: 18px 20px; border: 1px solid #c7d9df; background: #f5faf9; }.fanb-relationship-choice legend { padding: 0 8px; color: var(--fanb-navy); font-size: 15px; font-weight: 900; }.fanb-field-note { max-width: 920px; margin: 0 0 14px; color: #58717f; font-size: 14px; line-height: 1.55; }.fanb-invoice-heading { display: grid; gap: 4px; margin-top: 4px; padding: 14px 17px; border-left: 4px solid var(--fanb-green); background: #eef6f7; }.fanb-invoice-heading strong { color: var(--fanb-navy); font-size: 18px; }.fanb-invoice-heading span { color: #536b79; font-size: 14px; line-height: 1.5; }
.fanb-result__icon--closed { background: linear-gradient(135deg, var(--fanb-green), var(--fanb-blue)); color: #fff; box-shadow: 0 10px 30px rgba(10, 139, 119, .2); }.fanb-closed-contact { display: inline-grid; gap: 6px; min-width: min(100%, 420px); margin-top: 18px; padding: 16px 20px; border-left: 4px solid var(--fanb-green); background: #eef7f6; color: #385463; }.fanb-closed-contact a { color: #087663; font-size: 17px; font-weight: 900; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fanb-participants { display: grid; gap: 22px; }.fanb-participant, .fanb-extra-question { min-width: 0; margin: 0; padding: 28px; border: 1px solid var(--fanb-line); }.fanb-participant legend, .fanb-extra-question legend { padding: 0 10px 0 0; color: var(--fanb-navy); font: 700 18px "Sora", sans-serif; }.fanb-participant legend span { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 8px; background: var(--fanb-navy); color: #fff; font-size: 13px; }.fanb-copy { display: flex; align-items: center; gap: 9px; width: fit-content; margin: 0 0 22px; color: #256c65; font-size: 13px; font-weight: 700; cursor: pointer; }.fanb-copy input, .fanb-check input { width: 18px; height: 18px; accent-color: var(--fanb-green); }.fanb-diet { display: grid; grid-template-columns: .7fr 1.3fr; gap: 24px; align-items: start; margin-top: 22px; }.fanb-check { display: flex; gap: 10px; align-items: flex-start; color: var(--fanb-ink); font-size: 14px; cursor: pointer; }.fanb-check input { flex: 0 0 auto; margin-top: 2px; }.fanb-extra-question { margin-top: 24px; background: #f5faf9; border-left: 4px solid var(--fanb-green); }.fanb-extra-question p { margin: 5px 0 18px; }.fanb-choice-row { display: flex; flex-wrap: wrap; gap: 10px; }.fanb-choice-row label { padding: 10px 14px; border: 1px solid #b9cbd1; background: #fff; cursor: pointer; }.fanb-choice-row input { accent-color: var(--fanb-green); }
.fanb-info { margin-bottom: 26px; padding: 16px 18px; border-left: 4px solid var(--fanb-blue); background: #eef8fc; color: #164b66; font-size: 14px; }
.fanb-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 28px; border: 1px solid var(--fanb-line); }.fanb-summary > div { min-height: 125px; padding: 20px; border-right: 1px solid var(--fanb-line); border-bottom: 1px solid var(--fanb-line); }.fanb-summary > div:nth-child(even) { border-right: 0; }.fanb-summary > div:nth-last-child(-n+2) { border-bottom: 0; }.fanb-summary span, .fanb-summary small { display: block; color: var(--fanb-muted); font-size: 12px; }.fanb-summary strong { display: block; margin: 8px 0 4px; color: var(--fanb-navy); font: 700 15px/1.5 "Sora", sans-serif; }.fanb-summary__price { background: var(--fanb-navy); }.fanb-summary__price span, .fanb-summary__price small { color: #bcd0dc; }.fanb-summary__price strong { color: #fff; font-size: 23px; }
.fanb-declarations { display: grid; gap: 0; border: 1px solid var(--fanb-line); }.fanb-check--long { padding: 17px 18px; border-bottom: 1px solid var(--fanb-line); line-height: 1.45; }.fanb-check--long:last-child { border-bottom: 0; }.fanb-check--long a { color: #167666; font-weight: 800; }
.fanb-form__footer { position: sticky; z-index: 10; bottom: 0; display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; min-height: 88px; margin-top: auto; padding: 14px clamp(22px, 5vw, 72px); border-top: 1px solid var(--fanb-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }.fanb-form__footer [data-next], .fanb-form__footer [data-submit] { justify-self: end; }.fanb-form__footer-status { color: var(--fanb-muted); font-size: 13px; }
.fanb-button { position: relative; isolation: isolate; display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 50px; padding: 12px 24px; overflow: hidden; border: 3px solid transparent; border-radius: 0; background: linear-gradient(#fff,#fff) padding-box, var(--fanb-gradient) border-box; color: var(--fanb-navy) !important; font: 800 13px "Sora", sans-serif; letter-spacing: .04em; text-decoration: none !important; cursor: pointer; transition: color .25s, transform .12s; }.fanb-button::before { content:""; position:absolute; z-index:-1; inset:-1px; background:var(--fanb-gradient); transform:scaleY(0); transform-origin:bottom; transition:transform .5s cubic-bezier(.16,1,.3,1); }.fanb-button:hover::before,.fanb-button:active::before { transform:scaleY(1); }.fanb-button:active { transform:translateY(1px); }.fanb-button--secondary { background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg,#041326,#041326) border-box; }.fanb-button--secondary::before { background:var(--fanb-navy); }.fanb-button--secondary:hover { color:#fff !important; }.fanb-button:focus-visible { outline: 3px solid #00eaff; outline-offset: 3px; }.fanb-button:disabled { opacity: .6; cursor: wait; }.fanb-button:disabled::before { display:none; }
.fanb-notice { width: min(1080px, calc(100% - 70px)); margin: 26px auto -18px; padding: 17px 20px; }.fanb-notice--error { border-left: 4px solid #c43131; background: #fff1f1; color: #7d1d1d; }.fanb-notice ul { margin: 8px 0 0 18px; }.fanb-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.fanb-result { width: min(760px, calc(100% - 40px)); min-height: calc(100dvh - 84px); margin: 0 auto; padding: 12vh 20px 70px; text-align: center; }.fanb-result .fanb-eyebrow { margin-left:auto !important; margin-right:auto !important; }.fanb-result__icon { display: grid; place-items: center; width: 80px; height: 80px; margin: 0 auto 26px; background: var(--fanb-gradient); color: var(--fanb-navy); font-size: 42px; }.fanb-result p { max-width: 650px; margin: 0 auto 18px; color: var(--fanb-muted); font-size: 17px; }.fanb-result .fanb-button { margin-top: 16px; }.fanb-result__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }.fanb-result__actions .fanb-button { margin-top:16px; }
@media (max-width: 1200px) { .fanb-package-groups { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 1050px) { .fanb-app__layout { grid-template-columns:250px minmax(0,1fr); }.fanb-progress { padding-left:28px; padding-right:24px; }.fanb-packages { grid-template-columns:1fr; }.fanb-package-band { grid-template-columns:1fr; gap:13px; }.fanb-package-band__title { padding:0 0 12px; border-right:0; border-bottom:1px solid #c9dade; }.fanb-package-band__contents ul { grid-template-columns:repeat(2,minmax(0,1fr)); }.fanb-variant-option { grid-template-columns:24px 1fr auto; }.fanb-variant-option em,.fanb-variant-option__availability { display:none; } }
@media (max-width: 760px) { .fanb-app__header { grid-template-columns:1fr auto; min-height:70px; padding:12px 18px; }.fanb-app__event { display:none; }.fanb-app__layout { display:block; }.fanb-progress { position:static; min-height:0; padding:24px 20px 18px; }.fanb-progress h1 { font-size:26px; margin-bottom:8px; }.fanb-progress__intro,.fanb-progress__availability,.fanb-progress li div { display:none; }.fanb-progress ol { grid-template-columns:repeat(5,1fr); margin-top:18px; }.fanb-progress li { display:block; min-height:38px; }.fanb-progress li>span { width:32px; height:32px; margin:auto; }.fanb-progress li::after { left:calc(50% + 16px); top:16px; width:calc(100% - 32px); height:1px; }.fanb-step { width:calc(100% - 34px); padding:36px 0 110px; }.fanb-step__heading h2 { font-size:29px; }.fanb-package-groups { grid-template-columns:1fr; }.fanb-package-group { min-height:68px; }.fanb-variants-panel { padding:0 10px 10px; }.fanb-package-band { margin:0 -10px 10px; padding:14px 12px; gap:11px; }.fanb-package-band__title { padding-bottom:10px; }.fanb-package-band__title strong { font-size:15px; }.fanb-package-band__contents { font-size:12px; }.fanb-package-band__contents>span { margin-bottom:8px; font-size:10px; }.fanb-package-band__contents ul { grid-template-columns:1fr; gap:7px; }.fanb-package-band__contents li { padding-left:22px; }.fanb-variant-option { grid-template-columns:22px 1fr auto; padding:12px 10px; gap:10px; }.fanb-fields--two,.fanb-diet,.fanb-summary { grid-template-columns:1fr; }.fanb-field--wide { grid-column:auto; }.fanb-summary>div { border-right:0; border-bottom:1px solid var(--fanb-line)!important; }.fanb-summary>div:last-child { border-bottom:0!important; }.fanb-form__footer { min-height:76px; padding:10px 16px; }.fanb-form__footer-status { display:none; }.fanb-form__footer { grid-template-columns:1fr 1fr; }.fanb-form__footer .fanb-button { width:100%; padding:10px 12px; }.fanb-participant { padding:20px 15px; }.fanb-notice { width:calc(100% - 34px); } }
.fanb-standalone-page { margin: 0 !important; overflow-x: hidden; }.fanb-registration-active .chatbot,.fanb-registration-active .a11y-widget { display: none !important; }
body.fanb-registration-embedded-page #menu-rejestracja,
body.fanb-registration-active #menu-rejestracja,
body.fanb-registration-active header a[href*="/rejestracja"],
body.fanb-registration-active nav a[href*="/rejestracja"] { display: none !important; }
.fanb-app--embedded { width: 100%; min-height: 0; margin: 0; background: #fff; }
body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { width: 100%; padding: 72px 300px; background: #ebecec; box-sizing: border-box; }
.fanb-registration-page__inner { width: 100%; margin: 0 auto; }
/*
 * Ta siatka odwzorowuje faktyczny obszar #licznik-sekcja w motywie FANB.
 * Wtyczka zastępuje wyłącznie białe okno z licznikiem; nagłówek, hero i stopka
 * nadal należą do motywu. Wartości sprawdzono na stronie produkcyjnej FANB.
 */
@media (max-width: 1440px) { body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { padding-right: 200px; padding-left: 200px; } }
@media (max-width: 1280px) { body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { padding-right: 150px; padding-left: 150px; } }
@media (max-width: 1024px) { body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { padding: 50px 125px; } }
@media (max-width: 768px) { body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { padding-right: 75px; padding-left: 75px; } }
@media (max-width: 568px) { body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { padding-right: 50px; padding-left: 50px; } }
@media (max-width: 440px) { body.fanb-registration-embedded-page #main > section#fanb-registration-content.fanb-registration-page { padding: 40px; } }
.fanb-app--embedded .fanb-app__layout { display: block; min-height: 0; border: 1px solid var(--fanb-line); }
.fanb-app--embedded .fanb-progress { position: relative; top: auto; min-height: 0; padding: 34px clamp(24px, 5vw, 64px) 26px; border-bottom: 1px solid var(--fanb-line); background: #fff; color: var(--fanb-ink); }
.fanb-app--embedded .fanb-progress h1 { max-width: none; margin-bottom: 8px; color: var(--fanb-navy); font-size: clamp(27px, 3vw, 36px); }
.fanb-app--embedded .fanb-progress__intro { max-width: none; margin-bottom: 24px; color: var(--fanb-muted); }
.fanb-app--embedded .fanb-progress ol { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
.fanb-app--embedded .fanb-progress li { display: block; min-height: 58px; text-align: center; }
.fanb-app--embedded .fanb-progress li::after { left: calc(50% + 19px); top: 19px; width: calc(100% - 38px); height: 1px; background: var(--fanb-line); }
.fanb-app--embedded .fanb-progress li > span { margin: 0 auto; border-color: #9bb0ba; color: var(--fanb-navy); }
.fanb-app--embedded .fanb-progress li strong { margin-top: 7px; color: var(--fanb-navy); }
.fanb-app--embedded .fanb-progress li small, .fanb-app--embedded .fanb-progress__availability { display: none; }
.fanb-app--embedded .fanb-form { min-height: 0; }
.fanb-app--embedded .fanb-step { width: calc(100% - clamp(40px, 7vw, 88px)); padding: 48px 0 64px; }
.fanb-app--embedded .fanb-form__footer { position: sticky; bottom: 0; min-height: 78px; padding: 12px clamp(20px, 4vw, 44px); }
.fanb-app--embedded .fanb-result { min-height: 0; padding: 70px 20px; }
.fanb-question-description { margin:8px 0 18px; padding:16px 18px; border-left:4px solid var(--fanb-blue); background:#eef8fc; color:#164b66; font-size:13px; line-height:1.65; }
@media (max-width: 760px) { .fanb-app--embedded { margin-top: 20px; }.fanb-app--embedded .fanb-app__layout { display: block; }.fanb-app--embedded .fanb-progress { padding: 24px 18px 18px; }.fanb-app--embedded .fanb-progress__intro { display: none; }.fanb-app--embedded .fanb-progress li strong { display: none; }.fanb-app--embedded .fanb-step { width: calc(100% - 32px); padding: 34px 0 48px; } }
.fanb-participant-actions { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.fanb-participant-actions[hidden] { display: none; }
.fanb-participant-actions span { color: var(--fanb-muted); font-size: 13px; font-weight: 700; }
.fanb-participant-actions.has-error { padding: 12px; border: 1px solid #b84646; background: #fff4f4; }
.fanb-room-quantity{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:20px;align-items:end;margin:0 0 24px;padding:18px 20px;border:1px solid #cfe0df;background:#f3faf8}.fanb-room-quantity p{margin:0 0 8px;color:var(--fanb-muted);font-size:13px;line-height:1.5}.fanb-participant-question{margin-top:20px;padding:18px 20px;background:#f0f8f6}.fanb-participant-question legend{font-size:15px}
.fanb-field.has-error input, .fanb-field.has-error textarea, .fanb-field.has-error select { border-color: #b42318; background: #fff7f6; box-shadow: 0 0 0 2px rgba(180,35,24,.12); }
.fanb-field-error { display: block; width: 100%; margin-top: 6px; color: #9f1d15 !important; font-size: 12px !important; font-weight: 700; }
.fanb-field > small:not(.fanb-field-error) { margin-top: 5px; color: var(--fanb-muted); font-size: 11px; }
.fanb-check.has-error { flex-wrap: wrap; padding: 10px; outline: 2px solid #b42318; background: #fff7f6; }
.fanb-declarations { display: grid; gap: 16px; margin-top: 26px; }
.fanb-consent { border: 1px solid var(--fanb-line); background: #fff; }
.fanb-consent.has-error { border-color: #b42318; box-shadow: 0 0 0 2px rgba(180,35,24,.12); }
.fanb-consent details summary { display: flex; justify-content: space-between; gap: 20px; padding: 18px 20px; color: var(--fanb-navy); cursor: pointer; }
.fanb-consent details summary span { color: #247c70; font-size: 12px; font-weight: 800; }
.fanb-consent h3 { margin:0; padding:18px 20px 12px; color:var(--fanb-navy); font-size:16px; }.fanb-consent__text { padding: 4px 20px 18px; color: var(--fanb-ink); font-size: 14px; line-height: 1.65; }
.fanb-consent > .fanb-check { margin: 0; padding: 15px 20px; border-top: 1px solid var(--fanb-line); background: #f5faf9; }
.fanb-consent > .fanb-check input:disabled + span { color: var(--fanb-muted); }
.fanb-terms-link { margin: 8px 0 0; }
@media (max-width: 760px) { .fanb-participant-actions { align-items: stretch; flex-direction: column; }.fanb-participant-actions .fanb-button { width: 100%; }.fanb-room-quantity{grid-template-columns:1fr} }
@media (prefers-reduced-motion: reduce) { .fanb-app *, .fanb-app *::before, .fanb-app *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
.fanb-remove-participant{float:right;margin:-42px 0 14px;border:0;background:transparent;color:#b42318;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.fanb-remove-participant:focus-visible{outline:3px solid #0adbc0;outline-offset:3px}
.fanb-consent__read{margin:4px 0 18px!important}
.fanb-consent__read:disabled{opacity:.75;cursor:default}
@media(max-width:560px){.fanb-remove-participant{float:none;margin:-4px 0 16px}}
.fanb-variant-option.is-multi-select{grid-template-columns:24px minmax(190px,1fr) auto auto minmax(105px,auto) minmax(112px,138px)}
.fanb-variant-option.is-multi-select .fanb-variant-option__radio{border-radius:4px}
.fanb-variant-option__quantity{display:grid;gap:5px;padding-left:15px;border-left:1px solid #d9e4e7}
.fanb-variant-option__quantity small{color:#4d6774;font-size:11px;font-weight:800}
.fanb-variant-option .fanb-variant-option__quantity input{position:static;width:100%;min-height:42px;padding:7px 10px;opacity:1;border:1px solid #9eb6bf;background:#fff;color:var(--fanb-navy);font:800 16px "Nunito Sans",sans-serif}
.fanb-variant-option .fanb-variant-option__quantity input:disabled{opacity:.48;background:#eef3f4}
.fanb-mixed-selection-summary{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:10px 22px;margin:0 0 24px;padding:18px 20px;border:1px solid #cfe0df;background:#f3faf8}
.fanb-mixed-selection-summary>span{grid-row:1 / span 20;color:#176f62;font:800 12px "Sora",sans-serif;letter-spacing:.05em;text-transform:uppercase}
.fanb-mixed-selection-summary>div{display:flex;justify-content:space-between;gap:18px;padding-bottom:9px;border-bottom:1px solid #d9e7e6;color:#59707c;font-size:13px}
.fanb-mixed-selection-summary>div:last-child{padding-bottom:0;border-bottom:0}
.fanb-mixed-selection-summary strong{color:var(--fanb-navy);font-size:14px}
.fanb-participant-variant-choice{min-width:min(100%,320px)}
@media(max-width:1050px){.fanb-variant-option.is-multi-select{grid-template-columns:24px minmax(170px,1fr) auto minmax(105px,125px)}.fanb-variant-option.is-multi-select em,.fanb-variant-option.is-multi-select .fanb-variant-option__availability{display:none}}
@media(max-width:760px){.fanb-variant-option.is-multi-select{grid-template-columns:22px minmax(0,1fr) auto}.fanb-variant-option__quantity{grid-column:2 / -1;padding:10px 0 0;border-left:0;border-top:1px solid #d9e4e7}.fanb-mixed-selection-summary{grid-template-columns:1fr}.fanb-mixed-selection-summary>span{grid-row:auto}.fanb-mixed-selection-summary>div{display:grid;gap:3px}}
.fanb-fields{align-items:start}
.fanb-field{align-self:start;align-content:start;grid-auto-rows:max-content}
.fanb-field input,.fanb-field select{box-sizing:border-box;height:52px;min-height:52px;max-height:52px}
.fanb-field textarea{box-sizing:border-box;height:auto;min-height:86px;max-height:none}
.fanb-mixed-selection-summary{border-radius:4px;box-shadow:0 10px 24px rgba(6,38,58,.05)}
.fanb-mixed-selection-summary>div span{white-space:nowrap;font-weight:700;color:#315d66}
.fanb-participant{position:relative;border-left:4px solid #0adbc0;background:linear-gradient(135deg,#fff 0%,#fbfefe 100%);box-shadow:0 8px 22px rgba(6,38,58,.045)}
.fanb-participant>legend{max-width:calc(100% - 20px);line-height:1.45}
.fanb-participant.is-required-participant>legend:after{content:"wymagany";display:inline-block;margin-left:10px;padding:3px 7px;border-radius:20px;background:#e4f7f2;color:#176f62;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.fanb-participant-actions{padding:16px 18px;border:1px solid #cfe0df;background:#f7fbfa}
.fanb-participant-actions>[data-participant-count]{font-weight:800;color:#315d66}
@media(max-width:760px){.fanb-mixed-selection-summary>div span{white-space:normal}.fanb-participant>legend{font-size:15px}.fanb-participant.is-required-participant>legend:after{display:block;width:max-content;margin:6px 0 0}}
