/* ── qip.css ── */

body {
    font-family: 'Poppins', sans-serif;
    background: var(--pg);
    margin: 0; padding-top: 0;
    color: var(--t1); font-size: 14px; line-height: 1.6;
}

/* header overrides */
/*.ireda-header { background: var(--white) !important; box-shadow: 0 2px 20px rgba(30,58,138,.08) !important; }
.header-bg-overlay { background: var(--white) !important; backdrop-filter: none !important; opacity: 1 !important; }
.ireda-header:not(.scrolled) .nav-link,
.ireda-header:not(.scrolled) .glass-btn { color: rgba(255,255,255,0.92) !important; text-shadow: 0 1px 4px rgba(0,0,0,0.25); }
.ireda-header:not(.scrolled) .utility-link    { color: rgba(255,255,255,0.75) !important; }
.ireda-header:not(.scrolled) .utility-divider { color: rgba(255,255,255,0.35) !important; }
.ireda-header:not(.scrolled) .col-lg-2 img    { filter: none !important; opacity: 1 !important; }
.ireda-header.scrolled .nav-link,
.ireda-header.scrolled .glass-btn             { color: var(--t2) !important; text-shadow: none !important; }
.ireda-header.scrolled .utility-link          { color: var(--t3) !important; }
.ireda-header.scrolled .col-lg-2 img          { filter: none !important; opacity: .92 !important; }*/

/* header overrides — subpage: always solid white, always dark text */
.ireda-header { background: var(--white) !important; box-shadow: 0 2px 20px rgba(30,58,138,.08) !important; }
.header-bg-overlay { background: var(--white) !important; backdrop-filter: none !important; opacity: 1 !important; }
.ireda-header .nav-link,
.ireda-header .glass-btn { color: var(--blue) !important; text-shadow: none !important; }
.ireda-header .utility-link,
.ireda-header .utility-lang-btn,
.ireda-header .utility-font-btn { color: var(--t3) !important; }
.ireda-header .utility-divider { color: var(--border) !important; }
.ireda-header .col-lg-2 img { filter: none !important; opacity: 1 !important; }

/* ── STEP WRAPPER ── */
.qip-step {
    background: var(--white); border-radius: var(--r1);
    box-shadow: var(--s2); border: 1px solid rgba(37,99,235,.05);
    overflow: hidden;
}
.qip-step::before { content: ''; display: block; height: 4px; background: var(--G); }
.qip-step--hidden { display: none !important; }

/* ── STEP HEADER ── */
.qip-step-header {
    padding: 1.6rem 2rem 1.2rem;
    border-bottom: 1px solid var(--pale);
    background: var(--xpale);
}
.qip-step-badge {
    display: inline-block;
    background: var(--G); color: var(--white);
    font-size: .62rem; font-weight: 800; letter-spacing: 1px;
    text-transform: uppercase; border-radius: 20px;
    padding: .2rem .8rem; margin-bottom: .6rem;
}
.qip-step-title {
    font-size: 1.05rem; font-weight: 800; color: var(--t1);
    margin: 0 0 .35rem; display: flex; align-items: center; gap: .5rem;
}
.qip-step-title i { font-size: .95rem; color: var(--blue); }
.qip-step-sub { font-size: .84rem; color: var(--t3); margin: 0; }

/* ── DISCLAIMER SCROLL BOX ── */
.qip-disclaimer-scroll {
    max-height: 420px; overflow-y: auto;
    padding: 1.6rem 2rem;
    font-size: .82rem; color: var(--t2); line-height: 1.85;
    border-bottom: 1px solid var(--pale);
    scroll-behavior: smooth;
}
.qip-disclaimer-scroll p { margin: 0 0 .9rem; }
.qip-disclaimer-scroll p:last-child { margin: 0; }
.qip-disclaimer-notice {
    font-weight: 600; color: var(--t1);
    background: #fef9c3; border-left: 4px solid #ca8a04;
    padding: .9rem 1rem; border-radius: 0 var(--r3) var(--r3) 0;
    margin-bottom: 1rem !important;
}

