/* ════════════════════════════════════════════════════════════════════════════
   picker.css  —  Picker / Santa page specific styles
   .card/.section-label override shared.css.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Picker page ── */

/* Mode tabs */
.mode-tabs {
  display:flex; gap:0.3rem; flex-wrap:wrap;
  background:rgba(0,0,0,0.25); border-radius:14px; padding:4px;
  margin-bottom:1rem; position:relative; z-index:1;
}
.mode-tab {
  flex:1; min-width:80px; padding:0.5rem 0.9rem; border-radius:10px;
  font-size:0.8rem; font-weight:700; cursor:pointer; transition:color 0.22s;
  border:none; background:none; color:var(--text-dim); font-family:inherit; text-align:center;
  position:relative; z-index:1;
}
.mode-tab:hover:not(.active) { color:var(--text); }
.mode-tab.active { color:#a8b4ff; }
.mode-tab.xmas-tab.active { color:#ff9b8e; }
.tab-indicator {
  position:absolute; top:4px; border-radius:10px; height:calc(100% - 8px);
  background:rgba(124,92,252,0.2); box-shadow:0 1px 4px rgba(0,0,0,0.35);
  transition:left 0.28s cubic-bezier(0.4,0,0.2,1), width 0.28s cubic-bezier(0.4,0,0.2,1);
  pointer-events:none; z-index:0;
}

/* Panel show/hide */
.panel { display:none; width:100%; }
.panel.active { display:block; }

/* Santa inner tab panels — carousel */
.santa-tab-panel { display:none; }
.santa-tab-panel.active { display:block; }
.santa-tabs-viewport { position:relative; }

/* Card override — picker uses border-radius:22px with glass effect */
.card {
  background:var(--card-bg); border:1px solid var(--glass-border); border-radius:22px;
  padding:1.4rem 1.6rem; margin-bottom:1rem; position:relative; overflow:hidden;
  backdrop-filter:blur(40px) saturate(150%); -webkit-backdrop-filter:blur(40px) saturate(150%);
  box-shadow:var(--shadow-card);
}
.card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent); }
.card::after  { content:''; position:absolute; inset:0; background:var(--glass-shine); pointer-events:none; border-radius:22px; }

/* Section label — plain text style for picker (no dot/line) */
.section-label { font-size:0.68rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-dim); margin-bottom:1rem; position:relative; z-index:1; display:block; }

