/* ── vigilance.css → css/vigilance.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 — 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; }

/* ── MAIN LAYOUT ── */
.vig-main { padding: 2rem 0 3rem; }
.vig-container {
	width: 100%;
	padding: 1.5rem 1.5rem;
}

/* ── COMPLAINT PORTAL ── */
.vig-portal-wrap {
    background: var(--white); border-radius: var(--r1);
    box-shadow: var(--s2); border: 1px solid rgba(37,99,235,.05);
    border-top: 4px solid var(--G);
    padding: 1.2rem 1.6rem;
    margin-bottom: 1.2rem;
}
.vig-portal-row {
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.vig-portal-left {
    display: flex; align-items: center; gap: .85rem; flex: 1; flex-wrap: wrap;
}
.vig-portal-icon {
    width: 42px; height: 42px; border-radius: 11px;
    background: var(--G); color: var(--white); flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: .95rem; box-shadow: 0 3px 10px rgba(30,58,138,.2);
}
.vig-portal-label { font-size: .9rem; font-weight: 800; color: var(--t1); }
.vig-portal-url   { font-size: .74rem; color: var(--t3); margin-top: .05rem; }

/* PAHAL badge */
.vig-pahal-badge {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: var(--white); border-radius: 20px;
    font-size: .68rem; font-weight: 800;
    padding: .2rem .9rem; white-space: nowrap;
    box-shadow: 0 2px 8px rgba(220,38,38,.3);
    letter-spacing: .5px;
}

.vig-portal-btn {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--G); color: var(--white);
    border-radius: 9px; padding: .6rem 1.5rem;
    font-size: .84rem; font-weight: 700;
    text-decoration: none; transition: var(--t);
    box-shadow: 0 3px 10px rgba(30,58,138,.2);
    white-space: nowrap; flex-shrink: 0;
}
.vig-portal-btn:hover { opacity: .88; transform: translateY(-2px); color: var(--white); }
.vig-portal-btn:focus-visible { outline: 3px solid var(--mid); outline-offset: 2px; }

