/* ===== PREMIUM THEME — webmail.lagondolarossa.com ===== */

/* -- Block Gravatar & favicon 404s (performance) -- */
img[src*="gravatar.com"], img[src*="gstatic.com/faviconV2"] {
    display: none !important;
}

/* ===== SIDEBAR ===== */
.gm-sidebar {
    width: fit-content !important; min-width: 260px !important; max-width: 400px !important;
    background: linear-gradient(180deg, #fafbfd 0%, #f4f6f9 100%) !important;
    border-right: 1px solid #e3e6ea !important;
    scrollbar-width: thin !important;
    scrollbar-color: #dadce0 transparent !important;
}

/* -- Compose Button -- */
.gm-compose-btn {
    background: linear-gradient(135deg, #1a73e8 0%, #4285f4 100%) !important;
    color: #fff !important; font-weight: 600 !important;
    border-radius: 14px !important; padding: 14px 22px !important;
    box-shadow: 0 2px 8px rgba(26,115,232,0.3), 0 1px 3px rgba(0,0,0,0.1) !important;
    transition: all 0.2s ease !important;
    letter-spacing: 0.3px !important;
}
.gm-compose-btn:hover {
    box-shadow: 0 4px 16px rgba(26,115,232,0.4), 0 2px 6px rgba(0,0,0,0.12) !important;
    transform: translateY(-1px) !important;
}
.gm-compose-btn svg, .gm-compose-btn img { filter: brightness(10) !important; }

/* -- Navigation Items (folders) -- */
.gm-nav-item {
    border-radius: 0 20px 20px 0 !important;
    margin-right: 8px !important;
    padding: 7px 16px 7px 22px !important;
    transition: all 0.15s ease !important;
    font-weight: 450 !important;
}
.gm-nav-item:hover { background: rgba(26,115,232,0.08) !important; }
.gm-nav-item.active, .gm-nav-item[class*="active"] {
    background: #d3e3fd !important; font-weight: 600 !important;
}

/* -- Folder Items -- */
.gm-folder-item {
    border-radius: 0 16px 16px 0 !important;
    margin-right: 8px !important;
    transition: all 0.12s ease !important;
}
.gm-folder-item:hover { background: rgba(26,115,232,0.06) !important; }

/* -- Section Labels -- */
.gm-sidebar [class*="label"], .gm-sidebar [class*="heading"] {
    letter-spacing: 0.8px !important;
}

/* -- Account Items -- */
.gm-account-item {
    margin-right: 0 !important; padding: 8px 8px 8px 14px !important;
    border-radius: 0 16px 16px 0 !important;
    margin-bottom: 2px !important;
    transition: all 0.15s ease !important;
    border-left: 3px solid transparent !important;
}
.gm-account-item:hover {
    background: rgba(26,115,232,0.06) !important;
    border-left-color: rgba(26,115,232,0.3) !important;
}
.gm-account-item.active, .gm-account-item[class*="active"] {
    background: #e8f0fe !important;
    border-left-color: #1a73e8 !important;
}
.gm-account-name, .gm-account-email { overflow: visible !important; text-overflow: unset !important; }
.gm-account-info { overflow: visible !important; }
.gm-account-name { font-size: 13px !important; font-weight: 600 !important; color: #1d1d1f !important; }
.gm-account-email { font-size: 11px !important; color: #6e6e73 !important; margin-top: 1px !important; }

/* -- Settings Gear -- */
.gm-account-settings-btn {
    margin-left: auto !important; margin-right: 0 !important;
    opacity: 0.4 !important;
    transition: all 0.15s ease !important;
}
.gm-account-item:hover .gm-account-settings-btn { opacity: 0.9 !important; }
.gm-account-settings-btn:hover { background: rgba(0,0,0,0.06) !important; opacity: 1 !important; }

/* -- Unread Badge (sidebar) -- */
.gm-account-unread-badge {
    background: linear-gradient(135deg, #1a73e8, #4285f4) !important;
    box-shadow: 0 1px 3px rgba(26,115,232,0.3) !important;
    font-size: 10px !important; font-weight: 700 !important;
    animation: badgePulse 2s ease-in-out infinite !important;
}
@keyframes badgePulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}

/* -- Logout Button -- */
.gm-logout-btn {
    color: #6e6e73 !important; font-size: 12px !important; font-weight: 400 !important;
    padding: 8px 16px 8px 20px !important;
    border-top: 1px solid rgba(0,0,0,0.04) !important;
    transition: all 0.15s !important;
}
.gm-logout-btn:hover { color: #c5221f !important; background: rgba(197,34,31,0.06) !important; }

/* -- Account entry animation -- */
.gm-account-item {
    animation: slideIn 0.3s ease-out both !important;
}
.gm-account-item:nth-child(1) { animation-delay: 0.05s !important; }
.gm-account-item:nth-child(2) { animation-delay: 0.1s !important; }
.gm-account-item:nth-child(3) { animation-delay: 0.15s !important; }
.gm-account-item:nth-child(4) { animation-delay: 0.2s !important; }
.gm-account-item:nth-child(5) { animation-delay: 0.25s !important; }
@keyframes slideIn {
    from { opacity: 0; transform: translateX(-12px); }
    to { opacity: 1; transform: translateX(0); }
}


/* ===== MAIL LIST ===== */

/* -- List Panel -- */
.gm-list-panel { background: #f8f9fa !important; }
.gm-msg-list { background: #fff !important; }

/* -- Tabs Bar -- */
.gm-tabs {
    background: #fff !important;
    border-bottom: 2px solid #e8eaed !important;
    padding: 2px 8px !important;
    gap: 4px !important;
}
.gm-tab {
    border-radius: 8px 8px 0 0 !important;
    padding: 10px 16px !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.2s ease !important;
}
.gm-tab:hover { background: #e8f0fe !important; color: #1a73e8 !important; }
.gm-tab-inline {
    border-radius: 20px !important; padding: 6px 16px !important;
    transition: all 0.15s ease !important;
    font-size: 13px !important;
}
.gm-tab-inline:hover { background: #e8f0fe !important; color: #1a73e8 !important; }

/* -- Message Rows -- */
.gm-msg-row {
    border-bottom: 1px solid #f0f0f0 !important;
    transition: all 0.12s ease !important;
    height: 56px !important;
    padding: 0 12px 0 8px !important;
}
.gm-msg-row:nth-child(even) { background: #fafbfc !important; }
.gm-msg-row:hover {
    background: #e8f0fe !important;
    box-shadow: inset 0 0 0 1px rgba(26,115,232,0.15), 0 2px 8px rgba(0,0,0,0.06) !important;
    z-index: 1 !important;
}

/* -- Unread Rows -- */
.gm-msg-row.unread, .gm-msg-row[class*="unread"] {
    background: #d3e3fd !important;
    border-left: 4px solid #1a73e8 !important;
    font-weight: 600 !important;
}
.gm-msg-row.unread:nth-child(even), .gm-msg-row[class*="unread"]:nth-child(even) {
    background: #c8dbf8 !important;
}

/* -- Avatar -- */
.gm-avatar {
    width: 34px !important; height: 34px !important;
    font-size: 13px !important; font-weight: 700 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important;
    border-radius: 10px !important;
    transition: transform 0.15s, box-shadow 0.15s !important;
}
.gm-msg-row:hover .gm-avatar {
    transform: scale(1.1) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.18) !important;
}
.gm-avatar-wrap { width: 42px !important; height: 42px !important; }
.gm-avatar-badge {
    border-radius: 6px !important;
    font-size: 8px !important;
}

/* -- Star -- */
.gm-msg-row [class*="star"].active, .gm-msg-row [class*="star"][class*="on"] {
    color: #f4b400 !important;
    filter: drop-shadow(0 1px 3px rgba(244,180,0,0.5)) !important;
    transform: scale(1.15) !important;
}

/* -- Date/Time -- */
.gm-msg-row [class*="date"], .gm-msg-row [class*="time"] {
    font-size: 11px !important; color: #80868b !important;
    font-variant-numeric: tabular-nums !important;
}

/* -- Toolbar top bar -- */
.gm-header-bar, .gm-inbox > div:first-child {
    background: #fff !important;
}

/* Hide calendar completely */
[class*="gm-cal-"], [class*="gm-cal "] { display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; }
.gm-sidebar-bottom > div:has([class*="gm-cal"]) { display: none !important; }

/* ══════════════ DARK MODE ══════════════ */
[data-theme="dark"] {
  --gm-bg: #1a1a2e;
  --gm-bg-surface: #16213e;
  --gm-bg-hover: #1e2d4a;
  --gm-bg-active: #243b5e;
  --gm-text: #e2e8f0;
  --gm-text-muted: #94a3b8;
  --gm-border: #2d3748;
  --gm-primary: #60a5fa;
  --gm-primary-hover: #3b82f6;
  --gm-shadow: rgba(0,0,0,.4);
}

[data-theme="dark"] body,
[data-theme="dark"] .gm-sidebar,
[data-theme="dark"] .gm-sidebar-wrapper {
  background: var(--gm-bg, #1a1a2e) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-main,
[data-theme="dark"] .gm-reader,
[data-theme="dark"] .gm-reader-panel {
  background: var(--gm-bg-surface, #16213e) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-message-row,
[data-theme="dark"] .gm-message-item {
  background: var(--gm-bg-surface, #16213e) !important;
  color: var(--gm-text, #e2e8f0) !important;
  border-color: var(--gm-border, #2d3748) !important;
}

[data-theme="dark"] .gm-message-row:hover,
[data-theme="dark"] .gm-message-item:hover {
  background: var(--gm-bg-hover, #1e2d4a) !important;
}

[data-theme="dark"] .gm-message-row.active,
[data-theme="dark"] .gm-message-item.active {
  background: var(--gm-bg-active, #243b5e) !important;
}

[data-theme="dark"] .gm-reader-subject,
[data-theme="dark"] .gm-reader-from-name,
[data-theme="dark"] .gm-compose-subject input,
[data-theme="dark"] .gm-compose-to input {
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-reader-body,
[data-theme="dark"] .gm-reader-html {
  background: var(--gm-bg-surface, #16213e) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-toolbar,
[data-theme="dark"] .gm-header,
[data-theme="dark"] header {
  background: var(--gm-bg, #1a1a2e) !important;
  border-color: var(--gm-border, #2d3748) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-compose-modal,
[data-theme="dark"] .gm-settings-modal,
[data-theme="dark"] .gm-modal,
[data-theme="dark"] [class*="modal"] {
  background: var(--gm-bg-surface, #16213e) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] [contenteditable] {
  background: var(--gm-bg, #1a1a2e) !important;
  color: var(--gm-text, #e2e8f0) !important;
  border-color: var(--gm-border, #2d3748) !important;
}

[data-theme="dark"] .gm-folder-item,
[data-theme="dark"] .gm-nav-item,
[data-theme="dark"] .gm-tab {
  color: var(--gm-text-muted, #94a3b8) !important;
}

[data-theme="dark"] .gm-folder-item:hover,
[data-theme="dark"] .gm-nav-item:hover,
[data-theme="dark"] .gm-tab:hover {
  background: var(--gm-bg-hover, #1e2d4a) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-folder-item.active,
[data-theme="dark"] .gm-nav-item.active,
[data-theme="dark"] .gm-tab.active {
  background: var(--gm-bg-active, #243b5e) !important;
  color: var(--gm-primary, #60a5fa) !important;
}

[data-theme="dark"] .gm-reply-panel,
[data-theme="dark"] .gm-inline-reply-box {
  background: var(--gm-bg, #1a1a2e) !important;
  border-color: var(--gm-border, #2d3748) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] a {
  color: var(--gm-primary, #60a5fa) !important;
}

[data-theme="dark"] .gm-reader-attachments {
  background: var(--gm-bg, #1a1a2e) !important;
  border-color: var(--gm-border, #2d3748) !important;
}

[data-theme="dark"] .gm-login-card,
[data-theme="dark"] .gm-login-box {
  background: var(--gm-bg-surface, #16213e) !important;
  color: var(--gm-text, #e2e8f0) !important;
}

[data-theme="dark"] .gm-login-bg {
  background: var(--gm-bg, #1a1a2e) !important;
}

/* Dark mode transition */
body, .gm-sidebar, .gm-main, .gm-reader,
.gm-message-row, input, textarea, select {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
