/* Heidenheim.info UI rebuild 0.1.152
   Isolated components for homepage "Für heute", event archive cards and hero centering.
   No legacy card class names are used here. */

/* Hero – one centered axis on desktop. */
body.home .hi-home-hero__inner{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.home .hi-home-hero__copy{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.home .hi-home-hero__kicker,
body.home .hi-home-hero h1,
body.home .hi-home-hero__intro{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.home .hi-home-hero__search{
  width:min(880px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Homepage: Für heute. Exactly two visual zones: media + white content. */
body.home .hi-ui-today-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  width:100%;
  align-items:start;
}
body.home .hi-ui-today-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce5e8;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 16px rgba(18,49,72,.06);
}
body.home .hi-ui-today-card__visual{
  position:relative;
  display:block;
  width:100%;
  height:138px;
  overflow:hidden;
  background:#edf2f3;
  text-decoration:none;
}
body.home .hi-ui-today-card__media,
body.home .hi-ui-today-card__media>img,
body.home .hi-ui-today-media-photo,
body.home .hi-ui-today-media-photo>img,
body.home .hi-ui-today-media-fallback{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
}
body.home .hi-ui-today-card__media>img,
body.home .hi-ui-today-media-photo>img{
  object-fit:cover;
  object-position:center center;
}
body.home .hi-ui-today-card--event .hi-ui-today-media-photo>img{object-position:center 58%}
body.home .hi-ui-today-media-photo--pharmacy>img{object-position:center 40%}
body.home .hi-ui-today-media-photo{overflow:hidden}
body.home .hi-ui-today-media-photo:after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,28,40,0),rgba(8,28,40,.18));pointer-events:none;
}
body.home .hi-ui-today-media-photo>span{
  position:absolute;right:8px;bottom:8px;z-index:2;padding:3px 6px;border-radius:999px;
  background:rgba(8,28,40,.72);color:#fff;font-size:.52rem;font-weight:800;line-height:1;
}
body.home .hi-ui-today-media-fallback{display:grid;place-items:center}
body.home .hi-ui-today-media-fallback svg{width:48px;height:48px}
body.home .hi-ui-today-media-fallback--food{background:#fff3e8;color:#c96825}
body.home .hi-ui-today-media-fallback--pharmacy{background:#fdeaea;color:#c13232}
body.home .hi-ui-today-media-fallback--destination{background:#eaf5ec;color:#2c8742}
body.home .hi-ui-today-card__date{
  position:absolute;top:10px;left:10px;z-index:5;
  display:flex;min-width:43px;min-height:51px;padding:5px 6px;box-sizing:border-box;
  align-items:center;justify-content:center;flex-direction:column;
  border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 4px 12px rgba(18,49,72,.18);
  color:#123148;line-height:1;text-align:center;
}
body.home .hi-ui-today-card__date small{font-size:.5rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
body.home .hi-ui-today-card__date strong{margin:2px 0;font-size:1rem;font-weight:900}
body.home .hi-ui-today-card__body{padding:12px 13px 14px;background:#fff}
body.home .hi-ui-today-card__label{
  display:inline-flex;margin:0 0 6px;padding:3px 7px;border-radius:999px;
  background:#edf7f6;color:#0b7a75;font-size:.59rem;font-weight:850;line-height:1;
}
body.home .hi-ui-today-card--event .hi-ui-today-card__label{background:#f0eafa;color:#7353b6}
body.home .hi-ui-today-card--food .hi-ui-today-card__label{background:#fff0e2;color:#b95d1f}
body.home .hi-ui-today-card--pharmacy .hi-ui-today-card__label{background:#fde9e9;color:#b62525}
body.home .hi-ui-today-card--destination .hi-ui-today-card__label{background:#e7f4e9;color:#237638}
body.home .hi-ui-today-card h3{margin:0;font-size:.95rem;line-height:1.2;letter-spacing:-.012em}
body.home .hi-ui-today-card h3 a{color:#123148;text-decoration:none}
body.home .hi-ui-today-card p{margin:.35rem 0 0;color:#617078;font-size:.7rem;line-height:1.35}

/* Event archive / "Alles für heute". */
.hi-event-directory--native .hi-ui-event-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:100%;
}
.hi-event-directory--native .hi-ui-event-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce5e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(18,49,72,.06);
}
.hi-event-directory--native .hi-ui-event-card__visual{
  position:relative;
  display:block;
  width:100%;
  height:180px;
  overflow:hidden;
  background:#eaf0f2;
  text-decoration:none;
}
.hi-event-directory--native .hi-ui-event-card__visual>img{
  display:block;width:100%;height:100%;object-fit:cover;
}
.hi-event-directory--native .hi-ui-event-card__visual>.hi-event-visual{
  position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;
  box-sizing:border-box;
}
.hi-event-directory--native .hi-ui-event-card__date{
  position:absolute;top:12px;left:12px;z-index:5;
  display:flex;min-width:48px;min-height:56px;padding:6px 7px;box-sizing:border-box;
  align-items:center;justify-content:center;flex-direction:column;
  border-radius:9px;background:rgba(255,255,255,.97);box-shadow:0 4px 14px rgba(18,49,72,.18);
  color:#123148;line-height:1;text-align:center;font-style:normal;
}
.hi-event-directory--native .hi-ui-event-card__date>small{font-size:.52rem;font-weight:850;text-transform:uppercase}
.hi-event-directory--native .hi-ui-event-card__date>strong{margin:2px 0;font-size:1.06rem;font-weight:900}
.hi-event-directory--native .hi-ui-event-card__date.is-range{min-width:58px;gap:1px;padding:5px 7px}
.hi-event-directory--native .hi-ui-event-card__date.is-range span{display:flex;align-items:baseline;justify-content:center;gap:3px}
.hi-event-directory--native .hi-ui-event-card__date.is-range span strong{font-size:.92rem}
.hi-event-directory--native .hi-ui-event-card__date.is-range span small{font-size:.48rem;font-weight:850;text-transform:uppercase}
.hi-event-directory--native .hi-ui-event-card__date.is-range i{font-size:.65rem;font-weight:900;font-style:normal;opacity:.65}
.hi-event-directory--native .hi-ui-event-card__body{padding:14px 15px 16px}
.hi-event-directory--native .hi-ui-event-card h3{margin:0;font-size:1rem;line-height:1.23;letter-spacing:-.012em}
.hi-event-directory--native .hi-ui-event-card h3 a{color:#123148;text-decoration:none}
.hi-event-directory--native .hi-ui-event-card__meta{margin:.45rem 0 0;color:#4f656e;font-size:.76rem;line-height:1.4;font-weight:650}
.hi-event-directory--native .hi-ui-event-card__excerpt{margin:.55rem 0 0;color:#617078;font-size:.8rem;line-height:1.45}
.hi-event-directory--native .hi-ui-event-card__status{display:inline-flex;margin:0 0 8px;padding:3px 7px;border-radius:999px;font-size:.62rem;font-weight:850;text-transform:uppercase}
.hi-event-directory--native .hi-ui-event-card__status.is-cancelled{background:#fde8e8;color:#a52424}
.hi-event-directory--native .hi-ui-event-card__status.is-postponed{background:#fff0cc;color:#825500}

@media(max-width:980px){
  body.home .hi-ui-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hi-event-directory--native .hi-ui-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  body.home .hi-home-hero__copy,body.home .hi-home-hero__kicker,body.home .hi-home-hero h1,body.home .hi-home-hero__intro{text-align:center!important}
  body.home .hi-ui-today-grid{display:flex;overflow-x:auto;gap:12px;margin:0 -12px;padding:0 12px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
  body.home .hi-ui-today-grid::-webkit-scrollbar{display:none}
  body.home .hi-ui-today-card{flex:0 0 84%;scroll-snap-align:start}
  body.home .hi-ui-today-card__visual{height:136px}
  .hi-event-directory--native .hi-ui-event-grid{grid-template-columns:1fr}
  .hi-event-directory--native .hi-ui-event-card__visual{height:170px}
}

/* 0.1.154 – homepage event date badge matches the established event-card design.
   Top-left, clearly inside the photo; no layout space is reserved for the badge. */
body.home .hi-ui-today-card--event .hi-ui-today-card__visual > .hi-ui-today-card__date{
  position:absolute!important;
  top:9px!important;
  right:auto!important;
  bottom:auto!important;
  left:9px!important;
  z-index:20!important;
  display:flex!important;
  min-width:45px!important;
  width:auto!important;
  min-height:55px!important;
  height:auto!important;
  margin:0!important;
  padding:5px 6px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 4px 13px rgba(18,49,72,.16)!important;
  color:#123148!important;
  line-height:1!important;
  text-align:center!important;
  transform:none!important;
}
body.home .hi-ui-today-card--event .hi-ui-today-card__date small{
  font-size:.52rem!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
body.home .hi-ui-today-card--event .hi-ui-today-card__date strong{
  margin:2px 0!important;
  font-size:1.02rem!important;
  font-weight:900!important;
}

/* Keep the native event directory badge in its existing, proven top-left position. */
.hi-event-directory--native .hi-ui-event-card__visual > .hi-ui-event-card__date{
  position:absolute!important;
  top:12px!important;
  right:auto!important;
  bottom:auto!important;
  left:12px!important;
  z-index:20!important;
  margin:0!important;
  transform:none!important;
}

/* 0.1.156 – "Für heute" event card uses the SAME visual + date badge as the
   proven "Das ist los im Landkreis" cards. Only the visual height is scoped
   here; the date itself is intentionally not restyled. */
body.home .hi-ui-today-card--event > .hi-home-event-showcase__visual.hi-ui-today-card__event-visual{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:122px!important;
  min-height:122px!important;
  max-height:122px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.home .hi-ui-today-card--event > .hi-home-event-showcase__visual.hi-ui-today-card__event-visual > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 58%!important;
}


/* 0.1.265 – event advertising uses compact banner geometry instead of the
   source creative's intrinsic aspect ratio. This keeps adverts visible without
   overpowering the directory or breaking the three-column event rhythm. */
.hi-event-directory--native .hi-event-list-head-ad,
.hi-event-directory--native .hi-ui-event-grid>.hi-event-inline-ad,
.hi-event-ad--before,
.hi-event-ad--middle,
.hi-event-ad--after{
  width:min(100%,970px);
  margin-left:auto!important;
  margin-right:auto!important;
}
.hi-event-directory--native .hi-event-list-head-ad{margin-top:18px!important;margin-bottom:10px!important}
.hi-event-directory--native .hi-ui-event-grid>.hi-event-inline-ad{
  grid-column:1/-1;
  margin-top:8px!important;
  margin-bottom:8px!important;
}
.hi-event-directory--native .hi-event-list-head-ad,
.hi-event-directory--native .hi-event-inline-ad,
.hi-event-ad--before,
.hi-event-ad--middle,
.hi-event-ad--after{
  padding:0!important;
  border:0!important;
  border-radius:13px;
  background:transparent!important;
  overflow:hidden;
}
.hi-event-directory--native .hi-event-list-head-ad .hi-ad,
.hi-event-directory--native .hi-event-inline-ad .hi-ad,
.hi-event-ad--before .hi-ad,
.hi-event-ad--middle .hi-ad,
.hi-event-ad--after .hi-ad{overflow:hidden;border-radius:13px;background:#eef3f4}
.hi-event-directory--native .hi-event-list-head-ad .hi-ad__link,
.hi-event-directory--native .hi-event-list-head-ad .hi-ad__creative,
.hi-event-directory--native .hi-event-inline-ad .hi-ad__link,
.hi-event-directory--native .hi-event-inline-ad .hi-ad__creative,
.hi-event-ad--before .hi-ad__link,.hi-event-ad--before .hi-ad__creative,
.hi-event-ad--middle .hi-ad__link,.hi-event-ad--middle .hi-ad__creative,
.hi-event-ad--after .hi-ad__link,.hi-event-ad--after .hi-ad__creative{display:block;width:100%}
.hi-event-directory--native .hi-event-list-head-ad .hi-ad__creative,
.hi-event-directory--native .hi-event-inline-ad .hi-ad__creative,
.hi-event-ad--before .hi-ad__creative,
.hi-event-ad--middle .hi-ad__creative,
.hi-event-ad--after .hi-ad__creative{aspect-ratio:7.6/1;overflow:hidden}
.hi-event-directory--native .hi-event-list-head-ad .hi-ad__image,
.hi-event-directory--native .hi-event-inline-ad .hi-ad__image,
.hi-event-ad--before .hi-ad__image,
.hi-event-ad--middle .hi-ad__image,
.hi-event-ad--after .hi-ad__image{
  display:block;width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;border-radius:0!important;background:#eef3f4!important;
}
.hi-event-directory--native .hi-event-list-head-ad .hi-ad__label,
.hi-event-directory--native .hi-event-inline-ad .hi-ad__label,
.hi-event-ad--before .hi-ad__label,.hi-event-ad--middle .hi-ad__label,.hi-event-ad--after .hi-ad__label{
  top:7px;left:7px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.92);
}
@media(max-width:767px){
  .hi-event-directory--native .hi-event-list-head-ad .hi-ad__creative,
  .hi-event-directory--native .hi-event-inline-ad .hi-ad__creative,
  .hi-event-ad--before .hi-ad__creative,.hi-event-ad--middle .hi-ad__creative,.hi-event-ad--after .hi-ad__creative{aspect-ratio:16/7}
}

/* 0.1.266 – native hi_event detail template: enforce the same compact ad
   geometry even when a stored/template shortcode was created without the
   helper class introduced for classic TEC event pages. */
.hi-event-single > .hi-ad-slot--veranstaltungen-kopf,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer,
.hi-event-single > .hi-ad-slot--inhalt-vor-footer{
  width:min(100%,970px);
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:13px;
  background:transparent!important;
  overflow:hidden;
}
.hi-event-single > .hi-ad-slot--veranstaltungen-kopf .hi-ad,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte .hi-ad,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer .hi-ad,
.hi-event-single > .hi-ad-slot--inhalt-vor-footer .hi-ad{
  overflow:hidden;
  border-radius:13px;
  background:#eef3f4;
}
.hi-event-single > .hi-ad-slot--veranstaltungen-kopf .hi-ad__link,
.hi-event-single > .hi-ad-slot--veranstaltungen-kopf .hi-ad__creative,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte .hi-ad__link,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte .hi-ad__creative,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer .hi-ad__link,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer .hi-ad__creative,
.hi-event-single > .hi-ad-slot--inhalt-vor-footer .hi-ad__link,
.hi-event-single > .hi-ad-slot--inhalt-vor-footer .hi-ad__creative{
  display:block;
  width:100%;
}
.hi-event-single > .hi-ad-slot--veranstaltungen-kopf .hi-ad__creative,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte .hi-ad__creative,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer .hi-ad__creative,
.hi-event-single > .hi-ad-slot--inhalt-vor-footer .hi-ad__creative{
  aspect-ratio:7.6/1;
  overflow:hidden;
}
.hi-event-single > .hi-ad-slot--veranstaltungen-kopf .hi-ad__image,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte .hi-ad__image,
.hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer .hi-ad__image,
.hi-event-single > .hi-ad-slot--inhalt-vor-footer .hi-ad__image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  background:#eef3f4!important;
}
@media(max-width:767px){
  .hi-event-single > .hi-ad-slot--veranstaltungen-kopf .hi-ad__creative,
  .hi-event-single > .hi-ad-slot--veranstaltungen-detail-mitte .hi-ad__creative,
  .hi-event-single > .hi-ad-slot--veranstaltungen-detail-footer .hi-ad__creative,
  .hi-event-single > .hi-ad-slot--inhalt-vor-footer .hi-ad__creative{
    aspect-ratio:16/5;
  }
}


/* 0.1.268 – general content advertising: keep the three regular content
   placements compact and consistent with the event banner geometry. */
.hi-ad-slot--inhalt-nach-einstieg,
.hi-ad-slot--inhalt-mitte,
.hi-ad-slot--inhalt-vor-footer{
  width:min(100%,970px);
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:13px;
  background:transparent!important;
  overflow:hidden;
}
.hi-ad-slot--inhalt-nach-einstieg .hi-ad,
.hi-ad-slot--inhalt-mitte .hi-ad,
.hi-ad-slot--inhalt-vor-footer .hi-ad{
  overflow:hidden;
  border-radius:13px;
  background:#eef3f4;
}
.hi-ad-slot--inhalt-nach-einstieg .hi-ad__link,
.hi-ad-slot--inhalt-nach-einstieg .hi-ad__creative,
.hi-ad-slot--inhalt-mitte .hi-ad__link,
.hi-ad-slot--inhalt-mitte .hi-ad__creative,
.hi-ad-slot--inhalt-vor-footer .hi-ad__link,
.hi-ad-slot--inhalt-vor-footer .hi-ad__creative{
  display:block;
  width:100%;
}
.hi-ad-slot--inhalt-nach-einstieg .hi-ad__creative,
.hi-ad-slot--inhalt-mitte .hi-ad__creative,
.hi-ad-slot--inhalt-vor-footer .hi-ad__creative{
  aspect-ratio:7.6/1;
  overflow:hidden;
}
.hi-ad-slot--inhalt-nach-einstieg .hi-ad__image,
.hi-ad-slot--inhalt-mitte .hi-ad__image,
.hi-ad-slot--inhalt-vor-footer .hi-ad__image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  background:#eef3f4!important;
}
.hi-ad-slot--inhalt-nach-einstieg .hi-ad__label,
.hi-ad-slot--inhalt-mitte .hi-ad__label,
.hi-ad-slot--inhalt-vor-footer .hi-ad__label{
  top:7px;
  left:7px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
}
@media(max-width:767px){
  .hi-ad-slot--inhalt-nach-einstieg .hi-ad__creative,
  .hi-ad-slot--inhalt-mitte .hi-ad__creative,
  .hi-ad-slot--inhalt-vor-footer .hi-ad__creative{
    aspect-ratio:16/5;
  }
}

/* 0.1.269 – avoid double advertising at the end of short content pages.
   The optional middle placement is either moved to a real editorial midpoint
   by content-ad-placement.js or suppressed when no safe midpoint exists. */
.hi-ad-slot--auto-suppressed{
  display:none!important;
}
.hi-ad-slot--auto-midpoint{
  margin-top:2rem!important;
  margin-bottom:2rem!important;
}


/* 0.1.270 – dedicated ad rhythm on global search results. */
body.search .hi-search-ad{
  margin:22px auto!important;
}
body.search .hi-search-ad--intro{
  margin-top:18px!important;
  margin-bottom:24px!important;
}
body.search .hi-search-ad--middle{
  margin-top:26px!important;
  margin-bottom:26px!important;
}
@media (max-width:700px){
  body.search .hi-search-ad{margin:16px auto!important;}
}

/* 0.1.271 – keep search ads at their semantic flex positions even when an
   older Site Editor template still carries the historical order rules. */
body.search .hi-search-content>.hi-search-ad--intro{
  order:25!important;
  width:100%!important;
  max-width:none!important;
}
body.search .hi-search-content>.hi-search-results-zone{order:30!important;}
body.search .hi-search-content>.hi-search-ad--middle{
  order:35!important;
  width:100%!important;
  max-width:none!important;
}
body.search .hi-search-content>.hi-search-map-zone{order:40!important;}


/* 0.1.272 – topic/portal landing pages: keep generic advertising inside the
   portal rhythm instead of before/after the whole shortcode module. */
body:not(.home) .hi-topic-ad{
  width:min(100%,970px)!important;
  max-width:970px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}
body:not(.home) .hi-topic-ad--intro{
  margin-top:26px!important;
  margin-bottom:30px!important;
}
body:not(.home) .hi-topic-ad--middle{
  margin-top:32px!important;
  margin-bottom:32px!important;
}
body:not(.home) .hi-topic-ad--footer{
  margin-top:30px!important;
  margin-bottom:10px!important;
}
body:not(.home) .hi-topic-ad > .hi-ad-slot,
body:not(.home) .hi-topic-ad.hi-ad-slot{
  width:100%!important;
  max-width:970px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:767px){
  body:not(.home) .hi-topic-ad--intro,
  body:not(.home) .hi-topic-ad--middle,
  body:not(.home) .hi-topic-ad--footer{
    width:calc(100% - 24px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* 0.1.273 – topic portal footer ad must never escape into full-bleed page
   width. Keep the actual slot and creative constrained inside the portal even
   when older block-template wrappers carry alignfull/full-width rules. */
body:not(.home) .hi-topic-landing > .hi-topic-ad--footer,
body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer{
  width:min(100%,970px)!important;
  max-width:970px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer .hi-ad,
body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer .hi-ad__link,
body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer .hi-ad__creative{
  width:100%!important;
  max-width:970px!important;
  box-sizing:border-box!important;
}
body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer .hi-ad__creative{
  aspect-ratio:7.6/1!important;
  overflow:hidden!important;
}
body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer .hi-ad__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:767px){
  body:not(.home) .hi-topic-landing > .hi-topic-ad--footer,
  body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer{
    width:calc(100% - 24px)!important;
  }
  body:not(.home) .hi-topic-landing .hi-topic-ad-slot--footer .hi-ad__creative{
    aspect-ratio:16/5!important;
  }
}


/* 0.1.274 – portal footer advertising: isolate the slot from legacy Gutenberg
   shortcode sizing. A portal-owned grid shell guarantees the same full portal
   axis as intro/middle ads and keeps the banner above the feedback CTA. */
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer{
  display:block!important;
  grid-column:1 / -1!important;
  justify-self:center!important;
  align-self:stretch!important;
  width:min(100%,970px)!important;
  min-width:0!important;
  max-width:970px!important;
  margin:30px auto 10px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer > .hi-topic-ad-slot--footer{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer .hi-ad,
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer .hi-ad__link,
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer .hi-ad__creative{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer .hi-ad__creative{
  aspect-ratio:7.6/1!important;
  overflow:hidden!important;
}
body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer .hi-ad__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:767px){
  body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer{
    width:calc(100% - 24px)!important;
    margin-top:20px!important;
  }
  body:not(.home) .hi-topic-landing > .hi-topic-ad-shell--footer .hi-ad__creative{
    aspect-ratio:16/5!important;
  }
}
