/* ============================================================
   Roshi's Card House — Design System
   Warm cream + orange/gold + navy palette (Dragon Ball TCG)
   ============================================================ */

:root {
    /* Surfaces */
    --bg-cream: #FFFAF3;
    --bg-warm: #FFF3E6;
    --bg-card: #FFFFFF;
    --bg-navy: #0C1628;
    --bg-navy-mid: #111E36;
    --bg-navy-light: #1A2D50;
    --surface: #F7EDE2;

    /* Lines & borders */
    --border: rgba(0,0,0,0.06);
    --border-warm: rgba(232,93,26,0.12);

    /* Text */
    --text-dark: #1A1A2E;
    --text-body: #3D3D50;
    --text-muted: #7A7A8E;

    /* Brand */
    --roshi-orange: #E85D1A;
    --roshi-orange-light: #FF7B3A;
    --roshi-gold: #FFB830;
    --roshi-blue: #4EACF7;
    --roshi-sky: #7CC5F7;
    --roshi-red: #E83A3A;
    --roshi-green: #3DA55B;
    --dragonball: #FF8C00;

    /* Radii */
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;

    /* Shadows */
    --shadow-card: 0 2px 16px rgba(0,0,0,0.06);
    --shadow-hover: 0 12px 40px rgba(232,93,26,0.12);

    /* Legacy aliases — map old token names to new palette so inline
       styles from earlier templates keep rendering correctly. */
    --bg-void: var(--bg-cream);
    --bg-deep: var(--bg-warm);
    --bg-card-hover: var(--bg-warm);
    --border-hover: var(--border-warm);
    --text-primary: var(--text-dark);
    --text-secondary: var(--text-body);
    --energy-orange: var(--roshi-orange);
    --energy-gold: var(--roshi-gold);
    --energy-amber: var(--roshi-orange-light);
    --lightning-blue: var(--roshi-blue);
    --lightning-cyan: var(--roshi-sky);
    --lightning-core: var(--roshi-sky);
    --aura-blue: rgba(78,172,247,0.08);
    --aura-orange: rgba(232,93,26,0.08);
    --glow-blue: 0 4px 18px rgba(78,172,247,0.15);
    --glow-orange: 0 4px 18px rgba(232,93,26,0.18);
    --glow-mixed: var(--shadow-hover);
}

*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg-cream);color:var(--text-body);font-family:'Nunito',sans-serif;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}

/* Legacy atmosphere layers no longer visible on the warm theme */
.atmosphere,.scanlines{display:none}

/* ── Layout ─────────────────────────────────────── */
.container{max-width:1320px;margin:0 auto;padding:0 24px;position:relative}
.section{padding:56px 0;position:relative}

/* ── Top Bar ────────────────────────────────────── */
.top-bar{background:var(--bg-navy);color:rgba(255,255,255,0.65);padding:7px 0;font-size:12.5px;font-weight:600;position:relative}
.top-bar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--roshi-orange),var(--roshi-gold),var(--roshi-orange),var(--roshi-gold))}
.top-bar .container{display:flex;justify-content:space-between;align-items:center}
.top-bar a{color:rgba(255,255,255,0.75);transition:color .2s}
.top-bar a:hover{color:var(--roshi-gold)}
.top-bar-links{display:flex;gap:20px}
.shipping-flash,.highlight{color:var(--roshi-gold);font-weight:800}

/* ── Header ─────────────────────────────────────── */
header{background:var(--bg-card);box-shadow:0 2px 20px rgba(0,0,0,0.06);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:24px}
.logo{display:flex;align-items:center;gap:12px;position:relative}
.logo-img{height:52px;width:auto;border-radius:0;border:none;box-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.08))}
/* Legacy decorative rings — hidden on the new theme */
.logo-ring,.hero-energy-ring,.hero-ring{display:none}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text strong{font-family:'Bangers',cursive;font-size:26px;letter-spacing:2px;color:var(--text-dark);background:none;-webkit-text-fill-color:initial}
.logo-text small{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--roshi-orange);font-weight:700;margin-top:3px}

nav{display:flex;gap:2px;flex-wrap:wrap}
nav a{color:var(--text-body);font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:var(--radius-sm);transition:all .2s;letter-spacing:.2px;position:relative}
nav a:hover{color:var(--roshi-orange);background:var(--bg-warm)}
nav a.active{color:var(--roshi-orange);background:var(--bg-warm)}
nav a.tournament{background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-orange-light));color:white;border-radius:var(--radius-md);box-shadow:0 3px 14px rgba(232,93,26,0.25)}
nav a.tournament:hover{color:white;background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-orange-light));box-shadow:0 5px 20px rgba(232,93,26,0.35);transform:translateY(-1px)}

.header-actions{display:flex;align-items:center;gap:6px}
.h-btn{width:40px;height:40px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-card);color:var(--text-body);display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:17px;position:relative;text-decoration:none}
.h-btn:hover{border-color:var(--roshi-orange);color:var(--roshi-orange);background:var(--bg-warm)}
.h-btn.cart,.h-btn.cart-btn{background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-gold));border:2px solid transparent;color:white;box-shadow:0 3px 14px rgba(232,93,26,0.2)}
.h-btn.cart:hover,.h-btn.cart-btn:hover{color:white;transform:translateY(-1px);box-shadow:0 5px 20px rgba(232,93,26,0.3)}
.cart-badge,.cart-count{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--roshi-red);color:white;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-card)}

