/* Loja Core · lc-pages.css — ajustes finos (rodada de polimento 2026-09-11). Carrega depois de lc-chrome.css. */

/* ============================================================================
 * Layout de documento — páginas de política e informação (page.php → .lc-doc)
 * Cabeçalho alinhado ao container do header/footer (1280px + 16px), coluna de
 * leitura de ~730px numa folha branca e sumário fixo das seções no desktop.
 * ========================================================================== */

.lc-doc {
  --doc-sheet-pad-x: 56px;
  --doc-sheet-pad-y: 48px;
  --doc-ring: 0 0 0 1px rgba(26, 28, 33, .06), 0 1px 2px rgba(26, 28, 33, .04);
  padding-bottom: 72px;
  color: var(--lc-ink-2);
  font-family: var(--lc-font-body);
}

.lc-doc__wrap {
  max-width: 1312px;
  margin: 0 auto;
  padding: 0 16px;
}

/* ── Cabeçalho ─────────────────────────────────────────────────────────── */
.lc-doc__head { padding: 36px 0 28px; }

.lc-doc__crumbs,
.mo-inst .mo-inst__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--lc-ink-3);
}
.lc-doc__crumbs a,
.mo-inst .mo-inst__crumbs a {
  color: var(--lc-ink-3);
  text-decoration: none;
  transition: color .15s ease;
}
.lc-doc__crumbs a:hover,
.mo-inst .mo-inst__crumbs a:hover { color: var(--lc-primary); }
.lc-doc__crumbs .sep,
.mo-inst .mo-inst__crumbs .sep { color: var(--lc-ink-4); }
.lc-doc__crumbs [aria-current],
.mo-inst .mo-inst__crumbs .cur { color: var(--lc-ink-2); }

.lc-doc .lc-doc__title {
  margin: 0;
  max-width: 22ch;
  font-family: var(--lc-font-display);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--lc-ink);
  text-transform: none;
  text-wrap: balance;
}
.lc-doc__meta {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--lc-ink-3);
  font-variant-numeric: tabular-nums;
}

/* ── Grade: sumário + folha ────────────────────────────────────────────── */
.lc-doc__layout { display: block; }
.lc-doc--toc .lc-doc__layout {
  display: grid;
  grid-template-columns: 232px minmax(0, 840px);
  gap: 48px;
  align-items: start;
}

.lc-doc__sheet {
  max-width: 840px;
  padding: var(--doc-sheet-pad-y) var(--doc-sheet-pad-x) calc(var(--doc-sheet-pad-y) + 8px);
  background: #fff;
  border-radius: 12px;
  box-shadow: var(--doc-ring);
}

/* ── Sumário (desktop) ─────────────────────────────────────────────────── */
/* `body{overflow-x:hidden}` (Blocksy + lc-redesign) transforma o <body> num
   scroll container e o sticky deixa de funcionar. `clip` recorta igual, sem
   criar scroll container — mesma solução do checkout (checkout-rebuild.css). */
@media (min-width: 961px) {
  body.lc-doc-page { overflow-x: clip; }
  /* Sem o scroll container, o `.mo-hdr-wrap.is-sticky` voltaria a grudar só aqui;
     mantém o header rolando junto, como no resto do site. */
  body.lc-doc-page .mo-hdr-wrap.is-sticky { position: relative !important; top: auto; } /* vence critical-inline.css */
}
.lc-doc__aside {
  position: sticky;
  margin-left: -12px; /* texto do sumário alinhado ao título (o padding do link fica "para fora") */
  top: 24px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.lc-doc__toc-title {
  margin: 4px 0 10px 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--lc-ink-3);
}
.lc-doc__toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.lc-doc__toc-list li { margin: 0; }
.lc-doc__toc-list a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--lc-ink-2);
  text-decoration: none;
  text-wrap: pretty;
  transition: background-color .15s ease, color .15s ease;
}
.lc-doc__toc-list a:hover {
  background: rgba(26, 28, 33, .045);
  color: var(--lc-ink);
}
.lc-doc__toc-list a[aria-current] {
  background: #fff;
  color: var(--lc-primary);
  box-shadow: var(--doc-ring);
}
.lc-doc__toc-n {
  flex: 0 0 1.4em;
  font-size: 13px;
  color: var(--lc-ink-4);
  font-variant-numeric: tabular-nums;
}
.lc-doc__toc-list a[aria-current] .lc-doc__toc-n { color: var(--lc-primary-soft); }

/* ── Sumário (mobile): <details> no topo da folha ───────────────────────── */
.lc-doc__toc-m { display: none; }

