/* ==========================================================================
   Wallpapers Central Theme — /account bridge styles
   Loaded on every URL under /account/. Provides the layout shell that lets
   the plugin's account.css render correctly inside the new theme's chrome.
   The plugin owns all per-component styles (auth card, dashboard widgets,
   profile, etc.); this file only patches the integration points.
   ========================================================================== */

/* --- Account-specific sidebar width override ---
   The dashboard layout uses a narrower sidebar (240px) than the rest of the
   site (320px). Scoped to .wc-account-page so it does not leak. */
.wc-account-page {
    --wc-sidebar-w: 240px;
    background: var(--wc-bg);
    max-width: none;
    padding: 0;
    margin: 0;
}

/* --- Page wrap — sit below the sticky theme header --- */
body.page-template-page-account .wc-main-wrap,
body.page-template-page-account .main-wrap {
    background: var(--wc-bg);
}

/* --- Auth gate (logged-out) layout polish ---
   Matches the new theme's max-width and breathing room. */
.wc-auth-wrap {
    min-height: calc(100vh - 200px);
    padding: 48px 16px;
}

/* --- Dashboard grid: sidebar + content ---
   Uses the new theme's spacing tokens. */
.wc-dash-grid {
    display: grid;
    grid-template-columns: var(--wc-sidebar-w) 1fr;
    gap: var(--wc-sp-xl);
    max-width: var(--wc-max-w);
    margin: 0 auto;
    padding: var(--wc-sp-lg) var(--wc-sp-md);
}

@media (max-width: 1024px) {
    .wc-dash-grid {
        grid-template-columns: 1fr;
        gap: var(--wc-sp-md);
    }
}

/* --- Sidebar nav row (uses theme tokens) --- */
.wc-dash-nav__item {
    border-radius: var(--wc-radius-sm);
    transition: background .15s, color .15s;
}
.wc-dash-nav__item:hover {
    background: var(--wc-bg);
    color: var(--wc-brand);
}
.wc-dash-nav__item.is-active {
    background: var(--wc-brand-soft);
    color: var(--wc-brand);
}

/* --- Cards inside the dashboard inherit theme containment --- */
.wc-dash-card {
    contain: layout style;
}

/* ==========================================================================
   WC AUTH (logged-out view su /account) — UI standalone, wc-* tokens
   ========================================================================== */

.wc-account-page {
    background: var(--wc-bg);
}

.wc-auth-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    background: var(--wc-bg);
    padding: 60px 16px;
    box-sizing: border-box;
    font-family: var(--wc-font);
}

.wc-auth-card {
    position: relative;
    width: 100%;
    max-width: 420px;
    background: var(--wc-surface);
    border-radius: 18px;
    box-shadow: 0 30px 80px rgba(15, 29, 54, 0.18);
    padding: 28px 32px 20px;
    box-sizing: border-box;
}

.wc-auth-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}
.wc-auth-mark {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
}
.wc-auth-logo-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.wc-auth-title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: var(--wc-ink);
    line-height: 1.2;
    margin: 0;
    padding-bottom: 4px;
}
.wc-auth-subtitle {
    font-size: 12px;
    color: var(--wc-mute);
    margin: 0;
    line-height: 1.3;
}

