/* Reward Points — customer-facing styles.

   Every colour resolves through a variable. The defaults below are the light
   scheme, so the stylesheet still looks right on its own; RWP_Account::assets()
   overwrites them inline according to the Colour scheme setting.

   The same variable block is applied to four wrappers, because this plugin
   renders in places that are not nested in one another: the Rewards tab
   (.rwp-account), the classic totals row (.rwp-earn-row), the standalone panel
   used by the Cart and Checkout blocks and the order-received page
   (.rwp-earn-panel), and the legacy paragraph (.rwp-earn-note). */
.rwp-account,
.rwp-earn-row,
.rwp-earn-note,
.rwp-earn-panel{
	--rwp-accent:#4b5563;
	--rwp-text:#111111;
	--rwp-muted:rgba(0,0,0,.55);
	--rwp-line:rgba(0,0,0,.12);
	--rwp-field-bg:#ffffff;
	--rwp-chip-bg:rgba(0,0,0,.05);
	--rwp-track:rgba(0,0,0,.07);
	--rwp-pos:#1e7a3c;
	--rwp-neg:#a92222;
	--rwp-ok-bg:#e6f4ea;   --rwp-ok-fg:#1e7a3c;
	--rwp-info-bg:#e8f0fe; --rwp-info-fg:#1a56b8;
	--rwp-bad-bg:#fbeaea;  --rwp-bad-fg:#a92222;
	--rwp-warn-bg:#fdf3e2; --rwp-warn-fg:#8a6116;
}
.rwp-account{
	font-size:15px;
	color:var(--rwp-text);
}
.rwp-account *{box-sizing:border-box}

/* Headings and body copy follow the scheme rather than the theme default. */
.rwp-account h1,
.rwp-account h2,
.rwp-account h3,
.rwp-account h4,
.rwp-account p,
.rwp-account li,
.rwp-account td,
.rwp-account th,
.rwp-account strong,
.rwp-account label{color:var(--rwp-text)}

.rwp-intro{margin-bottom:20px}

/* Balance */
.rwp-balance{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;margin-bottom:20px;align-items:stretch}
.rwp-balance-main{border:1px solid var(--rwp-line);border-radius:8px;padding:22px 24px;display:flex;flex-direction:column;gap:6px;justify-content:center}
.rwp-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rwp-muted)}
.rwp-points{font-size:38px;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--rwp-accent)}
.rwp-points em{font-style:normal;font-size:17px;font-weight:500;letter-spacing:.02em;color:var(--rwp-muted)}
.rwp-worth{font-size:14px;color:var(--rwp-muted)}
.rwp-balance-side{display:flex;flex-direction:column;gap:10px}
.rwp-mini{border:1px solid var(--rwp-line);border-radius:6px;padding:11px 14px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.rwp-mini-l{font-size:12px;color:var(--rwp-muted)}
.rwp-mini-v{font-size:15px;font-weight:700;color:var(--rwp-text)}
.rwp-mini-v.rwp-accent{color:var(--rwp-accent)}
@media(max-width:700px){.rwp-balance{grid-template-columns:1fr}}

/* Panels */
.rwp-panel{border:1px solid var(--rwp-line);border-radius:8px;padding:16px 18px;margin-bottom:20px}
.rwp-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.rwp-panel-head h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.rwp-note{color:var(--rwp-muted);font-size:13.5px;margin:0 0 12px;line-height:1.65}
.rwp-note.rwp-rate{margin:14px 0 0;font-size:12.5px}
.rwp-empty{color:var(--rwp-muted);text-align:center;padding:18px 0}

.rwp-progress{height:8px;border-radius:4px;background:var(--rwp-track);overflow:hidden;margin:6px 0 10px}
.rwp-progress span{display:block;height:100%;background:var(--rwp-accent)}

/* Redeem */
.rwp-field-label{display:block;font-size:12.5px;color:var(--rwp-muted);margin-bottom:6px}
.rwp-redeem-row{display:flex;gap:10px;flex-wrap:wrap}
.rwp-redeem-row select{flex:1;min-width:200px;padding:11px 12px;border:1px solid var(--rwp-line);border-radius:4px;font:inherit;color:var(--rwp-text);background:var(--rwp-field-bg)}
/* A native <option> list is painted by the operating system and does not
   inherit the control's colours, so on a dark scheme it stays light. Naming
   both keeps the open dropdown legible instead of white-on-white. */
.rwp-redeem-row select option{color:#111;background:#fff}
.rwp-button{background:var(--rwp-accent);color:#fff;border:0;padding:12px 26px;border-radius:4px;cursor:pointer;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-family:inherit}
.rwp-button:hover{filter:brightness(.92)}

/* Tables */
.rwp-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rwp-table{width:100%;border-collapse:collapse;font-size:14px}
.rwp-table th,.rwp-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--rwp-line)}
.rwp-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--rwp-muted);font-weight:600}
.rwp-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--rwp-text);background:var(--rwp-chip-bg);padding:3px 8px;border-radius:3px}
.rwp-muted{color:var(--rwp-muted)}
.rwp-pos{color:var(--rwp-pos);font-weight:600}
.rwp-neg{color:var(--rwp-neg);font-weight:600}

