/* Persistent hotel actions. Solid surfaces and stepped lines echo Savoy's 1930s facade. */
.header-book {
  position: relative;
  overflow: hidden;
  gap: 14px;
  border-color: #c7a86a;
  background: #c7a86a;
  color: #101c3b;
  box-shadow: 0 8px 24px rgb(11 23 56 / 10%);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
}
.header-book::after { content: '↗'; font-size: 14px; line-height: 1; transition: transform .35s var(--ease); }
.header-book:hover,
.header-book:focus-visible {
  border-color: #d5ba87;
  background: #d5ba87;
  color: #101c3b;
  box-shadow: 0 12px 30px rgb(11 23 56 / 16%);
  transform: translateY(-2px);
}
.header-book:hover::after,
.header-book:focus-visible::after { transform: translate(2px,-2px); }

.conversion-dock {
  position: fixed;
  z-index: 55;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: stretch;
  filter: drop-shadow(0 16px 26px rgb(11 23 56 / 18%));
}
.conversion-dock::before {
  content: '';
  position: absolute;
  inset: -5px 5px 5px -5px;
  z-index: -1;
  border: 1px solid #b99a67;
  pointer-events: none;
}
.conversion-action {
  min-height: 62px;
  border: 0;
  display: grid;
  grid-template-columns: 28px auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 12px;
  padding: 10px 20px;
  text-align: left;
  transition: transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
}
.conversion-action:hover,
.conversion-action:focus-visible { transform: translateY(-3px); }
.conversion-action small {
  grid-column: 2;
  margin-bottom: 2px;
  font-size: 8px;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .72;
}
.conversion-action strong {
  grid-column: 2;
  font: 500 12px/1.2 var(--body);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.conversion-icon {
  grid-row: 1 / 3;
  align-self: center;
  width: 28px;
  height: 28px;
}
.conversion-icon svg { width: 100%; height: 100%; display: block; }
.conversion-book { min-width: 178px; background: #c7a86a; color: #101c3b; }
.conversion-book:hover,
.conversion-book:focus-visible { background: #d5ba87; }
.conversion-chat { min-width: 156px; position: relative; background: #fffefa; color: #28352f; border-left: 1px solid #cdbb98; }
.conversion-chat:hover,
.conversion-chat:focus-visible { background: #f2eee3; }
.chat-status {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 6px;
  height: 6px;
  background: #6f8b65;
  box-shadow: 0 0 0 3px #6f8b6518;
}
@media (max-width: 800px) {
  .conversion-dock { right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); }
  .conversion-action { min-height: 58px; padding-inline: 16px; }
  .conversion-book { min-width: 158px; }
  .conversion-chat { min-width: 140px; }
}

@media (max-width: 600px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .conversion-dock {
    right: 12px;
    left: 12px;
    bottom: max(12px,env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: 1.15fr .85fr;
  }
  .conversion-action { min-width: 0; min-height: 58px; padding: 9px 13px; column-gap: 9px; }
  .conversion-action small { font-size: 7px; }
  .conversion-action strong { font-size: 10px; }
  .conversion-icon { width: 25px; height: 25px; }
  .mobile-book { display: none !important; }
  .menu-open .conversion-dock { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .conversion-action,
  .header-book { transition: none; }
}

@media print { .conversion-dock { display: none !important; } }
