/* ============================================================================
 * PRISMA — account + login/register + wishlist + compare fixes.
 * Loaded LAST (after prisma-ui.css). Tokens only, never #fff. Targets rz-*.
 * Does NOT touch prisma-ui.css / rz.css / header.tpl.
 * ========================================================================== */

/* ---------------------------------------------------------------------------
 * 1. ANTISPAM HONEYPOT — must never be visible on ANY form.
 *    prisma-ui.css already off-screens the input/label; extend it so the
 *    honeypot's WRAPPER (JTL renders it inside a .form-group / .antispam block)
 *    is off-screened too — otherwise an empty group leaves a stray gap.
 *    The field STAYS in the DOM + submittable (JTL checks it server-side).
 * ------------------------------------------------------------------------- */
.jtlw input[name="sp_additional_mail"],
.jtlw label[for="sp_additional_mail"],
.jtlw :where(.form-group,.formgroup,.form-row,.antispam,.sp-wrapper,.d-flex):has(> input[name="sp_additional_mail"]),
.jtlw :where(.form-group,.formgroup,.antispam,.sp-wrapper):has(input[name="sp_additional_mail"]){
  position:absolute !important; left:-9999px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none !important;
  margin:0 !important; padding:0 !important; border:0 !important;
}

/* ---------------------------------------------------------------------------
 * 2. --soft COLLAPSE. In Prisma light, prisma-ui.css sets --soft:#FFFFFF, the
 *    same as --surface. Every "soft fill" (nav active/hover, order-status
 *    badges, icon chips, tab track, compare label column, input-group text,
 *    inline alerts) therefore turns white-on-white INSIDE the white cards of
 *    the account/auth/compare views and disappears. Remap --soft -> --sand
 *    (warm tint) locally so all of them read in BOTH themes, in one move.
 *    Scoped to these containers only, so verified pages + checkout panels are
 *    untouched (their .rz-panel is NOT inside .rz-acct).
 * ------------------------------------------------------------------------- */
.rz-acct,
.rz-authcard,
.rz-comptable-wrap{ --soft:var(--sand); }

/* ---------------------------------------------------------------------------
 * 3. SIDEBAR NAV active state. With the remap the active/hover item now has a
 *    visible sand fill; add a red accent bar + red icon so the CURRENT page is
 *    unmistakable and distinct from hover.
 * ------------------------------------------------------------------------- */
.rz-scope .rz-acct-nav a{ transition:background .15s, color .15s; }
.rz-scope .rz-acct-nav a:hover{ background:var(--sand); color:var(--ink); }
.rz-scope .rz-acct-nav a.is-active{
  background:var(--sand); color:var(--ink); font-weight:700; position:relative;
}
.rz-scope .rz-acct-nav a.is-active::before{
  content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px;
  border-radius:0 3px 3px 0; background:var(--red);
}
.rz-scope .rz-acct-nav a.is-active i{ color:var(--red); }

/* ---------------------------------------------------------------------------
 * 4. AVATAR chip. rz.css hardcodes a gold gradient + #fff (off-brand for
 *    Prisma + not token-driven). Pin to the accent so it matches the header
 *    logo mark and adapts in dark (--onRed flips with --red).
 * ------------------------------------------------------------------------- */
.rz-scope .rz-acct-id__av{
  background:var(--red); color:var(--onRed);
  font-family:var(--head); letter-spacing:.02em; text-transform:uppercase;
}

/* ---------------------------------------------------------------------------
 * 5. custom-select CARET. prisma.css sets `select{background:var(--jw-surface)}`
 *    (shorthand) which wipes Bootstrap's caret from every .custom-select in the
 *    register / address forms, leaving a blank box that reads as a text field.
 *    Restore a token-neutral chevron (mid warm-grey reads on light + dark).
 * ------------------------------------------------------------------------- */
.rz-authcard select.custom-select,
.rz-acct select.custom-select,
.rz-panel select.custom-select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:40px; background-repeat:no-repeat;
  background-position:right 14px center; background-size:15px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b8878' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}
.rz-authcard select.custom-select::-ms-expand,
.rz-acct select.custom-select::-ms-expand,
.rz-panel select.custom-select::-ms-expand{ display:none; }

/* ---------------------------------------------------------------------------
 * 6. Section dividers inside the Bootstrap register / address forms. Bootstrap
 *    <hr> uses a translucent black border that all but vanishes in dark; pin to
 *    the token hairline so the "Name / Rechnungsadresse / Kontakt" groups read.
 * ------------------------------------------------------------------------- */
.rz-authcard hr,
.rz-acct hr,
.rz-panel hr{ border:0; border-top:1px solid var(--line); opacity:1; margin:22px 0; }

/* register form sub-headings (.h2/.h3 come from the shared JTL address form) */
.rz-authcard .h2,
.rz-panel .h2{ font-size:19px; font-weight:700; color:var(--ink); }
.rz-authcard .h3,
.rz-panel .h3{ font-size:14px; font-weight:700; color:var(--ink2); }

/* ---------------------------------------------------------------------------
 * 7. Order-status badge — keep it a legible neutral pill (sand fill via the
 *    remap already applies; make sure the text tone holds in both themes).
 * ------------------------------------------------------------------------- */
