/* A dedicated right-hand rail keeps chat clear of the entire page, including forms. */
@media screen {
  body { padding-right:calc(56px + env(safe-area-inset-right, 0px)); }
  .floating-contact {
    position:fixed;
    right:calc(6px + env(safe-area-inset-right, 0px));
    bottom:calc(24px + env(safe-area-inset-bottom, 0px));
    width:44px;
    height:44px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    border:1px solid #006e35;
    border-radius:50%;
    background:#087d3e;
    color:#fff;
    box-shadow:0 2px 4px #183e3226;
    z-index:45;
    text-decoration:none;
    touch-action:manipulation;
  }
  .floating-contact:hover { background:#006b32;color:#fff; }
  .floating-contact:focus-visible { outline:2px solid #183e32;outline-offset:2px; }
  .floating-contact svg { width:26px;height:26px;flex:none; }
}
/* Keep navigation usable when the rail reduces available space. */
@media screen and (min-width:821px) and (max-width:900px) {
  .menu-toggle { display:block;min-width:44px;min-height:44px;order:3; }
  .nav nav { display:none;position:absolute;top:100%;left:0;right:0;padding:20px;background:var(--cream);border-bottom:1px solid var(--line);margin:0; }
  .nav nav.open { display:flex;flex-direction:column;align-items:stretch;gap:0; }
  .nav nav a { font-size:16px;padding:14px 12px;border-bottom:1px solid var(--line); }
  .nav-actions { margin-inline-start:auto; }
}
@media screen and (max-width:600px) {
  .topbar { height:auto;min-height:28px; }
  .topbar .wrap { flex-wrap:wrap;gap:2px 10px;padding-block:4px; }
}
@media screen and (max-width:460px) {
  .wrap { width:calc(100% - 24px); }
  .nav { flex-wrap:wrap;height:auto;min-height:68px;gap:6px;padding-block:10px; }
  .nav nav { top:100%; }
  .nav .brand { font-size:16px!important; }
  .nav .brand small { font-size:5px!important; }
  .nav-actions { margin-inline-start:auto; }
}
