/* =====================================================
   HT Media Partners Directory Page
   ===================================================== */

.ht-media-partners-page{
  margin: 0 0 30px 0;
}

.ht-mp-page-title{
  margin: 0 0 12px 0;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 700;
}

.ht-mp-page-intro{
  margin: 0 0 18px 0;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  max-width: 980px;
}

.ht-mp-page-intro p{
  margin: 0;
}

/* Filter bar */
.ht-mp-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px 0;
}

.ht-mp-filter{
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #222;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  transition: all .18s ease;
  box-shadow: none !important;
}

.ht-mp-filter:hover{
  background: #e7e9ee;
  color: #111;
}

.ht-mp-filter.is-active{
  background: #111;
  color: #fff;
}

/* Count line */
.ht-mp-count{
  margin: 0 0 22px 0;
  font-size: 14px;
  color: #666;
}

/* Section heading */
.ht-mp-section-title{
  margin: 0 0 18px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #ececec;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

/* Grid */
.ht-mp-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}

@media (max-width: 900px){
  .ht-mp-grid{
    grid-template-columns: 1fr;
  }
}

/* Card */
.ht-mp-card{
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,0.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ht-mp-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.10);
  border-color: #dcdcdc;
}

.ht-mp-card-link{
  display: block;
  color: inherit;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ht-mp-card-media{
  background: #f7f7f7;
}

.ht-mp-card-img{
  display: block;
  width: 100%;
  aspect-ratio: 336 / 200;
  object-fit: cover;
}

.ht-mp-card-body{
  padding: 16px 18px 18px 18px;
}

.ht-mp-card-title{
  margin: 0 0 10px 0;
  font-size: 28px;
  line-height: 1.25;
  font-weight: 700;
  color: #111;
}

.ht-mp-card-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #666;
  line-height: 1.4;
}

.ht-mp-card-meta span{
  display: inline-flex;
  align-items: center;
}

.ht-mp-card-blurb{
  margin: 0 0 14px 0;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

.ht-mp-card-cta{
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #0b66c3;
}

/* Legacy links */
.ht-mp-legacy{
  margin-top: 34px;
}

.ht-mp-legacy-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ht-mp-legacy-links a{
  display: inline-block;
  padding: 10px 14px;
  border-radius: 8px;
  background: #f3f4f6;
  text-decoration: none !important;
  font-weight: 600;
}

.ht-mp-legacy-links a:hover{
  background: #e7e9ee;
}

/* =====================================================
   HT Events Widget – hard reset / protect from theme CSS
   ===================================================== */

.ht-events{
  font-size:13px;
  line-height:1.35;
}

.ht-events,
.ht-events *{
  box-sizing:border-box;
  white-space:normal !important;
}

.ht-events .ht-event{
  display:block;
  margin:0 0 8px 0;
}

.ht-events .ht-link{
  display:block !important;
  text-decoration:none !important;
  background:transparent !important;
  outline:0 !important;
  box-shadow:none !important;
}

.ht-events .ht-row{
  position:relative;
  border-radius:10px;
  padding:8px 10px 8px 8px;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-rows:auto auto !important;
  column-gap:10px;
  row-gap:2px;
  align-items:start !important;
}

.ht-events .ht-row::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:10px;
  background:rgba(0,0,0,0.06);
  opacity:0;
  transition:opacity .15s ease;
  pointer-events:none;
  z-index:0;
}

.ht-events .ht-row > *{
  position:relative;
  z-index:1;
}

.ht-events .ht-link:hover .ht-row::before,
.ht-events .ht-link:focus .ht-row::before,
.ht-events .ht-link:focus-visible .ht-row::before{
  opacity:1;
}

.ht-events .left{
  grid-column:1 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:8px !important;
  min-width:0 !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}

.ht-events .icon{
  display:block !important;
  flex:0 0 20px !important;
  width:20px !important;
  min-width:20px !important;
  font-size:14px !important;
  line-height:1 !important;
  opacity:.85;
  margin:2px 0 0 0 !important;
  padding:0 !important;
}

.ht-events .event-title{
  display:block !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.ht-events .right{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:end !important;
  align-self:start !important;
  margin:2px 0 0 0 !important;
  padding:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  float:none !important;
  width:auto !important;
}

.ht-events .star{
  display:inline-block !important;
  color:#f5b400 !important;
  font-size:14px !important;
  line-height:1 !important;
}

.ht-events .meta{
  grid-column:1 / span 2 !important;
  grid-row:2 !important;
  display:block !important;
  font-size:12px !important;
  opacity:.85;
  line-height:1.3 !important;
  margin:0 0 0 28px !important;
  padding:0 !important;
  float:none !important;
  width:auto !important;
}

.ht-events img,
.ht-events svg{
  max-width:none !important;
  height:auto !important;
}
/* =====================================================
   HT Media Partner Banners – sidebar reset
   ===================================================== */

.ht-mp-banners{
  display:block;
}

.ht-mp-banners .ht-mp-banner{
  display:block;
  margin:0 0 7px 0 !important;
}

.ht-mp-banners .ht-mp-link{
  display:block !important;
  text-decoration:none !important;
  background:transparent !important;
  border-radius:6px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

.ht-mp-banners .ht-mp-img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:cover !important;
  border-radius:8px !important;
}

.ht-mp-banners .ht-mp-link:hover{
  filter:brightness(0.97);
}