/* Product and checkout only. Palette/radii come from reset.css; control spacing follows existing cards. */
.print-design{margin:1.6rem 0;color:var(--gray-800);font-size:1.4rem}
.product-page .print-design{margin:0 16px 16px}
.print-design__title{display:block;margin-bottom:1.2rem;font-weight:var(--font-weight-semibold)}
.print-design__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.print-design__choices:has(> :only-child){grid-template-columns:1fr}
.print-design__choices:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.print-design__choice{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:4.8rem;padding:1.2rem .8rem;border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--white);color:var(--gray-700);font:inherit;cursor:pointer}
.print-design__choice[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--brand-color-1);color:var(--brand-color-1);font-weight:var(--font-weight-semibold)}
.print-design__choice:focus-visible,.print-design a:focus-visible,.print-design button:focus-visible{outline:2px solid var(--brand-color-1);outline-offset:3px}
.print-design__panel{margin-top:1.2rem;padding:1.6rem;border:1px solid var(--color-primary-border);border-radius:var(--radius-control);background:linear-gradient(135deg,var(--color-primary-soft),var(--white))}
.print-design__panel[hidden],.print-design__actions[hidden]{display:none}
.print-design__head,.print-design__actions{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
.print-design__brand{color:var(--brand-color-1);font-weight:var(--font-weight-bold)}
.print-design__hint,.print-design__status{margin:.8rem 0;color:var(--gray-600);line-height:1.6;overflow-wrap:anywhere}
.print-design__panel>.print-design__hint:last-child{margin-bottom:0}
.print-design__panel>.print-design__hint:first-child{margin-top:0}
.print-design__status:empty{display:none}
.print-design__status[data-ready=true]{color:var(--brand-color-3)}
.print-design__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin:1.2rem 0}
.print-design__grid:empty{display:none}
.print-design__template{border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);background:var(--white);overflow:hidden;text-align:left;font:inherit;cursor:pointer}
.print-design__template img{width:100%;aspect-ratio:1.45;object-fit:contain;background:var(--gray-100)}
.print-design__template span{display:block;padding:.8rem;overflow-wrap:anywhere}
.print-design__template[aria-pressed=true]{border-color:var(--brand-color-1);box-shadow:0 0 0 1px var(--brand-color-1)}
.print-design__link{color:var(--brand-color-1);text-decoration:underline;text-underline-offset:3px}
.print-design__service{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:1.2rem}
.print-design__service label{display:flex;align-items:center;gap:.8rem;cursor:pointer}
.print-design__service input{accent-color:var(--brand-color-1)}
.print-design .btn-action-primary{padding:1.2rem 1.6rem;min-height:4.8rem;border-radius:var(--radius-control);background:var(--brand-color-1);color:var(--white);font:inherit}
.print-design .btn-action-primary:disabled{opacity:.65;cursor:wait}
@media(max-width:767.98px){.product-page .print-design{margin:0 14px 14px}}
@media(max-width:576px){.print-design .print-design__choices{grid-template-columns:1fr}.print-design__choice{justify-content:flex-start}.print-design__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print-design__actions .btn-action-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.print-design *{scroll-behavior:auto;transition:none}}

/* Long selected values move within the label; the dropdown arrow stays fixed. */
.product-page .product-config-card__section-edit .variant-selected-value:has(.config-value-text){text-overflow:clip}
.config-value-text{display:block;width:max-content;min-width:100%;white-space:nowrap}
.variant-selected-value.is-overflowing .config-value-text{animation:config-value-scroll var(--config-value-duration) linear infinite}
@keyframes config-value-scroll{0%,15%{transform:translateX(0)}85%,100%{transform:translateX(var(--config-value-travel))}}
@media(prefers-reduced-motion:reduce){.variant-selected-value.is-overflowing .config-value-text{animation:none}.product-page .product-config-card__section-edit .variant-selected-value:has(.config-value-text){text-overflow:ellipsis}.variant-selected-value .config-value-text{display:inline}}
