/* =======================================================
   ELIMINACJA CIEMNYCH TŁA - JASNY I CZYTELNY INTERFEJS
   ======================================================= */

/* ===== WYELIMINUJ WSZYSTKIE CIEMNE TŁA ===== */

/* Sekcja wyszukiwarki - JASNE TŁO */
.search-section {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) ;
  padding: var(--spacing-16) 0;
}

.search-widget {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06) ;
  padding: var(--spacing-10);
  border-radius: var(--radius-2xl);
}

.search-widget__title {
  color: #1a1a1a ;
  font-weight: var(--font-weight-bold);
}

.search-widget__subtitle {
  color: #495057 ;
}

.search-input {
  background: #ffffff ;
  border: 2px solid #ced4da ;
  color: #2c2c2c ;
  font-size: var(--font-size-lg);
  padding: var(--spacing-4) var(--spacing-6);
}

.search-input:focus {
  border-color: #e67e22 ;
  box-shadow: 0 0 0 4px rgba(230, 126, 34, 0.1) ;
}

.search-input::placeholder {
  color: #adb5bd ;
}

/* Filters section - JASNE TŁO */
.filters-section {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
  margin-bottom: var(--spacing-10);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}

.filter-group label {
  color: #1a1a1a ;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-base);
}

.filter-input,
.filter-select {
  background: #ffffff ;
  border: 2px solid #ced4da ;
  color: #2c2c2c ;
  padding: var(--spacing-3) var(--spacing-4);
  font-size: var(--font-size-base);
}

.filter-input:focus,
.filter-select:focus {
  border-color: #e67e22 ;
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.1) ;
}

/* Stopka - JASNE TŁO */
.footer {
  background: #f8f9fa ;
  border-top: 2px solid #e1e5e9 ;
  margin-top: var(--spacing-20);
}

.footer__content {
  padding: var(--spacing-16) 0 var(--spacing-8);
}

.footer__section h4,
.footer__title {
  color: #1a1a1a ;
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-4);
}

.footer__description {
  color: #495057 ;
  line-height: var(--line-height-relaxed);
}

.footer__link {
  color: #495057 ;
  font-weight: var(--font-weight-medium);
  transition: color var(--transition-fast);
}

.footer__link:hover,
.footer__link--button:hover {
  color: #e67e22 ;
}

.footer__copyright {
  color: #6c757d ;
  text-align: center;
  font-size: var(--font-size-sm);
}

/* Cookie banner - JASNE TŁO */
.cookie-banner {
  background: #ffffff ;
  border-top: 3px solid #e67e22 ;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1) ;
  padding: var(--spacing-5);
}

.cookie-banner__content {
  max-width: var(--container-xl);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-6);
}

.cookie-banner__content p {
  color: #2c2c2c ;
  font-weight: var(--font-weight-medium);
  margin: 0;
  font-size: var(--font-size-base);
}

/* Auth pages - JASNE TŁA */
.main {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) ;
  min-height: calc(100vh - var(--header-height));
}

/* Auth cards - WZMOCNIONE JASNE TŁO */
.card {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-3xl);
  padding: var(--spacing-10);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) ;
}

.card__title {
  color: #1a1a1a ;
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-6);
  text-align: center;
  font-size: var(--font-size-2xl);
}

/* Form elements - JASNE I CZYTELNE */
.form-label {
  color: #1a1a1a ;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-2);
  font-size: var(--font-size-base);
}

.form-input {
  background: #ffffff ;
  border: 2px solid #ced4da ;
  color: #2c2c2c ;
  padding: var(--spacing-4) var(--spacing-5);
  border-radius: var(--radius-lg);
  font-size: var(--font-size-base);
}

.form-input:focus {
  border-color: #e67e22 ;
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.1) ;
}

.form-input::placeholder {
  color: #adb5bd ;
}

/* Checkbox styling - JASNE TŁO */
.checkbox-label {
  color: #2c2c2c ;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-relaxed);
  font-size: var(--font-size-base);
}

.checkbox-custom {
  border: 2px solid #ced4da ;
  background: #ffffff ;
  width: 1.5rem;
  height: 1.5rem;
}

.checkbox-label input[type="checkbox"]:checked + .checkbox-custom {
  background-color: #e67e22 ;
  border-color: #e67e22 ;
}

.checkbox-label input[type="checkbox"]:focus + .checkbox-custom {
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.2) ;
}

