html { scroll-padding-top: 6.5rem; }
body { overflow-wrap: break-word; }
a, button { touch-action: manipulation; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #7f3657; outline-offset: 4px; }
.mobile-contact-bar { display: none; }
.practical-info { margin-top: 2.5rem; padding: 1.5rem; border: 1px solid #decfc8; border-radius: 16px; background: #fffaf3; }
.practical-info h2, .practical-info h3 { margin: 0 0 1rem; font: 400 1.7rem/1.15 Georgia, serif; }
.practical-info p, .practical-info li { font-size: 1rem; line-height: 1.65; }
.practical-info ul { padding-left: 1.2rem; }
.practical-info .contact-choice { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.contact-choice a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1rem; border: 1px solid #7f3657; border-radius: 999px; color: #7f3657; font-size: 1rem; font-weight: 700; text-decoration: none; }
@media (max-width: 760px) {
  body { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact-bar { position: fixed; z-index: 90; left: 8px; right: 8px; bottom: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; padding: 5px 5px calc(8px + env(safe-area-inset-bottom, 0px)); border-radius: 14px 14px 0 0; background: #513241; box-shadow: 0 -4px 18px #51324124; }
  .mobile-contact-bar a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 8px 3px; border-radius: 9px; background: #7f3657; color: #fff; font: 700 .875rem/1.25 Arial,sans-serif; text-decoration: none; text-align: center; }
  .mobile-contact-bar a:nth-child(2) { background: #e6ebe2; color: #513241; }
  .mobile-contact-bar a:nth-child(3) { background: #fffaf3; color: #513241; }
  .mobile-contact-bar a:focus-visible { outline: 3px solid #e7a08d; outline-offset: -3px; }
  .consent-settings { bottom: calc(82px + env(safe-area-inset-bottom,0px)); }
  .consent-banner { bottom: calc(82px + env(safe-area-inset-bottom,0px)); max-height: calc(100dvh - 112px - env(safe-area-inset-bottom,0px)); overflow-y: auto; }
  .contact-choice a { flex: 1 1 110px; }
  .practical-info { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.phone-contact-dialog{max-width:calc(100vw - 32px);width:390px;padding:30px 24px;border:1px solid #decfc8;border-radius:16px;background:#fffaf3;color:#513241;text-align:center;font:16px/1.55 Arial,sans-serif;box-sizing:border-box}.phone-contact-dialog::backdrop{background:#24151db3}.phone-contact-dialog h2{font:400 25px/1.2 Georgia,serif;margin:0 0 20px}.phone-contact-number{font:700 clamp(28px,7vw,36px)/1.3 Arial,sans-serif;white-space:nowrap;margin:18px 0;user-select:all}.phone-contact-dialog button{min-height:48px;padding:12px 26px;border:1px solid #7f3657;border-radius:10px;background:#7f3657;color:white;font:700 16px Arial,sans-serif;cursor:pointer}
