/* ==========================================================================
   Сброс браузерных стилей.

   Это копия reset.css родительской темы Hello Elementor с одним отличием:
   из неё убраны «фирменные» цвета Hello, которые ломали оформление магазина.
   В оригинале есть такие правила:

     [type=button]:focus, [type=button]:hover, button:focus, button:hover
       { background-color:#c36; color:#fff }        ← ярко-розовая заливка
     a { color:#c36 }  a:hover { color:#336 }       ← розовые ссылки
     :focus-visible { box-shadow:0 0 0 4px #fff }   ← белое свечение вокруг

   Селекторы вида «button:focus» сильнее наших «.imi-hd__tool», поэтому любая
   кнопка сайта после нажатия становилась розовой — это и было видно в шапке.
   Побороть это в своём файле нельзя, не задев цвета собственных кнопок, —
   поэтому сброс подменяется целиком (см. inc/setup.php).

   Всё остальное оставлено как в Hello Elementor 3.5.1; цвета, где они нужны,
   берутся из переменных темы, поэтому сброс одинаково работает в светлой и
   тёмной теме.
   ========================================================================== */

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

body{
  background-color: var(--imi-void, #fff);
  color: var(--imi-bone, #333);
  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.5;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

h1, h2, h3, h4, h5, h6{ color: inherit; font-family: inherit; font-weight: 500; line-height: 1.2; margin-block-end: 1rem; margin-block-start: .5rem; }
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-end: .9rem; margin-block-start: 0; }
hr{ box-sizing: content-box; height: 0; overflow: visible; }
pre{ font-family: monospace; font-size: 1em; white-space: pre-wrap; }

/* Цвет ссылки задаёт тема, а не сброс. */
a{ background-color: transparent; color: inherit; text-decoration: none; }
a:active, a:hover{ color: inherit; }
a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover{ color: inherit; text-decoration: none; }
a:not([href]):not([tabindex]):focus{ outline: 0; }

abbr[title]{ border-block-end: none; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong{ font-weight: bolder; }
code, kbd, samp{ font-family: monospace; font-size: 1em; }
small{ font-size: 80%; }
sub, sup{ font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub{ bottom: -.25em; }
sup{ top: -.5em; }
img{ border-style: none; height: auto; max-width: 100%; }
details{ display: block; }
summary{ display: list-item; }
figcaption{ color: var(--imi-ash, #333); font-size: 16px; font-style: italic; font-weight: 400; line-height: 1.4; }
[hidden], template{ display: none; }

@media print{
  *, ::after, ::before{ background: transparent !important; box-shadow: none !important; color: #000 !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; }
  blockquote, pre{ -moz-column-break-inside: avoid; border: 1px solid #ccc; break-inside: avoid; }
  thead{ display: table-header-group; }
  img, tr{ -moz-column-break-inside: avoid; break-inside: avoid; }
  h2, h3, p{ orphans: 3; widows: 3; }
  h2, h3{ -moz-column-break-after: avoid; break-after: avoid; }
}

label{ display: inline-block; line-height: 1; vertical-align: middle; }
button, input, optgroup, select, textarea{ font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }

input[type="date"], input[type="email"], input[type="number"], input[type="password"],
input[type="search"], input[type="tel"], input[type="text"], input[type="time"],
input[type="url"], select, textarea{
  border: 1px solid var(--imi-edge-2, #666);
  border-radius: 3px;
  padding: .5rem 1rem;
  transition: all .3s;
  width: 100%;
}
input[type="date"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus,
input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus,
input[type="url"]:focus, select:focus, textarea:focus{ border-color: var(--imi-bone, #333); }

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

/* Базовый вид кнопки без цвета: заливку и рамку задают классы темы. */
[type="button"], [type="submit"], button{
  background-color: transparent;
  border: 1px solid currentColor;
  border-radius: 3px;
  color: inherit;
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  padding: .5rem 1rem;
  text-align: center;
  transition: all .3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  white-space: nowrap;
}
/* Ни заливки, ни цвета при наведении и фокусе — это делает тема. */
[type="button"]:focus, [type="button"]:hover,
[type="submit"]:focus, [type="submit"]:hover,
button:focus, button:hover{ text-decoration: none; }

[type="button"]:not(:disabled), [type="submit"]:not(:disabled), button:not(:disabled){ cursor: pointer; }

fieldset{ padding: .35em .75em .625em; }
legend{ box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress{ vertical-align: baseline; }
textarea{ overflow: auto; resize: vertical; }
[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; }

table{ background-color: transparent; border-collapse: collapse; border-spacing: 0; font-size: .9em; margin-block-end: 15px; width: 100%; }
table td, table th{ border: 1px solid hsla(0, 0%, 50%, .502); line-height: 1.5; padding: 15px; vertical-align: top; }
table th{ font-weight: 700; }
table tfoot th, table thead th{ font-size: 1em; }
table caption + thead tr:first-child td, table caption + thead tr:first-child th,
table colgroup + thead tr:first-child td, table colgroup + thead tr:first-child th,
table thead:first-child tr:first-child td, table thead:first-child tr:first-child th{ border-block-start: 1px solid hsla(0, 0%, 50%, .502); }
table tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th{ background-color: hsla(0, 0%, 50%, .071); }
table tbody tr:hover > td, table tbody tr:hover > th{ background-color: hsla(0, 0%, 50%, .102); }
table tbody + tbody{ border-block-start: 2px solid hsla(0, 0%, 50%, .502); }
@media (max-width: 767px){
  table table{ font-size: .8em; }
  table table td, table table th{ line-height: 1.3; padding: 7px; }
  table table th{ font-weight: 400; }
}

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

/* Фокус с клавиатуры — золотой контур темы, без белого свечения. */
[tabindex]:not([tabindex="-1"]):focus-visible,
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  box-shadow: none;
  outline: 2px solid var(--imi-gold, #EDAE24);
  outline-offset: 2px;
}
[tabindex]:not([tabindex="-1"]):focus:not(:focus-visible),
a:focus:not(:focus-visible), button:focus:not(:focus-visible), input:focus:not(:focus-visible),
select:focus:not(:focus-visible), textarea:focus:not(:focus-visible){ box-shadow: none; outline: none; }
