/* Hospital detail only. Keep the shared modal's accessibility and motion behavior. */
.site-modal-panel[data-modal-type="hospital-share"] { background: #fff; color: #203641; font-family: inherit; border-radius: 22px; }
.site-modal-panel[data-modal-type="hospital-share"] .site-modal-header { padding: 25px 28px 12px; border: 0; background: #fff; }
.site-modal-panel[data-modal-type="hospital-share"] .site-modal-title { font-size: 22px; font-weight: 800; letter-spacing: -.6px; }
.site-modal-panel[data-modal-type="hospital-share"] .site-modal-body { padding: 0 28px 24px; }
.portal-hospital-share-intro { margin: 0 0 22px; color: #657680; font-size: 14px; line-height: 1.6; }
.portal-hospital-share-card { padding: 22px 20px; margin-bottom: 24px; border: 1px solid #dcebea; border-radius: 16px; background: #f3f9f8; }
.portal-hospital-share-symbol { position: relative; display: grid; place-items: center; flex: 0 0 32px; height: 32px; border: 1px solid #d3e9e6; border-radius: 9px; background: #fff; color: #087c79; overflow: hidden; }
.portal-hospital-share-symbol .portal-icon { width: 22px; height: 22px; margin: 0; }
.portal-hospital-share-symbol img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 2px; object-fit: contain; }
.portal-hospital-share-symbol img[hidden] { display: none; }
.portal-hospital-share-symbol:has(img:not([hidden])) > .portal-icon { visibility: hidden; }
.portal-hospital-share-details { min-width: 0; }
.portal-hospital-share-category { color: #087c79; font-size: 12px; font-weight: 700; }
.portal-hospital-share-details h3 { display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; font-size: 20px; font-weight: 800; line-height: 1.45; letter-spacing: -.5px; overflow-wrap: anywhere; word-break: keep-all; }
.portal-hospital-share-name { min-width: 0; }
.portal-hospital-share-details p { margin: 0; color: #586c77; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; word-break: keep-all; }
.portal-hospital-share-details .portal-hospital-share-phone { display: flex; align-items: center; gap: 6px; margin-top: 8px; color: #314e5d; font-weight: 600; }
.portal-hospital-share-phone .portal-icon { width: 15px; height: 15px; margin: 0; }
.portal-hospital-share-label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; }
.portal-hospital-share-url { display: flex; gap: 8px; }
.portal-hospital-share-url input { flex: 1 1 0; width: 0; min-width: 0; min-height: 48px; padding: 0 12px; border: 1px solid #dce3e7; border-radius: 10px; background: #fafcfc; color: #526572; font-size: 14px; text-overflow: ellipsis; }
.portal-hospital-share-url button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 7px; min-height: 48px; padding: 0 17px; border: 0; border-radius: 10px; background: #087f7b; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.portal-hospital-share-url button:hover { background: #066c68; }
.portal-hospital-share-url .portal-icon { width: 18px; height: 18px; margin: 0; }
.portal-hospital-share-help { margin: 9px 0 0; color: #657680; font-size: 12px; line-height: 1.6; }
.portal-hospital-share-status { min-height: 22px; margin: 5px 0 15px; color: #087773; font-size: 12px; line-height: 1.6; }
.portal-hospital-share-channels { display: flex; justify-content: center; gap: 12px; padding: 19px 0 22px; border-top: 1px solid #edf0f2; }
.portal-hospital-share-channels > a, .portal-hospital-share-channels > button { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; gap: 9px; min-width: 0; max-width: 104px; padding: 5px 2px; border: 0; border-radius: 12px; background: transparent; color: #485b67; text-decoration: none; font-size: 12px; line-height: 1.4; cursor: pointer; }
.portal-hospital-share-channels > [hidden] { display: none; }
.portal-hospital-share-channel-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; font-family: Arial, sans-serif; font-size: 25px; font-weight: 800; }
.portal-share-naver { background: #e9f9ef; color: #087d3f; }
.portal-share-x { background: #edf0f3; color: #25313c; font-weight: 500; }
.portal-share-facebook { background: #edf3ff; color: #2064c8; font-size: 30px; }
.portal-share-device { background: #eef6f6; color: #147c79; }
.portal-share-device .portal-icon { width: 24px; height: 24px; margin: 0; }
.portal-hospital-share-channels > a:hover, .portal-hospital-share-channels > button:hover { background: #f6f9fa; }
.portal-hospital-share button:disabled { cursor: wait; opacity: .6; }
.portal-hospital-share :is(a, button, input):focus-visible { outline: 3px solid #12a7a0; outline-offset: 3px; }
.portal-hospital-share-source { display: flex; align-items: flex-start; justify-content: center; gap: 7px; margin: 0; padding: 15px 0 0; border-top: 1px solid #edf0f2; color: #687982; font-size: 11px; line-height: 1.7; word-break: keep-all; }
.portal-hospital-share-source .portal-icon { flex: 0 0 15px; width: 15px; height: 15px; margin: 2px 0 0; }
.portal-hospital-share-source strong { font-weight: 600; }
@media (max-width: 480px) {
	.site-modal-panel[data-modal-type="hospital-share"] .site-modal-header { padding: 20px 20px 10px; }
	.site-modal-panel[data-modal-type="hospital-share"] .site-modal-body { padding: 0 20px 20px; }
	.portal-hospital-share-card { padding: 17px 14px; margin-bottom: 20px; }
	.portal-hospital-share-symbol { flex-basis: 28px; height: 28px; border-radius: 8px; }
	.portal-hospital-share-symbol .portal-icon { width: 20px; height: 20px; }
	.portal-hospital-share-details h3 { font-size: 18px; }
	.portal-hospital-share-url button { padding: 0 12px; }
	.portal-hospital-share-url button .portal-icon { display: none; }
	.portal-hospital-share-channels { gap: 4px; }
}
