/* General body and font */
html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Inter', sans-serif;
    background-color: #fef6e4;
    color: black;
    margin: 0;
    padding: 0;
}
/* Fixed background logo */
body::before {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  height: 60%;
  /* background-image: url('static/Logo_Resume_Parser_Inverted-removebg-preview.png'); Replace with your logo */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.15;
  z-index: 0; /* Behind all content */
  pointer-events: none; /* Allow clicking through it */
}

/* Header */
.header {
  position: sticky;
  top: 0;
  background-color: rgba(249, 188, 0, 0.9); 
  color: #3f3f00;
  font-weight: 800;
  text-align: center;
  padding: 0.05rem 0;
  user-select: none;
  border-bottom: 2px solid #4A4901;
  z-index: 1000; 
  backdrop-filter: blur(10px); 
  -webkit-backdrop-filter: blur(10px); 
}

.header-title {
    font-family: 'Poppins', sans-serif;
    font-size: 40px;
    color: #4A4901;
    margin: 1;
    line-height: 1;
    margin-top: 20;
}
.header-title span {
    font-weight: 800;
    stroke: gray;
    stroke-width: 5px;
}
.header-subtitle {
    font-family: 'Poppins', sans-serif;
    color: #836400;
    font-size: 20px;
    font-weight: 600;
    margin-top: 0.25rem;
}

/* Intro Section */
.intro-section {
    max-width: 48rem;
    margin: 2rem auto 0;
    padding: 0 1rem;
    text-align: center;
}
.intro-section p {
    margin-bottom: 0.5rem;
    font-size: 1rem;
}
.btn-try {
    font-family: 'Poppins', sans-serif;
    background-color: #f9bc00;
    color: #211900;
    font-weight: 400;
    font-size: 20px;
    padding: 0.5rem 1.5rem;
    border: 1px solid #211900;
    border-radius: 0.25rem;
    cursor: pointer;
    box-shadow: 1px 1px 1px 1px rgb(0 0 0);
    transition: filter 0.2s ease;
    margin-top: 15;
}
.btn-try:hover {
    background-color: #211900;
    border: 1px solid #f9bc00;
    color: #f9bc00;
    box-shadow: 1px 1px 1px 1px rgb(255, 195, 0);
    transition: cubic-bezier(0.86, 0, 0.07, 1);
    transition-duration: 300ms;
}

/* Horizontal line with circles */
.line-with-circles {
    position: relative;
    max-width: 80rem;
    margin: 2.5rem auto 2.5rem;
    padding: 0 1rem;
}
.line-with-circles .line {
    border-bottom: 2px solid #9b7a00;
}
.line-with-circles .circle {
    position: absolute;
    top: -0.5rem;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #9b7a00;
    border-radius: 9999px;
}
.line-with-circles .circle.left {
    left: 0;
}
.line-with-circles .circle.right {
    right: 0;
}

/* Features Title */
.features-title {
    font-size: 30px;
    font-family: 'Poppins', sans-serif;
    text-align: center;
    color: #9b7a00;
    font-weight: 800;
    max-width: 48rem;
    margin: 0 auto 1.5rem;
    padding: 0 1rem;
    line-height: 1.2;
}

/* Features Cards */
.features-cards {
    max-width: 80rem;
    margin: 0 auto 2.5rem;
    padding: 0 1rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
}
@media (min-width: 640px) {
    .features-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 768px) {
    .features-cards {
        grid-template-columns: repeat(4, 1fr);
        display: flex;
        margin: 0 auto;
    }
}
.feature-card {
    width: 250px;
    height: 400px;
    border-radius: 20px;
    padding: 1.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: box-shadow 300ms ease-in-out;
}
.feature-card:hover {
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.75);
}
.feature-card .icon {
    width: 131px;
    height: 131px;
    margin-bottom: 1rem;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}
.feature-card h3 {
    font-weight: 800;
    font-size: 30px; /* Fixed font size */
    font-family: 'Poppins', sans-serif;
    margin-bottom: 0.5rem;
}
.feature-card p {
    font-family: 'Poppins', sans-serif;
    line-height: 1.3;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    display: flex;
    align-items: center;
    text-align: center;
}

/* Individual feature card colors */
.ai-powered {
    background-color: #f9c6cc;
    color: #6b0000;
}
.ai-powered .icon {
    stroke: #6b0000;
}
.multi-format {
    background-color: #d3d3d3;
    color: #2a2a2a;
}
.multi-format .icon {
    stroke: #2a2a2a;
}
.instant-export {
    background-color: #b9d7ff;
    color: #0057d9;
}
.instant-export .icon {
    stroke: #0057d9;
}
.instant-export p {
    font-size: 0.75rem;
}
.data-privacy {
    background-color: #f9a9f9;
    color: #7a007a;
}
.data-privacy .icon {
    stroke: #7a007a;
}

/* How It Works Section */
.how-it-works {
    max-width: 96rem;
    margin: 0 auto 2.5rem;
    padding: 0 1rem;
}
.how-it-works h2 {
    font-size: 30px;
    font-family: 'Poppins', sans-serif;
    text-align: center;
    color: #9b7a00;
    font-weight: 800;
    max-width: 48rem;
    margin: 0 auto 1.5rem;
    padding: 0 1rem;
    line-height: 1.2;
}
.how-it-works-content {
    display: flex;
    flex-direction: column;
    position: relative;
}
.how-it-works-content img {
    width: 100%; /* Make image responsive */
    height: auto; /* Maintain aspect ratio */
    position: relative;
    display: flex;
}
@media (min-width: 768px) {
    .how-it-works-content img {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 0;
    }
}

