:root {
    --publisher-gold: #d7a254;
    --publisher-gold-dark: #b77b2d;
    --publisher-gold-soft: #f3e2c5;

    --publisher-ink: #35383e;
    --publisher-text: #4f5258;
    --publisher-muted: #707278;

    --publisher-paper: #fbf7ef;
    --publisher-surface: #ffffff;
    --publisher-border: #e9e0d3;

    --publisher-shadow:
        0 12px 38px rgba(49, 42, 32, 0.07);

    --publisher-radius-sm: 10px;
    --publisher-radius: 16px;
    --publisher-radius-lg: 24px;

    --publisher-content: 1160px;
}

/* =========================================================
   Base
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    background-color:
        var(--publisher-paper);

    background-image:
        linear-gradient(
            90deg,
            rgba(255, 253, 250, 0.45) 0%,
            rgba(251, 247, 239, 0.45) 38%,
            rgba(251, 247, 239, 0.45) 70%,
            rgba(251, 247, 239, 0.45) 100%
        ),
        url("../images/bookshelf-bg.png");

    background-repeat:
        no-repeat,
        no-repeat;

    background-size:
        cover,
        cover;

    background-position:
        center top,
        center top;

    background-attachment:
        fixed,
        fixed;

    color: var(--publisher-text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    font-size: 16px;
    line-height: 1.7;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--publisher-gold-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

a:hover,
a:focus-visible {
    color: var(--publisher-ink);
}

button,
input,
textarea,
select {
    font: inherit;
}

::selection {
    background: var(--publisher-gold-soft);
    color: var(--publisher-ink);
}


/* =========================================================
   Accessibility
   ========================================================= */

.screen-reader-text {
    position: absolute !important;

    width: 1px;
    height: 1px;

    margin: -1px;
    padding: 0;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);
    white-space: nowrap;

    border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
    top: 12px;
    left: 12px;
    z-index: 9999;

    width: auto;
    height: auto;

    padding: 10px 16px;

    clip: auto;

    background: var(--publisher-ink);
    color: white;

    border-radius: 8px;
}


/* =========================================================
   Header
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;

    background:
        rgba(255, 253, 250, 0.90);

    border-bottom:
        1px solid rgba(215, 162, 84, 0.20);

    backdrop-filter: blur(12px);
}

.site-header__inner {
    width:
        min(
            calc(100% - 40px),
            var(--publisher-content)
        );

    min-height: 88px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;
}

.site-branding {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 14px;
}

.site-branding__logo {
    flex: 0 0 auto;
}

.site-branding__logo .custom-logo-link {
    display: block;
    line-height: 0;
}

.site-branding__logo .custom-logo {
    width: 58px;
    height: 58px;

    object-fit: cover;

    border-radius: 50%;

    box-shadow:
        0 0 0 1px rgba(215, 162, 84, 0.28);
}

.site-branding__text {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 1px;
}

.site-branding__name {
    color: var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.25;

    text-decoration: none;
}

.site-branding__name:hover {
    color: var(--publisher-gold-dark);
}

.site-branding__tagline {
    max-width: 340px;

    color: var(--publisher-muted);

    font-size: 0.76rem;
    line-height: 1.35;
}


/* =========================================================
   Navigation
   ========================================================= */

.primary-navigation {
    margin-left: auto;
}

.primary-menu,
.footer-menu {
    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;

    list-style: none;
}

.primary-menu a {
    display: block;

    padding: 9px 12px;

    color: var(--publisher-ink);

    border-radius: 999px;

    font-size: 0.92rem;
    font-weight: 600;

    text-decoration: none;

    transition:
        background-color 120ms ease,
        color 120ms ease,
        transform 120ms ease;
}

.primary-menu a:hover,
.primary-menu a:focus-visible {
    background: var(--publisher-gold-soft);
    color: #76501f;
}

.current-menu-item > a,
.current_page_item > a {
    background: var(--publisher-gold);
    color: #ffffff;
}


/* =========================================================
   Global content shell
   ========================================================= */