.rwp-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:var(--rwp-text);background:var(--rwp-chip-bg)}
.rwp-status-active{background:var(--rwp-ok-bg);color:var(--rwp-ok-fg)}
.rwp-status-used{background:var(--rwp-info-bg);color:var(--rwp-info-fg)}
.rwp-status-expired{background:var(--rwp-bad-bg);color:var(--rwp-bad-fg)}
.rwp-status-returned{background:var(--rwp-warn-bg);color:var(--rwp-warn-fg)}

.rwp-copy{border:1px solid var(--rwp-accent);background:none;color:var(--rwp-accent);padding:5px 12px;border-radius:4px;cursor:pointer;font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-family:inherit}
.rwp-copy.is-copied{background:var(--rwp-accent);color:#fff}

.rwp-pager{display:flex;gap:4px;margin-top:12px}
.rwp-pager a{padding:4px 10px;border:1px solid var(--rwp-line);border-radius:3px;text-decoration:none;font-size:13px;color:var(--rwp-text)}
.rwp-pager a.is-current{background:var(--rwp-accent);color:#fff;border-color:var(--rwp-accent)}

.rwp-earn-note{font-size:13.5px;color:var(--rwp-muted);margin:10px 0}

@media(max-width:600px){
	.rwp-panel{padding:14px 12px}
	.rwp-points{font-size:32px}
	.rwp-table{font-size:13px}
	.rwp-table th,.rwp-table td{padding:8px 6px;white-space:nowrap}
	.rwp-redeem-row select,.rwp-button{width:100%}
}

/* Points row in the classic cart and checkout totals table */
.rwp-earn-row th{font-weight:600}
.rwp-earn-points{display:inline-block;font-weight:700;color:var(--rwp-accent)}
.rwp-earn-worth{display:block;font-size:12.5px;opacity:.7;margin-top:2px}
.rwp-earn-hint{display:block;font-size:12.5px;margin-top:4px}
.rwp-earn-rates{display:block;font-size:12px;line-height:1.6;color:var(--rwp-muted);margin-top:6px}
.rwp-earn-rates strong{color:var(--rwp-accent);font-weight:700}
.rwp-earn-sep{opacity:.55}

/* Standalone panel: used after the Cart and Checkout blocks, and on the
   order-received page.

   It carries its own max-width and margin because the order-received hook
   commonly fires outside whatever container the theme wraps the page in, and
   an unstyled paragraph adrift at the foot of the page reads as a bug. */
.rwp-earn-panel{
	box-sizing:border-box;
	max-width:640px;
	margin:22px auto;
	padding:16px 18px;
	border:1px solid var(--rwp-line);
	border-left:3px solid var(--rwp-accent);
	border-radius:8px;
	background:var(--rwp-chip-bg);
	color:var(--rwp-text);
	font-size:15px;
	line-height:1.5;
}
.rwp-earn-panel[hidden]{display:none}
.rwp-earn-panel *{box-sizing:border-box}
.rwp-earn-panel-head{margin-bottom:8px}
.rwp-earn-panel-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rwp-muted)}
.rwp-earn-panel-figure{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.rwp-earn-panel .rwp-earn-points{font-size:20px;line-height:1.2}
.rwp-earn-panel .rwp-earn-worth{display:inline-block;font-size:14px;opacity:1;margin-top:0;color:var(--rwp-muted)}
.rwp-earn-panel .rwp-earn-rates{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--rwp-line);font-size:12.5px}
.rwp-earn-panel .rwp-earn-hint,
.rwp-earn-panel .rwp-earn-foot{display:block;margin:8px 0 0;font-size:12.5px;color:var(--rwp-muted)}
.rwp-earn-panel a{color:var(--rwp-accent);font-weight:600}

@media(max-width:600px){
	.rwp-earn-panel{margin:16px 0;padding:14px}
	.rwp-earn-panel .rwp-earn-points{font-size:18px}
	.rwp-earn-rates{font-size:11.5px}
}
