/* Louisville card presentation. TravelSpark retains product choice and insertion rules. */
.tls-newsletter form { max-width: 540px; }
.tls-newsletter .sib-email-area label, .tls-contact-form > p > label { display:block; margin-bottom:8px; }
.tls-newsletter input[type=email], .tls-contact-form input:not([type=checkbox]):not([type=hidden]), .tls-contact-form textarea { width:100%; min-height:48px; padding:12px 14px; border:1px solid #b8b3aa; border-radius:2px; background:#fffcf7; color:#14252c; font:inherit; }
.tls-newsletter input[type=checkbox], .tls-contact-form input[type=checkbox] { width:18px; height:18px; margin-right:7px; vertical-align:middle; accent-color:#2f6675; }
.tls-newsletter input[type=submit] { min-height:48px; padding:12px 26px; color:#14252c; background:#e9cf91; font:700 15px var(--body); border:0; border-radius:2px; cursor:pointer; }
.tls-newsletter label { font-size:15px; line-height:1.5; }
.tls-newsletter a { color:inherit; text-decoration:underline; }
.tls-newsletter .sib_msg_disp { padding:0; border:0; }
.tls-contact-form { max-width:680px; }
.tls-contact-form textarea { resize:vertical; }
.tls-form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.tls-form-notice { padding:20px; border-left:4px solid #2f6675; background:#e9eeeb; }
.tls-the-louisville-line .travelspark-widget,
.tls-the-louisville-line .tsva-widget {
  border: 1px solid #b8b3aa;
  border-top: 3px solid #2f6675;
  border-radius: 3px;
  padding: clamp(16px, 3vw, 28px);
  background: #f4eee5;
  color: #14252c;
  box-shadow: none;
}
.tls-the-louisville-line .travelspark-card {
  min-width: 0;
  border: 1px solid #d6d1c8;
  border-radius: 3px;
  background: #fffcf7;
  color: #14252c;
  box-shadow: 0 8px 24px rgba(20,37,44,.06);
  overflow: hidden;
}
.tls-the-louisville-line .travelspark-card__media { position: relative; margin: 0; }
.tls-the-louisville-line .travelspark-card__image-link { display: block; }
.tls-the-louisville-line img.travelspark-card__image {
  width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border-radius: 0;
}
.tls-the-louisville-line .travelspark-card__content {
  display: flex; flex-direction: column; gap: 12px; padding: 20px; min-width: 0;
}
.tls-the-louisville-line .travelspark-card__title {
  margin: 0; font-family: var(--display); font-size: clamp(21px, 2vw, 28px); line-height: 1.13; letter-spacing: -.02em;
}
.tls-the-louisville-line .travelspark-card__title a { color: #14252c; text-decoration: none; }
.tls-the-louisville-line .travelspark-card__description { margin: 0; font-size: 15px; line-height: 1.55; color: #555b5d; }
.tls-the-louisville-line .travelspark-card__rating { color: #2f6675; font: 700 13px/1.4 var(--body); }
.tls-the-louisville-line .travelspark-card__footer { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 16px; border-top: 1px solid #ded8cf; }
.tls-the-louisville-line .travelspark-card__price { color: #14252c; font-size: 22px; }
.tls-the-louisville-line .travelspark-card__button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; background: #14252c; color: #fff; border: 0; border-radius: 2px; text-decoration: none; }
.tls-the-louisville-line .travelspark-card__button:hover { background: #2f6675; color: #fff; }
.tls-the-louisville-line .article-sidebar .tsva-card-grid,
.tls-the-louisville-line .article-sidebar .travelspark-widget__grid--sidebar { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
.tls-the-louisville-line .article-sidebar .travelspark-card { display: block; }
.tls-the-louisville-line .article-sidebar .travelspark-card__media { width:100%; max-width:none; }
.tls-the-louisville-line .article-sidebar .travelspark-card .travelspark-card__description { display:block; }
/* The provider deliberately uses !important typography; these scoped declarations own the theme design. */
.tls-the-louisville-line .travelspark-widget .travelspark-card__title,
.tls-the-louisville-line .travelspark-widget .travelspark-card__title a { font-family:var(--display) !important; color:#14252c !important; letter-spacing:-.02em !important; }
.tls-the-louisville-line .travelspark-widget .travelspark-card__title { font-size:23px !important; line-height:1.16 !important; margin:0 !important; }
.tls-the-louisville-line .travelspark-widget .travelspark-card__description { font:15px/1.55 var(--body) !important; margin:0 !important; color:#555b5d; }
.tls-the-louisville-line .article-sidebar .travelspark-card__content.tsva-card-body { padding:18px; gap:12px; }
.tls-the-louisville-line .article-sidebar .travelspark-card__button.tsva-button { width:100%; min-height:44px; background:#14252c; border-radius:2px; }
.tls-the-louisville-line .article-sidebar .travelspark-card__title { font-size: 23px; }
.tls-the-louisville-line .article-sidebar .travelspark-card__footer { display: grid; }
.tls-the-louisville-line .article-sidebar .travelspark-card__button { width: 100%; }
.tls-the-louisville-line .tls-hotels .travelspark-hotel-cards { display: block; border: 0; background: transparent; }
.tls-the-louisville-line .tls-hotels .travelspark-hotel-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; background: transparent; border: 0; }
.tls-the-louisville-line .tls-hotels .travelspark-hotel-card { border: 1px solid #d6d1c8; border-radius: 3px; background: #fffcf7; }
.tls-the-louisville-line .tls-hotels .travelspark-hotel-card__body { padding: 20px; }
.tls-the-louisville-line .tls-hotels--sidebar .travelspark-hotel-card-grid { grid-template-columns: minmax(0,1fr); }
.tls-the-louisville-line .article-layout { align-items: start; }
.tls-the-louisville-line .article-sidebar__sticky { position: static; }
.tls-the-louisville-line .related-guides { clear: both; width: 100%; }
.tls-the-louisville-line .entry-content table { border: 1px solid #cec7bc; border-radius: 4px; border-spacing: 0; font-size: 16px; line-height: 1.5; }
.tls-the-louisville-line .entry-content th { background: #14252c; color: #fff; padding: 16px; font-weight: 650; }
.tls-the-louisville-line .entry-content td { padding: 16px; border-color: #dcd6cd; }
.tls-the-louisville-line .entry-content tbody tr:nth-child(even) { background: #f4eee5; }
.tls-the-louisville-line .entry-content tbody tr:hover { background: #e9eeeb; }
@media(max-width:900px) {
  .tls-the-louisville-line .article-sidebar__sticky { display: grid; grid-template-columns: minmax(0,1fr); }
  .tls-the-louisville-line .tls-hotels .travelspark-hotel-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .tls-the-louisville-line .tls-hotels .travelspark-hotel-card-grid { grid-template-columns: minmax(0,1fr); }
  .tls-the-louisville-line .entry-content th,
  .tls-the-louisville-line .entry-content td { padding: 12px; }
}
