/* Public Home/About component only; shared page layout remains owned by site.css. */
.public-sharing {
  margin-block: 1.25rem 0;
  color: #13344f;
  max-width: 42rem;
  min-width: 0;
  text-align: start;
}
.public-sharing > summary,
.public-sharing button,
.public-sharing-material > a {
  border: 1px solid #78a9d4;
  border-radius: 1.4rem;
  background: #f5faff;
  color: #134b76;
  font: inherit;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}
.public-sharing > summary {
  width: fit-content;
  min-height: 44px;
  box-sizing: border-box;
  padding: .65rem 1rem;
}
.public-sharing > summary::marker { color: #134b76; }
.public-sharing[open] > summary { background: #e0effe; }
.public-sharing-content {
  margin-block-start: .75rem;
  padding: 1rem;
  border: 1px solid #a2c5e4;
  border-radius: 1rem;
  background: #f5faff;
  box-shadow: 0 8px 24px rgb(23 57 89 / 7%);
}
.public-sharing-content p { margin: 0 0 .85rem; font-size: 1rem; line-height: 1.5; }
.public-sharing-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.public-sharing button,
.public-sharing-material > a {
  min-height: 44px;
  box-sizing: border-box;
  padding: .6rem .85rem;
  text-decoration: none;
}
.public-sharing button:hover,
.public-sharing > summary:hover,
.public-sharing-material > a:hover { background: #deedfc; }
.public-sharing button:focus-visible,
.public-sharing a:focus-visible,
.public-sharing summary:focus-visible,
.public-sharing textarea:focus-visible {
  outline: 3px solid #165a98;
  outline-offset: 3px;
}
.public-sharing button:disabled { opacity: .7; cursor: wait; }
.public-sharing [hidden] { display: none !important; }
.public-sharing-status:empty { display: none; }
.public-sharing .public-sharing-status { margin-block: .85rem; color: #173b59; }
.public-sharing-text { margin-block-start: 1rem; }
.public-sharing-text a { overflow-wrap: anywhere; }
.public-sharing-materials { border-block-start: 1px solid #bfd5e8; padding-block-start: .8rem; }
.public-sharing-materials > summary { cursor: pointer; font-weight: 700; min-height: 44px; align-content: center; }
.public-sharing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-block-start: .5rem; }
.public-sharing-material { display: flex; flex-direction: column; align-items: start; gap: .6rem; padding: .8rem; border: 1px solid #c3d9eb; border-radius: .7rem; }
.public-sharing-material h2 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.public-sharing-material p { margin: 0; font-size: .9rem; }
.public-sharing-material > a { display: inline-flex; align-items: center; }
.public-sharing-material button { width: 100%; text-align: center; font-size: .85rem; }
.public-sharing-manual { border: 1px solid #a2c5e4; padding: .85rem; border-radius: .7rem; margin-block: .85rem; }
.public-sharing-manual label { font-weight: 700; }
.public-sharing-manual textarea { display: block; width: 100%; box-sizing: border-box; resize: vertical; margin-block: .5rem .75rem; padding: .65rem; color: #13344f; background: #fff; border: 1px solid #78a9d4; border-radius: .4rem; font: inherit; }
@media (max-width: 480px) {
  .public-sharing-content { padding: .85rem; }
  .public-sharing-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .public-sharing * { scroll-behavior: auto; transition: none; }
}