.site-main {
    position: relative;

    width:
        min(
            calc(100% - 40px),
            var(--publisher-content)
        );

    margin: 0 auto;

    padding:
        clamp(48px, 7vw, 88px)
        0;
}

.page-header {
    max-width: 760px;

    margin-bottom: 40px;
}

.page-header h1,
.book-detail__header h1,
.writer-detail__header h1,
.article-detail__header h1,
.information-page__header h1,
.not-found-page h1 {
    margin:
        0
        0
        16px;

    color: var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.1rem,
            5vw,
            3.7rem
        );

    line-height: 1.08;
    letter-spacing: -0.025em;
}

.page-header::after {
    content: "";

    display: block;

    width: 64px;
    height: 3px;

    margin-top: 20px;

    background: var(--publisher-gold);

    border-radius: 999px;
}


/* =========================================================
   Homepage hero
   ========================================================= */

.site-front-page {
    padding-top:
        clamp(44px, 7vw, 88px);
}

.homepage-intro {
    position: relative;

    max-width: 940px;

    margin:
        0 auto
        clamp(64px, 8vw, 104px);

    padding:
        clamp(42px, 7vw, 82px);

    overflow: hidden;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.96),
            rgba(250, 242, 227, 0.93)
        );

    border:
        1px solid
        rgba(215, 162, 84, 0.28);

    border-radius:
        var(--publisher-radius-lg);

    box-shadow:
        var(--publisher-shadow);
}

.homepage-intro::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    right: -120px;
    top: -150px;

    border:
        1px solid
        rgba(215, 162, 84, 0.30);

    border-radius: 50%;
}

.homepage-intro::after {
    content: "";

    position: absolute;

    width: 160px;
    height: 160px;

    left: -80px;
    bottom: -95px;

    background:
        rgba(215, 162, 84, 0.08);

    border-radius: 50%;
}

.homepage-intro > * {
    position: relative;
    z-index: 1;
}

.homepage-intro h1 {
    max-width: 820px;

    margin:
        0 auto
        18px;

    color: var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.7rem,
            7vw,
            5.2rem
        );

    line-height: 0.98;
    letter-spacing: -0.04em;
}

.homepage-intro__description {
    max-width: 640px;

    margin:
        0 auto
        30px;

    color: var(--publisher-muted);

    font-size:
        clamp(
            1rem,
            2vw,
            1.16rem
        );
}

.homepage-intro__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 12px;
}

.homepage-action {
    min-width: 138px;

    padding: 12px 20px;

    border:
        1px solid
        var(--publisher-gold);

    border-radius: 999px;

    font-size: 0.94rem;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform 120ms ease,
        background-color 120ms ease,
        color 120ms ease,
        box-shadow 120ms ease;
}

.homepage-action--books {
    background:
        var(--publisher-gold);

    color: white;
}

.homepage-action--writers {
    background: transparent;
    color: var(--publisher-ink);
}

.homepage-action:hover {
    transform: translateY(-1px);

    background:
        var(--publisher-gold-dark);

    color: white;

    box-shadow:
        0 8px 22px
        rgba(183, 123, 45, 0.17);
}


/* =========================================================
   Homepage sections
   ========================================================= */

.homepage-section {
    margin-bottom:
        clamp(64px, 8vw, 100px);
}

.homepage-section__header {
    margin-bottom: 28px;

    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 20px;
}

.homepage-section__header h2 {
    margin: 0;

    color: var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            1.75rem,
            4vw,
            2.6rem
        );

    line-height: 1.15;
}

.homepage-section__header > a {
    flex: 0 0 auto;

    font-weight: 650;

    text-decoration: none;
}


/* =========================================================
   Catalog grids
   ========================================================= */

.book-list,
.contributor-list,
.article-list {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(230px, 1fr)
        );

    gap:
        clamp(
            18px,
            3vw,
            30px
        );
}


/* =========================================================
   Cards
   ========================================================= */

.book-card,
.contributor-card,
.article-card {
    background:
        rgba(255, 255, 255, 0.94);

    backdrop-filter:
        blur(4px);
}

.book-card:hover,
.contributor-card:hover,
.article-card:hover {
    transform: translateY(-3px);

    border-color:
        rgba(215, 162, 84, 0.52);

    box-shadow:
        0 15px 38px
        rgba(47, 40, 31, 0.09);
}

