/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
/* Zerowy odstęp między menu a breadcrumbs */
#g-main {
  padding-top: 0 !important;
}
#g-main .breadcrumbs .breadcrumb {
  margin-top: 0 !important;
}
/* Nagłówek strony miasta */
.city-hero {
  margin-bottom: 0 !important;
}
.city-hero-title {
  margin: 0 !important;
}
.city-hero-image {
  display: block;
  width: 366px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
/* Telefon */
@media (max-width: 767.98px) {
  .city-hero {
    margin-bottom: 0 !important;
  }
  .city-hero-image-box {
    margin-bottom: 8px;
  }
  .city-hero-image {
    width: 250px;
  }
  .city-hero-title {
    margin-bottom: 0 !important;
  }
}
/* Menu główne – komputer */
@media (min-width: 769px) {
  /* Pionowe wyśrodkowanie logo i menu */
  /* Usunięcie ujemnego przesunięcia menu Hydrogen */
  /* Menu od lewej i wyśrodkowane pionowo */
  /* Usunięcie odstępu przed pierwszą pozycją */
  #g-navigation > .g-container > .g-grid {
    align-items: center;
  }
  #g-navigation .g-main-nav {
    margin: 0 !important;
    width: 100%;
  }
  #g-navigation .g-main-nav .g-toplevel {
    justify-content: flex-start !important;
    align-items: center;
  }
  #g-navigation .g-main-nav .g-toplevel > li:first-child > .g-menu-item-container {
    padding-left: 0;
  }
}
/* ===================================
   MENU GŁÓWNE – KOMPUTER
=================================== */
@media (min-width: 769px) {
  /* Tło całego menu */
  /* Główne pozycje: Sztuki walki, Siłownie */
  /* Główna pozycja po najechaniu */
  /* Rozwijane menu */
  /* Dyscypliny w rozwijanym menu */
  /* Dyscyplina po najechaniu i aktywna */
  #g-navigation {
    background: #ffffff;
  }
  #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container {
    color: #111827;
    padding: 16px 12px;
    font-weight: 600;
  }
  #g-navigation .g-main-nav .g-toplevel > li:hover {
    background: #f3f4f6 !important;
  }
  #g-navigation .g-main-nav .g-toplevel > li:hover > .g-menu-item-container {
    color: #ef6c00 !important;
  }
  #g-navigation .g-main-nav .g-dropdown {
    background: #f3f4f6;
    border-top: 3px solid #ef6c00;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
  }
  #g-navigation .g-main-nav .g-sublevel > li > .g-menu-item-container {
    color: #111827;
    padding: 9px 14px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
  }
  #g-navigation .g-main-nav .g-sublevel > li:hover, #g-navigation .g-main-nav .g-sublevel > li.active {
    background: #ef6c00 !important;
  }
  #g-navigation .g-main-nav .g-sublevel > li:hover > .g-menu-item-container, #g-navigation .g-main-nav .g-sublevel > li.active > .g-menu-item-container {
    color: #ffffff !important;
  }
}
/* =========================================
   CZYTAJ DALEJ / ZWIŃ
   Joomla + Gantry
   ========================================= */
.czytaj-dalej {
  margin: 18px 0;
}
/* Przycisk */
.czytaj-dalej > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  list-style: none;
  user-select: none;
}
/* Usunięcie domyślnej strzałki przeglądarki */
.czytaj-dalej > summary::-webkit-details-marker {
  display: none;
}
.czytaj-dalej > summary::marker {
  display: none;
}
/* -------------------------
   CZYTAJ DALEJ - ZIELONY
   ------------------------- */
.czytaj-dalej .tekst-otworz {
  color: #198754;
}
.czytaj-dalej .tekst-otworz::after {
  content: " ▼";
  font-size: 0.8em;
  margin-left: 4px;
}
/* -------------------------
   ZWIŃ - CZERWONY
   ------------------------- */
