/*
 * White-label dla /wp-login.php — brand z Settings::business_name + logo.
 *
 * Paleta OKtorej (oliwka), przeniesiona z tokenów oktorej.pl. Do 0.44.99 stał
 * tu brąz #7d6354 + zieleń #16a34a — TRZECIA paleta w produkcie, obok fioletu
 * landingu demo i oliwki panelu. Prospekt przechodził przez wszystkie trzy
 * w jednym flow: landing → ten ekran → /admin.
 *
 * ⚠️ To NIE jest ekran wyłącznie demo — `login.css` ładuje się na KAŻDEJ
 * instalacji. Kolory są tu chromem PRODUKTU (logo i nazwa firmy przychodzą
 * z Settings tenanta), więc mają być nasze, a nie neutralne.
 *
 * Zmienna CSS `--booking-login-logo` jest ustawiana inline przez
 * Login_Branding::enqueue_styles() (URL do logo z pluginu).
 */

:root {
    --booking-login-bg: #f3f5ec;          /* --muted strony */
    --booking-login-surface: #ffffff;     /* --card */
    --booking-login-border: #dde3cd;      /* --border */
    --booking-login-text: #283618;        /* --foreground */
    --booking-login-muted: #5a6147;       /* --muted-foreground */
    --booking-login-brand: #606c38;       /* --olive: focus, linki, akcent */
    --booking-login-primary: #283618;     /* --primary: przycisk akcji */
    --booking-login-primary-fg: #fefae0;  /* --primary-foreground (krem) */
    --booking-login-danger: oklch(0.577 0.245 27.325); /* --destructive */
}

/*
 * Typografia produktu — Rubik. Zmienne przychodzą z `public/assets/dist/fonts.css`,
 * wpiętego jako zależność `booking-fonts` w `Login_Branding::enqueue_styles()`.
 * Ten sam arkusz obsługuje potwierdzenie WYLOGOWANIA: idzie ono przez
 * `login_header()`, więc dostaje `login_enqueue_scripts` i te same style —
 * jedna zmiana pokrywa oba ekrany.
 *
 * ⚠️ Kroje serwuje serwer KLIENTA, nie CDN. Ten ekran stoi na KAŻDEJ instalacji,
 * więc odwołanie do Google byłoby transferem IP jego personelu do strony trzeciej.
 *
 * ⚠️ Nagłówka do ostylowania tu NIE MA i to nie jest przeoczenie: jedyny `<h1>`
 * na ekranie logowania to logo tenanta podmienione tłem (`text-indent: -9999px`),
 * a ekran wylogowania składa się z samych akapitów. Space Grotesk nie miałby
 * tu czego złapać — reguła pod niego byłaby selektorem bez trafień.
 */
body.login {
    background: var(--booking-login-bg);
    font-family: var(--booking-font-body);
}

/*
 * PRZYPIĘCIE, nie naprawa — i tak ma być opisane, żeby nikt nie liczył na to,
 * czego ta reguła nie robi. Kontrolki formularza nie dziedziczą kroju z definicji
 * (`input`, `select`, `textarea`, `button` mają własny domyślny font
 * przeglądarki), ale WordPress sam to resetuje: `forms.min.css` niesie
 * `button, input, select, textarea { font-family: inherit }`. Zmierzone na
 * wp-login.php 0.44.109 — bez tej reguły pola i tak byłyby w Rubiku.
 *
 * Zostaje jako pin intencji: reset rdzenia to jego szczegół implementacyjny,
 * nie kontrakt, a objawem jego zniknięcia byłoby pole na foncie systemowym
 * obok Rubika w etykietach — różnica na tyle subtelna, że przechodzi
 * przez przegląd.
 *
 * ⚠️ POLE HASŁA celowo NIE jest tu wymienione i celowo zostaje monospace.
 * Rdzeń pina je `.login input.password-input { Consolas, Monaco, monospace }`
 * (0,2,1 — bije nasze 0,1,1) i to jest DOBRA decyzja: przy podglądzie hasła
 * monospace odróżnia l/I/1 i O/0. Nie „naprawiaj" tego na Rubika.
 */
.login input,
.login select,
.login textarea,
.login button,
.login .button,
.booking-logout-confirm .button {
    font-family: var(--booking-font-body);
}

#login {
    padding-top: 6vh;
    width: 380px;
    max-width: 92vw;
}

/* Logo w headerze — zastąp domyślne WP */
.login h1 a {
    background-image: var(--booking-login-logo);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 140px;
    height: 80px;
    margin: 0 auto 18px;
    text-indent: -9999px;
    display: block;
}

/* Formularz */
.login form {
    background: var(--booking-login-surface);
    border: none;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 10px 30px rgba(0,0,0,0.06);
    padding: 28px 28px 22px;
    margin-top: 16px;
}

