
/* ════════════════════════════════════════
   IDENTIDADE VISUAL ZDI — zdidiagnosticos.com.br
   Cores: teal #09B2B2, dark #1B2D3C, white #FFFFFF
   Fonte: Roboto (idêntica ao site)
════════════════════════════════════════ */
#zdi-precos{
  --teal:       #09B2B2;
  --teal-hover: #07999A;
  --teal-light: #E8F8F8;
  --teal-mid:   #B2E0E0;
  --dark:       #1B2D3C;
  --dark2:      #243546;
  --gray:       #6C7A89;
  --gray-light: #F5F7F8;
  --border:     #E0EAEA;
  --white:      #FFFFFF;
  --shadow:     0 2px 12px rgba(9,178,178,.10);
}
#zdi-precos *{ box-sizing: border-box; margin: 0; padding: 0; }
#zdi-precos{
  font-family: "Roboto", sans-serif;
  background: var(--gray-light);
  color: var(--dark);
  font-size: 14px;
  line-height: 1.5;
}

/* ── TOPBAR (links sociais) ── */
#zdi-precos .topbar{
  background: var(--dark);
  padding: 7px 0;
  font-size: 12px;
}
#zdi-precos .topbar-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}
#zdi-precos .topbar a{
  color: rgba(255,255,255,.65);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: color .15s;
}
#zdi-precos .topbar a:hover{ color: var(--teal); }
#zdi-precos .topbar-icon{ font-size: 14px; }

/* ── HEADER PRINCIPAL ── */
#zdi-precos header{
  background: var(--white);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 1px 8px rgba(0,0,0,.06);
}
#zdi-precos .header-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 74px;
}
#zdi-precos .logo-wrap{ display: flex; align-items: center; text-decoration: none; }
#zdi-precos .logo-img{
  height: 48px;
  width: auto;
}
#zdi-precos .header-nav{
  display: flex;
  align-items: center;
  gap: 6px;
}
#zdi-precos .nav-item{
  color: var(--dark);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 4px;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
#zdi-precos .nav-item:hover{ color: var(--teal); background: var(--teal-light); }
#zdi-precos .nav-item.active{ color: var(--teal); font-weight: 700; }
#zdi-precos .btn-agendar{
  background: var(--teal);
  color: white !important;
  border-radius: 6px;
  padding: 9px 18px !important;
  font-weight: 700 !important;
  transition: background .2s !important;
}
#zdi-precos .btn-agendar:hover{ background: var(--teal-hover) !important; }
#zdi-precos .btn-resultado{
  border: 1.5px solid var(--teal);
  color: var(--teal) !important;
  border-radius: 6px;
  padding: 8px 16px !important;
  font-weight: 600 !important;
  transition: all .2s !important;
}
#zdi-precos .btn-resultado:hover{ background: var(--teal); color: white !important; }

/* ── PAGE HERO — estilo idêntico ao site ── */
#zdi-precos .page-hero{
  background: var(--dark);
  padding: 48px 24px 40px;
  position: relative;
  overflow: hidden;
}
#zdi-precos .page-hero::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, rgba(9,178,178,.08) 0%, transparent 60%);
  pointer-events: none;
}
#zdi-precos .page-hero-inner{
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
#zdi-precos .breadcrumb{
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
  font-size: 12px;
  color: rgba(255,255,255,.45);
}
#zdi-precos .breadcrumb a{ color: var(--teal); text-decoration: none; }
#zdi-precos .breadcrumb a:hover{ text-decoration: underline; }
#zdi-precos .breadcrumb-sep{ color: rgba(255,255,255,.3); }
#zdi-precos .page-hero h1{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 36px;
  color: white;
  margin-bottom: 12px;
  line-height: 1.2;
}
#zdi-precos .page-hero p{
  color: rgba(255,255,255,.6);
  font-size: 15px;
  max-width: 600px;
  line-height: 1.7;
  margin-bottom: 24px;
}
#zdi-precos .hero-notice{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(9,178,178,.12);
  border: 1px solid rgba(9,178,178,.28);
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
}
#zdi-precos .hero-notice strong{ color: #7DDCDC; }


/* ── TRANSPARENCY STRIP ── */
#zdi-precos .transp-strip{
  display: flex;
  gap: 28px;
  margin-top: 28px;
  flex-wrap: wrap;
}
#zdi-precos .transp-card{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(9,178,178,.22);
  border-radius: 10px;
  padding: 16px 20px;
  flex: 1;
  min-width: 200px;
  max-width: 260px;
}
#zdi-precos .transp-icon{
  font-size: 26px;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
}
#zdi-precos .transp-title{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #7DDCDC;
  margin-bottom: 4px;
  line-height: 1.2;
}
#zdi-precos .transp-desc{
  font-size: 12.5px;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
}

/* ── FAQ BANNER ── */
#zdi-precos .faq-banner{
  background: linear-gradient(135deg, var(--teal) 0%, var(--teal-hover) 100%);
  padding: 18px 24px;
}
#zdi-precos .faq-banner-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
#zdi-precos .faq-banner-text{
  color: white;
  font-size: 14px;
  font-weight: 500;
}
#zdi-precos .faq-banner-text strong{ font-weight: 700; }
#zdi-precos .faq-banner-btn{
  background: white;
  color: var(--teal);
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 13px;
  white-space: nowrap;
  transition: transform .15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#zdi-precos .faq-banner-btn:hover{ transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.15); }

/* ── SEARCH BAR ── */
#zdi-precos .search-bar{
  background: white;
  border-bottom: 1px solid var(--border);
  padding: 16px 24px;
  position: sticky;
  top: 74px;
  z-index: 90;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
#zdi-precos .search-bar-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
#zdi-precos .search-wrap{
  flex: 1;
  min-width: 220px;
  position: relative;
}
#zdi-precos .search-wrap input{
  width: 100%;
  padding: 10px 16px 10px 40px;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  color: var(--dark);
  background: var(--gray-light);
  outline: none;
  transition: border .2s, background .2s;
}
#zdi-precos .search-wrap input:focus{ border-color: var(--teal); background: white; }
#zdi-precos .search-icon{
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray);
  font-size: 15px;
  pointer-events: none;
}
#zdi-precos .filter-chips{ display: flex; gap: 8px; flex-wrap: wrap; }
#zdi-precos .chip{
  padding: 7px 16px;
  border-radius: 20px;
  border: 1.5px solid var(--border);
  background: white;
  color: var(--gray);
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 12.5px;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
#zdi-precos .chip:hover{ border-color: var(--teal); color: var(--teal); }
#zdi-precos .chip.active{ background: var(--teal); border-color: var(--teal); color: white; }
#zdi-precos .result-label{
  font-size: 12px;
  color: var(--gray);
  margin-left: auto;
  white-space: nowrap;
  font-weight: 500;
}
#zdi-precos .result-label span{ color: var(--teal); font-weight: 700; }

