/* Normalize some HTML5 elements */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block;
}

/* Remove default margins and paddings */
body {
    margin: 0;
    padding: 0;
    line-height: 1.5; /* Improved readability */
    font-family: sans-serif; /* A more consistent font-family */
}

/* Improve font rendering */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-size: 100%; /* Ensures a consistent font-size scaling */
    font-weight: normal;
}

/* Normalizing lists */
ul, ol {
    padding: 0;
    margin: 0;
}

li {
    list-style: none; /* Removes default list-style */
}

/* Normalize anchor tags */
a {
    background: transparent;
    text-decoration: none; /* Normalizes link appearance */
    color: inherit; /* Ensures that link color inherits from parent */
}

a:focus {
    outline: 1px dotted; /* Provides a visible focus indicator */
}

/* Form elements normalization */
input, select, textarea {
    font: inherit; /* Inherits font-family and font-size */
    margin: 0; /* Removes default margin */
    padding: 0; /* Removes default padding */
}

/* Button elements normalization */
button, input[type="button"], input[type="submit"], input[type="reset"] {
    -webkit-appearance: button; /* Ensures consistent appearance across browsers */
    background: transparent;
    border: 1px solid transparent;
    cursor: pointer; /* Indicates button-like behavior */
}

/* Normalize tables */
table {
    border-collapse: collapse; /* Ensures that table borders are collapsed */
    border-spacing: 0; /* Removes default table spacing */
}

th, td {
    padding: 0; /* Removes default padding */
    vertical-align: top; /* Aligns cell content to the top */
}

/* Normalize images */
img {
    border: 0; /* Removes default border for images */
    max-width: 100%; /* Ensures images are responsive */
    height: auto; /* Maintains aspect ratio */
}
