/* InfoBuz Core v2.9.0 — centralized mobile layout */

@media (max-width: 768px){
  /* Prevent custom modules from forcing horizontal page scroll. */
  .ibhh-wrap,.ibnr-wrap,.ibcc-row,.ibls-wrap,.ibhlw-row-wrap,
  .ibes-widget,.ibpf-footer-shell,.cvbnr3,.itr-wrap,.ibpc-wrap{
    max-width:100%;
    min-width:0;
  }

  .ibhh-wrap img,.ibnr-wrap img,.ibcc-row img,.ibhlw-row-wrap img,
  .ibes-widget img,.ibpf-footer-shell img{max-width:100%;height:auto}

  /* HERO: four secondary stories stay as a clean 2x2 grid on phones. */
  .ibhh-secondary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:auto !important;
    gap:10px !important;
  }
  .ibhh-card{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    height:auto !important;
  }
  .ibhh-card-image-link{
    grid-row:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1.55/1 !important;
    border-radius:8px !important;
  }
  .ibhh-card-title{
    margin-top:6px !important;
    font-size:13px !important;
    line-height:1.18 !important;
    -webkit-line-clamp:3 !important;
  }
  .ibhh-card-date{margin-top:4px !important;font-size:10px !important}
  .ibhh-lead-title{font-size:clamp(22px,6.2vw,28px) !important}
  .ibhh-lead-excerpt{font-size:13.5px !important;line-height:1.4 !important;-webkit-line-clamp:3 !important}

  /* NEWS ROW + TOP READ: always two editorial cards per row on normal phones. */
  .ibnr-row,
  .widget_infobuz_top_read .ibnr-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:11px !important;
  }
  .ibnr-head{gap:5px !important;margin-bottom:10px !important}
  .ibnr-title,.widget_infobuz_top_read .ibnr-title{font-size:21px !important;line-height:1.1 !important}
  .ibnr-image-link{aspect-ratio:1.5/1 !important;border-radius:8px !important}
  .ibnr-card{min-width:0 !important;padding-bottom:5px !important}
  .ibnr-card-title,.widget_infobuz_top_read .ibnr-card-title{
    margin-top:7px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    -webkit-line-clamp:3 !important;
  }
  .ibnr-card-excerpt,.widget_infobuz_top_read .ibnr-card-excerpt{
    margin-top:5px !important;
    font-size:11.5px !important;
    line-height:1.36 !important;
    -webkit-line-clamp:3 !important;
  }
  .ibnr-card-date,.widget_infobuz_top_read .ibnr-card-date,
  .widget_infobuz_top_read .ibnr-card-views{font-size:10px !important}
  .ibnr-links{margin-top:7px !important;padding-top:7px !important}
  .ibnr-links li{padding-left:11px !important}
  .ibnr-links a{font-size:10.5px !important;line-height:1.3 !important;-webkit-line-clamp:2 !important}

  /* CATEGORY CARDS: 4 desktop cards become 2x2, not 1x4. */
  .ibcc-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-bottom:18px !important;
  }
  .ibcc-row.ibcc-cols-1{grid-template-columns:1fr !important;}
  .ibcc-card{
    min-width:0 !important;
    min-height:0 !important;
    padding:10px !important;
    border-radius:11px !important;
  }
  .ibcc-head{gap:5px !important}
  .ibcc-heading{gap:6px !important;min-width:0 !important}
  .ibcc-icon{width:24px !important;height:24px !important;flex-basis:24px !important;font-size:13px !important;border-radius:7px !important}
  .ibcc-heading h3{font-size:14px !important;line-height:1.1 !important;min-width:0 !important}
  .ibcc-more{font-size:9px !important}
  .ibcc-lead{margin-top:8px !important;gap:7px !important}
  .ibcc-image-link{aspect-ratio:1.52/1 !important;border-radius:8px !important}
  .ibcc-lead-copy h4{font-size:var(--ibcc-title-size,17px) !important;line-height:1.2 !important;-webkit-line-clamp:3 !important}
  .ibcc-lead-excerpt{margin-top:4px !important;font-size:var(--ibcc-excerpt-size,14px) !important;line-height:1.34 !important;-webkit-line-clamp:3 !important}
  .ibcc-lead-copy time{margin-top:4px !important;font-size:9.5px !important}
  .ibcc-links{margin-top:7px !important;padding-top:6px !important}
  .ibcc-links li{padding:4px 0 4px 11px !important}
  .ibcc-links li::before{top:10px !important;width:4px !important;height:4px !important}
  .ibcc-links a{font-size:10px !important;line-height:1.28 !important;-webkit-line-clamp:2 !important}

  /* InfoBuz LIVE: compact 2-column dashboard. */
  .ibls-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  .ibls-brand{grid-column:1/-1 !important;min-height:54px !important;padding:8px 11px !important}
  .ibls-brand strong{font-size:19px !important}
  .ibls-brand small{font-size:10px !important}
  .ibls-item{min-height:62px !important;padding:7px 8px !important;gap:7px !important}
  .ibls-icon{width:28px !important;height:28px !important;flex-basis:28px !important;font-size:14px !important}
  .ibls-value{font-size:13px !important}.ibls-topline{font-size:8.5px !important}.ibls-meta,.ibls-delta{font-size:9.5px !important}

  /* Meteo city cards remain 2 across. Live panels themselves stay stacked for readability. */
  .ibhlw-row-wrap{grid-template-columns:1fr !important;gap:10px !important}
  .ibhlw-meteo-cities{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:7px !important}
  .ibhlw-city-card{min-width:0 !important;padding:8px !important}
  .ibhlw-city-copy strong{font-size:11px !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ibhlw-city-copy small{font-size:9.8px !important}

  /* Energy: numerical groups use two columns where practical. */
  .ibes-widget-minimal .ibes-sen-kpis,
  .ibes-widget-minimal .ibes-sen-exchange,
  .ibes-value-strip,.ibes-finance-result,.ibes-insight-grid,
  .ibes-advanced-kpis,.ibes-weather-grid,.ibes-weather-days,
  .ibes-size-grid,.ibes-nearby-links,.ibes-ranking-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  /* Footer: keep navigation columns 2 across on phones. */
  .ibpf-footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px 16px !important;
    padding:30px 16px 24px !important;
  }
  .ibpf-brand-col,.ibpf-follow-col{grid-column:1/-1 !important}
  .ibpf-footer-col{min-width:0 !important}
  .ibpf-footer-col h3{font-size:14px !important}
  .ibpf-footer-col a{font-size:12px !important}
  .ibpf-footer-bottom{padding:16px !important;gap:12px !important}

  /* Long tabular utility pages stay inside viewport. */
  .cvbnr3-table-wrap,.ibpc-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .itr-map-shell,.itr-live-map{max-width:100% !important}
}