/* ── MAIN CONTENT ── */
#zdi-precos .content{
  max-width: 1200px;
  margin: 28px auto;
  padding: 0 24px 80px;
}

/* ── EXAM SECTION ── */
#zdi-precos .exam-section{
  background: white;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  margin-bottom: 12px;
  overflow: hidden;
}
#zdi-precos .section-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  cursor: pointer;
  transition: background .15s;
  user-select: none;
}
#zdi-precos .section-header:hover{ background: var(--teal-light); }
#zdi-precos .section-info{ flex: 1; }
#zdi-precos .section-title{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--dark);
  margin-bottom: 2px;
}
#zdi-precos .section-subtitle{ font-size: 12px; color: var(--gray); }
#zdi-precos .section-right{ display: flex; align-items: center; gap: 12px; }
#zdi-precos .section-count{
  background: var(--teal-light);
  color: var(--teal-hover);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 10px;
  font-family: "Roboto", sans-serif;
}
#zdi-precos .section-chevron{
  color: var(--teal);
  font-size: 20px;
  font-weight: 700;
  transition: transform .25s;
  display: inline-block;
}
#zdi-precos .section-chevron.open{ transform: rotate(90deg); }

/* BODY — hidden by default */
#zdi-precos .section-body{ display: none; border-top: 1px solid var(--border); }
#zdi-precos .section-body.open{ display: block; }

/* TABLE HEAD */
#zdi-precos .table-head-row{
  display: grid;
  grid-template-columns: 1fr 180px;
  padding: 9px 22px;
  background: var(--teal-light);
  border-bottom: 1px solid var(--teal-mid);
}
#zdi-precos .table-head-row span{
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--teal-hover);
  font-family: "Roboto", sans-serif;
}
#zdi-precos .table-head-row span:last-child{ text-align: right; }

/* EXAM ROW */
#zdi-precos .exam-row{
  border-bottom: 1px solid #F0F4F4;
}
#zdi-precos .exam-row:last-child{ border-bottom: none; }
#zdi-precos .exam-main{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 12px 22px;
  cursor: pointer;
  transition: background .12s;
  gap: 12px;
}
#zdi-precos .exam-main:hover{ background: var(--teal-light); }
#zdi-precos .exam-name{
  font-size: 13.5px;
  color: var(--dark);
  font-weight: 400;
  line-height: 1.4;
}
#zdi-precos .exam-right{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
#zdi-precos .exam-price{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--teal-hover);
  min-width: 100px;
  text-align: right;
}
#zdi-precos .exam-prep-btn{
  font-size: 15px;
  opacity: .55;
  cursor: pointer;
  transition: opacity .15s;
}
#zdi-precos .exam-main:hover .exam-prep-btn{ opacity: 1; }
#zdi-precos .exam-arrow{
  color: var(--teal);
  font-size: 18px;
  font-weight: 700;
  transition: transform .2s;
  line-height: 1;
}
#zdi-precos .exam-row.prep-open .exam-arrow{ transform: rotate(90deg); }

/* PREPARO PANEL */
#zdi-precos .exam-preparo{
  display: none;
  background: #F8FDFD;
  border-top: 1px dashed var(--teal-mid);
  padding: 16px 22px 18px 22px;
  animation: slideDown .18s ease;
}
#zdi-precos .exam-preparo.open{ display: block; }
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
#zdi-precos .preparo-label{
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .7px;
  color: var(--teal-hover);
  margin-bottom: 8px;
  font-family: "Roboto", sans-serif;
}
#zdi-precos .preparo-text{
  font-size: 13.5px;
  color: var(--dark);
  line-height: 1.65;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  background: white;
  transition: border .15s;
  outline: none;
  font-family: "Roboto", sans-serif;
}
#zdi-precos .preparo-text[contenteditable="true"]{
  border-color: var(--teal);
  background: white;
  box-shadow: 0 0 0 3px rgba(9,178,178,.10);
}
#zdi-precos .preparo-actions{
  display: flex;
  gap: 10px;
  margin-top: 10px;
  align-items: center;
  flex-wrap: wrap;
}
#zdi-precos .preparo-edit-btn{
  background: var(--teal);
  color: white;
  border: none;
  padding: 7px 16px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
  transition: background .15s;
}
#zdi-precos .preparo-edit-btn:hover{ background: var(--teal-hover); }
#zdi-precos .preparo-edit-btn.saving{
  background: #10b981;
}
#zdi-precos .preparo-faq-link{
  color: var(--teal);
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: opacity .15s;
}
#zdi-precos .preparo-faq-link:hover{ opacity: .75; text-decoration: underline; }

/* HIDDEN for search */
#zdi-precos .exam-row.hidden{ display: none; }
#zdi-precos .exam-section.hidden{ display: none; }

/* ── FOOTER — estilo ZDI ── */
#zdi-precos .footer-cta{
  background: var(--teal);
  padding: 36px 24px;
  text-align: center;
  margin-bottom: 0;
}
#zdi-precos .footer-cta h3{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: white;
  margin-bottom: 8px;
}
#zdi-precos .footer-cta p{
  color: rgba(255,255,255,.8);
  font-size: 14px;
  margin-bottom: 20px;
}
#zdi-precos .footer-cta-btn{
  display: inline-block;
  background: white;
  color: var(--teal);
  text-decoration: none;
  padding: 12px 28px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  transition: transform .15s, box-shadow .15s;
}
#zdi-precos .footer-cta-btn:hover{ transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.15); }

#zdi-precos footer{
  background: var(--dark);
  padding: 28px 24px;
  text-align: center;
}
#zdi-precos .footer-inner{
  max-width: 1200px;
  margin: 0 auto;
}
#zdi-precos .footer-logo{ height: 36px; margin-bottom: 14px; filter: brightness(0) invert(1); opacity: .85; }
#zdi-precos .footer-links{
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
#zdi-precos .footer-links a{
  color: rgba(255,255,255,.55);
  text-decoration: none;
  font-size: 12.5px;
  transition: color .15s;
}
#zdi-precos .footer-links a:hover{ color: var(--teal); }
#zdi-precos .footer-copy{
  font-size: 11.5px;
  color: rgba(255,255,255,.3);
  line-height: 1.7;
}
#zdi-precos .footer-copy strong{ color: var(--teal); }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .header-nav { display: none; }
  .page-hero h1 { font-size: 26px; }
  .content { padding: 0 16px 60px; }
  .search-bar { padding: 12px 16px; top: 74px; }
  .table-head-row, .exam-main { grid-template-columns: 1fr 120px; }
  .exam-price { min-width: 80px; font-size: 13px; }
  .faq-banner-inner { flex-direction: column; text-align: center; }
}

