/* Conservative responsive fixes: layout only; existing colors, typography and visual assets remain unchanged. */
html { -webkit-text-size-adjust: 100%; }
body { max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
.container, .container-fluid { min-width: 0; }
table { max-width: 100%; }
@media (max-width: 991.98px) {
  .header-main { flex-wrap: wrap; gap: 10px; }
  .main-logo { max-width: calc(100% - 72px); }
  .main-logo img { max-width: 100%; height: auto; }
  .header-right { gap: 10px; }
  .header-right .theme-btn { white-space: nowrap; }
  .product-details-section .row,
  .blog-wrapper .row,
  .contact-section .row { --bs-gutter-x: 1.25rem; }
  .sticky-sidebar-wrapper { position: static !important; top: auto !important; }
  .breadcrumb-wrapper { background-position: center; }
  .breadcrumb-title { overflow-wrap: anywhere; }
}
@media (max-width: 767.98px) {
  .container, .container-2 { padding-left: 16px; padding-right: 16px; }
  .section-padding { padding-top: 48px; padding-bottom: 48px; }
  .breadcrumb-wrapper { min-height: 150px; }
  .breadcrumb-title { font-size: clamp(24px, 6vw, 36px); line-height: 1.2; }
  .header-right .theme-btn { font-size: 12px; padding: 10px 12px; }
  .footer-wrapper-style-5 .row { row-gap: 24px; }
  .row > [class*="col-"] { min-width: 0; }
  .product-details-section img, .blog-details-section img { height: auto; }
  pre, code { overflow-wrap: anywhere; white-space: pre-wrap; }
}
@media (max-width: 420px) {
  .header-right .theme-btn { max-width: 150px; white-space: normal; text-align: center; }
  .main-logo .logo-icon { display: none; }
}

/* Shared sidebar layout on non-ingredient pages. Content stays beside the sidebar on desktop. */
.shared-page-layout { width:100%; max-width:100%; margin:0 auto; padding:0; }
.shared-page-layout > .row { align-items:flex-start; --bs-gutter-x:1.5rem; }
.shared-page-layout .shared-page-content { min-width:0; }
.shared-page-layout .sticky-sidebar-wrapper { position:sticky; top:20px; }
.shared-page-layout .clean-sidebar-card, .shared-page-layout .catalog-download-box, .shared-page-layout .sidebar-widget-box { max-width:100%; }
@media (max-width: 991.98px) { .shared-page-layout > .row { display:flex; flex-direction:column; } .shared-page-layout [data-shared-ingredient-sidebar] { width:100%; } .shared-page-layout .shared-page-content { width:100%; } .shared-page-layout .sticky-sidebar-wrapper { position:static; } }
/* Injected footer must remain visible even when third-party animation scripts initialize before components load. */
[data-shared-footer] { display:block; width:100%; clear:both; }
[data-shared-footer] .footer-section-5, footer.footer-section-5 { display:block; visibility:visible; opacity:1; min-height:1px; }
[data-shared-footer] .footer-section-5 .footer-wrapper-style-5, [data-shared-footer] .footer-section-5 .footer-bottom-wrapper { position:relative; z-index:1; visibility:visible; opacity:1; }

/* Grid placeholder owns the sidebar column; component markup must not nest another Bootstrap column. */
[data-shared-ingredient-sidebar] { min-width:0; }
[data-shared-ingredient-sidebar] > .sticky-sidebar-wrapper { width:100%; }
@media (max-width: 991.98px) { [data-shared-ingredient-sidebar] { width:100%; flex:0 0 100%; max-width:100%; } }


/* Shared site layout: sidebar is only rendered by ingredient-detail pages. */
[data-shared-header], [data-shared-footer] { display:block; width:100%; clear:both; }
[data-shared-footer] { min-height:1px; }
[data-shared-footer] > footer { display:block !important; visibility:visible !important; opacity:1 !important; width:100%; }
[data-shared-footer] > footer .wow { visibility:visible !important; opacity:1 !important; }
[data-shared-ingredient-sidebar] { min-width:0; }
.shared-page-layout { width:100%; max-width:100%; margin:0 auto; padding:0; }
.shared-page-layout > .row { align-items:flex-start; --bs-gutter-x:1.5rem; }
.shared-page-layout .shared-page-content { min-width:0; }
.shared-page-layout .sticky-sidebar-wrapper { position:sticky; top:20px; }
@media (max-width: 991.98px) {
  .shared-page-layout > .row { display:flex; flex-direction:column; }
  .shared-page-layout [data-shared-ingredient-sidebar], .shared-page-layout .shared-page-content { width:100%; }
  .shared-page-layout .sticky-sidebar-wrapper { position:static; }
}


/* Ingredient detail sidebar sizing fix (scoped to the 25 detail pages only).
   Keep the sidebar component at full column width and prevent flex/grid shrink. */
body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] {
  display: block; flex: 0 0 33.333333%; width: 33.333333%; max-width: 33.333333%; min-width: 260px;
}
body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] > .sticky-sidebar-wrapper {
  display: block; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
}
body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .clean-sidebar-card,
body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .catalog-download-box,
body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .sidebar-widget-box {
  width: 100%; max-width: 100%; box-sizing: border-box;
}
body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .sidebar-accordion-btn {
  width: 100%; white-space: normal; text-align: left; line-height: 1.35;
}
@media (min-width: 1200px) {
  body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] {
    flex-basis: 25%; width: 25%; max-width: 25%; min-width: 260px;
  }
}
@media (max-width: 991.98px) {
  body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] {
    flex: 0 0 100%; width: 100%; max-width: 100%; min-width: 0;
  }
}


