
:root {
    --primary: #4361ee;
    --secondary: #3a0ca3;
    --accent: #f72585;
    --light: #f8f9fa;
    --dark: #334a61;
    --footer: #2c3e50;
    --gray: #737b81;
    --success: #4cc9f0;
    --transition: all 0.3s ease;
    --primary-light: #4895ef;
    --primary-dark: #3a0ca3;
    --light-gray: #e9ecef;
    --lighter-gray: #f8f9fa;
    --footer-bottom: #ffffff1a;
    --primary-blue: #3498db;
    --dark-blue: #2980b9;
    /* --white: #ffffff; */
    --white: #ecf0f1;
    --black: #0a0a0a;
    --border-radius: 12px;
    --shadow: 0 10px 10px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 5px 40px rgba(0, 0, 0, 0.12);
    --dark-bg: #121212;
    --dark-card: #1e1e1e;
    --dark-text: #f0f0f0;
    --dark-border: #333;
}

body.dark-theme {
    --light: #2d2d2d;
    --lighter-gray: #333;
    --light-gray: #444;
    --gray: hsl(0, 0%, 67%);
    --dark: #f0f0f0;
    --black: #f3f3f3;
    --white: #1a1a1a;
    --result: #000000;
    --footer: #000;
    --footer-bottom: #acacac54;
    --shadow: 0 4px 10px #0000004d;
    --shadow-hover: 0 5px 20px #00000066;
}

* {margin: 0; padding: 0; box-sizing: border-box; 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}

body {color: var(--dark); line-height: 1.6; background-color: var(--light); min-height: 100vh; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--lighter-gray) 0%, var(--light-gray) 100%); transition: background-color 0.3s ease, color 0.3s ease;
    font-family: 'Delius', cursive, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* = Header Styles = */
