/* Páginas de texto (institucional e guia Elementor) */
.abf-doc { background: var(--abf-white); }
.abf-doc__hero { background: var(--abf-black); color: var(--abf-white); padding: 64px 0 52px; }
.abf-doc__hero h1 { font-family: var(--abf-font-display); font-weight: 500; font-size: clamp(36px, 5vw, 58px); line-height: 1.02; margin: 12px 0 14px; }
.abf-doc__hero p { color: var(--abf-gray-300); max-width: 680px; margin: 0; font-size: 16px; }
.abf-doc__hero .abf-eyebrow { color: var(--abf-gold); }
.abf-doc__wrap { display: grid; grid-template-columns: 240px 1fr; gap: 56px; padding: 56px 20px 80px; }
.abf-doc__toc { position: sticky; top: 100px; align-self: start; font-size: 13px; }
.abf-doc__toc strong { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--abf-gold-dark); margin-bottom: 12px; }
.abf-doc__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; border-left: 1px solid var(--abf-line); }
.abf-doc__toc a { display: block; padding: 5px 14px; color: var(--abf-gray); margin-left: -1px; border-left: 1px solid transparent; }
.abf-doc__toc a:hover { color: var(--abf-black); border-left-color: var(--abf-gold); }
.abf-doc__content { max-width: 820px; min-width: 0; }
.abf-doc__content section { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--abf-line); scroll-margin-top: 110px; }
.abf-doc__content section:last-child { border-bottom: 0; }
.abf-doc__content h2 { font-family: var(--abf-font-display); font-size: 32px; font-weight: 600; margin: 4px 0 14px; line-height: 1.1; }
.abf-doc__content h3 { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin: 26px 0 10px; }
.abf-doc__content p, .abf-doc__content li { color: #45454a; }
.abf-doc__content ul, .abf-doc__content ol { padding-left: 20px; }
.abf-doc__content li { margin-bottom: 6px; }
.abf-doc__content code { background: var(--abf-gray-100); border: 1px solid var(--abf-line); border-radius: 4px; padding: 1px 6px; font-size: 13px; }
.abf-doc__content pre { background: var(--abf-black); color: var(--abf-gold-light); padding: 18px 20px; border-radius: var(--abf-radius); overflow-x: auto; font-size: 13px; line-height: 1.6; }
.abf-doc__content pre code { background: none; border: 0; padding: 0; color: inherit; }
.abf-doc__content table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0 6px; display: block; overflow-x: auto; }
.abf-doc__content th, .abf-doc__content td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--abf-line); vertical-align: top; }
.abf-doc__content th { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--abf-gray); }
.abf-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; margin: 14px 0; }
.abf-swatch { border: 1px solid var(--abf-line); border-radius: var(--abf-radius); overflow: hidden; font-size: 12px; }
.abf-swatch i { display: block; height: 64px; }
.abf-swatch span { display: block; padding: 8px 10px; }
.abf-swatch b { display: block; color: var(--abf-black); }
.abf-note { background: var(--abf-gray-100); border-left: 3px solid var(--abf-gold); padding: 14px 18px; border-radius: 0 var(--abf-radius) var(--abf-radius) 0; margin: 16px 0; }
@media (max-width: 900px) {
  .abf-doc__wrap { grid-template-columns: 1fr; gap: 24px; padding-top: 32px; }
  .abf-doc__toc { position: static; }
}
