/* Carrossel automático de fotos e texto longo das seções de introdução. */

.yn-carrossel { position: relative; width: 100%; max-width: 32rem; margin: 0 auto; }
.yn-carrossel__swiper { position: relative; overflow: hidden; border-radius: 1rem; box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); background: #0f172a; }
.yn-carrossel__swiper .swiper-slide a { display: block; }
.yn-carrossel__img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
/* Linha de fotos (home): várias por vez, cada uma com cantos arredondados. */
.yn-carrossel--linha { max-width: none; }
.yn-carrossel--linha .yn-carrossel__swiper { padding-bottom: 2.5rem; border-radius: 0; box-shadow: none; background: transparent; }
.yn-carrossel--linha .swiper-slide { overflow: hidden; border-radius: 1rem; box-shadow: 0 10px 25px -10px rgb(0 0 0 / 0.3); }
.yn-carrossel--linha .yn-carrossel__img { aspect-ratio: 4 / 5; transition: transform .7s; }
.yn-carrossel--linha .swiper-slide:hover .yn-carrossel__img { transform: scale(1.05); }
.yn-carrossel--linha .yn-carrossel__dots.swiper-pagination { bottom: 0; }
.yn-carrossel--linha .yn-carrossel__dots .swiper-pagination-bullet { background: #94a3b8; }
.yn-carrossel--linha .yn-carrossel__nav { margin-top: -2.625rem; }

.yn-carrossel__nav { position: absolute; top: 50%; z-index: 10; display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin-top: -1.375rem; border: 0; border-radius: 9999px; background: rgb(255 255 255 / 0.9); color: #0d9488; cursor: pointer; box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.2); transition: background .2s; }
.yn-carrossel__nav:hover { background: #fff; }
.yn-carrossel__nav:focus-visible { outline: 3px solid #2dd4bf; outline-offset: 2px; }
.yn-carrossel__nav svg { width: 1.25rem; height: 1.25rem; }
.yn-carrossel__nav--prev { left: .75rem; }
.yn-carrossel__nav--next { right: .75rem; }
.yn-carrossel__dots.swiper-pagination { bottom: .75rem; }
.yn-carrossel__dots .swiper-pagination-bullet { background: #fff; opacity: .6; }
.yn-carrossel__dots .swiper-pagination-bullet-active { background: #14b8a6; opacity: 1; }

/* Coluna de fotos acompanha o texto longo na rolagem (só em telas grandes). */
.yn-intro-grid { align-items: start; }
.yn-intro-grid > * { min-width: 0; }
@media (min-width: 1024px) {
    .yn-intro-fotos { position: sticky; top: 7rem; }
    /* Fits the window height on short screens, keeping the 3:4 photo shape (7rem header gap + 1.5rem below). */
    .yn-intro-fotos .yn-carrossel { max-width: min(32rem, calc((100vh - 8.5rem) * 0.75)); }
    @supports (height: 100svh) {
        .yn-intro-fotos .yn-carrossel { max-width: min(32rem, calc((100svh - 8.5rem) * 0.75)); }
    }
    /* Single sticky image (Estamparia Digital › Tecnologia): never taller than the window. */
    .yn-foto-fixa img { width: 100%; max-height: calc(100vh - 8.5rem); object-fit: cover; }
}

/* Texto rico da introdução: títulos, parágrafos e botões de WhatsApp. */
.yn-texto, .yn-sumario-lateral { --yn-wa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.08c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2.01-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35M12.05 21.79h-.01a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.88 9.88M20.46 3.49A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.33.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.31-1.65a11.88 11.88 0 0 0 5.68 1.45h.01c6.55 0 11.89-5.33 11.89-11.89 0-3.18-1.24-6.16-3.49-8.41'/%3E%3C/svg%3E"); }
/* Works on whatever the client types: lead paragraph, accent bar on headings, numbered steps, check bullets. */
.yn-texto { line-height: 1.75; }
.yn-texto > * + * { margin-top: 1rem; }
.yn-texto > :first-child { margin-top: 0; }
.yn-texto strong { color: #0f172a; }
.yn-texto > p:first-child { color: #334155; font-size: 1.125rem; line-height: 1.7; }
@media (min-width: 1024px) { .yn-texto > p:first-child { font-size: 1.1875rem; } }
.yn-texto h2, .yn-texto h3, .yn-texto h4 { margin-top: 3rem; color: #0f172a; font-weight: 700; line-height: 1.3; }
.yn-texto h2::before, .yn-texto h3::before { content: ""; display: block; width: 2.5rem; height: .25rem; margin-bottom: .875rem; border-radius: 9999px; background: linear-gradient(to right, #14b8a6, #0d9488); }
.yn-texto h2 { font-size: 1.625rem; }
.yn-texto h3 { font-size: 1.375rem; }
.yn-texto h4 { font-size: 1.125rem; }
.yn-texto h2 + *, .yn-texto h3 + *, .yn-texto h4 + * { margin-top: .75rem; }
/* Numbered steps as a timeline: round numbers joined by a thin line, no boxes. */
.yn-texto ol { counter-reset: yn-passo; margin-top: 1.5rem; padding: 0; list-style: none; }
.yn-texto ol > li { position: relative; padding: 0 0 1.5rem 3.25rem; color: #475569; counter-increment: yn-passo; }
.yn-texto ol > li:last-child { padding-bottom: 0; }
.yn-texto ol > li + li { margin-top: 0; }
.yn-texto ol > li::before { content: counter(yn-passo); position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: linear-gradient(to bottom right, #14b8a6, #0d9488); color: #fff; font-size: .9375rem; font-weight: 700; box-shadow: 0 0 0 4px #f0fdfa; }
.yn-texto ol > li::after { content: ""; position: absolute; top: 2.75rem; bottom: .5rem; left: calc(1.125rem - 1px); width: 2px; border-radius: 9999px; background: #99f6e4; }
.yn-texto ol > li:last-child::after { content: none; }
.yn-texto ol > li > strong:first-child { display: block; padding-top: .3125rem; color: #0f172a; font-size: 1.0625rem; line-height: 1.5; }
.yn-texto ul { padding: 0; list-style: none; }
.yn-texto ul > li { position: relative; padding-left: 1.75rem; }
.yn-texto ul > li + li { margin-top: .5rem; }
.yn-texto ul > li::before { content: ""; position: absolute; top: .45em; left: 0; width: 1.125rem; height: 1.125rem; border-radius: 9999px; background: #ccfbf1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d9488' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / .7rem no-repeat; }
.yn-texto a { color: #0d9488; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.yn-texto a[href*="wa.me"], .yn-texto a[href*="whatsapp.com"] { display: inline-flex; align-items: center; gap: .5rem; padding: .875rem 1.5rem; border-radius: .75rem; background: linear-gradient(to right, #14b8a6, #0d9488); color: #fff; font-weight: 600; text-decoration: none; box-shadow: 0 10px 15px -3px rgb(20 184 166 / 0.3); transition: box-shadow .2s, transform .2s; }
.yn-texto a[href*="wa.me"]:hover, .yn-texto a[href*="whatsapp.com"]:hover { box-shadow: 0 20px 25px -5px rgb(20 184 166 / 0.4); transform: translateY(-1px); }
.yn-texto a[href*="wa.me"]::before, .yn-texto a[href*="whatsapp.com"]::before { content: ""; width: 1.25rem; height: 1.25rem; flex-shrink: 0; background: currentColor; -webkit-mask: var(--yn-wa-icon) center / contain no-repeat; mask: var(--yn-wa-icon) center / contain no-repeat; }
.yn-texto p:has(> a[href*="wa.me"]:only-child), .yn-texto p:has(> strong:only-child > a[href*="wa.me"]) { margin-top: 1.5rem; margin-bottom: .5rem; }

/* Cartões de malhas/tecidos (Estamparia Digital e Sublimação): título centrado na altura, seta sempre visível. */
.yn-card-link { display: flex; align-items: center; gap: .875rem; height: 100%; min-height: 4.5rem; padding: .875rem 1rem .875rem 1.125rem; border: 1px solid #e2e8f0; border-radius: .875rem; background: #fff; box-shadow: 0 1px 2px rgb(15 23 42 / 0.05); text-align: left; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
a.yn-card-link:hover { border-color: #2dd4bf; box-shadow: 0 12px 24px -12px rgb(13 148 136 / 0.35); transform: translateY(-2px); }
a.yn-card-link:focus-visible { outline: 3px solid #2dd4bf; outline-offset: 2px; }
.yn-card-link__thumb { flex-shrink: 0; width: 2.75rem; height: 2.75rem; overflow: hidden; border-radius: .5rem; }
.yn-card-link__thumb img { width: 100%; height: 100%; object-fit: cover; }
.yn-card-link__titulo { flex: 1; min-width: 0; color: #0f172a; font-size: .9375rem; font-weight: 600; line-height: 1.35; transition: color .2s; }
a.yn-card-link:hover .yn-card-link__titulo { color: #0d9488; }
.yn-card-link__seta { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 9999px; background: #f0fdfa; color: #0d9488; transition: background .2s, color .2s; }
.yn-card-link__seta svg { width: 1rem; height: 1rem; transition: transform .2s; }
a.yn-card-link:hover .yn-card-link__seta { background: #14b8a6; color: #fff; }
a.yn-card-link:hover .yn-card-link__seta svg { transform: translateX(2px); }
.yn-card-link--estatico { justify-content: center; text-align: center; }

/* Sumário automático dos artigos ("Neste artigo"). */
html:has(.yn-sumario) { scroll-behavior: smooth; }
.wysiwyg-content :is(h2, h3)[id], .wysiwyg :is(h2, h3)[id] { scroll-margin-top: 7rem; }
.yn-sumario { margin: 2rem 0 2.5rem; border: 1px solid #ccfbf1; border-radius: 1rem; background: linear-gradient(to bottom right, #f0fdfa, #fff); box-shadow: 0 10px 25px -15px rgb(13 148 136 / 0.35); }
.yn-sumario summary { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem; color: #0f172a; font-size: 1.0625rem; font-weight: 700; cursor: pointer; list-style: none; }
.yn-sumario summary::-webkit-details-marker { display: none; }
.yn-sumario summary::after { content: ""; width: .625rem; height: .625rem; margin-left: auto; border-right: 2px solid #0d9488; border-bottom: 2px solid #0d9488; transform: rotate(45deg); transition: transform .2s; }
.yn-sumario details[open] summary::after { transform: rotate(-135deg); }
.yn-sumario__qtd { padding: .125rem .5rem; border-radius: 9999px; background: #ccfbf1; color: #0f766e; font-size: .75rem; font-weight: 600; }
.yn-sumario ol, .wysiwyg-content .yn-sumario ol { counter-reset: yn-topico; margin: 0; padding: 0 1.25rem 1.125rem; list-style: none; columns: 1; }
.yn-sumario li, .wysiwyg-content .yn-sumario li { display: flex; gap: .625rem; margin: 0; padding: .375rem 0; break-inside: avoid; counter-increment: yn-topico; color: #334155; line-height: 1.4; }
.yn-sumario li::before, .wysiwyg-content .yn-sumario li::before { content: counter(yn-topico, decimal-leading-zero); position: static; display: block; flex-shrink: 0; width: auto; height: auto; border-radius: 0; background: none; color: #14b8a6; font-size: .8125rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.6; }
.yn-sumario a, .wysiwyg-content .yn-sumario a { border-bottom: 0; color: #334155; font-size: .9375rem; font-weight: 500; text-decoration: none; transition: color .15s; }
.yn-sumario a:hover, .wysiwyg-content .yn-sumario a:hover { color: #0d9488; text-decoration: underline; text-underline-offset: 3px; }
.wysiwyg-content iframe, .wysiwyg-content video, .wysiwyg-content embed, .wysiwyg iframe { max-width: 100%; }

/* Sumário flutuante (assets/js/sumario.js): botão "Neste artigo" em tablets e celulares. */
.yn-sumario-fixo { position: fixed; bottom: 1.25rem; left: 1rem; z-index: 40; opacity: 0; visibility: hidden; transform: translateY(.5rem); transition: opacity .25s, transform .25s, visibility .25s; }
.yn-sumario-fixo.is-visivel { opacity: 1; visibility: visible; transform: none; }
.yn-sumario-fixo__botao { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.1rem; border: 1px solid #99f6e4; border-radius: 9999px; background: #fff; color: #0f766e; font-size: .9375rem; font-weight: 700; cursor: pointer; box-shadow: 0 12px 24px -10px rgb(15 23 42 / 0.35); }
.yn-sumario-fixo__botao svg { width: 1.125rem; height: 1.125rem; }
.yn-sumario-fixo__botao:focus-visible { outline: 3px solid #2dd4bf; outline-offset: 2px; }
.yn-sumario-fixo__painel { position: absolute; bottom: calc(100% + .75rem); left: 0; display: none; width: min(22rem, calc(100vw - 2rem)); max-height: 60vh; overflow: auto; padding: 1rem 1.125rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 25px 50px -12px rgb(15 23 42 / 0.35); }
.yn-sumario-fixo.is-aberto .yn-sumario-fixo__painel { display: block; }
.yn-sumario-fixo__titulo { margin: 0 0 .5rem; color: #0f172a; font-size: .8125rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.yn-sumario-fixo ol { margin: 0; padding: 0; list-style: none; }
.yn-sumario-fixo li + li { margin-top: .125rem; }
.yn-sumario-fixo a { display: block; padding: .375rem .625rem; border-left: 2px solid #e2e8f0; color: #475569; font-size: .875rem; line-height: 1.35; text-decoration: none; transition: color .15s, border-color .15s, background .15s; }
.yn-sumario-fixo a:hover { color: #0d9488; border-left-color: #5eead4; }
.yn-sumario-fixo a.is-ativo { border-left-color: #14b8a6; background: #f0fdfa; color: #0f766e; font-weight: 600; }

/* Botão "copiar link" ao lado dos títulos dos artigos. */
.yn-copiar-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; margin-left: .5rem; padding: 0; border: 0; border-radius: .5rem; background: transparent; color: #94a3b8; vertical-align: middle; cursor: pointer; opacity: .55; transition: opacity .15s, color .15s, background .15s; }
.yn-copiar-link svg { width: 1.05rem; height: 1.05rem; }
h2:hover > .yn-copiar-link, h3:hover > .yn-copiar-link, .yn-copiar-link:focus-visible, .yn-copiar-link.is-copiado { opacity: 1; color: #0d9488; background: #f0fdfa; }
.yn-copiar-link:focus-visible { outline: 3px solid #2dd4bf; outline-offset: 2px; }
.yn-copiar-link__aviso { position: absolute; bottom: calc(100% + .375rem); left: 50%; padding: .25rem .5rem; border-radius: .375rem; background: #0f172a; color: #fff; font-size: .75rem; font-weight: 600; white-space: nowrap; transform: translateX(-50%); pointer-events: none; opacity: 0; transition: opacity .15s; }
.yn-copiar-link.is-copiado .yn-copiar-link__aviso { opacity: 1; }
@media (hover: none) { .yn-copiar-link { opacity: .8; } }

/* Artigos no computador: texto alinhado à esquerda do container e sumário fixo na coluna da direita,
   visível desde o carregamento. Só quando o artigo tem sumário (.yn-sumario-lateral impresso pelo tema). */
.yn-sumario-lateral { display: none; }
@media (min-width: 1280px) {
    .yn-artigo-grade:has(> .yn-sumario-lateral) { display: grid; grid-template-columns: minmax(0, 56rem) minmax(15rem, 19rem); column-gap: clamp(2.5rem, 4vw, 4.5rem); justify-content: start; align-items: start; }
    .yn-artigo-grade:has(> .yn-sumario-lateral) > .max-w-4xl { margin-left: 0; margin-right: 0; }
    .yn-artigo-grade:has(> .yn-sumario-lateral) .yn-sumario { display: none; }
    body:has(.yn-sumario-lateral) .yn-artigo-topo > .max-w-4xl { max-width: 56rem; margin-left: 0; margin-right: 0; }

    .yn-sumario-lateral { position: sticky; top: 7rem; display: flex; flex-direction: column; max-height: calc(100vh - 8.5rem); }
    .yn-sumario-lateral__topo { flex-shrink: 0; padding-bottom: .875rem; }
    .yn-sumario-lateral__titulo { margin: 0 0 .625rem; color: #0f172a; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .yn-sumario-lateral__progresso { height: 3px; overflow: hidden; border-radius: 9999px; background: #e2e8f0; }
    .yn-sumario-lateral__progresso span { display: block; height: 100%; background: linear-gradient(to right, #14b8a6, #0d9488); transform: scaleX(0); transform-origin: left; transition: transform .15s linear; }
    .yn-sumario-lateral__caixa { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin-right: -.5rem; padding-right: .5rem; scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
    .yn-sumario-lateral__caixa::-webkit-scrollbar { width: 5px; }
    .yn-sumario-lateral__caixa::-webkit-scrollbar-thumb { border-radius: 9999px; background: #cbd5e1; }
    .yn-sumario-lateral__caixa::-webkit-scrollbar-thumb:hover { background: #14b8a6; }
    .yn-sumario-lateral ol { position: relative; margin: 0; padding: 0; list-style: none; border-left: 1px solid #e2e8f0; }
    .yn-sumario-lateral li { margin: 0; }
    .yn-sumario-lateral__caixa a { position: relative; display: -webkit-box; margin-left: -1px; padding: .4375rem 0 .4375rem 1rem; overflow: hidden; border-left: 2px solid transparent; color: #64748b; font-size: .875rem; line-height: 1.45; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; transition: color .15s, border-color .15s; }
    .yn-sumario-lateral__caixa a:hover { color: #0f172a; }
    .yn-sumario-lateral__caixa a.is-ativo { border-left-color: #14b8a6; color: #0f766e; font-weight: 600; }
    .yn-sumario-lateral__cta { flex-shrink: 0; margin-top: 1.25rem; padding: 1.25rem; border-radius: 1.25rem; background: #fff; color: #0f172a; box-shadow: 0 25px 50px -30px rgb(15 23 42 / 0.35); border: 1px solid #e2e8f0; }
    .yn-sumario-lateral__cta-selo { display: inline-flex; margin: 0 0 .625rem; padding: .1875rem .625rem; border: 1px solid #99f6e4; border-radius: 9999px; background: #f0fdfa; color: #0f766e; font-size: .6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
    .yn-sumario-lateral__cta-titulo { margin: 0; color: #0f172a; font-size: 1rem; font-weight: 800; line-height: 1.3; }
    .yn-sumario-lateral__cta-texto { margin: .25rem 0 .875rem; color: #475569; font-size: .8125rem; line-height: 1.45; }
    .yn-sumario-lateral__cta-botao { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .6875rem .875rem; border-radius: .875rem; background: #22c55e; color: #fff; font-size: .875rem; font-weight: 700; text-decoration: none; box-shadow: 0 12px 24px -10px rgb(34 197 94 / 0.7); transition: background .15s, transform .15s; }
    .yn-sumario-lateral__cta-botao:hover { background: #16a34a; transform: translateY(-1px); }
    .yn-sumario-lateral__cta-botao::before { content: ""; width: 1.05rem; height: 1.05rem; background: currentColor; -webkit-mask: var(--yn-wa-icon) center / contain no-repeat; mask: var(--yn-wa-icon) center / contain no-repeat; }
}

/* Laptops: the sidebar reaches the floating WhatsApp button, so it stops above it. */
@media (min-width: 1280px) and (max-width: 1439px) {
    .yn-sumario-lateral { max-height: calc(100vh - 16rem); }
}

/* Cartão de contato que substitui a incorporação da página /contato/ nos artigos. */
.yn-cta-contato, .wysiwyg-content .yn-cta-contato { --yn-wa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.08c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2.01-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35M12.05 21.79h-.01a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.88 9.88M20.46 3.49A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.33.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.31-1.65a11.88 11.88 0 0 0 5.68 1.45h.01c6.55 0 11.89-5.33 11.89-11.89 0-3.18-1.24-6.16-3.49-8.41'/%3E%3C/svg%3E");
    position: relative; display: grid; gap: 1.5rem; margin: 2.5rem 0; padding: 1.75rem; overflow: hidden; border-radius: 1.25rem; background: #fff; color: #0f172a; box-shadow: 0 25px 50px -30px rgb(15 23 42 / 0.35); border: 1px solid #e2e8f0; }
.yn-cta-contato::after { content: none; position: absolute; right: -4rem; bottom: -4rem; width: 14rem; height: 14rem; border-radius: 9999px; background: rgb(45 212 191 / 0.12); filter: blur(10px); pointer-events: none; }
@media (min-width: 768px) { .yn-cta-contato, .wysiwyg-content .yn-cta-contato { grid-template-columns: minmax(0, 1fr) 15rem; align-items: center; gap: 2rem; padding: 2.25rem; } }
.wysiwyg-content .yn-cta-contato p, .yn-cta-contato p { margin: 0; }
.yn-cta-contato .yn-cta-contato__selo, .wysiwyg-content .yn-cta-contato .yn-cta-contato__selo { display: inline-flex; align-items: center; gap: .375rem; padding: .25rem .75rem; border: 1px solid #99f6e4; border-radius: 9999px; background: #f0fdfa; color: #0f766e; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.yn-cta-contato .yn-cta-contato__titulo, .wysiwyg-content .yn-cta-contato .yn-cta-contato__titulo { margin-top: .875rem; color: #0f172a; font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
@media (min-width: 1024px) { .wysiwyg-content .yn-cta-contato .yn-cta-contato__titulo { font-size: 1.75rem; } }
.yn-cta-contato .yn-cta-contato__descricao, .wysiwyg-content .yn-cta-contato .yn-cta-contato__descricao { margin-top: .625rem; color: #475569; font-size: 1rem; line-height: 1.6; }
.wysiwyg-content .yn-cta-contato__pontos, .yn-cta-contato__pontos { display: grid; gap: .5rem; margin: 1.125rem 0 0; padding: 0; list-style: none; }
.wysiwyg-content .yn-cta-contato__pontos li, .yn-cta-contato__pontos li { display: flex; align-items: center; gap: .625rem; margin: 0; padding: 0; color: #334155; font-size: .9375rem; font-weight: 500; }
.wysiwyg-content .yn-cta-contato__pontos li::before { content: none; }
.yn-cta-contato__pontos svg { flex-shrink: 0; width: 1.25rem; height: 1.25rem; padding: .2rem; border-radius: 9999px; background: #14b8a6; color: #fff; }
.yn-cta-contato__acoes { position: relative; z-index: 1; display: grid; gap: .625rem; }
.wysiwyg-content .yn-cta-contato a, .yn-cta-contato a { border-bottom: 0; text-decoration: none; }
.yn-cta-contato__whatsapp, .yn-cta-contato__form { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .9375rem 1rem; text-align: center; white-space: nowrap; border-radius: .875rem; font-size: 1rem; font-weight: 700; transition: transform .15s, box-shadow .15s, background .15s; }
.wysiwyg-content .yn-cta-contato .yn-cta-contato__whatsapp { background: #22c55e; color: #fff; box-shadow: 0 12px 24px -10px rgb(34 197 94 / 0.7); }
.wysiwyg-content .yn-cta-contato .yn-cta-contato__whatsapp:hover { background: #16a34a; color: #fff; transform: translateY(-1px); }
.yn-cta-contato__whatsapp::before { content: ""; width: 1.25rem; height: 1.25rem; background: currentColor; -webkit-mask: var(--yn-wa-icon) center / contain no-repeat; mask: var(--yn-wa-icon) center / contain no-repeat; }
.wysiwyg-content .yn-cta-contato .yn-cta-contato__form { border: 1px solid #cbd5e1; background: #fff; color: #0f172a; }
.wysiwyg-content .yn-cta-contato .yn-cta-contato__form:hover { border-color: #14b8a6; background: #f0fdfa; color: #0f766e; }
.wysiwyg-content .yn-cta-contato .yn-cta-contato__tel { color: #64748b; font-size: .875rem; font-weight: 500; text-align: center; }
.wysiwyg-content .yn-cta-contato .yn-cta-contato__tel:hover { color: #0d9488; }
.yn-cta-contato a:focus-visible { outline: 3px solid #2dd4bf; outline-offset: 2px; }
#fale-conosco { scroll-margin-top: 5rem; }

/* Subtópicos (H3) no sumário: recuados, menores e sem número. */
.yn-sumario li.yn-sumario__nivel-3, .wysiwyg-content .yn-sumario li.yn-sumario__nivel-3 { padding: .1875rem 0 .1875rem 2.125rem; counter-increment: none; }
.yn-sumario li.yn-sumario__nivel-3::before, .wysiwyg-content .yn-sumario li.yn-sumario__nivel-3::before { content: none; }
.yn-sumario li.yn-sumario__nivel-3 a, .wysiwyg-content .yn-sumario li.yn-sumario__nivel-3 a { color: #64748b; font-size: .875rem; }
.yn-sumario-fixo li.yn-sumario__nivel-3 a { padding-left: 1.5rem; font-size: .8125rem; }
@media (min-width: 1280px) {
    .yn-sumario-lateral li.yn-sumario__nivel-3 .yn-sumario-lateral__caixa a, .yn-sumario-lateral .yn-sumario__nivel-3 a { padding-top: .3125rem; padding-bottom: .3125rem; padding-left: 1.875rem; font-size: .8125rem; }
}

/* Formulário de contato no fim dos artigos (dentro da coluna do texto). */
.yn-form-artigo { margin-top: 3rem; padding: 2rem 1.25rem; border: 1px solid #e2e8f0; border-radius: 1.25rem; background: #fff; box-shadow: 0 25px 50px -30px rgb(15 23 42 / 0.35); }
@media (min-width: 768px) { .yn-form-artigo { padding: 2.5rem; } }
.yn-form-artigo__selo { display: inline-flex; margin: 0 0 .875rem; padding: .25rem .75rem; border: 1px solid #99f6e4; border-radius: 9999px; background: #f0fdfa; color: #0f766e; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.yn-form-artigo__titulo { margin: 0; color: #0f172a; font-size: 1.625rem; font-weight: 800; line-height: 1.2; }
@media (min-width: 1024px) { .yn-form-artigo__titulo { font-size: 1.875rem; } }
.yn-form-artigo__texto { margin: .75rem 0 1.75rem; color: #475569; font-size: 1.0625rem; line-height: 1.6; }
.yn-form-artigo__texto strong { color: #0f172a; }

/* Cartão "Saiba mais" (páginas do site incorporadas nos artigos): mesmo estilo claro do cartão de contato. */
.yn-saiba-mais, .wysiwyg-content a.yn-saiba-mais { position: relative; display: flex; flex-direction: column; gap: 1.25rem; margin: 2.5rem 0; padding: 1.25rem; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1.25rem; background: #fff; color: #0f172a; text-decoration: none; box-shadow: 0 25px 50px -30px rgb(15 23 42 / 0.35); transition: border-color .2s, box-shadow .2s, transform .2s; }
@media (min-width: 640px) { .yn-saiba-mais, .wysiwyg-content a.yn-saiba-mais { flex-direction: row; align-items: center; gap: 1.75rem; padding: 1.5rem; } }
.wysiwyg-content a.yn-saiba-mais:hover { color: #0f172a; box-shadow: 0 30px 50px -28px rgb(13 148 136 / 0.4); transform: translateY(-2px); border-color: #5eead4; }
.wysiwyg-content a.yn-saiba-mais:focus-visible { outline: 3px solid #2dd4bf; outline-offset: 3px; }
.yn-saiba-mais__texto { position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: .5rem; }
.yn-saiba-mais__selo { display: inline-flex; padding: .25rem .75rem; border: 1px solid #99f6e4; border-radius: 9999px; background: #f0fdfa; color: #0f766e; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.yn-saiba-mais__titulo { margin-top: .25rem; color: #0f172a; font-size: 1.25rem; font-weight: 800; line-height: 1.25; }
.yn-saiba-mais__resumo { display: -webkit-box; overflow: hidden; color: #475569; font-size: .9375rem; font-weight: 400; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.yn-saiba-mais__link { display: inline-flex; align-items: center; gap: .5rem; margin-top: .5rem; padding: .625rem 1.125rem; border: 1px solid #cbd5e1; border-radius: .875rem; background: #fff; color: #0f172a; font-size: .9375rem; font-weight: 700; transition: border-color .15s, background .15s; }
.wysiwyg-content a.yn-saiba-mais:hover .yn-saiba-mais__link { border-color: #14b8a6; background: #f0fdfa; color: #0f766e; }
.yn-saiba-mais__link svg { width: 1rem; height: 1rem; transition: transform .2s; }
.wysiwyg-content a.yn-saiba-mais:hover .yn-saiba-mais__link svg { transform: translateX(3px); }

/* Passos que enchem de cinza para verde na rolagem (assets/js/texto-animado.js adiciona .yn-passos-animados). */
.yn-texto ol.yn-passos-animados > li::before { background: #e2e8f0; color: #64748b; box-shadow: 0 0 0 4px #f8fafc; transition: background .4s, color .4s, box-shadow .4s, transform .4s; }
.yn-texto ol.yn-passos-animados > li.is-ativo::before { background: linear-gradient(to bottom right, #14b8a6, #0d9488); color: #fff; box-shadow: 0 0 0 4px #ccfbf1; transform: scale(1.06); }
.yn-texto ol.yn-passos-animados > li::after { background: linear-gradient(#14b8a6, #14b8a6) top / 100% var(--yn-linha, 0%) no-repeat, #e2e8f0; }
.yn-texto ol.yn-passos-animados > li > strong:first-child { color: #64748b; transition: color .4s; }
.yn-texto ol.yn-passos-animados > li.is-ativo > strong:first-child { color: #0f172a; }

/* Estamparia Digital: seção abaixo da introdução (parts/estamparia-digital/part-complemento.php).
   Linhas foto + texto alternando o lado, número grande vazado e fechamento num painel verde-claro. */
.yn-complemento { padding: 4.5rem 0 5rem; border-top: 1px solid #f1f5f9; background: #fff; }
@media (min-width: 1024px) { .yn-complemento { padding: 7rem 0 7.5rem; } }
.yn-complemento__abertura { max-width: 48rem; margin: 0 auto 4rem; text-align: center; }

.yn-linha { display: grid; gap: 2.25rem; align-items: center; }
.yn-linha + .yn-linha { margin-top: 4.5rem; }
@media (min-width: 1024px) {
    .yn-linha { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 5.5rem; }
    .yn-linha + .yn-linha { margin-top: 7.5rem; }
    .yn-linha--invertida { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); }
    .yn-linha--invertida .yn-linha__foto { order: 2; }
}
.yn-linha__foto { position: relative; margin: 0; }
.yn-linha__foto::before { content: ""; position: absolute; bottom: -1rem; left: -1rem; width: 58%; height: 68%; border-radius: 1.5rem; background: #ccfbf1; }
.yn-linha--invertida .yn-linha__foto::before { right: -1rem; left: auto; }
@media (min-width: 1024px) {
    .yn-linha__foto::before { bottom: -1.5rem; left: -1.5rem; }
    .yn-linha--invertida .yn-linha__foto::before { right: -1.5rem; left: auto; }
}
.yn-linha__foto img, .yn-linha__img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 1.5rem; box-shadow: 0 30px 60px -32px rgb(15 23 42 / 0.55); }

.yn-linha__texto { max-width: 34rem; }
.yn-linha--invertida .yn-linha__texto { justify-self: end; }
.yn-linha__numero { display: block; margin-bottom: .875rem; color: transparent; font-size: 2.75rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; -webkit-text-stroke: 1.5px #2dd4bf; }
@media (min-width: 1024px) { .yn-linha__numero { font-size: 3.75rem; } }
.yn-texto .yn-linha__titulo { margin: 0 0 1.25rem; color: #0f172a; font-size: 1.625rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
@media (min-width: 1024px) { .yn-texto .yn-linha__titulo { font-size: 2rem; } }
.yn-texto .yn-linha__titulo::before { content: none; }
.yn-linha__texto p { color: #475569; font-size: 1.0625rem; line-height: 1.75; }
.yn-linha__texto strong { color: #0f172a; }

.yn-complemento__fechamento { max-width: 54rem; margin: 5.5rem auto 0; padding: 2.5rem 1.5rem; border: 1px solid #ccfbf1; border-radius: 1.5rem; background: linear-gradient(135deg, #f0fdfa 0%, #ecfeff 100%); text-align: center; }
@media (min-width: 1024px) { .yn-complemento__fechamento { margin-top: 7.5rem; padding: 3.5rem 4rem; } }
.yn-complemento__fechamento p { margin-left: auto; margin-right: auto; color: #334155; font-size: 1.125rem; line-height: 1.7; }
.yn-complemento__fechamento p strong { color: #0f172a; }

/* Home: o formulário e o Instagram são duas seções brancas seguidas; sem o espaço duplo entre elas */
#fale-conosco.bg-white:has(+ section.bg-white) { padding-bottom: 3rem; }
#fale-conosco.bg-white + section.bg-white { padding-top: 0; }
@media (min-width: 1024px) {
    #fale-conosco.bg-white:has(+ section.bg-white) { padding-bottom: 4rem; }
}
