/* Neumorphism Theme for DogeGage Chat - Ultra Refined */

body.neumorphism-theme {
    --bg-dark: #e0e5ec;
    --bg-card: #e0e5ec;
    --text-primary: #1a1f36;
    --text-secondary: #2d3748;
    --text-muted: #718096;
    --border: transparent;
    --primary: #667eea;
    --primary-dark: #5a6fd8;
    --danger: #e74c3c;
    --shadow-light: #ffffff;
    --shadow-dark: #a3b1c6;
    --shadow-sm: 3px 3px 6px #a3b1c6, -3px -3px 6px #ffffff;
    --shadow-md: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    --shadow-lg: 9px 9px 18px #a3b1c6, -9px -9px 18px #ffffff;
    --shadow-inset: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
    --shadow-inset-deep: inset 5px 5px 10px #a3b1c6, inset -5px -5px 10px #ffffff;
}

/* Background */
body.neumorphism-theme {
    background: #e0e5ec;
    color: #1a1f36;
}

/* Neumorphic shadow for major cards */
body.neumorphism-theme .sidebar,
body.neumorphism-theme .chat-main,
body.neumorphism-theme .auth-container,
body.neumorphism-theme .signup-container,
body.neumorphism-theme .modal-content,
body.neumorphism-theme .setting-section,
body.neumorphism-theme .profile-section {
    background: #e0e5ec;
    box-shadow: var(--shadow-lg);
    border: none;
    border-radius: 20px;
}

/* Landing Page */
body.neumorphism-theme .landing-page {
    background: #e0e5ec;
}

body.neumorphism-theme .bg-gradient {
    background: none;
}

/* Navigation */
body.neumorphism-theme .landing-nav {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6, 0 -2px 4px #ffffff;
    border-bottom: none;
}

body.neumorphism-theme .landing-logo {
    color: #2c3e50;
}

body.neumorphism-theme .btn-ghost {
    color: #2c3e50;
}

