/* Explain: Styles for the professional contact sidebar, including premium call panels and specialty contacts. */
/* ===== Professional contact sidebar ===== */
.contact-side {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.side-head {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid var(--border-color);
}
.side-head-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: .85rem;
    background: linear-gradient(135deg, var(--primary-color), var(--surface-dark));
    color: var(--accent-color);
    font-size: 1.3rem;
    box-shadow: 0 12px 26px -14px rgba(11, 33, 55, .7);
}
.side-head-title {
    font-size: 1.35rem;
    color: var(--text-color);
    line-height: 1.2;
}
.side-head-sub {
    color: var(--text-muted);
    font-size: .9rem;
    margin-top: .2rem;
}
.side-block {
    display: flex;
    flex-direction: column;
}

/* Premium direct-call panel */
.contact-side .phones-box {
    margin-top: 0;
    padding: 1.4rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--surface-color), #122338);
    border: 1px solid var(--border-color);
    box-shadow: 0 18px 38px -30px rgba(11, 33, 55, .5);
}
.contact-side .phones-list a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .82rem 1rem;
    border-radius: .75rem;
    background: var(--background-color);
    border: 1px solid var(--border-color);
    color: var(--accent-color);
    font-weight: 700;
    letter-spacing: .03em;
    box-shadow: 0 8px 18px -16px rgba(11, 33, 55, .5);
    transition: border-color .25s, color .25s, transform .25s, box-shadow .25s;
}
.contact-side .phones-list a:hover {
    border-color: var(--accent-color);
    color: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 14px 26px -16px rgba(200, 162, 74, .7);
}

/* Specialty contacts */
.desk-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-top: .95rem;
}
.desk-card {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .85rem;
    border-radius: .85rem;
    border: 1px solid rgba(200, 162, 74, .5);
    background: linear-gradient(135deg, rgba(200, 162, 74, .18), rgba(200, 162, 74, .06));
    box-shadow: 0 12px 26px -22px rgba(200, 162, 74, .8);
    transition: border-color .25s, transform .25s, box-shadow .25s, background .25s;
}
.desk-card:hover {
    border-color: var(--accent-color);
    background: linear-gradient(135deg, rgba(200, 162, 74, .32), rgba(200, 162, 74, .12));
    transform: translateY(-3px);
    box-shadow: 0 20px 38px -20px rgba(200, 162, 74, .85);
}
.desk-info {
    flex: 1 1 auto;
    min-width: 0;
}
.desk-name {
    font-size: .98rem;
    color: var(--text-color);
    line-height: 1.3;
}
.desk-role {
    display: inline-block;
    margin-top: .25rem;
    padding: .15rem .6rem;
    border-radius: 999px;
    background: var(--background-color);
    border: 1px solid rgba(200, 162, 74, .45);
    color: var(--accent-hover);
    font-size: .78rem;
    font-weight: 700;
}
.desk-call {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .5rem;
    color: var(--accent-color);
    font-weight: 700;
    font-size: .88rem;
    letter-spacing: .02em;
    transition: color .2s, gap .2s;
}
.desk-call:hover {
    color: var(--accent-hover);
    gap: .6rem;
}

/* Info list polish */
.info-list {
    margin-top: .35rem;
}
.contact-side .info-item h3 {
    font-size: .98rem;
    font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
    .contact-side .phones-list a,
    .desk-card,
    .desk-call {
        transition: none;
    }
    .contact-side .phones-list a:hover,
    .desk-card:hover {
        transform: none;
    }
}