@media (max-width: 430px){
  .ibhh-secondary-grid,.ibnr-row,.widget_infobuz_top_read .ibnr-row,.ibcc-row{
    gap:8px !important;
  }
  .ibcc-card{padding:9px !important}
  .ibcc-heading h3{font-size:13px !important}
  .ibcc-more{font-size:8.5px !important}
  .ibcc-image-link{aspect-ratio:1.45/1 !important}
  .ibcc-lead-copy h4{font-size:12.5px !important}
  .ibcc-lead-excerpt{font-size:10px !important;-webkit-line-clamp:2 !important}
  .ibnr-card-title,.widget_infobuz_top_read .ibnr-card-title{font-size:13.5px !important}
  .ibnr-card-excerpt,.widget_infobuz_top_read .ibnr-card-excerpt{font-size:11px !important;-webkit-line-clamp:2 !important}
  .ibnr-title,.widget_infobuz_top_read .ibnr-title{font-size:20px !important}
  .ibhh-card-title{font-size:12.5px !important}
}

/* Only exceptionally narrow screens fall back to one column. */
@media (max-width: 330px){
  .ibhh-secondary-grid,
  .ibnr-row,.widget_infobuz_top_read .ibnr-row,
  .ibcc-row,.ibls-row,.ibhlw-meteo-cities,
  .ibpf-footer-inner{
    grid-template-columns:1fr !important;
  }
  .ibpf-brand-col,.ibpf-follow-col,.ibls-brand{grid-column:auto !important}
}