/* ── QUOTES ROW ── */
.vig-quotes-row {
    display: flex; align-items: stretch; gap: 0;
    background: var(--white); border-radius: var(--r1);
    box-shadow: var(--s2); border: 1px solid rgba(37,99,235,.05);
    border-top: 4px solid #d97706;
    overflow: hidden; margin-bottom: 1.3rem;
}
.vig-quote {
    flex: 1; padding: 1rem 1.2rem;
    font-size: .82rem; font-weight: 600; color: #92400e;
    background: #fffbeb; line-height: 1.5;
    display: flex; align-items: center; gap: .4rem;
    text-align: center; justify-content: center;
}
.vig-quote i { font-size: 1rem; color: #d97706; flex-shrink: 0; }
.vig-quote-divider {
    width: 1px; background: #fde68a; flex-shrink: 0;
}

/* ── ACCORDION ── */
.vig-accordion {
    display: flex; flex-direction: column; gap: .6rem;
}

.vig-acc-item {
    background: var(--white); border-radius: var(--r1);
    box-shadow: var(--s2); border: 1px solid rgba(37,99,235,.05);
    overflow: hidden;
}

/* accordion button */
.vig-acc-btn {
    width: 100%; display: flex; align-items: center; gap: .85rem;
    padding: 1rem 1.4rem;
    background: var(--xpale); border: none; cursor: pointer;
    text-align: left; transition: background .2s;
    border-left: 4px solid var(--G);
}
.vig-acc-btn:hover { background: #e8edf8; }
.vig-acc-btn:focus-visible { outline: 3px solid var(--mid); outline-offset: -3px; }
.vig-acc-btn[aria-expanded="true"] { background: var(--G); border-left-color: transparent; }
.vig-acc-btn[aria-expanded="true"] .vig-acc-title { color: var(--white); }
.vig-acc-btn[aria-expanded="true"] .vig-acc-icon  { background: rgba(255,255,255,.2); color: var(--white); border-color: rgba(255,255,255,.25); }
.vig-acc-btn[aria-expanded="true"] .vig-acc-chevron { color: var(--white); transform: rotate(180deg); }

.vig-acc-icon {
    width: 34px; height: 34px; border-radius: 9px;
    background: var(--white); border: 1.5px solid var(--pale);
    color: var(--G); flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: .82rem; transition: var(--t);
}
.vig-acc-title {
    flex: 1; font-size: .88rem; font-weight: 700; color: var(--t1);
    transition: color .2s;
}
.vig-acc-chevron {
    font-size: .78rem; color: var(--t3); flex-shrink: 0;
    transition: transform .3s ease, color .2s;
}

/* accordion body */
.vig-acc-body {
    padding: 1.2rem 1.4rem;
    border-top: 1px solid var(--pale);
}
.vig-acc-desc {
    font-size: .88rem; color: var(--t2); line-height: 1.8;
    margin-bottom: 1rem; padding: .85rem 1rem;
    background: #eff6ff; border: 1px solid #bfdbfe;
    border-radius: var(--r2);
}

/* ── DOC ROWS (inside accordion) ── */
.vig-doc-list { display: flex; flex-direction: column; gap: .4rem; }

.vig-doc-row {
    display: flex; align-items: center; gap: .85rem;
    padding: .75rem 1rem;
    text-decoration: none;
    background: var(--xpale); border: 1px solid var(--pale);
    border-radius: var(--r2);
    transition: background .18s, transform .2s, box-shadow .2s;
}
.vig-doc-row:hover {
    background: var(--white); transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(30,58,138,.1);
}
.vig-doc-row:focus-visible { outline: 3px solid var(--mid); outline-offset: -3px; }

.vig-doc-icon {
    width: 36px; height: 36px; border-radius: 8px;
    background: #fee2e2; color: #dc2626;
    display: flex; align-items: center; justify-content: center;
    font-size: .88rem; flex-shrink: 0; transition: var(--t);
}
.vig-doc-row:hover .vig-doc-icon { background: #dc2626; color: var(--white); }

.vig-doc-text {
    flex: 1; font-size: .86rem; font-weight: 500; color: var(--t1);
    transition: color .18s;
}
.vig-doc-row:hover .vig-doc-text { color: var(--blue); }

.vig-doc-btn {
    display: inline-flex; align-items: center; gap: .35rem;
    background: var(--G); color: var(--white);
    border-radius: 7px; padding: .28rem .8rem;
    font-size: .7rem; font-weight: 700;
    white-space: nowrap; flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(30,58,138,.18);
    transition: var(--t);
}
.vig-doc-row:hover .vig-doc-btn { opacity: .88; }

/* ── CONTACT DETAILS ── */
.vig-contact-label {
    font-size: .72rem; font-weight: 800; color: var(--mid);
    text-transform: uppercase; letter-spacing: 1.2px;
    margin-bottom: .9rem;
}
.vig-contacts-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
.vig-contact-card {
    background: var(--xpale); border: 1px solid var(--pale);
    border-radius: var(--r2); padding: 1rem 1.1rem;
    border-left: 3px solid var(--G);
}
.vig-contact-role {
    display: flex; align-items: center; gap: .4rem;
    font-size: .82rem; font-weight: 800; color: var(--blue);
    margin-bottom: .3rem;
}
.vig-contact-role i { font-size: .78rem; flex-shrink: 0; }
.vig-contact-org  { font-size: .8rem; font-weight: 700; color: var(--t1); margin-bottom: .2rem; }
.vig-contact-addr {
    font-size: .78rem; color: var(--t2); line-height: 1.65;
    margin-bottom: .6rem;
}
.vig-contact-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.vig-pill {
    display: inline-flex; align-items: center; gap: .3rem;
    background: var(--white); border: 1px solid var(--pale);
    color: var(--t2); border-radius: 7px;
    padding: .2rem .7rem; font-size: .74rem; font-weight: 500;
    text-decoration: none; transition: var(--t); white-space: nowrap;
}
.vig-pill:hover { background: var(--G); color: var(--white); border-color: transparent; }
.vig-pill--phone:hover { background: #16a34a; }
.vig-pill i { font-size: .68rem; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .vig-quotes-row  { flex-direction: column; }
    .vig-quote-divider { width: 100%; height: 1px; }
    .vig-contacts-grid { grid-template-columns: 1fr; }
    .vig-portal-row  { flex-direction: column; align-items: flex-start; }
    .vig-portal-btn  { width: 100%; justify-content: center; }
}
@media (max-width: 576px) {
    .vig-container  { padding: 0 1rem; }
    .vig-acc-btn    { padding: .8rem 1rem; }
    .vig-acc-title  { font-size: .82rem; }
    .vig-acc-body   { padding: 1rem; }
}
@media print {
    .vig-acc-item { box-shadow: none; border: 1px solid #ccc; page-break-inside: avoid; }
    .vig-doc-btn  { background: none; color: var(--blue); box-shadow: none; }
    .collapse { display: block !important; }
}