.login form .input,
.login input[type=text],
.login input[type=password],
.login input[type=email] {
    border: 1px solid var(--booking-login-border);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 14px;
    background: var(--booking-login-surface);
    box-shadow: none;
    -webkit-font-smoothing: auto;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.login form .input:focus,
.login input[type=text]:focus,
.login input[type=password]:focus,
.login input[type=email]:focus {
    border-color: var(--booking-login-brand);
    box-shadow: 0 0 0 3px rgba(96, 108, 56, 0.16);
    outline: none;
}

.login label {
    font-size: 13px;
    color: var(--booking-login-text);
    font-weight: 500;
}

/* Button Primary (zaloguj, zresetuj hasło) — ciemna zieleń, jak CTA strony.
   Promień `--radius - 2px` = 8px, nie pigułka: oktorej.pl nie ma pigułkowych
   przycisków akcji nigdzie. */
.wp-core-ui .button-primary,
.wp-core-ui .button-primary:focus {
    background: var(--booking-login-primary);
    border-color: var(--booking-login-primary);
    color: var(--booking-login-primary-fg);
    text-shadow: none;
    box-shadow: none;
    border-radius: 8px;
    padding: 10px 22px;
    font-weight: 600;
    font-size: 13px;
}
.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:active {
    background: color-mix(in oklab, var(--booking-login-primary) 90%, transparent);
    border-color: color-mix(in oklab, var(--booking-login-primary) 90%, transparent);
    color: var(--booking-login-primary-fg);
}

/* Linki pod formularzem — oliwka. Hover ciemnieje do koloru tekstu, tak samo
   jak `text-muted-foreground hover:text-foreground` na stronie. */
.login #nav a,
.login #backtoblog a {
    color: var(--booking-login-brand);
    text-decoration: none;
    font-size: 12px;
}
.login #nav a:hover,
.login #backtoblog a:hover {
    color: var(--booking-login-text);
    text-decoration: underline;
}

/* Informacja zamiast martwego linku „Nie pamiętasz hasła?" w demo —
   wstawia ją `Login_Branding::demo_lost_password_note()`. */
.login #nav .booking-demo-note {
    color: var(--booking-login-muted);
    font-size: 12px;
}
.login #nav .booking-demo-note a {
    color: var(--booking-login-brand);
    font-weight: 600;
}

/* Checkbox "Zapamiętaj mnie" */
.login .forgetmenot label {
    color: var(--booking-login-muted);
    font-size: 12px;
}

/* Message boxy */
.login .message,
.login #login_error {
    border-left: 3px solid var(--booking-login-brand);
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 13px;
    background: var(--booking-login-surface);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.login #login_error {
    border-left-color: var(--booking-login-danger);
}

/* Potwierdzenie wylogowania (Login_Branding::logout_confirm_html) — ten sam
   kształt co formularz logowania, żeby ekran nie wyglądał na cudzy. */
.booking-logout-confirm {
    background: var(--booking-login-surface);
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 10px 30px rgba(0,0,0,0.06);
    padding: 28px 28px 22px;
    margin-top: 16px;
    color: var(--booking-login-text);
    font-size: 14px;
    line-height: 1.55;
}
.booking-logout-confirm .submit {
    margin: 20px 0 0;
    text-align: center;
}
/* Rdzeń stylizuje `.button-primary` NA EKRANIE LOGOWANIA jako pływający
   w prawo przycisk formularza, a nasz jest linkiem — stąd `float: none`
   i zdjęcie podkreślenia. Bez tego przycisk siadał obok „Wróć do panelu"
   i wyglądał na podkreślony link, nie na akcję (zmierzone w przeglądarce). */
.booking-logout-confirm .button-primary {
    float: none;
    text-decoration: none;
}
.booking-logout-confirm .booking-logout-back {
    margin: 14px 0 0;
    text-align: center;
    font-size: 12px;
}
.booking-logout-confirm .booking-logout-back a {
    color: var(--booking-login-brand);
    text-decoration: none;
}
.booking-logout-confirm .booking-logout-back a:hover {
    color: var(--booking-login-text);
    text-decoration: underline;
}

/* Privacy policy link (WP >=4.9.6) */
.login .privacy-policy-page-link {
    margin-top: 12px;
}
.login .privacy-policy-page-link a {
    color: var(--booking-login-muted);
    font-size: 12px;
}

/* Przełącznik języka rdzenia WP — niebieski select z „Zmień" pod formularzem.
   Pokazuje się, gdy zainstalowany jest więcej niż jeden język.

   Ukryty świadomie: produkt jest w całości po polsku (UI panelu, widget, maile,
   dokumentacja) i NIE wysyłamy tłumaczeń. Przełączenie na angielski nie daje
   więc angielskiego produktu — daje MIESZANKĘ: nasze ekrany po polsku, rdzeń
   po angielsku. To gorszy stan niż brak wyboru.

   CSS, nie `remove_action`: kontrolka zostaje osiągalna parametrem `wp_lang`
   dla kogoś, kto naprawdę jej potrzebuje. */
.login #language-switcher {
    display: none;
}