/* ── Section Headers ────────────────────────────── */
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.section-title{font-family:'Bangers',cursive;font-size:34px;letter-spacing:2px;color:var(--text-dark);font-weight:400}
.section-title .accent{color:var(--roshi-orange)}
.section-title::after{content:'';display:block;width:46px;height:4px;margin-top:5px;border-radius:4px;background:linear-gradient(90deg,var(--roshi-orange),var(--roshi-gold))}
.section-header a,.view-all{color:var(--roshi-orange);font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:4px;transition:gap .2s,color .2s}
.section-header a:hover,.view-all:hover{gap:8px;color:var(--roshi-orange-light)}

/* ── Buttons ────────────────────────────────────── */
.btn-fire,.btn-energy{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-orange-light));color:white;font-weight:800;font-size:15px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;box-shadow:0 4px 24px rgba(232,93,26,0.35);letter-spacing:.3px;font-family:'Nunito',sans-serif;text-decoration:none}
.btn-fire:hover,.btn-energy:hover{transform:translateY(-2px);box-shadow:0 8px 36px rgba(232,93,26,0.45);color:white}
.btn-gold{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;background:transparent;color:var(--roshi-gold);font-weight:700;font-size:15px;border:2px solid rgba(255,184,48,0.25);border-radius:var(--radius-md);cursor:pointer;transition:all .3s;font-family:'Nunito',sans-serif;text-decoration:none}
.btn-gold:hover{border-color:var(--roshi-gold);background:rgba(255,184,48,0.06);color:var(--roshi-gold)}
.btn-white{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;background:white;color:var(--roshi-orange);font-weight:800;font-size:15px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,0.12);font-family:'Nunito',sans-serif;text-decoration:none}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.18)}
.btn-outline,.btn-lightning{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:transparent;border:2px solid var(--border);color:var(--text-body);font-weight:700;font-size:14px;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;font-family:'Nunito',sans-serif;text-decoration:none}
.btn-outline:hover,.btn-lightning:hover{border-color:var(--roshi-orange);color:var(--roshi-orange);background:var(--bg-warm)}

/* ── Hero ───────────────────────────────────────── */
.hero{position:relative;background:var(--bg-navy);overflow:hidden}
.hero-banner{width:100%;display:block;object-fit:cover;object-position:center}
.hero-fade{position:absolute;bottom:0;left:0;right:0;height:20%;background:linear-gradient(0deg,var(--bg-navy) 0%,transparent 100%);z-index:2;pointer-events:none}
.hero-fade-top{position:absolute;top:0;left:0;right:0;height:40px;background:linear-gradient(180deg,rgba(12,22,40,0.4),transparent);z-index:2;pointer-events:none}
.hero-cta{position:relative;z-index:3;background:var(--bg-navy);text-align:center;padding:0 24px 48px;margin-top:-16px}
.hero-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.hero-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);border-radius:100px;padding:7px 16px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,0.75)}
.hero-pill strong{color:var(--roshi-gold)}
.hero-cta p,.hero-desc{font-size:16px;color:rgba(255,255,255,0.55);max-width:580px;margin:0 auto 22px;font-weight:500;line-height:1.7}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Legacy hero-grid support (kept for safety; hidden if unused) */
.hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:100px;padding:5px 16px 5px 8px;font-size:12px;font-weight:700;color:var(--roshi-gold);margin-bottom:18px;letter-spacing:.5px}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--roshi-gold);box-shadow:0 0 8px var(--roshi-gold);animation:pulseDot 2s infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

/* ── Features Float (overlapping hero bottom) ──── */
.features-float{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:-24px;position:relative;z-index:10;box-shadow:0 8px 32px rgba(0,0,0,0.07)}
.feature,.power-stat{background:var(--bg-card);padding:20px 16px;text-align:center}
.feature .f-icon,.power-stat .stat-icon{font-size:22px;margin-bottom:6px;display:block}
.feature strong,.power-stat strong{display:block;font-size:13px;font-weight:800;color:var(--text-dark);margin-bottom:2px}
.feature span,.power-stat span{font-size:11.5px;color:var(--text-muted)}

/* Legacy power-stats block (home page) — render same as features-float */
.power-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:-24px;position:relative;z-index:10;box-shadow:0 8px 32px rgba(0,0,0,0.07);margin-bottom:40px}

