/* Editor agrupado por categoria e modo organizar */
.edit-section{margin:26px 0 34px}
.edit-section-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:10px 0;border-bottom:1px solid var(--line);background:#f5f6f2}
.edit-section-head h2{margin:0;font:800 21px/1.2 var(--font-display),sans-serif;letter-spacing:-.4px;color:var(--brand-primary)}
.edit-section-head>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.edit-section-head>div:first-child span{font-size:11px;color:var(--muted);white-space:nowrap}
.edit-subsection{margin:18px 0 10px;padding-left:12px;border-left:3px solid var(--brand-accent);font:700 15px var(--font-display),sans-serif;color:var(--brand-primary)}
.edit-subsection span{margin-left:6px;font:400 11px var(--font-body),sans-serif;color:var(--muted)}
.arrange-hint{margin:6px 0 0;font-size:12px;color:var(--muted)}
.edit-section .product{position:relative;-webkit-touch-callout:none;user-select:none}

/* Segurar 3 s: barra de progresso no pé do card */
.edit-section .product.is-pressing::after{content:'';position:absolute;left:0;bottom:0;height:4px;width:0;border-radius:0 0 0 12px;background:var(--brand-primary);animation:arrange-hold 1.75s linear .25s forwards}
.edit-section .product.is-pressing{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 18%,transparent)}
@keyframes arrange-hold{to{width:100%;border-radius:0 0 12px 12px}}

/* Modo organizar */
.arrange-sticky{position:sticky;top:0;z-index:8;margin:0 -2px;padding:10px 2px;background:#f5f6f2}
.arrange-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:12px 14px 12px 18px;border-radius:14px;background:var(--brand-primary);color:var(--brand-on-primary);font-size:13px;line-height:1.45}
.arrange-banner-actions{display:flex;gap:8px;flex-shrink:0}.arrange-banner .button{flex-shrink:0;background:var(--brand-on-primary);border-color:var(--brand-on-primary);color:var(--brand-primary)}.arrange-banner .button.secondary{background:transparent;border-color:color-mix(in srgb,var(--brand-on-primary) 55%,transparent);color:var(--brand-on-primary)}
.product.is-arranging{cursor:grab;animation:arrange-jiggle .28s ease-in-out infinite alternate;transform-origin:50% 60%}
.products>.product.is-arranging:nth-child(2n){animation-delay:-.14s;animation-duration:.31s}
.products>.product.is-arranging:nth-child(3n){animation-delay:-.07s;animation-duration:.26s}
@keyframes arrange-jiggle{from{transform:rotate(-.55deg)}to{transform:rotate(.55deg)}}
.product.is-arranging .product-card-actions,.product.is-arranging .dish-like{visibility:hidden}
.product.is-arranging .dish-title,.product.is-arranging .product-thumb{pointer-events:none}
.product.is-arranging.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary)}
.arrange-check{position:absolute;top:10px;left:10px;z-index:3;display:grid;place-items:center;width:30px;height:30px;margin:0;border-radius:50%;cursor:pointer}
.arrange-check input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.arrange-check span{width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#1f2a2459;box-shadow:0 1px 4px #0004;transition:background .12s}
.arrange-check input:checked+span{background:var(--brand-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.arrange-check input:focus-visible+span{outline:2px solid var(--brand-primary);outline-offset:2px}
.product.is-arranging .product-copy{padding-left:30px}
.arrange-grip{position:absolute;right:8px;bottom:8px;z-index:3;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ffffffd9;box-shadow:0 1px 4px #1f2a241f;color:#6a776e;cursor:grab;touch-action:none}
.arrange-grip svg{width:11px;height:19px;fill:currentColor}
.product.is-lifted{position:fixed!important;z-index:1000;margin:0;animation:none;pointer-events:none;transform:scale(1.03) rotate(1deg);box-shadow:0 18px 40px #1f2a2440,0 3px 8px #1f2a2424;cursor:grabbing}
.arrange-placeholder{border:2px dashed color-mix(in srgb,var(--brand-primary) 45%,#fff);border-radius:12px;background:color-mix(in srgb,var(--brand-primary) 6%,transparent);box-sizing:border-box}
html.is-arrange-dragging,html.is-arrange-dragging *{cursor:grabbing!important;user-select:none}

/* Barra de cada categoria */
.arrange-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0}
.arrange-all{display:flex;align-items:center;gap:8px;margin:0 6px 0 0;font-size:12px;font-weight:600;color:#405048;cursor:pointer;white-space:nowrap}
.arrange-all input{width:17px;height:17px;margin:0;accent-color:var(--brand-primary)}
.arrange-tool{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brand-primary);cursor:pointer}
.arrange-tool svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.arrange-tool:hover:not(:disabled){background:#f1f4ef}
.arrange-tool.is-danger{color:#b43b37}
.arrange-tool.is-danger:hover:not(:disabled){background:#fbeceb;border-color:#efc9c6}
.arrange-tool:disabled{opacity:.38;cursor:not-allowed}
.arrange-tool:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}

/* Confirmações */
.bulk-dialog{width:min(520px,94vw)}
.bulk-question{font-size:15px;line-height:1.55;color:#263830;margin:14px 0 8px}
.bulk-warning{margin:16px 0 4px;padding:12px 14px;border-left:3px solid #b43b37;border-radius:0 8px 8px 0;background:#fbeceb;font-size:13px;line-height:1.5;color:#7c2d2a}
.bulk-confirm{display:flex;flex-direction:column;gap:8px;margin:18px 0 6px;font-size:13px}
.bulk-confirm input{padding:12px;border:1px solid #d8dfd6;border-radius:8px;font:15px var(--font-body),sans-serif}
.bulk-confirm input:focus{outline:2px solid #b43b37;outline-offset:1px}
.button.danger:disabled{opacity:.45;cursor:not-allowed}

@media(prefers-reduced-motion:reduce){.product.is-arranging{animation:none;outline:2px dashed color-mix(in srgb,var(--brand-primary) 40%,transparent);outline-offset:3px}.edit-section .product.is-pressing::after{animation-duration:.01s;animation-delay:1.99s}}
@media(max-width:650px){.edit-section-head{flex-wrap:wrap}.edit-section-head h2{font-size:18px}.arrange-banner{padding:8px 8px 8px 14px;font-size:12px}.arrange-banner-help{display:none}.arrange-banner .button{padding:9px 14px}.arrange-all span{font-size:11px}}
.edit-section.is-arranging .edit-section-head{top:var(--arrange-banner-h,76px)}
