/* Whole-card links keep one keyboard stop and a visible focus outline per service. */
.service-card-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.service-card-link:hover .text-link { color: var(--ink); }
.service-card-link:focus-visible { outline: 3px solid #dc9d17; outline-offset: 4px; }
.mobile-actions { display: none; }

@media (max-width: 600px) {
  /* Reserve the full bar height, including the iPhone home-indicator inset. */
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  html { scroll-padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .mobile-actions {
    display: grid;
    grid-template-columns: 1fr 1.45fr;
    gap: 10px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    padding: 8px max(18px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
    background: #fff;
    box-shadow: 0 -2px 12px #101f291a;
  }
  .mobile-actions .button {
    min-height: 48px;
    min-width: 0;
    padding: 10px 12px;
    gap: 10px;
    background: #007f84;
    border-color: #007f84;
    white-space: nowrap;
  }
  .mobile-actions .mobile-call { color: #006e73; background: #fff; }
  .mobile-actions i svg { width: 20px; height: 20px; }
  .mobile-actions .button:hover { background: #006e73; color: #fff; transform: none; }
  .header .header-inner { gap: 8px; }
  .header .brand { width: min(205px, calc(100vw - 174px)); }
  .header .header-book {
    display: inline-flex;
    flex-shrink: 0;
    min-height: 44px;
    padding: 10px 12px;
    white-space: nowrap;
    gap: 0;
  }
  .header .header-book .header-book-label { display: inline; }
  .header .header-book .header-book-extra { display: none; }
  .header .menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; margin-left: 0; }
  .header nav { max-height: calc(100svh - 78px - 64px - env(safe-area-inset-bottom, 0px)); }
}

@media print {
  .mobile-actions { display: none; }
  body { padding-bottom: 0; }
}