.czytaj-dalej .tekst-zamknij {
  display: none;
  color: #c62828;
}
.czytaj-dalej .tekst-zamknij::after {
  content: " ▲";
  font-size: 0.8em;
  margin-left: 4px;
}
/* Po rozwinięciu */
.czytaj-dalej[open] .tekst-otworz {
  display: none;
}
.czytaj-dalej[open] .tekst-zamknij {
  display: inline;
}
/* Treść rozwijana */
.czytaj-dalej-tresc {
  margin-top: 14px;
}
/* Efekt po najechaniu myszką */
.czytaj-dalej > summary:hover .tekst-otworz, .czytaj-dalej > summary:hover .tekst-zamknij {
  text-decoration: underline;
}
/* Klawiatura / dostępność */
.czytaj-dalej > summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 2px;
}
/* =========================================
   TELEFON
   ========================================= */
@media (max-width: 767px) {
  .czytaj-dalej {
    margin: 16px 0;
  }
  .czytaj-dalej > summary {
    font-size: 1rem;
    padding: 8px 0;
    min-height: 44px;
  }
  .czytaj-dalej-tresc {
    margin-top: 10px;
  }
}
/* Odstęp od bocznych krawędzi dla Main + Sidebar */
.main-padding {
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
/* Telefon */
@media (max-width: 767px) {
  .main-padding {
    padding-left: 12px;
    padding-right: 12px;
  }
}
/* Ukryj sekcję „Miasta” na stronach z już wybranym miastem */
body.com_jbusinessdirectory.view-search .jbd-container:has(#selected-criteria .filter-type-elem.city) #filterCategoryItems > .filter-criteria:nth-child(2) {
  display: none !important;
}
body.com_jbusinessdirectory.view-search #selected-criteria > li:has(> .filter-type-elem.city) {
  display: none !important;
}
/* ==================================================
   KOMPAKTOWY PANEL FILTRÓW J-BUSINESSDIRECTORY
   ================================================== */
body.com_jbusinessdirectory.view-search .jbd-container .search-filter-container {
  padding: 10px 14px 8px !important;
}
/* Zastosowane filtry */
body.com_jbusinessdirectory.view-search .jbd-container .vertical-filter #search-path {
  margin-bottom: 3px !important;
  padding-bottom: 4px !important;
}
body.com_jbusinessdirectory.view-search .jbd-container #search-path .search-filter-header {
  margin-bottom: 5px !important;
}
/* Wybrane filtry, np. „Sztuki walki” */
body.com_jbusinessdirectory.view-search .jbd-container #search-path .selected-criteria li {
  margin: 0 5px 2px 0 !important;
  padding: 2px 6px !important;
}
/* Cały blok filtrów */
body.com_jbusinessdirectory.view-search .jbd-container .search-filter {
  margin-bottom: 0 !important;
}
/* Poszczególne sekcje filtrów */
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems > .filter-criteria {
  margin: 0 0 4px !important;
  padding: 0 0 4px !important;
}
/* Nagłówki: Kategorie, Rodzaj treningu itd. */
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems .filter-header {
  margin: 0 !important;
  padding: 3px 0 !important;
  line-height: 18px !important;
}
/* Lista pod nagłówkiem */
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems .filter-criteria ul {
  margin: 0 !important;
  padding: 0 !important;
}
/* Odległości między opcjami */
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems .filter-criteria ul li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 18px !important;
}
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems .filter-criteria ul li a {
  display: block;
  margin: 0 !important;
  padding: 1px 0 !important;
  line-height: 18px !important;
}
/* Zaznaczona pozycja */
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems li.selectedlink div.selected {
  margin: 1px 0 !important;
  padding: 4px 7px !important;
}
/* Ostatnia sekcja – bez pustego miejsca na dole */
body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems > .filter-criteria:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}
/* Na telefonie minimalnie większe pola do dotykania */
@media (max-width: 768px) {
  body.com_jbusinessdirectory.view-search .jbd-container #filterCategoryItems .filter-criteria ul li a {
    padding: 3px 0 !important;
    line-height: 20px !important;
  }
  body.com_jbusinessdirectory.view-search .jbd-container .search-filter-container {
    padding: 8px 12px 6px !important;
  }
}
.city-hero-title {
  margin: 0;
  color: #444;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
}
.city-hero-subtitle {
  margin-top: 3px;
  color: #2dc26b;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}
.city-hero-image {
  display: block;
  margin: 0 auto;
}
/* Wersja mobilna */
@media (max-width: 767.98px) {
  .city-hero-image-box {
    margin-bottom: 4px;
  }
  .city-hero-image {
    width: auto !important;
    height: 130px !important;
    max-width: 100%;
    object-fit: contain;
  }
  .city-hero-title {
    font-size: 27px;
    line-height: 1.1;
  }
  .city-hero-subtitle {
    margin-top: 2px;
    font-size: 16px;
  }
}
/* WIZYTÓWKI — usuń:
   Sztuki walki / Karate / Nazwa klubu */
#jbd-container.listing-details #search-path {
  display: none !important;
}
/* WIZYTÓWKI — ukryj:
   drukarkę, QR, VCard i serce */