/* ── Categories ─────────────────────────────────── */
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.cat-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:22px 14px;text-align:center;transition:all .35s cubic-bezier(.22,1,.36,1);cursor:pointer;text-decoration:none;color:inherit;display:block}
.cat-card:hover{border-color:var(--border-warm);transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.cat-icon,.cat-icon-wrap{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;transition:transform .3s;background:linear-gradient(135deg,#FFF0E0,#FFE0C0)}
.cat-card:hover .cat-icon,.cat-card:hover .cat-icon-wrap{transform:scale(1.12) rotate(4deg)}
.cat-card:nth-child(5n+1) .cat-icon,.cat-card:nth-child(5n+1) .cat-icon-wrap{background:linear-gradient(135deg,#FFF0E0,#FFE0C0)}
.cat-card:nth-child(5n+2) .cat-icon,.cat-card:nth-child(5n+2) .cat-icon-wrap{background:linear-gradient(135deg,#E0F0FF,#C0E4FF)}
.cat-card:nth-child(5n+3) .cat-icon,.cat-card:nth-child(5n+3) .cat-icon-wrap{background:linear-gradient(135deg,#F0E0FF,#E0C8FF)}
.cat-card:nth-child(5n+4) .cat-icon,.cat-card:nth-child(5n+4) .cat-icon-wrap{background:linear-gradient(135deg,#E0FFE8,#C0F0D0)}
.cat-card:nth-child(5n+5) .cat-icon,.cat-card:nth-child(5n+5) .cat-icon-wrap{background:linear-gradient(135deg,#FFF5D0,#FFE8A0)}
.cat-card h3{font-weight:800;font-size:14px;color:var(--text-dark);margin-bottom:2px}
.cat-card span{font-size:11.5px;color:var(--text-muted)}
.cat-card .cat-count{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:100px;background:var(--bg-warm);color:var(--roshi-orange);font-size:11px;font-weight:800;border:1px solid var(--border-warm)}

/* ── Product Cards ──────────────────────────────── */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.prod-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .35s cubic-bezier(.22,1,.36,1);cursor:pointer;display:block;text-decoration:none;color:inherit;position:relative}
.prod-card:hover{border-color:var(--border-warm);transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.prod-img{aspect-ratio:1;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:48px;position:relative;overflow:hidden}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.prod-card:hover .prod-img img{transform:scale(1.05)}
.prod-img .placeholder{font-size:48px;opacity:.25}
.prod-tag{position:absolute;top:10px;left:10px;padding:4px 11px;border-radius:100px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;z-index:2}
.t-hot{background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-gold));color:white;box-shadow:0 2px 10px rgba(232,93,26,.2)}
.t-new{background:linear-gradient(135deg,var(--roshi-blue),var(--roshi-sky));color:white;box-shadow:0 2px 10px rgba(78,172,247,.2)}
.t-rare{background:linear-gradient(135deg,#9333EA,#C084FC);color:white;box-shadow:0 2px 10px rgba(147,51,234,.2)}
.t-sale{background:linear-gradient(135deg,var(--roshi-green),#5EE77D);color:white;box-shadow:0 2px 10px rgba(61,165,91,.2)}
.t-oos{background:rgba(0,0,0,0.6);color:white}
.prod-body{padding:13px 15px 15px}
.prod-set,.prod-cat{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--roshi-blue);font-weight:800;margin-bottom:3px}
.prod-name{font-weight:700;font-size:13.5px;line-height:1.3;margin-bottom:8px;color:var(--text-dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod-meta{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap}
.prod-meta .badge{font-size:9.5px;padding:2px 7px;border-radius:100px;font-weight:700;background:var(--surface);color:var(--text-muted)}
.prod-meta .badge.rarity{background:rgba(147,51,234,.08);color:#9333EA}
.prod-meta .badge.cardnum{background:rgba(78,172,247,.08);color:var(--roshi-blue)}
.prod-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}
.prod-price{font-family:'Lilita One',cursive;font-size:22px;color:var(--roshi-orange);background:none;-webkit-text-fill-color:var(--roshi-orange);filter:none;letter-spacing:.5px;line-height:1}
.prod-price .sm{font-size:11.5px;color:var(--text-muted);font-family:'Nunito',sans-serif;font-weight:500;-webkit-text-fill-color:var(--text-muted);margin-left:2px}
.prod-price.muted{opacity:.4;color:var(--text-muted);-webkit-text-fill-color:var(--text-muted)}
.add-btn{width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-gold));border:none;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;transition:all .2s;box-shadow:0 2px 10px rgba(232,93,26,.15);text-decoration:none}
.add-btn:hover{transform:scale(1.12);box-shadow:0 4px 16px rgba(232,93,26,.25);color:white}
.add-btn.disabled{opacity:.3;cursor:not-allowed;box-shadow:none;background:var(--text-muted)}

/* ── Sets Carousel ─────────────────────────────── */
.sets-scroll{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin}
.sets-scroll::-webkit-scrollbar{height:6px}
.sets-scroll::-webkit-scrollbar-track{background:var(--surface);border-radius:10px}
.sets-scroll::-webkit-scrollbar-thumb{background:var(--roshi-orange);border-radius:10px}
.set-card{flex:0 0 200px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:18px;text-align:center;transition:all .3s;cursor:pointer;text-decoration:none;color:inherit;display:block}
.set-card:hover{border-color:var(--border-warm);transform:translateY(-4px);box-shadow:var(--shadow-card)}
.set-card .set-icon{font-size:32px;margin-bottom:8px;display:block}
.set-card h4{font-weight:800;font-size:13.5px;color:var(--text-dark);margin-bottom:3px;font-family:'Nunito',sans-serif}
.set-card span{font-size:11.5px;color:var(--text-muted)}

/* ── Tournaments ────────────────────────────────── */
.tournament-section{background:var(--bg-navy);position:relative;overflow:hidden;padding:64px 0}
.tournament-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 500px 300px at 20% 80%,rgba(232,93,26,0.06),transparent),radial-gradient(ellipse 400px 400px at 80% 20%,rgba(78,172,247,0.05),transparent);pointer-events:none}
.tournament-section .section-title{color:white}
.tournament-section .section-title .accent{color:var(--roshi-gold)}
.tournament-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;z-index:1}
.tourney-card{background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.07);border-radius:var(--radius-lg);padding:26px;transition:all .35s}
.tourney-card:hover{border-color:rgba(232,93,26,0.2);background:rgba(255,255,255,0.055);transform:translateY(-4px)}
.tourney-date{display:inline-flex;align-items:center;gap:5px;background:rgba(232,93,26,0.12);border-radius:var(--radius-sm);padding:5px 11px;font-size:11.5px;font-weight:800;color:var(--roshi-orange-light);margin-bottom:12px}
.tourney-card h3{color:white;font-weight:800;font-size:17px;margin-bottom:5px}
.tourney-card p{color:rgba(255,255,255,0.45);font-size:13.5px;margin-bottom:14px;line-height:1.5}
.tourney-tag{display:inline-block;padding:3px 10px;border-radius:100px;font-size:10.5px;font-weight:700;letter-spacing:.4px}
.tourney-tag.open{background:rgba(61,165,91,0.12);color:#5EE77D}
.tourney-tag.upcoming{background:rgba(78,172,247,0.12);color:var(--roshi-sky)}
.tourney-card .prize{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.05);font-size:12.5px;color:rgba(255,255,255,0.35)}
.tourney-card .prize strong{color:var(--roshi-gold)}

/* ── Promo Banner ───────────────────────────────── */
.promo-banner{background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-orange-light),var(--roshi-gold));border-radius:var(--radius-xl);padding:44px 52px;display:flex;justify-content:space-between;align-items:center;color:white;position:relative;overflow:hidden;gap:24px;border:none}
.promo-banner::before{content:'';position:absolute;top:-50%;right:-10%;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,0.07);pointer-events:none}
.promo-banner::after{content:'';position:absolute;bottom:-40%;left:-5%;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,0.04);pointer-events:none}
.promo-content{position:relative;z-index:1}
.promo-content h2{font-family:'Bangers',cursive;font-size:38px;letter-spacing:2px;margin-bottom:5px;color:white;font-weight:400}
.promo-content h2 .orange,.promo-content h2 .blue{color:white;background:none;-webkit-text-fill-color:white}
.promo-content p{font-size:15px;opacity:.88;max-width:480px;line-height:1.6;color:white}
.promo-banner .btn-fire,.promo-banner .btn-energy{background:white;color:var(--roshi-orange);box-shadow:0 4px 16px rgba(0,0,0,0.12);flex-shrink:0}
.promo-banner .btn-fire:hover,.promo-banner .btn-energy:hover{color:var(--roshi-orange);background:white;box-shadow:0 8px 28px rgba(0,0,0,0.18)}

/* ── Pagination ─────────────────────────────────── */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-card);color:var(--text-body);font-weight:700;font-size:14px;transition:all .2s;text-decoration:none}
.pagination a:hover{border-color:var(--roshi-orange);background:var(--bg-warm);color:var(--roshi-orange)}
.pagination .active{background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-gold));border-color:transparent;color:white;box-shadow:0 3px 12px rgba(232,93,26,0.25)}
.pagination .dots{border:none;color:var(--text-muted);background:transparent}

/* ── Filter / Sort Bar ──────────────────────────── */
.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.filter-bar .result-count{color:var(--text-muted);font-size:14px;font-weight:600}
.filter-bar .result-count strong{color:var(--text-dark);font-weight:800}
.sort-select{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dark);padding:9px 14px;font-family:'Nunito',sans-serif;font-size:14px;font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%237A7A8E' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;transition:border-color .2s}
.sort-select:focus{outline:none;border-color:var(--roshi-orange)}
.sort-select option{background:var(--bg-card);color:var(--text-dark)}

/* ── Search ─────────────────────────────────────── */
.search-form{display:flex;gap:8px;max-width:600px}
.search-input{flex:1;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);padding:13px 18px;color:var(--text-dark);font-family:'Nunito',sans-serif;font-size:15px;font-weight:600;transition:border-color .2s}
.search-input::placeholder{color:var(--text-muted);font-weight:500}
.search-input:focus{outline:none;border-color:var(--roshi-orange);box-shadow:0 0 0 4px rgba(232,93,26,0.08)}

/* ── Product Detail Page ────────────────────────── */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.product-gallery{border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);border:2px solid var(--border);box-shadow:var(--shadow-card)}
.product-gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.product-info h1{font-family:'Bangers',cursive;font-size:38px;letter-spacing:1.5px;font-weight:400;line-height:1.1;margin-bottom:8px;color:var(--text-dark)}
.product-info .meta{color:var(--text-muted);font-size:13px;margin-bottom:16px}
.product-info .meta span{color:var(--roshi-blue);font-weight:800;text-transform:uppercase;letter-spacing:1px}
.product-info .price-block{margin:20px 0;padding:22px 24px;background:var(--bg-warm);border:2px solid var(--border-warm);border-radius:var(--radius-md)}
.product-info .price-block .price-tag{font-family:'Lilita One',cursive;font-size:52px;letter-spacing:1px;color:var(--roshi-orange);background:none;-webkit-text-fill-color:var(--roshi-orange);filter:none;line-height:1}
.product-info .price-block .currency{font-size:18px;color:var(--text-muted);font-family:'Nunito',sans-serif;font-weight:600;-webkit-text-fill-color:var(--text-muted);margin-left:4px}
.product-info .desc{color:var(--text-body);line-height:1.8;margin-bottom:24px;font-size:15px}
.product-info .buy-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-orange-light));color:white;font-weight:800;font-size:17px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;box-shadow:0 4px 24px rgba(232,93,26,0.35);font-family:'Nunito',sans-serif;letter-spacing:.3px;text-decoration:none;justify-content:center}
.product-info .buy-btn:hover{transform:translateY(-2px);box-shadow:0 8px 36px rgba(232,93,26,0.45);color:white}
.product-info .buy-btn:disabled{background:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}
.product-info .buy-btn.buy-btn-xl{padding:20px 40px;font-size:19px;letter-spacing:.6px;border-radius:var(--radius-md);box-shadow:0 6px 28px rgba(232,93,26,0.4)}
.product-info .buy-btn.buy-btn-xl:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(232,93,26,0.5)}
.product-info .buy-secondary{font-size:14px;font-weight:700;opacity:.85}
.product-info .buy-secondary:hover{opacity:1}
.buy-divider{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px}
.buy-divider::before,.buy-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.cart-notice{background:var(--bg-warm);border:2px solid var(--border-warm);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:20px;font-size:14px;color:var(--text-body);display:flex;align-items:center;gap:12px}
.cart-notice strong{color:var(--roshi-orange)}

