/* DTC feminine floral visibility and percentage-ring update
   Built for the uploaded 2026-08-02 portal.html.
*/

body.dtc-feminine-floral {
  --dtc-floral-rose: #f23384;
  --dtc-floral-rose-deep: #9f174f;
  --dtc-floral-plum: #59203f;
  --dtc-floral-lilac: #8f5de7;
  --dtc-floral-purple: #6942c8;
  --dtc-floral-ink: #3b2737;
  --dtc-floral-muted: #705d6c;
  --dtc-floral-border: rgba(224, 122, 171, .32);
  --dtc-floral-soft: #fff5fa;
  --dtc-floral-card: rgba(255, 252, 254, .97);
}

/* Guard against floral classes accidentally being attached to layout containers.
   Flowers must decorate cards only, never the whole dashboard column. */
body.dtc-feminine-floral .result-layout.portal-feminine-welcome-card,
body.dtc-feminine-floral .result-layout.portal-feminine-wallet-card,
body.dtc-feminine-floral .result-layout.portal-feminine-action-card,
body.dtc-feminine-floral #step-result.portal-feminine-welcome-card,
body.dtc-feminine-floral #step-result.portal-feminine-wallet-card,
body.dtc-feminine-floral #step-result.portal-feminine-action-card,
body.dtc-feminine-floral .portal-orders-panel.portal-feminine-welcome-card,
body.dtc-feminine-floral .portal-orders-panel.portal-feminine-wallet-card,
body.dtc-feminine-floral .portal-orders-panel.portal-feminine-action-card,
body.dtc-feminine-floral .subs-grid.portal-feminine-welcome-card,
body.dtc-feminine-floral .subs-grid.portal-feminine-wallet-card,
body.dtc-feminine-floral .subs-grid.portal-feminine-action-card,
body.dtc-feminine-floral .portal-section-grid.portal-feminine-welcome-card,
body.dtc-feminine-floral .portal-section-grid.portal-feminine-wallet-card,
body.dtc-feminine-floral .portal-section-grid.portal-feminine-action-card {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.dtc-feminine-floral .result-layout.portal-feminine-welcome-card::after,
body.dtc-feminine-floral .result-layout.portal-feminine-wallet-card::before,
body.dtc-feminine-floral .result-layout.portal-feminine-action-card::after,
body.dtc-feminine-floral #step-result.portal-feminine-welcome-card::after,
body.dtc-feminine-floral #step-result.portal-feminine-wallet-card::before,
body.dtc-feminine-floral #step-result.portal-feminine-action-card::after,
body.dtc-feminine-floral .portal-orders-panel.portal-feminine-welcome-card::after,
body.dtc-feminine-floral .portal-orders-panel.portal-feminine-wallet-card::before,
body.dtc-feminine-floral .portal-orders-panel.portal-feminine-action-card::after,
body.dtc-feminine-floral .subs-grid.portal-feminine-welcome-card::after,
body.dtc-feminine-floral .subs-grid.portal-feminine-wallet-card::before,
body.dtc-feminine-floral .subs-grid.portal-feminine-action-card::after,
body.dtc-feminine-floral .portal-section-grid.portal-feminine-welcome-card::after,
body.dtc-feminine-floral .portal-section-grid.portal-feminine-wallet-card::before,
body.dtc-feminine-floral .portal-section-grid.portal-feminine-action-card::after {
  display: none !important;
}

/* Do not use opacity on a parent card: it also fades every child label and amount. */
body.dtc-feminine-floral .result-header,
body.dtc-feminine-floral .result-header *,
body.dtc-feminine-floral #portal-wallet-header-badge,
body.dtc-feminine-floral #portal-wallet-header-badge *,
body.dtc-feminine-floral .portal-wallet-section,
body.dtc-feminine-floral .portal-wallet-section * {
  mix-blend-mode: normal !important;
}

/* Welcome area on the signed-in home screen. */
body.dtc-feminine-floral .result-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 18px;
  padding: 22px 24px;
  border: 1px solid var(--dtc-floral-border);
  border-radius: 20px;
  background: linear-gradient(125deg, #f23384 0%, #de459f 54%, #8f5de7 100%);
  box-shadow: 0 16px 38px rgba(180, 57, 117, .20);
}
body.dtc-feminine-floral .result-header > * { position: relative; z-index: 2; }
body.dtc-feminine-floral .result-header h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(73, 19, 55, .18) !important;
}
body.dtc-feminine-floral .result-header p,
body.dtc-feminine-floral .result-header p b,
body.dtc-feminine-floral #result-email {
  color: rgba(255,255,255,.94) !important;
  -webkit-text-fill-color: rgba(255,255,255,.94) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(73, 19, 55, .16) !important;
}
body.dtc-feminine-floral .result-header::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -16px;
  bottom: -30px;
  width: clamp(92px, 16vw, 150px);
  aspect-ratio: 1.18;
  pointer-events: none;
  background: url('/assets/feminine/floral-corner-large.svg') center/contain no-repeat;
  opacity: .76;
}

