﻿/* layout.css */

/* Nagłówek */
.main-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

/* Stylizacja navbar */
.navbar {
    background-color: var(--navbar-bg-color) !important;
}
.navbar .navbar-brand,
.navbar .nav-link {
    color: var(--text-color) !important;
    font-weight: 700;
    -webkit-transition: color 0.3s ease;
    -o-transition: color 0.3s ease;
    transition: color 0.3s ease;
}
.navbar .nav-link:hover {
    color: var(--accent-color) !important;
}


.header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.5rem;
    min-height: 80px;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.header-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.75rem;
    margin-left: auto;
    margin-right: 0.5rem;
}

.header-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-link {
    font-size: 1rem;
    letter-spacing: 0.02em;
    padding: 0 !important;
}

.header-link--highlight {
    color: var(--accent-color) !important;
}

.header-link--highlight:hover {
    color: #2fdd66 !important;
}

.header-contact-btn {
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.5rem 1.5rem;
    background: var(--primary-color);
    color: #ffffff;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    -webkit-transition: background 0.3s ease, -webkit-transform 0.3s ease;
    transition: background 0.3s ease, -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease, background 0.3s ease;
    transition: transform 0.3s ease, background 0.3s ease;
    transition: transform 0.3s ease, background 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-box-shadow: 0 10px 25px rgba(40, 167, 69, 0.25);
            box-shadow: 0 10px 25px rgba(40, 167, 69, 0.25);
}

.header-contact-btn:hover,
.header-contact-btn:focus {
    background: var(--btn-hover-background-color);
    -webkit-transform: translateY(-1px);
        -ms-transform: translateY(-1px);
            transform: translateY(-1px);
    color: #ffffff;
}

.header-contact-btn:active {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
}

.header-actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.75rem;
    margin-left: 1.5rem;
}

.header-container .theme-toggle {
    margin: 0;
}

.header-menu-toggle {
    display: none;
    position: relative;
    width: 46px;
    height: 46px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 50%;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.header-menu-toggle::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.19 2H7.81C4.17 2 2 4.17 2 7.81V16.18C2 19.83 4.17 22 7.81 22H16.18C19.82 22 21.99 19.83 21.99 16.19V7.81C22 4.17 19.83 2 16.19 2ZM17 17.25H7C6.59 17.25 6.25 16.91 6.25 16.5C6.25 16.09 6.59 15.75 7 15.75H17C17.41 15.75 17.75 16.09 17.75 16.5C17.75 16.91 17.41 17.25 17 17.25ZM17 12.75H7C6.59 12.75 6.25 12.41 6.25 12C6.25 11.59 6.59 11.25 7 11.25H17C17.41 11.25 17.75 11.59 17.75 12C17.75 12.41 17.41 12.75 17 12.75ZM17 8.25H7C6.59 8.25 6.25 7.91 6.25 7.5C6.25 7.09 6.59 6.75 7 6.75H17C17.41 6.75 17.75 7.09 17.75 7.5C17.75 7.91 17.41 8.25 17 8.25Z" fill="%2328a745"/></svg>');
}

.header-menu-toggle:hover,
.header-menu-toggle:focus {
    -webkit-transform: translateY(-1px);
        -ms-transform: translateY(-1px);
            transform: translateY(-1px);
}

.header-menu-toggle:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 3px;
}

.header-menu-toggle[aria-expanded="true"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C22 4.92893 22 7.28595 22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22ZM8.96965 8.96967C9.26254 8.67678 9.73742 8.67678 10.0303 8.96967L12 10.9394L13.9696 8.96969C14.2625 8.6768 14.7374 8.6768 15.0303 8.96969C15.3232 9.26258 15.3232 9.73746 15.0303 10.0303L13.0606 12L15.0303 13.9697C15.3232 14.2625 15.3232 14.7374 15.0303 15.0303C14.7374 15.3232 14.2625 15.3232 13.9696 15.0303L12 13.0607L10.0303 15.0303C9.73744 15.3232 9.26256 15.3232 8.96967 15.0303C8.67678 14.7374 8.67678 14.2626 8.96967 13.9697L10.9393 12L8.96965 10.0303C8.67676 9.73744 8.67676 9.26256 8.96965 8.96967Z" fill="%2328a745"/></svg>');
}