.book-card__cover,
.contributor-card__photo,
.article-card__media {
    margin:
        0
        0
        18px;

    overflow: hidden;

    background:
        var(--publisher-paper);

    border-radius:
        11px;
}

.book-card__cover img,
.article-card__media img {
    width: 100%;
    aspect-ratio: 4 / 5;

    display: block;

    object-fit: cover;
}

.contributor-card__photo img {
    width: 100%;
    aspect-ratio: 1 / 1;

    display: block;

    object-fit: cover;
}

.book-card__title,
.contributor-card__name,
.article-card__title {
    margin:
        0
        0
        10px;

    color: var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.28rem;
    line-height: 1.25;
}

.book-card__title a,
.contributor-card__name a,
.article-card__title a {
    color: inherit;
    text-decoration: none;
}

.book-card__title a:hover,
.contributor-card__name a:hover,
.article-card__title a:hover {
    color:
        var(--publisher-gold-dark);
}

.book-card__excerpt,
.contributor-card__excerpt,
.article-card__excerpt {
    margin:
        10px
        0
        0;

    color: var(--publisher-muted);

    font-size: 0.92rem;
}

.article-card time {
    color: var(--publisher-muted);
    font-size: 0.82rem;
}

/*Added 24/09/2026 */

.contributor-card,
.article-card {
    position: relative;

    overflow: hidden;

    padding:
        clamp(24px, 3vw, 34px);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(250, 242, 227, 0.88)
        );

    border:
        1px solid
        rgba(215, 162, 84, 0.28);

    border-radius:
        22px;

    box-shadow:
        0 14px 38px
        rgba(77, 57, 28, 0.08);

    backdrop-filter:
        blur(6px);

    -webkit-backdrop-filter:
        blur(6px);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.contributor-card:hover,
.article-card:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(183, 123, 45, 0.46);

    box-shadow:
        0 18px 46px
        rgba(77, 57, 28, 0.12);
}

.contributor-card h3,
.article-card h3 {
    margin:
        0 0 12px;

    color:
        var(--publisher-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.25rem, 2vw, 1.48rem);

    line-height:
        1.22;
}

.contributor-card h3 a,
.article-card h3 a {
    color:
        inherit;

    text-decoration:
        none;

    transition:
        color 160ms ease;
}

.contributor-card h3 a:hover,
.article-card h3 a:hover {
    color:
        var(--publisher-gold-dark);
}

.contributor-card p,
.article-card p {
    margin:
        0 0 16px;

    color:
        var(--publisher-muted);

    font-size:
        0.96rem;

    line-height:
        1.75;
}

.article-card time,
.article-card .article-meta,
.article-card .entry-meta {
    display: block;

    margin:
        0 0 16px;

    color:
        var(--publisher-muted);

    font-size:
        0.82rem;

    font-weight:
        500;

    letter-spacing:
        0.01em;
}

.contributor-card::before,
.article-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 52px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            var(--publisher-gold),
            var(--publisher-gold-dark)
        );

    border-radius:
        0 0 3px 3px;
}

.article-list {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        clamp(22px, 3vw, 32px);
}

.article-card {
    height: 100%;
}

.contributor-card {
    width: 100%;
}

.homepage-section {
    margin-bottom:
        clamp(64px, 8vw, 96px);
}

.homepage-section__header {
    display: flex;

    align-items: baseline;
    justify-content: space-between;

    gap: 24px;

    margin-bottom:
        clamp(22px, 3vw, 32px);
}

.homepage-section__header > a {
    color:
        var(--publisher-gold-dark);

    font-size:
        0.9rem;

    font-weight: 700;

    text-decoration: none;

    transition:
        color 160ms ease,
        transform 160ms ease;
}

.homepage-section__header > a:hover {
    color:
        var(--publisher-text);

    transform:
        translateX(2px);
}

@media (max-width: 760px) {

    .article-list {
        grid-template-columns:
            1fr;
    }

    .contributor-card,
    .article-card {
        padding:
            24px 22px;

        border-radius:
            18px;
    }

    .homepage-section__header {
        align-items:
            flex-end;
    }
}

