/* IPTV Belgique Commerce Engine v2.7.19.96
   Client portal layout stabilizer after premium redesign.
   Fixes compressed sidebar, narrow content, excessive empty space, and desktop/tablet breakpoints.
   Scope: #iptvbc-client-app only. Header/footer global site remain untouched. */

body.iptvb-client-portal-page .iptvb-page-container,
body.iptvb-client-portal-page .iptvb-commerce-shortcode-content,
body.iptvb-client-portal-page .entry-content,
body.iptvb-theme.iptvb-client-portal-page .iptvb-page-container,
body.iptvb-theme.iptvb-client-portal-page .iptvb-commerce-shortcode-content{
  width:min(1440px, calc(100vw - 28px))!important;
  max-width:1440px!important;
  margin-inline:auto!important;
}

#iptvbc-client-app[data-iptvbc-private-portal="1"]{
  width:100%!important;
  max-width:1420px!important;
  margin-inline:auto!important;
  grid-template-columns:minmax(248px,268px) minmax(0,1fr)!important;
  gap:28px!important;
  padding:18px!important;
}

/* Keep the sidebar readable. Avoid the broken two-letter wrapping visible in screenshots. */
#iptvbc-client-app > .iptvbc-client-nav-v2629{
  width:100%!important;
  min-width:248px!important;
  max-width:268px!important;
  overflow:visible!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-brand-v271813{
  grid-template-columns:46px minmax(0,1fr) auto!important;
  gap:12px!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-logo-v271994{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-brand-copy-v271994 strong,
#iptvbc-client-app .iptvbc-client-sidebar-brand-copy-v271994 em,
#iptvbc-client-app .iptvbc-client-nav-label-v271994,
#iptvbc-client-app .iptvbc-client-sidebar-vip-copy-v271994 strong,
#iptvbc-client-app .iptvbc-client-sidebar-vip-copy-v271994 em,
#iptvbc-client-app .iptvbc-client-sidebar-vip-copy-v271994 b{
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  white-space:normal!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-brand-copy-v271994 strong{
  font-size:14px!important;
  line-height:1.1!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-brand-copy-v271994 em{
  font-size:11px!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-links-v279 > a{
  grid-template-columns:36px minmax(0,1fr) auto!important;
  min-height:52px!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
}

#iptvbc-client-app .iptvbc-client-nav-icon-v271994{
  width:36px!important;
  height:36px!important;
  border-radius:13px!important;
}

#iptvbc-client-app .iptvbc-client-nav-label-v271994{
  font-size:14px!important;
  line-height:1.18!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-vip-v271994{
  grid-template-columns:40px minmax(0,1fr)!important;
  padding:14px!important;
  gap:12px!important;
  overflow:hidden!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-vip-icon-v271994{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-vip-copy-v271994 strong{
  font-size:14px!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-vip-copy-v271994 em{
  font-size:12px!important;
  line-height:1.42!important;
}

#iptvbc-client-app .iptvbc-client-sidebar-vip-copy-v271994 b{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.2!important;
}

/* Main area: stop the page from looking like a small card floating in huge empty margins. */
#iptvbc-client-app > .iptvbc-client-light-topbar-v2693,
#iptvbc-client-app > .iptvbc-client-content-stack-v2713,
#iptvbc-client-app > .iptvbc-client-feature-bar-v2693{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

#iptvbc-client-app .iptvbc-client-light-topbar-v2693{
  min-height:70px!important;
}

#iptvbc-client-app .iptvbc-client-content-stack-v2713{
  align-content:start!important;
}

/* Overview: reduce the huge vertical void by making the lower panels follow the KPIs naturally. */
#iptvbc-client-app.is-section-overview .iptvbc-client-overview-v2693,
#iptvbc-client-app.is-section-overview .iptvbc-client-dashboard-mainrow-v2693,
#iptvbc-client-app.is-section-overview .iptvbc-client-bottom-grid-v2693{
  gap:18px!important;
}

#iptvbc-client-app.is-section-overview .iptvbc-client-bottom-grid-v2693{
  margin-top:18px!important;
  align-items:start!important;
}

#iptvbc-client-app.is-section-overview .iptvbc-client-content-stack-v2713{
  gap:18px!important;
}

