/* V8: visible print-preparation requests, seven-product picker, distinct size/FAQ. */
.canvas-action { position:absolute; display:grid; place-items:center; width:34px; height:34px; min-height:34px; padding:7px; border:1px solid #657563; border-radius:50%; background:#fff!important; color:#2c3e2d; box-shadow:0 2px 5px #0002; cursor:pointer; touch-action:none; z-index:3; }
.canvas-action .icon { width:18px; height:18px; stroke-width:1.8; pointer-events:none; }
.canvas-action.action-rotate { top:-18px; left:-18px; }
.canvas-action.action-delete { top:-18px; right:-18px; }
.canvas-action.action-copy { bottom:-18px; left:-18px; }
.canvas-action.action-resize { bottom:-18px; right:-18px; width:34px; height:34px; min-height:34px; padding:7px; border:1px solid #657563; border-radius:50%; cursor:nwse-resize; }
.canvas-action.action-resize:after { display:none; }
.canvas-action.action-delete:hover { color:#a32d21; border-color:#a32d21; }
.selection-actions-frame { position:absolute; pointer-events:none; }
.selection-actions-frame .canvas-action { pointer-events:auto; }
.image-preparation { border-top:1px solid var(--line); padding-top:16px; margin-bottom:20px; }
.image-preparation h2 { font-size:15px; letter-spacing:0; margin:0 0 12px; }
.preparation-option { display:flex; align-items:center; gap:12px; padding:13px 12px; border:1px solid #cfd5c7; border-radius:7px; margin:9px 0; background:#fff; cursor:pointer; min-height:65px; }
.preparation-option:has(input:checked) { background:#eef2e8; border-color:#66765a; }
.preparation-option input { width:19px; height:19px; margin:0; accent-color:#344a2d; flex:none; }
.preparation-option strong { display:block; font-size:14px; }
.preparation-option small { display:block; font-size:12px; line-height:1.4; color:#697160; margin-top:3px; }
.image-preparation > p { font-size:11px; line-height:1.5; color:#6b7165; margin:9px 0 0; }
.catalog-dialog { width:min(1060px,calc(100% - 40px)); }
.catalog-intro { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:15px; }
.catalog-intro p { margin:0; }
.catalog-intro > span { color:#697260; font-size:12px; white-space:nowrap; }
.catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.catalog-grid .style-card { position:relative; padding:11px; gap:5px; min-width:0; border-radius:8px; }
.catalog-grid .style-image { width:100%; height:143px; background:#fff; border-radius:5px; overflow:hidden; }
.catalog-grid .style-image img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.catalog-grid .style-image > span { top:5px; left:5px; font-size:10px; padding:4px 6px; }
.catalog-grid .style-card > strong { font-size:14px; min-height:21px; line-height:1.4; margin-top:6px; }
.catalog-grid .style-card > small { font-size:11px; line-height:1.45; min-height:32px; color:#65705e; }
.catalog-colors { font-size:11px; color:#65705e; font-weight:400; }
.catalog-grid .style-select { font-size:12px; margin-top:4px; padding-top:9px; }
.prototype-note { font-size:11px!important; color:#77806e!important; margin:18px 0 0; line-height:1.5!important; }
.detail-shortcuts { display:grid; gap:9px; margin-top:20px; }
.detail-shortcuts button { justify-content:space-between; font-size:13px; min-height:43px; }
.detail-shortcuts .icon { width:17px; height:17px; }
.size-fit-module { margin-top:30px; background:#f2f0e8; border:1px solid #dfdfd1; border-radius:11px; padding:24px; scroll-margin-top:18px; }
.size-card-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.size-card-heading h3 { font-size:25px; line-height:1.2; letter-spacing:-.5px; margin:7px 0 8px; }
.size-card-heading p { font-size:13px; margin:0; line-height:1.5; }
.size-card-heading > button { flex:none; font-size:13px; min-height:44px; padding:10px 14px; background:#fff; border-color:#aeb69e; }
.size-card-heading [aria-expanded=true] .icon { transform:rotate(180deg); }
.size-card-heading .icon { width:17px; height:17px; }
.size-chart-container { margin-top:20px; }
.size-units { display:flex; gap:3px; padding:3px; border:1px solid #bdc5b2; border-radius:6px; width:max-content; background:#fff; margin-bottom:15px; }
.size-units button { min-height:35px; padding:6px 13px; font-size:12px; border:0; background:transparent; }
.size-units [aria-pressed=true] { background:#2b3427; color:#fff; border-radius:4px; }
.size-table-scroll { overflow:auto; border:1px solid #d5d9cd; border-radius:7px; background:#fff; }
.size-table { width:100%; font-size:13px; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.size-table caption { text-align:left; padding:11px 15px; font-size:11px; color:#67725d; border-bottom:1px solid #e1e5d9; }
.size-table th,.size-table td { padding:12px 15px; text-align:center; white-space:nowrap; }
.size-table th:first-child { text-align:left; }
.size-table thead { background:#e7ebdf; }
.size-table th small { display:block; font-size:10px; font-weight:400; color:#68745f; }
.size-table tbody tr:nth-child(even) { background:#f9faf6; }
.size-note { font-size:11px!important; margin:12px 0 0; }
.size-dialog { width:min(790px,calc(100% - 32px)); }
.size-dialog .size-chart-container { margin-top:15px; }
.faq-module { margin-top:35px; padding-top:5px; scroll-margin-top:18px; }
.faq-heading h3 { font-size:24px; line-height:1.25; margin:7px 0 22px; letter-spacing:-.4px; }
.faq-list { border-top:1px solid #d9ded2; }
.faq-item { border-bottom:1px solid #d9ded2; }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:14px; line-height:1.5; font-weight:700; padding:18px 2px; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary > i { display:block; width:14px; height:14px; position:relative; flex:none; }
.faq-item summary > i:before,.faq-item summary > i:after { content:''; position:absolute; background:#67765d; width:12px; height:1.5px; top:6px; left:1px; }
.faq-item summary > i:after { transform:rotate(90deg); }
.faq-item[open] summary > i:after { display:none; }
.faq-item p { font-size:13px; line-height:1.75; max-width:720px; margin:0 35px 20px 2px; color:#5c6755; }
.faq-contact { display:flex; align-items:center; gap:7px; margin-top:20px; font-size:12px!important; }
.faq-contact a { display:inline-flex; align-items:center; gap:5px; color:#273e27; text-underline-offset:4px; }
.faq-contact .icon { width:14px; height:14px; }
.catalog-pending { font-size:13px!important; padding:15px; background:#fff; border:1px solid #dedfce; border-radius:7px; }
.product-dialog .dialog-top,.catalog-dialog .dialog-top,.size-dialog .dialog-top { position:sticky; top:-22px; z-index:5; background:#fff; margin:-22px -28px 16px; padding:12px 28px; border-bottom:1px solid #e3e6dc; }
@media(max-width:900px) {
 .toast { top:112px; bottom:auto; }
 .product-dialog .dialog-top,.catalog-dialog .dialog-top { top:-18px; margin:-18px -18px 15px; padding:9px 18px; }
 .size-dialog .dialog-top { top:-19px; margin:-19px -20px 15px; padding:9px 20px; }
 .canvas-action,.canvas-action.action-resize { width:44px; height:44px; min-height:44px; padding:12px; }
 .canvas-action .icon { width:19px; height:19px; }
 .canvas-action.action-rotate { top:-23px; left:-23px; }
 .canvas-action.action-delete { top:-23px; right:-23px; }
 .canvas-action.action-copy { bottom:-23px; left:-23px; }
 .canvas-action.action-resize { bottom:-23px; right:-23px; }
 body[data-panel=editor][data-layer-type=image] .tool-sheet { height:335px; max-height:48dvh; }
 body[data-layer-type=image] .artwork-summary { margin-bottom:8px; }
 body[data-layer-type=image] .artwork-summary img { height:28px; width:28px; }
 body[data-layer-type=image] .artwork-summary small { display:none; }
 .image-preparation { padding-top:10px; margin-bottom:14px; }
 .image-preparation h2 { font-size:13px; margin-bottom:7px; }
 .preparation-option { min-height:57px; padding:9px 11px; margin:7px 0; }
 .preparation-option strong { font-size:13px; }
 .preparation-option small { font-size:11px; margin-top:2px; }
 .image-preparation > p { font-size:10px; }
 .catalog-dialog { width:calc(100% - 18px); padding:18px; }
 .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .catalog-intro { gap:10px; margin-bottom:16px; }
 .catalog-intro p { font-size:12px; }
 .catalog-grid .style-card { padding:9px; }
 .catalog-grid .style-image { height:128px; }
 .catalog-grid .style-card > strong { font-size:13px; min-height:36px; }
 .catalog-grid .style-card > small { font-size:10px; min-height:29px; }
 .catalog-grid .style-select { font-size:11px; }
 .size-fit-module { margin-top:24px; padding:17px 14px; }
 .size-card-heading { display:block; }
 .size-card-heading h3 { font-size:22px; }
 .size-card-heading p { font-size:12px; }
 .size-card-heading > button { width:100%; justify-content:space-between; margin-top:14px; min-height:44px; font-size:12px; }
 .size-units button { min-height:40px; }
 .size-table th,.size-table td { padding:11px 10px; font-size:12px; }
 .size-table caption { font-size:10px; padding:10px; }
 .size-table-scroll { margin-inline:-3px; }
 .size-note { font-size:10px!important; }
 .faq-module { margin-top:27px; }
 .faq-heading h3 { font-size:22px; margin-bottom:18px; }
 .faq-item summary { font-size:13px; padding:17px 0; }
 .faq-item p { font-size:12px; margin-right:17px; }
 .detail-shortcuts button { min-height:44px; }
 .prototype-note { font-size:10px!important; }
}
