/* =====================================================
   FONTS — WikiOO (UI-kit: Newsreader serif + Helvetica sans)
   Self-hosted via @font-face below (static/fonts/newsreader/). 2026-07-08:
   removed a live Google @import here — WK had ZERO @font-face declarations
   anywhere despite the woff2 files already existing on disk since 2026-07-06
   (downloaded but never wired). Only weight 400 was downloaded (opsz axis
   collapses to a single static instance per Google's serving here); if 500/600
   are needed later, download them the same way and widen these blocks.
   ===================================================== */
/* Newsreader — latin, normal */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader/newsreader-w400-normal-latin.f94a697b1650.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Newsreader — latin-ext, normal */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader/newsreader-w400-normal-latin-ext.2e01db0610b1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Newsreader — latin, italic */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader/newsreader-w400-italic-latin.82cdc3446720.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Newsreader — latin-ext, italic */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader/newsreader-w400-italic-latin-ext.4c7eeb55d590.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --font-title-accent: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-title:        'Newsreader', Georgia, serif;
  --font-body:         'Helvetica Neue', Helvetica, Arial, sans-serif;
}


/* WikiOO.org — site-specific CSS overrides */
/* Loaded by base.html for dns_domain_base == 'wikioo' */

/* =====================================================
   WIKIOO — Design tokens
   ===================================================== */
:root {
    --lc: #1c1c1c;   /* link / hover accent — encyclopedic ink (UI-kit minimal) */
    --lv: #1c1c1c;   /* visited link colour  — encyclopedic ink (UI-kit minimal) */

    /* ── WikiOO UI-kit semantic colour tokens (encyclopedic, line-based, no shadow) ── */
    --page:        #fff;      /* page background      */
    --rail:        #fafafa;   /* sidebar background   */
    --ink:         #1c1c1c;   /* primary text         */
    --ink-soft:    #494949;   /* secondary text       */
    --muted:       #8a8a8a;   /* tertiary / metadata  */
    --navlink:     #6c6c6c;   /* nav link colour      */
    --line:        #e6e6e6;   /* light divider        */
    --line-strong: #d6d6d6;   /* stronger divider     */
    --card-border: #cdcdcd;   /* card border          */
    --accent-tint: #f2f2f2;   /* subtle accent fill   */
    --chip:        #f3f3f3;   /* chip background      */
    --hover-wash:  #f5f5f5;   /* hover state wash     */

    /* Layout tokens — consumed by global-style-V2.1.css / global-custom-V2.1.css */
    --site-link: inherit;
    /* body/main background in global-style falls back to beige (#EDE9DE) when
       unset — WikiOO is neutral, so pin it to the UI-kit page white */
    --site-bg: var(--page, #ffffff);

    /* Homepage image-caption overlay + widget section titles (UI-kit k-plate .ov / hw-h2) */
    --wk-overlay-gradient: linear-gradient(to top, rgba(28, 28, 28, 0.85) 0%, rgba(28, 28, 28, 0.42) 55%, rgba(28, 28, 28, 0) 100%);
    --wk-overlay-caption: var(--page, #ffffff);
    --wk-widget-title-size: clamp(1.375rem, 2.4vw, 1.875rem);
}

/* =====================================================
   WIKIOO — Link hover: dark background highlight
   (replaces the previous guillemet « » bounce effect)
   ===================================================== */
a { position: relative;
    border-radius: 2px;
    transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, opacity .25s ease; }
a:hover {
    color:#fff;
    background-color: var(--ink, #1c1c1c);
    /* box-shadow spread hugs the text with the dark wash without shifting layout */
    box-shadow: 0 0 0 .15em var(--ink, #1c1c1c);
}
a:visited         { color: var(--lv); }
a:visited:hover   { color:#fff; }
/* keep nested text (spans, titles) readable on the dark hover wash */
a:hover :not(img):not(picture):not(svg):not(figure) { color:#fff; }


/* =====================================================
   WIKIOO — Image hover: high contrast + zoom retreat
   ===================================================== */

/* Dark background shows through as image shrinks */
.artist_slid_box {
    background: var(--g1400, #333);
}

/* Base transition */
.swiper-slide .artist_slid_box a img,
img.mouseover_effect_images{
    transition: filter 0.6s ease, transform 0.6s ease, opacity 0.6s ease;
}

/* Hover state — high contrast desaturate + zoom retreat */
.swiper-slide .artist_slid_box a:hover img,
a:hover img.mouseover_effect_images,
img.mouseover_effect_images:hover{
    filter: contrast(1.5) saturate(0.05) brightness(1.05);
    transform: scale(0.95);
    opacity: 0.8;
}

/* Suppress any text-link hover decoration on anchors that wrap an image */
a:has(> img)::before,
a:has(> img)::after,
a:has(> picture)::before,
a:has(> picture)::after,
a:has(> figure)::before,
a:has(> figure)::after {
    content: none;
}

a:has(> img),
a:has(> picture),
a:has(> figure) {
    padding: 0 !important;
}

/* Image-wrapping anchors must not show the dark text-hover wash / halo */
a:has(> img):hover,
a:has(> picture):hover,
a:has(> figure):hover {
    background-color: transparent;
    box-shadow: none;
}

/* Userprofile dashboard sidebar: icon+label nav links, not encyclopedic text links —
   re-assert their padding against the a:has(>img){padding:0!important} exclusion above
   and disable the guillemet «» hover shift for all of them (img or svg icons). */


/* =====================================================
   WIKIOO — Slider card title: multi-line hover-frame fix
   inline-block gives the <a> a single rectangular bounding box
   so the guillemet « » ::before/::after pseudo-elements
   correctly frame the full text block even when the title wraps.
   ===================================================== */
.view_all_art a {
    display: inline-block;
}

/* =====================================================
   WIKIOO 3-COLUMN LAYOUT
   Design reference: --Wikioo-Design-Specification--.md
   Grayscale tokens, Playfair Display + DM Sans
   ===================================================== */

/* ── Grayscale tokens ── */
:root {
    --g0:    #fff;
    --g50:   #fafafa;
    --g100:  #f5f5f5;
    --g150:  #f0f0f0;
    --g200:  #ebebeb;
    --g300:  #e0e0e0;
    --g400:  #d8d8d8;
    --g500:  #d0d0d0;
    --g700:  #bbb;
    --g800:  #aaa;
    --g950:  #888;
    --g1000: #777;
    --g1100: #666;
    --g1200: #555;
    --g1400: #333;
    --g1500: #1a1a1a;

    /* Spacing tokens (4px grid) */
    --sp-1: 4px;
    --sp-2: 8px;
    --sp-3: 12px;
    --sp-4: 14px;
    --sp-5: 16px;
    --sp-6: 18px;
    --sp-7: 20px;
    --sp-8: 24px;
    --sp-9: 28px;
    --sp-10: 36px;

    /* Base body text size (the former A−/A/A+ sidebar control was removed) */
    --fs: 14px;

    /* Sidebar widths */
    --wikioo-left-w:  240px;
    --wikioo-right-w: 260px;
    --wikioo-topbar-h: 48px;
}

/* ── Base font for WikiOO body text ── */
body {
    font-family: var(--font-body);
    font-size: var(--fs);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
}

/* ── Topbar ── */


/* ── Page shell — 3-column grid ── */
.wikioo-page-shell {
    display: grid;
    grid-template-columns: var(--wikioo-left-w) 1fr var(--wikioo-right-w);
    grid-template-rows: 1fr;
    min-height: calc(100vh - var(--wikioo-topbar-h));
    background: var(--g150);
}

.wikioo-main-content {
    min-width: 0;
    background: var(--g150);
}

/* Centre column list/browse pages — sidebars are the horizontal chrome;
   replace legacy 160px gutters from global-style. Horizontal inset matches
   .wsr-section (var(--sp-5)) for breadcrumb/header chrome; the card grid
   row breaks back out to full width below. */
.wikioo-main-content .search_sec {
    width: 100%;
    max-width: none;
    padding: var(--sp-7) var(--sp-5);
    box-sizing: border-box;
}

/* Bootstrap .row uses negative side margins; cancel them so content stays
   flush with both sidebars (same as the left edge). The outer list row then
   negates .search_sec horizontal padding so the card grid stays full width. */
.wikioo-main-content .search_sec > .row,
.wikioo-main-content .search_sec .custom_search > .row {
    margin-left: 0;
    margin-right: 0;
}
.wikioo-main-content .search_sec > .row {
    margin-left: calc(-1 * var(--sp-5));
    margin-right: calc(-1 * var(--sp-5));
}

/* ── Left sidebar ── */
.wikioo-left-sidebar {
    min-width: 0;
    background: var(--g0);
    border-right: 1px solid var(--g300);
    position: sticky;
    top: var(--wikioo-topbar-h);
    height: calc(100vh - var(--wikioo-topbar-h));
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* ── Left sidebar collapse body (scrollable content wrapper) ── */
.wsl-collapse-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
    scrollbar-width: thin;
    scrollbar-color: var(--g300) transparent;
}
.wsl-collapse-body::-webkit-scrollbar { width: 4px; }
.wsl-collapse-body::-webkit-scrollbar-track { background: transparent; }
.wsl-collapse-body::-webkit-scrollbar-thumb { background: var(--g300); }

/* Logo */
.wsl-logo-wrap {
    padding: var(--sp-8) var(--sp-5) var(--sp-7);
    border-bottom: 1px solid var(--g200);
    flex-shrink: 0;
}

.wsl-logo-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--sp-3);
    text-decoration: none;
}

.wsl-logo-link:hover {
    text-decoration: none;
    padding: 0;
}

.wsl-logo-img {
    width: 50%;
    height: auto;
    object-fit: contain;
}

.wsl-logo-name {
    font-family: var(--font-title);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--ink);
    line-height: 1.2;
    text-align: center;
}

/* Nav wrap */
.wsl-nav-wrap {
    padding: var(--sp-4) 0;
    flex: 1;
    font-family: var(--font-body);
}

/* Sidenav */
.wikioo-sidenav {
    display: flex;
    flex-direction: column;
}

/* Section */
.wsl-section {
    border-bottom: 1px solid var(--g200);
}

/* Top-level link */
.wsl-top-link {
    display: block;
    padding: var(--sp-3) var(--sp-5);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--ink);
    text-decoration: none;
    transition: color 0.1s, background 0.1s;
    line-height: 1.4;
}

/* Suppress guillemet bounce for navigation links */
.wsl-top-link::before,
.wsl-top-link::after,
.wsl-sub::before,
.wsl-sub::after,
.wsl-logo-link::before,
.wsl-logo-link::after {
    content: none;
}

.wsl-collapsible .wsl-top-link {
    padding-right: var(--sp-10);
}

/* Prevent global a:hover { padding: 0 1.1em } from removing vertical padding */
.wsl-top-link:hover {
    color: var(--ink);
    background: var(--hover-wash);
    text-decoration: none;
    padding-top: var(--sp-3);
    padding-bottom: var(--sp-3);
}
.wsl-collapsible .wsl-top-link:hover {
    padding-right: var(--sp-10);
}

.wsl-top-link--leaf {
    padding-right: var(--sp-5);
}
.wsl-top-link--leaf:hover {
    padding-right: var(--sp-5);
}

/* Toggle button (collapse) */
.wsl-section {
    position: relative;
}

.wsl-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 36px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--g800);
    transition: color 0.1s;
    padding: 0;
}

.wsl-toggle:hover {
    color: var(--g1400);
}

.wsl-chevron {
    transition: transform 0.2s;
}

.wsl-section.wsl-collapsed .wsl-chevron {
    transform: rotate(-90deg);
}

/* Sub-list */
.wsl-sub-list {
    list-style: none;
    margin: 0;
    padding: 0 0 var(--sp-2);
    display: block;
}

.wsl-section.wsl-collapsed .wsl-sub-list {
    display: none;
}

.wsl-sub {
    display: block;
    padding: var(--sp-2) var(--sp-5) var(--sp-2) calc(var(--sp-5) + 10px);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: var(--navlink);
    text-decoration: none;
    line-height: 1.45;
    border-left: 2px solid transparent;
    transition: color 0.1s, background 0.1s, border-color 0.1s;
}

/* Dark hover wash to match the site-wide link hover treatment */
.wsl-sub:hover {
    color:#fff;
    background: var(--ink);
    border-left-color: var(--ink);
    text-decoration: none;
    padding-top: var(--sp-2);
    padding-bottom: var(--sp-2);
    padding-left: calc(var(--sp-5) + 10px);
}

/* ── Right sidebar ── */
.wikioo-right-sidebar {
    min-width: 0;
    background: var(--rail);
    border-left: 1px solid var(--line);
    position: sticky;
    top: var(--wikioo-topbar-h);
    height: calc(100vh - var(--wikioo-topbar-h));
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* ── Right sidebar collapse body (scrollable content wrapper) ── */
.wsr-collapse-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: var(--sp-5) 0;
    scrollbar-width: thin;
    scrollbar-color: var(--line) transparent;
}
.wsr-collapse-body::-webkit-scrollbar { width: 4px; }
.wsr-collapse-body::-webkit-scrollbar-track { background: transparent; }
.wsr-collapse-body::-webkit-scrollbar-thumb { background: var(--line); }

/* Suppress global guillemet bounce inside the tools rail */
.wikioo-right-sidebar a::before,
.wikioo-right-sidebar a::after {
    content: none;
    display: none;
}

/* Section — UI kit hw-rail spacing (label margins, no dividers) */
.wsr-section {
    padding: 0 var(--sp-5);
    border-bottom: none;
}

.wsr-label {
    display: block;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 18px 0 7px;
}

.wsr-section:first-child .wsr-label {
    margin-top: 0;
}

/* Box row — UI kit hw-box (account + cart) */
.wsr-box {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--page);
    border: 1px solid var(--line);
    padding: 10px 12px;
    text-decoration: none;
    color: var(--ink);
    width: 100%;
    box-sizing: border-box;
    transition: background 0.1s, border-color 0.1s;
}

