/* Domyślnie mobilna mapa wyłączona (tylko na mobile ją włączymy) */
.gym-map-mobile {
  display: none;
}

/* ATHLIO – mobile overrides
   Wszystko tylko dla ekranów do 768px szerokości */
@media (max-width: 768px) {

  /* Ogólnie ciaśniej */
  .container {
    padding: 0 14px;
  }

  body.theme-classic {
    font-size: 15px;
  }

  /* ================= NAVBAR ================= */

  .nav__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr; /* środkowa kolumna na ATHLIO, boki elastyczne */
    grid-auto-rows: auto;
    align-items: center;
    column-gap: 8px;
    row-gap: 4px;
    padding: 8px 0;
  }

  /* Brand – tylko napis, idealnie na środku */
  .brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .brand__icon {
    display: none; /* chowamy laury na mobile (i znika znak zapytania) */
  }

  .brand__wordmark {
    font-size: 18px;
  }

  /* Akcje (Konto/Panel, Wyloguj, Kontakt) – wrzucamy bezpośrednio w grid */
  .nav__actions {
    display: contents;
  }

  .nav__link {
    font-size: 13px;
    padding: 4px 2px;
  }

  /* chowamy tylko Wyloguj na mobile */
  .nav__actions .nav__link[href*="logout"] {
    display: none;
  }

  /* Lewa strona – Konto trenera / Panel trenera (zawsze pierwszy link w nav__actions) */
  .nav__actions .nav__link:first-child {
    grid-column: 1;
    grid-row: 1;
    justify-self: flex-start;
    margin-left: 10px;  /* lekkie odsunięcie od krawędzi */
  }

  /* Prawa strona – Kontakt (zawsze ostatni link w nav__actions) */
  .nav__actions .nav__link:last-child {
    grid-column: 3;
    grid-row: 1;
    justify-self: flex-end;
    margin-right: 10px; /* lekkie odsunięcie od krawędzi */
  }

  /* Wiersz z Trenerzy / Siłownie – wyśrodkowane i wyraźniejsze */
  .nav__menu {
    grid-column: 1 / 4;
    grid-row: 2;
    display: flex;
    justify-content: center;
    gap: 20px;
    padding-bottom: 2px;
  }

  .nav__link--main {
    font-weight: 800;
    font-size: 14px;
    letter-spacing: 0.03em;
  }

    /* ================= STOPKA ================= */

  .footer__inner{
    display:grid;
    grid-template-columns: repeat(3, auto);
    justify-content:center;
    row-gap:8px;
    padding:16px 0 18px;
    text-align:center;
  }

  /* Wiersz 1: ATHLIO na środku + rok przy prawej krawędzi */
  .footer__brand{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    width:100%;
    position:relative;
  }

  .footer__brand .brand{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin:0 auto;
  }

  .footer__brand .brand__icon{
    display:none; /* bez ikonki na mobile */
  }

  .footer__brand .brand__wordmark{
    font-size:18px;
  }

  .footer__copy{
    position:absolute;
    right:0;
    font-size:0.85rem;
  }

  /* spłaszczamy strukturę – linki będą elementami grida */
  .footer__menu,
  .footer__actions{
    display:contents;
  }

  .footer__link{
    font-size:0.9rem;
    justify-self:center;
  }

  /* Wiersz 2: Trenerzy + Siłownie (wyśrodkowane, pogrubione) */
  .footer__link--main:nth-of-type(1){
    grid-row:2;
    grid-column:1;
    font-weight:700;
  }

  .footer__link--main:nth-of-type(2){
    grid-row:2;
    grid-column:3;
    font-weight:700;
  }

  /* Wiersz 3: Regulamin, Polityka, Kontakt w jednym rzędzie */
  .footer__link[href="/regulations/"]{
    grid-row:3;
    grid-column:1;
  }

  .footer__link[href="/policy/"]{
    grid-row:3;
    grid-column:2;
  }

  .footer__actions .footer__link[href="/contact/"]{
    grid-row:3;
    grid-column:3;
  }

  /* Konto trenera chowamy w stopce mobilnej */
  .footer__actions .footer__link[href*="for-trainers"]{
    display:none;
  }

  /* ================= BANNER COOKIES ================= */

  .cc-min__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 14px;
  }

  .cc-min__text {
    font-size: 0.85rem;
  }

  .cc-min .btn {
    margin-top: 6px;
    width: 100%;
    justify-content: center;
  }

  /* ================= HOME: HERO ================= */

  .hero {
    padding: 28px 0 16px;
  }

  .hero__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .hero__copy {
    text-align: center;
  }

  .hero__title {
    font-size: 1.7rem;
  }

  .hero__subtitle {
    font-size: 0.98rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .hero__search {
    grid-template-columns: 1fr;
    padding: 12px;
    max-width: 520px;
    margin: 12px auto 0 auto;
  }

  .hero__frame {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }

  /* BADGES – wyśrodkowane */
  .badges {
    justify-content: center;
  }

  /* ================= HOME: FEATURED TRAINERS ================= */

  .featured {
    padding: 12px 0 4px;
  }

  .section-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
  }

  .section-head__title {
    font-size: 1.2rem;
  }

  .featured__grid2 {
    grid-template-columns: 1fr;
  }

  .featured__grid2 .t-card.t-card--h {
    flex-direction: column;
    align-items: stretch;
  }

  .featured__grid2 .t-card.t-card--h .t-card__body {
    margin-right: 0;
    max-height: none;   /* na mobile nie przycinamy tekstu na siłę */
  }

  .featured__grid2 .t-card.t-card--h .t-card__media {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    margin-left: 0;
  }

  .t-card__desc {
    font-size: 0.9rem;
  }

  /* ================= HOME: MAP + TEXT ================= */

  .map-split {
    padding: 16px 0 8px;
  }

  .map-split__inner {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .map-split__copy {
    text-align: center;
  }

  .map-split__title {
    font-size: 1.25rem;
  }

  .map-split__text {
    font-size: 0.95rem;
  }

  .map-split__promo-frame {
    width: 100%;
  }

  .map-split__map #athlio-map {
    height: 360px;
    min-height: 280px;
  }

  /* ================= HOME: STEPS + CTA ================= */

  .steps {
    padding: 16px 0 4px;
  }

  .steps__grid {
    grid-template-columns: 1fr;
  }

  .step {
    padding: 12px;
  }

  .cta {
    padding: 20px 0 28px;
  }

  .cta__inner {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
  }

  .cta__title {
    font-size: 1.2rem;
  }

  .cta__actions {
    width: 100%;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }

  .cta__actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  /* ================= LEGAL (REGULAMIN / POLITYKA) ================= */

  .legal-page h1,
  .legal-page p {
    text-align: center;
  }

  .legal-page p {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
  }

  /* ================= TRAINERS / GYMS LIST – MOBILE ================= */

  .trainers-page,
  .gyms-page {
    padding: 18px 0 28px;
  }

  /* Nagłówek nad listą – wszystko ładnie wyśrodkowane */
  .trainers-page .t-head,
  .gyms-page .t-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }

  .trainers-page .t-controls,
  .gyms-page .t-controls {
    justify-content: center;
    flex-wrap: wrap;
  }

  /* Layout: filtry nad listą, bez przyklejania */
  .trainers-page .t-layout,
  .gyms-page .t-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .trainers-page .t-sidebar,
  .gyms-page .t-sidebar {
    position: static;
    top: auto;
    align-self: stretch;
  }

  .trainers-page .t-filters,
  .gyms-page .t-filters {
    max-width: 520px;
    margin: 0 auto;
  }

  .trainers-page .t-content,
  .gyms-page .t-content {
    gap: 12px;
  }

  .trainers-page .t-map #athlio-map,
  .gyms-page .t-map #athlio-map {
    min-height: 280px;
  }

  /* ================= TRAINERS / GYMS DETAIL – MOBILE ================= */

  /* Delikatne pionowe oddechy wokół detali */
  .trainer-detail,
  .gym-detail {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  /* TRENER – nie ruszamy, jeśli było ok */
  .trainer-detail .t-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .trainer-detail .t-sidebar {
    order: 1;
    position: static;
    top: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .trainer-detail .t-content {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  /* Trener – Opinie zawsze na samym dole (lista + przycisk) */
  .trainer-detail .t-content > #trainer-reviews {
    order: 98;
  }
  .trainer-detail .t-content > #trainer-reviews-cta {
    order: 99;
  }

  /* Nagłówki sekcji na mobile mocniej pogrubione */
  .trainer-detail .t-results-count,
  .gym-detail .t-results-count {
    font-weight: 800;
  }

  /* SIŁOWNIA – osobny układ:
     cały sidebar chowamy, wszystko idzie jedną kolumną w t-content */
  .gym-detail .t-layout {
    display: block;
  }

  .gym-detail .t-sidebar {
    display: none;
  }

  .gym-detail .t-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  /* Włącz mobilne wersje Kontakt + Godziny */
  .gym-contact-mobile,
  .gym-hours-mobile {
    display: block;
  }

  /* Kolejność sekcji na mobile:
     1. Informacje
     2. Kontakt
     3. Cennik
     4. Godziny otwarcia
     5. Lokalizacja
     6. Film
     7. Galeria
     8. Opinie (+ przycisk) */

  .gym-detail .t-content > #gym-info            { order: 1; }
  .gym-detail .t-content > #gym-contact-mobile  { order: 2; }
  .gym-detail .t-content > #gym-pricing         { order: 3; }
  .gym-detail .t-content > #gym-hours-mobile    { order: 4; }
  .gym-detail .t-content > .gym-map-mobile      { order: 5; }
  .gym-detail .t-content > #gym-video           { order: 6; }
  .gym-detail .t-content > #gym-gallery         { order: 7; }
  .gym-detail .t-content > #gym-trainers        { order: 8; }
  .gym-detail .t-content > #gym-reviews         { order: 9; }
  .gym-detail .t-content > #gym-reviews-cta     { order: 10; }

  /* Mapa w sidebarze i tak znika, ale na wszelki wypadek */
  .t-sidebar #gym-mini-map {
    display: none;
  }

  /* Sekcja Lokalizacja (gym-map-mobile) widoczna na mobile */
  .gym-map-mobile {
    display: block;
  }

  /* Nagłówki sekcji (Informacje, Lokalizacja, Cennik, Opinie…) – na mobile też na środku
     (to jest spójne z regułą desktopową, więc może zostać) */
  .trainers-page .t-results-head,
  .gyms-page .t-results-head {
    justify-content: center;
    text-align: center;
  }

  .trainers-page .t-results-count,
  .gyms-page .t-results-count {
    margin: 0 auto;
  }

  /* ===== Trainer detail – mobile layout ===== */
  .trainer-detail #trainer-contact-mobile,
  .trainer-detail #trainer-pricing-mobile,
  .trainer-detail #trainer-map-mobile{
    display:none;
  }

  @media (max-width: 900px){
    /* Chowamy sidebarowe karty na mobilu */
    .trainer-detail .t-sidebar .t-card--contact,
    .trainer-detail .t-sidebar .t-card--pricing,
    .trainer-detail .t-sidebar .t-card--map{
      display:none;
    }

    /* Pokazujemy wersje mobilne w głównej kolumnie */
    .trainer-detail #trainer-contact-mobile,
    .trainer-detail #trainer-pricing-mobile,
    .trainer-detail #trainer-map-mobile{
      display:block;
    }

    /* Kolejność sekcji (po wideo) */
    .trainer-detail .t-content > #trainer-about{            order:10; }
    .trainer-detail .t-content > #trainer-qualifications{   order:20; }
    .trainer-detail .t-content > #trainer-contact-mobile{   order:30; }
    .trainer-detail .t-content > #trainer-pricing-mobile{   order:40; }
    .trainer-detail .t-content > #trainer-map-mobile{       order:50; }
    .trainer-detail .t-content > #trainer-gallery{          order:55; }
    .trainer-detail .t-content > #trainer-gyms{             order:60; }
    .trainer-detail .t-content > #trainer-reviews{          order:98; }
    .trainer-detail .t-content > #trainer-reviews-cta{      order:99; }
  }

    /* Trainer detail – na mobile używamy wersji w głównej kolumnie */
  .trainer-detail .t-sidebar .t-card--contact,
  .trainer-detail .t-sidebar .t-card--pricing,
  .trainer-detail .t-sidebar .t-card--map {
    display: none;
  }

  .trainer-detail #trainer-contact-mobile,
  .trainer-detail #trainer-pricing-mobile,
  .trainer-detail #trainer-map-mobile {
    display: block;
  }

}


/* Drobniejsze telefony – 480px i mniej */
@media (max-width: 480px) {
  .brand__wordmark {
    font-size: 16px;
  }

  .nav__actions .nav__link {
    font-size: 12px;
  }

  .hero__title {
    font-size: 1.55rem;
  }
}