/* ========== Site-wide discount UI ========== */
/* Strikethrough "was" price next to the live price on product cards */
.prod-price-was{display:block;font-family:'Nunito',sans-serif;font-size:12px;font-weight:600;color:var(--text-muted);text-decoration:line-through;-webkit-text-fill-color:var(--text-muted);line-height:1;margin-bottom:2px;letter-spacing:0}
/* Pink-orange "X% OFF" pill on the product card image */
.prod-tag-discount{background:linear-gradient(135deg,var(--roshi-red),var(--roshi-orange));color:white;box-shadow:0 2px 10px rgba(232,58,58,.25)}
/* Product detail "was $X" + badge above the big price */
.price-was-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.price-was{font-size:18px;color:var(--text-muted);text-decoration:line-through;font-weight:600;font-family:'Nunito',sans-serif}
.price-discount-badge{display:inline-block;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:800;letter-spacing:.5px;background:linear-gradient(135deg,var(--roshi-red),var(--roshi-orange));color:white;text-transform:uppercase;box-shadow:0 2px 8px rgba(232,58,58,.2)}
/* Smaller "Or buy on eBay →" text link shown when site discount is active */
.ebay-fallback{margin-top:14px;text-align:center;font-size:13px;color:var(--text-muted)}
.ebay-fallback a{color:var(--text-body);font-weight:700;border-bottom:1px dashed var(--text-muted);padding-bottom:1px}
.ebay-fallback a:hover{color:var(--roshi-orange);border-color:var(--roshi-orange)}
.ebay-fallback .ebay-disclaimer{display:block;margin-top:6px;font-size:11.5px;color:var(--text-muted);font-style:italic}
.product-info .details-list{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.product-info .details-list .detail-item{padding:12px 14px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-sm);font-size:13px}
.product-info .details-list .detail-item .label{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:3px;font-weight:700}
.product-info .details-list .detail-item .value{color:var(--text-dark);font-weight:700}

