/* Wagner Christmas Trees components. Reads tokens.css custom properties. */
.wg-btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2); min-height:48px; padding:0 var(--space-6); border-radius:var(--radius-md); font-family:var(--font-sans); font-size:17px; line-height:20px; font-weight:700; text-decoration:none; cursor:pointer; border:2px solid transparent; transition:background-color .15s ease, color .15s ease; }
.wg-btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.wg-btn--primary { background:var(--berry); color:var(--on-berry); }
.wg-btn--primary:hover { filter:brightness(1.08); }
.wg-btn--secondary { background:transparent; color:var(--ink); border-color:var(--ink); }
.wg-btn--secondary:hover { background:var(--paper-sunk); }
.wg-btn--on-pine { background:var(--on-pine); color:var(--pine); }
.wg-btn--on-pine:focus-visible { outline-color:var(--on-pine); }
.wg-btn--block { display:flex; width:100%; }
@media (prefers-reduced-motion: reduce) { .wg-btn { transition:none; } }

.wg-eyebrow { margin:0 0 var(--space-3); font-family:var(--font-slab); font-weight:700; font-size:14px; line-height:20px; letter-spacing:.18em; text-transform:uppercase; color:var(--berry); }

.wg-pricelist { font-family:var(--font-sans); color:var(--ink); }
.wg-pricelist-intro { margin:0 0 var(--space-3); font-size:15px; line-height:22px; color:var(--ink-muted); }
.wg-price-rows { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.wg-price-row { display:flex; align-items:baseline; gap:var(--space-3); padding:var(--space-3) 0; border-bottom:1px solid var(--line); }
.wg-price-label { display:flex; align-items:baseline; gap:var(--space-2); min-width:0; }
.wg-price-size { font-family:var(--font-slab); font-weight:600; font-size:24px; line-height:32px; white-space:nowrap; }
.wg-price-note { font-size:15px; color:var(--ink-muted); }
.wg-price-leader { flex:1 1 auto; min-width:var(--space-6); border-bottom:2px dotted var(--line); transform:translateY(-6px); }
.wg-price-amount { font-family:var(--font-slab); font-weight:700; font-size:28px; line-height:32px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.wg-price-sold { font-family:var(--font-slab); font-weight:700; font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:var(--berry); white-space:nowrap; }
.is-sold-out .wg-price-size { color:var(--ink-muted); text-decoration:line-through; text-decoration-thickness:2px; }
.wg-pricelist--compact .wg-price-size { font-size:18px; line-height:26px; }
.wg-pricelist--compact .wg-price-amount { font-size:20px; line-height:26px; }
.wg-pricelist-foot { margin:var(--space-3) 0 0; font-size:13px; line-height:18px; color:var(--ink-muted); }

.wg-panel { background:var(--pine); color:var(--on-pine); border-radius:var(--radius-lg); padding:var(--space-6); font-family:var(--font-sans); display:flex; flex-direction:column; gap:var(--space-4); }
.wg-panel-title { margin:0; font-family:var(--font-slab); font-weight:700; font-size:28px; line-height:32px; text-wrap:balance; }
.wg-panel-intro { margin:0; font-size:17px; line-height:24px; color:var(--on-pine-muted); }
.wg-panel-rows { display:flex; flex-direction:column; }
.wg-panel-row { display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-4); padding:var(--space-3) 0; border-top:1px solid var(--pine-line); }
.wg-panel-row-label { font-weight:700; font-size:17px; line-height:24px; }
.wg-panel-row-note { font-size:14px; line-height:20px; color:var(--on-pine-muted); }
.wg-panel-row-price { font-family:var(--font-slab); font-weight:700; font-size:26px; line-height:30px; font-variant-numeric:tabular-nums; white-space:nowrap; }

.wg-callout { background:var(--berry-soft); color:var(--ink); border-radius:var(--radius-md); padding:var(--space-4); font-family:var(--font-sans); }
.wg-callout--in-panel { background:var(--paper); }
.wg-callout-title { font-family:var(--font-slab); font-weight:700; font-size:19px; line-height:24px; color:var(--berry); margin-bottom:var(--space-1); }
.wg-callout-text { font-size:15px; line-height:22px; }

.wg-status { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3); background:var(--pine); color:var(--on-pine); padding:var(--space-3) var(--space-4); border-radius:var(--radius-md); font-family:var(--font-sans); font-size:17px; line-height:24px; }
.wg-status-pill { display:inline-flex; align-items:center; gap:var(--space-2); padding:2px var(--space-3); border-radius:var(--radius-pill); background:var(--on-pine); color:var(--pine); font-weight:700; font-size:14px; line-height:22px; }
.wg-status-pill::before { content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
.wg-status-pill--soldout { background:var(--berry-soft); color:var(--berry); }
.wg-status-text { font-weight:600; }
