/* ============================================================
   Bliss Portal — Frontend Styles v1.7.5
   All portal rules scoped under .bliss-portal with !important
   to beat theme CSS. Auth rules scoped under .bliss-auth-wrap.
   ============================================================ */

:root {
  --bliss-primary:    #1a1a2e;
  --bliss-accent:     #c9a96e;
  --bliss-accent-lt:  #f5ede0;
  --bliss-success:    #2d6a4f;
  --bliss-success-bg: #d8f3dc;
  --bliss-warning:    #7d5a00;
  --bliss-warning-bg: #fff3cd;
  --bliss-error:      #9b1d1d;
  --bliss-error-bg:   #fde8e8;
  --bliss-info:       #1e3a5f;
  --bliss-info-bg:    #dbeafe;
  --bliss-text:       #1f2937;
  --bliss-muted:      #6b7280;
  --bliss-border:     #e5e7eb;
  --bliss-bg:         #f9fafb;
  --bliss-white:      #ffffff;
  --bliss-radius:     10px;
}

/* ============================================================
   PORTAL CONTAINER
   ============================================================ */
.bliss-portal {
  max-width: 760px !important;
  margin: 40px auto !important;
  font-family: var(--bliss-cs-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
  color: var(--bliss-text) !important;
  box-sizing: border-box !important;
}

/* ---- Header ---- */
.bliss-portal .bliss-portal__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: var(--bliss-primary) !important;
  color: #fff !important;
  padding: 18px 24px !important;
  border-radius: var(--bliss-radius) var(--bliss-radius) 0 0 !important;
  margin: 0 !important;
}
.bliss-portal .bliss-portal__header-info {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.bliss-portal .bliss-portal__avatar {
  width: 44px !important; height: 44px !important;
  border-radius: 50% !important;
  background: var(--bliss-accent) !important;
  color: var(--bliss-primary) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-weight: 700 !important; font-size: 18px !important;
  flex-shrink: 0 !important;
}
.bliss-portal .bliss-portal__name {
  font-size: 16px !important; font-weight: 600 !important;
  color: #fff !important; margin: 0 !important;
}
.bliss-portal .bliss-portal__content {
  background: var(--bliss-white) !important;
  border: 1px solid var(--bliss-border) !important;
  border-top: none !important;
  border-radius: 0 0 var(--bliss-radius) var(--bliss-radius) !important;
  padding: 32px !important;
  box-sizing: border-box !important;
}

/* ---- Steps ---- */
.bliss-portal .bliss-steps {
  display: flex !important; gap: 0 !important;
  margin-bottom: 32px !important;
  border: 1px solid var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important;
  overflow: hidden !important;
  list-style: none !important; padding: 0 !important;
}
.bliss-portal .bliss-step {
  flex: 1 !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 14px 18px !important;
  font-size: 14px !important; font-weight: 500 !important;
  background: var(--bliss-bg) !important; color: var(--bliss-muted) !important;
  border-right: 1px solid var(--bliss-border) !important;
  margin: 0 !important;
}
.bliss-portal .bliss-step:last-child { border-right: none !important; }
.bliss-portal .bliss-step__num {
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 12px !important; font-weight: 700 !important;
  background: var(--bliss-border) !important; color: var(--bliss-muted) !important;
  flex-shrink: 0 !important;
}
.bliss-portal .bliss-step--active { background: var(--bliss-accent-lt) !important; color: var(--bliss-primary) !important; }
.bliss-portal .bliss-step--active .bliss-step__num { background: var(--bliss-accent) !important; color: var(--bliss-primary) !important; }
.bliss-portal .bliss-step--done { color: var(--bliss-success) !important; }
.bliss-portal .bliss-step--done .bliss-step__num { background: var(--bliss-success-bg) !important; color: var(--bliss-success) !important; }
.bliss-portal .bliss-step__label { font-size: 13px !important; }

/* ---- Forms ---- */
.bliss-portal .bliss-form__group { margin-bottom: 18px !important; }
.bliss-portal .bliss-form__row {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important;
}
.bliss-portal .bliss-form__group label {
  display: block !important; font-size: 13px !important; font-weight: 600 !important;
  color: var(--bliss-text) !important; margin-bottom: 6px !important;
}
.bliss-portal .bliss-form__hint {
  font-size: 13px !important; color: var(--bliss-muted) !important; margin: -10px 0 18px !important;
}
.bliss-portal .required { color: #c00 !important; }

.bliss-portal .bliss-input {
  width: 100% !important; box-sizing: border-box !important;
  padding: 10px 14px !important;
  border: 1px solid var(--bliss-border) !important;
  border-radius: 7px !important;
  font-size: 15px !important; font-family: inherit !important;
  color: var(--bliss-text) !important;
  background: var(--bliss-white) !important;
  outline: none !important; display: block !important;
}
.bliss-portal .bliss-input:focus {
  border-color: var(--bliss-accent) !important;
  box-shadow: 0 0 0 3px rgba(201,169,110,.2) !important;
}
.bliss-portal .bliss-textarea { resize: vertical !important; min-height: 80px !important; }

/* ---- Buttons ---- */
.bliss-portal .bliss-btn {
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  padding: 11px 22px !important; border-radius: 7px !important;
  border: none !important; font-size: 15px !important; font-weight: 600 !important;
  cursor: pointer !important; text-decoration: none !important;
  font-family: inherit !important; box-sizing: border-box !important;
  pointer-events: auto !important;
}
.bliss-portal .bliss-btn--primary { background: var(--bliss-primary) !important; color: #fff !important; }
.bliss-portal .bliss-btn--primary:hover { opacity: .88 !important; color: #fff !important; }
.bliss-portal .bliss-btn--ghost {
  background: transparent !important; color: #fff !important;
  border: 1px solid rgba(255,255,255,.3) !important; padding: 7px 14px !important;
}
.bliss-portal .bliss-btn--ghost:hover { background: rgba(255,255,255,.1) !important; color: #fff !important; }
.bliss-portal .bliss-btn--outline {
  background: transparent !important;
  border: 2px solid var(--bliss-primary) !important;
  color: var(--bliss-primary) !important;
}
.bliss-portal .bliss-btn--full { width: 100% !important; }
.bliss-portal .bliss-btn--sm { font-size: 13px !important; padding: 7px 14px !important; }

/* ---- Notices ---- */
.bliss-portal .bliss-notice {
  padding: 13px 16px !important; border-radius: 7px !important;
  margin-bottom: 16px !important; font-size: 14px !important;
  line-height: 1.5 !important;
  /* No display:block here — JS controls show/hide via inline style */
}
.bliss-portal .bliss-notice--error   { background: var(--bliss-error-bg) !important;   color: var(--bliss-error) !important; }
.bliss-portal .bliss-notice--success { background: var(--bliss-success-bg) !important; color: var(--bliss-success) !important; }
.bliss-portal .bliss-notice--warning { background: var(--bliss-warning-bg) !important; color: var(--bliss-warning) !important; }
.bliss-portal .bliss-notice--info    { background: var(--bliss-info-bg) !important;    color: var(--bliss-info) !important; }

/* ---- Status badges ---- */
.bliss-status {
  display: inline-block !important;
  padding: 3px 10px !important; border-radius: 20px !important;
  font-size: 12px !important; font-weight: 600 !important;
}
.bliss-status--incomplete_registration { background: #e5e7eb !important; color: #374151 !important; }
.bliss-status--pending_payment         { background: #fef3c7 !important; color: #92400e !important; }
.bliss-status--under_review            { background: #dbeafe !important; color: #1e40af !important; }
.bliss-status--approved                { background: var(--bliss-success-bg) !important; color: var(--bliss-success) !important; }
.bliss-status--rejected                { background: var(--bliss-error-bg) !important; color: var(--bliss-error) !important; }

/* ---- Sections ---- */
.bliss-portal .bliss-section { margin-bottom: 8px !important; }
.bliss-portal .bliss-section h2 { margin: 0 0 8px !important; font-size: 22px !important; color: var(--bliss-text) !important; }
.bliss-portal .bliss-section p  { color: var(--bliss-muted) !important; margin: 0 0 16px !important; }
.bliss-portal .bliss-section--centered { text-align: center !important; padding: 40px 0 !important; }
.bliss-portal .bliss-icon-lg { font-size: 56px !important; margin-bottom: 16px !important; }

/* ---- Info card ---- */
.bliss-portal .bliss-info-card {
  background: var(--bliss-bg) !important;
  border: 1px solid var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important;
  padding: 18px 22px !important; margin-bottom: 20px !important;
}
.bliss-portal .bliss-info-card__label {
  font-size: 12px !important; font-weight: 600 !important;
  color: var(--bliss-muted) !important;
  text-transform: uppercase !important; letter-spacing: .05em !important;
}
.bliss-portal .bliss-info-card__value {
  font-size: 24px !important; font-weight: 700 !important;
  color: var(--bliss-primary) !important; margin: 4px 0 !important;
}
.bliss-portal .bliss-info-card__meta { font-size: 13px !important; color: var(--bliss-muted) !important; }

/* ---- Upload area ---- */
.bliss-portal .bliss-upload-area {
  border: 2px dashed var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important;
  padding: 40px 24px !important; text-align: center !important;
  margin-bottom: 20px !important; cursor: pointer !important;
}
.bliss-portal .bliss-upload-area:hover {
  border-color: var(--bliss-accent) !important;
  background: var(--bliss-accent-lt) !important;
}
.bliss-portal .bliss-upload-area__icon { font-size: 40px !important; margin-bottom: 8px !important; }

/* ---- Pricing ---- */
.bliss-portal .bliss-pricing-summary {
  border: 1px solid var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important;
  overflow: hidden !important; margin-bottom: 24px !important;
}
.bliss-portal .bliss-pricing-row {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important;
  padding: 13px 18px !important; font-size: 15px !important;
  border-bottom: 1px solid var(--bliss-border) !important;
}
.bliss-portal .bliss-pricing-row:last-child { border-bottom: none !important; }
.bliss-portal .bliss-pricing-row--total {
  font-weight: 700 !important; font-size: 17px !important;
  background: var(--bliss-bg) !important;
}

/* ---- Products ---- */
.bliss-portal .bliss-products-list {
  border: 1px solid var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important;
  overflow: hidden !important; margin-bottom: 16px !important;
}
.bliss-portal .bliss-product-item { border-bottom: 1px solid var(--bliss-border) !important; }
.bliss-portal .bliss-product-item:last-child { border-bottom: none !important; }
.bliss-portal .bliss-product-item__checkbox-wrap {
  display: flex !important; align-items: flex-start !important; gap: 14px !important;
  padding: 16px 18px !important; cursor: pointer !important;
  width: 100% !important; box-sizing: border-box !important;
}
.bliss-portal .bliss-product-item__checkbox-wrap input[type=checkbox] {
  margin-top: 3px !important; flex-shrink: 0 !important;
  width: 17px !important; height: 17px !important;
}
.bliss-portal .bliss-product-item:hover { background: var(--bliss-accent-lt) !important; }
.bliss-portal .bliss-product-item__body { flex: 1 !important; }
.bliss-portal .bliss-product-item__top {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
}
.bliss-portal .bliss-product-item__name  { font-weight: 600 !important; font-size: 15px !important; }
.bliss-portal .bliss-product-item__price { font-weight: 700 !important; color: var(--bliss-primary) !important; }
.bliss-portal .bliss-product-item__desc  { font-size: 13px !important; color: var(--bliss-muted) !important; display: block !important; }
.bliss-portal .bliss-product-item__sizes {
  margin-top: 12px !important; padding-top: 12px !important;
  border-top: 1px dashed var(--bliss-border) !important;
}
.bliss-portal .bliss-product-item__size-label {
  font-size: 12px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .05em !important;
  color: var(--bliss-muted) !important; display: block !important; margin-bottom: 8px !important;
}
.bliss-portal .bliss-size-buttons { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.bliss-portal .bliss-size-btn {
  padding: 6px 14px !important;
  border: 1.5px solid var(--bliss-border) !important;
  border-radius: 6px !important;
  background: var(--bliss-white) !important;
  font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; pointer-events: auto !important;
}
.bliss-portal .bliss-size-btn:hover,
.bliss-portal .bliss-size-btn--active {
  border-color: var(--bliss-primary) !important;
  background: var(--bliss-primary) !important; color: #fff !important;
}
.bliss-portal .bliss-order-total-bar {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 18px !important; background: var(--bliss-bg) !important;
  border: 1px solid var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important;
  font-weight: 700 !important; font-size: 17px !important; margin-bottom: 4px !important;
}

/* ---- Order card ---- */
.bliss-portal .bliss-order-card {
  border: 1px solid var(--bliss-border) !important;
  border-radius: var(--bliss-radius) !important; overflow: hidden !important;
}
.bliss-portal .bliss-order-card__header {
  background: var(--bliss-primary) !important; color: #fff !important;
  padding: 16px 20px !important;
  display: flex !important; justify-content: space-between !important; align-items: center !important;
}
.bliss-portal .bliss-order-card__id   { font-size: 16px !important; font-weight: 600 !important; margin-right: 12px !important; color: #fff !important; }
.bliss-portal .bliss-order-card__date { font-size: 13px !important; opacity: .8 !important; color: #fff !important; }
.bliss-portal .bliss-order-card__notes {
  padding: 14px 18px !important; background: var(--bliss-bg) !important;
  font-size: 14px !important; border-top: 1px solid var(--bliss-border) !important;
  color: var(--bliss-muted) !important;
}

/* ---- Onboarding ---- */
.bliss-portal .bliss-onboarding__header { margin-bottom: 24px !important; }
.bliss-portal .bliss-onboarding__header h2 { margin: 0 0 4px !important; font-size: 22px !important; color: var(--bliss-text) !important; }
.bliss-portal .bliss-onboarding__header p  { margin: 0 !important; color: var(--bliss-muted) !important; }
.bliss-portal .bliss-onboarding__form h3   { margin: 0 0 20px !important; font-size: 18px !important; color: var(--bliss-text) !important; }

/* ---- Tier badge ---- */
.bliss-portal .bliss-product-item__tier-display { margin-top: 10px !important; }
.bliss-portal .bliss-product-item__tier-badge {
  display: inline-block !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .05em !important; text-transform: uppercase !important;
  padding: 3px 10px !important; border-radius: 10px !important;
}
.bliss-portal .bliss-product-item__tier-badge--1 { background: #f3f4f6 !important; color: #374151 !important; border: 1px solid #d1d5db !important; }
.bliss-portal .bliss-product-item__tier-badge--2 { background: #fdf3e3 !important; color: #92400e !important; border: 1px solid #c9a96e !important; }
.bliss-portal .bliss-product-item__tier-badge--3 { background: var(--bliss-primary) !important; color: #fff !important; }
.bliss-portal .bliss-order-meta {
  display: inline-block !important; font-size: 11px !important; font-weight: 600 !important;
  color: #fff !important; background: var(--bliss-primary) !important;
  border-radius: 10px !important; padding: 2px 8px !important;
  margin-left: 6px !important; vertical-align: middle !important;
}

/* ---- Under review, rejected ---- */
.bliss-portal .bliss-section--centered { text-align: center !important; padding: 40px 0 !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 600px) {
  .bliss-portal { margin: 16px !important; }
  .bliss-portal .bliss-portal__content { padding: 20px 16px !important; }
  .bliss-portal .bliss-form__row { grid-template-columns: 1fr !important; }
  .bliss-portal .bliss-steps { flex-direction: column !important; }
  .bliss-portal .bliss-step { border-right: none !important; border-bottom: 1px solid var(--bliss-border) !important; }
  .bliss-portal .bliss-step:last-child { border-bottom: none !important; }
}

/* ============================================================
   AUTH WRAP — dark theme for [bliss_auth] and portal login gate
   ============================================================ */
.bliss-auth-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  padding: 48px 20px !important;
  box-sizing: border-box !important;
  background: #1c1c1c !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  color: #f0f0f0 !important;
  z-index: 9000 !important;
}

/* Tab row */
.bliss-auth-wrap .bliss-auth-tabs {
  display: flex !important;
  gap: 0 !important;
  margin-bottom: 40px !important;
  border-bottom: 1px solid #333 !important;
  width: 100% !important;
  max-width: 520px !important;
  padding: 0 !important;
  list-style: none !important;
}

.bliss-auth-wrap .bliss-auth-tab {
  display: inline-block !important;
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 12px 24px !important;
  margin: 0 0 -1px 0 !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
}
.bliss-auth-wrap .bliss-auth-tab--active {
  color: #c8f135 !important;
  border-bottom-color: #c8f135 !important;
}
.bliss-auth-wrap .bliss-auth-tab:hover:not(.bliss-auth-tab--active) { color: #aaa !important; }

/* Panels */
.bliss-auth-wrap .bliss-auth-panel {
  display: none !important;
  width: 100% !important;
  max-width: 520px !important;
  box-sizing: border-box !important;
  background: #1c1c1c !important;
}
.bliss-auth-wrap .bliss-auth-panel.bliss-auth-panel--active {
  display: block !important;
  background: #1c1c1c !important;
}

.bliss-auth-wrap .bliss-auth-sub {
  display: block !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 13px !important; color: #777 !important;
  margin: 0 0 32px !important; padding: 0 !important;
  letter-spacing: .03em !important;
}

/* Field layout */
.bliss-auth-wrap .bliss-auth-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important; gap: 0 28px !important;
}
/* Labels */
.bliss-auth-wrap .bliss-auth-label {
  display: block !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  color: #ccc !important; margin: 0 0 10px !important; padding: 0 !important;
  background: none !important; border: none !important;
  float: none !important; width: auto !important;
}
.bliss-auth-wrap .bliss-auth-req { color: #e05050 !important; }

/* Inputs */
.bliss-auth-wrap .bliss-auth-input,
.bliss-auth-wrap input.bliss-auth-input[type="text"],
.bliss-auth-wrap input.bliss-auth-input[type="email"],
.bliss-auth-wrap input.bliss-auth-input[type="password"] {
  display: block !important;
  width: 100% !important; box-sizing: border-box !important;
  background: transparent !important; background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid #444 !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 15px !important; color: #f0f0f0 !important;
  outline: none !important; box-shadow: none !important;
  -webkit-appearance: none !important; appearance: none !important;
  /* Transition trick — delays autofill background from appearing */
  transition: background-color 99999s ease-in-out 0s, color 99999s ease-in-out 0s !important;
}
.bliss-auth-wrap .bliss-auth-input:focus,
.bliss-auth-wrap input.bliss-auth-input:focus {
  background: transparent !important; background-color: transparent !important;
  border-bottom-color: #c8f135 !important;
  box-shadow: none !important; outline: none !important; color: #f0f0f0 !important;
}
/* Autofill — belt and braces: inset shadow + transition trick */
.bliss-auth-wrap .bliss-auth-input:-webkit-autofill,
.bliss-auth-wrap .bliss-auth-input:-webkit-autofill:hover,
.bliss-auth-wrap .bliss-auth-input:-webkit-autofill:focus,
.bliss-auth-wrap input:-webkit-autofill,
.bliss-auth-wrap input:-webkit-autofill:hover,
.bliss-auth-wrap input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #1c1c1c inset !important;
  -webkit-text-fill-color: #f0f0f0 !important;
  caret-color: #f0f0f0 !important;
  transition: background-color 99999s ease-in-out 0s !important;
}
/* Also target the auth-field wrapper so nothing bleeds white */
.bliss-auth-wrap .bliss-auth-field {
  display: block !important; margin-bottom: 32px !important;
  position: relative !important; padding: 0 !important;
  background: #1c1c1c !important;
}

.bliss-auth-wrap .bliss-auth-hint {
  display: block !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 11px !important; color: #555 !important;
  margin: 6px 0 0 !important; padding: 0 !important;
}

/* Notices */
.bliss-auth-wrap .bliss-auth-notice {
  padding: 11px 14px !important; border-radius: 4px !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 13px !important; margin-bottom: 20px !important;
  box-sizing: border-box !important;
  /* No display:block — JS controls show/hide */
}
.bliss-auth-wrap .bliss-auth-notice--error   { background: #2a1010 !important; color: #f08080 !important; border-left: 3px solid #e05050 !important; }
.bliss-auth-wrap .bliss-auth-notice--success { background: #0e2010 !important; color: #7ecb7e !important; border-left: 3px solid #5cb85c !important; }
.bliss-auth-wrap .bliss-auth-notice--warning { background: #2a2010 !important; color: #d4a84b !important; border-left: 3px solid #d4a84b !important; }

/* Submit button */
.bliss-auth-wrap .bliss-auth-btn,
.bliss-auth-wrap button.bliss-auth-btn {
  display: block !important; width: 100% !important;
  box-sizing: border-box !important;
  padding: 15px 24px !important;
  background: #c8f135 !important; background-color: #c8f135 !important;
  color: #111 !important;
  border: none !important; border-radius: 4px !important;
  outline: none !important; box-shadow: none !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  cursor: pointer !important; pointer-events: auto !important;
  text-align: center !important; text-decoration: none !important;
  margin-top: 16px !important; -webkit-appearance: none !important;
}
.bliss-auth-wrap .bliss-auth-btn:hover,
.bliss-auth-wrap button.bliss-auth-btn:hover {
  background: #d4f850 !important; background-color: #d4f850 !important; color: #111 !important;
}
.bliss-auth-wrap .bliss-auth-btn:disabled {
  background: #333 !important; color: #666 !important; cursor: not-allowed !important;
}

@media (max-width: 540px) {
  .bliss-auth-wrap .bliss-auth-row { grid-template-columns: 1fr !important; gap: 0 !important; }
  .bliss-auth-wrap {
    padding: 64px 20px 40px !important;
    justify-content: center !important;
    align-items: stretch !important;
  }
  .bliss-auth-wrap .bliss-auth-tabs,
  .bliss-auth-wrap .bliss-auth-panel { max-width: 100% !important; }
}

/* ============================================================
   ADMIN CSS (loaded separately via bliss-admin.css)
   ============================================================ */

/* ============================================================
   COLOR SCHEME — driven by --bliss-cs-* custom properties
   set inline by the shortcode from admin settings.
   These override the hardcoded values in the auth + portal
   sections above when the shortcode renders.
   ============================================================ */

/* Auth wrap uses scheme colors */
.bliss-auth-wrap {
  background: var(--bliss-cs-bg, #1c1c1c) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-auth-wrap .bliss-auth-panel {
  background: var(--bliss-cs-bg, #1c1c1c) !important;
}
.bliss-auth-wrap .bliss-auth-panel.bliss-auth-panel--active {
  background: var(--bliss-cs-bg, #1c1c1c) !important;
}
.bliss-auth-wrap .bliss-auth-field {
  background: var(--bliss-cs-bg, #1c1c1c) !important;
}
.bliss-auth-wrap .bliss-auth-tabs {
  border-bottom-color: var(--bliss-cs-border, #333) !important;
}
.bliss-auth-wrap .bliss-auth-tab {
  color: var(--bliss-cs-muted, #555) !important;
}
.bliss-auth-wrap .bliss-auth-tab--active {
  color: var(--bliss-cs-accent, #c8f135) !important;
  border-bottom-color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-auth-wrap .bliss-auth-sub {
  color: var(--bliss-cs-muted, #777) !important;
}
.bliss-auth-wrap .bliss-auth-label {
  color: var(--bliss-cs-text, #ccc) !important;
}
.bliss-auth-wrap .bliss-auth-input,
.bliss-auth-wrap input.bliss-auth-input[type="text"],
.bliss-auth-wrap input.bliss-auth-input[type="email"],
.bliss-auth-wrap input.bliss-auth-input[type="password"] {
  color: var(--bliss-cs-text, #f0f0f0) !important;
  border-bottom-color: var(--bliss-cs-border, #444) !important;
}
.bliss-auth-wrap .bliss-auth-input:focus,
.bliss-auth-wrap input.bliss-auth-input:focus {
  border-bottom-color: var(--bliss-cs-accent, #c8f135) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-auth-wrap .bliss-auth-input:-webkit-autofill,
.bliss-auth-wrap .bliss-auth-input:-webkit-autofill:hover,
.bliss-auth-wrap .bliss-auth-input:-webkit-autofill:focus,
.bliss-auth-wrap input:-webkit-autofill,
.bliss-auth-wrap input:-webkit-autofill:hover,
.bliss-auth-wrap input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--bliss-cs-bg, #1c1c1c) inset !important;
  -webkit-text-fill-color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-auth-wrap .bliss-auth-btn,
.bliss-auth-wrap button.bliss-auth-btn {
  background: var(--bliss-cs-accent, #c8f135) !important;
  background-color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-auth-wrap .bliss-auth-btn:hover,
.bliss-auth-wrap button.bliss-auth-btn:hover {
  background: var(--bliss-cs-accent, #c8f135) !important;
  background-color: var(--bliss-cs-accent, #c8f135) !important;
  opacity: .88 !important;
}

/* ---- Portal (dashboard/onboarding) uses scheme colors ---- */
.bliss-portal .bliss-portal__content {
  background: var(--bliss-cs-bg, #ffffff) !important;
  border-color: var(--bliss-cs-border, #e5e7eb) !important;
}
.bliss-portal .bliss-input {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--bliss-cs-border, #444) !important;
  border-radius: 0 !important;
  color: var(--bliss-cs-text, #1f2937) !important;
  padding: 10px 0 !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  transition: background-color 99999s ease-in-out 0s !important;
}
.bliss-portal .bliss-input:focus {
  border-bottom-color: var(--bliss-cs-accent, #c8f135) !important;
  box-shadow: none !important;
  outline: none !important;
}
.bliss-portal .bliss-input:-webkit-autofill,
.bliss-portal .bliss-input:-webkit-autofill:hover,
.bliss-portal .bliss-input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--bliss-cs-bg, #1c1c1c) inset !important;
  -webkit-text-fill-color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-portal .bliss-portal__content,
.bliss-portal .bliss-onboarding__header h2,
.bliss-portal .bliss-onboarding__form h3,
.bliss-portal .bliss-section h2,
.bliss-portal .bliss-form__group label {
  color: var(--bliss-cs-text, #1f2937) !important;
}
.bliss-portal .bliss-portal__content {
  background: var(--bliss-cs-bg, #ffffff) !important;
}
.bliss-portal .bliss-btn--primary,
.bliss-portal button.bliss-btn--primary {
  background: var(--bliss-cs-accent, #1a1a2e) !important;
  color: #111 !important;
}
.bliss-portal .bliss-btn--primary:hover {
  opacity: .88 !important;
}
.bliss-portal .bliss-step--active { background: var(--bliss-cs-surface, #f5ede0) !important; }
.bliss-portal .bliss-step--active .bliss-step__num {
  background: var(--bliss-cs-accent, #c9a96e) !important;
  color: #111 !important;
}

/* ============================================================
   DASHBOARD UI — .bliss-db
   ============================================================ */

/* Reset the Oxygen page wrapper for full-height layout */
body.page .bliss-db,
.bliss-db {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  grid-template-rows: 1fr !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  z-index: 9000 !important;
  background: var(--bliss-cs-bg, #1c1c1c) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}

/* ---- Sidebar ---- */
.bliss-db__sidebar {
  grid-column: 1 !important;
  grid-row: 1 !important;
  background: var(--bliss-cs-bg, #1c1c1c) !important;
  border-right: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 10 !important;
}

/* Brand */
.bliss-db__brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 28px 24px 20px !important;
  border-bottom: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
}
.bliss-db__brand-logo {
  width: 36px !important; height: 36px !important;
  background: var(--bliss-cs-accent, #c8f135) !important;
  border-radius: 8px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-weight: 900 !important; font-size: 16px !important;
  color: #111 !important; flex-shrink: 0 !important;
  overflow: hidden !important;
}
/* When logo image is present, remove the accent background */
.bliss-db__brand-logo:has(img),
.bliss-db__brand-logo--img {
  background: transparent !important;
  border-radius: 0 !important;
}
.bliss-db__brand-logo img {
  width: 36px !important; height: 36px !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
}
.bliss-db__brand-name {
  font-weight: 700 !important; font-size: 15px !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  letter-spacing: .02em !important;
}

/* Profile card in sidebar */
.bliss-db__profile {
  padding: 16px 24px 12px !important;
  border-bottom: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
}
.bliss-db__profile-info { overflow: hidden !important; }
.bliss-db__profile-name {
  font-weight: 700 !important; font-size: 15px !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
.bliss-db__profile-email {
  font-size: 12px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
  margin-top: 2px !important;
}
.bliss-db__topbar-name {
  font-size: 13px !important; font-weight: 600 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}

/* Status dot */
.bliss-db__sidebar-status {
  display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 8px 24px 20px !important;
  font-size: 12px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
}
.bliss-db__status-dot {
  width: 8px !important; height: 8px !important; border-radius: 50% !important; flex-shrink: 0 !important;
}
.bliss-db__status-dot--incomplete_registration { background: #6b7280 !important; }
.bliss-db__status-dot--pending_payment         { background: #f59e0b !important; }
.bliss-db__status-dot--under_review            { background: #3b82f6 !important; }
.bliss-db__status-dot--approved                { background: #10b981 !important; }
.bliss-db__status-dot--rejected                { background: #ef4444 !important; }

/* Nav */
.bliss-db__nav {
  display: flex !important; flex-direction: column !important;
  gap: 2px !important; padding: 4px 12px !important; flex: 1 !important;
}
.bliss-db__nav-item {
  display: flex !important; align-items: center !important; gap: 12px !important;
  padding: 11px 14px !important; border-radius: 8px !important;
  background: none !important; border: none !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.55)) !important;
  cursor: pointer !important; pointer-events: auto !important;
  font-size: 14px !important; font-weight: 500 !important;
  text-align: left !important; width: 100% !important;
  transition: background .15s, color .15s !important;
}
.bliss-db__nav-item:hover:not(:disabled) {
  background: var(--bliss-cs-card, rgba(255,255,255,.07)) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__nav-item--active {
  background: var(--bliss-cs-card, rgba(255,255,255,.10)) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__nav-item--active .bliss-db__nav-icon svg { stroke: var(--bliss-cs-accent, #c8f135) !important; }
.bliss-db__nav-item:disabled { opacity: .35 !important; cursor: not-allowed !important; }
.bliss-db__nav-icon { display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.bliss-db__nav-icon svg { stroke: currentColor !important; }

/* Sidebar footer / logout */
.bliss-db__sidebar-footer {
  padding: 12px 12px 24px !important;
  border-top: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
}
.bliss-db__nav-item--logout { color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important; }
.bliss-db__nav-item--logout:hover {
  background: rgba(239,68,68,.1) !important;
  color: #ef4444 !important;
}
.bliss-db__nav-item--logout:hover svg { stroke: #ef4444 !important; }

/* Mobile topbar — hidden on desktop */
.bliss-db__topbar {
  display: none !important;
}

/* ---- Main content ---- */
.bliss-db__main {
  grid-column: 2 !important;
  grid-row: 1 !important;
  background: rgba(255,255,255,.03) !important;
  overflow-y: auto !important;
  padding: 40px 40px 100px !important;
}

/* Sections — only active one shows */
.bliss-db__section { display: none !important; }
.bliss-db__section--active { display: block !important; }

.bliss-db__section-header { margin-bottom: 28px !important; }
.bliss-db__section-title {
  font-size: 24px !important; font-weight: 700 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  margin: 0 0 4px !important;
}
.bliss-db__section-sub {
  font-size: 14px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  margin: 0 !important;
}

/* ---- Cards ---- */
.bliss-db__card {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  border-radius: 14px !important;
  padding: 28px !important;
  margin-bottom: 20px !important;
}
.bliss-db__card--success { border-color: rgba(16,185,129,.3) !important; background: rgba(16,185,129,.07) !important; }
.bliss-db__card--info    { border-color: rgba(59,130,246,.3) !important; background: rgba(59,130,246,.07) !important; }
.bliss-db__card--error   { border-color: rgba(239,68,68,.3)  !important; background: rgba(239,68,68,.07)  !important; }

.bliss-db__card-icon {
  margin-bottom: 16px !important;
  color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-db__card--error .bliss-db__card-icon   { color: #ef4444 !important; }
.bliss-db__card--success .bliss-db__card-icon { color: #10b981 !important; }
.bliss-db__card--info .bliss-db__card-icon    { color: #3b82f6 !important; }

.bliss-db__card h3 {
  font-size: 17px !important; font-weight: 700 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important; margin: 0 0 8px !important;
}
.bliss-db__card p {
  font-size: 14px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
  margin: 0 0 4px !important; line-height: 1.6 !important;
}
.bliss-db__card-heading {
  font-size: 13px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .08em !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  margin: 0 0 20px !important;
}
.bliss-db__card-hint {
  font-size: 13px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  margin: -8px 0 20px !important;
}

/* ---- Progress steps ---- */
.bliss-db__progress {
  display: flex !important; align-items: center !important;
  gap: 0 !important; margin-bottom: 28px !important;
  flex-wrap: nowrap !important;
}
.bliss-db__progress-step {
  display: flex !important; align-items: center !important; gap: 10px !important;
  flex-shrink: 0 !important;
}
.bliss-db__progress-num {
  width: 32px !important; height: 32px !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 13px !important; font-weight: 700 !important; flex-shrink: 0 !important;
  border: 2px solid var(--bliss-cs-border, rgba(255,255,255,.15)) !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important;
  background: none !important;
}
.bliss-db__progress-label {
  font-size: 13px !important; font-weight: 500 !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important;
  white-space: nowrap !important;
}
.bliss-db__progress-line {
  flex: 1 !important; height: 1px !important; background: var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  margin: 0 12px !important;
}
.bliss-db__progress-line--done { background: var(--bliss-cs-accent, #c8f135) !important; opacity: .5 !important; }
/* Active step */
.bliss-db__progress-step--active .bliss-db__progress-num {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-db__progress-step--active .bliss-db__progress-label {
  color: var(--bliss-cs-text, #f0f0f0) !important; font-weight: 600 !important;
}
/* Done step */
.bliss-db__progress-step--done .bliss-db__progress-num {
  background: var(--bliss-cs-accent, #c8f135) !important;
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  color: #111 !important;
}
.bliss-db__progress-step--done .bliss-db__progress-label {
  color: var(--bliss-cs-text, #f0f0f0) !important;
}

/* ---- Form fields inside cards ---- */
.bliss-db__form-row {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important;
}
.bliss-db__field {
  margin-bottom: 20px !important;
}
.bliss-db__field label {
  display: block !important; font-size: 12px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .07em !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.55)) !important;
  margin-bottom: 8px !important;
}
.bliss-db__req { color: #ef4444 !important; }
.bliss-db__field input,
.bliss-db__field textarea,
.bliss-db__field select {
  width: 100% !important; box-sizing: border-box !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.12)) !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-size: 14px !important; color: var(--bliss-cs-text, #f0f0f0) !important;
  outline: none !important; display: block !important;
  transition: border-color .15s, background-color 99999s !important;
}
.bliss-db__field input:focus,
.bliss-db__field textarea:focus {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  background: rgba(255,255,255,.09) !important;
  box-shadow: 0 0 0 3px rgba(200,241,53,.08) !important;
}
.bliss-db__field input:-webkit-autofill,
.bliss-db__field input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #2a2a2a inset !important;
  -webkit-text-fill-color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__field textarea { resize: vertical !important; min-height: 90px !important; }

/* ---- Date inputs — ensure native picker works and is visible on mobile ---- */
.bliss-db__field input[type="date"] {
  color-scheme: dark !important;       /* renders the picker + indicator in dark mode (visible) */
  min-height: 46px !important;          /* comfortable tap target */
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  cursor: pointer !important;
}
/* Make the calendar icon clearly visible and tappable on the dark field */
.bliss-db__field input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 1 !important;
  cursor: pointer !important;
  width: 22px !important;
  height: 22px !important;
  padding: 4px !important;
  margin-left: 4px !important;
  filter: invert(0.85) !important;      /* light icon on dark background */
}
.bliss-db__field input[type="date"]::-webkit-inner-spin-button,
.bliss-db__field input[type="date"]::-webkit-clear-button {
  display: none !important;
}

/* ---- Buttons ---- */
.bliss-db__btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 11px 24px !important; border-radius: 8px !important;
  border: none !important; font-size: 14px !important; font-weight: 600 !important;
  cursor: pointer !important; pointer-events: auto !important;
  transition: opacity .15s !important; margin-top: 8px !important;
}
.bliss-db__btn--primary {
  background: var(--bliss-cs-accent, #c8f135) !important; color: #111 !important;
}
.bliss-db__btn--primary:hover { opacity: .88 !important; }
.bliss-db__btn--outline {
  background: transparent !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.2)) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__btn--outline:hover { background: rgba(255,255,255,.06) !important; }
.bliss-db__btn--full { width: 100% !important; }

/* ---- Meta rows ---- */
.bliss-db__meta-row {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  gap: 16px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--bliss-cs-border, rgba(255,255,255,.07)) !important;
  font-size: 14px !important;
}
.bliss-db__meta-row:last-child { border-bottom: none !important; }
.bliss-db__meta-row span:first-child {
  color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  flex-shrink: 0 !important;
}
.bliss-db__meta-row span:last-child,
.bliss-db__meta-row strong {
  color: var(--bliss-cs-text, #f0f0f0) !important;
  min-width: 0 !important;
  text-align: right !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.bliss-db__meta-row--fee {
  margin-bottom: 20px !important; padding: 14px 16px !important;
  background: rgba(255,255,255,.04) !important; border-radius: 8px !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
}

/* ---- Upload ---- */
.bliss-db__upload {
  border: 2px dashed var(--bliss-cs-border, rgba(255,255,255,.15)) !important;
  border-radius: 12px !important;
  padding: 36px 24px !important;
  text-align: center !important;
  margin-bottom: 20px !important;
  cursor: pointer !important;
  transition: border-color .15s, background .15s !important;
}
.bliss-db__upload:hover {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  background: rgba(200,241,53,.04) !important;
}
.bliss-db__upload-icon { color: var(--bliss-cs-muted, rgba(240,240,240,.3)) !important; margin-bottom: 12px !important; }
.bliss-db__upload-icon svg { stroke: currentColor !important; }
.bliss-db__upload-title { font-size: 15px !important; font-weight: 600 !important; color: var(--bliss-cs-text, #f0f0f0) !important; margin: 0 0 4px !important; }
.bliss-db__upload-hint  { font-size: 12px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important; margin: 0 0 16px !important; }
.bliss-db__upload-filename { font-size: 13px !important; color: var(--bliss-cs-accent, #c8f135) !important; margin-top: 10px !important; }

/* ---- Products ---- */
.bliss-db__products { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 20px !important; }
.bliss-db__product {
  display: flex !important; align-items: flex-start !important; gap: 14px !important;
  padding: 16px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: border-color .15s, background .15s !important;
}
.bliss-db__product:hover { border-color: rgba(255,255,255,.18) !important; }
.bliss-db__product:has(.bliss-product-checkbox:checked) {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  background: rgba(200,241,53,.06) !important;
}
.bliss-db__product-check {
  width: 22px !important; height: 22px !important; border-radius: 6px !important; flex-shrink: 0 !important; margin-top: 1px !important;
  border: 2px solid var(--bliss-cs-border, rgba(255,255,255,.2)) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: transparent !important; transition: all .15s !important;
}
.bliss-db__product-check svg { display: none !important; stroke: #111 !important; }
.bliss-db__product:has(.bliss-product-checkbox:checked) .bliss-db__product-check {
  background: var(--bliss-cs-accent, #c8f135) !important;
  border-color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-db__product:has(.bliss-product-checkbox:checked) .bliss-db__product-check svg { display: block !important; }
.bliss-db__product-info { flex: 1 !important; }
.bliss-db__product-top {
  display: flex !important; justify-content: space-between !important; align-items: flex-start !important; margin-bottom: 4px !important;
}
.bliss-db__product-name  { font-size: 15px !important; font-weight: 600 !important; color: var(--bliss-cs-text, #f0f0f0) !important; }
.bliss-db__product-price { font-size: 15px !important; font-weight: 700 !important; color: var(--bliss-cs-accent, #c8f135) !important; flex-shrink: 0 !important; margin-left: 12px !important; }
.bliss-db__product-desc  { font-size: 13px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important; display: block !important; margin-bottom: 8px !important; }
.bliss-db__product-tags  { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.bliss-db__product-sizes { margin-top: 14px !important; padding-top: 14px !important; border-top: 1px dashed var(--bliss-cs-border, rgba(255,255,255,.1)) !important; }
.bliss-db__sizes-label   { display: block !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .07em !important; color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important; margin-bottom: 8px !important; }

/* ---- Tags / Badges ---- */
.bliss-db__tag {
  display: inline-block !important; padding: 3px 9px !important; border-radius: 20px !important;
  font-size: 11px !important; font-weight: 600 !important;
  background: rgba(255,255,255,.08) !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
}
.bliss-db__tag--tier-1 { background: rgba(156,163,175,.15) !important; color: #9ca3af !important; }
.bliss-db__tag--tier-2 { background: rgba(201,169,110,.15) !important; color: #c9a96e !important; }
.bliss-db__tag--tier-3 { background: rgba(200,241,53,.12)  !important; color: var(--bliss-cs-accent, #c8f135) !important; }

.bliss-db__badge {
  display: inline-block !important; padding: 3px 10px !important; border-radius: 20px !important;
  font-size: 12px !important; font-weight: 600 !important; margin-left: 8px !important;
}
.bliss-db__badge--pending    { background: rgba(245,158,11,.15)  !important; color: #f59e0b !important; }
.bliss-db__badge--processing { background: rgba(59,130,246,.15)  !important; color: #3b82f6 !important; }
.bliss-db__badge--complete   { background: rgba(16,185,129,.15)  !important; color: #10b981 !important; }
.bliss-db__badge--cancelled  { background: rgba(107,114,128,.15) !important; color: #6b7280 !important; }

/* ---- Order card ---- */
.bliss-db__order-header {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  margin-bottom: 20px !important; padding-bottom: 16px !important;
  border-bottom: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
}
.bliss-db__order-id   { font-weight: 700 !important; font-size: 16px !important; color: var(--bliss-cs-text, #f0f0f0) !important; }
.bliss-db__order-date { font-size: 13px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.45)) !important; }
.bliss-db__order-items { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.bliss-db__order-item {
  display: flex !important; justify-content: space-between !important; align-items: flex-start !important;
  padding: 12px 0 !important; border-bottom: 1px solid var(--bliss-cs-border, rgba(255,255,255,.06)) !important;
}
.bliss-db__order-item:last-child { border-bottom: none !important; }
.bliss-db__order-item-info { flex: 1 !important; }
.bliss-db__order-item-name  { font-size: 14px !important; font-weight: 600 !important; color: var(--bliss-cs-text, #f0f0f0) !important; display: block !important; margin-bottom: 4px !important; }
.bliss-db__order-item-meta  { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }
.bliss-db__order-item-price { font-size: 14px !important; font-weight: 600 !important; color: var(--bliss-cs-accent, #c8f135) !important; margin-left: 16px !important; flex-shrink: 0 !important; }
.bliss-db__order-total {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  padding: 16px 0 0 !important; margin-top: 8px !important;
  border-top: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  font-size: 16px !important;
}
.bliss-db__order-total span  { color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important; }
.bliss-db__order-total strong { font-weight: 700 !important; color: var(--bliss-cs-text, #f0f0f0) !important; }
.bliss-db__order-total-bar {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  border-radius: 8px !important;
  font-size: 15px !important; font-weight: 600 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  margin-bottom: 16px !important;
}
#bliss-order-total { color: var(--bliss-cs-accent, #c8f135) !important; }
.bliss-db__order-notes {
  margin-top: 12px !important; font-size: 13px !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--bliss-cs-border, rgba(255,255,255,.06)) !important;
}

/* Size buttons (shared) */
.bliss-size-buttons { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.bliss-size-btn {
  padding: 6px 14px !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.15)) !important;
  border-radius: 6px !important;
  background: transparent !important;
  font-size: 13px !important; font-weight: 600 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  cursor: pointer !important; pointer-events: auto !important;
}
.bliss-size-btn:hover,
.bliss-size-btn--active {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  background: var(--bliss-cs-accent, #c8f135) !important;
  color: #111 !important;
}

/* ---- Alerts (announcements) ---- */
.bliss-db__alert {
  padding: 14px 18px !important; border-radius: 10px !important;
  margin-bottom: 16px !important; font-size: 14px !important; line-height: 1.5 !important;
}
.bliss-db__alert strong { display: block !important; margin-bottom: 2px !important; }
.bliss-db__alert p { margin: 4px 0 0 !important; }
.bliss-db__alert--info    { background: rgba(59,130,246,.12)  !important; border: 1px solid rgba(59,130,246,.25)  !important; color: #93c5fd !important; }
.bliss-db__alert--warning { background: rgba(245,158,11,.12)  !important; border: 1px solid rgba(245,158,11,.25)  !important; color: #fcd34d !important; }
.bliss-db__alert--success { background: rgba(16,185,129,.12)  !important; border: 1px solid rgba(16,185,129,.25)  !important; color: #6ee7b7 !important; }

/* Inline notices inside cards */
.bliss-db .bliss-notice {
  padding: 11px 14px !important; border-radius: 8px !important;
  font-size: 13px !important; margin: 12px 0 !important;
}
.bliss-db .bliss-notice--error   { background: rgba(239,68,68,.12)  !important; color: #fca5a5 !important; border-left: 3px solid #ef4444 !important; }
.bliss-db .bliss-notice--success { background: rgba(16,185,129,.12) !important; color: #6ee7b7 !important; border-left: 3px solid #10b981 !important; }

/* ---- Mobile bottom nav ---- */
.bliss-db__bottomnav { display: none !important; }

/* ============================================================
   RESPONSIVE — mobile
   ============================================================ */
@media (max-width: 768px) {
  /* Switch from fixed two-column grid to flex column */
  body.page .bliss-db,
  .bliss-db {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    grid-template-columns: unset !important;
    grid-template-rows: unset !important;
  }

  /* Hide sidebar entirely */
  .bliss-db__sidebar { display: none !important; }

  /* Mobile top bar — fixed at top */
  .bliss-db__topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 20px !important;
    height: 56px !important;
    flex-shrink: 0 !important;
    background: var(--bliss-cs-bg, #1c1c1c) !important;
    border-bottom: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
    z-index: 20 !important;
  }
  .bliss-db__topbar-title {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--bliss-cs-text, #f0f0f0) !important;
  }
  .bliss-db__topbar-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
  }

  /* Main content — fills remaining space, scrollable */
  .bliss-db__main {
    grid-column: unset !important;
    grid-row: unset !important;
    flex: 1 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    /* Clear the fixed bottom nav + iPhone/Android home indicator + breathing room */
    padding: 20px 16px calc(140px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: 140px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Bottom nav bar */
  .bliss-db__bottomnav {
    display: flex !important;
    flex-shrink: 0 !important;
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: auto !important;
    min-height: 64px !important;
    background: var(--bliss-cs-bg, #1c1c1c) !important;
    border-top: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
    padding: 4px 0 calc(4px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 100 !important;
  }
  .bliss-db__bottomnav-item {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: none !important;
    border: none !important;
    color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    padding: 4px 2px !important;
    min-width: 0 !important;
  }
  .bliss-db__bottomnav-item svg { stroke: currentColor !important; flex-shrink: 0 !important; }
  .bliss-db__bottomnav-item--active { color: var(--bliss-cs-accent, #c8f135) !important; }
  .bliss-db__bottomnav-item--active svg { stroke: var(--bliss-cs-accent, #c8f135) !important; }
  .bliss-db__bottomnav-item:disabled { opacity: .25 !important; cursor: not-allowed !important; }
  .bliss-db__bottomnav-label {
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 56px !important;
  }

  /* Form layout fixes */
  .bliss-db__form-row { grid-template-columns: 1fr !important; }
  .bliss-db__progress { flex-wrap: wrap !important; gap: 8px !important; }
  .bliss-db__progress-line { display: none !important; }
  .bliss-db__section-title { font-size: 20px !important; }
  .bliss-db__card { padding: 20px 16px !important; }

  /* Section active display */
  .bliss-db__section { display: none !important; }
  .bliss-db__section--active { display: block !important; }
}

/* ---- Payment instructions card ---- */
.bliss-db__card--instructions {
  border-color: var(--bliss-cs-border, rgba(255,255,255,.12)) !important;
}
.bliss-db__payment-instruction {
  font-size: 14px !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.65)) !important;
  line-height: 1.7 !important;
  margin: 0 0 20px !important;
}
.bliss-db__fee-display {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 18px !important;
  background: rgba(255,255,255,.05) !important;
  border-radius: 8px !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  margin-bottom: 20px !important;
}
.bliss-db__fee-label {
  font-size: 13px !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 600 !important;
}
.bliss-db__fee-amount {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-db__payment-details {
  border-top: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
  padding-top: 18px !important;
}
.bliss-db__payment-details-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  margin: 0 0 12px !important;
}
.bliss-db__payment-details-body {
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  white-space: pre-line !important;
  background: rgba(255,255,255,.04) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
}

/* ---- Payment method selection ---- */
.bliss-db__pm-methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.bliss-db__pm-method {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.1)) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  text-align: left !important;
  transition: border-color .15s, background .15s !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__pm-method:hover {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  background: rgba(200,241,53,.06) !important;
}
.bliss-db__pm-icon { font-size: 22px !important; flex-shrink: 0 !important; }
.bliss-db__pm-label { flex: 1 !important; font-size: 15px !important; font-weight: 600 !important; }
.bliss-db__pm-arrow { color: var(--bliss-cs-muted, rgba(240,240,240,.4)) !important; flex-shrink: 0 !important; }
.bliss-db__pm-arrow svg { stroke: currentColor !important; display: block !important; }

/* Back button */
.bliss-db__pm-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: none !important;
  border: none !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  padding: 0 0 16px 0 !important;
}
.bliss-db__pm-back:hover { color: var(--bliss-cs-text, #f0f0f0) !important; }
.bliss-db__pm-back svg { stroke: currentColor !important; }

/* Bank details */
.bliss-db__bank-details { margin-bottom: 16px !important; }

/* Copy-on-click */
.bliss-db__copyable {
  cursor: pointer !important;
  border-bottom: 1px dashed var(--bliss-cs-accent, #c8f135) !important;
  color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-db__copyable:hover { opacity: .8 !important; }

/* Instructions text block */
.bliss-db__pm-instructions {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.65)) !important;
  background: rgba(255,255,255,.04) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin-bottom: 16px !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.07)) !important;
}

/* ---- Back to website (auth screen) ---- */
.bliss-auth-wrap .bliss-auth-back {
  position: absolute !important;
  top: 24px !important;
  left: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--bliss-cs-font, 'Courier New', Courier, monospace) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--bliss-cs-muted, #777) !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  transition: color .15s !important;
}
.bliss-auth-wrap .bliss-auth-back:hover { color: var(--bliss-cs-accent, #c8f135) !important; }
.bliss-auth-wrap .bliss-auth-back svg { stroke: currentColor !important; }

/* ---- Back to website (sidebar) ---- */
.bliss-db__nav-item--back {
  text-decoration: none !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.55)) !important;
}
.bliss-db__nav-item--back:hover {
  background: var(--bliss-cs-card, rgba(255,255,255,.07)) !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__nav-item--back svg { stroke: currentColor !important; }

/* ---- Back to website (mobile topbar) ---- */
.bliss-db__topbar-back {
  display: none !important;
}
.bliss-db__topbar-back svg { stroke: currentColor !important; }

/* Bottom nav back-to-website link */
.bliss-db__bottomnav-item--link {
  text-decoration: none !important;
}

/* ---- Danger zone ---- */
.bliss-db__card--danger {
  border-color: rgba(239,68,68,.3) !important;
  background: rgba(239,68,68,.05) !important;
}
.bliss-db__card--danger p {
  color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
}
.bliss-db__btn--danger {
  background: transparent !important;
  border: 1.5px solid #ef4444 !important;
  color: #ef4444 !important;
}
.bliss-db__btn--danger:hover {
  background: #ef4444 !important;
  color: #fff !important;
}

/* Mobile topbar layout */
@media (max-width: 768px) {
  .bliss-db__topbar { justify-content: space-between !important; }
}

/* Pay-now helper note under the link-out button */
.bliss-db__pay-note {
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.55)) !important;
  margin: 10px 0 0 !important;
  text-align: center !important;
}
.bliss-db__btn--full {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---- Order payment plan selection ---- */
.bliss-db__plan-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
.bliss-db__plan-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 16px 18px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1.5px solid var(--bliss-cs-border, rgba(255,255,255,.12)) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition: border-color .15s, background .15s !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  text-align: left !important;
}
.bliss-db__plan-option:hover {
  border-color: var(--bliss-cs-accent, #c8f135) !important;
  background: rgba(200,241,53,.06) !important;
}
.bliss-db__plan-name { font-size: 15px !important; font-weight: 700 !important; }
.bliss-db__plan-amount { font-size: 16px !important; font-weight: 800 !important; color: var(--bliss-cs-accent, #c8f135) !important; }
.bliss-db__plan-each { font-size: 11px !important; font-weight: 600 !important; color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important; text-transform: uppercase !important; }

/* ---- Payment schedule ---- */
.bliss-db__schedule { display: flex !important; flex-direction: column !important; gap: 2px !important; margin-top: 8px !important; }
.bliss-db__schedule-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,.04) !important;
  border-radius: 8px !important;
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.08)) !important;
}
.bliss-db__schedule-info { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.bliss-db__schedule-label { font-size: 14px !important; font-weight: 700 !important; color: var(--bliss-cs-text, #f0f0f0) !important; }
.bliss-db__schedule-due { font-size: 12px !important; color: var(--bliss-cs-muted, rgba(240,240,240,.55)) !important; }
.bliss-db__schedule-amount { font-size: 16px !important; font-weight: 800 !important; color: var(--bliss-cs-accent, #c8f135) !important; }
.bliss-db__collection-note {
  margin: 14px 0 0 !important;
  font-size: 12.5px !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
  padding: 10px 12px !important;
  background: rgba(255,255,255,.03) !important;
  border-left: 3px solid var(--bliss-cs-accent, #c8f135) !important;
  border-radius: 4px !important;
}

/* ---- Updates alert date ---- */
.bliss-db__alert-date {
  display: block !important;
  margin-top: 8px !important;
  font-size: 11px !important;
  opacity: .6 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

/* ---- Payment consent ---- */
.bliss-db__consent-card { border-color: var(--bliss-cs-accent, #c8f135) !important; }
.bliss-db__consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.bliss-db__consent input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 22px !important; height: 22px !important;
  margin: 0 !important;
  cursor: pointer !important;
}
.bliss-db__consent-box {
  flex-shrink: 0 !important;
  width: 22px !important; height: 22px !important;
  border: 2px solid var(--bliss-cs-border, rgba(255,255,255,.4)) !important;
  border-radius: 6px !important;
  position: relative !important;
  transition: background .15s, border-color .15s !important;
  margin-top: 1px !important;
}
.bliss-db__consent input:checked + .bliss-db__consent-box {
  background: var(--bliss-cs-accent, #c8f135) !important;
  border-color: var(--bliss-cs-accent, #c8f135) !important;
}
.bliss-db__consent input:checked + .bliss-db__consent-box::after {
  content: '' !important;
  position: absolute !important;
  left: 7px !important; top: 3px !important;
  width: 5px !important; height: 10px !important;
  border: solid #111 !important;
  border-width: 0 2.5px 2.5px 0 !important;
  transform: rotate(45deg) !important;
}
.bliss-db__consent-text {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
}
.bliss-db__consent-text a {
  color: var(--bliss-cs-accent, #c8f135) !important;
  text-decoration: underline !important;
}

/* Gated payment area — locked until consent is checked */
.bliss-db__gated {
  opacity: .4 !important;
  pointer-events: none !important;
  filter: grayscale(.3) !important;
  transition: opacity .2s !important;
}
.bliss-db__gated--on {
  opacity: 1 !important;
  pointer-events: auto !important;
  filter: none !important;
}

/* ---- File upload label (native-picker, mobile-reliable) ---- */
.bliss-db__file-label {
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.bliss-db__file-input {
  position: absolute !important;
  left: 0 !important; top: 0 !important;
  width: 100% !important; height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  font-size: 0 !important;
}

/* ---- Announcement rich-text body (from Quill) ---- */
.bliss-db__alert-body {
  margin-top: 8px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: inherit !important;
  white-space: normal !important;
}
.bliss-db__alert-body p { margin: 0 0 8px !important; }
.bliss-db__alert-body p:last-child { margin-bottom: 0 !important; }
.bliss-db__alert-body br { display: block !important; content: "" !important; }
.bliss-db__alert-body ul,
.bliss-db__alert-body ol {
  margin: 6px 0 8px !important;
  padding-left: 22px !important;
  list-style-position: outside !important;
}
.bliss-db__alert-body ul { list-style-type: disc !important; }
.bliss-db__alert-body ol { list-style-type: decimal !important; }
.bliss-db__alert-body li {
  margin: 3px 0 !important;
  display: list-item !important;
  list-style: inherit !important;
}
.bliss-db__alert-body a {
  color: var(--bliss-cs-accent, #c8f135) !important;
  text-decoration: underline !important;
}
.bliss-db__alert-body strong { font-weight: 700 !important; }
.bliss-db__alert-body em { font-style: italic !important; }
.bliss-db__alert-body u { text-decoration: underline !important; }

/* ---- Updates: group titles + separator ---- */
.bliss-db__group-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.55)) !important;
  margin: 0 0 12px !important;
}
.bliss-db__info-group { margin-bottom: 24px !important; }
.bliss-db__separator {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 24px 0 16px !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.5)) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.bliss-db__separator::before,
.bliss-db__separator::after {
  content: "" !important;
  flex: 1 !important;
  height: 1px !important;
  background: var(--bliss-cs-border, rgba(255,255,255,.12)) !important;
}

/* ---- Updates: permanent info accordion ---- */
.bliss-db__accordion { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.bliss-db__acc-item {
  border: 1px solid var(--bliss-cs-border, rgba(255,255,255,.12)) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.03) !important;
  overflow: hidden !important;
}
.bliss-db__acc-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 16px 18px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  text-align: left !important;
  color: var(--bliss-cs-text, #f0f0f0) !important;
  gap: 12px !important;
}
.bliss-db__acc-head:hover { background: rgba(255,255,255,.03) !important; }
.bliss-db__acc-title { font-size: 15px !important; font-weight: 700 !important; }
.bliss-db__acc-chevron {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  transition: transform .2s ease !important;
  color: var(--bliss-cs-muted, rgba(240,240,240,.6)) !important;
}
.bliss-db__acc-item--open .bliss-db__acc-chevron { transform: rotate(180deg) !important; }
.bliss-db__acc-body {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .25s ease !important;
}
.bliss-db__acc-item--open .bliss-db__acc-body { max-height: 1200px !important; }
.bliss-db__acc-body-inner {
  padding: 0 18px 16px !important;
  margin-top: 0 !important;
}
