/*
  Hello Elementor — Dark Modern (pure grayscale hex)
  - High-contrast, accessible
  - No rgba/alpha; only single hex values
*/
/*! 
    Theme Name: bestTheme,
    Version: 1.2
*/

/* Base / Normalize */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
*,
*::before,
*::after { box-sizing: border-box; }

/* Sections */
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #e6e6e6;           /* light grey text */
  background-color: #0a0a0a; /* near-black bg */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  margin-block-start: 0.5rem;
  margin-block-end: 1rem;
  font-family: inherit;
  font-weight: 600;
  line-height: 1.2;
  color: #f2f2f2; /* brighter headings */
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p { margin-block-start: 0; margin-block-end: 0.9rem; }

/* Rules / groupings */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid #262626;
}

/* Code / pre */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
  white-space: pre-wrap;
  color: #e6e6e6;
  background: #111111;
  padding: 0.75rem 1rem;
  border: 1px solid #262626;
  border-radius: 6px;
}

/* Inline emphasis */
a {
  background-color: transparent;
  text-decoration: none;
  color: #d9d9d9;
  border-bottom: 1px solid #4d4d4d;
}
a:hover, a:active {
  color: #ffffff;
  border-bottom-color: #808080;
}
a:not([href]):not([tabindex]) {
  color: inherit; text-decoration: none; border-bottom: 0;
}
a:not([href]):not([tabindex]):focus { outline: 0; }

abbr[title] {
  border-block-end: none;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: #808080;
}

b, strong { font-weight: 700; }

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
  color: #f2f2f2;
  background: #141414;
  padding: 0.1em 0.4em;
  border: 1px solid #262626;
  border-radius: 4px;
}

small { font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub { bottom: -0.25em; }
sup { top: -0.5em; }

img { border-style: none; height: auto; max-width: 100%; }

/* Interactive basics */
details { display: block; background: #0f0f0f; border: 1px solid #262626; border-radius: 8px; padding: 0.75rem 1rem; }
summary { display: list-item; cursor: pointer; color: #f2f2f2; }

figcaption {
  font-size: 16px;
  color: #b3b3b3;
  line-height: 1.4;
  font-style: italic;
  font-weight: 400;
}

template { display: none; }
[hidden] { display: none; }

/* Selection */
::selection { background: #333333; color: #ffffff; }

/* Print */
@media print {
  *,
  *:before,
  *:after {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after { content: ""; }
  pre { white-space: pre-wrap !important; }
  pre, blockquote { break-inside: avoid; border: 1px solid #808080; }
  thead { display: table-header-group; }
  tr, img { break-inside: avoid; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { break-after: avoid; }
}

/* Forms */
label { display: inline-block; line-height: 1; vertical-align: middle; color: #d9d9d9; }

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
  color: #e6e6e6;
}

input[type=text],
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=url],
select,
textarea {
  width: 100%;
  background: #111111;
  color: #e6e6e6;
  border: 1px solid #333333;
  border-radius: 8px;
  padding: 0.6rem 0.9rem;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
input::placeholder,
textarea::placeholder { color: #808080; }

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #808080;
  outline-offset: 1px;
  border-color: #808080;
  background-color: #0f0f0f;
}

/* Buttons */
button,
[type=submit],
[type=button] {
  display: inline-block;
  font-weight: 600;
  color: #f2f2f2;
  text-align: center;
  white-space: nowrap;
  user-select: none;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  border-radius: 8px;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.06s ease;
}
button:focus:not(:focus-visible),
[type=submit]:focus:not(:focus-visible),
[type=button]:focus:not(:focus-visible) { outline: none; }
button:hover,
[type=submit]:hover,
[type=button]:hover {
  background-color: #262626;
  border-color: #4d4d4d;
}
button:active,
[type=submit]:active,
[type=button]:active {
  background-color: #1f1f1f;
  transform: translateY(1px);
}
button:disabled,
[type=submit]:disabled,
[type=button]:disabled {
  color: #666666;
  background-color: #0f0f0f;
  border-color: #262626;
  cursor: not-allowed;
}

button,
input { overflow: visible; }
button, select { text-transform: none; }
button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button; }

/* Fieldset / legend */
fieldset { padding: 0.35em 0.75em 0.625em; border: 1px solid #262626; border-radius: 8px; }
legend {
  box-sizing: border-box;
  color: #e6e6e6;
  display: table;
  max-width: 100%;
  padding: 0 0.25rem;
  white-space: normal;
}

/* Progress / textarea */
progress { vertical-align: baseline; }
textarea { overflow: auto; resize: vertical; }

/* Checkboxes / radios / number / search */
[type=checkbox],
[type=radio] { box-sizing: border-box; padding: 0; }
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button { height: auto; }
[type=search] { -webkit-appearance: textfield; outline-offset: -2px; }
[type=search]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

select { display: block; background-color: #111111; color: #e6e6e6; }

/* Tables */
table {
  background-color: transparent;
  width: 100%;
  margin-block-end: 15px;
  font-size: 0.95em;
  border-spacing: 0;
  border-collapse: collapse;
  color: #e6e6e6;
}
table th,
table td {
  padding: 15px;
  line-height: 1.5;
  vertical-align: top;
  border: 1px solid #404040; /* solid mid-grey */
}
table th { font-weight: 700; color: #f2f2f2; background: #141414; }
table thead th,
table tfoot th { font-size: 1em; }
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
  border-block-start: 1px solid #404040;
}
table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
  background-color: #121212; /* subtle stripe */
}
table tbody tr:hover > td,
table tbody tr:hover > th {
  background-color: #1a1a1a; /* hover row */
}
table tbody + tbody { border-block-start: 2px solid #404040; }
@media (max-width: 767px) {
  table table { font-size: 0.85em; }
  table table th, table table td { padding: 7px; line-height: 1.3; }
  table table th { font-weight: 600; }
}

/* Lists */
dl, dt, dd, ol, ul, li {
  margin-block-start: 0;
  margin-block-end: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #e6e6e6;
}

/* Figures / blocks */
blockquote {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  color: #d9d9d9;
  background: #101010;
  border-left: 4px solid #4d4d4d;
  border-right: 1px solid #262626;
  border-top: 1px solid #262626;
  border-bottom: 1px solid #262626;
  border-radius: 6px;
}
