/* Associação Clube v33.4.10 — Portal Home Header Identity, Hero Overflow & Update Banner Definitive Fix */
/* Header: keep canonical association identity visible and prevent generic subtitle from becoming the only visible text. */
.v20-header .v20-brand{min-width:0;max-width:min(560px,44vw)!important}
.v20-header .v20-brand-copy{display:flex!important;flex-direction:column!important;justify-content:center;min-width:0!important}
.v20-header .v20-brand-copy strong{display:block!important;color:#fff!important;opacity:1!important;visibility:visible!important;font-weight:900!important;line-height:1.08!important;font-size:clamp(1rem,1.35vw,1.25rem)!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.v20-header .v20-brand-copy span{display:block!important;color:#c7d8f5!important;opacity:.92!important;margin-top:4px!important;font-size:.68rem!important}

/* Hero desktop: large emblem remains prominent but the full institutional card always fits in the visible hero. */
@media (min-width:1201px){
  .v3340-home .v3340-hero{min-height:540px!important;overflow:hidden!important}
  .v3340-home .v3340-hero-inner{min-height:540px!important;padding-top:36px!important;padding-bottom:36px!important;align-items:center!important}
  .v3340-home .v3340-hero-brand.v3347-hero-brand{width:min(420px,100%)!important;min-height:0!important;height:auto!important;max-height:500px!important;padding:22px 22px 24px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;overflow:hidden!important}
  .v3340-home .v3340-hero .v3347-hero-logo-shell,
  .v3340-home .v3340-hero .v3347-hero-brand.size-medio .v3347-hero-logo-shell{width:310px!important;height:310px!important;flex:0 0 310px!important;margin-bottom:10px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.v3345-hero-brand .v3347-hero-logo-shell img,
  .v3340-home .v3340-hero .v3347-hero-brand.size-medio .v3347-hero-logo-shell img{width:294px!important;height:294px!important;max-width:96%!important;max-height:96%!important;object-fit:contain!important}
  .v3340-home .v3340-hero .v3347-hero-brand.size-grande .v3347-hero-logo-shell{width:338px!important;height:338px!important;flex-basis:338px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.size-grande .v3347-hero-logo-shell img{width:322px!important;height:322px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.size-pequeno .v3347-hero-logo-shell{width:250px!important;height:250px!important;flex-basis:250px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.size-pequeno .v3347-hero-logo-shell img{width:232px!important;height:232px!important}
  .v3340-home .v3347-hero-brand strong{font-size:1.08rem!important;line-height:1.15!important;margin-top:0!important}
  .v3340-home .v3347-hero-brand span{font-size:.92rem!important;line-height:1.25!important;margin-top:7px!important;text-align:center!important}
}

/* Short desktop/notebook viewports: shrink the card, not the whole page, so nothing is clipped. */
@media (min-width:901px) and (max-height:760px){
  .v3340-home .v3340-hero{min-height:500px!important}
  .v3340-home .v3340-hero-inner{min-height:500px!important;padding-top:26px!important;padding-bottom:26px!important}
  .v3340-home .v3340-hero-brand.v3347-hero-brand{max-height:455px!important;padding:18px 18px 20px!important}
  .v3340-home .v3340-hero .v3347-hero-logo-shell,
  .v3340-home .v3340-hero .v3347-hero-brand.size-medio .v3347-hero-logo-shell{width:282px!important;height:282px!important;flex-basis:282px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.v3345-hero-brand .v3347-hero-logo-shell img,
  .v3340-home .v3340-hero .v3347-hero-brand.size-medio .v3347-hero-logo-shell img{width:266px!important;height:266px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.size-grande .v3347-hero-logo-shell{width:306px!important;height:306px!important;flex-basis:306px!important}
  .v3340-home .v3340-hero .v3347-hero-brand.size-grande .v3347-hero-logo-shell img{width:290px!important;height:290px!important}
  .v3340-home .v3340-hero-copy{padding-bottom:0!important}
  .v3349-hero-benefits{margin-top:22px!important}
}

/* PWA update notification: public portal gets a dedicated top-right lane; never cover hero CTAs/benefits. */
body.v20-body.portal-v235 .v33253-pwa-toast{left:auto!important;right:16px!important;top:96px!important;bottom:auto!important;max-width:min(390px,calc(100vw - 32px))!important;transform:translateY(-10px)!important;border-radius:12px!important;padding:10px 14px!important;font-size:.78rem!important;line-height:1.25!important;box-shadow:0 14px 36px rgba(3,20,52,.28)!important}
body.v20-body.portal-v235 .v33253-pwa-toast.is-visible{transform:translateY(0)!important}
@media(max-width:900px){
  .v20-header .v20-brand{max-width:calc(100% - 64px)!important}
  .v20-header .v20-brand-copy strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:.94rem!important}
  .v20-header .v20-brand-copy span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:.58rem!important}
  body.v20-body.portal-v235 .v33253-pwa-toast{top:78px!important;right:10px!important;left:10px!important;max-width:none!important;text-align:center!important}
}
