/* Albumik 0.1.28 TYPOGRAPHY + HOVER */
/* CSS only. No backend. No JS. No DOM rebuild. */

/* Ogólnie: delikatnie większa, mniej ciężka typografia */
body:not(.login-page) {
  font-size: 15.5px !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

/* Teksty zwykłe mniej pogrubione */
body:not(.login-page) p,
body:not(.login-page) span,
body:not(.login-page) div,
body:not(.login-page) label,
body:not(.login-page) input,
body:not(.login-page) select,
body:not(.login-page) textarea {
  font-weight: 500 !important;
}

/* Nagłówki zostają wyraźne, ale nie takie betonowe */
body:not(.login-page) h1 {
  font-weight: 800 !important;
  font-size: clamp(30px, 2.15vw, 38px) !important;
  letter-spacing: -0.85px !important;
}

body:not(.login-page) h2,
body:not(.login-page) h3 {
  font-weight: 750 !important;
  letter-spacing: -0.35px !important;
}

/* Liczby/statystyki mogą być mocniejsze, ale bez przesady */
body:not(.login-page) .stat-card strong,
body:not(.login-page) .stat-card b,
body:not(.login-page) [class*="stat"] strong,
body:not(.login-page) [class*="stat"] b {
  font-weight: 780 !important;
}

/* Sidebar: większa i lżejsza czcionka */
body:not(.login-page) .sidebar,
body:not(.login-page) aside.sidebar,
body:not(.login-page) [class*="sidebar"] {
  font-size: 15px !important;
}

body:not(.login-page) .sidebar button,
body:not(.login-page) .sidebar a,
body:not(.login-page) .sidebar .nav-btn,
body:not(.login-page) .sidebar [role="button"],
body:not(.login-page) [class*="sidebar"] button,
body:not(.login-page) [class*="sidebar"] a,
body:not(.login-page) [class*="sidebar"] .nav-btn,
body:not(.login-page) [class*="sidebar"] [role="button"] {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.1px !important;
}

/* Aktywna pozycja menu nadal czytelna, ale nie tak gruba */
body:not(.login-page) .sidebar .active,
body:not(.login-page) [class*="sidebar"] .active,
body:not(.login-page) .sidebar button.active,
body:not(.login-page) .sidebar a.active {
  font-weight: 650 !important;
}

/* Nazwa użytkownika w sidebarze */
body:not(.login-page) .a27-user-name,
body:not(.login-page) .sidebar strong,
body:not(.login-page) [class*="sidebar"] strong {
  font-weight: 700 !important;
  font-size: 15.5px !important;
}

body:not(.login-page) .a27-user-role,
body:not(.login-page) .sidebar small,
body:not(.login-page) [class*="sidebar"] small {
  font-weight: 500 !important;
  font-size: 12.5px !important;
}

/* Brand może zostać mocniejszy, ale łagodniej */
body:not(.login-page) .sidebar .brand,
body:not(.login-page) [class*="sidebar"] .brand,
body:not(.login-page) .a22-brand-title,
body:not(.login-page) [class*="brand"] {
  font-weight: 750 !important;
}

/* Prawy pasek i karty */
body:not(.login-page) .rightbar,
body:not(.login-page) .aside,
body:not(.login-page) .side-panel,
body:not(.login-page) [class*="rightbar"],
body:not(.login-page) [class*="side-panel"] {
  font-size: 15px !important;
}

body:not(.login-page) .rightbar h3,
body:not(.login-page) .aside h3,
body:not(.login-page) .side-panel h3,
body:not(.login-page) [class*="rightbar"] h3,
body:not(.login-page) [class*="side-panel"] h3 {
  font-weight: 730 !important;
  font-size: 19px !important;
}

/* Karty zdjęć i folderów: podpisy mniej grube, trochę większe */
body:not(.login-page) .photo-card,
body:not(.login-page) .media-card,
body:not(.login-page) .gallery-card,
body:not(.login-page) .folder-card,
body:not(.login-page) .folder-tile,
body:not(.login-page) [class*="photo-card"],
body:not(.login-page) [class*="media-card"],
body:not(.login-page) [class*="gallery-card"],
body:not(.login-page) [class*="folder-card"],
body:not(.login-page) [class*="folder-tile"] {
  font-size: 14.5px !important;
  font-weight: 560 !important;
}

/* Tagi: lżejsze i minimalnie większe */
body:not(.login-page) .tag-pill,
body:not(.login-page) .tag-chip,
body:not(.login-page) [class*="tag-pill"],
body:not(.login-page) [class*="tag-chip"],
body:not(.login-page) .a23-tag-pill,
body:not(.login-page) .a22-tag-pill,
body:not(.login-page) .a21-tag-pill,
body:not(.login-page) .a20-tag-pill,
body:not(.login-page) .a19-tag-pill,
body:not(.login-page) .a18-tag-pill,
body:not(.login-page) .a17-tag-pill {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: -0.05px !important;
}

/* Buttony: większe, mniej bold */
body:not(.login-page) button,
body:not(.login-page) .button,
body:not(.login-page) .btn,
body:not(.login-page) input[type="button"],
body:not(.login-page) input[type="submit"] {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.1px !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    filter .18s ease !important;
}

/* Hover na buttonach */
body:not(.login-page) button:hover,
body:not(.login-page) .button:hover,
body:not(.login-page) .btn:hover,
body:not(.login-page) input[type="button"]:hover,
body:not(.login-page) input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 34px rgba(24,28,48,.105) !important;
  border-color: rgba(214,47,147,.34) !important;
  filter: saturate(1.04) !important;
}