.book-card,
.contributor-card,
.article-card {
    position: relative;
    overflow: hidden;

    padding:
        clamp(24px, 3vw, 34px);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(250, 242, 227, 0.88)
        );

    border:
        1px solid
        rgba(215, 162, 84, 0.28);

    border-radius:
        22px;

    box-shadow:
        0 14px 38px
        rgba(77, 57, 28, 0.08);

    backdrop-filter:
        blur(6px);

    -webkit-backdrop-filter:
        blur(6px);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.book-card::before,
.contributor-card::before,
.article-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 52px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            var(--publisher-gold),
            var(--publisher-gold-dark)
        );

    border-radius:
        0 0 3px 3px;
}

.book-card:hover,
.contributor-card:hover,
.article-card:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(183, 123, 45, 0.46);

    box-shadow:
        0 18px 46px
        rgba(77, 57, 28, 0.12);
}

.book-card__title {
    margin:
        0 0 12px;

    color:
        var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.25rem, 2vw, 1.48rem);

    line-height:
        1.22;
}

.book-card__title a {
    color: inherit;
    text-decoration: none;

    transition:
        color 160ms ease;
}

.book-card__title a:hover {
    color:
        var(--publisher-gold-dark);
}

.book-card:has(.book-card__cover) {
    display: grid;

    grid-template-columns:
        150px minmax(0, 1fr);

    grid-template-areas:
        "cover title"
        "cover excerpt";

    align-items: start;

    column-gap:
        clamp(26px, 3vw, 38px);

    row-gap:
        14px;
}

.book-card__cover {
    grid-area: cover;

    width: 150px;

    margin: 0;
}

.book-card__title {
    grid-area: title;

    margin: 0;
}

.book-card__excerpt {
    grid-area: excerpt;

    margin: 0;

    max-width: 760px;

    line-height: 1.75;
}




/* END add 24/09/2026 */


/* =========================================================
   Book detail
   ========================================================= */

.book-detail {
    max-width: 920px;
    margin: 0 auto;
}

.book-detail__subtitle {
    margin:
        -4px
        0
        26px;

    color: var(--publisher-muted);

    font-size: 1.18rem;
}

.book-detail__cover {
    max-width: 380px;

    margin:
        30px auto
        48px;

    padding: 12px;

    background: white;

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        var(--publisher-radius);

    box-shadow:
        var(--publisher-shadow);
}

.book-detail__cover img {
    width: 100%;
    display: block;

    border-radius: 10px;
}

.book-detail section {
    margin:
        42px
        0;
}

.book-detail section > h2,
.writer-detail__books > h2,
.book-detail__editions > h2,
.article-detail h2 {
    margin:
        0
        0
        18px;

    color: var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.65rem;
}

.book-detail__contributors ul,
.book-detail__categories ul {
    margin: 0;
    padding: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    list-style: none;
}

.book-detail__contributors li,
.book-detail__categories li {
    padding:
        7px
        12px;

    background:
        var(--publisher-paper);

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        999px;

    font-size: 0.9rem;
}

.book-detail__contributors li span {
    margin-left: 5px;

    color:
        var(--publisher-muted);

    font-size: 0.75rem;
}


/* =========================================================
   Editions
   ========================================================= */

.book-detail__editions {
    display: grid;
    gap: 18px;
}

.book-detail__editions > h2 {
    grid-column: 1 / -1;
}

.book-edition {
    padding:
        clamp(
            22px,
            4vw,
            34px
        );

    background: white;

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        var(--publisher-radius);

    box-shadow:
        0 8px 30px
        rgba(47, 40, 31, 0.045);
}

.book-edition__title {
    margin:
        0
        0
        22px;

    color:
        var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.4rem;
}

.book-edition__metadata {
    display: grid;

    grid-template-columns:
        minmax(120px, 0.6fr)
        1fr;

    gap:
        8px
        18px;
}

.book-edition__metadata dt {
    color:
        var(--publisher-muted);

    font-size: 0.88rem;
    font-weight: 600;
}

