/* ============================================================
   WHITE AUDITION — Classic auction-house look
   White ground, EB Garamond headings over Jost text, one navy accent,
   a short gold rule under section titles. Loaded last (Partials/Head),
   so it re-tones the existing ah-/wa- components through the tokens and
   styles the homepage sections (cx- prefix).
   ============================================================ */

:root {
    --ah-font-serif:         'EB Garamond', Georgia, serif;
    --ah-font-body:          'Jost', 'Helvetica Neue', Arial, sans-serif;

    --ah-color-primary:      #1E2D4F;   /* navy accent (buttons, active states) */
    --ah-color-primary-dk:   #15203A;
    --ah-color-primary-lt:   #E9EDF5;
    --ah-color-primary-text: #1E2D4F;   /* 12.8:1 on white */
    --ah-color-dark:         #1A1A1A;
    --ah-color-text:         #1A1A1A;
    --ah-color-text-muted:   #5F6368;   /* 6.0:1 on white */
    --ah-color-text-light:   #5F6368;
    --ah-color-bg-warm:      #FFFFFF;
    --ah-color-bg-light:     #F5F4F0;
    --ah-color-border:       #E6E6E6;

    --cx-navy:   #1E2D4F;
    --cx-gold:   #B08D57;   /* decorative rules only, never text */
    --cx-ink:    #1A1A1A;
    --cx-muted:  #5F6368;
    --cx-line:   #E6E6E6;
    --cx-well:   #F5F4F0;
    --cx-max:    1360px;
}

body {
    font-family: var(--ah-font-body);
    color: var(--cx-ink);
    background: #FFFFFF;
}

/* ── Wordmark ── */
.cx-wordmark {
    font-family: var(--ah-font-serif);
    font-size: 30px;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--cx-ink);
    line-height: 1;
    white-space: nowrap;
}
.ah-footer-logo.cx-wordmark { font-size: 28px; }

