/* Black Friday Vault: account deal alerts (switches, profile section, suggestion, header bell) */

/* switches inside the alerts form (account mode) */
.bfv-al__switch { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; cursor: pointer; }
.bfv-al__switch:hover { border-color: var(--bfv-ink); }
.bfv-al__switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bfv-al__sw { flex: none; position: relative; width: 38px; height: 22px; margin-top: 1px; border-radius: 999px; background: var(--color-border-strong); transition: background 160ms ease; }
.bfv-al__sw::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(18, 19, 22, 0.3); transition: transform 160ms ease, background 160ms ease; }
.bfv-al__switch input:checked + .bfv-al__sw { background: var(--bfv-ink); }
.bfv-al__switch input:checked + .bfv-al__sw::after { transform: translateX(16px); background: var(--bfv-gold); }
.bfv-al__switch input:focus-visible + .bfv-al__sw { box-shadow: var(--shadow-focus); }
.bfv-al__swtxt { min-width: 0; }
.bfv-al__swtxt b { display: block; font: 800 14px/1.25 var(--font-heading); color: var(--bfv-ink); }
.bfv-al__swtxt em { display: block; margin-top: 2px; font-style: normal; font-size: 12.5px; line-height: 1.45; color: var(--color-text-muted); }
.bfv-al.is-digest-off .bfv-al__pick { display: none; }
@media (max-width: 760px) {
  .bfv-al__side > .bfv-al__switch { order: 1; }
}

/* profile section */
.bfv-acct__form { border: 1px solid var(--color-border); border-radius: 16px; overflow: hidden; background: #fff; }
.bfv-acct .bfv-alp__banner { margin-top: 0; }
.bfv-acct .bfv-alp__out { margin-top: 18px; }
.bfv-acct__pill { display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px; font: 750 12.5px/1 var(--font-body); white-space: nowrap; }
.bfv-acct__pill.is-on { background: var(--bfv-green-wash); color: var(--bfv-green); }
.bfv-acct__pill.is-wait { background: var(--bfv-gold-wash); color: var(--bfv-gold-deep); }
.bfv-acct__pill.is-off { background: var(--bfv-paper); color: var(--color-text-muted); border: 1px solid var(--color-border); }

/* suggestion (profile card + toast) */
.bfv-sugg { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: var(--bfv-gold-wash); border: 1px solid #f0d37a; }
.bfv-sugg__ico { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--bfv-ink); color: var(--bfv-gold); }
.bfv-sugg__ico svg { width: 19px; height: 19px; }
.bfv-sugg__txt { flex: 1; min-width: 0; font-size: 14.5px; line-height: 1.45; color: var(--bfv-ink); }
.bfv-sugg__act { display: flex; align-items: center; gap: 14px; flex: none; }
.bfv-sugg__act .bfv-btn { height: 38px; padding: 0 16px; font-size: 14px; }
@media (max-width: 640px) {
  .bfv-sugg { flex-wrap: wrap; }
  .bfv-sugg__act { width: 100%; }
}
.bfv-sugg-toast { position: fixed; left: 20px; bottom: 20px; z-index: 9000; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; max-width: 440px; padding: 14px 16px; border-radius: 16px; background: var(--bfv-ink); color: #fff; box-shadow: var(--shadow-lg); opacity: 0; transform: translateY(16px); transition: opacity 200ms ease, transform 200ms ease; }
.bfv-sugg-toast.is-on { opacity: 1; transform: none; }
.bfv-sugg-toast .bfv-sugg__ico { background: rgba(255, 255, 255, 0.1); }
.bfv-sugg-toast .bfv-sugg__txt { color: #fff; flex: 1 1 220px; }
.bfv-sugg-toast .bfv-sugg__act { flex: 1 1 100%; padding-left: 50px; }
.bfv-sugg-toast .bfv-al-link { color: rgba(255, 255, 255, 0.72); }
.bfv-sugg-toast .bfv-al-link:hover { color: #fff; }
@media (max-width: 640px) {
  .bfv-sugg-toast { left: 12px; right: 12px; bottom: 12px; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bfv-sugg-toast, .bfv-al__sw, .bfv-al__sw::after { transition: none; }
}

/* header bell (logged-in) */
#ewb-block-1 .ph-hd__bell { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: var(--radius-md, 10px); color: var(--color-text-muted); text-decoration: none; transition: background 160ms linear, color 160ms linear; }
#ewb-block-1 .ph-hd__bell[hidden] { display: none; }
#ewb-block-1 .ph-hd__bell:hover { background: var(--color-surface-hover); color: var(--color-text); }
#ewb-block-1 .ph-hd__bell:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
#ewb-block-1 .ph-hd__bell svg { width: 19px; height: 19px; }
#ewb-block-1 .ph-hd__bell-dot { position: absolute; top: 6px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--bfv-gold); border: 1.5px solid #fff; }
#ewb-block-1 .ph-hd__bell-dot[hidden] { display: none; }
