/* Drugestan Health Magazine v1.32.0
   Final lower-grid integrity pass.
   Purpose: prevent narrow/sliver cards, keep support modules aligned,
   preserve readable scientific/source cards, and keep products full-width. */

:root{
  --d32-navy:#173553;
  --d32-teal:#168c89;
  --d32-violet:#7042b8;
  --d32-orange:#d97822;
  --d32-blue:#3979c7;
  --d32-line:#d5e1e9;
  --d32-card:#f7fafc;
}

/* Generic integrity guard: no scientific section may collapse to min-content. */
.dhm-single-article .dhm-v16-modules,
.dhm-single-article .dhm-v16-modules > section,
.dhm-single-article .dhm-v16-modules > section > .dhm-section-card{
  min-width:0!important;
  box-sizing:border-box!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}

.dhm-single-article .dhm-v16-modules > section,
.dhm-single-article .dhm-v16-modules > section *{
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

@media (min-width:1180px){
  /* One deterministic 12-column grid owns the entire lower article. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:18px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
  }

  /* Scientific body. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-main-text{
    grid-column:1/-1!important;
    order:10!important;
    width:100%!important;
    max-width:none!important;
  }

  /* FAQ + comparison share one row. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-table-section,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-faq-section{
    grid-column:span 6!important;
    order:20!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }

  /* Four support cards: equal columns, equal visual height, no title overflow. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-action,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-warning,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-pharmacist-section,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-professional{
    grid-column:span 3!important;
    order:30!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
  }

  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-action > h2,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-warning > h2,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-pharmacist-section > h2,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-professional > h2{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:31px!important;
    height:31px!important;
    margin:0 0 8px!important;
    padding:0 2px!important;
    font-size:14px!important;
    line-height:31px!important;
    font-weight:850!important;
    letter-spacing:-.18px!important;
    color:var(--d32-navy)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-action > .dhm-section-card,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-warning > .dhm-section-card,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-pharmacist-section > .dhm-section-card,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-professional > .dhm-section-card{
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 222px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:222px!important;
    height:222px!important;
    max-height:222px!important;
    margin:0!important;
    padding:18px 18px 14px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    border-radius:14px!important;
  }

  /* Pharmacist body must obey the shared card height; its button remains visible. */
  .dhm-single-article.dhm-v22-refine .dhm-pharmacist-section.dhm-v31-expandable-support > .dhm-section-card{
    min-height:222px!important;
    height:222px!important;
    max-height:222px!important;
  }
  .dhm-single-article.dhm-v22-refine .dhm-pharmacist-section.dhm-v31-expandable-support.is-expanded > .dhm-section-card{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* All remaining scientific/follow-up cards: 3 equal columns. This rule is deliberately
     broad so legacy block classes cannot collapse into a 40px sliver. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-text.dhm-heading-outside:not(.dhm-sync-action):not(.dhm-sync-warning):not(.dhm-professional),
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-scientific-sources,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-sources,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sources{
    grid-column:span 4!important;
    order:40!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    clear:none!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    overflow:visible!important;
  }

  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-text.dhm-heading-outside:not(.dhm-sync-action):not(.dhm-sync-warning):not(.dhm-professional) > h2,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-scientific-sources > h2,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-sources > h2,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sources > h2{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:32px!important;
    margin:0 0 8px!important;
    padding:0!important;
    font-size:17px!important;
    line-height:1.55!important;
    font-weight:800!important;
    color:var(--d32-navy)!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-text.dhm-heading-outside:not(.dhm-sync-action):not(.dhm-sync-warning):not(.dhm-professional) > .dhm-section-card,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-scientific-sources > .dhm-section-card,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-sources > .dhm-section-card,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sources > .dhm-section-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:190px!important;
    height:190px!important;
    max-height:190px!important;
    margin:0!important;
    padding:17px 18px!important;
    overflow:hidden!important;
    background:var(--d32-card)!important;
    border:1px solid var(--d32-line)!important;
    border-right:4px solid var(--d32-teal)!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
  }

  /* A title-less legacy text block is never allowed into an implicit narrow grid column. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-text:not(.dhm-heading-outside){
    grid-column:1/-1!important;
    order:41!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:16px 18px!important;
    border:1px solid var(--d32-line)!important;
    border-right:4px solid var(--d32-teal)!important;
    border-radius:14px!important;
    background:#f3faf9!important;
    float:none!important;
    position:relative!important;
    transform:none!important;
  }

  /* Products are always an important full-width rail; five cards visible. */
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-products,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-products{
    grid-column:1/-1!important;
    order:50!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:4px 0 0!important;
    padding:0!important;
  }
  .dhm-single-article.dhm-v22-refine #dhm-products > .dhm-section-card{
    width:100%!important;
    max-width:none!important;
    background:#eef9f7!important;
    border:1px solid #cce7e4!important;
    border-right:4px solid var(--d32-teal)!important;
    border-radius:16px!important;
    padding:14px!important;
  }
  .dhm-single-article.dhm-v22-refine #dhm-products .dhm-sync-products-grid,
  .dhm-single-article.dhm-v22-refine #dhm-products .dhm-related-products{
    display:flex!important;
    flex-flow:row nowrap!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 1px 9px!important;
    scroll-snap-type:x proximity!important;
  }
  .dhm-single-article.dhm-v22-refine #dhm-products .dhm-sync-product,
  .dhm-single-article.dhm-v22-refine #dhm-products .dhm-related-product{
    flex:0 0 calc((100% - 48px)/5)!important;
    width:calc((100% - 48px)/5)!important;
    min-width:calc((100% - 48px)/5)!important;
    max-width:calc((100% - 48px)/5)!important;
    box-sizing:border-box!important;
  }

  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-v13-related{
    grid-column:1/-1!important;
    order:60!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* Tablet: two clean columns, no narrow leftovers. */
@media (min-width:900px) and (max-width:1179px){
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > section{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-main-text,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > #dhm-products,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-v13-related,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-table-section,
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > .dhm-sync-faq-section{
    grid-column:1/-1!important;
  }
}

/* Mobile stays one-column; products remain visible and the horizontal rail advertises more items. */
@media (max-width:899px){
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules{
    display:block!important;
    width:100%!important;
  }
  .dhm-single-article.dhm-v22-refine .dhm-v16-modules > section{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:20px 0!important;
    float:none!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
  }
  .dhm-single-article.dhm-v22-refine #dhm-products{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:100%!important;
    margin:24px 0 112px!important;
    scroll-margin-top:86px!important;
  }
  .dhm-single-article.dhm-v22-refine #dhm-products .dhm-sync-product,
  .dhm-single-article.dhm-v22-refine #dhm-products .dhm-related-product{
    flex:0 0 82%!important;
    width:82%!important;
    min-width:82%!important;
    max-width:82%!important;
  }
}
