/* Utility CSS (Your custom framework) */

/* Margins */
.m-0 { margin: 0; }
.m-5 { margin: 5px; }
.m-10 { margin: 10px; }
.m-20 { margin: 20px; }

/* Padding */
.p-0 { padding: 0; }
.p-10 { padding: 10px; }
.p-20 { padding: 20px; }

/* Sizing */
.w-100 { width: 100%; }
.h-100vh { height: 100vh; }

/* Flexbox Layouts */
.flex-row { display: flex; flex-direction: row; justify-content: center; align-items: center; }
.flex-center { display: flex; justify-content: center; align-items: center; }

/* Typography & Display */
.text-center { text-align: center; }
.overflow-hidden { overflow: hidden; } /* Prevents the body from scrolling when panels are closed */

/* Visually hide elements but keep them for SEO and Screen Readers */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}