/* Prop Haven Loyalty. Uses the theme's colour tokens when present. */
.phl,.phl-bar,.phl-earn{--phl-wine:var(--ph-wine,#6B003E);--phl-deep:var(--ph-wine-tint,#3D0022);--phl-gold:var(--ph-gold,#FECC02);--phl-ink:var(--ph-ink,#F6EFEF);--phl-soft:var(--ph-ink-soft,#CBA6BD);--phl-line:var(--ph-line,#5A1C40);--phl-surface:var(--ph-surface,#2A0A1C);--phl-mono:'IBM Plex Mono',ui-monospace,monospace}
.phl-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--phl-gold);box-shadow:0 0 0 4px rgba(254,204,2,.18)}

/* product page line */
.phl-earn{display:flex;align-items:center;gap:10px;margin:6px 0 18px;font-size:14px;color:var(--phl-soft)}
.phl-earn b{color:var(--phl-gold)}

/* cart and checkout switch */
.phl-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:0 0 22px;border-radius:12px;border:1px solid var(--phl-line);background:linear-gradient(120deg,var(--phl-surface),var(--phl-deep));color:var(--phl-ink)}
.phl-bar p{margin:0;font-size:14px;line-height:1.45}
.phl-bar a{color:var(--phl-gold)}
.phl-bar-text{flex:1;min-width:200px}
.phl-small{color:var(--phl-soft);font-size:13px !important;margin-top:2px !important}
.phl-toggle{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;background:var(--phl-gold);color:#1D1206 !important;font-weight:700;font-size:14px;text-decoration:none !important;white-space:nowrap}
.phl-toggle.is-on{background:transparent;border:1.5px solid rgba(246,239,239,.4);color:var(--phl-ink) !important}

/* my account card */
.phl{color:var(--phl-ink)}
.phl h3{font-family:'Work Sans',sans-serif;font-weight:900;letter-spacing:-.03em;font-size:24px;margin:34px 0 14px}
.phl-card{width:min(440px,100%);aspect-ratio:1.586;border-radius:20px;position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 0% 0%,#9a1767 0%,var(--phl-wine) 45%,#2a0018 100%);
  box-shadow:0 30px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(254,204,2,.35);padding:6% 7%;display:flex;flex-direction:column;justify-content:space-between}
.phl-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(254,204,2,.06) 14px 15px);pointer-events:none}
.phl-row{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative}
.phl-row img{width:42%;max-width:180px;height:auto}
.phl-tier{font-family:var(--phl-mono);font-size:11px;letter-spacing:.2em;color:var(--phl-gold);border:1px solid var(--phl-gold);padding:5px 9px;border-radius:999px}
.phl-chip{display:block;width:clamp(36px,12%,56px);aspect-ratio:1.3;border-radius:7px;background:linear-gradient(135deg,#ffe36b,#c99a00);position:relative}
.phl-num{font-family:var(--phl-mono);font-size:clamp(12px,3.4vw,17px);letter-spacing:.16em;position:relative}
.phl-pts{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;position:relative}
.phl-pts div{display:flex;flex-direction:column;gap:4px}
.phl-pts span{font-family:var(--phl-mono);font-size:10px;letter-spacing:.16em;color:var(--phl-soft);text-transform:uppercase}
.phl-pts b{font-family:'Work Sans',sans-serif;font-weight:900;font-size:clamp(28px,8vw,44px);letter-spacing:-.04em;line-height:.9;color:var(--phl-gold)}
.phl-name{text-align:right;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phl-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;max-width:560px}
.phl-stats div{padding:16px;border:1px solid var(--phl-line);border-radius:12px;background:var(--phl-surface)}
.phl-stats b{display:block;font-family:'Work Sans',sans-serif;font-weight:900;font-size:26px;letter-spacing:-.03em}
.phl-stats span{font-size:13px;color:var(--phl-soft)}
.phl-how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:phl}
.phl-how li{counter-increment:phl;padding:16px;border-radius:12px;border:1px solid var(--phl-line)}
.phl-how li::before{content:"0" counter(phl);display:block;font-family:var(--phl-mono);font-size:12px;color:var(--phl-gold);margin-bottom:6px}
.phl-how b{display:block;font-size:16px;margin-bottom:4px}
.phl-how span{font-size:13.5px;line-height:1.45;color:var(--phl-soft)}
.phl-history{width:100%;border-collapse:collapse;font-size:14px}
.phl-history th{text-align:left;font-family:var(--phl-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--phl-soft);padding:8px 6px;border-bottom:1px solid var(--phl-line)}
.phl-history td{padding:10px 6px;border-bottom:1px solid var(--phl-line);vertical-align:top}
.phl-history small{display:block;color:var(--phl-soft);font-size:12px}
.phl-history td:last-child,.phl-history th:last-child{text-align:right;font-family:var(--phl-mono)}
.phl-history .is-pos{color:var(--phl-gold)}
.phl-history .is-neg{color:var(--phl-soft)}
.phl-empty{color:var(--phl-soft)}
@media (max-width:600px){.phl-how{grid-template-columns:minmax(0,1fr)}.phl-stats{grid-template-columns:minmax(0,1fr)}}