/* Footer */
.footer {
    background: #5D4700;
    box-shadow: 0px 0px 20px 30px #5D4700;
    color: white;
    text-align: center;
    padding: 1rem 1rem;
    user-select: none;
}
.footer-container {
    max-width: 80rem;
    margin: 0 auto;
}
.footer-icons {
    size: 50px;
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1rem;
}
.footer-icons i {
    width: 30px;
    height: 30px;
    font-size: 29px; /* Fixed font size */
    cursor: pointer;
    color: white;
}
.footer i a:visited {
    color: white;
}
.footer-links {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}
.footer-links span {
    user-select: none;
}
.footer-links a {
    color: white;
    text-decoration: none;
}
.footer-links a:hover {
    text-decoration: underline;
}
.footer p {
    font-size: 0.75rem;
    margin: 0.25rem 0;
}
.footer p:last-child {
    font-weight: 600;
    margin-top: 0.5rem;
}
.footer p a {
    color: white;
}
.footer p a:visited {
    color: white;
}

/* Modal overlay and modal styles */
#overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 9998;
    display: none;
}
#registerModal, #loginModal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 1rem;
}
#modal-content {
    background-color: #fff8e1;
    border: 1px solid black;
    border-radius: 1rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    max-width: 360px;
    padding: 1.5rem 1.5rem 2rem;
    position: relative;
    font-family: 'Inter', sans-serif;
    width: 90%; /* Make modal responsive */
    height: auto; /* Allow height to adjust */
}
#modal-content h1 {
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 30px;
    text-align: center;
    margin-bottom: 1.5rem;
    color: black;
}
#modal-content label {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: black;
    display: block;
    margin-bottom: 0.25rem;
}
#modal-content input[type="email"],
#modal-content input[type="password"] {
    width: 100%;
    border: 1px solid #d1d5db; /* gray-300 */
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: black;
    outline-offset: 2px;
}
.flash-messages {
    margin: 20px;
    padding: 10px;
    border-radius: 5px;
}
.flash.success {
    background-color: #d4edda;
    color: #155724;
}
.flash.error {
    background-color: #f8d7da;
    color: #721c24;
}
.error-message {
    color: #dc3545;
    font-size: 0.875em;
    margin-top: 0.25rem;
}
#modal-content input::placeholder {
    color: #9ca3af; /* gray-400 */
    font-style: italic;
}
#modal-content input:focus {
    outline: none;
    box-shadow: 0 0 0 2px #fbbf24; /* yellow-400 */
    border-color: #fbbf24;
}
#modal-content button.register-btn {
    width: 100%;
    background-color: #fbbf24; /* yellow-400 */
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    color: black;
    font-weight: 800;
    padding: 0.5rem 0;
    border-radius: 0.375rem;
    border: none;
    cursor: pointer;
    margin-top: 1rem;
    transition: background-color 0.2s ease;
}
#loginForm button.login-btn {
    width: 100%;
    background-color: #fbbf24; /* yellow-400 */
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    color: black;
    font-weight: 800;
    padding: 0.5rem 0;
    border-radius: 0.375rem;
    border: none;
    cursor: pointer;
    margin-top: 1rem;
    transition: background-color 0.2s ease;
}
#modal-content button.register-btn:hover {
    background-color: #f59e0b; /* yellow-500 */
}
#modal-content button.login-btn:hover {
    background-color: #f59e0b; /* yellow-500 */
}
#modal-content p.or-text {
    text-align: center;
    font-weight: 600;
    margin: 1rem 0 0.75rem;
    color: black;
}
#modal-content button.google-btn {
    width: 100%;
    border: 1px dashed #9ca3af; /* gray-400 */
    border-radius: 9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    font-weight: 600;
    color: black;
    background: transparent;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
#modal-content button.google-btn:hover {
    background-color: #f3f4f6; /* gray-100 */
}
#modal-content button.google-btn img {
    width: 20px;
    height: 20px;
}
#modal-content p.login-register-text {
    text-align: center;
    font-size: 0.75rem;
    margin-top: 1.25rem;
    color: black;
}
#modal-content p.login-register-text a {
    font-weight: 600;
    text-decoration: underline;
    color: black;
    cursor: pointer;
}
#modal-content button.close-btn {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: transparent;
    border: none;
    font-size: 1.25rem;
    font-weight: 700;
    cursor: pointer;
    color: black;
    line-height: 1;
}
@media (max-width: 400px) {
    #modal-content {
        max-width: 90vw;
        padding: 1rem 1rem 1.5rem;
    }
}

/* Responsive Styles */
@media (max-width: 768px) {
    /* .header-title {
        font-size: 30px; 
    }
    .header-subtitle {
        font-size: 16px; 
    } */
    .features-title {
        font-size: 24px; 
    }
    .feature-card {
        width: auto; 
        height: auto;
    }
    .how-it-works-content img {
        width: 100%; 
        height: auto; 
    }
    .footer {
        padding: 0.5rem; 
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    /* .header-title {
        font-size: 35px; 
    }
    .header-subtitle {
        font-size: 18px; 
    } */
    .features-title {
        font-size: 26px;
    }
    .feature-card {
        width: 45%; 
    }
}
