.official-social-links { margin-top: 22px; }
.official-social-links > p { margin: 0 0 10px; font-size: 12px; font-weight: 700; }
.official-social-links > div { display: flex; flex-wrap: wrap; gap: 8px; }
footer:not(.site-footer) .official-social-links { margin: 0 0 20px; }
footer:not(.site-footer) .official-social-links > div { justify-content: center; }
.official-social-links a { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 10px 12px; border: 1px solid #e5c3d0; border-radius: 999px; background: #fff; color: #623244; font-size: 12px; font-weight: 700; text-decoration: none; min-height: 44px; }
.official-social-links a:hover { background: #fff1f6; border-color: #ac5476; }
.official-channel-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.official-channel { display: block; padding: 28px; border: 1px solid #e5c3d0; border-radius: 22px; background: #fff; color: #4c3540; text-decoration: none; min-width: 0; }
.official-channel:hover { background: #fff7fa; border-color: #ac5476; }
.official-channel-label { color: #934361; font-size: 13px; font-weight: 700; }
.official-channel h3 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 13px 0 10px; font-size: 22px; }
.official-channel p { margin: 0; font-size: 14px; line-height: 1.8; }
.official-channel-note { margin: 26px 0 0; text-align: center; font-size: 14px; line-height: 1.9; }
.official-channel-note a { text-decoration: underline; text-underline-offset: 3px; }
.official-social-links a:focus-visible, .official-channel:focus-visible { outline: 3px solid #934361; outline-offset: 4px; }
.official-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 700px) {
  .official-channel-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .official-channel { padding: 22px; }
  .official-channel h3 { font-size: 20px; }
  .official-channel-note { text-align: left; }
}
