
:root{--navy:#0a2446;--blue:#2169a5;--yellow:#f7e04a;--bg:#f4f7fa;--ink:#19324a;--muted:#60758a;--line:#dae5ed;--green:#126c53}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink)}
button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4494d2;outline-offset:2px}
.banner{padding:9px 18px;text-align:center;background:#fbe9a1;color:#543e04;font-size:12px;font-weight:800;letter-spacing:.035em}
.head{background:var(--navy);color:white;padding:24px max(24px,calc((100vw - 1150px)/2))}
.headtop{display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{font-size:24px;font-weight:900;letter-spacing:-.6px}.brand small{display:block;color:#b6cfe8;font-size:11px;letter-spacing:.17em;font-weight:700}.head .status{font-size:12px;border:1px solid #456789;padding:8px 12px;border-radius:25px;color:#dbe9f6}
.brand-logo{display:block;width:auto;height:100px;max-width:135px;object-fit:contain}.head h1{font-size:clamp(27px,4vw,41px);line-height:1.15;margin:20px 0 8px}.head p{max-width:670px;color:#caddef;margin:0}
.main{max-width:1150px;margin:0 auto;padding:24px 24px 70px}.steps{display:flex;gap:8px;overflow-x:auto;margin-bottom:26px}
.steps button{border:1px solid var(--line);background:#fff;color:#58718a;border-radius:11px;padding:10px 12px;white-space:nowrap;font-weight:700;font-size:12px}.steps button.active{background:var(--navy);border-color:var(--navy);color:white}.steps button.done{border-color:#8caec7}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.box{background:white;border-radius:18px;border:1px solid var(--line);padding:24px;box-shadow:0 6px 18px #182e4510;margin-bottom:16px}
.box h2{font-size:22px;margin:0 0 8px;letter-spacing:-.45px}.box h3{font-size:17px;margin:22px 0 10px}.box p{color:var(--muted);margin:5px 0 18px}.eyebrow{font-size:11px;color:#246ca8;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.muted{color:var(--muted);font-size:13px}
.optiongrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{border:2px solid var(--line);padding:19px;border-radius:14px;text-align:left;background:white;width:100%;display:block;color:var(--ink)}
.choice:hover{border-color:#68a0cf}.choice.active{border-color:var(--blue);background:#eff7fd}.choice strong{display:block;font-size:17px}.choice small{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.pick{display:flex;gap:11px;align-items:start;border-bottom:1px solid var(--line);padding:13px 2px;cursor:pointer}.pick:last-child{border-bottom:0}.pick input{margin-top:5px;accent-color:var(--blue);width:17px;height:17px}.pick strong{display:block}.pick small{display:block;color:var(--muted)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#466177;margin:8px 0}.field input,.field select{width:100%;border:1px solid #c4d5e4;border-radius:10px;padding:11px;color:var(--ink);background:white;font-weight:500}
.pill{padding:5px 9px;border-radius:20px;background:#eaf2f8;color:#3a688d;font-size:11px;font-weight:750;white-space:nowrap}
.line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.line:last-child{border-bottom:0}
.actionbar{display:flex;justify-content:space-between;gap:12px;margin:12px 0 0}.btn{background:var(--navy);color:white;border:0;border-radius:10px;padding:13px 19px;font-weight:800}.btn.yellow{background:var(--yellow);color:var(--navy)}.btn.ghost{background:white;color:var(--navy);border:1px solid #bfd0df}.btn:disabled{opacity:.45;cursor:not-allowed}
.callout{background:#edf6fa;border-left:4px solid #4e92be;padding:13px;border-radius:8px;font-size:13px;margin:17px 0}
.error{display:none;border:1px solid #e9b7a9;background:#fff1ed;color:#8a321c;padding:13px;border-radius:10px;margin-bottom:15px}
.side{position:sticky;top:20px;align-self:start}.side h3{margin:0 0 10px}.side .line{font-size:13px}.side b{font-weight:800}
.wavegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wavegrid div{background:#edf4f9;border:1px solid var(--line);padding:9px;border-radius:9px;font-size:12px}
.person-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.tag{display:inline-block;background:#fff1bb;color:#574613;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:750}
.footer{font-size:12px;color:var(--muted);margin-top:22px}
@media(max-width:850px){.layout{grid-template-columns:1fr}.side{position:static;order:-1}.optiongrid,.split{grid-template-columns:1fr}.wavegrid{grid-template-columns:repeat(2,1fr)}.head{padding:22px 24px}}
.swag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.swag-card{border:1px solid #dce6ef;border-radius:13px;overflow:hidden;background:white}.swag-card img{width:100%;height:130px;object-fit:contain;background:#edf3f7;display:block}.swag-card .info{padding:12px}.swag-card strong{display:block;font-size:13px}.swag-card .price{font-size:18px;font-weight:850}.swag-total{padding:15px;background:#e8f5e9;border-radius:10px;margin-top:12px}.swag-warning{font-size:12px;color:#6b7681}@media(max-width:650px){.swag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.familytabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.familytabs button{border:1px solid #cbdde9;border-radius:11px;background:#f5f9fc;color:#19324a;padding:9px 13px;font-weight:750}.familytabs button.active{background:#0a2446;color:white;border-color:#0a2446}.guardian-note{background:#eff7ff;border:1px solid #b4cde6;padding:12px 14px;border-radius:11px;margin:15px 0}.swimmer-edit{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:22px}

/* Registration 2026/27 — airy Ocean Swim palette */
:root{--navy:#102a4c;--blue:#226cb0;--yellow:#fff3ac;--bg:#f7faff;--ink:#172f50;--muted:#58708b;--line:#dce7f2}
body{background:radial-gradient(circle at 8% 15%,#fff3be 0,transparent 31%),radial-gradient(circle at 92% 27%,#fceef5 0,transparent 26%),#f5f9fd}
.head{background:linear-gradient(116deg,#102b50 0%,#164776 65%,#215e99 100%);padding-top:27px;padding-bottom:27px;border-bottom:5px solid #ffe172}
.head h1{font-size:clamp(29px,4vw,44px);font-weight:900;letter-spacing:-1.4px;margin:12px 0 6px}.head p{font-size:15px}
.brand-logo{height:83px;max-width:135px}.banner{background:#fff0b0;letter-spacing:.06em}
.main{max-width:1280px}.layout{grid-template-columns:minmax(0,1fr) 340px;gap:22px}.box{border-radius:22px;padding:28px;border:1px solid #dce8f5;box-shadow:0 8px 27px #1736590b}
.box h2{font-weight:850;font-size:24px}.box h3{font-weight:820}.steps{gap:6px}.steps button{border-radius:30px;background:#fff;border-color:#dbe6f2;font-size:11px;padding:10px 13px}
.steps button.active{background:#11345e;border-color:#11345e}.steps button.done{background:#e7f2fb;border-color:#aed0e8;color:#144677}
.choice{border:1.5px solid #d6e7f2;background:#fbfdff;border-radius:16px;transition:background .15s,border .15s}
.choice.active{background:#e8f4ff;border:2px solid #226cb0}.choice:hover,.pick:hover{background:#f4faff}
.field{font-size:13px}.field input,.field select{border:1.5px solid #cbdbeb;min-height:48px;border-radius:12px}
.field input:disabled{background:#edf0f4;color:#808d9c;cursor:not-allowed;border-style:dashed}
.box:has(.experience-detail){border-top:5px solid #f6d6e6}
.experience-detail{background:linear-gradient(120deg,#f0f8ff,#fffdf1);border:1px solid #d5e7f4;border-radius:16px;padding:17px;margin:12px 0}
.experience-detail h3{margin:0 0 8px;font-size:19px}.experience-detail p{margin:6px 0 10px;font-size:13px}
.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.detail-tags span{border-radius:30px;background:#fff;padding:6px 10px;font-size:12px;border:1px solid #dce9f4;font-weight:700}
.booking-total{font-weight:900;color:#11345e;font-size:30px;letter-spacing:-1px}.saved{color:#16745c;font-weight:800}
.side{top:16px;border-top:6px solid #f7dd6c;background:linear-gradient(165deg,#fffef3,#ffffff 34%,#f0f8ff)}
.side .line strong,.side .line b{white-space:normal}.side .line{align-items:flex-start}.side .small-line{font-size:12px;color:#5b7190}
.price-window{border:1px solid #dbe7f0;border-radius:13px;overflow:hidden;margin:12px 0}.price-window .line{margin:0;padding:9px 12px;gap:8px;font-size:12px}
.price-window .current{background:#fff4be}.price-window .old{opacity:.69}
.cap-closed{background:#fff5e4;border-left:4px solid #e6b355;border-radius:12px;padding:14px;margin:13px 0}
.familybox{border:1px solid #dce8f2;border-radius:14px;padding:15px;background:#f5faff;margin:10px 0}
.familybox button{margin-top:10px}.family-foot{background:#fff2b8;border-radius:14px;padding:15px;margin:16px 0}
.btn{border-radius:12px}.btn.yellow{background:#fbe07b}.btn.rose{background:#fbeaf1;color:#163352;border:1px solid #f4d9e6}
.actionbar{align-items:center}.pick{border-radius:9px;padding:12px}.footer{max-width:850px}
@media(max-width:930px){.layout{grid-template-columns:1fr}.side{position:static;order:0}.main{padding:18px 14px 48px}}
@media(max-width:600px){.box{padding:20px}.head{padding:24px 18px}.brand-logo{height:68px}.optiongrid,.split{grid-template-columns:1fr}.side{order:0}.steps button{font-size:10px}}

/* Ocean Swim compact multi-pass layout, November 2026 */
.pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin:14px 0 2px}
.pass-grid .pass-event{display:flex;gap:8px;align-items:center;border:1px solid #dce7f2;border-radius:12px;background:#fbfdff;padding:10px 11px;min-height:52px;cursor:pointer}
.pass-grid .pass-event:has(input:checked){background:#edf7ff;border-color:#9ac8ee}
.pass-grid .pass-event input{margin:0;flex:none;accent-color:#2169a5}
.pass-grid .pass-event .pass-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 9px;font-size:12px;line-height:1.3}
.pass-grid .pass-event .pass-copy strong{color:#132f50;font-size:13px}
.pass-grid .pass-event .pass-copy small{color:#5b7190;font-size:11px}
.multi-pass-intro{font-size:13px!important;margin:5px 0 12px!important}
.multi-choices{margin-bottom:7px}.multi-choices .choice{padding:12px 14px;min-height:55px}.multi-choices .choice strong{font-size:14px}.multi-choices .choice small{font-size:11px;margin-top:3px}
.compact-rewards{margin:11px 0 0;border-top:1px solid #dce8f0;padding-top:12px}.compact-rewards h4{margin:0 0 7px;font-size:13px}
.reward-step{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:11px;border-bottom:1px solid #edf2f6}
.reward-step img{width:38px;height:38px;object-fit:contain;border-radius:7px;background:#eaf1f8;border:1px solid #d7e4f0}
.reward-step strong{font-size:12px}.reward-step .reward-when{color:#5b7189;font-size:10px}
.reward-step .reward-value{margin-left:auto;font-size:12px;color:#15395e;font-weight:850;white-space:nowrap}
.reward-step.not-unlocked{opacity:.62}.reward-step.unlocked{background:#fbfdff}
.reward-caveat{font-size:10px!important;line-height:1.42;color:#687889;margin:8px 0 0!important}
.saving-mini{background:#edf8f1;border:1px solid #d0e8d9;border-radius:12px;padding:11px;margin:11px 0}
.saving-mini .saving-lead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px}
.saving-mini .saving-lead strong{font-size:21px;color:#16745c}
.saving-mini .saving-track{height:7px;background:#c6e3d3;border-radius:99px;margin:8px 0 4px;overflow:hidden}
.saving-mini .saving-fill{height:100%;background:#248b6b;border-radius:99px}
.saving-mini small{font-size:10px;color:#486958}
.side{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.side .line{padding:7px 0}.side .small-line{font-size:11px}
.side h3{font-size:18px}.side .booking-total{font-size:24px}
.side .callout{margin:8px 0;padding:8px;border-radius:10px;font-size:11px}
.side .muted{font-size:11px}.side .price-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.side .booking-count{margin:2px 0 9px;font-size:11px}.sidebar-breakdown{margin-top:6px}
.dob-picker-wrap{position:relative}.dob-trigger{width:100%;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff;border:1.5px solid #cbdbeb;padding:13px;border-radius:12px;min-height:48px;color:#173655}
.dob-trigger .dob-placeholder{color:#71849b}.dob-picker{background:white;border:1px solid #c9dcea;border-radius:14px;box-shadow:0 18px 40px #123d5b26;padding:13px;margin-top:6px;max-width:370px;position:relative;z-index:10}
.dob-picker .dob-head{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dob-picker select{width:100%;padding:10px;border:1px solid #cadced;border-radius:9px;background:#f8fbff}
.dob-week,.dob-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.dob-week span{text-align:center;color:#71819a;font-size:10px;padding:8px 0}.dob-days button{background:#f1f6fc;border:1px solid transparent;border-radius:8px;min-height:34px;font-size:12px;color:#193752;cursor:pointer}.dob-days button:disabled{opacity:.18;cursor:default}.dob-days button.selected{background:#205b92;color:white}.dob-days button:hover:not(:disabled){border-color:#2b7dbc;background:#dcedfa}
.dob-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.dob-foot button{padding:7px 10px;border-radius:8px;border:1px solid #cdddec;background:white;color:#173a60}
@media(max-width:900px){.side{max-height:none;overflow:visible}.layout{grid-template-columns:1fr}}
@media(max-width:700px){.side{position:fixed;bottom:0;top:auto;left:10px;right:10px;max-height:36vh;overflow-y:auto;z-index:20;box-shadow:0 -8px 24px #102b4933}.pass-grid{grid-template-columns:1fr}.multi-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.multi-choices .choice{min-height:75px}.side{position:fixed;bottom:0;top:auto;left:10px;right:10px;max-height:36vh;overflow-y:auto;z-index:20;border:1px solid #d4e5f1;border-top:4px solid #f2cb47;border-radius:16px 16px 0 0;box-shadow:0 -8px 23px #122e5230}.layout{display:flex;flex-direction:column}.layout>div{order:1}.layout>.side{order:2}.main{padding-bottom:145px}}

/* Mobile registration refinement — compact entry fields + collapsible basket */
.mobile-summary-top{display:none}
.dob-inline{display:flex;align-items:stretch;gap:8px}
.dob-inline input{min-width:0;flex:1;letter-spacing:.02em}
.dob-inline .dob-trigger{width:auto;flex:none;min-width:110px;max-width:120px;min-height:44px;padding:9px 10px;justify-content:center;gap:7px;font-size:13px;font-weight:750;white-space:nowrap}
.dob-inline .dob-trigger span{font-size:17px}
.dob-entry-label{font-size:12px;font-weight:800;color:#466177}.dob-picker-wrap{grid-column:1/-1}
@media (min-width:701px){
  .mobile-summary-top{display:none!important}
  .summary-content{display:block}
}
@media (max-width:700px){
  .main{padding:12px 12px 92px!important}
  .layout{gap:8px}
  .steps{margin-bottom:12px;gap:4px}
  .steps button{padding:7px 9px;font-size:10px}
  .box{padding:16px!important;border-radius:15px;margin-bottom:10px!important}
  .box h2{font-size:20px;margin-bottom:6px}
  .box h3{font-size:15px;margin:14px 0 8px}
  .box p{margin:4px 0 10px;font-size:13px;line-height:1.38}
  .field{margin:4px 0;gap:4px;font-size:12px}
  .field input,.field select{padding:8px 10px;min-height:42px;border-radius:9px;font-size:16px}
  .split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 9px}
  .split>.field{min-width:0}
  .split>.field input,.split>.field select{min-width:0}
  .split>.field:has(input[type=email]),.split>.field:has(input[type=tel]),.split>.field:has(input[data-field="emergency"]){grid-column:span 2}
  .choice{padding:12px 13px;border-radius:11px}
  .choice strong{font-size:14px}.choice small{font-size:11px;margin-top:4px}
  .pick{padding:8px 3px;gap:8px}
  .pick strong{font-size:13px}.pick small{font-size:11px}
  .pass-grid{gap:6px}.pass-grid .pass-event{padding:8px;min-height:44px}
  .actionbar .btn{min-height:44px;padding:10px 12px}
  .callout{padding:10px;margin:10px 0;font-size:12px}
  .familybox{padding:12px;margin:7px 0}
  .dob-inline .dob-trigger{font-size:12px;min-width:95px;max-width:110px;min-height:42px}
  .dob-picker{max-width:100%;padding:10px}
  #summary.side{position:fixed!important;bottom:max(8px,env(safe-area-inset-bottom))!important;top:auto!important;left:10px!important;right:10px!important;width:auto!important;margin:0!important;padding:0!important;max-height:none!important;overflow:visible!important;border:1px solid #d1e4f2!important;border-top:3px solid #eac54c!important;border-radius:15px!important;background:#fff!important;z-index:50!important;box-shadow:0 3px 15px rgba(10,34,67,.23)!important}
  #summary .mobile-summary-top{display:block}
  #summary .mobile-summary-top button{border:0;background:linear-gradient(110deg,#fffbea,#f3f9ff);width:100%;min-height:47px;display:flex;align-items:center;gap:8px;padding:8px 11px;color:#142d4d;border-radius:12px;text-align:left;cursor:pointer}
  .mobile-summary-title{font-size:12px;font-weight:850;white-space:nowrap}
  .mobile-summary-price{font-size:15px;font-weight:900;white-space:nowrap;margin-left:auto}
  .mobile-summary-savings{font-size:10px;white-space:nowrap;background:#e4f6ee;color:#167454;border-radius:20px;padding:4px 6px;font-weight:850}
  .mobile-summary-chevron{font-size:16px;transition:transform .15s;display:inline-block;flex:none}
  #summary .summary-content{display:none}
  #summary[data-mobile-open="true"] .mobile-summary-chevron{transform:rotate(180deg)}
  #summary[data-mobile-open="true"] .summary-content{display:block;max-height:min(60dvh,470px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #e3e9f0;padding:12px 14px}
  #summary[data-mobile-open="true"] .mobile-summary-top button{border-radius:12px 12px 0 0}
  body:has(input:not([type=checkbox]):focus) #summary.side,body:has(select:focus) #summary.side,body:has(textarea:focus) #summary.side{visibility:hidden;pointer-events:none}
}
@media (max-width:370px){
  #summary .mobile-summary-savings{display:none}
  .split{gap:7px}
  .dob-inline .dob-trigger{min-width:88px;padding:8px 7px}
}

.reward-step.expired{background:#f1f3f5;opacity:.7;filter:grayscale(1);border-radius:6px;margin:3px 0}
.reward-step.expired .reward-when{font-weight:800;color:#607184}.reward-step.expired .reward-value{text-decoration:line-through;color:#667583}
.missed-swag{background:#f0f3f6;border:1px solid #cdd7e0;border-radius:11px;padding:13px;margin:11px 0;font-size:12px;color:#243b53}.missed-swag strong{font-size:14px;display:block;line-height:1.4}.missed-swag p{margin:6px 0!important;font-size:12px}.missed-swag .missed-value{text-decoration:line-through;font-size:17px}
.auto-add-hint{margin:9px 0!important;border-left:4px solid #46a487;background:#edf8f5;padding:10px;border-radius:9px;color:#145e47!important;font-weight:800}
.route-reset-note{background:#fff3cf;border:1px solid #e4c16f;border-radius:9px;padding:11px;margin:12px 0;font-size:13px;color:#715414;font-weight:750}
.dob-confirm{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#eaf7ff;border:2px solid #9ccbe6;border-radius:10px;padding:10px;margin:8px 0;color:#133f65}
.dob-confirm[hidden]{display:none}.dob-confirm button{background:#133b66;color:white;border:0;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:800}.dob-confirm.verified{background:#ebfaef;border-color:#8bc7a0}.dob-confirm.invalid{background:#fff1e7;border-color:#ebb394}
.waiver-alert{background:#fff1ae;border:2px solid #e4b53f;border-radius:12px;padding:14px;margin:12px 0;color:#5f450b;font-weight:800;font-size:14px}.waiver-alert strong{display:block;font-size:17px}
.waiver-scroll{height:260px;overflow-y:auto;overscroll-behavior:contain;border:3px solid #347db3;border-radius:12px;background:#f7fbff;padding:15px 18px}
.waiver-scroll:focus-visible{outline:3px solid #efbe48}.waiver-scroll .waiver-terms h4{font-size:13px;line-height:1.6;font-weight:500;margin:12px 0}.waiver-scroll .waiver-terms ol{padding-left:8px;list-style:none;counter-reset:clause}.waiver-scroll .waiver-terms ol>li{list-style:none}.waiver-scroll .waiver-terms h4{counter-increment:clause}.waiver-scroll .waiver-terms h4::before{content:counter(clause) '. ';color:#174c78;font-weight:850}.waiver-scroll .waiver-terms ul{padding-left:22px}.waiver-end{border-top:3px solid #27689d;padding-top:13px;font-weight:850;color:#163c60}
.waiver-cue{display:flex;gap:10px;align-items:center;background:#e8f4ff;color:#103b65;border-radius:9px;padding:12px;margin-top:10px;font-size:13px;font-weight:850}.waiver-cue.done{background:#e4f6e9;color:#165c3b}.waiver-legal-note{font-size:12px!important;line-height:1.5}
@media(max-width:600px){.waiver-scroll{height:220px}.missed-swag{padding:10px}}
.slot-chooser{padding:13px;border:1.5px solid #a9cfeb;background:#f4faff;border-radius:12px;margin:13px 0}.slot-chooser option:disabled{color:#82929f;background:#e7ecf0}.slot-demo-warning{font-size:11px!important;border-left:4px solid #e0ab34;background:#fff5d9;padding:8px 10px;border-radius:6px;color:#705215!important}.slot-availability{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#e9f6ed;border:1px solid #9dceb0;color:#195638;border-radius:9px;padding:10px 12px;font-size:12px}.slot-availability strong{font-size:13px}.slot-availability span{font-weight:800}
.slot-soldout-banner{display:flex;flex-direction:column;gap:3px;background:#f8e8e9;color:#802e37;border:1.5px solid #df8d95;border-radius:9px;padding:12px;margin:9px 0;font-size:12px}.slot-soldout-banner strong{font-size:15px}
.slot-live-label{background:#e3f6ef;color:#12563c;border-left:4px solid #33a677;padding:9px 11px;border-radius:7px;font-size:12px;font-weight:750}
.float-pitch{display:flex;gap:16px;align-items:center}.float-pitch>img{width:122px;min-width:122px;height:122px;border-radius:11px;background:#fff;object-fit:contain;border:1px solid #cfdeec}.float-pitch h3{font-size:17px;line-height:1.25}.float-check{margin-top:10px}.float-required{background:#fff0dc;border:1px solid #edba70;border-radius:9px;padding:11px 13px;margin:14px 0}.child-float{background:#f5faff;border:1.5px solid #a3cbe6;border-radius:13px;padding:15px;margin:16px 0}.child-float h3{margin:0 0 6px}.child-float p{margin:7px 0 12px}.float-selected{display:flex;align-items:center;gap:12px;border-radius:9px;padding:10px;background:#e7f4ec}.float-selected img{width:80px;height:80px;object-fit:contain;border-radius:8px;background:#fff}
@media(max-width:480px){.float-pitch{align-items:flex-start}.float-pitch>img{width:92px;min-width:92px;height:92px}}
.cart-item-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;min-width:0}.cart-item-actions strong{font-variant-numeric:tabular-nums;white-space:nowrap}.cart-remove{display:inline-grid;place-items:center;width:26px;height:26px;min-width:26px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#8995a3;font-size:16px;font-weight:600;line-height:1;cursor:pointer}.cart-remove:hover{background:#eff1f4;border-color:#dde2e8;color:#5d6878}.cart-remove:focus-visible{outline:3px solid #326cbb;outline-offset:2px}.side .cart-item-actions{gap:4px}.side .cart-remove{width:24px;min-width:24px;height:24px;font-size:15px}.side .small-line{font-size:13px;line-height:1.4;gap:7px}.side .small-line .cart-event-name{min-width:0;flex:1 1 auto;overflow-wrap:anywhere;font-size:13.5px;font-weight:800;line-height:1.35;color:#12345f}.side .small-line .cart-item-actions strong{font-size:12px;font-weight:750;color:#5b6c82}.box .line>div:first-child{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.cart-item-actions{gap:4px}.side .small-line{gap:5px}.side .small-line .cart-event-name{font-size:13px}}
.wave-day-notice{border-left:3px solid #b5c9dc;background:#f2f7fc;color:#304764;border-radius:5px;margin:10px 0;padding:10px 12px;font-size:12px;line-height:1.5}

#live-access{max-width:700px;margin:35px auto}#live-access input{display:block;width:100%;padding:12px;margin:10px 0}.live-test-ack{border:2px solid #e6b431;padding:16px;background:#fff7d8;border-radius:12px;margin:14px 0}.live-order-amount{font-size:23px;font-weight:800;color:#126c53}


/* Social account cards and compact, aligned permissions. */
.social-panel{border:1px solid #cbddea;overflow:hidden}.social-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.social-panel>summary::-webkit-details-marker{display:none}.social-panel>summary strong{display:block;font-size:20px;color:#123a60}.social-panel>summary small{display:block;font-size:13px;color:#60788c;margin-top:4px}.social-optional{background:#edf6fc;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:700}.social-intro{font-size:15px;color:#537087}.social-accounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.social-account{display:flex;align-items:flex-start;gap:10px;background:#f7fafd;border:1px solid #dbe5ee;border-radius:16px;padding:15px;min-width:0}.social-icon{display:flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;color:white}.social-icon svg{width:23px;height:23px}.social-icon.instagram{background:linear-gradient(135deg,#7844c8,#dc397c,#f6ab44)}.social-icon.facebook{background:#1877f2}.social-icon.tiktok{background:#12202c}.social-account-body{display:block;min-width:0;width:100%}.social-account-body>strong{display:block;font-size:14px}.social-account-body>small{display:block;color:#677e90;font-size:11px;margin:3px 0 10px}.social-account input{box-sizing:border-box;min-width:0;width:100%;padding:10px;border:1px solid #c8d8e6;border-radius:9px;background:white;color:#123a60;font-size:14px}.social-permissions{border-top:1px solid #dbe5ee;padding-top:8px}.social-permissions h4{margin:14px 0;font-size:15px}.social-consent{display:flex;align-items:flex-start;gap:12px;padding:13px 0;cursor:pointer;border-bottom:1px solid #edf2f6}.social-consent input[type=checkbox]{appearance:auto;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:1px 0 0;padding:0;accent-color:#1267a1}.social-consent span{display:block}.social-consent strong{font-size:14px}.social-consent small{display:block;font-size:12px;color:#61798b;margin-top:4px;line-height:1.5}.social-footnote{font-size:12px!important;color:#6b8092;line-height:1.6;margin-bottom:0}.age-summary{border:1px solid #cbdfea;border-radius:14px;margin:12px 0 18px;overflow:hidden}.age-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f4f9fc}.age-head>strong{font-size:24px}.age-series{background:#eaf5fd;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.age-series>span{font-size:13px;font-weight:700}.age-series strong{display:block;font-size:30px;color:#123a60}.age-series small{display:block;font-weight:400;font-size:12px}.age-series p{font-size:13px;margin:0;line-height:1.6}.age-summary h4{font-size:14px;margin:16px}.age-events{padding:0 16px}.age-events>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #e6eef4;font-size:14px}.age-events small{display:block;color:#647f91;font-size:12px}.age-summary>.muted{font-size:12px;margin:12px 16px}.sidebar-checkout{margin-top:16px}.sidebar-checkout>.btn{width:100%;margin:5px 0}.social-account input:focus-visible{outline:3px solid #f5de58;outline-offset:2px}@media(max-width:900px){.social-accounts{grid-template-columns:1fr}.age-series{grid-template-columns:1fr;gap:10px}} 
