@charset "utf-8";

/*
 * Page-specific presentation rules.
 *
 * These intentionally preserve the original visual treatment as closely as
 * possible, while adding responsive fallbacks for narrower screens.
 */

/* -------------------------------------------------------------------------- */
/* Intro                                                                       */
/* -------------------------------------------------------------------------- */

.intro-image {
    float: right;
    width: 300px;
    margin-left: 10px;
    margin-bottom: 10px;
}

/* -------------------------------------------------------------------------- */
/* Història                                                                    */
/* -------------------------------------------------------------------------- */

.page-historia blockquote {
    margin: 0;
}

.page-historia footer > p {
    text-align: right;
    font-weight: bold;
    margin-right: 40px;
}

.historia-image {
    max-width: 100%;
    height: auto;
}

.historia-image--left {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
}

.historia-image--right {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
}

/* -------------------------------------------------------------------------- */
/* Float containment for legacy-style prose pages                              */
/* -------------------------------------------------------------------------- */

.page-intro .page-content,
.page-historia .page-content {
    display: flow-root;
}

/* -------------------------------------------------------------------------- */
/* Responsive adjustments                                                      */
/* -------------------------------------------------------------------------- */

@media screen and (max-width: 900px) {
    .intro-image,
    .historia-image--left,
    .historia-image--right {
        float: none;
        display: block;
        margin: 0 auto 1rem auto;
        width: auto;
        max-width: 100%;
    }

    .page-historia footer > p {
        margin-right: 0;
    }
}

@media screen and (max-width: 700px) {
    .page-intro p,
    .page-historia p,
    .page-credits p {
        text-align: start;
        hyphens: auto;
    }
}

/* -------------------------------------------------------------------------- */
/* Error pages                                                                 */
/* -------------------------------------------------------------------------- */

.error-page {
    max-width: 42rem;
    margin: 0 auto;
}

.error-page p {
    text-align: center;
}

.error-page__actions {
    margin-top: 1.5rem;
    font-weight: bold;
}

.error-page__actions a {
    text-decoration: none;
}

.error-page__actions a:hover,
.error-page__actions a:focus-visible {
    text-decoration: underline;
}
