/* ==========================================================================
   LinkParty enhancements (Batch 1)
   Kept separate from styles.css so it can be reviewed / rolled back easily.
   Uses the existing brand tokens (--bp-pink, --bp-purple, --bp-ink, --bp-cream).
   ========================================================================== */

/* ---------- Share Kit ---------- */
.lp-sk { background: linear-gradient(180deg, #fff6fb 0%, #ffffff 340px); }
.lp-sk .container { max-width: 1080px; }

.lp-sk-hero { padding: 8px 8px 22px; }
.lp-sk-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(217, 27, 140, .1); color: var(--bp-pink, #D91B8C);
  font-weight: 800; font-size: .85rem; letter-spacing: .02em;
}
.lp-sk-title {
  font-weight: 800; color: var(--bp-ink, #2A2140);
  font-size: clamp(1.8rem, 4.6vw, 2.8rem); margin: 14px 0 8px;
}
.lp-sk-sub { max-width: 620px; margin: 0 auto; color: #5b5470; font-size: 1.05rem; }

.lp-sk-grid {
  display: grid; gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
.lp-sk-col { display: grid; gap: 20px; min-width: 0; }

.lp-sk-card {
  background: #fff; border-radius: 20px; padding: 22px;
  box-shadow: 0 14px 40px rgba(42, 33, 64, .08);
  border: 1px solid rgba(42, 33, 64, .06);
  min-width: 0;
}
.lp-sk-card + .lp-sk-card { margin-top: 0; }
.lp-sk-howto, .lp-sk-discover { margin-top: 20px; }

.lp-sk-h2 { font-size: 1.2rem; font-weight: 800; color: var(--bp-ink, #2A2140); margin: 0 0 6px; }
.lp-sk-text { color: #5b5470; margin-bottom: 14px; }
.lp-sk-small { color: #6b6580; font-size: .88rem; margin: 12px 0 0; }
.lp-sk-label { font-weight: 800; color: var(--bp-ink, #2A2140); margin-bottom: 8px; display: block; }

/* mini phone preview */
.lp-sk-preview { background: linear-gradient(160deg, #D91B8C 0%, #8E2BA0 55%, #40266E 100%); padding: 26px; }
.lp-sk-phone {
  background: rgba(255,255,255,.96); border-radius: 26px; max-width: 320px; margin: 0 auto;
  padding: 26px 18px 18px; text-align: center; box-shadow: 0 20px 40px rgba(0,0,0,.25);
}
.lp-sk-avatar {
  width: 88px; height: 88px; border-radius: 50%; object-fit: cover;
  border: 4px solid #FFD166; box-shadow: 0 6px 16px rgba(0,0,0,.15);
}
.lp-sk-name {
  font-family: 'Montserrat', system-ui, sans-serif; font-weight: 800; font-size: 1.25rem;
  color: var(--bp-ink, #2A2140); margin-top: 10px; overflow-wrap: anywhere;
}
.lp-sk-handle { color: #8a8399; font-weight: 700; font-size: .9rem; }
.lp-sk-bio { color: #5b5470; font-size: .88rem; margin: 8px 0 12px; overflow-wrap: anywhere; }
.lp-sk-linkpill {
  background: #fff; border: 2px solid rgba(217,27,140,.18); border-radius: 999px;
  padding: 9px 12px; margin: 8px 0; font-weight: 700; font-size: .9rem; color: var(--bp-ink, #2A2140);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lp-sk-viewlink { display: inline-block; margin-top: 10px; font-weight: 700; font-size: .88rem; }

.lp-sk-urlrow { display: flex; gap: 8px; }
.lp-sk-url { font-weight: 700; color: var(--bp-ink, #2A2140); background: #faf7fc !important; border-radius: 999px; min-width: 0; }
.lp-sk-copy { white-space: nowrap; }
.lp-sk-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.lp-sk-feedback { min-height: 1.4em; margin-top: 10px; color: #1a7f5a; font-weight: 700; font-size: .92rem; }

/* graphic options */
.lp-sk-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.lp-sk-seg { display: inline-flex; background: #f3eef7; border-radius: 999px; padding: 4px; }
.lp-sk-seg button {
  border: 0; background: transparent; border-radius: 999px; padding: 7px 14px;
  font-weight: 800; font-size: .85rem; color: #5b5470; cursor: pointer;
}
.lp-sk-seg button.is-active { background: #fff; color: var(--bp-pink, #D91B8C); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.lp-sk-swatches { display: inline-flex; gap: 8px; }
.lp-sk-swatch {
  width: 34px; height: 34px; border-radius: 50%; border: 3px solid #fff; cursor: pointer;
  box-shadow: 0 0 0 2px rgba(42,33,64,.12);
}
.lp-sk-swatch.is-active { box-shadow: 0 0 0 3px var(--bp-pink, #D91B8C); }
.lp-sk-swatch[data-lp-style="party"]    { background: linear-gradient(135deg, #D91B8C, #40266E); }
.lp-sk-swatch[data-lp-style="sunset"]   { background: linear-gradient(135deg, #FFB347, #D91B8C); }
.lp-sk-swatch[data-lp-style="midnight"] { background: linear-gradient(135deg, #1B1530, #40266E); }
.lp-sk-swatch[data-lp-style="clean"]    { background: linear-gradient(135deg, #ffffff, #FFE8F4); }

.lp-sk-canvaswrap {
  background: #f3eef7; border-radius: 16px; padding: 14px; display: flex; justify-content: center;
}
.lp-sk-canvaswrap canvas {
  display: block; width: auto; height: auto; max-width: 100%; max-height: 520px;
  border-radius: 12px; box-shadow: 0 10px 30px rgba(42,33,64,.18);
}

/* how-to tabs */
.lp-sk-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.lp-sk-tabs button {
  border: 2px solid rgba(42,33,64,.1); background: #fff; border-radius: 999px;
  padding: 7px 14px; font-weight: 800; font-size: .88rem; color: #5b5470; cursor: pointer;
}
.lp-sk-tabs button.is-active { border-color: var(--bp-pink, #D91B8C); color: var(--bp-pink, #D91B8C); background: rgba(217,27,140,.06); }
.lp-sk-panel ol { margin: 0; padding-left: 1.2rem; color: #3d3654; }
.lp-sk-panel li { margin-bottom: 6px; }

/* discovery */
.lp-sk-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 14px 0 6px; }
.lp-sk-feature { display: flex; gap: 12px; align-items: flex-start; color: #3d3654; }
.lp-sk-feature span { color: #6b6580; font-size: .92rem; }
.lp-sk-ficon {
  flex: 0 0 44px; width: 44px; height: 44px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(217,27,140,.1); color: var(--bp-pink, #D91B8C);
}

.lp-sk button:focus-visible, .lp-sk a:focus-visible { outline: 3px solid rgba(217,27,140,.45); outline-offset: 2px; }

@media (max-width: 860px) {
  .lp-sk-grid { grid-template-columns: minmax(0, 1fr); }
  .lp-sk-features { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .lp-sk-card { padding: 16px; border-radius: 16px; }
  .lp-sk-urlrow { flex-direction: column; }
  .lp-sk-copy { width: 100%; }
  .lp-sk-canvaswrap canvas { max-height: 440px; }
}

/* ---------- Display name / handle on profiles ---------- */
.lp-handle {
  display: block; margin-top: 2px;
  font-size: 1rem; font-weight: 700; letter-spacing: .01em;
  opacity: .75;
}
.masthead-heading.lp-has-display-name { text-transform: none; overflow-wrap: anywhere; }

/* ---------- Edit identity form ---------- */
.lp-dn-help { color: #6b6580; font-size: .85rem; }

/* ==========================================================================
   Stories
   ========================================================================== */
:root { --lp-story-ring: conic-gradient(from 210deg, #FFD166, #FF6A5C, #D91B8C, #8E2BA0, #FFD166); }
.lp-sv-lock, .lp-sv-lock body { overflow: hidden !important; }

/* Rings – profile avatar.
   The ring is the wrapper's own background (no overflowing pseudo-element), so it
   can't paint outside the circle when the page applies hover transforms/filters. */
.profile-tiles-avatar-wrapper.lp-story-ring {
  background: var(--lp-story-ring) !important;
  padding: 5px !important;
  border-radius: 50% !important;
  overflow: visible !important; /* keep the online dot / Premium tick that sit on the edge */
  cursor: pointer;
  -webkit-user-select: none; user-select: none;
}
.profile-tiles-avatar-wrapper.lp-story-ring img {
  border: 4px solid #fff !important; border-radius: 50% !important; box-shadow: none !important;
  -webkit-user-drag: none; user-select: none;
}
.profile-tiles-avatar-wrapper.lp-story-ring.lp-story-seen { background: #d6d0de !important; }
/* Unseen (and your own live story): soft pulsing glow so it feels alive.
   Animates opacity of a shadow only – cheap on mobile. */
.profile-tiles-avatar-wrapper.lp-story-ring:not(.lp-story-seen) { animation: lp-story-glow 2.4s ease-in-out infinite; }
@keyframes lp-story-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(217,27,140,.35), 0 6px 18px rgba(217,27,140,.18); }
  50%      { box-shadow: 0 0 0 8px rgba(217,27,140,0), 0 6px 26px rgba(255,140,60,.35); }
}
@media (prefers-reduced-motion: reduce) {
  .profile-tiles-avatar-wrapper.lp-story-ring:not(.lp-story-seen) { animation: none; }
}
.profile-tiles-avatar-wrapper.lp-story-ring:focus,
.profile-tiles-avatar-wrapper.lp-story-ring:active { background: var(--lp-story-ring) !important; outline: none; }
.profile-tiles-avatar-wrapper.lp-story-ring.lp-story-seen:focus,
.profile-tiles-avatar-wrapper.lp-story-ring.lp-story-seen:active { background: #d6d0de !important; }

.lp-story-chip {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 16px;
  background: #fff; color: var(--bp-pink, #D91B8C); border: 0;
  border-radius: 999px; padding: 6px 12px; font-weight: 800; font-size: .85rem;
  box-shadow: 0 6px 16px rgba(217,27,140,.18); cursor: pointer;
}
.lp-story-chip .lp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bp-pink, #D91B8C); animation: lp-pulse 1.6s ease-in-out infinite; }
.lp-story-chip.lp-story-seen .lp-dot { animation: none; background: #b8b0c6; }
@keyframes lp-pulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: .5; } }
.lp-story-chip.is-add { color: var(--bp-ink, #2A2140); }

/* Rings – dashboard following strip (.ring is the existing avatar wrapper) */
.following-avatar.lp-has-story { background: var(--lp-story-ring) !important; padding: 3px !important; }
.following-avatar.lp-has-story img { border: 3px solid #fff; }
.lp-story-seen .following-avatar.lp-has-story, .following-avatar.lp-has-story.lp-story-seen { background: #d6d0de !important; }
.following-tile.lp-tile-add .ring { background: #fff; border: 2px dashed rgba(217,27,140,.45); display: flex; align-items: center; justify-content: center; color: var(--bp-pink, #D91B8C); font-size: 1.4rem; }
.following-tile .lp-add-badge {
  position: absolute; right: -2px; bottom: -2px; z-index: 3; width: 22px; height: 22px; border-radius: 50%;
  background: var(--bp-pink, #D91B8C); color: #fff; border: 2px solid #fff;
  display: flex; align-items: center; justify-content: center; font-size: .7rem;
}

/* Viewer */
.lp-sv { position: fixed; inset: 0; z-index: 100000; background: rgba(12, 8, 20, .94); display: flex; align-items: center; justify-content: center; }
.lp-sv-frame {
  position: relative; width: min(100vw, calc(100vh * 9 / 16)); height: min(100vh, calc(100vw * 16 / 9));
  max-width: 480px; max-height: 100vh; background: #000; overflow: hidden; color: #fff;
  border-radius: 14px; touch-action: manipulation; user-select: none;
}
@media (max-width: 520px) { .lp-sv-frame { width: 100vw; height: 100%; max-width: none; border-radius: 0; } }
.lp-sv-bars { position: absolute; top: 10px; left: 10px; right: 10px; display: flex; gap: 4px; z-index: 5; }
.lp-sv-bar { flex: 1; height: 3px; background: rgba(255,255,255,.35); border-radius: 3px; overflow: hidden; }
.lp-sv-bar i { display: block; height: 100%; width: 0; background: #fff; }
.lp-sv-head { position: absolute; top: 20px; left: 10px; right: 10px; display: flex; align-items: center; gap: 6px; z-index: 6; }
.lp-sv-user { display: flex; align-items: center; gap: 8px; color: #fff !important; text-decoration: none !important; min-width: 0; flex: 1; }
.lp-sv-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; }
.lp-sv-name { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.lp-sv-ago { opacity: .8; font-size: .85rem; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.lp-sv-close, .lp-sv-more { background: transparent; border: 0; color: #fff; font-size: 1.8rem; line-height: 1; width: 40px; height: 40px; text-shadow: 0 1px 3px rgba(0,0,0,.6); cursor: pointer; }
.lp-sv-more { font-size: 1.4rem; }
.lp-sv-stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.lp-sv-img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.lp-sv-loading { position: absolute; opacity: .75; }
.lp-sv-caption {
  position: absolute; left: 14px; right: 14px; bottom: 132px; z-index: 4; text-align: center;
  font-weight: 700; font-size: 1.05rem; text-shadow: 0 2px 6px rgba(0,0,0,.7); overflow-wrap: anywhere;
}
.lp-sv-tap { position: absolute; top: 70px; bottom: 130px; width: 35%; background: transparent; border: 0; z-index: 3; cursor: pointer; }
.lp-sv-tap-prev { left: 0; } .lp-sv-tap-next { right: 0; width: 65%; }
.lp-sv-tap:focus-visible { outline: 2px solid rgba(255,255,255,.6); }
.lp-sv-foot {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 6; padding: 12px 12px calc(14px + env(safe-area-inset-bottom));
  background: linear-gradient(transparent, rgba(0,0,0,.7));
}
.lp-sv-reacts { display: flex; justify-content: center; gap: 10px; margin-bottom: 10px; }
.lp-sv-react {
  width: 46px; height: 46px; border-radius: 50%; border: 0; font-size: 1.45rem; cursor: pointer;
  background: rgba(255,255,255,.16); transition: transform .12s ease, background .12s ease;
}
.lp-sv-react:hover { transform: scale(1.1); }
.lp-sv-react.is-on { background: rgba(255,209,102,.9); transform: scale(1.12); }
.lp-sv-reply { display: flex; gap: 8px; }
.lp-sv-reply input {
  flex: 1; min-width: 0; border-radius: 999px; border: 1px solid rgba(255,255,255,.55); background: rgba(0,0,0,.35);
  color: #fff; padding: 10px 14px; font-size: 16px; /* 16px stops iOS zoom */
}
.lp-sv-reply input::placeholder { color: rgba(255,255,255,.75); }
.lp-sv-reply button { border: 0; border-radius: 999px; background: var(--bp-pink, #D91B8C); color: #fff; font-weight: 800; padding: 0 16px; }
.lp-sv-reply button:disabled { opacity: .6; }
.lp-sv-noreply { text-align: center; font-size: .85rem; opacity: .75; }
.lp-sv-stats {
  width: 100%; display: flex; justify-content: center; gap: 16px; border: 0; border-radius: 999px; padding: 12px;
  background: rgba(255,255,255,.16); color: #fff; font-weight: 700; cursor: pointer;
}
.lp-sv-stats .lp-sv-left { opacity: .75; font-weight: 400; }
.lp-sv-menu {
  position: absolute; top: 62px; right: 10px; z-index: 8; background: #fff; color: var(--bp-ink, #2A2140);
  border-radius: 14px; min-width: 220px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.lp-sv-menu button, .lp-sv-menu a { display: block; width: 100%; text-align: left; padding: 11px 16px; border: 0; background: #fff; color: inherit; font-weight: 700; text-decoration: none; }
.lp-sv-menu button:hover, .lp-sv-menu a:hover { background: #f6f1f9; }
.lp-sv-menu-title { padding: 10px 16px 4px; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #8a8399; }
.lp-sv-menu-danger { color: #c0392b !important; }
.lp-sv-panel {
  position: absolute; left: 0; right: 0; bottom: 0; max-height: 70%; z-index: 9; background: #fff; color: var(--bp-ink, #2A2140);
  border-radius: 18px 18px 0 0; display: flex; flex-direction: column;
}
.lp-sv-panel-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid #eee; }
.lp-sv-panel-head button { border: 0; background: transparent; font-size: 1.6rem; line-height: 1; }
.lp-sv-panel-body { overflow-y: auto; padding: 8px 8px 16px; }
.lp-sv-panel-sum { padding: 4px 8px 10px; color: #6b6580; font-weight: 700; }
.lp-sv-panel-empty { padding: 8px; color: #6b6580; }
.lp-sv-viewer { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 12px; color: inherit !important; text-decoration: none !important; }
.lp-sv-viewer:hover { background: #f6f1f9; }
.lp-sv-viewer img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.lp-sv-viewer-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lp-sv-viewer-name { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-sv-viewer-ago { font-size: .8rem; color: #8a8399; }
.lp-sv-viewer-emoji { font-size: 1.3rem; }
.lp-sv-toast {
  position: absolute; left: 50%; top: 70px; transform: translateX(-50%) translateY(-8px); z-index: 10; opacity: 0;
  background: rgba(255,255,255,.95); color: var(--bp-ink, #2A2140); padding: 8px 14px; border-radius: 999px; font-weight: 700;
  transition: opacity .2s ease, transform .2s ease; pointer-events: none; max-width: 90%; text-align: center;
}
.lp-sv-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }
.lp-sv-burst { position: absolute; left: 50%; top: 45%; z-index: 7; font-size: 4.5rem; transform: translate(-50%, -50%); animation: lp-burst .9s ease-out forwards; pointer-events: none; }
@keyframes lp-burst { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.4); } 30% { opacity: 1; transform: translate(-50%,-50%) scale(1.15); } 100% { opacity: 0; transform: translate(-50%,-90%) scale(1); } }

/* Login nudge + uploader */
.lp-sv-nudge { position: fixed; inset: 0; z-index: 100001; background: rgba(20, 12, 32, .6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.lp-sv-nudge-card { position: relative; background: #fff; border-radius: 22px; padding: 26px 22px 22px; max-width: 380px; width: 100%; text-align: center; box-shadow: 0 24px 64px rgba(0,0,0,.3); }
.lp-sv-nudge-card h3 { font-weight: 800; font-size: 1.25rem; color: var(--bp-ink, #2A2140); margin: 6px 0 8px; overflow-wrap: anywhere; }
.lp-sv-nudge-card p { color: #5b5470; }
.lp-sv-nudge-icon { width: 58px; height: 58px; margin: 0 auto; border-radius: 50%; background: var(--lp-story-ring); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; }
.lp-sv-nudge-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
.lp-sv-nudge-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 1.6rem; line-height: 1; color: #8a8399; }
.lp-su-card { max-width: 420px; }
.lp-su-preview { background: #111; border-radius: 14px; overflow: hidden; height: 46vh; max-height: 420px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.lp-su-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lp-su-caption { border-radius: 999px; }
.lp-su-note { font-size: .82rem; margin: 10px 0 4px; }
.lp-su-msg { min-height: 1.3em; font-weight: 700; font-size: .9rem; margin-bottom: 6px; color: #5b5470; }
.lp-su-msg.is-ok { color: #1a7f5a; } .lp-su-msg.is-err { color: #c0392b; }


/* ==========================================================================
   Page style layer (accent / link buttons / fonts / avatar shape)
   Applied as classes on <body> (public page) or on .lp-style-preview (settings).
   Changes colour, radius, border and font only – never width or layout.
   ========================================================================== */
.lp-acc-berry  { --lp-accent:#D91B8C; --lp-accent-2:#FF4FA3; --lp-on-accent:#fff; }
.lp-acc-violet { --lp-accent:#7B3FE4; --lp-accent-2:#B07CFF; --lp-on-accent:#fff; }
.lp-acc-ocean  { --lp-accent:#1F6FEB; --lp-accent-2:#4FB3FF; --lp-on-accent:#fff; }
.lp-acc-mint   { --lp-accent:#0F8F70; --lp-accent-2:#2CC79A; --lp-on-accent:#fff; }
.lp-acc-sunset { --lp-accent:#E2541C; --lp-accent-2:#FFA24C; --lp-on-accent:#fff; }
.lp-acc-ink    { --lp-accent:#2A2140; --lp-accent-2:#5B4D7A; --lp-on-accent:#fff; }
.lp-acc-gold   { --lp-accent:#A67C00; --lp-accent-2:#E5B921; --lp-on-accent:#fff; }
.lp-acc-coral  { --lp-accent:#D9434F; --lp-accent-2:#FF8A80; --lp-on-accent:#fff; }
.lp-acc-forest { --lp-accent:#2E7D32; --lp-accent-2:#66BB6A; --lp-on-accent:#fff; }
.lp-acc-aurora { --lp-accent:#5B3FD6; --lp-accent-2:#0FB59A; --lp-on-accent:#fff; }
.lp-acc-candy  { --lp-accent:#E84C8B; --lp-accent-2:#FFB347; --lp-on-accent:#fff; }

/* Berry is the brand default – leave existing theme colours untouched */
[class*="lp-acc-"]:not(.lp-acc-berry) { --profile-accent: var(--lp-accent); --profile-link-card-hover-border: var(--lp-accent); }
[class*="lp-acc-"]:not(.lp-acc-berry) .views-pill,
[class*="lp-acc-"]:not(.lp-acc-berry) .lp-sp-pill { background: linear-gradient(90deg, var(--lp-accent), var(--lp-accent-2)) !important; color: var(--lp-on-accent) !important; }
[class*="lp-acc-"]:not(.lp-acc-berry) .icon-pink { color: var(--lp-accent) !important; }
[class*="lp-acc-"]:not(.lp-acc-berry) .links-card a.link-row:hover,
[class*="lp-acc-"]:not(.lp-acc-berry) .links-card a.link-row:focus { border-color: var(--lp-accent) !important; }
[class*="lp-acc-"]:not(.lp-acc-berry) .links-card a.link-row:focus-visible { outline-color: var(--lp-accent) !important; }
[class*="lp-acc-"]:not(.lp-acc-berry) .profile-tiles-avatar-wrapper img { box-shadow: inset 0 0 0 6px #fff, 0 0 0 3px var(--lp-accent); }

/* Link buttons (only the main link rows; hero-image cards keep a sensible radius) */
.lp-btn-pill .links-card a.link-row:not(.has-hero) { border-radius: 999px !important; }
.lp-btn-pill .links-card a.link-row.has-hero { border-radius: 26px !important; }
.lp-btn-square .links-card a.link-row { border-radius: 4px !important; }
.lp-btn-outline .links-card a.link-row:not(.has-hero) {
  background: transparent !important; box-shadow: none !important;
  border: 2px solid var(--lp-accent, #D91B8C) !important;
}
.lp-btn-hard .links-card a.link-row {
  border: 2px solid #1b1530 !important; border-radius: 12px !important;
  box-shadow: 4px 4px 0 #1b1530 !important;
}
.lp-btn-hard .links-card a.link-row:hover { transform: translate(-1px, -1px) !important; box-shadow: 6px 6px 0 #1b1530 !important; }
body.profile-theme-dark.lp-btn-hard .links-card a.link-row,
body.profile-theme-graphite.lp-btn-hard .links-card a.link-row { border-color: #f5f7fb !important; box-shadow: 4px 4px 0 rgba(245,247,251,.85) !important; }
.lp-btn-soft .links-card a.link-row:not(.has-hero) {
  border-color: transparent !important; box-shadow: none !important;
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 12%, #ffffff) !important;
}
body.profile-theme-dark.lp-btn-soft .links-card a.link-row:not(.has-hero),
body.profile-theme-graphite.lp-btn-soft .links-card a.link-row:not(.has-hero) {
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 22%, #1a1f26) !important;
}

/* Fonts (headings + link titles only; body copy stays readable Lato) */
.lp-font-modern   .masthead-heading, .lp-font-modern   .links-card .link-title, .lp-font-modern   .links-card a.link-row { font-family: 'Poppins', 'Lato', sans-serif !important; }
.lp-font-friendly .masthead-heading, .lp-font-friendly .links-card .link-title, .lp-font-friendly .links-card a.link-row { font-family: 'Nunito', 'Lato', sans-serif !important; }
.lp-font-elegant  .masthead-heading, .lp-font-elegant  .links-card .link-title { font-family: 'Playfair Display', Georgia, serif !important; }
.lp-font-bold     .masthead-heading { font-family: 'Archivo Black', 'Montserrat', sans-serif !important; letter-spacing: .01em; }
.lp-font-bold     .links-card .link-title, .lp-font-bold .links-card a.link-row { font-weight: 800 !important; }
.lp-font-tech     .masthead-heading, .lp-font-tech     .links-card .link-title, .lp-font-tech     .links-card a.link-row { font-family: 'Space Grotesk', 'Lato', sans-serif !important; }

/* Avatar shape */
.lp-av-squircle .profile-tiles-avatar-wrapper img, .lp-av-squircle .lp-sp-avatar img { border-radius: 32% !important; }
.lp-av-rounded  .profile-tiles-avatar-wrapper img, .lp-av-rounded  .lp-sp-avatar img { border-radius: 18% !important; }
.lp-av-squircle .profile-tiles-avatar-wrapper.lp-story-ring { border-radius: 34% !important; }
.lp-av-rounded  .profile-tiles-avatar-wrapper.lp-story-ring { border-radius: 20% !important; }

/* ---------- Style settings card ---------- */
.lp-style-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-top: 12px; }
@media (max-width: 860px) { .lp-style-layout { grid-template-columns: minmax(0, 1fr); } .lp-style-preview-wrap { order: -1; } }
.lp-style-group { margin-bottom: 16px; }
.lp-style-group-label { font-weight: 800; color: var(--bp-ink, #2A2140); margin-bottom: 8px; font-size: .95rem; }
.lp-style-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-style-chip {
  position: relative; border: 2px solid rgba(42,33,64,.12); background: #fff; color: var(--bp-ink, #2A2140);
  border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: .88rem; cursor: pointer; line-height: 1.2;
}
.lp-style-chip.is-selected { border-color: var(--bp-pink, #D91B8C); box-shadow: 0 0 0 3px rgba(217,27,140,.15); }
.lp-style-chip.is-locked { color: #8a8399; }
.lp-style-chip.is-swatch { width: 38px; height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.lp-style-swatch { width: 26px; height: 26px; border-radius: 50%; display: block; }
.lp-style-lock { position: absolute; top: -6px; right: -6px; font-size: .62rem; background: #2A2140; color: #FFD166; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; }
.lp-chip-font-modern { font-family: 'Poppins', sans-serif; }
.lp-chip-font-friendly { font-family: 'Nunito', sans-serif; }
.lp-chip-font-elegant { font-family: 'Playfair Display', serif; }
.lp-chip-font-bold { font-family: 'Archivo Black', sans-serif; font-weight: 400; }
.lp-chip-font-tech { font-family: 'Space Grotesk', sans-serif; }
.lp-chip-buttons-pill { }
.lp-style-upsell { background: linear-gradient(135deg, #fff4fa, #f6efff); border: 1px solid rgba(217,27,140,.2); border-radius: 16px; padding: 14px 16px; margin-bottom: 10px; }
.lp-style-upsell-title { font-weight: 800; color: var(--bp-ink, #2A2140); }
.lp-style-upsell-text { color: #5b5470; font-size: .9rem; margin: 4px 0 10px; }
.lp-style-status { min-height: 1.3em; font-weight: 700; font-size: .9rem; color: #6b6580; }
.lp-style-status.is-ok { color: #1a7f5a; } .lp-style-status.is-err { color: #c0392b; }
.lp-style-preview-label { font-weight: 800; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #8a8399; margin-bottom: 8px; }
.lp-style-preview {
  background: linear-gradient(180deg, #fff6fb, #ffffff); border: 1px solid rgba(42,33,64,.08); border-radius: 22px;
  padding: 22px 18px; text-align: center; box-shadow: 0 14px 40px rgba(42,33,64,.08);
}
.lp-sp-avatar { width: 84px; height: 84px; margin: 0 auto; display: block; }
.lp-sp-avatar img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; }
.lp-sp-name { font-size: 1.3rem !important; font-weight: 800; margin-top: 10px; color: var(--bp-ink, #2A2140); overflow-wrap: anywhere; }
.lp-sp-pill { display: inline-block; margin: 6px 0 14px; padding: 4px 12px; border-radius: 999px; background: linear-gradient(90deg, #8f41e8, #ff4fa3); color: #fff; font-weight: 700; font-size: .8rem; }
.lp-sp-links { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
.lp-sp-links a.link-row {
  display: block; margin: 0 0 10px; padding: 12px 14px; background: #fff; color: var(--bp-ink, #2A2140) !important;
  border: 1.5px solid #ecdcf6; border-radius: 14px; font-weight: 700; box-shadow: 0 8px 18px rgba(0,0,0,.06); cursor: default;
}

/* Owner controls in the viewer */
.lp-sv-ownrow { display: flex; gap: 8px; }
.lp-sv-ownrow .lp-sv-stats { flex: 1; width: auto; }
.lp-sv-del {
  border: 0; border-radius: 999px; padding: 0 16px; font-weight: 800; cursor: pointer;
  background: rgba(255,255,255,.16); color: #fff; display: inline-flex; align-items: center; gap: 6px;
}
.lp-sv-del:hover { background: #c0392b; }

/* ==========================================================================
   Explore: "How to get discovered"
   ========================================================================== */
.lp-disc { background: #fff; border: 1px solid rgba(42,33,64,.08); border-radius: 20px; padding: 18px 20px; margin: 18px 0; box-shadow: 0 12px 30px rgba(42,33,64,.06); }
.lp-disc-head { display: flex; align-items: flex-start; gap: 14px; }
.lp-disc-icon { flex: 0 0 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: rgba(217,27,140,.1); color: var(--bp-pink, #D91B8C); font-size: 1.1rem; }
.lp-disc-title { font-size: 1.1rem; font-weight: 800; color: var(--bp-ink, #2A2140); margin: 0 0 4px; }
.lp-disc-sub { color: #5b5470; font-size: .93rem; }
.lp-disc-toggle { margin-left: auto; flex: 0 0 auto; border: 2px solid rgba(42,33,64,.12); background: #fff; border-radius: 999px; padding: 6px 14px; font-weight: 800; font-size: .85rem; color: var(--bp-ink, #2A2140); }
.lp-disc-body { margin-top: 14px; }
.lp-disc-cols { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; }
@media (max-width: 760px) { .lp-disc-cols { grid-template-columns: minmax(0,1fr); } .lp-disc-head { flex-wrap: wrap; } .lp-disc-toggle { margin-left: 58px; } }
.lp-disc-label { font-weight: 800; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #8a8399; margin-bottom: 8px; }
.lp-disc-list, .lp-disc-tips { list-style: none; padding: 0; margin: 0; }
.lp-disc-list li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(42,33,64,.06); }
.lp-disc-list li span { flex: 1; min-width: 0; color: var(--bp-ink, #2A2140); }
.lp-disc-list li small { color: #6b6580; }
.lp-disc-list li.is-done i { color: #1a7f5a; }
.lp-disc-list li.is-todo i { color: #c9c2d6; }
.lp-disc-tips li { display: flex; gap: 10px; padding: 6px 0; color: #3d3654; font-size: .93rem; }
.lp-disc-tips li i { color: var(--bp-pink, #D91B8C); margin-top: 4px; width: 16px; text-align: center; }

/* ==========================================================================
   Credits at a glance
   ========================================================================== */
.lp-cg { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 18px; background: linear-gradient(135deg, #fff6fb, #f6efff); border: 1px solid rgba(217,27,140,.14); border-radius: 20px; padding: 20px; }
@media (max-width: 760px) { .lp-cg { grid-template-columns: minmax(0,1fr); } }
.lp-cg-kicker { font-weight: 800; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bp-pink, #D91B8C); }
.lp-cg-title { font-weight: 800; font-size: 1.25rem; color: var(--bp-ink, #2A2140); margin: 4px 0 6px; }
.lp-cg-text { color: #5b5470; }
.lp-cg-badge { display: inline-block; background: #FFD166; color: #2A2140; font-weight: 800; font-size: .72rem; border-radius: 999px; padding: 1px 8px; }
.lp-cg-surge { color: #c0392b; font-weight: 700; font-size: .85rem; }
.lp-cg-progress { margin: 14px 0 10px; }
.lp-cg-bar { height: 10px; border-radius: 999px; background: rgba(42,33,64,.08); overflow: hidden; }
.lp-cg-bar span { display: block; height: 100%; background: linear-gradient(90deg, #D91B8C, #FF8A3D); border-radius: 999px; }
.lp-cg-progress-text { font-weight: 700; font-size: .85rem; color: #6b6580; margin-top: 4px; }
.lp-cg-ready { color: #1a7f5a; font-weight: 800; margin-bottom: 8px; }
.lp-cg-options { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
@media (max-width: 480px) { .lp-cg-options { grid-template-columns: minmax(0,1fr); } }
.lp-cg-option { background: #fff; border: 1px solid rgba(42,33,64,.08); border-radius: 14px; padding: 12px; }
.lp-cg-option.is-fast { border-color: rgba(217,27,140,.35); box-shadow: 0 8px 20px rgba(217,27,140,.1); }
.lp-cg-option-title { font-weight: 800; color: var(--bp-ink, #2A2140); }
.lp-cg-option-title i { color: var(--bp-pink, #D91B8C); margin-right: 4px; }
.lp-cg-option-text { font-size: .88rem; color: #5b5470; margin: 4px 0 10px; }
.lp-cg-preview { background: #fff; border-radius: 16px; padding: 14px; text-align: center; align-self: center; border: 1px solid rgba(42,33,64,.06); }
.lp-cg-preview-label { font-weight: 800; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #8a8399; margin-bottom: 10px; }
.lp-cg-strip { display: flex; justify-content: center; gap: 12px; align-items: flex-end; }
.lp-cg-tile { display: flex; flex-direction: column; align-items: center; gap: 6px; opacity: .45; }
.lp-cg-tile .lp-cg-av { width: 46px; height: 46px; border-radius: 50%; background: #e7e1ef; }
.lp-cg-tile i { width: 40px; height: 6px; border-radius: 6px; background: #e7e1ef; }
.lp-cg-tile.is-you { opacity: 1; }
.lp-cg-tile.is-you img { width: 66px; height: 66px; border-radius: 50%; object-fit: cover; border: 3px solid #FFD166; box-shadow: 0 6px 16px rgba(217,27,140,.25); }
.lp-cg-tile.is-you em { font-style: normal; background: #FFD166; color: #2A2140; font-weight: 800; font-size: .7rem; border-radius: 999px; padding: 1px 8px; }
.lp-cg-preview-note { font-size: .8rem; color: #8a8399; margin-top: 8px; }
.lp-cg-prices { background: #fff; border: 1px solid rgba(42,33,64,.08); border-radius: 16px; padding: 14px 16px; }
.lp-cg-prices-title { font-weight: 800; color: var(--bp-ink, #2A2140); margin-bottom: 6px; }
.lp-cg-price { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(42,33,64,.06); }
.lp-cg-price i { width: 18px; text-align: center; color: var(--bp-pink, #D91B8C); }
.lp-cg-price span { flex: 1; min-width: 0; color: #3d3654; }
.lp-cg-price b { white-space: nowrap; color: var(--bp-ink, #2A2140); }
.lp-cg-note { font-size: .8rem; color: #8a8399; margin-top: 8px; }

/* ==========================================================================
   Dashboard tips
   ========================================================================== */
.lp-tips { background: #fff; border: 1px solid rgba(42,33,64,.08); border-radius: 20px; padding: 16px 18px; margin: 0 0 18px; box-shadow: 0 12px 30px rgba(42,33,64,.05); }
.lp-tips-title { font-weight: 800; color: var(--bp-ink, #2A2140); }
.lp-tips-title i { color: #E5B921; margin-right: 6px; }
.lp-tips-sub { color: #8a8399; font-size: .85rem; margin-bottom: 12px; }
.lp-tips-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
@media (max-width: 860px) { .lp-tips-grid { grid-template-columns: minmax(0,1fr); } }
.lp-tip { position: relative; border: 1px solid rgba(42,33,64,.08); border-radius: 16px; padding: 14px; background: linear-gradient(180deg, #fff, #fcf8ff); }
.lp-tip-x { position: absolute; top: 6px; right: 8px; border: 0; background: transparent; font-size: 1.3rem; line-height: 1; color: #b3abc2; cursor: pointer; }
.lp-tip-x:hover { color: #5b5470; }
.lp-tip-icon { width: 36px; height: 36px; border-radius: 12px; background: rgba(217,27,140,.1); color: var(--bp-pink, #D91B8C); display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.lp-tip-title { font-weight: 800; color: var(--bp-ink, #2A2140); padding-right: 18px; }
.lp-tip-text { color: #5b5470; font-size: .88rem; margin: 4px 0 10px; }

/* ---------- Email list ("Join my list") ----------
   Sits inside the links card and uses the same theme variables as link rows
   (--bp-profile-* from the profile shell, --profile-* from the theme), so it
   matches every theme, accent, button shape and font choice. */
.lp-list-card{
  position:relative;overflow:hidden;margin:8px 0 .5rem;
  padding:14px 18px 14px 92px;border-radius:17px;text-align:left;
  background:var(--bp-profile-link-bg, var(--profile-link-bg, #fff));
  border:1px solid var(--bp-profile-link-border, var(--profile-link-border, rgba(217,27,140,.22)));
  box-shadow:var(--bp-profile-link-shadow, 0 8px 22px rgba(42,33,64,.055));
  color:var(--bp-profile-ink, var(--profile-text, #2A2140));
}
.lp-list-rail{
  position:absolute;left:0;top:0;bottom:0;width:66px;display:flex;align-items:center;justify-content:center;
  background:var(--bp-profile-link-rail, linear-gradient(135deg, rgba(217,27,140,.88), rgba(255,209,102,.56)));
  box-shadow:var(--bp-profile-link-rail-shadow, none);color:#fff;font-size:1.7rem;
}
.lp-list-body{min-width:0;}
.lp-list-title{font-weight:800;font-size:1.15rem;line-height:1.2;margin-bottom:8px;color:inherit;}
.lp-list-row{display:flex;gap:8px;}
.lp-list-card .lp-list-email{
  flex:1 1 auto;min-width:0;height:40px;border-radius:12px;font-size:.95rem;
  background:var(--profile-input-bg, rgba(255,255,255,.9));
  border:1px solid var(--bp-profile-link-border, var(--profile-link-border, rgba(0,0,0,.15)));
  color:var(--bp-profile-ink, var(--profile-text, #2A2140));
}
.lp-list-card .lp-list-email::placeholder{color:var(--bp-profile-muted, var(--profile-muted, #888));opacity:1;}
.lp-list-card .lp-list-email:focus{border-color:var(--bp-profile-pink, var(--profile-accent, #D91B8C));box-shadow:none;}
.lp-list-card .lp-list-btn{
  height:40px;padding:0 16px;border-radius:12px;border:0;white-space:nowrap;font-weight:700;font-size:.95rem;line-height:40px;
  background:var(--bp-profile-link-rail, var(--profile-accent, #D91B8C));color:#fff;
}
.lp-list-card .lp-list-btn:hover{filter:brightness(1.06);color:#fff;}
.lp-list-consent{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;line-height:1.35;margin:8px 0 0;font-weight:400;cursor:pointer;
  color:var(--bp-profile-muted, var(--profile-muted, #6b6b7b));}
.lp-list-consent input{margin-top:2px;accent-color:var(--bp-profile-pink, var(--profile-accent, #D91B8C));}
.lp-list-msg{font-size:.88rem;margin-top:6px;}
.lp-list-msg:empty{display:none;}
.lp-list-msg.is-ok{color:inherit;font-weight:700;}
.lp-list-msg.is-error{color:#e5484d;}
.lp-list-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.lp-list-owner-note{font-size:.88rem;color:var(--bp-profile-muted, var(--profile-muted, #6b6b7b));}
.lp-list-owner-note a{color:var(--bp-profile-pink, var(--profile-accent, #D91B8C));font-weight:700;}
/* Follow the member's Style choices */
.lp-btn-pill .lp-list-card{border-radius:26px;}
.lp-btn-pill .lp-list-card .lp-list-email,.lp-btn-pill .lp-list-card .lp-list-btn{border-radius:999px;}
.lp-btn-square .lp-list-card,.lp-btn-square .lp-list-card .lp-list-email,.lp-btn-square .lp-list-card .lp-list-btn{border-radius:4px;}
.lp-btn-outline .lp-list-card{background:transparent;border-width:2px;}
.lp-btn-hard .lp-list-card{border:2px solid #1b1530;box-shadow:4px 4px 0 #1b1530;}
body.profile-theme-dark.lp-btn-hard .lp-list-card,body.profile-theme-graphite.lp-btn-hard .lp-list-card{border-color:#f5f7fb;box-shadow:4px 4px 0 rgba(245,247,251,.85);}
.lp-font-modern .lp-list-card{font-family:'Poppins','Lato',sans-serif;}
.lp-font-friendly .lp-list-card{font-family:'Nunito','Lato',sans-serif;}
.lp-font-elegant .lp-list-title{font-family:'Playfair Display',Georgia,serif;}
/* Same rail/padding as link rows on phones (styles.css @max-width 767.98px) */
@media (max-width:767.98px){
  .lp-list-card{padding:12px 16px 12px 82px;border-radius:16px;}
  .lp-list-rail{width:58px;font-size:1.52rem;}
}
@media (max-width:480px){
  .lp-list-row{flex-wrap:wrap;}
  .lp-list-card .lp-list-btn{flex:1 0 100%;}
}

/* ---------- Setup step 3 quick start ---------- */
.lp-setup-quick{border-top:1px solid rgba(0,0,0,.07);margin-top:16px;padding-top:14px;}
.lp-setup-quick-title{font-weight:800;font-size:.95rem;margin-bottom:10px;}
.lp-setup-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
.lp-setup-group-label{font-size:.8rem;font-weight:700;color:#6b6b7b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.lp-setup-chips{display:flex;flex-wrap:wrap;gap:6px;}
.lp-setup-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(123,63,228,.25);background:#fff;color:#2A2140;font-size:.85rem;font-weight:600;text-decoration:none!important;transition:background .15s,border-color .15s;}
.lp-setup-chip:hover{background:rgba(123,63,228,.08);border-color:rgba(123,63,228,.5);color:#2A2140;}
.lp-setup-import{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:14px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.03);font-size:.88rem;}
.lp-setup-import i{opacity:.6;}
.lp-setup-import span{flex:1 1 200px;}

/* ---------- beehiiv connection (My Email List) ---------- */
.lp-bh-logo{margin-right:4px;}
.lp-bh-badge{font-size:.75rem;padding:.35em .7em;border-radius:999px;}
.lp-bh-stats{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin-top:6px;}
.lp-bh-stats b{font-size:1.15rem;}
.lp-bh-new{background:#fff8e1;border:1px solid #ffe08a;border-radius:14px;padding:12px 14px;margin:10px 0 4px;}
.lp-bh-new .lp-bh-cta{background:#FFD166;color:#2A2140;font-weight:800;margin-left:6px;}
.lp-bh-new .lp-bh-cta:hover{background:#ffc53d;color:#2A2140;}
.lp-bh summary{cursor:pointer;}

/* ---------- Premium page: contextual intro ---------- */
.lp-prem-context{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid rgba(217,27,140,.22);border-left:5px solid #D91B8C;border-radius:14px;padding:14px 16px;margin:0 0 16px;color:#2A2140;box-shadow:0 8px 20px rgba(42,33,64,.06);}
.lp-prem-context i{font-size:1.4rem;color:#D91B8C;margin-top:2px;}

/* ---------- Share kit: grow from here ---------- */
.lp-sk-grow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.lp-sk-grow-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid rgba(42,33,64,.08);border-radius:16px;padding:14px;text-align:left;}
.lp-sk-grow-item strong{display:block;color:#2A2140;margin-bottom:2px;}
.lp-sk-grow-item span{display:block;color:#6b6580;font-size:.9rem;margin-bottom:6px;}
.lp-sk-grow-item a{font-weight:800;color:#D91B8C;font-size:.9rem;}
.lp-sk-grow-prem{background:linear-gradient(135deg,#fff7fc,#fff4dc);border-color:rgba(217,27,140,.2);}
@media (max-width:640px){.lp-sk-grow{grid-template-columns:1fr;}}

/* ---------- Dashboard: first-week checklist ---------- */
.lp-ob{background:#fff;border:1px solid rgba(217,27,140,.18);border-radius:20px;padding:16px 18px;margin:0 0 18px;box-shadow:0 12px 30px rgba(42,33,64,.06);}
.lp-ob-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.lp-ob-title{font-weight:900;color:#2A2140;font-size:1.05rem;}
.lp-ob-title i{color:#D91B8C;margin-right:6px;}
.lp-ob-sub{color:#8a8399;font-size:.88rem;}
.lp-ob-x{background:none;border:0;color:#8a8399;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:0;}
.lp-ob-bar{height:8px;border-radius:999px;background:#f3eef7;margin:10px 0 12px;overflow:hidden;}
.lp-ob-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#D91B8C,#FFB347);transition:width .4s;}
.lp-ob-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.lp-ob-step{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(42,33,64,.07);border-radius:14px;}
.lp-ob-step .btn{white-space:nowrap;}
.lp-ob-check{flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff0f8;color:#D91B8C;}
.lp-ob-copy{flex:1 1 auto;min-width:0;}
.lp-ob-step-title{font-weight:800;color:#2A2140;font-size:.95rem;}
.lp-ob-step-text{color:#6b6580;font-size:.85rem;}
.lp-ob-step.is-done{background:#f7fbf9;border-color:rgba(15,157,122,.15);}
.lp-ob-step.is-done .lp-ob-check{background:#0F9D7A;color:#fff;}
.lp-ob-step.is-done .lp-ob-step-title{color:#6b6580;text-decoration:line-through;text-decoration-color:rgba(107,101,128,.5);font-weight:700;}
@media (max-width:520px){.lp-ob-step{flex-wrap:wrap;}.lp-ob-step .btn{margin-left:46px;}}

/* Story dialogs: keep secondary buttons readable on dark themes */
.lp-sv-nudge-card .btn-outline-secondary{color:#2A2140 !important;background:#fff !important;border:1.5px solid rgba(42,33,64,.28) !important;}
.lp-sv-nudge-card .btn-outline-secondary:hover{background:#f5f2f8 !important;}

/* ---------- Button styles: keep them on hover + apply to sponsored slots ----------
   The profile shell's own :hover rule for icon/plain link rows is more specific
   than the style rules above, so hover fell back to the default look. These
   selectors out-rank it (body.lp-styled.lp-btn-* prefix). */
body.lp-styled.lp-btn-square .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row),
body.lp-styled.lp-btn-square .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover { border-radius: 4px !important; }
body.lp-styled.lp-btn-pill .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row),
body.lp-styled.lp-btn-pill .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover { border-radius: 999px !important; }

body.lp-styled.lp-btn-outline .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row) {
  background: transparent !important; box-shadow: none !important; border: 2px solid var(--lp-accent, #D91B8C) !important;
}
body.lp-styled.lp-btn-outline .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-outline .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus {
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 10%, transparent) !important;
  border: 2px solid var(--lp-accent, #D91B8C) !important; box-shadow: none !important; transform: translateY(-2px);
}

body.lp-styled.lp-btn-hard .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row) {
  border: 2px solid #1b1530 !important; border-radius: 12px !important; box-shadow: 4px 4px 0 #1b1530 !important;
}
body.lp-styled.lp-btn-hard .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-hard .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus {
  border: 2px solid #1b1530 !important; box-shadow: 6px 6px 0 #1b1530 !important; transform: translate(-1px, -1px) !important;
}
body.lp-styled.lp-btn-hard.profile-theme-dark .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row),
body.lp-styled.lp-btn-hard.profile-theme-graphite .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row) {
  border-color: #f5f7fb !important; box-shadow: 4px 4px 0 rgba(245,247,251,.85) !important;
}
body.lp-styled.lp-btn-hard.profile-theme-dark .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-hard.profile-theme-graphite .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-hard.profile-theme-dark .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus,
body.lp-styled.lp-btn-hard.profile-theme-graphite .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus {
  border-color: #f5f7fb !important; box-shadow: 6px 6px 0 rgba(245,247,251,.85) !important;
}

body.lp-styled.lp-btn-soft .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row) {
  border-color: transparent !important; box-shadow: none !important;
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 12%, #ffffff) !important;
}
body.lp-styled.lp-btn-soft .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-soft .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus {
  border-color: transparent !important; box-shadow: none !important; transform: translateY(-2px);
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 20%, #ffffff) !important;
}
body.lp-styled.lp-btn-soft.profile-theme-dark .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row),
body.lp-styled.lp-btn-soft.profile-theme-graphite .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row) {
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 22%, #1a1f26) !important;
}
body.lp-styled.lp-btn-soft.profile-theme-dark .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-soft.profile-theme-graphite .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):hover,
body.lp-styled.lp-btn-soft.profile-theme-dark .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus,
body.lp-styled.lp-btn-soft.profile-theme-graphite .links-card a.link-row:not(.has-hero):not(.sponsor-opportunity-row):focus {
  background: color-mix(in srgb, var(--lp-accent, #D91B8C) 32%, #1a1f26) !important;
}

/* Sponsored slots follow the button shape too (keeping their gold "sponsored" border) */
body.lp-styled.lp-btn-pill .links-card .sponsored-profile-slot,
body.lp-styled.lp-btn-pill .links-card a.link-row.sponsor-opportunity-row { border-radius: 999px !important; }
body.lp-styled.lp-btn-square .links-card .sponsored-profile-slot,
body.lp-styled.lp-btn-square .links-card a.link-row.sponsor-opportunity-row { border-radius: 4px !important; }
body.lp-styled.lp-btn-outline .links-card .sponsored-profile-slot,
body.lp-styled.lp-btn-outline .links-card .sponsored-profile-slot:hover { background: transparent !important; box-shadow: none !important; }
body.lp-styled.lp-btn-hard .links-card .sponsored-profile-slot { border-radius: 12px !important; box-shadow: 4px 4px 0 #1b1530 !important; }
body.lp-styled.lp-btn-hard .links-card .sponsored-profile-slot:hover,
body.lp-styled.lp-btn-hard .links-card .sponsored-profile-slot:focus { box-shadow: 6px 6px 0 #1b1530 !important; transform: translate(-1px, -1px) !important; }
body.lp-styled.lp-btn-hard.profile-theme-dark .links-card .sponsored-profile-slot,
body.lp-styled.lp-btn-hard.profile-theme-graphite .links-card .sponsored-profile-slot { box-shadow: 4px 4px 0 rgba(245,247,251,.85) !important; }
body.lp-styled.lp-btn-hard.profile-theme-dark .links-card .sponsored-profile-slot:hover,
body.lp-styled.lp-btn-hard.profile-theme-graphite .links-card .sponsored-profile-slot:hover { box-shadow: 6px 6px 0 rgba(245,247,251,.85) !important; }
body.lp-styled.lp-btn-soft .links-card .sponsored-profile-slot { box-shadow: none !important; }

/* Online dot / Premium tick above the story ring */
.profile-tiles-avatar-wrapper.lp-story-ring .profile-tiles-online,
.profile-tiles-avatar-wrapper.lp-story-ring .profile-tiles-premium,
.profile-tiles-avatar-wrapper.lp-story-ring .boosted-chip { z-index: 3; }

/* ---------- Stories: links (Premium), viewer tiers, uploader ---------- */
.lp-sv-link {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 134px; z-index: 5;
  display: inline-flex; align-items: center; gap: 8px; max-width: calc(100% - 40px);
  padding: 10px 18px; border-radius: 999px; background: #fff; color: #2A2140 !important; font-weight: 800;
  box-shadow: 0 8px 24px rgba(0,0,0,.35); text-decoration: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lp-sv-link span { overflow: hidden; text-overflow: ellipsis; }
.lp-sv-link i { color: #D91B8C; }
.lp-sv-link[hidden] { display: none; }
.lp-sv-has-link .lp-sv-caption { bottom: 190px; }
.lp-sv-panel-extra { padding: 0 8px 10px; color: #2A2140; font-size: .9rem; }
.lp-sv-panel-label { padding: 2px 8px 6px; color: #8a8399; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.lp-sv-upsell {
  display: flex; align-items: center; gap: 10px; margin: 10px 6px 4px; padding: 12px 14px; border-radius: 14px;
  background: linear-gradient(135deg,#fff7fc,#fff4dc); border: 1px solid rgba(217,27,140,.2); color: #2A2140 !important; font-weight: 700; font-size: .9rem; text-decoration: none !important;
}
.lp-sv-upsell i { color: #D91B8C; }
.lp-su-link { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 10px; }
.lp-su-link .form-control { border-radius: 999px; }
.lp-su-link-locked {
  display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 10px 14px; border: 1px dashed rgba(42,33,64,.25);
  border-radius: 999px; color: #6b6580 !important; text-decoration: none !important; font-size: .9rem;
}
.lp-su-link-locked em { margin-left: auto; font-style: normal; font-weight: 800; color: #D91B8C; font-size: .8rem; }
.lp-su-upgrade { font-weight: 800; color: #D91B8C; text-decoration: underline; }

/* ---------- Sponsorship insights (bid window) ---------- */
.lp-si-btn{border:1px solid rgba(217,27,140,.3);background:#fff0f8;color:#D91B8C;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 34px;}
.lp-si-btn[aria-expanded="true"]{background:#D91B8C;color:#fff;}
.lp-si-panel{background:#fbf8ff;border:1px solid rgba(42,33,64,.08);border-radius:14px;padding:12px;margin-bottom:12px;color:#2A2140;}
.lp-si-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;}
.lp-si-trend{font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:999px;background:#eee;white-space:nowrap;}
.lp-si-trend.is-up{background:#e6f6ef;color:#0F9D7A;}
.lp-si-trend.is-down{background:#fdecec;color:#c0392b;}
.lp-si-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;}
.lp-si-stats div{background:#fff;border-radius:10px;padding:8px;text-align:center;border:1px solid rgba(42,33,64,.06);}
.lp-si-stats b{display:block;font-size:1.15rem;}
.lp-si-stats span{font-size:.72rem;color:#6b6580;}
.lp-si-chart{width:100%;height:46px;display:block;fill:#D91B8C;opacity:.85;}
.lp-si-foot{font-size:.72rem;color:#8a8399;margin-top:6px;}
.lp-si-loading{font-size:.9rem;color:#6b6580;}
.lp-si-up{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.9rem;}
.lp-si-up i{font-size:1.4rem;color:#D91B8C;}
.lp-si-up div{flex:1 1 180px;}
.modal-header .lp-si-btn { margin-left: auto !important; }
.modal-header .lp-si-btn ~ .close { margin-left: 4px !important; }
.lp-si-chart rect.is-zero { opacity: .2; }

/* ---------- Stories: sensitive (reported) content ---------- */
.lp-sv-img.is-blurred { filter: blur(28px) brightness(.7); transform: scale(1.08); }
.lp-sv-stage { overflow: hidden; }
.lp-sv-sensitive {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(300px, 80%); z-index: 7;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; text-align: center; padding: 20px; color: #fff; border-radius: 18px; background: rgba(0,0,0,.35);
}
.lp-sv-sensitive[hidden] { display: none; }
.lp-sv-sensitive i { font-size: 2rem; opacity: .9; }
.lp-sv-sensitive b { font-size: 1.15rem; }
.lp-sv-sensitive span { opacity: .85; font-size: .92rem; max-width: 260px; }
.lp-sv-sensitive button {
  margin-top: 8px; padding: 9px 20px; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.8);
  background: rgba(255,255,255,.12); color: #fff; font-weight: 800; cursor: pointer;
}
.lp-sv-blurred .lp-sv-link { display: none; }
.lp-sv-blurred .lp-sv-caption { visibility: hidden; }

/* ===== Network: dashboard strip + share-kit invite (Batch 16) ===== */
.lp-net {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  background: #fff; border: 1px solid rgba(42,33,64,.08); border-radius: 18px;
  padding: 14px 18px; margin: 0 0 18px; box-shadow: 0 10px 30px rgba(42,33,64,.06);
}
.lp-net-icon {
  flex: 0 0 42px; width: 42px; height: 42px; border-radius: 13px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(123,63,228,.1); color: #7B3FE4; font-size: 1.05rem;
}
.lp-net-copy { flex: 1 1 260px; min-width: 0; }
.lp-net-line { color: var(--bp-ink, #2A2140); font-size: 1rem; line-height: 1.4; }
.lp-net-dot { color: #b3acc4; margin: 0 4px; }
.lp-net-sub { color: #6b6580; font-size: .86rem; margin-top: 2px; }
.lp-net-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lp-net-more { font-size: .86rem; font-weight: 700; }
@media (max-width: 575px) {
  .lp-net { padding: 14px; }
  .lp-net-icon { display: none; }
  .lp-net-actions { width: 100%; }
  .lp-net-actions .btn { flex: 1 1 auto; }
}

.lp-sk-invite { margin-top: 20px; border: 1px solid rgba(123,63,228,.18); background: linear-gradient(180deg, #faf7ff 0%, #fff 60%); scroll-margin-top: 90px; }
.lp-sk-invite-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.lp-sk-invite-head .lp-sk-ficon { background: rgba(123,63,228,.12); color: #7B3FE4; }
.lp-sk-invite-list { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.lp-sk-invite-list li { display: flex; gap: 10px; align-items: flex-start; color: #5b5470; font-size: .95rem; }
.lp-sk-invite-list li > i { color: #0F8F70; margin-top: 4px; flex: 0 0 auto; }
.lp-sk-invite-list strong { color: var(--bp-ink, #2A2140); }
.lp-sk-invite-list em { font-style: normal; font-weight: 700; color: #7B3FE4; }

/* ===== Currency picker (Batch 17) ===== */
.lp-cur { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; font-size: .88rem; color: #6b6580; }
.lp-cur-label { margin: 0; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.lp-cur-select {
  appearance: auto; border: 1px solid rgba(42,33,64,.18); border-radius: 999px; padding: 4px 12px;
  background: #fff; color: var(--bp-ink, #2A2140); font-weight: 700; font-size: .88rem; cursor: pointer; max-width: 100%;
}
.lp-cur-select:focus-visible { outline: 3px solid rgba(217,27,140,.45); outline-offset: 2px; }
.lp-cur-msg { flex-basis: 100%; text-align: center; color: #b4235a; font-size: .84rem; }
.lp-cur-msg:empty { display: none; }

/* ===== Story reshares (Batch 22) ===== */
.lp-sv-from {
  position: absolute; top: 64px; left: 12px; z-index: 6; max-width: calc(100% - 24px);
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px;
  background: rgba(0,0,0,.45); color: #fff !important; font-size: .82rem; font-weight: 700; text-decoration: none !important;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lp-sv-from[hidden] { display: none; }
.lp-sv-from:hover { background: rgba(0,0,0,.6); }
.lp-sv-reshare {
  height: 46px; border-radius: 999px; border: 0; padding: 0 16px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: .9rem;
  background: rgba(255,255,255,.16); color: #fff; transition: background .12s ease;
}
.lp-sv-reshare:hover:not(:disabled) { background: rgba(255,255,255,.28); }
.lp-sv-reshare.is-on, .lp-sv-reshare:disabled { background: rgba(15,143,112,.85); cursor: default; }
.lp-sv-toast { border-radius: 16px; line-height: 1.35; }
.lp-sv-stats-static { cursor: default; }
.lp-sv-viewer-reach { margin-left: auto; font-size: .8rem; font-weight: 700; color: #6b6580; white-space: nowrap; }
@media (max-width: 420px) {
  .lp-sv-reacts { gap: 6px; flex-wrap: wrap; }
  .lp-sv-react { width: 42px; height: 42px; font-size: 1.3rem; }
  .lp-sv-reshare { height: 42px; padding: 0 12px; }
}
/* Story viewer on small phones */
.lp-sv-ago { white-space: nowrap; }
.lp-sv-stats > span { white-space: nowrap; }
@media (max-width: 400px) {
  .lp-sv-stats { gap: 10px; padding: 10px 12px; font-size: .86rem; flex-wrap: wrap; row-gap: 2px; }
  .lp-sv-del span { display: none; }
  .lp-sv-del { padding: 0 14px; }
}
@media (max-width: 360px) {
  .lp-sv-reacts { gap: 4px; flex-wrap: nowrap; }
  .lp-sv-react { width: 36px; height: 36px; font-size: 1.1rem; }
  .lp-sv-reshare { height: 36px; padding: 0 10px; }
  .lp-sv-reshare span { display: none; }
}
.lp-cur-top { display: flex; justify-content: flex-end; margin: -6px 0 10px; }
.lp-cur-top .lp-cur { margin: 0; justify-content: flex-end; }
@media (max-width: 575px) { .lp-cur-top, .lp-cur-top .lp-cur { justify-content: center; } }
