/* =========================================================
   AORE — Portal Refine (clareza Itaú + contraste + mobile)
   Camada FINAL. Carregar depois de theme-typography-clarity.
   ========================================================= */

/* Alertas legíveis no modo claro (texto escuro em fundo suave) */
html:not([data-theme='dark']) .alert--success,
html[data-theme='light'] .alert--success,
html:not([data-theme='dark']) .assoc-main .alert--success,
html[data-theme='light'] .assoc-main .alert--success{
  background:#e8f5ea !important;
  border-color:rgba(15,127,53,.28) !important;
  color:#163528 !important;
  font-weight:500 !important;
}
html:not([data-theme='dark']) .alert--info,
html[data-theme='light'] .alert--info,
html:not([data-theme='dark']) .assoc-main .alert--info,
html[data-theme='light'] .assoc-main .alert--info{
  background:#fff8e6 !important;
  border-color:rgba(180,130,20,.28) !important;
  color:#503d00 !important;
  font-weight:500 !important;
}
html:not([data-theme='dark']) .alert--danger,
html[data-theme='light'] .alert--danger,
html:not([data-theme='dark']) .alert--warning,
html[data-theme='light'] .alert--warning,
html:not([data-theme='dark']) .assoc-main .alert--danger,
html[data-theme='light'] .assoc-main .alert--danger{
  background:#fdecea !important;
  border-color:rgba(192,57,43,.28) !important;
  color:#7a1f16 !important;
  font-weight:500 !important;
}
html:not([data-theme='dark']) .auth-card h2,
html[data-theme='light'] .auth-card h2{
  color:#142117 !important;
}
html:not([data-theme='dark']) .auth-card .sub,
html:not([data-theme='dark']) .auth-card p.sub,
html[data-theme='light'] .auth-card .sub,
html[data-theme='light'] .auth-card p.sub{
  color:#3d4a40 !important;
}
html:not([data-theme='dark']) .auth-card a,
html[data-theme='light'] .auth-card a{
  color:#142117 !important;
}

:root{
  --aore-green:#355038;
  --aore-green-mid:#48674b;
  --aore-green-soft:#5d7a60;
  --aore-green-tint:#e8efe6;
  --aore-green-wash:#f2f6f0;
  --aore-surface:#ffffff;
  --aore-surface-2:#f7faf6;
  --aore-answer:#eef5ea;
  --aore-answer-border:rgba(53,80,56,.14);
  --itau-fs-title:clamp(1.35rem,3.6vw,1.85rem);
  --itau-fs-body:.875rem;
  --itau-fs-meta:.75rem;
  --itau-ctrl-h:42px;
  --itau-radius:12px;
  --itau-pad-x:12px;
  --portal-gutter:16px;
}

@media (max-width:1023.98px){
  :root{
    --portal-gutter:5px;
    --itau-ctrl-h:36px;
    --itau-fs-title:clamp(1.2rem,4.2vw,1.55rem);
    --itau-fs-body:.8125rem;
    --itau-fs-meta:.72rem;
    --itau-pad-x:5px;
  }
}

@media (max-width:767.98px){
  :root{
    --itau-ctrl-h:34px;
    --itau-fs-body:.78rem;
    --itau-fs-meta:.7rem;
  }
}

html:not([data-theme='dark']),
html[data-theme='light']{
  --bg:#eef3eb;
  --bg-section:#f5f8f3;
  --bg-section-2:#e8efe6;
  --bg-elev:#ffffff;
  --bg-elev-2:#f7faf6;
  --site-bg:#eef3eb;
  --site-surface:#ffffff;
  --site-surface-2:#f7faf6;
  --aore-answer:#eef5ea;
}

/* Dark mais suave (menos preto absoluto) */
html[data-theme='dark']{
  --bg:#1c241e !important;
  --bg-section:#232c25 !important;
  --bg-section-2:#2a342c !important;
  --bg-elev:#2b352e !important;
  --bg-elev-2:#323e36 !important;
  --bg-dark:#171e19 !important;
  --site-bg:#1c241e !important;
  --site-surface:#2b352e !important;
  --site-surface-2:#323e36 !important;
  --aore-surface:#2b352e !important;
  --aore-surface-2:#323e36 !important;
  --text:#f7faf7 !important;
  --text-soft:#e6eee4 !important;
  --text-mute:#b8c4b5 !important;
  --aore-answer:#2f3d32 !important;
  --aore-answer-border:rgba(176,199,142,.22) !important;
}

