.ar-contact,
.ar-contact * { box-sizing: border-box; }
.ar-contact {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 10000;
    font: 14px/1.45 Arial, sans-serif;
    color: #243039;
    text-align: left;
}
.ar-contact .ar-contact__toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 48px;
    padding: 10px 16px 10px 12px;
    border-radius: 28px;
    background: #5a5451;
    box-shadow: 0 3px 16px #0003;
    color: #fff;
    text-decoration: none;
}
.ar-contact .ar-contact__toggle:hover,
.ar-contact .ar-contact__toggle:focus-visible { background: #393532; }
.ar-contact__panel {
    position: absolute;
    right: 0;
    bottom: 62px;
    width: 340px;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    overflow: auto;
    border: 1px solid #dedbd8;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 35px #0003;
}
.ar-contact__panel[hidden] { display: none !important; }
.ar-contact__header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    background: #f4f2f0;
}
.ar-contact__header h2 {
    flex: 1;
    margin: 0;
    color: #2c2927;
    font: bold 15px/1.35 Arial, sans-serif;
    text-transform: none;
}
.ar-contact .ar-contact__close {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin: -6px -6px -6px 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #45403b;
    font: 26px/36px Arial, sans-serif;
    cursor: pointer;
}
.ar-contact__close:hover { background: #e5e0dc; }
.ar-contact__body { padding: 12px; }
.ar-contact__preview { position: relative; min-height: 90px; }
.ar-contact__preview iframe {
    position: relative;
    display: block;
    width: 100%;
    height: 320px;
    margin: 0;
    border: 0;
}
.ar-contact__status { margin: 0; padding: 12px 2px; color: #69625c; }
.ar-contact__status[hidden] { display: none; }
.ar-contact .ar-contact__note { margin: 12px 0; font-size: 13px; color: #625b55; }
.ar-contact__links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ar-contact .ar-contact__links a {
    flex: 1 1 130px;
    padding: 10px 8px;
    border: 1px solid #d7d1cc;
    border-radius: 6px;
    color: #36302b;
    font: bold 13px/1.4 Arial, sans-serif;
    text-align: center;
    text-decoration: none;
}
.ar-contact .ar-contact__links .ar-contact__message { border-color: #5a5451; background: #5a5451; color: #fff; }
.ar-contact a:focus-visible,
.ar-contact button:focus-visible { outline: 3px solid #1877f2; outline-offset: 3px; }
@media (max-width: 480px) {
    .ar-contact { right: 12px; bottom: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
    .ar-contact__panel { bottom: 60px; }
}
@media print { .ar-contact { display: none; } }
