/* Coringa Leve — páginas institucionais (Quem Somos, Consultoria, Contato, Clientes, Manutenção,
   Galeria e Política). Usa as bases de landing.css (topo, títulos, carrossel, formulário). */
.lp-hero--left .lp-hero__in { align-items: flex-start; text-align: left; }
.lp-hero--left .lp-hero__text { max-width: 490px; }
.lp-hero--nocase .lp-hero__title { text-transform: none; }

/* Imagem + texto */
.lp-media { padding: 40px 0 70px; background: #fff; }
.lp-media--gray { background: var(--gray); }
.lp-media--lg { padding-top: 70px; }
.lp-media__in { display: flex; align-items: center; gap: 20px; max-width: 1300px; margin: 0 auto; padding: 10px; }
.lp-media__img, .lp-media__text { flex: 1 1 0; min-width: 0; padding: 10px; }
.lp-media--rev .lp-media__img { order: 2; }
.lp-media__img img { display: block; width: 100%; height: auto; }
.lp-media__img--yellow img, .lp-media__img--red img { border: 7px solid var(--yellow); border-radius: 15px; }
.lp-media__img--red img { border-color: var(--red); }
.lp-media__text { display: flex; flex-direction: column; gap: 20px; }
.lp-media__body { font: 400 16px/1.5 var(--poppins); color: var(--text); }
.lp-media__body > :last-child { margin-bottom: 0; }
.lp ul.lp-media__list { display: flex; flex-direction: column; gap: 5px; margin: 0; padding: 0; list-style: none; font: 400 15px/1.6 var(--poppins); color: var(--text); }
.lp-media__list li { display: flex; align-items: baseline; gap: 8px; }
.lp-media__list .ico { flex: none; font-size: 14px; color: var(--blue-d); transform: translateY(2px); }
.lp-media__cta { margin: 0; }
.lp-media--60 .lp-media__in, .lp-media--40 .lp-media__in { align-items: flex-start; }
.lp-media--60 .lp-media__text { flex-grow: 3; padding: 20px 0 0; }
.lp-media--60 .lp-media__img { flex-grow: 2; padding: 0; }
.lp-media--60 .lp-media__body, .lp-media--60 .lp-media__list { color: #555; }
.lp .lp-media--60 .lp-media__list { font-size: 14px; }
.lp-media--40 .lp-media__img { flex-grow: 2; padding: 0; }
.lp-media--40 .lp-media__text { flex-grow: 3; padding: 40px 0 0; }
.lp-media--clients { position: relative; padding: 38px 6px; background: #fff 0 0 / contain; }
.lp-media--clients.is-near { background-image: url(/wp-content/uploads/2024/01/fundo_-4.png); }
.lp-media--clients::before { content: ""; position: absolute; inset: 0; background: #fff; opacity: .8; }
.lp-media--clients .lp-media__in { position: relative; }
.lp-media--clients .lp-media__img { align-self: stretch; padding-bottom: 33px; background: 0 85% / 37% auto no-repeat; }
.lp-media--clients.is-near .lp-media__img { background-image: url(/wp-content/uploads/2025/09/805933c9-cf5e-4f15-a49a-1efaed8fcb87-1.png); }
.lp-media--clients .lp-media__img img { width: 95%; max-width: 450px; margin: 0 auto 0 calc((95% - min(95%, 450px)) / 2); }
.marquee--4 .marquee__item { width: calc((100cqw - 30px) / 4); }

/* Abas (Missão, Visão, Valores) */
.tabs { display: flex; align-items: stretch; }
.tabs__list { display: flex; flex-direction: column; flex: 0 0 25%; }
.tabs__tab { position: relative; z-index: 1; margin-right: -1px; padding: 20px 25px; font: 600 16px/1 Roboto, var(--poppins); color: #000; text-align: left; background: none; border: 1px solid transparent; border-right: 0; cursor: pointer; }
.tabs__tab[aria-selected="true"] { color: var(--blue); background: #fff; border-color: #e9eaed; }
.tabs__panel { flex: 1 1 auto; min-width: 0; padding: 20px; font: 400 16px/1.5 var(--poppins); color: var(--text); background: #fff; border: 1px solid #e9eaed; }
.tabs__panel > :last-child { margin-bottom: 0; }

/* Cards com ícone */
.lp-feat { padding: 0 16px 80px; background: var(--gray); }
.lp-feat--white { background: #fff; }
.lp-media--gray + .lp-feat--gray { margin-top: -40px; }
.lp-feat--blue { position: relative; padding: 20px 20px 36px; background: var(--blue); }
.lp-feat--blue::before { content: ""; position: absolute; inset: 0; background-size: contain; opacity: .07; pointer-events: none; }
.lp-feat--blue.is-near::before { background-image: url(/wp-content/uploads/2024/01/fundo_-7-1.png); }
.lp-feat__in { position: relative; max-width: 1300px; margin: 0 auto; }
.lp-feat__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 25px; }
.lp-feat__card { padding: 21px; background: #fff; border-radius: 21px; box-shadow: 0 3px 10px rgba(0, 0, 0, .1); }
.lp-feat__box { display: flex; align-items: flex-start; gap: 15px; height: 100%; padding: 25px; border: 2px dashed var(--red); border-radius: 10px; }
.lp-feat__icon { flex: none; font-size: 55px; color: var(--red); }
.lp-feat__title { margin: 8px 0 7px; font: 500 22px/1.1 var(--fredoka); color: var(--navy); }
.lp-feat__desc { margin: 0; font: 400 16px/1.5 var(--poppins); color: var(--text); }
.lp-feat--top .lp-feat__in { display: flex; align-items: center; gap: 24px; }
.lp-feat--top .lp-feat__side { flex: 1 1 0; min-width: 0; padding: 15px; text-align: center; }
.lp-feat--top .lp-feat__grid { flex: 1 1 0; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.lp-feat--top .lp-feat__box { flex-direction: column; align-items: center; padding: 20px; text-align: center; }
.lp-feat--top .lp-feat__icon { font-size: 60px; }
.lp-head--light { text-align: left; }
.lp-head--light h2 { color: #fff; }
.lp-head--light .zigzag { width: 90%; margin-left: 0; background: var(--yellow); }
.lp-feat__side .lp-head { text-align: center; }
.lp-feat__text { margin-top: 20px; font: 400 16px/1.5 var(--poppins); color: #fff; }
.lp-feat__text > :last-child { margin-bottom: 0; }

/* Três fotos */
.lp-photos { display: flex; flex-direction: column; gap: 10px; padding: 48px 10px 80px; background: var(--gray); }
.lp-photos--white { background: #fff; }
.lp-photos > * { width: 100%; max-width: 1300px; margin-left: auto; margin-right: auto; }
.lp-photos__text { max-width: 1008px; font: 400 16px/1.5 var(--poppins); color: var(--text); text-align: center; }
.lp-photos__text > :last-child { margin-bottom: 0; }
.lp-photos__row { margin-top: 20px; }
.lp-photos__row .carousel__track { gap: 20px; }
.lp-photos__row .carousel__track > * { flex: 1 1 0; padding: 0; }
.lp-photos__row img { display: block; width: 100%; height: auto; border: 1px solid #bcbcbc; border-radius: 12px; }
.lp-photos__row .carousel__dots { display: none; }

/* Categorias em cards brancos e vídeos, sobre o azul */
.lp-cats, .lp-videos { position: relative; display: flex; flex-direction: column; gap: 20px; padding: 60px 16px 64px; background: var(--blue); }
.lp-cats::before, .lp-videos::before { content: ""; position: absolute; inset: 0; background-size: contain; opacity: .07; pointer-events: none; }
.lp-cats.is-near::before, .lp-videos.is-near::before { background-image: url(/wp-content/uploads/2024/01/fundo_-7-1.png); }
.lp-cats > *, .lp-videos > * { position: relative; width: 100%; max-width: 1300px; margin-left: auto; margin-right: auto; }
.lp-cats .lp-head, .lp-videos .lp-head { text-align: center; }
.lp-cats .lp-head .zigzag { width: 34%; margin-left: auto; }
.lp-cats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; max-width: 1228px; margin: 0 auto; padding: 32px 16px 16px; }
.lp-cats__card { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 10px; padding: 16px; background: #fff; border: 1px solid #555; border-radius: 12px; }
.lp-cats__title { margin: 0; font: 500 22px/1.1 var(--fredoka); color: var(--navy); text-align: center; }
.lp-cats__img { display: block; width: 219px; max-width: 87%; height: auto; margin: 5px 0; }
.lp-cats__btn { width: 100%; padding: 12px 24px; }

.lp-videos { gap: 10px; }
.lp-videos .lp-head .zigzag { width: 55%; margin-left: auto; }
.lp-videos__text { max-width: 860px; font: 400 16px/1.5 var(--poppins); color: #fff; text-align: center; }
.lp-videos__text > :last-child { margin-bottom: 0; }
.lp-videos__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 20px; }
.lp-videos__item { margin: 0; text-align: center; }
.lp-videos__video { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; background: #000; border: 5px solid var(--yellow); border-radius: 15px; }
.lp-videos__cap { margin-top: 12px; font: italic 500 22px/1.2 var(--fredoka); color: var(--yellow); }
.lp-videos__row .carousel__track > * { flex: 0 0 25%; }
.lp-videos--vertical .lp-videos__video { aspect-ratio: 9 / 16; }
.lp-videos .carousel__dot { background: rgba(255, 255, 255, .45); }
.lp-videos .carousel__dot[aria-current] { background: var(--yellow); }

/* Contato */
.lp-contact { background: #fff; }
.lp-contact__in { display: flex; align-items: stretch; max-width: 1332px; margin: 0 auto; padding: 0 16px; }
.lp-contact__info { flex: 0 0 49.4%; min-width: 0; display: flex; flex-direction: column; gap: 20px; padding: 40px 30px 0 0; }
.lp ul.lp-contact__list { display: flex; flex-direction: column; gap: 20px; margin: 0; padding: 0; list-style: none; }
.lp-contact__list li { display: flex; align-items: center; gap: 15px; }
.lp-contact__icon { display: flex; flex: none; color: var(--blue); font-size: 30px; line-height: 1; }
.lp-contact__icon:hover, .lp-contact__title a:hover { color: var(--blue-d); }
.lp-contact__title { margin: 0; font: 500 18px/1.5 var(--fredoka); color: var(--blue); }
.lp-contact__title a { color: inherit; }
.lp-contact__text { margin: 0; font: 400 16px/1.5 var(--poppins); color: var(--text); }
.lp-contact__text a { color: var(--text); }
.lp-contact__social { display: none; gap: 11px; padding-top: 10px; }
.lp-contact__social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 30px; background: var(--red); color: #fff; font-size: 20px; }
.lp-contact__pic { width: 74%; margin-top: auto; padding-top: 15px; }
.lp-contact__img { display: block; width: 55%; height: auto; margin: 0 auto; }
.lp-contact__card { flex: 1 1 auto; align-self: flex-start; position: relative; z-index: 2; margin: -147px 0 23px; }
.lp-contact__card .lp-quote__title { max-width: 520px; margin-left: auto; margin-right: auto; }
.lp-contact__map { position: relative; display: flex; align-items: center; justify-content: center; height: 450px; overflow: hidden; background: var(--gray); }
.lp-contact__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lp-contact__map.is-loaded .lp-contact__maplink { display: none; }

/* Galeria: carrossel de fotos com marcadores */
.lp-gal { padding: 40px 10px 30px; background: #fff; }
.lp-gal__car { max-width: 1300px; margin: 0 auto; padding: 21px 0 25px; }
.lp-gal__car .carousel__track > * { flex: 0 0 33.333%; padding: 0 5px; }
.lp-gal__car .carousel__arrow--prev { left: 10px; }
.lp-gal__car .carousel__arrow--next { right: 10px; }
.lp-gal__car .carousel__arrow { top: calc(50% - 22px); }
.lp-gal__item { margin: 0; }
.lp-gal__pic { position: relative; display: block; }
.lp-gal__pic img { display: block; width: 100%; height: auto; }
.lp-gal__spot { position: absolute; display: flex; align-items: flex-start; gap: 10px; transform: translate(-17px, -17px); }
.lp-gal__dot { flex: none; width: 34px; height: 34px; border-radius: 30px; background: radial-gradient(circle, #fff 0 8.5px, rgba(255, 255, 255, .61) 9.5px); }
.lp-gal__spot:hover .lp-gal__dot, .lp-gal__spot:focus-visible .lp-gal__dot { background: #fff; }
.lp-gal__label { position: relative; padding: 5px 9px; font: 500 14px/1.4 var(--poppins); color: var(--navy); white-space: nowrap; background: #fff; border-radius: 4px; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.lp-gal__label::before { content: ""; position: absolute; top: 8px; left: -6px; border: 6px solid transparent; border-left: 0; border-right-color: #fff; }

/* Texto corrido */
.lp-text { padding: 48px 16px 80px; background: #fff; }
.lp-text__in { max-width: 1000px; margin: 0 auto; font: 400 15px/1.7 var(--poppins); color: var(--text); }
.lp-text__in strong { color: var(--navy); }
.lp-text__in ol, .lp-text__in ul { padding-left: 1.4em; }

@media (max-width: 1024px) {
	.lp-media__in { gap: 10px; }
	.marquee--4 .marquee__item { width: calc((100cqw - 10px) / 2); }
	.lp-feat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-feat--top .lp-feat__in { flex-direction: column; }
	.lp-feat--top .lp-feat__side, .lp-feat--top .lp-feat__grid { flex-basis: auto; width: 100%; }
	.lp-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-videos__row .carousel__track > * { flex-basis: 33.333%; }
	.lp-gal__car .carousel__track > * { flex-basis: 50%; }
	.lp-contact__info { padding-right: 20px; }
}

@media (max-width: 767px) {
	.lp-hero--left .lp-hero__in { align-items: center; text-align: center; }
	.lp-hero--left .lp-hero__text { max-width: 100%; }
	.lp-hero--overlap { padding-bottom: 150px; }
	.lp-media, .lp-media--lg { padding: 22px 0 38px; }
	.lp-media__in { flex-direction: column; align-items: stretch; gap: 0; }
	.lp-media__img, .lp-media__text, .lp-media--60 .lp-media__text, .lp-media--40 .lp-media__text { padding: 10px 0; }
	.lp-media--60 .lp-media__img { padding-top: 15px; }
	.lp-media__body { font-size: 14px; line-height: 1.5; }
	.lp-media--clients { padding: 38px 6px; }
	.lp-media--clients .lp-media__img { padding-bottom: 0; }
	.tabs { flex-direction: column; }
	.tabs__list { flex-direction: row; flex-basis: auto; }
	.tabs__tab { flex: 1 1 0; margin: 0 0 -1px; padding: 14px 8px; font-size: 14px; text-align: center; border: 1px solid transparent; border-bottom: 0; }
	.tabs__panel { padding: 15px; font-size: 14px; }
	.lp-feat { padding: 16px 16px 48px; }
	.lp-media--gray + .lp-feat--gray { margin-top: -22px; }
	.lp-feat__grid, .lp-feat--top .lp-feat__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.lp-feat__card { padding: 15px; }
	.lp-feat__box { align-items: center; padding: 15px; }
	.lp-feat__icon { font-size: 50px; }
	.lp-feat__title { margin-bottom: 5px; font-size: 18px; }
	.lp-feat__desc { font-size: 13px; }
	.lp-feat--top .lp-feat__icon { font-size: 55px; }
	.lp-feat--blue { padding: 30px 20px; }
	.lp-feat__text { font-size: 14px; }
	.lp-head--light .zigzag { width: 100%; }
	.lp-photos { padding: 2em 10px 3em; }
	.lp-photos__text { font-size: 14px; text-align: left; }
	.lp-photos__row .carousel__track { gap: 0; }
	.lp-photos__row .carousel__track > * { flex: 0 0 100%; }
	.lp-photos__row .carousel__dots { display: flex; }
	.lp-cats { padding: 35px 16px; gap: 10px; }
	.lp-cats .lp-head, .lp-videos .lp-head { text-align: center; }
	.lp-cats .lp-head .zigzag, .lp-videos .lp-head .zigzag { width: 100%; }
	.lp-cats__grid { gap: 13px; margin: 0; padding: 16px 0 0; }
	.lp-cats__card { padding: 12px; }
	.lp-cats__title { font-size: 18px; }
	.lp-cats__btn { padding: 12px 8px; font-size: 14px; }
	.lp-videos { padding: 35px 16px; }
	.lp-videos__text { font-size: 14px; }
	.lp-videos__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.lp-videos__cap { font-size: 18px; }
	.lp-videos__row .carousel__track > * { flex-basis: 75%; }
	.lp-contact__in { flex-direction: column; padding: 0 15px; }
	.lp-contact__card { order: -1; align-self: stretch; width: 100%; margin: -113px 0 0; padding: 30px 20px 40px; }
	.lp-contact__card .lp-quote__title { font-size: 18px; line-height: 1.3; }
	.lp-contact__info { flex-basis: auto; width: 100%; align-items: center; padding: 25px 0 0; }
	.lp-contact__list li { flex-direction: column; gap: 8px; text-align: center; }
	.lp-contact__title { font-size: 20px; }
	.lp-contact__social { display: flex; justify-content: center; }
	.lp-contact__pic { width: 100%; padding-top: 20px; }
	.lp-contact__img { width: 73%; }
	.lp-gal { padding: 20px 10px 30px; }
	.lp-gal__car .carousel__track > * { flex-basis: 100%; padding: 0; }
	.lp-gal__label { font-size: 13px; }
	.lp-text { padding: 2em 16px 3em; }
	.lp-text__in { font-size: 14px; }
}

/* Galeria: vídeos em pé no modo Reels (main.js). Sem JS, ficam numa fileira com rolagem lateral. */
.reels { background: var(--blue); }
.reels__track { display: flex; gap: 20px; overflow-x: auto; padding: 30px 16px 60px; scroll-snap-type: x mandatory; }
.reels__item { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; scroll-snap-align: center; }
.reels__video { display: block; width: auto; height: 70vh; max-width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: #000; border: 5px solid var(--yellow); border-radius: 15px; }
.reels.is-ready .reels__view { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.reels.is-ready .reels__track { flex-direction: column; gap: 0; height: 100%; padding: 0; overflow: visible; will-change: transform; }
.reels.is-ready .reels__item { flex: 0 0 100%; height: 100%; padding: 30px 15px 107px; }
.reels.is-ready .reels__video { height: 100%; }
.reels__dots { position: absolute; top: 50%; left: 14px; z-index: 3; display: flex; flex-direction: column; gap: 12px; transform: translateY(-50%); }
.reels__dot { width: 12px; height: 12px; padding: 0; background: #a7a7a7; border: 0; border-radius: 50%; opacity: .9; cursor: pointer; transition: transform .2s, background .2s; }
.reels__dot[aria-current] { background: #f0eee4; opacity: 1; transform: scale(1.15); }
.reels__arrows { position: absolute; top: 50%; right: 14px; z-index: 4; display: flex; flex-direction: column; gap: 14px; transform: translateY(-50%); }
.reels__arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); border-radius: 12px; cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.reels__arrow svg { width: 18px; height: 18px; fill: #fff; }
.reels__arrow:disabled { opacity: .35; cursor: default; }
.reels__toggle { position: absolute; top: 14px; right: 14px; z-index: 5; padding: 10px 14px; font: 500 14px/1.2 var(--poppins); color: #fff; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.reels__arrow:hover, .reels__toggle:hover, .reels__arrow:focus-visible, .reels__toggle:focus-visible { background: rgba(255, 255, 255, .26); }
.reels.is-ready .reels__view.is-full { position: fixed; inset: 0; z-index: 9999; width: 100vw; height: 100vh; height: 100dvh; background: var(--blue); animation: reels-in .28s cubic-bezier(.2, .8, .2, 1) both; }
html.reels-lock, html.reels-lock body { overflow: hidden; }
@keyframes reels-in { from { opacity: 0; transform: scale(.97); } }
@media (prefers-reduced-motion: reduce) { .reels.is-ready .reels__view.is-full { animation: none; } }
@media (max-width: 767px) {
	.reels__dots { left: 10px; gap: 10px; }
	.reels__arrows { right: 10px; gap: 10px; }
	.reels__arrow { width: 36px; height: 36px; border-radius: 10px; }
	.reels__arrow svg { width: 16px; height: 16px; }
	.reels.is-ready .reels__item { padding: 60px 52px 90px; }
}
