/**
 * nav.css — Motyw T (trenerzy.org.pl)
 * Nawigacja, header, footer, hamburger, breadcrumbs, cookie, control center
 * TYLKO frontend — NIE ładowany do edytora Gutenberga.
 * Pełne RWD — overrides w max0640px.css / max1023px.css etc.
 */

/* ============================================
   HEADER
   ============================================ */
.kide_header {
    display: grid;
    grid-gap: 0;
    background-color: var(--kide-white);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}
.kide_header > .kide_container {
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: 1fr 4fr;
    align-items: center;
    padding: 0;
    margin: 0 auto !important;
}
.kide_header > .kide_container img {
    height: 4rem;
    width: auto;
}

/* ============================================
   NAWIGACJA DESKTOP
   ============================================ */
.kide_nav {
    display: inline-flex;
    gap: 2rem;
    width: 100%;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: center;
    z-index: 3;
}
.kide_nav :where(ul, li, a, span) {
    font-size: 1.2rem;
    display: flex;
    gap: 2rem;
    align-content: end;
    justify-content: flex-end;
    justify-items: end;
    align-self: end;
    margin: 0;
}
.kide_nav_link { color: var(--kide-dark); font-weight: 500; transition: color 0.3s; }
.kide_nav_link:hover { color: var(--kide-primary); }

/* ============================================
   NAWIGACJA MOBILNA
   ============================================ */
.kide_nav_mobile { display: none; flex-direction: column; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid #e5e7eb; }
.kide_nav_mobile.kide_active { display: flex; }

/* ============================================
   HAMBURGER
   ============================================ */
.kide_hamburger { display: flex; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 0.5rem; }
.kide_hamburger span { width: 25px; height: 3px; background-color: var(--kide-dark); transition: all 0.3s; border-radius: 2px; }
.kide_hamburger.kide_active span:nth-child(1) { transform: rotate(45deg) translate(7px, 7px); }
.kide_hamburger.kide_active span:nth-child(2) { opacity: 0; }
.kide_hamburger.kide_active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); }

/* ============================================
   BREADCRUMBS
   ============================================ */
.ps-breadcrumbs {
    padding: 0 !important;
    margin: 0 !important;
    height: fit-content !important;
    margin-bottom: 0 !important;
    grid-column: 1 / -1;
}
.ps-breadcrumbs li { margin-right: .5rem; height: 0; }
.ps-breadcrumbs li:not(:last-of-type)::after { content: '>'; margin-left: .5rem; }
.ps-breadcrumbs * { font-size: .8rem; }

/* ============================================
   FOOTER
   ============================================ */
.kide_footer {
    background-color: #222;
    color: var(--kide-white);
    padding: 3rem 0 0;
}
.kide_footer * { color: #dedede; }

/* Siatka widgetów — 3 kolumny */
.t-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
    padding-bottom: 2.5rem;
    width: max-content;
}

/* Pojedyncza kolumna widgetu */
.t-footer-col {width: fit-content;}

/* Tytuł widgetu */
.t-footer-widget-title {
    font-size: 1rem;
    font-weight: 700;
    text-align: left;
    margin: 0 0 1rem 0;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Wspólne style widgetów */
.t-footer-widget { }
.t-footer-widget p,
.t-footer-widget li,
.t-footer-widget a { font-size: 0.9rem; color: #9ca3af; }
.t-footer-widget a:hover { color: var(--kide-primary); }
.t-footer-widget ul { list-style: none; margin: 0; padding: 0; }
.t-footer-widget ul li { margin-bottom: 0.4rem; }

/* Widget menu nawigacji (wp_nav_menu jako widget) */
.t-footer-widget .menu { list-style: none; margin: 0; padding: 0; }
.t-footer-widget .menu li { margin-bottom: 0.4rem; }
.t-footer-widget .menu a { color: #9ca3af; font-size: 0.9rem; }
.t-footer-widget .menu a:hover { color: var(--kide-primary); }

/* Pasek dolny: copyright + menu regulaminów */
.t-footer-bottom {
    border-top: 1px solid #374151;
    padding: 1.25rem 0;
    display: flex;
    align-items: center;
}
.t-footer-bottom .kide_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #9ca3af;
}

/* Menu regulaminów w pasku dolnym */
.t-footer-legal {
    display: flex;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.t-footer-legal a { color: #9ca3af; font-size: 0.85rem; }
.t-footer-legal a:hover { color: var(--kide-primary); }

/* Fallback gdy brak widgetów */
.t-footer-fallback {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    padding-bottom: 2rem;
    color: #9ca3af;
}
.t-footer-menu {
    display: flex;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.t-footer-menu a { color: #9ca3af; font-size: 0.9rem; }
.t-footer-menu a:hover { color: var(--kide-primary); }

/* RWD — tablet i mobile: jedna kolumna */
@media screen and (max-width: 1023px) {
    .t-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 639px) {
    .t-footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .t-footer-bottom .kide_container { flex-direction: column; text-align: center; }
    .t-footer-legal { justify-content: center; }
}

/* ============================================
   COOKIE CONSENT
   ============================================ */
.cookie-consent-banner {
    background-color: #fefefe;
    font-size: 1rem;
    box-shadow: -1px 0 2px #222;
    display: block;
    position: fixed;
    bottom: 0; left: 0;
    width: 100dvw;
    height: fit-content;
    z-index: 1;
    text-align: center;
    padding: 1rem;
}
.cookie-consent-banner :where(p) { text-align: left; font-size: .5rem !important; }
.cookie-consent-buttons button {
    padding: .5rem 2rem;
    background-color: var(--kide-background-blue);
    border: solid 1px var(--kide-background-blue);
    border-radius: .15rem;
    color: #fff;
    margin: .5rem;
}
#cmplz-manage-consent .cmplz-manage-consent { right: 120px !important; }

/* ============================================
   CONTROL CENTER (pływający przycisk)
   ============================================ */
.kide_control_center {
    display: flex; flex-direction: column;
    position: fixed; bottom: 1rem; right: 1rem; z-index: 5;
    justify-content: flex-end;
}
.kide_control_center * { font-size: 1rem; width: fit-content; float: left; align-self: end; justify-self: end; }
.kide_control_center > div > a { display: flex; justify-content: end; align-items: center; gap: 0; padding: .6rem; width: fit-content; float: right; }
.kide_control_center > div > a > span,
.kide_control_center > div > a > img { background-color: var(--kide-background-blue); }
.kide_control_center > div > a > span { padding: .5rem; border-radius: .15rem; margin-right: -2rem; padding-right: 2rem; color: #fff; align-self: center; }
.kide_control_center > div > a > img  { border-radius: 50%; padding: 1rem; height: 4rem; width: 4rem; }
