:root {
    --white: hsl(0, 0%, 100%);
    --light-gray: hsl(212, 45%, 89%);
    --grayish-blue: hsl(216, 15%, 48%);
    --dark-blue: hsl(218, 44%, 22%);
    --blue: hsl(228, 45%, 44%);
}

* {
    box-sizing: border-box;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    background-color: var(--light-gray);
    font-family: 'Outfit', sans-serif;
    /* Nastavenie 12-stĺpcového gridu */
    /*background-image: repeating-linear-gradient(
        to right,
        rgba(184, 184, 184, 0.05),
        rgba(184, 184, 184, 0.05) 56px,
        transparent 56px,
        transparent 88px
    );    
    background-position: center;
    background-repeat: repeat-y;    
    background-size: 1440px 100%;*/
    /* Koniec nastavenia 12-stĺpcového gridu */
}

.card {
    /* Rozmery a správanie */
    width: 20rem /*320px*/;
    display: flex;
    flex-direction: column;
    align-items: center; /* Vycentruje obsah karty na stred */
    
    /* Vizuál */
    background-color: var(--white); /* Color: white */
    border-radius: 1.25rem /*20px*/; /* Zaoblenie  */
    
    /* Vnútorné priestory */
    padding: 1rem 1rem 2.5rem 1rem/*16px 16px 40px 16px*/; 
    gap: 1.5rem; /*24px Toto nahradí potrebu marginov pri textoch */
    
    text-align: center;
}

.qr-code img {
    width: 100%;
    max-width: 18rem /*288px*/;
    aspect-ratio: 1 / 1;
    height: auto;
    border-radius: 0.625rem /*10px*/;    
    display: block;
}

.text {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem /*16px*/;
    justify-content: center;
    text-align: center;
    /*border: black solid 1px;*/
    padding-inline-start: 1rem /*16px*/; /*padding-left*/
    padding-inline-end: 1rem /*16px*/; /*padding-right*/
}

h1 {
    font-size: 1.375rem /*22px*/;
    color: var(--dark-blue);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

p {
    font-size: 0.9375rem /*15px*/;
    color: var(--grayish-blue);
    margin: 0;
    line-height: 1.4;
    letter-spacing: 0.0125rem /*0.2px*/;    
}

footer.attribution { 
    font-size: 0.6875rem /*11px*/; 
    text-align: center;
    margin-block-start: 0.9375rem /*15px*/;
}
footer.attribution a { color: var(--blue); }

/* Mobile Styles (375px and below) */
@media (max-width: 23.4375rem /*375px*/) {
    .card {
        width: 90%;
        margin: 0 auto; /* Toto kartu vycentruje vodorovne */
    }   
}