.header-menu-close {
    display: none;
    position: relative;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 50%;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.header-menu-close::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C22 4.92893 22 7.28595 22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22ZM8.96965 8.96967C9.26254 8.67678 9.73742 8.67678 10.0303 8.96967L12 10.9394L13.9696 8.96969C14.2625 8.6768 14.7374 8.6768 15.0303 8.96969C15.3232 9.26258 15.3232 9.73746 15.0303 10.0303L13.0606 12L15.0303 13.9697C15.3232 14.2625 15.3232 14.7374 15.0303 15.0303C14.7374 15.3232 14.2625 15.3232 13.9696 15.0303L12 13.0607L10.0303 15.0303C9.73744 15.3232 9.26256 15.3232 8.96967 15.0303C8.67678 14.7374 8.67678 14.2626 8.96967 13.9697L10.9393 12L8.96965 10.0303C8.67676 9.73744 8.67676 9.26256 8.96965 8.96967Z" fill="%2328a745"/></svg>');
}

.header-menu-close:hover,
.header-menu-close:focus {
    -webkit-transform: translateY(-1px);
        -ms-transform: translateY(-1px);
            transform: translateY(-1px);
}

.header-menu-close:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 3px;
}

.header-nav-social {
    display: none;
}

.header-navigation .footer-social {
    display: none;
}

.header-nav-divider {
    display: none;
}

@media (max-width: 1399.98px) {
    .header-navigation {
        gap: 1.5rem;
        margin-right: 0.5rem;
    }

    .header-menu {
        gap: 1.25rem;
    }
}

