/* Percurso ilustrado: estrutura do app, conteúdo editorial, sem dados de clientes. */
.product-preview { margin: 0; overflow: hidden; border: 1px solid var(--color-moss); border-radius: var(--radius-lg); background: var(--color-white); color: var(--color-text); box-shadow: var(--shadow-soft); }
.product-preview [hidden] { display: none !important; }
.product-preview__caption { padding: 1.25rem 1.5rem; background: var(--color-sage); color: var(--color-deep); font-size: .75rem; line-height: 1.6; }
.product-preview__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: .6rem .75rem; gap: .35rem; border-bottom: 1px solid var(--color-border); }
.product-preview__tabs button { min-height: 44px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-text-secondary); cursor: pointer; font: 500 .88rem var(--font-body); }
.product-preview__tabs button[aria-selected="true"] { background: var(--color-deep); color: var(--color-white); }
.product-preview__tabs button:hover { box-shadow: inset 0 0 0 1px var(--color-moss); }
.product-preview__screen { min-height: 510px; padding: clamp(1rem, 2vw, 1.75rem); }
.product-scene { animation: scene-enter 450ms ease-out both; }
.product-scene h3 { color: var(--color-deep); font-size: 1.6rem; line-height: 1.3; margin-bottom: 1.5rem; }
.product-scene__kicker { color: var(--color-text-secondary); text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; margin-bottom: .75rem; }
.energy-ribbon { height: 14px; border-radius: 20px; background: linear-gradient(90deg, var(--color-sand), var(--color-sage), var(--color-moss)); margin-top: 2rem; position: relative; }
.energy-ribbon span { display: block; position: absolute; width: 28px; height: 28px; border: 5px solid var(--color-white); border-radius: 50%; background: var(--color-deep); top: -7px; left: 54%; box-shadow: 0 0 0 1px var(--color-moss); }
.energy-ribbon__labels { display: flex; justify-content: space-between; color: var(--color-text-secondary); margin-top: .75rem; font-size: .75rem; }
.product-note { padding: 1.3rem; margin-top: 2rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); }
.product-note > span { display: block; color: var(--color-text-muted); font-size: .72rem; margin-bottom: .6rem; }
.product-note p, .product-scene__footnote { font-size: .9rem; line-height: 1.7; }
.product-scene__footnote { margin-top: 1.5rem; color: var(--color-text-secondary); }
.product-mentor { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.4rem; }
.product-mentor img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: center 15%; background: var(--color-sage); }
.product-mentor h3 { margin: 0; font-size: 1.3rem; }
.product-mentor p { margin: .2rem 0 0; color: var(--color-text-secondary); font-size: .72rem; }
.product-mentor__pulse { margin-left: auto; width: 9px; height: 9px; border-radius: 50%; background: var(--color-deep); }
.product-preview[data-playing="true"] .product-mentor__pulse { animation: signal-pulse 2s ease-in-out infinite; }
.product-message { padding: 1rem; border-radius: var(--radius-md); font-size: .86rem; line-height: 1.7; }
.product-message p { margin: 0; }
.product-message--person { margin-left: 1.25rem; background: var(--color-bg-alt); }
.product-message--iris { margin-top: .85rem; margin-right: 1rem; background: var(--color-sage); color: var(--color-deep); }
.product-movement { padding: 1.5rem; background: var(--color-bg); border: 1px solid var(--color-border); border-left: 3px solid var(--color-deep); border-radius: var(--radius-md); }
.product-movement__scope { font-size: .7rem; color: var(--color-text-secondary); }
.product-movement h4 { font: 500 1.35rem/1.4 var(--font-heading); margin: .8rem 0; }
.product-movement p { font-size: .92rem; line-height: 1.7; }
.product-movement__confirm { display: flex; gap: .7rem; align-items: center; border-top: 1px solid var(--color-border); padding-top: 1rem; margin-top: 1.4rem; color: var(--color-deep); font-size: .8rem; }
.product-sharing { margin-top: 1.5rem; font-size: .8rem; line-height: 1.7; color: var(--color-text-secondary); }
.product-preview__controls { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; border-top: 1px solid var(--color-border); }
.product-preview__path { display: flex; align-items: center; flex: 1; max-width: 120px; }
.product-preview__path span { width: 8px; height: 8px; border-radius: 50%; background: var(--color-border); }
.product-preview__path i { height: 1px; background: var(--color-border); flex: 1; }
.product-preview[data-stage="0"] .product-preview__path span:nth-of-type(1), .product-preview[data-stage="1"] .product-preview__path span:nth-of-type(2), .product-preview[data-stage="2"] .product-preview__path span:nth-of-type(3) { background: var(--color-deep); box-shadow: 0 0 0 4px var(--color-sage); }
.product-preview__play { min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--color-moss); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-deep); font: 500 .75rem var(--font-body); cursor: pointer; }
.product-preview__play:disabled { cursor: default; opacity: .65; }
.privacy-grid--verified { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
.privacy-answers { margin-top: 2.75rem; border-top: 1px solid var(--color-border); }
.privacy-answers details { border-bottom: 1px solid var(--color-border); }
.privacy-answers summary { padding: 1.25rem .5rem; color: var(--color-deep); font-weight: 500; cursor: pointer; }
.privacy-answers details p { max-width: 960px; margin: 0; padding: 0 .5rem 1.5rem; color: var(--color-text-secondary); font-size: .94rem; line-height: 1.8; }
.privacy-purpose { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.5rem; border-radius: var(--radius-md); background: var(--color-sage); }
.privacy-purpose h3 { font-size: 1.25rem; margin-bottom: .75rem; }
.privacy-purpose p { max-width: 700px; font-size: .88rem; line-height: 1.8; }
.privacy-purpose a { flex-shrink: 0; max-width: 250px; }
@keyframes scene-enter { from { opacity: .3; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes signal-pulse { 50% { box-shadow: 0 0 0 6px var(--color-sage); } }
@media (max-width: 960px) { .product-preview { max-width: 650px; } .privacy-purpose { align-items: flex-start; flex-direction: column; gap: 1rem; } }
@media (max-width: 640px) { .privacy-grid--verified { grid-template-columns: 1fr; } .product-preview__screen { min-height: 560px; } .product-message { font-size: .82rem; } .product-preview__controls { padding-inline: 1rem; gap: 1rem; } .product-preview__path { max-width: 80px; } }
@media (prefers-reduced-motion: reduce) { .product-scene, .product-preview[data-playing="true"] .product-mentor__pulse { animation: none; } }