html:not([data-theme='dark']) body,
html[data-theme='light'] body{
  background:
    radial-gradient(circle at top right, rgba(72,103,75,.08), transparent 28%),
    linear-gradient(180deg,#f7faf6 0%, var(--bg) 42%, #e8efe6 100%) !important;
}

html[data-theme='dark'] body{
  background:
    radial-gradient(circle at top right, rgba(145,171,115,.10), transparent 26%),
    linear-gradient(180deg,#232c25 0%, #1c241e 100%) !important;
}

/* ---------- Botões: texto claro em fundo escuro (contraste) ---------- */
.btn--primary,
.btn.btn--primary,
a.btn--primary,
button.btn--primary,
.btn-associe-desk,
.nav-shop-pill,
.nav-desktop a.nav-shop-pill,
.mobile-dock__item--accent,
.cta-banner__actions .btn--primary,
.aside__box .btn--primary,
.rich .btn--primary,
.card .btn--primary{
  background:linear-gradient(180deg,var(--aore-green-soft),var(--aore-green)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#ffffff !important;
  font-weight:500 !important;
  text-shadow:none !important;
}

.btn--primary *,
a.btn--primary *,
button.btn--primary *,
.btn-associe-desk *,
.nav-shop-pill *{
  color:#ffffff !important;
}

.btn--primary:hover,
.btn-associe-desk:hover,
.nav-shop-pill:hover,
.nav-shop-pill.is-active{
  background:linear-gradient(180deg,#6a8a6d,var(--aore-green-mid)) !important;
  color:#ffffff !important;
}

html[data-theme='dark'] .btn--primary,
html[data-theme='dark'] .btn-associe-desk,
html[data-theme='dark'] .nav-shop-pill,
html[data-theme='dark'] .nav-desktop a.nav-shop-pill{
  background:linear-gradient(180deg,#6f8f62,#4f6a48) !important;
  border-color:rgba(237,244,232,.16) !important;
  color:#ffffff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22) !important;
}

html[data-theme='dark'] .btn--primary:hover,
html[data-theme='dark'] .btn-associe-desk:hover,
html[data-theme='dark'] .nav-shop-pill:hover{
  background:linear-gradient(180deg,#82a373,#5d7d55) !important;
  color:#ffffff !important;
}

.btn--outline,
.btn--ghost{
  color:var(--text) !important;
  font-weight:500 !important;
}

.btn,
.btn--sm,
.btn--lg,
.btn--block{
  min-height:var(--itau-ctrl-h) !important;
  padding:10px 16px !important;
  border-radius:var(--itau-radius) !important;
  font-size:var(--itau-fs-body) !important;
  letter-spacing:0 !important;
}
.btn--sm{
  min-height:36px !important;
  padding:8px 12px !important;
  font-size:.8125rem !important;
}
.btn--lg{
  min-height:46px !important;
  padding:12px 18px !important;
}

/* ---------- Accordion: resposta com fundo diferenciado ---------- */
.accordion__head{
  color:#142117 !important;
  background:#ffffff !important;
  border:1px solid rgba(53,80,56,.14) !important;
  font-weight:500 !important;
  font-size:var(--itau-fs-body) !important;
  padding:12px 14px !important;
  border-radius:var(--itau-radius) !important;
}
.accordion__item{margin-bottom:8px !important;background:transparent !important;border:0 !important}
.accordion__item.conv-acc{
  margin-bottom:0 !important;
  background:#fff !important;
  border:1px solid #000 !important;
}
.accordion__item.is-open .accordion__head{
  border-color:var(--aore-answer-border) !important;
  background:var(--aore-surface-2,#f7faf6) !important;
  color:#142117 !important;
}
.accordion__item.conv-acc .accordion__head,
.accordion__item.conv-acc.is-open .accordion__head{
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--text,#142117) !important;
}
.accordion__item.conv-acc .accordion__icon{
  color:#000 !important;
}
.accordion__body div,
.accordion__item.is-open .accordion__body > div{
  margin-top:6px !important;
  padding:12px 14px !important;
  background:var(--aore-answer) !important;
  border:1px solid var(--aore-answer-border) !important;
  border-radius:10px !important;
  color:var(--text-soft) !important;
  font-weight:400 !important;
  font-size:var(--itau-fs-body) !important;
  line-height:1.55 !important;
}
.accordion__item.is-open .accordion__body{max-height:640px !important}
.accordion__icon{color:var(--gold-dark,#8f7b49) !important}

html[data-theme='dark'] .accordion__head{
  color:#f7faf7 !important;
  background:var(--bg-elev,#2b352e) !important;
  border-color:rgba(255,255,255,.12) !important;
}
html[data-theme='dark'] .accordion__item.is-open .accordion__head{
  color:#f7faf7 !important;
  background:var(--bg-elev-2,#323e36) !important;
  border-color:rgba(176,199,142,.22) !important;
}
html[data-theme='dark'] .accordion__body div,
html[data-theme='dark'] .accordion__item.is-open .accordion__body > div{
  color:#e6eee4 !important;
}
html[data-theme='dark'] .accordion__icon{color:#d4b45a !important}
html[data-theme='dark'] .accordion__item.conv-acc{
  background:var(--bg-elev,#2b352e) !important;
  border:1px solid #fff !important;
}
html[data-theme='dark'] .accordion__item.conv-acc .accordion__head,
html[data-theme='dark'] .accordion__item.conv-acc.is-open .accordion__head{
  background:var(--bg-elev,#2b352e) !important;
  color:#f7faf7 !important;
}
html[data-theme='dark'] .accordion__item.conv-acc .accordion__icon{
  color:#fff !important;
}

/* Clube accordion answers */
.cdv-acc__panel{
  background:var(--aore-answer) !important;
  border:1px solid var(--aore-answer-border) !important;
  border-radius:0 0 12px 12px !important;
  color:var(--text-soft) !important;
}

/* ---------- Superfícies de conteúdo (tom análogo) ---------- */
.card,
.aside__box,
.page-banner,
.services-toolbar,
.gallery-portal-search,
.pa-search,
.contact-mobile .aside__box,
.form-control{
  border-radius:var(--itau-radius) !important;
}

html:not([data-theme='dark']) .card,
html:not([data-theme='dark']) .aside__box,
html:not([data-theme='dark']) .services-toolbar,
html:not([data-theme='dark']) .gallery-portal-search{
  background:var(--aore-surface) !important;
  border-color:rgba(53,80,56,.10) !important;
}

html:not([data-theme='dark']) .page-banner{
  background:linear-gradient(180deg,#f7faf6 0%, #eef3eb 100%) !important;
}

.form-control{
  min-height:var(--itau-ctrl-h) !important;
  padding:10px 12px !important;
  font-size:var(--itau-fs-body) !important;
  font-weight:400 !important;
  border-radius:10px !important;
}
textarea.form-control{min-height:96px !important}
label,
.admin-label,
.form-group > label{
  font-size:var(--itau-fs-meta) !important;
  font-weight:500 !important;
  color:var(--text) !important;
  margin-bottom:6px !important;
}

.page-banner__title{font-size:var(--itau-fs-title) !important;font-weight:500 !important}
.page-banner__subtitle{font-size:var(--itau-fs-body) !important;font-weight:400 !important;color:var(--text-soft) !important}
.page-banner{padding:16px 0 12px !important}
.section{padding:16px 0 !important}

/* ---------- Mobile: densidade Itaú ---------- */
@media (max-width:1023.98px){
  /* Gutters laterais fixos em 5px (celular + tablet) */
  .container,
  .container--news-home,
  .gallery-portal-container,
  .gallery-alego-page .container,
  .news-article__container,
  .page-banner > .container,
  .section > .container,
  .cta-banner .container,
  .paginas-amarelas-wrap,
  .conv-page,
  .dl-page,
  .cdv-wrap,
  .assoc-main,
  .admin-shell__content,
  .assoc-content,
  main > .container,
  .breadcrumb .container,
  .header__top > .container,
  .header__main > .container,
  .nav-desktop .container{
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .assoc-main{
    padding-top:14px !important;
    padding-bottom:20px !important;
  }
  .cdv-wrap{
    padding-top:14px !important;
    padding-bottom:32px !important;
  }

  .page-banner{padding:12px 0 8px !important}
  .page-banner__inner{padding-inline:0 !important}
  .section{padding:12px 0 !important}

  /* Tipografia adaptada */
  body{font-size:var(--itau-fs-body) !important}
  h1,.page-banner__title,.section__title{font-size:var(--itau-fs-title) !important;font-weight:500 !important;line-height:1.2 !important}
  h2{font-size:1.05rem !important;font-weight:600 !important}
  h3{font-size:.95rem !important;font-weight:600 !important}
  p,li,.card p,.rich p{font-size:var(--itau-fs-body) !important;line-height:1.5 !important}
  small,.text-mute,.card__tag{font-size:var(--itau-fs-meta) !important}

  /* Botões compactos */
  .btn,
  .btn--lg,
  .btn--block,
  a.btn,
  button.btn{
    min-height:var(--itau-ctrl-h) !important;
    padding:6px 10px !important;
    font-size:.75rem !important;
    font-weight:500 !important;
    border-radius:10px !important;
    gap:6px !important;
  }
  .btn--sm,
  a.btn--sm,
  button.btn--sm{
    min-height:30px !important;
    padding:4px 8px !important;
    font-size:.7rem !important;
    border-radius:9px !important;
  }
  .btn--lg{
    min-height:38px !important;
    padding:8px 12px !important;
    font-size:.78rem !important;
  }
  .btn i{font-size:.78em !important}

  .form-control,
  select.form-control,
  input.form-control,
  textarea.form-control{
    min-height:var(--itau-ctrl-h) !important;
    padding:7px 10px !important;
    font-size:var(--itau-fs-body) !important;
  }
  textarea.form-control{min-height:80px !important}

  /* Cards/admin actions menores */
  .news-item-actions,
  .convocacao-item-actions,
  .pa-card__contacts,
  .admin-form-actions,
  .card__actions{
    gap:6px !important;
  }
  .news-item-actions .btn,
  .convocacao-item-actions .btn,
  .pa-card__contacts .btn{
    min-height:36px !important;
    padding:7px 8px !important;
    font-size:.76rem !important;
  }
  .news-item-card,
  .news-item-content,
  .convocacao-item-card{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .news-item-title{font-size:.95rem !important;font-weight:600 !important;line-height:1.3 !important}
  .news-item-resumo{font-size:.78rem !important;line-height:1.4 !important}
  .detail-label{font-size:.65rem !important}
  .detail-value{font-size:.78rem !important}

  /* Serviços hub */
  .services-hub{gap:12px !important}
  .services-hero{padding:14px 10px !important;border-radius:12px !important}
  .services-hero h1{font-size:1.25rem !important;font-weight:500 !important}
  .services-search{padding:8px !important;margin-top:10px !important;gap:8px !important}
  .services-stats{gap:8px !important}
  .services-stat{padding:10px !important;gap:8px !important}
  .services-stat__icon{width:32px !important;height:32px !important;font-size:.85rem !important}
  .services-stat strong{font-size:1rem !important;font-weight:600 !important}
  .services-section__title i{width:32px !important;height:32px !important}
  .services-section__title h2{font-size:1rem !important;font-weight:600 !important}
  .services-section__head p{font-size:.78rem !important}
  .service-card{padding:12px !important;gap:8px !important;border-radius:12px !important}
  .service-card__icon{width:36px !important;height:36px !important;font-size:.9rem !important;border-radius:10px !important}
  .service-card__title{font-size:.9rem !important;font-weight:600 !important}
  .service-card__desc{font-size:.78rem !important;line-height:1.4 !important}
  .service-card__meta{padding-top:8px !important;margin-top:0 !important}

  /* Downloads: tabela → cartões */
  .downloads-mobile-wrap table{min-width:0 !important}
  .downloads-mobile-wrap thead{display:none !important}
  .downloads-mobile-wrap tbody{display:grid !important;gap:8px !important}
  .downloads-mobile-wrap tr{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:6px 10px !important;
    padding:12px !important;
    border:1px solid var(--border) !important;
    border-radius:12px !important;
    background:var(--bg-elev) !important;
    margin:0 !important;
  }
  .downloads-mobile-wrap td{
    padding:0 !important;
    text-align:left !important;
    border:0 !important;
    font-size:.78rem !important;
  }
  .downloads-mobile-wrap td:nth-child(1){grid-column:1 / -1;font-weight:600 !important;color:var(--text) !important}
  .downloads-mobile-wrap td:nth-child(2),
  .downloads-mobile-wrap td:nth-child(3),
  .downloads-mobile-wrap td:nth-child(4){color:var(--text-mute) !important;font-size:.7rem !important}
  .downloads-mobile-wrap td:nth-child(5){grid-column:2;grid-row:2 / span 2;align-self:center}
  .downloads-mobile-wrap + * .grid--3{grid-template-columns:1fr !important;gap:10px !important}
  .downloads-mobile-wrap ~ div .card__body{padding:12px !important}
  .downloads-mobile-wrap ~ div .card__body [style*="font-size:48px"]{font-size:28px !important;margin-bottom:8px !important}

  /* Documentos form */
  .doc-form-compact{
    padding:12px !important;
    margin-top:10px !important;
  }
  .doc-form-compact .form-row{gap:8px !important}
  .doc-form-compact .btn--lg{width:100% !important}

  /* Contato compacto */
  .contact-mobile .aside__box{padding:12px !important;margin-bottom:10px !important}
  .contact-mobile .aside__box h4{font-size:.9rem !important;margin-bottom:8px !important;font-weight:600 !important}
  .contact-mobile .info-line{gap:8px !important;margin-bottom:8px !important}
  .contact-mobile .info-line strong{font-size:.7rem !important;font-weight:500 !important}
  .contact-mobile .info-line span{font-size:.78rem !important}
  .contact-mobile .form-row{gap:8px !important}
  .contact-mobile iframe{height:160px !important}
  .contact-page-actions{gap:6px !important;margin-bottom:8px !important}
  .contact-page-actions .btn{flex:1 1 auto !important}

  /* Galeria: pesquisa compacta */
  .gallery-portal-search{padding:0 !important;margin-bottom:10px !important}
  .gallery-portal-search__toggle{
    padding:10px 12px !important;
    font-size:.8125rem !important;
    font-weight:500 !important;
    min-height:40px !important;
  }
  .gallery-portal-search__panel{padding:8px 10px 10px !important}
  .gallery-portal-form__grid{gap:8px !important}
  .gallery-portal-field label{font-size:.7rem !important;margin-bottom:4px !important}
  .gallery-portal-field input,
  .gallery-portal-field select,
  .gallery-portal-date-panel input{
    min-height:36px !important;
    font-size:.78rem !important;
  }
  .gallery-portal-date-modes{gap:6px !important;margin:8px 0 !important}
  .gallery-portal-choice{padding:6px 8px !important;font-size:.7rem !important;min-height:32px !important}
  .gallery-portal-form__actions{gap:6px !important;margin-top:8px !important}
  .gallery-portal-submit{min-height:36px !important}
  .gallery-portal-header h1{font-size:1.25rem !important;font-weight:500 !important}
  .gallery-portal-description{font-size:.78rem !important}

  /* Páginas Amarelas */
  .pa-card{
    padding:10px !important;
    gap:8px !important;
    min-height:0 !important;
    border-radius:12px !important;
  }
  .pa-card h2,
  .pa-card__title{font-size:.95rem !important;font-weight:600 !important;min-height:0 !important}
  .pa-card__summary{
    font-size:.78rem !important;
    font-weight:400 !important;
    line-height:1.4 !important;
    min-height:0 !important;
    -webkit-line-clamp:3 !important;
  }
  .pa-card__contacts{gap:6px !important}
  .pa-card__contacts .btn{
    min-height:30px !important;
    padding:4px 8px !important;
    font-size:.68rem !important;
    border-radius:9px !important;
  }
  .pa-card__visual .pa-logo,
  .pa-visual__wrap{
    max-width:110px !important;
    margin-inline:auto !important;
  }
  .pa-card__visual .pa-carousel,
  .pa-card__visual .pa-carousel__viewport{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  .pa-card__visual .pa-carousel__slide img{
    max-width:none !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
  }
  .pa-search-bar,
  .pa-search{padding:8px !important}
  .pa-search__grid{gap:8px !important}

  /* Clube: header mobile */
  .cdv-hero,
  .cdv-oport,
  .cdv-intro{
    padding:12px !important;
    border-radius:12px !important;
  }
  .cdv-hero h1,
  .cdv-wrap h1{font-size:1.25rem !important;font-weight:500 !important}
  .cdv-hero p,
  .cdv-lead{font-size:.78rem !important}

  /* Associe-se: menos fadiga */
  .join-flow,
  .assoc-join,
  .associe-page{
    gap:10px !important;
  }
  .value-card,
  .join-step-card{
    padding:12px !important;
    border-radius:12px !important;
  }
  .value-card h3,
  .join-step-card h3{font-size:.9rem !important;font-weight:600 !important}
  .value-card p,
  .join-step-card p{font-size:.78rem !important}
}

@media (max-width:767px){
  .container,
  .container--news-home,
  .gallery-portal-container,
  .gallery-alego-page .container,
  .news-article__container,
  .cta-banner .container,
  .cdv-wrap,
  .assoc-main{
    padding-left:5px !important;
    padding-right:5px !important;
  }
  .form-row{grid-template-columns:1fr !important}
  .contact-mobile .form-row{display:grid !important;grid-template-columns:1fr !important}
}

/* ---------- Associe-se: blocos de incentivo ---------- */
.join-cheer{
  display:grid;
  gap:10px;
  margin:14px 0;
}
.join-cheer__item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:12px;
  background:#f3f7f2;
  border:1px solid rgba(53,80,56,.14);
}
.join-cheer__item i{
  color:#8a6d2f;
  margin-top:2px;
  flex:0 0 auto;
}
.join-cheer__item strong{
  display:block;
  font-weight:700;
  font-size:.875rem;
  color:#142117 !important;
  margin-bottom:3px;
}
.join-cheer__item span{
  display:block;
  font-size:.8125rem;
  font-weight:500;
  line-height:1.45;
  color:#2f3d34 !important;
}
html[data-theme='dark'] .join-cheer__item{
  background:#2f3d32;
  border-color:rgba(176,199,142,.22);
}
html[data-theme='dark'] .join-cheer__item i{
  color:#d4b45a;
}
html[data-theme='dark'] .join-cheer__item strong{
  color:#f7faf7 !important;
}
html[data-theme='dark'] .join-cheer__item span{
  color:#e6eee4 !important;
}

/* Institucionais: botões em painéis escuros */
.rich .btn--primary,
.statute-box .btn--primary,
.medalha-hero .btn--primary,
.cnor-page .btn--primary,
.origem-cnor-page .btn--primary,
.uniformes-page .btn--primary,
.doc-download .btn--primary{
  color:#fff !important;
}
.rich .btn--primary *,
.statute-box .btn--primary *,
.doc-download .btn--primary *{
  color:#fff !important;
}

/* Downloads / documentos densos */
.dl-item{
  background:var(--aore-surface) !important;
  border-color:rgba(53,80,56,.10) !important;
}
html[data-theme='dark'] .dl-item{
  background:var(--bg-elev) !important;
  border-color:rgba(255,255,255,.10) !important;
}
.doc-form-compact{
  background:var(--aore-surface) !important;
  border-color:rgba(53,80,56,.10) !important;
}

/* Páginas Amarelas — reforço mobile delicado */
@media (max-width:767px){
  .pa-card{
    padding:12px !important;
    gap:10px !important;
    box-shadow:none !important;
  }
  .pa-carousel__viewport{
    aspect-ratio:4/3 !important;
    height:auto !important;
    border-radius:12px !important;
  }
  .pa-card__title,
  .pa-card h2{
    font-size:.95rem !important;
    font-weight:600 !important;
  }
  .pa-card__summary{
    font-size:.78rem !important;
    font-weight:400 !important;
    line-height:1.4 !important;
  }
  .pa-card__contacts .btn{
    min-height:28px !important;
    padding:4px 7px !important;
    font-size:.66rem !important;
    border-radius:8px !important;
  }
  .pa-phone-strip{
    font-size:.78rem !important;
    font-weight:600 !important;
    padding:6px 8px !important;
    margin:0 !important;
    border-radius:8px !important;
  }
  .pa-search-toggle{
    padding:11px 12px !important;
    font-size:.8125rem !important;
    font-weight:500 !important;
  }
}

/* Galeria: painel fechado por padrão = compacto no mobile */
@media (max-width:767px){
  .gallery-portal-search:not(:has(.gallery-portal-search__panel.is-open)){
    margin-bottom:10px !important;
  }
  .gallery-portal-form__actions .btn{
    min-height:32px !important;
    font-size:.72rem !important;
  }
}

/* Contato: densificar mais no mobile */
@media (max-width:767px){
  .contact-mobile .aside__box{padding:12px !important}
  .contact-mobile .form-group{margin-bottom:8px !important}
  .contact-mobile h4{font-size:.9rem !important;margin-bottom:8px !important}
  .contact-mobile .btn--block{min-height:36px !important}
  .contact-mobile iframe{height:150px !important}
}

/* Associe-se hero mais curto via camada global */
@media (max-width:767px){
  .join-hero{padding:36px 0 32px !important}
  .join-hero__title{font-size:1.45rem !important;font-weight:500 !important}
  .join-cheer__item{padding:10px 12px !important}
}

/* ---------- Trava final: gutters 5px + botões compactos (celular/tablet) ---------- */
@media (max-width:1023.98px){
  body .container,
  body .container--news-home,
  body .gallery-portal-container,
  body .gallery-alego-page .container,
  body .news-article__container,
  body .cta-banner .container,
  body .cdv-wrap,
  body .assoc-main,
  body .paginas-amarelas-wrap,
  body .conv-page,
  body .dl-page,
  body .army-news-home .container--news-home,
  body .home-section > .container,
  body .home-section--shop-v5 > .container{
    padding-left:5px !important;
    padding-right:5px !important;
  }

  body .btn,
  body a.btn,
  body button.btn,
  body .btn--primary,
  body .btn--outline,
  body .btn--ghost,
  body .btn--block{
    min-height:34px !important;
    padding:5px 10px !important;
    font-size:.72rem !important;
    font-weight:500 !important;
  }
  body .btn--sm,
  body a.btn--sm,
  body button.btn--sm{
    min-height:28px !important;
    padding:3px 7px !important;
    font-size:.66rem !important;
  }
  body .btn--lg{
    min-height:36px !important;
    padding:6px 11px !important;
    font-size:.75rem !important;
  }

  body .page-banner__title{font-size:clamp(1.15rem,4vw,1.45rem) !important;font-weight:500 !important}
  body .page-banner__subtitle,
  body .section__eyebrow,
  body p,
  body .rich p,
  body .card p{font-size:.78rem !important;line-height:1.45 !important;font-weight:400 !important}
  body h2{font-size:1rem !important;font-weight:600 !important}
  body h3{font-size:.9rem !important;font-weight:600 !important}

  body .news-item-actions .btn,
  body .convocacao-item-actions .btn{
    min-height:36px !important;
    padding:7px 8px !important;
    font-size:.76rem !important;
  }
}

/* =========================================================
   Utility bar — branco especial + destaque Itaú
   Setas nas extremidades · sem botão Sair
   ========================================================= */
@media (max-width:1023px){
  :root{
    --util-pearl:#fffcf7;
    --util-pearl-edge:rgba(255,255,255,.92);
    --util-ink:#1a2330;
    --util-ink-soft:#4b5563;
    --util-itau:#ec7000;
    --util-itau-soft:rgba(236,112,0,.14);
    --util-itau-ring:rgba(236,112,0,.28);
  }

  body{
    padding-bottom:calc(86px + env(safe-area-inset-bottom,0px)) !important;
  }

  .utility-bar{
    position:fixed !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:min(calc(100% - 18px), 560px) !important;
    bottom:max(8px, env(safe-area-inset-bottom,0px)) !important;
    z-index:140 !important;
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:6px !important;
    padding:7px !important;
    border-radius:22px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, var(--util-pearl) 55%, #f7f1e8 100%) !important;
    border:1px solid rgba(255,255,255,.85) !important;
    box-shadow:
      0 14px 36px rgba(26,35,48,.12),
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(236,112,0,.08) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
  }

  .utility-bar::before{
    content:"";
    position:absolute;
    left:10px;right:10px;top:0;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg, transparent, var(--util-itau), transparent);
    opacity:.55;
    pointer-events:none;
  }

  html[data-theme='dark'] .utility-bar{
    background:
      linear-gradient(180deg, rgba(36,42,48,.96) 0%, rgba(24,28,32,.96) 100%) !important;
    border-color:rgba(255,255,255,.08) !important;
    box-shadow:
      0 14px 34px rgba(0,0,0,.35),
      0 0 0 1px rgba(236,112,0,.16) !important;
  }

  .utility-bar__item{
    position:relative;
    appearance:none !important;
    -webkit-appearance:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    border-radius:14px !important;
    border:1px solid rgba(26,35,48,.06) !important;
    background:rgba(255,255,255,.55) !important;
    color:var(--util-ink-soft) !important;
    text-decoration:none !important;
    box-shadow:0 1px 0 rgba(255,255,255,.7) inset !important;
    cursor:pointer;
    transition:transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, opacity .16s ease !important;
  }

  html[data-theme='dark'] .utility-bar__item{
    background:rgba(255,255,255,.05) !important;
    border-color:rgba(255,255,255,.08) !important;
    color:rgba(248,250,252,.82) !important;
    box-shadow:none !important;
  }

  .utility-bar__item i{
    font-size:1.02rem !important;
    line-height:1 !important;
    pointer-events:none;
  }

  .utility-bar__item:hover,
  .utility-bar__item:focus-visible{
    transform:translateY(-1px);
    color:var(--util-ink) !important;
    background:#fff !important;
    box-shadow:0 0 0 2px var(--util-itau-ring) !important;
    outline:none;
  }

  .utility-bar__item--nav{
    color:var(--util-itau) !important;
    background:linear-gradient(180deg, #fff, #fff6ee) !important;
    border-color:rgba(236,112,0,.18) !important;
    font-weight:700;
  }

  .utility-bar__item--nav:hover,
  .utility-bar__item--nav:focus-visible{
    background:linear-gradient(180deg, #fff, #ffe8d4) !important;
    box-shadow:0 0 0 2px var(--util-itau-ring) !important;
    color:#c45a00 !important;
  }

  .utility-bar__item--nav.is-inert,
  .utility-bar__item--nav:disabled{
    opacity:.34 !important;
    cursor:default !important;
    pointer-events:none !important;
    transform:none !important;
    box-shadow:none !important;
    color:rgba(26,35,48,.35) !important;
    background:rgba(255,255,255,.35) !important;
    border-color:rgba(26,35,48,.05) !important;
  }

  html[data-theme='dark'] .utility-bar__item--nav.is-inert,
  html[data-theme='dark'] .utility-bar__item--nav:disabled{
    color:rgba(255,255,255,.28) !important;
    background:rgba(255,255,255,.03) !important;
  }

  .utility-bar__item--portal,
  .utility-bar__item--panel{
    color:var(--util-ink) !important;
  }

  .utility-bar__item--whatsapp{
    min-height:48px !important;
    background:linear-gradient(145deg, #2fd46a 0%, #1aaa4d 100%) !important;
    border-color:rgba(255,255,255,.22) !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(26,170,77,.22) !important;
  }

  .utility-bar__item--whatsapp:hover,
  .utility-bar__item--whatsapp:focus-visible{
    color:#fff !important;
    background:linear-gradient(145deg, #39dd74 0%, #18a048 100%) !important;
    box-shadow:0 0 0 2px rgba(26,170,77,.28), 0 10px 20px rgba(26,170,77,.24) !important;
  }

  .utility-bar__item--top{
    color:#9a4d00 !important;
    background:linear-gradient(180deg, #fff7ef, #ffe2c4) !important;
    border-color:rgba(236,112,0,.22) !important;
  }

  html[data-theme='dark'] .utility-bar__item--top{
    color:#ffc48a !important;
    background:rgba(236,112,0,.16) !important;
    border-color:rgba(236,112,0,.22) !important;
  }

  .utility-bar__item--logout{
    display:none !important;
  }
}

@media (max-width:768px){
  .utility-bar{
    width:min(calc(100% - 14px), 480px) !important;
    gap:5px !important;
    padding:6px !important;
    border-radius:20px !important;
  }
  .utility-bar__item{
    min-height:42px !important;
    border-radius:12px !important;
  }
  .utility-bar__item--whatsapp{
    min-height:46px !important;
  }
  .utility-bar__item i{
    font-size:.96rem !important;
  }
}

/* Aviso de tamanho ideal de imagem (padrão Páginas Amarelas / Tesouraria) */
.aore-upload-size-hint,
.pa-upload-size-hint{
  margin:8px 0 12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(253,126,20,.34);
  background:rgba(253,126,20,.10);
  color:#374151;
  font-size:.9rem;
  line-height:1.45;
}
.aore-upload-size-hint strong,
.pa-upload-size-hint strong{
  color:#c2410c;
}
html[data-theme='dark'] .aore-upload-size-hint,
html[data-theme='dark'] .pa-upload-size-hint{
  border-color:rgba(253,126,20,.28);
  background:rgba(253,126,20,.12);
  color:#f3e8d8;
}
html[data-theme='dark'] .aore-upload-size-hint strong,
html[data-theme='dark'] .pa-upload-size-hint strong{
  color:#fdba74;
}
