/*
Theme Name: Jhonny Cazoni Finance v3
Description: Tema próprio com Gutenberg, fiel à baseline Astro. Referências de mercado do cache validado. v3 (landing do e-book + Sobre). 0.4.0: blog/artigos em estrutura portal, home da consultoria redesenhada.
Version: 0.5.9
Author: Jhonny Cazoni
Text Domain: jhonny-cazoni-finance
WPVibe: yes
*/
/* WordPress adapter: the baseline is loaded separately and kept intact. */
body{margin:0}.wp-site-blocks{padding:0}.article-art img{width:100%;height:100%;object-fit:cover}.prose img{max-width:100%;height:auto}.pagination{margin:32px 0}.nav-links{display:flex;gap:16px}.page-heading{padding:64px 0 32px}.page-heading h1{margin-bottom:20px}.jcf-editor-notice{padding:12px;border:1px solid var(--brand-border,#e2a87c)}.market-toolbar input[type=search]{min-width:0}.wp-block-image img{height:auto}body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}
/* WPVibe's draft Tailwind preset must not replace the baseline's system font stack. */
body:not(.wp-admin){font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;--font-sans:'Avenir Next',Avenir,'Segoe UI',sans-serif}

/* Text-only CTAs retain the former icon footprint as padding, with no replacement icon. */
.button.jcf-text-cta{padding-inline:41.04px;min-height:55px}
.login.jcf-text-login{padding-inline:36.5px;justify-content:center}
/* Optional Media Library portraits never introduce an empty frame. */
.portrait-placeholder.jcf-has-photo::before{display:none}
.portrait-placeholder.jcf-has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jcf-consultoria-photo{margin:32px 0 0;max-width:420px;aspect-ratio:4/4.5;border-radius:var(--radius);overflow:hidden}
.jcf-consultoria-photo img{display:block;width:100%;height:100%;object-fit:cover}
.author-card .jcf-author-photo{width:48px;height:48px;object-fit:cover;border-radius:50%;flex:none}
@media(max-width:767px){.login.jcf-text-login{padding-inline:23.5px}}


.jcf-updated{font-size:12px;color:var(--muted);margin-top:12px}
.jcf-social-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}
.jcf-institutional-photo{object-position:50% 35%}
.article-bottom{gap:12px;flex-wrap:wrap}
.article-bottom a{font-size:12px;white-space:nowrap}

/* One shared editorial e-book component; no additional JavaScript or remote assets. */
.ebook-cta{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:48px;margin:40px 0 64px;padding:40px 48px;border:1px solid var(--brand-border,#e2a87c30);border-radius:var(--radius);background:var(--ebook-fill,linear-gradient(120deg,#0e2c35,#0a242c));box-shadow:var(--decorative-shadow,inset 0 1px 0 #ffffff06)}
.ebook-cover{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:5px;background:var(--ebook-cover-fill,#0a242c);border:1px solid var(--brand-border,#ecbd9830);box-shadow:var(--decorative-shadow,0 12px 32px #0003)}
.ebook-cover img{display:block;width:100%;height:100%;object-fit:cover} /* 0.3.13: caixa 4:5 (item 01) */
.ebook-cover-fallback{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:24px 20px;border-left:5px solid var(--brand-border,#e2a87c30);background:var(--ebook-fallback-fill,linear-gradient(145deg,#0e2c35,#0a242c))}
.ebook-cover-fallback strong{font-size:23px;line-height:1.25;letter-spacing:-.035em;font-weight:500;color:var(--text-accent,#f0dccb)}
.ebook-cover-fallback small{font-size:10px;letter-spacing:.1em;color:var(--text-accent,#ecbd98)}
.ebook-copy{min-width:0}.ebook-copy .eyebrow{font-size:12px;margin:0 0 14px}.ebook-copy h2{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0 0 18px}
.ebook-description{font-size:17px;line-height:1.7;color:var(--text-secondary,#c9c7d6);margin:0 0 16px}.ebook-offer{font-size:16px;line-height:1.65;color:var(--text-accent,#ecbd98);margin:0}.ebook-copy .button{margin-top:24px;min-height:48px;font-size:14px}
.ebook-cta--compact,.ebook-cta--post{grid-template-columns:140px minmax(0,1fr);gap:32px;padding:32px}.ebook-cta--compact .ebook-copy h2,.ebook-cta--post .ebook-copy h2{font-size:28px}.ebook-cta--compact .ebook-cover-fallback,.ebook-cta--post .ebook-cover-fallback{padding:18px 14px}.ebook-cta--compact .ebook-cover-fallback strong,.ebook-cta--post .ebook-cover-fallback strong{font-size:19px}
@media(max-width:767px){.ebook-cta,.ebook-cta--compact,.ebook-cta--post{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 24px;margin:32px 0 48px}.ebook-cover{width:164px;justify-self:center}.ebook-copy h2,.ebook-cta--compact .ebook-copy h2,.ebook-cta--post .ebook-copy h2{font-size:28px}.ebook-description{font-size:16px}.ebook-copy .button{width:100%;white-space:normal}.ebook-cta .ebook-cover-fallback{padding:22px 16px}.ebook-cta .ebook-cover-fallback strong{font-size:21px}}
/* Real-reference ticker only; the original 47px/44px shell and all other sections stay intact. */
.jcf-real-ticker .ticker-fixed{display:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-width:145px;padding-inline:18px}
.jcf-real-ticker .ticker-status,.jcf-real-ticker .ticker-attribution{font-size:10px;line-height:1.4;color:var(--text-secondary,#c4c2d0);white-space:nowrap}
.jcf-real-ticker .ticker-attribution[hidden]{display:none}
/* Contain absolute screen-reader labels even when reduced motion removes the track transform. */
.jcf-real-ticker .ticker-window{position:relative;mask-image:none}
.jcf-real-ticker .ticker-track{animation:none}
.jcf-real-ticker.ticker-ready .ticker-track{animation:ticker var(--ticker-duration,65s) linear infinite}
.jcf-real-ticker .ticker-group{flex-shrink:0}
.jcf-real-ticker .ticker-reference{color:var(--text-secondary,#c4c2d0)}
.jcf-real-ticker:hover .ticker-track,.jcf-real-ticker:focus-within .ticker-track,.jcf-real-ticker.paused .ticker-track{animation-play-state:paused}
.jcf-real-ticker a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:767px){.jcf-real-ticker .ticker-fixed{min-width:116px;padding-inline:10px}.jcf-real-ticker .ticker-status,.jcf-real-ticker .ticker-attribution{font-size:10px}.jcf-real-ticker .ticker-item{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.jcf-real-ticker .ticker-track{animation:none!important;transform:none}.jcf-real-ticker .ticker-window{overflow-x:auto}.jcf-real-ticker .ticker-group [aria-hidden=true]{display:none}}

/* Suppress only a token crossing the viewport edge, preserving continuous positions. */
.jcf-real-ticker .ticker-edge-hidden{opacity:0}
@media(prefers-reduced-motion:reduce){.jcf-real-ticker .ticker-edge-hidden{opacity:1}}

/* Lote 1: cached market references; no invented charts or per-visit provider calls. */
.jcf-market-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch}
.jcf-market-card{min-width:0;display:flex;flex-direction:column;gap:16px}
.jcf-market-card[hidden]{display:none!important}
.jcf-market-card .market-top{align-items:flex-start;gap:12px;flex-wrap:wrap}
.jcf-market-card .market-top>div{min-width:0}.jcf-market-card h3{overflow-wrap:anywhere}
.jcf-market-card .micro-label{white-space:normal;font-size:10px;color:var(--muted)}
.jcf-market-card .quote-row{flex-wrap:wrap;gap:10px}.jcf-market-card .quote-row strong{font-size:clamp(23px,3vw,30px);overflow-wrap:anywhere}
.jcf-market-card .change{font-size:13px;white-space:normal}
.jcf-market-reference,.jcf-market-source,.jcf-market-note,.jcf-market-selection{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.jcf-market-reference{margin-top:auto}.jcf-market-source a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.jcf-market-note{max-width:80ch;margin:16px 0 24px}
.market-toolbar input,.market-toolbar select{min-height:48px;max-width:100%;font:inherit}
#empty-market[hidden]{display:none!important}
.jcf-asset-data{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px}
.jcf-market-context{min-width:0;padding:28px}.jcf-market-context h2{font-size:24px;line-height:1.3}.jcf-market-context p{color:var(--muted);line-height:1.75}.jcf-market-context a{white-space:normal}
@media(max-width:767px){.jcf-asset-data{grid-template-columns:minmax(0,1fr)}.market-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.market-toolbar input,.market-toolbar select{width:100%;min-width:0}.jcf-market-context{padding:24px}}

/* Lote 3: institutional copy and the existing WPForms contact form share site tokens. */
.jcf-institutional{padding-bottom:40px}.jcf-institutional-section>h2{font-size:clamp(28px,3vw,38px);max-width:24ch;margin:12px 0 24px}.jcf-institutional-section>p:not(.eyebrow){max-width:78ch;margin:16px 0;line-height:1.8}
.jcf-institutional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jcf-institutional .feature-card,.jcf-contact-layout>div{min-width:0}
.jcf-institutional .feature-card h3{font-size:23px;line-height:1.3}.jcf-institutional .feature-card p{line-height:1.8}
.jcf-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px}.cta .jcf-cta-actions{margin:0;max-width:100%}.jcf-cta-actions a{overflow-wrap:anywhere;white-space:normal}
.jcf-institutional .faq summary{min-height:44px;line-height:1.7}.jcf-institutional .faq p{max-width:78ch;line-height:1.8}
.jcf-consulting-process{max-width:850px}.jcf-consulting-process .process-item p{max-width:68ch;font-size:16px;line-height:1.8}
.jcf-contact-links{display:grid;gap:18px;margin-top:24px}.jcf-contact-copy>.text-link{display:inline-block;margin:24px 0;overflow-wrap:anywhere}.jcf-contact-copy h3{font-size:23px;margin-top:30px}.jcf-contact-copy .notice{line-height:1.8}
.jcf-contact-panel{padding:32px;scroll-margin-top:135px}.jcf-contact-panel>h2{font-size:28px;margin-bottom:16px}.jcf-contact-panel .small{color:var(--muted);line-height:1.8}.jcf-contact-privacy{margin-top:24px}.jcf-contact-privacy a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.jcf-contact-panel div.wpforms-container{margin:24px 0 0}.jcf-contact-panel div.wpforms-container .wpforms-field{padding:0 0 24px}.jcf-contact-panel div.wpforms-container .wpforms-field-label{color:var(--text);font-size:16px;font-weight:600;margin:0 0 8px}
.jcf-contact-panel div.wpforms-container .wpforms-field :is(input[type=text],input[type=email],textarea){width:100%;max-width:100%;min-height:48px;height:auto;border:1px solid var(--field-border,#71888d);border-radius:8px;padding:12px 14px;background:var(--field-fill,var(--bg-secondary));color:var(--text);font:inherit;font-size:16px;box-shadow:none}
.jcf-contact-panel div.wpforms-container .wpforms-field textarea{min-height:160px;resize:vertical}.jcf-contact-panel div.wpforms-container .wpforms-field :is(input,textarea):focus{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent);box-shadow:none}
.jcf-contact-panel div.wpforms-container .wpforms-required-label,.jcf-contact-panel div.wpforms-container :is(label.wpforms-error,em.wpforms-error){color:var(--negative,#ff9ab0);font-size:14px;line-height:1.6}
.jcf-contact-panel div.wpforms-container .wpforms-submit-container{padding:0}.jcf-contact-panel div.wpforms-container button[type=submit]{height:auto;min-height:48px;padding:13px 24px;border:1px solid transparent;border-radius:8px;background:var(--button-fill,#93491f);color:var(--on-brand,#fff);font:inherit;font-weight:600;box-shadow:none;text-shadow:none;white-space:normal}
.jcf-contact-panel div.wpforms-container button[type=submit]:hover{background:var(--button-hover,#7f3f1b)}.jcf-contact-panel div.wpforms-container button[type=submit]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.jcf-contact-panel div.wpforms-container button[type=submit]:disabled{opacity:.65;cursor:wait}
.jcf-contact-panel :is(.wpforms-confirmation-container-full,.wpforms-error-container){padding:20px;border:1px solid var(--brand-border,#e2a87c30);border-radius:8px;background:var(--notice-fill,var(--surface));color:var(--text);line-height:1.8}.jcf-contact-panel .wpforms-confirmation-container-full p+p{margin-top:16px}.jcf-contact-panel .wpforms-confirmation-container-full a{color:var(--accent);overflow-wrap:anywhere;text-decoration:underline}
@media(max-width:430px){.site-header .header-inner{gap:4px}.site-header .header-actions{gap:4px}.site-header .appearance-control select{min-width:80px;max-width:80px}.site-header .login.jcf-text-login{padding-inline:6px;min-height:44px}}
@media(max-width:767px){.jcf-institutional-grid{grid-template-columns:minmax(0,1fr)}.jcf-contact-panel{padding:24px 20px}.jcf-cta-actions{align-items:flex-start;flex-direction:column}.jcf-institutional .button{max-width:100%;white-space:normal;text-align:center}.jcf-contact-panel div.wpforms-container button[type=submit]{width:100%}.jcf-institutional-section>h2{font-size:30px}.jcf-consulting-process .process-item{gap:16px}}


/* 0.3.9 — no horizontal scroll on phones: long URLs in post prose wrap; ticker stays contained (0.3.6 marquee untouched). */
.prose{overflow-wrap:anywhere}
.prose a{overflow-wrap:anywhere;word-break:break-word}
.v3-ticker{max-width:100%;overflow:hidden}
.v3-ticker .ticker__in{max-width:100%;min-width:0}
.v3-ticker .ticker__in>*{min-width:0}
.v3-ticker .ticker__tag{min-width:auto}
/* 0.3.12 — social icons (footer, Sobre, author box). Palette vars from assets/v3/palette.css; auto light/dark. */
.jcf-social-icons{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.jcf-social-icons li{margin:0;padding:0}
.jcf-social-icons__link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:999px;color:var(--accent,#e2a87c);border:1px solid var(--line,#ffffff1c);background:var(--soft,transparent);text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease}
.jcf-social-icons__link:hover{border-color:var(--accent,#e2a87c);background:color-mix(in srgb,var(--accent,#e2a87c) 12%,transparent)}
.jcf-social-icons__link:focus-visible{outline:2px solid var(--focus,#ecbd98);outline-offset:3px}
.jcf-social-icons__svg{width:20px;height:20px;display:block}
.jc-v3-shell .jcf-social-icons a.jcf-social-icons__link{color:var(--accent,#e2a87c);text-decoration:none}
/* Footer is a dark band in both modes: icons follow the footer text colour (like its links), copper border on hover. */
.jc-v3-shell .foot .jcf-social-icons,.foot__cols ul.jcf-social-icons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.jc-v3-shell .foot a.jcf-social-icons__link{color:inherit;border-color:color-mix(in srgb,currentColor 28%,transparent);background:transparent;opacity:.9}
.jc-v3-shell .foot a.jcf-social-icons__link:hover{opacity:1;border-color:var(--accent,#e2a87c);background:color-mix(in srgb,currentColor 8%,transparent)}
.jcf-sobre-social{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line,#ffffff1c)}
.jcf-sobre-social__title{font:650 1rem/1.3 var(--sans,inherit)!important;letter-spacing:0;margin:0}
.author-card .jcf-social-icons{margin-top:.5rem}
@media (prefers-reduced-motion:reduce){.jcf-social-icons__link{transition:none}}