@media (max-width: 991.98px) {
    .header-navigation {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(320px, 80vw);
        background: var(--navbar-bg-color);
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: 2rem;
        padding: 5.5rem 2rem 2.5rem;
        -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
                transform: translateX(100%);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        margin-left: 0;
        margin-right: 0;
        -webkit-box-shadow: -12px 0 30px rgba(0, 0, 0, 0.4);
                box-shadow: -12px 0 30px rgba(0, 0, 0, 0.4);
        z-index: 1100;
        -webkit-transition: -webkit-transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s;
        transition: -webkit-transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s;
        -o-transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s;
        transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s;
        transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s, -webkit-transform 0.3s ease;
    }

    .header-navigation.is-open {
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
        -webkit-transition: -webkit-transform 0.3s ease, opacity 0.3s ease, visibility 0s;
        transition: -webkit-transform 0.3s ease, opacity 0.3s ease, visibility 0s;
        -o-transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s;
        transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s;
        transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s, -webkit-transform 0.3s ease;
    }

    .header-menu {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        width: 100%;
        gap: 1.25rem;
    }

    .header-link {
        font-size: 1.125rem;
    }

    .header-contact-btn {
        width: 100%;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .header-actions {
        margin-left: auto;
    }

    .header-menu-toggle {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }

    .header-menu-close {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        position: absolute;
        top: 1.75rem;
        right: 2rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        background: rgba(0, 0, 0, 0);
    }

    .header-nav-social {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin: 0 0 0;
        gap: 14px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .header-nav-social.footer-social {
        margin-bottom: 0;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .header-navigation .footer-social {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .header-nav-divider {
        display: block;
        width: 100%;
        height: 1px;
        background-color: var(--text-color);
        opacity: 0.4;
        margin: 1.5rem 0 1rem;
    }
}

@media (max-width: 575.98px) {
    .header-navigation {
        width: min(340px, 100vw);
        padding: 5rem 1.75rem 2rem;
    }

    .header-menu {
        gap: 1rem;
    }

    .header-contact-btn {
        font-size: 0.95rem;
    }

    .header-menu-close {
        right: 1.75rem;
    }

    .header-nav-divider {
        margin: 1.25rem 0 0.85rem;
    }
}

#overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    z-index: 900;
}

body.header-nav-open #overlay {
    opacity: 1;
    pointer-events: auto;
}

/* Bootstrapped w trybie jasnym */
.light-mode .navbar {
    background-color: var(--navbar-bg-color) !important;
}
.light-mode .navbar .navbar-brand,
.light-mode .navbar .nav-link {
    color: var(--text-color) !important;
}
.light-mode .navbar .nav-link:hover {
    color: var(--hover-color) !important;
}

/* ----------------------------------------
   Stylizacja stopki
---------------------------------------- */
.footer {
    background: var(--footer-bg);
    color: var(--footer-text-color);
    padding: 2rem 0;
    margin-top: auto;
    width: 100%;
}

/* Logo w stopce */
.footer-logo {
    max-width: 180px;
    display: block;
    margin-bottom: 1rem;
}

.footer-logo2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* Nagłówki w stopce */
.footer h5 {
    color: var(--footer-text-color);
    margin-bottom: 1rem;
    font-weight: 700;
}

    .footer a,
    .footer a:visited {
        color: var(--footer-text-color);
        text-decoration: none;
        opacity: 0.6;
        -webkit-transition: color 0.3s ease, -webkit-text-decoration 0.3s ease;
        transition: color 0.3s ease, -webkit-text-decoration 0.3s ease;
        -o-transition: color 0.3s ease, text-decoration 0.3s ease;
        transition: color 0.3s ease, text-decoration 0.3s ease;
        transition: color 0.3s ease, text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
    }

        .footer a:hover,
        .footer a:active {
            color: var(--accent-color);
            text-decoration: none;
        }

    .footer .social-icons a {
        color: var(--footer-text-color);
        margin-right: 1rem;
        font-size: 1.5rem;
        -webkit-transition: color 0.3s ease;
        -o-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

        .footer .social-icons a:hover {
            color: var(--accent-color);
        }

/* --- IKONY SOCIAL: CSS-only (maski SVG), klikalne --- */
.footer-social {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 1rem; /* nad separatorem */
    justify-content: flex-start; /* desktop: lewa strona */
}
.footer-social .social-link {
    display: inline-flex;
    width: 32px;
    height: 32px;
    color: #ffffff;                 /* kolor domyślny */
    text-decoration: none;
    outline: none;
    border-radius: 50%;
    -webkit-transition: color 0.2s ease, transform 0.2s ease;
    -o-transition: color 0.2s ease, transform 0.2s ease;
    transition: color 0.2s ease, transform 0.2s ease;
    position: relative;
}
.footer-social .social-link::before {
    content: "";
    inline-size: 100%;
    block-size: 100%;
    background-color: currentColor; /* kolor ikon z 'color' linku */
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* używamy masek, aby kolorować SVG przez currentColor */
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
}
/* Hover: na zielony primary */
.footer-social .social-link:hover,
.footer-social .social-link:focus-visible {
    color: var(--primary-color); /* u Ciebie: #28a745 */
    transform: translateY(-1px);
}

/* Konkretne ikony (maski) – źródła SVG w data URI */
.footer-social .social-link.instagram::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill-rule='evenodd' clip-rule='evenodd' d='M12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18ZM12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z'/><path d='M18 5C17.4477 5 17 5.44772 17 6C17 6.55228 17.4477 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5Z'/><path fill-rule='evenodd' clip-rule='evenodd' d='M1.65396 4.27606C1 5.55953 1 7.23969 1 10.6V13.4C1 16.7603 1 18.4405 1.65396 19.7239C2.2292 20.8529 3.14708 21.7708 4.27606 22.346C5.55953 23 7.23969 23 10.6 23H13.4C16.7603 23 18.4405 23 19.7239 22.346C20.8529 21.7708 21.7708 20.8529 22.346 19.7239C23 18.4405 23 16.7603 23 13.4V10.6C23 7.23969 23 5.55953 22.346 4.27606C21.7708 3.14708 20.8529 2.2292 19.7239 1.65396C18.4405 1 16.7603 1 13.4 1H10.6C7.23969 1 5.55953 1 4.27606 1.65396C3.14708 2.2292 2.2292 3.14708 1.65396 4.27606ZM13.4 3H10.6C8.88684 3 7.72225 3.00156 6.82208 3.0751C5.94524 3.14674 5.49684 3.27659 5.18404 3.43597C4.43139 3.81947 3.81947 4.43139 3.43597 5.18404C3.27659 5.49684 3.14674 5.94524 3.0751 6.82208C3.00156 7.72225 3 8.88684 3 10.6V13.4C3 15.1132 3.00156 16.2777 3.0751 17.1779C3.14674 18.0548 3.27659 18.5032 3.43597 18.816C3.81947 19.5686 4.43139 20.1805 5.18404 20.564C5.49684 20.7234 5.94524 20.8533 6.82208 20.9249C7.72225 20.9984 8.88684 21 10.6 21H13.4C15.1132 21 16.2777 20.9984 17.1779 20.9249C18.0548 20.8533 18.5032 20.7234 18.816 20.564C19.5686 20.1805 20.1805 19.5686 20.564 18.816C20.7234 18.5032 20.8533 18.0548 20.9249 17.1779C20.9984 16.2777 21 15.1132 21 13.4V10.6C21 8.88684 20.9984 7.72225 20.9249 6.82208C20.8533 5.94524 20.7234 5.49684 20.564 5.18404C20.1805 4.43139 19.5686 3.81947 18.816 3.43597C18.5032 3.27659 18.0548 3.14674 17.1779 3.0751C16.2777 3.00156 15.1132 3 13.4 3Z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill-rule='evenodd' clip-rule='evenodd' d='M12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18ZM12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z'/><path d='M18 5C17.4477 5 17 5.44772 17 6C17 6.55228 17.4477 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5Z'/><path fill-rule='evenodd' clip-rule='evenodd' d='M1.65396 4.27606C1 5.55953 1 7.23969 1 10.6V13.4C1 16.7603 1 18.4405 1.65396 19.7239C2.2292 20.8529 3.14708 21.7708 4.27606 22.346C5.55953 23 7.23969 23 10.6 23H13.4C16.7603 23 18.4405 23 19.7239 22.346C20.8529 21.7708 21.7708 20.8529 22.346 19.7239C23 18.4405 23 16.7603 23 13.4V10.6C23 7.23969 23 5.55953 22.346 4.27606C21.7708 3.14708 20.8529 2.2292 19.7239 1.65396C18.4405 1 16.7603 1 13.4 1H10.6C7.23969 1 5.55953 1 4.27606 1.65396C3.14708 2.2292 2.2292 3.14708 1.65396 4.27606ZM13.4 3H10.6C8.88684 3 7.72225 3.00156 6.82208 3.0751C5.94524 3.14674 5.49684 3.27659 5.18404 3.43597C4.43139 3.81947 3.81947 4.43139 3.43597 5.18404C3.27659 5.49684 3.14674 5.94524 3.0751 6.82208C3.00156 7.72225 3 8.88684 3 10.6V13.4C3 15.1132 3.00156 16.2777 3.0751 17.1779C3.14674 18.0548 3.27659 18.5032 3.43597 18.816C3.81947 19.5686 4.43139 20.1805 5.18404 20.564C5.49684 20.7234 5.94524 20.8533 6.82208 20.9249C7.72225 20.9984 8.88684 21 10.6 21H13.4C15.1132 21 16.2777 20.9984 17.1779 20.9249C18.0548 20.8533 18.5032 20.7234 18.816 20.564C19.5686 20.1805 20.1805 19.5686 20.564 18.816C20.7234 18.5032 20.8533 18.0548 20.9249 17.1779C20.9984 16.2777 21 15.1132 21 13.4V10.6C21 8.88684 20.9984 7.72225 20.9249 6.82208C20.8533 5.94524 20.7234 5.49684 20.564 5.18404C20.1805 4.43139 19.5686 3.81947 18.816 3.43597C18.5032 3.27659 18.0548 3.14674 17.1779 3.0751C16.2777 3.00156 15.1132 3 13.4 3Z'/></svg>");
}
.footer-social .social-link.facebook::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.03998C6.5 2.03998 2 6.52998 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.84998C10.44 7.33998 11.93 5.95998 14.22 5.95998C15.31 5.95998 16.45 6.14998 16.45 6.14998V8.61998H15.19C13.95 8.61998 13.56 9.38998 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96C15.9164 21.5878 18.0622 20.3855 19.6099 18.57C21.1576 16.7546 22.0054 14.4456 22 12.06C22 6.52998 17.5 2.03998 12 2.03998Z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.03998C6.5 2.03998 2 6.52998 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.84998C10.44 7.33998 11.93 5.95998 14.22 5.95998C15.31 5.95998 16.45 6.14998 16.45 6.14998V8.61998H15.19C13.95 8.61998 13.56 9.38998 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96C15.9164 21.5878 18.0622 20.3855 19.6099 18.57C21.1576 16.7546 22.0054 14.4456 22 12.06C22 6.52998 17.5 2.03998 12 2.03998Z'/></svg>");
}
.footer-social .social-link.tiktok::before {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16.656 1.029c1.637-0.025 3.262-0.012 4.886-0.025 0.054 2.031 0.878 3.859 2.189 5.213l-0.002-0.002c1.411 1.271 3.247 2.095 5.271 2.235l0.028 0.002v5.036c-1.912-0.048-3.71-0.489-5.331-1.247l0.082 0.034c-0.784-0.377-1.447-0.764-2.077-1.196l0.052 0.034c-0.012 3.649 0.012 7.298-0.025 10.934-0.103 1.853-0.719 3.543-1.707 4.954l0.020-0.031c-1.652 2.366-4.328 3.919-7.371 4.011l-0.014 0c-0.123 0.006-0.268 0.009-0.414 0.009-1.73 0-3.347-0.482-4.725-1.319l0.040 0.023c-2.508-1.509-4.238-4.091-4.558-7.094l-0.004-0.041c-0.025-0.625-0.037-1.25-0.012-1.862 0.49-4.779 4.494-8.476 9.361-8.476 0.547 0 1.083 0.047 1.604 0.136l-0.056-0.008c0.025 1.849-0.050 3.699-0.050 5.548-0.423-0.153-0.911-0.242-1.42-0.242-1.868 0-3.457 1.194-4.045 2.861l-0.009 0.030c-0.133 0.427-0.21 0.918-0.21 1.426 0 0.206 0.013 0.41 0.037 0.61l-0.002-0.024c0.332 2.046 2.086 3.59 4.201 3.59 0.061 0 0.121-0.001 0.181-0.004l-0.009 0c1.463-0.044 2.733-0.831 3.451-1.994l0.010-0.018c0.267-0.372 0.45-0.822 0.511-1.311l0.001-0.014c0.125-2.237 0.075-4.461 0.087-6.698 0.012-5.036-0.012-10.060 0.025-15.083z'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16.656 1.029c1.637-0.025 3.262-0.012 4.886-0.025 0.054 2.031 0.878 3.859 2.189 5.213l-0.002-0.002c1.411 1.271 3.247 2.095 5.271 2.235l0.028 0.002v5.036c-1.912-0.048-3.71-0.489-5.331-1.247l0.082 0.034c-0.784-0.377-1.447-0.764-2.077-1.196l0.052 0.034c-0.012 3.649 0.012 7.298-0.025 10.934-0.103 1.853-0.719 3.543-1.707 4.954l0.020-0.031c-1.652 2.366-4.328 3.919-7.371 4.011l-0.014 0c-0.123 0.006-0.268 0.009-0.414 0.009-1.73 0-3.347-0.482-4.725-1.319l0.040 0.023c-2.508-1.509-4.238-4.091-4.558-7.094l-0.004-0.041c-0.025-0.625-0.037-1.25-0.012-1.862 0.49-4.779 4.494-8.476 9.361-8.476 0.547 0 1.083 0.047 1.604 0.136l-0.056-0.008c0.025 1.849-0.050 3.699-0.050 5.548-0.423-0.153-0.911-0.242-1.42-0.242-1.868 0-3.457 1.194-4.045 2.861l-0.009 0.030c-0.133 0.427-0.21 0.918-0.21 1.426 0 0.206 0.013 0.41 0.037 0.61l-0.002-0.024c0.332 2.046 2.086 3.59 4.201 3.59 0.061 0 0.121-0.001 0.181-0.004l-0.009 0c1.463-0.044 2.733-0.831 3.451-1.994l0.010-0.018c0.267-0.372 0.45-0.822 0.511-1.311l0.001-0.014c0.125-2.237 0.075-4.461 0.087-6.698 0.012-5.036-0.012-10.060 0.025-15.083z'/></svg>");
}

.header-nav-social.footer-social .social-link {
    color: var(--text-color);
}

.light-mode .header-nav-social.footer-social .social-link {
    color: #000000;
}

/* Separator między sekcjami stopki */
.footer-divider {
    border: none;
    border-top: 1px solid rgba(255,255,255,0.2);
    margin: 1.5rem 0;
}

/* Odstępy między pozycjami listy */
.list-unstyled li {
    margin-bottom: 0.5rem;
}

/* Małe, paragrafowe teksty */
.footer p.small {
    color: var(--footer-text-color);
    font-size: 0.875rem;
    opacity: 0.6;
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

/* Opcjonalnie: Stylizacja formularza subskrypcji (jeśli używasz) */
.footer form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}
.footer .form-control {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    border-radius: 0.25rem;
    padding: 0.5rem 1rem;
    border: 1px solid #ccc;
}
.footer .btn-primary {
    background-color: var(--btn-background-color);
    border: none;
    color: var(--btn-text-color);
    -webkit-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}
.footer .btn-primary:hover {
    background-color: var(--btn-hover-background-color);
}

/* Stopka dla layoutu "request" */
.request-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: auto;
    padding: 10px 0;
    font-size: 0.875rem;
    background-color: transparent;
}
.request-footer p {
    margin: 0;
}