/* ══ LOGIN OVERLAY ══ */
#zdi-precos #loginOverlay{
  position: fixed; inset: 0; z-index: 9999;
  background: linear-gradient(135deg, #0f1d2a 0%, #0a2828 60%, #162433 100%);
  display: flex; align-items: center; justify-content: center;
  font-family: "Roboto", sans-serif;
}
#zdi-precos #loginOverlay.hidden{ display: none; }
#zdi-precos .login-box{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(9,178,178,.25);
  border-radius: 16px;
  padding: 48px 44px;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 24px 80px rgba(0,0,0,.5);
  text-align: center;
}
#zdi-precos .login-logo{
  height: 52px;
  margin-bottom: 28px;
  filter: brightness(0) invert(1);
  opacity: .9;
}
#zdi-precos .login-logo-fallback{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700; font-size: 22px;
  color: #09B2B2; margin-bottom: 28px;
  display: none;
}
#zdi-precos .login-title{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700; font-size: 20px;
  color: white; margin-bottom: 6px;
}
#zdi-precos .login-sub{
  font-size: 13px; color: rgba(255,255,255,.45);
  margin-bottom: 32px; line-height: 1.5;
}
#zdi-precos .login-field{ margin-bottom: 16px; text-align: left; }
#zdi-precos .login-field label{
  display: block; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .7px;
  color: rgba(255,255,255,.4); margin-bottom: 6px;
}
#zdi-precos .login-field input{
  width: 100%; padding: 12px 16px;
  background: rgba(255,255,255,.07);
  border: 1.5px solid rgba(255,255,255,.1);
  border-radius: 8px; font-size: 14px;
  color: white; font-family: "Roboto", sans-serif;
  outline: none; transition: border .2s;
}
#zdi-precos .login-field input:focus{ border-color: #09B2B2; background: rgba(9,178,178,.08); }
#zdi-precos .login-field input::placeholder{ color: rgba(255,255,255,.25); }
#zdi-precos .login-btn{
  width: 100%; padding: 13px;
  background: #09B2B2; color: white; border: none;
  border-radius: 8px; font-size: 15px; font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
  cursor: pointer; margin-top: 8px;
  transition: background .2s, transform .15s;
  letter-spacing: .3px;
}
#zdi-precos .login-btn:hover{ background: #07999A; transform: translateY(-1px); }
#zdi-precos .login-btn:active{ transform: translateY(0); }
#zdi-precos .login-error{
  color: #f87171; font-size: 13px;
  margin-top: 14px; display: none;
  background: rgba(239,68,68,.1); border-radius: 6px;
  padding: 8px 12px; border: 1px solid rgba(239,68,68,.2);
}
#zdi-precos .login-error.visible{ display: block; }
#zdi-precos .login-footer{
  margin-top: 28px; font-size: 11px;
  color: rgba(255,255,255,.2);
}


/* ══ FORMAS DE PAGAMENTO ══ */
#zdi-precos .payment-bar{
  background: white;
  border-bottom: 1px solid var(--border);
  padding: 20px 24px;
}
#zdi-precos .payment-bar-inner{
  max-width: 1200px;
  margin: 0 auto;
}
#zdi-precos .payment-bar-title{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .7px;
  color: var(--gray);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
#zdi-precos .payment-grid{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: stretch;
}
#zdi-precos .payment-card{
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--gray-light);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  padding: 12px 16px;
  flex: 1;
  min-width: 160px;
  transition: border-color .15s, background .15s;
}
#zdi-precos .payment-card:hover{
  border-color: var(--teal);
  background: var(--teal-light);
}
#zdi-precos .payment-card.highlight{
  border-color: #10b981;
  background: #f0fdf8;
}
#zdi-precos .payment-card.highlight:hover{
  background: #dcfce7;
}
#zdi-precos .payment-card-icon{
  font-size: 22px;
  flex-shrink: 0;
}
#zdi-precos .payment-card-body{}
#zdi-precos .payment-card-range{
  font-size: 11px;
  font-weight: 700;
  color: var(--gray);
  font-family: "Roboto", sans-serif;
  line-height: 1.3;
}
#zdi-precos .payment-card.highlight .payment-card-range{
  color: #065f46;
}
#zdi-precos .payment-card-installment{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--dark);
  margin-top: 2px;
}
#zdi-precos .payment-card.highlight .payment-card-installment{
  color: #065f46;
}
#zdi-precos .payment-card-sub{
  font-size: 11px;
  color: var(--gray);
  margin-top: 1px;
}
#zdi-precos .payment-card.highlight .payment-card-sub{
  color: #10b981;
  font-weight: 600;
}

/* Tooltip on exam price */
#zdi-precos .exam-price-wrap{
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
#zdi-precos .exam-installment-hint{
  font-size: 10px;
  color: var(--teal);
  font-weight: 600;
  font-family: "Roboto", sans-serif;
  white-space: nowrap;
}


/* ══ SECTION INFO CARDS ══ */
#zdi-precos .section-img{
  width: 56px;
  height: 56px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--teal-mid);
  background: var(--teal-light);
}
#zdi-precos .section-img-fallback{
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--teal-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex-shrink: 0;
  border: 2px solid var(--teal-mid);
}
#zdi-precos .section-meta{
  display: none;
  padding: 16px 22px 18px;
  background: linear-gradient(135deg, #f8fdfd 0%, #edfafa 100%);
  border-top: 1px solid var(--teal-mid);
  border-bottom: 1px solid var(--border);
  gap: 20px;
  align-items: flex-start;
}
#zdi-precos .section-meta.open{ display: flex; }
#zdi-precos .section-meta-img{
  width: 80px;
  height: 80px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--teal-mid);
}
#zdi-precos .section-meta-body{ flex: 1; }
#zdi-precos .section-meta-desc{
  font-size: 13px;
  color: #2c4a4a;
  line-height: 1.65;
  margin-bottom: 10px;
}
#zdi-precos .section-meta-badges{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#zdi-precos .meta-badge{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: white;
  border: 1px solid var(--teal-mid);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--teal-hover);
  font-family: "Roboto", sans-serif;
}
#zdi-precos .meta-badge.time{ color: #065f46; border-color: #a7f3d0; background: #f0fdf4; }


