/* ===============================
   Global Color Definitions
   =============================== */

/* CSS Custom Properties (Variables) using rainbow-inspired palette */
:root {
    --cassiopeia-color-primary: #ff0000; /* Red */
    --cassiopeia-color-hover: #ffa500;   /* Orange */
    --cassiopeia-color-active: #ffff00;  /* Yellow */

    --cassiopeia-color-info: #008000;    /* Green */
    --cassiopeia-color-success: #0000ff; /* Blue */
    --cassiopeia-color-warning: #4b0082; /* Indigo */
    --cassiopeia-color-danger: #ee82ee;  /* Violet */

    --rainbow-gradient: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
}

/* ===============================
   Header & Footer Styling
   =============================== */

/* Apply a full rainbow gradient to the header */
header {
    background: var(--rainbow-gradient);
    color: white !important;
}

/* Keep the footer clean and classic purple */
footer {
    background-color: #800080 !important; /* Classic purple */
    color: white !important;
}

/* ===============================
   Links
   =============================== */

a {
    color: var(--cassiopeia-color-hover); /* Orange */
}

a:hover {
    color: var(--cassiopeia-color-active); /* Yellow */
}

/* ===============================
   Buttons
   =============================== */

.btn-primary {
    background-color: var(--cassiopeia-color-primary); /* Red */
    border-color: var(--cassiopeia-color-primary);
    color: white;
}

.btn-primary:hover {
    background-color: var(--cassiopeia-color-hover); /* Orange */
    border-color: var(--cassiopeia-color-hover);
}

/* ===============================
   Blog Layout Tweaks
   =============================== */

/* Truncate intro text to four lines */
.blog .item-introtext {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    max-height: 6em;
    line-height: 1.5em;
}

/* Responsive grid for leading blog items */
.blog .items-leading .item {
    float: left;
    width: 25%;
    padding: 10px;
    box-sizing: border-box;
}

/* Style blog item headings */
.blog .items-leading .item h2 {
    font-size: 1.2em;
    color: var(--cassiopeia-color-danger); /* Violet for titles */
    margin-top: 0.5em;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .blog .items-leading .item {
        width: 100%;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .blog .items-leading .item {
        width: 50%;
    }
}