.wsr-box:hover {
    background: var(--hover-wash);
    border-color: var(--line-strong);
    text-decoration: none;
    color: var(--ink);
    padding: 10px 12px;
}

.wsr-av {
    width: 28px;
    height: 28px;
    flex: none;
    background: var(--accent-tint);
    border: 1px solid var(--line);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.wsr-av .aps-user-icon--guest,
.wsr-av .aps-user-icon--auth {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.wsr-av .aps-user-initial {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: var(--ink-soft);
}

.wsr-av .aps-user-initial.aps-user-initial--compact {
    font-size: 9px;
}

.wsr-lbl {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--ink);
    line-height: 1.2;
}

.wsr-bdg {
    margin-left: auto;
    background: var(--ink);
    color: var(--page);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 2px 8px;
    border-radius: 0;
    min-width: 0;
    text-align: center;
    pointer-events: none;
}

.wsr-cart-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
    color: var(--ink-soft);
}

/* Dropdown toggles — UI kit hw-sel */


/* ── Language section: vertical list of text links (one per line) ── */


/* ── About WikiOO section ── */
.wsr-section--about {
    border-bottom: none;
}

.wsr-about {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: var(--g1100);
}

.wsr-about__name {
    margin: 0 0 0.2rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.wsr-about__link {
    color: var(--g1400);
    text-decoration: none;
}

.wsr-about__link:hover {
    text-decoration: underline;
    color: var(--g1600);
}

.wsr-about__tagline {
    margin: 0 0 0.65rem;
    font-size: 0.7rem;
    font-style: italic;
    color: var(--g900);
    line-height: 1.35;
    letter-spacing: 0.01em;
}

.wsr-about__mission {
    margin: 0 0 0.6rem;
    font-size: 0.675rem;
    color: var(--g1000);
    line-height: 1.55;
}

.wsr-about__stats-block {
    margin-top: 0.65rem;
    padding-top: 0.55rem;
    border-top: 1px solid var(--g200);
}

.wsr-about__stats-heading {
    margin: 0 0 0.35rem;
    font-size: 0.63rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--g800);
}

.wsr-about__stats {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.wsr-about__stats li {
    font-size: 0.675rem;
    color: var(--g1000);
    line-height: 1.35;
}

.wsr-about__stats strong {
    color: var(--g1400);
    font-weight: 600;
}

/* ── Sidebar collapse toggle JS — no-transition init class ── */
.wsl-sub-list {
    transition: none;
}

/* ── Sidebar collapse toggle buttons ── */
.wsl-collapse-btn,
.wsr-collapse-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 100%;
    height: 40px;
    background: none;
    border: none;
    border-bottom: 1px solid var(--g200);
    cursor: pointer;
    color: var(--g800);
    transition: color 0.1s, background 0.1s;
    padding: 0;
}