/* ══ LAYOUT UPGRADE v2 ══ */

/* Exam row — hover aprimora */
#zdi-precos .exam-row{ transition: background .12s; }

/* Exam main row — grid melhorado */
#zdi-precos .exam-main{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 13px 22px;
  cursor: pointer;
  transition: background .12s;
  gap: 16px;
}
#zdi-precos .exam-main:hover{ background: #f0fbfb; }

/* Nome do exame — melhor tipografia */
#zdi-precos .exam-name{
  font-size: 13.5px;
  color: #1B2D3C;
  font-weight: 400;
  line-height: 1.4;
  font-family: "Roboto", sans-serif;
}

/* Preço — destaque maior */
#zdi-precos .exam-price{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #07999A;
  white-space: nowrap;
  letter-spacing: -.3px;
}

/* Seta — mais visível */
#zdi-precos .exam-arrow{
  color: #09B2B2;
  font-size: 16px;
  font-weight: 400;
  transition: transform .2s;
  opacity: .6;
  line-height: 1;
}
#zdi-precos .exam-row.prep-open .exam-arrow{ transform: rotate(90deg); opacity: 1; }
#zdi-precos .exam-main:hover .exam-arrow{ opacity: 1; }

/* Ícone de preparo — mais sutil */
#zdi-precos .exam-prep-btn{
  font-size: 13px;
  opacity: .4;
  transition: opacity .15s;
}
#zdi-precos .exam-main:hover .exam-prep-btn{ opacity: .75; }
#zdi-precos .exam-row.prep-open .exam-prep-btn{ opacity: 1; }

/* PREPARO PANEL — redesign completo */
#zdi-precos .exam-preparo{
  display: none;
  background: #f7fdfd;
  border-top: 1px solid #d4eded;
  padding: 0;
  overflow: hidden;
}
#zdi-precos .exam-preparo.open{ display: block; }

#zdi-precos .preparo-inner{
  padding: 16px 22px 18px;
  border-left: 3px solid #09B2B2;
  margin: 0 22px 16px;
  margin-top: 14px;
  background: white;
  border-radius: 0 8px 8px 0;
  box-shadow: 0 1px 6px rgba(9,178,178,.07);
}

#zdi-precos .preparo-label{
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: #09B2B2;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: "Roboto", sans-serif;
}

#zdi-precos .preparo-text{
  font-size: 13.5px;
  color: #2c4a4a;
  line-height: 1.7;
  padding: 0;
  border: none;
  background: transparent;
  outline: none;
  font-family: "Roboto", sans-serif;
  width: 100%;
  display: block;
}
#zdi-precos .preparo-text[contenteditable="true"]{
  background: #f0fbfb;
  border: 1.5px solid #09B2B2;
  border-radius: 6px;
  padding: 8px 12px;
  box-shadow: 0 0 0 3px rgba(9,178,178,.08);
}

#zdi-precos .preparo-actions{
  display: flex;
  gap: 8px;
  margin-top: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px dashed #d4eded;
}
#zdi-precos .preparo-edit-btn{
  background: #09B2B2;
  color: white;
  border: none;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
  transition: background .15s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#zdi-precos .preparo-edit-btn:hover{ background: #07999A; }
#zdi-precos .preparo-edit-btn.saving{ background: #10b981; }

#zdi-precos .preparo-faq-link{
  color: #09B2B2;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border: 1px solid #b2e0e0;
  border-radius: 20px;
  transition: all .15s;
  background: white;
}
#zdi-precos .preparo-faq-link:hover{ background: #e6f8f8; }

/* SECTION HEADER — mais refinado */
#zdi-precos .section-header{
  padding: 16px 22px;
}
#zdi-precos .section-header:hover{ background: #f0fbfb; }
#zdi-precos .section-title{
  font-size: 15px;
  font-weight: 700;
  color: #1B2D3C;
}
#zdi-precos .section-subtitle{
  font-size: 11.5px;
  color: #6C7A89;
  margin-top: 2px;
}
#zdi-precos .section-count{
  background: #e6f8f8;
  color: #07999A;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 10px;
}
#zdi-precos .section-chevron{ font-size: 18px; }

/* TABLE HEAD ROW */
#zdi-precos .table-head-row{
  padding: 8px 22px;
}

/* INSTALLMENT HINT — subtler */
#zdi-precos .exam-installment-hint{
  font-size: 10px;
  color: #09B2B2;
  font-weight: 600;
  opacity: .8;
  white-space: nowrap;
}

/* EXAM SECTION border radius */
#zdi-precos .exam-section{
  border-radius: 10px;
  margin-bottom: 10px;
}


/* ══ PODE / NÃO PODE ══ */
#zdi-precos .rules-panel{
  display: flex;
  gap: 16px;
  padding: 16px 22px 14px;
  background: #f7fdfd;
  border-bottom: 1px solid #e0eded;
  flex-wrap: wrap;
}
#zdi-precos .rules-col{
  flex: 1;
  min-width: 220px;
}
#zdi-precos .rules-col-title{
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .8px;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 8px;
  display: inline-block;
}
#zdi-precos .rules-col.ok .rules-col-title{ background: #dcfce7; color: #15803d; }
#zdi-precos .rules-col.no .rules-col-title{ background: #fee2e2; color: #b91c1c; }
#zdi-precos .rules-col.warn .rules-col-title{ background: #fef9c3; color: #92400e; }
#zdi-precos .rules-list{
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#zdi-precos .rules-list li{
  font-size: 12.5px;
  color: var(--dark);
  line-height: 1.4;
  display: flex;
  gap: 6px;
  align-items: flex-start;
}
#zdi-precos .rules-icon{ flex-shrink: 0; font-size: 13px; margin-top: 1px; }

/* ══ AJUSTE VISUAL (out/2026) ══ */
#zdi-precos .page-hero p.hero-news{ color: #fff; font-size: 17px; font-weight: 500; margin-bottom: 6px; max-width: 640px; }
#zdi-precos .page-hero::before{ display: none; }
#zdi-precos .page-hero{ padding: 40px 24px 36px; }
#zdi-precos .page-hero h1{ font-size: 34px; margin-bottom: 10px; }
#zdi-precos .page-hero p{ margin-bottom: 18px; color: rgba(255,255,255,.72); }
#zdi-precos .hero-facts{ list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 6px; }
#zdi-precos .hero-facts li{ color: rgba(255,255,255,.8); font-size: 14px; padding-left: 16px; position: relative; }
#zdi-precos .hero-facts li::before{ content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 2px; background: var(--teal); }
#zdi-precos .hero-notice{ display: block; background: transparent; border: none; border-left: 2px solid var(--teal); border-radius: 0; padding: 2px 0 2px 12px; color: rgba(255,255,255,.65); }
#zdi-precos .hero-notice strong{ color: #fff; font-weight: 500; }