/* Cookie modal - JASNE TŁO */
.modal__content {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-2xl);
  padding: var(--spacing-8);
}

.modal__content h3 {
  color: #1a1a1a ;
  margin-bottom: var(--spacing-6);
  font-size: var(--font-size-xl);
}

.modal__content .form-group label {
  color: #2c2c2c ;
  font-size: var(--font-size-base);
}

/* Profile page info boxes - JASNE TŁO */
#userInfo {
  background: #f8f9fa ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-lg);
  padding: var(--spacing-6);
}

#userInfo h3 {
  color: #1a1a1a ;
  margin-bottom: var(--spacing-4);
  font-size: var(--font-size-lg);
}

#userInfo p {
  color: #495057 ;
  margin-bottom: var(--spacing-2);
  font-size: var(--font-size-base);
}

#userInfo strong {
  color: #1a1a1a ;
}

/* Posts page header - JASNE TŁO */
.posts-header {
  background: linear-gradient(135deg, #ffffff 0%, #f1f3f4 100%) ;
  border-bottom: 2px solid #e1e5e9 ;
  padding: var(--spacing-12) 0;
}

.posts-header__title {
  color: #1a1a1a ;
  font-size: var(--font-size-4xl);
  margin-bottom: var(--spacing-3);
}

.posts-header__subtitle {
  color: #495057 ;
  font-size: var(--font-size-xl);
  max-width: 700px;
}

/* Post cards - JASNE I CZYTELNE */
.post-card {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) ;
  transition: all var(--transition-normal);
}

.post-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) ;
  border-color: #e67e22 ;
  transform: translateY(-2px);
}

.post-card__title a {
  color: #1a1a1a ;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xl);
}

.post-card__title a:hover {
  color: #d35400 ;
}

.post-card__meta {
  color: #6c757d ;
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-sm);
}

/* Premium info - JAŚNIEJSZE */
.premium-info {
  background: #fff3cd ;
  border: 2px solid #ffeaa7 ;
  color: #856404 ;
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  font-size: var(--font-size-base);
}

.premium-info a {
  color: #d63031 ;
  font-weight: var(--font-weight-semibold);
}

/* Pagination - JASNE TŁO */
.pagination {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  margin-top: var(--spacing-8);
}

.pagination__btn {
  background: #ffffff ;
  border: 2px solid #ced4da ;
  color: #495057 ;
  font-weight: var(--font-weight-semibold);
  padding: var(--spacing-3) var(--spacing-5);
  border-radius: var(--radius-md);
}

.pagination__btn:hover:not(:disabled) {
  background: #e67e22 ;
  border-color: #e67e22 ;
  color: #ffffff ;
}

.pagination__btn:disabled {
  background: #f8f9fa ;
  border-color: #e1e5e9 ;
  color: #adb5bd ;
}

.pagination__info {
  color: #6c757d ;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-base);
}

/* Search suggestions - JASNE TŁO */
.search-suggestions__container {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) ;
  border-radius: var(--radius-lg);
}

.search-suggestions__label {
  color: #6c757d ;
  font-size: var(--font-size-sm);
}

.search-tag {
  background: rgba(230, 126, 34, 0.1) ;
  color: #d35400 ;
  border: 1px solid rgba(230, 126, 34, 0.3) ;
  font-size: var(--font-size-sm);
}

.search-tag:hover {
  background: rgba(230, 126, 34, 0.2) ;
  color: #c0392b ;
}

/* Access denied / Error states - JASNE TŁO */
.access-denied,
.error-state {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-xl);
  padding: var(--spacing-12);
}

.access-denied__title,
.error-state__title {
  color: #1a1a1a ;
  font-size: var(--font-size-3xl);
}

.access-denied__description,
.error-state__description {
  color: #495057 ;
  font-size: var(--font-size-lg);
}

/* Empty states - JASNE TŁO */
.empty-state {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-xl);
  padding: var(--spacing-12);
}

.empty-state__title {
  color: #1a1a1a ;
}

.empty-state__description {
  color: #495057 ;
}

/* Loading states - CZYTELNE */
.loading-posts {
  color: #6c757d ;
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-base);
}

/* Post tags - LEPSZE KONTRASTY */
.post-tag {
  background: rgba(230, 126, 34, 0.15) ;
  color: #c0392b ;
  border: 1px solid rgba(230, 126, 34, 0.3) ;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  padding: var(--spacing-1) var(--spacing-3);
}

