/* Padronização visual do site: mesmos cantos, sombras, botões e movimentos das seções novas */
:root {
  --z-pink: #e74477;
  --z-teal: #004d64;
  --z-blue: #00afea;
  --z-radius: 24px;
  --z-shadow: 0 14px 34px rgba(0, 77, 100, .1);
  --z-shadow-hover: 0 24px 50px rgba(0, 77, 100, .18);
  --z-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ---------- botões: todos em pílula, com o mesmo hover ---------- */
.bt-flutuante,
.bt-d10,
.bt-d12,
.submit-button,
.bt-ig {
  border-radius: 999px;
  transition: transform .35s var(--z-ease), box-shadow .35s, background-color .3s;
}
.bt-d10:hover,
.bt-d12:hover,
.submit-button:hover,
.bt-ig:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0, 77, 100, .22);
}
.bt-flutuante { box-shadow: 0 12px 30px rgba(231, 68, 119, .35); }
.bt-flutuante:hover { box-shadow: 0 16px 40px rgba(231, 68, 119, .5); }
.submit-button { background-color: var(--z-pink); box-shadow: 0 12px 28px rgba(231, 68, 119, .3); }
.bt-ig { padding-top: 12px; padding-bottom: 12px; }

/* ---------- "Chega de pagar a conta" ---------- */
.img-d4 { animation: z-wobble 4s ease-in-out infinite; transform-origin: 50% 90%; }
.img-2-d4 { animation: z-bob 4.5s ease-in-out infinite; }
@keyframes z-wobble {
  0%, 100% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
}
@keyframes z-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

/* ---------- números (98% / 9 em 10 / selos) em cartões ---------- */
.cont-d5 { gap: 20px; align-items: stretch; }
.c1-d5,
.c2-d5,
.c3-d5 {
  box-sizing: border-box;
  padding: 32px 28px;
  border: 0;
  border-radius: 28px;
  background: rgba(255, 255, 255, .12);
  transition: background-color .35s, transform .35s var(--z-ease);
}
.c1-d5:hover,
.c2-d5:hover,
.c3-d5:hover { background: rgba(255, 255, 255, .2); transform: translateY(-6px); }
.c3-d5 { max-width: 210px; padding-left: 20px; padding-right: 20px; }
.img-3-d5 { transition: transform .5s var(--z-ease); }
.img-3-d5:hover { transform: rotate(-8deg) scale(1.06); }

/* ---------- vídeos ---------- */
.v-dep { display: block; border-radius: var(--z-radius); transition: transform .4s var(--z-ease), box-shadow .4s; }
.v-dep:hover { transform: translateY(-8px); box-shadow: 0 26px 50px rgba(0, 77, 100, .3); }
.thumb-dep { border-radius: var(--z-radius); }

/* ---------- tabela comparativa em cartão ---------- */
.tabela {
  border: 0;
  border-radius: var(--z-radius);
  background: #fff;
  box-shadow: var(--z-shadow);
  overflow: hidden;
}
.c1-t-d8, .c2-t-d8, .c3-t-d8 { border-right: 1px solid rgba(255, 255, 255, .25); }
.l1-t-d8, .l2-t-d8, .l3-t-d8 {
  border-right: 1px solid rgba(0, 175, 234, .15);
  border-bottom: 1px solid rgba(0, 175, 234, .15);
}
.tabela > :nth-last-child(-n+5) { border-right: 0; }
.l2-t-d8 { background-color: rgba(0, 175, 234, .12); }
.icon-tabela { transition: transform .35s var(--z-ease); }
.tabela.z-in .l2-t-d8 .icon-tabela { animation: z-pop .6s var(--z-ease) both; }
.tabela.z-in .l2-t-d8:nth-child(9) .icon-tabela { animation-delay: .1s; }
.tabela.z-in .l2-t-d8:nth-child(10) .icon-tabela { animation-delay: .2s; }
.tabela.z-in .l2-t-d8:nth-child(11) .icon-tabela { animation-delay: .3s; }
.tabela.z-in .l2-t-d8:nth-child(12) .icon-tabela { animation-delay: .4s; }
.tabela:hover .l2-t-d8 .icon-tabela { transform: scale(1.15); }
@keyframes z-pop { from { transform: scale(0); } 70% { transform: scale(1.25); } }

/* ---------- lista de espera ---------- */
.ft-p-1, .ft-p-2, .ft-p-3, .ft-p-4 { border-radius: var(--z-radius); box-shadow: var(--z-shadow); }
.ft-3 { border-radius: 14px; transition: box-shadow .3s, outline-color .3s; outline: 3px solid transparent; outline-offset: 2px; }
.ft-3:hover { outline-color: var(--z-blue); }
.name, .email, .phone {
  border: 1.5px solid rgba(0, 175, 234, .25);
  border-radius: 16px;
  color: var(--z-teal);
  transition: border-color .25s, box-shadow .25s;
}
.name.is-bad, .email.is-bad, .phone.is-bad { border-color: var(--z-pink); background-color: #fff6f9; animation: z-shake .4s; }
@keyframes z-shake { 25% { translate: -6px 0; } 50% { translate: 5px 0; } 75% { translate: -3px 0; } }
.w-form-fail { border-radius: 14px; background-color: #fff0f5; color: var(--z-pink); text-align: center; }
.name:focus, .email:focus, .phone:focus {
  border-color: var(--z-blue);
  box-shadow: 0 0 0 4px rgba(0, 175, 234, .15);
  outline: 0;
}

/* ---------- garantia ---------- */
.selo-garantia { box-shadow: 0 20px 50px rgba(0, 77, 100, .2); border-radius: 50%; }

/* ---------- FAQ em cartões ---------- */
.c-pergunta {
  padding: 20px 24px;
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0, 77, 100, .06);
  transition: box-shadow .3s, transform .3s var(--z-ease);
}
.c-pergunta:hover { box-shadow: var(--z-shadow); transform: translateY(-2px); }
.box-pergunta { cursor: pointer; }
.mais, .menos {
  width: 12px;
  height: 12px;
  object-fit: contain;
  box-sizing: content-box;
  padding: 9px;
  border-radius: 50%;
  background: rgba(0, 175, 234, .12);
}

/* ---------- entrada ao rolar (aplicada via js/padrao.js) ---------- */
.z-reveal { opacity: 0; transform: translateY(36px); transition: opacity .8s ease, transform .9s var(--z-ease); }
.z-reveal.z-in { opacity: 1; transform: none; }

@media screen and (max-width: 767px) {
  .c1-d5, .c2-d5, .c3-d5 { max-width: none; padding: 26px 20px; border-radius: 22px; }
  .c3-d5 { flex-direction: row; flex-wrap: nowrap; justify-content: center; gap: 20px; }
  .img-3-d5 { flex: 0 1 140px; min-width: 0; }
  .c-pergunta { padding: 16px 18px; }
  .tabela { border-radius: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .img-d4, .img-2-d4, .tabela.z-in .l2-t-d8 .icon-tabela { animation: none; }
  .z-reveal { opacity: 1; transform: none; transition: none; }
}