/* Header wallet button: the uploaded screenshot showed the amount becoming white. */
body.dtc-feminine-floral #portal-wallet-header-badge,
body.dtc-feminine-floral .portal-wallet-header-badge {
  position: relative;
  z-index: 3;
  border-color: rgba(220, 123, 171, .40) !important;
  background: rgba(255, 251, 253, .97) !important;
  color: var(--dtc-floral-ink) !important;
  box-shadow: 0 8px 22px rgba(158, 55, 106, .08) !important;
  opacity: 1 !important;
}
body.dtc-feminine-floral #portal-wallet-header-badge svg,
body.dtc-feminine-floral .portal-wallet-header-badge svg {
  color: var(--dtc-floral-rose) !important;
  stroke: currentColor !important;
}
body.dtc-feminine-floral .portal-wallet-header-copy small {
  color: #75606f !important;
  -webkit-text-fill-color: #75606f !important;
  opacity: 1 !important;
}
body.dtc-feminine-floral #portal-wallet-header-amount,
body.dtc-feminine-floral .portal-wallet-header-copy strong,
body.dtc-feminine-floral .portal-wallet-header-extra {
  color: #3d2639 !important;
  -webkit-text-fill-color: #3d2639 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Support both the current DOM and the feminine home-card DOM generated by portal-theme.js. */
body.dtc-feminine-floral .portal-feminine-welcome-card,
body.dtc-feminine-floral .feminine-welcome-card,
body.dtc-feminine-floral .portal-home-welcome,
body.dtc-feminine-floral [data-feminine-card="welcome"] {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  color: var(--dtc-floral-ink) !important;
  background: linear-gradient(125deg, #f23384 0%, #df489e 56%, #9a68eb 100%) !important;
  border-color: var(--dtc-floral-border) !important;
}
body.dtc-feminine-floral .portal-feminine-welcome-card::after,
body.dtc-feminine-floral .feminine-welcome-card::after,
body.dtc-feminine-floral .portal-home-welcome::after,
body.dtc-feminine-floral [data-feminine-card="welcome"]::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -12px;
  bottom: -18px;
  width: clamp(92px, 18vw, 155px);
  aspect-ratio: 1.18;
  pointer-events: none;
  background: url('/assets/feminine/floral-corner-large.svg') center/contain no-repeat;
  opacity: .76;
}
body.dtc-feminine-floral .portal-feminine-welcome-card > *,
body.dtc-feminine-floral .feminine-welcome-card > *,
body.dtc-feminine-floral .portal-home-welcome > *,
body.dtc-feminine-floral [data-feminine-card="welcome"] > * { position: relative; z-index: 2; }
body.dtc-feminine-floral .portal-feminine-welcome-card h1,
body.dtc-feminine-floral .portal-feminine-welcome-card h2,
body.dtc-feminine-floral .feminine-welcome-card h1,
body.dtc-feminine-floral .feminine-welcome-card h2,
body.dtc-feminine-floral .portal-home-welcome h1,
body.dtc-feminine-floral .portal-home-welcome h2,
body.dtc-feminine-floral [data-feminine-card="welcome"] h1,
body.dtc-feminine-floral [data-feminine-card="welcome"] h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(73, 19, 55, .18) !important;
}
body.dtc-feminine-floral .portal-feminine-welcome-card [class*="email"],
body.dtc-feminine-floral .feminine-welcome-card [class*="email"],
body.dtc-feminine-floral .portal-home-welcome [class*="email"],
body.dtc-feminine-floral [data-feminine-card="welcome"] [class*="email"] {
  color: rgba(255,255,255,.94) !important;
  -webkit-text-fill-color: rgba(255,255,255,.94) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(73, 19, 55, .16) !important;
}

/* Home wallet card, including likely classes from the feminine portal module. */
body.dtc-feminine-floral .portal-feminine-wallet-card,
body.dtc-feminine-floral .feminine-wallet-card,
body.dtc-feminine-floral .portal-home-wallet,
body.dtc-feminine-floral .portal-home-wallet-card,
body.dtc-feminine-floral [data-feminine-card="wallet"] {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  background: linear-gradient(110deg, #fff, #fff6fa) !important;
  border-color: var(--dtc-floral-border) !important;
  opacity: 1 !important;
}
body.dtc-feminine-floral .portal-feminine-wallet-card::before,
body.dtc-feminine-floral .feminine-wallet-card::before,
body.dtc-feminine-floral .portal-home-wallet::before,
body.dtc-feminine-floral .portal-home-wallet-card::before,
body.dtc-feminine-floral [data-feminine-card="wallet"]::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: -22px;
  bottom: -26px;
  width: clamp(56px, 11vw, 88px);
  aspect-ratio: 1;
  pointer-events: none;
  background: url('/assets/feminine/floral-branch.svg') center/contain no-repeat;
  opacity: .30;
}
body.dtc-feminine-floral .portal-feminine-wallet-card > *,
body.dtc-feminine-floral .feminine-wallet-card > *,
body.dtc-feminine-floral .portal-home-wallet > *,
body.dtc-feminine-floral .portal-home-wallet-card > *,
body.dtc-feminine-floral [data-feminine-card="wallet"] > * { position: relative; z-index: 2; }
body.dtc-feminine-floral .portal-feminine-wallet-card [class*="amount"],
body.dtc-feminine-floral .portal-feminine-wallet-card [class*="balance"],
body.dtc-feminine-floral .feminine-wallet-card [class*="amount"],
body.dtc-feminine-floral .feminine-wallet-card [class*="balance"],
body.dtc-feminine-floral .portal-home-wallet [class*="amount"],
body.dtc-feminine-floral .portal-home-wallet [class*="balance"],
body.dtc-feminine-floral .portal-home-wallet-card [class*="amount"],
body.dtc-feminine-floral .portal-home-wallet-card [class*="balance"],
body.dtc-feminine-floral [data-feminine-card="wallet"] [class*="amount"],
body.dtc-feminine-floral [data-feminine-card="wallet"] [class*="balance"] {
  color: var(--dtc-floral-rose-deep) !important;
  -webkit-text-fill-color: var(--dtc-floral-rose-deep) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Wallet tab/page visibility fix. */
body.dtc-feminine-floral .portal-wallet-section {
  color: var(--dtc-floral-ink) !important;
}
body.dtc-feminine-floral .portal-wallet-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: var(--dtc-floral-border) !important;
  background: linear-gradient(115deg, #fffafd, #fff1f8 62%, #f7efff) !important;
}
body.dtc-feminine-floral .portal-wallet-hero::after {
  content: "";
  position: absolute;
  right: -12px;
  bottom: -24px;
  z-index: 1;
  width: clamp(88px, 15vw, 132px);
  aspect-ratio: 1.18;
  pointer-events: none;
  background: url('/assets/feminine/floral-corner-large.svg') center/contain no-repeat;
  opacity: .46;
}
body.dtc-feminine-floral .portal-wallet-hero > * { position: relative; z-index: 2; }
body.dtc-feminine-floral .portal-wallet-hero h2,
body.dtc-feminine-floral .portal-wallet-card h3,
body.dtc-feminine-floral .portal-wallet-method-heading strong,
body.dtc-feminine-floral .portal-wallet-ledger strong {
  color: var(--dtc-floral-plum) !important;
  -webkit-text-fill-color: var(--dtc-floral-plum) !important;
  opacity: 1 !important;
}
body.dtc-feminine-floral .portal-wallet-hero p,
body.dtc-feminine-floral .portal-wallet-card,
body.dtc-feminine-floral .portal-wallet-card p,
body.dtc-feminine-floral .portal-wallet-card span,
body.dtc-feminine-floral .portal-wallet-card label,
body.dtc-feminine-floral .portal-wallet-ledger {
  color: var(--dtc-floral-muted);
  opacity: 1 !important;
}
body.dtc-feminine-floral .portal-wallet-balances,
body.dtc-feminine-floral .portal-wallet-balance,
body.dtc-feminine-floral #portal-wallet-balances {
  opacity: 1 !important;
  visibility: visible !important;
}
body.dtc-feminine-floral .portal-wallet-balance strong,
body.dtc-feminine-floral .portal-wallet-balances strong,
body.dtc-feminine-floral #portal-wallet-balances strong,
body.dtc-feminine-floral #portal-wallet-balance,
body.dtc-feminine-floral #portal-wallet-available,
body.dtc-feminine-floral [id*="wallet"][id*="amount"],
body.dtc-feminine-floral [id*="wallet"][id*="balance"] {
  color: var(--dtc-floral-rose-deep) !important;
  -webkit-text-fill-color: var(--dtc-floral-rose-deep) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}