#jbd-container.listing-details .header-icons > a[href*="jbdUtils.printItem"], #jbd-container.listing-details .header-icons > a[title="Kod QR"], #jbd-container.listing-details .header-icons > a[title="VCard"], #jbd-container.listing-details .header-icons > a.bookmark {
  display: none !important;
}
/* Ukrycie nagłówków: Szczegóły firmy i Zgłoś roszczenie */
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#dir-listing-description) > .listing-section-title, #jbd-container.listing-details #listing-style-5-body .listing-section:has(a[href*="claim_listing_id"]) > .listing-section-title {
  display: none !important;
}
/* Usunięcie pustego miejsca po nagłówkach */
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#dir-listing-description), #jbd-container.listing-details #listing-style-5-body .listing-section:has(a[href*="claim_listing_id"]) {
  padding-top: 0 !important;
}
/* ==================================================
   WIZYTÓWKI – MNIEJSZE ODSTĘPY I USUNIĘCIE ELEMENTÓW
   ================================================== */
/* Usuń przycisk kategorii „Karate” */
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#dir-listing-description) .listing-item-content.rounded {
  display: none !important;
}
/* Usuń tekstowy adres YouTube pod miniaturą */
#jbd-container.listing-details #video-gallery .card-video-title {
  display: none !important;
}
/* Zmniejsz odstęp: Rodzaj treningu → Wideo */
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#dir-listing-description) {
  padding-bottom: 8px !important;
  margin-bottom: 0 !important;
}
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#dir-listing-description) .listing-details .listing-item-content {
  margin-bottom: 0 !important;
}
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#video-gallery) {
  padding-top: 8px !important;
  margin-top: 0 !important;
}
#jbd-container.listing-details #listing-style-5-body .listing-section:has(#video-gallery) > .listing-section-title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}
/* Zmniejsz odstęp: Witryna → Sieci społecznościowe */
#jbd-container.listing-details #listing-style-5-body > .row > .col-md-4 > .listing-section:has(.listing-info-container) {
  padding-bottom: 8px !important;
  margin-bottom: 0 !important;
}
#jbd-container.listing-details .listing-section:has(.listing-info-container) .listing-info-container {
  margin-bottom: 0 !important;
}
/* Usuń pusty blok po danych kontaktowych */
#jbd-container.listing-details .contact-actions:empty {
  display: none !important;
}
#jbd-container.listing-details #listing-style-5-body > .row > .col-md-4 > .listing-section:has(#social-networks-container) {
  padding-top: 8px !important;
  padding-bottom: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}
#jbd-container.listing-details .listing-section:has(#social-networks-container) > .listing-section-title {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
/* ==================================================
   KAFEL OTWIERAJĄCY FORMULARZ PRIME4YOU
   ================================================== */
