/* ── SECTION: text-body — layout only ── */

.pagina-layout {
  max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem 5rem;
  display: grid; grid-template-columns: 260px 1fr; gap: 3rem; align-items: start;
}
.pagina-sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 1.25rem; }
.sidebar-card { border-radius: 18px; padding: 1.4rem 1.2rem; overflow: hidden; }
.sidebar-label {
  display: flex; align-items: center; gap: .5rem;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  opacity: .75; margin-bottom: 1.1rem;
}
.sidebar-nav { display: flex; flex-direction: column; gap: .15rem; }
.sidebar-link {
  display: block; padding: .5rem .75rem; font-size: 0.82rem; font-weight: 500;
  border-radius: 8px; transition: all .18s; border-left: 2px solid transparent; line-height: 1.4;
}
.sidebar-divider { height: 1px; margin: 1rem 0; }
.sidebar-print {
  width: 100%; display: flex; align-items: center; justify-content: center; gap: .5rem;
  padding: 9px; border-radius: 10px;
  font-family: 'Quicksand', sans-serif; font-size: 0.78rem; font-weight: 600; cursor: pointer; transition: all .18s;
}
.sidebar-docs-label {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: .6rem;
}
.sidebar-docs { display: flex; flex-direction: column; gap: .4rem; }
.sidebar-doc {
  display: flex; align-items: center; gap: .5rem; padding: .55rem .75rem;
  font-size: 0.82rem; font-weight: 600; border-radius: 10px; border: 1px solid transparent; transition: all .18s;
}
.reading-progress-wrap {
  border-radius: 14px; padding: 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .5rem;
}
.reading-progress-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.reading-progress-track { height: 5px; border-radius: 3px; overflow: hidden; }
.reading-progress-bar { height: 100%; border-radius: 3px; transition: width .15s; width: 0%; }
.reading-progress-pct { font-size: 0.72rem; font-weight: 700; text-align: right; }
.reading-progress-mobile { position: fixed; top: 72px; left: 0; right: 0; height: 3px; z-index: 999; display: none; }
.reading-progress-bar-mobile { height: 100%; width: 0%; transition: width .1s; }