body.neumorphism-theme .btn-ghost:hover {
    box-shadow: var(--shadow-inset);
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-primary {
    background: linear-gradient(145deg, #7289f5, #5a6fd8);
    color: white;
    box-shadow: var(--shadow-md);
    border: none;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-primary:hover {
    box-shadow: var(--shadow-sm);
    transform: translateY(2px);
}

body.neumorphism-theme .btn-secondary {
    background: #e0e5ec;
    color: #1a1f36;
    box-shadow: var(--shadow-md);
    border: none;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-secondary:hover {
    box-shadow: var(--shadow-inset);
}

/* Hero Section */
body.neumorphism-theme .hero-title {
    color: #2c3e50;
}

body.neumorphism-theme .hero-subtitle {
    color: #7f8c8d;
}

/* Chat Mockup */
body.neumorphism-theme .mockup-window {
    background: #e0e5ec;
    box-shadow: 12px 12px 24px #a3b1c6, -12px -12px 24px #ffffff;
    border: none;
}

body.neumorphism-theme .mockup-header {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6;
    border-bottom: none;
}

body.neumorphism-theme .mockup-title {
    color: #7f8c8d;
}

body.neumorphism-theme .mock-bubble {
    background: #e0e5ec;
    box-shadow: 4px 4px 8px #a3b1c6, -4px -4px 8px #ffffff;
    color: #2c3e50;
}

body.neumorphism-theme .mock-message.right .mock-bubble {
    background: #667eea;
    box-shadow: 4px 4px 8px #5568c9, -4px -4px 8px #7794ff;
    color: white;
}

/* Feature Cards */
body.neumorphism-theme .feature-card-modern {
    background: #e0e5ec;
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
    border: none;
}

body.neumorphism-theme .feature-card-modern:hover {
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
}

body.neumorphism-theme .feature-card-modern h3 {
    color: #2c3e50;
}

body.neumorphism-theme .feature-card-modern p {
    color: #7f8c8d;
}

/* CTA Section */
body.neumorphism-theme .cta-content {
    background: #e0e5ec;
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
    border: none;
}

body.neumorphism-theme .cta-content h2 {
    color: #2c3e50;
}

body.neumorphism-theme .cta-content p {
    color: #7f8c8d;
}

/* Footer */
body.neumorphism-theme .landing-footer {
    background: #e0e5ec;
    box-shadow: 0 -4px 8px #a3b1c6;
    border-top: none;
}

body.neumorphism-theme .footer-brand p,
body.neumorphism-theme .footer-column h4 {
    color: #7f8c8d;
}

body.neumorphism-theme .footer-column a {
    color: #34495e;
}

body.neumorphism-theme .footer-bottom {
    border-top: 1px solid #d0d7de;
    color: #7f8c8d;
}

/* Auth Pages */
body.neumorphism-theme .auth-page,
body.neumorphism-theme .signup-page {
    background: #e0e5ec;
}

body.neumorphism-theme .auth-shape {
    opacity: 0;
}

body.neumorphism-theme .auth-back {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border: none;
    color: #2c3e50;
}

body.neumorphism-theme .auth-back:hover {
    box-shadow: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
}

body.neumorphism-theme .auth-title,
body.neumorphism-theme .signup-title {
    color: #2c3e50;
}

body.neumorphism-theme .auth-subtitle {
    color: #7f8c8d;
}

body.neumorphism-theme .auth-tabs {
    background: #e0e5ec;
    box-shadow: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
    border: none;
}

body.neumorphism-theme .auth-tab {
    color: #7f8c8d;
}

body.neumorphism-theme .auth-tab.active {
    background: #667eea;
    color: white;
    box-shadow: 4px 4px 8px #5568c9, -4px -4px 8px #7794ff;
}

body.neumorphism-theme input[type="text"],
body.neumorphism-theme input[type="email"],
body.neumorphism-theme input[type="password"],
body.neumorphism-theme input[type="date"],
body.neumorphism-theme select,
body.neumorphism-theme textarea {
    background: #e0e5ec;
    box-shadow: var(--shadow-inset);
    border: none;
    color: #1a1f36;
    padding: 0.875rem 1.25rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme input::placeholder {
    color: #a0aec0;
}

body.neumorphism-theme input:focus,
body.neumorphism-theme select:focus,
body.neumorphism-theme textarea:focus {
    box-shadow: var(--shadow-inset-deep);
    outline: none;
}

body.neumorphism-theme .input-help,
body.neumorphism-theme .step-footer {
    color: #7f8c8d;
}

body.neumorphism-theme .terms-box {
    background: #e0e5ec;
    box-shadow: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
    border: none;
}

body.neumorphism-theme .terms-content {
    color: #34495e;
}

body.neumorphism-theme .btn-signup-back {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border: none;
    color: #2c3e50;
}

body.neumorphism-theme .btn-signup-back:hover {
    box-shadow: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
}

/* Chat Page */
body.neumorphism-theme .chat-page {
    background: #e0e5ec;
}

body.neumorphism-theme .sidebar-header {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6;
    border-bottom: none;
}

body.neumorphism-theme .username {
    color: #2c3e50;
}

body.neumorphism-theme .user-status {
    color: #7f8c8d;
}

body.neumorphism-theme .btn-open-menu {
    background: #e0e5ec;
    box-shadow: var(--shadow-md);
    border: none;
    color: #1a1f36;
    padding: 0.75rem 1.25rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-open-menu:hover {
    box-shadow: var(--shadow-inset);
}

body.neumorphism-theme .slide-menu {
    background: #e0e5ec;
    box-shadow: -8px 0 16px #a3b1c6;
}

body.neumorphism-theme .slide-menu-header {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6;
    border-bottom: none;
}

body.neumorphism-theme .slide-menu-header h3 {
    color: #2c3e50;
}

body.neumorphism-theme .btn-close-menu {
    color: #7f8c8d;
}

body.neumorphism-theme .btn-close-menu:hover {
    box-shadow: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
}

body.neumorphism-theme .menu-user-card {
    background: #e0e5ec;
    box-shadow: var(--shadow-md);
    border: none;
    padding: 1.25rem;
    margin: 1rem;
    border-radius: 16px;
}

body.neumorphism-theme .menu-username {
    color: #1a1f36;
}

body.neumorphism-theme .menu-user-tag {
    color: #718096;
}

body.neumorphism-theme .menu-divider {
    background: transparent;
    height: 1px;
    box-shadow: 0 1px 0 #ffffff, 0 -1px 0 #a3b1c6;
}

body.neumorphism-theme .menu-item {
    color: #1a1f36;
    padding: 0.875rem 1.25rem;
    margin: 0.25rem 0.75rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .menu-item:hover {
    box-shadow: var(--shadow-inset);
}

body.neumorphism-theme .menu-item-danger {
    color: #e74c3c;
}

body.neumorphism-theme .icon-btn {
    color: #7f8c8d;
}

body.neumorphism-theme .icon-btn:hover {
    box-shadow: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
}

body.neumorphism-theme .sidebar-search {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6;
    border-bottom: none;
}

body.neumorphism-theme .search-input {
    background: #e0e5ec;
    box-shadow: var(--shadow-inset);
    border: none;
    color: #1a1f36;
    padding: 0.875rem 1.25rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .search-input:focus {
    box-shadow: var(--shadow-inset-deep);
}

body.neumorphism-theme .section-header h3 {
    color: #7f8c8d;
}

body.neumorphism-theme .section-tab {
    color: #7f8c8d;
}

body.neumorphism-theme .section-tab:hover {
    box-shadow: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
}

body.neumorphism-theme .section-tab.active {
    background: linear-gradient(145deg, #7289f5, #5a6fd8);
    color: white;
    box-shadow: var(--shadow-sm);
    border-radius: 10px;
}

body.neumorphism-theme .btn-add {
    background: linear-gradient(145deg, #7289f5, #5a6fd8);
    color: white;
    box-shadow: var(--shadow-md);
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-add:hover {
    box-shadow: var(--shadow-sm);
    transform: translateY(2px);
}

body.neumorphism-theme .empty-state,
body.neumorphism-theme .welcome-state {
    color: #7f8c8d;
}

body.neumorphism-theme .empty-state p,
body.neumorphism-theme .welcome-state h3 {
    color: #34495e;
}

body.neumorphism-theme .friend-item,
body.neumorphism-theme .group-item {
    background: #e0e5ec;
    padding: 1rem 1.25rem;
    margin: 0.25rem 0.75rem;
    border-radius: 14px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .friend-item:hover,
body.neumorphism-theme .group-item:hover {
    box-shadow: var(--shadow-sm);
}

body.neumorphism-theme .friend-item.active,
body.neumorphism-theme .group-item.active {
    box-shadow: var(--shadow-inset);
}

body.neumorphism-theme .friend-name,
body.neumorphism-theme .group-name {
    color: #1a1f36;
}

body.neumorphism-theme .friend-status,
body.neumorphism-theme .group-members {
    color: #718096;
}

body.neumorphism-theme .chat-header {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6;
    border-bottom: none;
}

body.neumorphism-theme .chat-name {
    color: #2c3e50;
}

body.neumorphism-theme .chat-status {
    color: #7f8c8d;
}

body.neumorphism-theme .messages {
    background: #e0e5ec;
}

body.neumorphism-theme .message {
    background: #e0e5ec;
    padding: 0.875rem 1rem;
    margin: 0.5rem 0;
    border-radius: 14px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .message:hover {
    box-shadow: var(--shadow-sm);
}

body.neumorphism-theme .message-avatar {
    box-shadow: var(--shadow-sm);
    border-radius: 50%;
}

body.neumorphism-theme .message-author {
    color: #1a1f36;
}

body.neumorphism-theme .message-time {
    color: #718096;
}

body.neumorphism-theme .message-text {
    color: #2d3748;
}

body.neumorphism-theme .message-text.encrypted-error {
    color: #718096;
}

body.neumorphism-theme .message-context-menu {
    background: #e0e5ec;
    box-shadow: 8px 8px 16px #a3b1c6, -8px -8px 16px #ffffff;
    border: none;
}

body.neumorphism-theme .message-context-menu-item {
    color: #2c3e50;
}

body.neumorphism-theme .message-context-menu-item:hover {
    box-shadow: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
}

body.neumorphism-theme .message-input-container {
    background: #e0e5ec;
    box-shadow: 0 -4px 8px #a3b1c6;
    border-top: none;
}

body.neumorphism-theme #message-input {
    background: #e0e5ec;
    box-shadow: var(--shadow-inset);
    border: none;
    color: #1a1f36;
    padding: 0.875rem 1.25rem;
    border-radius: 14px;
    transition: all 0.3s ease;
}

body.neumorphism-theme #message-input:focus {
    box-shadow: var(--shadow-inset-deep);
}

body.neumorphism-theme .btn-send {
    background: linear-gradient(145deg, #7289f5, #5a6fd8);
    color: white;
    box-shadow: var(--shadow-md);
    border: none;
    padding: 0.875rem 1.75rem;
    border-radius: 14px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-send:hover:not(:disabled) {
    box-shadow: var(--shadow-sm);
    transform: translateY(2px);
}

/* Modals */
body.neumorphism-theme .modal-overlay {
    background: rgba(224, 229, 236, 0.9);
}

body.neumorphism-theme .modal-content h2,
body.neumorphism-theme .modal-content h3 {
    color: #2c3e50;
}

body.neumorphism-theme .modal-content p {
    color: #34495e;
}

body.neumorphism-theme .info-box {
    background: #d6e4f0;
    box-shadow: inset 3px 3px 6px #b8c9d9, inset -3px -3px 6px #f4ffff;
    border: none;
}

body.neumorphism-theme .info-box p {
    color: #2980b9;
}

body.neumorphism-theme .warning-box {
    background: #f8d7da;
    box-shadow: inset 3px 3px 6px #d9b8bb, inset -3px -3px 6px #fff6f9;
    border: none;
}

body.neumorphism-theme .warning-box p {
    color: #c0392b;
}

body.neumorphism-theme .password-requirements {
    background: #e0e5ec;
    box-shadow: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
    border: none;
}

body.neumorphism-theme .password-requirements li {
    color: #34495e;
}

body.neumorphism-theme .btn-modal-secondary,
body.neumorphism-theme .btn-cancel {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border: none;
    color: #2c3e50;
}

body.neumorphism-theme .btn-modal-secondary:hover,
body.neumorphism-theme .btn-cancel:hover {
    box-shadow: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
}

/* Settings & Profile Pages */
body.neumorphism-theme .settings-page,
body.neumorphism-theme .profile-page,
body.neumorphism-theme .friends-page {
    background: #e0e5ec;
}

body.neumorphism-theme .settings-header,
body.neumorphism-theme .profile-header,
body.neumorphism-theme .friends-header {
    background: #e0e5ec;
    box-shadow: 0 4px 8px #a3b1c6;
    border-bottom: none;
}

body.neumorphism-theme .settings-header h1,
body.neumorphism-theme .profile-header h1,
body.neumorphism-theme .friends-header h1 {
    color: #2c3e50;
}

body.neumorphism-theme .btn-back {
    background: #e0e5ec;
    box-shadow: var(--shadow-md);
    border: none;
    color: #1a1f36;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-back:hover {
    box-shadow: var(--shadow-inset);
}

body.neumorphism-theme .setting-section h2 {
    color: #2c3e50;
}

body.neumorphism-theme .setting-info label {
    color: #2c3e50;
}

body.neumorphism-theme .setting-info p {
    color: #7f8c8d;
}

body.neumorphism-theme .profile-input,
body.neumorphism-theme .profile-textarea {
    background: #e0e5ec;
    box-shadow: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
    border: none;
    color: #2c3e50;
}

body.neumorphism-theme .btn-save-profile {
    background: linear-gradient(145deg, #7289f5, #5a6fd8);
    color: white;
    box-shadow: var(--shadow-md);
    border: none;
    padding: 0.875rem 1.75rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .btn-save-profile:hover {
    box-shadow: var(--shadow-sm);
    transform: translateY(2px);
}

/* Scrollbar */
body.neumorphism-theme ::-webkit-scrollbar-track {
    background: #e0e5ec;
}

body.neumorphism-theme ::-webkit-scrollbar-thumb {
    background: #c5cdd6;
    box-shadow: inset 2px 2px 4px #a3b1c6, inset -2px -2px 4px #ffffff;
}

body.neumorphism-theme ::-webkit-scrollbar-thumb:hover {
    background: #b5bdc6;
}

/* Cookie Banner */
body.neumorphism-theme .cookie-banner {
    background: #e0e5ec;
    box-shadow: 0 -8px 16px #a3b1c6;
    border-top: none;
}

body.neumorphism-theme .cookie-banner-text {
    color: #2c3e50;
}

body.neumorphism-theme .cookie-banner-text a {
    color: #667eea;
}

/* Invite Cards */
body.neumorphism-theme .invite-card {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border: none;
}

body.neumorphism-theme .invite-group-name {
    color: #2c3e50;
}

body.neumorphism-theme .invite-group-members {
    color: #7f8c8d;
}

body.neumorphism-theme .invite-join-btn {
    background: #10b981;
    color: white;
    box-shadow: 4px 4px 8px #a3b1c6, -4px -4px 8px #ffffff;
    border: none;
}

body.neumorphism-theme .invite-join-btn:hover {
    box-shadow: 2px 2px 4px #a3b1c6, -2px -2px 4px #ffffff;
}

/* Additional refinements */
body.neumorphism-theme .friend-avatar,
body.neumorphism-theme .group-avatar,
body.neumorphism-theme .chat-avatar,
body.neumorphism-theme .user-avatar-large,
body.neumorphism-theme .menu-avatar {
    box-shadow: var(--shadow-md);
    border-radius: 50%;
}

body.neumorphism-theme .sidebar {
    border-radius: 0;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

body.neumorphism-theme .chat-main {
    border-radius: 0;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

body.neumorphism-theme .icon-btn {
    padding: 0.625rem;
    border-radius: 10px;
    transition: all 0.3s ease;
}

body.neumorphism-theme .section-tab {
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    transition: all 0.3s ease;
}

/* Smooth all transitions */
body.neumorphism-theme * {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* Better status dots */
body.neumorphism-theme .status-dot {
    box-shadow: 0 0 0 2px #e0e5ec, var(--shadow-sm);
}

/* Refined modal */
body.neumorphism-theme .modal-content {
    padding: 2.5rem;
    border-radius: 24px;
}

/* Better invite cards */
body.neumorphism-theme .invite-card {
    padding: 1.25rem;
    border-radius: 16px;
}

/* Refined feature cards */
body.neumorphism-theme .feature-card-modern {
    padding: 2rem;
    border-radius: 20px;
}

/* Better mockup */
body.neumorphism-theme .mockup-window {
    border-radius: 16px;
    overflow: hidden;
}

/* Refined settings sections */
body.neumorphism-theme .setting-section,
body.neumorphism-theme .profile-section {
    padding: 2rem;
    margin: 1.5rem;
}
