:root {
    /* Relativa storlekar för tyografik och avstånd, skapade med https://utopia.fyi */
    /* @link https://utopia.fyi/type/calculator?c=360,18,1.2,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

    --step--2: clamp(0.7813rem, 0.7736rem + 0.0341vw, 0.8rem);
    --step--1: clamp(0.9375rem, 0.9119rem + 0.1136vw, 1rem);
    --step-0: clamp(1.125rem, 1.0739rem + 0.2273vw, 1.25rem);
    --step-1: clamp(1.35rem, 1.2631rem + 0.3864vw, 1.5625rem);
    --step-2: clamp(1.62rem, 1.4837rem + 0.6057vw, 1.9531rem);
    --step-3: clamp(1.944rem, 1.7405rem + 0.9044vw, 2.4414rem);
    --step-4: clamp(2.3328rem, 2.0387rem + 1.3072vw, 3.0518rem);
    --step-5: clamp(2.7994rem, 2.384rem + 1.8461vw, 3.8147rem);
    /* @link https://utopia.fyi/space/calculator?c=360,18,1.2,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

    --space-3xs: clamp(0.3125rem, 0.3125rem + 0vw, 0.3125rem);
    --space-2xs: clamp(0.5625rem, 0.5369rem + 0.1136vw, 0.625rem);
    --space-xs: clamp(0.875rem, 0.8494rem + 0.1136vw, 0.9375rem);
    --space-s: clamp(1.125rem, 1.0739rem + 0.2273vw, 1.25rem);
    --space-m: clamp(1.6875rem, 1.6108rem + 0.3409vw, 1.875rem);
    --space-l: clamp(2.25rem, 2.1477rem + 0.4545vw, 2.5rem);
    --space-xl: clamp(3.375rem, 3.2216rem + 0.6818vw, 3.75rem);
    --space-2xl: clamp(4.5rem, 4.2955rem + 0.9091vw, 5rem);
    --space-3xl: clamp(6.75rem, 6.4432rem + 1.3636vw, 7.5rem);

    /* One-up pairs */
    --space-3xs-2xs: clamp(0.3125rem, 0.1847rem + 0.5682vw, 0.625rem);
    --space-2xs-xs: clamp(0.5625rem, 0.4091rem + 0.6818vw, 0.9375rem);
    --space-xs-s: clamp(0.875rem, 0.7216rem + 0.6818vw, 1.25rem);
    --space-s-m: clamp(1.125rem, 0.8182rem + 1.3636vw, 1.875rem);
    --space-m-l: clamp(1.6875rem, 1.3551rem + 1.4773vw, 2.5rem);
    --space-l-xl: clamp(2.25rem, 1.6364rem + 2.7273vw, 3.75rem);
    --space-xl-2xl: clamp(3.375rem, 2.7102rem + 2.9545vw, 5rem);
    --space-2xl-3xl: clamp(4.5rem, 3.2727rem + 5.4545vw, 7.5rem);

    /* Custom pairs */
    --space-s-l: clamp(1.125rem, 0.5625rem + 2.5vw, 2.5rem);

    /* Variabler för färger */
    --primary-color: #3498db;
    --secondary-color: #2ecc71;
    --color-dark: #333;
    --color-light: #f9f9f9;

    /* Variabler för typografi */
    --type-heading: sans-serif;
    --type-body: serif;
    --line-height-body: 1.6;
    --line-height-heading: 1.1;

    /* Avstånd för innehåll */
    --gutter: var(--space-m);
    --wrapper-max-width: 65rem;
}

/* Grundläggande stilar för body och rubriker */
body {
    font-family: var(--type-body);
    color: var(--color-dark);
    background-color: var(--color-light);
    line-height: var(--line-height-body);
    font-size: var(--step-1);
}

h1,
h2,
h3,
h4 {
    font-family: var(--type-heading);
    line-height: var(--line-height-heading);
}

h1 {
    font-size: var(--step-4);
    font-weight: 800;
}
h2 {
    font-size: var(--step-3);
    font-weight: 600;
}
h3 {
    font-size: var(--step-2);
    font-weight: 600;
}

article {
    min-height: 80vh;
    border-bottom: 4px solid var(--primary-color);
    margin-bottom: var(--space-l-xl);
    position: relative;
}

img {
    max-width: 100%;
    width: 100%;
}

/* Hjälp-stilar för layout och element */
.wrapper {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--wrapper-max-width, 60ch);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
}

.region {
    padding-top: var(--region-space, var(--space-xl-2xl));
    padding-bottom: var(--region-space, var(--space-xl-2xl));
}

.flow > * + * {
    margin-top: var(--flow-space, 1em);
}

/* Typsnittsklasser */

.heading {
    font-family: var(--type-heading);
}

.body {
    font-family: var(--type-body);
}

/* Färgklasser */

.primary-bg {
    background-color: var(--primary-color);
}

.secondary-bg {
    background-color: var(--secondary-color);
}

.primary {
    color: var(--primary-color);
    fill: var(--primary-color);
}

.secondary {
    color: var(--secondary-color);
    fill: var(--secondary-color);
}

.light {
    color: var(--color-light);
}

.dark {
    color: var(--color-dark);
}

.dark-bg {
    background-color: var(--color-dark);
}

/* Knappar */

.buttons {
    display: flex;
    gap: var(--gutter);
    flex-wrap: wrap;
    margin-top: var(--space-m);
}

.button {
    display: inline-block;
    padding: var(--space-xs) var(--space-m);
    font-family: var(--type-heading);
    font-size: var(--step-1);
    font-weight: 600;
    border: none;
    cursor: pointer;
    text-decoration: none;
}

.button:hover,
.button:focus {
    opacity: 0.9;
}

.button.primary {
    background-color: var(--primary-color);
    color: var(--color-light);
}

.button.secondary {
    background-color: var(--secondary-color);
    color: var(--color-light);
}

/* Stilar specifikt för den här demosidan */

.arrow-down {
    fill: var(--primary-color);
    color: var(--primary-color);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.arrow-down:hover,
.arrow-down:focus {
    opacity: 0.8;
}

.color-swatches {
    --region-space:var(--space-m-l);
    display: flex;
    flex-wrap: wrap;
    gap: var(--gutter);
}

.color-swatch {
    padding: var(--space-s);
    /* margin-bottom: var(--space-m); */
    width: calc(50% - var(--gutter) / 2);
}


