/* demos.css */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh; 
  background-image: url("/images/abstract-timekeeper.svg");
  background-attachment: fixed;
  background-size: cover;
}

main {
  flex: 1; 
}

h1, h2 {
    text-align: center;
    margin-top: 200px;
    font-size: 2.5rem;
    margin-top: 50px;
}

.demo-card {
    box-shadow: var(--shadow-small);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.demo-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.demo-title {
    margin-top: 0;
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: var(--margin-small);
}

.demo-image {
    width: 70%;
    height: auto;
    border-radius: 8px;
    box-shadow: var(--shadow-small);
    margin-bottom: var(--margin-medium);
}

.demo-description,
.demo-problem,
.demo-solution,
.coming-soon {
    line-height: 1.6;
    margin-bottom: var(--margin-small);
    font-size: 1.25rem;
    text-align: center;
}

.demo-problem,
.demo-solution {
    font-weight: 500;
}

h3 {
    font-weight: bold;
    color: var(--primary-color);
    font-size: 2rem;
}

.coming-soon {
    font-weight: bold;
    color: var(--secondary-color);
    text-align: center;
    font-style: italic;
    margin-top: 10px;
}

.demo-link,
.demo-repo {
    display: inline-block;
    padding: 8px 25px;
    margin: 20px 10px;
    background-color: var(--secondary-color);
    color: var(--light-bg-color);
    text-decoration: none;
    font-weight: 600;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(202, 110, 11, 0.4);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.demo-link:hover,
.demo-repo:hover {
    background-color: var(--primary-color);
    box-shadow: 0 4px 8px rgba(46, 151, 190, 0.4);
}

/* Responsive tweaks */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    .demo-card {
        padding: var(--padding-medium);
    }

    .demo-link,
    .demo-repo {
        display: block;
        margin: 10px auto;
        width: fit-content;
    }
}