#jbd-container.listing-details .contact-actions {
  padding: 0 !important;
  margin: 14px 0 12px !important;
}
#jbd-container.listing-details .contact-actions button.btn {
  box-sizing: border-box;
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  width: 100% !important;
  min-height: 238px;
  padding: 59px 16px 16px !important;
  overflow: hidden;
  /* Zmniejszone logo */
  background-color: #ffffff !important;
  background-image: url('../../../../images/Logo/prime4you-logo.png') !important;
  background-repeat: no-repeat !important;
  background-position: center 14px !important;
  background-size: 122px auto !important;
  border-width: 3px !important;
  border-style: solid !important;
  border-color: #ff6a00;
  border-radius: 17px !important;
  /* Ukrycie starego tekstu „Poproś o informacje” */
  color: #071a3f !important;
  font-size: 0 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-transform: none !important;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(7, 26, 63, 0.16), 0 0 0 4px rgba(255, 106, 0, 0.12);
  animation: prime4you-kontakt-puls 3.2s ease-in-out infinite;
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
/* Duży nagłówek */
#jbd-container.listing-details .contact-actions button.btn::before {
  content: "Darmowy pierwszy trening";
  display: block;
  width: 100%;
  margin: 0 0 8px;
  color: #071a3f;
  font-family: inherit;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.12;
  text-align: center;
}
/* Opis pod nagłówkiem */
#jbd-container.listing-details .contact-actions button.btn i {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 13px !important;
  padding: 0 3px !important;
  color: #4b5563 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}
#jbd-container.listing-details .contact-actions button.btn i::before {
  content: "Skontaktuj się z klubem przez Prime4you i odbierz darmowy trening." !important;
  font-family: inherit !important;
}
/* Pomarańczowy przycisk wewnątrz kafla */
#jbd-container.listing-details .contact-actions button.btn::after {
  content: "Napisz wiadomość  →";
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  margin-top: auto;
  padding: 10px 14px;
  border-radius: 11px;
  color: #ffffff;
  background: #ff6a00;
  box-shadow: 0 7px 16px rgba(255, 106, 0, 0.24);
  font-family: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}
/* Delikatna zmiana koloru ramki */
@keyframes prime4you-kontakt-puls {
  0%, 100% {
    border-color: #ff6a00;
    box-shadow: 0 8px 22px rgba(7, 26, 63, 0.16), 0 0 0 4px rgba(255, 106, 0, 0.12);
  }
  50% {
    border-color: #2867e8;
    box-shadow: 0 9px 24px rgba(7, 26, 63, 0.18), 0 0 0 6px rgba(40, 103, 232, 0.13);
  }
}
/* Najechanie myszą */
#jbd-container.listing-details .contact-actions button.btn:hover, #jbd-container.listing-details .contact-actions button.btn:focus-visible {
  animation-play-state: paused;
  border-color: #2867e8;
  background-color: #f5f9ff !important;
  box-shadow: 0 11px 26px rgba(7, 26, 63, 0.2), 0 0 0 6px rgba(40, 103, 232, 0.14);
  transform: translateY(-2px);
}
#jbd-container.listing-details .contact-actions button.btn:hover::after, #jbd-container.listing-details .contact-actions button.btn:focus-visible::after {
  background: #e95600;
}
/* Telefon */
@media (max-width: 767.98px) {
  #jbd-container.listing-details .contact-actions button.btn {
    min-height: 220px;
    padding: 54px 13px 13px !important;
    background-position: center 12px !important;
    background-size: 110px auto !important;
    border-radius: 15px !important;
  }
  #jbd-container.listing-details .contact-actions button.btn::before {
    margin-bottom: 7px;
    font-size: 22px;
  }
  #jbd-container.listing-details .contact-actions button.btn i {
    margin-bottom: 11px !important;
    font-size: 13.5px !important;
  }
  #jbd-container.listing-details .contact-actions button.btn::after {
    min-height: 48px;
    font-size: 17px;
  }
}
/* Wyłączenie animacji zgodnie z ustawieniami telefonu */
@media (prefers-reduced-motion: reduce) {
  #jbd-container.listing-details .contact-actions button.btn {
    animation: none;
    border-color: #ff6a00;
  }
}
/* ==================================================
   FORMULARZ KONTAKTOWY – TELEFON
   mniejszy popup, przewijanie i widoczny przycisk
   ================================================== */
