/* Modern CSS Reset */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    margin:0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #fff;
}

/* Typography */

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

p {
    margin-bottom: 1rem;
}

/* Lists */

ul,
ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

/* Links */

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Images */

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Forms */

button,
input,
select,
textarea {
    font: inherit;
    color: inherit;
}

button {
    cursor: pointer;
    border: none;
    background: none;
}

/* Tables */

table {
    border-collapse: collapse;
    width: 100%;
}

th,
td {
    padding: 0.75rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}

/* Form resets: sensible, accessible defaults */

form {
    margin: 0;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

legend {
    padding: 0;
    color: inherit;
    font-size: inherit;
    font-weight: 600;
}

label {
    display: inline-block;
    margin-bottom: 0.25rem;
}

/* Base control styles */
input,
button,
a.button-link,
select,
textarea {
    font: inherit;
    color: inherit;
    background-color: transparent;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    line-height: 1.25;
    vertical-align: middle;
}

/* Buttons */
button {
    cursor: pointer;
    background: transparent;
    border-radius: 6px;
}

/* Keep pointer for common submit/button inputs */
input[type="submit"],
input[type="button"],
button[type="submit"],
button[type="button"] {
    cursor: pointer;
}

/* Textarea */
textarea {
    resize: vertical;
    min-height: 6rem;
    padding: 0.5rem 0.75rem;
}

/* Number inputs: hide native spinners */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}

/* Search input: remove webkit extras */
input[type="search"] {
    -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

/* Selects: neutral appearance (remove default arrow if you plan to supply your own) */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    padding-right: 2rem; /* leave room if adding a custom arrow */
}

/* File inputs */
input[type="file"] {
    font: inherit;
    color: inherit;
}

/* Range inputs: neutral baseline */
input[type="range"] {
    -webkit-appearance: none;
    background: transparent;
}

/* Checkboxes & radios: keep native look but align and color consistently */
input[type="checkbox"],
input[type="radio"] {
    width: 1rem;
    height: 1rem;
    margin: 0 0.5rem 0 0;
    vertical-align: middle;
    accent-color: currentColor;
}

/* Placeholder color */
::placeholder {
    color: #9aa0a6;
    opacity: 1;
}

/* Disabled state */
:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Focus-visible accessibility ring (prefer this over removing outline) */
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 1);
}

/* Autofill (WebKit) */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #111;
}

