/* Ockham Editorial Layout v1.2.1 — largura central preservada, índice externo no wide */
.oel-root {
  --oel-accent: #c6a267;
  --oel-ink: #25231f;
  --oel-muted: #6c6862;
  --oel-border: #e8e2d8;
  --oel-canvas: #f9f7f3;
  --oel-max-width: 1280px;
  --oel-viewport-width: 100vw;
  --oel-screen-shift: 0px;
  color:var(--oel-ink); font-family: inherit; box-sizing:border-box;
  position:relative; display:block; width:var(--oel-viewport-width); max-width:none!important;
  left:50%; transform:translateX(calc(-50% + var(--oel-screen-shift)));
  margin: 30px 0 76px; text-align:left; line-height:1.7; overflow:visible!important;
}
.oel-root *, .oel-root *::before, .oel-root *::after {box-sizing:border-box;}
.oel-shell {width:min(var(--oel-max-width),calc(100% - 56px)); margin:0 auto; position:relative; display:flex; flex-direction:column; gap:26px; align-items:stretch;}
.oel-main {min-width:0; width:100%;}
.oel-reading-progress {position:fixed;top:0;left:0;height:3px;width:100%;z-index:999999;pointer-events:none;background:transparent;}
.oel-reading-progress span {display:block;width:0;height:100%;background:var(--oel-accent);transition:width 80ms linear;}
/* Índice horizontal discreto, dentro da mesma largura do artigo de 1280px em telas menores. */
.oel-aside {position:relative; order:0; width:min(720px,100%); margin:0 auto; min-width:0;}
.oel-aside-inner {background:var(--oel-canvas);border:1px solid var(--oel-border);border-radius:12px;padding:19px 24px 16px;}
.oel-aside-kicker,.oel-ending-kicker {font-size:10px;font-weight:800;letter-spacing:.15em;color:#906e3d;line-height:1.5;}
.oel-aside-heading {font-family:Georgia,'Times New Roman',serif;font-size:21px!important;line-height:1.25!important;font-weight:500;margin:4px 0 10px!important;color:var(--oel-ink)!important;}
.oel-toc ol {margin:0!important;padding:0!important;list-style:none!important;counter-reset:oel-index;}
.oel-toc li {counter-increment:oel-index;margin:0!important;padding:0!important;}
.oel-toc li::marker {content:'';}
.oel-aside .oel-toc ol {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;}
.oel-toc a {display:grid;grid-template-columns:20px 1fr;gap:6px;align-items:baseline;padding:6px 0;font-size:12px;font-weight:600;color:#504b44!important;line-height:1.42;text-decoration:none!important;overflow-wrap:anywhere;transition:color .15s ease;}
.oel-toc a::before {content:counter(oel-index,decimal-leading-zero);font-size:10px;font-weight:700;color:#ae8a55;}
.oel-toc a:hover,.oel-toc a.oel-active {color:#99713c!important;}
.oel-aside-foot {color:#9b958d;font-size:11px;line-height:1.4;margin-top:10px;}
.oel-mobile-index {display:none;}
/* Em 1920px, 1280px centrais para o artigo + 248px do índice à ESQUERDA, fora do conteúdo. */
@media(min-width:1860px) {
  .oel-shell {gap:0;}
  .oel-aside {order:initial;position:absolute;left:auto;right:calc(100% + 24px);top:0;width:248px;height:100%;margin:0;}
  .oel-aside-inner {position:sticky;top:96px;max-height:calc(100vh - 122px);overflow-y:auto;scrollbar-width:thin;padding:22px 19px;}
  .oel-aside .oel-toc ol {grid-template-columns:minmax(0,1fr);gap:0;}
  .oel-toc a {padding:10px 0;}
  .oel-aside .oel-toc li + li {border-top:1px solid #e9e2d8;}
}
.oel-body {min-width:0;font-size:17px;line-height:1.82;color:#44413c; overflow-wrap:break-word;}
.oel-body :where(p) {margin:0 0 1.12em;color:inherit;line-height:inherit;font-size:inherit;}
/* Ocupação integral do artigo: não deixar uma falsa coluna vazia à direita. */
.oel-body > :where(p,ul,ol,blockquote) {max-width:100%;width:100%;}
.oel-body > p:first-child {font-size:19px;line-height:1.72;color:#39352f;}
.oel-body :where(h2) {font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,2.5vw,37px)!important;font-weight:500;line-height:1.24!important;color:var(--oel-ink)!important;letter-spacing:-.025em;margin:45px 0 19px!important;padding-top:15px;border-top:1px solid var(--oel-border);scroll-margin-top:94px;}
.oel-body :where(h2:first-child) {margin-top:12px!important;border:0;padding-top:0;}
.oel-body :where(h3) {font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,1.8vw,27px)!important;font-weight:500;line-height:1.3!important;letter-spacing:-.015em;margin:28px 0 14px!important;color:var(--oel-ink)!important;scroll-margin-top:88px;}
.oel-body :where(h4) {font-size:18px;margin:25px 0 12px;color:var(--oel-ink);}
.oel-body :where(a) {color:#92713f;text-decoration-color:#d7bf95;text-underline-offset:3px;}
.oel-body :where(a:hover) {color:#654920;}
.oel-body :where(strong,b) {font-weight:700;color:#28231c;}
.oel-body :where(ul,ol) {margin:17px 0 28px;padding-left:24px;}
.oel-body :where(li) {padding-left:4px;margin:0 0 8px;}
.oel-body :where(li::marker) {color:#b38c4e;}
.oel-body :where(blockquote) {border-left:3px solid var(--oel-accent);background:var(--oel-canvas);padding:19px 24px;margin:28px 0;border-radius:0 9px 9px 0;}
.oel-body :where(figure) {margin:18px 0 26px;max-width:100%;}
.oel-body :where(img) {display:block;max-width:100%;height:auto;border-radius:10px;}
.oel-body :where(figcaption) {font-size:12px;line-height:1.5;color:#77716a;margin-top:9px;text-align:left;}
/* Imagens que não viram cards também ficam limitadas, nunca aparecem gigantes. */
.oel-body > :where(p,figure):has(> img:only-child),
.oel-body > :where(p,figure):has(> a:only-child > img:only-child) {max-width:380px;}
.oel-body > img {width:min(380px,100%);height:auto;}
.oel-body :where(table) {border-collapse:collapse;max-width:100%;width:100%;}
.oel-body :where(td,th) {border:1px solid var(--oel-border);padding:10px 12px;}
.oel-body :where(hr) {border:0;border-top:1px solid var(--oel-border);margin:36px 0;}
/* Cards para H3 + imagem + parágrafos: área larga, imagem pequena, sem efeito agressivo */
.oel-body .oel-feature-card {margin:23px 0;padding:26px clamp(22px,3vw,32px);background:#fff;border:1px solid #eae4da;border-radius:13px;box-shadow:0 4px 22px rgba(37,30,19,.025);}
.oel-body .oel-feature-card > h3 {font-size:clamp(22px,2vw,27px)!important;margin:0 0 17px!important;padding:0;}
.oel-feature-grid {display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(24px,3vw,42px);align-items:start;}
.oel-feature-media {min-width:0;max-width:340px;}
.oel-feature-media :where(p,figure) {margin:0!important;max-width:none!important;}
.oel-feature-media img {width:100%;max-height:255px;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;}
.oel-feature-media figcaption {margin-top:8px!important;}
.oel-feature-copy {min-width:0;max-width:none;font-size:16px;line-height:1.76;}
.oel-feature-copy p {font-size:inherit!important;line-height:inherit!important;}
.oel-feature-copy > :last-child {margin-bottom:0!important;}
.oel-body .oel-feature-card.oel-feature-reverse {background:#fcfbf8;}
.oel-feature-card.oel-feature-reverse .oel-feature-grid {grid-template-columns:minmax(0,1fr) minmax(0,340px);}
.oel-feature-card.oel-feature-reverse .oel-feature-media {grid-column:2;grid-row:1;}
.oel-feature-card.oel-feature-reverse .oel-feature-copy {grid-column:1;grid-row:1;}
.oel-body .oel-faq-item {border:1px solid var(--oel-border);border-radius:9px;padding:18px 22px;background:var(--oel-canvas);margin:10px 0;max-width:100%;}
.oel-body .oel-faq-item > h3 {font-family:inherit!important;font-size:17px!important;line-height:1.4!important;font-weight:700!important;margin:0 0 8px!important;}
.oel-body .oel-faq-item p {font-size:15.5px;line-height:1.7;margin-bottom:0;}
.oel-body .oel-faq-item > :last-child {margin-bottom:0;}
.oel-ending {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:54px;background:#24221f;color:#fff;border-radius:12px;padding:26px 30px;max-width:100%;}
.oel-ending p {font-family:Georgia,'Times New Roman',serif;font-size:22px!important;line-height:1.33!important;color:#fff!important;margin:7px 0 0!important;}
.oel-ending-button {border-radius:2px;background:var(--oel-accent);color:#211c14!important;text-decoration:none!important;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:16px 21px;line-height:1.3;white-space:nowrap;}
.oel-ending-button:hover {filter:brightness(1.05);}
@media(max-width:1100px) {
  .oel-root {margin:24px 0 55px;}
  .oel-shell {width:calc(100% - 40px);gap:22px;}
  .oel-feature-grid {grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:24px;}
  .oel-feature-media {max-width:270px;}
  .oel-feature-media img {max-height:203px;}
  .oel-feature-card.oel-feature-reverse .oel-feature-grid {grid-template-columns:minmax(0,1fr) minmax(0,270px);}
  .oel-body .oel-feature-card {padding:22px;}
}
@media(max-width:720px) {
  .oel-root {margin-top:18px;}
  .oel-shell {width:calc(100% - 30px);gap:0;}
  .oel-aside {display:none;}
  .oel-mobile-index {display:block;margin:2px 0 26px;background:var(--oel-canvas);border:1px solid var(--oel-border);border-radius:9px;max-width:100%;}
  .oel-mobile-index summary {cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:var(--oel-ink);padding:16px 17px;}
  .oel-mobile-index summary span {color:#aa8851;font-size:20px;line-height:1;}
  .oel-mobile-index[open] summary span {transform:rotate(45deg);}
  .oel-mobile-index .oel-toc {padding:0 17px 16px;}
  .oel-mobile-index .oel-toc a {font-size:13px;padding:9px 0;}
  .oel-body {font-size:16px;line-height:1.75;}
  .oel-body > p:first-child {font-size:17px;}
  .oel-body :where(h2) {margin-top:43px!important;font-size:29px!important;}
  .oel-body :where(h3) {font-size:23px!important;}
  .oel-feature-grid,.oel-feature-card.oel-feature-reverse .oel-feature-grid {grid-template-columns:minmax(0,1fr);gap:16px;}
  .oel-feature-card.oel-feature-reverse .oel-feature-media,.oel-feature-card.oel-feature-reverse .oel-feature-copy {grid-column:1;grid-row:auto;}
  .oel-feature-media {grid-row:1!important;max-width:320px;}
  .oel-feature-media img {width:100%;max-height:240px;}
  .oel-feature-copy {grid-row:2!important;font-size:15.5px;}
  .oel-body .oel-feature-card {padding:17px;border-radius:10px;}
  .oel-body .oel-feature-card > h3 {font-size:22px!important;}
  .oel-body .oel-faq-item {padding:16px;}
  .oel-ending {flex-direction:column;align-items:flex-start;padding:23px;}
  .oel-ending-button {width:100%;white-space:normal;text-align:center;}
  .oel-body > :where(p,figure):has(> img:only-child),.oel-body > :where(p,figure):has(> a:only-child > img:only-child) {max-width:330px;}
}
@media(prefers-reduced-motion:reduce) {.oel-root * {transition:none!important;scroll-behavior:auto!important;}}

/* 1.2: compatibilidade com blocos independentes do Elementor e imagens individuais */
.oel-body :where(.elementor-widget-container,.elementor-text-editor,.wp-block-group__inner-container){max-width:100%!important;}
.oel-body :where(figure,.wp-block-image) img:not(.oel-wide-image),
.oel-body :where(.elementor-widget-image) img:not(.oel-wide-image),
.oel-body > :where(p,figure) img:not(.oel-wide-image) {max-width:min(380px,100%)!important;width:auto!important;height:auto!important;}
.oel-body .oel-feature-media img {width:100%!important;max-width:340px!important;height:auto!important;max-height:255px!important;aspect-ratio:4/3;object-fit:cover;}
.oel-body .oel-feature-card :where(h3) {font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2vw,27px)!important;margin:0 0 17px!important;}
.oel-body .oel-feature-card > :first-child {margin-top:0!important;}
.oel-body .oel-feature-copy > :first-child {margin-top:0!important;}
.oel-body .oel-feature-copy :where(.elementor-element,.elementor-widget-container,.elementor-text-editor) {width:100%!important;max-width:100%!important;}
.oel-body .oel-feature-copy :where(p){font-size:16px!important;line-height:1.76!important;}
.oel-body .oel-feature-media :where(.elementor-element,.elementor-widget-container){width:100%!important;max-width:100%!important;}
.oel-duplicate-hero-hidden {display:none!important;}
@media(max-width:720px){.oel-body .oel-feature-media img{max-width:320px!important;max-height:240px!important;}}

/* v1.2.1 — elimina espaços laterais involuntários em templates com Elementor/Gutenberg. */
.oel-body > :where(.elementor-element,.elementor-widget,.wp-block-group,.wp-block-columns,.wp-block-paragraph,.wp-block-list) {max-width:100%!important;}
.oel-body > :where(p,ul,ol,blockquote),
.oel-body > .elementor-element :where(.elementor-widget-container,.elementor-text-editor) {max-width:100%!important;}
.oel-body .oel-faq-item,.oel-body .oel-ending {max-width:100%!important;}
