.kkf-basket-wrap { max-width: 900px; margin: 0 auto; }
.kkf-basket-actions { display:flex; gap:12px; align-items:center; margin-top:16px; flex-wrap:wrap; }
.kkf-add-to-basket { padding:10px 14px; border:0; cursor:pointer; border-radius:10px; }
.kkf-view-basket-link { text-decoration: underline; }

.kkf-basket-table { margin-top:16px; border:1px solid #eee; border-radius:12px; overflow:hidden; }
.kkf-head, .kkf-row { display:grid; grid-template-columns: 1fr 120px 120px 120px; gap:10px; padding:12px; }
.kkf-head { background:#fafafa; }
.kkf-row { border-top:1px solid #eee; }
.kkf-title a { font-weight:600; }
.kkf-meta { font-size: 12px; opacity: .7; margin-top:4px; }
.kkf-remove, .kkf-clear-basket { padding:8px 10px; border-radius:10px; border:1px solid #ddd; cursor:pointer; background:#fff; }
.kkf-basket-controls { margin-top: 10px; }
.kkf-basket-totals { margin-top:16px; display:flex; gap:24px; flex-wrap:wrap; }
.kkf-empty { padding:16px; }
.kkf-basket-suggestions { margin-top:20px; border:1px solid #eee; border-radius:12px; padding:14px; }
.kkf-suggestion { margin: 6px 0; }
.kkf-muted { opacity: .7; }

.kkf-route-btn { display:inline-block; padding:10px 14px; border-radius:10px; border:1px solid #ddd; text-decoration:none; }

/* Itinerary */
.kkf-itinerary { margin-top: 18px; border:1px solid #eee; border-radius:12px; padding:14px; }
.kkf-itin-day { padding:12px; border-top:1px solid #eee; }
.kkf-itin-day:first-child { border-top:0; }
.kkf-itin-title { font-weight:600; }

/* Hotels */
.kkf-hotels {
  margin-top: 10px;
  padding: 10px;
  border: 1px dashed #eee;
  border-radius: 10px;
}

.kkf-hotels-title {
  margin-bottom: 6px;
}

.kkf-hotel-row {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #eee;
}

.kkf-hotel-row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.kkf-hotel-book {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
  text-decoration: underline;
}

