/* Fixed engagement bar; colors and typography follow the header. */
:root { --mvi-bar-height: 80px; }
body:has(.mvi-engagement) { padding-bottom: var(--mvi-bar-height); }
.mvi-engagement { position: fixed; inset: auto 0 0; z-index: 10000; background: #fff; border-top: 4px solid #214193; box-shadow: 0 -4px 20px #12244826; padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); font-family: 'Poppins', sans-serif; }
.mvi-engagement__inner { display: flex; align-items: center; justify-content: center; gap: 10px; max-width: 1200px; margin: auto; }
.mvi-engagement details { position: relative; margin: 0; padding: 0; border: 0; }
.mvi-engagement summary, .mvi-engagement__action { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 22px; background: #d5dfff; color: #214193; font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: uppercase; text-align: center; border: 0; border-radius: 0; cursor: pointer; text-decoration: none; list-style: none; }
.mvi-engagement summary::-webkit-details-marker { display: none; }
.mvi-engagement summary:hover, .mvi-engagement__action:hover, .mvi-engagement details[open] > summary { color: #fff; background: #214193; }
.mvi-engagement :is(a, summary, input, button):focus-visible { outline: 3px solid #214193 !important; outline-offset: 3px; }
.mvi-engagement__search > summary { width: 48px; padding: 12px; background: #4fc4d9; color: #122448; }
.mvi-engagement__panel { position: absolute; bottom: calc(100% + 14px); left: 0; width: 300px; max-width: calc(100vw - 32px); padding: 12px; margin: 0; background: #fff; color: #214193; border: 1px solid #d5dfff; box-shadow: 0 0 20px #12244826; }
.mvi-engagement__panel a { display: block; padding: 14px 12px; color: #214193; font-size: 14px; font-weight: 600; }
.mvi-engagement__panel a:hover { background: #edf1ff; }
.mvi-engagement__panel label { display: block; font-size: 14px; margin-bottom: 8px; }
.mvi-engagement__panel > div { display: flex; gap: 6px; }
.mvi-engagement__panel input { min-width: 0; width: 100%; border: 1px solid #214193; padding: 8px; background: #fff; color: #122448; }
.mvi-engagement__panel button { background: #214193; color: #fff; border: 0; padding: 8px 12px; font: inherit; font-size: 14px; }
.mvi-engagement__language { position: relative; flex-shrink: 0; }
.mvi-engagement__language[hidden] { display: none; }
.mvi-engagement #gt_float_wrapper { position: static !important; }
.mvi-engagement .gt_float_switcher { overflow: visible; box-shadow: none; font-family: inherit; font-size: 16px; opacity: 1 !important; }
.mvi-engagement .gt_float_switcher .gt-current-lang { padding: 12px 10px; }
.mvi-engagement .gt_float_switcher img { width: 26px; }
.mvi-engagement .gt_float_switcher .gt_options { position: absolute; bottom: calc(100% + 14px); right: 0; min-width: 150px; max-height: min(250px, 55vh); background: #fff; box-shadow: 0 0 20px #12244826; }
.mvi-engagement__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
body:has(.mvi-engagement) .scroltop { bottom: calc(var(--mvi-bar-height) + 16px); }
html { scroll-padding-bottom: calc(var(--mvi-bar-height) + 20px); }
@media (max-width: 767px) {
    :root { --mvi-bar-height: 124px; }
    .mvi-engagement { padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
    .mvi-engagement__inner { display: grid; grid-template-columns: 44px 1fr 1fr auto; gap: 6px; }
    .mvi-engagement summary, .mvi-engagement__action { min-height: 44px; padding: 10px 8px; font-size: 11px; }
    .mvi-engagement__search { grid-column: 1; grid-row: 1; }
    .mvi-engagement__search > summary { width: 44px; }
    .mvi-engagement__appointments { grid-column: 2 / 4; grid-row: 1; }
    .mvi-engagement__language { grid-column: 4; grid-row: 1; }
    .mvi-engagement__portal { grid-column: 1 / 3; grid-row: 2; }
    .mvi-engagement__payment { grid-column: 3 / 5; grid-row: 2; }
    .mvi-engagement__appointments .mvi-engagement__panel { left: -50px; }
    .mvi-engagement .gt_float_switcher .gt-current-lang { padding: 10px 4px; }
    .mvi-engagement .gt_float_switcher img { width: 22px; }
}
@media print { .mvi-engagement { display: none; } body:has(.mvi-engagement) { padding-bottom: 0; } }
