/*
 * Print My File 1.0.22 — AAA wave 1. Built on the production 1.0.21 sheet
 * (print-my-file.cancel-feedback-a2dbe87bfe0b.css).
 *
 * The studio is NIGHT now (PMF-UX-07; owner 2026-10-10: night is the default
 * surface sitewide). It was a white card on a #0a0a14 page with a black price
 * card inside it: two visual languages in one box. Every text pair below is
 * WCAG AA on the surface it sits on (see the 1.0.22 contrast check).
 */

/* ── tokens ── */
body.page-print-my-file, .tdc-od, .tdc-od-bar, .tdc-od-dropall {
	--od-ink: var(--color-text-on-dark, #f0f0ff);
	--od-muted: #b4b5cf;
	--od-page: var(--color-dark, #0a0a14);
	--od-surface: #12121c;
	--od-raised: #191929;
	--od-field: #1d1d30;
	--od-line: rgba(255, 255, 255, .12);
	--od-line-strong: rgba(255, 255, 255, .26);
	--od-cyan: var(--color-neon-cyan, #00f0ff);
	--od-cyan-ink: #bff8ff;
	--od-violet: #d6aaff;
	--od-pink: var(--color-neon-pink, #ff2d78);
	--od-cta: var(--color-cta, #ff5c5c);
	--od-on-cta: var(--color-on-cta, #0a0a14);
	--od-ok: #7dffd2;
	--od-warn: #ffd27a;
	--od-amber: #ffc98a;
	--od-danger: #ffc4c4;
}

/* ── hero: the drop zone is the dominant block (PMF-UX-10) ── */
.tdc-od-hero .landing-hero__content { position: relative; z-index: 1; }
.tdc-od-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl, 28px); align-items: start; }
.tdc-od-hero__copy { max-width: 900px; }
.tdc-od-hero .landing-hero__title { margin-bottom: var(--space-md, 16px); }
.tdc-od-hero__from { margin: 0 0 var(--space-xs, 4px); font-size: var(--text-sm, 14px); font-weight: 600; color: var(--od-ink); }
.tdc-od-hero__copy > .tdc-od-chips { margin: var(--space-sm, 8px) 0 var(--space-md, 16px); }
.tdc-od-hero .landing-hero__subtitle { max-width: 780px; margin-bottom: 0; }
.tdc-od-hero::after { content: ''; position: absolute; inset: auto 0 0 auto; width: 55%; height: 100%; background: radial-gradient(ellipse at 75% 45%, rgba(0, 240, 255, .10) 0%, transparent 60%); pointer-events: none; }
.tdc-od-chips li { white-space: nowrap; }
.tdc-od-hero__app { width: 100%; min-width: 0; }
/*
 * The theme caps landing content at --container-narrow (736 px at 1440) and
 * pads the hero top by header + 96 px; with both, the drop zone sat under the
 * fold at 736 px wide. Scoped to this page: wider content, a one-line H1, and
 * less dead sky above the kicker. The horizon geometry is anchored to the
 * hero's BOTTOM (main.css --tdc-horizon), so neither change moves the floor
 * relative to the content that ends the hero.
 */
body.page-print-my-file .tdc-od-hero .tdc-od-hero__grid { width: 100%; max-width: min(1160px, 100%); }
body.page-print-my-file .tdc-od-hero .landing-hero__title { font-size: clamp(34px, 3.9vw, 54px); line-height: 1.08; text-wrap: balance; }
@media (min-width: 769px) {
	body.page-print-my-file .tdc-od-hero.landing-hero { padding-top: calc(var(--space-3xl, 64px) - 8px); }
}

/* ── app shell ── */
.tdc-od { position: relative; }
.tdc-od [hidden], .tdc-od__studio[hidden], .tdc-od__progress[hidden] { display: none !important; }
.tdc-od__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.tdc-od-sticky { display: none; }

/* F8: in the accessibility tree, out of sight. Not `hidden`. */
.tdc-od__file-input { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

/* ── drop zone ── */
.tdc-od__dropwrap { position: relative; }
.tdc-od__drop {
	position: relative; display: flex; align-items: center; justify-content: center; min-height: 300px; padding: var(--space-2xl, 40px) var(--space-xl, 32px);
	border: 2px dashed rgba(0, 240, 255, .5); border-radius: var(--radius-xl, 24px);
	background: linear-gradient(160deg, #15152a, #0d0d18);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .04);
	color: var(--od-ink); cursor: pointer; text-align: center;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.tdc-od__drop:hover { border-color: var(--od-cyan); box-shadow: 0 24px 70px rgba(0, 0, 0, .5), 0 0 0 4px rgba(0, 240, 255, .08); }
.tdc-od__drop:focus-visible { border-color: var(--od-cyan); outline: 3px solid var(--od-cyan); outline-offset: 3px; }
.tdc-od__drop.is-over { border-style: solid; border-color: var(--od-cyan); transform: scale(1.01); background: linear-gradient(160deg, #0f2a36, #0d0d18); }
.tdc-od__drop.is-busy { cursor: progress; }
.tdc-od__drop-inner { display: flex; flex-direction: column; align-items: center; gap: var(--space-sm, 10px); }
.tdc-od__drop-icon { display: inline-flex; width: 76px; height: 76px; align-items: center; justify-content: center; border-radius: 50%; color: var(--od-cyan); background: rgba(0, 240, 255, .08); box-shadow: 0 0 0 1px rgba(0, 240, 255, .28), 0 0 36px rgba(0, 240, 255, .2); margin-bottom: var(--space-xs, 4px); }
.tdc-od__drop.is-over .tdc-od__drop-icon { animation: tdc-od-bob .8s ease-in-out infinite; }
@keyframes tdc-od-bob { 50% { transform: translateY(-6px); } }
.tdc-od__drop-title { font-size: clamp(22px, 2.6vw, 32px); font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
.tdc-od__drop-or { font-size: var(--text-sm, 14px); color: var(--od-muted); }
.tdc-od__browse { pointer-events: none; }
.tdc-od__drop-formats { font-size: 13.5px; color: var(--od-muted); margin-top: var(--space-xs, 4px); }

/* PMF-UX-18: the progress panel lies OVER the zone, opaque, so nothing overlaps it. */
.tdc-od__progress {
	position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: 12px;
	padding: var(--space-lg, 24px) var(--space-xl, 32px); border: 2px solid rgba(0, 240, 255, .5); border-radius: var(--radius-xl, 24px);
	background: #10101d; color: var(--od-ink); text-align: left;
}
.tdc-od__progress > * { width: 100%; max-width: 680px; margin-inline: auto; }
.tdc-od__progress-file { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-width: 0; }
.tdc-od__progress-name { font-weight: 700; font-size: 16px; word-break: break-all; }
.tdc-od__progress-size { font-size: 14px; color: var(--od-muted); font-variant-numeric: tabular-nums; }
.tdc-od__progress-bar { height: 10px; border-radius: 999px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.tdc-od__progress-bar span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--od-pink), var(--od-cyan)); transition: width .15s linear; }
.tdc-od__progress-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.tdc-od__progress-label { font-size: 14px; font-weight: 600; color: var(--od-cyan-ink); }
.tdc-od__progress-cancel { min-height: 40px; padding: 6px 14px; border: 1.5px solid var(--od-line-strong); border-radius: 10px; background: transparent; color: var(--od-ink); font: inherit; font-size: 14px; cursor: pointer; }
.tdc-od__progress-cancel:hover, .tdc-od__progress-cancel:focus-visible { border-color: var(--od-danger); color: var(--od-danger); }
.tdc-od__progress-cancel:focus-visible { outline: 2px solid var(--od-cyan); outline-offset: 2px; }

/* The security line: opaque, because the build plate runs behind it. */
.tdc-od__secure { display: flex; align-items: flex-start; justify-content: center; gap: 8px; width: fit-content; max-width: 100%; margin: 12px auto 0; padding: 8px 14px; border: 1px solid var(--od-line); border-radius: 999px; background: #0d0d18; color: var(--od-muted); font-size: 13.5px; line-height: 1.45; }
.tdc-od__secure svg { flex: none; margin-top: 1px; color: var(--od-ok); }

/* PD-01: phones only. */
.tdc-od__handoff { display: none; }

/* ── messages: opaque on every surface (PMF-UX-10) ── */
.tdc-od__msg { margin: var(--space-md, 16px) 0 0; padding: 12px 16px; border-radius: 12px; font-size: 15px; line-height: 1.45; }
.tdc-od__msg.is-error { background: #2a1117; color: var(--od-danger); border: 1px solid rgba(255, 92, 92, .55); }
.tdc-od__msg.is-info { background: #0b1f26; color: #c9fbff; border: 1px solid rgba(0, 240, 255, .4); }
.tdc-od__msg.is-ok { background: #0b2621; color: #b4ffe6; border: 1px solid rgba(0, 229, 160, .45); }
.tdc-od__msg button { margin-left: 4px; min-height: 36px; padding: 4px 12px; border: 1.5px solid currentColor; border-radius: 8px; background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; }

/* ── the studio, on night tokens (PMF-UX-07) ── */
.tdc-od__studio {
	margin-top: var(--space-xl, 32px); padding: var(--space-lg, 24px);
	display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg, 24px);
	background: var(--od-surface); color: var(--od-ink); color-scheme: dark;
	border: 1px solid var(--od-line); border-radius: var(--radius-xl, 24px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .04);
}
.tdc-od__studio:focus { outline: none; }
.tdc-od__studio:focus-visible { outline: 3px solid var(--od-cyan); outline-offset: 4px; }

.tdc-od-hero__grid:has(.has-job) { gap: var(--space-lg, 24px); }
.tdc-od-hero__grid:has(.has-job) .landing-hero__subtitle,
.tdc-od-hero__grid:has(.has-job) .tdc-od-chips,
.tdc-od-hero__grid:has(.has-job) .tdc-od-hero__from,
.tdc-od-hero__app:has(.has-job) .tdc-od-hero__aside { display: none; }
.tdc-od-hero__grid:has(.has-job) .landing-hero__title { font-size: clamp(24px, 3vw, 32px); margin-bottom: 0; }

.tdc-od.has-job { display: grid; grid-template-columns: minmax(0, 1fr); }
/* Direct children only: `.tdc-od.has-job .tdc-od__msg` also matched the
   messages INSIDE the form (a flex column) and moved the rights refusal
   below both buttons. */
.tdc-od.has-job > .tdc-od__msg { order: 1; }
.tdc-od.has-job > .tdc-od__studio { order: 2; }
.tdc-od.has-job > .tdc-od__dropwrap { order: 3; margin-top: var(--space-md, 16px); }
.tdc-od.has-job .tdc-od__secure, .tdc-od.has-job .tdc-od__handoff { display: none; }
.tdc-od.has-job .tdc-od__drop {
	min-height: 104px; padding: var(--space-md, 16px) var(--space-lg, 24px); border-radius: 16px;
}
.tdc-od.has-job .tdc-od__progress { border-radius: 16px; padding: 12px 20px; gap: 8px; }
.tdc-od__drop-compact { display: none; }
.tdc-od.has-job .tdc-od__drop-inner { display: none; }
.tdc-od.has-job .tdc-od__drop-compact { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 15px; font-weight: 600; line-height: 1.35; text-align: center; }
.tdc-od__drop-compact-icon { display: inline-flex; flex: none; color: var(--od-cyan); }
@media (min-width: 900px) {
	.tdc-od__studio { grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); padding: var(--space-xl, 32px); gap: var(--space-xl, 32px); }
	/* PMF-UX-08 layout: the model stays in view while the options scroll. */
	.tdc-od__stage { position: sticky; top: calc(var(--header-height, 72px) + 16px); align-self: start; }
}

.tdc-od__stage { display: flex; flex-direction: column; gap: var(--space-md, 16px); min-width: 0; }

/* ── viewer ── */
.tdc-od__viewer { position: relative; aspect-ratio: 4 / 3; min-height: 280px; border-radius: 18px; overflow: hidden; background: radial-gradient(ellipse at 50% 35%, #23234a 0%, #11111f 55%, #08080f 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }
@keyframes tdc-od-materialize {
	0%   { transform: translateY(100%); opacity: 0; }
	10%  { opacity: 1; }
	86%  { opacity: 1; }
	100% { transform: translateY(-150%); opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
	.tdc-od__viewer::before {
		content: ''; position: absolute; inset: auto 0 0 0; height: 46%; z-index: 2; pointer-events: none;
		background: linear-gradient(to top, rgba(0, 240, 255, 0) 0%, rgba(0, 240, 255, .08) 58%, rgba(0, 240, 255, .42) 94%, rgba(186, 246, 255, .85) 100%);
		animation: tdc-od-materialize 1.45s cubic-bezier(.22, .61, .36, 1) both;
	}
}
.tdc-od__viewer canvas { display: block; width: 100% !important; height: 100% !important; touch-action: none; cursor: grab; }
.tdc-od__viewer canvas:active { cursor: grabbing; }
.tdc-od__viewer.is-loading::after { content: ''; position: absolute; inset: 0; margin: auto; width: 40px; height: 40px; border-radius: 50%; border: 3px solid rgba(0, 240, 255, .25); border-top-color: var(--od-cyan); animation: tdc-od-spin .9s linear infinite; }
.tdc-od__viewer-fail { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: var(--space-lg, 24px); color: var(--od-muted); text-align: center; font-size: 14px; }
/* The dimensions sit UNDER the canvas, never on the model. */
.tdc-od__viewer-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin: -6px 2px 0; font-size: 13.5px; line-height: 1.4; color: var(--od-muted); }
.tdc-od__viewer-caption:empty { display: none; }
.tdc-od__viewer-dims { color: var(--od-ink); font-weight: 600; font-variant-numeric: tabular-nums; }

.tdc-od__file { display: flex; flex-wrap: wrap; gap: var(--space-sm, 8px) var(--space-lg, 24px); align-items: baseline; }
.tdc-od__file-name { flex: 1 1 100%; font-size: 17px; word-break: break-all; color: var(--od-ink); }
.tdc-od__file-meta { display: flex; flex-wrap: wrap; gap: var(--space-sm, 8px) var(--space-lg, 24px); margin: 0; }
.tdc-od__file-meta div { display: flex; flex-direction: column; }
.tdc-od__file-meta dt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--od-muted); }
.tdc-od__file-meta dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--od-ink); }
.tdc-od__pill { display: inline-block; padding: 4px 10px; border-radius: 999px; background: rgba(180, 74, 255, .16); color: var(--od-violet); font-size: 12px; font-weight: 600; }
.tdc-od__warn { margin: 0; padding: 10px 14px; border-radius: 10px; font-size: 14px; background: #2a210c; color: var(--od-warn); border: 1px solid rgba(255, 176, 32, .45); }
.tdc-od__warn.is-info { background: #0b1f26; color: #c9fbff; border-color: rgba(0, 240, 255, .4); }

.tdc-od__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm, 8px); align-self: flex-start; }
.tdc-od__action { min-height: 44px; padding: 10px 18px; font-size: 14.5px; border-radius: 10px; border: 1.5px solid; cursor: pointer; }
.tdc-od__action.tdc-od__newfile { background: transparent; color: var(--od-cyan-ink); border-color: rgba(0, 240, 255, .55); }
.tdc-od__action.tdc-od__newfile:hover, .tdc-od__action.tdc-od__newfile:focus-visible { background: rgba(0, 240, 255, .12); color: #fff; border-color: var(--od-cyan); }
.tdc-od__action--cancel { background: transparent; color: var(--od-muted); border-color: var(--od-line-strong); }
.tdc-od__action--cancel:hover, .tdc-od__action--cancel:focus-visible { color: var(--od-danger); border-color: rgba(255, 92, 92, .6); background: rgba(255, 92, 92, .08); }
.tdc-od__action--danger { background: #b02a2a; color: #fff; border-color: #b02a2a; }
.tdc-od__action--danger:hover, .tdc-od__action--danger:focus-visible { background: #8f1d1d; border-color: #8f1d1d; }
.tdc-od__action:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__confirm { align-self: flex-start; padding: 12px 14px; border: 1.5px solid rgba(255, 92, 92, .55); border-radius: 12px; background: #24111a; }
.tdc-od__confirm-q { margin: 0 0 10px; font-size: 14.5px; font-weight: 600; color: var(--od-ink); }
.tdc-od__confirm-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm, 8px); }
#tdc-od-cancel-msg { order: 0; margin: 0; }

/* ── options ── */
.tdc-od__config { display: flex; flex-direction: column; gap: var(--space-md, 16px); min-width: 0; }
.tdc-od__group { border: 0; padding: 0; margin: 0; min-width: 0; }
.tdc-od__group legend { padding: 0; margin-bottom: var(--space-sm, 8px); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--od-muted); }
.tdc-od__colour-name { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--od-ink); }
.tdc-od__materials { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-sm, 8px); }
.tdc-od__material { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1.5px solid var(--od-line-strong); border-radius: 12px; background: var(--od-raised); cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.tdc-od__material:hover { border-color: rgba(0, 240, 255, .55); }
.tdc-od__material input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.tdc-od__material:has(input:checked) { border-color: var(--od-cyan); background: #12262e; box-shadow: 0 0 0 3px rgba(0, 240, 255, .18); }
.tdc-od__material:has(input:focus-visible) { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__material-name { font-weight: 700; color: var(--od-ink); }
.tdc-od__material-desc { font-size: 12.5px; line-height: 1.35; color: var(--od-muted); }
.tdc-od__file-colours { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: var(--space-lg, 24px) 0 var(--space-xs, 6px); }
.tdc-od__file-colours.is-warning { padding: 10px 12px; border: 1px solid rgba(255, 149, 0, .5); border-radius: 10px; background: #2a1c0c; }
.tdc-od__file-colours.is-warning .tdc-od__file-colours-label { color: var(--od-amber); }
.tdc-od__file-colours[hidden] { display: none; }
.tdc-od__file-colours-label { font-size: 13px; font-weight: 600; color: var(--od-muted); }
.tdc-od__file-colours-label--soft { font-weight: 500; }
.tdc-od__file-colours-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-od__file-colour { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px 3px 4px; border: 1px solid var(--od-line-strong); border-radius: 999px; background: rgba(255, 255, 255, .04); }
.tdc-od__file-colour-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--chip, #888); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); }
.tdc-od__file-colour-hex { font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 11px; letter-spacing: .02em; color: var(--od-muted); font-variant-numeric: tabular-nums; }

.tdc-od__swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-od__swatch { width: 38px; height: 38px; padding: 0; border: 2px solid rgba(255, 255, 255, .22); border-radius: 50%; background: var(--dot, #888); cursor: pointer; box-shadow: inset 0 0 0 2px var(--od-surface); transition: transform .12s ease, box-shadow .12s ease; }
.tdc-od__swatch:hover { transform: scale(1.08); }
.tdc-od__swatch.is-selected { border-color: var(--od-cyan); box-shadow: inset 0 0 0 2px var(--od-surface), 0 0 0 3px rgba(0, 240, 255, .55); }
.tdc-od__swatch:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 3px; }
.tdc-od__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-sm, 8px) var(--space-md, 16px); }
.tdc-od__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tdc-od__field > span { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--od-muted); }
.tdc-od__field-desc { font-size: 12.5px; line-height: 1.35; color: var(--od-muted); }
.tdc-od__field-desc:empty { display: none; }
.tdc-od__field select, .tdc-od__field textarea, .tdc-od__qty input { width: 100%; min-height: 44px; padding: 8px 12px; border: 1.5px solid var(--od-line-strong); border-radius: 10px; background: var(--od-field); color: var(--od-ink); font: inherit; }
.tdc-od__field select option { background: var(--od-surface); color: var(--od-ink); }
.tdc-od__field select:focus-visible, .tdc-od__field textarea:focus-visible, .tdc-od__qty input:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 1px; border-color: var(--od-cyan); }
.tdc-od__qty { display: grid; grid-template-columns: 44px 1fr 44px; }
.tdc-od__qty button { min-height: 44px; border: 1.5px solid var(--od-line-strong); background: var(--od-raised); color: var(--od-ink); font-size: 20px; cursor: pointer; }
.tdc-od__qty button:hover { background: #24243a; }
.tdc-od__qty button:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 1px; }
.tdc-od__qty button:first-child { border-radius: 10px 0 0 10px; border-right: 0; }
.tdc-od__qty button:last-child { border-radius: 0 10px 10px 0; border-left: 0; }
.tdc-od__qty input { border-radius: 0; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.tdc-od__qty input::-webkit-inner-spin-button, .tdc-od__qty input::-webkit-outer-spin-button { -webkit-appearance: none; }
.tdc-od__toggle { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.4; cursor: pointer; color: var(--od-ink); }
/* Checkboxes that read as checkboxes on night (unticked was a solid dark square). */
.tdc-od__toggle input[type="checkbox"] {
	-webkit-appearance: none; appearance: none; flex: none; width: 22px; height: 22px; margin: 0; border: 2px solid #9a9bbd; border-radius: 6px;
	background: transparent center / 14px 14px no-repeat; cursor: pointer; transition: background-color .12s ease, border-color .12s ease;
}
.tdc-od__toggle input[type="checkbox"]:hover { border-color: var(--od-cyan); }
.tdc-od__toggle input[type="checkbox"]:checked {
	border-color: var(--od-cyan); background-color: var(--od-cyan);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5' fill='none' stroke='%230a0a14' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.tdc-od__toggle input[type="checkbox"]:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__toggle--rights { padding: 12px 14px; border-radius: 12px; background: var(--od-raised); border: 1px solid var(--od-line); }
.tdc-od__toggle--rights:has(input:checked) { border-color: rgba(0, 240, 255, .45); }
/* PMF-UX-20: the rights refusal sits right under its checkbox. */
.tdc-od__rights-msg { margin-top: -6px; }

/* ── price card ── */
.tdc-od__price { padding: var(--space-md, 16px) var(--space-lg, 24px); border-radius: 16px; background: #0b0b15; color: var(--od-ink); box-shadow: inset 0 0 0 1px rgba(0, 240, 255, .28), 0 0 40px rgba(0, 240, 255, .06); }
.tdc-od__price-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 6px; }
.tdc-od__badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: rgba(255, 176, 32, .18); color: var(--od-warn); }
.tdc-od__badge.is-precise { background: rgba(0, 229, 160, .16); color: var(--od-ok); }
/* PMF-UX-15: a failed slice has its own badge. */
.tdc-od__badge.is-failed { background: rgba(255, 149, 0, .12); color: var(--od-amber); box-shadow: inset 0 0 0 1px rgba(255, 149, 0, .5); }
.tdc-od__slicing, .tdc-od__updating { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--od-cyan-ink); }
.tdc-od__spinner { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(0, 240, 255, .3); border-top-color: var(--od-cyan); animation: tdc-od-spin .9s linear infinite; }
.tdc-od__spinner--lg { flex: none; width: 26px; height: 26px; border-width: 3px; }
@keyframes tdc-od-spin { to { transform: rotate(360deg); } }
/* PD-04: "Calculating your exact price…" in place of the number. */
.tdc-od__calc { display: flex; align-items: center; gap: 14px; padding: 10px 0 6px; }
.tdc-od__calc-text { display: flex; flex-direction: column; gap: 2px; }
.tdc-od__calc-text strong { font-size: 20px; line-height: 1.25; color: var(--od-ink); }
.tdc-od__calc-text small { font-size: 13px; line-height: 1.4; color: var(--od-cyan-ink); }
.tdc-od__price.is-calculating .tdc-od__badge,
.tdc-od__price.is-calculating .tdc-od__total,
.tdc-od__price.is-calculating .tdc-od__lines,
.tdc-od__price.is-calculating .tdc-od__breakdown,
.tdc-od__price.is-calculating .tdc-od__hint { display: none; }
.tdc-od__total { font-size: clamp(32px, 4vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; transition: opacity .15s ease; }
.tdc-od__total small { font-size: 14px; font-weight: 600; color: var(--od-muted); margin-left: 4px; }
/* PMF-UX-06: the last total stays, dimmed, while a re-quote is out or unconfirmed. */
.tdc-od__price.is-updating .tdc-od__total, .tdc-od__price.is-stale .tdc-od__total,
.tdc-od__price.is-updating .tdc-od__lines, .tdc-od__price.is-stale .tdc-od__lines,
.tdc-od__price.is-updating .tdc-od__breakdown dl, .tdc-od__price.is-stale .tdc-od__breakdown dl { opacity: .45; }
.tdc-od__lines, .tdc-od__breakdown dl { margin: var(--space-sm, 8px) 0 0; transition: opacity .15s ease; }
.tdc-od__lines div, .tdc-od__breakdown dl div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 14px; }
.tdc-od__lines dt, .tdc-od__breakdown dt { color: #d4d5ea; }
.tdc-od__lines dd, .tdc-od__breakdown dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; }
.tdc-od__breakdown { margin-top: var(--space-sm, 8px); font-size: 14px; }
.tdc-od__breakdown summary { cursor: pointer; color: var(--od-cyan-ink); }
.tdc-od__hint { margin: var(--space-sm, 8px) 0 0; font-size: 13px; line-height: 1.45; color: var(--od-muted); }
.tdc-od__hint:empty { display: none; }
/* PMF-UX-15: was out-specified to rgb(94,94,107) on #0a0a14 (3.08:1). */
.tdc-od__config .tdc-od__price .tdc-od__hint { color: var(--od-cyan-ink); }
.tdc-od__taxes { margin: 6px 0 0; font-size: 12.5px; color: var(--od-muted); }
.tdc-od__ship { margin: var(--space-sm, 8px) 0 0; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 13.5px; font-weight: 600; line-height: 1.4; color: var(--od-ink); }
.tdc-od__checkout { width: 100%; justify-content: center; }
.tdc-od__another { width: 100%; min-height: 48px; justify-content: center; padding: 10px 18px; background: transparent; color: var(--od-cyan-ink); border: 1.5px solid rgba(0, 240, 255, .55); border-radius: 10px; font-size: 15px; font-weight: 600; line-height: 1.3; white-space: normal; text-align: center; cursor: pointer; }
.tdc-od__another:hover, .tdc-od__another:focus-visible { background: rgba(0, 240, 255, .12); color: #fff; border-color: var(--od-cyan); }
.tdc-od__another:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__another:disabled, .tdc-od__checkout:disabled { opacity: .55; cursor: progress; }
.tdc-od__cart { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 8px; margin: 0 0 var(--space-md, 16px); padding: 10px 16px; border-radius: 999px; background: #0b1f26; border: 1px solid rgba(0, 240, 255, .4); color: var(--od-cyan-ink); font-size: 14.5px; font-weight: 600; line-height: 1.35; text-align: center; }
.tdc-od__cart[hidden] { display: none; }
.tdc-od__cart-link { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.tdc-od__cart-link:hover, .tdc-od__cart-link:focus-visible { color: var(--od-cyan); }

/* ── hero aside: the AI-assistant lines and the model link, on an opaque card ── */
.tdc-od-hero__aside { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; margin-top: 16px; padding: 14px 18px; border: 1px solid var(--od-line); border-radius: 16px; background: #0d0d18; }
.tdc-od-agent { flex: 1 1 420px; margin: 0; font-size: 14px; line-height: 1.5; color: var(--od-muted); }
.tdc-od-agent__q { display: block; color: var(--od-ink); font-weight: 700; }
.tdc-od-agent__a { display: block; }
.tdc-od-hero .tdc-od-hero__model-link { margin: 0; font-size: 14px; line-height: 1.5; }
.tdc-od-hero .tdc-od-hero__model-link a { display: inline-flex; align-items: center; min-height: 44px; color: var(--color-neon-cyan, #00f0ff); text-decoration: underline; text-underline-offset: 3px; }
.tdc-od-hero .tdc-od-hero__model-link a:focus-visible { outline: 3px solid var(--color-focus, #00f0ff); outline-offset: 4px; border-radius: 2px; }

/* ── page sections below the hero ── */
.tdc-od-materials { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg, 24px); }
.tdc-od-material { padding: var(--space-lg, 24px); }
.tdc-od-material__name { margin: 0 0 6px; font-size: 22px; }
.tdc-od-material__desc { margin: 0 0 var(--space-md, 16px); opacity: .85; }
.tdc-od-material__colours { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.tdc-od-material__colours li { display: inline-flex; align-items: center; gap: 6px; }
.tdc-od-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--dot); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.tdc-od-pricerows { display: grid; gap: var(--space-md, 16px); margin: 0; padding: 0; list-style: none; }
.tdc-od-pricerow { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.tdc-od-pricerow__icon { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 12px; background: rgba(0, 240, 255, .08); color: var(--color-neon-cyan, #00f0ff); box-shadow: 0 0 0 1px rgba(0, 240, 255, .22); }
.tdc-od-pricerow p { margin: 2px 0 0; color: inherit; opacity: .82; }
.tdc-od-trust__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-lg, 24px); }
.tdc-od-trust__item h3 { margin: var(--space-sm, 8px) 0 6px; font-size: 18px; }
.tdc-od-trust__item p { margin: 0; opacity: .82; }
.tdc-od-trust__icon { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 12px; color: #00f0ff; background: rgba(0, 240, 255, .08); box-shadow: 0 0 0 1px rgba(0, 240, 255, .25); }
.tdc-od-faq { display: grid; gap: 10px; }
.tdc-od-faq__item { padding: 14px 18px; border: 1px solid var(--od-line); border-radius: 12px; background: var(--od-surface); color: var(--od-ink); }
.tdc-od-faq__item summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 12px; color: var(--od-ink); }
.tdc-od-faq__item summary::-webkit-details-marker { display: none; }
.tdc-od-faq__item summary::after { content: '+'; font-weight: 400; color: var(--color-neon-cyan, #00f0ff); }
.tdc-od-faq__item[open] summary::after { content: '−'; }
.tdc-od-faq__item summary:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 4px; border-radius: 4px; }
.tdc-od-faq__item p { margin: 10px 0 0; color: var(--od-muted); line-height: 1.55; }
.tdc-od-faq__item a { color: var(--color-neon-cyan, #00f0ff); }
.tdc-od-samples__table { width: 100%; border-collapse: collapse; margin: var(--space-lg, 24px) 0 var(--space-sm, 8px); font-size: 15px; }
.tdc-od-samples__table th, .tdc-od-samples__table td { padding: 12px 14px; text-align: left; vertical-align: baseline; border-bottom: 1px solid rgba(128, 128, 148, .35); }
.tdc-od-samples__table thead th { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .78; }
.tdc-od-samples__table tbody th { font-weight: 600; }
.tdc-od-samples__table .tdc-od-samples__size { white-space: nowrap; opacity: .82; font-variant-numeric: tabular-nums; }
.tdc-od-samples__table .tdc-od-samples__price { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tdc-od-samples__table tbody .tdc-od-samples__price { font-weight: 700; font-size: 17px; }
.tdc-od-samples__note { margin: 0; font-size: 13px; opacity: .8; }
.tdc-od-crosslinks { margin: var(--space-lg, 24px) 0 0; font-size: 15px; line-height: 1.5; }
.tdc-od-crosslinks a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 479px) {
	.tdc-od-samples__table .tdc-od-samples__size { display: none; }
	.tdc-od-samples__table th, .tdc-od-samples__table td { padding: 10px 8px; }
}
@media (max-width: 767px) {
	.tdc-od-samples__table .tdc-od-samples__price { white-space: normal; }
}
.tdc-od-cta { text-align: center; }
.tdc-od-cta__other-title { margin: var(--space-2xl, 32px) 0 var(--space-md, 16px); font-size: 18px; }
.tdc-od-cta__other { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-md, 16px); text-align: left; }
.tdc-od-cta__card { display: flex; flex-direction: column; gap: 4px; padding: var(--space-md, 16px) var(--space-lg, 24px); text-decoration: none; color: inherit; }
.tdc-od-cta__card span { font-size: 14px; color: inherit; opacity: .8; }
.tdc-od-cta .tdc-od-model-platforms { margin: 0 0 var(--space-lg, 24px); text-align: left; }
.tdc-od-cta .tdc-od-model-platforms h4 { margin: 0 0 var(--space-sm, 8px); font-size: 18px; line-height: 1.3; }
.tdc-od-cta .tdc-od-model-platforms h4:focus { outline: 3px solid var(--color-focus, #00f0ff); outline-offset: 4px; }
.tdc-od-cta .tdc-od-model-platforms__intro { margin: 0 0 12px; font-size: 15px; line-height: 1.5; }
.tdc-od-cta .tdc-od-model-platforms__steps { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 12px; padding-left: 20px; font-size: 14px; line-height: 1.5; }
.tdc-od-cta .tdc-od-model-platforms__steps li { padding-right: 4px; }
.tdc-od-cta .tdc-od-model-platforms__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 16px; margin: 0 0 12px; padding: 0; list-style: none; }
.tdc-od-cta .tdc-od-model-platforms__links a { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 4px; min-height: 44px; padding: 6px 0; color: var(--color-neon-cyan, #00f0ff); text-decoration: underline; text-underline-offset: 3px; line-height: 1.4; }
.tdc-od-cta .tdc-od-model-platforms__links a:hover { color: var(--color-text-on-dark, #f0f0ff); }
.tdc-od-cta .tdc-od-model-platforms__links a:focus-visible { outline: 3px solid var(--color-focus, #00f0ff); outline-offset: 4px; border-radius: 2px; }
.tdc-od-cta .tdc-od-model-platforms__new-tab { font-size: 12px; }
.tdc-od-cta .tdc-od-model-platforms__note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--color-text-on-dark-muted, #b4b5cf); }

/* My Account / cart surfaces that share this sheet. */
.tdc-od-account__lede { margin-bottom: var(--space-md, 16px); }
.tdc-od-account__actions { white-space: nowrap; }
.tdc-od-account__delete { margin-left: 6px; }
.tdc-od-cart-thumb { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; border-radius: 10px; background: #0a0a14; color: #00f0ff; }

/* ── PMF-UX-19: the whole-page drop overlay ── */
.tdc-od-dropall[hidden] { display: none !important; }
.tdc-od-dropall { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(6, 6, 14, .8); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); pointer-events: none; }
.tdc-od-dropall__card { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 760px; padding: 48px 56px; border: 3px dashed var(--od-cyan); border-radius: 28px; background: #10101d; color: var(--od-ink); text-align: center; box-shadow: 0 0 80px rgba(0, 240, 255, .22); }
.tdc-od-dropall__card svg { color: var(--od-cyan); }
.tdc-od-dropall__card strong { font-size: clamp(22px, 3vw, 30px); line-height: 1.25; }
.tdc-od-dropall__card span { font-size: 14px; color: var(--od-muted); }

/* ── PMF-UX-03: the phone bar ── */
.tdc-od-bar[hidden] { display: none !important; }
.tdc-od-bar { display: none; }

@media (prefers-reduced-motion: reduce) {
	.tdc-od__drop, .tdc-od__material, .tdc-od__swatch, .tdc-od__total, .tdc-od__lines, .tdc-od__breakdown dl, .tdc-od__progress-bar span { transition: none; }
	.tdc-od__drop.is-over .tdc-od__drop-icon { animation: none; }
}

@media (max-width: 599px) {
	.tdc-od__studio { padding: var(--space-md, 16px); border-radius: 16px; }
	.tdc-od__total { font-size: 32px; }

	.tdc-od-hero__grid { row-gap: 0; }
	.tdc-od-hero__copy { display: contents; }
	.tdc-od-hero__copy > .figurine-kicker { order: 0; }
	.tdc-od-hero__copy > .landing-hero__title { order: 1; }
	.tdc-od-hero__app { order: 2; margin-top: var(--space-md, 16px); }
	.tdc-od-hero__copy > .landing-hero__subtitle { order: 3; margin-top: var(--space-lg, 24px); }
	.tdc-od-hero__copy > .tdc-od-hero__from { order: 1; margin: 0; }
	.tdc-od-hero__copy > .tdc-od-chips { order: 4; margin: var(--space-sm, 8px) 0 0; }

	.tdc-od__drop { min-height: 0; padding: var(--space-md, 16px); }
	.tdc-od__drop-inner { gap: 10px; }
	.tdc-od__drop-icon, .tdc-od__drop-or { display: none; }
	.tdc-od__browse { order: 1; width: 100%; pointer-events: auto; }
	.tdc-od__drop-title { order: 2; font-size: var(--text-sm, 14px); font-weight: 600; color: var(--od-muted); }
	.tdc-od__drop-formats { order: 3; margin-top: 0; }
	.tdc-od__progress { padding: 14px 16px; gap: 8px; }
	.tdc-od__secure { border-radius: 14px; text-align: left; }

	/* PD-01: "File on your computer? Send yourself this page." */
	.tdc-od__handoff { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 12px 14px; border: 1px solid var(--od-line); border-radius: 14px; background: #0d0d18; color: var(--od-ink); }
	.tdc-od__handoff-q { margin: 0; font-size: 14px; font-weight: 700; }
	.tdc-od__handoff-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
	.tdc-od__handoff-send { min-height: 44px; padding: 8px 16px; border: 1.5px solid rgba(0, 240, 255, .6); border-radius: 999px; background: rgba(0, 240, 255, .08); color: var(--od-cyan-ink); font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; }
	.tdc-od__handoff-send:focus-visible { outline: 2px solid var(--od-cyan); outline-offset: 2px; }
	.tdc-od__handoff-mail { display: inline-flex; align-items: center; min-height: 44px; color: var(--color-neon-cyan, #00f0ff); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
	.tdc-od__handoff-status { margin: 0; font-size: 13px; color: var(--od-ok); }
	.tdc-od__handoff-status:empty { display: none; }

	.tdc-od-hero__aside { padding: 12px 14px; }
	.tdc-od-agent { flex-basis: 100%; }

	.tdc-od-sticky:not([hidden]) {
		position: fixed; left: 12px; right: 12px;
		bottom: calc(12px + var(--tdc-consent-h, 0px) + env(safe-area-inset-bottom, 0px));
		z-index: 95; display: flex; align-items: center; justify-content: center;
		min-height: 52px; margin: 0; padding: .875rem 1.5rem;
		border: 2px solid var(--color-cta, #ff5c5c); border-radius: var(--radius-full, 9999px);
		background: var(--color-cta, #ff5c5c); color: var(--color-on-cta, #0a0a14);
		font-family: inherit; font-size: var(--text-base, 16px); font-weight: var(--weight-semibold, 600);
		line-height: 1; letter-spacing: var(--tracking-wide, .05em); white-space: nowrap; text-decoration: none;
		box-shadow: 0 8px 30px rgba(0, 0, 0, .4), var(--glow-cta-md, 0 4px 20px rgba(255, 92, 92, .4));
		cursor: pointer;
	}
	.tdc-od-sticky:not([hidden]):focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 3px; }
	:root:has(.floating-cart[aria-hidden="false"]) .tdc-od-sticky:not([hidden]) { right: 68px; }
	:root:has(.tdc-od.has-job) .tdc-od-sticky { display: none; }

	/* The bar sits on the theme's published consent clearance, like the PDP and cart bars. */
	.tdc-od-bar:not([hidden]) {
		position: fixed; left: 0; right: 0; bottom: var(--tdc-consent-h, 0px); z-index: var(--z-sticky, 100);
		display: flex; align-items: center; gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		background: rgba(12, 12, 22, .97); border-top: 1px solid rgba(0, 240, 255, .4);
		box-shadow: 0 -12px 32px rgba(0, 0, 0, .55); color: var(--od-ink);
	}
	.tdc-od-bar__price { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
	.tdc-od-bar__badge { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--od-warn); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.tdc-od-bar__badge:empty { display: none; }
	.tdc-od-bar.is-precise .tdc-od-bar__badge { color: var(--od-ok); }
	.tdc-od-bar.is-failed .tdc-od-bar__badge { color: var(--od-amber); }
	.tdc-od-bar__total { font-size: 22px; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; transition: opacity .15s ease; }
	.tdc-od-bar.is-stale .tdc-od-bar__total { opacity: .5; }
	.tdc-od-bar.is-calculating .tdc-od-bar__total { font-size: 15px; font-weight: 600; color: var(--od-cyan-ink); }
	.tdc-od-bar__go { flex: none; min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--radius-full, 9999px); background: var(--od-cta); color: var(--od-on-cta); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: var(--glow-cta-md, 0 4px 20px rgba(255, 92, 92, .4)); }
	.tdc-od-bar__go:disabled { opacity: .55; cursor: progress; box-shadow: none; }
	.tdc-od-bar__go:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 3px; }
	/* Room for the bar at the end of the page, and the theme's back-to-top
	   steps aside while it is open (PMF-UX-22), the theme's own inert treatment. */
	body.page-print-my-file:has(#tdc-od-bar:not([hidden])) { padding-bottom: calc(76px + var(--tdc-consent-h, 0px)); }
	body.page-print-my-file:has(#tdc-od-bar:not([hidden])) .back-to-top { opacity: 0; visibility: hidden; pointer-events: none; }

	.tdc-od-cta .tdc-od-model-platforms__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
