/* Extensões do institucional aprovado. Carregar antes de layout-proposta.css. */
.ff-layout-proposta.module-page .module-breadcrumb {
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
  color: #526079;
}
.ff-layout-proposta.module-page .ff-module-visual {
  margin: 0;
  align-self: start;
}
.ff-layout-proposta.module-page .ff-module-visual figcaption {
  color: #526b8e;
  font-size: 11px;
  line-height: 1.5;
}
.ff-layout-proposta.module-page .ff-module-visual .ff-hero-scene > img {
  display: block;
}
.ff-layout-proposta.module-page .ff-character-stage {
  display: grid;
  place-items: center;
  padding: 24px;
  background: #fff;
  border: 1px solid #dbe4f0;
  border-radius: 18px;
  overflow: hidden;
}
.ff-layout-proposta.module-page .ff-character-stage > img {
  width: auto;
  height: 520px;
  max-width: 100%;
  object-fit: contain;
}
.ff-layout-proposta.module-page .module-summary-section {
  padding-block: 32px 20px;
  background: #fff;
}
.ff-layout-proposta.module-page .module-summary-section .module-summary {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  column-gap: 32px;
  row-gap: 0;
  padding: 28px;
  background: #f8fbff;
  border: 1px solid #dce5f0;
  border-radius: 18px;
}
.ff-layout-proposta.module-page .module-summary-section .module-summary > .eyebrow,
.ff-layout-proposta.module-page .module-summary-section .module-summary > h2 {
  grid-column: 1;
}
.ff-layout-proposta.module-page .module-summary-section .module-summary > h2 {
  font-size: 32px;
  line-height: 1.2;
}
.ff-layout-proposta.module-page .module-summary-section .module-summary > dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  align-self: start;
}
.ff-layout-proposta.module-page .module-summary-section .module-summary dl > div + div {
  margin: 0;
  padding: 0;
  border: 0;
}
.ff-layout-proposta.module-page .module-guide-step {
  padding: 27px 25px;
  background: #fbfcff;
  border: 1px solid #e1e8f2;
  border-radius: 14px;
}
.ff-layout-proposta.module-page .module-guide-step h3 {
  font-size: 24px;
  font-weight: 600;
}
.ff-layout-proposta.module-page .module-data {
  background: #eaf3ff;
  border-color: #dce5f0;
}
.ff-layout-proposta.module-page .module-related {
  padding-block: 48px;
}
.ff-layout-proposta.module-page .module-related h2 {
  margin-bottom: 16px;
}
.ff-layout-proposta.install-page .install-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 14px 22px;
  border: 1px solid #16305e;
  border-radius: 10px;
  color: #fff;
  background: #16305e;
  font-weight: 600;
  text-decoration: none;
}
.ff-layout-proposta.install-page .install-open:hover {
  background: #214473;
}
.ff-layout-proposta.install-page .ff-install-content {
  max-width: 960px;
  padding: 40px;
  background: #fff;
  border: 1px solid #dce5f0;
  border-radius: 18px;
}
.ff-layout-proposta.install-page .ff-install-content > h2 {
  font-size: 32px;
  margin-bottom: 18px;
}
.ff-layout-proposta.install-page .ff-install-content > h2:not(:first-child) {
  margin-top: 36px;
}
.ff-layout-proposta.install-page .ff-install-content > p {
  color: #526079;
  font-size: 17px;
  line-height: 1.75;
  margin-block: 18px;
}
.ff-layout-proposta.install-page .ff-install-content a {
  color: #16305e;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ff-layout-proposta.install-page .ff-install-content .qr {
  display: block;
  width: 150px;
  height: 150px;
  margin-block: 24px;
}
@media (max-width: 1100px) {
  .ff-layout-proposta.module-page .module-summary-section .module-summary { column-gap: 36px; }
}
@media (max-width: 760px) {
  .ff-layout-proposta.module-page .module-breadcrumb { margin-bottom: 22px; }
  .ff-layout-proposta.module-page .ff-character-stage { padding: 20px; }
  .ff-layout-proposta.module-page .ff-character-stage > img { height: 430px; }
  .ff-layout-proposta.module-page .module-summary-section { padding-block: 30px 12px; }
  .ff-layout-proposta.module-page .module-summary-section .module-summary {
    display: block;
    padding: 26px;
  }
  .ff-layout-proposta.module-page .module-summary-section .module-summary > h2 { font-size: 28px; }
  .ff-layout-proposta.module-page .module-summary-section .module-summary > dl {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 26px;
  }
  .ff-layout-proposta.module-page .module-guide-step { padding: 22px 20px; }
  .ff-layout-proposta.module-page .module-related { padding-block: 36px; }
  .ff-layout-proposta.install-page .ff-install-content { padding: 26px; }
  .ff-layout-proposta.install-page .ff-install-content > h2 { font-size: 28px; }
  .ff-layout-proposta.install-page .ff-install-content > p { font-size: 16px; }
}

/* Informação em camadas: mesmo percurso nas páginas de módulos. */
.ff-page-path{display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:16px;padding-bottom:8px;font-size:14px;color:#53627a}
.ff-page-path a{display:inline-flex;align-items:center;min-height:44px;color:#16305e;text-decoration:none;font-weight:600}
.ff-page-path a:hover{text-decoration:underline}
.ff-page-path a:focus-visible,.ff-module-details summary:focus-visible{outline:3px solid #2d659f;outline-offset:4px}
.ff-module-extra.section{padding-top:16px;padding-bottom:16px}
.ff-module-details{border-top:1px solid #dce5ef;border-bottom:1px solid #dce5ef;padding:12px 0}
.ff-module-details summary{cursor:pointer;min-height:44px;padding:12px 32px 12px 0;position:relative;list-style:none}
.ff-module-details summary::-webkit-details-marker{display:none}
.ff-module-details summary:after{content:'+';position:absolute;right:4px;top:26px;font-size:26px;color:#16305e}
.ff-module-details[open] summary:after{content:'−'}
.module-data .ff-module-details summary h2{font-size:clamp(21px,2.2vw,28px);line-height:1.3;margin:0;max-width:44ch}
.module-data .ff-module-details summary h2 br{display:none}
.ff-module-details summary .eyebrow{margin-bottom:8px}
.ff-module-details-body{max-width:78ch;padding:0 0 12px;line-height:1.7;font-size:16px;color:#4b5c74}
.ff-module-details-body p{margin:8px 0 16px}
.ff-role-guide-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;margin-top:8px}
.ff-guide-page{max-width:860px}
.ff-guide-hero.hero{padding-bottom:32px}
.ff-guide-hero figure{margin:0}
.ff-guide-hero .ff-module-visual>img{display:block;width:100%;height:auto}
.ff-guide-support{max-width:860px;padding-bottom:64px}
.ff-guide-support h2{font-size:28px}
.ff-guide-support p{max-width:70ch;font-size:16px;line-height:1.7}
.ff-guide-support details{border-block:1px solid #dce5ef;margin:20px 0}
.ff-guide-support summary{min-height:44px;padding:14px 0;cursor:pointer;font-weight:600}
.ff-guide-support>a{display:inline-flex;align-items:center;min-height:44px;margin-right:24px}
@media(max-width:560px){.ff-page-path{gap:0 18px;font-size:13px}.ff-module-details-body{font-size:15px}.ff-guide-support{padding-bottom:40px}}