@media (max-width: 767.98px), (max-height: 700px) {
  /* Popup dopasowany do aktualnej wysokości ekranu */
  /* Wyłączenie starego pionowego centrowania */
  /* Mniejsza grafika nagłówka */
  /* Przewijana część z polami formularza */
  /* Mniejsze pola i odstępy */
  /* Stopka zawsze dostępna */
  /* Pokazany aktualnie zestaw przycisków */
  /* Powrót i Wyślij obok siebie */
  .jquery-modal.blocker {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    height: 100dvh !important;
    padding: 6px !important;
    overflow: hidden !important;
  }
  .jquery-modal.blocker::before {
    display: none !important;
  }
  #company-contact.jbd-modal {
    align-self: flex-start !important;
    width: 100% !important;
    max-width: 520px !important;
    max-height: calc(100dvh - 12px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #company-contact #contactCompanyFrm, #company-contact .jmodal-sm {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-height: calc(100dvh - 12px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  #company-contact .listing-contact-header .jmodal-header-background {
    height: 72px !important;
  }
  #company-contact .listing-contact-header .jmodal-header-contact {
    min-height: 68px !important;
    margin-top: -34px !important;
    padding: 0 12px !important;
  }
  #company-contact .listing-contact-header .item-header-photo {
    width: 68px !important;
    height: 68px !important;
    border-width: 3px !important;
  }
  #company-contact .listing-contact-header .item-header-content {
    min-width: 0 !important;
    margin: 0 0 2px 8px !important;
  }
  #company-contact .listing-contact-header .head-text {
    margin: 0 0 2px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
  #company-contact .listing-contact-header .item-header-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
  #company-contact .listing-contact-header .close-btn {
    top: 10px !important;
    right: 7px !important;
  }
  #company-contact .jmodal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 10px 14px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
  #company-contact .jmodal-body label {
    margin-bottom: 2px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
  #company-contact .jmodal-body input[type="text"], #company-contact .jmodal-body input[type="email"], #company-contact .jmodal-body input[type="tel"] {
    height: 34px !important;
    min-height: 34px !important;
    margin-bottom: 6px !important;
    padding: 5px 8px !important;
    font-size: 14px !important;
  }
  #company-contact #description {
    height: 26dvh !important;
    min-height: 120px !important;
    max-height: 190px !important;
  }
  #company-contact .jbd-checkbox {
    margin: 3px 0 !important;
  }
  #company-contact .jbd-terms-conditions {
    margin-bottom: 2px !important;
  }
  #company-contact .jbd-terms-conditions label {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
  #company-contact .jmodal-footer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20;
    flex: 0 0 auto !important;
    padding: 8px 14px calc(8px + env(safe-area-inset-bottom)) !important;
    background: #ffffff !important;
    border-top: 1px solid #e5e7eb;
  }
  #company-contact .jmodal-footer .btn-group {
    display: block !important;
    width: 100% !important;
  }
  #company-contact .jmodal-footer .btn-step-1:not([style*="display:none"]):not([style*="display: none"]), #company-contact .jmodal-footer .btn-step-2:not([style*="display:none"]):not([style*="display: none"]) {
    display: flex !important;
    width: 100% !important;
    gap: 8px;
  }
  #company-contact .jmodal-footer .jmodal-btn {
    width: 50% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }
}
/* PRIME4YOU – klastry jako pomarańczowe pinezki */
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large {
  background: transparent !important;
  overflow: visible !important;
}
/* główne pomarańczowe koło */
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f28c00 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* ogonek pinezki */
.marker-cluster-small div::after, .marker-cluster-medium div::after, .marker-cluster-large div::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #f28c00;
  z-index: -1;
}
/* liczba lokalizacji */
.marker-cluster-small span, .marker-cluster-medium span, .marker-cluster-large span {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  position: relative;
  z-index: 2;
}
/*# sourceMappingURL=custom_34.css.map */