/* ======================================================
   HTS Site Base (London-Airports) – Service (Brand Level 2)
   ====================================================== */

:root{
  --hts-blue: #152D75;
  --hts-red:  #CD1719;
  --hts-bg:   #F5F7FB;
  --hts-text: #0F172A;
}

body{
  background: var(--hts-bg);
  color: var(--hts-text);
}

/* Headline block */
.hts-h1{
  font-weight: 800;
  letter-spacing: -0.2px;
}

.hts-sub{
  color: rgba(15,23,42,.72);
  font-size: .98rem;
}

.hts-bar{
  height: 3px;
  width: 56px;
  background: var(--hts-red);
  border-radius: 999px;
  margin-top: .6rem;
}

/* Cards / Boxes */
.hts-card{
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
  transition: transform .12s ease, box-shadow .12s ease;
}

a:hover .hts-card{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(15,23,42,.10);
}

.hts-card .card-title{
  font-weight: 800;
  color: var(--hts-text);
}

/* Badge look */
.hts-card .badge{
  background: rgba(21,45,117,.08);
  color: var(--hts-blue);
  font-weight: 800;
}

/* Buttons */
.btn-hts{
  background: var(--hts-red);
  border-color: var(--hts-red);
  color:#fff;
  font-weight:700;
  border-radius: 999px;
  padding: .5rem .9rem;
}

/* Hover/Fokus fix (Bootstrap override) */
.btn-hts,
.btn-hts:hover,
.btn-hts:focus,
.btn-hts:active{
  background-color: var(--hts-red) !important;
  border-color: var(--hts-red) !important;
  color:#fff !important;
}
.btn-hts:hover{ opacity:.92; }

.btn-hts-outline{
  background:#fff;
  border: 2px solid var(--hts-blue);
  color: var(--hts-blue);
  font-weight:700;
  border-radius: 999px;
  padding: .5rem .9rem;
}
.btn-hts-outline:hover{ background: rgba(21,45,117,.06); }

/* Small polish */
.text-muted{ color: rgba(15,23,42,.55) !important; }

/* Airport card images */
.hts-card-img{
  margin: -1rem -1rem 1rem -1rem;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
}
.hts-card-img img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}

/* Meta pills */
.hts-meta{ display:flex; flex-wrap:wrap; gap:.5rem; }

.hts-pill{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.25rem .6rem;
  border-radius:999px;
  background: rgba(21,45,117,.08);
  color: var(--hts-blue);
  font-weight:700;
  font-size:.85rem;
}

/* Dual hero images (top right) */
.hts-hero-img{
  width: 50%;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e6eaf0;
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}
.hts-hero-img img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}

/* Airport Quick Tiles */
.hts-tile{
  display:block;
  height:100%;
  background:#ffffff;
  border:1px solid #e6eaf0;
  border-radius:16px;
  padding:1.4rem 1.2rem;
  text-align:center;
  text-decoration:none;
  color:var(--hts-text);
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.hts-tile:hover{
  transform: translateY(-2px);
  box-shadow:0 10px 26px rgba(15,23,42,.10);
  border-color: rgba(21,45,117,.35);
  text-decoration:none;
  color:var(--hts-text);
}

.hts-tile-icon{
  font-size:1.8rem;
  color:var(--hts-blue);
  margin-bottom:.4rem;
}

.hts-tile-title{
  font-weight:800;
  font-size:1.05rem;
  margin-bottom:.15rem;
}

.hts-tile-sub{
  font-size:.9rem;
  color:rgba(15,23,42,.65);
}