/* Aktywne kliknięcie */
body:not(.login-page) button:active,
body:not(.login-page) .button:active,
body:not(.login-page) .btn:active,
body:not(.login-page) input[type="button"]:active,
body:not(.login-page) input[type="submit"]:active {
  transform: translateY(0) scale(.985) !important;
  box-shadow: 0 8px 18px rgba(24,28,48,.08) !important;
}

/* Primary hover z lekkim blaskiem */
body:not(.login-page) button.primary:hover,
body:not(.login-page) .btn-primary:hover,
body:not(.login-page) .button-primary:hover,
body:not(.login-page) button[type="submit"]:hover {
  box-shadow:
    0 16px 38px rgba(214,47,147,.27),
    0 0 0 4px rgba(214,47,147,.08) !important;
}

/* Hover menu bocznego bardziej elegancki */
body:not(.login-page) .sidebar button:hover,
body:not(.login-page) .sidebar a:hover,
body:not(.login-page) .sidebar .nav-btn:hover,
body:not(.login-page) [class*="sidebar"] button:hover,
body:not(.login-page) [class*="sidebar"] a:hover,
body:not(.login-page) [class*="sidebar"] .nav-btn:hover {
  transform: translateX(3px) !important;
  background: rgba(255,255,255,.105) !important;
  box-shadow: inset 3px 0 0 rgba(214,47,147,.75), 0 10px 24px rgba(0,0,0,.10) !important;
}

/* Hover kafli zdjęć/folderów */
body:not(.login-page) .photo-card:hover,
body:not(.login-page) .media-card:hover,
body:not(.login-page) .gallery-card:hover,
body:not(.login-page) .folder-card:hover,
body:not(.login-page) .folder-tile:hover,
body:not(.login-page) [class*="photo-card"]:hover,
body:not(.login-page) [class*="media-card"]:hover,
body:not(.login-page) [class*="gallery-card"]:hover,
body:not(.login-page) [class*="folder-card"]:hover,
body:not(.login-page) [class*="folder-tile"]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 54px rgba(24,28,48,.15) !important;
}

/* Inputy też trochę większe i lżejsze */
body:not(.login-page) input,
body:not(.login-page) select,
body:not(.login-page) textarea {
  font-size: 15px !important;
  font-weight: 500 !important;
}

body:not(.login-page) input::placeholder,
body:not(.login-page) textarea::placeholder {
  font-weight: 450 !important;
  color: #9aa2b7 !important;
}

/* Dla osób z redukcją animacji */
@media (prefers-reduced-motion: reduce) {
  body:not(.login-page) *,
  body:not(.login-page) *::before,
  body:not(.login-page) *::after {
    transition: none !important;
  }
}

/* Albumik 0.1.28 marker */
