/* UGC ROOM utilities: original interaction patterns, shared brand palette. */
:root {
  --ugc-ui-dark: #101117;
  --ugc-ui-ink: #11131b;
  --ugc-ui-paper: #f3f0e9;
  --ugc-ui-surface: #fffcf8;
  --ugc-ui-pink: #c82c65;
  --ugc-ui-pink-hover: #ad1c52;
  --ugc-ui-accent: #f5609c;
  --ugc-ui-blush: #f9dce7;
  --ugc-ui-soft: #f8edf1;
  --ugc-ui-line: #dfcbd3;
  --ugc-ui-muted: #65616a;
  --ugc-ui-on-dark: #eee6eb;
}
.mobile-contact-dock { display: none; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 24px; }
.footer-contact a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; font-size: 17px; }
.footer-contact a:first-child { font: 700 25px/1.3 Arial, sans-serif; letter-spacing: .02em; }
.footer-contact a:hover { color: #f690b7; }
.contact-direct { margin-block: 30px; display: grid; justify-items: start; gap: 8px; }
.contact-direct>span { font-size: 18px; color: var(--muted); }
.contact-direct .contact-phone { display: inline-flex; align-items: center; gap: 22px; font: 700 clamp(27px, 2.8vw, 42px)/1.4 Arial, sans-serif; letter-spacing: -.02em; min-height: 52px; }
.contact-phone>span { color: var(--pink); font-size: 28px; }
.contact-whatsapp { min-height: 44px; display: inline-flex; align-items: center; gap: 14px; font-size: 18px; text-decoration: underline; text-underline-offset: 5px; }
.footer-contact a:focus-visible,.contact-direct a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 760px) {
  html { scroll-padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
  .studio-site .site-footer { padding-bottom: calc(166px + env(safe-area-inset-bottom, 0px)); }
  .studio-site .studio-motion { bottom: calc(98px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact-dock {
    position: fixed; z-index: 50; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%); display: flex; direction: rtl; width: min(328px, calc(100% - 32px)); height: 66px;
    box-sizing: border-box; overflow: hidden; padding: 0; border: 1px solid var(--ugc-ui-pink); border-radius: 999px;
    background: var(--ugc-ui-dark); box-shadow: 0 5px 20px #10111750, inset 0 1px 0 #ffffff12;
    font-family: Heebo, Arial, sans-serif;
  }
  .mobile-contact-dock>a {
    flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 1px; padding: 8px 10px; color: var(--ugc-ui-paper); text-decoration: none; line-height: 1.2; transition: background .2s;
  }
  .mobile-contact-dock a>span { display: flex; align-items: center; justify-content: center; gap: 8px; }
  .mobile-contact-dock svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--ugc-ui-accent); }
  .mobile-contact-dock strong { font-size: 16px; font-weight: 700; line-height: 20px; }
  .mobile-contact-dock strong[dir="ltr"] { font-family: Arial, sans-serif; }
  .mobile-contact-dock bdi { font: 700 16px/20px Arial, sans-serif; color: var(--ugc-ui-on-dark); }
  .mobile-contact-dock small { font-size: 15px; font-weight: 500; line-height: 20px; color: #fff4f8; }
  .mobile-contact-dock .mobile-contact-whatsapp { background: var(--ugc-ui-pink); border-right: 1px solid #ffffff1a; }
  .mobile-contact-whatsapp svg { color: #fff4f8; }
  .mobile-contact-call:hover,.mobile-contact-call:active { background: #27212c; }
  .mobile-contact-dock .mobile-contact-whatsapp:hover,.mobile-contact-dock .mobile-contact-whatsapp:active { background: var(--ugc-ui-pink-hover); }
  .mobile-contact-dock a:focus-visible { outline: 2px solid #fff; outline-offset: -5px; border-radius: 28px; }
  .modal-open .mobile-contact-dock { visibility: hidden; }
  body:has(.brief-form input:focus,.brief-form textarea:focus,.brief-form select:focus) .mobile-contact-dock { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .mobile-contact-dock>a { transition: none; } }