/* Features section - JASNE TŁO */
.features-section {
  background: #f8f9fa ;
}

.feature-card {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
}

.feature-card__title {
  color: #1a1a1a ;
  font-size: var(--font-size-lg);
}

.feature-card__description {
  color: #495057 ;
}

/* Categories section - JASNE TŁO */
.categories-section {
  background: #ffffff ;
}

.category-card {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
}

.category-card__title {
  color: #1a1a1a ;
}

.category-card__description {
  color: #495057 ;
}

/* Buttons - LEPSZE KONTRASTY */
.btn--primary {
  background: linear-gradient(135deg, #e67e22 0%, #d35400 100%) ;
  border-color: #d35400 ;
  color: #ffffff ;
  font-weight: var(--font-weight-semibold);
}

.btn--primary:hover {
  background: linear-gradient(135deg, #d35400 0%, #c0392b 100%) ;
  border-color: #c0392b ;
}

.btn--secondary {
  background: #ffffff ;
  color: #2c2c2c ;
  border-color: #ced4da ;
  font-weight: var(--font-weight-semibold);
}

.btn--secondary:hover {
  background: #f8f9fa ;
  color: #1a1a1a ;
  border-color: #adb5bd ;
}

.btn--outline {
  background: transparent ;
  color: #e67e22 ;
  border-color: #e67e22 ;
  font-weight: var(--font-weight-semibold);
}

.btn--outline:hover {
  background: #e67e22 ;
  color: #ffffff ;
}

.btn--ghost {
  background: transparent ;
  color: #495057 ;
  border-color: transparent ;
}

.btn--ghost:hover {
  background: #f8f9fa ;
  color: #1a1a1a ;
}

/* Mobile responsywność */
@media (max-width: 767px) {
  .search-widget {
    padding: var(--spacing-6);
    margin: var(--spacing-4);
  }
  
  .filters-section {
    margin: var(--spacing-4);
    padding: var(--spacing-6);
  }
  
  .posts-header {
    padding: var(--spacing-8) 0;
  }
  
  .posts-header__title {
    font-size: var(--font-size-3xl);
  }
  
  .card {
    margin: var(--spacing-4);
    padding: var(--spacing-6);
  }
  
  .cookie-banner__content {
    flex-direction: column;
    text-align: center;
    gap: var(--spacing-4);
  }
  
  .checkbox-label {
    font-size: var(--font-size-sm);
  }
  
  .form-label {
    font-size: var(--font-size-sm);
  }
  
  .form-input {
    font-size: var(--font-size-base);
    padding: var(--spacing-3) var(--spacing-4);
  }
}

/* ===== SPECJALNE POPRAWKI DLA OGÓLNEGO WYGLĄDU ===== */

/* =======================================================
   SPECJALNE POPRAWKI DLA CHECKBOXÓW I FORMULARZY
   ======================================================= */

/* ===== CHECKBOX STYLING - WYELIMINUJ CIEMNE TŁA ===== */

.checkbox-label {
  display: flex ;
  align-items: flex-start ;
  gap: var(--spacing-3) ;
  cursor: pointer ;
  font-size: var(--font-size-base) ;
  line-height: var(--line-height-relaxed) ;
  color: #2c2c2c ;
  font-weight: var(--font-weight-medium) ;
  margin-bottom: var(--spacing-4) ;
  padding: var(--spacing-2) 0 ;
}

.checkbox-label input[type="checkbox"] {
  position: absolute ;
  opacity: 0 ;
  pointer-events: none ;
}

.checkbox-custom {
  flex-shrink: 0 ;
  width: 1.5rem ;
  height: 1.5rem ;
  background-color: #ffffff ;
  border: 2px solid #ced4da ;
  border-radius: var(--radius-sm) ;
  transition: all var(--transition-fast) ;
  position: relative ;
  margin-top: 0.125rem ; /* Lepsze wyrównanie z tekstem */
}

.checkbox-label input[type="checkbox"]:checked + .checkbox-custom {
  background-color: #e67e22 ;
  border-color: #e67e22 ;
}

.checkbox-label input[type="checkbox"]:checked + .checkbox-custom::after {
  content: "" ;
  position: absolute ;
  top: 3px ;
  left: 6px ;
  width: 6px ;
  height: 10px ;
  border: 2px solid white ;
  border-top: 0 ;
  border-left: 0 ;
  transform: rotate(45deg) ;
}

.checkbox-label input[type="checkbox"]:focus + .checkbox-custom {
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.2) ;
  border-color: #e67e22 ;
}

.checkbox-label input[type="checkbox"]:hover + .checkbox-custom {
  border-color: #e67e22 ;
}

/* ===== FORMULARZ REJESTRACJI - LEPSZE SEKCJE ===== */

/* Sekcja wymaganych zgód */
h3 {
  color: #1a1a1a ;
  font-weight: var(--font-weight-bold) ;
  margin: var(--spacing-8) 0 var(--spacing-4) 0 ;
  font-size: var(--font-size-lg) ;
  padding-bottom: var(--spacing-2) ;
  border-bottom: 2px solid #e1e5e9 ;
}

/* Separator line */
hr {
  border: none ;
  height: 2px ;
  background: linear-gradient(90deg, #e1e5e9 0%, #ced4da 50%, #e1e5e9 100%) ;
  margin: var(--spacing-8) 0 ;
}

/* Form groups - lepsze odstępy */
.form-group {
  margin-bottom: var(--spacing-6) ;
  background: transparent ;
}

/* Labels - czytelne */
.form-label {
  display: block ;
  font-size: var(--font-size-base) ;
  font-weight: var(--font-weight-semibold) ;
  color: #1a1a1a ;
  margin-bottom: var(--spacing-2) ;
}

/* Inputs - jasne i czytelne */
.form-input {
  width: 100% ;
  padding: var(--spacing-4) var(--spacing-5) ;
  font-size: var(--font-size-base) ;
  line-height: var(--line-height-normal) ;
  color: #2c2c2c ;
  background-color: #ffffff ;
  border: 2px solid #ced4da ;
  border-radius: var(--radius-lg) ;
  transition: all var(--transition-fast) ;
}

.form-input:focus {
  outline: none ;
  border-color: #e67e22 ;
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.1) ;
  background-color: #ffffff ;
}

.form-input::placeholder {
  color: #adb5bd ;
  font-style: italic ;
}

.form-input:disabled {
  background-color: #f8f9fa ;
  color: #6c757d ;
  cursor: not-allowed ;
  border-color: #e1e5e9 ;
}

/* ===== CARD STYLING - JASNE I PRZESTRONNE ===== */
.card {
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-3xl) ;
  padding: var(--spacing-10) ;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) ;
  margin: var(--spacing-8) auto ;
  max-width: 600px ;
}