.rz-scope .rz-obadge--open{ color:var(--ink2); background:var(--sand); }

/* ---------------------------------------------------------------------------
 * 8. Compare-list label column — give the first column a readable tint and let
 *    the sticky-ish header/name cells breathe. (fill via remap; keep border.)
 * ------------------------------------------------------------------------- */
.rz-scope .rz-comptable td:first-child{ background:var(--sand); }

/* ---------------------------------------------------------------------------
 * 9. Wishlist visibility switch label — ensure the public/private text stays on
 *    a legible tone next to the toggle in both themes.
 * ------------------------------------------------------------------------- */
.rz-scope .custom-control.custom-switch .custom-control-label{ color:var(--ink2); }

/* ---------------------------------------------------------------------------
 * 10. Safety: never let an account/auth panel invert via --ink backgrounds.
 *     (rz.css account panels use --surface already; this pins any stray one.)
 * ------------------------------------------------------------------------- */
.rz-acct-nav,
.rz-authcard,
.rz-panel,
.rz-stat,
.rz-card-plain,
.rz-infocard,
.rz-empty{ background:var(--surface); color:var(--ink); }

/* ---------------------------------------------------------------------------
 * 11. PRIMARY MACRO BUTTONS -> accent. JTL's {button variant="primary"} emits
 *     .btn-primary; rz.css's gold-era bridge (spec up to 0,4,0 !important, "the
 *     primary CTA is ink") paints it dark, so the register submit + wishlist
 *     add-to-cart render ink while every rebuilt CTA (.rz-btn) is the accent —
 *     jarring next to the red login button on the same auth flow. prisma.css
 *     already re-intends .btn-primary=accent but its bridge (0,2,1) can't win.
 *     Complete that intent for THIS area's macro buttons (scoped to our own
 *     containers only, so checkout/PDP choices are untouched). Spec 0,5,0 wins.
 * ------------------------------------------------------------------------- */
.jtlw .rz-authcard .btn-primary:not(:disabled):not(.disabled),
.jtlw .snippets-wishlist .btn-primary:not(:disabled):not(.disabled){
  background:var(--red) !important; background-image:none !important;
  border:1px solid var(--red) !important; color:var(--onRed) !important;
  border-radius:999px !important; box-shadow:none !important;
}
.jtlw .rz-authcard .btn-primary:not(:disabled):not(.disabled):hover,
.jtlw .rz-authcard .btn-primary:not(:disabled):not(.disabled):focus,
.jtlw .snippets-wishlist .btn-primary:not(:disabled):not(.disabled):hover,
.jtlw .snippets-wishlist .btn-primary:not(:disabled):not(.disabled):focus{
  background:var(--jw-accent-2) !important; border-color:var(--jw-accent-2) !important;
  color:var(--onRed) !important;
}

/* =============================================================================
   LOGIN — guest-checkout box, ported from the design prototype (screen "Login").
   Dashed outline so it reads as a secondary path out of the login card, not a
   second primary action.
   ========================================================================== */
.jtlw .rz-guestbox{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:16px;padding:16px 18px;border:1px dashed var(--line2);border-radius:16px}
.jtlw .rz-guestbox__copy{min-width:0}
.jtlw .rz-guestbox__copy b{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.jtlw .rz-guestbox__copy span{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.jtlw .rz-guestbox__btn{flex-shrink:0;padding:10px 20px;border-radius:999px;
  background:var(--surface);border:1px solid var(--line2);color:var(--ink);
  font-size:13.5px;font-weight:600;white-space:nowrap;width:auto}
.jtlw .rz-guestbox__btn:hover{border-color:var(--ink);background:var(--surface);color:var(--ink)}
@media (max-width:520px){
  .jtlw .rz-guestbox{flex-direction:column;align-items:stretch}
  .jtlw .rz-guestbox__btn{text-align:center}
}

/* =============================================================================
   KONTO — stat tiles, ported from the design prototype (screen "Konto").
   The design leads each tile with the value (32px, 800) and puts the label
   underneath in muted 13px. my_account.tpl emits label-then-value, so the order
   is flipped with flex rather than by reordering the markup — that keeps the
   reading order label-first for screen readers, which is the correct semantics.
   ========================================================================== */
.jtlw .rz-stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;
  border-radius:20px;padding:22px 24px;gap:6px;min-height:104px}
.jtlw .rz-stat__v{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.jtlw .rz-stat__k{font-size:13px;color:var(--muted)}

/* page head: greeting left, customer number right in mono */
.jtlw .rz-pagehead--acct{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.jtlw .rz-pagehead--acct h1{margin:0;font-size:clamp(30px,4vw,48px);font-weight:800;letter-spacing:-.03em}
.jtlw .rz-custno{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
/* a group name is a word, not a number — don't render it at 32px */
.jtlw .rz-stat__v--sm{font-size:24px}

/* Schnellzugriff — accent arrow links */
.jtlw .rz-quick__list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.jtlw .rz-quick__list a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--red)}
.jtlw .rz-quick__list a:hover{color:var(--ink)}