.wsl-collapse-btn:hover,
.wsr-collapse-btn:hover {
    background: var(--g100);
    color: var(--g1400);
}

.wsl-collapse-btn--bottom,
.wsr-collapse-btn--bottom {
    border-bottom: none;
    border-top: 1px solid var(--g200);
}

.wsl-collapse-icon,
.wsr-collapse-icon {
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

/* ── Page shell transition for smooth sidebar resize ── */
.wikioo-page-shell {
    transition: grid-template-columns 0.2s ease;
}

/* ── Left sidebar collapsed state ── */
.wikioo-page-shell.wikioo-left-collapsed {
    grid-template-columns: 40px 1fr var(--wikioo-right-w);
}
.wikioo-page-shell.wikioo-left-collapsed .wsl-collapse-body {
    display: none;
}
.wikioo-page-shell.wikioo-left-collapsed .wsl-collapse-icon {
    transform: rotate(180deg);
}

/* ── Right sidebar collapsed state ── */
.wikioo-page-shell.wikioo-right-collapsed {
    grid-template-columns: var(--wikioo-left-w) 1fr 40px;
}
.wikioo-page-shell.wikioo-right-collapsed .wsr-collapse-body {
    display: none;
}
.wikioo-page-shell.wikioo-right-collapsed .wsr-collapse-icon {
    transform: rotate(180deg);
}

/* ── Both sidebars collapsed ── */
.wikioo-page-shell.wikioo-left-collapsed.wikioo-right-collapsed {
    grid-template-columns: 40px 1fr 40px;
}

/* ── Responsive: collapse sidebars below 1024px ── */
@media (max-width: 1023px) {
    .wikioo-page-shell {
        display: block;
    }

    .wikioo-left-sidebar,
    .wikioo-right-sidebar {
        display: none;
    }

    .wikioo-main-content {
        width: 100%;
    }
}


/* Title — Playfair, no uppercase (spec: "Uppercase Playfair is DM Mono territory") */


/* CTA button — outline wb-btn style; override slide-fill ::before */


/* Replace decorative slide-fill with simple hover bg */


/* ══════════════════════════════════════════════════════
   widget-faf — Featured Artist with Fact
   ══════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════
   widget-stf — Small Translated Field (Creative Period / Vibe / Corpus)
   ══════════════════════════════════════════════════════ */


/* Title — no uppercase (spec don't) */


/* Image well */


/* Label strip — mono eyebrow */


/* ── Bottom bar: matches top search bar style (base_wikioo_bottom_bar.html) ── */


/* =====================================================
   WIKIOO — HARMONIZE COPY-PASTED WIDGETS  (2026-05-28)
   Minimal-touch patch. Only direct asks from the brief:
   - Replace DM Mono with IBM Plex Mono everywhere
   - Neutralise inline system-ui leak in widget-museum-4p
   - Align widget-mpl__info h2 to existing Playfair system
   - Harmonize widget-article-kw overlay text (was bold-uppercase
     SEO copy crammed into a tile-label slot)
   Backgrounds, borders, buttons, title sizes — UNTOUCHED.
   ===================================================== */

/* Self-hosted via @font-face below (static/fonts/ibm-plex-mono/, downloaded
   2026-07-08). 2026-07-08: removed a live Google @import here — WK had no
   self-hosted IBM Plex Mono at all. Static weight instances (not variable). */
/* IBM Plex Mono — latin, 400 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-w400-normal-latin.79936b18df9f.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* IBM Plex Mono — latin-ext, 400 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-w400-normal-latin-ext.8450d5944de2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* IBM Plex Mono — latin, 500 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-w500-normal-latin.b1c8a895f5fd.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* IBM Plex Mono — latin-ext, 500 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-w500-normal-latin-ext.fa8d8838b94a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* IBM Plex Mono — latin, 600 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-w600-normal-latin.5a2ce7798732.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* IBM Plex Mono — latin-ext, 600 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-w600-normal-latin-ext.f2fe87d55f72.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --font-title-accent: 'IBM Plex Mono', 'Courier New', monospace;
}

/* --- 1. DM Mono → IBM Plex Mono on selectors that reference it directly --- */
.wsr-label {
    font-family:var(--font-title-accent);
}
@media (max-width: 767.98px) {
  
  .ti-sh { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
}
a.k-chip::before, a.k-chip::after { content: none; } a.k-chip:hover { padding: 0; }

.k-chip {
    border: 1px solid var(--line-strong); background: var(--page);
    padding: 6px 12px; font-family: var(--font-body);
    font-size: 11px; font-weight: 600; line-height: 1;
    letter-spacing: .5px; color: var(--ink-soft); cursor: pointer;
    display: inline-flex; align-items: center;
}


/* ===================================================== */
/* MERGED FROM articles_style-V2.0.css */
/* ===================================================== */
a {
    color: inherit;
}
H1, H2, H3 {  
    clear: both; 
    font-size: 29px;
    text-align: left;
    line-height: 38px;
    margin-bottom: 32px;
    font-weight: 400;
    font-family: var(--font-title);
    margin-top: 55px;
}

H2:first-of-type {
    margin-top: 0;
}
    
.HTMLSectionBlock {
    float: right;
    max-width: 20vw;
    padding: 0 1vh 1vh 1vh;
    text-align: justify;         
    clear: both;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    color: #776E62;
    line-height: 21px;    
}

.HTMLSectionBlock p {
    margin: 0;
    padding: 0; 
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    color: #776E62;
    line-height: 21px;    
}

.HTMLSectionBlock a {
    display: inline-block;
    color: #000000;
    text-align: justify;  
    margin-bottom: 8px;
}

.HTMLSectionBlock img {
    display: block;
    margin: 0 auto 0.5em auto;   /* Centers the image & adds space below */
    max-width: 100%;
    max-height: 350px;
    margin-bottom: 8px;
}


/* ===================================================== */
/* MERGED FROM widget-artwork-labels.css */
/* ===================================================== */
/*
 * widget-artwork-labels.css — unified typography for artwork/category captions
 * in widgets. Loaded after site *-V2.0.css in base.html.
 * Typography only — does not override color, background, padding, or overlay layout.
 */


/* WikiOO homepage — re-assert unified captions after widget-artwork-labels merge */


/* ===================================================== */
/* MERGED FROM userprofile-V2.0.css */
/* Re-themed to brand UI Kit (was WA palette): WK — encyclopedic monochrome: white page, ink sidebar, white active state */
/* ===================================================== */
/* Profile: sidebar shell only — do not use * reset (zeros .sidebar_profile_section / link padding) */


.header_box {
    background: #ffffff;
    padding: 15px 20px;
    box-shadow: 0px 0px 10px 0px rgb(28 28 28 / 8%);
    -webkit-box-shadow: 0px 0px 10px 0px rgb(28 28 28 / 8%);
    -moz-box-shadow: 0px 0px 10px 0px rgb(28 28 28 / 8%);
    margin-left: 320px;
}
h3.user_heading_text {
    color: var(--ink, #1c1c1c);
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    font-family: var(--font-title);
    margin-bottom: 0px;
}
p.user_title_text {
    color: var(--ink, #1c1c1c);
    font-size: 14px;
    font-weight: 400;
    opacity: 0.6;
    line-height: 22px;
    margin-bottom: 0px;
}
.sidebar_box {
    background: var(--ink, #1c1c1c);
margin-bottom:0;
border:0;
height:100%;
}


aside::-webkit-scrollbar {
    width: 8px;
}

aside::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

aside::-webkit-scrollbar-thumb {
    background: #8a8a8a;
    border-radius: 10px;
}

aside::-webkit-scrollbar-thumb:hover {
    background: var(--navlink, #6c6c6c);
}

aside {
    scrollbar-width: thin;
    scrollbar-color: var(--line, #e6e6e6) var(--ink, #1c1c1c);
}


.profile_name {
    color: #e6e6e6;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
}


/* .sidebar_menu_link li.active a svg {
    color:#ffffff;
} */


/* .sidebar_menu_link li:hover a svg, */


.favorite_img_card {
    border-right: 1px solid var(--line, #e6e6e6);
    border-bottom: 1px solid var(--line, #e6e6e6);
    padding: 42px 33px;
    width: 20%;
}
.fav-artist h2 {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 12px;
    line-height: 20px;
    text-transform: uppercase;
    color: var(--ink-soft, #494949);
}
.fav-artist h2 a{
    color: var(--ink-soft, #494949);
}
.favCard_body {
    margin-top: 30px;
    max-width: 250px;
    margin: auto;
    margin-top: 30px;
}
.fav-title {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 13px;
    line-height: 20px;
    color: var(--ink, #1c1c1c);
    margin: 6px 0px 11px;
    min-height: 38px;
}
.fav-title a{
    color: var(--ink, #1c1c1c);
}
.favorite_img_section {
    display: flex;
    flex-wrap: wrap;
}
.favorite_img_section:nth-child(-n+5) {
    border-top: 1px solid var(--line, #e6e6e6);
}
.top_order_section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 13px;
}
.order_count {
    color: var(--ink, #1c1c1c);
    font-size: 14px;
    font-weight: 400;
    opacity: 0.8;
}
table {
    border-color:var(--line, #e6e6e6);
}
table thead th {
    background: var(--chip, #f3f3f3) !important;
    color:var(--ink, #1c1c1c);
    opacity: 0.6;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 14px;
    padding: 9px 12px !important;
}
/* Cart table keeps the global rhythm: the generic table theme below carries
   !important (needed against Bootstrap elsewhere), so the cart scope must re-assert
   the global-custom cart paddings that used to win via !important. */
.cart_table_box .table > :not(caption) > * > * {
    padding: 20px 0 !important;
}
table tbody td {
    background: #ffffff !important;
    color:var(--ink, #1c1c1c);
    padding: 12px 14px !important;
font-family: var(--font-body);
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 24px;
letter-spacing: 0%;

}
.table_type_datail {
    display: flex;
    align-items: center;
    gap: 9px;
}
.table_img {
    width: 18px;
    height: 18px;
    position: relative;
    top: -3px;
}
.table_img img {
    width: 100%;
    height: 100%;
}


/*message_us form css*/


textarea.form-control:focus {
    background-color:#ffffff;
}
 

/* Sidebar Default */
aside {
    width: 100%;
    background: var(--chip, #f3f3f3);
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    transition: transform 0.3s ease-in-out;
    z-index: 999;
}


@media (min-width: 768px) {


.upload_img_form {
    display: flex;
    flex-direction: row-reverse;
    text-align: left;
    gap: 12px;
}
/*     .main-grid-row {
        display: flex;
    } */
/*     .sidebar-col {
        flex-basis: 25%;
        max-width: 25%;
    }
    .main-content-col {
        flex-basis: 75%;
        max-width: 75%;
        padding-left: 2rem;
    } */
    
/* .logout_section {
    position: absolute;
    bottom: 0;
} */
.sidebar_box {
    position: relative;
}
}

/* Responsive */
@media (max-width: 768px) {


.form-container input {
  
    font-size: 14px;
    width: 100%;
    padding: 9px;

    margin-bottom: 8px;
}


.profile_name{ font-size: 15px;}
 
aside {
    height: 100%;

}

 
    .sidebar_box .text-center.mb-20 img{

}
.sidebar_box {
width:auto !important;
}

aside {transform: translateX(0%);}aside.active { transform: translateX(0); }#sidebar { display: block; }.header_box {margin-left:0px;padding: 10px 20px;position: fixed; top: 0; left: 0;width: 100%;z-index: 999;}p.user_title_text {font-size: 12px;}
.favorite_img_card {padding: 40px 0px; width: 100%;}table thead th {font-size: 12px; white-space: nowrap;}
table tbody td { font-size: 12px;white-space: nowrap;}.table_img img {width: 80%; height: 80%;object-fit: contain;}
 
}


/* Tablet Portrait to Tablet Landscape */
@media (min-width: 768px) and (max-width: 1023px) {
    /* Tablet styles */
}


/* Form-floating: always use "focused" style (label above, reduced padding) on account forms */


/* =====================================================
   WIKIOO — Artwork buy / reproduction page (encyclopedic-minimal)
   Port of the ADC gallery-minimal PDP, remapped to the WikiOO
   monochrome palette (ink #1c1c1c, no colour accent, Newsreader titles).
   The shared buy templates emit .reproduction_main_page /
   .adc-buy-page-section / .premium_service for every brand; these
   rules give WikiOO its skin via the --adc-* token bridge below.
   ===================================================== */
:root {
  --adc-body:    var(--font-body);
  --adc-display: var(--font-title);
  --adc-ink:     #1c1c1c;   /* primary ink            (= --ink)         */
  --adc-ink-2:   #494949;   /* secondary text         (= --ink-soft)    */
  --adc-ink-3:   #8a8a8a;   /* tertiary / metadata    (= --muted)       */
  --adc-bg:      #ffffff;   /* page background        (= --page)        */
  --adc-band:    #fafafa;   /* soft band / rail       (= --rail)        */
  --adc-slot:    #f2f2f2;   /* card fill              (= --accent-tint) */
  --adc-line:    #e6e6e6;   /* light divider          (= --line)        */
  --adc-line-2:  #d6d6d6;   /* stronger divider       (= --line-strong) */
  --adc-accent:  #1c1c1c;   /* monochrome — ink as accent               */
  --adc-pad:     44px;      /* below-fold horizontal inset              */
}

/* =====================================================
   ADC — Artwork buy / reproduction page (gallery-minimal)
   Overrides legacy gray/WA tokens on PDP + academic block.
   Scoped to .reproduction_main_page only.
   ===================================================== */


/* Academic block — same horizontal width as reproduction_section (no nested container gutters) */


/* ---- Action bar + cross-channel links (Buy print, Share, Favorites, …) ---- */


/* Monochrome icons — neutral ink (SVG assets still carry legacy WA #875D2A) */


/* ---- Metadata chips (medium, movement, year, …) ---- */


/* ---- PDP titles ---- */


/* ---- Accordions (description, size, summary, …) — band on full panel ---- */


/* Gap between description/bio block and following collapse (e.g. digital images) */


/* Configurator tabs + radios */


/* CTA buttons */


/* ---- Academic / story block ---- */


/* Unified section headings (Quick Facts, Quiz, story, sidebars, sliders) */

/* Beat global-custom .art_header h4 (24px / cream) on quiz titles */


/* Related slider — contained width, no legacy full-bleed padding */


/* Quick Facts cards */

/* Art Quiz — ADC card (reproduction academic block + digital image sidebar) */

/* Table of Contents — same card surface as Art Quiz (white bg) */

/* Sidebar TOC — flat like Browse; Quick Facts card matches reproduction #facts */


/* Collections band at bottom of buy page */


/* Optional extras (checkbox row) — Read more on its own line after label/description */


/* Read more / Read More — ADC text CTA (accordions, tabs, options) */


/* Read more placed after .accordion-body (legacy markup) — align with body inset */


/* Related articles — « Explore Article » CTA (sidebar + story) */


/* Academic block — Related Artworks inside reproduction_main_page */


/* Related artworks slider — swiper prev/next (ADC asset: round band + arrow in SVG) */


/* Below-fold sections — same horizontal inset as header/footer */


/* Below-fold blocks (Related Artworks, Artist Biography, …) */


main > hr {
  margin: 0 var(--adc-pad, 44px);
  padding: 0;
  height: 0;
  border: none;
  border-top: 1px solid var(--adc-line, #e9e7e2);
  opacity: 1;
}

/* -----------------------------------------------------
   WIKIOO buy page — neutralise legacy WahooArt-warm colours
   that survive on shared markup so the PDP is fully monochrome.
   ----------------------------------------------------- */
/* Metadata links (medium, movement, year, museum, famous reference)
   carry an inline color:#6E665C in shared includes — beat it with ink. */


/* Article side-notes (.HTMLSectionBlock) inside description/biography —
   legacy taupe #776E62 → WikiOO secondary ink. */


/* ═══════════════════════════════════════
   WikiOO — Infinite Scroll (/art/infinite_scroll/)
   Scoped via .ais-hero-banner; brand tokens only.
   ═══════════════════════════════════════ */
body:has(.ais-hero-banner) {
  --ais-page: var(--page);
  --ais-surface: var(--page);
  --ais-surface-2: var(--chip);
  --ais-border: var(--card-border);
  --ais-divider: var(--line);
  --ais-frame-bg: var(--rail);
  --ais-ink: var(--ink);
  --ais-ink-2: var(--ink-soft);
  --ais-ink-3: var(--muted);
  --ais-faint: var(--muted);
  --ais-accent: var(--ink);
  --ais-accent-dark: var(--g1500);
  --ais-label-accent: var(--ink);
  --ais-on-accent: var(--page);
  --ais-shadow-rgb: 28 28 28;
  --ais-accent-rgb: 28 28 28;
  --ais-f-heading: var(--font-title);
  --ais-f-title: var(--font-title);
  --ais-f-body: var(--font-body);
  --ais-f-label: var(--font-body);
  --ais-f-mono: var(--font-body);
  --ais-heading-weight: 500;
  --ais-radius: 2px;
  --ais-max-w: 1380px;
  --ais-gutter: clamp(20px, 4vw, 64px);

  background: var(--ais-page);
  color: var(--ais-ink);
  font-family: var(--ais-f-body);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

body:has(.ais-hero-banner) .rake {
  position: fixed;
  inset: -20vh -30vw;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 38%,
    rgb(255 255 255 / 45%) 48%,
    rgb(var(--ais-accent-rgb) / 7%) 52%,
    transparent 64%
  );
  mix-blend-mode: soft-light;
  transform: translateX(calc((var(--rake, .2) - .5) * 60vw));
  transition: transform .4s ease-out;
  opacity: .75;
}

body:has(.ais-hero-banner) .scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  width: 0%;
  z-index: 1001;
  pointer-events: none;
  background: linear-gradient(90deg, var(--ais-accent-dark), var(--ais-accent));
  box-shadow: 0 0 8px -1px rgb(var(--ais-accent-rgb) / 45%);
  transition: width .12s linear;
}

body:has(.ais-hero-banner) .reveal-up {
  opacity: 0;
  transform: translateY(24px);
  animation: wk-ais-reveal-up .9s cubic-bezier(.16, 1, .3, 1) forwards;
}

@keyframes wk-ais-reveal-up {
  to { opacity: 1; transform: none; }
}

@keyframes wk-ais-draw-line {
  to { width: 64px; }
}

body:has(.ais-hero-banner) .ais-intro {
  background: var(--ais-surface);
  border-bottom: 1px solid var(--ais-border);
}

body:has(.ais-hero-banner) .ais-intro-inner {
  max-width: var(--ais-max-w);
  margin: 0 auto;
  padding: 36px var(--ais-gutter) 32px;
  text-align: center;
}

body:has(.ais-hero-banner) .ais-intro-title {
  font-family: var(--ais-f-heading);
  font-size: clamp(22px, 2.4vw, 34px);
  font-weight: var(--ais-heading-weight);
  color: var(--ais-ink);
  margin-bottom: 14px;
  letter-spacing: .01em;
}

body:has(.ais-hero-banner) .ais-intro-desc {
  font-family: var(--ais-f-body);
  font-size: clamp(15px, 1.4vw, 18px);
  font-style: italic;
  line-height: 1.75;
  color: var(--ais-ink-3);
  max-width: 760px;
  margin: 0 auto;
}

body:has(.ais-hero-banner) .stage {
  position: relative;
  z-index: 2;
  max-width: var(--ais-max-w);
  margin: 0 auto;
  padding: 24px var(--ais-gutter) 120px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
  transition: grid-template-columns .65s cubic-bezier(.45, .05, .2, 1);
}

body:has(.ais-hero-banner) .stage.pinned {
  grid-template-columns: 0.92fr 1.08fr;
}

body:has(.ais-hero-banner) .pinned-col {
  display: none;
  position: sticky;
  top: 80px;
  align-self: start;
  height: fit-content;
}

body:has(.ais-hero-banner) .stage.pinned .pinned-col {
  display: block;
  animation: wk-ais-pin-in .8s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes wk-ais-pin-in {
  from { opacity: 0; transform: translateY(34px) scale(.94); filter: blur(6px); }
  to   { opacity: 1; transform: none; filter: blur(0); }
}

body:has(.ais-hero-banner) .plate.grand .frame img {
  animation: wk-ais-breathe 14s ease-in-out infinite alternate;
}

@keyframes wk-ais-breathe {
  from { transform: scale(1); }
  to   { transform: scale(1.035); }
}

body:has(.ais-hero-banner) .plate {
  background: var(--ais-surface);
  border: 1px solid var(--ais-border);
  border-radius: var(--ais-radius);
  position: relative;
  overflow: hidden;
}

body:has(.ais-hero-banner) .plate.grand {
  box-shadow: 0 30px 60px -20px rgb(var(--ais-shadow-rgb) / 14%);
}

body:has(.ais-hero-banner) .plate .top {
  display: flex;
  align-items: flex-start;
}

body:has(.ais-hero-banner) .plate .mat {
  padding: 22px;
  position: relative;
  flex: 0 0 auto;
  width: 46%;
  max-width: 340px;
}

body:has(.ais-hero-banner) .plate .frame {
  position: relative;
  background: var(--ais-frame-bg);
  outline: 1px solid var(--ais-divider);
  outline-offset: -1px;
  overflow: hidden;
  width: 100%;
}

body:has(.ais-hero-banner) .plate .frame img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 1.4s cubic-bezier(.2, .8, .2, 1), opacity .9s ease, filter .9s ease;
  opacity: 0;
  filter: blur(10px);
}

body:has(.ais-hero-banner) .plate .frame img.loaded {
  opacity: 1;
  filter: blur(0);
}

body:has(.ais-hero-banner) .plate-no {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  background: var(--ais-ink);
  color: var(--ais-on-accent);
  font-family: var(--ais-f-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: var(--ais-radius);
}

body:has(.ais-hero-banner) .plate .caption {
  flex: 1 1 auto;
  min-width: 0;
  padding: 26px 26px 22px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body:has(.ais-hero-banner) .plate .caption .artist {
  font-family: var(--ais-f-label);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ais-ink);
  margin-bottom: 8px;
}

body:has(.ais-hero-banner) .plate .caption .title {
  font-family: var(--ais-f-title);
  font-style: italic;
  font-size: 26px;
  line-height: 1.2;
  color: var(--ais-ink-2);
}

body:has(.ais-hero-banner) .plate .caption .facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--ais-divider);
}

body:has(.ais-hero-banner) .fact {
  display: inline-block;
  padding: 8px 13px;
  background: var(--ais-surface-2);
  border: 1px solid var(--ais-border);
  border-radius: var(--ais-radius);
  font-family: var(--ais-f-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ais-ink-2);
  opacity: 0;
  transform: translateY(8px) scale(.96);
  animation: wk-ais-fact-in .5s cubic-bezier(.16, 1, .3, 1) forwards;
}

@keyframes wk-ais-fact-in {
  to { opacity: 1; transform: none; }
}

body:has(.ais-hero-banner) a.fact {
  text-decoration: none;
  color: var(--ais-ink-2);
  cursor: pointer;
  transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s ease;
}

body:has(.ais-hero-banner) a.fact:hover {
  border-color: var(--ais-accent);
  color: var(--ais-ink);
  background: var(--ais-surface);
  transform: translateY(-1px);
}

body:has(.ais-hero-banner) .plate .mat a.frame {
  display: block;
  cursor: pointer;
}

body:has(.ais-hero-banner) .plate .below {
  padding: 0 26px 26px;
  border-top: 1px solid var(--ais-divider);
  margin-top: 0;
}

body:has(.ais-hero-banner) .plate .below .desc {
  font-family: var(--ais-f-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ais-ink-3);
  padding-top: 20px;
}

body:has(.ais-hero-banner) .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

body:has(.ais-hero-banner) .fav-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ais-f-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ais-ink-2);
  background: var(--ais-surface);
  border: 1px solid var(--ais-border);
  border-radius: var(--ais-radius);
  padding: 11px 18px;
  cursor: pointer;
  transition: transform .3s ease, border-color .3s ease, color .3s ease, background .3s ease, box-shadow .3s ease;
}

body:has(.ais-hero-banner) .fav-btn .heart {
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
}

body:has(.ais-hero-banner) .fav-btn .heart svg {
  width: 14px;
  height: 14px;
  display: block;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1);
}

body:has(.ais-hero-banner) .fav-btn .heart svg path {
  fill: none;
  stroke: var(--ais-ink-2);
  stroke-width: 1.4;
  transition: fill .35s ease, stroke .35s ease;
}

body:has(.ais-hero-banner) .fav-btn:hover {
  border-color: var(--ais-accent);
  color: var(--ais-ink);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -10px rgb(var(--ais-shadow-rgb) / 22%);
}

body:has(.ais-hero-banner) .fav-btn:hover .heart svg path {
  stroke: var(--ais-accent);
}

body:has(.ais-hero-banner) .fav-btn.saved {
  background: var(--ais-accent);
  border-color: var(--ais-accent);
  color: var(--ais-on-accent);
}

body:has(.ais-hero-banner) .fav-btn.saved .heart svg path {
  fill: var(--ais-on-accent);
  stroke: var(--ais-on-accent);
}

body:has(.ais-hero-banner) .fav-btn.saved .heart svg {
  animation: wk-ais-heart-pop .45s cubic-bezier(.34, 1.56, .64, 1);
}

@keyframes wk-ais-heart-pop {
  0%   { transform: scale(.6); }
  55%  { transform: scale(1.35); }
  100% { transform: scale(1); }
}

body:has(.ais-hero-banner) .buy-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ais-f-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  border-radius: var(--ais-radius);
  padding: 11px 18px;
  cursor: pointer;
  border: 1px solid var(--ais-ink);
  text-decoration: none;
  transition: transform .3s ease, background .3s ease, color .3s ease, box-shadow .3s ease, border-color .3s ease;
}

body:has(.ais-hero-banner) .buy-btn .arrow {
  display: inline-block;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}

body:has(.ais-hero-banner) .buy-btn:hover .arrow {
  transform: translateX(3px);
}

body:has(.ais-hero-banner) .buy-btn.print {
  background: var(--ais-surface);
  color: var(--ais-ink-2);
  border-color: var(--ais-border);
}

body:has(.ais-hero-banner) .buy-btn.print:hover {
  border-color: var(--ais-accent);
  color: var(--ais-ink);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -10px rgb(var(--ais-shadow-rgb) / 22%);
}

body:has(.ais-hero-banner) .buy-btn.painting {
  background: var(--ais-accent);
  color: var(--ais-on-accent);
  border-color: var(--ais-accent);
}

body:has(.ais-hero-banner) .buy-btn.painting:hover {
  background: var(--ais-accent-dark);
  border-color: var(--ais-accent-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px -10px rgb(var(--ais-accent-rgb) / 45%);
}

body:has(.ais-hero-banner) .feed-col {
  min-width: 0;
}


body:has(.ais-hero-banner) .work-col {
  display: flex;
}

body:has(.ais-hero-banner) .work {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 100%;
  background: var(--ais-surface);
  border: 1px solid var(--ais-border);
  border-radius: var(--ais-radius);
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 2px 10px -6px rgb(var(--ais-shadow-rgb) / 10%);
  will-change: opacity, transform;
  opacity: 0;
  transform: translateY(40px) scale(.82);
  transition: opacity .7s cubic-bezier(.2, .8, .2, 1), transform .7s cubic-bezier(.2, .8, .2, 1), box-shadow .5s ease;
}

body:has(.ais-hero-banner) .work.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}

body:has(.ais-hero-banner) .work:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 14px 36px -16px rgb(var(--ais-shadow-rgb) / 16%);
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .9s ease;
}

body:has(.ais-hero-banner) .work.clicked {
  transition: transform .22s cubic-bezier(.34, 1.56, .64, 1), box-shadow .22s ease, opacity .22s ease;
  transform: scale(1.05) translateY(-4px);
  box-shadow: 0 30px 70px -18px rgb(var(--ais-shadow-rgb) / 24%);
  z-index: 5;
}

body:has(.ais-hero-banner) .work.clicked .frame img {
  transform: scale(1.06);
}

body:has(.ais-hero-banner) .work.clicked .frame::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 30%, rgb(var(--ais-accent-rgb) / 35%) 50%, transparent 70%);
  background-size: 280% 100%;
  animation: wk-ais-shine .55s ease-out forwards;
}

@keyframes wk-ais-shine {
  from { background-position: 140% 0; }
  to   { background-position: -140% 0; }
}

body:has(.ais-hero-banner) .work .badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  background: var(--ais-surface);
  border: 1px solid var(--ais-border);
  font-family: var(--ais-f-mono);
  font-size: 8.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ais-label-accent);
  padding: 3px 7px;
  border-radius: var(--ais-radius);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .45s ease, transform .45s ease;
}

body:has(.ais-hero-banner) .work:hover .badge {
  opacity: 1;
  transform: none;
}

body:has(.ais-hero-banner) .work .mat {
  padding: 14px;
  position: relative;
  flex: 0 0 auto;
  width: 40%;
  max-width: 170px;
  display: flex;
  align-items: center;
}

body:has(.ais-hero-banner) .work .frame {
  position: relative;
  background: var(--ais-frame-bg);
  outline: 1px solid var(--ais-divider);
  outline-offset: -1px;
  overflow: hidden;
  width: 100%;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
  transform-style: preserve-3d;
}

body:has(.ais-hero-banner) .work .frame img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 1.3s cubic-bezier(.2, .8, .2, 1), filter .6s ease, opacity .9s ease;
  opacity: 0;
  filter: blur(8px);
}

body:has(.ais-hero-banner) .work .frame img.loaded {
  opacity: 1;
  filter: blur(0);
}

body:has(.ais-hero-banner) .work:hover .frame img {
  transform: scale(1.04);
}

body:has(.ais-hero-banner) .work .frame::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 120%, rgb(var(--ais-accent-rgb) / 8%), transparent 60%);
  opacity: 0;
  transition: opacity .6s ease;
}

body:has(.ais-hero-banner) .work:hover .frame::after {
  opacity: 1;
}

body:has(.ais-hero-banner) .work .body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 16px 18px 16px 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid var(--ais-divider);
}

body:has(.ais-hero-banner) .work .body .artist {
  font-family: var(--ais-f-label);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ais-ink);
  margin-bottom: 6px;
}

body:has(.ais-hero-banner) .work .body .title {
  font-family: var(--ais-f-title);
  font-style: italic;
  font-size: 17px;
  line-height: 1.25;
  color: var(--ais-ink-2);
}

body:has(.ais-hero-banner) .work .body .meta {
  font-family: var(--ais-f-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ais-faint);
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--ais-divider);
}

body:has(.ais-hero-banner) .sentinel {
  width: 100%;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

body:has(.ais-hero-banner) .feed.swapping {
  animation: wk-ais-feed-out .35s ease forwards;
}

@keyframes wk-ais-feed-out {
  to { opacity: 0; transform: translateY(10px); }
}

body:has(.ais-hero-banner) .feed.swap-in {
  animation: wk-ais-feed-in .5s cubic-bezier(.2, .8, .2, 1);
}

@keyframes wk-ais-feed-in {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}

@media (min-width: 992px) {
  body:has(.ais-hero-banner) .stage.pinned .feed > .work-col {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 1100px) {
  body:has(.ais-hero-banner) .stage.pinned {
    grid-template-columns: 1fr;
  }

  body:has(.ais-hero-banner) .pinned-col {
    position: relative;
    top: 0;
  }
}

@media (max-width: 991px) {
  body:has(.ais-hero-banner) .stage.pinned .feed > .work-col {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  body:has(.ais-hero-banner) .work {
    flex-direction: column;
  }

  body:has(.ais-hero-banner) .work .mat {
    width: 100%;
    max-width: none;
  }

  body:has(.ais-hero-banner) .work .body {
    border-left: none;
    border-top: 1px solid var(--ais-divider);
    padding: 16px 18px;
  }

  body:has(.ais-hero-banner) .plate .top {
    flex-direction: column;
  }

  body:has(.ais-hero-banner) .plate .mat {
    width: 100%;
    max-width: none;
  }

  body:has(.ais-hero-banner) .plate .caption {
    padding: 0 26px 22px;
  }
}

/* ===== artwork_info.html — WK (encyclopedic/minimal) ===== */


.artinfo_top h4 { color: var(--ink, #1c1c1c); font-family: var(--font-title); font-weight: 400; }
.art_info_details { background: var(--g0, #ffffff); border: 1px solid var(--line, #e6e6e6); box-shadow: none; }
.art_info_inner { background: var(--g100, #f5f5f5); }
.art_info_inner h4 { color: var(--ink, #1c1c1c); text-transform: none; font-weight: 600; }
.art_info_inner p { color: var(--ink-soft, #494949); }
.artwork-info-meta-link { color: var(--ink-soft, #494949); }
.artwork-info-meta-link:hover { color: var(--ink, #1c1c1c); }


/* ═══════════════════════════════════════════════════════════════════
   WK — WikiOO — Similar artworks browse (/art/similar/<slug>/)
   Scoped to .artwork-similar-page — gallery-minimal tokens
   ═══════════════════════════════════════════════════════════════════ */


/* Page chrome — breadcrumb, title row, sort */


/* Criteria sidebar */


/* Grid — catalog cards */


/* ===================================================================
   Ecard (artworks/artwork_ecard.html) — WK WikiOO
   Encyclopedia: restrained monochrome, Newsreader serif headings.
   =================================================================== */


/* ===== Artwork catalog list card — WikiOO (UI Kit aligned) ===== */
/*
   Tokens used:
     --wk-bg        (#ffffff)  — card surface
     --wk-band      (#f5f5f5)  — hover wash / hover_visible panel bg
     --wk-slot      (#eeeeee)  — fav button hover bg
     --wk-line      (#e6e6e6)  — card outer border, dividers
     --wk-line-2    (#d6d6d6)  — fav pill border, stronger dividers
     --wk-ink       (#1c1c1c)  — primary text, CTA bg, card hover border
     --wk-ink-2     (#6e6c68)  — secondary text (snippet)
     --wk-ink-3     (#a3a09b)  — muted / year metadata
     --wk-accent    (#1c1c1c)  — link hover, active states
     --wk-accent-dark (#000000) — deepened hover
     --wk-body      (Helvetica Neue, Helvetica, Arial, sans-serif)
     --font-title   (Newsreader, Georgia, serif)  — artwork title display

   Card look: flat white surface with a hairline 1 px border (--card-border
   #cdcdcd), compact editorial padding tuned for the 3-column layout.
   Artist name: 11 px all-caps Helvetica Neue, ink-dark.
   Title: 13 px italic Newsreader serif — the encyclopedic anchor.
   CTA: square-cornered solid-ink "ADD TO CART" block (UI Kit .gd-add style).
   Hover panel: pale-gray wash, no heavy shadow — Wikipedia-like restraint.

   Scoping: every selector is prefixed with BOTH page-wrapper classes so
   these rules apply only on the catalog/artwork list pages and never bleed
   onto the ~95 other pages that reuse .search_card.
   No HTML or class-name changes were made anywhere.
*/

/* ── 1. Column gutter — compact grid with a little space between rows ── */


/* ── 2. Card surface ── */


/* ── 3. Image container ── */


/* ── 4. Card body — same inset as hover panel ── */


/* ── 5. Artist row (name + year) ── */


/* Artist name — sans-serif label, all-caps */


/* Year — muted, right-aligned */


/* ── 6. Artwork title — Newsreader serif, italic, the encyclopedic anchor ── */


/* ── 7. Hover-reveal panel ── */
/* Global display:none / display:block reveal is preserved untouched.
   Only the panel surface and typography are styled here. */


/* Favourite heart icons — the SVGs are stroked in the legacy brown #875D2A;
   recolour to WK ink via filter */


/* Snippet text */


/* ── 8. Card bottom row (price/CTA + fav) ── */


/* ── 9. Add-to-cart CTA — UI Kit .gd-add: solid ink, uppercase sans, square ── */


/* Price span inside the CTA */


/* Guillemet override for <a class="addToCart"> */


/* ── 10. Favourite toggle ── */


/* Suppress guillemet decoration on fav toggle anchor */


/* ===== /Artwork catalog list card — WikiOO ===== */

/* =====================================================
   PrintReproduction & DigitalImage buy pages — article (historicle_box) typography
   Structure lives in global-custom-V2.1.css; brand ink/links here.
   ===================================================== */


/* ============================================================
   WK — artist_detail.html — artistPage_Slider_section (corpus/popular/medium sliders)
   Encyclopedic monochrome: clean grey band, ink text, minimal hover.
   ============================================================ */


/* view_all_art tag links — encyclopedic body type */


/* Image hover: high-contrast desaturate — only on direct image hover */


/* ===== END WK — artist_detail.html artistPage_Slider_section ===== */

/* ============================================================
   Article detail page (article_detail.html) — WikiOO
   Overrides the brand-neutral beige structure in global-custom
   with WikiOO's encyclopedic monochrome tokens: white page,
   ink text, ink-as-accent, Newsreader titles. Scoped under
   .article_main_page so other page types are unaffected.
   ============================================================ */

/* Keyword tag pills — subtle grey fill, encyclopedic */


/* Hero title + subtitle */


/* Body copy + headings + links */


/* Sidebar section headings */


/* Table of contents links */


/* Related-artworks sidebar */


/* Related-articles list */


/* ===== END Article detail page — WikiOO ===== */


/* ===== TOP 100 PAGES (artists / artworks / museums / articles) ===== */
/* WikiOO identity: strictly monochrome encyclopedia. Ink (#1c1c1c) is the
   only accent — no brand hue. Square corners (radius 0), hairline borders,
   no drop shadows. Newsreader serif headings, Helvetica Neue labels,
   uppercase letter-spaced meta, inverting ink button. */

/* 1) Brand tokens — feed the structural base in global-custom */
.top100-artist-grid,
.top100-artwork-list {
  --top100-card-bg:     var(--page, #ffffff);
  --top100-card-border: var(--card-border, #cdcdcd);
  --top100-ink:         var(--ink, #1c1c1c);
  --top100-muted:       var(--muted, #8a8a8a);
  --top100-accent:      var(--ink, #1c1c1c);      /* monochrome: accent = ink */
  --top100-rank-color:  var(--accent-tint, #f2f2f2); /* faint giant numeral */
  --top100-card-radius: 0;                          /* square — no rounding */
}

/* Top-100 card grids — same row gutter as catalog list pages */


/* The top-100 templates use a bare .container > .row > .col-md-12.p-0 wrapper
   (NOT .search_sec), so the global negative Bootstrap row margins aren't
   cancelled here and the inner card grid bled ~15px over both sidebars.
   Neutralise the negative margins on these nested rows so the grid stays
   flush inside the centre column. */
.wikioo-main-content .container > .row {
    margin-left: 0;
    margin-right: 0;
}

/* ---- A) Artists portrait grid ------------------------------------ */
.top100-artist-card {
  background: var(--page, #ffffff);
  border: 1px solid var(--card-border, #cdcdcd);
  border-radius: 0;
  box-shadow: none;
  transition: border-color 0.12s ease, background-color 0.12s ease;
}
.top100-artist-card:hover {
  border-color: var(--ink, #1c1c1c);
  background: var(--hover-wash, #f5f5f5);
  box-shadow: none;
}
.top100-artist-card__photo {
  border-radius: 0;                /* square portrait — WikiOO bans circles */
  border: 1px solid var(--card-border, #cdcdcd);
  box-shadow: none;
}
.top100-artist-card:hover .top100-artist-card__photo {
  border-color: var(--ink, #1c1c1c);
}
.top100-artist-card__name,
.top100-artist-card__name a {
  font-family: var(--font-title, "Newsreader", serif);
  font-weight: 500;
  letter-spacing: -0.2px;
  color: var(--ink, #1c1c1c);
}
.top100-artist-card__name a:hover {
  color: var(--ink, #1c1c1c);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.top100-artist-card__desc {
  font-family: var(--font-body, "Helvetica Neue", Arial, sans-serif);
  color: var(--ink-soft, #494949);
}

/* ---- B) Artworks zigzag gallery ---------------------------------- */
.top100-artwork-card__rank {
  font-family: var(--font-title, "Newsreader", serif);
  font-weight: 500;
  color: var(--accent-tint, #f2f2f2);   /* faint catalogue numeral */
}
.top100-artwork-card__inner {
  background: var(--page, #ffffff);
  border: 1px solid transparent;
  border-radius: 0;
  box-shadow: none;
  transition: border-color 0.12s ease, background-color 0.12s ease;
}
.top100-artwork-card:hover .top100-artwork-card__inner {
  border-color: var(--ink, #1c1c1c);
  background: var(--page, #ffffff);
  box-shadow: none;
}
.top100-artwork-card__photo {
  border-radius: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.07);  /* gallery plate hairline */
}
.top100-artwork-card__photo--framed {
  border: 1px solid var(--card-border, #cdcdcd);
  border-radius: 0;
  box-shadow: none;
}
.top100-artwork-card__artist {
  font-family: var(--font-body, "Helvetica Neue", Arial, sans-serif);
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--muted, #8a8a8a);
}
.top100-artwork-card__year {
  font-family: var(--font-body, "Helvetica Neue", Arial, sans-serif);
  color: var(--muted, #8a8a8a);
}
.top100-artwork-card__title {
  font-family: var(--font-title, "Newsreader", serif);
  font-weight: 500;
  font-style: italic;          /* catalogue convention for work titles */
  letter-spacing: -0.2px;
  color: var(--ink, #1c1c1c);
}
.top100-artwork-card__title a:hover {
  color: var(--ink, #1c1c1c);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ===== /WK — artist_group_by_attribute / group-by browse ===== */


/* ===== photo_to_restyled_masterpiece =====
   WikiOO encyclopedic / utilitarian language:
   - Monochrome ink tokens, white page, hairline borders, sharp corners (no radius)
   - Newsreader serif for headings, Helvetica sans body, mono uppercase micro-labels
   - Outline controls that invert to ink-on-white on hover/active
   All selectors scoped under body.custom-repro-page; reuses brand tokens only.
   ===================================================================== */

/* ── Shared structural tokens consumed by global-custom-V2.1.css ── */


/* ── Hero caption ── */


/* ── Intro lead ── */


/* ── Step blocks: flat white panels with hairline border, sharp corners ── */


/* Step eyebrow — mono uppercase micro-label */


/* Step heading — serif title on a hairline rule (hw-h2) */


/* Step body copy */


/* File-type hint — small mono caption */


/* ── Step 01: upload box ── */


/* spinner: monochrome ring on white wash */


@keyframes wk-pr-spin { to { transform: rotate(360deg); } }
/* ===== /search_by_color ===== */

/* ===== orders/art_consultation.html — step image offset shadow ===== */
/* WikiOO: monochrome, gallery-neutral — soft ink wash (no chromatic accent). */
.step .step-image { --step-image-shadow: rgba(28, 28, 28, 0.10); }

/* ===== orders/art_consultation.html — WikiOO brand colours ===== */
/* Encyclopedic monochrome: ink on white, no chromatic accent */


/* ===== /orders/art_consultation.html — WikiOO ===== */

/* ===== start_selling_* step-image shadow tint — WK · minimal neutral offset ===== */


/* ===== viewcart — cart state tokens (WK) ===== */
:root {
  --cart-placeholder-bg: var(--accent-tint, #f2f2f2);
  --cart-placeholder-border: var(--card-border, #cdcdcd);
  --cart-placeholder-icon: var(--muted, #8a8a8a);
  --cart-alert-warning-text: #6b5413;
  --cart-alert-warning-bg: #fbf6e9;
  --cart-alert-warning-border: #e8dcb5;
  --cart-alert-warning-accent: #c79a2e;
  --cart-surface: #F7F2E1;
  --cart-surface-border: #DCD3BF;
  --cart-inset: #F3EFE6;
  --cart-icon-bg: #E2DAC4;
  --cart-summary-ink: var(--wk-ink, #1c1c1c);
  --cart-summary-ink-2: var(--wk-ink-2, #575757);
  --cart-summary-accent: var(--wk-accent, #c79a2e);
  --cart-th-bg: #C8BCA0;
  --cart-th-color: var(--wk-ink, #1c1c1c);
}


/* ===== collectible sell/edit — image upload + sales channels (restyle8) ===== */


@keyframes r8spin-wk { 0%{transform:rotate(0)} 100%{transform:rotate(360deg)} }

/* ===== /artwork-not-found ===== */

/* ===== customers_reviews — WK brand tokens (structure lives in global-custom) ===== */


/* ===== wheel-of-affinities (similar artworks study plate) =====
   WK identity: encyclopedic white/band-grey plate, Newsreader serif,
   light-grey frames that turn ink-black when centered. Structure in
   global-custom-V2.1.css. */


/* ===== Catalog hover panel — align snippet + buy with the card body text =====
   The hover panel floats absolutely at the card border (left:0), so it ignores
   the card's own padding. To line the snippet text and buy button up with the
   artist/title text above, the panel carries the full body inset
   (card padding + body padding = 10px) and the inner content/footer drop their
   horizontal padding. High-specificity (ties the page-scoped .hover_visible
   rules, wins by load order). Vertical inset is symmetric top/bottom. */


/* ============================================================================
   WikiOO full-width hero banner — flat editorial "paper" treatment (all pages)
   ----------------------------------------------------------------------------
   WikiOO is monochrome/encyclopedic, so the shared hero banner drops every
   decorative layer the global stylesheet adds and becomes a calm light panel:
     - global photo layer        .full_width_hero_banner_with_background_image::after
     - global gold shimmer wash  .full_width_hero_banner_with_background_image::before
     - global <video> background .full_width_hero_banner_with_video video
   Replaced by a solid paper surface (var(--page)) with dark-ink caption text
   and a smaller, quieter headline. Unscoped on purpose: this CSS file loads
   only for WikiOO, so it covers EVERY WK page that uses this banner (login,
   signup, top-100 ×4, art-consultation, art-appraisal, thank-you pages).
   ========================================================================== */


/* Caption wrapper: drop the global height:92.5% + centred flex spread that left
   tall empty bands above/below the two-line caption. Let it size to content. */


/* Remove the photo layer (and its slow-zoom) on every variant */


/* Remove the animated gold gradient overlay */


/* Remove the looping video background */


/* Caption subtitle: dark-ink-on-paper micro-label.
   h2 is the subtitle on the top-100 pages ("Editor's Choice", "Hall of Fame",
   etc.) — it must get the same quiet uppercase treatment as h6, otherwise it
   falls back to the global 70px BEIGE (#E8E5DC) .top100_banner h2. */


/* Breadcrumb on the WK paper hero — kill the default <ul> top margin so it sits
   tight under the section's top padding (less dead space above the breadcrumb). */


/* Breadcrumb on the WK paper hero — the global hero rule paints it beige
   (#E8E5DC), which is invisible on white. Recolour to ink/muted so it reads. */


/* =====================================================
   WIKIOO — Dark link-hover wash: text readability override
   -----------------------------------------------------
   The site-wide `a:hover` now paints a dark (--ink) background
   behind the link itself. Many legacy page-scoped rules set the
   hovered text to a DARK accent/ink colour, which becomes
   unreadable (dark-on-dark) on that wash. This block re-asserts
   white text for every such link, using the same selectors (so
   it wins by source order / specificity).
   Links/CTAs/chips that paint their OWN light hover background
   are intentionally NOT listed here — they keep their dark text.
   ===================================================== */

/* Artwork / reproduction info boxes */


/* Top-100 listings */
.top100-artist-card__name a:hover,
.top100-artwork-card__title a:hover {
    color:#fff;
}

/* Catalog card variant (artwork-catalog-card) */


/* Article list grid */


/* List-page filter rail */


/* Artist A–Z index */


/* Group-by pages (catalog / artwork / artist / museum / article) */


/* Categories pages */


/* Custom reproduction request page */


/* Not-found page nav + hero banner nav */


/* ===== WK — artworksimilarslider (artwork_similar_slider_section.html) ===== */
/* Artist name kicker hover color */

/* Artwork title link hover color */

/* ===== END WK — artworksimilarslider ===== */

/* ===== error_404.html + error_general.html — WikiOO ===== */
/*
   Tokens:  --lc #1c1c1c (encyclopedic ink)  --ink #1c1c1c  --ink-soft #494949
            --line #e6e6e6  --font-body Helvetica Neue sans
   Design:  Minimal, high-contrast, no decorative colour — ink fills only.
*/


/* ===== /error_404.html + error_general.html — WikiOO ===== */

/* ===== Native Stripe checkout + payment received — WK brand tokens ===== */


/* ===== artwork_preview_in_interior_room — WikiOO tokens (structure in global-custom) ===== */


/* ===== artwork_buy_ProductAuction — auction tokens ===== */
:root {
  --auction-accent:      var(--ink, #1c1c1c);
  --auction-accent-dark: var(--g1500, #000000);
  --auction-accent-text: #ffffff;
  --auction-ink:         var(--ink, #1c1c1c);
  --auction-ink-mute:    var(--muted, #8a8a8a);
  --auction-radius:      0;
}
/* ===== /artwork_buy_ProductAuction ===== */

/* =====================================================
   Page side margins on non-large windows
   Below the large (xl) breakpoint — e.g. snapped quarter (1/4)
   and half (2/4) windows — Bootstrap caps .container at a fixed
   max-width (540/720/960px), leaving very wide empty side margins.
   We want the page content to use almost the full width with only a
   small gutter at those sizes. Scoped to in-page <main> content so
   header/top-bar/footer containers are unaffected.
   ===================================================== */
@media (max-width: 1199.98px) {
    main .container,
    main .container-sm,
    main .container-md,
    main .container-lg,
    main .container-xl {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* =====================================================
   Dashboard feature spotlight — WikiOO tokens
   (encyclopedic: flat, line-based, monochrome ink, no radius)
   ===================================================== */