/* ── Breadcrumb ─────────────────────────────────── */
.breadcrumb{padding:16px 0;font-size:13px;color:var(--text-muted);font-weight:600}
.breadcrumb a{color:var(--text-body);transition:color .2s;font-weight:700}
.breadcrumb a:hover{color:var(--roshi-orange)}
.breadcrumb .sep{margin:0 8px;opacity:.4}

/* ── Footer ─────────────────────────────────────── */
footer{background:var(--bg-navy);padding:52px 0 24px;color:rgba(255,255,255,0.55);position:relative;margin-top:40px;border-top:none}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--roshi-orange),var(--roshi-gold),var(--roshi-orange))}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;margin-bottom:36px}
.footer-brand p{font-size:13.5px;line-height:1.7;max-width:290px;margin-top:12px;color:rgba(255,255,255,0.55)}
.footer-brand .logo{align-items:center}
.footer-brand .logo-img{height:46px;filter:drop-shadow(0 2px 6px rgba(255,140,0,0.25))}
.footer-brand .logo-text strong{color:white;font-family:'Bangers',cursive;font-size:22px;letter-spacing:2px}
.footer-brand .logo-text small{color:var(--roshi-gold)}
.footer-col h4{font-family:'Bangers',cursive;font-size:17px;letter-spacing:2px;color:var(--roshi-gold);margin-bottom:14px;font-weight:400}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:7px}
.footer-col a{color:rgba(255,255,255,0.55);font-size:13.5px;transition:color .2s;font-weight:500;text-decoration:none}
.footer-col a:hover{color:var(--roshi-orange-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,0.05);padding-top:18px;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:12.5px;color:rgba(255,255,255,0.3)}
.pay-icons{display:flex;gap:5px;flex-wrap:wrap}
.pay-icon{padding:3px 10px;border-radius:5px;background:rgba(255,255,255,0.05);font-size:10.5px;font-weight:800;color:rgba(255,255,255,0.35);border:none;letter-spacing:.4px}