.card__header {
  margin-bottom: var(--spacing-6) ;
  text-align: center ;
}

.card__title {
  font-size: var(--font-size-2xl) ;
  font-weight: var(--font-weight-bold) ;
  color: #1a1a1a ;
  margin-bottom: var(--spacing-2) ;
}

/* ===== PRZYCISKI - LEPSZE KONTRASTY ===== */
.btn {
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  gap: var(--spacing-2) ;
  padding: var(--spacing-4) var(--spacing-8) ;
  font-family: var(--font-family-primary) ;
  font-size: var(--font-size-base) ;
  font-weight: var(--font-weight-semibold) ;
  line-height: 1 ;
  text-decoration: none ;
  border: 2px solid transparent ;
  border-radius: var(--radius-2xl) ;
  cursor: pointer ;
  transition: all var(--transition-normal) ;
  white-space: nowrap ;
  user-select: none ;
}

.btn--primary {
  background: linear-gradient(135deg, #e67e22 0%, #d35400 100%) ;
  color: #ffffff ;
  border-color: #d35400 ;
  box-shadow: 0 4px 12px rgba(230, 126, 34, 0.3) ;
}

.btn--primary:hover {
  background: linear-gradient(135deg, #d35400 0%, #c0392b 100%) ;
  border-color: #c0392b ;
  transform: translateY(-1px) ;
  box-shadow: 0 6px 20px rgba(230, 126, 34, 0.4) ;
}

.btn--secondary {
  background: #ffffff ;
  color: #2c2c2c ;
  border-color: #ced4da ;
}

.btn--secondary:hover {
  background: #f8f9fa ;
  color: #1a1a1a ;
  border-color: #adb5bd ;
}

/* ===== LINKI W FORMULARZACH ===== */
.card p {
  text-align: center ;
  margin: var(--spacing-4) 0 ;
  color: #495057 ;
  font-size: var(--font-size-base) ;
}

.card p a {
  color: #e67e22 ;
  font-weight: var(--font-weight-semibold) ;
  text-decoration: none ;
  transition: color var(--transition-fast) ;
}

.card p a:hover {
  color: #d35400 ;
  text-decoration: underline ;
}

/* ===== SPECJALNE SEKCJE ===== */

/* Wymagane zgody - jasne wyróżnienie */
.required-consents {
  background: #f8f9fa ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-lg) ;
  padding: var(--spacing-6) ;
  margin: var(--spacing-6) 0 ;
}

/* Opcjonalne zgody - subtelne wyróżnienie */
.optional-consents {
  background: #ffffff ;
  border: 1px solid #e1e5e9 ;
  border-radius: var(--radius-lg) ;
  padding: var(--spacing-6) ;
  margin: var(--spacing-6) 0 ;
}

/* Danger zone (usuwanie konta) */
.danger-zone {
  background: #fff5f5 ;
  border: 2px solid #fecaca ;
  border-radius: var(--radius-lg) ;
  padding: var(--spacing-6) ;
  margin: var(--spacing-8) 0 ;
}

.danger-zone h3 {
  color: #dc2626 ;
  border-bottom-color: #fecaca ;
}

.danger-zone p {
  color: #7f1d1d ;
}

.danger-zone .btn {
  background: #dc2626 ;
  border-color: #dc2626 ;
  color: #ffffff ;
}

.danger-zone .btn:hover {
  background: #b91c1c ;
  border-color: #b91c1c ;
}

/* ===== COOKIE MODAL POPRAWKI ===== */
.modal {
  position: fixed ;
  top: 0 ;
  left: 0 ;
  right: 0 ;
  bottom: 0 ;
  z-index: var(--z-modal) ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  padding: var(--spacing-4) ;
  background: rgba(0, 0, 0, 0.5) ;
}

.modal__content {
  position: relative ;
  background: #ffffff ;
  border: 2px solid #e1e5e9 ;
  border-radius: var(--radius-2xl) ;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) ;
  max-width: 500px ;
  width: 100% ;
  max-height: 90vh ;
  overflow-y: auto ;
  padding: var(--spacing-8) ;
}

.modal__content h3 {
  color: #1a1a1a ;
  font-size: var(--font-size-xl) ;
  font-weight: var(--font-weight-bold) ;
  margin-bottom: var(--spacing-6) ;
  text-align: center ;
  border-bottom: 2px solid #e1e5e9 ;
  padding-bottom: var(--spacing-3) ;
}

.modal__actions {
  display: flex ;
  gap: var(--spacing-3) ;
  justify-content: center ;
  margin-top: var(--spacing-6) ;
  flex-wrap: wrap ;
}

/* ===== RESPONSYWNOŚĆ DLA MOBILNYCH ===== */
@media (max-width: 767px) {
  .card {
    margin: var(--spacing-4) ;
    padding: var(--spacing-6) ;
    max-width: none ;
  }
  
  .card__title {
    font-size: var(--font-size-xl) ;
  }
  
  .checkbox-label {
    font-size: var(--font-size-sm) ;
    gap: var(--spacing-2) ;
  }
  
  .checkbox-custom {
    width: 1.25rem ;
    height: 1.25rem ;
  }
  
  .form-input {
    font-size: var(--font-size-base) ;
    padding: var(--spacing-3) var(--spacing-4) ;
  }
  
  .btn {
    width: 100% ;
    justify-content: center ;
    font-size: var(--font-size-base) ;
    padding: var(--spacing-4) var(--spacing-6) ;
  }
  
  .modal__content {
    margin: var(--spacing-4) ;
    padding: var(--spacing-6) ;
    max-width: none ;
  }
  
  .modal__actions {
    flex-direction: column ;
  }
  
  .modal__actions .btn {
    width: 100% ;
  }
}

/* ===== DODATKOWE POPRAWKI ACCESSIBILITY ===== */

/* Focus states */
.checkbox-label input[type="checkbox"]:focus-visible + .checkbox-custom {
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.3) ;
  border-color: #e67e22 ;
}

