/* Publitions: charcoal and red from the charcoal/red logo. */
.public-site.storefront-site {
    --brand-charcoal: #20232b;
    --brand-red: #bd302e;
    --brand-red-dark: #982624;
    --brand-red-bright: #ef4440;
    --brand-action: #bd302e;
    --brand-action-dark: #982624;
    --public-ink: var(--brand-charcoal);
    --public-muted: #65656d;
    --public-line: #e4dfe0;
    --public-accent: var(--brand-red);
    --public-accent-dark: var(--brand-red-dark);
    --public-gold: var(--brand-action);
    --public-paper: #fff;
    --public-soft: #f7f5f5;
    --public-focus: rgba(189, 48, 46, .2);
    --store-ink: var(--brand-charcoal);
    --store-green: var(--brand-red);
    --store-green-dark: var(--brand-red-dark);
    --store-lime: #fceeed;
    --store-cream: #f7f5f5;
    --store-line: #e4dfe0;
    --store-muted: #65656d;
    background: #fff;
    color: var(--brand-charcoal);
    --bs-link-color: #bd302e;
    --bs-link-hover-color: #982624;
}
.public-site .site-header { border-top: 3px solid var(--brand-red); }
.public-site .site-header .site-nav-link:hover,
.public-site .site-header .site-nav-link:focus-visible,
.public-site .site-header .site-nav-link.is-active:not(.is-cta) {
    background: transparent;
    box-shadow: none;
    color: var(--brand-red);
}
.public-site .store-search { border-color: #d9d3d4; }
.public-site .store-search:focus-within { border-color: var(--brand-red); box-shadow: 0 0 0 3px var(--public-focus); }
.public-site .store-search button { background: var(--brand-red); color: #fff; }
.public-site .store-search button:hover { background: var(--brand-red-dark); }
.public-site .university-login-button {
    background: var(--brand-action);
    border-color: var(--brand-action);
    color: var(--brand-charcoal);
    box-shadow: 0 5px 16px rgba(189, 48, 46, .18);
}
.public-site .university-login-button:hover { background: var(--brand-action-dark); border-color: var(--brand-action-dark); color: var(--brand-charcoal); }
.public-site .university-login-icon { background: rgba(32, 35, 43, .1); color: var(--brand-charcoal); }
.public-site .university-login-arrow { color: var(--brand-charcoal); }
.public-site .store-primary-btn,
.public-site .btn-public-primary,
.public-site .site-header .site-nav-link.is-cta {
    background: var(--brand-action);
    border-color: var(--brand-action);
    box-shadow: none;
    color: #fff;
}
.public-site .store-primary-btn:hover,
.public-site .store-primary-btn:focus-visible,
.public-site .btn-public-primary:hover,
.public-site .btn-public-primary:focus-visible,
.public-site .site-header .site-nav-link.is-cta:hover {
    background: var(--brand-action-dark);
    border-color: var(--brand-action-dark);
    color: #fff;
}
.public-site .store-secondary-btn { background: #fff; border-color: #ddd3d3; color: var(--brand-red); }
.public-site .store-secondary-btn:hover { background: #fceeed; border-color: var(--brand-red); color: var(--brand-red-dark); }
.public-site .store-cart-count,
.public-site .store-product-badge { background: var(--brand-red); color: #fff; }
.public-site .store-eyebrow { color: var(--brand-red); }
.public-site .book-price,
.public-site .book-purchase-price strong { color: var(--brand-red-dark); }
.public-site .book-purchase-price > span { background: #fceeed; color: #982624; }
.public-site .store-introduction { background: #f7f5f5; }
.public-site .book-edition-panel { background: #fff; border-color: var(--store-line); }
.public-site .spec-chip { background: #f7f5f5; border-color: var(--store-line); }
.public-site .spec-chip i,
.public-site .checkout-panel-icon { color: var(--brand-red); }
.public-site .book-detail-panel,
.public-site .checkout-panel,
.public-site .checkout-cart-summary,
.public-site .cart-summary { border-color: var(--store-line); }
.public-site .books-band .view-more-link { background: #fceeed; border-color: #ddd3d3; color: var(--brand-red); }
.public-site .books-band .view-more-link:hover { background: var(--brand-red); border-color: var(--brand-red); color: #fff; }
.public-site .about-page-hero,
.public-site .catalogue-hero,
.public-site .contact-hero,
.public-site .book-detail-hero {
    background: radial-gradient(circle at 85% 15%, rgba(239, 68, 64, .22), transparent 45%), linear-gradient(115deg, #20232b, #bd302e);
    color: #fff;
}
.public-site .about-page-hero::before,
.public-site .catalogue-hero::before,
.public-site .contact-hero::before,
.public-site .book-detail-hero::before { background: linear-gradient(90deg, rgba(32, 35, 43, .3), transparent); }
.public-site .legal-breadcrumb-strip { background: var(--brand-charcoal); }
.public-site .book-editorial-tabs .nav-link { color: var(--brand-red); }
.public-site .book-editorial-tabs .nav-link.active { color: var(--brand-charcoal); border-bottom-color: var(--brand-action); }
.public-site .store-footer { background: #f5f3f3; border-top: 3px solid var(--brand-red-bright); color: var(--store-muted); }
.public-site .store-footer a:hover { color: var(--brand-red); }
.public-site .store-footer .copyright { background: var(--brand-charcoal); border-color: var(--brand-charcoal); color: #f4eeee; }
.public-site .library-dashboard-tile,
.public-site .library-dashboard-detail-card { border-color: var(--store-line); color: var(--brand-charcoal); }
.public-site .library-dashboard-detail-card { background: #f7f5f5; }
.public-site .library-dashboard-tile i { color: var(--brand-red); }
.public-site .library-dashboard-tile:hover { background: #fceeed; border-color: var(--brand-red-bright); color: var(--brand-red); }
.public-site .library-header-links a,
.public-site .library-header-links button,
.public-site .portal-university-brand span { color: var(--brand-red); }
.public-site .home-managed-slider .carousel-indicators .active::before { background: var(--brand-action); }
.public-site .book-cover-placeholder.book-cover-placeholder-1 { background: #34343b; color: #fff; }
.public-site .book-cover-placeholder.book-cover-placeholder-2 { background: #823a3b; color: #fff; }
.public-site .book-cover-placeholder.book-cover-placeholder-3 { background: #bd302e; color: #fff; }
.public-site .book-cover-placeholder.book-cover-placeholder-4 { background: #57515a; color: #fff; }
.public-site .book-cover-placeholder.book-cover-placeholder-5 { background: #783f45; color: #fff; }
.public-site .book-cover-placeholder.book-cover-placeholder-6 { background: #982624; color: #fff; }
.public-site .form-control:focus,
.public-site .form-select:focus,
.public-site .form-check-input:focus { border-color: var(--brand-red); box-shadow: 0 0 0 .2rem var(--public-focus); }
.public-site .form-check-input:checked { background-color: var(--brand-red); border-color: var(--brand-red); }
.public-site a:focus-visible,
.public-site button:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 3px; }
.public-site .hero-slider .store-eyebrow { color: #ffb6b0; }

.public-site .public-breadcrumb .breadcrumb-item,
.public-site .public-breadcrumb .breadcrumb-item.active,
.public-site .public-breadcrumb .breadcrumb-item::before,
.public-site .public-breadcrumb .breadcrumb-item a,
.public-site .public-breadcrumb .breadcrumb-item a:hover { color: #fff; }
.public-site .library-breadcrumb-back,
.public-site .library-breadcrumb-back:hover { color: #fff; }
.public-site .site-header .site-nav-link { background: transparent; border-radius: 0; box-shadow: none; }
.public-site .site-header .site-nav-link::after { background: var(--brand-red); border-radius: 0; }
.public-site .site-header .site-nav-link.is-active:not(.is-cta)::after,
.public-site .site-header .site-nav-link:hover::after,
.public-site .site-header .site-nav-link:focus-visible::after { opacity: 1; transform: scaleX(1); }

/* Storefront header: brand, search, university access, account and cart. */
.storefront-site .store-topbar-grid > .site-brand { flex: 0 0 150px; margin: 0; }
.storefront-site .store-topbar-grid > .store-search { flex: 1 1 0; min-width: 0; width: auto; }
.storefront-site .store-topbar-grid .university-login-button { font-size: .85rem; gap: .6rem; padding: .55rem .85rem; width: auto; }
.storefront-site .store-navigation-row { border-bottom: 1px solid var(--store-line); padding: .5rem 0; }
.storefront-site .store-navigation-row .store-nav { min-height: 0; }
.storefront-site .store-navigation-row .site-nav-panel { justify-content: center; }
.storefront-home .store-shelf-layout-full { grid-template-columns: minmax(0, 1fr); }
.storefront-home .store-shelf-content { min-width: 0; }

@media (max-width: 1199.98px) {
    .storefront-site .store-topbar-grid { gap: 1rem; }
    .storefront-site .store-topbar-grid .university-login-arrow { display: none; }
    .storefront-site .store-topbar-grid .library-header-links { flex-wrap: wrap; gap: .5rem; white-space: normal; }
}
@media (max-width: 991.98px) {
    .storefront-site .store-topbar-grid > .store-search { flex: 1 0 100%; order: 4; }
    .storefront-site .store-topbar-grid .store-header-actions { margin-left: auto; }
    .storefront-site .store-navigation-row { border: 0; padding: 0; }
    .storefront-site .store-navigation-row .site-nav-panel { justify-content: flex-start; }
}
@media (max-width: 575.98px) {
    .storefront-site .store-topbar-grid > .site-brand { flex-basis: 110px; }
    .storefront-site .store-topbar-grid .store-header-actions { gap: .5rem; }
    .storefront-site .store-topbar-grid .university-login-button { font-size: .75rem; min-height: 2.5rem; padding: .4rem .6rem; }
    .storefront-site .store-topbar-grid .university-login-icon { display: none; }
    .storefront-site .store-topbar-grid .store-header-actions { flex-wrap: wrap; }
    .storefront-site .store-topbar-grid > .store-header-actions { flex: 1 1 180px; justify-content: flex-end; }
}

.storefront-site .book-cover-frame { background: #fff; }
.storefront-site .book-card { display: flex; flex-direction: column; }
.storefront-site .book-card > .book-card-link { flex: 1; height: auto; }

.public-site .book-details-button {
    align-self: stretch;
    background: #fff;
    border: 0;
    border-top: 1px solid var(--store-line);
    border-radius: 0;
    box-shadow: none;
    display: block;
    font-size: .85rem;
    margin: 0;
    padding: .85rem 1rem;
    text-align: center;
    width: 100%;
}
.public-site .book-details-button:hover {
    background: #fcf5f4;
    border-color: var(--store-line);
    color: var(--brand-red-dark);
}
.public-site .university-login-button,
.public-site .university-login-button:hover {
    background: #fff;
    border-color: #000;
    box-shadow: none;
    color: #000;
}
.public-site .university-login-icon { background: #f3f3f3; color: #000; }
.public-site .university-login-arrow { color: #000; }
.public-site .store-footer-company {
    font-family: Georgia, serif;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1rem;
}

/* Carry the logo palette through navigation and purchase controls. */
.public-site .store-search:focus-within { box-shadow: 0 0 0 3px var(--public-focus); }
.public-site .site-header .site-nav-link.is-active { border-color: var(--store-line); }
.public-site .store-primary-btn:active,
.public-site .btn-public-primary:active { background: var(--brand-red-dark); border-color: var(--brand-red-dark); color: #fff; }
.public-site .book-detail-cover { background: #fff; }
.public-site .book-editorial-tabs .nav-link:hover { color: var(--brand-red); }
.public-site .store-footer-map { border-color: var(--store-line); }

/* Swap the navigation and breadcrumb strip backgrounds. */
.public-site .store-navigation-row {
    background: radial-gradient(circle at 85% 15%, rgba(239, 68, 64, .22), transparent 45%), linear-gradient(115deg, #20232b, #bd302e);
    border-bottom-color: transparent;
}
@media (min-width: 992px) {
    .public-site .store-navigation-row .site-nav-link,
    .public-site .store-navigation-row .site-nav-link:hover,
    .public-site .store-navigation-row .site-nav-link:focus-visible,
    .public-site .store-navigation-row .site-nav-link.is-active:not(.is-cta) { color: #fff; }
    .public-site .store-navigation-row .site-nav-link::after { background: #fff; }
    .public-site .store-navigation-row a:focus-visible { outline-color: #fff; }
}
.public-site .contact-hero-breadcrumb,
.public-site .catalogue-hero-breadcrumb,
.public-site .book-detail-hero-breadcrumb,
.public-site .legal-breadcrumb-strip {
    background: #fff;
    border-bottom: 1px solid var(--store-line);
    color: var(--brand-charcoal);
}
.public-site .contact-hero-breadcrumb::before,
.public-site .catalogue-hero-breadcrumb::before,
.public-site .book-detail-hero-breadcrumb::before { display: none; }
.public-site :is(.contact-hero-breadcrumb, .catalogue-hero-breadcrumb, .book-detail-hero-breadcrumb, .legal-breadcrumb-strip) .public-breadcrumb :is(.breadcrumb-item, a) { color: var(--brand-charcoal); }
.public-site :is(.contact-hero-breadcrumb, .catalogue-hero-breadcrumb, .book-detail-hero-breadcrumb, .legal-breadcrumb-strip) .public-breadcrumb a:hover { color: var(--brand-red); }

.public-site :is(.contact-hero-breadcrumb, .catalogue-hero-breadcrumb, .book-detail-hero-breadcrumb, .legal-breadcrumb-strip) .public-breadcrumb .breadcrumb-item::before { color: var(--brand-charcoal); }