/* Big pick button */
.btn-big {
  width:100%; padding:1rem; border-radius:14px; border:none;
  background:linear-gradient(135deg,#7c5cfc,#5a3de0); color:var(--text);
  font-size:1rem; font-weight:800; cursor:pointer; font-family:inherit;
  transition:all 0.2s; letter-spacing:0.3px;
}
.btn-big:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(124,92,252,0.4); }
.btn-big:active { transform:translateY(0); }
.btn-big:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.btn-xmas { background:linear-gradient(135deg,#c0392b,#96281b); box-shadow:0 4px 16px rgba(192,57,43,0.35); }
.btn-xmas:hover { box-shadow:0 8px 24px rgba(192,57,43,0.5); }

/* Result display */
.result-box {
  background:rgba(124,92,252,0.08); border:1px solid rgba(124,92,252,0.25);
  border-radius:16px; padding:1.5rem 1.25rem; text-align:center;
  margin:1rem 0; position:relative; z-index:1; min-height:80px;
  display:flex; align-items:center; justify-content:center; transition:all 0.3s;
}
.result-box .result-val { font-size:2rem; font-weight:800; color:var(--text); letter-spacing:-1px; animation:resultPop 0.35s cubic-bezier(0.16,1,0.3,1); }
@keyframes resultPop { from{opacity:0;transform:scale(0.7)} to{opacity:1;transform:scale(1)} }
.result-box .result-sub { font-size:0.78rem; color:var(--text-dim); margin-top:0.3rem; }
.result-empty { color:var(--text-muted); font-size:0.9rem; }

/* Spinner wheel */
.spinner-wrap { display:flex; align-items:center; justify-content:center; padding:1rem 0; position:relative; z-index:1; }
.wheel-container { position:relative; width:280px; height:280px; }
.wheel-pointer {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  width:0; height:0;
  border-left:10px solid transparent; border-right:10px solid transparent;
  border-top:22px solid #fff; z-index:10; filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5));
}
#spin-canvas { border-radius:50%; box-shadow:0 0 0 4px rgba(255,255,255,0.08), 0 12px 40px rgba(0,0,0,0.5); }

/* Items list */
.items-list { display:flex; flex-direction:column; gap:0.3rem; position:relative; z-index:1; margin-bottom:0.75rem; max-height:180px; overflow-y:auto; }
.item-row { display:flex; align-items:center; gap:0.4rem; padding:0.28rem 0.55rem 0.28rem 0.7rem; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:8px; transition:border-color 0.15s,background 0.15s; }
.item-row:hover { background:rgba(124,92,252,0.07); border-color:rgba(124,92,252,0.25); }
.item-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:0.82rem; font-weight:600; }
.item-edit-input { flex:1; background:var(--card-bg); border:1px solid var(--accent-border); border-radius:6px; color:var(--text); font-size:0.82rem; padding:0.15rem 0.4rem; font-family:inherit; }
.item-edit-input:focus { outline:none; }
.add-row { display:flex; gap:0.5rem; position:relative; z-index:1; }

/* RNG controls */
.rng-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.65rem; margin-bottom:1rem; position:relative; z-index:1; }
.rng-field { display:flex; flex-direction:column; gap:0.25rem; }
.rng-field label { font-size:0.67rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--text-dim); }
.rng-history { max-height:120px; overflow-y:auto; display:flex; flex-wrap:wrap; gap:0.3rem; padding-top:0.5rem; border-top:1px solid rgba(255,255,255,0.06); margin-top:0.5rem; position:relative; z-index:1; }
.rng-chip { padding:0.2rem 0.6rem; border-radius:20px; font-size:0.75rem; font-weight:600; font-family:'DM Mono',monospace; background:rgba(124,92,252,0.1); border:1px solid rgba(124,92,252,0.2); color:var(--accent2); }
.rng-chip.latest { background:rgba(124,92,252,0.25); border-color:rgba(124,92,252,0.5); color:var(--text); }

/* Christmas card */
.card.xmas-card { background:rgba(10,20,12,0.6); border-color:rgba(39,174,96,0.25); }
.card.xmas-card::before { background:linear-gradient(90deg,transparent,rgba(39,174,96,0.3),transparent); }
.xmas-header { display:flex; align-items:center; gap:0.5rem; margin-bottom:1rem; position:relative; z-index:1; }
.xmas-title { font-size:1.1rem; font-weight:800; color:var(--text); }
.xmas-sub { font-size:0.78rem; color:rgba(150,220,150,0.75); margin-top:0.1rem; }

/* Snowflakes */
.snowflake-container { position:absolute; inset:0; pointer-events:none; overflow:hidden; border-radius:22px; }
.sf { position:absolute; color:rgba(255,255,255,0.3); font-size:0.9rem; user-select:none; animation:sffall linear infinite; }
@keyframes sffall { from{transform:translateY(-20px) rotate(0deg)} to{transform:translateY(110%) rotate(360deg)} }