.btn:focus-visible {
  outline: 3px solid rgba(230, 126, 34, 0.3) ;
  outline-offset: 2px ;
}

.form-input:focus-visible {
  outline: 3px solid rgba(230, 126, 34, 0.3) ;
  outline-offset: 2px ;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .checkbox-custom {
    border-width: 3px ;
  }
  
  .form-input {
    border-width: 3px ;
  }
  
  .btn {
    border-width: 3px ;
  }
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  .checkbox-custom,
  .form-input,
  .btn,
  .card {
    transition: none ;
  }
}

/* ===== TYPOGRAFIA POPRAWKI ===== */

/* Lepsze line heights dla czytelności */
.checkbox-label {
  line-height: 1.6 ;
}

.form-label {
  line-height: 1.4 ;
}

.card p {
  line-height: 1.6 ;
}

/* Lepsze spacing między elementami */
.form-group + .form-group {
  margin-top: var(--spacing-6) ;
}

.checkbox-label + .checkbox-label {
  margin-top: var(--spacing-3) ;
}

/* Poprawki dla długich tekstów w checkboxach */
.checkbox-label {
  align-items: flex-start ;
}

.checkbox-label span {
  flex: 1 ;
  word-break: break-word ;
  hyphens: auto ;
}

/* ===== ANIMACJE I EFEKTY ===== */