.book-edition__metadata dd {
    margin: 0;

    color:
        var(--publisher-ink);

    font-weight: 600;
}

.book-edition__acquisition {
    margin-top: 26px;
}

.book-edition__acquisition h4 {
    margin:
        0
        0
        10px;
}

.book-edition__acquisition ul {
    margin: 0;
    padding: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    list-style: none;
}

.book-edition__acquisition a,
.book-edition__full-text a {
    display: inline-block;

    padding:
        10px
        16px;

    background:
        var(--publisher-gold);

    color: white;

    border-radius:
        999px;

    font-weight: 700;

    text-decoration: none;
}

.book-edition__acquisition a:hover,
.book-edition__full-text a:hover {
    background:
        var(--publisher-gold-dark);

    color: white;
}


/* =========================================================
   Writer / Article / Information content
   ========================================================= */

.writer-detail,
.article-detail,
.information-page {
    max-width: 840px;

    margin: 0 auto;
}

.writer-detail__photo,
.article-detail__media {
    max-width: 560px;

    margin:
        30px auto
        42px;

    overflow: hidden;

    border-radius:
        var(--publisher-radius);

    box-shadow:
        var(--publisher-shadow);
}

.writer-detail__photo img,
.article-detail__media img {
    width: 100%;
    display: block;
}

.writer-detail__biography,
.article-detail__content,
.information-page__content,
.book-detail__synopsis {
    color:
        var(--publisher-text);

    font-size: 1.04rem;
}

.writer-detail__biography > *:first-child,
.article-detail__content > *:first-child,
.information-page__content > *:first-child,
.book-detail__synopsis > *:first-child {
    margin-top: 0;
}

.article-detail__meta {
    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    color:
        var(--publisher-muted);

    font-size: 0.9rem;
}

.article-detail__categories {
    margin:
        14px
        0
        0;

    padding: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    list-style: none;
}

.article-detail__categories li {
    padding:
        5px
        9px;

    background:
        var(--publisher-paper);

    border-radius:
        999px;

    color:
        var(--publisher-muted);

    font-size: 0.78rem;
}


/* =========================================================
   Information pages
   ========================================================= */

.information-page {
    padding:
        clamp(
            26px,
            5vw,
            48px
        );

    background:
        white;

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        var(--publisher-radius-lg);

    box-shadow:
        var(--publisher-shadow);
}

.information-page__publisher {
    margin-top: -6px;

    color:
        var(--publisher-muted);
}


/* =========================================================
   Search
   ========================================================= */

.catalog-search {
    max-width: 920px;
}

.catalog-search__form {
    margin:
        28px
        0
        50px;

    padding: 10px;

    display: flex;

    gap: 10px;

    background:
        white;

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        14px;

    box-shadow:
        0 7px 25px
        rgba(47, 40, 31, 0.04);
}

.catalog-search__form label {
    position: absolute;

    width: 1px;
    height: 1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);
}

.catalog-search__form input {
    min-width: 0;
    flex: 1;

    padding:
        11px
        13px;

    background: transparent;

    border: 0;
    outline: 0;

    color:
        var(--publisher-ink);
}

.catalog-search__form button {
    padding:
        10px
        20px;

    border: 0;

    background:
        var(--publisher-gold);

    color: white;

    border-radius:
        10px;

    cursor: pointer;

    font-weight: 700;
}

.catalog-search__form button:hover {
    background:
        var(--publisher-gold-dark);
}

.catalog-search__books,
.catalog-search__writers {
    margin-top: 44px;
}

