/* Targeted social link visibility/placement; scoped to three approved locations. */
.kosa-social-placement { margin-top:20px; }
.kosa-social-links { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.kosa-social-link { display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:9px 13px; border-radius:999px; text-decoration:none; font:600 13px/1.2 Inter,Arial,sans-serif; border:1px solid currentColor; transition:transform .15s ease, background-color .15s ease; }
.kosa-social-link svg { display:block; flex:none; }
.kosa-social-link:hover { transform:translateY(-2px); }
.kosa-social-link:focus-visible { outline:3px solid #d4af37; outline-offset:3px; }
.kosa-social-placement--hero .kosa-social-link, .kosa-social-placement--footer .kosa-social-link { color:#fff; background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.38); }
.kosa-social-placement--hero .kosa-social-link:hover, .kosa-social-placement--footer .kosa-social-link:hover { background:#d4af37; color:#07145c; border-color:#d4af37; }
.kosa-social-placement--contact .kosa-social-link { color:#10237e; background:#f4f6fb; border-color:#d7deef; }
.kosa-social-placement--contact .kosa-social-link:hover { background:#e8edfa; }
@media(max-width:600px) { .kosa-social-links { gap:9px; } .kosa-social-link { padding:9px 11px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .kosa-social-link { transition:none; } }

/* Mobile-only: social icon and label stay inside the same pill. */
@media (max-width: 600px) {
  .kosa-social-placement .kosa-social-links { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; width:100%; }
  .kosa-social-placement .kosa-social-link { box-sizing:border-box; display:inline-flex; flex:0 0 auto; width:auto; max-width:100%; min-width:0; min-height:42px; height:auto; padding:10px 14px; border-radius:999px; align-items:center; justify-content:center; gap:8px; white-space:nowrap; font-size:13px; line-height:20px; letter-spacing:0; text-align:center; }
  .kosa-social-placement .kosa-social-link svg { width:20px; height:20px; min-width:20px; flex:0 0 20px; display:block; }
}
@media (max-width: 360px) { .kosa-social-placement .kosa-social-link { padding:9px 11px; font-size:12px; gap:6px; } }

/* Keep labelled social buttons from inheriting legacy 38px round-icon rules. */
@media (max-width: 600px) {
  .socials .kosa-social-link,
  .kosa-social-placement .kosa-social-link {
    display: inline-flex; width: auto; height: auto; min-height: 44px;
    max-width: 100%; padding: 10px 14px; border-radius: 999px;
    box-sizing: border-box; align-items: center; justify-content: center;
    gap: 8px; white-space: nowrap; line-height: 20px;
  }
  .socials .kosa-social-link svg,
  .kosa-social-placement .kosa-social-link svg {
    width: 20px; height: 20px; flex: 0 0 20px;
  }
  .kosa-social-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
}

/* 2026-10-17: Mobile social links — aligned labels and reliable tap targets. */
.kosa-social-placement { position: relative; z-index: 5; isolation: isolate; }
.kosa-social-placement .kosa-social-links { position: relative; z-index: 6; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.kosa-social-placement .kosa-social-link {
  position: relative; z-index: 7; pointer-events: auto; cursor: pointer;
  display: inline-flex; flex-direction: row; align-items: center; justify-content: center;
  gap: 9px; width: max-content; max-width: 100%; min-width: 0;
  min-height: 44px; height: auto; padding: 10px 15px;
  box-sizing: border-box; border-radius: 999px; white-space: nowrap;
  line-height: 22px; text-align: center; vertical-align: middle;
  text-decoration: none; -webkit-tap-highlight-color: rgba(212,175,55,.3);
}
.kosa-social-placement .kosa-social-link svg { display: block; flex: 0 0 20px; width: 20px; height: 20px; pointer-events: none; }
.kosa-social-placement .kosa-social-link span { display: block; flex: 0 0 auto; width: auto; line-height: 22px; pointer-events: none; }
.hero__crest::before, .hero__crest::after { pointer-events: none; }
@media (max-width: 600px) {
  .kosa-social-placement .kosa-social-links { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; flex-wrap: wrap; }
  .kosa-social-placement .kosa-social-link { flex: 0 0 auto; font-size: 13px; letter-spacing: 0; min-height: 44px; padding: 10px 14px; border-radius: 999px; }
  .kosa-social-placement--footer .kosa-social-links { align-items: center; }
}