/* Subtle hover effects */
.card:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12) ;
  transform: translateY(-2px) ;
}

.checkbox-label:hover .checkbox-custom {
  border-color: #e67e22 ;
  box-shadow: 0 2px 8px rgba(230, 126, 34, 0.1) ;
}

.form-input:hover {
  border-color: #e67e22 ;
}

/* Success states */
.form-input:valid {
  border-color: #28a745 ;
}

.form-input:valid:focus {
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.1) ;
}

/* Error states */
.form-input:invalid:not(:placeholder-shown) {
  border-color: #dc3545 ;
}

.form-input:invalid:not(:placeholder-shown):focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1) ;
}



/* =======================================================
   POPRAWKA CENTROWANIA - WYŚRODKOWANIE CAŁEJ STRONY
   ======================================================= */

/* Główny kontener - poprawka wyśrodkowania */
.container {
  width: 100% ;
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Hero section - wyśrodkowanie */
.hero {
  width: 100% ;
  margin: 0 auto ;
}

.hero__content {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Search section - wyśrodkowanie */
.search-section {
  width: 100% ;
  display: flex ;
  justify-content: center ;
  align-items: center ;
}

.search-widget {
  max-width: 48rem ;
  margin: 0 auto ;
  width: 100% ;
}

/* Recent posts section - wyśrodkowanie */
.recent-posts,
.recent-posts-section {
  width: 100% ;
  margin: 0 auto ;
}

.posts-grid {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Section headers - wyśrodkowanie */
.section-header {
  text-align: center ;
  margin-bottom: var(--spacing-12) ;
  max-width: var(--container-xl) ;
  margin-left: auto ;
  margin-right: auto ;
  padding: 0 var(--spacing-4) ;
}

/* Features section - wyśrodkowanie */
.features,
.features-section {
  width: 100% ;
  margin: 0 auto ;
}

.features-grid {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Categories section - wyśrodkowanie */
.categories-section {
  width: 100% ;
  margin: 0 auto ;
}

.categories-grid {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Main content wrapper */
.main {
  width: 100% ;
  margin: 0 auto ;
  display: block ;
}

/* Header - wyśrodkowanie */
.header__content {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Footer - wyśrodkowanie */
.footer__content {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: var(--spacing-16) var(--spacing-4) var(--spacing-8) ;
}

.footer__bottom {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: var(--spacing-8) var(--spacing-4) 0 ;
}

/* Posts page - wyśrodkowanie */
.posts-header {
  width: 100% ;
  margin: 0 auto ;
}

.posts-header .container {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Filters section - wyśrodkowanie */
.filters-section {
  max-width: var(--container-xl) ;
  margin: 0 auto var(--spacing-8) auto ;
  padding: var(--spacing-8) ;
}

/* Posts list - wyśrodkowanie */
.posts-list {
  max-width: var(--container-2xl) ;
  margin: auto 0 ;
 
}

/* Auth pages - wyśrodkowanie */
.card {
  max-width: 600px ;
  margin: var(--spacing-8) auto ;
}

/* Post content - wyśrodkowanie */
.post-content {
  max-width: 65ch ;
  margin: 0 auto ;
  padding: var(--spacing-8) var(--spacing-4) ;
}

/* Pagination - wyśrodkowanie */
.pagination {
  max-width: var(--container-xl) ;
  margin: var(--spacing-8) auto 0 auto ;
  padding: 0 var(--spacing-4) ;
}

/* Body - główne poprawki */
body {
  margin: 0 ;
  padding: 0 ;
  width: 100% ;
  min-height: 100vh ;
}

html {
  margin: 0 ;
  padding: 0 ;
  width: 100% ;
}

/* Responsive breakpoints */
@media (min-width: 640px) {
  .container {
    padding: 0 var(--spacing-6) ;
  }
  
  .hero__content,
  .section-header,
  .posts-grid,
  .features-grid,
  .categories-grid,
  .footer__content,
  .footer__bottom {
    padding: 0 var(--spacing-6) ;
  }
}

@media (min-width: 1024px) {
  .container {
    padding: 0 var(--spacing-8) ;
  }
  
  .hero__content,
  .section-header,
  .posts-grid,
  .features-grid,
  .categories-grid,
  .footer__content,
  .footer__bottom {
    padding: 0 var(--spacing-8) ;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: var(--container-2xl) ;
  }
  
  .hero__content,
  .section-header,
  .posts-grid,
  .features-grid,
  .categories-grid,
  .footer__content,
  .footer__bottom,
  .posts-list,
  .filters-section {
    max-width: var(--container-xl) ;
  }
}

/* Specjalne poprawki dla konkretnych elementów */

/* Search widget - lepsze wyśrodkowanie */
.search-widget {
  display: block ;
  margin-left: auto ;
  margin-right: auto ;
}

/* Section titles - wyśrodkowanie */
.section-title {
  text-align: center ;
}

.section-subtitle {
  text-align: center ;
  max-width: 42rem ;
  margin-left: auto ;
  margin-right: auto ;
}

/* Posts header content - wyśrodkowanie */
.posts-header__title {
  text-align: center ;
}

.posts-header__subtitle {
  text-align: center ;
  max-width: 700px ;
  margin-left: auto ;
  margin-right: auto ;
}

/* Related posts - wyśrodkowanie */
.related-posts {
  max-width: var(--container-xl) ;
  margin: var(--spacing-16) auto 0 auto ;
  padding: var(--spacing-8) var(--spacing-4) 0 ;
}

#relatedPostsContainer {
  max-width: var(--container-xl) ;
  margin: 0 auto ;
}

/* Access denied / Error states - wyśrodkowanie */
.access-denied,
.error-state,
.empty-state {
  max-width: 600px ;
  margin: var(--spacing-12) auto ;
}

/* Loading states - wyśrodkowanie */
.loading-posts {
  text-align: center ;
  max-width: var(--container-xl) ;
  margin: 0 auto ;
  padding: var(--spacing-12) var(--spacing-4) ;
}

/* Premium info - wyśrodkowanie */
.premium-info {
  max-width: var(--container-xl) ;
  margin: 0 auto var(--spacing-8) auto ;
  padding: var(--spacing-4) ;
}

/* Mobile specific fixes */
@media (max-width: 767px) {
  .container {
    padding: 0 var(--spacing-4) ;
  }
  
  .search-widget {
    margin: 0 var(--spacing-4) ;
    max-width: none ;
  }
  
  .filters-section {
    margin: var(--spacing-4) ;
    max-width: none ;
  }
  
  .card {
    margin: var(--spacing-4) ;
    max-width: none ;
  }
  
  .post-content {
    padding: var(--spacing-8) var(--spacing-4) ;
  }
  
  .hero__content {
    padding: 0 var(--spacing-4) ;
  }
}

/* Debug - jeśli nadal problem, dodaj to tymczasowo */
/* 
.container {
  border: 1px solid red ;
  background: rgba(255,0,0,0.1) ;
}
*/

/* OVERRIDE PROBLEMATIC LINK STYLING */
.link {
  color: var(--color-primary-600) ;
  text-decoration: none ;
}

.link:hover {
  color: var(--color-primary-700) ;
  text-decoration: underline ;
}

/* FORCE POSTS LINKS TO BE PROPER COLORS */
.posts-list a,
.posts-list a *,
.posts-list .post-link,
.posts-list .post-link * {
  color: inherit ;
  text-decoration: none ;
}
