/* Paris translates the Pencil composition using existing Canvas and CDE markup. */
body.canvas.ac-variant-paris {
    /* Collections: first-section margin + inner padding + heading margin. */
    --ac-page-heading-space: calc(84px + clamp(32px, 5vw, 80px));
    font-size: 16px;
    line-height: 1.6;
}
body.canvas.ac-variant-paris :is(h1, h2, h3, h4, h5, h6, .site-title, .cde-artist-profile__name) {
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.02em;
    text-wrap: balance;
}
body.canvas.ac-variant-paris .ad-layout__intro-heading { font-size: clamp(40px, 4.5vw, 64px); max-width: 16ch; }
body.canvas.ac-variant-paris .ad-layout__header h2 { font-size: clamp(32px, 3vw, 44px); }
body.canvas.ac-variant-paris .ad-layout .ad-layout__work-caption h3 { font-size: 28px; margin-block: 0 12px; }
body.canvas.ac-variant-paris .ad-layout .ad-layout__metadata { font-size: 14px; line-height: 1.55; }
body.canvas.ac-variant-paris .ad-layout .ad-layout__price { font-size: 16px; font-variant-numeric: tabular-nums; border-top: 1px solid var(--ad-rule); padding-top: 16px; }
body.canvas.ac-variant-paris .site-header { border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
body.canvas.ac-variant-paris :is(.button, button, input[type="submit"]) { border-radius: 0; min-height: 44px; }
body.canvas.ac-variant-paris :is(a, button, input, select, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
body.canvas.ac-variant-paris .ad-layout:not(.ad-layout--full-width):not(.is-fullwidth):not(.is-fullbleed) { max-width: var(--canvas-container-max); margin-inline: auto; }
body.canvas.ac-variant-paris .ad-layout .ad-layout__inner { --ad-inner-padding: clamp(32px, 5vw, 80px); }
body.canvas.ac-variant-paris .ad-layout .ad-layout__works,
body.canvas.ac-variant-paris .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collections {
    column-gap: var(--ac-grid-column-gap);
    row-gap: var(--ac-grid-row-gap);
}
/* An image stage aligns portrait and landscape work without changing the crop. */
body.canvas.ac-variant-paris .ad-layout .ad-layout__work .ad-layout__media,
body.canvas.ac-variant-paris .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media {
    aspect-ratio: 6 / 5;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}
body.canvas.ac-variant-paris .ad-layout .ad-layout__work .ad-layout__image,
body.canvas.ac-variant-paris .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media .ad-layout__image {
    width: 100%; height: 100%; min-height: 0;
    aspect-ratio: 6 / 5;
    object-fit: contain;
    object-position: var(--ac-image-position, center center);
    margin: 0;
}
body.canvas.ac-variant-paris .ad-layout .ad-layout__work-caption { margin-top: 16px; }
@media (min-width: 1001px) {
    body.canvas.ac-variant-paris .ad-layout--image-led-split .ad-layout__intro:has(> .ad-layout__media) { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); column-gap: 64px; }
}
@media (max-width: 720px) {
    body.canvas.ac-variant-paris .ad-layout .ad-layout__works { grid-template-columns: minmax(0, 1fr); }
    body.canvas.ac-variant-paris .ad-layout--editorial-sequence .ad-layout__work:nth-child(n) { grid-column: auto; }
    body.canvas.ac-variant-paris .ad-layout__intro-heading { max-width: none; }
}
/* Native artwork indexes retain their existing purchase and availability controls. */
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) > ul {
    column-gap: var(--ac-grid-column-gap);
    row-gap: var(--ac-grid-row-gap);
    padding: 0;
}
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art {
    grid-template-rows: auto auto auto;
    align-content: start;
    min-width: 0;
}
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_image_holder { padding: 0; aspect-ratio: 6 / 5; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) :is(.art_image_link, .art_image) { width: 100%; height: 100%; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_image img {
    width: 100%; height: 100%; max-width: 100%; max-height: none;
    object-fit: var(--ac-image-fit, contain); object-position: var(--ac-image-position, center center);
}
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3).hover .art_image_dual img { inset: 0; transform: none; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_meta { padding: 16px 0; background: transparent; color: inherit; grid-template-columns: minmax(0, 1fr); gap: 16px; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_title { color: inherit; font-family: var(--ac-font-heading); font-size: 28px; line-height: 1.15; letter-spacing: -.02em; text-transform: none; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) :is(.art_dim, .art_media) { font-size: 14px; letter-spacing: normal; text-transform: none; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_meta_right { align-items: start; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); padding-top: 16px; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_price { font-size: 16px; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) {
    body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) > ul { grid-template-columns: minmax(0, 1fr); }
}
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_buttonrow { background: transparent; padding: 0; gap: 12px; flex-wrap: wrap; }
body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) .art_buttonrow .button { padding: 12px 18px; }
@media (min-width: 721px) and (max-width: 1000px) {
    body.canvas.ac-variant-paris .art-wrapper.cols3 > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1001px) {
    body.canvas.ac-variant-paris .art-wrapper:is(.cols1, .cols2, .cols3) > ul { grid-template-columns: repeat(var(--ac-grid-max-columns, 3), minmax(0, 1fr)); }
}

/* Literary subtitles sit between display headings and supporting body copy. */
body.canvas.ac-variant-paris .ad-layout .ad-layout__subheading {
    font-family: var(--ac-font-heading);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
    color: var(--ac-link);
    max-width: 40ch;
    margin-bottom: 24px;
}
@media (max-width: 720px) {
    body.canvas.ac-variant-paris .ad-layout .ad-layout__subheading { font-size: 20px; }
}

/* A decorative rule marks a section boundary without changing its spacing. */
body.canvas.ac-variant-paris .ac-section-divider--line {
    position: relative;
}
body.canvas.ac-variant-paris .ac-section-divider--line::after {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: var(--ac-border);
    pointer-events: none;
    z-index: 2;
}

/* Paris editorial navigation. Scoped to the inline layout; other variants retain their chrome. */
body.canvas.ac-variant-paris .ac-paris-header .ac-header-row { min-height: 80px; padding-block: 12px; gap: 32px; max-width: none; }
body.canvas.ac-variant-paris .ac-paris-header .site-title { font-size: 28px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-header-links { gap: 28px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-inline-nav .menu { gap: 36px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-inline-nav a { font-size: 16px; font-weight: 400; line-height: 1.6; padding-block: 0; }
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) a { position: relative; width: fit-content; padding-inline: 0; background: transparent; color: var(--ac-text); border: 0; border-radius: 0; box-shadow: none; text-decoration: none; }
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) a::after { content: ''; position: absolute; inset: auto 0 6px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left center; transition: transform 240ms ease-out; }
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) a:is(:hover,:focus-visible)::after { transform: scaleX(1); }
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) :is(.current-menu-item,.current_page_item) > a { font-weight: 700; }
body.canvas.ac-variant-paris .ac-paris-header .ac-cart-link { gap: 8px; font-size: 13px; padding-left: 24px; position: relative; }
body.canvas.ac-variant-paris .ac-paris-header .ac-cart-link::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 1px; background: var(--ac-border); }
body.canvas.ac-variant-paris .ac-paris-header svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.2; flex-shrink: 0; }
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-menu-toggle,.ac-menu-close) { align-items: center; justify-content: center; gap: 10px; border: 0; background: transparent; color: var(--ac-text); box-shadow: none; font: 400 14px/1.4 var(--ac-font-body); padding: 0; margin: 0; min-height: 44px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-menu-toggle { display: none; }
body.canvas.ac-variant-paris .ac-paris-header .ac-navigation-drawer { inset: 0; width: 100%; height: 100dvh; padding: 0; background: var(--ac-background); }
body.canvas.ac-variant-paris .ac-paris-header .ac-paris-drawer-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 10px 24px; border-bottom: 1px solid var(--ac-border); }
body.canvas.ac-variant-paris .ac-paris-header .ac-menu-close { display: inline-flex; }
body.canvas.ac-variant-paris .ac-paris-header .ac-drawer-nav { padding: 30px 24px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-drawer-nav .menu { margin: 0; }
body.canvas.ac-variant-paris .ac-paris-header .ac-drawer-nav a { font: 400 36px/1.25 var(--ac-font-heading); padding-block: 15px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-drawer-nav .sub-menu a { font-size: 24px; }
body.canvas.ac-variant-paris .ac-paris-header .ac-paris-drawer-footer { margin: 12px 24px 32px; padding-top: 24px; border-top: 1px solid var(--ac-border); }
body.canvas.ac-variant-paris .ac-paris-header .ac-paris-drawer-footer .ac-cart-link { padding-left: 0; }
body.canvas.ac-variant-paris .ac-paris-header .ac-paris-drawer-footer .ac-cart-link::before { display: none; }
@media (max-width: 1000px) {
    body.canvas.ac-variant-paris .ac-paris-header .ac-header-row { min-height: 64px; padding-block: 10px; gap: 16px; }
    body.canvas.ac-variant-paris .ac-paris-header .site-title { font-size: 22px; }
    body.canvas.ac-variant-paris .ac-paris-header .ac-header-links { gap: 18px; flex-shrink: 0; }
    body.canvas.ac-variant-paris .ac-paris-header.ac-drawer-ready .ac-inline-nav { display: none; }
    body.canvas.ac-variant-paris .ac-paris-header.ac-drawer-ready .ac-menu-toggle:not([hidden]) { display: inline-flex; }
    body.canvas.ac-variant-paris .ac-paris-header .ac-header-links > .ac-cart-link { padding-left: 0; }
    body.canvas.ac-variant-paris .ac-paris-header .ac-header-links > .ac-cart-link::before { display: none; }
    body.canvas.ac-variant-paris .ac-paris-header .ac-cart-link + .ac-menu-toggle { position: relative; padding-left: 18px; }
    body.canvas.ac-variant-paris .ac-paris-header .ac-cart-link + .ac-menu-toggle::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 1px; background: var(--ac-border); }
    body.canvas.ac-variant-paris .ac-paris-header:not(.ac-drawer-ready) .ac-header-row { flex-wrap: wrap; }
    body.canvas.ac-variant-paris .ac-paris-header:not(.ac-drawer-ready) .ac-header-links { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) a::after { transition: none; }
}
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-menu-toggle,.ac-menu-close):is(:hover,:focus,:active) { background: transparent; color: var(--ac-text); border-color: transparent; text-decoration: none; }

