/* V132 — targeted desktop card/layout repair. Loaded last on purpose. */

/* Never let a generic *card selector force a grid item to the row height. */
@media (min-width:1025px){
  body.ia-desktop-v125 :is(.card,.ia-card,[class*="card"]){
    block-size:auto;
    min-block-size:0;
  }
}

/* Shared containment for real visual cards and their direct content. */
:where(.feature-card,.region-card,.district-quick-card,.district-summary-card,
.ia-district-snapshot__panel,.ia-district-snapshot__fact,.district-feature-card,
.district-related-card,.ia-district-card,.ia-province-card,.archive-card,
.district-chart-card,.chart-card,.district-info-card){
  min-width:0;
  max-width:100%;
  height:auto;
  max-height:none;
  box-sizing:border-box;
}
:where(.feature-card,.region-card,.district-quick-card,.district-summary-card,
.ia-district-snapshot__panel,.ia-district-snapshot__fact,.district-feature-card,
.district-related-card,.ia-district-card,.ia-province-card,.archive-card,
.district-chart-card,.chart-card,.district-info-card)
:where(h1,h2,h3,h4,p,span,strong,small,em,dt,dd,a){
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}

/* Home tool cards: restore every child and let the row grow naturally. */
.cards-grid{grid-auto-rows:auto;align-items:stretch}
.feature-card{
  min-height:330px !important;
  height:auto !important;
  overflow:hidden !important;
  isolation:isolate;
}
.feature-card > :not(.ia-card__hit-area){
  position:relative;
  z-index:2;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
.feature-card .ia-card__hit-area{position:absolute;inset:0;z-index:1;background:transparent !important}
.feature-card__icon{display:grid !important;flex:0 0 64px}
.feature-card h3,.feature-card p,.feature-card__button{display:flex !important;opacity:1 !important;visibility:visible !important}
.feature-card p{display:block !important}

/* Snapshot: facts may never overlap the summary or each other. */
.ia-district-snapshot__panel{
  align-items:start;
  overflow:hidden;
}
.ia-district-snapshot__intro{position:relative;z-index:1;min-width:0}
.ia-district-snapshot__facts{
  position:relative;
  z-index:1;
  min-width:0;
  align-self:start;
  grid-auto-rows:auto !important;
}
.ia-district-snapshot__fact{
  position:relative !important;
  display:block !important;
  min-height:88px;
  overflow:hidden;
}
.ia-district-snapshot__fact dt,.ia-district-snapshot__fact dd{
  position:static !important;
  display:block !important;
  transform:none !important;
}
.ia-district-snapshot__fact dd{font-size:clamp(1rem,1.3vw,1.35rem);line-height:1.25}
.ia-district-snapshot__intro a{font-size:inherit;font-weight:inherit}

/* Quick information and editorial cards: remove fixed row/absolute text behaviour. */
.district-quick-grid,.district-info-grid,.district-feature-grid{
  grid-auto-rows:auto !important;
  align-items:stretch;
}
.district-quick-card,.district-summary-card,.district-feature-card,.district-info-card{
  position:relative;
  overflow:hidden;
}
.district-quick-card > *, .district-summary-card > *, .district-feature-card > *, .district-info-card > *{
  position:relative;
  max-width:100%;
}
.district-quick-card :where(strong,b,em,span,p),
.district-summary-card :where(strong,b,em,span,p,li),
.district-feature-card :where(strong,b,em,span,p,li,dd),
.district-info-card :where(strong,b,em,span,p,li,dd){
  position:static !important;
  transform:none !important;
}

/* Long URLs are readable but cannot grow over neighbouring columns. */
.district-page a[href^="http"],.ia-district-snapshot a[href^="http"]{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Related district cards: keep badges and CTA within the card. */
.district-related-card,.ia-district-card{overflow:hidden}
.district-related-card__body,.ia-district-card__body{min-width:0;overflow:hidden}
.district-related-card :where(.badge,.tag,.meta),
.ia-district-card :where(.badge,.tag,.meta){max-width:100%;white-space:normal}

/* Charts: reserve their own box; labels and canvases cannot escape into next section. */
:where(.district-chart-card,.chart-card,.chart-wrap,.chart-container,.district-chart){
  position:relative;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
:where(.district-chart-card,.chart-card,.chart-wrap,.chart-container,.district-chart) canvas{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:440px;
}

/* Footer hearts were injected by the generic favourite enhancer; suppress them outside district result cards. */
.site-footer .ia-favorite-card,.footer-grid .ia-favorite-card,
.site-header .ia-favorite-card,.main-navigation .ia-favorite-card,
.feature-card .ia-favorite-card,.region-card .ia-favorite-card,
.ia-district-snapshot .ia-favorite-card,.district-quick-card .ia-favorite-card{
  display:none !important;
}

/* Floating controls occupy a single right-side stack and never cover back-to-top. */
.ia-back-to-top{z-index:10050 !important}
.ia-memory-shell{z-index:10020 !important;bottom:calc(84px + env(safe-area-inset-bottom)) !important}
.ia-achievement-shell{z-index:10010 !important;bottom:calc(144px + env(safe-area-inset-bottom)) !important}

@media (max-width:900px){
  .ia-district-snapshot__panel{grid-template-columns:minmax(0,1fr) !important}
  .ia-district-snapshot__facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:600px){
  .ia-district-snapshot__facts{grid-template-columns:minmax(0,1fr) !important}
  .ia-district-snapshot__fact{min-height:0}
}