#zdi-precos .faq-banner{ background: var(--teal-light); border-bottom: 1px solid var(--teal-mid); padding: 14px 24px; }
#zdi-precos .faq-banner-text{ color: var(--dark); font-weight: 400; }
#zdi-precos .faq-banner-text strong{ font-weight: 500; }
#zdi-precos .faq-banner-btn{ background: transparent; color: var(--teal-hover); border: 1px solid var(--teal); padding: 7px 16px; font-weight: 500; }
#zdi-precos .faq-banner-btn:hover{ transform: none; box-shadow: none; background: var(--teal); color: #fff; }

#zdi-precos .payment-bar-title{ text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; color: var(--dark); margin: 0 0 12px; font-family: "Roboto", sans-serif; }
#zdi-precos .pay-layout{ display: flex; gap: 40px; align-items: flex-start; flex-wrap: wrap; }
#zdi-precos .pay-cash{ font-size: 14px; color: var(--dark); max-width: 260px; line-height: 1.6; margin: 0; }
#zdi-precos .pay-cash strong{ display: block; font-size: 20px; font-weight: 500; color: var(--teal-hover); font-family: "Roboto Condensed", sans-serif; }
#zdi-precos .pay-table{ border-collapse: collapse; font-size: 13.5px; min-width: 320px; }
#zdi-precos .pay-table th{ text-align: left; font-weight: 500; color: var(--gray); font-size: 12.5px; padding: 0 28px 6px 0; border-bottom: 1px solid var(--border); }
#zdi-precos .pay-table td{ padding: 6px 28px 6px 0; border-bottom: 1px solid var(--border); color: var(--dark); font-variant-numeric: tabular-nums; }
#zdi-precos .pay-table td:last-child{ font-weight: 500; }
#zdi-precos .pay-table tr:last-child td{ border-bottom: none; }

#zdi-precos .search-icon{ color: var(--gray); }
#zdi-precos .chip{ border-radius: 4px; border-width: 1px; font-weight: 400; }
#zdi-precos .chip.active{ font-weight: 500; }

#zdi-precos .exam-section{ border-radius: 6px; box-shadow: none; border: 1px solid var(--border); margin-bottom: 8px; }
#zdi-precos .section-header{ padding: 14px 20px; }
#zdi-precos .section-img{ width: 52px; height: 52px; border-radius: 6px; border: 1px solid var(--border); background: #fff; object-fit: contain; }
#zdi-precos .section-meta{ background: #fafcfc; border-top: 1px solid var(--border); }
#zdi-precos .section-meta-img{ width: 72px; height: 72px; border-radius: 6px; border: 1px solid var(--border); background: #fff; object-fit: contain; }
#zdi-precos .section-count{ background: none; padding: 0; color: var(--gray); font-weight: 400; font-size: 12.5px; border-radius: 0; }
#zdi-precos .meta-badge, #zdi-precos .meta-badge.time{ background: none; border: none; padding: 0; color: var(--gray); font-weight: 400; font-size: 12.5px; border-radius: 0; }

#zdi-precos .table-head-row span{ text-transform: none; letter-spacing: 0; font-size: 12.5px; font-weight: 500; }

#zdi-precos .rules-panel{ background: #fafcfc; gap: 28px; }
#zdi-precos .rules-col-title{ text-transform: none; letter-spacing: 0; font-family: "Roboto", sans-serif; font-size: 13px; font-weight: 500; padding: 0 0 0 10px; border-radius: 0; background: none !important; border-left: 3px solid; }
#zdi-precos .rules-col.ok .rules-col-title{ color: #1d7a46; border-color: #2e9d5b; }
#zdi-precos .rules-col.no .rules-col-title{ color: #a8322b; border-color: #c94a40; }
#zdi-precos .rules-col.warn .rules-col-title{ color: #8a5a00; border-color: #d39b1c; }
#zdi-precos .rules-list li{ padding-left: 13px; position: relative; display: block; }
#zdi-precos .rules-list li::before{ content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: #9aa8b4; }

#zdi-precos .exam-prep-btn{ font-size: 12px; opacity: 1; color: var(--teal-hover); font-weight: 500; }
#zdi-precos .exam-main:hover .exam-prep-btn{ opacity: 1; text-decoration: underline; }
#zdi-precos .preparo-inner{ box-shadow: none; border-radius: 0; }
#zdi-precos .preparo-label{ text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 500; color: var(--dark); }
#zdi-precos .preparo-actions{ border-top: none; padding-top: 0; }
#zdi-precos .preparo-edit-btn{ background: transparent; color: var(--teal-hover); border: 1px solid var(--teal-mid); border-radius: 4px; font-weight: 500; }
#zdi-precos .preparo-edit-btn:hover{ background: var(--teal-light); }
#zdi-precos .preparo-edit-btn.saving{ background: var(--teal); color: #fff; border-color: var(--teal); }

#zdi-precos .footer-cta-btn:hover{ transform: none; box-shadow: none; }

@media (max-width: 640px) {
  .pay-layout { gap: 16px; }
  .pay-table { min-width: 0; width: 100%; }
  .page-hero h1 { font-size: 28px; }
}