.catalog-search__results h3 {
    color:
        var(--publisher-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.5rem;
}


/* =========================================================
   Pagination
   ========================================================= */

.navigation.pagination {
    margin-top: 44px;
}

.nav-links {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;
}

.page-numbers {
    min-width: 38px;
    min-height: 38px;

    padding:
        7px
        11px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        9px;

    color:
        var(--publisher-ink);

    text-decoration: none;
}

.page-numbers.current {
    background:
        var(--publisher-gold);

    border-color:
        var(--publisher-gold);

    color: white;
}


/* =========================================================
   404
   ========================================================= */

.not-found-page__content {
    max-width: 720px;

    margin: 0 auto;

    padding:
        clamp(
            34px,
            6vw,
            64px
        );

    text-align: center;

    background:
        white;

    border:
        1px solid
        var(--publisher-border);

    border-radius:
        var(--publisher-radius-lg);

    box-shadow:
        var(--publisher-shadow);
}

.not-found-page__actions ul {
    margin:
        28px
        0
        0;

    padding: 0;

    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 9px;

    list-style: none;
}

.not-found-page__actions a {
    display: block;

    padding:
        9px
        14px;

    border:
        1px solid
        var(--publisher-gold);

    border-radius:
        999px;

    text-decoration: none;
}


/* =========================================================
   Footer
   ========================================================= */

.site-footer {
    margin-top:
        clamp(
            52px,
            8vw,
            100px
        );

    background:
        #2f3135;

    color:
        #d7d8da;

    border-top:
        4px solid
        var(--publisher-gold);
}

.site-footer__inner {
    width:
        min(
            calc(100% - 40px),
            var(--publisher-content)
        );

    min-height: 170px;

    margin: 0 auto;

    padding:
        38px 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;
}

.site-footer__brand {
    display: flex;
    align-items: center;

    gap: 14px;
}

.site-footer__logo .custom-logo-link {
    display: block;
    line-height: 0;
}

.site-footer__logo .custom-logo {
    width: 54px;
    height: 54px;

    object-fit: cover;

    border-radius: 50%;
}

.site-footer__name {
    color: white;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1rem;
}

.site-footer__copyright {
    margin:
        4px
        0
        0;

    color:
        #aeb0b4;

    font-size: 0.8rem;
}

.footer-menu {
    justify-content: flex-end;
}

.footer-menu a {
    padding:
        6px
        8px;

    color:
        #d7d8da;

    font-size: 0.84rem;

    text-decoration: none;
}

.footer-menu a:hover {
    color:
        #f3c276;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 860px) {
    .site-header {
        position: static;
    }

    .site-header__inner {
        padding:
            18px
            0;

        flex-direction: column;
        align-items: flex-start;

        gap: 14px;
    }

    .primary-navigation {
        width: 100%;
        margin-left: 0;
    }

    .primary-menu {
        gap: 4px;
    }

    .primary-menu a {
        padding:
            7px
            10px;

        font-size: 0.86rem;
    }

    .site-footer__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-menu {
        justify-content: flex-start;
    }
}


@media (max-width: 620px) {
    body {
        background-attachment:
            scroll,
            scroll;

        background-position:
            center top,
            68% top;
    }
    .site-header__inner,
    .site-main,
    .site-footer__inner {
        width:
            min(
                calc(100% - 28px),
                var(--publisher-content)
            );
    }

    .site-branding__logo .custom-logo {
        width: 48px;
        height: 48px;
    }

    .site-branding__tagline {
        display: none;
    }

.homepage-intro {
    position: relative;

    max-width: 940px;

    margin:
        0 auto
        clamp(64px, 8vw, 104px);

    padding:
        clamp(42px, 7vw, 82px);

    overflow: hidden;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(250, 242, 227, 0.88)
        );

    border:
        1px solid
        rgba(215, 162, 84, 0.32);

    border-radius:
        var(--publisher-radius-lg);

    box-shadow:
        var(--publisher-shadow);

    backdrop-filter:
        blur(6px);
}

    .homepage-intro h1 {
        font-size:
            clamp(
                2.35rem,
                13vw,
                3.4rem
            );
    }

    .homepage-intro__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .homepage-action {
        width: 100%;
    }

    .homepage-section__header {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

    .book-list,
    .contributor-list,
    .article-list {
        grid-template-columns:
            1fr;
    }
    
    .book-list {
        grid-template-columns:
            repeat(
                auto-fill,
                minmax(320px, 540px)
            );
    }

    .catalog-search__form {
        align-items: stretch;
        flex-direction: column;
    }

    .book-edition__metadata {
        grid-template-columns:
            1fr;
    }

    .book-edition__metadata dd {
        margin-bottom: 8px;
    }
}
