/* ============================================================
   Indique e Ganhe — Simples IP
   Segue a linguagem visual das páginas Governo/Simples Phone.
   ============================================================ */
.idq-page {
    --idq-grad: linear-gradient(135deg, var(--primary-color, #9B3FA3) 0%, var(--secondary-color, #1A1F3A) 100%);
    --idq-border: #EBE4F3;
    --idq-muted: #6B6580;
}
.idq-wrap { width: min(1140px, 92vw); margin-inline: auto; }
.idq-eyebrow {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--primary-color, #9B3FA3);
}
.idq-section { padding: 72px 0; }
.idq-alt { background: #FBF7FD; }
.idq-head { max-width: 660px; margin: 0 auto 44px; text-align: center; }
.idq-head h2 { font-size: clamp(26px, 3.6vw, 36px); margin-top: 12px; }

/* Hero */
.idq-hero { background: var(--idq-grad); color: #fff; }
.idq-hero .idq-wrap { padding: 74px 0 80px; max-width: 820px; text-align: center; }
.idq-hero .idq-eyebrow { color: #EBCBF0; }
.idq-hero h1 { color: #fff; font-size: clamp(30px, 4.4vw, 46px); line-height: 1.16; margin: 14px 0 0; }
.idq-sub { margin: 18px auto 0; font-size: 18px; line-height: 1.65; color: rgba(255, 255, 255, 0.88); max-width: 56ch; }
.idq-cta-row { margin-top: 30px; }

/* Passos */
.idq-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.idq-step {
    background: #fff;
    border: 1px solid var(--idq-border);
    border-radius: 18px;
    padding: 30px 26px;
    text-align: center;
}
.idq-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6E16C8, #E819CA);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 17px;
}
.idq-step h3 { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 17.5px; margin: 14px 0 8px; }
.idq-step p { color: var(--idq-muted); font-size: 15.5px; line-height: 1.55; margin: 0; }

/* Bullets de transparência */
.idq-bullets { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 900px; margin: 0 auto; }
.idq-bullet {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--idq-border);
    border-radius: 16px;
    padding: 20px 22px;
}
.idq-bullet i { color: var(--primary-color, #9B3FA3); font-size: 20px; margin-top: 3px; }
.idq-bullet p { margin: 0; color: var(--idq-muted); font-size: 15px; line-height: 1.55; }
.idq-bullet p strong { color: #2A2A2A; }

/* Formulário */
.idq-form-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: start; }
.idq-form-text h2 { font-size: clamp(24px, 3.2vw, 32px); margin-top: 12px; }
.idq-form-text p { color: var(--idq-muted); font-size: 16.5px; margin-top: 14px; line-height: 1.65; }
.idq-form-note { font-style: italic; font-size: 14px !important; }
.idq-form-wrapper {
    background: #fff;
    border: 1px solid var(--idq-border);
    border-radius: 20px;
    padding: 32px 30px;
    box-shadow: 0 18px 45px -22px rgba(23, 20, 55, 0.18);
}
.idq-form-bloco {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--primary-color, #9B3FA3);
    margin: 4px 0 10px;
}
.idq-form-bloco + .form-group { margin-top: 0; }
.idq-form .form-group { margin-bottom: 1rem; }
.idq-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.idq-form input, .idq-form textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid #E5E5E5;
    border-radius: 0.5rem;
    font-family: inherit;
    font-size: 15px;
}
.idq-form input:focus, .idq-form textarea:focus {
    outline: none;
    border-color: var(--primary-color, #9B3FA3);
}
.idq-form .btn-block { width: 100%; }

/* Responsivo */
@media (max-width: 900px) {
    .idq-steps { grid-template-columns: 1fr; }
    .idq-bullets { grid-template-columns: 1fr; }
    .idq-form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .idq-form .form-row { grid-template-columns: 1fr; }
}
