:root {
  --text: #1d1d1f;
  --subtext: #6e6e73;
  --bg: #ffffff;
  --card: #ffffff;
  --line: #d2d2d7;
  --accent: #0071e3; /* Azul alinhado ao Plano de Aula */
  --accent-hover: #0077ed;
  --brand: #8ebf50; /* Verde usado no header das páginas professor */
  --shadow: 0 1px 0 rgba(0,0,0,0.08), 0 8px 24px rgba(0,0,0,0.06);
  --radius: 14px;
}

*, *::before, *::after { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text); }
a { color: var(--text); text-decoration: none; }

.po-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

.riscado {
  text-decoration: line-through;
}

/* Header (alinhado com páginas professor: card claro, borda verde, sombra) */
.po-header { background: var(--card); border-bottom: 5px solid var(--brand); box-shadow: var(--shadow); position: sticky; top: 0; z-index: 10; }
.po-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.po-logo { font-weight: 700; font-size: 22px; letter-spacing: 0.2px; }
.po-logo span { color: var(--brand); }
.po-nav { display: flex; align-items: center; }
.po-nav a { margin-left: 16px; opacity: 0.95; font-weight: 600; }
/* Alternância de rótulo no botão de contato do header */
.po-contact-label-mobile { display: none; }
.po-contact-label-desktop { display: inline; }