/* Ingredient detail sidebar: mobile keeps only catalog request and quick-support cards. */
@media (max-width: 767.98px) {
  body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .clean-sidebar-card {
    display: none !important;
  }
  body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .catalog-download-box,
  body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .sidebar-widget-box {
    width: 100%; max-width: 100%; margin-left: auto; margin-right: auto;
  }
  body[data-page-type="ingredient-detail"] [data-shared-ingredient-sidebar] .catalog-download-box {
    margin-top: 0; margin-bottom: 16px;
  }
  body[data-page-type="ingredient-detail"] .interactive-hover-card .mb-2:has(> span.badge.bg-light.text-success.border) {
    width: 100%; text-align: center; margin-left: auto; margin-right: auto;
  }
  body[data-page-type="ingredient-detail"] .interactive-hover-card span.badge.bg-light.text-success.border {
    display: inline-block; max-width: 100%; white-space: normal; text-align: center;
    line-height: 1.4; overflow-wrap: anywhere;
  }
}


/* Final mobile header alignment: subtitle icon, Satvik Nutra wordmark and hamburger stay on one row. */
@media (max-width: 767.98px) {
  #header-sticky .header-main {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  #header-sticky .main-logo {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: calc(100% - 120px);
    gap: 6px;
    white-space: nowrap;
  }
  #header-sticky .main-logo .logo-icon {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
  }
  #header-sticky .main-logo .logo-icon img {
    display: block;
    width: 25px;
    max-width: 25px;
    height: auto;
  }
  #header-sticky .main-logo .logo-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 0;
  }
  #header-sticky .main-logo .logo-text img {
    display: block;
    width: 100%;
    max-width: 155px;
    max-height: 38px !important;
    height: auto;
    object-fit: contain;
    object-position: left center;
  }
  #header-sticky .header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: 7px;
    min-width: 0;
    margin-left: auto;
  }
  #header-sticky .header-right .theme-btn {
    max-width: 112px;
    padding: 8px 9px;
    font-size: 11px;
    line-height: 1.15;
    white-space: normal;
    text-align: center;
  }
  #header-sticky .header__hamburger { flex: 0 0 auto; margin-left: 0 !important; }
  #header-sticky .sidebar__toggle { display: flex; align-items: center; justify-content: center; }
}
@media (max-width: 360px) {
  #header-sticky .header-main { gap: 5px; }
  #header-sticky .main-logo { max-width: calc(100% - 112px); gap: 4px; }
  #header-sticky .main-logo .logo-icon img { width: 21px; max-width: 21px; }
  #header-sticky .main-logo .logo-text img { max-width: 118px; }
  #header-sticky .header-right { gap: 5px; }
  #header-sticky .header-right .theme-btn { max-width: 94px; padding: 7px 6px; font-size: 10px; }
}


/* Final mobile header repair: preserve both brand marks and keep hamburger clickable/visible. */
@media (max-width: 767.98px) {
  #header-sticky .header-main { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between; gap:8px; min-height:60px; }
  #header-sticky .main-logo { display:flex !important; flex:1 1 auto !important; align-items:center !important; width:auto !important; max-width:none !important; min-width:0; gap:7px; overflow:visible; }
  #header-sticky .main-logo .logo-icon { display:flex !important; flex:0 0 54px !important; width:54px !important; height:54px !important; align-items:center; justify-content:center; line-height:normal !important; }
  #header-sticky .main-logo .logo-icon img { display:block !important; width:43px !important; max-width:43px !important; height:auto !important; }
  #header-sticky .main-logo .logo-text { display:block !important; flex:1 1 auto !important; min-width:0; }
  #header-sticky .main-logo .logo-text img { display:block !important; width:100% !important; max-width:190px !important; max-height:49px !important; height:auto !important; object-fit:contain; object-position:left center; }
  #header-sticky .mean__menu-wrapper { display:none !important; }
  #header-sticky .header-right { display:flex !important; flex:0 0 auto !important; align-items:center !important; gap:0 !important; margin-left:auto !important; }
  #header-sticky .header-right > .theme-btn { display:none !important; }
  #header-sticky .header__hamburger { display:block !important; flex:0 0 36px !important; width:36px; }
  #header-sticky .sidebar__toggle { display:flex !important; min-width:36px; min-height:44px; align-items:center; justify-content:center; cursor:pointer; position:relative; z-index:100001; }
  #header-sticky .sidebar__toggle .header-bar { width:28px !important; }
}
@media (max-width: 380px) {
  #header-sticky .main-logo .logo-icon { flex-basis:48px !important; width:48px !important; height:48px !important; }
  #header-sticky .main-logo .logo-icon img { width:39px !important; max-width:39px !important; }
  #header-sticky .main-logo .logo-text img { max-width:160px !important; max-height:43px !important; }
  #header-sticky .header-main { gap:5px !important; }
}
