/* One pre-rendered contact rail: no runtime relocation or hero measurements. */
.desktop-shared-chrome { display: contents; }
@media (min-width: 1101px) {
  .desktop-contact-rail.topline {
    position: fixed !important;
    inset: 0 auto auto 0;
    width: 0;
    height: 0 !important;
    margin: 0;
    padding: 0;
    overflow: visible;
    transform: none;
    filter: none;
    backdrop-filter: none;
    z-index: 2147483000 !important;
  }
  .desktop-contact-rail > .topline__inner {
    position: static;
    height: 0 !important;
    margin: 0;
    padding: 0;
    overflow: visible;
  }
  body .desktop-contact-rail .topline__contact-module {
    position: fixed !important;
    top: calc(181px + var(--admin-toolbar-offset, 0px)) !important;
    left: 0 !important;
    right: auto;
    bottom: auto;
    transform: none !important;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 52px;
    height: clamp(248px, calc((100vh - 362px) * .75), 294px) !important;
    min-height: clamp(248px, calc((100vh - 362px) * .75), 294px) !important;
    margin: 0;
    padding: 5px;
    gap: 0;
    overflow: visible;
    border: 1px solid rgba(153,196,221,.58);
    border-radius: 0 22px 22px 0;
    background: rgba(250,253,255,.94);
    box-shadow: 8px 14px 30px rgba(15,61,83,.12), inset 0 1px 0 rgba(255,255,255,.94);
    z-index: 1;
    align-items: stretch;
    color: #1c506b;
    pointer-events: auto;
  }
  .desktop-contact-rail .topline__contact-module:is(:hover, :focus-within) { width: 190px; }
  /* Initial controls must fit and remain readable before theme decoration. */
  body .desktop-contact-rail .language-switcher {
    position: relative; display: block; box-sizing: border-box;
    width: 42px !important; min-width: 42px; height: 42px !important;
    flex: 0 0 42px; padding: 0; overflow: hidden;
    border: 1px solid rgba(141,193,219,.58); border-radius: 0 16px 10px 0;
    background: rgba(255,255,255,.76);
  }
  body .desktop-contact-rail .language-switch {
    display: block !important; position: absolute; min-width: 0; height: auto;
    padding: 0; border: 0; background: transparent; box-shadow: none; line-height: 1;
  }
  body .desktop-contact-rail .language-switch.is-active {
    left: 8px; top: 9px; color: #113d58; font-size: 14px; font-weight: 800;
  }
  body .desktop-contact-rail .language-switch:not(.is-active) {
    right: 6px; bottom: 6px; color: #6f8798; font-size: 8px;
  }
  body .desktop-contact-rail :is(.working-hours__trigger, [data-theme-email], nav a) {
    color: #1c506b; box-sizing: border-box; min-width: 0;
    min-height: 42px; height: 42px; border: 0; background: transparent;
  }
  body .desktop-contact-rail [hidden] { display: none !important; }
}
/* Preserve the original combined sticky service/header strip on tablets. */
@media (min-width: 821px) and (max-width: 1100px) {
  .desktop-shared-chrome { display: block; position: sticky; top: var(--admin-toolbar-offset, 0px); z-index: 10; }
  .desktop-shared-chrome > .site-header { position: static !important; }
}
@media (max-width: 820px) {
  .desktop-contact-rail { display: none !important; }
}

/* Reviewed CSS305 placement, delivered with the new rail stylesheet. */
@media (min-width: 961px) {
  body[data-static-layout].home-page .presence-panel__map-wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
  }
  body[data-static-layout].home-page :is(.presence-map__sessions, .presence-map__monthly) {
    position: absolute;
    inset: auto;
    left: 12px;
    right: auto;
    z-index: 4;
    grid-area: auto;
    justify-self: start;
    align-self: start;
    margin: 0;
  }
  body[data-static-layout].home-page .presence-map__sessions { bottom: 50px; }
  body[data-static-layout].home-page .presence-map__monthly { bottom: 12px; }
}

/* Desktop rail: six equal slots, one type/icon scale; handlers unchanged. */
@media (min-width: 1101px) {
  body .desktop-contact-rail .topline__contact-module {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(6, minmax(0, 1fr));
    padding: 4px;
  }
  body .desktop-contact-rail .topline__contact-module > .language-switcher {
    grid-row: 1; align-self: center; height: min(42px, 100%) !important;
  }
  body .desktop-contact-rail .topline__contact-module > .working-hours {
    grid-row: 2;
  }
  body .desktop-contact-rail .topline__contact-module > .topline__contacts {
    grid-row: 3 / span 3;
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    grid-template-columns: minmax(0, 1fr);
  }
  body .desktop-contact-rail .topline__contact-module > nav { grid-row: 6; }
  body .desktop-contact-rail .topline__contact-module > :is(.working-hours, .topline__contacts, nav) {
    box-sizing: border-box; width: 100%; min-width: 0; height: 100%;
    min-height: 0; margin: 0; padding: 0; border: 0; align-items: stretch;
  }
  body .desktop-contact-rail .topline__contacts .topline__messengers {
    display: contents !important;
  }
  body .desktop-contact-rail .topline__messengers > .topline__messengers-label { display: none; }
  body .desktop-contact-rail .topline__contact-module > .topline__contacts .topline__messengers .topline__messenger {
    height: 100% !important; min-height: 0 !important;
  }
  body .desktop-contact-rail .topline__contact-module:is(:hover, :focus-within) > .topline__contacts .utility-rail__messenger-label {
    font-size: 11.5px; font-weight: 600; line-height: 1.3;
  }
  body .desktop-contact-rail .topline__contact-module :is(.working-hours__trigger, [data-theme-email], .topline__messenger, nav a) {
    height: 100% !important; min-height: 0 !important;
    font-family: var(--accent-font, "Manrope", sans-serif);
    font-size: 11.5px; font-weight: 600; line-height: 1.3;
  }
  body .desktop-contact-rail .topline__contact-module :is(.working-hours__label, .utility-rail__messenger-label, nav a),
  body .desktop-contact-rail .topline__contact-module [data-theme-email]::after {
    font-size: 11.5px; font-weight: 600; line-height: 1.3; letter-spacing: 0;
  }
  body .desktop-contact-rail .topline__contact-module .working-hours__label { left: 40px; }
  body .desktop-contact-rail .topline__contact-module .working-hours__dot { transform: translateY(-50%); }
  body .desktop-contact-rail .topline__contact-module .utility-rail__icon,
  body .desktop-contact-rail .topline__contact-module .utility-rail__icon svg,
  body .desktop-contact-rail .topline__contact-module .topline__messenger svg {
    width: 18px !important; height: 18px !important; flex-basis: 18px; stroke-width: 1.5;
  }
  body .desktop-contact-rail .language-switch:not(.is-active) { font-size: 9px; }
}
