/* PrepWeek Online waiting list: interactive concept preview and survey polish. */
.online-page .nl-price-card{position:relative}
.ol-save{position:absolute;top:-14px;right:-10px;rotate:8deg;background:var(--tertiary);color:var(--text);font:700 14px "Bricolage Grotesque",sans-serif;padding:6px 12px;border-radius:999px;box-shadow:0 6px 16px rgba(33,30,25,.12);animation:ol-wiggle 3.5s ease-in-out infinite}
@keyframes ol-wiggle{0%,80%,100%{rotate:8deg}85%{rotate:-2deg}90%{rotate:12deg}95%{rotate:5deg}}

.ol-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.online-page .nl-preview-tabs{margin-bottom:0}
.online-page .nl-preview-tabs button{padding:8px 12px;background:var(--background);border:0;border-radius:8px;font:13px "Source Sans 3",sans-serif;color:var(--text);cursor:pointer}
.online-page .nl-preview-tabs button[aria-pressed="true"]{background:var(--text);color:var(--surface)}
.ol-household{display:flex;align-items:center;gap:8px;font-size:14px}
.ol-household button{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font:600 17px/1 "Source Sans 3",sans-serif;color:var(--primary-deep);cursor:pointer;transition:transform .15s}
.ol-household button:hover{transform:scale(1.1)}
.ol-household button:active{transform:scale(.92)}
.ol-household strong{font:700 18px "Bricolage Grotesque",sans-serif}

.online-page button.nl-swap{display:inline-block;white-space:nowrap;flex:none;background:var(--surface);font:600 12px "Source Sans 3",sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.online-page button.nl-swap:hover{background:var(--danger-soft);transform:rotate(-3deg)}
.online-page .nl-planner-row.is-swapped img,.online-page .nl-planner-row.is-swapped h3{animation:ol-swap .45s cubic-bezier(.2,1.5,.4,1)}
@keyframes ol-swap{from{opacity:0;transform:translateY(10px) scale(.92)}}

.ol-list{list-style:none;margin:10px 0 0;padding:0;font-size:15px;max-height:330px;overflow:auto}
.ol-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px dashed var(--border)}
.ol-list li span::before{content:"☐ ";color:var(--secondary)}
.ol-list strong{font-weight:600;color:var(--primary-deep);white-space:nowrap}

.online-page .nl-options label:has(input:checked){border-color:var(--primary);background:var(--danger-soft);box-shadow:0 0 0 1px var(--primary)}
.online-page .nl-options label{transition:border-color .15s,background .15s,transform .15s}
.online-page .nl-options label:hover{transform:translateY(-2px)}
.online-page .nl-faq{margin-top:72px}

@media (max-width:860px){
  .ol-save{right:6px}
  .online-page button.nl-swap{display:inline-block}
}
@media (prefers-reduced-motion:reduce){
  .ol-save,.online-page .nl-planner-row.is-swapped img,.online-page .nl-planner-row.is-swapped h3{animation:none}
}