/* ════════════════════════════════════════
   HEADER — utility bar + white navigation
════════════════════════════════════════ */
.ann-bar {
    background: #FFFFFF;
    color: var(--cx-ink);
    border-bottom: 1px solid var(--cx-line);
    height: 34px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ann-bar::before { display: none; }
.ann-bar a { color: var(--cx-navy); }
.ann-bar-close { color: var(--cx-muted); }

.wa-nav {
    background: #FFFFFF;
    border-bottom: 1px solid var(--cx-line);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.wa-nav.mega-open { background: #FFFFFF; }
.nav-link {
    font-family: var(--ah-font-body);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--cx-ink);
}
.nav-link:hover,
.nav-link.active { color: var(--cx-navy); font-weight: 500; }
.nav-divider { background: var(--cx-line); }
.nav-cta,
.nav-cta-live {
    background: transparent;
    border: 1px solid var(--cx-navy);
    color: var(--cx-navy);
    border-radius: 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.nav-cta:hover,
.nav-cta-live:hover { background: var(--cx-navy); border-color: var(--cx-navy); color: #FFFFFF; }
.nav-acc-avatar { background: var(--cx-navy); color: #FFFFFF; }
.nav-badge { background: var(--cx-navy); color: #FFFFFF; }
.mega-col-title {
    font-family: var(--ah-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--cx-muted);
}
.mega-nav-link-label { font-family: var(--ah-font-serif); font-size: 18px; color: var(--cx-ink); }

/* ════════════════════════════════════════
   SHARED SECTION PARTS
════════════════════════════════════════ */
.cx-container {
    max-width: var(--cx-max);
    margin: 0 auto;
    padding: 0 40px;
}
.cx-sec { padding: 64px 0 24px; background: #FFFFFF; }
.cx-sec-hd {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 36px;
}
.cx-title {
    margin: 0;
    font-family: var(--ah-font-serif);
    font-weight: 400;
    font-size: 32px;
    line-height: 1.15;
    color: var(--cx-ink);
}
.cx-title::after {
    content: '';
    display: block;
    width: 48px;
    height: 2px;
    margin-top: 12px;
    background: var(--cx-gold);
}
.cx-more {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cx-navy);
    padding: 8px 0;
}
.cx-more:hover { text-decoration: underline; color: var(--cx-navy); }

.cx-btn,
.cx-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 24px;
    font-family: var(--ah-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}
.cx-btn { background: var(--cx-navy); color: #FFFFFF; border: 1px solid var(--cx-navy); }
.cx-btn:hover { background: #15203A; color: #FFFFFF; }
.cx-btn-outline { background: transparent; color: var(--cx-navy); border: 1px solid var(--cx-navy); }
.cx-btn-outline:hover { background: var(--cx-navy); color: #FFFFFF; }

/* ════════════════════════════════════════
   HERO — full-width artwork + navy caption box
════════════════════════════════════════ */
.cx-hero {
    position: relative;
    height: clamp(420px, 42vw, 600px);
    overflow: hidden;
    background: var(--cx-well);
}
.cx-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cx-hero-box {
    position: absolute;
    left: 0;
    bottom: 48px;
    width: min(460px, calc(100% - 32px));
    box-sizing: border-box;
    background: var(--cx-navy);
    color: #FFFFFF;
    padding: 32px 36px;
}
.cx-hero-kicker {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #C9D1E3;
}
.cx-hero-title {
    margin: 10px 0 12px;
    font-family: var(--ah-font-serif);
    font-weight: 400;
    font-size: clamp(28px, 2.6vw, 36px);
    line-height: 1.12;
    color: #FFFFFF;
}
.cx-hero-sub { margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: #E3E8F2; }
.cx-hero-cta {
    display: inline-block;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-bottom: 1px solid #FFFFFF;
    padding-bottom: 3px;
}
.cx-hero-cta:hover { color: #FFFFFF; opacity: .85; }
.cx-hero-caption {
    position: absolute;
    right: 16px;
    bottom: 12px;
    font-size: 11px;
    font-style: italic;
    color: #FFFFFF;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}

/* ════════════════════════════════════════
   YAKINDA KAPANIYOR — lot row
════════════════════════════════════════ */
.cx-lots {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 40px 32px;
}
.cx-lot { display: flex; flex-direction: column; gap: 4px; color: var(--cx-ink); text-decoration: none; }
.cx-lot:hover { color: var(--cx-ink); }
.cx-lot-media {
    height: 300px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 16px;
}
.cx-lot-media img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform .3s ease;
}
.cx-lot:hover .cx-lot-media img { transform: translateY(-4px); }
.cx-lot-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cx-well);
    font-family: var(--ah-font-serif);
    font-size: 22px;
    color: var(--cx-muted);
}
.cx-lot-artist { font-family: var(--ah-font-serif); font-size: 20px; line-height: 1.25; }
.cx-lot-title {
    font-family: var(--ah-font-serif);
    font-style: italic;
    font-size: 16px;
    color: var(--cx-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cx-lot-price { font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cx-muted); margin-top: 4px; }
.cx-lot-price strong { color: var(--cx-ink); font-weight: 600; }
.cx-lot-time { display: flex; gap: 6px; font-size: 12px; color: var(--cx-navy); font-weight: 500; }

/* ════════════════════════════════════════
   YAKLAŞAN MÜZAYEDELER — session cards
════════════════════════════════════════ */
.cx-auctions {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 40px 24px;
}
.cx-auction { display: flex; flex-direction: column; gap: 10px; }
.cx-auction-media {
    position: relative;
    display: block;
    height: 260px;
    background: var(--cx-well);
    overflow: hidden;
}
.cx-auction-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.cx-auction:hover .cx-auction-media img { transform: scale(1.03); }
.cx-auction-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    text-align: center;
    font-family: var(--ah-font-serif);
    font-size: 22px;
    line-height: 1.25;
    color: var(--cx-muted);
}
.cx-auction-tag {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #FFFFFF;
    color: var(--cx-ink);
    padding: 4px 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.cx-auction-tag.is-live { background: var(--cx-navy); color: #FFFFFF; }
.cx-auction-title { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: 22px; line-height: 1.2; }
.cx-auction-title a { color: var(--cx-ink); }
.cx-auction-title a:hover { color: var(--cx-navy); }
.cx-auction-meta { display: flex; flex-wrap: wrap; gap: 0 10px; font-size: 12px; letter-spacing: 0.05em; color: var(--cx-muted); }
.cx-auction-meta span + span::before { content: '|'; margin-right: 10px; color: var(--cx-line); }
.cx-auction .cx-btn-outline { margin-top: 6px; }

/* ════════════════════════════════════════
   RAKAMLAR — quiet figures row
════════════════════════════════════════ */
.cx-figures { padding: 48px 0 16px; background: #FFFFFF; }
.cx-figures .ah-hx-stats {
    border-top: 1px solid var(--cx-line);
    border-bottom: 1px solid var(--cx-line);
    padding: 28px 0;
}
.cx-figures .ah-hx-stat-value { font-family: var(--ah-font-serif); font-weight: 400; color: var(--cx-ink); }
.cx-figures .ah-hx-stat-label { color: var(--cx-muted); }

/* ════════════════════════════════════════
   KATEGORİLER — mosaic, first tile large
════════════════════════════════════════ */
.cx-cats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 180px;
    gap: 24px;
}
.cx-cat { display: flex; flex-direction: column; gap: 10px; color: var(--cx-ink); }
.cx-cat:first-child { grid-column: span 2; grid-row: span 2; }
.cx-cat-media { position: relative; flex: 1; min-height: 0; background: var(--cx-well); overflow: hidden; display: block; }
.cx-cat-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.cx-cat:hover .cx-cat-media img { transform: scale(1.03); }
.cx-cat-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ah-font-serif);
    font-size: 26px;
    color: var(--cx-muted);
}
.cx-cat-name { font-family: var(--ah-font-serif); font-size: 20px; }
.cx-cat:hover .cx-cat-name { color: var(--cx-navy); }

/* ════════════════════════════════════════
   HEMEN AL — reuse product cards in a grid
════════════════════════════════════════ */
.cx-shop .ah-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 32px 24px;
}
.cx-shop .ah-product-card { border: 0; box-shadow: none; background: transparent; }
.cx-shop .ah-card-img-wrap { background: var(--cx-well); }

/* One row only: the homepage is a teaser, the full list is on the search page */
.cx-shop .ah-product-grid > :nth-child(n+5) { display: none; }
.cx-shop .ah-card-add-btn,
.ah-card-add-btn {
    background: transparent;
    color: var(--cx-navy);
    border: 1px solid var(--cx-navy);
    border-radius: 0;
    font-family: var(--ah-font-body);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.ah-card-add-btn:hover:not(:disabled) { background: var(--cx-navy); color: #FFFFFF; }
.ah-card-price,
.ah-card-price-current { font-family: var(--ah-font-serif); font-weight: 400; color: var(--cx-ink); }

/* The closed cart drawer sits off-canvas; its shadow leaked onto the page edge */
.cart-drawer:not(.open) { box-shadow: none; }

/* ════════════════════════════════════════
   ESER SATIŞI — consignment band
════════════════════════════════════════ */
.cx-sell { background: var(--cx-well); margin-top: 48px; }
.cx-sell-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 48px;
    align-items: center;
    padding-top: 64px;
    padding-bottom: 64px;
}
.cx-sell-title { margin: 0 0 12px; font-family: var(--ah-font-serif); font-weight: 400; font-size: 36px; line-height: 1.15; }
.cx-sell-text { margin: 0 0 24px; max-width: 460px; color: var(--cx-muted); font-size: 16px; }
.cx-sell-img { width: 100%; height: 320px; object-fit: cover; object-position: center 70%; display: block; }

/* ── Existing homepage blocks, re-toned ── */
#artists .ah-hx-artists,
#vendors .ah-hx-vendors { margin-top: 0; }
#artists .ah-hx-cat-tile-name,
#vendors .ah-hx-cat-tile-name { font-family: var(--ah-font-serif); font-size: 17px; }
#journal .ah-blog-grid { margin-top: 0; }
#journal .ah-blog-card { border: 0; box-shadow: none; }
#journal .ah-blog-card-title { font-family: var(--ah-font-serif); font-weight: 400; font-size: 22px; }
#journal .ah-blog-card-more { color: var(--cx-navy); }
.cx-trust { background: #FFFFFF; border-top: 1px solid var(--cx-line); margin-top: 48px; }
.cx-trust .ah-hx-trust-icon { color: var(--cx-navy); background: var(--cx-well); }

/* ── Footer ── */
.ah-footer { background: #FFFFFF; color: var(--cx-ink); border-top: 1px solid var(--cx-line); }
.ah-footer a { color: var(--cx-ink); }
.ah-footer a:hover { color: var(--cx-navy); }
.ah-footer-desc,
.ah-footer-contact,
.ah-footer-bottom { color: var(--cx-muted); }
.ah-footer h3,
.ah-footer h4,
.ah-footer-col-title {
    font-family: var(--ah-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--cx-muted);
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width: 1024px) {
    .cx-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .cx-container { padding: 0 16px; }
    .cx-sec { padding-top: 48px; }
    .cx-title { font-size: 27px; }
    .cx-hero { height: auto; }
    .cx-hero-img { height: 320px; }
    .cx-hero-box { position: static; width: 100%; padding: 24px 20px; }
    .cx-hero-caption { bottom: auto; top: 296px; }
    .cx-lots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
    .cx-lot-media { height: 200px; }
    .cx-cats { grid-auto-rows: 140px; gap: 16px; }
    .cx-cat:first-child { grid-column: span 2; grid-row: span 1; }
    .cx-sell-title { font-size: 30px; }
}
@media (max-width: 420px) {
    .cx-lots { grid-template-columns: minmax(0, 1fr); }
}

/* ════════════════════════════════════════
   v2 — results, artists list, steps, stone sections
════════════════════════════════════════ */
.cx-sec--stone { background: var(--cx-well); padding-bottom: 72px; margin-top: 48px; }
.cx-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}
.cx-result {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    padding: 20px;
    background: var(--cx-well);
    color: var(--cx-ink);
}
.cx-result:hover { color: var(--cx-ink); background: #EFEDE7; }
.cx-result-media { width: 120px; height: 120px; position: relative; background: #FFFFFF; display: block; }
.cx-result-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-result-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--ah-font-serif); color: var(--cx-muted); }
.cx-result-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cx-result-artist { font-family: var(--ah-font-serif); font-size: 20px; line-height: 1.2; }
.cx-result-meta { font-size: 12px; color: var(--cx-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-result-price { font-family: var(--ah-font-serif); font-size: 24px; line-height: 1.1; }
#results .cx-figures { padding: 0; margin-top: 40px; }

.cx-artists {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    column-gap: 48px;
}
.cx-artist {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #DCD9D2;
    color: var(--cx-ink);
}
.cx-artist:hover { color: var(--cx-navy); }
.cx-artist-portrait { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; align-self: center; flex-shrink: 0; }
.cx-artist-name { font-family: var(--ah-font-serif); font-size: 22px; line-height: 1.2; flex: 1; }
.cx-artist-meta { font-size: 12px; color: var(--cx-muted); text-align: right; }

.cx-steps { margin: 0 0 28px; padding: 0; list-style: none; display: grid; gap: 12px; }
.cx-steps li { display: flex; gap: 16px; align-items: baseline; }
.cx-step-no { font-family: var(--ah-font-serif); font-size: 22px; color: var(--cx-navy); min-width: 28px; }

/* ════════════════════════════════════════
   FOOTER (all pages)
════════════════════════════════════════ */
.cx-footer { background: var(--cx-navy); color: #FFFFFF; margin-top: 0; }
.cx-footer a { color: #FFFFFF; }
.cx-footer a:hover { color: #FFFFFF; text-decoration: underline; }
.cx-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    padding-top: 64px;
    padding-bottom: 40px;
    font-size: 14px;
}
.cx-footer .cx-wordmark { color: #FFFFFF; font-size: 30px; }
.cx-footer-about { margin: 14px 0; color: #C9D1E3; line-height: 1.6; }
.cx-footer-contact { font-style: normal; display: flex; flex-direction: column; gap: 4px; color: #C9D1E3; }
.cx-footer-contact a { color: #C9D1E3; }
.cx-footer-social { display: flex; gap: 8px; margin-top: 18px; }
.cx-footer-social a {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #3A4A6E;
}
.cx-footer-social a:hover { background: #FFFFFF; color: var(--cx-navy); text-decoration: none; }
.cx-footer-col { display: flex; flex-direction: column; gap: 10px; }
.cx-footer-h {
    margin: 0 0 4px;
    font-family: var(--ah-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #C9D1E3;
}
.cx-footer-news-label { color: #C9D1E3; font-size: 14px; }
.cx-footer-news-row { display: flex; }
.cx-footer-news-row input {
    flex: 1; min-width: 0; min-height: 46px; padding: 0 14px;
    border: 0; border-radius: 0; font: inherit; font-size: 14px; color: var(--cx-ink); background: #FFFFFF;
}
.cx-footer-news-row button {
    min-height: 46px; padding: 0 18px;
    border: 1px solid #FFFFFF; border-radius: 0; background: transparent; color: #FFFFFF;
    font: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer;
}
.cx-footer-news-row button:hover { background: #FFFFFF; color: var(--cx-navy); }
.cx-footer-bottom {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
    padding-top: 20px; padding-bottom: 32px;
    border-top: 1px solid #3A4A6E;
    font-size: 12px; color: #C9D1E3;
}
.cx-footer-legal { display: flex; flex-wrap: wrap; gap: 20px; }
.cx-footer-legal a { color: #C9D1E3; }

/* ════════════════════════════════════════
   SHARED PAGE PARTS (all pages)
════════════════════════════════════════ */
.breadcrumb,
.ah-breadcrumb,
.ld-breadcrumb {
    font-size: 12px;
    letter-spacing: 0.02em;
    color: var(--cx-muted);
    background: transparent;
}
.breadcrumb a,
.ah-breadcrumb a { color: var(--cx-muted); }
.breadcrumb a:hover,
.ah-breadcrumb a:hover { color: var(--cx-navy); }

h1, h2, h3,
.ah-page-title,
.ah-section-title { font-family: var(--ah-font-serif); font-weight: 400; }

.ah-btn,
.btn {
    border-radius: 0;
    font-family: var(--ah-font-body);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
}
.ah-btn-primary,
.btn-primary,
.btn-info {
    background: var(--cx-navy);
    border-color: var(--cx-navy);
    color: #FFFFFF;
}
.ah-btn-primary:hover,
.btn-primary:hover,
.btn-info:hover { background: #15203A; border-color: #15203A; color: #FFFFFF; }
.ah-btn-outline,
.btn-outline-primary,
.btn-outline-info {
    background: transparent;
    border: 1px solid var(--cx-navy);
    color: var(--cx-navy);
}
.ah-btn-outline:hover,
.btn-outline-primary:hover,
.btn-outline-info:hover { background: var(--cx-navy); color: #FFFFFF; }

.ah-input,
.form-control,
select.form-select { border-radius: 0; border-color: #DADADA; }
.ah-input:focus,
.form-control:focus { border-color: var(--cx-navy); box-shadow: none; }

.nav-tabs { border-bottom: 1px solid var(--cx-line); }
.nav-tabs .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cx-muted);
}
.nav-tabs .nav-link.active { color: var(--cx-navy); border-bottom-color: var(--cx-navy); background: transparent; }

.pagination .page-link { border-radius: 0 !important; color: var(--cx-ink); border-color: #DADADA; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
.pagination .page-item.active .page-link { background: var(--cx-navy); border-color: var(--cx-navy); color: #FFFFFF; }

@media (max-width: 768px) {
    .cx-result { grid-template-columns: 88px minmax(0, 1fr); padding: 14px; gap: 14px; }
    .cx-result-media { width: 88px; height: 88px; }
    .cx-footer-grid { padding-top: 40px; gap: 28px; }
}

/* ════════════════════════════════════════
   COLLECTION (SEANS) PAGE
════════════════════════════════════════ */
.cx-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
.cx-session { background: var(--cx-well); padding: 20px 0 48px; }
.cx-crumbs { margin-bottom: 28px; }
.cx-crumbs .sep { margin: 0 6px; color: #B9B5AD; }
.cx-session-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 48px;
    align-items: center;
}
.cx-session-info { display: flex; flex-direction: column; gap: 14px; }
.cx-session-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cx-tag {
    display: inline-flex; align-items: center;
    padding: 4px 10px;
    background: #FFFFFF;
    color: var(--cx-ink);
    font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
}
.cx-tag--live { background: var(--cx-navy); color: #FFFFFF; }
.cx-tag--outline { background: transparent; border: 1px solid var(--cx-ink); padding: 3px 10px; }
.cx-session-title { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: clamp(34px, 3.4vw, 46px); line-height: 1.08; }
.cx-session-house { font-size: 14px; color: var(--cx-muted); }
a.cx-session-house:hover { color: var(--cx-navy); text-decoration: underline; }
.cx-session-facts {
    margin: 8px 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
    border-top: 1px solid #DCD9D2;
    padding-top: 18px;
}
.cx-session-facts dt { font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cx-muted); }
.cx-session-facts dd { margin: 2px 0 0; font-family: var(--ah-font-serif); font-size: 20px; }
.cx-session-facts dd.is-accent { color: var(--cx-navy); }
.cx-session-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.cx-session-media { position: relative; height: 340px; background: #E9E6DF; overflow: hidden; }
.cx-session-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-session-media-placeholder {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    padding: 32px; text-align: center;
    font-family: var(--ah-font-serif); font-size: 26px; line-height: 1.25; color: var(--cx-muted);
}
.cx-session-about { margin-top: 28px; border-top: 1px solid #DCD9D2; padding-top: 14px; }
.cx-session-about summary {
    cursor: pointer;
    font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--cx-navy);
}
.cx-session-about-body { margin-top: 12px; max-width: 760px; color: var(--cx-ink); line-height: 1.7; }

.cx-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 24px 0;
    border-bottom: 1px solid var(--cx-line);
}
.cx-toolbar-filters,
.cx-toolbar-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cx-toolbar-label { font-size: 13px; color: var(--cx-muted); }
.cx-field {
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #DADADA;
    border-radius: 0;
    background: #FFFFFF;
    font-family: var(--ah-font-body);
    font-size: 13px;
    color: var(--cx-ink);
}
.cx-field:focus { outline: none; border-color: var(--cx-navy); }
.cx-field--wide { width: 260px; }
.cx-field--short { width: 120px; }

.cx-facets { margin: 16px 0 0; }
.cx-facets > summary {
    cursor: pointer;
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--cx-navy);
}
.cx-facets[open] > summary { margin-bottom: 12px; }

.artam-products-section { padding-top: 24px; padding-bottom: 64px; }
.artam-result-row { font-size: 13px; color: var(--cx-muted); margin-bottom: 24px; }

.cx-lot-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 48px 32px;
}
.cx-lotcard {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}
.cx-lotcard-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 320px;
    padding: 24px;
    box-sizing: border-box;
    background: var(--cx-well);
    margin-bottom: 14px;
}
.cx-lotcard-media img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .3s ease; }
.cx-lotcard:hover .cx-lotcard-media img { transform: translateY(-4px); }
.cx-lotcard-placeholder { font-family: var(--ah-font-serif); font-size: 24px; color: var(--cx-muted); }
.cx-lotcard-no { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cx-muted); }
.cx-lotcard-artist { font-family: var(--ah-font-serif); font-size: 21px; line-height: 1.2; }
.cx-lotcard-title {
    font-family: var(--ah-font-serif);
    font-style: italic;
    color: var(--cx-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cx-lotcard-title:hover { color: var(--cx-navy); }
.cx-lotcard-price {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--cx-line);
    font-size: 12px;
    color: var(--cx-muted);
}
.cx-lotcard-price strong { font-family: var(--ah-font-serif); font-weight: 400; font-size: 19px; color: var(--cx-ink); }
.cx-lotcard-time { min-height: 20px; font-size: 12px; font-weight: 500; color: var(--cx-navy); }
.cx-lotcard-time .is-ended { color: var(--cx-muted); }
.cx-lotcard-btn { margin-top: 10px; }
.cx-lotcard-btn.is-muted { border-color: #DADADA; color: var(--cx-muted); }
.cx-lotcard-btn.is-muted:hover { background: var(--cx-well); color: var(--cx-ink); }
.cx-lotcard-btn:disabled { cursor: default; }
/* Shared card (LotCard / CatalogProductView): status pill and wishlist sit over the image */
.cx-lotcard { position: relative; min-width: 0; }
.cx-lotcard-status { position: absolute; top: 12px; left: 12px; }
.cx-lotcard-fav {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    color: var(--cx-ink);
    cursor: pointer;
}
.cx-lotcard-fav:hover { color: var(--cx-navy); }
.cx-lotcard-price s { margin-left: 4px; color: var(--cx-muted); }

@media (max-width: 768px) {
    .cx-field--wide { width: 100%; }
    .cx-toolbar-filters { width: 100%; }
    .cx-session-media { height: 220px; }
    .cx-lot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
    .cx-lotcard-media { height: 200px; padding: 12px; }
}
@media (max-width: 420px) {
    .cx-lot-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ════════════════════════════════════════
   LOT PAGE — Timeline (ld-) and Simple layouts
   Light bid panel with hairline borders, navy action, stone image well.
════════════════════════════════════════ */
.ld-top-bar { border-bottom: 1px solid var(--cx-line); }
.ld-top-bar-inner,
.ld-layout { max-width: var(--cx-max); padding-left: 40px; padding-right: 40px; }
.ld-layout { grid-template-columns: minmax(0, 1fr) 460px; gap: 56px; padding-top: 32px; }
.ld-lot-nav-btn { border-radius: 0; border-color: #DADADA; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }

.ld-gallery-wrap,
.gallery-main {
    background: var(--cx-well) !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.ld-gallery-wrap img,
.gallery-main img { box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16); }
.ld-gallery-action-btn,
.wa-lb-btn { border-radius: 0; border-color: #DADADA; }

/* tabs (both layouts) */
.ld-tab-btn,
.tab-btn {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cx-muted);
    border-radius: 0;
}
.ld-tab-btn.active,
.tab-btn.active { color: var(--cx-navy); border-bottom-color: var(--cx-navy); }

/* bid panel */
.ld-bid-panel {
    border: 1px solid var(--cx-line);
    border-radius: 0;
    box-shadow: none;
}
.ld-bid-panel-header { background: #FFFFFF; padding: 24px 24px 18px; border-bottom: 1px solid var(--cx-line); }
.ld-bid-panel-lot { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; color: var(--cx-muted); }
.ld-bid-panel-title { font-family: var(--ah-font-serif); font-weight: 400; font-size: 28px; line-height: 1.12; color: var(--cx-ink); }
.ld-bid-panel-artist { color: var(--cx-muted); font-size: 18px; }
.ld-bid-countdown { background: #FFFFFF; border-bottom: 1px solid var(--cx-line); }
.ld-countdown-unit { border-right-color: var(--cx-line); padding: 16px 8px; }
.ld-countdown-num { font-family: var(--ah-font-serif); font-weight: 400; font-size: 30px; color: var(--cx-navy); }
.ld-countdown-num.urgent { color: #A3302A; }
.ld-countdown-label { color: var(--cx-muted); font-size: 10px; font-weight: 500; letter-spacing: 0.12em; }
.ld-bid-body { padding: 24px; }
.ld-bid-body .ah-bid-current-label { font-size: 11px; font-weight: 500; letter-spacing: 0.12em; color: var(--cx-muted); }
.ld-bid-body .ah-bid-current-amount { font-family: var(--ah-font-serif); font-weight: 400; font-size: 40px; color: var(--cx-ink); }
.ld-bid-body .ah-bid-stats-row { background: var(--cx-well); border: 0; border-radius: 0; }
.ld-bid-body .ah-bid-input { border: 1px solid var(--cx-ink); border-radius: 0; font-family: var(--ah-font-serif); font-size: 20px; font-weight: 400; }
.ld-bid-body .ah-bid-input:focus { border-color: var(--cx-navy); box-shadow: none; }
.ld-bid-body .ah-bid-submit-btn,
.ah-bid-submit-btn {
    background: var(--cx-navy);
    border-radius: 0;
    font-family: var(--ah-font-body);
    font-weight: 600;
    letter-spacing: 0.14em;
}
.ld-bid-body .ah-bid-submit-btn:hover,
.ah-bid-submit-btn:hover { background: #15203A; transform: none; }
.ld-bid-body .ah-bid-quick-btn,
.ah-bid-quick-btn { border: 1px solid #DADADA; border-radius: 0; color: var(--cx-ink); }
.ld-bid-body .ah-bid-quick-btn:hover,
.ah-bid-quick-btn:hover { border-color: var(--cx-navy); color: var(--cx-navy); background: var(--ah-color-primary-lt); }
.ah-bid-hint { color: var(--cx-muted); }
.ah-auction-closed-box { background: var(--cx-well); border: 0; border-radius: 0; color: var(--cx-ink); }
.ah-auction-leader-badge { background: var(--ah-color-primary-lt); color: var(--cx-navy); border-radius: 0; }

.ah-bid-history { border: 1px solid var(--cx-line); border-radius: 0; box-shadow: none; }
.ah-bid-history-header { font-family: var(--ah-font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cx-muted); }
.ah-gold-teaser { background: var(--cx-well); border: 0; border-radius: 0; }
.ah-gold-teaser-icon { background: var(--cx-navy); color: #FFFFFF; }
.ah-gold-upgrade-btn { background: var(--cx-navy); border-radius: 0; color: #FFFFFF; }

.ld-panel-actions { background: #FFFFFF; border-top: 1px solid var(--cx-line); }
.ld-panel-action-btn { border: 1px solid #DADADA; border-radius: 0; color: var(--cx-ink); }
.ld-panel-action-btn:hover { border-color: var(--cx-navy); color: var(--cx-navy); background: transparent; }
.ld-bid-panel-footer { border-top-color: var(--cx-line); }
.ld-panel-info-row { color: var(--cx-muted); }

.ld-artist-section,
.ld-related-section,
.related-section { background: var(--cx-well); }
.ld-artist-name { font-family: var(--ah-font-serif); font-weight: 400; }
.ld-btn-artist { border-radius: 0; border-color: var(--cx-navy); color: var(--cx-navy); }

/* Simple layout panel bits */
.panel-artist-link { color: var(--cx-navy); }
.trust-item,
.shipping-card,
.return-step { border-radius: 0; border-color: var(--cx-line); box-shadow: none; }
.return-step-num { background: var(--cx-navy); color: #FFFFFF; border-radius: 0; }

@media (max-width: 1024px) {
    .ld-layout { grid-template-columns: minmax(0, 1fr); padding-left: 16px; padding-right: 16px; }
    .ld-top-bar-inner { padding-left: 16px; padding-right: 16px; }
}

/* ── lot page fixes ── */
.cx-notice {
    margin: 0 0 16px;
    padding: 12px 16px;
    background: var(--cx-well);
    font-size: 14px;
    color: var(--cx-ink);
}
/* the sticky column's own scrollbar drew a dark rule next to the panel */
.ld-bid-col { max-height: none; overflow: visible; }
.ld-bid-body .ah-gold-teaser { background: var(--cx-well); border: 0; border-radius: 0; }
.ld-bid-body .ah-gold-upgrade-btn { background: var(--cx-navy); border-radius: 0; color: #FFFFFF; }
.ld-bid-body .ah-gold-teaser-icon,
.ah-gold-teaser .ah-gold-teaser-icon { background: var(--cx-navy); color: #FFFFFF; border-radius: 0; }
.ah-gold-badge { background: var(--cx-navy); color: #FFFFFF; border-radius: 0; }
/* empty related block (no related / similar / recently viewed products) */
.ld-related-section:not(:has(img, article, .ah-product-card, .lot-card)) { display: none; }
.ld-artist-section:not(:has(.ld-artist-name)) { display: none; }

/* ── homepage artists: name above discipline ── */
.cx-artist { flex-direction: column; align-items: flex-start; gap: 2px; }
.cx-artist-meta { text-align: left; }

/* EB Garamond defaults to old-style figures (0 looks like "o"); prices and counts need lining figures */
body { font-variant-numeric: lining-nums; }
.cx-facets { padding-left: 0; }

/* the old bid box drew a decorative accent bar on its left edge; the classic panel has hairlines only */
.ah-bid-box::before { display: none; }

/* ════════════════════════════════════════
   PAGE HEADERS — dark banners become the classic stone band
   (category, search, artists, exhibitions, login visual, 404)
════════════════════════════════════════ */
:root {
    --sl-gold: var(--cx-navy);
    --sl-gold-lt: var(--cx-navy);
    --sl-gold-dk: var(--cx-navy);
}
.cat-page-header,
.search-page-header,
.sl-hero,
.artists-hero {
    background: var(--cx-well) !important;
    color: var(--cx-ink);
}
.sl-hero::before, .sl-hero::after,
.artists-hero::before, .artists-hero::after { display: none !important; }
.cat-header-title,
.search-header-title,
.sl-hero-title,
.artists-hero h1,
.artists-hero-content h1 {
    font-family: var(--ah-font-serif);
    font-weight: 400;
    color: var(--cx-ink) !important;
}
.cat-header-title em,
.search-header-title em,
.sl-hero-title em,
.artists-hero h1 em { color: var(--cx-ink) !important; font-style: italic; }
.cat-header-kicker,
.search-header-kicker,
.sl-hero-kicker,
.artists-hero .kicker {
    color: var(--cx-muted) !important;
    font-weight: 600;
    letter-spacing: 0.14em;
}
.cat-header-sub,
.cat-header-breadcrumb,
.cat-header-breadcrumb a,
.cat-header-stats,
.sl-hero-sub,
.artists-hero p,
.artists-hero-content p { color: var(--cx-muted) !important; }
.search-header-input { background: #FFFFFF !important; border: 1px solid #DADADA !important; color: var(--cx-ink) !important; border-radius: 0; }
.search-header-btn { background: var(--cx-navy) !important; color: #FFFFFF !important; border-radius: 0; }

/* login / register visual panel */
.auth-visual { background: var(--cx-well) !important; color: var(--cx-ink) !important; }
.auth-visual-bg,
.auth-visual-grid { display: none !important; }
.auth-visual-title { font-family: var(--ah-font-serif); font-weight: 400; color: var(--cx-ink) !important; }
.auth-visual-title em { color: var(--cx-ink) !important; }
.auth-visual-sub,
.auth-visual-content p { color: var(--cx-muted) !important; }
.auth-visual-logo { color: var(--cx-ink) !important; font-family: var(--ah-font-serif); }

/* 404 */
.p404-bg-glow,
.p404-bg-grid { display: none !important; }
.p404-frame,
.p404-content { color: var(--cx-ink); }
section:has(> .p404-frame),
.p404-frame { background: var(--cx-well) !important; }
.p404-num { color: #DCD9D2 !important; font-family: var(--ah-font-serif); }
.p404-btn { background: var(--cx-navy) !important; color: #FFFFFF !important; border-radius: 0; }

/* live room: navy action instead of gold */
.lb-submit-btn { background: var(--cx-navy) !important; color: #FFFFFF !important; border-radius: 0 !important; }
.lb-submit-btn:hover { background: #15203A !important; }

/* artists list page: portrait collage and featured card on the stone band */
.hero-fade,
.hero-fade-bottom,
.featured-artist-img-overlay { display: none !important; }
.hero-eyebrow { color: var(--cx-muted) !important; }
.hero-desc,
.hero-stat-label { color: var(--cx-muted) !important; }
.hero-stat-num { color: var(--cx-ink) !important; font-family: var(--ah-font-serif); font-weight: 400; }
.featured-artist-card { background: var(--cx-well) !important; border-radius: 0 !important; color: var(--cx-ink); }
.featured-artist-name { font-family: var(--ah-font-serif); font-weight: 400; color: var(--cx-ink) !important; }
.featured-artist-bio,
.featured-artist-tag { color: var(--cx-muted) !important; }
.featured-artist-cta { border-radius: 0 !important; }

/* login visual: the marketing figures were placeholders, not real platform data */
.auth-stats { display: none !important; }

/* results: long lot names (no separate artist field) need room */
.cx-results { grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); }
.cx-result-artist { font-size: 18px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }


/* ════════════════════════════════════════
   LIST PAGES — stone page head (auctions list)
════════════════════════════════════════ */
.cx-pagehead { background: var(--cx-well); padding: 20px 0 40px; }
.cx-pagehead-title { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: clamp(36px, 3.6vw, 48px); line-height: 1.08; }
.cx-pagehead-title::after { content: ''; display: block; width: 48px; height: 2px; margin-top: 14px; background: var(--cx-gold); }
.cx-pagehead-sub { margin: 14px 0 0; color: var(--cx-muted); font-size: 16px; max-width: 620px; }
.cx-pagehead-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cx-pagebody { padding-top: 48px; padding-bottom: 72px; }
.cx-pager { margin-top: 48px; display: flex; justify-content: center; }
.cx-empty { padding: 64px 0; text-align: center; color: var(--cx-muted); font-family: var(--ah-font-serif); font-size: 22px; }

/* ════════════════════════════════════════
   REGISTER / LOGIN form side
════════════════════════════════════════ */
.reg-error:empty,
.reg-errors:empty,
.validation-summary-valid,
.reg-form [asp-validation-summary]:empty { display: none !important; }
.reg-submit,
.auth-submit,
.login-submit { background: var(--cx-navy) !important; border-color: var(--cx-navy) !important; color: #FFFFFF !important; border-radius: 0 !important; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; }
.reg-submit:hover,
.auth-submit:hover,
.login-submit:hover { background: #15203A !important; }
.auth-benefit,
.auth-benefit-text,
.auth-benefit-text strong { color: var(--cx-ink) !important; }
.auth-benefit-text span,
.auth-benefit-text small { color: var(--cx-muted) !important; }
.auth-benefit-icon { background: #FFFFFF !important; color: var(--cx-navy) !important; border-radius: 0 !important; }

/* collection page: the products section keeps the page width and gutters */
.artam-products-section {
    max-width: var(--cx-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .artam-products-section { padding-left: 16px; padding-right: 16px; }
}

/* ════════════════════════════════════════
   ARTISTS LIST — work cards (Artsy pattern)
════════════════════════════════════════ */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cx-art-page { padding-bottom: 80px; }
.cx-art-toolbar { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; justify-content: space-between; padding: 24px 0; border-bottom: 1px solid var(--cx-line); }
.cx-art-filters, .cx-art-sort { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cx-art-search { display: flex; align-items: center; gap: 8px; width: 260px; max-width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid #DADADA; background: #FFFFFF; color: var(--cx-muted); box-sizing: border-box; }
.cx-art-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 14px; color: var(--cx-ink); }
.cx-art-search:focus-within { border-color: var(--cx-navy); }
.cx-art-select { min-height: 44px; padding: 0 36px 0 14px; border: 1px solid #DADADA; border-radius: 0; background: #FFFFFF; font: inherit; font-size: 14px; color: var(--cx-ink); }
.cx-art-check { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; cursor: pointer; }
.cx-art-check input { width: 18px; height: 18px; accent-color: var(--cx-navy); }
.cx-art-count { font-size: 13px; color: var(--cx-muted); }
.cx-art-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 48px 32px; padding-top: 40px; }
.cx-art-card { display: flex; flex-direction: column; }
.cx-art-card[hidden] { display: none; }
.cx-art-media { display: flex; align-items: center; justify-content: center; height: 280px; padding: 24px; background: var(--cx-well); box-sizing: border-box; }
.cx-art-media img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .3s ease; }
.cx-art-card:hover .cx-art-media img { transform: scale(1.03); }
.cx-art-mono { font-family: var(--ah-font-serif); font-size: 72px; line-height: 1; color: #C9C6BF; letter-spacing: 0.02em; }
.cx-art-body { margin-top: 14px; }
.cx-art-name { font-family: var(--ah-font-serif); font-size: 22px; line-height: 1.2; color: var(--cx-ink); text-decoration: none; }
.cx-art-name:hover { color: var(--cx-navy); }
.cx-art-meta { margin-top: 2px; font-size: 13px; color: var(--cx-muted); }
.cx-art-foot { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--cx-line); font-size: 13px; }
.cx-art-live { color: var(--cx-navy); font-weight: 600; text-decoration: none; }
.cx-art-works { color: var(--cx-muted); text-decoration: underline; text-underline-offset: 3px; }
.cx-art-live:hover, .cx-art-works:hover { color: var(--cx-navy); }
.cx-art-pager { display: flex; justify-content: center; gap: 6px; margin-top: 56px; font-size: 14px; }
.cx-art-pager a, .cx-art-pager span { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #DADADA; color: var(--cx-ink); text-decoration: none; box-sizing: border-box; }
.cx-art-pager span[aria-current] { background: var(--cx-navy); border-color: var(--cx-navy); color: #FFFFFF; }
@media (max-width: 640px) {
    .cx-art-search { width: 100%; }
    .cx-art-media { height: 240px; }
}

/* ════════════════════════════════════════
   EXHIBITION DETAIL
════════════════════════════════════════ */
.cx-ex-hero { background: var(--cx-well); padding: 20px 0 56px; }
.cx-ex-hero-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 56px; align-items: center; margin-top: 8px; }
.cx-ex-hero-text { display: flex; flex-direction: column; gap: 16px; }
.cx-ex-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cx-ex-tag { padding: 4px 10px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; background: #5F6368; color: #FFFFFF; }
.cx-ex-tag.is-live { background: var(--cx-navy); }
.cx-ex-tag.is-outline { background: transparent; color: var(--cx-ink); border: 1px solid var(--cx-ink); padding: 3px 10px; }
.cx-ex-title { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: clamp(36px, 4vw, 52px); line-height: 1.05; color: var(--cx-ink); }
.cx-ex-subtitle { display: block; margin-top: 6px; font-style: italic; font-size: 0.65em; color: var(--cx-muted); }
.cx-ex-rule { width: 48px; height: 2px; background: var(--cx-gold); }
.cx-ex-lead { margin: 0; max-width: 520px; font-size: 17px; color: var(--cx-ink); }
.cx-ex-facts { margin: 8px 0 0; padding-top: 18px; max-width: 520px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; border-top: 1px solid #DCD9D2; }
.cx-ex-facts dt { font-size: 11px; letter-spacing: 0.12em; color: var(--cx-muted); }
.cx-ex-facts dd { margin: 2px 0 0; font-family: var(--ah-font-serif); font-size: 20px; }
.cx-ex-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.cx-ex-btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--cx-navy); color: var(--cx-navy); background: transparent; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-decoration: none; white-space: nowrap; }
.cx-ex-btn:hover { background: var(--cx-navy); color: #FFFFFF; }
.cx-ex-btn.is-solid { background: var(--cx-navy); color: #FFFFFF; }
.cx-ex-btn.is-solid:hover { background: #15203A; }
.cx-ex-btn.is-light { border-color: #FFFFFF; color: #FFFFFF; }
.cx-ex-btn.is-light:hover { background: #FFFFFF; color: var(--cx-navy); }
.cx-ex-btn.is-muted { border-color: #DADADA; color: var(--cx-muted); }
.cx-ex-hero-fig { margin: 0; }
.cx-ex-hero-fig img { display: block; width: 100%; height: 460px; object-fit: cover; }
.cx-ex-hero-fig figcaption { margin-top: 10px; font-size: 12px; color: var(--cx-muted); }
.cx-ex-auction { background: var(--cx-navy); color: #FFFFFF; }
.cx-ex-auction-inner { padding-top: 22px; padding-bottom: 22px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.cx-ex-auction p { margin: 0; font-size: 15px; }
.cx-ex-auction strong { font-weight: 600; }
.cx-ex-auction-end { color: #D5DAE4; }
.cx-ex-h2 { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: 32px; color: var(--cx-ink); }
.cx-ex-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 32px; }
.cx-ex-count { font-size: 13px; color: var(--cx-muted); }
.cx-ex-link { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; color: var(--cx-navy); text-decoration: none; }
.cx-ex-about { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 56px; padding: 80px 0; border-bottom: 1px solid var(--cx-line); }
.cx-ex-about .cx-ex-h2 { margin-bottom: 20px; }
.cx-ex-prose p { margin: 0 0 16px; font-size: 17px; line-height: 1.7; }
.cx-ex-quote { margin: 0; align-self: center; padding: 8px 0 0 32px; border-left: 2px solid var(--cx-gold); }
.cx-ex-quote blockquote { margin: 0; font-family: var(--ah-font-serif); font-style: italic; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.3; }
.cx-ex-quote figcaption { margin-top: 18px; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cx-muted); }
.cx-ex-works { padding: 80px 0; scroll-margin-top: 90px; }
.cx-ex-works-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px 40px; }
.cx-ex-work { display: flex; flex-direction: column; gap: 4px; }
.cx-ex-work-media { height: 420px; margin-bottom: 16px; padding: 32px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: var(--cx-well); }
.cx-ex-work-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cx-ex-work-artist { font-family: var(--ah-font-serif); font-size: 22px; color: var(--cx-ink); text-decoration: none; }
.cx-ex-work-title { font-family: var(--ah-font-serif); font-style: italic; font-size: 19px; color: var(--cx-muted); text-decoration: none; }
.cx-ex-work-artist:hover, .cx-ex-work-title:hover { color: var(--cx-navy); }
.cx-ex-work-meta { font-size: 13px; color: var(--cx-muted); }
.cx-ex-work-foot { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--cx-line); }
.cx-ex-work-label { font-size: 12px; color: var(--cx-muted); }
.cx-ex-work-price { font-family: var(--ah-font-serif); font-size: 20px; }
.cx-ex-work-foot .cx-ex-btn { min-height: 44px; padding: 0 20px; }
.cx-ex-artists { padding-bottom: 80px; }
.cx-ex-artists .cx-ex-h2 { margin-bottom: 24px; }
.cx-ex-artists-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 32px; }
.cx-ex-artist { display: grid; grid-template-columns: 140px 1fr; gap: 24px; align-items: start; padding-top: 24px; border-top: 1px solid var(--cx-ink); }
.cx-ex-artist-media { height: 140px; padding: 10px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: var(--cx-well); }
.cx-ex-artist-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cx-ex-artist-body { display: flex; flex-direction: column; gap: 6px; }
.cx-ex-artist-name { font-family: var(--ah-font-serif); font-size: 26px; line-height: 1.15; color: var(--cx-ink); text-decoration: none; }
.cx-ex-artist-meta { font-size: 13px; color: var(--cx-muted); }
.cx-ex-artist-bio p { margin: 4px 0 0; font-size: 15px; }
.cx-ex-artist-body .cx-ex-link { margin-top: 6px; }
.cx-ex-visit { background: var(--cx-well); scroll-margin-top: 90px; }
.cx-ex-visit-grid { padding-top: 72px; padding-bottom: 72px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 48px; }
.cx-ex-visit .cx-ex-h2 { margin-bottom: 24px; }
.cx-ex-visit-list { margin: 0 0 28px; display: grid; grid-template-columns: 140px 1fr; gap: 14px 24px; font-size: 15px; }
.cx-ex-visit-list dt { padding-top: 3px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; color: var(--cx-muted); }
.cx-ex-visit-list dd { margin: 0; }
.cx-ex-map { width: 100%; min-height: 320px; height: 100%; border: 0; background: #E9E7E1; }
.cx-ex-related { padding-top: 80px; padding-bottom: 96px; }
.cx-ex-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 40px; }
.cx-ex-rel { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: center; color: var(--cx-ink); text-decoration: none; }
.cx-ex-rel-media { height: 220px; padding: 16px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: var(--cx-well); }
.cx-ex-rel-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cx-ex-rel-body { display: flex; flex-direction: column; gap: 6px; }
.cx-ex-rel-status { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; color: var(--cx-navy); }
.cx-ex-rel-status.is-past { color: var(--cx-muted); }
.cx-ex-rel-title { font-family: var(--ah-font-serif); font-size: 24px; line-height: 1.2; }
.cx-ex-rel:hover .cx-ex-rel-title { color: var(--cx-navy); }
.cx-ex-rel-desc { font-size: 14px; color: var(--cx-muted); }
@media (max-width: 640px) {
    .cx-ex-hero-fig img { height: 280px; }
    .cx-ex-work-media { height: 300px; padding: 20px; }
    .cx-ex-artist, .cx-ex-rel { grid-template-columns: 96px 1fr; gap: 16px; }
    .cx-ex-artist-media, .cx-ex-rel-media { height: 96px; }
    .cx-ex-visit-list { grid-template-columns: 1fr; gap: 2px; }
    .cx-ex-visit-list dd { margin-bottom: 12px; }
}

/* ════════════════════════════════════════
   ARTWORK PRODUCT LAYOUTS (ProductLayout.ArtClassic / ArtGallery / ArtSplit)
════════════════════════════════════════ */
.cx-aw-crumbs { padding-top: 20px; font-size: 12px; color: var(--cx-muted); }
.cx-aw-crumbs .breadcrumb, .cx-aw-crumbs ol, .cx-aw-crumbs ul { margin: 0; padding: 0; background: transparent; }
.cx-aw-kicker { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; color: var(--cx-muted); }
.cx-aw-kicker.is-link { color: var(--cx-navy); text-decoration: none; }
.cx-aw-artist { font-family: var(--ah-font-serif); font-size: 28px; line-height: 1.15; color: var(--cx-ink); text-decoration: none; }
.cx-aw-artist span { font-size: 0.65em; color: var(--cx-muted); }
.cx-aw-artist:hover { color: var(--cx-navy); }
.cx-aw-title { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.06; color: var(--cx-ink); }
.cx-aw-title.is-italic { font-style: italic; font-size: clamp(32px, 3vw, 40px); }
.cx-aw-title.is-xl { font-size: clamp(40px, 4.4vw, 56px); }
.cx-aw-rule { width: 48px; height: 2px; background: var(--cx-gold); }
.cx-aw-lead { margin: 0; font-size: 16px; color: var(--cx-ink); }
.cx-aw-lead.is-muted { color: var(--cx-muted); }
.cx-aw-facts { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 8px 16px; font-size: 14px; }
.cx-aw-facts dt { color: var(--cx-muted); }
.cx-aw-facts dd { margin: 0; }
.cx-aw-note { font-size: 12px; color: var(--cx-muted); }
.cx-aw-btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 24px; border: 1px solid var(--cx-navy); background: transparent; color: var(--cx-navy); font: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.cx-aw-btn:hover { background: var(--cx-navy); color: #FFFFFF; }
.cx-aw-btn.is-solid { background: var(--cx-navy); color: #FFFFFF; }
.cx-aw-btn.is-solid:hover { background: #15203A; }
.cx-aw-btn.is-full { width: 100%; }
.cx-aw-btn.is-quiet { border-color: #DADADA; color: var(--cx-ink); }
.cx-aw-btn.is-quiet:hover { background: var(--cx-well); color: var(--cx-ink); }
.cx-aw-btn.is-icon { width: 52px; padding: 0; flex: none; }
.cx-aw-btn-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cx-aw-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.cx-aw-price-value { font-family: var(--ah-font-serif); font-size: 40px; line-height: 1; color: var(--cx-ink); }
.cx-aw-price-value.is-ask { font-size: 24px; }
.cx-aw-price-old { font-size: 16px; color: var(--cx-muted); }
.cx-aw-qty { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: var(--cx-muted); }
.cx-aw-qty input { width: 72px; min-height: 44px; padding: 0 10px; border: 1px solid #DADADA; font: inherit; }
.cx-aw-trust { list-style: none; margin: 0; padding: 0; }
.cx-aw-trust li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid var(--cx-line); color: var(--cx-navy); }
.cx-aw-trust li strong { display: block; font-size: 14px; font-weight: 500; color: var(--cx-ink); }
.cx-aw-trust li span span { font-size: 13px; color: var(--cx-muted); }
.cx-aw-trust.is-inline { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.cx-aw-trust.is-inline li { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; font-size: 13px; color: var(--cx-muted); }
.cx-aw-trust.is-inline svg { color: var(--cx-navy); }
.cx-aw-seller { margin: 0; font-size: 13px; color: var(--cx-muted); }
.cx-aw-seller a { color: var(--cx-ink); text-decoration: underline; }
.cx-aw-textlink { font-size: 13px; color: var(--cx-muted); text-decoration: underline; text-align: center; padding: 6px 0; }
.cx-aw-link { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; color: var(--cx-navy); text-decoration: none; }
.cx-aw-mono { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; background: var(--cx-well); font-family: var(--ah-font-serif); font-size: 36px; color: #C9C6BF; flex: none; }
.cx-aw-mono.is-sm { width: 56px; height: 56px; font-size: 20px; color: #8A8F94; }
.cx-aw-prose { font-size: 15px; line-height: 1.7; }
.cx-aw-prose p { margin: 0 0 12px; }
.cx-aw-prose.is-lead { font-size: 18px; line-height: 1.65; max-width: 640px; }
.cx-aw-h2 { margin: 0; font-family: var(--ah-font-serif); font-weight: 400; font-size: 30px; color: var(--cx-ink); }

/* gallery */
.cx-aw-gallery { display: grid; gap: 16px; }
.cx-aw-gallery.is-side { grid-template-columns: 88px minmax(0, 1fr); align-items: start; }
.cx-aw-gallery.is-side:not(:has(.cx-aw-thumbs)) { grid-template-columns: minmax(0, 1fr); }
.cx-aw-gallery.is-side .cx-aw-thumbs { flex-direction: column; }
.cx-aw-gallery.is-stage, .cx-aw-gallery.is-split { grid-template-columns: minmax(0, 1fr); }
.cx-aw-gallery.is-stage .cx-aw-thumbs, .cx-aw-gallery.is-split .cx-aw-thumbs { order: 2; }
.cx-aw-gallery.is-stage .cx-aw-thumbs { justify-content: center; }
.cx-aw-thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.cx-aw-thumb { width: 88px; height: 88px; padding: 6px; border: 1px solid var(--cx-line); background: var(--cx-well); cursor: pointer; box-sizing: border-box; }
.cx-aw-thumb.active { border-color: var(--cx-ink); }
.cx-aw-thumb img { width: 100%; height: 100%; object-fit: contain; }
.cx-aw-main { position: relative; display: flex; align-items: center; justify-content: center; height: 640px; padding: 32px; background: var(--cx-well); box-sizing: border-box; cursor: zoom-in; }
.cx-aw-main img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cx-aw-zoom { position: absolute; right: 16px; bottom: 16px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid #DADADA; background: #FFFFFF; color: var(--cx-ink); }
.cx-aw-gallery.is-stage .cx-aw-main { height: 680px; max-width: 820px; width: 100%; margin: 0 auto; background: #EDEBE5; }
.cx-aw-gallery.is-split .cx-aw-main { height: 720px; background: #EDEBE5; }

/* A · classic */
.cx-aw-a-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, 1fr); gap: 64px; align-items: start; padding-top: 24px; }
.cx-aw-a-panel { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; }
.cx-aw-a-panel .cx-aw-title { margin-top: -8px; }
.cx-aw-buy { display: flex; flex-direction: column; gap: 14px; padding: 20px 0; border-top: 1px solid var(--cx-line); border-bottom: 1px solid var(--cx-line); }
.cx-aw-buy-head { display: flex; justify-content: space-between; align-items: baseline; }
.cx-aw-a-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 64px; padding-top: 72px; }
.cx-aw-acc details { border-top: 1px solid var(--cx-line); }
.cx-aw-acc details:last-child { border-bottom: 1px solid var(--cx-line); }
.cx-aw-acc summary { min-height: 56px; display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; cursor: pointer; list-style: none; }
.cx-aw-acc summary::-webkit-details-marker { display: none; }
.cx-aw-acc summary::after { content: ''; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 4px; transition: transform .2s; }
.cx-aw-acc details[open] summary::after { transform: rotate(-135deg); }
.cx-aw-acc details > div, .cx-aw-acc details > table { padding-bottom: 20px; }
.cx-aw-artistbox { align-self: start; display: flex; flex-direction: column; gap: 12px; padding: 36px; background: var(--cx-well); }
.cx-aw-artistbox-name { font-family: var(--ah-font-serif); font-size: 30px; }
.cx-aw-artistbox p { margin: 0; font-size: 15px; }
.cx-aw-artistbox .cx-aw-btn { align-self: flex-start; margin-top: 8px; }

/* B · gallery stage */
.cx-aw-b-stage { background: var(--cx-well); padding-bottom: 40px; }
.cx-aw-b-stage .cx-aw-gallery { margin-top: 28px; }
.cx-aw-b-body { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, 1fr); gap: 72px; align-items: start; padding-top: 56px; }
.cx-aw-b-main { display: flex; flex-direction: column; gap: 14px; }
.cx-aw-b-label { margin: 36px 0 0; }
.cx-aw-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.cx-aw-table th { width: 200px; padding: 14px 0; border-top: 1px solid var(--cx-line); text-align: left; font-weight: 400; color: var(--cx-muted); vertical-align: top; }
.cx-aw-table td { padding: 14px 0; border-top: 1px solid var(--cx-line); }
.cx-aw-b-artist { display: grid; grid-template-columns: 96px 1fr; gap: 20px; align-items: center; padding-top: 14px; border-top: 1px solid var(--cx-line); }
.cx-aw-b-artist-name { font-family: var(--ah-font-serif); font-size: 24px; color: var(--cx-ink); text-decoration: none; }
.cx-aw-b-artist p { margin: 2px 0 0; font-size: 14px; color: var(--cx-muted); }
.cx-aw-b-card { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; padding: 32px; border: 1px solid var(--cx-line); }
.cx-aw-b-card .cx-aw-price-value { font-size: 44px; }
.cx-aw-seller-box { display: flex; flex-direction: column; gap: 4px; padding: 18px; background: var(--cx-well); }
.cx-aw-seller-box a { font-family: var(--ah-font-serif); font-size: 20px; color: var(--cx-ink); text-decoration: none; }

/* C · split */
.cx-aw-c { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(400px, 1fr); align-items: start; }
.cx-aw-c-media { display: flex; flex-direction: column; gap: 20px; padding: 0 40px 40px; background: var(--cx-well); min-height: 100%; box-sizing: border-box; }
.cx-aw-c-info { position: sticky; top: 0; display: flex; flex-direction: column; gap: 22px; padding: 56px 56px 40px; }
.cx-aw-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cx-aw-tag { padding: 4px 10px; background: var(--cx-navy); color: #FFFFFF; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; }
.cx-aw-tag.is-outline { padding: 3px 10px; background: transparent; color: var(--cx-ink); border: 1px solid var(--cx-ink); }
.cx-aw-c-info .cx-aw-artist { font-size: 26px; }
.cx-aw-c-info .cx-aw-title { margin-top: 4px; }
.cx-aw-tiles { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cx-aw-tiles div { padding: 16px; background: var(--cx-well); }
.cx-aw-tiles dt { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; color: var(--cx-muted); }
.cx-aw-tiles dd { margin: 4px 0 0; font-family: var(--ah-font-serif); font-size: 19px; }
.cx-aw-c-buy { display: grid; grid-template-columns: 1fr auto; gap: 14px 10px; align-items: end; }
.cx-aw-c-buy .cx-aw-price { grid-column: 1 / -1; }
.cx-aw-c-buy .cx-aw-qty { grid-column: 1 / -1; }
.cx-aw-c-buy .cx-aw-price-value { font-size: 44px; }
.cx-aw-tabs [role="tablist"] { display: flex; flex-wrap: wrap; gap: 28px; border-bottom: 1px solid var(--cx-line); margin-top: 8px; }
.cx-aw-tabs [role="tab"] { min-height: 48px; margin-bottom: -1px; padding: 0; border: 0; border-bottom: 2px solid transparent; background: transparent; font: inherit; font-size: 12px; font-weight: 500; letter-spacing: 0.12em; color: var(--cx-muted); cursor: pointer; }
.cx-aw-tabs [role="tab"][aria-selected="true"] { border-bottom-color: var(--cx-navy); color: var(--cx-navy); }
.cx-aw-tabs [role="tabpanel"] { padding-top: 16px; }
.cx-aw-c-seller { display: grid; grid-template-columns: 56px 1fr auto; gap: 14px; align-items: center; padding: 16px 0; border-top: 1px solid var(--cx-line); border-bottom: 1px solid var(--cx-line); }
.cx-aw-c-seller a:not(.cx-aw-textlink) { display: block; font-family: var(--ah-font-serif); font-size: 19px; color: var(--cx-ink); text-decoration: none; }
.cx-aw-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background: #FFFFFF; border-top: 1px solid var(--cx-line); box-shadow: 0 -4px 16px rgba(0,0,0,0.06); }
.cx-aw-bar[hidden] { display: none; }
.cx-aw-bar-inner { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; padding-top: 12px; padding-bottom: 12px; }
.cx-aw-bar-work { display: flex; align-items: center; gap: 14px; min-width: 0; }
.cx-aw-bar-work img { width: 48px; height: 48px; object-fit: contain; background: var(--cx-well); }
.cx-aw-bar-work strong { display: block; font-family: var(--ah-font-serif); font-weight: 400; font-size: 18px; }
.cx-aw-bar-work small { font-size: 12px; color: var(--cx-muted); }
.cx-aw-bar-buy { display: flex; align-items: center; gap: 20px; }
.cx-aw-bar-price { font-family: var(--ah-font-serif); font-size: 26px; }

/* more works */
.cx-aw-more-wrap { padding-bottom: 96px; }
.cx-aw-more { padding-top: 72px; }
.cx-aw-more-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 28px; }
.cx-aw-more-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 40px 32px; }
.cx-aw-card { display: flex; flex-direction: column; gap: 4px; }
.cx-aw-card-media { height: 280px; margin-bottom: 14px; padding: 20px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: var(--cx-well); }
.cx-aw-card-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cx-aw-card-artist { font-family: var(--ah-font-serif); font-size: 20px; }
.cx-aw-card-title { font-family: var(--ah-font-serif); font-style: italic; font-size: 18px; color: var(--cx-muted); text-decoration: none; }
.cx-aw-card-title:hover { color: var(--cx-navy); }
.cx-aw-card-meta { font-size: 13px; color: var(--cx-muted); }
.cx-aw-card-foot { display: flex; justify-content: space-between; align-items: baseline; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--cx-line); font-size: 12px; color: var(--cx-muted); }
.cx-aw-card-foot strong { font-family: var(--ah-font-serif); font-weight: 400; font-size: 19px; color: var(--cx-ink); }

@media (max-width: 1024px) {
    .cx-aw-a-top, .cx-aw-b-body, .cx-aw-c { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .cx-aw-a-panel, .cx-aw-b-card, .cx-aw-c-info { position: static; }
    .cx-aw-c-info { padding: 32px 16px; }
    .cx-aw-c-media { padding: 0 16px 24px; }
}
@media (max-width: 640px) {
    .cx-aw-main, .cx-aw-gallery.is-stage .cx-aw-main, .cx-aw-gallery.is-split .cx-aw-main { height: 380px; padding: 16px; }
    .cx-aw-gallery.is-side { grid-template-columns: minmax(0, 1fr); }
    .cx-aw-gallery.is-side .cx-aw-thumbs { flex-direction: row; order: 2; }
    .cx-aw-thumb { width: 64px; height: 64px; }
    .cx-aw-facts { grid-template-columns: 100px 1fr; }
    .cx-aw-table th { width: 120px; }
    .cx-aw-b-card { padding: 20px; }
    .cx-aw-bar-work small { display: none; }
    .cx-aw-bar-work strong { font-size: 15px; }
    .cx-aw-bar-price { font-size: 20px; }
    .cx-aw-artistbox { padding: 24px; }
}

/* ════════════════════════════════════════
   AUCTION LOT LAYOUTS (ProductLayout.LotClassic / LotLive / LotCatalog)
════════════════════════════════════════ */
/* bid button text stayed navy on navy (wa-common dark-surface override of --ah-color-primary-text) */
.ah-bid-submit-btn, .ah-bid-submit-btn:hover { color: #FFFFFF; }
.ah-bid-submit-btn .ah-bid-btn-content, .ah-bid-submit-btn .ah-bid-btn-loading { color: #FFFFFF; }

.cx-lot-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding-top: 16px; padding-bottom: 8px; }
.cx-lot-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: var(--cx-muted); }
.cx-lot-crumbs a { color: var(--cx-muted); text-decoration: none; }
.cx-lot-crumbs a:hover { color: var(--cx-navy); }
.cx-lot-crumbs [aria-current] { color: var(--cx-ink); }
.cx-aw-artist.is-lg { font-size: 34px; }
.cx-lot-siblings { padding-bottom: 32px; }

/* the shared bid box (Partials/AuctionInfo) sits flat inside the lot layouts */
.cx-lot-bid .ah-bid-box { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.cx-lot-bid .ah-bid-box::before { display: none; }
.cx-lot-bid .ah-bid-box-title { display: none; }
.cx-lot-bid .ah-bid-current { padding: 16px 18px; border: 1px solid var(--cx-line); border-bottom: 0; background: #FFFFFF; }
.cx-lot-bid .ah-bid-current-label { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cx-muted); }
.cx-lot-bid .ah-bid-current-amount { font-family: var(--ah-font-serif); font-weight: 400; font-size: 36px; color: var(--cx-ink); }
.cx-lot-bid .ah-bid-stats-row { margin: 0; padding: 12px 18px; border: 1px solid var(--cx-line); border-radius: 0; background: var(--cx-well); }
.cx-lot-bid .ah-timer-box { margin: 12px 0 0; border-radius: 0; background: #FFFFFF; border: 1px solid var(--cx-line); }
.cx-lot-bid .ah-bid-timer-value { font-family: var(--ah-font-serif); font-weight: 400; font-size: 26px; color: var(--cx-navy); }
.cx-lot-bid .ah-bid-quick-btns { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; margin-top: 16px; }
.cx-lot-bid .ah-bid-quick-btn { min-height: 44px; border-radius: 0; font-family: var(--ah-font-serif); font-size: 16px; background: #FFFFFF; }
.cx-lot-bid .ah-bid-input-group { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 10px; }
.cx-lot-bid .ah-bid-input { min-height: 52px; border: 1px solid var(--cx-ink); border-radius: 0; font-family: var(--ah-font-serif); font-size: 20px; padding: 0 14px; }
.cx-lot-bid .ah-bid-submit-btn { min-height: 52px; padding: 0 26px; border-radius: 0; background: var(--cx-navy); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; }
.cx-lot-bid .ah-bid-hint { font-size: 12px; }
.cx-lot-bid .ah-bid-history { margin-top: 24px; border: 0; border-top: 1px solid var(--cx-line); border-radius: 0; padding: 16px 0 0; background: transparent; }
.cx-lot-bid .ah-bid-history-header h4 { font-family: var(--ah-font-body); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cx-muted); }
.cx-lot-bid .ah-watch-section { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--cx-line); }
.cx-lot-bid .ah-watch-btn { min-height: 44px; border-radius: 0; border: 1px solid var(--cx-navy); color: var(--cx-navy); background: transparent; }

/* A · classic */
.cx-lot-a { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(380px, 1fr); gap: 64px; align-items: start; padding-top: 8px; }
.cx-lot-a-panel { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.cx-lot-a-gallery .cx-aw-main { height: 780px; }
.cx-lot-auction { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; background: var(--cx-well); font-size: 13px; color: var(--cx-muted); text-decoration: none; }
.cx-lot-auction strong { font-weight: 600; color: var(--cx-ink); }
.cx-lot-auction:hover strong { color: var(--cx-navy); }

/* B · live */
.cx-lot-band { background: var(--cx-navy); color: #FFFFFF; }
.cx-lot-band-inner { display: flex; flex-wrap: wrap; gap: 14px 32px; align-items: center; justify-content: space-between; padding-top: 16px; padding-bottom: 16px; }
.cx-lot-band-left, .cx-lot-band-right { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.cx-lot-state { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; }
.cx-lot-dot { width: 8px; height: 8px; border-radius: 50%; background: #9AA0A6; }
.cx-lot-state.is-live .cx-lot-dot { background: #E5484D; animation: cx-pulse 1.6s ease-in-out infinite; }
.cx-lot-state.is-upcoming .cx-lot-dot { background: #F2C14E; }
@keyframes cx-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .cx-lot-state.is-live .cx-lot-dot { animation: none; } }
.cx-lot-band-name { font-size: 15px; }
.cx-lot-band-label { font-size: 13px; color: #D5DAE4; }
.cx-lot-band-clock { font-family: var(--ah-font-serif); font-size: 30px; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.cx-lot-band-clock.is-urgent { color: #FFB4B4; }
.cx-aw-btn.is-light { border-color: #FFFFFF; color: #FFFFFF; }
.cx-aw-btn.is-light:hover { background: #FFFFFF; color: var(--cx-navy); }
.cx-lot-b { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: start; padding-top: 8px; }
.cx-lot-b-main { display: flex; flex-direction: column; gap: 32px; }
.cx-lot-b-main .cx-aw-main { height: 820px; max-width: none; }
.cx-lot-b-ident { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 40px; }
.cx-lot-b-ident-col { display: flex; flex-direction: column; gap: 8px; }
.cx-lot-b-card { position: sticky; top: 24px; padding: 24px; border: 1px solid var(--cx-line); }
.cx-lot-b-desc { padding-top: 64px; max-width: 860px; }
.cx-lot-b-desc .cx-aw-h2 { margin-bottom: 16px; }

/* C · catalog */
.cx-lot-c-spread { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(340px, 1fr); border: 1px solid var(--cx-line); margin-top: 8px; }
.cx-lot-c-media .cx-aw-gallery { height: 100%; }
.cx-lot-c-media .cx-aw-main { height: 900px; padding: 56px; background: var(--cx-well); }
.cx-lot-c-media .cx-aw-thumbs { padding: 0 16px 16px; background: var(--cx-well); }
.cx-lot-c-cat { padding: 56px 48px; display: flex; flex-direction: column; gap: 20px; }
.cx-lot-c-no { font-family: var(--ah-font-serif); font-size: 96px; line-height: 0.9; color: var(--cx-gold); }
.cx-lot-c-artist { display: flex; flex-direction: column; gap: 2px; }
.cx-lot-c-artist a { font-size: 14px; font-weight: 600; letter-spacing: 0.16em; color: var(--cx-ink); text-decoration: none; }
.cx-lot-c-artist a:hover { color: var(--cx-navy); }
.cx-lot-c-artist span { font-size: 13px; color: var(--cx-muted); }
.cx-lot-c-medium { margin: 0; font-family: var(--ah-font-serif); font-size: 19px; line-height: 1.5; }
.cx-lot-c-price { padding-top: 16px; border-top: 1px solid var(--cx-line); font-family: var(--ah-font-serif); font-size: 22px; }
.cx-lot-c-block p { margin: 6px 0 0; font-size: 14px; }
.cx-lot-c-links { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 13px; }
.cx-lot-c-links a { min-height: 44px; display: inline-flex; align-items: center; color: var(--cx-ink); text-decoration: underline; }
.cx-lot-c-lower { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); gap: 64px; padding-top: 56px; align-items: start; }
.cx-lot-c-bid { scroll-margin-top: 90px; }
.cx-lot-c-note .cx-aw-h2 { margin-bottom: 16px; }
.cx-lot-c-terms { margin: 16px 0 0; font-size: 13px; color: var(--cx-muted); }

@media (max-width: 1024px) {
    .cx-lot-a, .cx-lot-b, .cx-lot-c-spread, .cx-lot-c-lower { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .cx-lot-a-panel, .cx-lot-b-card { position: static; }
    .cx-lot-a-gallery .cx-aw-main, .cx-lot-b-main .cx-aw-main, .cx-lot-c-media .cx-aw-main { height: 560px; }
    .cx-lot-c-cat { padding: 32px 20px; }
}
@media (max-width: 640px) {
    .cx-lot-a-gallery .cx-aw-main, .cx-lot-b-main .cx-aw-main, .cx-lot-c-media .cx-aw-main { height: 420px; padding: 16px; }
    .cx-lot-band-clock { font-size: 22px; }
    .cx-lot-c-no { font-size: 64px; }
    .cx-aw-artist.is-lg { font-size: 28px; }
    .cx-lot-bid .ah-bid-input-group { grid-template-columns: minmax(0, 1fr); }
}
.cx-lot-bid .ah-bid-stat-val { color: var(--cx-ink); font-weight: 500; }
.cx-lot-bid .ah-bid-stat-label { color: var(--cx-muted); }

/* cart drawer items (filled by wa-header.js from /sidebarcart/) */
.cart-items { list-style: none; margin: 0; padding: 0; }
.cart-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--cx-line); }
.cart-item-img { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; background: var(--cx-well); }
.cart-item-img img { max-width: 64px; max-height: 64px; object-fit: contain; }
.cart-item-name { font-family: var(--ah-font-serif); font-size: 17px; line-height: 1.25; color: var(--cx-ink); text-decoration: none; }
.cart-item-name:hover { color: var(--cx-navy); }
.cart-item-attr { margin-top: 2px; font-size: 12px; color: var(--cx-muted); }
.cart-item-meta { display: flex; justify-content: space-between; align-items: baseline; margin-top: 6px; font-size: 13px; color: var(--cx-muted); }
.cart-item-meta strong { font-family: var(--ah-font-serif); font-weight: 400; font-size: 17px; color: var(--cx-ink); }
.cart-subtotal { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0 4px; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cx-muted); }
.cart-subtotal strong { font-family: var(--ah-font-serif); font-size: 22px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--cx-ink); }

/* Shared card in the catalog "list" view mode: image on the left, text on the right */
.lot-grid.list-view .cx-lotcard { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: 24px; align-content: start; }
.lot-grid.list-view .cx-lotcard-media { grid-row: 1 / span 8; height: 220px; margin-bottom: 0; }
.lot-grid.list-view .cx-lotcard > :not(.cx-lotcard-media):not(.cx-lotcard-fav) { grid-column: 2; }
.lot-grid.list-view .cx-lotcard-fav { right: auto; left: 176px; }
.lot-grid.list-view .cx-lotcard-btn { justify-self: start; }
@media (max-width: 600px) {
    .lot-grid.list-view .cx-lotcard { grid-template-columns: 120px minmax(0, 1fr); column-gap: 14px; }
    .lot-grid.list-view .cx-lotcard-media { height: 140px; }
    .lot-grid.list-view .cx-lotcard-fav { left: 80px; }
}

/* Lot card: expert estimate under the price, watch toggle over the image (wa-watch.js) */
.cx-lotcard-price { flex-wrap: wrap; }
.cx-lotcard-estimate { flex-basis: 100%; margin-top: 2px; font-size: 12px; color: var(--cx-muted); }
.cx-lotcard-watch.is-on { color: var(--cx-navy); }