/* ── Tipografia do conteúdo ────────────────────────────────────────────── */
.lc-doc__content {
  font-size: 16px;
  line-height: 1.7;
  color: var(--lc-ink-2);
  overflow-wrap: break-word;
}
/* O <div class="tpo-policy"> das políticas vira só um invólucro neutro. */
.lc-doc__content .tpo-policy {
  max-width: none;
  font: inherit;
  color: inherit;
}
.lc-doc__content > :first-child,
.lc-doc__content .tpo-policy > :first-child { margin-top: 0; }
.lc-doc__content > :last-child,
.lc-doc__content .tpo-policy > :last-child { margin-bottom: 0; }

.lc-doc__content p {
  margin: 0 0 1em;
  text-align: start;
  text-wrap: pretty;
}

.lc-doc__content h2 {
  margin: 2.2em 0 .55em;
  padding: 0;
  border: 0;
  font-family: var(--lc-font-display);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--lc-ink);
  text-transform: none;
  text-wrap: balance;
  scroll-margin-top: 24px;
}
.lc-doc__content h3 {
  margin: 1.75em 0 .4em;
  font-family: var(--lc-font-display);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--lc-ink);
  text-transform: none;
  text-wrap: balance;
}
.lc-doc__content h4 {
  margin: 1.5em 0 .35em;
  font-family: var(--lc-font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  color: var(--lc-ink);
  text-transform: none;
}
.lc-doc__content h2 + h3 { margin-top: .9em; }

.lc-doc__content ul,
.lc-doc__content ol {
  margin: 0 0 1.1em;
  padding: 0 0 0 1.35em;
}
.lc-doc__content li {
  margin: 0 0 .45em;
  padding-left: .2em;
  text-wrap: pretty;
}
.lc-doc__content li::marker { color: var(--lc-ink-4); }
.lc-doc__content ol > li::marker { font-variant-numeric: tabular-nums; }
.lc-doc__content li > ul,
.lc-doc__content li > ol { margin: .45em 0 0; }
.lc-doc__content p + ul,
.lc-doc__content p + ol { margin-top: -.35em; }

.lc-doc__content strong,
.lc-doc__content b {
  font-weight: 600;
  color: var(--lc-ink);
}

.lc-doc__content a {
  color: var(--lc-primary-soft);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(62, 111, 181, .38);
  text-underline-offset: 3px;
  transition: color .15s ease, text-decoration-color .15s ease;
}
.lc-doc__content a:hover {
  color: var(--lc-primary);
  text-decoration-color: currentColor;
}

.lc-doc__content hr {
  height: 1px;
  margin: 2em 0;
  border: 0;
  background: var(--lc-line);
}

.lc-doc__content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  outline: 1px solid rgba(0, 0, 0, .1);
  outline-offset: -1px;
}

.lc-doc__content table {
  width: 100%;
  margin: 0 0 1.4em;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.lc-doc__content th,
.lc-doc__content td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--lc-line);
  text-align: left;
  vertical-align: top;
}
.lc-doc__content thead th {
  background: var(--lc-paper);
  font-weight: 600;
  color: var(--lc-ink);
  border-bottom-color: var(--lc-line-2);
}

.lc-doc__content blockquote {
  margin: 1.4em 0;
  padding: 16px 20px;
  border: 0;
  border-radius: 8px;
  background: var(--lc-paper);
  color: var(--lc-ink-2);
}

