/* NUYU Care v120｜分享按鈕精簡＋移動端寬度固定 */
.nuyu-page-share-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  min-width:0;
  margin:8px 2px 12px;
}
.nuyu-share-btn,
.nuyu-share-page-btn{
  appearance:none;
  border:1px solid rgba(31,134,242,.22);
  border-radius:999px;
  background:#eef6ff;
  color:#1F86F2;
  min-height:34px;
  padding:6px 11px;
  font:850 13px/1.2 -apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  box-shadow:none;
  white-space:nowrap;
  max-width:100%;
  transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.nuyu-share-page-btn{
  min-height:36px;
  padding:7px 13px;
  background:#eef6ff;
  border-color:rgba(31,134,242,.24);
  color:#1F86F2;
}
.nuyu-share-btn:hover,
.nuyu-share-page-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(31,134,242,.34);
  background:#e4f0ff;
  color:#176fc9;
  box-shadow:0 6px 16px rgba(31,134,242,.12);
}
.nuyu-share-btn:active,
.nuyu-share-page-btn:active{transform:scale(.98)}
.nuyu-share-btn:focus-visible,
.nuyu-share-page-btn:focus-visible{
  outline:3px solid rgba(31,134,242,.18);
  outline-offset:2px;
}
.nuyu-share-card-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  width:100%;
  min-width:0;
  margin-top:8px;
}
.post-card .nuyu-share-card-row{margin-top:8px}
.health-card > .nuyu-share-card-row,
.vaccine-tl-card > .nuyu-share-card-row,
.growth-results-panel > .nuyu-share-card-row{
  border-top:1px solid rgba(99,115,108,.10);
  padding-top:8px;
}
.institution-card-actions,
.penalty-card-actions{flex-wrap:wrap}
.institution-card-actions .nuyu-share-btn,
.penalty-card-actions .nuyu-share-btn{
  flex:0 0 auto !important;
  width:auto !important;
  min-height:34px;
  padding:6px 10px;
  margin-left:auto;
}
.institution-detail-head .nuyu-share-btn{
  margin-left:auto;
  margin-right:7px;
  min-height:34px;
  padding:6px 10px;
}
.growth-history-item .nuyu-share-btn{
  width:auto !important;
  min-height:34px;
  padding:6px 10px;
  margin-left:auto;
}
.nuyu-share-highlight{
  outline:3px solid rgba(31,134,242,.24) !important;
  outline-offset:4px;
  animation:nuyuSharePulse 1.8s ease 1;
}
@keyframes nuyuSharePulse{
  0%,100%{box-shadow:inherit}
  45%{box-shadow:0 0 0 9px rgba(31,134,242,.10),0 12px 28px rgba(31,134,242,.14)}
}
.nuyu-share-modal[hidden]{display:none !important}
.nuyu-share-modal{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(20,28,33,.42);
  backdrop-filter:blur(5px);
}
.nuyu-share-dialog{
  width:min(560px,100%);
  max-height:min(86vh,760px);
  overflow:auto;
  border-radius:24px;
  background:#fff;
  color:#26312d;
  box-shadow:0 24px 70px rgba(16,30,40,.28);
  padding:18px;
}
.nuyu-share-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.nuyu-share-dialog-head h3{margin:0;font-size:19px;line-height:1.35}
.nuyu-share-dialog-head p{margin:4px 0 0;color:#6f7d77;font-size:13px;font-weight:700}
.nuyu-share-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#f1f4f3;
  color:#53625c;
  font-size:24px;
  cursor:pointer;
}
.nuyu-share-preview{
  width:100%;
  min-height:185px;
  resize:vertical;
  border:1.5px solid #dbe3df;
  border-radius:16px;
  background:#f8faf9;
  color:#35413c;
  padding:13px;
  font:700 14px/1.65 -apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;
}
.nuyu-share-privacy-note{
  margin:10px 0 0;
  border-radius:13px;
  background:#fff7e8;
  color:#7a5a1e;
  padding:10px 12px;
  font-size:13px;
  font-weight:800;
}
.nuyu-share-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}
.nuyu-share-action{
  min-height:44px;
  border:1px solid #dbe3df;
  border-radius:13px;
  background:#fff;
  color:#34423c;
  padding:9px 10px;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}
.nuyu-share-action.primary{
  grid-column:1/-1;
  background:#73c0b4;
  border-color:#73c0b4;
  color:#fff;
}
.nuyu-share-action:hover{border-color:#9fcfc6;background:#f4fbf9}
.nuyu-share-action.primary:hover{background:#68b5aa;color:#fff}
.nuyu-share-toast{
  position:fixed;
  left:50%;
  bottom:calc(24px + env(safe-area-inset-bottom));
  z-index:2147483640;
  transform:translate(-50%,16px);
  opacity:0;
  pointer-events:none;
  border-radius:999px;
  background:#23312b;
  color:#fff;
  padding:10px 16px;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  box-shadow:0 12px 32px rgba(18,33,27,.24);
  transition:opacity .18s ease,transform .18s ease;
}
.nuyu-share-toast.is-visible{opacity:1;transform:translate(-50%,0)}

/*
  iPhone Safari / Facebook 內建瀏覽器：
  表單小於 16px 時容易在輸入後自動放大，造成使用者感覺頁面寬度改變。
*/
@media (max-width:720px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }
  .wrap{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:clip !important;
  }
  input,
  select,
  textarea{
    font-size:16px !important;
  }

  .health-page,
  .vaccine-page,
  .growth-page,
  .institution-page,
  .penalty-page,
  #cards,
  #healthCards,
  #vaccineTimeline,
  #growthResults,
  #growthHistory,
  #institutionListWrap,
  #institutionResults,
  #penaltyResults,
  .institution-results-panel,
  .penalty-result-panel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .health-page,
  .vaccine-page,
  .growth-page,
  .institution-page,
  .penalty-page{
    contain:inline-size;
  }
  .post-card,
  .health-card,
  .vaccine-tl-card,
  .growth-results-panel,
  .growth-result-card,
  .growth-history-item,
  .institution-card,
  .penalty-card,
  .institution-card-head,
  .penalty-card-top,
  .institution-card-head > div,
  .penalty-card-top > div{
    max-width:100% !important;
    min-width:0 !important;
  }
  .post-title,
  .content,
  .health-name,
  .health-subtitle,
  .vaccine-tl-card,
  .growth-result-heading,
  .growth-result-note,
  .growth-history-item,
  .institution-card-name,
  .institution-card-address,
  .institution-result-note,
  .institution-detail-item,
  .penalty-card-title,
  .penalty-violation,
  .penalty-result-head p{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
  img,
  canvas,
  iframe{
    max-width:100%;
  }

  .nuyu-page-share-bar{
    margin:7px 2px 10px;
  }
  .nuyu-share-page-btn{
    width:auto !important;
    min-height:36px;
    padding:7px 12px;
    font-size:13px;
  }
  .nuyu-share-card-row{
    justify-content:flex-end;
  }
  .nuyu-share-card-row .nuyu-share-btn{
    width:auto !important;
    min-height:34px;
    padding:6px 10px;
  }
  .institution-card-actions .nuyu-share-btn,
  .penalty-card-actions .nuyu-share-btn{
    flex:0 0 auto !important;
    width:auto !important;
  }
  .nuyu-share-dialog{
    border-radius:24px 24px 18px 18px;
    padding:16px;
  }
  .nuyu-share-actions{grid-template-columns:1fr 1fr}
}
@media (min-width:721px){
  .nuyu-share-modal{align-items:center}
}