/* scrollbar styling */
.qip-disclaimer-scroll::-webkit-scrollbar { width: 5px; }
.qip-disclaimer-scroll::-webkit-scrollbar-track { background: var(--pale); border-radius: 10px; }
.qip-disclaimer-scroll::-webkit-scrollbar-thumb { background: var(--mid); border-radius: 10px; }

/* ── CONFIRMATION TEXT ── */
.qip-confirm-text {
    padding: 1.6rem 2rem;
    font-size: .88rem; color: var(--t2); line-height: 1.85;
    border-bottom: 1px solid var(--pale);
}
.qip-confirm-text p { margin: 0 0 1rem; }
.qip-confirm-text p:last-child { margin: 0; }
.qip-confirm-text strong { color: var(--blue); font-weight: 700; }

.qip-confirm-list {
    list-style: none; padding: 0; margin: .8rem 0 1rem;
}
.qip-confirm-list li {
    display: flex; align-items: flex-start; gap: .6rem;
    padding: .45rem 0;
    font-size: .88rem; color: var(--t1); line-height: 1.6;
}
.qip-confirm-list li i {
    font-size: .8rem; color: #16a34a;
    flex-shrink: 0; margin-top: .22rem;
}

/* ── ACTION BAR ── */
.qip-step-action {
    padding: 1.2rem 2rem;
    background: var(--xpale);
    display: flex; align-items: center;
}
.qip-action-dual {
    justify-content: space-between; gap: 1rem;
}

/* ── BUTTONS ── */
.qip-btn {
    display: inline-flex; align-items: center; gap: .5rem;
    border: none; border-radius: 8px;
    padding: .65rem 1.5rem;
    font-family: 'Poppins', sans-serif;
    font-size: .82rem; font-weight: 700;
    cursor: pointer; text-decoration: none;
    transition: var(--t);
}
.qip-btn:focus-visible { outline: 3px solid var(--mid); outline-offset: 2px; }
.qip-btn i { font-size: .8rem; }

.qip-btn--primary {
    background: var(--G); color: var(--white);
    box-shadow: 0 4px 12px rgba(30,58,138,.22);
}
.qip-btn--primary:hover { opacity: .88; transform: translateY(-1px); color: var(--white); }

.qip-btn--danger {
    background: #dc2626; color: var(--white);
    box-shadow: 0 4px 12px rgba(220,38,38,.2);
}
.qip-btn--danger:hover { opacity: .88; transform: translateY(-1px); color: var(--white); }

.qip-btn--outline {
    background: none; color: var(--blue);
    border: 2px solid var(--blue);
}
.qip-btn--outline:hover { background: var(--xpale); }

/* ── DECLINED STATE ── */
.qip-declined-card {
    padding: 3rem 2rem;
    display: flex; flex-direction: column;
    align-items: center; text-align: center; gap: 1rem;
}
.qip-declined-icon {
    width: 60px; height: 60px; border-radius: 50%;
    background: #fee2e2;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem; color: #dc2626;
}
.qip-declined-title { font-size: 1.1rem; font-weight: 800; color: var(--t1); margin: 0; }
.qip-declined-text  { font-size: .88rem; color: var(--t3); max-width: 480px; margin: 0; line-height: 1.7; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .qip-step-header, .qip-confirm-text { padding: 1.2rem 1.25rem; }
    .qip-disclaimer-scroll { padding: 1.2rem 1.25rem; max-height: 300px; }
    .qip-step-action { padding: 1rem 1.25rem; }
    .qip-action-dual { flex-direction: column; }
    .qip-btn { width: 100%; justify-content: center; }
}
@media print {
    .qip-step { box-shadow: none; border: 1px solid #ccc; }
    .qip-disclaimer-scroll { max-height: none; overflow: visible; }
}