/* Avisos embutidos nas políticas: superfícies planas, sem filete lateral. */
.lc-doc__content .alert {
  margin: 1.1em 0 1.3em;
  padding: 16px 20px;
  border: 0;
  border-radius: 8px;
  background: var(--lc-paper);
  color: var(--lc-ink-2);
}
.lc-doc__content .alert > :last-child { margin-bottom: 0; }
.lc-doc__content .alert-frete {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 1.4em 0 .4em;
  padding: 14px 18px;
  border-radius: 8px;
  background: var(--lc-success-50);
  color: var(--lc-success-700);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
.lc-doc__content .alert-frete::before {
  content: "";
  flex: 0 0 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='6' width='13' height='11' rx='1.5'/%3E%3Cpath d='M14 9h4l3 3.5V17h-7z'/%3E%3Ccircle cx='6' cy='18' r='1.8'/%3E%3Ccircle cx='18' cy='18' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='6' width='13' height='11' rx='1.5'/%3E%3Cpath d='M14 9h4l3 3.5V17h-7z'/%3E%3Ccircle cx='6' cy='18' r='1.8'/%3E%3Ccircle cx='18' cy='18' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.lc-doc__content .last-update {
  margin: 0 0 1.75em;
  font-size: 13px;
  line-height: 1.5;
  color: var(--lc-ink-3);
  font-variant-numeric: tabular-nums;
}

/* Formulários de plugins (rastreio, preferências de e-mail) dentro da folha. */
.lc-doc__content input[type="text"],
.lc-doc__content input[type="email"],
.lc-doc__content input[type="search"],
.lc-doc__content select {
  min-height: 44px;
  max-width: 100%;
}

/* ── Responsivo ────────────────────────────────────────────────────────── */
@media (max-width: 1140px) {
  .lc-doc--toc .lc-doc__layout {
    grid-template-columns: 208px minmax(0, 1fr);
    gap: 32px;
  }
  .lc-doc { --doc-sheet-pad-x: 44px; --doc-sheet-pad-y: 40px; }
}

@media (max-width: 960px) {
  .lc-doc--toc .lc-doc__layout { display: block; }
  .lc-doc__aside { display: none; }

  .lc-doc__toc-m {
    display: block;
    margin: calc(var(--doc-sheet-pad-y) * -1 + 8px) calc(var(--doc-sheet-pad-x) * -1 + 8px) 28px;
    border-radius: 8px;
    background: var(--lc-paper);
  }
  .lc-doc__toc-m summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--lc-ink);
    list-style: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .lc-doc__toc-m summary::-webkit-details-marker { display: none; }
  .lc-doc__toc-m summary::after {
    content: "";
    width: 7px;
    height: 7px;
    margin: -3px 2px 0 0;
    border-right: 1.75px solid var(--lc-ink-3);
    border-bottom: 1.75px solid var(--lc-ink-3);
    rotate: 45deg;
    transition: rotate .2s cubic-bezier(.2, 0, 0, 1), margin .2s cubic-bezier(.2, 0, 0, 1);
  }
  .lc-doc__toc-m[open] summary::after { rotate: 225deg; margin-top: 3px; }
  .lc-doc__toc-m-count {
    margin-left: auto;
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-ink-3);
    font-variant-numeric: tabular-nums;
  }
  .lc-doc__toc-m .lc-doc__toc-list { padding: 0 6px 8px; }
  .lc-doc__toc-m .lc-doc__toc-list a { padding: 10px 10px; }
  .lc-doc__toc-m .lc-doc__toc-list a[aria-current] { box-shadow: none; background: transparent; }
}

@media (max-width: 640px) {
  .lc-doc {
    --doc-sheet-pad-x: 20px;
    --doc-sheet-pad-y: 28px;
    padding-bottom: 40px;
  }
  .lc-doc__head { padding: 24px 0 20px; }
  .lc-doc__crumbs { font-size: 12.5px; margin-bottom: 10px; }
  .lc-doc .lc-doc__title { font-size: 28px; line-height: 1.2; }
  .lc-doc__meta { font-size: 13px; margin-top: 8px; }

  /* Folha de ponta a ponta: mais largura útil para o texto. */
  .lc-doc__layout { padding: 0; }
  .lc-doc__sheet { border-radius: 0; box-shadow: 0 0 0 1px rgba(26, 28, 33, .05); }

  .lc-doc__content { font-size: 15px; line-height: 1.65; }
  .lc-doc__content h2 { font-size: 19px; margin-top: 2em; }
  .lc-doc__content h3 { font-size: 16px; }
  .lc-doc__content .alert,
  .lc-doc__content blockquote { padding: 14px 16px; }
  .lc-doc__content .alert-frete { font-size: 14.5px; padding: 12px 14px; }
  .lc-doc__content table {
    display: block;
    overflow-x: auto;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lc-doc__toc-list a,
  .lc-doc__toc-m summary::after { transition: none; }
}

/* ─── Rastrear pedido (woocommerce/order/form-tracking.php) ───────────── */
.lc-track { margin: 8px 0 0; }
.lc-track__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 16px; }
.lc-track__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.lc-track__field label { font-size: 14px; font-weight: 600; color: var(--lc-ink); }
.lc-track .input-text {
  height: 46px; margin: 0; padding: 0 14px; border: 0; border-radius: 8px; background: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); font: inherit; font-size: 15px; color: var(--lc-ink);
  font-variant-numeric: tabular-nums; transition: box-shadow .15s ease;
}
.lc-track .input-text:focus { outline: none; box-shadow: inset 0 0 0 2px #3483FA; }
.lc-track__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 18px 0 0; }
.lc-track__btn {
  min-height: 46px; padding: 0 22px; border: 0; border-radius: 6px; background: #3483FA; color: #FFFFFF;
  font: inherit; font-size: 15px; font-weight: 600; letter-spacing: normal; text-transform: none; cursor: pointer;
  transition-property: background-color, scale; transition-duration: .15s;
}
.lc-track__btn:hover { background: #2968C8; color: #FFFFFF; }
.lc-track__btn:active { scale: .96; }
.lc-track__hint { font-size: 13px; color: var(--lc-ink-3); }
