/* =====================================================================
   Agenic Border-Radius Utilities
   ---------------------------------------------------------------------
   Atomic Klassen für border-radius. Nicht responsive — Radien ändern
   sich praktisch nie pro Breakpoint.

   Skala — direkt aus tokens.css:
     0     0
     sm    4px
     md    8px
     lg   16px
     xl   24px
     2xl  32px
     pill 999px   (für Pillen / runde Avatare)

   Properties (7):
     r    → border-radius                 (alle Ecken)
     rt   → top corners                   (logisch: block-start)
     rb   → bottom corners                (logisch: block-end)
     rtl  → top-left      rtr → top-right
     rbl  → bottom-left   rbr → bottom-right

     Side-Shortcuts (rt/rb) nutzen logische Properties → RTL-safe.
     Einzel-Ecken (rtl/rtr/rbl/rbr) bleiben physisch — pragmatisch,
     analog zu mt/mb in spacing.css.

     Links-/Rechts-Seiten bewusst weggelassen — die seltenen Fälle
     (z. B. asymmetrische Buttons) baut man besser mit zwei Einzel-
     Ecken-Klassen.

   Beispiele:
     <button class="ag-r-pill">                 vollständige Pille
     <img class="ag-rt-lg">                     Card-Image oben rund
     <div class="ag-rtl-md ag-rtr-md ag-rbr-md"> Chat-Bubble (3 Ecken)

   Konventionen:
     • Nur --radius-* Tokens, keine Magic Numbers.
     • Kein !important.
     • Laden NACH ui.css (Source-Order > Specificity).
     • Neue Stufen → erst Token in tokens.css, dann hier.
   ===================================================================== */


/* all corners */
.ag-r-0    { border-radius: var(--radius-0); }
.ag-r-sm   { border-radius: var(--radius-sm); }
.ag-r-md   { border-radius: var(--radius-md); }
.ag-r-lg   { border-radius: var(--radius-lg); }
.ag-r-xl   { border-radius: var(--radius-xl); }
.ag-r-2xl  { border-radius: var(--radius-2xl); }
.ag-r-pill { border-radius: var(--radius-pill); }

/* top corners — logical */
.ag-rt-0 {
  border-start-start-radius: var(--radius-0);
  border-start-end-radius:   var(--radius-0);
}
.ag-rt-sm {
  border-start-start-radius: var(--radius-sm);
  border-start-end-radius:   var(--radius-sm);
}
.ag-rt-md {
  border-start-start-radius: var(--radius-md);
  border-start-end-radius:   var(--radius-md);
}
.ag-rt-lg {
  border-start-start-radius: var(--radius-lg);
  border-start-end-radius:   var(--radius-lg);
}
.ag-rt-xl {
  border-start-start-radius: var(--radius-xl);
  border-start-end-radius:   var(--radius-xl);
}
.ag-rt-2xl {
  border-start-start-radius: var(--radius-2xl);
  border-start-end-radius:   var(--radius-2xl);
}
.ag-rt-pill {
  border-start-start-radius: var(--radius-pill);
  border-start-end-radius:   var(--radius-pill);
}

/* bottom corners — logical */
.ag-rb-0 {
  border-end-start-radius: var(--radius-0);
  border-end-end-radius:   var(--radius-0);
}
.ag-rb-sm {
  border-end-start-radius: var(--radius-sm);
  border-end-end-radius:   var(--radius-sm);
}
.ag-rb-md {
  border-end-start-radius: var(--radius-md);
  border-end-end-radius:   var(--radius-md);
}
.ag-rb-lg {
  border-end-start-radius: var(--radius-lg);
  border-end-end-radius:   var(--radius-lg);
}
.ag-rb-xl {
  border-end-start-radius: var(--radius-xl);
  border-end-end-radius:   var(--radius-xl);
}
.ag-rb-2xl {
  border-end-start-radius: var(--radius-2xl);
  border-end-end-radius:   var(--radius-2xl);
}
.ag-rb-pill {
  border-end-start-radius: var(--radius-pill);
  border-end-end-radius:   var(--radius-pill);
}

/* top-left */
.ag-rtl-0    { border-top-left-radius: var(--radius-0); }
.ag-rtl-sm   { border-top-left-radius: var(--radius-sm); }
.ag-rtl-md   { border-top-left-radius: var(--radius-md); }
.ag-rtl-lg   { border-top-left-radius: var(--radius-lg); }
.ag-rtl-xl   { border-top-left-radius: var(--radius-xl); }
.ag-rtl-2xl  { border-top-left-radius: var(--radius-2xl); }
.ag-rtl-pill { border-top-left-radius: var(--radius-pill); }

/* top-right */
.ag-rtr-0    { border-top-right-radius: var(--radius-0); }
.ag-rtr-sm   { border-top-right-radius: var(--radius-sm); }
.ag-rtr-md   { border-top-right-radius: var(--radius-md); }
.ag-rtr-lg   { border-top-right-radius: var(--radius-lg); }
.ag-rtr-xl   { border-top-right-radius: var(--radius-xl); }
.ag-rtr-2xl  { border-top-right-radius: var(--radius-2xl); }
.ag-rtr-pill { border-top-right-radius: var(--radius-pill); }

/* bottom-left */
.ag-rbl-0    { border-bottom-left-radius: var(--radius-0); }
.ag-rbl-sm   { border-bottom-left-radius: var(--radius-sm); }
.ag-rbl-md   { border-bottom-left-radius: var(--radius-md); }
.ag-rbl-lg   { border-bottom-left-radius: var(--radius-lg); }
.ag-rbl-xl   { border-bottom-left-radius: var(--radius-xl); }
.ag-rbl-2xl  { border-bottom-left-radius: var(--radius-2xl); }
.ag-rbl-pill { border-bottom-left-radius: var(--radius-pill); }

/* bottom-right */
.ag-rbr-0    { border-bottom-right-radius: var(--radius-0); }
.ag-rbr-sm   { border-bottom-right-radius: var(--radius-sm); }
.ag-rbr-md   { border-bottom-right-radius: var(--radius-md); }
.ag-rbr-lg   { border-bottom-right-radius: var(--radius-lg); }
.ag-rbr-xl   { border-bottom-right-radius: var(--radius-xl); }
.ag-rbr-2xl  { border-bottom-right-radius: var(--radius-2xl); }
.ag-rbr-pill { border-bottom-right-radius: var(--radius-pill); }