.main-header {position: fixed; top: 0; left: 0; width: 100%; background: var(--white); z-index: 9000; box-shadow: 0 5px 20px #00000014;}
.main-header.scrolled {background: #fffffff2; backdrop-filter: blur(10px); box-shadow: 0 2px 10px #0000001a;}
.header-container {display: flex; justify-content: space-between; align-items: center; padding: 3px 25px; max-width: 1350px; margin: 0 auto;}

.header-logo {padding-top: 15px; justify-items: center;}
.header-logo img {width:45px; height:45px;}

.desktop-nav {display: flex; gap: 25px;}
.desktop-nav a {color: var(--dark); text-decoration: none; font-weight: 500; transition: var(--transition); position: relative; padding: 0.5rem 0;}
.desktop-nav a:hover {color: var(--primary);}
.desktop-nav a::after {content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--primary); transition: var(--transition);}
.desktop-nav a:hover::after {width: 100%;}

.nav-item {position: relative;}
.dropdown-toggle {display: flex; align-items: center; gap: 6px;}
.dropdown-toggle i {font-size: 0.7em; transition: transform 0.3s ease;}
.dropdown-menu {display: none; position: absolute; top: 100%; left: 0; background-color: var(--white); border-radius: var(--border-radius); box-shadow: var(--shadow); min-width: 220px;
    padding: 0.5rem 0; z-index: 1001; border: 1px solid var(--light-gray); opacity: 0; transform: translateY(10px); transition: opacity 0.3s ease, transform 0.3s ease;}

.dropdown-menu a {display: block; padding: 0.75rem 1.5rem;}
.dropdown-menu a:hover {color: var(--primary);}
.nav-item:hover .dropdown-menu {display: block; opacity: 1; transform: translateY(0);}
.nav-item:hover .dropdown-toggle i {transform: rotate(180deg);}

.theme-toggle {width: 45px; height: 45px; background: none; border: none; cursor: pointer; font-size: 1.3rem; color: var(--text-primary); position: relative; justify-content: center;
    padding: 0; display: flex !important; visibility: visible !important; opacity: 1 !important; border-radius: 50%; transition: all 0.3s ease; align-items: center;}
.theme-switcher {display: flex !important; visibility: visible !important; opacity: 1 !important;}
.theme-loading * {transition: none !important;}
.theme-icon {width: 25px; height: 25px; transition: all 0.3s ease; position: absolute;}
.theme-icon.light-icon {opacity: 1;}
.theme-icon.dark-icon {opacity: 0;}
body.dark-theme .theme-icon.light-icon {opacity: 0;}
body.dark-theme .theme-icon.dark-icon {opacity: 1;}

.header-actions {display: flex; align-items: center; gap: 1rem;}
.signup-btn {background: var(--primary); color: var(--white); padding: 0.5rem 1.2rem; border-radius: 50px; text-decoration: none; font-weight: 600; transition: var(--transition);}
.signup-btn:hover {box-shadow: 0 0 5px 0.3px var(--primary-light);}
.var-bar {color: var(--gray);}
.login-btn {color: var(--dark); text-decoration: none; font-weight: 500; transition: var(--transition);}
.login-btn:hover {padding: 7px 20px; background: var(--light-gray); border-radius: 50px; box-shadow: 0 0 5px 0.3px var(--primary-light);}





/* == Mobile Menu == */
.mobile-menu-toggle {display: none; flex-direction: column; justify-content: center; align-items: center; width: 30px; height: 30px; background: none; 
    border: none; cursor: pointer; padding: 0 10px; color: var(--dark); visibility: visible !important; opacity: 1 !important;}
.hamburger-line {width: 24px; height: 2px; color: var(--white); background: var(--dark); margin: 3px 0; transition: var(--transition); transform-origin: center;}
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {transform: translateY(10px) rotate(45deg);}
.mobile-menu-toggle.active .hamburger-line:nth-child(2) {opacity: 0;}
.mobile-menu-toggle.active .hamburger-line:nth-child(3) {transform: translateY(-6px) rotate(-45deg);}

.mobile-menu {position: fixed; top: 68px; left: 0; margin: -10px 0; width: 100%; height: 0; background: var(--white); overflow: hidden; 
    transition: height 0.4s ease; box-shadow: 0 5px 15px #0000001a; border-top: var(--accent);}
.mobile-menu.active {height: calc(100vh - 50px);}
.mobile-menu nav {display: flex; flex-direction: column; padding: 8px 25px; color: var(--primary); }
.mobile-menu nav a {color: var(--dark); text-decoration: none; padding: 14px 0; font-weight: 500; border-bottom: 0.1px solid var(--gray);transition: var(--transition);}
.mobile-menu nav a:hover {color: var(--primary);padding-left: 0.5rem;}

.mobile-nav-item {border-bottom: 0.1px solid var(--gray); cursor: pointer;}
.mobile-dropdown-toggle {display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 15px 0; color: var(--dark); font-weight: 500;}
.mobile-dropdown-toggle i {transition: transform 0.3s ease;}
.mobile-nav-item.active .mobile-dropdown-toggle i {transform: rotate(180deg);}
.mobile-dropdown-menu {max-height: 0; overflow: hidden; transition: max-height 0.4s ease; padding-left: 25px; cursor: pointer;}
 li {padding-bottom: 10px; /* list-style: none; */}
.mobile-dropdown-menu li a {padding: 10px 0; border-bottom: none;}
.mobile-nav-item.active .mobile-dropdown-menu {max-height: 500px;}

.mobile-theme {align-items: center; gap: 10px; padding-top: 5px;}
.mobile-theme img {align-items: center; font-size: 10px;}

.mobile-actions {display: flex; flex-direction: row; gap: 1rem; padding: 115px 2rem 2rem; justify-content: center; flex-wrap: wrap;}
.mobile-actions .login-btn,
.mobile-actions .signup-btn {text-align: center; padding: 8px 15px; border-radius: 50px; flex: 1; min-width: 100px; max-width: 600px;}
.mobile-actions .login-btn {background: transparent; color: var(--primary); width: 400px; border: 0.7px solid var(--primary); order: 2;}
.mobile-actions .signup-btn {background: var(--primary); color: var(--white); order: 1;}



/* = Footer = */
footer {background: var(--footer); color: var(--white); padding: 4rem 2rem 1rem 2rem;}
.footer-container {max-width: 1350px; margin: 0 auto; padding: 10px;}
.footer-content {display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; margin-bottom: 30px; max-width: 1350px; margin-inline: auto;}
.footer-column h3 {font-size: 1.5rem; margin-bottom: 1.5rem; color: var(--success);}
.footer-column ul {list-style: none;}
.footer-column li {margin-bottom: 0.8rem;}
.footer-column a {color: #ffffffcc; text-decoration: none; transition: var(--transition);}
.footer-column a:hover {color: var(--success);}

.footer-bottom {padding-top: 30px; border-top: 1px solid var(--footer-bottom);}
.footer-bottom-content {display: flex; justify-content: space-between; align-items: center; padding-left: 5px; padding-right: 5px;}
.copyright { color: #ffffff99; margin: 0;}

.footer-social-links {display: flex; gap: 15px;}
.footer-social-links a {display: flex; align-items: center; justify-content: center; color: white; width: 40px; height: 40px;
    border-radius: 50%; background: #ffffff1a; text-decoration: none; transition: var(--transition);
}





@media (max-width: 850px) {
    .header-container {padding: 0 15px;}
    .header-logo {padding-top: 10px;}
    .header-logo img {width:40px; height:40px;}
    /* .signup-btn, .var-bar {display: none;} */
    .desktop-nav {display: none;}
    .header-actions {align-items: center; margin-left: auto; padding-right: 20px;}

    .mobile-actions {padding-top: 170px;}
    .mobile-menu {position: fixed; top: 80px;}
    .header-container {padding: 6px 30px;}
    .mobile-dropdown-toggle {padding-right: 15px;}
    .mobile-menu-toggle {display: flex !important; visibility: visible !important; opacity: 1 !important;}
    .header-mobile-actions {display: flex; align-items: center; gap: 15px;}
}


@media (max-width: 600px) {
    .header-container {padding: 0 15px;}
    .header-logo {padding-top: 12px;}
    .header-logo img {width:39px; height:39px;}
    .theme-switcher,
    .mobile-menu-toggle {display: flex !important; visibility: visible !important; opacity: 1 !important;}
    .header-mobile-actions {gap: 10px; display: flex; align-items: center;}
    .mobile-menu {position: fixed; top: 65px;}

    .desktop-nav {display: none;}
    .mobile-dropdown-toggle {padding-right: 15px;}
    .mobile-menu.active ~ .feedback-widget {display: none !important;}
    .mobile-auth {display: block; justify-items: center;}
    .mobile-actions {padding-top: 170px;}
    .de-signup, .var-bar {display: none;}

    footer {padding: 50px 25px 10px;}
    .footer-bottom-content {flex-direction: column; text-align: center; gap: 15px;}
    .footer-column ul {line-height: 1.5;}
    .footer-column li {margin-bottom: 0;}
    .footer-social-links {display: none;}
}
