/*
-----------------------------------------
KNAPPAR (Figma: Exellent / Knapp)
Typ Primär (fylld) eller Sekundär (kontur), Färg Blå eller Vit (btn--light, för mörk bakgrund).
Hover finns inte i Figma: fyllning och kontur byter plats.
-----------------------------------------
*/

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  block-size: var(--size-control);
  padding-inline: var(--space-28);
  border: 1px solid var(--border-accent);
  border-radius: var(--radius-button);
  font: var(--font-button);
  letter-spacing: var(--tracking-button);
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

/* Ikon framför knapptexten (telefonikonen framför ett nummer): formen är ikonfilen i assets/icons som mask och färgen knappens textfärg (currentColor), så ikonen byter färg
   med knappen (fylld, kontur, vit, hover) utan en egen version per färg */
.btn__icon {
  flex: none;
  inline-size: var(--size-button-icon);
  block-size: var(--size-button-icon);
  margin-inline-end: var(--space-8);
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  forced-color-adjust: none;
}

/* Telefonluren ligger i stilmallen (data-URI) så att den når sajten via backoffice, där bara css-mappen går att redigera */
.btn__icon--lur {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.btn__icon--telefon {
  mask-image: url("../assets/icons/telefon.svg");
}

.btn--primary {
  background: var(--surface-accent);
  color: var(--text-inverse);
}

.btn--secondary {
  background: var(--surface-transparent);
  color: var(--text-accent);
}

.btn--light {
  border-color: var(--border-inverse);
}

.btn--light.btn--primary {
  background: var(--surface-inverse);
  color: var(--text-accent);
}

.btn--light.btn--secondary {
  color: var(--text-inverse);
}

@media (hover: hover) {
  .btn--primary:hover {
    background: var(--surface-transparent);
    color: var(--text-accent);
  }

  .btn--secondary:hover {
    background: var(--surface-accent);
    color: var(--text-inverse);
  }

  .btn--light.btn--primary:hover {
    background: var(--surface-transparent);
    color: var(--text-inverse);
  }

  .btn--light.btn--secondary:hover {
    background: var(--surface-inverse);
    color: var(--text-accent);
  }
}

/* Under 640 px får en lång knapptext bryta rad i stället för att spränga sidan (till exempel Kontaktuppgifter till våra lokala kontor) */
@media (width < 40rem) {
  .btn {
    block-size: auto;
    min-block-size: var(--size-control);
    padding-block: var(--space-12);
    white-space: normal;
    text-align: center;
  }
}