/* Tabs */
.wc-auth-tabs {
    display: flex;
    gap: 4px;
    background: var(--wc-bg);
    padding: 4px;
    border-radius: 10px;
    margin-bottom: 22px;
}
.wc-auth-tab {
    flex: 1 !important;
    padding: 9px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    font-family: var(--wc-font) !important;
    border-radius: 7px !important;
    border: none !important;
    background: transparent !important;
    color: var(--wc-mute) !important;
    cursor: pointer !important;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
.wc-auth-tab.active {
    background: var(--wc-surface) !important;
    color: var(--wc-brand) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
}
.wc-auth-tab:not(.active):hover {
    color: var(--wc-ink2) !important;
}

/* Social buttons */
.wc-auth-social {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}
.wc-auth-social-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 11px !important;
    background: var(--wc-surface) !important;
    border: 1px solid var(--wc-border) !important;
    border-radius: 9px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    font-family: var(--wc-font) !important;
    color: var(--wc-ink) !important;
    cursor: pointer !important;
    transition: background .15s ease;
    width: 100% !important;
    box-sizing: border-box !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1 !important;
}
.wc-auth-social-btn:hover,
.wc-auth-social-btn:focus {
    background: #f8f9fb !important;
    color: var(--wc-ink) !important;
}
.wc-auth-social-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Separator */
.wc-auth-sep {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0;
    color: var(--wc-mute);
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: var(--wc-font);
}
.wc-auth-sep::before,
.wc-auth-sep::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--wc-border-soft);
}

/* Form */
.wc-auth-form {
    display: flex;
    flex-direction: column;
}
.wc-auth-form label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--wc-ink2);
    margin-bottom: 6px;
    font-family: var(--wc-font);
}
.wc-auth-form input[type="text"],
.wc-auth-form input[type="email"],
.wc-auth-form input[type="password"] {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--wc-border);
    border-radius: 9px;
    font-size: 14px;
    font-family: var(--wc-font);
    color: var(--wc-ink);
    background: var(--wc-surface);
    outline: none;
    margin-bottom: 12px;
    box-sizing: border-box;
    transition: border-color .15s ease;
    appearance: none;
}
.wc-auth-form input:focus {
    border-color: var(--wc-brand);
}

.wc-auth-pw-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.wc-auth-pw-row label {
    margin-bottom: 0;
}
.wc-auth-forgot {
    font-size: 11px;
    color: var(--wc-brand);
    font-weight: 600;
    text-decoration: none;
    font-family: var(--wc-font);
}
.wc-auth-forgot:hover { opacity: .75; }

.wc-auth-submit {
    width: 100% !important;
    padding: 12px !important;
    background: var(--wc-brand) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: var(--wc-font) !important;
    cursor: pointer !important;
    margin: 0 0 12px 0 !important;
    transition: background .15s ease, opacity .15s ease;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
.wc-auth-submit:hover,
.wc-auth-submit:focus {
    background: var(--wc-brand-dark) !important;
}
.wc-auth-submit:disabled {
    opacity: .6 !important;
    cursor: wait !important;
}

/* Login extra slide */
.wc-auth-login-extra {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .4s cubic-bezier(.4,0,.2,1), opacity .3s ease .05s;
}
.wc-auth-login-extra.open {
    max-height: 600px;
    opacity: 1;
}

.wc-auth-register-extra {
    display: none;
}
.wc-auth-register-extra.active {
    display: block;
}

/* Error */
.wc-auth-error {
    display: none;
    background: #fbe8e8;
    color: #cc2222;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-family: var(--wc-font);
    margin-bottom: 16px;
    line-height: 1.4;
}
.wc-auth-error.visible { display: block; }

/* Turnstile */
.wc-auth-turnstile {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
    width: 100%;
}
.wc-auth-turnstile iframe,
.wc-auth-turnstile > div {
    width: 100% !important;
    max-width: 100% !important;
}

/* Loading overlay */
.wc-auth-loading {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.85);
    border-radius: 18px;
    z-index: 10;
    align-items: center;
    justify-content: center;
}
.wc-auth-loading.visible { display: flex; }
.wc-auth-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--wc-border);
    border-top-color: var(--wc-brand);
    border-radius: 50%;
    animation: wc-spin .7s linear infinite;
}
@keyframes wc-spin { to { transform: rotate(360deg); } }

/* Switch text */
.wc-auth-switch {
    text-align: center;
    font-size: 12px;
    color: var(--wc-mute);
    font-family: var(--wc-font);
    line-height: 1.5;
}
.wc-auth-switch a {
    color: var(--wc-brand);
    font-weight: 600;
    text-decoration: none;
}
.wc-auth-switch a:hover { opacity: .8; }