/* Custom toggle switch */
.vc-toggle-wrap { display:inline-flex; align-items:center; gap:0.65rem; cursor:pointer; user-select:none; }
.vc-toggle-wrap input[type=checkbox] { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.vc-toggle-track { width:32px; height:18px; border-radius:9px; flex-shrink:0; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.12); position:relative; transition:all 0.2s; }
.vc-toggle-thumb { width:12px; height:12px; border-radius:50%; background:var(--text-dim,#9898b8); position:absolute; top:2px; left:2px; transition:all 0.2s; }
.vc-toggle-wrap input:checked ~ .vc-toggle-track { background:var(--accent,#7c5cfc); border-color:var(--accent,#7c5cfc); box-shadow:0 0 8px rgba(124,92,252,0.35); }
.vc-toggle-wrap input:checked ~ .vc-toggle-track .vc-toggle-thumb { left:16px; background:#fff; }
.vc-toggle-wrap input:disabled ~ .vc-toggle-track { opacity:0.35; cursor:not-allowed; }
.vc-toggle-wrap:hover { color:var(--text,#eeeef8); }

/* Secret Santa — new tabbed+family system */
.btn-xmas { background:linear-gradient(135deg,#c0392b,#96281b); border:none; color:#fff; box-shadow:0 4px 16px rgba(192,57,43,0.35); }
.btn-xmas:hover { box-shadow:0 8px 24px rgba(192,57,43,0.5); opacity:0.92; }

/* Santa inner tabs */
.santa-tabs { display:flex; gap:0.2rem; background:rgba(0,0,0,0.3); border-radius:11px; padding:3px; position:relative; z-index:1; }
.santa-tab { flex:1; padding:0.62rem 0.35rem; border-radius:8px; font-size:0.72rem; font-weight:700; cursor:pointer; border:none; text-align:center; font-family:inherit; color:rgba(150,220,150,0.5); background:none; transition:color 0.22s; white-space:nowrap; position:relative; z-index:1; }
.santa-tab.active { color:#ff9b8e; }
.santa-tab-indicator {
  position:absolute; top:3px; border-radius:8px; height:calc(100% - 6px);
  background:linear-gradient(135deg,rgba(192,57,43,0.3),rgba(192,57,43,0.18));
  box-shadow:0 1px 4px rgba(0,0,0,0.35);
  transition:left 0.28s cubic-bezier(0.4,0,0.2,1), width 0.28s cubic-bezier(0.4,0,0.2,1);
  pointer-events:none; z-index:0;
}
.santa-tab-panel { display:none; }
.santa-tab-panel.active { display:block; }
/* Custom dropdown */
/* cs-btn / cs-drop / cs-arr styles provided by shared.css */

/* Family cards */
@keyframes santaItemIn { from { opacity:0; transform:translateY(10px) scale(0.97); } to { opacity:1; transform:translateY(0) scale(1); } }
.santa-family-card { background:rgba(39,174,96,0.07); border:1px solid rgba(39,174,96,0.2); border-radius:14px; padding:1rem 1.1rem; cursor:pointer; transition:all 0.18s; position:relative; overflow:hidden; animation:santaItemIn 0.22s cubic-bezier(0.16,1,0.3,1) both; }
.santa-family-card:nth-child(1){animation-delay:0ms}.santa-family-card:nth-child(2){animation-delay:40ms}.santa-family-card:nth-child(3){animation-delay:80ms}.santa-family-card:nth-child(4){animation-delay:120ms}.santa-family-card:nth-child(5){animation-delay:160ms}.santa-family-card:nth-child(6){animation-delay:200ms}
.santa-family-card::before { content:''; position:absolute; top:0; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,rgba(39,174,96,0.35),transparent); }
.santa-family-card:hover { background:rgba(39,174,96,0.13); border-color:rgba(39,174,96,0.4); transform:translateY(-2px); }
.santa-family-name { font-size:0.92rem; font-weight:800; color:#eeeef8; margin-bottom:0.2rem; }
.santa-family-meta { font-size:0.72rem; color:rgba(150,220,150,0.7); }
.santa-family-del { position:absolute; top:0.5rem; right:0.5rem; background:none; border:none; color:rgba(248,113,113,0.5); cursor:pointer; font-size:0.8rem; padding:0.2rem 0.3rem; border-radius:4px; }
.santa-family-del:hover { color:#f87171; background:rgba(248,113,113,0.1); }

/* Participant rows */
.santa-p-row { display:flex; align-items:center; gap:0.5rem; padding:0.45rem 0.6rem; border-radius:8px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.06); margin-bottom:0.3rem; position:relative; z-index:1; animation:santaItemIn 0.2s cubic-bezier(0.16,1,0.3,1) both; }
.santa-p-row:nth-child(1){animation-delay:0ms}.santa-p-row:nth-child(2){animation-delay:35ms}.santa-p-row:nth-child(3){animation-delay:70ms}.santa-p-row:nth-child(4){animation-delay:105ms}.santa-p-row:nth-child(5){animation-delay:140ms}.santa-p-row:nth-child(6){animation-delay:175ms}.santa-p-row:nth-child(7){animation-delay:210ms}.santa-p-row:nth-child(8){animation-delay:245ms}
.santa-p-av { width:28px; height:28px; border-radius:50%; background:rgba(192,57,43,0.15); border:1.5px solid rgba(192,57,43,0.3); display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:800; color:#ff9b8e; flex-shrink:0; }
.santa-p-name { flex:1; font-size:0.83rem; font-weight:700; }
.santa-badge { font-size:0.62rem; padding:0.12rem 0.4rem; border-radius:10px; font-weight:700; white-space:nowrap; }
.sb-list { background:rgba(39,174,96,0.1); border:1px solid rgba(39,174,96,0.25); color:#5ddf8f; }
.sb-no { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); color:var(--text-muted); }
.sb-couple { background:rgba(241,196,15,0.1); border:1px solid rgba(241,196,15,0.25); color:#f1c40f; }

/* Wishlist items */
.wl-item-row { display:flex; flex-direction:column; gap:0.2rem; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:0.5rem 0.65rem; position:relative; }
.wl-item-name { font-size:0.82rem; font-weight:600; color:#eeeef8; padding-right:1.5rem; }
.wl-item-link { font-size:0.71rem; color:#60a5fa; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wl-item-link:hover { text-decoration:underline; }
.wl-item-del { position:absolute; top:0.45rem; right:0.5rem; background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:0.75rem; padding:0; }
.wl-item-del:hover { color:#f87171; }
.wl-item-nolink { font-size:0.69rem; color:var(--text-muted); font-style:italic; }

/* Spouse tiles */
.spouse-tile { padding:0.4rem 0.6rem; border-radius:7px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.025); cursor:pointer; font-size:0.77rem; font-weight:600; color:var(--text-dim); transition:all 0.14s; }
.spouse-tile:hover { border-color:rgba(241,196,15,0.4); color:#f1c40f; background:rgba(241,196,15,0.06); }
.spouse-tile.selected { border-color:rgba(241,196,15,0.6); background:rgba(241,196,15,0.12); color:#f1c40f; }
.spouse-tile.none-tile { border-style:dashed; font-style:italic; color:var(--text-muted); }

/* View wishlist card */
.wl-view-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:10px; padding:0.75rem 0.9rem; font-size:0.8rem; }
.wl-view-label { font-size:0.64rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:0.3rem; margin-top:0.5rem; }
.wl-view-label:first-child { margin-top:0; }
.wl-view-val { color:var(--text-dim); line-height:1.5; }
.wl-view-item-link { font-size:0.72rem; color:#60a5fa; text-decoration:none; }
.wl-view-item-link:hover { text-decoration:underline; }

/* Draw modal wishlist */
.sdm-wish-row { display:flex; align-items:flex-start; gap:0.45rem; padding:0.3rem 0; border-bottom:1px solid rgba(255,255,255,0.05); font-size:0.79rem; color:var(--text-dim); }
.sdm-wish-row:last-child { border-bottom:none; }
.sdm-wish-lbl { font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); width:65px; flex-shrink:0; padding-top:0.05rem; }

/* Section title */
.santa-section-title { font-size:0.68rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(39,174,96,0.8); margin-bottom:0.6rem; display:flex; align-items:center; gap:0.4rem; position:relative; z-index:1; }

/* Toast stack */
#toast { position:fixed; bottom:1.5rem; right:1.5rem; z-index:9999; display:flex; flex-direction:column; gap:0.4rem; pointer-events:none; }
.toast-item { padding:0.6rem 1rem; border-radius:10px; font-size:0.82rem; font-weight:600; background:rgba(20,20,36,0.95); border:1px solid rgba(255,255,255,0.12); backdrop-filter:blur(12px); color:var(--text); animation:toastIn 0.25s cubic-bezier(0.16,1,0.3,1); pointer-events:auto; }
@keyframes toastIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

@media(max-width:540px) {
  .participant-grid { grid-template-columns:1fr; }
  .rng-grid { grid-template-columns:1fr; }
}
