:root {
  interpolate-size: allow-keywords;
}

.login-logo {
  & img {
    width: 200px !important;
  }
}

.login-box-body {
  display: flex;
  flex-flow: column nowrap;

  & > a:last-child {
    border: 1px solid currentColor;
    border-radius: .5rem;
    display: inline-block;
    margin: 1rem auto 0;
    padding: 0.5rem 1rem;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: color 0.25s, text-decoration-color 0.25s;

    &:hover, &:focus-visible {
      text-decoration-color: currentColor;
    }
  }
}

.main-header .logo img {
  max-width: 100px;
}

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

fieldset {
  margin-block-end: 1rem;
}

fieldset > legend {
  font-size: 1rem;
  margin-bottom: 0.3rem;
}

.field-tarif-desactivable .form-group {
  margin-bottom: 0;
}

.field-tarif-desactivable .checkbox {
  margin-block-end: 0.5rem;
}

td,
th {
  padding: .5rem;
}

thead > tr:last-child > th {
  border-block-end: 1px solid #9baeb9;
}

tbody > tr {
  & > * {
    border-block-end: 1px dotted #9baeb9;
  }

  &:nth-child(even) > td {
    background: #eeeeee;
  }
}

.cells-title {
  min-width: 12ch;
}

.grid-prices {
  margin-block-end: 1rem;
  th {
    text-align: center;
    font-size: 0.9rem;
  }
  tbody tr td:first-child {
    font-weight: bold;
    font-size: 0.9rem;
  }
}

.product-overrides {
  margin-block-end: 2rem;
}

.product-view-table .sonata-ba-view-container {
  th {
    width: min-content;
  }
}

.form-group--contact {
  border: 1px solid #e5e5e5;
  padding: 0.5rem;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}


.inline-options-blocks {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  flex-direction: row;
}

.inline-options-blocks .form-group {
  margin-bottom: 0;
}

.inline-options-blocks .help-block {
  margin-bottom: 0;
}

.block--concession-sieges {
  & h2 {
    margin: 0 0 .5rem;
  }

  & .concession-sieges__list {
    display: flex;
    flex-flow: row wrap;
    list-style: none;
    margin: .5rem 0;
    padding: 0;
    gap: 1rem;
  }

  & .concession-sieges__item {
    background: white;
    flex-grow: 1;
    max-width: 120px;
    aspect-ratio: 1/1;
    padding: .75rem .75rem 1rem;
    border-radius: 3px;
    display: flex;
    flex-flow: column nowrap;

    & h3 {
      margin: 0;
      font-size: 1rem;
    }

    & p {
      font-size: 1.75rem;
      margin: auto 0 0;
      text-align: center;

      & .used {
        color: #015a9c;
      }
    }
  }
}

.fournisseur-price-label {
  margin-top: 2rem;
}

.fournisseur-price-settings {
  margin-block-end: 2rem;

  div.price-availability {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: center;
  }
}

.fields-section-title {
  font-weight: 700;
}

.required:after {
  color: #1f6287;
  margin-inline-start: 0.16rem;
}

.inline-options-blocks .sonata-ba-field-help {
  max-width: 15rem;
}

.tarif-couleur__naming {
  display: flex;
  gap: 1rem;
}

.tarif-couleur__mode {
  .radio {
    margin: 0;
  }
}

.tarif-couleur__pricing {
  display: flex;
  gap: 1rem;
}

details.fake-dropdown {
  position: relative;
  display: inline-block;

  &::details-content {
    width: 0;
    overflow: hidden;
    transition: width 200ms ease-in-out, visibility 200ms allow-discrete;
  }

  &[open] {
    display: flex;
    flex-flow: row wrap;
    gap: .1em;

    &::details-content {
      width: auto;
    }
  }

  & ul {
    display: inline-flex;
    flex-flow: row wrap;
    gap: .1em;
    list-style: none;
    padding: 0;
    margin: 0;

    & li {
      border: 1px solid #ccc;
      border-radius: 2px;
      background: white;
    }
  }
}

.fieldset--simple {
  border: 1px solid #e5e5e5;
  border-radius: .5rem;
  padding: .5rem;

  & > legend {
    font-size: 1em;
    display: inline-block;
    padding: 0.25em 0.75em;
    border: 0;
    margin: 0;
    width: auto;
  }
}

.color-swatch {
  display: block;
  width: 5rem;
  height: 5rem;
}

.group-fields-inline {
  display: flex;
  flex-direction: row;
  gap: 0.25rem 1rem;
  flex-wrap: wrap;

  > * {
    flex: 0 1 18rem;
  }
}

.concession-config-beton__pompes > [data-controller="sonata-collection"] {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  flex-wrap: wrap;
}

.concession-config-beton__pompes .field-distance-max input {
  max-width: 15ch;
}

.concession-config-terrassement__decharge,
.concession-config-terrassement__brise-roche,
.concession-config-terrassement__puit-decompression,
.concession-config-terrassement__evacuation,
.concession-config-terrassement__terrassement {
  display: grid;
  gap: 0 2rem;
  grid-template-columns: repeat(auto-fill, 21rem);
}

[data-controller="form-multiple"] {
  & .btn-add,
  & .btn-del {
    background: transparent;
    border: 0;
    padding: 0 0 0 25px;
    position: relative;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: color .25s ease-in-out, text-decoration-color .25s ease-in-out;

    &::before {
      aspect-ratio: 1/1;
      background: currentColor;
      content: "";
      display: inline-block;
      inset: 50% auto auto 0;
      mask: url('../images/circle-plus.svg') no-repeat center center;
      position: absolute;
      translate: 0 -50%;
      width: 20px;
    }

    &:hover,
    &:focus-visible {
      color: black;
      text-decoration-color: currentColor;
    }
  }

  & .btn-add {
    translate: 0 -50%;
  }

  & .btn-del {
    &::before {
      mask-image: url('../images/circle-minus.svg');
    }
  }
}
