/*
Theme Name: BlueMania Nano
Theme URI: https://bluemania.pl
Author: BlueMania Chief IT Architect
Description: Lekki motyw dla stron hodowli budowanych modułem Strona WWW w BlueMania ERP. Nagłówek z logo i menu, stopka z danymi hodowli, zero zależności zewnętrznych. Do 14.12.0 motyw był generowany ze stringów PHP przy kliknięciu; teraz jest zwykłym katalogiem w repozytorium wtyczki, więc ma wersję i wchodzi do paczki OTA.
Version: 1.5.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: bluemania-nano
*/

/* --- Podstawa ---------------------------------------------------------- */

:root {
    --bmn-text:    #1e293b;
    --bmn-muted:   #64748b;
    --bmn-line:    #e2e8f0;
    --bmn-bg:      #ffffff;
    --bmn-alt:     #f8fafc;
    --bmn-accent:  #3b82f6;
    --bmn-width:   1200px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    padding: 0;
    background: var(--bmn-alt);
    color: var(--bmn-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

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

a { color: var(--bmn-accent); }

.bmn-wrap {
    width: 100%;
    max-width: var(--bmn-width);
    margin: 0 auto;
    padding: 0 20px;
}

/* Odsyłacz „przejdź do treści" — widoczny dopiero po sfokusowaniu klawiaturą. */
.bmn-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    background: #0f172a;
    color: #fff;
    padding: 10px 16px;
    z-index: 100000;
}
.bmn-skip:focus { left: 0; }

/* --- Nagłówek ---------------------------------------------------------- */

/* Tło, linia i pismo nagłówka przechodzą przez zmienne, żeby globalne tło strony ze Studia WWW
   mogło zdjąć biel bez `!important`, a napisy poszły za paletą szablonu. Bez tego nazwa hodowli
   i menu zostawały w kolorach dobranych pod biały pasek i na ciemnym szablonie robiły się
   nieczytelne. Wartości domyślne to dokładnie dawny wygląd, więc sam motyw — bez wtyczki ERP —
   rysuje nagłówek tak jak przedtem. */
.bmn-header {
    background: var(--bmn-header-bg, var(--bmn-bg));
    border-bottom: 1px solid var(--bmn-header-line, var(--bmn-line));
}

.bmn-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 18px;
    padding-bottom: 18px;
}

.bmn-brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.bmn-brand img { max-height: 64px; width: auto; }

.bmn-brand-text { min-width: 0; }
.bmn-brand-name {
    display: block;
    font-size: clamp(1.1rem, 3vw, 1.5rem);
    font-weight: 800;
    color: var(--bmn-header-title, var(--bmn-text));
    text-decoration: none;
    line-height: 1.2;
}
.bmn-brand-name:hover { color: var(--bmn-header-link, var(--bmn-accent)); }
.bmn-brand-sub { display: block; font-size: 12px; color: var(--bmn-header-muted, var(--bmn-muted)); }

/* --- Menu -------------------------------------------------------------- */

.bmn-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.bmn-nav li { position: relative; }
.bmn-nav a {
    display: block;
    padding: 8px 14px;
    border-radius: 8px;
    color: var(--bmn-header-muted, var(--bmn-muted));
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: background .15s, color .15s;
}
.bmn-nav a:hover { background: var(--bmn-header-soft, var(--bmn-alt)); color: var(--bmn-header-title, var(--bmn-text)); }
.bmn-nav .current-menu-item > a,
.bmn-nav .current_page_item > a {
    background: var(--bmn-header-soft, rgba(59, 130, 246, .1));
    color: var(--bmn-header-link, var(--bmn-accent));
}

/* Podmenu — pokazywane po najechaniu i po sfokusowaniu klawiaturą. */
.bmn-nav ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: var(--bmn-article-bg, var(--bmn-bg));
    border: 1px solid var(--bmn-header-line, var(--bmn-line));
    border-radius: 10px;
    padding: 6px;
    flex-direction: column;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
    z-index: 50;
}
.bmn-nav li:hover > ul,
.bmn-nav li:focus-within > ul { display: flex; }

/* --- Treść ------------------------------------------------------------- */

.bmn-main { padding: 30px 0 50px; }

/* Płyta treści jest powierzchnią, nie tłem strony: szablon Studia, który maluje panele
   (np. „Neon” — ciemne `modal_bg`), musi ją wypełnić tak samo jak karty kotów, bo inaczej
   zostaje biały prostokąt pośrodku ciemnej strony. Wartości domyślne to dawne stałe motywu,
   więc sam motyw, bez wtyczki, rysuje płytę tak jak przedtem. Razem z wypełnieniem idą
   kolory pisma — ciemna płyta z ciemnym tekstem byłaby nie do przeczytania. */
.bmn-article {
    background: var(--bmn-article-bg, var(--bmn-bg));
    color: var(--bmn-article-text, inherit);
    border: 1px solid var(--bmn-article-line, var(--bmn-line));
    border-radius: 14px;
    padding: clamp(20px, 4vw, 40px);
    margin-bottom: 25px;
}
.bmn-article > *:first-child { margin-top: 0; }
.bmn-article > *:last-child { margin-bottom: 0; }
.bmn-article h1, .bmn-article h2, .bmn-article h3, .bmn-article h4 { color: var(--bmn-article-title, inherit); }
.bmn-article a { color: var(--bmn-article-link, var(--bmn-accent)); }