/* ══ FORMAS DE PAGAMENTO (identidade ZDI) ══ */
#zdi-precos .pay{ background: #fff; border-bottom: 1px solid var(--border); padding: 28px 24px 30px; }
#zdi-precos .pay-inner{ max-width: 1200px; margin: 0 auto; }
#zdi-precos .pay-title{ font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 22px; color: var(--dark); margin: 0 0 16px; }
#zdi-precos .pay-grid{ display: grid; grid-template-columns: minmax(220px, 280px) 1fr; gap: 16px; align-items: stretch; }
#zdi-precos .pay-cash{ max-width: none; margin: 0; background: var(--dark); color: #fff; border-radius: 8px; padding: 22px 24px; display: flex; flex-direction: column; justify-content: center; border-top: 4px solid var(--teal); }
#zdi-precos .pay-cash-label{ font-size: 14px; color: rgba(255,255,255,.75); }
#zdi-precos .pay-cash-big{ font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 64px; line-height: 1; color: var(--teal); margin: 6px 0 4px; display: flex; align-items: baseline; gap: 8px; }
#zdi-precos .pay-cash-big small{ font-size: 20px; color: #fff; font-weight: 400; font-family: "Roboto", sans-serif; }
#zdi-precos .pay-cash-how{ font-size: 14px; color: rgba(255,255,255,.85); }
#zdi-precos .pay-credit{ border: 1px solid var(--border); border-radius: 8px; padding: 20px 24px 18px; }
#zdi-precos .pay-credit-head{ display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
#zdi-precos .pay-credit-title{ font-weight: 500; font-size: 15px; color: var(--dark); }
#zdi-precos .pay-credit-note{ font-size: 12.5px; color: var(--gray); }
#zdi-precos .pay-steps{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; align-items: end; }
#zdi-precos .pay-step{ display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
#zdi-precos .pay-step-n{ font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 26px; color: var(--dark); line-height: 1; }
#zdi-precos .pay-step-bar{ display: block; width: 100%; height: calc(8px + var(--i) * 9px); background: var(--teal-mid); border-radius: 3px 3px 0 0; }
#zdi-precos .pay-step:last-child .pay-step-bar{ background: var(--teal); }
#zdi-precos .pay-step-range{ font-size: 12px; color: var(--gray); line-height: 1.35; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
  .pay-grid { grid-template-columns: 1fr; }
  .pay-cash-big { font-size: 52px; }
  .pay-steps { grid-template-columns: 1fr; gap: 8px; }
  .pay-step { display: grid; grid-template-columns: 40px 1fr 120px; align-items: center; gap: 10px; }
  .pay-step-n { font-size: 20px; }
  .pay-step-bar { height: 10px; width: calc(var(--i) * 16.66%); border-radius: 0 3px 3px 0; }
  .pay-step-range { text-align: right; }
}

/* ══ CARTÕES COM FOTO (igual ao site) ══ */
#zdi-precos .content{ max-width: 1200px; margin: 0 auto; padding: 24px 24px 0; }
#zdi-precos .cat-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
#zdi-precos .cat-grid .exam-section{ border: 1px solid var(--border); border-radius: 10px; background: #fff; overflow: hidden; margin: 0; box-shadow: none; }
#zdi-precos .cat-card{ all: unset; box-sizing: border-box; display: flex; flex-direction: column; width: 100%; cursor: pointer; }
#zdi-precos .cat-card:focus-visible{ outline: 3px solid var(--teal); outline-offset: -3px; }
#zdi-precos .cat-photo{ display: block; aspect-ratio: 3 / 2; background: var(--teal-light); overflow: hidden; }
#zdi-precos .cat-photo img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
#zdi-precos .cat-card:hover .cat-photo img{ transform: scale(1.03); }
#zdi-precos .cat-photo.no-photo{ aspect-ratio: auto; height: 6px; background: var(--teal); }
#zdi-precos .cat-text{ display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 18px; }
#zdi-precos .cat-title{ font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 20px; color: var(--dark); line-height: 1.2; }
#zdi-precos .cat-sub{ font-size: 13px; color: var(--teal-hover); font-weight: 500; }
#zdi-precos .cat-desc{ font-size: 13.5px; color: #4a5a68; line-height: 1.55; margin-top: 4px; }
#zdi-precos .cat-foot{ display: flex; align-items: center; gap: 14px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 12.5px; color: var(--gray); }
#zdi-precos .cat-foot .section-count{ color: var(--gray); font-size: 12.5px; }
#zdi-precos .cat-cta{ margin-left: auto; color: var(--teal-hover); font-weight: 500; font-size: 13px; }
#zdi-precos .cat-cta-close{ display: none; }
#zdi-precos .exam-section.open .cat-cta-open{ display: none; }
#zdi-precos .exam-section.open .cat-cta-close{ display: inline; }

#zdi-precos .cat-grid .section-body{ display: none; border-top: 1px solid var(--border); }
#zdi-precos .cat-grid .exam-section.open{ grid-column: 1 / -1; }
#zdi-precos .cat-grid .exam-section.open .section-body{ display: block; }
#zdi-precos .cat-grid .exam-section.open .cat-card{ flex-direction: row; }
#zdi-precos .cat-grid .exam-section.open .cat-photo{ width: 300px; flex-shrink: 0; }
#zdi-precos .cat-grid .exam-section.open .cat-text{ justify-content: center; padding: 22px 28px; }
#zdi-precos .cat-grid .exam-section.open .cat-desc{ max-width: 620px; }
#zdi-precos .cat-grid .exam-section.hidden{ display: none; }

#zdi-precos .cat-grid .table-head-row{ display: flex; justify-content: space-between; padding: 10px 24px; background: #fafcfc; border-bottom: 1px solid var(--border); font-size: 12.5px; color: var(--gray); font-weight: 500; }
#zdi-precos .cat-grid .exam-row{ border-bottom: 1px solid #eef3f3; }
#zdi-precos .cat-grid .exam-row:last-child{ border-bottom: none; }
#zdi-precos .cat-grid .exam-main{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 24px; cursor: default; }
#zdi-precos .cat-grid .exam-main:hover{ background: #f7fbfb; }
#zdi-precos .cat-grid .exam-right{ display: flex; align-items: center; gap: 18px; }
#zdi-precos .cat-grid .exam-prep-btn{ font-size: 12.5px; color: var(--teal-hover); text-decoration: none; border: 1px solid var(--teal-mid); border-radius: 4px; padding: 4px 10px; opacity: 1; white-space: nowrap; }
#zdi-precos .cat-grid .exam-prep-btn:hover{ background: var(--teal); border-color: var(--teal); color: #fff; }

@media (max-width: 960px) { .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .content { padding: 16px 16px 0; }
  .cat-grid { grid-template-columns: 1fr; gap: 14px; }
  .cat-grid .exam-section.open .cat-card { flex-direction: column; }
  .cat-grid .exam-section.open .cat-photo { width: 100%; }
  .cat-grid .exam-section.open .cat-text { padding: 16px 18px; }
  .cat-grid .exam-main { padding: 12px 16px; align-items: flex-start; }
  .cat-grid .exam-right { flex-direction: column; align-items: flex-end; gap: 6px; }
  .cat-grid .table-head-row { padding: 10px 16px; }
}
@media (prefers-reduced-motion: reduce) { .cat-photo img { transition: none; } }

/* ══ RM 2 salas / coração / acolhimento ══ */
#zdi-precos .cat-photo{ position: relative; }
#zdi-precos .cat-badge{ position: absolute; z-index: 2; left: 14px; top: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: #36C0C0; color: #fff; font-size: 13.5px; font-weight: 700; line-height: 1; box-shadow: 0 6px 16px rgba(7,65,108,.2); }
#zdi-precos .cat-badge strong{ display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; color: #0b416c; font-size: 13px; font-weight: 800; }
#zdi-precos .cat-photo--heart{ background: #000; }
#zdi-precos .cat-photo--heart img{ object-position: center 40%; }
#zdi-precos .cat-grid .exam-section.open .cat-photo--heart img{ object-fit: contain; }

