/* Card composition based on the approved image mockup. */
.med-listing-grid,.ent-listing-grid{gap:20px!important}
.med-listing-card,.ent-listing-card{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto 1fr auto!important;
  position:relative!important;min-width:0!important;min-height:0!important;
  padding:19px 20px 17px!important;border:1px solid #a9c9f3!important;
  border-radius:19px!important;background:linear-gradient(125deg,#fff 58%,#f4f8ff)!important;
  box-shadow:0 12px 26px rgba(15,63,139,.10),0 2px 5px rgba(15,63,139,.04)!important;
}
.med-listing-card::before,.ent-listing-card::before{width:2px!important;background:#1f65ff!important}
.med-card-topline,.ent-card-topline{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;margin:0 0 19px!important;position:relative;z-index:2}
.med-card-id,.ent-card-id{font-size:.68rem!important;font-weight:800!important;color:#155be2!important}
.med-card-origin,.ent-card-origin,.med-card-status,.ent-card-status{
  border:0!important;background:#edf4ff!important;color:#31517f!important;padding:5px 9px!important;border-radius:6px!important;
}
.med-card-heading,.ent-card-heading{display:block!important;position:relative;z-index:2}
.med-card-heading h2,.ent-card-heading h2{font-size:clamp(1.3rem,1.7vw,1.82rem)!important;line-height:1.14!important;color:#0a2454!important;max-width:29ch}
.med-card-category,.ent-card-category{color:#4b73b1!important;font-size:.62rem!important;margin-bottom:7px!important}
.med-card-status,.ent-card-status{position:absolute;top:17px;right:17px;font-size:.61rem!important;z-index:3}
.med-card-description,.ent-card-description{position:relative;z-index:2;margin:10px 0 15px!important;max-width:56ch;line-height:1.43!important;color:#49668e!important;font-size:.81rem!important}
.med-card-facts,.ent-card-facts{
  display:flex!important;align-items:center!important;gap:0!important;
  position:relative;z-index:2;min-height:55px!important;margin-top:auto!important;padding:11px 0 0!important;
  background:transparent!important;border:0!important;border-top:1px solid #d8e5f5!important;border-radius:0!important;
}
.med-card-facts>div,.ent-card-facts>div{flex:1 1 0;min-width:0;padding:0 13px!important}
.med-card-facts>div:first-child,.ent-card-facts>div:first-child{flex:0 1 auto;padding-left:0!important}
.med-card-facts>div+div,.ent-card-facts>div+div{border-left:1px solid #cadcf3!important}
.med-card-facts dt,.ent-card-facts dt{font-size:.53rem!important;letter-spacing:.055em!important;margin-bottom:3px!important}
.med-card-facts dd,.ent-card-facts dd{font-size:.7rem!important;color:#294976!important}
.med-card-facts>div:first-child dd,.ent-card-facts>div:first-child dd{font-size:1.14rem!important;color:#0859e9!important;font-weight:800!important;white-space:normal}
.med-card-footer,.ent-card-footer{position:relative;z-index:2;display:flex!important;justify-content:flex-end!important;margin:12px 0 0!important}
.med-card-footer a,.ent-card-footer a{background:#145cf4!important;border:1px solid #145cf4!important;border-radius:8px!important;color:#fff!important;font-weight:750!important;padding:9px 13px!important;box-shadow:0 7px 13px rgba(19,84,212,.16)!important}
.med-card-footer a:hover,.ent-card-footer a:hover{background:#073eb6!important;border-color:#073eb6!important}
.med-listing-card.has-visual{min-height:278px!important;padding-right:min(30%,255px)!important}
.med-listing-card.has-visual .med-card-visual{
  position:absolute;right:0;top:0;width:34%;height:calc(100% - 77px);overflow:hidden;
  border-radius:0 18px 18px 60px;clip-path:polygon(33% 0,100% 0,100% 100%,0 100%);
  background:#071b3c;pointer-events:none;
}
.med-card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,248,255,.42),transparent 42%)}
.med-card-visual img{width:100%;height:100%;object-fit:cover;display:block}
.med-visual-note{position:absolute;right:10px;bottom:9px;z-index:1;background:rgba(4,24,59,.76);color:#fff;border-radius:4px;padding:3px 6px;font-size:.51rem;letter-spacing:.02em}
.med-listing-card.has-visual .med-card-description{max-width:47ch}
.med-listing-card.has-visual .med-card-facts,.med-listing-card.has-visual .med-card-footer{margin-right:calc(-1 * min(30vw,255px))!important}
@media(max-width:1100px){
 .med-listing-card.has-visual{padding-right:20px!important}
 .med-listing-card.has-visual .med-card-visual{width:29%;height:49%}
 .med-listing-card.has-visual .med-card-heading,.med-listing-card.has-visual .med-card-description{max-width:67%}
 .med-listing-card.has-visual .med-card-facts,.med-listing-card.has-visual .med-card-footer{margin-right:0!important}
}
@media(max-width:680px){
 .med-listing-card,.ent-listing-card{padding:17px!important;border-radius:14px!important}
 .med-card-topline,.ent-card-topline{flex-wrap:wrap;max-width:100%;margin-bottom:12px!important}
 .med-card-status,.ent-card-status{position:static;margin:0 0 9px!important;justify-self:start}
 .med-card-heading,.ent-card-heading{display:flex!important;flex-direction:column!important}
 .med-card-heading h2,.ent-card-heading h2{font-size:1.35rem!important}
 .med-listing-card.has-visual{min-height:0!important}
 .med-listing-card.has-visual .med-card-visual{position:relative;order:0;width:100%;height:128px;margin:9px 0 0;border-radius:9px;clip-path:none}
 .med-listing-card.has-visual .med-card-heading,.med-listing-card.has-visual .med-card-description{max-width:100%}
 .med-card-facts,.ent-card-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .med-card-facts>div,.ent-card-facts>div{padding:0 8px!important}
 .med-card-facts>div:last-child,.ent-card-facts>div:last-child{grid-column:1/-1!important;padding:8px 0 0!important;border-left:0!important;border-top:1px solid #cadcf3!important}
}
/* Enterprise cards share the same image composition. */
.ent-listing-card.has-visual{min-height:278px!important;padding-right:min(30%,255px)!important}
.ent-listing-card.has-visual .ent-card-visual{
 position:absolute;right:0;top:0;width:34%;height:calc(100% - 77px);overflow:hidden;
 border-radius:0 18px 18px 60px;clip-path:polygon(33% 0,100% 0,100% 100%,0 100%);
 background:#071b3c;pointer-events:none
}
.ent-card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,248,255,.42),transparent 42%)}
.ent-card-visual img{width:100%;height:100%;object-fit:cover;display:block}
.ent-visual-note{position:absolute;right:10px;bottom:9px;z-index:1;background:rgba(4,24,59,.76);color:#fff;border-radius:4px;padding:3px 6px;font-size:.51rem;letter-spacing:.02em}
.ent-listing-card.has-visual .ent-card-description{max-width:47ch}
.ent-listing-card.has-visual .ent-card-facts,.ent-listing-card.has-visual .ent-card-footer{margin-right:calc(-1 * min(30vw,255px))!important}
@media(max-width:1100px){
 .ent-listing-card.has-visual{padding-right:20px!important}
 .ent-listing-card.has-visual .ent-card-visual{width:29%;height:49%}
 .ent-listing-card.has-visual .ent-card-heading,.ent-listing-card.has-visual .ent-card-description{max-width:67%}
 .ent-listing-card.has-visual .ent-card-facts,.ent-listing-card.has-visual .ent-card-footer{margin-right:0!important}
}
@media(max-width:680px){
 .ent-listing-card.has-visual{min-height:0!important}
 .ent-listing-card.has-visual .ent-card-visual{position:relative;order:0;width:100%;height:128px;margin:9px 0 0;border-radius:9px;clip-path:none}
 .ent-listing-card.has-visual .ent-card-heading,.ent-listing-card.has-visual .ent-card-description{max-width:100%}
}
/* Reserve the visual area in copy only; facts and actions retain full width. */
@media(min-width:1101px){
 .med-listing-card.has-visual,.ent-listing-card.has-visual{padding-right:20px!important}
 .med-listing-card.has-visual .med-card-heading,.med-listing-card.has-visual .med-card-description,
 .ent-listing-card.has-visual .ent-card-heading,.ent-listing-card.has-visual .ent-card-description{max-width:64%}
 .med-listing-card.has-visual .med-card-facts,.med-listing-card.has-visual .med-card-footer,
 .ent-listing-card.has-visual .ent-card-facts,.ent-listing-card.has-visual .ent-card-footer{margin-right:0!important}
}
