    :root {
      --accent: #0ea5e9; /* niebieski dla obramowania */
      --hover: rgba(14,165,233,.22);
      --active: #fde68a; /* żółty dla podświetlenia w tabeli */
    }

    /* --- KONTENER MAPY --- */
    .plan-wrap { width: 100%; max-width: 1620px; margin: 0 auto ; }

    .plan { position: relative; width: 100%; line-height: 0; /*border-radius: 12px;*/ overflow: hidden; /*box-shadow: 0 10px 30px rgba(0,0,0,.38);*/ padding-top: 32px;  }
    .plan__img { display: block; width: 100%; height: auto; }

    /* SVG nakładka skaluje się razem z obrazkiem */
    .plan__svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
    .plan__svg [data-flat] { pointer-events: auto; cursor: pointer; fill: transparent; /*stroke: var(--accent); stroke-width: 2;*/ transition: fill .2s ease, filter .2s ease; }
    .plan__svg [data-flat]:hover { fill: var(--hover); filter: drop-shadow(0 0 6px rgba(14,165,233,.6)); }
    .plan__svg [data-flat].is-focused { outline: 2px dashed #fff; outline-offset: 2px; }

    /* Tooltip */
    .tooltip { position: fixed; top: 0; left: 0; transform: translate(-50%,-120%); padding: 8px 10px; background: #F7FAFF; border: 1px solid #334155; border-radius: 8px; font-size: 12px; line-height: 1.35; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity .12s ease; z-index: 1000; }
    .tooltip.show { opacity: 1; }

/* dymek ma nie blokować kursora i klików */
#tooltip, .tooltip {
  pointer-events: none;
  position: fixed;   /* jeśli masz absolute — zmień na fixed */
  z-index: 9999;
}

                    /* w Twoim pliku z .tooltip (masz go już) dodaj: */
                    .tooltip .tt-flat   { font-weight: 700; color: #172a39; }   /* np. numer lokalu */
                    .tooltip .tt-size   { font-weight: 600; }
                    .tooltip .tt-garden   { font-weight: 600; }
                    .tooltip .tt-rooms  { opacity: .9; }
                    .tooltip .tt-status { text-transform: uppercase; letter-spacing: .02em; }

                    /* Przykładowe kolory statusów */
                    .tooltip .tt-status { color: #059669; }          /* domyślnie "wolne" */
                    .tooltip .tt-status.is-reserved { color: #d97706; }
                    .tooltip .tt-status.is-sold     { color: #ef4444; }


    /* --- TABELA --- */
    .table-wrap { width: 100%; max-width: 1580px; margin: 0 auto; overflow-x: auto;-webkit-overflow-scrolling: touch; }
    table { min-width: 1475px; border-collapse: collapse; /*background: #F7FAFF;border: 1px solid #1f2937;*/ overflow: hidden; border-radius: 12px; }
    thead th { text-align: left; font-size: 16px; /*letter-spacing: .06em; text-transform: uppercase;*/ color:#172a39; /*background:#0b1220; padding: 20px;*/ border-bottom: 3px solid #e0ae70;padding: 16px 15px;text-align: center; }
    tbody td { padding: 16px 15px; /*border-top: 1px solid #1f2937;*/ text-align: center;}
    tbody tr { transition: background .2s ease; }
    /*tbody tr:hover { background: rgba(148,163,184,0.02); }*/


    tbody tr:nth-child(4n + 1) td,
     tbody tr:nth-child(4n + 2) td {background: #F7FAFF;}

    tbody tr.active td {background: rgba(23, 42, 57, 0.1);}
    tbody tr.active { background: var(--active); color: #111827; }

    .badge {/* display: inline-block; padding: 3px 8px; font-size: 12px; color:#cbd5e1; */ font-weight: 600; color:#ea8900;}
    .badge--unavailable { color:#b1b1b1; }
    .badge--sold { color:#ef4444; }
    .badge--free { color:green; }

    /* dostępność: focus styl dla polygonów gdy na klawiaturze */
    .is-keyboard .plan__svg [data-flat]:focus { outline: 2px dashed #fff; outline-offset: 2px; }


                    /* polygony mają reagować nawet gdy są „przezroczyste” */
              .plan__svg polygon { pointer-events: all; }
              .plan__svg polygon[fill="none"] { fill: rgba(0,0,0,0.001); }

              /* prosty tooltip zawsze ponad wszystkim */
              #flat-tt{
                position: fixed;
                z-index: 2147483647;
                padding: 8px 10px;
                background: rgba(0,0,0,.9);
                color: #fff;
                font: 14px/1.35 system-ui,Segoe UI,Roboto,Arial,sans-serif;
                border-radius: 6px;
                pointer-events: none;
                box-shadow: 0 6px 20px rgba(0,0,0,.25);
}

/* Kontener karty */
.flat-card{
  position: absolute; /* łatwe pozycjonowanie względem okna */
  /*inset: 0 auto auto 0;
  /*transform: translate(-9999px,-9999px); /* ukryte */
	top: 0;
    left: 0;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  z-index: 9999;
  min-width: 260px;
  pointer-events: none; /* nie „łapie” kursora */
  font-family: inherit;
	
	 opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease-out;
}

.flat-card.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Główka */
.fc-head{
  display:flex;
  align-items:space-between;
  padding: 10px 0 10px 0;
}
.fc-title{
  font-weight:600;
  letter-spacing:.2px;
}
.fc-status{
  margin-left:auto;
  font-size:14px;
  font-weight:600;
}
/* Statusy */
.fc-status[data-status="dostepne"]{ color:#1ea83a; }   /* zielony */
.fc-status[data-status="rezerwacja"]{ color:#ca9c62; } /* złoto/brąz */
.fc-status[data-status="sprzedane"]{ color:red; }  /* czerwony */
.fc-status[data-status="niedostepne"]{ color:#b1b1b1; }  /* grey */

/* Badges */
.fc-badges{
  display:flex;
  justify-content: space-between;
  padding: 10px 0 0 0;
}
.fc-badge{
  border:2px solid #CA9C62;     /* jak na screenie */
  border-radius:12px;
  padding:10px 5px 12px 5px;
  text-align:center;
  width: calc(33.333333% - 10px);
}
.fc-badge-value{
  font-weight:700;
  line-height:1.1;
  font-size:16px;
}
.fc-badge-label{
  font-size:12px;
  color:#CA9C62;
  margin-top:6px;
}
.fc-sup{
  font-size:10px;
  vertical-align:super;
  margin-left:2px;
}

/* Ułatwienie: pokazanie/ukrycie */
.flat-card.is-visible{
  transform:none;
}

.price-history-btn {
  cursor: pointer; line-height: 0;
}

.history-modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.history-modal[aria-hidden="false"] { display: block; }
.history-modal__backdrop { position:absolute; inset:0; background: rgba(0,0,0,.45); }
.history-modal__dialog {
  position: relative; margin: 7vh auto 0; max-width: 640px;
  background: #fff; border-radius: 14px; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.history-modal__header { display:flex; justify-content:space-between; align-items:center; padding: 16px 20px; border-bottom: 1px solid #eee; }
.history-modal__body { padding: 16px 20px 20px; max-height: 60vh; overflow:auto; }
.history-modal__close { background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; }
.history-list { list-style:none; margin:0; padding:0; }
.history-item { display:flex; gap:10px; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f0f0f0; }
.history-date { opacity:.8; }
.history-price { font-weight:600; }
.history-user { opacity:.7; white-space:nowrap; }


/* wyłącz ogólny hover, żeby nie mieszał kolorów */
.plan__svg [data-flat]:hover {
  fill: transparent !important;
  stroke: none !important;
  filter: none !important;
}

/* --- Kolory hoverów wg statusu --- */
.plan__svg polygon.st-dostepne:hover {
  fill: rgba(30,168,58,0.4) !important;   /* zielony */
}

.plan__svg polygon.st-niedostepne:hover {
  fill: rgba(177,177,177,0.5) !important; /* szary */
}

.plan__svg polygon.st-zarezerwowane:hover {
  fill: rgba(234,137,0,0.4) !important;   /* pomarańczowy */
}

.plan__svg polygon.st-sprzedane:hover {
  fill: rgba(239,68,68,0.4) !important;   /* czerwony */
}


/* wrzuć do style.css albo do głównego pliku z css motywu */

#contact-popup {
    position: fixed;      /* zamiast normalnego flow */
    inset: 0;             /* top:0; right:0; bottom:0; left:0; */
    display: none;        /* startowo ukryty */
    z-index: 9999;        /* ponad całym layoutem */
}

#contact-popup .popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

#contact-popup .popup-content {
    position: relative;
    max-width: 520px;
    margin: 8vh auto;
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.35);
}


/* Wymuś pokazywanie panelu OneTap */
nav.onetap-accessibility.onetap-plugin-onetap .onetap-container .onetap-accessibility-settings {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Na wszelki wypadek upewnij się, że toolbar nie jest schowany */
nav.onetap-accessibility.onetap-plugin-onetap {
  opacity: 1 !important;
  visibility: visible !important;
}


