:root{--ink:#171916;--paper:#fffaf0;--line:#d5ddd8;--blue:#2f5bea;--muted:#5f645f;--panel:#fff;--shadow:8px 8px 0 #171916}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}.eyebrow{font-size:.76rem;font-weight:900;letter-spacing:.15em}.editor-intro{max-width:1440px;margin:0 auto;padding:24px 32px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:center}.editor-intro h1{max-width:850px;margin:0 0 8px;font-size:32px;line-height:1.2;letter-spacing:normal}.editor-intro>div>p{max-width:760px;margin:0;color:#525852;font-size:1.18rem;line-height:1.55}.editor-intro aside{color:var(--muted);font-size:14px;line-height:1.5}.editor-intro aside p{margin:9px 0 0;color:var(--muted);line-height:1.5}.editor-shell{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f2f0ea}.editor-toolbar{position:sticky;top:var(--editor-header-height,82px);z-index:20;display:flex;gap:12px;align-items:end;padding:14px 22px;border-bottom:1px solid var(--line);background:rgba(255,250,240,.96);backdrop-filter:blur(8px)}.editor-toolbar label{display:grid;gap:5px;min-width:min(360px,40vw);font-size:.85rem;font-weight:600;letter-spacing:normal}.editor-toolbar select,.editor-toolbar button,.control-column input,.control-column select,.control-column button{min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:400}.editor-toolbar select,.control-column input,.control-column select{padding:9px 11px}.editor-toolbar button,.control-column button{padding:8px 16px;cursor:pointer;font-weight:600}.editor-toolbar button:focus-visible,.control-column :focus-visible,.design-element:focus-visible{outline:4px solid #ffce3a;outline-offset:2px}.history-actions,.finish-actions{display:flex;gap:8px}.finish-actions{margin-left:auto}.editor-toolbar .primary{background:var(--blue);color:#fff}.editor-toolbar button:disabled{opacity:.42;cursor:not-allowed}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:760px}.preview-column{padding:26px 30px 50px;min-width:0}.preview-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:0 auto 18px;max-width:930px}.preview-heading h2{margin:6px 0 0;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.035em}.preview-heading p{margin:0;color:var(--muted);text-align:right}.surface-stage{display:flex;align-items:flex-start;justify-content:center;min-height:620px;padding:24px;overflow:auto;background-color:#dfddd6;background-image:linear-gradient(45deg,#d1cfc8 25%,transparent 25%),linear-gradient(-45deg,#d1cfc8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d1cfc8 75%),linear-gradient(-45deg,transparent 75%,#d1cfc8 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.design-surface{position:relative;container-type:inline-size;flex:0 0 auto;width:min(100%,700px);aspect-ratio:var(--surface-ratio,8.5/11);overflow:hidden;background:var(--surface-background,#fff);box-shadow:0 16px 40px rgba(0,0,0,.2);isolation:isolate;touch-action:none}.design-element{position:absolute;display:flex;min-width:0;min-height:0;overflow:hidden}.design-element[data-editable="true"]{cursor:move}.design-element.selected{outline:3px dashed #2f5bea;outline-offset:-2px;z-index:8}.design-shape{z-index:-2}.design-image{align-items:center;justify-content:center;background:linear-gradient(145deg,#cfd8d5,#f7f0e4 48%,#abbab4)}.design-image img{width:100%;height:100%;object-fit:var(--image-fit,cover);object-position:var(--image-position,50% 50%);transform:scale(var(--image-scale,1));transform-origin:var(--image-position,50% 50%);pointer-events:none}.photo-placeholder{max-width:70%;text-align:center;color:#36443f;font:800 4.1cqw/1.1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.design-text{z-index:2;align-items:center;white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--text-line-height,1.05);letter-spacing:var(--text-letter-spacing,0);text-align:var(--text-align,left);font-size:var(--text-size);font-weight:var(--text-weight,700);font-family:var(--text-font,Arial,sans-serif);color:var(--text-color,#171916);text-shadow:var(--text-shadow,none)}.design-status{text-transform:uppercase;letter-spacing:.06em}.design-qr{z-index:3;align-items:center;justify-content:center;background:#fff;padding:4px}.design-qr svg,.design-qr canvas,.design-qr img{display:block;width:100%!important;height:100%!important}.status-line{max-width:930px;min-height:1.5em;margin:14px auto 0;color:#3d443f;font-weight:700}.status-line.error{color:#a32222}.control-column{border-left:1px solid var(--line);background:#fff}.control-column details{border-bottom:1px solid #b9bbb6}.control-column summary{padding:20px 22px;cursor:pointer;font-size:1rem;font-weight:600;list-style:none}.control-column summary::-webkit-details-marker{display:none}.control-column summary::after{content:'+';float:right;color:#2f5bea}.control-column details[open] summary::after{content:'−'}.control-group{display:grid;gap:14px;padding:0 22px 24px}.control-group label{display:grid;gap:6px;font-weight:600;font-size:.9rem}.two-fields,.three-fields{display:grid;gap:10px}.two-fields{grid-template-columns:1fr 1fr}.three-fields{grid-template-columns:repeat(3,1fr)}.control-column input[type="range"]{min-height:28px;border:0;padding:0;accent-color:var(--blue)}.control-column input[type="color"]{padding:3px;height:44px}.control-column small,.control-note{color:var(--muted);line-height:1.45}.move-pad{display:grid;grid-template-columns:repeat(3,54px);justify-content:center;gap:6px}.move-pad button{padding:0;font-size:1.15rem}.secondary-wide{width:100%}.print-root{display:none}
@media(max-width:900px){.editor-intro{grid-template-columns:1fr;padding:20px 16px}.editor-intro aside{max-width:520px}.editor-toolbar{top:var(--editor-header-height,70px);align-items:stretch;flex-wrap:wrap}.editor-toolbar label{min-width:100%}.finish-actions{margin-left:0}.editor-layout{grid-template-columns:1fr}.control-column{border-top:1px solid var(--line);border-left:0}.surface-stage{min-height:460px;padding:14px}.preview-column{padding:22px 12px 34px}}@media(max-width:520px){.editor-intro h1{font-size:28px}.editor-toolbar{padding:12px}.editor-toolbar button{flex:1;padding:8px}.history-actions,.finish-actions{width:100%}.preview-heading{align-items:start;flex-direction:column}.preview-heading p{text-align:left}.two-fields,.three-fields{grid-template-columns:1fr}.control-column summary,.control-group{padding-left:16px;padding-right:16px}}
/* Center the working page; artwork keeps its existing responsive fit. */
@media screen{
  .editor-shell[data-workspace="centered"]{width:calc(100% - 48px);max-width:1440px;margin-inline:auto}
}
@media screen and (max-width:900px){
  .editor-shell[data-workspace="centered"]{width:calc(100% - 24px)}
}
.editor-help{width:calc(100% - 48px);max-width:1440px;margin:48px auto;padding:0 24px;color:var(--ink);line-height:1.6}
.editor-help h2{margin:28px 0 16px;font-size:24px;line-height:1.25}
.dedicated-card-link{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;padding:10px 18px;border:1px solid #244f43;border-radius:7px;background:#244f43;color:#fff;text-decoration:none;font-weight:600}
.dedicated-card-link:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.editor-help h3{margin:0 0 8px;font-size:18px;line-height:1.35}
.editor-help p{margin:0;color:var(--muted)}
.editor-help-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-left:22px;margin:0 0 32px}
.editor-help-steps li{padding-left:4px}
.editor-help details{border-top:1px solid var(--line);padding:0 0 16px}
.editor-help details:last-child{border-bottom:1px solid var(--line)}
.editor-help summary{padding:16px 0 0;min-height:44px;cursor:pointer;font-weight:600}
.editor-help details p{max-width:85ch;margin-top:12px}
.editor-help summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:900px){.editor-help{width:calc(100% - 24px);padding:0 4px}.editor-help-steps{grid-template-columns:1fr;gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .site-header,main,.site-footer{display:none!important}
  .print-root{display:block!important;margin:0!important;padding:0!important}
  .print-root>.design-surface{
    display:block!important;
    position:relative!important;
    width:var(--print-width)!important;
    height:var(--print-height)!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
    box-shadow:none!important;
    container-type:inline-size;
    isolation:isolate;
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .print-root .design-text{font-size:var(--print-text-size,var(--text-size))!important}
  .print-root .design-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:var(--image-fit,cover)!important;
    object-position:var(--image-position,50% 50%)!important;
    transform:scale(var(--image-scale,1))!important;
    transform-origin:var(--image-position,50% 50%)!important;
  }
  .design-element.selected{outline:0}
  .photo-placeholder,.editor-only-placeholder{visibility:hidden!important}
}

/* Shared header rhythm and intrinsic-size guards for the editor controls. */
.site-nav{display:flex;width:min(1440px,calc(100% - 48px));min-height:80px;margin:0 auto;align-items:center;justify-content:space-between;gap:28px;padding:16px 0}
.site-nav nav{display:flex;align-items:center;gap:22px}
.editor-toolbar select{width:100%;min-width:0}
.control-group label,.two-fields,.three-fields{min-width:0}
.two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.three-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.control-column input,.control-column select{width:100%;min-width:0}

/* The kit is a thin workspace over the shared editor, not a second editor. */
.kit-workspace{padding:24px 28px 26px;border-bottom:1px solid var(--line);background:#fff}
.kit-workspace-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:32px;align-items:end;max-width:1384px;margin:0 auto 20px}
.kit-workspace-heading h2{margin:6px 0 0;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;letter-spacing:-.04em}
.kit-workspace-heading p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5}
.kit-theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1384px;margin:0 auto}
.kit-theme-card{display:grid;min-width:0;min-height:118px;padding:16px;text-align:left;border:1px solid var(--line);background:var(--kit-card,#f4efe4);color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--line)}
.kit-theme-card strong{font-size:1rem}.kit-theme-card span{margin-top:8px;color:#4f5550;font-size:.82rem;line-height:1.35;font-weight:500}
.kit-theme-card[aria-pressed="true"]{outline:4px solid var(--blue);outline-offset:-6px;box-shadow:6px 6px 0 var(--line)}
.kit-theme-card:nth-child(1){--kit-card:#efe3ce}.kit-theme-card:nth-child(2){--kit-card:#e5ecff}.kit-theme-card:nth-child(3){--kit-card:#f6dfd2}.kit-theme-card:nth-child(4){--kit-card:#dfe8e4}
.kit-output-list{display:flex;flex-wrap:wrap;gap:8px;max-width:1384px;margin:18px auto 0}
.kit-output-button{min-height:42px;padding:9px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);font:700 .9rem/1 Arial,sans-serif;cursor:pointer}
.kit-output-button[aria-pressed="true"]{background:var(--ink);color:#fff}
.kit-theme-card:focus-visible,.kit-output-button:focus-visible{outline:4px solid #ffce3a;outline-offset:2px}

@media(max-width:620px){
  .site-nav{width:calc(100% - 24px);min-height:68px;padding:12px 0}
  .site-nav nav{gap:10px}
  .site-nav nav a:not(.nav-pill){display:none}
  .kit-workspace{padding:20px 12px 22px}
  .kit-workspace-heading{grid-template-columns:1fr;gap:10px}
  .kit-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .kit-theme-card{min-height:112px;padding:13px;box-shadow:3px 3px 0 var(--line)}
  .kit-output-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .kit-output-button{padding:9px 8px;font-size:.82rem}
}

/* Task-specific controls are generated from the shared maker registry. */
.control-column textarea{
  width:100%;
  min-width:0;
  min-height:96px;
  padding:9px 11px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:0;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:700;
  line-height:1.45;
}

.design-line{z-index:1}
.design-qr.qr-placeholder{padding:1.2cqw;text-align:center;color:#59615b;font:800 1.7cqw/1.15 Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.design-table,.design-rating-grid,.design-write-lines{z-index:2;color:var(--surface-foreground,#171916);font-family:var(--text-font,Arial,sans-serif)}
.print-table-grid{display:grid;width:100%;height:100%;grid-template-columns:repeat(var(--table-columns),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);border:1px solid currentColor;border-right:0;border-bottom:0;background:rgba(255,255,255,.72)}
.print-table-grid>*{display:flex;min-width:0;align-items:center;padding:.55cqw .7cqw;border-right:1px solid currentColor;border-bottom:1px solid currentColor;font-size:1.55cqw;overflow:hidden}
.print-table-grid strong{background:rgba(0,0,0,.035);font-size:1.45cqw;letter-spacing:.02em}
.rating-table-grid{display:grid;width:100%;height:100%;grid-template-columns:minmax(0,1fr) minmax(8.5cqw,.6fr);grid-auto-rows:minmax(0,1fr);border-top:1px solid currentColor;border-left:1px solid currentColor;background:rgba(255,255,255,.68)}
.rating-table-grid>*{display:flex;min-width:0;align-items:center;padding:.5cqw .8cqw;border-right:1px solid currentColor;border-bottom:1px solid currentColor;font-size:1.55cqw}
.rating-prompt{font-size:1.45cqw!important;letter-spacing:.015em}.rating-legend,.rating-choices{justify-content:space-around;white-space:pre;font-weight:800}.rating-label{font-weight:700}
.design-write-lines{display:flex;flex-direction:column;align-items:stretch;gap:.65cqw;font-size:1.55cqw;line-height:1.2}
.design-write-lines>strong{flex:none}.writing-lines{display:grid;min-height:0;flex:1;grid-template-rows:repeat(var(--writing-rows,4),minmax(0,1fr))}.writing-lines span{border-bottom:1px solid currentColor}
/* Selecting a photo must never move it above the finished copy. */
.design-image,.design-image.selected{z-index:0}
.design-agent-logo{background:transparent}
.design-agent-logo .editor-only-placeholder{max-width:100%;padding:.65cqw;border:1px dashed currentColor;color:#5f645f;font:800 1.45cqw/1.15 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.design-text{overflow:visible}
.design-text.has-white-outline{-webkit-text-stroke:.22cqw rgba(255,255,255,.96);paint-order:stroke fill}
.design-text.has-back-glow{text-shadow:0 0 .3cqw rgba(255,255,255,.98),0 0 .85cqw rgba(255,255,255,.78)}
.check-control{display:flex!important;min-height:44px;align-items:center;gap:10px}.check-control input{width:20px!important;height:20px!important;min-height:0!important;padding:0!important;accent-color:var(--blue)}
.control-column textarea{width:100%;min-height:84px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:400;line-height:1.35;resize:vertical}.control-column textarea:focus-visible{outline:4px solid #ffce3a;outline-offset:2px}
.design-bullet-list{z-index:2;color:var(--surface-foreground,#171916);font-family:var(--text-font,Arial,sans-serif)}
.design-bullet-items{display:grid;height:100%;margin:0;padding:0;grid-template-columns:repeat(var(--bullet-columns,1),minmax(0,1fr));align-content:start;gap:.7cqw 2cqw;list-style:none;font-size:1.75cqw;line-height:1.28}
.design-bullet-items li{position:relative;padding-left:1.2cqw}.design-bullet-items li:before{position:absolute;left:0;content:'—';color:var(--surface-accent,currentColor);font-weight:900}
.design-surface[data-artwork-revision="1"] .design-bullet-items li{padding-left:2.5cqw}
.card-tools-row{display:grid;width:100%;margin:0 0 14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.card-workbar,.card-logo-workbar{width:100%;min-width:0;box-sizing:border-box;margin:0;padding:10px 12px;border:1px solid var(--line);background:#fff;box-shadow:5px 5px 0 var(--line)}
.card-workbar{display:grid;gap:8px;align-items:stretch;align-content:start}.side-switcher{display:flex;gap:5px;flex:0 0 auto}.side-switcher button{min-width:48px;min-height:34px;padding:6px 9px;border:1px solid var(--line);background:#fff;color:var(--ink);font:800 .72rem/1 Arial,sans-serif;cursor:pointer}.side-switcher button[aria-pressed="true"]{background:var(--ink);color:#fff}.side-switcher button:focus-visible{outline:4px solid #ffce3a;outline-offset:2px}
.card-background-controls,.card-logo-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;align-items:end;min-width:0;width:100%}.card-background-controls label,.card-logo-controls label{display:grid;min-width:0;gap:5px;color:#4d534e;font:800 .7rem/1.15 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.card-background-controls output,.card-logo-controls output{justify-self:end;color:var(--ink)}.card-background-controls input[type="range"],.card-logo-controls input[type="range"]{width:100%;min-width:0;min-height:22px;margin:0;accent-color:var(--blue)}.card-background-upload,.card-logo-upload{position:relative;min-height:42px;padding:0 12px;border:1px solid var(--line);place-content:center;background:#fffaf0;color:var(--ink)!important;cursor:pointer;text-align:center}.card-background-upload input,.card-logo-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.card-background-upload:focus-within,.card-logo-upload:focus-within{outline:4px solid #ffce3a;outline-offset:2px}.card-background-color{grid-template-columns:1fr 42px!important;align-items:center;min-height:42px;padding-left:10px;border:1px solid var(--line);background:#fff}.card-background-color span,.card-logo-visible span{display:flex;gap:6px;align-items:center}.card-background-color input[type="checkbox"],.card-logo-visible input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:var(--blue)}.card-background-color input[type="color"]{width:42px;height:38px;padding:2px;border:0;background:#fff;cursor:pointer}
.card-logo-workbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.card-asset-heading{display:grid;gap:3px;align-items:baseline}.card-asset-heading strong{font:900 .92rem/1 Arial,sans-serif}.card-asset-heading small{max-width:145px;color:#626862;font:600 .61rem/1.2 Arial,sans-serif}.card-logo-controls{grid-template-columns:minmax(88px,1.15fr) minmax(76px,.9fr) repeat(3,minmax(64px,1fr));gap:7px;align-items:end}.card-logo-controls label{font-size:.6rem}.card-logo-upload,.card-logo-visible{min-height:34px;padding:0 7px}.card-logo-upload{font-size:.66rem}.card-logo-visible{border:1px solid var(--line);place-content:center;background:#fff}.card-logo-controls input[type="range"]{min-height:18px}
.card-background-controls{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(260px,1.1fr);gap:8px;align-items:end}.card-background-actions{display:flex;min-width:0;gap:5px;align-items:stretch}.card-background-actions .card-background-upload{flex:1 1 82px;min-width:70px;min-height:34px;padding:0 6px;font-size:.63rem}.card-background-actions .card-background-color{flex:1 1 82px;min-width:76px;min-height:34px;padding-left:5px;grid-template-columns:1fr 30px!important}.card-background-actions .card-background-color input[type="color"]{width:30px;height:30px}.card-background-sliders{display:grid;grid-template-columns:repeat(4,minmax(56px,1fr));gap:7px;align-items:end}.card-background-sliders label{font-size:.59rem}.card-background-sliders input[type="range"]{min-height:18px}

@media(max-width:1180px){.card-logo-workbar{grid-template-columns:1fr}.card-asset-heading{grid-template-columns:auto 1fr}.card-asset-heading small{max-width:none;text-align:right}.card-background-controls{grid-template-columns:1fr}.card-logo-controls{grid-template-columns:repeat(5,minmax(54px,1fr))}}
@media(max-width:760px){.card-tools-row{grid-template-columns:1fr}.card-logo-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.card-logo-upload{grid-column:1/-1}.side-switcher button{flex:1;min-width:0}.card-background-actions,.side-switcher{width:100%}.card-asset-heading{grid-template-columns:1fr}.card-asset-heading small{text-align:left}}
@media(max-width:430px){.card-background-actions{flex-wrap:wrap}.card-background-actions .side-switcher{flex:1 0 100%}.card-background-sliders{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Business-card editor toolbar: full-width when space permits, then wraps
   by control group so no button, slider, or label can escape its panel. */
.editor-toolbar{flex-wrap:wrap}
.toolbar-template-meta{flex:1 1 280px;min-width:220px;display:grid;gap:2px;align-self:center;text-align:center;line-height:1.12}
.toolbar-template-purpose{font-size:.62rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.toolbar-template-meta strong{overflow-wrap:anywhere;font-size:.95rem}
.toolbar-size-label{color:var(--muted);font-size:.68rem;font-weight:700}
.card-tools-row>*{max-width:100%}
.card-logo-controls{grid-template-columns:repeat(auto-fit,minmax(66px,1fr))}
.card-background-actions{flex-wrap:wrap}
.card-background-sliders{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))}
.card-background-actions>*{max-width:100%}

@media(min-width:1181px){
  .card-logo-workbar,.card-workbar{overflow:clip}
  .card-asset-heading{width:128px}
  .card-asset-heading small{max-width:128px}
  .card-logo-controls{grid-template-columns:86px 76px repeat(3,minmax(46px,1fr));gap:6px}
  .card-logo-upload,.card-logo-visible{min-height:28px;padding-inline:6px;font-size:.56rem;letter-spacing:.035em}
  .card-logo-visible input[type="checkbox"]{width:15px;height:15px}
  .card-logo-controls input[type="range"]{min-height:16px}
  .card-background-controls{grid-template-columns:max-content minmax(0,1fr);gap:10px}
  .card-background-actions{flex-wrap:nowrap}
  .card-background-actions .side-switcher{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,max-content)}
  .card-background-actions .side-switcher button{min-width:0;min-height:28px;padding:3px 4px;font-size:.59rem}
  .card-background-actions .card-background-upload{flex:0 0 auto;min-width:0;min-height:28px;width:auto;padding-inline:6px;font-size:.56rem;letter-spacing:.035em}
  .card-background-actions .card-background-color{flex:0 0 auto;min-width:0;min-height:28px;width:auto;padding-left:5px;font-size:.56rem;letter-spacing:.035em;grid-template-columns:1fr 24px!important}
  .card-background-actions .card-background-color input[type="checkbox"]{width:15px;height:15px}
  .card-background-actions .card-background-color input[type="color"]{width:24px;height:24px;padding:1px}
  .card-background-sliders{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
}

@media(max-width:980px){
  .toolbar-template-meta{order:3;flex-basis:100%;text-align:left}
  .editor-toolbar .finish-actions{margin-left:auto}
}

@media(max-width:760px){
  .toolbar-template-meta{min-width:0}
  .card-logo-controls,.card-background-sliders{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card-logo-controls>*:first-child{grid-column:1/-1}
}

@media print{.print-root>.design-surface{break-after:page;page-break-after:always}.print-root>.design-surface:last-child{break-after:auto;page-break-after:auto}}

/* Keep the active design in view while the full control stack follows the page. */
@media (min-width:901px){
  body.real-estate-follow-workspace .editor-layout{align-items:start}
  body.real-estate-follow-workspace .preview-column{
    position:sticky;
    top:calc(var(--editor-header-height,82px) + var(--editor-toolbar-height,94px) + 12px);
    align-self:start;
  }
  body.real-estate-follow-workspace .control-column{
    align-self:stretch;
    min-height:100%;
  }
}

/* U.S. Letter business-card imposition: eight 3.5 x 2 inch cards per side,
   each carried inside a 0.125 inch bleed area. Front and back sheets use the
   same grid so duplex output stays registered. */
.business-card-print-sheet{display:grid;width:8.5in;height:11in;grid-template-columns:repeat(var(--sheet-columns,2),var(--card-bleed-width,3.75in));grid-template-rows:repeat(var(--sheet-rows,4),var(--card-bleed-height,2.25in));gap:var(--sheet-row-gap,.25in) var(--sheet-column-gap,.25in);place-content:center;background:#fff}
.business-card-print-slot{position:relative;width:var(--card-bleed-width,3.75in);height:var(--card-bleed-height,2.25in);overflow:visible}
.business-card-print-card{display:block!important;position:absolute!important;inset:0;width:var(--card-bleed-width,3.75in)!important;height:var(--card-bleed-height,2.25in)!important;max-width:none!important;margin:0!important;overflow:hidden!important;box-shadow:none!important;container-type:inline-size;isolation:isolate}
.business-card-crop-marks{position:absolute;z-index:50;inset:0;pointer-events:none;color:#111}
.business-card-crop-marks i{position:absolute;width:var(--card-bleed,.125in);height:var(--card-bleed,.125in)}
.business-card-crop-marks i::before,.business-card-crop-marks i::after{position:absolute;display:block;background:currentColor;content:''}
.business-card-crop-marks i::before{width:calc(var(--card-bleed,.125in) - .025in);height:.006in;top:calc(var(--card-bleed,.125in) - .006in)}
.business-card-crop-marks i::after{width:.006in;height:calc(var(--card-bleed,.125in) - .025in);left:calc(var(--card-bleed,.125in) - .006in)}
.business-card-crop-marks .top-left{left:0;top:0}
.business-card-crop-marks .top-right{right:0;top:0;transform:scaleX(-1)}
.business-card-crop-marks .bottom-left{left:0;bottom:0;transform:scaleY(-1)}
.business-card-crop-marks .bottom-right{right:0;bottom:0;transform:scale(-1)}

@media print{
  .business-card-print-sheet{display:grid!important;break-after:page;page-break-after:always}
  .business-card-print-sheet:last-child{break-after:auto;page-break-after:auto}
  .business-card-print-card .design-text{font-size:var(--print-text-size,var(--text-size))!important}
  .business-card-print-card .design-image img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:var(--image-fit,cover)!important;object-position:var(--image-position,50% 50%)!important;transform:scale(var(--image-scale,1))!important;transform-origin:var(--image-position,50% 50%)!important}
}
