*{box-sizing:border-box}
.planer-app{display:grid;grid-template-columns:420px 1fr;gap:20px;min-height:720px}
.planer-sidebar{overflow:auto}
.planer-map-wrap{min-width:0}
#planer-map{height:820px;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.planer-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);margin-bottom:16px}
.planer-grid{display:grid;gap:12px}
.planer-grid.two{grid-template-columns:1fr 1fr}
.planer-grid.three{grid-template-columns:1fr 1fr 1fr;margin-top:12px}
.planer-sidebar label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.planer-sidebar input[type="datetime-local"], .planer-sidebar input[type="number"], .planer-sidebar select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff}
.planer-chips{display:flex;flex-wrap:wrap;gap:10px}
.planer-chips label,.planer-toggle{font-weight:500;font-size:14px}
.planer-actions,.planer-row{display:flex;gap:10px;align-items:center}
.planer-actions{margin-top:14px}
.planer-sidebar button{border:none;background:#7b1e1e;color:#fff;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:700}
.planer-sidebar button.secondary{background:#e5e7eb;color:#111827}
.planer-sidebar button.remove-btn{background:#fee2e2;color:#991b1b;padding:6px 10px;border-radius:8px}
.planer-sidebar button:hover{opacity:.92}
.planer-hint{font-size:11px;color:#6b7280;margin:10px 0 0}
.planer-section-title{margin-top:14px}
.planer-row.space-between{justify-content:space-between}
.planer-summary{font-size:13px;color:#6b7280}
.planer-row.add-row{margin-bottom:12px}
.planer-trip-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:10px;background:#fafafa}
.planer-trip-item .meta{font-size:13px;color:#4b5563;margin-top:6px}
.planer-trip-item .name{font-weight:700}
.planer-drag{cursor:grab}
.planer-trip-left{display:flex;gap:10px;align-items:flex-start}
.planer-bullet{
  width:16px;
  height:16px;
  min-width:16px;
  border-radius:50%;
  background:#7b1b38;
  margin-top:4px;
}

@media (max-width: 1024px){
  .planer-app{grid-template-columns:1fr}
  #planer-map{height:420px}
}

/* marker base */
.planer-map-divicon{
  background:transparent !important;
  border:none !important;
}

.planer-map-icon{
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  border:2px solid #ffffff !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.15) !important;
}

/* category colors V10 */
.planer-map-icon.cat-znamenitosti,
.planer-bullet.cat-znamenitosti{
  background:#6b7280 !important;
}

.planer-map-icon.cat-gastro_ponuda,
.planer-bullet.cat-gastro_ponuda{
  background:#b7791f !important;
}

.planer-map-icon.cat-smestaj,
.planer-bullet.cat-smestaj{
  background:#2563eb !important;
}

.planer-map-icon.cat-priroda,
.planer-bullet.cat-priroda{
  background:#166534 !important;
}

.planer-map-icon.cat-soping,
.planer-bullet.cat-soping{
  background:#9333ea !important;
}

.planer-map-icon.cat-ako_zatreba,
.planer-bullet.cat-ako_zatreba{
  background:#ea580c !important;
}

.planer-map-icon.cat-vinski_put,
.planer-bullet.cat-vinski_put{
  background:#7b1b38 !important;
}

.planer-map-icon.cat-default,
.planer-bullet.cat-default{
  background:#111111 !important;
}

.planer-map-icon.is-active{
  width:17px !important;
  height:17px !important;
  box-shadow:0 0 0 2px rgba(123,27,56,.22) !important;
}

.planer-map-icon.is-hovered{
  transform:scale(1.35);
  box-shadow:0 0 0 3px rgba(123,27,56,.18) !important;
}

/* day blocks */
.planer-day-block{
  margin-bottom:14px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
  background:#fff;
}

.planer-day-title{
  font-weight:700;
  color:#7b1b38;
  margin-bottom:10px;
}

.sortable-ghost{
  opacity:.45;
}

/* popup */
.planer-popup{
  min-width:220px;
}

.planer-popup-title{
  font-weight:700;
  color:#7b1b38;
  margin-bottom:6px;
}

.planer-popup-line{
  font-size:12px;
  line-height:1.4;
  margin-bottom:3px;
}

.planer-popup-actions{
  margin-top:8px;
}

.planer-popup-btn{
  border:none;
  border-radius:8px;
  padding:7px 10px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.planer-popup-btn.add{
  background:#7b1b38;
  color:#fff;
}

.planer-popup-btn.remove{
  background:#fee2e2;
  color:#991b1b;
}

/* card hover */
.planer-trip-item{
  transition:box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}

.planer-trip-item:hover{
  border-color:#7b1b38;
  box-shadow:0 4px 14px rgba(123,27,56,.12);
  transform:translateY(-1px);
}

/* clusters */
.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large{
  background:rgba(123,27,56,.18) !important;
}

.marker-cluster-small div,
.marker-cluster-medium div,
.marker-cluster-large div{
  background:#7b1b38 !important;
  color:#fff !important;
}
