/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Informatyk Programista WordPress
Description: Dedykowany motyw potomny dla motywu Kadence zoptymalizowany pod kątem formularzy i wydajności.
Version: 1.0.0
*/

/* Tutaj możesz wkleić cały zoptymalizowany kod CSS dla formularzy, który przygotowaliśmy wcześniej */



/* ==========================================================================
   1. GLOBALNE ZMIENNE, CZCIONKI I SYSTEM KOLORÓW WP / KADENCE
   ========================================================================== */
:root {
  /* --- Globalne typografie pobierane z ustawień WordPress / Kadence --- */
  --font-body: var(--wp--preset--font-family--body, var(--global-body-font-family, sans-serif));
  --font-heading: var(--wp--preset--font-family--heading, var(--global-heading-font-family, sans-serif));

  /* --- Mapowanie palety kolorów pod globalny system WordPress i Kadence --- */
  --primary-color: var(--wp--preset--color--primary, var(--global-palette1));     
  --primary-hover: var(--wp--preset--color--secondary, var(--global-palette2));
  --text-dark: var(--wp--preset--color--text-dark, var(--global-palette3));
  --text-muted: var(--wp--preset--color--text-muted, var(--global-palette4));
  --bg-color: var(--wp--preset--color--light-bg, var(--global-palette7));
  
  /* --- Kolory pomocnicze (komunikaty, akcenty odznak) --- */
  --accent-success: var(--wp--preset--color--green, #00875a);
  --accent-error: var(--wp--preset--color--red, #dc2626);
  --light-accent-tint: rgba(43, 108, 176, 0.08);

  /* --- Spójny i unifikowany system formularzy --- */
  --form-input-bg: var(--wp--preset--color--white, var(--global-palette9, #ffffff));
  --form-border: var(--wp--preset--color--border, var(--global-palette5));
  --form-border-focus: var(--primary-color);
  --form-focus-ring: rgba(29, 122, 192, 0.15);
  --form-radius: 12px;
  --form-spacing-unit: 24px;

         /* Precyzyjna paleta kolorów pobrana wprost z grafiki */
  --mifiz-footer-bg: #04192e;       /* Głęboki, ciemny granat tła */
  --mifiz-footer-text: #a0aec0;     /* Stonowany, jasnoszary tekst treści */
  --mifiz-footer-gold: #cfa85c;     /* Eleganckie złoto dla nagłówków i ikon */
  --mifiz-footer-white: #ffffff;    /* Czysta biel dla kluczowych elementów */
  --mifiz-footer-border: rgba(255, 255, 255, 0.1); /* Subtelne linie podziału */
}




/* ==========================================================================
   2. SEKCJA HERO (HERO SECTION)
   ========================================================================== */
.el-hero-section {
  background-color: var(--bg-color);
  padding: 80px 20px;
  font-family: var(--font-body);
}

.el-hero-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.el-hero-content {
  flex: 1;
  max-width: 600px;
}

/* Górny tag / etykieta w sekcji Hero */
.el-badge {
  display: inline-block;
  background-color: var(--light-accent-tint);
  color: var(--primary-color);
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.el-hero-title {
  font-size: 3rem;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1.2;
  margin-bottom: 20px;
  font-family: var(--font-heading);
}

.el-hero-description {
  font-size: 1.125rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 32px;
}

/* Kontener przycisków akcji */
.el-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* Uniwersalne klasy przycisków */
.el-btn {
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  font-family: var(--font-body);
}

.el-btn-primary {
  background-color: var(--primary-color);
  color: var(--form-input-bg);
  border: 2px solid var(--primary-color);
}

.el-btn-primary:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.el-btn-secondary {
  background-color: transparent;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
}

.el-btn-secondary:hover {
  background-color: var(--light-accent-tint);
}

/* Prawa strona Hero - Wizualia / Zdjęcia */
.el-hero-visual {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}

.el-image-placeholder {
  width: 100%;
  max-width: 500px;
  height: 400px;
  background-color: var(--form-border);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-weight: 500;
}

/* ==========================================================================
   3. ODZNAKI ZAUFANIA I ETYKIETY (TRUST BADGES)
   ========================================================================== */
.custom-trust-badge .elementor-icon-box-wrapper {
  display: flex;
  align-items: center;
  gap: 15px;
}

.custom-trust-badge .elementor-icon-box-icon .elementor-icon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  background-color: var(--form-input-bg);
  border: 1px solid var(--form-border) !important;
  border-radius: 7px;
  transition: all 0.3s ease;
}

/* Przypinany tag promocyjny np. na kartach cennika */
.badge-polecany {
  position: absolute;
  top: -12px;
  left: 20px;
  padding: 6px 16px;
  background-color: var(--accent-success);
  color: var(--form-input-bg);
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 50px;
}

/* ==========================================================================
   4. ZUNIFIKOWANE FORMULARZE (CONTACT FORM 7 & SEARCH)
   ========================================================================== */

/* Główny wrapper formularzy */
.custom-cf7-form, 
.custom-lead-form {
  width: 100%;
  font-family: var(--font-body);
  box-sizing: border-box;
}

/* Struktura siatki pól formularza */
.cf7-row {
  display: flex;
  gap: var(--form-spacing-unit);
  margin-bottom: var(--form-spacing-unit);
}

.cf7-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cf7-col.full-width {
  flex: 100%;
}

/* Etykiety opisowe pól */
.cf7-label {
  display: block;
  margin-bottom: 4px; 
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.4;
  font-family: var(--font-heading);
}

/* Wiersz pola wejściowego (Input, Select, Textarea) */
.custom-cf7-form input[type="text"],
.custom-cf7-form input[type="email"],
.custom-cf7-form select,
.custom-cf7-form textarea,
.custom-lead-form input[type="email"],
.mifiz-search-field {
  width: 100% !important;
  height: 52px;
  padding: 0 18px !important;
  background-color: var(--form-input-bg) !important;
  border: 1px solid var(--form-border) !important;
  border-radius: var(--form-radius) !important;
  color: var(--text-dark) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  transition: all 0.3s ease-in-out !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

/* Dostosowanie pola dla obszaru dłuższych wiadomości */
.custom-cf7-form textarea {
  height: auto !important;
  min-height: 140px !important;
  padding: 16px 18px !important;
  resize: vertical !important;
}

/* Stylowanie list rozwijanych typu Select ze wsparciem ikony strzałki */
.custom-cf7-form select {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 16px;
  padding-right: 45px !important;
}

/* Efekty aktywnego wyboru pola (Focus State) */
.custom-cf7-form input:focus,
.custom-cf7-form select:focus,
.custom-cf7-form textarea:focus,
.custom-lead-form input:focus,
.mifiz-search-wrapper:focus-within {
  border-color: var(--form-border-focus) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px var(--form-focus-ring) !important;
}

/* Akceptacja regulaminów / Checkboxy RODO */
.cf7-gdpr-row {
  margin-top: calc(var(--form-spacing-unit) * 1.2);
  margin-bottom: var(--form-spacing-unit);
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-muted);
}

.cf7-gdpr-row .wpcf7-list-item {
  margin: 0 !important;
  display: flex;
  align-items: flex-start;
}

.cf7-gdpr-row input[type="checkbox"] {
  margin-top: 4px !important;
  margin-right: 14px !important;
  min-width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid var(--form-border);
  cursor: pointer;
}

.cf7-link {
  color: var(--form-border-focus);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed var(--form-border-focus);
}

.cf7-link:hover {
  color: var(--primary-hover);
}

/* Klauzule informacyjne pod formularzem */
.cf7-disclaimer {
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.5;
  margin-top: 12px;
}

/* Przyciski zatwierdzania i wysyłki */
.cf7-submit-row {
  margin-top: var(--form-spacing-unit);
}

.custom-cf7-form .cf7-submit-btn,
.custom-lead-form .cf7-submit-btn {
  width: 100% !important;
  height: 54px;
  padding: 0 24px !important;
  background-color: var(--form-border-focus) !important;
  color: var(--form-input-bg) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: none !important;
  border-radius: var(--form-radius) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background-color 0.25s ease-in-out, transform 0.1s ease !important;
  box-shadow: 0 4px 12px rgba(29, 122, 192, 0.2) !important;
}

.custom-cf7-form .cf7-submit-btn:hover,
.custom-lead-form .cf7-submit-btn:hover {
  background-color: var(--primary-hover) !important;
}

.custom-cf7-form .cf7-submit-btn:active,
.custom-lead-form .cf7-submit-btn:active {
  transform: scale(0.99);
}

.btn-arrow {
  font-size: 18px;
  line-height: 1;
}

/* Czyszczenie domyślnych, problematycznych kontenerów i powiadomień błędu CF7 */
.wpcf7-form-control-wrap { display: block !important; }
.wpcf7-spinner { display: none !important; }
.wpcf7-not-valid-tip { font-size: 13px; margin-top: 6px; color: var(--accent-error); }
.wpcf7-response-output { border-radius: var(--form-radius) !important; margin: 20px 0 0 0 !important; padding: 12px 16px !important; }

/* Integracja wyglądu z formularzem zaawansowanego wyszukiwania */
.mifiz-search-wrapper {
  background: var(--form-input-bg);
  border-radius: var(--form-radius);
  border: 1px solid var(--form-border);
  padding: 4px 12px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
}

.mifiz-search-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.mifiz-input-group {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

.mifiz-search-icon {
  color: var(--text-muted);
  margin-right: 12px;
  display: flex;
  align-items: center;
}

.mifiz-search-field {
  border: none !important;
  background: transparent !important;
  height: 44px !important;
  padding: 0 !important;
}

.mifiz-search-field:focus {
  box-shadow: none !important;
}

.mifiz-select-group {
  border-left: 1px solid var(--form-border);
  padding-left: 16px;
  margin-left: 10px;
}

.mifiz-category-select {
  border: none !important;
  background: transparent !important;
  color: var(--text-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer;
  outline: none !important;
}

/* ==========================================================================
   5. SEKACJA FAQ / AKORDEONY
   ========================================================================== */
.moje-faq .elementor-accordion-item {
  border-bottom: 1px solid var(--form-border) !important;
}

.moje-faq .elementor-accordion-item:last-child {
  border-bottom: none !important;
}

/* ==========================================================================
   6. ARCHIWUM BLOGA, SIATKA WPISÓW I WYSZUKIWARKA (MIFIZ)
   ========================================================================== */
.blog .entry-hero.page-hero-section, 
.archive .entry-hero.page-hero-section,
.search .entry-hero.page-hero-section,
.page-template-default .entry-hero.page-hero-section {
    display: none !important;
}

.mifiz-search-submit.screen-reader-text {
    display: none;
}

.mifiz-blog-hero {
    text-align: center;
    padding: 60px 20px 40px;
    max-width: 800px;
    margin: 0 auto;
}

.mifiz-badge-top {
    display: inline-block;
    background-color: var(--light-accent-tint);
    color: var(--primary-color);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 6px 14px;
    border-radius: 30px;
    margin-bottom: 20px;
    font-family: var(--font-heading);
}

.mifiz-hero-title {
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 800;
    color: var(--text-dark);
    line-height: 1.2;
    margin-bottom: 15px;
    font-family: var(--font-heading);
}

.mifiz-hero-subtitle {
    font-size: 16px;
    color: var(--text-muted);
    margin-bottom: 40px;
}

/* Karty artykułów / wpisów na blogu */
article.entry, .kadence-post-grid-item {
    position: relative !important;
}

/* Pozycjonowanie kategorii na obrazku wyróżniającym */
article.entry .entry-taxonomies, 
.kadence-post-grid-item .entry-taxonomies {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    z-index: 20 !important;
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

article.entry .entry-taxonomies .term-links,
.kadence-post-grid-item .entry-taxonomies .term-links {
    border: none !important;
    padding: 0 !important;
}

article.entry .entry-taxonomies a,
.kadence-post-grid-item .entry-taxonomies a {
    display: inline-block;
    background-color: var(--primary-color) !important;
    color: var(--form-input-bg) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
    border: none !important;
    font-family: var(--font-heading);
}

article.entry .entry-taxonomies a:hover,
.kadence-post-grid-item .entry-taxonomies a:hover {
    background-color: var(--primary-hover) !important;
    transform: translateY(-2px);
}

article.entry .entry-header, 
.kadence-post-grid-item .entry-header {
    margin-top: 15px; 
}

/* Widok braku wyników wyszukiwania */
.mifiz-no-results {
    text-align: center;
    padding: 60px 20px;
    font-size: 18px;
    color: var(--text-muted);
    font-weight: 500;
    background-color: var(--form-input-bg);
    border: 1px dashed var(--form-border);
    border-radius: 16px;
    margin-top: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}



/* ==========================================================================
   8. RESPONSYWNOŚĆ I ADAPTACJA MOBILNA (MEDIA QUERIES)
   ========================================================================== */

@media (max-width: 992px) {
  .el-hero-container {
    flex-direction: column;
    text-align: center;
  }
  .el-hero-content { margin: 0 auto; }
  .el-hero-actions { justify-content: center; }
  .el-hero-visual { justify-content: center; width: 100%; margin-top: 32px; }
}

@media (max-width: 768px) {
  .cf7-row {
    flex-direction: column;
    gap: var(--form-spacing-unit);
  }
  
  .cf7-col {
    margin-bottom: 0;
  }

  .cf7-gdpr-row .wpcf7-list-item {
    align-items: flex-start;
  }

  .mifiz-blog-hero { padding: 40px 15px 20px; }
  .mifiz-search-wrapper { border-radius: 12px; padding: 10px; flex-direction: column; }
  .mifiz-search-form { flex-direction: column; gap: 10px; }
  .mifiz-select-group {
    border-left: none; 
    border-top: 1px solid var(--form-border);
    padding-left: 0; 
    padding-top: 10px; 
    margin-left: 0;
    width: 100%;
  }
  .mifiz-category-select { width: 100% !important; }
  .mifiz-site-info { flex-direction: column; gap: 15px; text-align: center; }
}

@media (max-width: 576px) {
  .el-hero-title { font-size: 2.25rem; }
}








/* ==========================================================================
   KOMPLETNA STYLIZACJA STOPKI MIFIZ (ZGODNIE Z PROJEKTEM)
   ========================================================================== */

/* ==========================================================================
   PERFEKCYJNE DOPASOWANIE STOPKI MIFIZ (ZGODNIE ZE ZDJĘCIEM)
   ========================================================================== */



/* --- Główne kontenery stopki Kadence --- */
.site-footer, 
.ast-builder-footer-wrap,
.site-footer-inner-wrap {
  background-color: var(--mifiz-footer-bg) !important;
  color: var(--mifiz-footer-text) !important;
}

/* --- Globalne formatowanie tekstów w stopce --- */
.site-footer p, 
.site-footer div, 
.site-footer span,
.mifiz-footer-desc,
.mifiz-community-text {
  color: var(--mifiz-footer-text) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* --- Nagłówki sekcji (SZYBKIE LINKI, SPOŁECZNOŚĆ) --- */
.site-footer h2.widget-title,
.site-footer h3.widget-title,
.site-footer .widget-title {
  color: var(--mifiz-footer-gold) !important; /* Złoty kolor nagłówków */
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 25px !important;
}

/* ==========================================================================
   KOLUMNA 1: LOGO I DANE TELEADRESOWE
   ========================================================================== */

/* Nazwa główna brandu */
.mifiz-footer-logo .brand-name {
  font-size: 22px;
  font-weight: 800;
  color: var(--mifiz-footer-white) !important;
  letter-spacing: 0.5px;
}

/* Podpis pod nazwą */
.mifiz-footer-logo .brand-sub {
  font-size: 10px;
  font-weight: 600;
  color: var(--mifiz-footer-text) !important;
  letter-spacing: 1.5px;
}

/* Opis instytutu */
.mifiz-footer-desc {
  margin-bottom: 25px !important;
  max-width: 380px;
}

/* Lista z danymi kontaktowymi */
.mifiz-contact-details {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mifiz-contact-details li {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
  font-size: 14px !important;
  color: var(--mifiz-footer-text) !important;
}

/* Ikony przy adresie, telefonie i mailu */
.mifiz-contact-details li svg,
.footer-contact-list li i {
  width: 18px !important;
  height: 18px !important;
  color: var(--mifiz-footer-gold) !important; /* Złote ikony kontaktowe */
  flex-shrink: 0 !important;
}

/* ==========================================================================
   KOLUMNA 2: SZYBKIE LINKI (MENU PIONOWE)
   ========================================================================== */

/* Wymuszenie czystego układu kolumnowego dla menu nawigacyjnego */
.site-footer .widget_nav_menu ul,
.site-footer .widget_nav_menu ul.menu,
.site-footer .footer-navigation ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.site-footer .widget_nav_menu ul li,
.site-footer .footer-navigation ul li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Wygląd linków */
.site-footer .widget_nav_menu ul li a,
.site-footer .footer-navigation ul li a {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--mifiz-footer-text) !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}

/* Charakterystyczny długi myślnik przed każdym linkiem */
.site-footer .widget_nav_menu ul li a::before,
.site-footer .footer-navigation ul li a::before {
  content: "— " !important;
  margin-right: 12px !important;
  color: var(--mifiz-footer-text) !important;
  opacity: 0.5;
}

/* Podświetlenie linku po najechaniu myszką */
.site-footer .widget_nav_menu ul li a:hover,
.site-footer .footer-navigation ul li a:hover {
  color: var(--mifiz-footer-white) !important;
}

/* ==========================================================================
   KOLUMNA 3: SOCIAL MEDIA
   ========================================================================== */

.mifiz-social-icons {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

/* Ramki wokół ikon społecznościowych */
.mifiz-social-icons a,
.site-footer .social-icons-wrapper a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  color: var(--mifiz-footer-text) !important;
  border: 1px solid var(--mifiz-footer-border) !important;
  border-radius: 8px !important;
  background-color: transparent !important;
  transition: all 0.25s ease !important;
}

.mifiz-social-icons a svg {
  width: 16px !important;
  height: 16px !important;
}

/* Efekt hover dla ikon społecznościowych */
.mifiz-social-icons a:hover,
.site-footer .social-icons-wrapper a:hover {
  color: var(--mifiz-footer-white) !important;
  border-color: var(--mifiz-footer-white) !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Text pod ikonami */
.mifiz-community-text {
  max-width: 320px;
}

/* ==========================================================================
   DOLNY PASEK (COPYRIGHT & CERTYFIKAT)
   ========================================================================== */

/* Linia separująca dolny pasek */
.site-footer .site-footer-bottom-bar-inner,
.mifiz-site-info {
  border-top: 1px solid var(--mifiz-footer-border) !important;
  padding-top: 25px !important;
  margin-top: 40px !important;
}

/* Sekcja certyfikatu po prawej stronie */
.mifiz-footer-certified {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: var(--mifiz-footer-text) !important;
}

/* Ikona tarczy przy certyfikacie */
.mifiz-footer-certified .certified-icon {
  width: 16px !important;
  height: 16px !important;
  color: var(--mifiz-footer-gold) !important; /* Złota tarcza */
}



















/* Główny wygląd przycisku */
.btn-logowanie a {
    background-color: #0073aa !important; /* Tutaj możesz zmienić główny kolor przycisku */
    color: #ffffff !important; /* Kolor tekstu (biały) */
    padding: 10px 24px !important; /* Odstępy wewnątrz przycisku */
    border-radius: 8px !important; /* Nowoczesne, zaokrąglone rogi */
    font-weight: 600 !important; /* Pogrubienie tekstu */
    transition: all 0.3s ease !important; /* Płynna animacja */
    display: inline-block !important;
}

/* Efekt po najechaniu myszką (Hover) */
.btn-logowanie a:hover {
    background-color: #005177 !important; /* Nieco ciemniejszy kolor po najechaniu */
    transform: translateY(-2px); /* Delikatne uniesienie przycisku do góry */
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; /* Pojawienie się cienia */
}












/* ==========================================================================
   PIXEL PERFECT: PANEL LOGOWANIA MIFIZ (WYMUSZONE WYŚRODKOWANIE)
   ========================================================================== */

/* 1. Tło i główny kontener (Wymuszone wyśrodkowanie na pełnym ekranie) */
.mifiz-login-wrapper {
    background-color: #081624 !important; /* Ciemny granat bazowy */
    background-image: linear-gradient(rgba(8, 22, 36, 0.85), rgba(8, 22, 36, 0.9)), url('https://fizjocoach.edu.pl/wp-content/uploads/2026/06/auth-branding.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    padding: 60px 20px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 80vh !important;
    width: 100% !important;
		border-radius:15px;

}


.entry-content-wrap {
    padding: 2rem;
	border-radius:15px!important;
}




/* 2. Biała Karta (Wyśrodkowana, cień, zaokrąglenia) */
.mifiz-login-card {
    background-color: #ffffff !important;
    width: 100% !important;
    max-width: 480px !important; /* Szerokość karty */
    margin: 0 auto !important; /* Gwarancja wyśrodkowania */
    border-radius: 16px !important;
    padding: 50px 40px !important;
    box-shadow: 0 10px 40px rgba(0, 40, 80, 0.08) !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* Ukrycie standardowych nagłówków i ramek motywu/WooCommerce */
.mifiz-forms-container h2,
.woocommerce-account .u-columns h2 {
    display: none !important;
}

/* Reset struktury kolumn WooCommerce */
.mifiz-forms-container .u-columns {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

.mifiz-forms-container .u-column1, 
.mifiz-forms-container .u-column2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    border: none !important; /* Usunięcie widocznej na screenie ramki */
    background: transparent !important;
}

/* 3. Nagłówek karty (Badge, Tytuł) */
.mifiz-card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 25px;
}

.mifiz-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background-color: #e6f0f9 !important;
    color: #1a73e8 !important;
    padding: 8px 16px !important;
    border-radius: 30px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 15px !important;
}

.mifiz-card-header h2 {
    color: #041e42 !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    margin: 0 0 10px 0 !important;
}

.mifiz-card-header p {
    color: #64748b !important;
    font-size: 14px !important;
    margin: 0 0 20px 0 !important;
}

.mifiz-divider {
    border: 0 !important;
    height: 1px !important;
    background-color: #e2e8f0 !important;
    margin: 0 0 25px 0 !important;
    width: 100% !important;
}

/* 4. Przełącznik zakładek (Tabs) */
.mifiz-tabs-container {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 30px !important;
    display: flex !important;
    padding: 5px !important;
    margin-bottom: 30px !important;
    justify-content: space-between !important;
}

.mifiz-tab {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    padding: 12px 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    border-radius: 26px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.mifiz-tab.active {
    background-color: #ffffff !important;
    color: #041e42 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* 5. Pola formularza (Form Elements) */
.woocommerce form.login, 
.woocommerce form.register {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

.woocommerce form .form-row {
    margin-bottom: 20px !important;
}

.woocommerce form .form-row label {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #041e42 !important;
    margin-bottom: 8px !important;
    display: block !important;
    letter-spacing: 0.5px !important;
}

/* Inputy z zaokrągleniami */
.woocommerce form .form-row input.input-text {
    width: 100% !important;
    padding: 14px 20px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    color: #334155 !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.woocommerce form .form-row input.input-text:focus {
    border-color: #1a73e8 !important;
    outline: none !important;
}

/* 6. Układ Opcji (Flexbox do elementów pod polami) */
.woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    color: #64748b !important;
    margin: 0 !important;
    float: left !important;
}

.woocommerce-form-login .lost_password {
    float: right !important;
    margin: 0 !important;
}

.woocommerce-form-login .lost_password a {
    font-size: 13px !important;
    color: #1a73e8 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Czyszczenie floatów pod polami */
.woocommerce form.login::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* 7. Przycisk Główny */
.woocommerce form .button {
    width: 100% !important;
    background-color: #1a73e8 !important; /* Firmowy niebieski */
    color: #ffffff !important;
    padding: 16px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    border: none !important;
    cursor: pointer !important;
    margin-top: 25px !important;
    float: none !important;
    display: block !important;
}

/* 8. Stopka */
.mifiz-card-footer {
    text-align: center !important;
    margin-top: 30px !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    width: 100% !important;
}






/* ==========================================
   SKLEP KURSÓW - STYLE CSS
   ========================================== */

:root {
    /* KLUCZOWE ZMIENNE - ZWIĘKSZONO ABY OBNIŻYĆ ELEMENTY PRZYPIĘTE */
    --header-height: 125px; /* Wysokość Twojego głównego, górnego menu */
    --toolbar-height: 85px; /* Wysokość poziomego paska wyszukiwarki */
}

.mifiz-custom-store-wrapper { width: 100% !important; max-width: var(--global-content-width, 1290px) !important; margin: 0 auto !important; padding: 20px !important; box-sizing: border-box; }
.mifiz-master-container { width: 100%; display: block; position: relative; }

/* POZIOMY PASEK (TOOLBAR) */
.mifiz-toolbar { 
    position: sticky; 
    top: var(--header-height); 
    z-index: 99; 
    background: rgba(255, 255, 255, 0.95); 
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 15px 0; 
    margin-bottom: 30px; 
    display: flex; gap: 20px; justify-content: space-between; align-items: center; width: 100%; 
    border-bottom: 1px solid rgba(226, 232, 240, 0.8);
}
.mifiz-search-wrapper { position: relative; flex: 1; max-width: 500px; }
.mifiz-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #94a3b8; }
.mifiz-search-wrapper input { width: 100%; padding: 12px 16px 12px 44px; border: 1px solid #e2e8f0; border-radius: 30px; font-size: 15px; outline:none; background:#fff; transition: border-color 0.3s; }
.mifiz-search-wrapper input:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); }
.mifiz-toolbar-buttons { display: flex; gap: 12px; }
.mifiz-sort-select, .mifiz-mobile-filter-btn { padding: 10px 24px; border: 1px solid #e2e8f0; border-radius: 30px; background: #fff; font-size: 14px; cursor: pointer; color: #334155; outline:none; }
.mifiz-mobile-filter-btn { display: none; align-items: center; gap: 8px; font-weight: 600; }

/* UKŁAD STRONY */
.mifiz-store-layout { display: flex; gap: 40px; width: 100%; align-items: flex-start; }

/* PIONOWY SIDEBAR - ZAAWANSOWANE PRZYPIĘCIE */
.mifiz-desktop-sidebar { 
    flex: 0 0 280px; 
    width: 280px; 
    position: sticky; 
    /* Teraz Sidebar przypina się niżej: Menu + Pasek wyszukiwarki + Margines */
    top: calc(var(--header-height) + var(--toolbar-height) + 20px); 
    max-height: calc(100vh - var(--header-height) - var(--toolbar-height) - 40px); 
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.mifiz-sidebar-header-main { padding: 20px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #f1f5f9; }
.mifiz-sidebar-header-main h2 { font-size: 16px; font-weight: 800; margin: 0; color: #0f172a; text-transform: uppercase; letter-spacing: 1px; }
.sidebar-icon { font-size: 18px; }

/* Obszar przewijalny wewnątrz sidebara */
.mifiz-sidebar-scroll-area {
    overflow-y: auto;
    padding: 20px;
    flex: 1; 
}
.mifiz-sidebar-scroll-area::-webkit-scrollbar { width: 5px; }
.mifiz-sidebar-scroll-area::-webkit-scrollbar-track { background: transparent; }
.mifiz-sidebar-scroll-area::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 10px; }

/* Stopka sidebara z przyciskiem */
.mifiz-sidebar-footer { padding: 15px 20px 20px; border-top: 1px solid #f1f5f9; background: #fff; border-radius: 0 0 12px 12px; }

.mifiz-courses-grid-container { flex: 1; min-width: 0; }
.mifiz-results-count { margin-bottom: 20px; font-size: 14px; color: #64748b; }
.mifiz-courses-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; width: 100%; }

/* FILTRY - WYGLĄD */
.mifiz-filter-group { border-bottom: 1px solid #f1f5f9; padding-bottom: 20px; margin-bottom: 20px; }
.mifiz-filter-group:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.mifiz-filter-group h3 { font-size: 11px; font-weight: 700; color: #94a3b8; letter-spacing: 1px; margin-bottom: 14px; margin-top:0; text-transform: uppercase; }
.mifiz-checkbox-container { display: block; position: relative; padding-left: 28px; margin-bottom: 10px; cursor: pointer; font-size: 14px; color: #334155; user-select: none; line-height: 1.4; transition: color 0.2s; }
.mifiz-checkbox-container:hover { color: #0f172a; }
.mifiz-checkbox-container input { position: absolute; opacity: 0; cursor: pointer; }
.checkmark { position: absolute; top: 2px; left: 0; height: 16px; width: 16px; background-color: #fff; border: 1px solid #cbd5e1; border-radius: 4px; transition: all 0.2s ease; }
.mifiz-checkbox-container:hover .checkmark { border-color: #94a3b8; }
.mifiz-checkbox-container input:checked ~ .checkmark { background-color: #3b82f6; border-color: #3b82f6; }
.checkmark:after { content: ""; position: absolute; display: none; }
.mifiz-checkbox-container input:checked ~ .checkmark:after { display: block; left: 5px; top: 1px; width: 4px; height: 8px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.no-filter-data { font-size: 12px; color: #94a3b8; font-style: italic; }

/* SUWAK CENY */
.mifiz-slider { width: 100%; height: 6px; background: #e2e8f0; border-radius: 3px; outline: none; -webkit-appearance: none; margin-bottom: 8px; }
.mifiz-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #3b82f6; cursor: pointer; border: none; transition: transform 0.2s; }
.mifiz-slider::-webkit-slider-thumb:hover { transform: scale(1.2); }
.price-labels { display: flex; justify-content: space-between; font-size: 12px; color: #64748b; font-weight: 600; }

/* PRZYCISKI POKAŻ WYNIKI */
.mifiz-submit-filters-btn, .mifiz-drawer-submit-btn { width: 100%; background: #3b82f6; color: #fff; border: none; padding: 12px; border-radius: 8px; font-weight: 700; cursor: pointer; transition: background 0.3s, transform 0.2s; box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.2); }
.mifiz-submit-filters-btn:hover, .mifiz-drawer-submit-btn:hover { background: #2563eb; transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.3); }

/* STATUSY KARTY */
.mifiz-status-purchased { color: #10b981; font-size: 16px; font-weight: 800; display: flex; align-items: center; gap: 6px; }
.mifiz-status-free { color: #3b82f6; font-size: 16px; font-weight: 800; }
.mifiz-regular-price { font-size: 18px; font-weight: 800; color: #0f172a; }
.mifiz-regular-price del { font-size: 14px; color: #94a3b8; margin-right: 6px; font-weight: 500; }

/* KARTA KURSU */
.mifiz-course-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform 0.3s, box-shadow 0.3s; }
.mifiz-course-card:hover { transform: translateY(-6px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); }
.card-thumb-wrapper { position: relative; padding-top: 56.25%; background: #f1f5f9; overflow: hidden; }
.card-thumb-wrapper img { position: absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition: transform 0.5s ease; }
.mifiz-course-card:hover .card-thumb-wrapper img { transform: scale(1.05); }
.card-badge { position: absolute; top: 12px; left: 12px; padding: 4px 10px; font-size: 10px; font-weight:700; border-radius:4px; color:#fff; background:#0ea5e9; z-index: 2; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.card-content { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.card-meta-cat { font-size: 11px; font-weight:700; color:#3b82f6; margin-bottom: 6px; display: block; text-transform: uppercase; letter-spacing: 0.5px; }
.card-title { font-size: 16px; font-weight:800; line-height:1.4; margin-bottom:8px; min-height: 44px; }
.card-title a { color:#0f172a; text-decoration:none; }
.card-title a:hover { color: #3b82f6; }
.card-author { font-size: 13px; color:#64748b; margin-bottom:12px; }
.card-rating-duration { display: flex; justify-content: space-between; font-size: 13px; color:#475569; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid #f1f5f9; }
.card-footer-price { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
.card-link { font-size: 14px; font-weight:700; color:#3b82f6; text-decoration:none; display: flex; align-items: center; gap: 4px; transition: transform 0.2s; }
.mifiz-course-card:hover .card-link { transform: translateX(4px); }

/* BRAK WYNIKÓW */
.mifiz-no-results { text-align: center; padding: 60px 20px; background: #f8fafc; border-radius: 16px; border: 1px dashed #cbd5e1; }
.no-results-icon { font-size: 48px; display: block; margin-bottom: 15px; opacity: 0.7; }
.mifiz-no-results h3 { font-size: 20px; color: #0f172a; margin-bottom: 10px; }
.mifiz-no-results p { color: #64748b; margin-bottom: 20px; }
.mifiz-reset-btn { display: inline-block; background: #fff; border: 1px solid #cbd5e1; color: #334155; padding: 10px 20px; border-radius: 8px; text-decoration: none; font-weight: 600; }
.mifiz-reset-btn:hover { background: #f1f5f9; color: #0f172a; }

/* MOBILNY DRAWER */
.mifiz-mobile-drawer-overlay { position: fixed; top:0; left:0; width:100%; height:100%; background: rgba(15,23,42,0.5); backdrop-filter: blur(4px); z-index:9999; opacity:0; pointer-events:none; transition: opacity 0.3s ease; }
.mifiz-mobile-drawer { position: fixed; top:0; left:-340px; width:300px; height:100%; background:#fff; z-index:10000; transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1); display:flex; flex-direction:column; box-sizing: border-box; box-shadow: 4px 0 25px rgba(0,0,0,0.1); }
.mifiz-drawer-header { padding: 24px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #f1f5f9; }
.mifiz-drawer-title { font-size:18px; font-weight:800; }
.mifiz-drawer-close { background:none; border:none; font-size:28px; cursor:pointer; color: #64748b; transition: color 0.2s; }
.mifiz-drawer-close:hover { color: #ef4444; }
.mifiz-drawer-body { flex: 1; overflow-y: auto; padding: 24px; }
.mifiz-drawer-footer { padding: 20px 24px; border-top: 1px solid #f1f5f9; }
.mifiz-overlay-active { opacity:1; pointer-events:auto; }
.mifiz-drawer-active { left:0; }

/* RWD */
@media (max-width: 1199px) { .mifiz-courses-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 991px) { 
    .mifiz-desktop-sidebar { display: none; } 
    .mifiz-mobile-filter-btn { display: flex; } 
    .mifiz-courses-grid { grid-template-columns: repeat(2, 1fr); } 
}
@media (max-width: 600px) { 
    .mifiz-courses-grid { grid-template-columns: 1fr; } 
    .mifiz-toolbar { flex-wrap: wrap; }
    .mifiz-search-wrapper { max-width: 100%; width: 100%; flex: none; }
    .mifiz-toolbar-buttons { width: 100%; justify-content: space-between; }
}