/* Stylizacja dodatkowych elementów (nagłówek, wartości, ikony edycji) */
.header-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 15px;
}
.value-highlight {
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--primary-color);
    text-align: center;
}
.edit-icon {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
    cursor: pointer;
}

    .edit-icon::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22SVGRepo_bgCarrier%22%20stroke-width%3D%220%22%3E%3C%2Fg%3E%3Cg%20id%3D%22SVGRepo_tracerCarrier%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3C%2Fg%3E%3Cg%20id%3D%22SVGRepo_iconCarrier%22%3E%20%3Cpath%20d%3D%22M21.2799%206.40005L11.7399%2015.94C10.7899%2016.89%207.96987%2017.33%207.33987%2016.7C6.70987%2016.07%207.13987%2013.25%208.08987%2012.3L17.6399%202.75002C17.8754%202.49308%2018.1605%202.28654%2018.4781%202.14284C18.7956%201.99914%2019.139%201.92124%2019.4875%201.9139C19.8359%201.90657%2020.1823%201.96991%2020.5056%202.10012C20.8289%202.23033%2021.1225%202.42473%2021.3686%202.67153C21.6147%202.91833%2021.8083%203.21243%2021.9376%203.53609C22.0669%203.85976%2022.1294%204.20626%2022.1211%204.55471C22.1128%204.90316%2022.0339%205.24635%2021.8894%205.5635C21.7448%205.88065%2021.5375%206.16524%2021.2799%206.40005V6.40005Z%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M11%204H6C4.93913%204%203.92178%204.42142%203.17163%205.17157C2.42149%205.92172%202%206.93913%202%208V18C2%2019.0609%202.42149%2020.0783%203.17163%2020.8284C3.92178%2021.5786%204.93913%2022%206%2022H17C19.21%2022%2020%2020.2%2020%2018V13%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3C%2Fpath%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    .light-mode .edit-icon::before {
        -webkit-filter: invert(100%);
                filter: invert(100%);
    }    