.bmn-title { font-size: clamp(1.4rem, 4vw, 2.1rem); line-height: 1.25; margin: 0 0 20px; }

.bmn-thumb { margin: 0 0 25px; }
.bmn-thumb img { border-radius: 12px; display: block; width: 100%; }

.bmn-meta { font-size: 13px; color: var(--bmn-article-muted, var(--bmn-muted)); margin-bottom: 20px; }

.bmn-empty { text-align: center; color: var(--bmn-article-muted, var(--bmn-muted)); padding: 60px 20px; }

.bmn-pagination { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.bmn-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--bmn-article-line, var(--bmn-line)); border-radius: 8px; background: var(--bmn-article-bg, var(--bmn-bg)); text-decoration: none; }
.bmn-pagination .page-numbers.current { background: var(--bmn-accent); border-color: var(--bmn-accent); color: #fff; }

/* --- Podpis na grafice -------------------------------------------------- */
/* Jedna linia pod nagłówkiem albo nad krawędzią stopki. Kolor dziedziczy po swojej części,
   więc idzie za ustawieniem „Kolor tekstu” bez osobnego pola. */

.bmn-caption {
    max-width: var(--bmn-width);
    margin: 0 auto;
    padding: 6px 20px 0;
    font-size: 14px;
    line-height: 1.4;
}
.bmn-footer-caption { padding-top: 12px; }

/* --- Stopka ------------------------------------------------------------ */

/* Cała paleta stopki idzie przez zmienne z domyślnymi wartościami równymi dawnym stałym.
   Stopka była jedynym miejscem motywu z kolorami wpisanymi na sztywno, więc po zdjęciu
   granatowego tła tekst zostawał jasnoszary na jasnym tle. Kto zdejmuje tło, podaje
   w tych samych zmiennych czytelny zestaw kolorów. */
.bmn-footer {
    background: var(--bmn-footer-bg, #0f172a);
    color: var(--bmn-footer-text, #94a3b8);
    padding: 35px 0 25px;
    font-size: 14px;
}
.bmn-footer-inner { display: flex; gap: 30px; justify-content: space-between; flex-wrap: wrap; }
.bmn-footer strong { color: var(--bmn-footer-strong, #f8fafc); }
.bmn-footer a { color: var(--bmn-footer-link, #cbd5e1); }
.bmn-footer a:hover { color: var(--bmn-footer-link-hover, #fff); }
.bmn-footer-block { min-width: 200px; }
.bmn-footer-block p { margin: 0 0 4px; }
.bmn-footer-bottom { border-top: 1px solid var(--bmn-footer-line, #1e293b); margin-top: 25px; padding-top: 18px; font-size: 12px; color: var(--bmn-footer-muted, #64748b); }

/* --- Szerokość pełna dla modułów ERP ----------------------------------- */
/* Karty kotów i miotów mają własny układ siatki i własne style; motyw nie
   dokłada im marginesów ani nie nadpisuje kolorów, żeby Studio WWW pozostało
   jedynym miejscem, które o nich decyduje. */
.bmn-article .bm-hub-wrap { margin-left: 0; margin-right: 0; }

/* --- Menu mobilne ------------------------------------------------------ */
/* Przycisk istnieje w HTML zawsze, ale pokazuje się dopiero poniżej progu. Menu jest
   ukrywane WYŁĄCZNIE wtedy, gdy skrypt oznaczył je klasą `bmn-nav-js` — dzięki temu brak
   JavaScriptu zostawia rozwiniętą, działającą nawigację zamiast zwiniętej i nieklikalnej. */

.bmn-nav-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    background: var(--bmn-header-soft, var(--bmn-alt));
    border: 1px solid var(--bmn-header-line, var(--bmn-line));
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 14px;
    font-weight: 700;
    color: var(--bmn-header-title, var(--bmn-text));
    cursor: pointer;
}
.bmn-nav-toggle:hover { background: var(--bmn-header-soft, #eef2f7); }

.bmn-burger { position: relative; display: block; width: 18px; height: 2px; background: currentColor; }
.bmn-burger::before,
.bmn-burger::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; }
.bmn-burger::before { top: -6px; }
.bmn-burger::after  { top: 6px; }

@media (max-width: 720px) {
    .bmn-header-inner { flex-direction: row; align-items: center; justify-content: space-between; }

    .bmn-nav-toggle { display: inline-flex; order: 2; }

    .bmn-nav { order: 3; width: 100%; }
    .bmn-nav.bmn-nav-js { display: none; }
    .bmn-nav.bmn-nav-js.bmn-open { display: block; }

    .bmn-nav ul { flex-direction: column; gap: 2px; padding-top: 10px; }
    .bmn-nav a { padding: 11px 12px; font-size: 15px; }

    /* Na dotyku hover nie istnieje — podmenu ma być po prostu widoczne pod rodzicem. */
    .bmn-nav ul ul {
        display: flex;
        position: static;
        border: none;
        box-shadow: none;
        padding: 0 0 0 16px;
        min-width: 0;
    }
}
