/* ─── Jamwai Group — Utility Classes (Tailwind CDN replacement) ─────────────
   Contains only the classes actually used in index.html & jamwai-education.html
   Generated to replace cdn.tailwindcss.com Play CDN for production readiness.
─────────────────────────────────────────────────────────────────────────── */

/* Display */
.hidden        { display: none; }
.flex          { display: flex; }
.grid          { display: grid; }
.inline        { display: inline; }
.block         { display: block; }

/* Position */
.fixed         { position: fixed; }
.relative      { position: relative; }
.inset-0       { top: 0; right: 0; bottom: 0; left: 0; }
.inset-x-0     { left: 0; right: 0; }
.top-0         { top: 0; }

/* Z-index */
.z-50          { z-index: 50; }
.\z-\[60\],
[class~="z-[60]"]  { z-index: 60; }
.\z-\[1\],
[class~="z-[1]"]   { z-index: 1; }

/* Overflow */
.overflow-hidden { overflow: hidden; }

/* Sizing */
.w-full        { width: 100%; }
.w-10          { width: 2.5rem; }
.h-10          { height: 2.5rem; }
.min-h-full    { min-height: 100%; }
.max-w-7xl     { max-width: 80rem; }
.max-w-sm      { max-width: 24rem; }

/* Margin */
.mx-auto       { margin-left: auto; margin-right: auto; }
.mt-auto       { margin-top: auto; }
.mb-8          { margin-bottom: 2rem; }
.mb-14         { margin-bottom: 3.5rem; }

/* Padding */
.px-6          { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8          { padding-left: 2rem; padding-right: 2rem; }
.py-2          { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-8          { padding-top: 2rem; padding-bottom: 2rem; }
.pt-10         { padding-top: 2.5rem; }

/* Flexbox */
.flex-col      { flex-direction: column; }
.flex-wrap     { flex-wrap: wrap; }
.items-center  { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center  { justify-content: center; }

/* Gap */
.gap-4         { gap: 1rem; }
.gap-5         { gap: 1.25rem; }
.gap-7         { gap: 1.75rem; }
.gap-8         { gap: 2rem; }

/* Grid columns */
.grid-cols-1   { grid-template-columns: repeat(1, minmax(0, 1fr)); }

/* Spacing (space-y) */
.space-y-6 > * + * { margin-top: 1.5rem; }

/* Background */
.bg-white      { background-color: #ffffff; }

/* Text colour */
.text-white    { color: #ffffff; }
.text-slate-300 { color: #cbd5e1; }

/* Cursor */
.cursor-pointer { cursor: pointer; }

/* Font size */
.text-sm       { font-size: 0.875rem; line-height: 1.25rem; }
.text-lg       { font-size: 1.125rem; line-height: 1.75rem; }
[class~="text-[11px]"] { font-size: 11px; }

/* Font weight */
.font-extrabold { font-weight: 800; }

/* Text transform & decoration */
.uppercase     { text-transform: uppercase; }

/* Letter spacing */
[class~="tracking-[0.22em]"] { letter-spacing: 0.22em; }
[class~="tracking-[0.18em]"] { letter-spacing: 0.18em; }

/* Line height */
.leading-relaxed { line-height: 1.625; }

/* Border */
.border-t      { border-top-width: 1px; border-top-style: solid; }
[class~="border-white/10"] { border-color: rgba(255, 255, 255, 0.1); }

/* ─── Responsive variants ────────────────────────────────────────────────── */
@media (min-width: 768px) {
    .md\:grid-cols-2,
    [class~="md:grid-cols-2"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lg\:flex,
    [class~="lg:flex"]   { display: flex; }
    .lg\:hidden,
    [class~="lg:hidden"] { display: none; }
}
