/* Blog hub local owner.
   Scope: blog index axis/card safety only. Do not move global card,
   container, image, nav, footer or homepage rules into this file. */

@media (max-width:640px){
  body.dsk-blog-hub{
    --dsk-blog-mobile-gutter:16px;
  }

  body.dsk-blog-hub .dsk-hub-filters__inner,
  body.dsk-blog-hub .dsk-blog-quicknav,
  body.dsk-blog-hub .dsk-blog-pagination,
  body.dsk-blog-hub .section-intro,
  body.dsk-blog-hub #blog .container.sb-container-fixed,
  body.dsk-blog-hub .dsk-cta-lab__inner{
    width:calc(100% - (var(--dsk-blog-mobile-gutter) * 2)) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  body.dsk-blog-hub .section-intro__inner,
  body.dsk-blog-hub #blog .sb-blog-card-section .option-width.sb-section-alignable,
  body.dsk-blog-hub #blog .items-grid.sb-blog{
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  body.dsk-blog-hub #blog .items-grid__item-content{
    padding:16px !important;
  }

  body.dsk-blog-hub .dsk-blog-most-read{
    width:100% !important;
    max-width:none !important;
    padding:16px !important;
    box-sizing:border-box !important;
  }
}

/* Stage 23: blog index desktop card safety.
   The existing card min-height reads --dsk-hub-card-h; this local token gives
   desktop CTAs enough room without touching global card or image rules. */
@media (min-width:1024px){
  body.dsk-blog-hub.dsk-blog-hub--index{
    --dsk-hub-card-h:540px;
  }

  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__header,
  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__header.h3{
    min-height:0 !important;
    max-height:none !important;
    overflow:visible;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }

  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__summary{
    display:block;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }


}

/* Stage 110: blog-family card text clipping fix.
   Runtime proof showed vertical clipping on mobile card titles/summaries.
   Keep this scoped to blog listing pages only; do not touch global card rules. */
@media (max-width:767px){
  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__header,
  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__header.h3{
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }

  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__summary{
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }
}

/* Stage 110B: tablet card text clipping parity. */
@media (min-width:641px) and (max-width:1023px){
  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card{
    height:auto !important;
    min-height:0 !important;
  }

  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__header,
  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__header.h3,
  body.dsk-blog-hub.dsk-blog-hub--index #blog li.items-grid__item.sb-blog-card .items-grid__summary{
    display:block !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }
}

/* Stage 111: blog intro text squeeze guard.
   Keep long intro copy on the real reading rail instead of a centered narrow column. */
@media (max-width:767px){
  html[lang="pl"] body.dsk-blog-hub main#main-content .section-intro{
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
    margin-left:16px !important;
    margin-right:16px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }

  html[lang="pl"] body.dsk-blog-hub main#main-content .section-intro__inner,
  html[lang="pl"] body.dsk-blog-hub main#main-content .section-intro__text{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }
}

@media (min-width:768px) and (max-width:1023px){
  html[lang="pl"] body.dsk-blog-hub main#main-content .section-intro{
    width:calc(100vw - 48px) !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:24px !important;
    margin-right:24px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }

  html[lang="pl"] body.dsk-blog-hub main#main-content .section-intro__inner,
  html[lang="pl"] body.dsk-blog-hub main#main-content .section-intro__text{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }
}