#zdi-precos .acl{ margin: 56px 0 8px; padding-top: 48px; border-top: 1px solid var(--border); color: var(--dark); }
#zdi-precos .acl h2{ font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 32px; line-height: 1.15; margin: 6px 0 12px; }
#zdi-precos .acl h3{ font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 26px; line-height: 1.2; margin: 6px 0 12px; }
#zdi-precos .acl p{ font-size: 15.5px; line-height: 1.65; color: #4a5a68; margin: 0 0 12px; max-width: 68ch; }
#zdi-precos .acl-tag{ display: inline-block; color: var(--teal-hover); font-weight: 500; font-size: 14px; }
#zdi-precos .acl-head{ max-width: 760px; margin-bottom: 28px; }
#zdi-precos .acl-head--gal{ margin-top: 48px; }
#zdi-precos .acl-intro, #zdi-precos .acl-acess{ display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
#zdi-precos .acl-foto{ margin: 0; border-radius: 14px; overflow: hidden; background: var(--teal-light); aspect-ratio: 4 / 3; position: relative; }
#zdi-precos .acl-foto img{ width: 100%; height: 100%; object-fit: cover; display: block; }
#zdi-precos .acl-foto.no-photo{ aspect-ratio: auto; height: 8px; }
#zdi-precos .acl-destaques{ list-style: none; padding: 0; margin: 32px 0 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
#zdi-precos .acl-destaques li{ background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 20px; font-size: 14.5px; line-height: 1.55; color: #4a5a68; }
#zdi-precos .acl-destaques strong{ display: block; color: var(--dark); font-size: 16px; margin-bottom: 4px; }
#zdi-precos .acl-check{ display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 12px; border-radius: 50%; background: rgba(54,192,192,.12); color: #36C0C0; font-weight: 700; font-size: 17px; }
#zdi-precos .acl-acess{ background: #f3f8f9; border-radius: 16px; padding: 32px; }
#zdi-precos .acl-lista{ list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#zdi-precos .acl-lista li{ display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; font-size: 14.5px; line-height: 1.4; }
#zdi-precos .acl-lista li::before{ content: "✓"; flex: 0 0 22px; height: 22px; border-radius: 50%; background: rgba(54,192,192,.12); color: #36C0C0; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
#zdi-precos .acl-galeria{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
#zdi-precos .acl-galeria figcaption{ position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 14px 10px; background: linear-gradient(transparent, rgba(11,65,108,.75)); color: #fff; font-size: 13.5px; font-weight: 500; }
#zdi-precos .acl-fecho{ margin-top: 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--dark); color: #fff; border-radius: 16px; padding: 28px 32px; }
#zdi-precos .acl-fecho h3{ color: #fff; font-size: 24px; margin: 0 0 6px; }
#zdi-precos .acl-fecho p{ color: rgba(255,255,255,.82); margin: 0; }
#zdi-precos .acl-btn{ flex-shrink: 0; background: var(--teal); color: #fff; text-decoration: none; font-weight: 700; padding: 12px 22px; border-radius: 8px; }
#zdi-precos .acl-btn:hover{ background: var(--teal-hover); }
@media (max-width: 900px) {
  .acl-intro, .acl-acess { grid-template-columns: 1fr; gap: 24px; }
  .acl-destaques, .acl-galeria { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .acl h2 { font-size: 27px; } .acl h3 { font-size: 23px; }
  .acl-destaques, .acl-galeria, .acl-lista { grid-template-columns: 1fr; }
  .acl-acess { padding: 22px 18px; }
  .acl-fecho { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
  .acl-btn { width: 100%; text-align: center; box-sizing: border-box; }
}


#zdi-precos{font-family:Roboto,Arial,sans-serif;background:#f5f7f8;color:#1b2d3c;font-size:14px;line-height:1.5;--teal:#09B2B2;--teal-hover:#07999A;--teal-light:#E8F8F8;--teal-mid:#B2E0E0;--dark:#1B2D3C;--dark2:#243546;--gray:#6C7A89;--gray-light:#F5F7F8;--border:#E0EAEA;--white:#fff;--shadow:0 2px 12px rgba(9,178,178,.10)}

/* v1.1: reduzir repinturas durante o scroll, sem fixação de barra interna */
#zdi-precos .search-bar {position:relative !important;top:auto !important;z-index:1 !important;box-shadow:none !important;}
#zdi-precos .cat-photo img {transition:none !important;}
#zdi-precos .cat-card:hover .cat-photo img {transform:none !important;}
@media (prefers-reduced-motion: reduce) {#zdi-precos * {animation-duration:0.01ms !important;transition-duration:0.01ms !important;}}

/* Plugin v2: text preparation disclosure */
#zdi-precos .exam-preparo[hidden]{display:none!important;}
#zdi-precos .exam-preparo:not([hidden]){display:block!important;}

/* v2.0.1 — Correção do painel de pagamento em telas estreitas.
   Regras com #zdi-precos prevalecem sobre o grid desktop. */
#zdi-precos .pay,
#zdi-precos .pay-inner,
#zdi-precos .pay-grid,
#zdi-precos .pay-credit,
#zdi-precos .pay-cash {min-width:0;box-sizing:border-box;}
@media (max-width: 900px) {
  #zdi-precos .pay-grid {grid-template-columns:minmax(0,1fr);gap:16px;}
  #zdi-precos .pay-cash {width:100%;min-height:0;padding:22px;}
  #zdi-precos .pay-credit {width:100%;min-width:0;}
  #zdi-precos .pay-steps {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;}
  #zdi-precos .pay-step {display:flex;flex-direction:column;align-items:stretch;min-width:0;}
  #zdi-precos .pay-step-bar {height:8px;width:100%;}
  #zdi-precos .pay-step-range {text-align:left;overflow-wrap:anywhere;}
}
@media (max-width: 520px) {
  #zdi-precos .pay {padding:22px 16px 26px;}
  #zdi-precos .pay-title {font-size:21px;}
  #zdi-precos .pay-cash {padding:22px 20px;}
  #zdi-precos .pay-cash-big {font-size:52px;flex-wrap:wrap;}
  #zdi-precos .pay-cash-big small {font-size:17px;}
  #zdi-precos .pay-credit {padding:20px 16px;}
  #zdi-precos .pay-steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;}
  #zdi-precos .pay-step-n {font-size:23px;}
  #zdi-precos .pay-step-range {font-size:12px;}
}
@media (max-width: 340px) {
  #zdi-precos .pay-steps {grid-template-columns:minmax(0,1fr);}
}


@media (max-width: 960px) {
/* v2.0.2 — Responsividade integral, Blocksy + Elementor, sem interferir no tema */
#zdi-precos { width:100%; max-width:100%; min-width:0; overflow-wrap:break-word; }
#zdi-precos img,#zdi-precos svg {max-width:100%;}
#zdi-precos .page-hero-inner,#zdi-precos .faq-banner-inner,#zdi-precos .pay-inner,
#zdi-precos .search-bar-inner,#zdi-precos .content,#zdi-precos .cat-grid,
#zdi-precos .acl,#zdi-precos .acl-intro,#zdi-precos .acl-acess,#zdi-precos .acl-fecho {min-width:0;max-width:100%;}
#zdi-precos .cat-grid > *,#zdi-precos .acl-intro > *,#zdi-precos .acl-acess > * {min-width:0;}

}
@media (max-width: 960px) {
 #zdi-precos .cat-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 #zdi-precos .acl-intro,#zdi-precos .acl-acess {grid-template-columns:minmax(0,1fr);gap:24px;}
 #zdi-precos .acl-destaques,#zdi-precos .acl-galeria {grid-template-columns:repeat(2,minmax(0,1fr));}
 #zdi-precos .search-wrap {min-width:0;flex:1 1 100%;}
 #zdi-precos .search-bar-inner {gap:10px;}
 #zdi-precos .result-label {margin-left:0;white-space:normal;}
}
@media (max-width: 640px) {
 #zdi-precos .page-hero {padding:28px 16px 26px;}
 #zdi-precos .page-hero h1 {font-size:clamp(25px,7vw,32px);line-height:1.18;}
 #zdi-precos .page-hero p.hero-news {font-size:15px;}
 #zdi-precos .page-hero p {font-size:14px;}
 #zdi-precos .breadcrumb {flex-wrap:wrap;line-height:1.5;}
 #zdi-precos .hero-notice {font-size:12px;}
 #zdi-precos .hero-facts li {font-size:13px;}
 #zdi-precos .faq-banner {padding:18px 16px;}
 #zdi-precos .faq-banner-inner {flex-direction:column;align-items:stretch;text-align:left;gap:12px;}
 #zdi-precos .faq-banner-btn {align-self:flex-start;white-space:normal;}
 #zdi-precos .pay {padding:24px 16px;}
 #zdi-precos .pay-grid {grid-template-columns:minmax(0,1fr);}
 #zdi-precos .pay-cash,#zdi-precos .pay-credit {min-width:0;width:100%;}
 #zdi-precos .pay-cash-big {font-size:clamp(42px,13vw,56px);}
 #zdi-precos .pay-credit {padding:18px 14px;}
 #zdi-precos .pay-credit-head {align-items:flex-start;}
 #zdi-precos .pay-steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;}
 #zdi-precos .pay-step {min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:6px;}
 #zdi-precos .pay-step-bar {width:100%;height:8px;}
 #zdi-precos .pay-step-range {overflow-wrap:anywhere;text-align:left;}
 #zdi-precos .search-bar {padding:14px 16px;position:relative;top:auto;}
 #zdi-precos .search-wrap,#zdi-precos .search-wrap input {width:100%;min-width:0;}
 #zdi-precos .search-wrap input {font-size:16px;min-height:44px;}
 #zdi-precos .content {margin:0 auto;padding:18px 16px 40px;}
 #zdi-precos .cat-grid {grid-template-columns:minmax(0,1fr);gap:14px;}
 #zdi-precos .cat-grid .exam-section {min-width:0;grid-column:auto;}
 #zdi-precos .cat-grid .exam-section.open {grid-column:1/-1;}
 #zdi-precos .cat-grid .exam-section.open .cat-card {flex-direction:column;}
 #zdi-precos .cat-grid .exam-section.open .cat-photo {width:100%;flex:0 0 auto;}
 #zdi-precos .cat-grid .exam-section.open .cat-text {padding:16px 18px;}
 #zdi-precos .cat-photo img {width:100%;height:100%;object-fit:cover;}
 #zdi-precos .cat-foot {flex-wrap:wrap;gap:8px 12px;}
 #zdi-precos .cat-cta {margin-left:auto;}
 #zdi-precos .cat-grid .table-head-row {padding:10px 14px;}
 #zdi-precos .cat-grid .exam-main {padding:14px;display:flex;align-items:flex-start;gap:12px;}
 #zdi-precos .cat-grid .exam-name {flex:1 1 0;min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.45;}
 #zdi-precos .cat-grid .exam-right {flex:0 0 auto;min-width:0;max-width:40%;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
 #zdi-precos .exam-price {min-width:0;font-size:14px;white-space:nowrap;}
 #zdi-precos .cat-grid .exam-prep-btn {white-space:normal;text-align:center;padding:7px 9px;min-height:36px;}
 #zdi-precos .preparo-inner {margin:12px;padding:14px;}
 #zdi-precos .preparo-text {overflow-wrap:anywhere;}
 #zdi-precos .acl {margin:34px 0 0;padding-top:30px;}
 #zdi-precos .acl h2 {font-size:26px;}
 #zdi-precos .acl h3 {font-size:22px;}
 #zdi-precos .acl p {font-size:14px;}
 #zdi-precos .acl-intro,#zdi-precos .acl-acess {grid-template-columns:minmax(0,1fr);gap:20px;}
 #zdi-precos .acl-acess {padding:20px 16px;}
 #zdi-precos .acl-destaques,#zdi-precos .acl-galeria,#zdi-precos .acl-lista {grid-template-columns:minmax(0,1fr);gap:12px;}
 #zdi-precos .acl-fecho {flex-direction:column;align-items:stretch;padding:22px 18px;}
 #zdi-precos .acl-btn {flex-shrink:1;width:100%;text-align:center;}
 #zdi-precos .footer-cta {padding:30px 16px;}
 #zdi-precos .footer-cta h3 {font-size:22px;}
 #zdi-precos .footer-cta-btn {max-width:100%;white-space:normal;}
}
@media (max-width: 360px) {
 #zdi-precos .content {padding-left:12px;padding-right:12px;}
 #zdi-precos .cat-grid .exam-main {padding:12px;gap:8px;}
 #zdi-precos .cat-grid .exam-right {max-width:44%;}
 #zdi-precos .pay-steps {gap:14px 8px;}
 #zdi-precos .pay-credit {padding:16px 12px;}
}
