/* BrasilBid v12.21 — mobile overflow and Portuguese layout hardening */

/* Every content cell must be allowed to shrink inside a grid/flex layout. */
.hero>*,
.member-data-launcher>*,
.launcher-copy>*,
.member-data-card>*,
.member-data-hero>*,
.panelhead>*,
.report-choice-card>*,
.subscription-card>*{
  min-width:0;
}

.hero h1,
.launcher-copy h2,
.member-data-card strong,
.panelhead h1,
.panelhead h2,
.panelhead h3{
  max-width:100%;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

/* The back area is part of the same blue hero instead of a white annex. */
.member-data-hero-action{
  position:relative;
  z-index:1;
  border-left:1px solid rgba(255,255,255,.18)!important;
  background:rgba(6,43,69,.16)!important;
}

.data-center-back,
.data-center-back:visited{
  min-width:0;
  width:min(220px,100%);
  border-color:rgba(255,255,255,.36)!important;
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:blur(7px);
}

.data-center-back:hover{
  border-color:rgba(255,255,255,.58)!important;
  background:rgba(255,255,255,.17)!important;
  color:#fff!important;
}

/* Portuguese labels are longer.  Let buttons and navigation wrap cleanly. */
.ui-lang-pt button,
.ui-lang-pt .buttonlink,
.ui-lang-pt .primary,
.ui-lang-pt .secondary,
.ui-lang-pt .warn,
.ui-lang-pt .danger,
.ui-lang-pt .state{
  height:auto;
  white-space:normal;
  text-wrap:balance;
}

.ui-lang-pt .hero h1,
.ui-lang-pt .launcher-copy h2,
.ui-lang-pt .panelhead h1,
.ui-lang-pt .panelhead h2,
.ui-lang-pt .panelhead h3,
.ui-lang-pt .member-data-card strong{
  hyphens:auto;
  text-wrap:balance;
}

.ui-lang-pt .main-navigation a,
.ui-lang-pt .membership-spotlight,
.ui-lang-pt .userbox{
  white-space:normal;
  text-align:center;
}

.ui-lang-pt .report-choice-card{
  align-items:flex-start;
}

/* The generic subscription form turns every label into a flex column.
   Report choices are structured cards and must keep their three-column grid. */
.email-subscription-grid .report-choice-card{
  display:grid!important;
  width:100%;
  min-width:0;
  max-width:100%;
}

.email-subscription-grid .report-choice-card>input{
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
}

.ui-lang-pt .report-choice-copy strong,
.ui-lang-pt .report-choice-copy small,
.ui-lang-pt label,
.ui-lang-pt .field-label{
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .member-data-hero-action{
    border-top:1px solid rgba(255,255,255,.18)!important;
    border-left:0!important;
    padding:18px 20px!important;
  }
  .data-center-back{width:100%;min-height:48px;}
}

@media(max-width:760px){
  .hero h1,
  .member-hero h1,
  .member-data-launcher h2,
  .launcher-copy h2{
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  .member-data-launcher h2{
    font-size:clamp(21px,6.4vw,27px)!important;
    line-height:1.3!important;
  }

  .launcher-copy p{
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .ui-lang-pt .topbar{
    grid-template-columns:minmax(0,1fr) auto auto;
  }

  .ui-lang-pt .brand{
    font-size:11px;
    line-height:1.25;
  }

  .ui-lang-pt .brand>span{
    white-space:normal;
    text-wrap:balance;
  }

  .ui-lang-pt .membership-spotlight{
    max-width:92px;
    padding:6px 7px;
    line-height:1.2;
  }

  .ui-lang-pt .hero h1{
    font-size:clamp(25px,8vw,34px)!important;
    line-height:1.2!important;
  }

  .ui-lang-pt .member-data-card{
    grid-template-columns:38px minmax(0,1fr)!important;
  }

  .ui-lang-pt .member-data-card>b{
    width:100%;
    white-space:normal;
  }

  .ui-lang-pt .email-report-choice,
  .ui-lang-pt .email-subscription-grid,
  .ui-lang-pt .report-choice-grid,
  .ui-lang-pt .report-choice-card,
  .ui-lang-pt .subscription-card{
    width:100%;
    min-width:0;
    max-width:100%;
  }

  .email-subscription-grid .report-choice-card{
    grid-template-columns:38px minmax(0,1fr) 24px!important;
    gap:10px!important;
    padding:14px!important;
  }

  .report-choice-icon{width:38px;height:38px;font-size:19px;}
  .report-choice-check{width:24px;height:24px;}
}

@media(max-width:390px){
  .ui-lang-pt .brand-logo{width:28px;height:28px;}
  .ui-lang-pt .brand{font-size:10px;}
  .ui-lang-pt .membership-spotlight{font-size:9px;max-width:78px;}
  .ui-lang-pt .hero h1{font-size:25px!important;}
}
