/**
 * Tipografia condivisa MyVortex (dimensione intermedia)
 */
@import url('mobile.css?v=2');

:root {
  --mv-header-height: 84px;
  --mv-content-gap: 16px;
  --mv-content-gap-x: 20px;
}

html {
  font-size: 15px;
}

body {
  font-size: 1rem;
  line-height: 1.5;
}

/* Header */
.header {
  padding: 10px 22px 10px 0;
}

.header h1,
.header h2 {
  font-size: 1.65rem;
  font-weight: 700;
}

.header-logo {
  height: 62px;
  max-width: 220px;
}

.user-info > div > div:first-child {
  font-size: 0.9375rem;
}

.user-info small {
  font-size: 0.78rem;
}

.user-avatar {
  width: 36px;
  height: 36px;
  font-size: 0.78rem;
}

.logout-btn {
  padding: 8px 16px;
  font-size: 0.875rem;
  font-weight: 600;
}

.header-menu-btn {
  width: 40px;
  height: 40px;
}

.header-menu-btn span {
  width: 20px;
}

/* Sidebar */
.vg-menu-section-title {
  font-size: 0.78rem;
  padding: 14px 18px;
  letter-spacing: 0.04em;
}

.vg-menu-item {
  font-size: 0.9375rem;
  padding: 9px 13px;
  margin-bottom: 5px;
}

.vg-menu-item i {
  width: 19px;
  font-size: 0.95rem;
}

/* Titoli pagina */
.page-title h1,
.vx-page-title,
.content-header h1,
.page-header h1 {
  font-size: 1.5rem !important;
}

.welcome-card h2,
.card-header h2,
.section-title {
  font-size: 1.25rem;
}

h2,
.vx-h2 {
  font-size: 1.15rem;
}

h3,
.quick-actions h3,
.card h3 {
  font-size: 1.05rem;
}

/* Dashboard */
.stat-icon {
  font-size: 2rem !important;
}

.stat-number {
  font-size: 1.65rem !important;
}

.stat-label {
  font-size: 0.875rem !important;
}

/* Tabelle e form */
.table th,
.table td,
.vx-table th,
.vx-table td {
  font-size: 0.9375rem;
}

.form-group label,
label {
  font-size: 0.9375rem;
}

input,
select,
textarea {
  font-size: 1rem;
}

/* Bottoni */
.btn,
button.btn,
a.btn,
.vx-btn {
  font-size: 0.9375rem;
  min-height: 38px;
  padding: 8px 16px;
}

/* Login */
.login-header h1 {
  font-size: 1.65rem !important;
}

.login-brand-text p {
  font-size: 0.875rem !important;
}

/* Spazio sotto header (l'header sticky occupa già il suo spazio nel layout) */
.main-content,
.eventi-main {
  margin-top: 0 !important;
}

.main-content {
  padding-top: var(--mv-content-gap) !important;
  padding-left: var(--mv-content-gap-x) !important;
  padding-right: var(--mv-content-gap-x) !important;
}

.eventi-main {
  padding-top: var(--mv-content-gap) !important;
}

body > .container {
  margin-top: 0 !important;
  padding-top: var(--mv-content-gap) !important;
}

.vg-sidebar {
  top: var(--mv-header-height) !important;
  height: calc(100vh - var(--mv-header-height)) !important;
  padding-top: 12px !important;
}

@media (max-width: 768px) {
  :root {
    --mv-header-height: 56px;
    --mv-content-gap-x: 16px;
  }

  .header-logo {
    height: 36px;
    max-width: 110px;
  }

  .header h1,
  .header h2 {
    font-size: 1.05rem;
  }

  .page-title h1,
  .vx-page-title {
    font-size: 1.25rem !important;
  }
}
