   
/*
-------------------------------------------
wf-table.css
-------------------------------------------

	Beskrivning: Tabeller (standard tabell)

	Skapad av: Webbfröken AB

------------------------------------------- */

/*
-------------------------------------------
Lokala variabler
------------------------------------------- */

.sv-text-portlet table.sv-standard {
  --wf-table-th-background-color: var(--color-block-primary);
  --wf-table-alt-row-td-background-color: var(--color-block);
  --wf-table-alt-row-th-background-color: color-mix(in srgb, var(--wf-table-th-background-color) 80%, #fff);
}


/*
-------------------------------------------
Tabellbeskrivning
------------------------------------------- */

.sv-text-portlet:has(table.sv-standard) caption {
  margin-bottom: 0.75em;
  font-size: var(--wf-font-size-normal);
  font-family: var(--wf-font-heading);
  border-left: 3px solid var(--color-block);
  padding-left: 0.75em;
}


/*
-------------------------------------------
Tabellen
------------------------------------------- */

.sv-text-portlet table.sv-standard {
  margin-bottom:var(--wf-spacing-40);
}

.sv-text-portlet table.sv-standard + .sv-font-liten-text { /* Om tabellen har en fotnot */
  margin-top: calc(var(--wf-spacing-20) *-1);
}

.sv-text-portlet table.sv-standard tr th, 
.sv-text-portlet table.sv-standard tr td {
  padding: 0;
  margin: 0;
  border: 0;
  text-align: left;
  padding: 0.5em 0.75em;
}

.sv-text-portlet table.sv-standard td,
.sv-text-portlet table.sv-standard td p {
  font-size: var(--wf-font-size-small);
}

/* Tabellhuvbud */
.sv-text-portlet table.sv-standard tr th {
  background-color:var(--wf-table-th-background-color);
}

.sv-text-portlet table.sv-standard th p {
  font-size: var(--wf-font-size-normal);
  font-family:var(--wf-font-heading);
  font-weight: 500;
}

/* Första raden i hela tabellen (thead eller tbody) ska alltid ha rundade hörn */
.sv-text-portlet table.sv-standard tr:first-of-type th:first-of-type,
.sv-text-portlet table.sv-standard tr:first-of-type td:first-of-type {
  border-bottom-left-radius: var(--wf-radius-small);
  border-top-left-radius: var(--wf-radius-small);
}

.sv-text-portlet table.sv-standard tr:first-of-type th:last-of-type,
.sv-text-portlet table.sv-standard tr:first-of-type td:last-of-type {
  border-bottom-right-radius: var(--wf-radius-small);
  border-top-right-radius: var(--wf-radius-small);
}

/* Om tabellen HAR th i tbody: Justera för att ta bort oönskade hörn i thead */
.sv-text-portlet table.sv-standard:has(tbody th) thead tr:first-of-type th:first-of-type {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

/* Ingen border-radius på vanliga th i tbody */
.sv-text-portlet table.sv-standard:has(tbody th) tbody th {
  border-radius: 0;
}

/* Undantag: Om första raden i tbody har en ensam th (både första och sista i raden), ta bort rundning */
.sv-text-portlet table.sv-standard:has(tbody th) tbody tr:first-of-type th:only-child,
.sv-text-portlet table.sv-standard:has(tbody th) tbody tr:first-of-type th:last-of-type {
  border-radius: 0;
}

/* Endast SISTA raden i tbody får rundning i nedersta vänstra hörnet */
.sv-text-portlet table.sv-standard:has(tbody th) tbody tr:last-of-type th:first-of-type {
  border-bottom-left-radius: var(--wf-radius-small);
}

/* Förhindra att td direkt efter th får rundning till vänster */
.sv-text-portlet table.sv-standard:has(tbody th) tbody th + td {
  border-radius: 0 !important;
}

/* Om thead saknas, ge border-radius top-left till första th i tbody */
.sv-text-portlet table.sv-standard:not(:has(thead)) tbody tr:first-of-type th:first-of-type {
  border-top-left-radius: var(--wf-radius-small) !important;
}


/*
-------------------------------------------
Varannan rad
------------------------------------------- */

.sv-text-portlet table.sv-standard tr:nth-child(even) td {
background-color:var(--wf-table-alt-row-td-background-color);
}

.sv-text-portlet table.sv-standard tr:nth-child(even) td:first-of-type {
  border-radius: var(--wf-radius-small) 0 0 var(--wf-radius-small);
}

.sv-text-portlet table.sv-standard tr:nth-child(even) td:last-of-type {
  border-radius: 0 var(--wf-radius-small) var(--wf-radius-small) 0;
}

/* Om tabellhuvud även är första kolumnen */
.sv-text-portlet table.sv-standard tbody tr:nth-child(odd) > th:first-of-type {
background-color:var(--wf-table-alt-row-th-background-color);
}

