/* Shared page components. Loaded after historical page styles. */
body.vpc-design {color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif}
.vpc-design *, .vpc-design *::before, .vpc-design *::after {box-sizing:border-box}
.vpc-extended :is(h1,h2,h3){font-family:inherit;letter-spacing:-.025em;text-shadow:none}
.vpc-extended h1{font-size:clamp(26px,3.2vw,40px);line-height:1.2}
.vpc-extended :is(.neon,.section-title,.badges-hero h1,.rewards-hero h1,.leaderboard-hero h1,.sponsor-hero h1){color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor;text-shadow:none}
.vpc-extended :is(.profil-container,.badges-page,.rewards-page,.leaderboard-page,.sponsor-page,.td-wrap,.av-container,.tpl-page,.mod-page,.ipadmin-page,.maint-admin){width:100%;max-width:1200px;margin-inline:auto;padding:32px 24px 64px;min-width:0}
.vpc-admin-page :is(.container,.wrap){width:100%;max-width:1400px;margin-inline:auto;padding:28px 24px}
.vpc-extended :is(.category-hero,.badges-hero,.rewards-hero,.leaderboard-hero,.sponsor-hero){background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:28px;margin:24px auto;box-shadow:none}
.vpc-extended .category-hero{max-width:1200px}
.vpc-extended :is(.profil-card,.admin-card,.admin-stat-card,.admin-setting-card,.badge-card,.reward-card,.points-card,.points-display,.user-stats,.leaderboard-container,.sponsor-section,.sponsor-cta,.td-section,.av-card,.tpl-vendor,.ip-card,.product-card,.verify-box,.vd-card,.admin-rewards-panel){background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 4px 18px #00172908;color:var(--text-primary);min-width:0}
.vpc-admin-page .card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;box-shadow:none;color:var(--text-primary)}
.vpc-extended :is(.profil-card,.sponsor-section,.admin-setting-card,.td-section,.verify-box){padding:24px}
.vpc-extended :is(.profil-section-title,.badge-name,.feature-title,.product-name,.av-name){color:var(--text-primary)}
.vpc-extended :is(.profil-info-label,.profil-list-date,.badge-date,.stat-label,.feature-text,.hint,.av-hint,.av-meta,.td-meta,.product-brand,.product-id,.tpl-intro,.verify-message){color:var(--text-secondary)}
/* Form fields keep a quiet underline on focus, including the inline admin forms. */
.vpc-extended :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]),textarea,select){font:inherit;font-size:14px;max-width:100%;min-width:0;min-height:44px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;box-shadow:none}
.vpc-extended textarea{min-height:120px;resize:vertical}
.vpc-extended :is(input,textarea,select)::placeholder{color:var(--text-muted);opacity:1}
.vpc-extended :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select,[contenteditable=true]):focus{outline:none!important;border-color:var(--border-color)!important;border-bottom-color:var(--neon-primary)!important;box-shadow:none!important}
.vpc-extended :is(.form-group,.selector-group,.field,.arf-field){min-width:0}
.vpc-extended :is(.form-group,.selector-group,.field) label{color:var(--text-secondary);font-size:13px}
.vpc-extended :is(.btn-primary,.auth-submit-btn,.sponsor-cta-btn,.btn-save,.av-save,.btn-add,.td-btn.primary,.tpl-btn.save,.vd-btn-ok){background:var(--neon-primary);border:1px solid transparent;color:var(--bg-body);box-shadow:none;text-shadow:none;min-height:44px;border-radius:9px;font-weight:700}
.vpc-extended :is(.btn-outline,.btn-secondary,.back-link,.av-back,.tpl-back,.ipadmin-back,.td-btn.ghost){box-shadow:none;color:var(--text-secondary);border-color:var(--border-color);min-height:44px}
.vpc-extended :is(.profil-tabs-bar,.admin-tabs,.mydeals-tabs,.avatar-cat-tabs){gap:8px;overflow-x:auto;max-width:100%;scrollbar-width:thin;flex-wrap:nowrap}
.vpc-extended :is(.profil-tab,.admin-tab,.mydeals-tab){white-space:nowrap;flex-shrink:0;box-shadow:none;border-radius:9px}
.vpc-extended :is(.profil-tab,.admin-tab).active{background:var(--bg-card);color:var(--neon-primary);border-color:var(--neon-primary);box-shadow:none}
.vpc-extended :is(.admin-table-wrapper,.leaderboard-container,.ip-card){overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
.vpc-extended :is(.admin-table,.ip-table){min-width:760px;width:100%;border-collapse:collapse}
.vpc-extended :is(.admin-table,.ip-table,.leaderboard-table) th{background:var(--bg-input);color:var(--text-secondary);text-align:left;font-size:12px}
.vpc-extended :is(.admin-table,.ip-table,.leaderboard-table) :is(th,td){border-color:var(--border-color);padding:14px 12px}
.vpc-extended :is(.admin-table,.ip-table) tbody tr:hover{background:var(--bg-card-hover)}
.vpc-extended :is(.admin-filters-form,.admin-actions,.td-toolbar,.td-actions,.av-row,.tpl-actions,.mod-head,.ipadmin-head,.add-form,.hero-title-row){flex-wrap:wrap;gap:10px;min-width:0}
.vpc-extended :is(.admin-stat-grid,.badges-grid,.rewards-grid,.sponsor-features){gap:18px}
.vpc-extended :is(.badge-card,.reward-card):hover{box-shadow:0 8px 24px #00172912;transform:translateY(-2px)}
.vpc-extended .footer{border-top:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-surface);margin-top:40px}
/* Vendor cards use an older template: keep their actual price block visible. */
.vpc-page-vendeur .deals-container{max-width:1200px;margin:24px auto;padding:0 24px}
.vpc-page-vendeur .deals-grid .deal-card-body{flex-direction:column}
.vpc-page-vendeur .deals-grid .deal-pricing{display:flex!important;position:static!important;justify-content:flex-start!important;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto;width:100%;padding-top:14px}
.vpc-page-vendeur .deal-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color)}
.vpc-page-vendeur .deals-grid.list-view .deal-card-footer{grid-column:2}
.vpc-page-vendeur .deal-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--text-secondary)}
.vpc-page-vendeur :is(.header-row,.controls-bar){flex-wrap:wrap;gap:12px;min-width:0}
/* Standalone states, without the fixed application header. */
body:is(.vpc-page-verify,.vpc-page-404,.vpc-page-landing,.vpc-page-maintenance-page,.vpc-admin-page:not(.vpc-page-admin)){padding-top:0}
.vpc-page-verify .verify-container,.vpc-page-reset-password .reset-container{width:min(100%,620px);margin:32px auto;padding:24px}
.vpc-page-404{min-height:100dvh;height:auto;overflow:auto!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px!important}
.vpc-page-404 :is(.parallax-layer,.grid-floor,.orb,.particles,.scanline,.hud-coords,.rings-container,.status-bar){display:none}
.vpc-page-404 .logo-404{position:static;transform:none;margin-bottom:32px}
.vpc-page-404 .content{position:relative;inset:auto;transform:none!important;width:min(100%,680px);padding:32px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px}
.vpc-page-404 .error-code{font-family:inherit;font-size:clamp(90px,18vw,160px);color:var(--neon-primary);text-shadow:none;animation:none;background:none;-webkit-text-fill-color:currentColor}
.vpc-page-404 .error-code::before,.vpc-page-404 .error-code::after{display:none}
.vpc-page-404 .error-title{color:var(--text-primary);font-family:inherit;letter-spacing:-.025em}
.vpc-page-404 .error-desc{color:var(--text-secondary)}
.vpc-page-404 .btn-back{box-shadow:none;border-radius:9px;min-height:44px;font-family:inherit}
.vpc-page-404 .btn-back--primary{background:var(--neon-primary);color:var(--bg-body);border-color:transparent}
.vpc-page-404 .cta-group{flex-wrap:wrap}
.vpc-page-landing #canvas{display:none}
.vpc-page-landing .hero{min-height:75dvh;background:var(--bg-surface);padding:64px 24px}
.vpc-page-landing .logo-animated{font-size:clamp(30px,7vw,76px);white-space:nowrap;animation:none;filter:none}
.vpc-page-landing .logo-animated span{animation:none;text-shadow:none}
.vpc-page-landing .vraiment{color:#1e40af;-webkit-text-fill-color:#1e40af}
.vpc-page-landing .pascher{color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 1px 2px #172b46!important}
.vpc-page-landing .fr{color:#dc2626;-webkit-text-fill-color:#dc2626}
.vpc-page-landing :is(.hero-tagline,.hero-subtitle,.countdown-number,.stat-number){color:var(--neon-primary);text-shadow:none;animation:none}
.vpc-page-landing :is(.countdown-container,.feature-card,.cta-mega){background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:none;animation:none}
.vpc-page-landing .countdown-grid{gap:12px;flex-wrap:wrap}
.vpc-page-landing .countdown-item{min-width:0}
.vpc-page-landing :is(.features,.stats,.cta-mega){padding:40px 24px}
.vpc-page-maintenance-page{background:var(--bg-body);color:var(--text-primary);min-height:100dvh}
.vpc-page-maintenance-page .maint{background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;padding:32px;max-width:600px}
.vpc-page-maintenance-page .maint p{color:var(--text-secondary)}
@media(max-width:768px){
 .vpc-extended :is(.profil-container,.badges-page,.rewards-page,.leaderboard-page,.sponsor-page,.td-wrap,.av-container,.tpl-page,.mod-page,.ipadmin-page,.maint-admin){padding:20px 16px 88px}
 .vpc-admin-page :is(.container,.wrap){padding:20px 16px}
 .vpc-extended :is(.category-hero,.badges-hero,.rewards-hero,.leaderboard-hero,.sponsor-hero){padding:20px;margin:16px}
 .vpc-extended :is(.profil-card,.sponsor-section,.admin-setting-card,.td-section,.verify-box){padding:18px}
 .vpc-extended :is(.profil-info-grid,.form-row,.product-selectors,.tpl-grid,.arf-row,.sponsor-features){grid-template-columns:1fr}
 .vpc-extended .form-row{flex-direction:column}
 .vpc-extended :is(.admin-stat-grid,.badges-grid,.rewards-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 .vpc-extended :is(.avatar-editor,.td-head,.av-card-top){flex-wrap:wrap}
 .vpc-extended :is(.avatar-picker,.profil-section,.profil-form){min-width:0;max-width:100%}
 .vpc-extended :is(input,textarea,select){font-size:16px!important}
 .vpc-page-vendeur .deals-container{padding:0 16px}
 .vpc-page-vendeur .deals-grid .deal-card-body{display:flex!important;flex-direction:column!important}
 .vpc-page-vendeur .deals-grid .deal-card-footer{grid-column:1/-1!important}
 .vpc-page-landing :is(.features-grid,.stats-grid){grid-template-columns:1fr}
 .vpc-page-landing .countdown-number{font-size:30px}
 .vpc-page-landing .countdown-item{padding:12px}
}
@media(prefers-reduced-motion:reduce){.vpc-extended *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Remove the oversized decorative halos from the legacy standalone pages. */
.vpc-extended :is(.sponsor-hero,.leaderboard-hero,.badges-hero,.rewards-hero)::before{display:none}
.vpc-extended .leaderboard-header{background:var(--bg-input);border-color:var(--border-color)}
.vpc-extended .profil-tabs-bar{justify-content:flex-start;padding-inline:16px}
.vpc-extended :is(.redeem-btn,.reward-card button){max-width:100%;min-width:0;white-space:normal}
.vpc-page-404 .content{height:auto;min-height:360px}
.vpc-page-404 :is(.logo-404,.error-title,.error-desc,.cta-group){animation:none;opacity:1;transform:none}
.vpc-page-404{cursor:auto}
.vpc-extended .modal-box{max-width:calc(100vw - 32px)}
@media(max-width:768px){
 .vpc-extended .header-inner{min-width:0;max-width:100vw}
 .vpc-extended .admin-tabs{justify-content:flex-start}
 .vpc-extended .rewards-grid{grid-template-columns:1fr}
}