body.dtc-feminine-floral .portal-wallet-card {
  border-color: rgba(224, 122, 171, .25) !important;
  background: rgba(255, 253, 254, .98) !important;
}
body.dtc-feminine-floral .portal-wallet-submit,
body.dtc-feminine-floral .portal-wallet-section button[class*="primary"] {
  border-color: transparent !important;
  background: linear-gradient(135deg, #f23384, #d747a9 54%, #8f5de7) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Action-required card flowers. */
body.dtc-feminine-floral .portal-pending-prompt,
body.dtc-feminine-floral .portal-feminine-action-card,
body.dtc-feminine-floral .feminine-action-card,
body.dtc-feminine-floral [data-feminine-card="action"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: var(--dtc-floral-border) !important;
  background: linear-gradient(115deg, rgba(255,253,254,.99), rgba(255,242,249,.96)) !important;
}
body.dtc-feminine-floral .portal-pending-prompt::after,
body.dtc-feminine-floral .portal-feminine-action-card::after,
body.dtc-feminine-floral .feminine-action-card::after,
body.dtc-feminine-floral [data-feminine-card="action"]::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -14px;
  bottom: -20px;
  width: clamp(96px, 16vw, 138px);
  aspect-ratio: .92;
  pointer-events: none;
  background: url('/assets/feminine/floral-bouquet.svg') center/contain no-repeat;
  opacity: .68;
}
body.dtc-feminine-floral .portal-pending-prompt > *,
body.dtc-feminine-floral .portal-feminine-action-card > *,
body.dtc-feminine-floral .feminine-action-card > *,
body.dtc-feminine-floral [data-feminine-card="action"] > * { position: relative; z-index: 2; }

/* Combined status and the segmented percentage ring now use one rose-to-lilac family. */
body.dtc-feminine-floral .portal-combined-subscriptions {
  --combined-subscription-color: #8f5de7 !important;
  --combined-subscription-rgb: 143,93,231 !important;
  border-color: rgba(153, 93, 215, .25) !important;
  background: linear-gradient(125deg, #fff, #fff7fb 52%, #f8f2ff) !important;
  box-shadow: 0 11px 30px rgba(153, 75, 171, .09) !important;
}
body.dtc-feminine-floral .portal-combined-subscriptions-copy small {
  color: var(--dtc-floral-purple) !important;
  -webkit-text-fill-color: var(--dtc-floral-purple) !important;
}
body.dtc-feminine-floral .portal-combined-subscriptions-copy strong {
  color: var(--dtc-floral-ink) !important;
  -webkit-text-fill-color: var(--dtc-floral-ink) !important;
}
body.dtc-feminine-floral .portal-combined-subscriptions-score strong,
body.dtc-feminine-floral #portal-combined-subscriptions-percent,
body.dtc-feminine-floral .portal-combined-subscriptions-meta span:last-child {
  color: var(--dtc-floral-purple) !important;
  -webkit-text-fill-color: var(--dtc-floral-purple) !important;
  opacity: 1 !important;
}
body.dtc-feminine-floral .portal-combined-subscriptions-bar {
  background: #eee5f5 !important;
}
body.dtc-feminine-floral .portal-combined-subscriptions-fill {
  background: linear-gradient(90deg, #f23384 0%, #d24bb7 52%, #8f5de7 100%) !important;
  box-shadow: 0 4px 13px rgba(177, 71, 187, .20) !important;
}
body.dtc-feminine-floral .subscription-progress-panel {
  --subscription-progress-color: #8f5de7 !important;
  --subscription-progress-rgb: 143,93,231 !important;
  border-color: rgba(170, 100, 218, .24) !important;
  background: linear-gradient(135deg, #fff7fb, #f9f2ff 58%, #fff) !important;
}
body.dtc-feminine-floral .subscription-progress-ring {
  border-color: rgba(176, 109, 218, .28) !important;
  background: #fff !important;
  box-shadow: 0 8px 21px rgba(154, 78, 181, .13) !important;
}
body.dtc-feminine-floral .subscription-progress-ring::after {
  border-color: #eadff3 !important;
  background: linear-gradient(145deg, #fff, #fff8fc) !important;
}
body.dtc-feminine-floral .subscription-progress-segment {
  background: #eadff1 !important;
}
body.dtc-feminine-floral .subscription-progress-segment.is-active {
  background: var(--dtc-segment-color, #d24bb7) !important;
  box-shadow: 0 0 6px rgba(177, 71, 187, .20) !important;
}
body.dtc-feminine-floral .subscription-progress-centre strong,
body.dtc-feminine-floral .subscription-progress-copy strong {
  color: var(--dtc-floral-purple) !important;
  -webkit-text-fill-color: var(--dtc-floral-purple) !important;
}
body.dtc-feminine-floral .subscription-progress-centre span,
body.dtc-feminine-floral .subscription-progress-copy small {
  color: #76627d !important;
  -webkit-text-fill-color: #76627d !important;
}
body.dtc-feminine-floral .subscription-progress-copy span {
  color: #b13a8f !important;
  -webkit-text-fill-color: #b13a8f !important;
}

/* Buttons and selected navigation stay coordinated with the ring. */
body.dtc-feminine-floral .portal-tab.active,
body.dtc-feminine-floral .portal-account-avatar,
body.dtc-feminine-floral .primary-btn,
body.dtc-feminine-floral .order-link.primary,
body.dtc-feminine-floral .portal-card-actions .primary {
  background: linear-gradient(135deg, #f23384, #d547aa 52%, #8f5de7) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: transparent !important;
}

@media (max-width: 900px) {
  body.dtc-feminine-floral .result-header {
    padding: 18px;
  }
  body.dtc-feminine-floral .result-header::after {
    right: -6px;
    bottom: -10px;
    width: 98px;
    opacity: .44;
  }
  body.dtc-feminine-floral .portal-pending-prompt,
  body.dtc-feminine-floral .portal-feminine-action-card,
  body.dtc-feminine-floral .feminine-action-card,
  body.dtc-feminine-floral [data-feminine-card="action"] {
    padding-right: inherit !important;
    padding-bottom: inherit !important;
    min-height: 0 !important;
  }
  body.dtc-feminine-floral .portal-pending-prompt::after,
  body.dtc-feminine-floral .portal-feminine-action-card::after,
  body.dtc-feminine-floral .feminine-action-card::after,
  body.dtc-feminine-floral [data-feminine-card="action"]::after {
    width: 92px;
    right: -8px;
    bottom: -10px;
    opacity: .42;
  }
  body.dtc-feminine-floral .portal-wallet-hero::after {
    width: 86px;
    right: -8px;
    bottom: -12px;
    opacity: .34;
  }
}

@media (max-width: 560px) {
  body.dtc-feminine-floral .result-header::after,
  body.dtc-feminine-floral .portal-wallet-hero::after {
    display: none;
  }
  body.dtc-feminine-floral .portal-pending-prompt::after,
  body.dtc-feminine-floral .portal-feminine-action-card::after,
  body.dtc-feminine-floral .feminine-action-card::after,
  body.dtc-feminine-floral [data-feminine-card="action"]::after {
    width: 74px;
    right: -10px;
    bottom: -12px;
    opacity: .30;
  }
  body.dtc-feminine-floral .portal-feminine-welcome-card::after,
  body.dtc-feminine-floral .feminine-welcome-card::after,
  body.dtc-feminine-floral .portal-home-welcome::after,
  body.dtc-feminine-floral [data-feminine-card="welcome"]::after {
    width: 88px;
    right: -12px;
    bottom: -10px;
    opacity: .34;
  }
  body.dtc-feminine-floral .portal-feminine-wallet-card::before,
  body.dtc-feminine-floral .feminine-wallet-card::before,
  body.dtc-feminine-floral .portal-home-wallet::before,
  body.dtc-feminine-floral .portal-home-wallet-card::before,
  body.dtc-feminine-floral [data-feminine-card="wallet"]::before {
    width: 56px;
    left: -12px;
    bottom: -12px;
    opacity: .18;
  }
}

@media (prefers-reduced-motion: no-preference) {
  body.dtc-feminine-floral .result-header::after,
  body.dtc-feminine-floral .portal-pending-prompt::after,
  body.dtc-feminine-floral .portal-wallet-hero::after {
    animation: dtcFloralDrift 8s ease-in-out infinite alternate;
  }
  @keyframes dtcFloralDrift {
    from { transform: translate3d(0,0,0) rotate(-.35deg); }
    to { transform: translate3d(0,-4px,0) rotate(.35deg); }
  }
}

/* ============================================================
   V6 FINAL OVERRIDES
   ============================================================ */

/* Welcome heading and customer email must remain white in every
   feminine home layout, including cards generated by portal-theme.js. */
body.dtc-feminine-floral .result-header {
  background: linear-gradient(125deg, #f23384 0%, #dd459f 55%, #8f5de7 100%) !important;
}

body.dtc-feminine-floral .result-header h1,
body.dtc-feminine-floral .result-header h2,
body.dtc-feminine-floral .result-header h3,
body.dtc-feminine-floral .result-header p,
body.dtc-feminine-floral .result-header p b,
body.dtc-feminine-floral .result-header #result-email,
body.dtc-feminine-floral .portal-feminine-welcome-card h1,
body.dtc-feminine-floral .portal-feminine-welcome-card h2,
body.dtc-feminine-floral .portal-feminine-welcome-card h3,
body.dtc-feminine-floral .portal-feminine-welcome-card [class*="email"],
body.dtc-feminine-floral .portal-feminine-welcome-card [id*="email"],
body.dtc-feminine-floral .feminine-welcome-card h1,
body.dtc-feminine-floral .feminine-welcome-card h2,
body.dtc-feminine-floral .feminine-welcome-card h3,
body.dtc-feminine-floral .feminine-welcome-card [class*="email"],
body.dtc-feminine-floral .feminine-welcome-card [id*="email"],
body.dtc-feminine-floral .portal-home-welcome h1,
body.dtc-feminine-floral .portal-home-welcome h2,
body.dtc-feminine-floral .portal-home-welcome h3,
body.dtc-feminine-floral .portal-home-welcome [class*="email"],
body.dtc-feminine-floral .portal-home-welcome [id*="email"],
body.dtc-feminine-floral [data-feminine-card="welcome"] h1,
body.dtc-feminine-floral [data-feminine-card="welcome"] h2,
body.dtc-feminine-floral [data-feminine-card="welcome"] h3,
body.dtc-feminine-floral [data-feminine-card="welcome"] [class*="email"],
body.dtc-feminine-floral [data-feminine-card="welcome"] [id*="email"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(77, 18, 58, .20) !important;
}

/* ------------------------------------------------------------
   Feminine chat: floral conversation background
   ------------------------------------------------------------ */
body.dtc-feminine-floral .portal-chat-messages {
  background-color: #fffafd !important;
  background-image:
    linear-gradient(rgba(255,250,253,.82), rgba(255,250,253,.82)),
    url("/assets/feminine/floral-branch.svg"),
    url("/assets/feminine/floral-bouquet.svg") !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-position:
    center,
    left -28px bottom -26px,
    right -36px top -28px !important;
  background-size:
    cover,
    150px auto,
    175px auto !important;
}

/* Only the message bubble that was blue is changed to feminine pink.
   Customer messages are the blue/outgoing bubbles in portal-chat.js. */
body.dtc-feminine-floral .portal-chat-message.customer .portal-chat-bubble {
  border: 1px solid rgba(210, 57, 145, .30) !important;
  background: linear-gradient(135deg, #f23384 0%, #d846a5 58%, #9a68eb 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 7px 18px rgba(183, 55, 137, .16) !important;
}

/* Admin/support messages keep a light neutral background. */
body.dtc-feminine-floral .portal-chat-message.admin .portal-chat-bubble {
  border: 1px solid #e4dce4 !important;
  background: rgba(255,255,255,.96) !important;
  color: #3e3340 !important;
  -webkit-text-fill-color: #3e3340 !important;
  box-shadow: 0 5px 14px rgba(91, 53, 79, .07) !important;
}

/* System messages remain separate and neutral. */
body.dtc-feminine-floral .portal-chat-message.system .portal-chat-bubble {
  border: 1px solid #e6ddea !important;
  background: rgba(247,244,249,.96) !important;
  color: #66586a !important;
  -webkit-text-fill-color: #66586a !important;
}

/* Do not recolour the whole message container. */
body.dtc-feminine-floral .portal-chat-message {
  background: transparent !important;
}

/* Message metadata remains readable over the floral area. */
body.dtc-feminine-floral .portal-chat-message.customer .portal-chat-meta {
  color: #a12c6e !important;
}

body.dtc-feminine-floral .portal-chat-message.admin .portal-chat-meta,
body.dtc-feminine-floral .portal-chat-message.system .portal-chat-meta {
  color: #776b78 !important;
}

/* Feminine chat chrome. */
body.dtc-feminine-floral .portal-chat-header {
  background: linear-gradient(125deg, #f23384 0%, #dd459f 56%, #8f5de7 100%) !important;
  color: #ffffff !important;
}

body.dtc-feminine-floral .portal-chat-heading strong,
body.dtc-feminine-floral .portal-chat-heading span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.dtc-feminine-floral .portal-chat-new,
body.dtc-feminine-floral .portal-chat-send {
  border-color: transparent !important;
  background: linear-gradient(135deg, #f23384, #d846a5 58%, #8f5de7) !important;
  color: #ffffff !important;
}

body.dtc-feminine-floral .portal-chat-compose {
  border-top-color: #edd8e5 !important;
  background: rgba(255,250,253,.98) !important;
}

body.dtc-feminine-floral .portal-chat-input:focus,
body.dtc-feminine-floral .portal-chat-order-select:focus {
  border-color: #df4d9a !important;
  box-shadow: 0 0 0 4px rgba(223,77,154,.11) !important;
}

@media (max-width: 560px) {
  body.dtc-feminine-floral .portal-chat-messages {
    background-position:
      center,
      left -42px bottom -32px,
      right -52px top -34px !important;
    background-size:
      cover,
      125px auto,
      145px auto !important;
  }
}

/* ============================================================
   V7 MOBILE WELCOME TEXT FIX
   The mobile feminine home may render "Welcome" instead of
   "Welcome back" and may use different classes for the email.
   ============================================================ */
body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome,
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card,
body.dtc-feminine-floral #step-result:not(.hidden) [class*="welcome-card"],
body.dtc-feminine-floral #step-result:not(.hidden) [data-card="welcome"],
body.dtc-feminine-floral #step-result:not(.hidden) [data-section="welcome"] {
  opacity: 1 !important;
  visibility: visible !important;
}

body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome h1,
body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome h2,
body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome h3,
body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome [class*="welcome"],
body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome [class*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) .portal-mobile-welcome [id*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card h1,
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card h2,
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card h3,
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card [class*="welcome"],
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card [class*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) .mobile-welcome-card [id*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) [class*="welcome-card"] h1,
body.dtc-feminine-floral #step-result:not(.hidden) [class*="welcome-card"] h2,
body.dtc-feminine-floral #step-result:not(.hidden) [class*="welcome-card"] h3,
body.dtc-feminine-floral #step-result:not(.hidden) [class*="welcome-card"] [class*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) [class*="welcome-card"] [id*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) [data-card="welcome"] h1,
body.dtc-feminine-floral #step-result:not(.hidden) [data-card="welcome"] h2,
body.dtc-feminine-floral #step-result:not(.hidden) [data-card="welcome"] h3,
body.dtc-feminine-floral #step-result:not(.hidden) [data-card="welcome"] [class*="email"],
body.dtc-feminine-floral #step-result:not(.hidden) [data-card="welcome"] [id*="email"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 1px 2px rgba(77,18,58,.22) !important;
}

/* ============================================================
   V8 PHONE — FORCE WELCOME AND EMAIL TO PURE WHITE
   ============================================================ */
@media (max-width: 560px) {
  body.dtc-feminine-floral .result-header h1,
  body.dtc-feminine-floral .result-header h2,
  body.dtc-feminine-floral .result-header h3,
  body.dtc-feminine-floral .result-header p,
  body.dtc-feminine-floral .result-header p b,
  body.dtc-feminine-floral .result-header #result-email,
  body.dtc-feminine-floral #result-email,
  body.dtc-feminine-floral .portal-feminine-welcome-card h1,
  body.dtc-feminine-floral .portal-feminine-welcome-card h2,
  body.dtc-feminine-floral .portal-feminine-welcome-card h3,
  body.dtc-feminine-floral .portal-feminine-welcome-card [class*="email"],
  body.dtc-feminine-floral .portal-feminine-welcome-card [id*="email"],
  body.dtc-feminine-floral .feminine-welcome-card h1,
  body.dtc-feminine-floral .feminine-welcome-card h2,
  body.dtc-feminine-floral .feminine-welcome-card h3,
  body.dtc-feminine-floral .feminine-welcome-card [class*="email"],
  body.dtc-feminine-floral .feminine-welcome-card [id*="email"],
  body.dtc-feminine-floral .portal-home-welcome h1,
  body.dtc-feminine-floral .portal-home-welcome h2,
  body.dtc-feminine-floral .portal-home-welcome h3,
  body.dtc-feminine-floral .portal-home-welcome [class*="email"],
  body.dtc-feminine-floral .portal-home-welcome [id*="email"],
  body.dtc-feminine-floral .portal-mobile-welcome h1,
  body.dtc-feminine-floral .portal-mobile-welcome h2,
  body.dtc-feminine-floral .portal-mobile-welcome h3,
  body.dtc-feminine-floral .portal-mobile-welcome [class*="email"],
  body.dtc-feminine-floral .portal-mobile-welcome [id*="email"],
  body.dtc-feminine-floral .mobile-welcome-card h1,
  body.dtc-feminine-floral .mobile-welcome-card h2,
  body.dtc-feminine-floral .mobile-welcome-card h3,
  body.dtc-feminine-floral .mobile-welcome-card [class*="email"],
  body.dtc-feminine-floral .mobile-welcome-card [id*="email"],
  body.dtc-feminine-floral [data-feminine-card="welcome"] h1,
  body.dtc-feminine-floral [data-feminine-card="welcome"] h2,
  body.dtc-feminine-floral [data-feminine-card="welcome"] h3,
  body.dtc-feminine-floral [data-feminine-card="welcome"] [class*="email"],
  body.dtc-feminine-floral [data-feminine-card="welcome"] [id*="email"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 1px 2px rgba(77, 18, 58, 0.24) !important;
  }
}

/* ============================================================
   V9 FEMININE ACCOUNT / LOGOUT DROPDOWN FIX
   ============================================================ */

/* The desktop dropdown must be allowed to extend outside the Welcome card. */
body.dtc-feminine-floral .result-header {
  overflow: visible !important;
  position: relative !important;
  z-index: 120 !important;
}

body.dtc-feminine-floral .result-header::after {
  /* Keep the decorative flower behind the header content. */
  z-index: 0 !important;
}

body.dtc-feminine-floral .result-header > * {
  position: relative !important;
  z-index: 2 !important;
}

body.dtc-feminine-floral .portal-header-actions {
  position: relative !important;
  z-index: 500 !important;
  overflow: visible !important;
}

body.dtc-feminine-floral .portal-account {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

body.dtc-feminine-floral .portal-account-menu {
  z-index: 10000 !important;
  overflow: visible !important;
  background: #ffffff !important;
  border-color: #ead8e4 !important;
  box-shadow: 0 22px 58px rgba(91, 35, 74, .25) !important;
  color: #332934 !important;
}

/* Explicitly restore readable dark text inside the dropdown. */
body.dtc-feminine-floral .portal-account-menu,
body.dtc-feminine-floral .portal-account-menu div,
body.dtc-feminine-floral .portal-account-menu span,
body.dtc-feminine-floral .portal-account-menu strong,
body.dtc-feminine-floral .portal-account-menu small,
body.dtc-feminine-floral .portal-account-menu button {
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.dtc-feminine-floral .portal-account-identity {
  border-bottom-color: #f0e1ea !important;
}

body.dtc-feminine-floral .portal-account-identity span {
  color: #806d79 !important;
  -webkit-text-fill-color: #806d79 !important;
}

body.dtc-feminine-floral .portal-account-identity strong,
body.dtc-feminine-floral .portal-account-menu button:not(.danger),
body.dtc-feminine-floral .portal-account-menu button:not(.danger) strong {
  color: #342a35 !important;
  -webkit-text-fill-color: #342a35 !important;
}

body.dtc-feminine-floral .portal-account-menu button small {
  color: #7f707a !important;
  -webkit-text-fill-color: #7f707a !important;
}

body.dtc-feminine-floral .portal-account-menu button:hover {
  background: #fff3f8 !important;
}

body.dtc-feminine-floral .portal-account-menu button.danger,
body.dtc-feminine-floral .portal-account-menu button.danger strong {
  color: #b32655 !important;
  -webkit-text-fill-color: #b32655 !important;
}

body.dtc-feminine-floral .portal-account-menu button.danger small {
  color: #9a6678 !important;
  -webkit-text-fill-color: #9a6678 !important;
}

body.dtc-feminine-floral .portal-account-menu button.danger:hover {
  background: #fff0f5 !important;
}

body.dtc-feminine-floral .portal-account-menu .portal-menu-icon {
  background: #fff0f7 !important;
  color: #c12f78 !important;
  -webkit-text-fill-color: #c12f78 !important;
}

body.dtc-feminine-floral .portal-account-menu .danger .portal-menu-icon {
  background: #fff0f3 !important;
  color: #bd3154 !important;
  -webkit-text-fill-color: #bd3154 !important;
}

/* Keep the following dashboard cards below the open dropdown. */
body.dtc-feminine-floral .portal-combined-subscriptions,
body.dtc-feminine-floral .portal-tabs-shell,
body.dtc-feminine-floral .portal-pending-prompt,
body.dtc-feminine-floral .portal-orders-panel,
body.dtc-feminine-floral .portal-wallet-section,
body.dtc-feminine-floral .portal-shop-section {
  position: relative;
  z-index: 1;
}

@media (max-width: 560px) {
  body.dtc-feminine-floral .portal-account-menu {
    z-index: 10000 !important;
  }

  body.dtc-feminine-floral .portal-account-menu strong,
  body.dtc-feminine-floral .portal-account-menu small,
  body.dtc-feminine-floral .portal-account-menu span {
    text-shadow: none !important;
  }
}

/* ============================================================
   V10 ACCOUNT DROPDOWN TEXT VISIBILITY
   ============================================================ */

/* Desktop and phone: make the registered-email heading and value readable. */
body.dtc-feminine-floral .portal-account-menu .portal-account-identity span,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity > span {
  color: #665864 !important;
  -webkit-text-fill-color: #665864 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.dtc-feminine-floral .portal-account-menu .portal-account-identity strong,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity > strong,
body.dtc-feminine-floral #portal-account-email {
  color: #2f2630 !important;
  -webkit-text-fill-color: #2f2630 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Phone: force every dropdown label, description and icon to a dark colour. */
@media (max-width: 560px) {
  body.dtc-feminine-floral .portal-account-menu {
    background: #ffffff !important;
    color: #2f2630 !important;
  }

  body.dtc-feminine-floral .portal-account-menu *,
  body.dtc-feminine-floral .portal-account-menu button,
  body.dtc-feminine-floral .portal-account-menu button *,
  body.dtc-feminine-floral .portal-account-menu .danger,
  body.dtc-feminine-floral .portal-account-menu .danger * {
    color: #2f2630 !important;
    -webkit-text-fill-color: #2f2630 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }

  body.dtc-feminine-floral .portal-account-menu small,
  body.dtc-feminine-floral .portal-account-menu button small {
    color: #625762 !important;
    -webkit-text-fill-color: #625762 !important;
  }

  body.dtc-feminine-floral .portal-account-menu svg,
  body.dtc-feminine-floral .portal-account-menu .portal-menu-icon {
    color: #514451 !important;
    -webkit-text-fill-color: #514451 !important;
    stroke: currentColor !important;
  }

  body.dtc-feminine-floral .portal-account-menu button:hover,
  body.dtc-feminine-floral .portal-account-menu button.danger:hover {
    background: #fff3f8 !important;
  }
}

/* ============================================================
   V11 WALLET DESCRIPTION TEXT — DARK ON PHONE AND DESKTOP
   ============================================================ */
body.dtc-feminine-floral .portal-wallet-hero p,
body.dtc-feminine-floral .portal-wallet-hero > div > p,
body.dtc-feminine-floral #portal-wallet-section .portal-wallet-hero p {
  color: #4a3b46 !important;
  -webkit-text-fill-color: #4a3b46 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

@media (max-width: 560px) {
  body.dtc-feminine-floral .portal-wallet-hero p,
  body.dtc-feminine-floral .portal-wallet-hero > div > p,
  body.dtc-feminine-floral #portal-wallet-section .portal-wallet-hero p {
    color: #3f333d !important;
    -webkit-text-fill-color: #3f333d !important;
  }
}

/* ============================================================
   V12 ACCOUNT DROPDOWN VISIBILITY FINAL FIX
   ============================================================ */

/* Desktop and mobile: identity block text must be dark and readable. */
body.dtc-feminine-floral #portal-account-menu,
body.dtc-feminine-floral .portal-account-menu {
  background: #ffffff !important;
  color: #2f2630 !important;
}

body.dtc-feminine-floral #portal-account-menu .portal-account-identity,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity {
  background: transparent !important;
  border-bottom-color: #eddfe8 !important;
}

body.dtc-feminine-floral #portal-account-menu .portal-account-identity span,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity span,
body.dtc-feminine-floral #portal-account-menu .portal-account-identity > span,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity > span {
  color: #6a5b67 !important;
  -webkit-text-fill-color: #6a5b67 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.dtc-feminine-floral #portal-account-email,
body.dtc-feminine-floral #portal-account-menu .portal-account-identity strong,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity strong,
body.dtc-feminine-floral #portal-account-menu .portal-account-identity > strong,
body.dtc-feminine-floral .portal-account-menu .portal-account-identity > strong {
  color: #2f2630 !important;
  -webkit-text-fill-color: #2f2630 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Menu rows and descriptions. */
body.dtc-feminine-floral #portal-account-menu button,
body.dtc-feminine-floral .portal-account-menu button {
  color: #2f2630 !important;
  -webkit-text-fill-color: #2f2630 !important;
  background: transparent !important;
}

body.dtc-feminine-floral #portal-account-menu button:hover,
body.dtc-feminine-floral .portal-account-menu button:hover {
  background: #fff3f8 !important;
}

body.dtc-feminine-floral #portal-account-menu button > span:last-child,
body.dtc-feminine-floral .portal-account-menu button > span:last-child,
body.dtc-feminine-floral #portal-account-menu button > span:last-child *,
body.dtc-feminine-floral .portal-account-menu button > span:last-child * {
  color: #2f2630 !important;
  -webkit-text-fill-color: #2f2630 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.dtc-feminine-floral #portal-account-menu button strong,
body.dtc-feminine-floral .portal-account-menu button strong {
  color: #2f2630 !important;
  -webkit-text-fill-color: #2f2630 !important;
}

body.dtc-feminine-floral #portal-account-menu button small,
body.dtc-feminine-floral .portal-account-menu button small {
  color: #786a75 !important;
  -webkit-text-fill-color: #786a75 !important;
}

/* Keep logout red but readable. */
body.dtc-feminine-floral #portal-account-menu button.danger,
body.dtc-feminine-floral .portal-account-menu button.danger,
body.dtc-feminine-floral #portal-account-menu button.danger strong,
body.dtc-feminine-floral .portal-account-menu button.danger strong {
  color: #b42e57 !important;
  -webkit-text-fill-color: #b42e57 !important;
}

body.dtc-feminine-floral #portal-account-menu button.danger small,
body.dtc-feminine-floral .portal-account-menu button.danger small {
  color: #8a6775 !important;
  -webkit-text-fill-color: #8a6775 !important;
}

/* Icons. */
body.dtc-feminine-floral #portal-account-menu .portal-menu-icon,
body.dtc-feminine-floral .portal-account-menu .portal-menu-icon {
  background: #fff1f7 !important;
  color: #c23079 !important;
  -webkit-text-fill-color: #c23079 !important;
}

body.dtc-feminine-floral #portal-account-menu button.danger .portal-menu-icon,
body.dtc-feminine-floral .portal-account-menu button.danger .portal-menu-icon {
  background: #fff0f3 !important;
  color: #b93454 !important;
  -webkit-text-fill-color: #b93454 !important;
}

/* Extra phone-only forcing because mobile theme was still whitening text. */
@media (max-width: 560px) {
  body.dtc-feminine-floral #portal-account-menu,
  body.dtc-feminine-floral .portal-account-menu,
  body.dtc-feminine-floral #portal-account-menu *,
  body.dtc-feminine-floral .portal-account-menu * {
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }

  body.dtc-feminine-floral #portal-account-menu .portal-account-identity span,
  body.dtc-feminine-floral .portal-account-menu .portal-account-identity span {
    color: #6a5b67 !important;
    -webkit-text-fill-color: #6a5b67 !important;
  }

  body.dtc-feminine-floral #portal-account-email,
  body.dtc-feminine-floral #portal-account-menu .portal-account-identity strong,
  body.dtc-feminine-floral .portal-account-menu .portal-account-identity strong,
  body.dtc-feminine-floral #portal-account-menu button strong,
  body.dtc-feminine-floral .portal-account-menu button strong,
  body.dtc-feminine-floral #portal-account-menu button > span:last-child,
  body.dtc-feminine-floral .portal-account-menu button > span:last-child {
    color: #2f2630 !important;
    -webkit-text-fill-color: #2f2630 !important;
  }

  body.dtc-feminine-floral #portal-account-menu button small,
  body.dtc-feminine-floral .portal-account-menu button small {
    color: #786a75 !important;
    -webkit-text-fill-color: #786a75 !important;
  }

  body.dtc-feminine-floral #portal-account-menu button.danger,
  body.dtc-feminine-floral .portal-account-menu button.danger,
  body.dtc-feminine-floral #portal-account-menu button.danger strong,
  body.dtc-feminine-floral .portal-account-menu button.danger strong {
    color: #b42e57 !important;
    -webkit-text-fill-color: #b42e57 !important;
  }
}

/* ============================================================
   V13 HOME HEADER — ACCOUNT AND WALLET TEXT VISIBILITY
   ============================================================ */

/* Account button beside the logout dropdown. */
body.dtc-feminine-floral .portal-account-button,
body.dtc-feminine-floral #portal-account-button {
  background: rgba(255,255,255,.96) !important;
  color: #332a34 !important;
}

body.dtc-feminine-floral .portal-account-button-copy strong,
body.dtc-feminine-floral #portal-account-button .portal-account-button-copy strong {
  color: #332a34 !important;
  -webkit-text-fill-color: #332a34 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.dtc-feminine-floral .portal-account-button-copy span,
body.dtc-feminine-floral #portal-account-email-short {
  color: #6f616c !important;
  -webkit-text-fill-color: #6f616c !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* Wallet badge beside the account/logout button. */
body.dtc-feminine-floral #portal-wallet-header-badge,
body.dtc-feminine-floral .portal-wallet-header-badge {
  background: rgba(255,255,255,.96) !important;
}

body.dtc-feminine-floral .portal-wallet-header-copy small {
  color: #665763 !important;
  -webkit-text-fill-color: #665763 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.dtc-feminine-floral #portal-wallet-header-amount,
body.dtc-feminine-floral .portal-wallet-header-copy strong,
body.dtc-feminine-floral .portal-wallet-header-extra {
  color: #3a2d38 !important;
  -webkit-text-fill-color: #3a2d38 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

@media (max-width: 560px) {
  body.dtc-feminine-floral .portal-account-button-copy strong,
  body.dtc-feminine-floral #portal-account-button .portal-account-button-copy strong {
    color: #332a34 !important;
    -webkit-text-fill-color: #332a34 !important;
  }

  body.dtc-feminine-floral .portal-account-button-copy span,
  body.dtc-feminine-floral #portal-account-email-short {
    color: #6f616c !important;
    -webkit-text-fill-color: #6f616c !important;
  }

  body.dtc-feminine-floral .portal-wallet-header-copy small,
  body.dtc-feminine-floral #portal-wallet-header-amount,
  body.dtc-feminine-floral .portal-wallet-header-copy strong {
    color: #3a2d38 !important;
    -webkit-text-fill-color: #3a2d38 !important;
  }
}

/* ============================================================
   V14 MOBILE HARD FIX
   These selectors are intentionally not dependent on
   body.dtc-feminine-floral, because some phone layouts apply
   the feminine palette without adding that body class.
   ============================================================ */
@media (max-width: 760px) {
  html body #portal-account-button,
  html body #portal-wallet-header-badge {
    background: rgba(255,255,255,.97) !important;
  }

  html body #portal-account-button .portal-account-button-copy strong,
  html body #portal-account-button .portal-account-button-copy span,
  html body #portal-account-email-short,
  html body #portal-wallet-header-badge .portal-wallet-header-copy small,
  html body #portal-wallet-header-badge .portal-wallet-header-copy strong,
  html body #portal-wallet-header-amount,
  html body #portal-wallet-header-extra {
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }

  html body #portal-account-button .portal-account-button-copy strong {
    color: #332a34 !important;
    -webkit-text-fill-color: #332a34 !important;
  }

  html body #portal-account-button .portal-account-button-copy span,
  html body #portal-account-email-short {
    color: #6f616c !important;
    -webkit-text-fill-color: #6f616c !important;
  }

  html body #portal-wallet-header-badge .portal-wallet-header-copy small {
    color: #665763 !important;
    -webkit-text-fill-color: #665763 !important;
  }

  html body #portal-wallet-header-badge .portal-wallet-header-copy strong,
  html body #portal-wallet-header-amount,
  html body #portal-wallet-header-extra {
    color: #3a2d38 !important;
    -webkit-text-fill-color: #3a2d38 !important;
  }

  html body #portal-account-menu {
    z-index: 10000 !important;
    background: #ffffff !important;
    color: #2f2630 !important;
    border-color: #ead8e4 !important;
    box-shadow: 0 22px 58px rgba(91,35,74,.25) !important;
  }

  html body #portal-account-menu .portal-account-identity span {
    color: #6a5b67 !important;
    -webkit-text-fill-color: #6a5b67 !important;
  }

  html body #portal-account-menu .portal-account-identity strong,
  html body #portal-account-email,
  html body #portal-account-menu button,
  html body #portal-account-menu button strong {
    color: #2f2630 !important;
    -webkit-text-fill-color: #2f2630 !important;
  }

  html body #portal-account-menu button small {
    color: #786a75 !important;
    -webkit-text-fill-color: #786a75 !important;
  }

  html body #portal-account-menu button.danger,
  html body #portal-account-menu button.danger strong {
    color: #b42e57 !important;
    -webkit-text-fill-color: #b42e57 !important;
  }

  html body #portal-account-menu button.danger small {
    color: #8a6775 !important;
    -webkit-text-fill-color: #8a6775 !important;
  }

  html body #portal-account-menu,
  html body #portal-account-menu * {
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }
}