/* Układ informacji (desktop / mobile) */
.desktop-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
}
.mobile-info {
    display: none;
}

@media (max-width: 768px) {
    .desktop-info {
        display: none;
    }
    .mobile-row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 100%;
        gap: 20px;
    }
    .mobile-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    .mobile-item .info-label {
        font-weight: bold;
        font-size: 0.9rem;
        color: var(--text-color);
    }
    .mobile-item .value-highlight {
        font-size: 1.3rem;
        font-weight: bold;
        color: var(--primary-color);
    }
    .mobile-item .edit-icon {
        width: 20px;
        height: 20px;
        cursor: pointer;
    }

    /* Responsywna stopka */
    .footer .col-md-4,
    .footer .col-md-8 {
        text-align: center;
    }
    .footer-logo {
        margin: 0 auto 1rem;
    }
    .justify-content-end {
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
    }

    /* Social na mobile wyśrodkowane */
    .footer-social {
        justify-content: center;
    }
}

/* Globalna stylizacja linków */
a,
a:visited {
    color: var(--primary-link-color);
    text-decoration: none;
    -webkit-transition: color 0.3s ease, -webkit-text-decoration 0.3s ease;
    transition: color 0.3s ease, -webkit-text-decoration 0.3s ease;
    -o-transition: color 0.3s ease, text-decoration 0.3s ease;
    transition: color 0.3s ease, text-decoration 0.3s ease;
    transition: color 0.3s ease, text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
}
a:hover,
a:active {
    color: var(--accent-color);
    text-decoration: none;
}

/* Linki w nagłówkach */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit;
    text-decoration: none;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: var(--accent-color);
}

/* Zielony link */
.green-link {
    color: var(--accent-color);
    text-decoration: none;
    -webkit-transition: -webkit-text-decoration 0.3s ease;
    transition: -webkit-text-decoration 0.3s ease;
    -o-transition: text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
}
.green-link:hover {
    text-decoration: underline;
}