/* Desktop navbar side panel (opened by the three-bar button): white panel sliding in from the right. */
.infopanel { position: fixed; inset: 0; z-index: 10000; visibility: hidden; pointer-events: none; }
.infopanel.is-open { visibility: visible; pointer-events: auto; }
.infopanel-backdrop { position: absolute; inset: 0; background: rgba(15, 25, 40, 0.28); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity 0.35s ease; }
.infopanel.is-open .infopanel-backdrop { opacity: 1; }
.infopanel-box {
  position: absolute; top: 0; right: 0; bottom: 0; width: 440px; max-width: 92vw;
  background: #fff; color: #404040; padding: 36px 40px 40px; overflow-y: auto; overscroll-behavior: contain;
  transform: translateX(100%); transition: transform 0.45s cubic-bezier(0.22, 0.8, 0.24, 1); outline: 0;
  box-shadow: -18px 0 50px rgba(15, 25, 40, 0.18);
}
.infopanel.is-open .infopanel-box { transform: none; }
.infopanel-close { position: absolute; top: 22px; right: 22px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #f1f4f8; color: #191A1C; font-size: 17px; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; }
.infopanel-close:hover { background: #2d5e8f; color: #fff; }
.infopanel-logo img { height: 42px; width: auto; display: block; }
.infopanel-title { margin: 30px 0 0; font-family: "Montserrat", sans-serif; font-weight: 900; font-size: 27px; line-height: 1.25; color: #191A1C; }
.infopanel-title span { background: none; color: #191A1C; }
.infopanel-text { margin: 14px 0 0; font-size: 16px; line-height: 1.7; color: #6b6b6b; }
.infopanel-photo { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; margin-top: 24px; }
.infopanel-book { margin-top: 24px; font-family: "Montserrat", sans-serif; }
.infopanel-book .btn-title { font-weight: 900; font-size: 14px; text-transform: uppercase; }
.infopanel-list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.infopanel-list li { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; line-height: 1.55; color: #404040; }
.infopanel-list i { width: 18px; flex: none; margin-top: 4px; text-align: center; color: #2d5e8f; }
.infopanel-list a { color: inherit; }
.infopanel-list a:hover { color: #2d5e8f; }
.infopanel-socials { display: flex; gap: 10px; margin-top: 26px; }
.infopanel-socials a { width: 40px; height: 40px; border-radius: 50%; background: #f1f4f8; color: #2d5e8f; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease, color 0.2s ease; }
.infopanel-socials a:hover { background: #2d5e8f; color: #fff; }
body.infopanel-open { overflow: hidden; }
@media (max-width: 991.98px) { .infopanel { display: none; } }
@media (max-height: 720px) { .infopanel-box { padding-top: 28px; } .infopanel-title { margin-top: 22px; font-size: 24px; } }