/* Azzera margin-top del footer su questa pagina */
body.page-template-page-account .main-footer,
body.page-template-page-account-php .main-footer,
body.page-id-1830456 .main-footer { margin-top: 0 !important; }

/* Turnstile full-width override (managed widget) */
.wc-auth-turnstile .cf-turnstile,
.wc-auth-turnstile .cf-turnstile > div,
.wc-auth-turnstile iframe {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

/* ============================================================
   DASHBOARD LAYOUT — port da ispazio-theme (Fase 5 v2)
   ============================================================ */
.wc-dash {
  max-width:   1280px;
  margin:      0 auto;
  padding:     32px 32px 40px;
  box-sizing:  border-box;
  font-family: var(--wc-font);
  color:       var(--wc-ink);
}

/* --------------------------------------------------------------------------
   17. Main grid
   -------------------------------------------------------------------------- */
.wc-dash-grid {
  display:               grid;
  grid-template-columns: 320px 1fr;
  gap:                   32px;
  align-items:           start;
  padding:               0 var(--wc-sp-md);
}

/* --------------------------------------------------------------------------
   18. Sidebar
   -------------------------------------------------------------------------- */
.wc-dash-sidebar {
  display:        flex;
  flex-direction: column;
  position:       sticky;
  top:            80px;
}
/* WP admin bar (32px) present when logged in */
.admin-bar .wc-dash-sidebar {
  top:            112px;
}

/* --- User card --- */
.wc-dash-user-card {
  background:    var(--wc-surface);
  border-radius: 14px;
  padding:       15px;
  border:        1px solid var(--wc-border-soft);
  margin-bottom: 16px;
}

.wc-dash-user-row {
  display:       flex;
  flex-direction: row;
  align-items:   center;
  gap:           12px;
  margin-bottom: 16px;
}

.wc-dash-avatar {
  width:         50px;
  height:        50px;
  border-radius: 50%;
  object-fit:    cover;
  flex-shrink:   0;
}

.wc-dash-user-info {
  min-width: 0;
}

.wc-dash-user-name {
  font-size:   16px;
  font-weight: 700;
  color:       var(--wc-ink);
  line-height: 1.3;
  margin:      0 0 2px;
}

.wc-dash-user-email {
  font-size:     12px;
  color:         var(--wc-mute);
  overflow:      hidden;
  text-overflow: ellipsis;
  white-space:   nowrap;
  margin:        0;
}

.wc-dash-badge {
  display:       flex;
  align-items:   center;
  gap:           8px;
  padding:       10px;
  background:    var(--wc-brand-soft);
  border-radius: 10px;
  font-size:     12px;
  font-weight:   600;
  color:         var(--wc-brand);
  line-height:   1;
}

/* Sidebar profile link variants */
.wc-variant-a {
  display:         flex;
  align-items:     center;
  gap:             8px;
  padding:         10px 14px;
  margin-bottom:   16px;
  background:      var(--wc-brand);
  border:          1px solid transparent;
  border-radius:   10px;
  font-size:       13px;
  font-weight:     600;
  color:           #fff;
  text-decoration: none;
  transition:      background .15s, color .15s, border-color .15s;
}
.wc-variant-a svg { stroke: #fff; }
.wc-variant-a:hover { background: var(--wc-surface); color: var(--wc-brand); border-color: var(--wc-border-soft); }
.wc-variant-a:hover svg { stroke: var(--wc-brand); }


/* --- Nav --- */
/* Dash nav — uniformato al widget user-menu della home (sidebar.css .wc-widget-user-menu__nav).
   Stessa altezza riga, stesso comportamento hover/active. */
.wc-dash-nav {
  background:    var(--wc-surface);
  border:        1px solid var(--wc-border-soft);
  border-radius: var(--wc-radius);
  overflow:      hidden;
}

.wc-dash-nav-item {
  display:       flex;
  align-items:   center;
  gap:           10px;
  padding:       11px 16px;
  font-size:     13px;
  font-weight:   500;
  color:         var(--wc-ink2);
  border-bottom: 1px solid var(--wc-border-soft);
  text-decoration: none;
  transition:    background .1s, color .1s;
}

.wc-dash-nav-item:last-child {
  border-bottom: none;
}

.wc-dash-nav-item:hover {
  background: var(--wc-brand-soft);
  color:      var(--wc-brand);
}

.wc-dash-nav-item.active {
  background:  var(--wc-brand-soft);
  color:       var(--wc-brand);
  font-weight: 600;
}

.wc-dash-nav-item .wc-nav-icon {
  flex-shrink: 0;
  color:       var(--wc-mute);
}
.wc-dash-nav-item:hover .wc-nav-icon,
.wc-dash-nav-item.active .wc-nav-icon {
  color: var(--wc-brand);
}

.wc-dash-nav-count {
  margin-left:   auto;
  background:    var(--wc-brand);
  color:         #fff;
  font-size:     10px;
  font-weight:   700;
  padding:       1px 6px;
  border-radius: 6px;
  min-width:     18px;
  text-align:    center;
}

/* --- Logout --- */
.wc-dash-logout {
  display:      flex;
  flex-direction: row;
  align-items:  center;
  gap:          10px;
  padding:      10px 12px;
  font-size:    13.5px;
  font-weight:  500;
  font-family:  var(--wc-font);
  color:        #cc4444;
  background:   transparent;
  border-radius: 8px;
  border:       none;
  margin-top:   8px;
  cursor:       pointer;
  width:        100%;
  text-align:   left;
  transition:   background 0.13s ease;
  line-height:  1.3;
  box-sizing:   border-box;
}

.wc-dash-logout:hover {
  background: #fef2f2;
}

.wc-dash-main {
  min-width: 0;
}
.wc-dash-main--public {
  display:        flex;
  flex-direction: column;
  gap:            16px;
}
.wc-dash-main--public + .wc-dash-sidebar,
.wc-dash-sidebar:has(+ .wc-dash-main--public) {
  /* no action needed — sidebar uses margin-bottom on children */
}
/* Sidebar widgets in public profile need spacing */
.wc-dash-sidebar > .wc-widget {
  margin-bottom: 16px;
}
.wc-dash-sidebar > .wc-widget:last-child {
  margin-bottom: 0;
}

/* --- Hero banner --- */
/* Hero stats-rich (saluto + KPI inline) */
.wc-dash-hero {
  position:      relative;
  background:    linear-gradient(135deg, var(--wc-brand) 0%, #1a4eb8 60%, #163d8a 100%);
  color:         #fff;
  border-radius: 16px;
  padding:       26px 32px 22px;
  margin-bottom: 20px;
  overflow:      hidden;
  box-shadow:    0 6px 20px rgba(30, 99, 212, 0.18);
}


.wc-dash-hero__bg {
  position: absolute;
  inset:    0;
  pointer-events: none;
  background:
    radial-gradient(circle at 92% 18%, rgba(255,255,255,0.18), transparent 45%),
    radial-gradient(circle at 8% 95%,  rgba(255,255,255,0.06), transparent 50%);
}

.wc-dash-hero__content {
  position: relative;
  z-index:  1;
}

.wc-dash-hero__top {
  display:     flex;
  align-items: center;
  gap:         12px;
  margin-bottom: 6px;
}

.wc-dash-hero__greeting {
  font-size:      13px;
  font-weight:    600;
  letter-spacing: 0.3px;
  opacity:        0.85;
}

.wc-dash-hero__pill {
  display:        inline-flex;
  align-items:    center;
  gap:            4px;
  padding:        3px 10px;
  margin-left:    8px;
  vertical-align: middle;
  background:     linear-gradient(135deg, #fbbf24, #f59e0b);
  color:          #422006;
  border-radius:  999px;
  font-size:      11px;
  font-weight:    800;
  letter-spacing: 0.5px;
  box-shadow:     0 1px 0 rgba(255,255,255,0.4) inset, 0 4px 14px rgba(245,158,11,0.35);
  position:       relative;
  top:            -3px;
}

.wc-dash-hero__pill--free {
  background:  rgba(255, 255, 255, 0.18);
  color:       #fff;
  box-shadow:  0 1px 0 rgba(255,255,255,0.25) inset;
  backdrop-filter: blur(2px);
}

.wc-dash-hero__title {
  font-size:      26px;
  font-weight:    700;
  letter-spacing: -0.5px;
  margin:         4px 0 6px;
  line-height:    1.2;
  color:          #fff;
}

.wc-dash-hero__subtitle {
  font-size:   14px;
  opacity:     0.85;
  margin:      0;
  line-height: 1.5;
}
.wc-dash-hero__subtitle strong {
  color:       #fff;
  font-weight: 700;
  opacity:     1;
}

.wc-dash-hero__period {
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  opacity:        0.7;
  margin-top:     18px;
  padding-bottom: 10px;
  border-bottom:  1px solid rgba(255,255,255,0.2);
}

.wc-dash-hero__stats {
  display:     flex;
  gap:         36px;
  margin-top:  14px;
}

.wc-dash-hero__stat-scope {
  font-weight:    400;
  text-transform: lowercase;
  letter-spacing: 0.2px;
  opacity:        0.65;
  margin-left:    2px;
}

/* ==========================================================================
   HERO UPSELL — Free user con app: tutto inglobato nel box blu
   ========================================================================== */
.wc-dash-hero__body {
  font-size:     14px;
  line-height:   1.6;
  opacity:       0.92;
  margin:        0 0 18px;
  max-width:     720px;
}
.wc-dash-hero__body strong {
  font-weight: 700;
  color:       #fff;
  opacity:     1;
}

.wc-dash-hero__features {
  list-style: none;
  padding:    0;
  margin:     0 0 18px;
  display:    grid;
  grid-template-columns: 1fr 1fr;
  gap:        8px 24px;
}

.wc-dash-hero__features li {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-size:   13px;
  font-weight: 500;
  opacity:     0.92;
}

.wc-dash-hero__features svg {
  flex-shrink: 0;
  color:       #fbbf24;
}

.wc-dash-hero__bottom {
  display:     flex;
  align-items: center;
  gap:         14px;
  flex-wrap:   wrap;
  padding-top: 14px;
  border-top:  1px solid rgba(255,255,255,0.18);
}

.wc-dash-hero__bottom-info {
  display:        flex;
  flex-direction: column;
  gap:            3px;
  min-width:      0;
}

.wc-dash-hero__plans {
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  opacity:        0.7;
}

.wc-dash-hero__plans-sub {
  font-size:   12px;
  font-style:  italic;
  opacity:     0.6;
  font-weight: 400;
}

.wc-dash-hero__cta {
  margin-left:    auto;
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  padding:        11px 20px;
  background:     linear-gradient(135deg, #fbbf24, #f59e0b);
  color:          #422006;
  border-radius:  999px;
  font-size:      13.5px;
  font-weight:    700;
  text-decoration: none;
  box-shadow:     0 4px 14px rgba(245,158,11,0.35);
  transition:     transform .15s, box-shadow .15s;
}

.wc-dash-hero__cta:hover {
  transform:  translateY(-1px);
  box-shadow: 0 6px 18px rgba(245,158,11,0.45);
  color:      #422006;
}

@media (max-width: 640px) {
  .wc-dash-hero__features { grid-template-columns: 1fr; }
  .wc-dash-hero__cta { width: 100%; justify-content: center; margin-left: 0; }
}

.wc-dash-hero__stat-value {
  font-size:      24px;
  font-weight:    700;
  letter-spacing: -0.5px;
/* --- Stats grid --- */
.wc-dash-stats {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   12px;
  margin-bottom:         20px;
}

.wc-dash-stat {
  background:    var(--wc-surface);
  border-radius: 12px;
  padding:       16px;
  border:        1px solid var(--wc-border-soft);
}

.wc-dash-stat-val {
  font-size:      24px;
  font-weight:    800;
  letter-spacing: -0.5px;
  line-height:    1;
  margin-bottom:  4px;
  color:          var(--wc-ink);
}

.wc-dash-stat-val.brand  { color: var(--wc-brand);   }
.wc-dash-stat-val.accent { color: var(--wc-accent);  }
.wc-dash-stat-val.teal   { color: #2d7a6f;             }
.wc-dash-stat-val.warm   { color: #b85540;             }
.wc-dash-stat-val.pro    { color: #a855f7;             }

.wc-dash-stat-label {
  font-size:   12px;
  color:       var(--wc-mute);
  line-height: 1.3;
}

/* --- Content cards --- */
.wc-dash-card {
  background:    var(--wc-surface);
  border-radius: 14px;
  padding:       24px;
  border:        1px solid var(--wc-border-soft);
  margin-bottom: 20px;
}

.wc-dash-card:last-child {
  margin-bottom: 0;
}

.wc-dash-card-header {
  display:       flex;
  align-items:   center;
  margin-bottom: 3px;
}

.wc-dash-card-header h2 {
  font-size:      21px;
  font-weight:    700;
  letter-spacing: -0.2px;
  color:          var(--wc-ink);
  margin:         0;
}

.wc-dash-card-subtitle {
  font-size:      13px;
  color:          var(--wc-mute);
  margin:         0 0 16px;
  padding-bottom: 16px;
  border-bottom:  1px solid var(--wc-border-soft);
  line-height:    1.4;
}

.wc-dash-card-header + .wc-dash-card-subtitle + .wc-dash-devices .wc-dash-device:first-child {
  border-top: none;
}

.wc-dash-card-title {
  font-size:   16px;
  font-weight: 700;
  margin:      0;
  color:       var(--wc-ink);
  line-height: 1.3;
}

/* ============================================================
   WC-SPECIFIC additions (icone valute + content cards link)
   ============================================================ */

/* Valute: lista icona-colorata + valore */
.wc-dash-curr-list {
  display: flex;
  flex-direction: column;
}
.wc-dash-curr {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--wc-border-soft);
}
.wc-dash-curr:last-child { border-bottom: none; }
.wc-dash-curr__iconbox {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wc-dash-curr__iconbox img { height: 24px; width: auto; }
.wc-dash-curr__iconbox--coin { background: rgba(255, 193, 7, 0.16); }
.wc-dash-curr__iconbox--gem  { background: rgba(168, 85, 247, 0.12); }
.wc-dash-curr__iconbox--key  { background: rgba(255, 159, 67, 0.16); }
.wc-dash-curr__body { flex: 1; min-width: 0; }
.wc-dash-curr__label {
  font-size: 16px;
  font-weight: 600;
  color: var(--wc-ink);
  line-height: 1.2;
}
.wc-dash-curr__sub {
  font-size: 12px;
  color: var(--wc-mute);
  margin-top: 2px;
}
.wc-dash-curr__value {
  font-size: 24px;
  font-weight: 700;
  color: var(--wc-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Content cards (link a /favorites, /purchased, /ringtones) */
.wc-dash-content-list { display: flex; flex-direction: column; gap: 10px; }
.wc-dash-content-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--wc-bg);
  border-radius: 12px;
  text-decoration: none;
  color: var(--wc-ink);
  transition: background .15s, transform .15s;
}
.wc-dash-content-card:hover {
  background: #eef0f6;
  transform: translateX(2px);
  color: var(--wc-ink);
}
.wc-dash-content-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wc-dash-content-card__icon svg { width: 20px; height: 20px; }
.wc-dash-content-card__body { flex: 1; min-width: 0; }
.wc-dash-content-card__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--wc-ink);
  line-height: 1.2;
}
.wc-dash-content-card__sub {
  font-size: 12px;
  color: var(--wc-mute);
  margin-top: 2px;
}
.wc-dash-content-card__arrow { color: var(--wc-mute); flex-shrink: 0; }

/* Account info grid (Free/PRO + App collegata) */
.wc-dash-info-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--wc-border-soft);
}
.wc-dash-info-row:last-child { border-bottom: none; }
.wc-dash-info-row__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--wc-bg);
  color: var(--wc-mute);
}
.wc-dash-info-row__icon svg { width: 18px; height: 18px; }
.wc-dash-info-row__body { flex: 1; min-width: 0; }
.wc-dash-info-row__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--wc-ink);
  line-height: 1.2;
}
.wc-dash-info-row__sub {
  font-size: 12px;
  color: var(--wc-mute);
  margin-top: 2px;
}
.wc-dash-info-row__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--wc-ink);
  white-space: nowrap;
}
.wc-dash-info-row--success .wc-dash-info-row__icon { background: rgba(45, 122, 111, .12); color: var(--wc-success, #2d7a6f); }
.wc-dash-info-row--success .wc-dash-info-row__value { color: var(--wc-success, #2d7a6f); }

/* Responsive grid → stack mobile */
@media (max-width: 900px) {
  .wc-dash { padding: 20px 12px 40px; }
  .wc-dash-grid { grid-template-columns: 1fr; gap: 16px; padding: 0; }
  .wc-dash-sidebar { position: static; top: auto; }
}
@media (max-width: 640px) {
  .wc-dash-hero { padding: 20px 18px; }
  .wc-dash-hero__title { font-size: 22px; }
  .wc-dash-stats { grid-template-columns: repeat(2, 1fr); }
  .wc-dash-curr__value { font-size: 20px; }
}

/* ============================================================
   OVERRIDE FORCE — bat il CSS del parent SmartMag/Bunyad
   ============================================================ */
.wc-dash-user-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}
.wc-dash-user-card .wc-dash-avatar {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    object-fit: cover !important;
}

/* Valute: forza layout row */
.wc-dash-curr {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 0 !important;
}
.wc-dash-curr__iconbox {
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.wc-dash-curr__iconbox img {
    height: 24px !important;
    width: auto !important;
    max-width: 24px !important;
    margin: 0 !important;
}
.wc-dash-curr__body { flex: 1 !important; min-width: 0 !important; }
.wc-dash-curr__value {
    font-size: 24px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* Info row */
.wc-dash-info-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}
.wc-dash-info-row__icon {
    width: 36px !important;
    height: 36px !important;
    flex-shrink: 0 !important;
}
.wc-dash-info-row__icon svg { width: 18px !important; height: 18px !important; }

/* Content card link (preferiti / acquistati / suonerie) */
.wc-dash-content-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
}
.wc-dash-content-card__icon {
    width: 42px !important;
    height: 42px !important;
    flex-shrink: 0 !important;
}
.wc-dash-content-card__icon svg { width: 20px !important; height: 20px !important; }

/* Logout button: stile coerente */
.wc-dash-logout {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    margin-top: 8px !important;
    background: var(--wc-surface) !important;
    border: 1px solid var(--wc-border-soft, #e4e8ee) !important;
    border-radius: 10px !important;
    color: #cc4444 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background .15s, border-color .15s !important;
}
.wc-dash-logout:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #cc4444 !important;
}
.wc-dash-logout svg { flex-shrink: 0 !important; }

/* Stat grid */
.wc-dash-stats {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
}
@media (max-width: 640px) {
    .wc-dash-stats { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Hero features grid */
.wc-dash-hero__features {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 24px !important;
    list-style: none !important;
    padding: 0 !important;
}
.wc-dash-hero__features li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Hero bottom row */
.wc-dash-hero__bottom {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

/* Nav items */
.wc-dash-nav-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.wc-dash-nav-item .wc-nav-icon { flex-shrink: 0 !important; }
.wc-dash-nav-count {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

/* User card badge */
.wc-dash-badge {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.wc-dash-badge svg { flex-shrink: 0 !important; }
