/* Witzzart premium foundation — milestone 1.1. Scoped, progressive enhancement. */
:root {
  --wtz-ink:#202027; --wtz-muted:#696874; --wtz-paper:#fffdf9;
  --wtz-canvas:#f8f6f2; --wtz-accent:#ff3131; --wtz-line:#e9e3dc;
  --wtz-radius:20px; --wtz-shadow:0 12px 35px rgba(38,29,36,.07);
  --color-brand:var(--wtz-accent); --color-text-primary:var(--wtz-ink);
  --color-text-secondary:var(--wtz-muted); --color-bg-gray:var(--wtz-canvas);
  --color-border:var(--wtz-line); --radius-card:var(--wtz-radius);
}
html { scroll-behavior:smooth; }
body { background:var(--wtz-canvas) !important; color:var(--wtz-ink); -webkit-font-smoothing:antialiased; }
img,video,svg { max-width:100%; }
img { height:auto; }
button,a,input,select,textarea { touch-action:manipulation; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid var(--wtz-accent); outline-offset:3px; }
:where(.card,.wtz-card) { border:1px solid var(--wtz-line); border-radius:var(--wtz-radius); box-shadow:var(--wtz-shadow); }
:where(.card,.wtz-card) img { max-width:100%; }
:where(.btn,.wtz-btn) { min-height:42px; font-weight:600; transition:transform .18s ease, box-shadow .18s ease; }
@media (hover:hover) { :where(.btn,.wtz-btn):hover { transform:translateY(-1px); } }
:where(.form-control,.form-select) { min-height:44px; }
:where(.container,.container-fluid,.row,.col) { min-width:0; }
:where(h1,h2,h3) { overflow-wrap:break-word; text-wrap:balance; }
:where(p,li) { overflow-wrap:break-word; }
:where(.table-responsive) { -webkit-overflow-scrolling:touch; }
@media (max-width:767.98px) {
  html { scroll-padding-top:76px; }
  body { overflow-x:clip; }
  :where(.container,.container-fluid) { padding-left:16px; padding-right:16px; }
  :where(.row) { --bs-gutter-x:1rem; }
  :where(h1) { font-size:clamp(1.9rem,8vw,2.65rem); line-height:1.14; }
  :where(h2) { font-size:clamp(1.5rem,6vw,2rem); line-height:1.2; }
  :where(.btn,.wtz-btn) { min-height:44px; }
  :where(.modal-dialog) { margin:12px; }
  :where(.table-responsive) { max-width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}


/* ===== Accessibility: skip link (shown only when focused via keyboard) ===== */
.wtz-skip-link {
    position: absolute;
    left: 12px;
    top: -60px;
    z-index: 2000;
    background: var(--color-text-primary, #222);
    color: #fff;
    padding: 10px 16px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: top .15s ease;
}
.wtz-skip-link:focus { top: 12px; color: #fff; }
#main-content:focus { outline: none; }