/* Neutralise Canvas menu states; Paris uses only an animated text underline. */
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) a:is(:hover,:focus,:active),
body.canvas.ac-variant-paris .ac-paris-header :is(.ac-inline-nav,.ac-drawer-nav) :is(.current-menu-item,.current_page_item) > a {
    background: transparent; color: var(--ac-text); box-shadow: none; text-decoration: none;
}
body.canvas.ac-variant-paris .ac-paris-header .ac-inline-nav .sub-menu {
    background: var(--ac-background); color: var(--ac-text); box-shadow: none; border: 1px solid var(--ac-border); padding: 12px 20px;
}
body.canvas.ac-variant-paris .ac-paris-header .ac-inline-nav .sub-menu .sub-menu { border: 0; padding: 0 0 0 16px; }

/* Heading-first templates share the opening space of the Collections intro.
 * Image-led/centred intros and headings following other content keep their layout. */
body.canvas.ac-variant-paris .main:has(> .content > .row > .columns > h1.archive-title:first-child),
body.canvas.ac-variant-paris .main:has(> .content > article:first-of-type > .entry-content > h1:first-child),
body.canvas.ac-variant-paris .main:has(> .ad-layout:first-child > .ad-layout__inner > .ad-layout__header > h1:first-child) {
    padding-top: var(--ac-page-heading-space);
}
body.canvas.ac-variant-paris .main:not(:has(> .content h1)) > .after-content-full > .cde-flex-content > .cde-page-heading-wrap {
    padding-top: var(--ac-page-heading-space);
}
body.canvas.ac-variant-paris .main > .content > article:first-of-type:has(> .entry-content > h1:first-child) {
    padding-top: 0;
    border-top: 0;
}
body.canvas.ac-variant-paris .main > .ad-layout:first-child > .ad-layout__inner:has(> .ad-layout__header > h1:first-child) {
    padding-top: 0;
}
@media (max-width: 720px) {
    body.canvas.ac-variant-paris {
        --ac-page-heading-space: calc(60px + clamp(32px, 5vw, 80px));
    }
}

body.canvas.ac-variant-paris .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media .ad-layout__image {
    object-fit: var(--ac-image-fit, contain);
}
