/* ============================================================================
   AIKWARIUM — SKÓRKA POZIOM A (light-first) + self-hosted Inter
   Wersjonowany plik skórki. Ładowany globalnie przez aquasmart_v103
   (handle 'aqs-skin', wp_enqueue_scripts prio 100 — po motywie i CSS paneli).
   Zastępuje warstwę wcześniej trzymaną w Wygląd → Dostosuj → Dodatkowy CSS.
   Po weryfikacji na produkcji USUŃ tę warstwę z Customizera (unikamy dublu).

   W PEŁNI ODWRACALNE — dezaktywacja/reinstall wtyczki zdejmuje skórkę.
   Nie rusza bazy ani markupu. Sama warstwa stylu + font.

   Mechanizm: przełączamy istniejące tokeny --c-* (z aqs-design.css) na paletę
   briefu → wszystkie komponenty .aqs-ui przyjmują nowy język same, bez zmian
   w markupie. Do tego: jasny header Astry + szlif przycisków/pól/tabel.
   ========================================================================== */

/* ---------- 0. INTER — self-hosted (SIL OFL 1.1) -------------------------- */
/* Subsety: latin + latin-ext (PL: ł ą ę ć ń ś ż ź). Wagi 400/500/600/700. */
/* woff2-only, bez CDN (RODO). Pliki: ./files/ obok tego CSS. LICENSE-OFL.txt tamże. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./files/inter-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./files/inter-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./files/inter-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./files/inter-latin-ext-500-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./files/inter-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./files/inter-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./files/inter-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./files/inter-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- 1. TOKENY (paleta briefu §4,22,23) ---------------------------- */
:root{
  --aqw-bg:#F4F7F8;
  --aqw-surface:#FFFFFF; --aqw-surface-soft:#EDF7F7;
  --aqw-ink:#17313A; --aqw-text:#36515A; --aqw-muted:#667B83;
  --aqw-brand:#0B7278; --aqw-brand-hover:#095E63; --aqw-brand-light:#E7F5F4; --aqw-accent:#00A8B5;
  --aqw-border:#DCE6E8; --aqw-row:#EDF1F2;
  --aqw-success:#1D8F66; --aqw-success-bg:#E6F5EE;
  --aqw-warning:#C98522; --aqw-warning-bg:#FBF1E1;
  --aqw-danger:#C75050;  --aqw-danger-bg:#FBECEC;
  --aqw-r-input:9px; --aqw-r-button:10px; --aqw-r-card:14px; --aqw-r-large:18px; --aqw-r-pill:999px;
  --aqw-shadow:0 8px 24px rgba(15,42,50,.05);
  --aqw-shadow-strong:0 12px 35px rgba(15,42,50,.08);
  /* Inter — self-hosted powyżej (@font-face, woff2, bez CDN, RODO). Fallback systemowy w łańcuchu. */
  --aqw-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- 2. BAZA + KONTENERY ASTRY ------------------------------------ */
body{
  font-family:var(--aqw-font);
  color:var(--aqw-text);
  background:
    radial-gradient(1000px 340px at 50% -150px, rgba(0,168,181,.06), transparent 70%),
    var(--aqw-bg) !important;
  -webkit-font-smoothing:antialiased;
}
.site-content, #content, .ast-container, .entry-content,
.ast-article-single, .content-area{ background:transparent !important; }
.entry-content, .entry-content p, .entry-content li{ color:var(--aqw-text); }
.entry-content h1, .entry-content h2, .entry-content h3, h1,h2,h3{
  color:var(--aqw-ink); letter-spacing:-.02em;
}
.entry-content a{ color:var(--aqw-brand); }

/* ---------- 3. APP HEADER (belka Astry → jasny header, §6) --------------- */
.ast-primary-header-bar,
.main-header-bar,
.main-header-bar-wrap,
.ast-main-header-wrap{
  background:var(--aqw-surface) !important;
  border-bottom:1px solid var(--aqw-border);
  box-shadow:none !important;
}
.main-header-bar .main-navigation a,
.ast-builder-menu-1 .menu-link,
.main-header-bar-navigation .menu-link{
  color:var(--aqw-muted) !important;
  font-weight:600;
}
.main-header-bar .main-navigation a:hover,
.ast-builder-menu-1 .menu-link:hover{
  color:var(--aqw-ink) !important;
}
.ast-builder-menu-1 .current-menu-item > .menu-link,
.main-header-bar .current-menu-item > a{
  color:var(--aqw-brand) !important;
}
/* stopka */
.site-footer, .ast-small-footer, .site-info{
  background:transparent !important; color:var(--aqw-muted) !important;
  border-top:1px solid var(--aqw-border);
}
.site-footer a, .site-info a{ color:var(--aqw-muted) !important; }

/* ---------- 4. PRZEŁĄCZENIE TOKENÓW .aqs-ui NA PALETĘ BRIEFU ------------- */
/* (body .aqs-ui — wyższa specyficzność niż oryginalne .aqs-ui → wygrywa)    */
body .aqs-ui{
  --c-surface:   transparent;
  --c-surface-2: #FAFCFC;
  --c-foam:      var(--aqw-surface);
  --c-depth:     var(--aqw-ink);
  --c-deep-2:    var(--aqw-ink);
  --c-slate:     var(--aqw-muted);
  --c-muted:     var(--aqw-muted);
  --c-border:    var(--aqw-border);
  --c-border-2:  var(--aqw-row);
  --c-water:     var(--aqw-brand);      /* dawny akcent → petrol briefu (bez neonu) */
  --c-cyan:      var(--aqw-accent);
  --c-cyan-soft: var(--aqw-brand-light);
  --shadow-card:      var(--aqw-shadow);
  --shadow-card-soft: var(--aqw-shadow);
  color:var(--aqw-ink);
  font-family:var(--aqw-font);
}

/* ---------- 5. PRZYCISKI (§12) ------------------------------------------ */
body .aqs-ui .aqs-btn,
body .aqs-ui .aqs-portal-btn{
  border-radius:var(--aqw-r-button); font-family:var(--aqw-font); font-weight:600;
}
body .aqs-ui .aqs-btn--primary,
body .aqs-ui .aqs-portal-btn--primary{
  background:var(--aqw-brand) !important; color:#fff !important; border-color:transparent !important;
}
body .aqs-ui .aqs-btn--primary:hover,
body .aqs-ui .aqs-portal-btn--primary:hover,
body .aqs-ui .aqs-account-logout:hover{      /* łatka: hover używał ciemnego tokenu jako tła */
  background:var(--aqw-brand-hover) !important; color:#fff !important;
}
body .aqs-ui .aqs-btn--secondary{
  background:var(--aqw-surface) !important; color:var(--aqw-ink) !important;
  border:1px solid var(--aqw-border) !important;
}
body .aqs-ui .aqs-btn--secondary:hover{ background:var(--aqw-surface-soft) !important; }
/* destructive dyskretny — nie krzyczy (§12) */
body .aqs-ui .aqs-btn--danger{
  background:transparent !important; color:var(--aqw-muted) !important;
  border:1px solid transparent !important; text-decoration:underline; text-underline-offset:3px;
}
body .aqs-ui .aqs-btn--danger:hover{ color:var(--aqw-danger) !important; }

/* ---------- 6. POLA / FORMULARZE ---------------------------------------- */
body .aqs-ui .aqs-input,
body .aqs-ui .aqs-field,
body .aqs-ui .aqs-form-row input,
body .aqs-ui .aqs-form-row select,
body .aqs-ui .aqs-form-row textarea,
body .aqs-ui input[type=text],
body .aqs-ui input[type=email],
body .aqs-ui input[type=number],
body .aqs-ui select, body .aqs-ui textarea{
  background:var(--aqw-surface); color:var(--aqw-ink);
  border:1px solid var(--aqw-border); border-radius:var(--aqw-r-input);
}
body .aqs-ui .aqs-input:focus,
body .aqs-ui .aqs-field:focus,
body .aqs-ui input:focus, body .aqs-ui select:focus, body .aqs-ui textarea:focus{
  outline:2px solid var(--aqw-accent); outline-offset:0; border-color:var(--aqw-accent);
}

/* ---------- 7. TABELE (§19) --------------------------------------------- */
body .aqs-ui .aqs-shop-table,
body .aqs-ui .aqs-shop-catalog-table,
body .aqs-ui .aqs-table{ border-collapse:collapse; }
body .aqs-ui .aqs-shop-table thead th,
body .aqs-ui .aqs-shop-catalog-table thead th,
body .aqs-ui .aqs-table thead th{
  background:#FAFCFC; color:var(--aqw-muted);
  font-size:11.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  border-bottom:1px solid var(--aqw-border);
}
body .aqs-ui .aqs-shop-table tbody td,
body .aqs-ui .aqs-table tbody td{
  border-bottom:1px solid var(--aqw-row); color:var(--aqw-ink);
}
body .aqs-ui .aqs-shop-table tbody tr:hover,
body .aqs-ui .aqs-table tbody tr:hover{ background:#F7FAFB; }

/* ---------- 8. PAGE HEADER + KARTY -------------------------------------- */
body .aqs-ui .aqs-page-header__title{
  color:var(--aqw-ink); font-weight:700; letter-spacing:-.02em;
}
body .aqs-ui .aqs-account-card,
body .aqs-ui .aqs-shop-card{
  background:var(--aqw-surface) !important;
  border:1px solid var(--aqw-border) !important;
  border-radius:var(--aqw-r-card) !important;
  box-shadow:var(--aqw-shadow) !important;
}

/* ---------- 9. DOSTĘPNOŚĆ (§25) ---------------------------------------- */
.aqs-ui a:focus-visible, .aqs-ui button:focus-visible,
.main-navigation a:focus-visible{
  outline:2px solid var(--aqw-accent); outline-offset:2px;
}

/* UWAGA: badge kategorii (.aqs-badge--fauna/flora/biotop/equip) celowo
   NIE ruszamy — to kolory semantyczne kategorii, nie statusy. */
/* ── FUNDAMENT · ŁATKA NAGŁÓWKA (A31) ──────────────────────────
   Ciemny pasek siedzi na .main-header-menu (#0e5a6b), nie na barze.
   Tu go gasimy do jasnego. Tylko desktop (menu-1); mobile już jest jasne. */
.ast-builder-menu-1 .main-header-menu,
.ast-builder-menu-1 .main-header-menu .sub-menu{
  background-color:var(--aqw-surface) !important;
  background-image:none !important;
}
.ast-builder-menu-1 .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .ast-menu-toggle{
  color:var(--aqw-muted) !important;
}
.ast-builder-menu-1 .menu-link:hover,
.ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link{
  color:var(--aqw-ink) !important;
  background:var(--aqw-surface-soft) !important;
}
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link{
  color:var(--aqw-brand) !important;
  background:transparent !important;
}
/* ── FUNDAMENT · PANEL MOJE AKWARIUM (A31, Krok 2) ─────────────
   Nadpisuje twarde wartości z aqs-user-panel.css na tokeny briefu.
   Wyższa specyficzność (body .aqs-ui …) + !important, bo oryginał
   też ma !important na tłach. W pełni odwracalne. */

/* przycisk główny: gradient → płaski petrol (§12) */
body .aqs-ui .aqs-user-panel .button-primary,
body .aqs-ui .aqs-user-panel button[type="submit"]:not(.aqs-btn-danger){
  background:var(--aqw-brand) !important;
  border-radius:var(--aqw-r-button) !important;
  box-shadow:none !important;
}
body .aqs-ui .aqs-user-panel .button-primary:hover,
body .aqs-ui .aqs-user-panel button[type="submit"]:not(.aqs-btn-danger):hover{
  background:var(--aqw-brand-hover) !important;
  transform:none;
}

/* „Usuń zbiornik": dyskretny destructive (§12) */
body .aqs-ui .aqs-user-panel .aqs-btn-danger{
  background:transparent !important;
  color:var(--aqw-muted) !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  text-decoration:underline; text-underline-offset:3px;
}
body .aqs-ui .aqs-user-panel .aqs-btn-danger:hover{
  background:transparent !important;
  color:var(--aqw-danger) !important;
  transform:none;
}

/* pola: promień briefu */
body .aqs-ui .aqs-user-panel input[type="text"],
body .aqs-ui .aqs-user-panel input[type="number"],
body .aqs-ui .aqs-user-panel input[type="date"],
body .aqs-ui .aqs-user-panel input[type="email"],
body .aqs-ui .aqs-user-panel select,
body .aqs-ui .aqs-user-panel textarea{
  border-radius:var(--aqw-r-input) !important;
  border-color:var(--aqw-border) !important;
}

/* karty-sekcje + karty pojedyncze: pełna biel + promień + cień briefu */
body .aqs-ui .aqs-tanks-add,
body .aqs-ui .aqs-journal-add,
body .aqs-ui .aqs-params-add,
body .aqs-ui .aqs-reminders-add,
body .aqs-ui .aqs-upcoming-reminders{
  background:var(--aqw-surface) !important;
  border:1px solid var(--aqw-border) !important;
  border-radius:var(--aqw-r-card) !important;
  box-shadow:var(--aqw-shadow) !important;
}
body .aqs-ui .aqs-tank-card,
body .aqs-ui .aqs-journal-entry,
body .aqs-ui .aqs-reminder-item{
  background:var(--aqw-surface) !important;
  border:1px solid var(--aqw-border) !important;
  border-radius:var(--aqw-r-card) !important;
  box-shadow:var(--aqw-shadow) !important;
}

/* nagłówki tabel: cyjanowy gradient → płaski (§19) */
body .aqs-ui .aqs-user-panel table.widefat th{
  background:#FAFCFC !important;
  color:var(--aqw-muted) !important;
}

/* aktywna zakładka: podkreślenie na kolor marki, bez gradientu */
body .aqs-ui .aqs-user-tab.is-active::after{
  background:var(--aqw-brand) !important;
}
/* ── FUNDAMENT · PANEL SKLEPU (A31, Krok 3) ────────────────────
   Nadpisuje twarde gradienty z shop-panel.css (most K2b) na płaską
   paletę briefu. Selektor body .aqs-ui.aqs-shop-panel — wyższa
   specyficzność niż oryginał. W pełni odwracalne. */

/* aktywna zakładka: gradient → płaski petrol (§11) */
body .aqs-ui.aqs-shop-panel .aqs-shop-tabs a.is-active,
body .aqs-ui.aqs-shop-panel .aqs-shop-filters a.is-active{
  background:var(--aqw-brand) !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

/* przycisk główny: gradient → płaski petrol (§12) */
body .aqs-ui.aqs-shop-panel .button-primary{
  background:var(--aqw-brand) !important;
  border-color:transparent !important;
  border-radius:var(--aqw-r-button) !important;
  box-shadow:none !important;
}
body .aqs-ui.aqs-shop-panel .button-primary:hover{
  background:var(--aqw-brand-hover) !important;
  box-shadow:none !important;
  transform:none;
}

/* przycisk wtórny: promień briefu, bez unoszenia */
body .aqs-ui.aqs-shop-panel .button{
  border-radius:var(--aqw-r-button) !important;
}
body .aqs-ui.aqs-shop-panel .button:hover{ transform:none; }

/* „Usuń": różowy przycisk → dyskretny destructive (§12) */
body .aqs-ui.aqs-shop-panel .button-link-delete{
  background:transparent !important;
  color:var(--aqw-muted) !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  text-decoration:underline; text-underline-offset:3px;
}
body .aqs-ui.aqs-shop-panel .button-link-delete:hover{
  background:transparent !important;
  color:var(--aqw-danger) !important;
}

/* nagłówki tabel: cyjanowy gradient → płaski (§19) */
body .aqs-ui.aqs-shop-panel .aqs-shop-table th,
body .aqs-ui.aqs-shop-panel .aqs-shop-catalog-table th{
  background:#FAFCFC !important;
  color:var(--aqw-muted) !important;
}

/* sekcje/karty: promień karty briefu + płaski cień */
body .aqs-ui.aqs-shop-panel .aqs-shop-section,
body .aqs-ui.aqs-shop-panel .aqs-shop-card{
  border-radius:var(--aqw-r-card) !important;
  box-shadow:var(--aqw-shadow) !important;
}

/* pola: promień + focus ring na akcent briefu */
body .aqs-ui.aqs-shop-panel .aqs-shop-form input:focus,
body .aqs-ui.aqs-shop-panel .aqs-shop-form select:focus,
body .aqs-ui.aqs-shop-panel .aqs-input-variant:focus,
body .aqs-ui.aqs-shop-panel .aqs-url-input:focus,
body .aqs-ui.aqs-shop-panel .aqs-linktype-select:focus{
  border-color:var(--aqw-accent) !important;
  box-shadow:0 0 0 3px rgba(0,168,181,.15) !important;
}
/* ── FUNDAMENT · LOGOWANIE / REJESTRACJA (A31, Krok 4) ─────────
   Formularze auth to gołe input/button (bez klas .aqs-*), więc
   Astra maluje je swoją paletą. Tu celujemy w .entry-content
   na stronach auth. Jeśli któraś karta ma własny wrapper .aqs-*,
   podmienimy selektor — na razie łapiemy przez treść strony. */

.entry-content form input[type="text"],
.entry-content form input[type="email"],
.entry-content form input[type="password"],
.entry-content form input[type="number"]{
  background:var(--aqw-surface) !important;
  border:1px solid var(--aqw-border) !important;
  border-radius:var(--aqw-r-input) !important;
  color:var(--aqw-ink) !important;
}
.entry-content form input:focus{
  border-color:var(--aqw-accent) !important;
  box-shadow:0 0 0 3px rgba(0,168,181,.15) !important;
  outline:none !important;
}
.entry-content form input[type="submit"],
.entry-content form button[type="submit"]{
  background:var(--aqw-brand) !important;
  color:#fff !important;
  border:1px solid transparent !important;
  border-radius:var(--aqw-r-button) !important;
  box-shadow:none !important;
}
.entry-content form input[type="submit"]:hover,
.entry-content form button[type="submit"]:hover{
  background:var(--aqw-brand-hover) !important;
}
/* ── FUNDAMENT · KOREKTA KONTA (A31, Krok 5) ───────────────────
   Krok 4 (szeroki .entry-content form button) pomalował „Usuń konto"
   na petrol i skleił z „Wyloguj". Tu: wyłączamy destructive z reguły
   głównego przycisku i robimy z niego dyskretny link (§12), oraz
   przywracamy odstęp między przyciskami. */

/* jeśli „Usuń konto" ma własną klasę danger — łapiemy ją wprost */
.entry-content form input.aqs-btn--danger,
.entry-content form button.aqs-btn--danger,
.entry-content .aqs-account-logout + form button[type="submit"],
.entry-content form[data-aqs-action="delete_account"] button[type="submit"],
.entry-content form.aqs-delete-account button[type="submit"]{
  background:transparent !important;
  color:var(--aqw-muted) !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  text-decoration:underline; text-underline-offset:3px;
}
.entry-content form.aqs-delete-account button[type="submit"]:hover,
.entry-content form[data-aqs-action="delete_account"] button[type="submit"]:hover,
.entry-content .aqs-account-logout + form button[type="submit"]:hover{
  color:var(--aqw-danger) !important;
  background:transparent !important;
}

/* odstęp między przyciskami konta (rozklejenie) */
.entry-content .aqs-account-logout,
.entry-content form[data-aqs-action="delete_account"],
.entry-content form.aqs-delete-account{
  margin-bottom:10px;
}