/* ── Empty / 404 States ─────────────────────────── */
.empty-state{text-align:center;padding:80px 20px}
.empty-state .icon{font-size:64px;margin-bottom:20px;opacity:.35}
.empty-state h2{font-family:'Bangers',cursive;font-size:36px;letter-spacing:2px;margin-bottom:8px;color:var(--text-dark);font-weight:400}
.empty-state p{color:var(--text-muted);margin-bottom:24px;font-size:15px}

/* ── Responsive ─────────────────────────────────── */
@media(max-width:1100px){
    .prod-grid{grid-template-columns:repeat(2,1fr)}
    .cat-grid{grid-template-columns:repeat(3,1fr)}
    .tournament-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
    .product-detail{grid-template-columns:1fr}
    .features-float,.power-stats{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:768px){
    nav{display:none}
    .cat-grid{grid-template-columns:repeat(2,1fr)}
    .features-float,.power-stats{grid-template-columns:repeat(2,1fr)}
    .promo-banner{flex-direction:column;text-align:center;padding:28px 20px;gap:18px}
    .hero-cta{margin-top:-40px}
    .product-info .details-list{grid-template-columns:1fr}
    .filter-bar{flex-direction:column;align-items:stretch}
    .section-title{font-size:28px}
}
@media(max-width:480px){
    .prod-grid{grid-template-columns:1fr}
    .cat-grid{grid-template-columns:1fr}
    .features-float,.power-stats{grid-template-columns:1fr}
    .hero-pills{flex-direction:column;align-items:center}
    .footer-grid{grid-template-columns:1fr}
}

/* =============================================================
   MAILING SIGNUP (inline on homepage + tournaments page)
   ============================================================= */
.mailing-signup{margin-top:32px;background:var(--bg-warm);border:2px solid var(--border-warm);border-radius:var(--radius-lg);padding:28px 32px;display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center}
.mailing-signup-dark{background:rgba(255,255,255,0.04);border-color:rgba(255,184,48,0.25);color:rgba(255,255,255,.85)}
.mailing-signup-content h3{font-family:'Bangers',cursive;font-size:22px;letter-spacing:1.5px;color:var(--text-dark);font-weight:400;margin-bottom:4px}
.mailing-signup-dark .mailing-signup-content h3{color:var(--roshi-gold)}
.mailing-signup-content p{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0}
.mailing-signup-dark .mailing-signup-content p{color:rgba(255,255,255,.55)}
.mailing-signup-form{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px}
.mailing-signup-form input{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-family:'Nunito',sans-serif;font-size:14px;font-weight:600;color:var(--text-dark)}
.mailing-signup-dark .mailing-signup-form input{background:rgba(255,255,255,0.95)}
.mailing-signup-form input:focus{outline:none;border-color:var(--roshi-orange)}
.mailing-signup-form .btn-fire{padding:12px 22px;font-size:14px;white-space:nowrap}
@media(max-width:768px){
    .mailing-signup{grid-template-columns:1fr;padding:20px}
    .mailing-signup-form{grid-template-columns:1fr;gap:10px}
}

/* =============================================================
   TOURNAMENT PUBLIC (calendar page + cards)
   ============================================================= */
.cal-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:24px}
.cal-nav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);color:var(--text-dark);font-size:20px;font-weight:800;text-decoration:none;transition:all .2s}
.cal-nav-btn:hover{border-color:var(--roshi-orange);color:var(--roshi-orange);background:var(--bg-warm)}
.cal-month{font-family:'Bangers',cursive;font-size:32px;letter-spacing:2px;color:var(--text-dark);font-weight:400;margin:0;min-width:220px;text-align:center}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-card)}
.cal-head{font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;text-align:center;padding:8px 4px}
.cal-day{background:var(--bg-warm);border-radius:var(--radius-sm);padding:8px 8px 10px;min-height:96px;display:flex;flex-direction:column;gap:4px;transition:border-color .2s;border:2px solid transparent}
.cal-day-blank{background:transparent}
.cal-day-has{background:#FFF8EC;border-color:var(--border-warm)}
.cal-day-today{border-color:var(--roshi-orange);background:#FFEDDB}
.cal-day-num{font-family:'Bangers',cursive;font-size:15px;letter-spacing:.5px;color:var(--text-dark);font-weight:400}
.cal-day-today .cal-day-num{color:var(--roshi-orange)}
.cal-event{display:block;background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-gold));color:white;font-size:11px;font-weight:700;padding:3px 6px;border-radius:5px;line-height:1.3;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-event:hover{opacity:.88;color:white}
@media(max-width:768px){
    .cal-grid{padding:6px;gap:3px}
    .cal-day{min-height:64px;padding:4px}
    .cal-day-num{font-size:12px}
    .cal-head{font-size:10px;padding:4px 2px}
    .cal-event{font-size:9.5px;padding:2px 4px}
    .cal-month{font-size:24px;min-width:160px}
}

/* Public tournament card (month list + future event cards) */
.tourney-pub-card{display:flex;gap:14px;padding:16px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:all .3s;box-shadow:var(--shadow-card)}
.tourney-pub-card:hover{border-color:var(--border-warm);transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.tourney-pub-date{flex-shrink:0;width:60px;text-align:center;background:linear-gradient(135deg,var(--roshi-orange),var(--roshi-gold));color:white;border-radius:var(--radius-sm);padding:8px 4px;display:flex;flex-direction:column;justify-content:center}
.tourney-pub-date .day{font-family:'Bangers',cursive;font-size:28px;line-height:1;letter-spacing:1px}
.tourney-pub-date .mon{font-size:10px;font-weight:800;letter-spacing:1px;margin-top:2px}
.tourney-pub-body{flex:1;min-width:0}
.tourney-pub-body h4{font-family:'Bangers',cursive;font-size:18px;letter-spacing:1px;color:var(--text-dark);font-weight:400;margin-bottom:4px;line-height:1.15}
.tourney-pub-meta{color:var(--text-muted);font-size:12.5px;margin-bottom:8px}

/* Tournament detail meta grid */
.t-detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:18px;padding:18px 20px;background:var(--bg-warm);border:2px solid var(--border-warm);border-radius:var(--radius-md);font-size:14px}
.t-detail-meta strong{color:var(--text-dark);margin-right:4px}

/* Share buttons row */
.share-row{margin-top:28px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--border)}
.share-label{font-weight:800;color:var(--text-dark);margin-right:4px;font-size:13px;text-transform:uppercase;letter-spacing:1px}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);color:var(--text-body);font-size:15px;font-weight:800;text-decoration:none;cursor:pointer;transition:all .2s}
.share-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.share-x:hover{background:#000;color:#fff;border-color:#000}
.share-fb:hover{background:#1877F2;color:#fff;border-color:#1877F2}
.share-email:hover{background:var(--roshi-blue);color:#fff;border-color:var(--roshi-blue)}
.share-copy:hover{background:var(--roshi-orange);color:#fff;border-color:var(--roshi-orange)}
.share-cal:hover{background:var(--roshi-gold);color:#fff;border-color:var(--roshi-gold)}
.share-copy-feedback{color:var(--roshi-green);font-weight:800;font-size:13px;margin-left:8px}

/* Tourney status pill (reused on homepage + calendar) */
.tourney-tag.closed{background:rgba(0,0,0,0.06);color:var(--text-muted)}

/* =============================================================
   DASHBOARD LAYOUT
   ============================================================= */
.dash-body{background:#F3F4F7;font-family:'Nunito',sans-serif;color:var(--text-body);margin:0}
.dash-app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.dash-sidebar{background:var(--bg-navy);color:rgba(255,255,255,.85);padding:24px 18px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
.dash-brand{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:var(--radius-md);text-decoration:none;color:white;background:rgba(255,255,255,0.04)}
.dash-brand strong{display:block;font-family:'Bangers',cursive;font-size:20px;letter-spacing:2px;line-height:1.1}
.dash-brand span{font-size:11px;color:var(--roshi-gold);letter-spacing:.5px}
.dash-nav{display:flex;flex-direction:column;gap:4px;flex:1}
.dash-nav a{color:rgba(255,255,255,.65);font-weight:700;padding:10px 14px;border-radius:var(--radius-sm);text-decoration:none;font-size:14px;transition:background .2s, color .2s}
.dash-nav a:hover{background:rgba(255,255,255,0.05);color:white}
.dash-nav a.active{background:var(--roshi-orange);color:white;box-shadow:0 3px 12px rgba(232,93,26,0.3)}
.dash-bottom{display:flex;flex-direction:column;gap:8px}
.dash-back{color:rgba(255,255,255,.55);font-size:12px;text-decoration:none;padding:8px 14px}
.dash-back:hover{color:var(--roshi-gold)}
.dash-logout{width:100%;background:transparent;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:var(--radius-sm);font-weight:700;font-size:13px;cursor:pointer}
.dash-logout:hover{background:rgba(232,93,26,.15);color:white;border-color:var(--roshi-orange)}

.dash-main{padding:0;background:#F3F4F7;min-width:0}
.dash-header{background:white;padding:22px 36px;border-bottom:1px solid rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}
.dash-header h1{font-family:'Bangers',cursive;font-size:30px;letter-spacing:2px;color:var(--text-dark);font-weight:400;margin:0}
.dash-content{padding:28px 36px}
.dash-flash{margin:0 36px;padding:12px 16px;border-radius:var(--radius-md);font-weight:700;font-size:14px}
.dash-flash-success{background:rgba(61,165,91,0.12);color:var(--roshi-green);border:1px solid rgba(61,165,91,0.25)}
.dash-flash-error{background:rgba(232,58,58,0.1);color:var(--roshi-red);border:1px solid rgba(232,58,58,0.2)}
.dash-flash-info{background:rgba(78,172,247,0.1);color:var(--roshi-blue);border:1px solid rgba(78,172,247,0.2)}

/* Dashboard login */
.dash-login-body{background:var(--bg-navy);display:flex;align-items:center;justify-content:center;min-height:100vh}
.dash-login-wrap{width:100%;max-width:440px;padding:24px}
.dash-login-card{background:white;border-radius:var(--radius-lg);padding:36px;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.dash-login-head{text-align:center;margin-bottom:28px}
.dash-login-head h1{font-family:'Bangers',cursive;font-size:28px;letter-spacing:2px;color:var(--text-dark);font-weight:400;margin:14px 0 4px}
.dash-login-head p{color:var(--text-muted);font-size:14px;margin:0}
.dash-login-hint{text-align:center;margin-top:18px;font-size:13px;color:var(--text-muted)}
.dash-login-hint a{color:var(--roshi-orange);font-weight:700}

/* Dashboard forms / tables */
.dash-form{display:flex;flex-direction:column;gap:14px}
.dash-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--text-dark)}
.dash-form input[type=text],.dash-form input[type=email],.dash-form input[type=password],.dash-form input[type=number],.dash-form input[type=datetime-local],.dash-form input[type=search],.dash-form select,.dash-form textarea{background:white;border:2px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);padding:10px 12px;font-family:'Nunito',sans-serif;font-size:14px;font-weight:500;color:var(--text-dark);transition:border-color .2s;width:100%}
.dash-form input:focus,.dash-form select:focus,.dash-form textarea:focus{outline:none;border-color:var(--roshi-orange)}
.dash-form small.dash-muted{font-weight:500}
.dash-form-wide{max-width:760px;background:white;padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.dash-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.dash-form-grid .dash-col-2{grid-column:span 2}
.dash-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid rgba(0,0,0,.05)}

.dash-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.dash-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dash-muted{color:var(--text-muted);font-size:13px}
.dash-link{color:var(--roshi-orange);font-weight:700;text-decoration:none;margin-right:12px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;padding:0}
.dash-link:hover{text-decoration:underline}
.dash-link-danger{color:var(--roshi-red);font-weight:700;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;padding:0}
.dash-link-danger:hover{text-decoration:underline}

.dash-table{width:100%;background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);border-collapse:collapse}
.dash-table th{text-align:left;padding:12px 16px;background:#FAFAFC;border-bottom:2px solid rgba(0,0,0,.05);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}
.dash-table td{padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.04);font-size:14px;vertical-align:middle}
.dash-table tbody tr:hover{background:#FAFAFC}
.dash-table tfoot td{border-top:2px solid rgba(0,0,0,.05);font-size:13px;color:var(--text-muted)}

.dash-pill{display:inline-block;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:800;letter-spacing:.4px;background:var(--bg-warm);color:var(--roshi-orange);border:1px solid var(--border-warm)}
.dash-pill-success{background:rgba(61,165,91,0.12);color:var(--roshi-green);border-color:rgba(61,165,91,0.25)}
.dash-pill-upcoming{background:rgba(78,172,247,0.12);color:var(--roshi-blue);border-color:rgba(78,172,247,0.25)}
.dash-pill-open{background:rgba(61,165,91,0.12);color:var(--roshi-green);border-color:rgba(61,165,91,0.25)}
.dash-pill-closed{background:rgba(0,0,0,0.06);color:var(--text-muted);border-color:rgba(0,0,0,.08)}
.dash-pill-muted{background:rgba(0,0,0,0.05);color:var(--text-muted);border-color:rgba(0,0,0,.08)}
.dash-pill-danger{background:rgba(232,58,58,0.1);color:var(--roshi-red);border-color:rgba(232,58,58,0.2)}

.dash-placeholder{width:56px;height:56px;background:var(--bg-warm);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;opacity:.35}

.dash-panel{background:white;border-radius:var(--radius-lg);padding:24px 28px;box-shadow:var(--shadow-card)}
.dash-panel h2{font-family:'Bangers',cursive;font-size:22px;letter-spacing:1.5px;color:var(--text-dark);font-weight:400;margin-bottom:14px}
.dash-panel .dash-actions{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:10px}
.dash-panel .dash-actions a{text-align:center}

.dash-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.dash-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dash-stat,.dash-stat-static{background:white;border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-card);text-decoration:none;color:inherit;display:block;transition:transform .2s,box-shadow .2s}
.dash-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.dash-stat-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}
.dash-stat strong,.dash-stat-static strong{display:block;font-family:'Bangers',cursive;font-size:40px;letter-spacing:1px;color:var(--roshi-orange);font-weight:400;line-height:1;margin:6px 0 4px}
.dash-stat-hint{font-size:12px;color:var(--text-muted)}

@media(max-width:960px){
    .dash-app{grid-template-columns:1fr}
    .dash-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px}
    .dash-nav{flex-direction:row;flex-wrap:wrap;gap:4px;flex:1 1 100%}
    .dash-nav a{padding:7px 12px;font-size:13px}
    .dash-brand{display:none}
    .dash-bottom{flex-direction:row;flex:0 0 auto;margin-left:auto}
    .dash-logout{width:auto}
    .dash-header{padding:16px 20px}
    .dash-content{padding:18px 20px}
    .dash-grid-4,.dash-grid-2{grid-template-columns:1fr 1fr}
    .dash-form-grid{grid-template-columns:1fr}
    .dash-form-grid .dash-col-2{grid-column:span 1}
}
@media(max-width:600px){
    .dash-grid-4,.dash-grid-2{grid-template-columns:1fr}
    .dash-table{display:block;overflow-x:auto;white-space:nowrap}
}
