/* Natura Club points — premium restyle (POINTS-PREMIUM). Visual only: no wording, logic or rate changes.
 * Brand: forest #1B3A34 / deep #0F1F1C, gold #D4AF37 / light gold #F1D98A, cream #F6F1E8.
 * Headings Cormorant Garamond, UI Montserrat. All text pairs ≥4.5:1; controls ≥44px; focus ring 3px.
 * Emblem = decorative CSS background (no markup, not announced). */
:root{
  --np-forest:#1B3A34;--np-deep:#0F1F1C;--np-gold:#D4AF37;--np-gold-lt:#F1D98A;--np-gold-dk:#9C7A26;
  --np-cream:#F6F1E8;--np-ink:#1d2624;
  --np-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --np-sans:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
  --np-emblem:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2218.5%22 fill=%22%231B3A34%22 stroke=%22%23D4AF37%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%2220%22 cy=%2220%22 r=%2215.5%22 fill=%22none%22 stroke=%22%23D4AF37%22 stroke-opacity=%22.35%22 stroke-width=%22.75%22/%3E%3Cpath d=%22M20 8.5c4.2 4.3 5.2 9.6 0 17.5-5.2-7.9-4.2-13.2 0-17.5z%22 fill=%22%23E1BE55%22/%3E%3Cpath d=%22M19.6 26.2c-1.6-5.4-5.6-8.4-11.1-8.6 1 6.1 5 9.3 11.1 8.6zM20.4 26.2c1.6-5.4 5.6-8.4 11.1-8.6-1 6.1-5 9.3-11.1 8.6z%22 fill=%22%23D4AF37%22/%3E%3Cpath d=%22M20 26v5.5%22 stroke=%22%23D4AF37%22 stroke-width=%221.4%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");
}