/* Botões com o mesmo look & feel do Plano de Aula */
.u-btn, .btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; font-weight: 700; padding: 10px 16px; cursor: pointer; border: 1px solid var(--line); background: #fff; color: #333; transition: background-color .2s ease, transform .05s ease; }
.btn-primary { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-primary1 { background: #8ebf50; color: #fff; border-color: #8ebf50; }
.u-btn:hover { background: var(--accent-hover); color: #fff; }
.u-btn:active { transform: scale(0.98); }
.u-btn[disabled] { opacity: 0.6; cursor: not-allowed; filter: grayscale(100%); }

/* Hero */
.po-hero { border-bottom: 1px solid var(--line); }
.po-hero-inner { padding: 36px 0; display: grid; grid-template-columns: 1fr; gap: 16px; align-items: center; text-align: center; }
.po-hero h1 { font-size: 40px; letter-spacing: -0.015em; margin: 0 0 10px; }
.po-hero-sub { max-width: 760px; margin: 0 auto 20px; color: var(--subtext); }
.po-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* Grid do hero dividido em duas colunas */
.po-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; }
@media (max-width: 900px) { .po-hero-grid { grid-template-columns: 1fr; } }

/* Fundo da seção hero e do card do hero */
.po-hero { background-color: #1d1d1f; }
.po-hero-1{ background-color: #1d1d1f; color: #f5f5f7; }
.po-hero-card { background: #f2f2f2; border: none; }
.po-hero-card-1 { padding: 20px; background: #1d1d1f; border: none; }

/* Seção: Por que o planejamento é tão importante? (fundo escuro, texto claro) */
.po-importance { background-color: #1d1d1f; color: #f5f5f7; min-height: 100vh; display: flex; align-items: center; }
.po-importance .po-hero-inner { padding: 56px 0; min-height: inherit; }
.po-importance .po-hero-card,
.po-importance .po-hero-card-grid { background-color: #1d1d1f; border: none; }
.po-importance .po-hero-card-grid { grid-template-columns: 1fr !important; }
.po-importance .po-hero-card-content { grid-column: 1 / -1; width: 100%; text-align: center; margin-top: 0; }
.po-importance .po-hero-card-image { display: flex; align-items: center; height: 100%; }
.po-importance .po-video-aspect { position: relative; width: 100%; height: 100%; aspect-ratio: auto; }
.po-importance .po-importance-poster { inset: 0; }

/* Centralizar texto e ocultar imagem na seção importância */
.po-importance .po-hero-inner { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.po-importance .po-hero-card-image,
.po-importance .po-video-aspect,
.po-importance .po-importance-poster { display: none !important; }

/* Tipografia: h2 fixo em 50px para a seção importância */
.po-importance .po-hero-card h2 { font-size: 50px; line-height: 1.15; }
.po-importance .lead { font-size: clamp(24px, 3.6vh, 36px); line-height: 1.5; }
.po-importance .muted { font-size: clamp(18px, 2.6vh, 28px); line-height: 1.6; }
.po-importance small { font-size: clamp(16px, 2.2vh, 22px); }
/* Parágrafos maiores na seção importância */
.po-importance .po-hero-card-content p,
.po-importance .po-hero-card-content .muted,
.po-importance .po-hero-card-content .lead { font-size: 20px; line-height: 1.6; }
/* Cards internos com espaço para imagem */
.po-importance .po-importance-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; width: 100%; margin-top: 24px; }
.po-importance .po-mini-card { background-color: #222326; border: 1px solid #2e2f33; border-radius: 12px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.po-importance .po-mini-card-image { background: #2a2b2f url('images2/prof2.png') center/cover no-repeat; aspect-ratio: 16/9; }
.po-importance .po-importance-cards .po-mini-card:nth-child(1) .po-mini-card-image { background-image: url('images2/prof1.png'); }
.po-importance .po-importance-cards .po-mini-card:nth-child(2) .po-mini-card-image { background-image: url('images2/prof2.png'); }
.po-importance .po-mini-card-body { padding: 16px 18px; }
.po-importance .po-mini-card-body p { color: #f5f5f7; }
.po-importance h1,
.po-importance h2,
.po-importance h3,
.po-importance p,
.po-importance small,
.po-importance .lead,
.po-importance .muted { color: #f5f5f7; }

/* Aumentar proporcionalmente as fontes no bloco de importância */
.po-importance .po-hero-card h2 { font-size: 50px; line-height: 1.2; }
.po-importance .lead { font-size: 20px; opacity: 0.95; }
.po-importance .muted { opacity: 0.9; font-size: 16px; }
@media (max-width: 900px) {
  .po-importance .po-hero-card h2 { font-size: 32px; }
  .po-importance .lead { font-size: 20px; }
  .po-importance .muted, .po-importance small { font-size: 16px; }
  .po-importance .po-hero-card-content p,
  .po-importance .po-hero-card-content .muted,
  .po-importance .po-hero-card-content .lead { font-size: 20px; }
  .po-importance .po-importance-cards { grid-template-columns: 1fr; }
  .po-importance .po-video-aspect { aspect-ratio: 16/9; height: auto; }
}

/* Grid interno do card do hero (texto + vídeo lado a lado) */
.po-hero-card-grid { background-color: #1d1d1f; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
.po-hero-card-content { margin-top: 40px; text-align: left; }
.po-hero-card h1 { font-size: 36px; }
.po-hero-card .lead { font-size: 28px; }
.po-hero-card .cta-row { margin-bottom: 50px; justify-content: center; }
@media (max-width: 900px) {
  .po-hero-card-grid { grid-template-columns: 1fr; }
  .po-hero-card-content { text-align: center; }
  .po-hero-card .cta-row { justify-content: center; }
  .po-hero-card h1 { font-size: 28px; }
  .po-hero-card .lead { font-size: 16px; }
}

/* Texto claro dentro da primeira seção (hero) */
.po-hero-1 h1,
.po-hero-1 h2,
.po-hero-1 h3,
.po-hero-1 p,
.po-hero-1 small,
.po-hero-1 .lead,
.po-hero-1 .muted { color: #f5f5f7; }

/* Links e CTA dentro da primeira seção */
.po-hero-1 a { color: #cfe9ff; }
.po-hero-1 a:hover { color: #a9dbff; }
.po-hero-1 .cta-row .btn,
.po-hero-1 .cta-row .u-btn,
.po-hero-1 .btn-primary { background: var(--accent); color: #fff; border-color: var(--accent); }
.po-hero-1 .cta-row .btn:hover,
.po-hero-1 .btn-primary:hover { background: var(--accent-hover); }

/* Harmonizar cartão do hero na seção escura */
.po-hero-1 .po-hero-card,
.po-hero-1 .po-hero-card-grid { background-color: #1d1d1f; }

/* Aumentar proporcionalmente as fontes na seção hero 1 */
.po-hero-1 .po-hero-card h1 { font-size: 42px; line-height: 1.15; }
.po-hero-1 .lead { font-size: 20px; opacity: 0.95; }
.po-hero-1 small { font-size: 18px; opacity: 0.9; }
@media (max-width: 900px) {
  .po-hero-1 .po-hero-card h1 { font-size: 32px; }
  .po-hero-1 .lead { font-size: 18px; }
}

/* Padding para alinhar com outras sections */
.po-hero-1 .po-hero-inner { padding: 30px 0; }
.po-hero-1 .po-container { padding: 0 24px; }

/* Tornar o CTA um pouco maior para o hero */
.po-hero-1 .cta-row .btn,
.po-hero-1 .cta-row .u-btn { padding: 12px 18px; font-size: 16px; }

/* Imagem do hero: igualar altura ao texto e centralizar verticalmente */
.po-hero-1 .po-hero-card-video { display: flex; align-items: center; }
.po-hero-1 .po-hero-card-video .po-video-aspect { width: 100%; height: 83%; aspect-ratio: auto; }
@media (max-width: 900px) {
  .po-hero-1 .po-hero-card-video .po-video-aspect { aspect-ratio: 16/9; height: auto; }
}

/* Features */
.po-section { padding: 56px 0; border-bottom: 1px solid var(--line); }
.po-features h2, .po-how h2 { text-align: center; margin: 0 0 24px; }
/* Seção de destaques (features) em tema escuro */
.po-section.po-features { background-color: #1d1d1f; color: #f5f5f7; min-height: 92vh; }
.po-section.po-features h2 { color: #f5f5f7; font-size: 40px; line-height: 1.2; margin: 0 0 50px; }
/* Espaçamento do botão abaixo do h3 na seção de destaques */
.po-section.po-features .cta-row .u-btn.btn-primary { margin-top: 12px; padding: 14px 22px; font-size: 18px; }
/* Ajuste de legibilidade dos cards dentro da seção escura */
.po-section.po-features .po-card { background-color: #ffffff; border: 1px solid #e5e5ea; }
.po-section.po-features .po-card h3 { color: #1d1d1f; }
.po-section.po-features .po-card p { color: #2b2b2b; }
.po-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.po-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--shadow); }
.po-card h3 { margin: 0; }
.po-card p { margin: 0; color: var(--subtext); }

/* Grid com duas colunas (2x2) para seção de funcionalidades */
.po-grid-4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 1024px) { .po-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .po-grid-4 { grid-template-columns: 1fr; } }

/* Mídia dos cards */
.po-card-media { margin-bottom: 10px; width: 100%; border-radius: 10px; border: 1px solid var(--line); background: #f5f5f7; object-fit: cover; }
.po-card-media1 { margin-top: 30px; width: 100%; border-radius: 10px; border: 1px solid var(--line); background: #f5f5f7; object-fit: cover; }

/* Animação de hover para cards na seção de funcionalidades */
.po-grid-4 .po-card { transition: transform 200ms ease, box-shadow 200ms ease; }
.po-grid-4 .po-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); }

/* Carrossel dentro de cards (scroll-snap) */
.po-carousel { margin-top: 10px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.po-carousel-track { display: flex; gap: 8px; overflow-x: scroll; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 8px; }
.po-carousel-slide { flex: 0 0 100%; scroll-snap-align: center; }
.po-carousel-slide img { width: 100%; height: 200px; object-fit: contain; border-radius: 10px; border: 1px solid var(--line); }
 
/* Título da seção de funcionalidades avançadas */
.po-section.po-ai h2 { font-size: 40px; line-height: 1.2; }

/* Controles do carrossel */
.po-carousel-controls { display: flex; justify-content: space-between; align-items: center; padding: 10px; border-top: 1px solid var(--line); background: #fff; }
.po-carousel-btn { padding: 8px 12px; border-radius: 8px; border: 1px solid var(--line); background: #1d1d1f; color: #f9f9fb; font-weight: 600; cursor: pointer; }
.po-carousel-btn:hover { background: #8ebf50; }

/* Botões de ícone (prev/next) */
.po-carousel-btn.icon-only { width: 36px; height: 36px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.po-carousel-btn.icon-only span { font-size: 35px; margin-bottom: 10px; line-height: 1; }

/* Modal de imagem (ampliação) */
.po-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: none; align-items: center; justify-content: center; z-index: 1000; padding: 20px; }
.po-modal.is-open { display: flex; }
.po-modal-content { position: relative; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); width: min(1200px, 96vw); max-height: 90vh; min-height: 70vh; padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.po-modal-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 26px; line-height: 1; cursor: pointer; }
#poModalImage { max-width: 100%; max-height: 88vh; object-fit: contain; border-radius: 12px; }

/* Botões de navegação do modal (igual ao carrossel) */
.po-modal-prev, .po-modal-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #1d1d1f; border: 1px solid var(--line);
  color: #f9f9fb; font-size: 35px; line-height: 1; cursor: pointer; user-select: none;
}
.po-modal-prev { left: 8px; }
.po-modal-next { right: 8px; }
.po-modal-prev:hover, .po-modal-next:hover { background: #8ebf50; }

/* Cursor de zoom nas imagens do carrossel */
.po-carousel-slide img { cursor: zoom-in; }

/* Animação de hover para cards dentro de .po-grid */
.po-grid .po-card { transition: transform 200ms ease, box-shadow 200ms ease; }
.po-grid .po-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); }

/* Animação de hover para o card da seção "O que é o Planejamento Online?" */
.po-about .po-card { transition: transform 200ms ease, box-shadow 200ms ease; }
.po-about .po-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); }

/* Layout da seção "O que é o Planejamento Online?": imagem à esquerda, texto à direita */
.po-about-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 18px; align-items: stretch; }
.po-about-image { border-radius: var(--radius); overflow: hidden; }
.po-about-image-fill { height: 100%; width: 100%; border-radius: var(--radius); background: #f5f5f7 url('images2/oque.png') center/cover no-repeat; border: 1px solid var(--line); }
.po-about-content { display: flex; flex-direction: column; gap: 8px; justify-content: center; }
@media (max-width: 900px) {
  .po-about-grid { grid-template-columns: 1fr; }
  .po-about-image { order: -1; }
}
.po-link { margin-top: auto; color: #0077ed; font-weight: 700; }
.po-link:hover { color: var(--accent-hover); }

/* Suporte às classes trazidas do landing-page, mantendo estética de landing-oficial */
.card { background: #f2f2f2; padding: 18px; }
.fade-in { opacity: 1; }
.muted { color: var(--subtext); }
.lead { color: var(--subtext); }
.cta-row { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 50px; }
.cta-row1 { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 10px; margin-bottom: 5px; }
.cta-row2 {display:flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 20px; margin-bottom: 30px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; font-weight: 700; padding: 10px 16px; cursor: pointer; border: 1px solid var(--line); background: var(--accent); color: #fff; transition: background-color .2s ease, transform .05s ease; }
.btn:hover { background: var(--accent-hover); }
.btn:active { transform: scale(0.98); }
.btn.alt { background: #fff; color: #333; border-color: var(--line); }

/* Área reservada para vídeo (poster responsivo) */
.po-video, .po-video1{ display:block; width:100%; height:100%; border-radius: var(--radius); border: 1px solid var(--line); }
.po-video-aspect { position: relative; width: 100%; aspect-ratio: 16/9; }
.po-video-poster { position: absolute; inset: 0; border-radius: var(--radius); background: #f5f5f7 url('images2/video1.png') center/cover no-repeat; border: 1px solid var(--line); }
.po-importance-poster { position: absolute; inset: 0; border-radius: var(--radius); background: #f5f5f7 url('images2/plan.png') center/cover no-repeat; border: 1px solid var(--line); }
.po-video-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: rgba(255,255,255,0.72); border-radius: var(--radius); text-align: center; padding: 10px; }
/* Overlay de play central, comum em sites */
.po-video-play-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.po-video-play-btn { width:96px; height:96px; border-radius:48px; background: rgba(0,0,0,0.6); border: 2px solid #fff; box-shadow: 0 6px 16px rgba(0,0,0,0.2); position:relative; pointer-events:auto; cursor:pointer; transition: transform 120ms ease, background 120ms ease; }
.po-video-play-btn::before { content:''; position:absolute; left:38px; top:30px; width:0; height:0; border-left:24px solid #fff; border-top:16px solid transparent; border-bottom:16px solid transparent; }
.po-video-play-btn:hover { background: rgba(0,0,0,0.75); transform: scale(1.05); }

/* Importância: garantir altura visível via aspect-ratio (evita colapso no mobile) */
.po-importance .po-hero-card-image { display: flex; align-items: center; }
.po-importance .po-video-aspect { aspect-ratio: 16/9; height: auto; }

/* How it works */
.po-how-inner { max-width: 900px; margin: 0 auto; }
.po-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.po-step { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); text-align: left; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease; will-change: transform; }
.po-step:hover, .po-step:focus-within { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.12); border-color: var(--accent); }
.po-step-number { width: 34px; height: 34px; border-radius: 10px; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; margin-bottom: 8px; }
.po-step-icon { width: 60px; height: 60px; display: block; margin: 10px auto 15px; object-fit: contain; border-radius: 8px;  }
.po-step-title {margin-top: 10px;}

@media (prefers-reduced-motion: reduce) {
  .po-step { transition: none; }
  .po-step:hover, .po-step:focus-within { transform: none; }
}
.po-muted { color: var(--subtext); }

/* CTA final */
.po-cta { padding: 56px 0; background-color: #f2f2f2; }
.po-cta-inner { text-align: center; }
.po-cta h2 { margin: 0 0 8px; }
.po-cta p { margin: 0 0 16px; color: var(--subtext); }

/* Slider de depoimentos */
.slider { overflow: hidden; }
.slider .slides { display: flex; width: 100%; transition: transform 0.5s ease; }
.slider .slide { min-width: 100%; padding: 20px; }
.slider-controls { display: flex; gap: 8px; justify-content: center; margin-top: 8px; }
.slider-controls .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line, #cccccc); cursor: pointer; }
.slider-controls .dot.active { background: var(--primary, #2b7cff); }

/* Animação de entrada */
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity .4s ease, transform .4s ease; }
.fade-in.in-view { opacity: 1; transform: none; }

/* CTA com imagem à direita ocupando metade da seção */
.po-cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }
.po-cta-content { text-align: left; }
.po-cta-image { height: 100%; display: flex; align-items: center; }
.po-cta-image-fill { width: 100%; height: 100%; aspect-ratio: auto; border-radius: var(--radius); border: 1px solid var(--line); background: #f5f5f7 url('images2/cool.png') center/cover no-repeat; }
@media (max-width: 900px) { .po-cta-grid { grid-template-columns: 1fr; } .po-cta-content { text-align: center; } }

/* Footer */
.po-footer { border-top: 1px solid var(--line); background: #fff; }
.po-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 22px 0; }
.footer-text { color: var(--subtext); }
.footer-links a { margin-right: 12px; opacity: 0.85; }

/* Responsivo */
@media (max-width: 1024px) { .po-grid { grid-template-columns: repeat(2, 1fr); } .po-steps { grid-template-columns: repeat(2, 1fr); } }
/* Espaço abaixo do poster de vídeo também em telas médias */
@media (max-width: 1024px) {
  .po-video-aspect { margin-bottom: 00px; }
  .po-video1 { margin-bottom: 50px; }
}
@media (max-width: 640px) { 
  .po-grid { grid-template-columns: 1fr; } 
  .po-steps { grid-template-columns: 1fr; } 
  .po-hero h1 { font-size: 28px; } 
  /* Espaço abaixo do poster de vídeo em telas pequenas */
  .po-video-aspect { margin-bottom: 00px; }
  .po-video1 { margin-bottom: 50px; }
}

/* Footer responsivo: reduzir fonte e centralizar botões/links */
@media (max-width: 640px) {
  /* Garantir visibilidade de blocos com imagem de fundo em telas pequenas */
  .po-about-image-fill, .po-cta-image-fill { min-height: 180px; }
  /* Header: alinhar "Fale conosco" e "Entrar" à direita */
  .po-header-inner { justify-content: space-between; }
  .po-nav { margin-left: auto; justify-content: flex-end; gap: 6px; flex-direction: column; align-items: flex-end; }
  .po-nav a { margin-left: 0; }
  .po-footer-inner { flex-direction: column; align-items: center; gap: 10px; }
  .footer-text { font-size: 14px; text-align: center; }
  .footer-links { display: flex; align-items: center; justify-content: center; gap: 10px; }
  .footer-links a { margin-right: 0; font-size: 14px; }
  /* Em telas pequenas, mostrar apenas "Fale conosco" */
  .po-contact-label-desktop { display: none; }
  .po-contact-label-mobile { display: inline; }
}
.po-testimonials .po-card { max-width: 900px; margin: 0 auto; }
.testimonial-avatars { display:flex; justify-content:center; align-items:center; gap: 16px; margin: 0 0 12px; }
/* 60px de raio -> 120px de diâmetro */
.testimonial-avatar { width: 120px; height: 120px; border-radius: 60px; object-fit: cover; border: 1px solid var(--line); box-shadow: var(--shadow); }
@media (max-width: 640px) { .testimonial-avatar { width: 90px; height: 90px; border-radius: 45px; } }
/* Centraliza o avatar quando usado dentro do slide */
.slider .slide .testimonial-avatar { display:block; margin: 0 auto 8px; }
/* Layout lado a lado: avatar à esquerda, texto à direita */
.slider .slide.active { display: flex; align-items: center; justify-content: center; gap: 16px; }
.slider .slide.active .testimonial-avatar { margin: 0; flex: 0 0 auto; }
.slider .slide .slide-text { text-align: left; }
@media (max-width: 640px) {
  .slider .slide.active { flex-direction: column; }
  .slider .slide .slide-text { text-align: center; }
  .slider .slide.active .testimonial-avatar { margin-bottom: 8px; }
}
/* Ajustes para usar o grid .po-about-grid nos depoimentos */
.po-testimonials .po-about-image { display:flex; align-items:center; justify-content:center; }
.po-testimonials .testimonial-avatar { margin: 0; }
.po-testimonials .po-about-content { text-align: left; }
.po-importance .po-mini-card { border: 1px solid rgba(255, 255, 255, 0.15); transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease; }
.po-importance .po-mini-card:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35); border-color: rgba(255, 255, 255, 0.25); }
/* Checklist com marcador "V" */
.po-checklist { list-style: none; margin: 0; padding: 0; }
.po-checklist li { position: relative; padding-left: 28px; margin: 6px 0; }
.po-checklist li::before { content: "✓"; position: absolute; left: 0; top: 0.05em; color: #22c55e; font-weight: 700; }
/* Carrossel de cards (duas colunas visíveis) */
.po-cards-carousel { margin-top: 8px; }
.po-cards-track { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; touch-action: auto; overscroll-behavior-x: contain; padding: 8px; scroll-behavior: smooth; }
.po-cards-track { scrollbar-width: none; }
.po-cards-track::-webkit-scrollbar { display: none; }
.po-cards-track .po-card { flex: 0 0 calc(50% - 4px); scroll-snap-align: start; }
@media (max-width: 720px) { 
  .po-cards-track { touch-action: pan-y pan-x; overscroll-behavior-y: auto; scroll-snap-type: x proximity; }
  .po-cards-track .po-card, 
  .po-cards-track .po-card * { touch-action: auto; }
  .po-cards-track .po-card { flex: 0 0 100%; }
}

/* Posicionamento dos botões laterais */
.po-cards-carousel { position: relative; }
.po-cards-prev, .po-cards-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.po-cards-prev { left: -20px; }
.po-cards-next { right: -20px; }
/* Seção de depoimentos em fundo escuro */
.po-section.po-testimonials { background: #1d1d1f; }
.po-section.po-testimonials h2 { color: #ffffff; }

/* Planos de assinatura + selo de garantia */
.po-plans .po-plans-grid { display: grid; grid-template-columns: 50% 50%; gap: 16px; align-items: stretch; }
.po-plans .po-plans-left { overflow: hidden; }
.po-plans .po-plans-right { background-color: #8ebf50; display: flex; align-items: center; justify-content: center; }
.po-guarantee img { max-width: 100%; height: auto; display: block; object-fit: contain; filter: drop-shadow(0 4px 24px rgba(0,0,0,0.12)); }
.po-plan-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.po-plan-card .po-price { font-size: 18px; margin: 6px 0 10px; }
.po-plan-features { list-style: none; margin: 0 0 12px; padding: 0; }
.po-plan-features li { position: relative; padding-left: 28px; margin: 6px 0; }
.po-plan-features li::before { content: "✓"; position: absolute; left: 0; top: 0.05em; color: #22c55e; font-weight: 700; }
.po-plan-features li.riscado { color: #6b7280; text-decoration: line-through; }
.po-plan-features li.riscado::before { content: 'X'; color: #ef4444; }
.po-plan-card.destaque { border: 2px solid #8ebf50; }

/* Carrossel de planos: um card por vez */
.po-plans .po-cards-track .po-card { flex: 0 0 100%; }
.po-plans .po-cards-carousel { overflow: hidden; }
.po-plans .po-cards-track { box-sizing: border-box; }
.po-plans .po-cards-prev { left: 8px; }
.po-plans .po-cards-next { right: 8px; }

@media (max-width: 960px) {
  .po-plans .po-plans-grid { grid-template-columns: 1fr; gap: 12px; }
  .po-plan-cards { grid-template-columns: 1fr; }
  /* Ajustes para carrossel e botões no mobile */
  .po-plans .po-cards-track { padding: 0; gap: 8px; }
  .po-plans .po-cards-track .po-card { flex: 0 0 calc(50% - 4px); }
  .po-plans .po-cards-prev, .po-plans .po-cards-next { display: inline-flex; top: auto !important; bottom: -45px; transform: none; }
  .po-plans .po-cards-prev { left: 8px; }
  .po-plans .po-cards-next { right: 8px; }
  /* Selo de garantia mais contido no mobile */
  .po-guarantee img { max-width: 85%; }
  .po-plans .po-plans-right { padding: 12px; }
  /* Ajustes para carrossel da seção IA */
  .po-section.po-ai .po-cards-track { padding: 0; gap: 8px; }
  .po-section.po-ai .po-cards-track .po-card { flex: 0 0 calc(50% - 4px); }
  .po-section.po-ai .po-cards-prev, .po-section.po-ai .po-cards-next { display: inline-flex; top: auto !important; bottom: -45px; transform: none; }
  .po-section.po-ai .po-cards-prev { left: 8px; }
  .po-section.po-ai .po-cards-next { right: 8px; }
}

@media (max-width: 720px) {
  .po-plans .po-cards-track .po-card { flex: 0 0 100%; }
  .po-section.po-ai .po-cards-track .po-card { flex: 0 0 100%; }
}