/* ============================================================
   V15 MOBILE ACCOUNT MENU — EXACT TEXT VISIBILITY
   ============================================================ */
@media (max-width: 760px) {
  html body #portal-account-menu,
  html body .portal-account-menu,
  html body [class*="account-menu"],
  html body [class*="account-dropdown"],
  html body [class*="account-sheet"] {
    background: #ffffff !important;
    color: #2f2630 !important;
  }

  html body #portal-account-menu strong,
  html body #portal-account-menu b,
  html body .portal-account-menu strong,
  html body .portal-account-menu b,
  html body [class*="account-menu"] strong,
  html body [class*="account-dropdown"] strong,
  html body [class*="account-sheet"] strong {
    color: #2f2630 !important;
    -webkit-text-fill-color: #2f2630 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }

  html body #portal-account-menu small,
  html body #portal-account-menu p,
  html body .portal-account-menu small,
  html body .portal-account-menu p,
  html body [class*="account-menu"] small,
  html body [class*="account-dropdown"] small,
  html body [class*="account-sheet"] small {
    color: #756873 !important;
    -webkit-text-fill-color: #756873 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }
}

/* ============================================================
   V16 DESKTOP DROPDOWN OPEN/CLOSE STATE FIX
   Earlier text-visibility rules accidentally forced the menu
   container itself to remain visible. The .open class now
   exclusively controls whether the dropdown is shown.
   ============================================================ */
html body #portal-account-menu:not(.open),
html body .portal-account-menu:not(.open) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-7px) !important;
}

html body #portal-account-menu.open,
html body .portal-account-menu.open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Children stay readable only while the menu is open. */
html body #portal-account-menu:not(.open) *,
html body .portal-account-menu:not(.open) * {
  pointer-events: none !important;
}

html body #portal-account-menu.open *,
html body .portal-account-menu.open * {
  visibility: visible !important;
}