/* Shared main line (account) */
.natura-points-main{margin:0 0 16px;font-size:15px;line-height:1.6;color:#1d2624}
.natura-points-main a.natura-points-terms-link{color:#1B3A34;font-weight:600;text-decoration:underline;text-decoration-color:#D4AF37;text-decoration-thickness:2px;text-underline-offset:3px}
.natura-points-main a.natura-points-terms-link:hover,
.natura-points-main a.natura-points-terms-link:focus-visible{color:#0F1F1C;outline:3px solid #1B3A34;outline-offset:2px;text-decoration-color:currentColor}

/* ---------- Popup (dark dialog): gold-hairline inset card with emblem ---------- */
.natura-epop .natura-points-main,
.natura-epop__points{
  position:relative;margin:0 0 18px;padding:14px 14px 14px 60px;
  font-size:13.5px;line-height:1.5;color:#E8E0D0;text-align:left;
  border:1px solid rgba(212,175,55,.5);border-radius:12px;
  background:linear-gradient(135deg,rgba(212,175,55,.13) 0%,rgba(212,175,55,.04) 60%,rgba(212,175,55,.08) 100%);
  box-shadow:inset 0 1px 0 rgba(241,217,138,.12);
}
.natura-epop .natura-points-main::before{
  content:"";position:absolute;left:14px;top:14px;width:34px;height:34px;
  background:var(--np-emblem) center/contain no-repeat;
}
.natura-epop .natura-points-main a.natura-points-terms-link{color:#F1D98A!important;text-decoration:underline;text-decoration-color:#D4AF37;text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:600}
.natura-epop .natura-points-main a.natura-points-terms-link:hover,
.natura-epop .natura-points-main a.natura-points-terms-link:focus-visible{color:#fff!important;outline:3px solid #F1D98A;outline-offset:2px}

/* ---------- Cart earn line ---------- */
.natura-points-cart{
  position:relative;margin:14px 0 0;padding:14px 16px 14px 62px;min-height:62px;
  display:block;border-radius:12px;font-family:var(--np-sans);font-size:15px;line-height:1.45;font-weight:600;
}
.natura-points-cart::before{
  content:"";position:absolute;left:14px;top:50%;width:36px;height:36px;margin-top:-18px;
  background:var(--np-emblem) center/contain no-repeat;
}
/* Guest: warm cream invitation card, gold hairline */
.natura-points-cart--guest,
.natura-points-cart:not(.natura-points-cart--member){
  color:#1B3A34;background:linear-gradient(135deg,#FBF7EE 0%,#F4ECDA 100%);
  border:1px solid rgba(212,175,55,.7);box-shadow:0 1px 2px rgba(15,31,28,.05);
}
.natura-points-cart__join{color:#1B3A34;font-weight:700;text-decoration:underline;text-decoration-color:#D4AF37;text-decoration-thickness:2px;text-underline-offset:3px}
.natura-points-cart__join:hover,.natura-points-cart__join:focus-visible{color:#0F1F1C;outline:3px solid #1B3A34;outline-offset:2px;text-decoration-color:currentColor}
/* Member: forest "member card" */
.natura-points-cart--member{
  color:#F7F3EA;background:linear-gradient(135deg,#1B3A34 0%,#14302A 55%,#0F1F1C 100%);
  border:1px solid rgba(212,175,55,.65);box-shadow:0 6px 18px rgba(15,31,28,.18),inset 0 1px 0 rgba(241,217,138,.15);
}

/* Serif balances: lining figures so numbers read clearly */
.natura-points-redeem__balance,.natura-points-account__bal,.natura-points-terms__h{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}

/* ---------- Checkout redeem card ---------- */
.natura-points-redeem{
  position:relative;margin:4px 0 18px;padding:18px 18px 16px;
  border:1px solid rgba(212,175,55,.6);border-top:3px solid #D4AF37;border-radius:12px;
  background:linear-gradient(180deg,#FFFDF8 0%,#FBF7EE 100%);color:#1d2624;
  box-shadow:0 8px 22px rgba(15,31,28,.07);font-family:var(--np-sans);
}
.natura-points-redeem__balance{
  position:relative;margin:0 0 14px;padding:4px 0 14px 54px;min-height:56px;
  font-family:var(--np-serif);font-weight:600;font-size:26px;line-height:1.15;letter-spacing:.005em;color:#1B3A34;
  border-bottom:1px solid rgba(212,175,55,.45);
}
.natura-points-redeem__balance::before{
  content:"";position:absolute;left:0;top:0;width:42px;height:42px;
  background:var(--np-emblem) center/contain no-repeat;
}
.natura-points-redeem__hint{margin:0;font-size:14px;line-height:1.5;color:#1d2624}
.natura-points-redeem__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.natura-points-redeem__label{
  flex:1 1 100%;margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1B3A34;
}
.natura-points-redeem__select{
  flex:1 1 220px;min-height:44px;padding:10px 40px 10px 14px;border:1px solid #1B3A34;border-radius:10px;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 8%22%3E%3Cpath d=%22M1 1.5l5 5 5-5%22 fill=%22none%22 stroke=%22%231B3A34%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") right 14px center/12px 8px no-repeat;
  color:#1d2624;font:inherit;font-size:15px;font-weight:500;line-height:1.3;cursor:pointer;
  box-shadow:inset 0 1px 2px rgba(15,31,28,.06);
}
.natura-points-redeem__select:hover{border-color:#0F1F1C}
.natura-points-redeem__select:focus-visible,
.natura-points-redeem__apply:focus-visible{outline:3px solid #1B3A34;outline-offset:2px}
.natura-points-redeem__apply{
  min-height:44px;min-width:120px;padding:10px 22px;border:1px solid #1B3A34;border-radius:10px;
  background:linear-gradient(180deg,#24493F 0%,#1B3A34 100%);color:#fff;
  font:inherit;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:inset 0 -2px 0 #D4AF37,0 2px 6px rgba(15,31,28,.15);
}
.natura-points-redeem__apply:hover{background:#2E5A4F;color:#fff}
.natura-points-redeem__apply:active{transform:translateY(1px)}
.natura-points-redeem__chosen{
  display:inline-block;margin:14px 0 0;padding:8px 14px 8px 38px;position:relative;
  font-size:14px;font-weight:700;line-height:1.4;color:#1B3A34;
  background:#F6EDCF;border:1px solid rgba(212,175,55,.8);border-radius:999px;
}
.natura-points-redeem__chosen::before{
  content:"";position:absolute;left:10px;top:50%;width:20px;height:20px;margin-top:-10px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22%3E%3Ccircle cx=%2210%22 cy=%2210%22 r=%229%22 fill=%22%231B3A34%22/%3E%3Cpath d=%22M6 10.4l2.6 2.6L14 7.6%22 fill=%22none%22 stroke=%22%23F1D98A%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---------- My Account: Natura Points ---------- */
.natura-points-account{color:#1d2624;font-family:var(--np-sans)}
.natura-points-account__hero{
  position:relative;margin:0 0 20px;padding:26px 26px 22px 104px;border-radius:16px;overflow:hidden;
  background:
    radial-gradient(120% 140% at 100% 0%,rgba(212,175,55,.18) 0%,rgba(212,175,55,0) 55%),
    linear-gradient(135deg,#1B3A34 0%,#14302A 55%,#0F1F1C 100%);
  border:1px solid rgba(212,175,55,.6);box-shadow:0 12px 30px rgba(15,31,28,.18),inset 0 1px 0 rgba(241,217,138,.15);
}
.natura-points-account__hero::before{
  content:"";position:absolute;left:24px;top:24px;width:60px;height:60px;
  background:var(--np-emblem) center/contain no-repeat;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));
}
.natura-points-account__bal{
  margin:0;font-family:var(--np-serif);font-size:34px;font-weight:600;line-height:1.1;letter-spacing:.005em;color:#F1D98A;
}
.natura-points-account > .natura-points-account__bal{ /* fallback if hero wrapper is absent */
  padding:18px 20px;border-radius:14px;background:#1B3A34;border:1px solid rgba(212,175,55,.6);margin:0 0 16px;
}
.natura-points-progress{
  margin:14px 0 0;height:8px;border-radius:999px;background:rgba(241,217,138,.18);
  box-shadow:inset 0 0 0 1px rgba(241,217,138,.28);overflow:hidden;max-width:420px;
}
.natura-points-progress__fill{
  display:block;height:100%;min-width:8px;border-radius:inherit;
  background:linear-gradient(90deg,#9C7A26 0%,#D4AF37 55%,#F1D98A 100%);
}
.natura-points-account__h{
  position:relative;margin:28px 0 14px;padding:0 0 8px;font-family:var(--np-serif);font-size:26px;font-weight:600;line-height:1.15;color:#1B3A34;
}
.natura-points-account__h::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:2px;background:#D4AF37;border-radius:2px}
.natura-points-account__empty{color:#1d2624}
.natura-points-log{
  width:100%;border-collapse:separate;border-spacing:0;margin:0 0 24px;
  background:#fff;border:1px solid rgba(212,175,55,.5);border-radius:12px;overflow:hidden;
}
.natura-points-log th,.natura-points-log td{text-align:left;padding:14px 16px;border-top:1px solid rgba(27,58,52,.1);color:#1d2624;vertical-align:top}
.natura-points-log th{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-top:0;color:#1B3A34;background:#F6F1E8;
  border-bottom:1px solid rgba(212,175,55,.45);
}
.natura-points-log tbody tr:first-child td{border-top:0}
.natura-points-log tbody tr:hover td{background:#FDFBF6}
.natura-points-log td a{color:#1B3A34;font-weight:600;text-decoration:underline;text-decoration-color:#D4AF37;text-decoration-thickness:2px;text-underline-offset:3px}
.natura-points-log th:last-child,.natura-points-log td:last-child{text-align:right}
.natura-points-log__reason{display:block;margin-top:2px;font-size:13px;color:#3a4743}
.natura-points-log__delta{font-weight:700;font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}
.natura-points-log__delta.is-pos{color:#1B3A34}
.natura-points-log__delta.is-neg{color:#7a2e1f}
.natura-points-dash{
  position:relative;margin:0 0 16px;padding:12px 16px 12px 56px;min-height:56px;color:#1d2624;
  background:linear-gradient(135deg,#FBF7EE 0%,#F4ECDA 100%);border:1px solid rgba(212,175,55,.7);border-radius:12px;font-weight:600;
}
.natura-points-dash::before{content:"";position:absolute;left:12px;top:50%;width:32px;height:32px;margin-top:-16px;background:var(--np-emblem) center/contain no-repeat}
.natura-points-dash a{color:#1B3A34;font-weight:700;text-decoration:underline;text-decoration-color:#D4AF37;text-decoration-thickness:2px;text-underline-offset:3px}
.natura-points-dash a:focus-visible,.natura-points-log a:focus-visible{outline:3px solid #1B3A34;outline-offset:2px}

/* ---------- Terms block ---------- */
.natura-points-terms{
  margin:36px 0;padding:24px 26px 26px;border:1px solid rgba(212,175,55,.6);border-top:3px solid #D4AF37;border-radius:14px;
  background:linear-gradient(180deg,#FFFDF8 0%,#F6F1E8 100%);color:#1d2624;box-shadow:0 8px 22px rgba(15,31,28,.06);
}
.natura-points-terms__h{
  position:relative;margin:0 0 14px;padding:4px 0 12px 52px;min-height:40px;
  font-family:var(--np-serif);font-size:30px;font-weight:600;line-height:1.15;color:#1B3A34;
  border-bottom:1px solid rgba(212,175,55,.45);
}
.natura-points-terms__h::before{content:"";position:absolute;left:0;top:0;width:40px;height:40px;background:var(--np-emblem) center/contain no-repeat}
.natura-points-terms__p{margin:0;font-size:16px;line-height:1.65;color:#1d2624;max-width:46em}

@media (max-width:480px){
  .natura-epop .natura-points-main{font-size:13px;padding:12px 12px 12px 52px}
  .natura-epop .natura-points-main::before{left:12px;top:12px;width:30px;height:30px}
  .natura-points-cart{padding:12px 14px 12px 58px;font-size:14.5px}
  .natura-points-cart::before{left:12px;width:34px;height:34px;margin-top:-17px}
  .natura-points-redeem{padding:16px 14px 14px}
  .natura-points-redeem__balance{font-size:24px;padding-left:50px}
  .natura-points-redeem__balance::before{width:40px;height:40px}
  .natura-points-redeem__row{flex-direction:column;align-items:stretch}
  .natura-points-redeem__select,.natura-points-redeem__apply{width:100%;flex:none}
  .natura-points-redeem__chosen{display:block}
  .natura-points-account__hero{padding:20px 18px 18px 84px}
  .natura-points-account__hero::before{left:16px;top:18px;width:52px;height:52px}
  .natura-points-account__bal{font-size:28px}
  .natura-points-log th,.natura-points-log td{padding:12px 10px}
  .natura-points-log td:first-child{font-size:13.5px}
  .natura-points-terms{padding:20px 16px 22px}
  .natura-points-terms__h{font-size:26px;padding-left:46px}
  .natura-points-terms__h::before{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.natura-points-redeem__apply:active{transform:none}}
@media (forced-colors:active){
  .natura-points-cart,.natura-points-redeem,.natura-points-account__hero,.natura-points-terms,.natura-epop .natura-points-main{border:1px solid CanvasText}
  .natura-points-progress{border:1px solid CanvasText}
  .natura-points-progress__fill{background:Highlight}
}
