/***************************************
 * Reset CSS
 * Purpose: Remove default browser styling
 ***************************************/

/* Box sizing rules */
html {
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}

/* Remove default margin */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
dl, dd, ol, ul, figure, hr, fieldset, legend {
    margin: 0;
    padding: 0;
}

/* Remove list styles on ul, ol elements with a list role */
ul, ol {
    list-style: none;
}

/* Set core body defaults */
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Set core root defaults */
html:focus-within {
    scroll-behavior: smooth;
}

/* Improve media defaults */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

/* Remove built-in form typography styles */
input, button, textarea, select {
    font: inherit;
}

/* Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

/* Create a root stacking context */
#root, #__next {
    isolation: isolate;
}

/* Remove default margin and padding for all elements */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* Set default line-height and font-family for the body */
body {
    line-height: 1.5;
    font-family: inherit; /* Inherit font from parent or define in styles.css */
}

/* Reset anchor tags */
a {
    text-decoration: none;
    color: inherit; /* Inherit color from parent */
}

/* Reset tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

th, td {
    padding: 0;
    text-align: left;
    border: 0;
}

/* Ensure images are responsive */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Reset button default styles */
button {
    cursor: pointer;
    background: none;
    padding: 0;
}

/* Set default focus styles */
:focus {
    outline: none;
}

/* General heading styles */
h1, h2, h3, h4, h5, h6 {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
    font-weight: 600; /* Semi-bold for modern look */
    color: var(--color-heading);
    line-height: 1.3;
    margin-bottom: 15px;
    letter-spacing: -0.01em; /* Tighter letter spacing for modern look */
}

/* Specific heading sizes */
h1 {
    font-size: 2rem; /* Main page title */
    text-align: center;
}

h2 {
    font-size: 1.75rem; /* Section titles */
    text-align: left;
    color: var(--color-primary); /* Teal accent for section headings */
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

h5 {
    font-size: 1rem;
}

h6 {
    font-size: 0.875rem;
    font-weight: normal; /* For subheadings or less emphasis */
}

/* Paragraphs */
p {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-text);
    margin-bottom: 15px;
}

/* Anchor links */
a:hover {
    text-decoration: underline;
}

/* Lists */
ul, ol {
    margin-left: 20px;
    margin-bottom: 15px;
    padding-left: 20px;
}

ul li, ol li {
    margin-bottom: 10px;
    font-size: 1rem;
    color: var(--color-text);
}

/* Highlighted or important text */
mark {
    background-color: #004d4d; /* You may consider using a variable here */
    color: var(--color-white);
    padding: 2px 4px;
    border-radius: 3px;
}

/* Code blocks or inline code */
code {
    font-family: 'Courier New', Courier, monospace;
    background-color: var(--color-code-bg);
    color: var(--color-code-text);
    padding: 2px 4px;
    border-radius: 3px;
}

/* Blockquote for quotes or callouts */
blockquote {
    font-style: italic;
    color: #999999; /* Consider using a variable */
    border-left: 4px solid var(--color-secondary);
    padding-left: 15px;
    margin-left: 0;
    margin-right: 0;
}

/* Small text or captions */
small {
    font-size: 0.875rem;
    color: #aaaaaa; /* Consider using a variable */
}
