@use '../settings/breakpoints' as bp;
@use '../core/spacing' as sp;
@use '../core/namespace' as *;

// === No before/after classes ===
// Ex: .av-no-before / .av-no-after
@include ns("no-after") {
  &::after {
    content: none !important;
  }
}

@include ns("no-before") {
  &::before {
    content: none !important;
  }
}

// === Enlarge link area ===
@include ns("enlarge-link") {
  position: relative;

  a {
    background-image: none;
    outline-width: 0;

    &:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      outline-style: inherit;
      outline-color: inherit;
      outline-width: 2px;
      outline-offset: 2px;
      z-index: 1;
    }
  }

  &:active{
    background-color:var(--light-background-neutral);
  }

  &:hover{
    background-color:var(--surface-background);
  }
}

// === Demo mode visibility classes ===
:root[demo-mode="true"] .demo-display-none {
  display: none !important;
}

// === Reset link background image ===
a,
[href] {
  background-image: none;
}

// === Reset button styles ===
button {
  border:none;
  color:inherit;
  font-family:inherit;
  font-size:inherit;
}

// === Reset form element styles ===
button,
input,
select,
textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-color:transparent;
  margin:0;
}

// === Reset list styles ===
dl,
ol,
ul{
  margin:0;
  margin-block-end:0.5rem;
  margin-block-start:0.5rem;
  padding:0;
}

ul{
  list-style-type:disc;
  padding-inline-start:1rem;
}

ul>li::marker{
  font-size:calc((1em)*.9);
}

ol{
  counter-reset:li-counter;
  list-style-type:decimal;
  padding-inline-start:1.5rem;
}

ol>li{
  counter-increment:li-counter;
}

li::marker{
  content: counter(li-counter, ".") ". ";
}

// === List reset class ===
// Ex: .av-list-reset
@include ns("list-reset") {
  list-style: none;
  padding: var(--spacing-none);
  margin: var(--spacing-none);
}