/* Isolated additions for Phoenix. Existing components keep their own styles. */
.ir-contacts { --ir-blue:#365be8; --ir-ink:#202b44; --ir-muted:#59647a; --ir-line:#e1e6f0; color:var(--ir-ink); margin:52px 0 0; text-align:left; font-size:16px; line-height:1.6; }
.ir-contacts *, .ir-contact-footer-legal * { box-sizing:border-box; }
.ir-contacts [hidden] { display:none !important; }
.ir-contacts h2 { margin:0; color:var(--ir-ink); font-size:clamp(25px,2.4vw,34px); line-height:1.2; font-weight:700; }
.ir-contacts p { margin:0; }
.ir-contacts a, .ir-contacts button { -webkit-tap-highlight-color:transparent; }
.ir-contacts a:focus-visible, .ir-contacts button:focus-visible, .ir-contact-header a:focus-visible, .ir-contact-mobile-phone:focus-visible, .ir-contact-footer-legal a:focus-visible, .ir-contact-footer-links a:focus-visible { outline:3px solid #90a7ff; outline-offset:4px; }
.ir-contacts__heading { display:flex; gap:32px; justify-content:space-between; align-items:end; margin-bottom:26px; }
.ir-contacts__heading > p { max-width:310px; font-size:15px; color:var(--ir-muted); }
.ir-contacts .ir-contacts__eyebrow { margin:0 0 12px; font-size:11px; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--ir-blue); }
.ir-contacts__channels { display:grid; grid-template-columns:1fr 1.2fr 1fr; border:1px solid var(--ir-line); border-radius:18px; overflow:hidden; background:#fff; }
.ir-contacts__channel { min-width:0; padding:26px 24px; position:relative; }
.ir-contacts__channel + .ir-contacts__channel { border-left:1px solid var(--ir-line); }
.ir-contacts__number { color:#748097; font-size:11px; display:block; margin-bottom:18px; font-variant-numeric:tabular-nums; }
.ir-contacts .ir-contacts__label { color:var(--ir-muted); font-size:13px; margin-bottom:8px; }
.ir-contacts__value { font-size:22px; color:var(--ir-ink); font-weight:700; text-decoration:none; white-space:nowrap; }
.ir-contacts__value--email { font-size:19px; overflow-wrap:anywhere; white-space:normal; }
.ir-contacts__value:hover { color:var(--ir-blue); text-decoration:underline; text-underline-offset:4px; }
.ir-contacts .ir-contacts__hint { margin-top:12px; font-size:13px; color:var(--ir-muted); line-height:1.5; }
.ir-contacts__channel--social { background:#f5f7ff; }
.ir-contacts__social { display:flex; flex-wrap:wrap; gap:10px 18px; }
.ir-contacts__social a { display:inline-flex; gap:9px; align-items:center; min-height:36px; color:var(--ir-blue); font-weight:600; text-decoration:none; font-size:15px; border-bottom:1px solid #c4cef7; }
.ir-contacts__social a:hover { color:#1b359d; border-color:currentColor; }
.ir-contacts__requisites { scroll-margin-top:120px; display:grid; grid-template-columns:minmax(230px,.85fr) minmax(0,1.65fr); margin-top:40px; border-radius:20px; overflow:hidden; border:1px solid var(--ir-line); background:#fff; }
.ir-contacts__requisites-intro { padding:36px 30px; background:#f4f6fc; }
.ir-contacts__requisites-intro > p:not(.ir-contacts__eyebrow) { margin-top:16px; color:var(--ir-muted); font-size:15px; }
.ir-contacts .ir-contacts__copy-all { display:inline-flex; gap:10px; align-items:center; justify-content:center; max-width:100%; margin-top:26px; padding:13px 19px; min-height:48px; border:1px solid var(--ir-blue); border-radius:7px; background:var(--ir-blue); color:#fff; font-size:14px; font-weight:600; line-height:1.4; font-family:inherit; cursor:pointer; transition:background .15s ease; }
.ir-contacts__copy-all:hover { background:#2548ce; }
.ir-contacts .ir-contacts__copy-note { font-size:12px !important; line-height:1.6; }
.ir-contacts__documents { margin-top:35px; padding-top:23px; border-top:1px solid #dce2ef; display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.ir-contacts__documents > span { color:var(--ir-muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.ir-contacts__documents a { color:#304fb7; font-size:13px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.ir-contacts__data { margin:0; padding:12px 30px; min-width:0; }
.ir-contacts__row { padding:18px 0; }
.ir-contacts__row + .ir-contacts__row { border-top:1px solid var(--ir-line); }
.ir-contacts__row dt { margin:0 0 4px; color:var(--ir-muted); font-size:12px; font-weight:400; }
.ir-contacts__row dd { margin:0; display:flex; gap:20px; align-items:center; justify-content:space-between; min-height:44px; }
.ir-contacts__row dd > span { font-size:15px; font-weight:500; overflow-wrap:anywhere; line-height:1.6; user-select:text; }
.ir-contacts__copy { display:inline-flex; flex:0 0 44px; width:44px; height:44px; align-items:center; justify-content:center; background:#f3f5fa; color:#5b6c93; border:1px solid transparent; border-radius:8px; cursor:pointer; }
.ir-contacts__copy:hover { color:var(--ir-blue); border-color:#b7c5f6; background:#edf1ff; }
.ir-contacts .is-copied { background:#e8f6ef; color:#176242; border-color:#96d3b4; }
.ir-contacts button:disabled { cursor:wait; opacity:.65; }
.ir-contacts__status { min-height:32px; padding:8px 0 0; color:#176242; font-size:14px; }
.ir-contacts__manual label { display:block; margin:12px 0; font-size:14px; }
.ir-contacts__manual textarea { width:100%; padding:16px; font:inherit; color:var(--ir-ink); border:1px solid #8d9bc0; border-radius:8px; }
.ir-contacts__clipboard-buffer { position:fixed; left:0; top:0; opacity:0; width:1px; height:1px; padding:0; border:0; pointer-events:none; }
header .ir-contact-header { padding-left:18px; text-align:left; }
header .ir-contact-header__phone { display:inline-block; color:inherit; font-size:23px; line-height:1.35; white-space:nowrap; font-weight:600; text-decoration:none; }
header.tone-dark .ir-contact-header, header.tone-dark .ir-contact-mobile-phone { color:#fff; }
header.tone-light .ir-contact-header, header.tone-light .ir-contact-mobile-phone { color:#25334b; }
.ir-contact-header__caption { display:block; font-size:11px; line-height:1.5; max-width:230px; margin-top:5px; }
header .ir-contact-mobile-phone { display:block; font-size:12px; line-height:20px; font-weight:600; white-space:nowrap; text-align:center; text-decoration:none; }
footer .ir-contact-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:22px; }
footer .ir-contact-footer-links a { color:#fff; line-height:1.5; font-size:14px; overflow-wrap:anywhere; }
footer .ir-contact-footer-links .ir-contact-footer-phone { font-size:21px; white-space:nowrap; }
footer .ir-contact-footer-legal { position:relative; display:flex; gap:30px; align-items:center; justify-content:space-between; margin:30px 0 0; padding:24px 0; border-top:1px solid rgba(255,255,255,.18); color:#d5d8e2; font-size:12px; line-height:1.8; }
footer .ir-contact-footer-legal p { margin:0 0 4px; }
footer .ir-contact-footer-name { color:#fff; font-size:14px; }
footer a.ir-contact-footer-more { flex-shrink:0; display:inline-flex; align-items:center; gap:14px; padding:11px 0; color:#fff; font-size:13px; border-bottom:1px solid #697aab; }
@media (min-width:768px) and (max-width:1100px) { header .ir-contact-header__phone { font-size:19px; } .ir-contacts__channels { grid-template-columns:1fr 1fr; } .ir-contacts__channel--social { grid-column:1/-1; border-left:0 !important; border-top:1px solid var(--ir-line); } }
@media (max-width:767px) {
    header .mobile-menu .in-mobile-menu:has(.ir-contact-mobile-phone) { height:64px; }
    header .mobile-menu .col.item:has(.ir-contact-mobile-phone) img.logotype { max-height:42px; width:auto; max-width:100%; }
    .ir-contacts { margin-top:34px; }
    .ir-contacts__heading { display:block; }
    .ir-contacts__heading > p { margin-top:14px; max-width:none; }
    .ir-contacts__channels { display:block; }
    .ir-contacts__channel { padding:22px; }
    .ir-contacts__channel + .ir-contacts__channel { border-left:0; border-top:1px solid var(--ir-line); }
    .ir-contacts__number { margin-bottom:10px; }
    .ir-contacts__value { font-size:22px; }
    .ir-contacts__value--email { font-size:18px; }
    .ir-contacts__requisites { display:block; margin-top:28px; }
    .ir-contacts__requisites-intro { padding:26px 22px; }
    .ir-contacts__data { padding:4px 20px; }
    .ir-contacts__row dd { gap:12px; }
    .ir-contacts__row dd > span { font-size:14px; }
    .ir-contacts__documents { margin-top:25px; }
    footer .ir-contact-footer-links { align-items:center; }
    footer .ir-contact-footer-legal { flex-direction:column; gap:12px; align-items:center; padding:24px 4px; text-align:center; }
}
@media print { .ir-contacts__copy, .ir-contacts__copy-all, .ir-contacts__copy-note, .ir-contacts__status, .ir-contacts__manual, .ir-contacts__documents { display:none !important; } .ir-contacts__requisites { display:block; break-inside:avoid; } .ir-contacts__requisites-intro { padding:10px; } .ir-contacts__row { padding:7px 0; } }
@media (prefers-reduced-motion:reduce) { .ir-contacts * { transition:none !important; } }