#iptvbc-client-app .iptvbc-client-overview-grid-v2693{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}

#iptvbc-client-app .iptvbc-client-bottom-grid-v2693{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Order page: allow premium cards to use the horizontal space cleanly. */
#iptvbc-client-app.is-section-orders .iptvbc-client-status-pills,
#iptvbc-client-app.is-section-orders .iptvbc-client-config-strip{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

#iptvbc-client-app.is-section-orders .iptvbc-client-order-redesign-v271818{
  max-width:100%!important;
}

/* Prevent visible text clipping in all cards. */
#iptvbc-client-app h1,
#iptvbc-client-app h2,
#iptvbc-client-app h3,
#iptvbc-client-app h4,
#iptvbc-client-app p,
#iptvbc-client-app strong,
#iptvbc-client-app span,
#iptvbc-client-app small,
#iptvbc-client-app em,
#iptvbc-client-app a,
#iptvbc-client-app button{
  min-width:0!important;
  overflow-wrap:normal!important;
}

#iptvbc-client-app .iptvbc-client-order-row strong,
#iptvbc-client-app .iptvbc-client-security-list strong,
#iptvbc-client-app .iptvbc-client-profile-preview-v2693 strong,
#iptvbc-client-app .iptvbc-client-config-strip strong,
#iptvbc-client-app .iptvbc-client-status-pills strong{
  overflow-wrap:anywhere!important;
}

/* Make the feature bar compact and avoid squeezing labels into unreadable chunks. */
#iptvbc-client-app .iptvbc-client-feature-bar-v2693{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}

#iptvbc-client-app .iptvbc-client-feature-item-v27194{
  min-height:66px!important;
  padding:10px!important;
}

#iptvbc-client-app .iptvbc-client-feature-item-v27194 strong{
  font-size:12px!important;
  line-height:1.15!important;
}

#iptvbc-client-app .iptvbc-client-feature-item-v27194 small{
  font-size:11px!important;
  line-height:1.2!important;
}

/* Breakpoints tuned for the actual screenshots. */
@media (min-width:1280px){
  #iptvbc-client-app[data-iptvbc-private-portal="1"]{
    grid-template-columns:268px minmax(0,1fr)!important;
  }
}

@media (max-width:1180px){
  body.iptvb-client-portal-page .iptvb-page-container,
  body.iptvb-client-portal-page .iptvb-commerce-shortcode-content,
  body.iptvb-client-portal-page .entry-content,
  body.iptvb-theme.iptvb-client-portal-page .iptvb-page-container,
  body.iptvb-theme.iptvb-client-portal-page .iptvb-commerce-shortcode-content{
    width:min(100%, calc(100vw - 18px))!important;
  }

  #iptvbc-client-app[data-iptvbc-private-portal="1"]{
    grid-template-columns:1fr!important;
    padding:14px!important;
  }

  #iptvbc-client-app > .iptvbc-client-nav-v2629{
    max-width:none!important;
    min-width:0!important;
    position:relative!important;
  }

  #iptvbc-client-app .iptvbc-client-sidebar-links-v279{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  #iptvbc-client-app .iptvbc-client-sidebar-vip-v271994{
    grid-template-columns:40px minmax(0,1fr)!important;
  }

  #iptvbc-client-app .iptvbc-client-overview-grid-v2693,
  #iptvbc-client-app .iptvbc-client-bottom-grid-v2693,
  #iptvbc-client-app .iptvbc-client-feature-bar-v2693{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:760px){
  #iptvbc-client-app .iptvbc-client-sidebar-links-v279,
  #iptvbc-client-app .iptvbc-client-overview-grid-v2693,
  #iptvbc-client-app .iptvbc-client-bottom-grid-v2693,
  #iptvbc-client-app .iptvbc-client-feature-bar-v2693,
  #iptvbc-client-app.is-section-orders .iptvbc-client-status-pills,
  #iptvbc-client-app.is-section-orders .iptvbc-client-config-strip{
    grid-template-columns:1fr!important;
  }

  #iptvbc-client-app[data-iptvbc-private-portal="1"]{
    border-radius:22px!important;
    padding:10px!important;
  }

  #iptvbc-client-app .iptvbc-client-sidebar-links-v279 > a{
    min-height:50px!important;
  }
}
