.pbb-wrapper{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}
.pbb-filters{position:sticky;top:80px;background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:12px}
.pbb-filter{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.pbb-filter label{font-size:12px;color:#334}
.pbb-filter input, .pbb-filter select{padding:8px 10px;border:1px solid #d9dfe7;border-radius:10px}
.pbb-btn{display:inline-block;background:#0A6CFF;color:#fff;border:none;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600}
.pbb-outline{background:#fff;color:#0A6CFF;border:1px solid #0A6CFF}
#pbb-map{border-radius:14px;overflow:hidden}
.pbb-list{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pbb-card{background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:14px}
.pbb-badges{display:flex;gap:8px;margin:.25rem 0 .5rem}
.pbb-badge{background:#EEF2FF;color:#334;padding:2px 8px;border-radius:999px;font-size:12px}
.pbb-badge--free{background:#E6F7F1;color:#065}
.pbb-badge--paid{background:#FEE4E2;color:#8A1111}
.pbb-empty{padding:14px;background:#fff;border-radius:12px}
.pbb-form{background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:14px}
.pbb-form__row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.pbb-form__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pbb-form input,.pbb-form textarea,.pbb-form select{padding:10px;border:1px solid #d9dfe7;border-radius:10px}
.pbb-honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.pbb-form__msg{margin-top:8px;color:#064}
.pbb-hint{font-size:12px;color:#6b7280}
.pbb-help{font-size:14px;margin-bottom:8px;color:#111827}
@media (max-width: 900px){ .pbb-wrapper{grid-template-columns:1fr;} .pbb-list{grid-template-columns:1fr;} .pbb-filters{position:static;} }
.pbb-marker .pbb-pin{width:12px;height:12px;border-radius:50%;background:#0A6CFF;border:2px solid #fff;box-shadow:0 0 0 3px rgba(10,108,255,.25)}
/* single map/rating styles 1.3.0 */
#pbb-single-map{width:100%;height:360px;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.08);margin:8px 0 12px}.pbb-single-wrap{margin:12px 0 18px}.pbb-nav{display:inline-block;padding:.6rem 1rem;border-radius:999px;text-decoration:none;background:#0a7;color:#fff;font-weight:700}.pbb-rating{display:flex;align-items:center;gap:.6rem;margin-top:10px}.pbb-rating .star{cursor:pointer;font-size:22px;user-select:none;opacity:.5;transition:transform .15s ease, opacity .15s ease}.pbb-rating .star.active{opacity:1;transform:scale(1.05)}

/* details 1.3.01 */
.pbb-details{margin-top:8px;display:grid;grid-template-columns:1fr;gap:.25rem}.pbb-detail .k{opacity:.8;font-size:.9rem;margin-right:.25rem}.pbb-detail .v{font-weight:600}


/* === PBB 1.3.06 – MOBILE FORM STYLES === */
.pbb-form__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.pbb-form__grid > div {
  flex: 1 1 100%;
  min-width: 100%;
}

@media(min-width: 600px) {
  .pbb-form__grid > div {
    flex: 1 1 45%;
    min-width: 45%;
  }
}

#pbb-geolocate {
  display: block;
  margin-top: 0.5rem;
  width: 100%;
  background: #007bff;
  color: white;
  padding: 0.5rem;
  border-radius: 6px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}

#pbb-geolocate:hover {
  background: #0056b3;
}


/* === Single place tidy === */
.pbb-place .pbb-breadcrumbs{font-size:12px;color:#556; margin-bottom:8px;}
.pbb-nav-wrap{margin:8px 0 16px}
.pbb-nav{display:inline-block; background:#0A6CFF; color:#fff; padding:10px 14px; border-radius:10px; font-weight:700; text-decoration:none}
.pbb-nav:hover{filter:brightness(0.95)}

.pbb-rating{display:flex; align-items:center; gap:10px; margin:16px 0}
.pbb-rating .star{font-size:20px; opacity:.35; cursor:pointer}
.pbb-rating .star.on{opacity:1}
.pbb-rating .meta{font-size:12px; color:#445}

.pbb-details{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0}
@media (max-width:700px){ .pbb-details{grid-template-columns:1fr} }
.pbb-detail{background:#fff; border:1px solid #e6eaf1; border-radius:10px; padding:8px 10px; display:flex; justify-content:space-between; gap:8px}
.pbb-detail .k{color:#556; font-weight:600}
.pbb-detail .v{font-weight:700}
.pbb-val--pos{color:#0a7d00}
.pbb-val--neg{color:#b00020}
.pbb-val--neu{color:#111}



/* === Single place readability revision === */
.pbb-details{display:grid; grid-template-columns:1fr; gap:12px; margin:16px 0}
@media (min-width: 960px){
  .pbb-details{grid-template-columns:1fr 1fr}
}
.pbb-detail{
  background:#fff;
  border:1px solid #e6eaf1;
  border-radius:12px;
  padding:10px 12px;
  display:grid;
  grid-template-columns: auto 1fr;
  align-items:start;
  gap:10px;
}
.pbb-detail .k{
  color:#334;
  font-weight:600;
}
.pbb-detail .v{
  font-weight:700;
  word-break:break-word;
  white-space:normal;
  line-height:1.35;
}
.pbb-val--pos{color:#0a7d00}
.pbb-val--neg{color:#b00020}
.pbb-val--neu{color:#111}

.pbb-rating{display:flex;align-items:center;gap:10px;margin:16px 0}
.pbb-rating .star{font-size:22px;opacity:.35;cursor:pointer;line-height:1}
.pbb-rating .star.on{opacity:1}
.pbb-rating .meta{font-size:12px;color:#445}

.pbb-nav-wrap{margin:8px 0 16px}
.pbb-nav{display:inline-block;background:#0A6CFF;color:#fff;padding:10px 14px;border-radius:10px;font-weight:700;text-decoration:none}
.pbb-nav:hover{filter:brightness(0.95)}


/* === Single place param rows (1.3.10) === */
.pbb-details{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:16px 0;
}
.pbb-detail{
  display:grid;
  grid-template-columns: 40% 60%;
  align-items:center;
  padding:6px 8px;
  border-bottom:1px solid #e0e4eb;
}
.pbb-detail:last-child{border-bottom:none}
.pbb-detail .k{
  text-align:right;
  padding-right:10px;
  color:#333;
  font-weight:600;
  white-space:nowrap;
}
.pbb-detail .v{
  text-align:left;
  font-weight:700;
  word-break:break-word;
}


/* === Single place: parameters one-per-row, symmetric label/value === */
.pbb-details{
  display:block !important; /* override any grid of cards */
  margin: 18px 0;
}
.pbb-detail{
  display:grid !important;
  grid-template-columns: minmax(140px, 260px) 1fr;
  gap: 12px;
  align-items:start;
  padding: 12px 14px;
  margin: 10px 0;
  background:#fff;
  border:1px solid #e6eaf1;
  border-radius:12px;
}
.pbb-detail .k{
  text-align:right;
  font-weight:700;
  color:#334;
}
.pbb-detail .v{
  text-align:left;
  font-weight:700;
  line-height:1.45;
  word-break: break-word;
  white-space: normal;
}
@media (max-width:520px){
  .pbb-detail{
    grid-template-columns: 120px 1fr;
  }
}

/* maintain colors for sentiment */
.pbb-val--pos{color:#0a7d00}
.pbb-val--neg{color:#b00020}
.pbb-val--neu{color:#111}


/* === Single place: fix vertical text wrapping issue === */
.pbb-detail .v{
  text-align:left;
  font-weight:700;
  line-height:1.4;
  word-break:normal;
  white-space:normal;
  overflow-wrap:break-word;
}


/* === Layout 1.3.12 === */
.pbb-rating{margin:20px 0; justify-content:flex-start}
.pbb-content-wrap{margin:20px 0; font-size:15px; line-height:1.6}


/* Correction panel */
.pbb-correction{ margin-top: 1rem; border:1px solid #ddd; border-radius:10px; padding:.5rem 1rem; background:#fafafa; }
.pbb-correction > summary{ cursor:pointer; font-weight:600; margin:-.5rem -1rem .5rem; padding:.5rem 1rem; }
.pbb-correction .pbb-form__row{ margin-bottom:.5rem; }
.pbb-correction .pbb-btn{ margin-top:.25rem; }
.pbb-correction .pbb-msg{ margin-top:.5rem; font-size:.9rem; }


/* Multi-route controls */
.pbb-route-picker{ margin-top:.5rem; }
.pbb-route{ display:inline-flex; align-items:center; gap:.4rem; font-size:.95rem; }
.pbb-multiroute{ display:flex; align-items:center; gap:.6rem; margin:.75rem 0 0; }
.pbb-multiroute button[disabled]{ opacity:.5; cursor:not-allowed; }


/* Amenities fieldset */
.pbb-fieldset-amenities { border:1px solid #e2e8f0; padding:12px; border-radius:8px; margin-top:12px; }
.pbb-fieldset-amenities legend { font-weight:600; padding:0 6px; }
.pbb-amenities-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px; }
.pbb-amenity { display:flex; align-items:center; gap:8px; }
.pbb-amenity input { transform: scale(1.1); }
@media (max-width:640px){ .pbb-amenities-grid { grid-template-columns: 1fr; } }


/* Amenity icons near top 'Nawiguj' button */
.pbb-nav-wrap{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pbb-amen-icons{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pbb-amen-icons img.pbb-amen-icon{ height: 36px; width:auto; display:inline-block; border-radius:4px; }
@media (max-width:640px){
  .pbb-amen-icons img.pbb-amen-icon{ height: 28px; }
}

/* === PBB buttons primary style & actions split === */
.pbb-btn.pbb-primary {
  background: #0d6efd;
  color: #fff;
  border: none;
}
.pbb-btn.pbb-primary:hover,
.pbb-btn.pbb-primary:focus {
  filter: brightness(0.95);
}
.pbb-actions.pbb-actions--split {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
}
.pbb-actions.pbb-actions--split .pbb-btn {
  min-width: 110px;
  text-align: center;
}


/* PBB: geolocation message styling */
#pbb-geo-msg{
  text-align:center;
  font-weight:600;
  margin-top:6px;
}
#pbb-geo-msg.pbb-ok{ color:#0a7a21; }   /* green for success */
#pbb-geo-msg.pbb-err{ color:#c02626; }  /* red for errors */


/* Paid place card background */
.pbb-card--paid{background:#ffc7c7}

/* paid styles */
.pbb-card.pbb-card--paid{background:#ffc7c7}
.pbb-place-details--paid{background:#ffc7c7}
.pbb-details .pbb-place-details--paid{background:#ffc7c7}

/* Front form inline errors */
.pbb-error{display:block;font-size:.9rem;margin-top:.25rem}
.pbb-invalid{outline:2px solid #d00;}

.pbb-gallery{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}
.pbb-gallery__img{width:100%;height:auto;border-radius:6px}

.pbb-searchbar{display:flex;gap:.5rem;align-items:center;margin:0 0 .75rem 0;flex-wrap:wrap}
.pbb-input{flex:1;min-width:260px;padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px}
.pbb-btn{padding:.5rem .9rem;border:1px solid #1e73be;background:#1e73be;color:#fff;border-radius:8px;cursor:pointer}
.pbb-btn:disabled{opacity:.6;cursor:not-allowed}
.pbb-status{font-size:.9rem;color:#666}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.pbb-wrapper--noaside{grid-template-columns:1fr}


/* PBB 1.50e – Centered controls bar */
.pbb-wrapper--noaside .pbb-controls{display:flex;justify-content:center;margin:8px 0 12px 0}
.pbb-wrapper--noaside .pbb-controls .pbb-searchbar{
  display:flex;align-items:center;gap:.6rem;
  padding:.6rem .9rem;border:1px solid #e5e7eb;border-radius:9999px;background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.06)
}
.pbb-wrapper--noaside .pbb-controls .pbb-input{min-width:120px;max-width:160px;text-align:center}
.pbb-wrapper--noaside .pbb-controls .pbb-btn{border-radius:9999px;font-weight:700}
.pbb-wrapper--noaside .pbb-controls .pbb-status{min-height:1.2em}
@media (max-width: 640px){
  .pbb-wrapper--noaside .pbb-controls .pbb-searchbar{
    flex-wrap:wrap;justify-content:center
  }
  .pbb-wrapper--noaside .pbb-controls .pbb-input{width:120px}
}



/* PBB 1.50f – geolocation static mode banner */
.pbb-geo-banner{
  text-align:center;
  font-weight:700;
  margin:6px 0;
  padding:.5rem .75rem;
  border-radius:8px;
  background:#fef2f2;
  color:#b91c1c;
  display:none;
}
.pbb-geo-banner.active{display:block;}


/* PBB 1.50h – terms checkbox styling */
.pbb-check{display:flex; gap:.5rem; align-items:flex-start;}
.pbb-check input[type="checkbox"]{margin-top:.2rem;}
#pbb-terms-wrap{background:#fff;border-radius:10px;padding:.6rem .8rem;margin:.5rem 0;}
#pbb-terms-hint{color:#666;}

/* PBB 1.50p - two stacked nav buttons */
.pbb-nav-wrap.pbb-nav-vertical{display:flex;flex-direction:row;gap:10px;flex-wrap:wrap}

/* Amenity icons above map */
.pbb-amen-top{margin-bottom:8px;display:flex;justify-content:center}
.pbb-amen-top .pbb-amen-icons{display:flex;gap:8px;flex-wrap:wrap}

/* Horizontal nav buttons */
.pbb-nav-wrap.pbb-nav-horizontal{display:flex;gap:12px;flex-wrap:wrap}


/* Card action buttons for map/list cards (used by pbb.js) */
.pbb-card-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.pbb-card-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px;border-radius:8px;border:1px solid #e1e6ee;background:#fff;font-weight:700;text-decoration:none;color:inheritwidth:100%;box-sizing:border-box;}
.pbb-card-btn--details{background:#f6f9fc}
@media(min-width:520px){ .pbb-card-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px} .pbb-card-btn{flex:1width:100%;box-sizing:border-box;} }


/* = Navigation buttons styling (centered with icons) = */
/* Clean, centered buttons with visible labels and icons */
.pbb-nav-wrap.pbb-nav-horizontal{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}
.pbb-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:8px 14px;
  min-width:170px;
  border-radius:12px;
  border:1px solid rgba(11,138,62,0.14);
  background:#ffffff;
  color:#0b8a3e;
  font-weight:700;
  text-decoration:none;
  transition:all .18s ease;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02);
  overflow:visible;
}
.pbb-nav .pbb-icon{width:22px;height:22px;display:inline-block;object-fit:contain}
.pbb-nav span{display:inline-block;color:#08662e;font-size:15px;line-height:1}
.pbb-nav:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,138,62,0.06);background:#f6fff8}
/* subtle differentiation for Apple button */
.pbb-nav--apple{border-color:rgba(0,0,0,0.06); color:#0b8a3e}
.pbb-nav--google{border-color:rgba(11,138,62,0.14); color:#0b8a3e}

/* Responsive: stack on very small screens */
@media (max-width:520px){
  .pbb-nav{flex:1 1 48%; min-width:140px; padding:10px; font-size:14px}
  .pbb-nav-wrap.pbb-nav-horizontal{gap:10px}
}


/* Card action buttons - full width stacked, same visual style as single nav buttons */
.pbb-card-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.pbb-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid rgba(11,138,62,0.14);background:#fff;color:#0b8a3e;font-weight:700;text-decoration:nonewidth:100%;box-sizing:border-box;}
.pbb-card-btn .pbb-icon{width:20px;height:20px;object-fit:contain}
.pbb-card-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,138,62,0.06);background:#f6fff8}
.pbb-card-btn--details{background:#fff;color:#006729}
@media (min-width:700px){ .pbb-card-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px} }


/* Thumbnail inside cards: constrained height and cover */
.pbb-thumb{width:100%;height:120px;object-fit:cover;border-radius:10px;margin:.5rem 0;display:block}
/* Ensure action icons remain small */
.pbb-card .pbb-icon, .pbb-nav .pbb-icon, .pbb-card-btn .pbb-icon{width:22px;height:22px;flex:0 0 22px}
/* Make sure card layout puts icon and text inline */
.pbb-card-actions .pbb-card-btn{display:flex;align-items:center;gap:10px}

/* pbb nav chooser modal */
#pbb-nav-chooser button{cursor:pointer}
#pbb-nav-chooser button:focus{outline:2px solid rgba(11,138,62,0.25)}

/* === PBB radius field visibility tweaks (added) === */
#pbb-radius {
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
}
#pbb-radius.pbb-radius-ok {
  color: #006400; /* dark green for numeric radius */
}
#pbb-radius.pbb-radius-nogps {
  color: #A60000; /* firebrick for 'Brak GPS' */
  font-style: italic;
}

/* === PBB radius display styles (added) === */
#pbb-radius.pbb-radius-hidden { display: none !important; }
#pbb-radius-display {
  display: inline-block;
  min-width: 4.5em;
  padding: 2px 6px;
  border-radius: 6px;
  text-align: center;
  font-size: 1.1em;
  font-weight: bold;
}
#pbb-radius-display.pbb-radius-ok { color: #006400; }
#pbb-radius-display.pbb-radius-nogps { color: #b22222; font-style: italic; }

/* --- PBB: pulse animation for radius display (added) --- */
@keyframes pbbPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); }
}
#pbb-radius-display.pbb-pulse {
  animation: pbbPulse 0.5s ease;
}

/* --- PBB: Distance chip (high-contrast, accessible) --- */
.pbb-distance-chip{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .75rem;
  border-radius: 9999px;
  background: #111;         /* high-contrast neutral */
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: .01em;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
  margin: .35rem 0 .25rem 0;
}
@media (min-width: 640px){
  .pbb-distance-chip{ font-size: 1.125rem; }
}
.pbb-distance-chip__icon{ font-size: 1.1em; transform: translateY(1px); }
.pbb-distance-chip__text{ white-space: nowrap; }
