/*
 *   Nadpisywanie stylów wbudowanych
 */

/* Szerokość elementów */
.top-nav,
.container 
{
    max-width: 95%;
}
/* hr */
hr {
    margin: 1rem 0;
}
.content {
    padding: 2rem !important;
}





/*
 *  Style motywu
 *
 *  Desktop     >   1024px
 *  Tablet      <=  1024px
 *  Mobile      <=   768px
 */

/* == START Ustawienia == */
:root {
    --color-primary: hsl(2, 70%, 50%);
}
nav {
    --color-menu-btn: hsla(0, 0%, 5%, 1);
    --color-menu-text: hsl(0, 0%, 5%);
    --color-menu-bg: hsla(0, 0%, 99%, 1);
    --color-menu-bg-alt: hsla(0, 0%, 99%, 1);
    --color-menu-bg-hover: hsla(0, 0%, 95%, 1);

    /* --menu-border: 1px solid hsl(0, 0%, 20%); */
    /* --menu-border-bottom: 1px solid hsl(0, 0%, 27%); */
    --menu-border: none;
    --menu-border-bottom: 1px solid hsl(0, 100%, 50%);

    --logo-max-width: 36px;
}
@media screen and (max-width: 1024px) {
nav {
    --logo-max-width: 48px;
}
}
/* == END Ustawienia == */


/* == START Linki == */
main a,
footer a,
main thead,
.accent
{
    color: var(--color-primary);
}
main a:hover,
footer a:hover
{
    color: color-mix(in hsl, var(--color-primary), white 10%);
}
/* == END Linki == */


/* == START Logo == */
nav .top-nav-title a {
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5ch;
}
.logo {
    max-width: var(--logo-max-width, 36px);
    height: auto;
    display: inline;
    margin-right: 1rem;
}
/* == END Logo == */


/* == START Rozmiary obrazków == */
.img-list {
    max-width: 50px;
    height: auto;
}
.img-thumbnail {
    max-width: 100px;
    height: auto;
}
.img-medium {
    max-width: 350px;
    height: auto;
}
.img-large {
    max-width: 600px;
    height: auto;
}
/* == END Rozmiary obrazków == */


/* == START Menu == */
/* Desktop: menu */
.top-nav-links .menu {
    display: flex;
    flex-direction: row;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.top-nav-links .menu > li {
    margin: 0 1rem;
    overflow: hidden;
}
/* Mobile: przycisk menu */
.menu-button-container {
    display: none;
    height: 100%;
    width: 30px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#menu-toggle {
    display: none;
}
.menu-button,
.menu-button::before,
.menu-button::after {
    display: block;
    background-color: var(--color-menu-btn, black);
    position: absolute;
    height: 4px;
    width: 30px;
    transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
    border-radius: 2px;
}
.menu-button::before {
    content: '';
    margin-top: -8px;
}
.menu-button::after {
    content: '';
    margin-top: 8px;
}
#menu-toggle:checked + .menu-button-container .menu-button::before {
    margin-top: 0px;
    transform: rotate(405deg);
}
#menu-toggle:checked + .menu-button-container .menu-button {
    background: rgba(255, 255, 255, 0);
}
#menu-toggle:checked + .menu-button-container .menu-button::after {
    margin-top: 0px;
    transform: rotate(-405deg);
}
/* Mobile: menu */
@media (max-width: 1024px) {
    .top-nav {
        justify-content: flex-start;
        max-width: 95%;
        padding: 1rem;
    }
    .top-nav-title .napis {
        display: none;
    }
    .menu-button-container {
        display: flex;
        margin-inline: auto 0;
    }
    .top-nav-links .menu {
        position: absolute;
        top: 0;
        margin-top: calc( var(--logo-max-width, 36px) + 2rem );    /* logo + padding */
        left: 0;
        flex-direction: column;
        width: 100%;
        justify-content: center;
        align-items: center;
        z-index: 10;
    }
    #menu-toggle ~ .top-nav-links .menu li {
        height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
        display: flex;
        align-items: center;
    }
    #menu-toggle:checked ~ .top-nav-links .menu li {
        border: var(--menu-border);
        height: 3.5em;
        padding: 0.5em;
        transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
    }
    .top-nav-links .menu > li {
        display: flex;
        justify-content: center;
        margin: 0;
        padding: 0.5em 0;
        width: 100%;
        color: var(--color-menu-text, white);
        background-color: var(--color-menu-bg, black);
        cursor: pointer;
    }
    .top-nav-links .menu > li:nth-of-type(even) {
        background-color: var(--color-menu-bg-alt);
    }
    .top-nav-links .menu > li:hover {
        background-color: var(--color-menu-bg-hover, black);
    }
    .top-nav-links .menu > li:not(:last-child) {
        border-bottom: var(--menu-border-bottom);
    }
}
/* == END Menu == */



/* == START Main wypełnia całą wysokość, responsywne == */
html {
    background: var(--color-main-bg);
}
html, body {
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
    background: unset;
}
nav, main, footer {
    width: 100%;
}
main {
    flex: 1;
}
/* == END Main wypełnia całą wysokość, responsywne == */



/* == START Stopka == */
footer {
    container-name: stopka;
    container-type: inline-size;

    max-width: 80%;
    margin: 2rem auto 0;
    padding: 1rem;

    font-size: 1.1rem;
}
.stopka {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
}
@container stopka (width < 600px) {
    .stopka {
        flex-direction: column;
        align-items: center;
    }
}
/* == END Stopka == */


/* == START flex pomocnik == */
.gap-20 {
    gap: 20px;
}
/* == END flex pomocnik == */


/* == START aktywna kropka  == */
.dot {
    --color-dot: #000000;
    --color-dot-off: #FF0000;
    --color-dot-on: #0ceb38;

    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 5px;
    background-color: var(--color-dot, black);
}

.dot-on {
    background-color: var(--color-dot-on, black);
}

.dot-off {
    background-color: var(--color-dot-off, black);
}
/* == END aktywna kropka  == */

/* == START button */
.btn-cake {
    background-color: #9b4dca;
    border: 0.1rem solid #9b4dca;
    background-color: var(--color-cakephp-red);
    border-color: var(--color-cakephp-red);
    border-radius: .4rem;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 700;
    height: 3.8rem;
    letter-spacing: .1rem;
    line-height: 3.8rem;
    padding: 0 3.0rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.btn-cake:hover {
    background-color: #606c76;
    border-color: #606c76;
    color: #fff;
    outline: 0;
}

/* == END button */