/* Keep in sync with /static/css/app.css (Flask admin app) — both apps use separate static roots. */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

input[type="color"] {
  -webkit-appearance: none;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  cursor: pointer;
}

input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 2px;
}

input[type="color"]::-webkit-color-swatch {
  border: none;
  border-radius: 0.375rem;
}

/* Slab 3D flip (slab detail, etc.) */
#slab-flipper,
.slab-flipper {
  position: relative;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transition: transform 0.5s ease;
}
#slab-flipper.slab-flip-active,
.slab-flipper.slab-flip-active {
  transform: rotateY(180deg);
}
.slab-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  /* Promote layer so backface-visibility is reliable in WebKit */
  transform: translateZ(0.1px);
}
.slab-face.slab-back {
  transform: rotateY(180deg) translateZ(0.1px);
}
