/* Base visual dos widgets. Tudo fica dentro de .nova-page para não vazar para o tema. */
.nova-page:not(.nova-raw) {
	color: var(--n-ink, #14161b);
	font-family: var(--n-font-body, system-ui, sans-serif);
	font-size: 16px;
	line-height: 1.6;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

.nova-page:not(.nova-raw) *, .nova-page:not(.nova-raw) *::before, .nova-page:not(.nova-raw) *::after {
	box-sizing: border-box;
}

.nova-page:not(.nova-raw) :where(h1, h2, h3, h4, h5, h6) {
	color: inherit;
	font-family: var(--n-font-heading, inherit);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin: 0;
}

.nova-page:not(.nova-raw) :where(h1) { font-size: clamp(38px, 5.2vw, 68px); }
.nova-page:not(.nova-raw) :where(h2) { font-size: clamp(28px, 3.6vw, 46px); }
.nova-page:not(.nova-raw) :where(h3) { font-size: clamp(20px, 2vw, 26px); }
.nova-page:not(.nova-raw) :where(h4) { font-size: 20px; }
.nova-page:not(.nova-raw) :where(h5) { font-size: 17px; }
.nova-page:not(.nova-raw) :where(h6) { font-size: 15px; }

.nova-page:not(.nova-raw) :where(a) { color: inherit; }

.nova-page .nova-container:not([data-look]) {
	display: flex;
	flex-direction: column;
	min-width: 0;
	position: relative;
}

.nova-page .nova-heading:not([data-look]) a { color: inherit; text-decoration: none; }

.nova-page .nova-text:not([data-look]) > :first-child { margin-block-start: 0; }
.nova-page .nova-text:not([data-look]) > :last-child { margin-block-end: 0; }

.nova-page .nova-image:not([data-look]) { display: block; height: auto; max-width: 100%; }

.nova-page .nova-button:not([data-look]) {
	align-items: center;
	background: var(--n-primary, #ff5a1f);
	border: 0;
	border-radius: var(--n-radius, 14px);
	color: var(--n-on-primary, #fff);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 600;
	gap: 10px;
	justify-content: center;
	line-height: 1.2;
	padding: 15px 26px;
	text-decoration: none;
	transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), filter 160ms ease;
	width: fit-content;
}

.nova-page .nova-button:not([data-look]):active { transform: scale(0.97); }

@media (hover: hover) and (pointer: fine) {
	.nova-page .nova-button:not([data-look]):hover { filter: brightness(1.08); }
}

.nova-page .nova-button__icon { display: inline-flex; }
.nova-page .nova-button__icon svg, .nova-page .nova-icon svg, .nova-page .nova-list__icon svg, .nova-page .nova-accordion__icon svg, .nova-page .nova-carousel__arrows svg { display: block; height: 1.15em; width: 1.15em; }

.nova-page .nova-icon { color: var(--n-primary, #ff5a1f); display: inline-flex; font-size: 28px; width: fit-content; }
.nova-page .nova-icon svg { height: 1em; width: 1em; }

.nova-page .nova-list { display: flex; flex-direction: column; gap: 12px; list-style: none; margin: 0; padding: 0; }
.nova-page .nova-list li { align-items: flex-start; display: flex; gap: 10px; }
.nova-page .nova-list__icon { color: var(--nova-list-icon, var(--n-primary, #ff5a1f)); display: inline-flex; flex: none; margin-top: 0.25em; }

.nova-page .nova-divider { background: var(--n-line, #e3e5ea); border: 0; height: 1px; margin: 0; width: 100%; }
.nova-page .nova-spacer { height: 40px; }

.nova-page .nova-video, .nova-page .nova-map { aspect-ratio: 16 / 9; background: var(--n-surface-alt, #f4f5f7); border-radius: var(--n-radius, 14px); overflow: hidden; width: 100%; }
.nova-page .nova-map { aspect-ratio: 16 / 7; }
.nova-page .nova-video iframe, .nova-page .nova-map iframe { border: 0; display: block; height: 100%; width: 100%; }

.nova-page .nova-accordion { border-bottom: 1px solid var(--n-line, #e3e5ea); }
.nova-page .nova-accordion summary { align-items: center; cursor: pointer; display: flex; font-weight: 600; gap: 16px; justify-content: space-between; list-style: none; padding: 18px 2px; }
.nova-page .nova-accordion summary::-webkit-details-marker { display: none; }
.nova-page .nova-accordion__icon { color: var(--n-primary, #ff5a1f); display: inline-flex; flex: none; transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1); }
.nova-page .nova-accordion[open] .nova-accordion__icon { transform: rotate(180deg); }
.nova-page .nova-accordion__body { color: var(--n-ink-soft, #5a6170); padding: 0 2px 20px; }
.nova-page .nova-accordion__body > :first-child { margin-top: 0; }
.nova-page .nova-accordion__body > :last-child { margin-bottom: 0; }

.nova-page .nova-carousel { min-width: 0; position: relative; width: 100%; }
.nova-page .nova-carousel__track { display: flex; gap: var(--nova-gap, 20px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.nova-page .nova-carousel__track::-webkit-scrollbar { display: none; }
.nova-page .nova-carousel__track > * { flex: 0 0 auto; scroll-snap-align: start; }
.nova-page .nova-carousel__arrows { display: flex; gap: 10px; margin-top: 18px; }
.nova-page .nova-carousel__arrows button { align-items: center; background: var(--n-surface, #fff); border: 1px solid var(--n-line, #e3e5ea); border-radius: 999px; color: var(--n-ink, #14161b); cursor: pointer; display: inline-flex; height: 44px; justify-content: center; transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1); width: 44px; }
.nova-page .nova-carousel__arrows button:active { transform: scale(0.94); }

.nova-page .nova-counter__number { font-family: var(--n-font-heading, inherit); font-size: clamp(34px, 4vw, 54px); font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; }
.nova-page .nova-counter__label { color: var(--n-ink-soft, #5a6170); margin-top: 6px; }

.nova-page .nova-countdown { display: flex; flex-wrap: wrap; gap: 12px; }
.nova-page .nova-countdown__unit { align-items: center; background: var(--n-surface-alt, #f4f5f7); border-radius: var(--n-radius, 14px); display: flex; flex-direction: column; min-width: 76px; padding: 12px 14px; }
.nova-page .nova-countdown__unit strong { font-family: var(--n-font-heading, inherit); font-size: 30px; font-variant-numeric: tabular-nums; line-height: 1.1; }
.nova-page .nova-countdown__unit small { color: var(--n-ink-soft, #5a6170); font-size: 12px; }

.nova-page .nova-marquee { mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); overflow: hidden; width: 100%; }
.nova-page .nova-marquee__track { align-items: center; display: flex; gap: var(--nova-gap, 48px); width: max-content; }
.nova-page .nova-marquee__track > * { flex: none; }
.nova-page .nova-marquee.is-running .nova-marquee__track { animation: nova-marquee var(--nova-marquee-speed, 30s) linear infinite; }
.nova-page .nova-marquee[data-reverse].is-running .nova-marquee__track { animation-direction: reverse; }
@keyframes nova-marquee { to { transform: translateX(-50%); } }

.nova-page .nova-form { display: flex; flex-direction: column; gap: 14px; width: 100%; }
.nova-page .nova-form__field { display: flex; flex-direction: column; font-size: 14px; font-weight: 600; gap: 6px; }
.nova-page .nova-form__field[data-type="checkbox"] { align-items: center; flex-direction: row; font-weight: 400; gap: 10px; }
.nova-page .nova-form__field :where(input:not([type="checkbox"]), textarea, select) { background: var(--n-surface, #fff); border: 1px solid var(--n-line, #e3e5ea); border-radius: calc(var(--n-radius, 14px) * 0.7); color: var(--n-ink, #14161b); font: inherit; font-weight: 400; min-height: 48px; padding: 12px 14px; transition: border-color 160ms ease; width: 100%; }
.nova-page .nova-form__field :where(input, textarea, select):focus { border-color: var(--n-primary, #ff5a1f); outline: 2px solid color-mix(in srgb, var(--n-primary, #ff5a1f) 25%, transparent); outline-offset: 0; }
.nova-page .nova-form__trap { height: 1px; left: -9999px; opacity: 0; position: absolute; width: 1px; }
.nova-page .nova-form__submit { width: 100%; }
.nova-page .nova-form__submit[disabled] { cursor: progress; opacity: 0.7; }
.nova-page .nova-form__status { font-size: 14px; }
.nova-page .nova-form__status:empty { display: none; }
.nova-page .nova-form__status[data-state="error"] { color: #b3261e; }
.nova-page .nova-form__status[data-state="success"] { color: #0f7b4f; font-weight: 600; }

.nova-page .nova-rating { color: #f5b301; display: inline-block; font-size: 20px; letter-spacing: 2px; line-height: 1; width: fit-content; }
.nova-page .nova-rating[data-value="1"] { clip-path: inset(0 80% 0 0); }
.nova-page .nova-rating[data-value="2"] { clip-path: inset(0 60% 0 0); }
.nova-page .nova-rating[data-value="3"] { clip-path: inset(0 40% 0 0); }
.nova-page .nova-rating[data-value="4"] { clip-path: inset(0 20% 0 0); }
.nova-page .nova-rating[data-value="4.5"] { clip-path: inset(0 10% 0 0); }

.nova-page .nova-badge { color: var(--n-primary, #ff5a1f); display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; width: fit-content; }

/* Hover: efeitos só em CSS, para dispositivos com mouse. */
@media (hover: hover) and (pointer: fine) {
	[data-nova-hover] { transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 240ms ease, opacity 200ms ease, filter 200ms ease; }
	[data-nova-hover="lift"]:hover { box-shadow: 0 18px 44px rgb(16 18 24 / 16%); transform: translateY(-6px); }
	[data-nova-hover="grow"]:hover { transform: scale(1.04); }
	[data-nova-hover="glow"]:hover { box-shadow: 0 0 34px color-mix(in srgb, var(--n-primary, #ff5a1f) 55%, transparent); }
	[data-nova-hover="dim"]:hover { opacity: 0.65; }
}

/* Evita o "pisca" antes da animação. Sem JS, a classe não existe e tudo fica visível. */
html.nova-js [data-nova-enter]:not(.nova-entered) { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	html.nova-js [data-nova-enter]:not(.nova-entered) { opacity: 1; }
	.nova-page .nova-marquee.is-running .nova-marquee__track { animation-play-state: paused; }
}

/* Código preservado pelo importador: o invólucro não interfere no layout. */
.nova-raw .nova-html { display: contents; }
.nova-capture-status { font-size: 14px; margin: 10px 0 0; }

/* ===== Widgets 0.5 (Elementor Pro e Theme Builder) ===== */
.nova-page .nova-w { min-width: 0; }
.nova-page .nova-w img { display: block; height: auto; max-width: 100%; }
.nova-page .nova-w :where(h2, h3) { margin: 0; }

/* Abas */
.nova-page .nova-tabs__list { border-bottom: 1px solid var(--n-line, #e3e5ea); display: flex; flex-wrap: wrap; gap: 4px; }
.nova-page .nova-tabs__tab { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--n-ink-soft, #5a6170); cursor: pointer; font: inherit; font-weight: 600; margin-bottom: -1px; padding: 12px 16px; }
.nova-page .nova-tabs__tab[aria-selected="true"] { border-color: var(--n-primary, #ff5a1f); color: var(--n-ink, #14161b); }
.nova-page .nova-tabs__panel { padding: 20px 2px; }
.nova-page .nova-tabs__panel[hidden] { display: none; }

/* Caixa de ícone e de imagem */
.nova-page .nova-iconbox { display: flex; flex-direction: column; gap: 10px; }
.nova-page .nova-iconbox[data-align="center"] { align-items: center; text-align: center; }
.nova-page .nova-iconbox__icon { align-items: center; background: color-mix(in srgb, var(--n-primary, #ff5a1f) 12%, transparent); border-radius: calc(var(--n-radius, 14px) * .8); color: var(--n-primary, #ff5a1f); display: inline-flex; font-size: 26px; height: 56px; justify-content: center; width: 56px; }
.nova-page .nova-iconbox__icon svg { height: 1em; width: 1em; }
.nova-page .nova-iconbox__title, .nova-page .nova-imagebox__title { font-size: 20px; }
.nova-page .nova-iconbox__text, .nova-page .nova-imagebox__text { color: var(--n-ink-soft, #5a6170); }
.nova-page .nova-iconbox__text > :first-child, .nova-page .nova-imagebox__text > :first-child { margin-top: 0; }
.nova-page .nova-iconbox__link { color: var(--n-primary, #ff5a1f); font-weight: 600; text-decoration: none; }
.nova-page .nova-imagebox { display: flex; flex-direction: column; gap: 12px; }
.nova-page .nova-imagebox__media { aspect-ratio: 4 / 3; border-radius: var(--n-radius, 14px); display: block; overflow: hidden; }
.nova-page .nova-imagebox__img { height: 100% !important; object-fit: cover; transition: transform 500ms cubic-bezier(.2, .8, .2, 1); width: 100%; }
.nova-page .nova-imagebox:hover .nova-imagebox__img { transform: scale(1.04); }
.nova-page .nova-imagebox__img:not([src]), .nova-page .nova-gallery__img:not([src]) { background: var(--n-surface-alt, #f4f5f7); min-height: 160px; }

/* Galeria */
.nova-page .nova-gallery { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nova-page .nova-gallery[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nova-page .nova-gallery[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nova-page .nova-gallery[data-columns="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 767px) { .nova-page .nova-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.nova-page .nova-gallery__item { aspect-ratio: 1; border-radius: calc(var(--n-radius, 14px) * .6); cursor: zoom-in; display: block; overflow: hidden; }
.nova-page .nova-gallery__img { height: 100% !important; object-fit: cover; width: 100%; }
.nova-lightbox { align-items: center; background: rgb(8 9 12 / 92%); cursor: zoom-out; display: flex; inset: 0; justify-content: center; padding: 24px; position: fixed; z-index: 99999; }
.nova-lightbox img { border-radius: 8px; max-height: 92vh; max-width: 92vw; }

/* Barra de progresso */
.nova-page .nova-progress__head { display: flex; font-weight: 600; justify-content: space-between; margin-bottom: 8px; }
.nova-page .nova-progress__bar { background: var(--n-surface-alt, #eceef2); border-radius: 99px; height: 10px; overflow: hidden; }
.nova-page .nova-progress__fill { background: var(--n-primary, #ff5a1f); border-radius: inherit; height: 100%; transition: width 1.4s cubic-bezier(.2, .8, .2, 1); width: 0; }

/* Depoimento e citação */
.nova-page .nova-testimonial { background: var(--n-surface-alt, #f4f5f7); border-radius: var(--n-radius, 14px); display: flex; flex-direction: column; gap: 14px; padding: 28px; }
.nova-page .nova-testimonial__stars { color: #f5b301; letter-spacing: 2px; width: fit-content; }
.nova-page .nova-testimonial__stars[data-value="4"] { clip-path: inset(0 20% 0 0); }
.nova-page .nova-testimonial__stars[data-value="4.5"] { clip-path: inset(0 10% 0 0); }
.nova-page .nova-testimonial__text { font-size: 17px; margin: 0; }
.nova-page .nova-testimonial__text > :first-child { margin-top: 0; }
.nova-page .nova-testimonial__text > :last-child { margin-bottom: 0; }
.nova-page .nova-testimonial__who { align-items: center; display: flex; gap: 12px; }
.nova-page .nova-testimonial__photo { border-radius: 50%; height: 48px !important; object-fit: cover; width: 48px; }
.nova-page .nova-testimonial__name { display: flex; flex-direction: column; line-height: 1.3; }
.nova-page .nova-testimonial__role { color: var(--n-ink-soft, #5a6170); }
.nova-page .nova-quote { border-left: 4px solid var(--n-primary, #ff5a1f); margin: 0; padding: 4px 0 4px 22px; }
.nova-page .nova-quote__text { font-size: clamp(20px, 2.2vw, 26px); font-weight: 500; line-height: 1.35; margin: 0; }
.nova-page .nova-quote__text > * { margin: 0; }
.nova-page .nova-quote__author { color: var(--n-ink-soft, #5a6170); margin-top: 10px; }
.nova-page .nova-quote__author::before { content: '\2014\00a0'; }

/* Ícones sociais e compartilhar */
.nova-page .nova-social { display: flex; flex-wrap: wrap; gap: 10px; }
.nova-page .nova-social__link { align-items: center; background: var(--n-surface-alt, #f4f5f7); border-radius: 50%; color: var(--n-ink, #14161b); display: inline-flex; height: 42px; justify-content: center; transition: transform 160ms ease, background-color 160ms ease, color 160ms ease; width: 42px; }
.nova-page .nova-social__link:hover { background: var(--n-primary, #ff5a1f); color: var(--n-on-primary, #fff); transform: translateY(-2px); }
.nova-page .nova-social__link svg { height: 18px; width: 18px; }
.nova-page .nova-share { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.nova-page .nova-share__label { font-weight: 600; margin-right: 4px; }
.nova-page .nova-share__link { background: var(--n-surface-alt, #f4f5f7); border-radius: 99px; color: var(--n-ink, #14161b); font-size: 14px; font-weight: 600; padding: 8px 14px; text-decoration: none; text-transform: capitalize; }
.nova-page .nova-share__link:hover { background: var(--n-primary, #ff5a1f); color: var(--n-on-primary, #fff); }

/* Alerta */
.nova-page .nova-alert { align-items: flex-start; background: #eef4ff; border-left: 4px solid #2f6bff; border-radius: 10px; display: flex; gap: 12px; padding: 14px 16px; }
.nova-page .nova-alert[data-kind="success"] { background: #e9f8f0; border-color: #12a05c; }
.nova-page .nova-alert[data-kind="warning"] { background: #fff6e5; border-color: #f0a000; }
.nova-page .nova-alert[data-kind="danger"] { background: #fdeceb; border-color: #d93a2b; }
.nova-page .nova-alert__body { flex: 1; }
.nova-page .nova-alert__text > * { margin: 4px 0 0; }
.nova-page .nova-alert__close { background: none; border: 0; cursor: pointer; font-size: 20px; line-height: 1; opacity: .6; }

/* Manchete animada */
.nova-page .nova-headline__words { color: var(--n-primary, #ff5a1f); display: inline-block; position: relative; }
.nova-page .nova-headline[data-effect="typing"] .nova-headline__words::after { animation: nova-caret 900ms steps(1) infinite; border-right: 2px solid currentColor; content: ''; margin-left: 2px; }
.nova-page .nova-headline[data-effect="highlight"] .nova-headline__words { background: linear-gradient(transparent 62%, color-mix(in srgb, var(--n-primary, #ff5a1f) 30%, transparent) 62%) no-repeat 0 0 / 0 100%; color: inherit; transition: background-size 900ms cubic-bezier(.2, .8, .2, 1); }
.nova-page .nova-headline[data-effect="highlight"] .nova-headline__words.is-on { background-size: 100% 100%; }
.nova-page .nova-headline__words .is-noise { opacity: .45; }
@keyframes nova-caret { 50% { border-color: transparent; } }

/* Caixa que vira */
.nova-page .nova-flip { min-height: 280px; perspective: 1200px; }
.nova-page .nova-flip__inner { height: 100%; min-height: inherit; position: relative; transform-style: preserve-3d; transition: transform 700ms cubic-bezier(.2, .8, .2, 1); }
.nova-page .nova-flip:hover .nova-flip__inner, .nova-page .nova-flip:focus-within .nova-flip__inner { transform: rotateY(180deg); }
.nova-page .nova-flip__front, .nova-page .nova-flip__back { align-items: center; backface-visibility: hidden; border-radius: var(--n-radius, 14px); display: flex; flex-direction: column; gap: 10px; inset: 0; justify-content: center; padding: 28px; position: absolute; text-align: center; }
.nova-page .nova-flip__front { background: var(--n-surface-alt, #f4f5f7); }
.nova-page .nova-flip__back { background: var(--n-primary, #ff5a1f); color: var(--n-on-primary, #fff); transform: rotateY(180deg); }
.nova-page .nova-flip__back .nova-button { background: var(--n-on-primary, #fff); color: var(--n-primary, #ff5a1f); }
.nova-page .nova-flip__icon { color: var(--n-primary, #ff5a1f); font-size: 34px; }
.nova-page .nova-flip__icon svg { height: 1em; width: 1em; }
.nova-page .nova-flip__text { margin: 0; opacity: .85; }

/* Preços */
.nova-page .nova-pricelist { display: flex; flex-direction: column; gap: 18px; list-style: none; margin: 0; padding: 0; }
.nova-page .nova-pricelist__row { align-items: baseline; display: flex; gap: 8px; }
.nova-page .nova-pricelist__dots { border-bottom: 2px dotted var(--n-line, #d5d8de); flex: 1; }
.nova-page .nova-pricelist__price { color: var(--n-primary, #ff5a1f); font-weight: 700; }
.nova-page .nova-pricelist__desc { color: var(--n-ink-soft, #5a6170); display: block; margin-top: 2px; }
.nova-page .nova-pricetable { background: var(--n-surface, #fff); border: 1px solid var(--n-line, #e3e5ea); border-radius: var(--n-radius, 14px); display: flex; flex-direction: column; gap: 10px; padding: 32px 28px; position: relative; }
.nova-page .nova-pricetable__ribbon { background: var(--n-primary, #ff5a1f); border-radius: 99px; color: var(--n-on-primary, #fff); font-size: 12px; font-weight: 700; left: 50%; padding: 5px 14px; position: absolute; top: 0; transform: translate(-50%, -50%); white-space: nowrap; }
.nova-page .nova-pricetable:has(.nova-pricetable__ribbon) { border: 2px solid var(--n-primary, #ff5a1f); }
.nova-page .nova-pricetable__subtitle { color: var(--n-ink-soft, #5a6170); margin: 0; }
.nova-page .nova-pricetable__amount { font-size: 44px; letter-spacing: -.02em; line-height: 1; }
.nova-page .nova-pricetable__period { color: var(--n-ink-soft, #5a6170); }
.nova-page .nova-pricetable__features ul { display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 8px 0 12px; padding: 0; }
.nova-page .nova-pricetable__features li::before { color: var(--n-primary, #ff5a1f); content: '\2713'; font-weight: 700; margin-right: 8px; }
.nova-page .nova-pricetable__button { justify-content: center; margin-top: auto; width: 100%; }

/* Chamada à ação */
.nova-page .nova-cta { background: var(--n-ink, #14161b); border-radius: var(--n-radius, 14px); color: #fff; isolation: isolate; overflow: hidden; padding: clamp(36px, 6vw, 72px); position: relative; }
.nova-page .nova-cta__bg { height: 100% !important; inset: 0; object-fit: cover; opacity: .45; position: absolute; width: 100%; z-index: -1; }
.nova-page .nova-cta__content { display: flex; flex-direction: column; gap: 14px; max-width: 640px; }
.nova-page .nova-cta__text { margin: 0; opacity: .85; }

/* Sumário */
.nova-page .nova-toc { background: var(--n-surface-alt, #f4f5f7); border-radius: var(--n-radius, 14px); padding: 20px 22px; }
.nova-page .nova-toc__list { display: flex; flex-direction: column; gap: 6px; margin: 10px 0 0; padding-left: 18px; }
.nova-page .nova-toc__list a { color: inherit; text-decoration: none; }
.nova-page .nova-toc__list a:hover { color: var(--n-primary, #ff5a1f); }
.nova-page .nova-toc__list .is-sub { margin-left: 16px; }

/* Lottie, código, progresso de leitura */
.nova-page .nova-lottie { aspect-ratio: 1; max-width: 360px; width: 100%; }
.nova-page .nova-codeblock { background: #0f1117; border-radius: var(--n-radius, 14px); color: #e6e8ee; overflow: hidden; position: relative; }
.nova-page .nova-codeblock__lang { color: #8a90a0; font: 12px/1 ui-monospace, monospace; left: 16px; position: absolute; text-transform: uppercase; top: 14px; }
.nova-page .nova-codeblock__copy { background: rgb(255 255 255 / 8%); border: 0; border-radius: 6px; color: #e6e8ee; cursor: pointer; font-size: 12px; padding: 6px 10px; position: absolute; right: 10px; top: 8px; }
.nova-page .nova-codeblock__pre { font: 14px/1.6 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; margin: 0; overflow: auto; padding: 42px 18px 18px; white-space: pre; }
.nova-page .nova-readprogress { height: 4px; left: 0; position: fixed; right: 0; top: 0; z-index: 9999; }
body.admin-bar .nova-page .nova-readprogress { top: 32px; }
.nova-page .nova-readprogress__fill { background: var(--n-primary, #ff5a1f); display: block; height: 100%; transform: scaleX(var(--nova-read, 0)); transform-origin: 0 50%; }

/* Hotspot */
.nova-page .nova-hotspot { position: relative; }
.nova-page .nova-hotspot__img { border-radius: var(--n-radius, 14px); width: 100%; }
.nova-page .nova-hotspot__img:not([src]) { background: var(--n-surface-alt, #f4f5f7); min-height: 320px; }
.nova-page .nova-hotspot__point { background: var(--n-primary, #ff5a1f); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 6px color-mix(in srgb, var(--n-primary, #ff5a1f) 30%, transparent); cursor: pointer; height: 22px; left: 50%; padding: 0; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 22px; }
.nova-page .nova-hotspot__tip { background: var(--n-ink, #14161b); border-radius: 8px; bottom: calc(100% + 12px); color: #fff; font-size: 13px; left: 50%; opacity: 0; padding: 7px 10px; pointer-events: none; position: absolute; transform: translate(-50%, 6px); transition: opacity 160ms ease, transform 160ms ease; white-space: nowrap; }
.nova-page .nova-hotspot__point:hover .nova-hotspot__tip, .nova-page .nova-hotspot__point:focus .nova-hotspot__tip { opacity: 1; transform: translate(-50%, 0); }

/* Slides */
.nova-page .nova-slides { border-radius: var(--n-radius, 14px); display: grid; min-height: 480px; overflow: hidden; position: relative; }
.nova-page .nova-slides__slide { align-items: center; background: var(--n-ink, #14161b); color: #fff; display: flex; grid-area: 1 / 1; isolation: isolate; opacity: 0; padding: clamp(32px, 6vw, 80px); position: relative; transition: opacity 800ms ease; visibility: hidden; }
.nova-page .nova-slides__slide.is-active, .nova-page .nova-slides:not(.is-ready) .nova-slides__slide:first-child { opacity: 1; visibility: visible; }
.nova-page .nova-slides__bg { height: 100% !important; inset: 0; object-fit: cover; opacity: .55; position: absolute; width: 100%; z-index: -1; }
.nova-page .nova-slides__content { display: flex; flex-direction: column; gap: 14px; max-width: 620px; }
.nova-page .nova-slides__title { font-size: clamp(30px, 4vw, 52px); }
.nova-page .nova-slides__text { margin: 0; opacity: .85; }
.nova-page .nova-slides__dots { bottom: 18px; display: flex; gap: 8px; left: 50%; position: absolute; transform: translateX(-50%); }
.nova-page .nova-slides__dots button { background: rgb(255 255 255 / 45%); border: 0; border-radius: 99px; cursor: pointer; height: 8px; padding: 0; transition: width 300ms ease, background-color 300ms ease; width: 8px; }
.nova-page .nova-slides__dots button[aria-current="true"] { background: #fff; width: 24px; }

/* Fora da tela */
.nova-page .nova-offcanvas__panel { background: var(--n-surface, #fff); bottom: 0; box-shadow: 0 0 60px rgb(0 0 0 / 25%); max-width: 90vw; overflow-y: auto; padding: 56px 24px 24px; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform 400ms cubic-bezier(.2, .8, .2, 1); width: 380px; z-index: 9998; }
.nova-page .nova-offcanvas__panel[data-side="left"] { left: 0; right: auto; transform: translateX(-105%); }
.nova-page .nova-offcanvas__panel.is-open { transform: none; }
.nova-page .nova-offcanvas__close { background: none; border: 0; cursor: pointer; font-size: 28px; position: absolute; right: 16px; top: 10px; }
.nova-offcanvas-shade { background: rgb(0 0 0 / 40%); inset: 0; position: fixed; z-index: 9997; }

/* Site: busca, menu, logo, posts */
.nova-page .nova-search { display: flex; gap: 8px; }
.nova-page .nova-search__input { border: 1px solid var(--n-line, #e3e5ea); border-radius: calc(var(--n-radius, 14px) * .7); flex: 1; font: inherit; min-height: 48px; padding: 10px 14px; }
.nova-page .nova-navmenu { position: relative; }
.nova-page .nova-navmenu__list { display: flex; flex-wrap: wrap; gap: 6px 24px; list-style: none; margin: 0; padding: 0; }
.nova-page .nova-navmenu[data-layout="vertical"] .nova-navmenu__list { flex-direction: column; }
.nova-page .nova-navmenu__list a { color: inherit; font-weight: 500; text-decoration: none; }
.nova-page .nova-navmenu__list a:hover, .nova-page .nova-navmenu__list .current-menu-item > a { color: var(--n-primary, #ff5a1f); }
.nova-page .nova-navmenu__list .sub-menu { display: none; list-style: none; padding: 8px 0 0 12px; }
.nova-page .nova-navmenu__list li:hover > .sub-menu { display: block; }
.nova-page .nova-navmenu__toggle { background: none; border: 0; cursor: pointer; display: none; flex-direction: column; gap: 5px; padding: 8px; }
.nova-page .nova-navmenu__toggle span { background: currentColor; border-radius: 2px; display: block; height: 2px; width: 22px; }
@media (max-width: 767px) {
	.nova-page .nova-navmenu__toggle { display: inline-flex; }
	.nova-page .nova-navmenu__items { display: none; }
	.nova-page .nova-navmenu.is-open .nova-navmenu__items { background: var(--n-surface, #fff); border-radius: 12px; box-shadow: 0 20px 50px rgb(0 0 0 / 15%); display: block; padding: 18px; position: absolute; right: 0; top: 100%; z-index: 50; }
	.nova-page .nova-navmenu.is-open .nova-navmenu__list { flex-direction: column; }
}
.nova-page .nova-sitelogo { color: inherit; display: inline-flex; font-size: 22px; font-weight: 800; text-decoration: none; }
.nova-page .nova-sitelogo__img { max-height: 56px; width: auto; }
.nova-page .nova-sitetitle a { color: inherit; text-decoration: none; }
.nova-page .nova-postcontent > :first-child { margin-top: 0; }
.nova-page .nova-postcontent img { border-radius: 10px; height: auto; max-width: 100%; }
.nova-page .nova-featured__img { border-radius: var(--n-radius, 14px); width: 100%; }
.nova-page .nova-postinfo { color: var(--n-ink-soft, #5a6170); display: flex; flex-wrap: wrap; font-size: 14px; gap: 6px 18px; }
.nova-page .nova-postinfo__item:empty { display: none; }
.nova-page .nova-posts { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nova-page .nova-posts[data-columns="1"] { grid-template-columns: minmax(0, 1fr); }
.nova-page .nova-posts[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nova-page .nova-posts[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767px) { .nova-page .nova-posts { grid-template-columns: minmax(0, 1fr) !important; } }
.nova-page .nova-posts__card { background: var(--n-surface, #fff); border: 1px solid var(--n-line, #e3e5ea); border-radius: var(--n-radius, 14px); display: flex; flex-direction: column; overflow: hidden; }
.nova-page .nova-posts__media { aspect-ratio: 16 / 10; display: block; overflow: hidden; }
.nova-page .nova-posts__img { height: 100% !important; object-fit: cover; width: 100%; }
.nova-page .nova-posts__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 22px; }
.nova-page .nova-posts__meta { color: var(--n-ink-soft, #5a6170); }
.nova-page .nova-posts__title { font-size: 19px; }
.nova-page .nova-posts__link { color: inherit; text-decoration: none; }
.nova-page .nova-posts__excerpt { color: var(--n-ink-soft, #5a6170); margin: 0; }
.nova-page .nova-posts__more { color: var(--n-primary, #ff5a1f); font-weight: 600; text-decoration: none; }
.nova-page .nova-login form { display: flex; flex-direction: column; gap: 10px; }
.nova-page .nova-login input[type="text"], .nova-page .nova-login input[type="password"] { border: 1px solid var(--n-line, #e3e5ea); border-radius: 8px; font: inherit; min-height: 44px; padding: 8px 12px; width: 100%; }
.nova-page .nova-login input[type="submit"] { background: var(--n-primary, #ff5a1f); border: 0; border-radius: var(--n-radius, 14px); color: var(--n-on-primary, #fff); cursor: pointer; font: inherit; font-weight: 600; padding: 12px 20px; }
.nova-page [class*="__preview"] { border: 1px dashed var(--n-line, #ccd0d8); border-radius: 8px; color: var(--n-ink-soft, #5a6170); font-size: 14px; padding: 14px; }
@media (prefers-reduced-motion: reduce) { .nova-page .nova-flip__inner, .nova-page .nova-slides__slide, .nova-page .nova-progress__fill { transition: none; } }
