/* R07: spójne elementy interfejsu bez zmiany narzędzi i kolejności działań. */
:root { --line:#dde2e6; --muted:#596572; --shadow:0 8px 28px rgba(20,28,38,.07); }
body { background:#f5f6f8; }
.shop-header { border-bottom:1px solid #e3e6eb; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.header-action { border-radius:999px; padding:10px 18px; }
.btn,.icon-btn,.input,.tool-tab,.shirt-color-option,.view-card { border-radius:10px; }
.btn { transition:background-color .15s ease,box-shadow .15s ease; }
.btn:hover { box-shadow:0 4px 12px rgba(20,28,38,.12); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #e7ab22; outline-offset:3px; }
.editor-intro { padding-bottom:20px; }
.preview-panel,.tools-panel,.project-test-panel { border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); background:#fff; }
.selected-panel { border-top:1px solid var(--line); padding-top:18px; }
.tool-tabs { padding:4px; border-radius:12px; background:#f0f2f5; gap:4px; }
.tool-tabs button { border-radius:9px; border-color:transparent; min-height:44px; }
.tool-tabs button.is-active { box-shadow:0 2px 7px rgba(20,28,38,.1); }
.design-button,.fan-font-option,.layer-row { border-radius:10px; }
.design-button { transition:border-color .15s ease,background-color .15s ease; }
.design-button:hover { border-color:#99a3af; }
.design-button.is-selected { border-color:var(--red); box-shadow:0 0 0 2px rgba(217,35,50,.13); }
.graphics-empty { grid-column:1/-1; margin:0; padding:20px; border:1px dashed #cbd2da; border-radius:12px; background:#f8f9fb; color:var(--muted); line-height:1.6; }
.layer-row { margin-bottom:5px; }
.layer-move { border-radius:8px; }
.occasion-editors,.saved-inspirations { width:min(100% - 32px,1160px); margin:32px auto; border-radius:18px; }
.occasion-card,.catalog-card,.home-template-card,.template-card { border-radius:12px; overflow:hidden; }
.occasion-card { padding:18px; gap:10px; }
.occasion-card img { aspect-ratio:1; }
.catalog-seo,.catalog-faq { border-radius:16px; }
.template-preview { contain:layout paint; }
@media(max-width:700px) {
  .preview-panel,.tools-panel,.project-test-panel { border-radius:12px; }
  .occasion-editors,.saved-inspirations { width:calc(100% - 20px); margin:24px auto; }
  .layer-select { min-width:0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
