/* A4 studio pages use sheet-relative units in both output formats. */
body[data-catalog-theme^="studio-"] {
    --studio-paper: #fff;
    --studio-ink: #18251f;
    --studio-rule: #b7c2bb;
    --studio-mat: #f6f8f6;
    --studio-display: Arial, sans-serif;
    --studio-accent: var(--dc-accent, #32654a);
}
body[data-catalog-theme^="studio-"] :is(.dc-studio-sheet,.dc-corporate-sheet,.dc-section-cover) {
    container-type: inline-size;
    background: var(--studio-paper);
    color: var(--studio-ink);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
.dc-studio-page {
    height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    gap: 2cqw;
    padding: 5.25cqw;
    box-sizing: border-box;
}
.dc-studio-running {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 2cqw;
    border-block-end: 1px solid var(--studio-rule);
    padding-block-end: 1.1cqw;
    font-size: 1.65cqw;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.dc-studio-running strong { font-family: var(--studio-display); }
footer.dc-studio-running { border-block-start: 1px solid var(--studio-rule); border-block-end: 0; padding: 1.1cqw 0 0; }
.dc-studio-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-template-rows: repeat(3,minmax(0,1fr));
    gap: 1.7cqw;
    min-height: 0;
}
.dc-studio-card {
    display: grid;
    grid-template-rows: auto minmax(0,1fr) var(--studio-info-space, 6.5cqw);
    gap: .75cqw;
    min-width: 0;
    min-height: 0;
    padding: 1.2cqw;
    border-block-start: 1px solid var(--studio-rule);
    background: #fff;
    color: #18251f;
    box-sizing: border-box;
}
.dc-studio-card-top {
    display: flex;
    direction: ltr;
    align-items: center;
    gap: .85cqw;
    min-width: 0;
    min-height: 4.1cqw;
}
.dc-studio-brand {
    flex: 1;
    min-width: 0;
    min-height: 1.5em;
    text-align: right;
    overflow-wrap: anywhere;
    font-size: 1.35cqw;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .05em;
}
.dc-studio-image {
    min-height: 0;
    min-width: 0;
    display: grid;
    place-items: center;
    padding: 0;
    background: #fff;
    box-sizing: border-box;
}
.dc-studio-image img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.dc-studio-info { align-self: start; min-width: 0; overflow-wrap: anywhere; }
.dc-studio-info h3 {
    margin: .35cqw 0 0;
    font-size: var(--studio-name-size, 1.51cqw);
    font-weight: 700;
    line-height: 1.2;
    color: inherit;
}
.dc-studio-info h3 button {
    display: block;
    font: inherit;
    color: inherit;
    text-align: start;
    border: 0;
    padding: 0;
    background: none;
    cursor: pointer;
    overflow-wrap: anywhere;
    width: 100%;
}
.dc-studio-sku,.dc-studio-price { font-size: 1.3cqw; line-height: 1.2; }
.dc-studio-price { margin-top: .4cqw; font-weight: 700; }
.dc-studio-add {
    display: grid;
    flex: none;
    place-items: center;
    width: max(23px, 3.8cqw);
    height: max(23px, 3.8cqw);
    padding: 0;
    border: 1px solid var(--studio-rule);
    border-radius: 50%;
    color: inherit;
    background: transparent;
    font-size: max(14px, 2.5cqw);
    line-height: 1;
    cursor: pointer;
}
.dc-studio-add:is(:hover,.is-selected) { border-color: var(--studio-accent); }
.dc-studio-add:focus-visible,.dc-studio-info button:focus-visible { outline: 2px solid var(--studio-accent); }
.dc-studio-back-copy { align-self: center; overflow-wrap: anywhere; }
.dc-studio-back-copy img { width: 38cqw; height: 12cqw; object-fit: contain; object-position: left center; }
[dir="rtl"] .dc-studio-back-copy img { object-position: right center; }
.dc-studio-back-copy h2 { margin: 4cqw 0 2cqw; font: 700 6cqw/1.12 var(--studio-display); }
.dc-studio-back-copy p,.dc-studio-back-copy address { font-size: 2.8cqw; line-height: 1.55; }
.dc-studio-back-copy address { display: grid; font-style: normal; }
.dc-studio-back-copy a { color: inherit; justify-self: start; }
.dc-studio-back-copy button { margin-block-start: 3cqw; border: 1px solid var(--studio-rule); background: var(--studio-paper); color: inherit; padding: 1.4cqw; font: inherit; font-size: 2.8cqw; cursor: pointer; }
body[data-catalog-theme^="studio-"] :is(.dc-corporate-intro h1,.dc-book-contents h2,.dc-section-copy h2) { color: inherit; font-family: var(--studio-display); }
body[data-catalog-theme^="studio-"] :is(.dc-book-contents-inner,.dc-corporate-kicker,.dc-corporate-footer,.dc-book-contents header p) { color: inherit; background: transparent; }
body[data-catalog-theme^="studio-"] .dc-section-image { background: var(--studio-mat); border-color: var(--studio-rule); }
body[data-catalog-theme="studio-corporate"] :is(.dc-studio-running strong,.dc-section-kicker) { border-inline-start: .7cqw solid var(--studio-accent); padding-inline-start: 1.2cqw; }
body[data-catalog-theme="studio-technical"] { --studio-paper:#edf1f3; --studio-mat:#fff; --studio-rule:#80919d; }
[data-catalog-theme="studio-technical"] :is(.dc-studio-sku,.dc-section-masthead,.dc-book-contents-entry span:last-child) { font-family: monospace; }
[data-catalog-theme="studio-technical"] :is(.dc-studio-card,.dc-section-image) { border: 1px solid var(--studio-rule); }
[data-catalog-theme="studio-technical"] .dc-corporate-layout { grid-template-areas: "head" "photo" "intro" "footer"; grid-template-rows: auto minmax(0,1fr) auto auto; }
[data-catalog-theme="studio-technical"] .dc-corporate-photo { grid-area: photo; }
body[data-catalog-theme="studio-editorial"] { --studio-display:Georgia,serif; --studio-mat:#eef2ee; }
[data-catalog-theme="studio-editorial"] .dc-corporate-layout { grid-template: "header header" auto "intro image" minmax(0,1fr) "foot foot" auto / 1fr 1.15fr; }
[data-catalog-theme="studio-editorial"] .dc-corporate-masthead { grid-area: header; }
[data-catalog-theme="studio-editorial"] .dc-corporate-intro { grid-area: intro; align-self: center; }
[data-catalog-theme="studio-editorial"] .dc-corporate-photo { grid-area: image; }
[data-catalog-theme="studio-editorial"] .dc-corporate-footer { grid-area: foot; }
[data-catalog-theme="studio-editorial"] .dc-section-layout { grid-template-areas: "masthead" "image" "copy" "footer"; grid-template-rows: auto minmax(0,1fr) auto auto; }
[data-catalog-theme="studio-editorial"] .dc-studio-info h3 { font-family: var(--studio-display); }
[data-catalog-theme="studio-editorial"] .dc-studio-back-copy { border-inline-start: 1px solid var(--studio-rule); padding-inline-start: 5cqw; }
body[data-catalog-theme="studio-minimal"] { --studio-mat:#fff; }
[data-catalog-theme="studio-minimal"] :is(.dc-studio-card,.dc-section-image) { border: 0; }
[data-catalog-theme="studio-minimal"] .dc-section-layout { grid-template-areas: "masthead" "image" "copy" "footer"; grid-template-rows: auto minmax(0,1fr) auto auto; }
[data-catalog-theme="studio-minimal"] .dc-book-contents-entry i { border: 0; }
body[data-catalog-theme="studio-dark"] { --studio-paper:#22282a; --studio-ink:#f6f5f1; --studio-mat:#e9edeb; --studio-rule:#82908c; }
[data-catalog-theme="studio-dark"] :is(.dc-studio-running,.dc-corporate-masthead) { border-color: var(--studio-rule); }
[data-catalog-theme="studio-dark"] .dc-book-contents-entry i { border-color: var(--studio-rule); }
[data-catalog-theme="studio-dark"] .dc-book-contents-entry:hover { color: inherit; }
[data-catalog-theme="studio-dark"] .dc-section-copy { border-block-start: .8cqw solid var(--studio-accent); padding-block-start: 2cqw; }
body[data-catalog-theme="studio-luxury"] { --studio-paper:#faf7ef; --studio-display:Georgia,serif; --studio-rule:#aa977b; }
[data-catalog-theme="studio-luxury"] :is(.dc-corporate-intro,.dc-section-copy,.dc-studio-back-copy) { text-align: center; }
[data-catalog-theme="studio-luxury"] .dc-studio-card { border-block: 1px solid var(--studio-rule); }
[data-catalog-theme="studio-luxury"] .dc-section-image { margin-inline: 4cqw; }
[data-catalog-theme="studio-luxury"] .dc-studio-back-copy a { justify-self: center; }
[data-catalog-theme^="studio-"][dir="rtl"] :is(.dc-studio-running strong,.dc-corporate-intro h1,.dc-book-contents h2,.dc-section-copy h2,.dc-studio-back-copy h2) { font-family: Arial,sans-serif; }
@media (prefers-reduced-motion: reduce) {
    body[data-catalog-theme^="studio-"] :is(.dc-panel,.dc-overlay,.dc-product-modal) { transition-duration: .01ms; }
}

/* Art direction changes placement and hierarchy, while the product grid stays fixed. */
[data-catalog-theme="studio-technical"] .dc-studio-back-copy {
    border: 1px solid var(--studio-rule);
    padding: 5cqw;
}
[data-catalog-theme="studio-technical"] .dc-book-contents li {
    border-block-end: 1px solid var(--studio-rule);
}
[data-catalog-theme="studio-technical"] .dc-book-contents-entry i { border: 0; }
[data-catalog-theme="studio-editorial"] .dc-book-contents header {
    border-block-end: 0;
    border-inline-start: 1px solid var(--studio-rule);
    padding-inline-start: 4cqw;
    padding-block: 4cqw;
}
[data-catalog-theme="studio-minimal"] .dc-corporate-layout {
    grid-template: "head" auto "photo" minmax(0,1fr) "intro" auto "foot" auto;
}
[data-catalog-theme="studio-minimal"] .dc-corporate-masthead { grid-area: head; }
[data-catalog-theme="studio-minimal"] .dc-corporate-photo { grid-area: photo; }
[data-catalog-theme="studio-minimal"] .dc-corporate-intro { grid-area: intro; }
[data-catalog-theme="studio-minimal"] .dc-corporate-footer { grid-area: foot; }
[data-catalog-theme="studio-minimal"] .dc-studio-back-copy { align-self: end; padding-block-end: 7cqw; }
[data-catalog-theme="studio-dark"] .dc-corporate-photo { border: 1px solid var(--studio-rule); }
[data-catalog-theme="studio-dark"] .dc-corporate-intro p { color: var(--studio-ink); }
[data-catalog-theme="studio-dark"] .dc-studio-back-copy {
    padding-block: 7cqw;
    border-block: 1px solid var(--studio-rule);
}
[data-catalog-theme="studio-luxury"] .dc-book-contents header { text-align: center; }
[data-catalog-theme="studio-luxury"] .dc-corporate-photo {
    margin-inline: 5cqw;
    outline: 1px solid var(--studio-rule);
    outline-offset: 1cqw;
}
[data-catalog-theme="studio-luxury"] .dc-studio-back-copy address {
    border-block-start: 1px solid var(--studio-rule);
    margin-inline: 8cqw;
    padding-block-start: 3cqw;
}
body[data-catalog-theme^="studio-"] .dc-studio-sheet[aria-hidden="true"] { pointer-events: none; }
html[dir="rtl"] body[data-catalog-theme^="studio-"] :is(.dc-studio-running strong,.dc-corporate-intro h1,.dc-book-contents h2,.dc-section-copy h2,.dc-studio-back-copy h2) { font-family: Arial,sans-serif; }

/* The running masthead is shared by every studio page and both renderers. */
body[data-catalog-theme^="studio-"] .dc-studio-masthead {
    display: block;
    padding: 0 0 1.35cqw;
    border: 0;
    border-block-end: 1px solid var(--studio-rule);
    color: var(--studio-ink);
    min-width: 0;
}
.dc-studio-masthead-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3cqw;
    min-height: 3.7cqw;
    font-size: 1.9cqw;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.dc-studio-masthead-brand { font-family: var(--studio-display); font-weight: 700; }
.dc-studio-masthead-context { text-align: end; font-weight: 550; }
body[data-catalog-theme^="studio-"] .dc-studio-masthead-logo {
    display: block;
    width: 33cqw;
    height: 8cqw;
    object-fit: contain;
    object-position: left center;
}
html[dir="rtl"] body[data-catalog-theme^="studio-"] .dc-studio-masthead-logo { object-position: right center; }
[data-catalog-theme="studio-corporate"] .dc-studio-masthead-brand {
    border-inline-start: .65cqw solid var(--studio-accent);
    padding-inline-start: 1.4cqw;
}
body[data-catalog-theme="studio-technical"] .dc-studio-masthead {
    border-block-start: 1px solid var(--studio-rule);
    padding-block-start: .65cqw;
}
[data-catalog-theme="studio-technical"] .dc-studio-masthead-context { font-family: monospace; }
body[data-catalog-theme="studio-editorial"] .dc-studio-masthead { border-block-end-width: 2px; }
[data-catalog-theme="studio-editorial"] .dc-studio-masthead-brand { font-size: 2.45cqw; }
body[data-catalog-theme="studio-minimal"] .dc-studio-masthead { border-block-end-color: transparent; }
[data-catalog-theme="studio-minimal"] .dc-studio-masthead-line { flex-direction: row-reverse; }
body[data-catalog-theme="studio-dark"] .dc-studio-masthead {
    border-block-end: .48cqw solid var(--studio-accent);
}
body[data-catalog-theme="studio-luxury"] .dc-studio-masthead { border-block-end: 3px double var(--studio-rule); }
[data-catalog-theme="studio-luxury"] .dc-studio-masthead-line { justify-content: center; flex-wrap: wrap; }
[data-catalog-theme="studio-luxury"] .dc-studio-masthead-context { text-align: center; }
html[dir="rtl"] .dc-studio-masthead-brand { font-family: Arial,sans-serif; }

body[data-catalog-theme^="studio-"] .dc-app .dc-toolbar {
    background: var(--studio-paper);
    color: var(--studio-ink);
    border-block-end: 2px solid var(--studio-rule);
}
body[data-catalog-theme^="studio-"] .dc-toolbar-title strong {
    font-family: var(--studio-display);
    color: var(--studio-ink);
}
body[data-catalog-theme^="studio-"] .dc-toolbar-title small { color: var(--studio-ink); }
body[data-catalog-theme="studio-technical"] .dc-app .dc-toolbar { border-block-end-style: double; }
body[data-catalog-theme="studio-minimal"] .dc-app .dc-toolbar { border-block-end-width: 1px; }
body[data-catalog-theme="studio-dark"] .dc-app .dc-toolbar { border-block-end-color: var(--studio-accent); }
body[data-catalog-theme="studio-luxury"] .dc-app .dc-toolbar { border-block-end: 3px double var(--studio-rule); }
html[dir="rtl"] body[data-catalog-theme^="studio-"] .dc-toolbar-title strong { font-family: Arial,sans-serif; }
body[data-catalog-theme="studio-dark"] #digital-catalog-app .dc-toolbar-button:not(.dc-toolbar-primary) {
    background: #303a3c;
    border-color: var(--studio-rule);
    color: var(--studio-ink);
}
body[data-catalog-theme="studio-dark"] #digital-catalog-app .dc-toolbar-button:not(.dc-toolbar-primary):hover {
    background: #424e50;
}
body[data-catalog-theme="studio-technical"] .dc-app .dc-toolbar-button,
body[data-catalog-theme="studio-luxury"] .dc-app .dc-toolbar-button { border-radius: 4px; }

/* Keep the editorial hierarchy intact at both book and print scale. */
.dc-studio-grid { gap: 1.7cqw 1.45cqw; }
.dc-studio-card {
    padding: 1.45cqw;
    gap: .75cqw;
    grid-template-rows: auto minmax(0,1fr) var(--studio-info-space, 6.5cqw);
}
.dc-studio-image img { display: block; }
.dc-studio-info h3 { line-height: 1.23; }
.dc-studio-sku { font-variant-numeric: tabular-nums; }
.dc-studio-add { font-weight: 650; }
.dc-studio-add.is-selected {
    background: var(--studio-accent);
    color: var(--dc-on-accent, #fff);
}
body[data-catalog-theme^="studio-"] .dc-corporate-layout { gap: 3cqw; }
body[data-catalog-theme^="studio-"] .dc-corporate-intro h1 {
    font-size: clamp(4.6cqw, var(--corporate-title-size, 6cqw), 7.4cqw);
    text-wrap: balance;
}
body[data-catalog-theme^="studio-"] .dc-corporate-intro p { max-width: 66ch; }
body[data-catalog-theme^="studio-"] .dc-section-copy h2 { text-wrap: balance; }

[data-catalog-theme="studio-corporate"] .dc-studio-card {
    border: 1px solid #d7e1da;
    border-radius: 1.2cqw;
}
[data-catalog-theme="studio-corporate"] .dc-corporate-photo { border-block-end: 1cqw solid var(--studio-accent); }
[data-catalog-theme="studio-corporate"] .dc-section-copy { padding-inline-start: 2cqw; }

[data-catalog-theme="studio-technical"] .dc-section-layout {
    grid-template: "masthead masthead" auto "copy image" minmax(0,1fr) "footer footer" auto / minmax(0,.8fr) minmax(0,1.2fr);
}
[data-catalog-theme="studio-technical"] .dc-section-copy { align-self: center; }
[data-catalog-theme="studio-technical"] .dc-studio-sku {
    border-block-start: 1px solid var(--studio-rule);
    padding-block-start: .4cqw;
}

[data-catalog-theme="studio-editorial"] .dc-corporate-layout {
    grid-template: "header header" auto "intro image" minmax(0,1fr) "foot foot" auto / minmax(0,1fr) minmax(0,1.2fr);
}
[data-catalog-theme="studio-editorial"] .dc-studio-card { border-block-start: 0; }
[data-catalog-theme="studio-editorial"] .dc-studio-brand { border-block-end: 1px solid var(--studio-rule); padding-block-end: .4cqw; }
[data-catalog-theme="studio-editorial"] .dc-section-copy { padding-inline: 4cqw; }

[data-catalog-theme="studio-minimal"] .dc-corporate-photo { margin-inline: -6cqw; }
[data-catalog-theme="studio-minimal"] .dc-studio-card { padding-inline: .75cqw; }
[data-catalog-theme="studio-minimal"] .dc-section-image { border: 0; padding: 1cqw; }

[data-catalog-theme="studio-dark"] .dc-studio-card {
    border: 1px solid var(--studio-rule);
}
[data-catalog-theme="studio-dark"] .dc-studio-masthead-logo,
[data-catalog-theme="studio-dark"] .dc-studio-back-copy img {
    padding: .8cqw;
    background: #fff;
    box-sizing: border-box;
}
[data-catalog-theme="studio-dark"] .dc-section-image { background: #fff; }
[data-catalog-theme="studio-dark"] .dc-book-contents-entry:is(:hover,:focus-visible) { color: #fff; }

[data-catalog-theme="studio-luxury"] .dc-corporate-layout { padding: 8cqw; }
[data-catalog-theme="studio-luxury"] .dc-studio-card { border-block-end: 0; border-block-start: 3px double var(--studio-rule); }
[data-catalog-theme="studio-luxury"] .dc-section-copy { padding-inline: 6cqw; }
[data-catalog-theme="studio-luxury"] .dc-section-image { border: 3px double var(--studio-rule); }

@media (max-width: 900px) {
    body[data-catalog-theme^="studio-"] #digital-catalog-app .dc-toolbar {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 4px 8px;
        padding: 7px 8px;
    }
    body[data-catalog-theme^="studio-"] #digital-catalog-app .dc-toolbar-title {
        display: flex;
        grid-row: 1;
        grid-column: 1 / -1;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        text-align: start;
    }
    body[data-catalog-theme^="studio-"] #digital-catalog-app .dc-toolbar-title strong {
        min-width: 0;
        max-width: none;
        font-size: 12px;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.25;
    }
    body[data-catalog-theme^="studio-"] #digital-catalog-app .dc-toolbar-title small {
        flex: none;
        direction: ltr;
    }
}

body[data-catalog-theme="studio-dark"] #digital-catalog-app .dc-mobile-toolbar {
    background: var(--studio-paper);
    border-color: var(--studio-rule);
}
body[data-catalog-theme="studio-dark"] #digital-catalog-app .dc-mobile-toolbar > :not(.primary) {
    background: #303a3c;
    border-color: var(--studio-rule);
    color: var(--studio-ink);
}

.dc-studio-add > span { pointer-events: none; }

body[data-catalog-theme^="studio-"] .dc-corporate-layout {
    padding-block-end: 3.5cqw;
    row-gap: 2.4cqw;
}
body[data-catalog-theme^="studio-"] .dc-corporate-footer {
    padding-block-start: 1cqw;
    font-size: 2cqw;
}
body[data-catalog-theme^="studio-"] .dc-book-contents-inner {
    padding-block: 6cqw 3.5cqw;
}
body[data-catalog-theme^="studio-"] .dc-book-contents ol {
    display: flex;
    flex-direction: column;
    gap: .45cqw;
    margin-block: 2.4cqw 1.2cqw;
}
body[data-catalog-theme^="studio-"] .dc-book-contents-entry {
    padding-block: .92cqw;
    font-size: 2.65cqw;
    line-height: 1.24;
}
body[data-catalog-theme^="studio-"] .dc-book-contents footer {
    padding-block-start: .9cqw;
    font-size: 2cqw;
}
body[data-catalog-theme^="studio-"] .dc-book-contents ol:has(> li:nth-child(15)) {
    flex: 1 0 auto;
    justify-content: space-between;
}

.dc-studio-image-trigger {
    position: relative;
    width: 100%;
    border: 0;
    color: #18251f;
    cursor: zoom-in;
}
.dc-studio-image-trigger > * { pointer-events: none; }
.dc-studio-image-trigger svg {
    position: absolute;
    inset-inline-end: .8cqw;
    inset-block-end: .8cqw;
    width: max(18px, 3.6cqw);
    height: max(18px, 3.6cqw);
    padding: 2px;
    border: 1px solid #dce5df;
    border-radius: 50%;
    background: #fff;
}
.dc-studio-image-trigger:focus-visible { outline: 2px solid var(--studio-accent); outline-offset: -2px; }
body[data-catalog-theme^="studio-"] :is(.stf__innerShadow,.stf__outerShadow,.stf__hardShadow,.stf__hardInnerShadow) {
    pointer-events: none;
}
