/* Fundraising hub and SAMPLE fundraiser pages */
.fr-hero{position:relative;background:linear-gradient(110deg,rgba(23,38,45,.94),rgba(37,55,64,.62)),var(--fr-img) center 50%/cover}
.fr-back{display:inline-block;margin-bottom:14px;color:#fff;font-weight:800;text-decoration:none}.fr-back:hover{text-decoration:underline}
.fr-stamp{position:absolute;top:26px;right:max(16px,calc((100% - 1180px)/2));transform:rotate(8deg);padding:8px 18px;border:3px solid #fdba74;border-radius:10px;color:#fdba74;font:400 1.9rem/1 "Squada One";letter-spacing:.12em;text-transform:uppercase;opacity:.95}
.fr-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.fr-facts span{display:flex;flex-direction:column;padding:9px 16px;border-radius:12px;background:#ffffff1f;font-weight:800}.fr-facts small{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fdba74}
.fr-strip{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#7c2d12;text-align:center;padding:9px 16px;font-size:.88rem;font-weight:600}.fr-strip b{margin-right:8px;padding:2px 8px;border-radius:6px;background:#c2410c;color:#fff;font-size:.75rem;letter-spacing:.08em}
.fr-example{margin:22px 0 0;padding:14px 18px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.fr-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}

/* Hub */
.fr-confirmed{border:2px dashed #c9d3cc;border-radius:12px;padding:20px 22px;background:#fff}.fr-confirmed p{margin:0}
.fr-cat{font:800 1.35rem "Open Sans",sans-serif;text-transform:none;margin:34px 0 4px}.fr-cat-sub{margin:0 0 16px;color:var(--muted)}
.fr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fr-card{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:transform .2s}
.fr-card:hover{transform:translateY(-4px)}.fr-card:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.fr-card-img{position:relative;height:170px;background:center/cover}.fr-card-img span{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:999px;background:#fff7ed;color:#7c2d12;font-size:.72rem;font-weight:900;text-transform:uppercase}
.fr-card-body{display:flex;flex-direction:column;gap:4px;padding:20px;flex:1}.fr-card-body h3{font:800 1.2rem/1.25 "Open Sans",sans-serif;text-transform:none;margin:0}.fr-card-body p{margin:0;color:var(--muted)}.fr-card-body b{margin-top:auto;padding-top:12px;color:#087f03}
.fr-from{color:#9a3412;font-weight:700}
.fr-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fr-ways article{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--r);background:#fff;border:1px solid var(--line);border-top:5px solid var(--orange)}.fr-ways h3{font:800 1.15rem "Open Sans",sans-serif;text-transform:none;margin:0}.fr-ways p{margin:0 0 6px;color:var(--muted)}.fr-ways .btn{margin-top:auto;align-self:flex-start}

/* Event page layout */
.fr-main{padding-top:40px}
.fr-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:36px;align-items:start}
.fr-content{min-width:0}
.fr-sec{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line)}.fr-sec:last-child{border:0}
.fr-sec-head{margin-bottom:16px}.fr-sec-head h2{font-size:2.3rem;margin:8px 0 6px}.fr-sec-head p{margin:0;color:var(--muted)}
.fr-sec h3{font:800 1.1rem "Open Sans",sans-serif;text-transform:none;margin:0 0 10px}
.fr-highlights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.fr-highlights li{padding:14px 16px 14px 44px;border-radius:12px;background:#f2f6f4;position:relative;font-weight:700}.fr-highlights li:before{content:"✓";position:absolute;left:16px;color:#087f03;font-weight:900}
.fr-notes{margin:0;padding-left:20px;color:var(--muted)}.fr-notes li+li{margin-top:4px}
.fr-share{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:22px}.fr-share .btn{border:0;cursor:pointer}

/* Quantity rows */
.fr-items{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.fr-item{display:grid;grid-template-columns:1fr auto auto;gap:6px 18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.fr-item:last-child{border:0}
.fr-item b{display:block}.fr-item span{color:var(--muted);font-size:.86rem}.fr-item>strong{font-size:1.05rem;white-space:nowrap}
.fr-qty{display:flex;align-items:center;gap:8px}.fr-qty button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.25rem;font-weight:800;cursor:pointer}.fr-qty button:hover{border-color:var(--green)}.fr-qty button:focus-visible{outline:3px solid var(--orange)}.fr-qty output{min-width:22px;text-align:center;font-weight:800}

/* Pick grids */
.fr-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fr-picks-5{grid-template-columns:repeat(5,1fr)}.fr-picks-6{grid-template-columns:repeat(6,1fr)}
.fr-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:76px;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:.15s}
.fr-pick b{font-size:.92rem;line-height:1.25}.fr-pick span{font-size:.76rem;color:var(--muted)}.fr-pick em{margin-top:auto;font-style:normal;font-weight:800;font-size:.85rem;color:#087f03}
.fr-pick:hover:not(:disabled){border-color:var(--green);transform:translateY(-1px)}.fr-pick:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.fr-pick.is-on{background:#e9f7e8;border-color:#089700;box-shadow:inset 0 0 0 1px #089700}.fr-pick.is-on em:after{content:" ✓ selected"}
.fr-pick.is-sold{background:#f4f5f5;color:#8a9499;cursor:not-allowed}.fr-pick.is-sold em{color:#9a3412}
.fr-race{margin-bottom:22px;padding:16px;border-radius:14px;background:#f6f8f7}
.fr-race-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.fr-race-head small{font-weight:800;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.fr-race-head h3{margin:2px 0 0}
.fr-race-sponsor{min-height:0;flex:0 0 auto;border-style:dashed}
.fr-stage{margin-bottom:12px;padding:12px;border-radius:12px;background:var(--dark);color:#fff;text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.fr-pitchmap{margin-bottom:12px;height:90px;border-radius:12px;background:repeating-linear-gradient(90deg,#2f8f3a 0 40px,#34993f 40px 80px);display:grid;place-items:center;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.fr-wall{grid-template-columns:repeat(8,1fr);gap:6px;padding:12px;border-radius:12px;background:#d7cfc7}
.fr-brick{min-height:54px;padding:6px 8px;border-radius:6px;border-width:1px}.fr-brick span{display:none}.fr-brick em{font-size:.72rem}
.fr-brick-gold{background:#fef3c7;border-color:#e6c25a}.fr-brick-silver{background:#eef1f3;border-color:#b9c2c8}.fr-brick-bronze{background:#f6e2d3;border-color:#d4a07c}
.fr-brick.is-sold{background:#9c8f84;border-color:#8a7d72;color:#f4efe9}.fr-brick.is-sold em{color:#fff;font-size:.62rem}
.fr-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.fr-legend span{padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:800}.fr-legend .g{background:#fef3c7}.fr-legend .s{background:#eef1f3}.fr-legend .b{background:#f6e2d3}

/* Teams */
.fr-teams{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fr-team{display:flex;flex-direction:column;padding:0;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:.15s}
.fr-team-img{height:92px;background:center/cover}.fr-team b{padding:10px 12px 0}.fr-team em{padding:2px 12px 12px;font-style:normal;font-size:.78rem;font-weight:700;color:#087f03}
.fr-team:hover{border-color:var(--green)}.fr-team:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.fr-team.is-on{border-color:#089700;box-shadow:inset 0 0 0 2px #089700;background:#e9f7e8}.fr-team.is-on em:after{content:" ✓ selected"}

/* Progress, prizes, timeline */
.fr-progress{padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.fr-progress-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:8px}.fr-progress-top b{font:400 2rem/1 "Squada One";color:#087f03}.fr-progress-top span{color:var(--muted)}
.fr-bar{height:12px;border-radius:999px;background:#e8ecea;overflow:hidden}.fr-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#089700,#21b31a)}
.fr-progress small{display:block;margin-top:6px;color:#9a3412;font-weight:700;font-size:.75rem}
.fr-squads{display:grid;gap:12px}.fr-squad>b{display:block;margin-bottom:6px}
.fr-prizes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.fr-prizes li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.fr-prizes small{flex:0 0 46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#fff7ed;color:#c2410c;font:400 1.2rem "Squada One"}
.fr-prizes li:first-child{border-color:#e6c25a;background:#fffbeb}.fr-prizes li:first-child small{background:#fde68a;color:#7c4a03}
.fr-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.fr-timeline li{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}.fr-timeline time{font-weight:800;color:var(--orange)}

/* Shop, auction, donate */
.fr-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fr-product{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.fr-product-img{position:relative;height:150px;display:grid;place-items:center;background:linear-gradient(135deg,#089700,#066d00)}.fr-product-dark .fr-product-img{background:linear-gradient(135deg,#253740,#17262d)}.fr-product-orange .fr-product-img{background:linear-gradient(135deg,#f97316,#c2410c)}
.fr-product-img img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 12px #0005)}.fr-product-img .fr-badge{position:absolute;top:10px;left:10px}
.fr-product-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}.fr-product-body h3{margin:0}.fr-product-body p{margin:0;color:var(--muted);font-size:.86rem}.fr-product-body strong{font-size:1.1rem}
.fr-product-body label{font-size:.78rem;font-weight:800;margin-top:4px}.fr-product-body select{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;background:#fff}
.fr-product-body .btn{margin-top:auto;min-height:44px;border:0;cursor:pointer;font-size:.8rem}
.fr-lots{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fr-lot{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.fr-lot-img{position:relative;height:150px;background:center/cover}.fr-lot-img .fr-badge{position:absolute;top:10px;left:10px}
.fr-lot-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.fr-lot-body h3{margin:0}.fr-lot-body p{margin:0;color:var(--muted);font-size:.86rem}
.fr-lot-bid{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:#f6f8f7}.fr-lot-bid small{color:var(--muted);font-weight:700}.fr-lot-bid strong{font:400 1.7rem/1 "Squada One";color:#087f03}
.fr-yours{color:#087f03!important;font-weight:800}
.fr-lot-actions{display:flex;gap:8px;margin-top:auto}.fr-lot-actions .btn{flex:1;min-height:44px;border:0;cursor:pointer;padding:0 10px;font-size:.8rem}
.fr-donate{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:14px;border:1px solid var(--line);background:#fff}
.fr-donate label{font-weight:800;font-size:.88rem}.fr-donate select,.fr-donate input{height:46px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font:inherit;background:#fff}
.fr-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fr-amount{height:52px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font:800 1.1rem "Open Sans",sans-serif;cursor:pointer}.fr-amount.is-on{border-color:#089700;background:#e9f7e8}
.fr-donate .btn{border:0;cursor:pointer;align-self:flex-start}

/* Basket */
.fr-box{position:sticky;top:110px;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--line);border-top:6px solid var(--orange);box-shadow:var(--shadow)}
.fr-basket-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.fr-box h2{font-size:2rem;margin:0}
.fr-lines{list-style:none;margin:12px 0 0;padding:0;max-height:330px;overflow:auto}
.fr-lines li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.fr-lines li.fr-empty{display:block;color:var(--muted)}
.fr-x{width:28px;height:28px;border:0;border-radius:50%;background:#f2f4f4;cursor:pointer;font-size:1rem;line-height:1}.fr-x:hover{background:#fde2e2}
.fr-total{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.fr-total strong{font:2.2rem/1 "Squada One"}
.fr-buy{width:100%;border:0;cursor:pointer}.fr-buy:disabled{opacity:.5;cursor:not-allowed}
.fr-box small{display:block;margin-top:10px;color:var(--muted)}
.fr-mobilebar{display:none}

/* Sample checkout dialog */
.fr-dialog{max-width:460px;width:calc(100% - 32px);padding:26px;border:0;border-radius:18px;box-shadow:0 30px 80px #0007}.fr-dialog::backdrop{background:#0b1419c0}
.fr-dialog h2{font-size:2.2rem;margin:8px 0 6px}.fr-dialog .fr-lines li{grid-template-columns:1fr auto}.fr-dialog .btn{border:0;cursor:pointer}
.fr-paybox{margin:6px 0 12px;padding:16px;border:2px dashed #c9d3cc;border-radius:12px;color:var(--muted);text-align:center;font-weight:700;background:#f8faf9}

@media(max-width:1100px){.fr-picks-6{grid-template-columns:repeat(4,1fr)}.fr-teams{grid-template-columns:repeat(3,1fr)}.fr-shop{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .fr-grid,.fr-ways{grid-template-columns:1fr 1fr}.fr-layout{grid-template-columns:1fr}.fr-box{position:static}
  .fr-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--dark);color:#fff;box-shadow:0 -8px 24px #0003;transform:translateY(110%);transition:transform .25s}
  .fr-mobilebar span{display:flex;flex-direction:column}.fr-mobilebar b{font:400 1.6rem/1 "Squada One"}.fr-mobilebar small{color:#c7d0d3}.fr-mobilebar .btn{min-height:44px;border:0;cursor:pointer}
  body.fr-has-items .fr-mobilebar{transform:none}body.fr-has-items .eo-chat-launch{bottom:calc(84px + env(safe-area-inset-bottom))!important}body.fr-has-items footer{padding-bottom:80px}
  .fr-stamp{font-size:1.3rem;top:16px}
}
@media(max-width:640px){
  .fr-grid,.fr-ways,.fr-shop,.fr-lots,.fr-prizes,.fr-highlights{grid-template-columns:1fr}
  .fr-picks,.fr-picks-5,.fr-picks-6,.fr-teams{grid-template-columns:repeat(2,1fr)}
  .fr-wall{grid-template-columns:repeat(4,1fr)}
  .fr-item{grid-template-columns:1fr auto}.fr-item .fr-qty{grid-column:1/-1}
  .fr-race-head{flex-direction:column;align-items:stretch}.fr-sec-head h2{font-size:2rem}
  .fr-amounts{grid-template-columns:repeat(2,1fr)}
  .fr-strip{font-size:.8rem}
}
