/*
 Theme Name: Reflip Theme
 Theme URI: https://refliptool.com
 Author: [Your Name]
 Author URI: [Your URI]
 Description: A theme for the Re-Flip real estate flipping tool
 Version: 1.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: reflip
*/

/* Reset & Base */
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

html, body {
 height: 100%;
 width: 100%;
}

body {
 font-family: 'Roboto Mono', monospace, Arial, sans-serif; /* Fallback fonts */
 background: linear-gradient(135deg, #0d0d0d 0%, #1f2a44 100%);
 color: #e0e0e0;
 line-height: 1.6;
 min-height: 100vh; /* Ensure body is at least viewport height */
 position: relative; /* Allow absolute positioning of footer */
}

/* Main Content */
.main-content {
 max-width: 1200px;
 width: 90%;
 margin: 20px auto; /* Reduced margin to remove blank space */
 padding: 0 20px;
 padding-bottom: 60px; /* Add padding to prevent footer overlap */
}

/* WordPress Admin Bar Adjustment */
body.logged-in.admin-bar .nav-bar {
 top: 32px;
}

@media screen and (max-width: 782px) {
 body.logged-in.admin-bar .nav-bar {
 top: 46px;
 }
}

/* Navigation */
.nav-bar {
 position: fixed;
 top: 0;
 width: 100%;
 background: linear-gradient(90deg, rgba(15, 15, 15, 0.9) 0%, rgba(31, 42, 68, 0.9) 100%);
 backdrop-filter: blur(10px);
 padding: 20px 40px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 box-shadow: 0 5px 20px rgba(0, 0, 0, 0.7);
 z-index: 1000;
}

.logo-container {
 display: flex;
 align-items: center;
 gap: 15px;
}

.logo {
 height: 50px !important;
 max-width: 100px !important;
 width: auto !important;
 filter: drop-shadow(0 0 5px #00ffcc);
 transition: transform 0.4s ease;
}

.logo:hover {
 transform: rotate(360deg);
}

.logo-text {
 font-family: 'Orbitron', sans-serif, Arial, sans-serif; /* Fallback */
 font-weight: 700;
 font-size: 24px;
 color: #00ffcc;
 text-shadow: 0 0 10px #00ffcc;
}

.nav-links {
 list-style: none;
 display: flex;
 gap: 35px;
 margin-left: auto; /* Push the nav links to the right */
}

.nav-link {
 text-decoration: none;
 color: #00ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 500;
 font-size: 18px;
 position: relative;
 transition: color 0.3s ease, text-shadow 0.3s ease;
}

.nav-link::after {
 content: '';
 position: absolute;
 width: 0;
 height: 3px;
 bottom: -8px;
 left: 0;
 background: #00ffcc;
 box-shadow: 0 0 10px #00ffcc;
 transition: width 0.3s ease;
}

.nav-link:hover::after {
 width: 100%;
}

.nav-link:hover {
 color: #66ffcc;
 text-shadow: 0 0 10px #00ffcc;
}

/* Cards */
.card {
 background: rgba(40, 40, 40, 0.85);
 backdrop-filter: blur(15px);
 border: 1px solid rgba(0, 255, 204, 0.2);
 border-radius: 20px;
 padding: 30px;
 margin-bottom: 30px;
 box-shadow: 0 15px 50px rgba(0, 0, 0, 0.8);
 animation: slideUp 0.5s ease;
 display: none;
}

.page {
 display: none;
}

.page.active {
 display: block !important;
}

.card-header {
 text-align: center;
 margin-bottom: 25px;
}

.card-header h1 {
 color: #00ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 700;
 font-size: 36px;
 text-shadow: 0 0 15px #00ffcc;
}

.card-header p {
 color: #b0b0b0;
 font-size: 16px;
}

.card-body {
 display: flex;
 flex-direction: column;
 gap: 20px;
 align-items: center; /* Center content */
}

/* Banner Image */
.banner-img {
 width: 100%;
 max-width: 600px;
 border-radius: 15px;
 margin: 0 auto;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
 display: block;
}

/* Buttons */
.action-btn {
 padding: 15px 25px;
 background: linear-gradient(90deg, #00ffcc 0%, #00cc99 100%);
 border: none;
 border-radius: 10px;
 color: #1a1a1a;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 600;
 font-size: 16px;
 cursor: pointer;
 transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.action-btn.neon {
 box-shadow: 0 0 15px rgba(0, 255, 204, 0.5);
}

.action-btn:hover {
 transform: scale(1.05);
 box-shadow: 0 0 25px rgba(0, 255, 204, 0.7);
}

.action-btn.secondary {
 background: rgba(85, 85, 85, 0.7);
 color: #e0e0e0;
}

.action-btn.secondary:hover {
 background: rgba(102, 102, 102, 0.7);
 box-shadow: 0 0 15px rgba(85, 85, 85, 0.5);
}

/* Navigation */
.navigation {
 display: flex;
 justify-content: space-between;
 gap: 20px;
 flex-wrap: wrap;
 width: 100%;
}

/* Summary Content */
.summary-content {
 background: transparent; /* Changed to transparent for PDF export */
 padding: 25px;
 border-radius: 15px;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
 margin-bottom: 20px;
 font-size: 18px;
 line-height: 1.8;
 width: 100%;
}

.summary-content h2 {
 color: #00ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 700;
 font-size: 28px;
 text-shadow: 0 0 10px #00ffcc;
 margin-bottom: 20px;
}

.summary-content p {
 margin-bottom: 15px;
}

.summary-content h3 {
 color: #66ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 600;
 border-bottom: 2px solid #00ffcc;
 padding-bottom: 5px;
}

.summary-content strong {
 color: #00ffcc;
}

.summary-content img {
 max-width: 100%;
 border-radius: 10px;
 margin-top: 15px;
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}

/* Map Views */
.map-view {
 width: 100%;
 height: 300px;
 border-radius: 15px;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
 margin: 20px 0;
}

/* Inputs */
.input-group {
 width: 100%;
 max-width: 500px; /* Limit input width for better alignment */
}

.input-group label {
 display: block;
 margin-bottom: 5px;
 color: #e0e0e0;
}

.input-group input,
.input-group textarea {
 width: 100%;
 padding: 15px;
 border: 1px solid rgba(0, 255, 204, 0.3);
 border-radius: 10px;
 background: rgba(51, 51, 51, 0.7);
 color: #fff;
 font-size: 16px;
 transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.input-group input:focus,
.input-group textarea:focus {
 border-color: #00ffcc;
 box-shadow: 0 0 15px rgba(0, 255, 204, 0.5);
 outline: none;
}

/* Footer */
.footer {
 text-align: center;
 color: #757575;
 padding: 20px 0;
 background: rgba(15, 15, 15, 0.9);
 backdrop-filter: blur(10px);
 position: absolute;
 bottom: 0;
 width: 100%;
 text-shadow: 0 0 5px rgba(0, 255, 204, 0.2);
}

/* Project List */
.project-list {
 margin-top: 20px;
 width: 100%;
}

.project-list h2 {
 color: #00ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 700;
 font-size: 24px;
 text-shadow: 0 0 10px #00ffcc;
 margin-bottom: 15px;
}

.project-list ul {
 list-style: none;
 padding: 0;
}

.project-list li {
 background: rgba(51, 51, 51, 0.7);
 border-radius: 15px;
 padding: 15px;
 margin-bottom: 15px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.project-list li:hover {
 transform: translateY(-5px);
 box-shadow: 0 10px 30px rgba(0, 255, 204, 0.3);
}

.project-list .project-link {
 color: #00ffcc;
 text-decoration: none;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 500;
 transition: color 0.3s ease, text-shadow 0.3s ease;
}

.project-list .project-link:hover {
 color: #66ffcc;
 text-shadow: 0 0 10px #00ffcc;
}

.project-list button {
 background: #ff3366;
 padding: 10px 20px;
 border: none;
 border-radius: 10px;
 color: #fff;
 cursor: pointer;
 transition: background 0.3s ease;
}

.project-list button:hover {
 background: #ff6699;
}

/* Animations */
@keyframes fadeIn {
 from { opacity: 0; }
 to { opacity: 1; }
}

@keyframes slideUp {
 from { opacity: 0; transform: translateY(30px); }
 to { opacity: 1; transform: translateY(0); }
}

/* Login/Register Page Styles */
.container {
 max-width: 1200px;
 width: 90%;
 margin: 100px auto 40px;
 padding: 0 20px;
 text-align: center;
}

.form-group {
 margin-bottom: 20px;
 text-align: left;
 max-width: 500px;
 margin-left: auto;
 margin-right: auto;
}

.form-group label {
 display: block;
 margin-bottom: 5px;
 color: #e0e0e0;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
}

.form-group input,
.form-group textarea {
 width: 100%;
 padding: 15px;
 border: 1px solid rgba(0, 255, 204, 0.3);
 border-radius: 10px;
 background: rgba(51, 51, 51, 0.7);
 color: #fff;
 font-size: 16px;
 transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
 border-color: #00ffcc;
 box-shadow: 0 0 15px rgba(0, 255, 204, 0.5);
 outline: none;
}

.btn {
 padding: 15px 25px;
 background: linear-gradient(90deg, #00ffcc 0%, #00cc99 100%);
 border: none;
 border-radius: 10px;
 color: #1a1a1a;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 600;
 font-size: 16px;
 cursor: pointer;
 transition: transform 0.3s ease, box-shadow 0.3s ease;
 display: inline-block;
 margin: 10px 0;
}

.btn:hover {
 transform: scale(1.05);
 box-shadow: 0 0 25px rgba(0, 255, 204, 0.7);
}

#saved-projects h2 {
 color: #00ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 700;
 font-size: 24px;
 text-shadow: 0 0 10px #00ffcc;
 margin-bottom: 15px;
}

#saved-projects p {
 color: #b0b0b0;
 font-size: 16px;
}

#login-form h2,
#register-form h2 {
 color: #00ffcc;
 font-family: 'Orbitron', sans-serif, Arial, sans-serif;
 font-weight: 700;
 font-size: 24px;
 text-shadow: 0 0 10px #00ffcc;
 margin-bottom: 15px;
 text-align: center;
}

#login-form p,
#register-form p {
 color: #b0b0b0;
 font-size: 16px;
 text-align: center;
}

#login-form a,
#register-form a {
 color: #00ffcc;
 text-decoration: none;
 transition: color 0.3s ease, text-shadow 0.3s ease;
}

#login-form a:hover,
#register-form a:hover {
 color: #66ffcc;
 text-shadow: 0 0 10px #00ffcc;
}