.pagina-content { min-width: 0; }
.pagina-notice {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.2rem 1.4rem; border-radius: 14px; margin-bottom: 2.5rem;
  font-size: 0.9rem; line-height: 1.7;
}
.doc-section { margin-bottom: 3.5rem; scroll-margin-top: 100px; }
.doc-section-header {
  display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem;
  padding-bottom: 1rem;
}
.doc-section-num { font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; opacity: .65; min-width: 24px; }
.doc-section-header h2 { font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
.doc-section p { font-size: 0.97rem; line-height: 1.85; margin-bottom: 1.1rem; }
.doc-section p:last-child { margin-bottom: 0; }
.doc-link { text-decoration: underline; text-underline-offset: 3px; transition: opacity .2s; }
.doc-link:hover { opacity: .75; }
.doc-list {
  list-style: none; display: flex; flex-direction: column; gap: .85rem;
  margin: 1.2rem 0; padding: 1.4rem; border-radius: 14px;
}
.doc-list li { display: flex; align-items: flex-start; gap: .75rem; font-size: 0.93rem; line-height: 1.7; }
.doc-highlight {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.1rem 1.3rem; border-left: 3px solid; border-radius: 0 12px 12px 0;
  margin: 1.4rem 0; font-size: 0.9rem; line-height: 1.72;
}
.doc-table-wrap { overflow-x: auto; border-radius: 14px; margin: 1.4rem 0; }
.doc-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.doc-table th { padding: .9rem 1.2rem; text-align: left; font-size: 0.75rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.doc-table td { padding: .85rem 1.2rem; font-weight: 500; }
.doc-table tbody tr:last-child td { border-bottom: none; }
.tag-yes  { display:inline-block; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.tag-no   { display:inline-block; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.tag-cond { display:inline-block; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.doc-timeline { display:flex; flex-direction:column; gap:0; margin:1.5rem 0; padding-left:1rem; }
.timeline-item { display:flex; gap:1.2rem; padding:0 0 1.5rem 1.5rem; position:relative; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-dot { position:absolute; left:-1.5rem; top:.3rem; width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.timeline-content { display:flex; flex-direction:column; gap:.3rem; }
.timeline-date { font-size:0.78rem; font-weight:700; }
.timeline-desc { font-size:0.88rem; line-height:1.65; }
.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.4rem; }
.contact-card { display:flex; align-items:flex-start; gap:.9rem; padding:1.1rem 1.2rem; border-radius:14px; transition:all .2s; text-decoration:none; }
.contact-card:not(.no-link):hover { transform:translateY(-2px); }
.contact-card-label { font-size:0.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; opacity:.7; margin-bottom:.2rem; }
.contact-card-value { font-size:0.84rem; font-weight:600; }
.doc-signature { display:flex; align-items:center; gap:1.4rem; padding:1.8rem 2rem; margin-top:3rem; border-radius:18px; }
.doc-sig-logo img { height:44px; width:auto; opacity:0.85; }
.doc-sig-info { display:flex; flex-direction:column; gap:.3rem; }
.doc-sig-name { font-size:0.88rem; font-weight:700; }
.doc-sig-detail { font-size:0.75rem; font-weight:500; }

/* privacidade */
.priv-identity-card { display:flex; flex-direction:column; gap:0; border-radius:16px; overflow:hidden; margin-top:1.4rem; }
.priv-identity-row { display:flex; align-items:center; gap:1rem; padding:.85rem 1.3rem; transition:background .15s; }
.priv-id-label { font-size:0.75rem; font-weight:700; letter-spacing:.5px; min-width:110px; text-transform:uppercase; }
.priv-id-value { font-size:0.88rem; font-weight:600; }
.priv-data-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin:1.4rem 0; }
.priv-data-card { border-radius:16px; padding:1.3rem 1.2rem; transition:border-color .2s; }
.priv-data-card-header { display:flex; align-items:center; gap:.6rem; margin-bottom:.7rem; font-size:0.88rem; font-weight:700; }
.priv-data-list { list-style:none; display:flex; flex-direction:column; gap:.3rem; }
.priv-data-list li { font-size:0.8rem; padding-left:1rem; position:relative; line-height:1.5; }
.priv-data-list li::before { content:'·'; position:absolute; left:0; font-weight:700; }
.priv-base-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1.3rem; }
.priv-base-item { display:flex; gap:.9rem; align-items:flex-start; padding:1.1rem 1.2rem; border-radius:14px; transition:border-color .2s; }
.priv-base-icon { width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.priv-base-title { font-size:0.83rem; font-weight:700; margin-bottom:.3rem; }
.priv-base-desc { font-size:0.77rem; line-height:1.55; }
.priv-share-list { display:flex; flex-direction:column; gap:.75rem; margin:1.3rem 0; }
.priv-share-item { display:flex; align-items:center; gap:1rem; padding:1rem 1.2rem; border-radius:14px; transition:border-color .2s; }
.priv-share-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.priv-share-title { font-size:0.85rem; font-weight:700; margin-bottom:.2rem; }
.priv-share-desc { font-size:0.77rem; line-height:1.5; }
.priv-share-item > div:nth-child(2) { flex:1; min-width:0; }
.priv-retention-list { display:flex; flex-direction:column; gap:.85rem; margin:1.3rem 0; padding:1.4rem 1.5rem; border-radius:16px; }
.priv-retention-item { display:grid; grid-template-columns:200px 1fr 140px; align-items:center; gap:1rem; }
.priv-ret-label { font-size:0.82rem; font-weight:600; white-space:nowrap; }
.priv-ret-bar-wrap { height:6px; border-radius:4px; overflow:hidden; }
.priv-ret-bar { height:100%; border-radius:4px; min-width:6px; }
.priv-ret-value { font-size:0.75rem; font-weight:600; text-align:right; white-space:nowrap; }
.priv-security-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:1.3rem 0; }
.priv-sec-item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.6rem; padding:1.3rem .8rem; border-radius:16px; transition:all .2s; }
.priv-sec-item:hover { transform:translateY(-2px); }
.priv-sec-title { font-size:0.82rem; font-weight:700; }
.priv-sec-desc { font-size:0.74rem; line-height:1.55; }
.priv-rights-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:1.3rem 0; }
.priv-right-card { display:flex; flex-direction:column; gap:.5rem; padding:1.2rem 1rem; border-radius:14px; transition:all .2s; }
.priv-right-card:hover { transform:translateY(-2px); }
.priv-right-icon { width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; margin-bottom:.1rem; }
.priv-right-title { font-size:0.8rem; font-weight:700; line-height:1.3; }
.priv-right-desc { font-size:0.74rem; line-height:1.55; }

@media print {
  #navbar, .pagina-sidebar, .reading-progress-mobile { display:none !important; }
  .pagina-layout { grid-template-columns:1fr; padding:0; }
  .pagina-hero { padding:2rem; }
}
@media(max-width:900px) {
  .pagina-layout { grid-template-columns:1fr; }
  .pagina-sidebar { display:none; }
  .reading-progress-mobile { display:block; }
  .contact-cards { grid-template-columns:1fr; }
  .priv-data-grid { grid-template-columns:1fr; }
  .priv-base-grid { grid-template-columns:1fr; }
  .priv-security-grid { grid-template-columns:repeat(2,1fr); }
  .priv-rights-grid { grid-template-columns:repeat(2,1fr); }
  .priv-retention-item { grid-template-columns:1fr 1fr; }
  .priv-ret-bar-wrap { display:none; }
}
@media(max-width:600px) {
  .pagina-layout { padding:2rem 1rem 4rem; }
  .doc-section-header h2 { font-size:1.15rem; }
  .priv-security-grid { grid-template-columns:1fr 1fr; }
  .priv-rights-grid { grid-template-columns:1fr 1fr; }
  .priv-retention-item { grid-template-columns:1fr; }
}
