@charset "utf-8";
#container_title{display: none;}
#ctt{ margin: 20px auto; padding: 0 15px; max-width: 1200px; line-height: 1.6; color: #333; font-family: 'Pretendard', 'Malgun Gothic', sans-serif;}
#ctt .ctt_title_wrap{ border-bottom: 2px solid #333; padding-bottom: 15px; margin-bottom: 30px;}
#ctt .ctt_title_wrap h1{ font-size: 1.5rem; font-weight: 700; color: #000; letter-spacing: -0.05em;}
#ctt_con{ font-size: 1rem; word-break: break-all; text-align: justify;}
#ctt_con p{ margin-bottom: 15px;}
#ctt_con b, #ctt_con strong{ font-weight: 600; color: #000;}

/* --------------------------------------------------------------------------
   비급여 수가표 (.doc-container / .ctt_nonpay)
   -------------------------------------------------------------------------- */
#ctt.ctt_nonpay, #ctt:has(.doc-container), #ctt:has(.medical-fees){max-width: 100%; margin: 120px auto 0; padding: 0;}
#ctt.ctt_nonpay .ctt_title_wrap, #ctt:has(.doc-container) .ctt_title_wrap, #ctt:has(.medical-fees) .ctt_title_wrap{display: none;}
#ctt.ctt_nonpay #ctt_con, #ctt:has(.doc-container) #ctt_con, #ctt:has(.medical-fees) #ctt_con{text-align: left; word-break: keep-all; font-size: 14px;}

.doc-container{--color-primary: #7A6652; --color-dark: #23201D; --color-body: #332F2C; --color-muted: #7E7871; --color-bg-page: #FAF8F5; --color-bg-card: #F5F1E9; --color-border: #E5DFD4; --color-border-dark: #332F2C; --color-dots: #C4BCB0; --ff-cardo: "Cardo", Georgia, serif; --ff-pretendard: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;}
.doc-container{max-width: 900px; margin: 0 auto; padding: 50px 24px 100px; font-family: var(--ff-pretendard); color: var(--color-body); background-color: var(--color-bg-page); line-height: 1.6; -webkit-font-smoothing: antialiased; word-break: keep-all; box-sizing: border-box;}
.doc-container *{box-sizing: border-box;}

.doc-container .menu-cover{background: #FAF8F5; border: 1px solid var(--color-border); border-radius: 4px; padding: 70px 40px 60px; text-align: center; margin-bottom: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.03);}
.doc-container .top-clinic-bar{display: flex; justify-content: space-between; align-items: center; font-size: 13px; letter-spacing: 0.12em; color: #55504A; margin-bottom: 80px; padding-bottom: 18px; border-bottom: 1px solid var(--color-border);}
.doc-container .top-clinic-bar .en{font-family: var(--ff-cardo); font-weight: 700; letter-spacing: 0.18em;}
.doc-container .top-clinic-bar .ko{font-weight: 400;}
.doc-container .cover-logo-mark{font-family: var(--ff-cardo); font-size: 56px; font-weight: 700; color: #332F2C; line-height: 1; margin-bottom: 16px;}
.doc-container .cover-title-en{font-family: var(--ff-cardo); font-size: 26px; letter-spacing: 0.22em; color: #2E2A27; font-weight: 700; margin-bottom: 12px;}
.doc-container .cover-title-ko{font-size: 15px; letter-spacing: 0.26em; color: #615A52; display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 24px;}
.doc-container .cover-title-ko::before, .doc-container .cover-title-ko::after{content: ""; width: 40px; height: 1px; background: #B5ACA0;}
.doc-container .cover-badge{display: inline-block; font-family: var(--ff-cardo); font-size: 12px; letter-spacing: 0.3em; color: #7E7468; margin-bottom: 90px;}
.doc-container .cover-bottom{border-top: 1px solid var(--color-border); padding-top: 30px;}
.doc-container .cover-bottom .slogan-en{font-family: var(--ff-cardo); font-size: 13px; letter-spacing: 0.25em; color: #4A443E; font-weight: 700; margin-bottom: 8px;}
.doc-container .cover-bottom .slogan-ko{font-size: 13.5px; color: #7A7268; font-weight: 400;}

.doc-container .menu-page{background: #FAF8F5; border: 1px solid var(--color-border); border-radius: 4px; padding: 50px 44px; margin-bottom: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.03);}
.doc-container .page-header-top{text-align: center; margin-bottom: 40px; position: relative;}
.doc-container .page-header-top .dy-mark{font-family: var(--ff-cardo); font-size: 28px; color: #332F2C; font-weight: 700; display: inline-block; position: relative;}
.doc-container .page-header-top .dy-mark::before, .doc-container .page-header-top .dy-mark::after{content: ""; position: absolute; top: 50%; width: 140px; height: 1px; background: #DDD5C7;}
.doc-container .page-header-top .dy-mark::before{right: 100%; margin-right: 18px;}
.doc-container .page-header-top .dy-mark::after{left: 100%; margin-left: 18px;}

.doc-container .sec-title-box{margin: 60px auto 30px;}
.doc-container .sec-en{font-family: var(--ff-cardo); font-size: 12.5px; letter-spacing: 0.25em; color: #8C8072; display: block; margin-bottom: 4px;}
.doc-container .sec-ko{font-size: 22px; font-weight: 700; color: #23201D; letter-spacing: -0.01em; margin-bottom: 8px;}
.doc-container .sec-line{width: 24px; height: 1px; background: #23201D;}

.doc-container .lifting-box{border-radius: 4px; padding: 26px 30px; margin-bottom: 22px;}
.doc-container .lifting-box .sub-en{font-family: var(--ff-cardo); font-size: 13px; color: #857A6D; margin-bottom: 2px;}
.doc-container .lifting-box .sub-ko{font-size: 18px; font-weight: 700; color: #23201D; margin-bottom: 6px;}
.doc-container .lifting-box .sub-desc{font-size: 13.5px; color: #726A61; margin-bottom: 22px;}
.doc-container .lifting-grid{display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; row-gap: 14px;}
.doc-container .dotted-item{display: flex; align-items: baseline; font-size: 14px;}
.doc-container .dotted-item .item-title{font-weight: 500; color: #262320; white-space: nowrap;}
.doc-container .dotted-item .leader-dots{flex: 1; margin: 0 8px; border-bottom: 1px dotted var(--color-dots);}
.doc-container .dotted-item .item-val{font-weight: 700; color: #23201D; font-variant-numeric: tabular-nums; white-space: nowrap;}

.doc-container .table-container{width: 100%; overflow-x: auto; margin-bottom: 26px;}
.doc-container .pdf-table{width: 100%; border-collapse: collapse; font-size: 14px;}
.doc-container .pdf-table th{font-weight: 600; color: #6B6256; padding: 10px 14px; border-bottom: 1px solid #DDD5C7; text-align: center; white-space: nowrap;}
.doc-container .pdf-table td{padding: 14px; border-bottom: 1px solid #ECE5D8; color: #2B2724; vertical-align: middle;}
.doc-container .pdf-table.has-bullets td.name-col{text-align: left; font-weight: 500;}
.doc-container .pdf-table .text-left{text-align: left !important;}
.doc-container .pdf-table .text-center{text-align: center !important;}
.doc-container .pdf-table .text-right{text-align: right !important;}
.doc-container .pdf-table .price-val{font-weight: 600; font-variant-numeric: tabular-nums; text-align: right;}
.doc-container .item-bullet-title{font-weight: 600; color: #23201D; margin-bottom: 12px; font-size: 15px;}
.doc-container .item-sub-desc{font-size: 12.5px; color: #7B7368; margin-top: 4px; line-height: 1.4; font-weight: 400;}
.doc-container .note-line{font-size: 13px; color: #7A7268; margin-top: 14px;}

@media (max-width: 768px){
#ctt{ margin: 10px auto; padding: 0 10px;}
#ctt .ctt_title_wrap{ margin-bottom: 20px; padding-bottom: 10px;}
#ctt .ctt_title_wrap h1{ font-size: 1.25rem;}
#ctt_con{ padding: 0 20px; font-size: 0.95rem; line-height: 1.5;}
.doc-container{padding: 20px 12px 60px;}
.doc-container .menu-page{padding: 34px 18px; margin-bottom: 24px;}
.doc-container .menu-cover{padding: 40px 18px; margin-bottom: 24px;}
.doc-container .lifting-grid{grid-template-columns: 1fr; gap: 12px;}
.doc-container .top-clinic-bar{margin-bottom: 40px;}
.doc-container .cover-badge{margin-bottom: 50px;}
.doc-container .page-header-top .dy-mark::before, .doc-container .page-header-top .dy-mark::after{width: 60px;}
}

/* --------------------------------------------------------------------------
   비급여 수가표 (.medical-fees)
   -------------------------------------------------------------------------- */
.medical-fees{--fees-margin: 70px auto; --fees-gutter: 20px; --fees-title-size: clamp(22px, 3.5vw, 28px); --fees-title-spacing: -1px; --fees-font-size: 14px; --fees-line-height: 21px; --fees-cell-padding: 8px 11px; --fees-section-size: 18px; --fees-section-padding: 8px 10px; --fees-item-column: 66%; --fees-price-column: 34%; --fees-note-size: 14px; --fees-note-padding: 13px 11px;}
.medical-fees{box-sizing: border-box; width: 100%; max-width: 740px; margin: var(--fees-margin, 70px auto); padding: 0 var(--fees-gutter, 20px); color: #333333; font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif; font-size: 14px; font-weight: 400; line-height: 1.5; -webkit-text-size-adjust: 100%; word-break: keep-all;}
.medical-fees *{box-sizing: border-box;}
.medical-fees h1, .medical-fees #fees-title{margin: 0 0 16px; padding: 0; color: #333333; font-size: var(--fees-title-size, clamp(22px, 3.5vw, 28px)); font-weight: 400; line-height: 1.5; letter-spacing: var(--fees-title-spacing, -1px); text-align: center; word-break: keep-all; overflow-wrap: anywhere;}
.medical-fees table{box-sizing: border-box; width: 100%; margin: 0; border: 1px solid #cccccc; border-collapse: collapse; border-spacing: 0; table-layout: fixed; color: #333333; font-size: var(--fees-font-size, 14px); line-height: var(--fees-line-height, 21px);}
.medical-fees colgroup col:first-child, .medical-fees col.col-item{width: var(--fees-item-column, 66%);}
.medical-fees colgroup col:last-child, .medical-fees col.col-price{width: var(--fees-price-column, 34%);}
.medical-fees tbody th[scope="rowgroup"]{padding: var(--fees-section-padding, 8px 10px); border-top: 3px solid #795842; border-bottom: 1px solid #cccccc; background-color: #ededed; color: #333333; font-size: var(--fees-section-size, 18px); font-weight: 400; line-height: 24px; text-align: center;}
.medical-fees tbody th[scope="row"]{padding: var(--fees-cell-padding, 8px 11px); font-weight: 400; text-align: left; overflow-wrap: break-word;}
.medical-fees tbody td{padding: var(--fees-cell-padding, 8px 11px); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums;}
.medical-fees tfoot td, .medical-fees #fees-note{padding: var(--fees-note-padding, 13px 11px); border-top: 1px solid #cccccc; background-color: #ffffff; color: #555555; font-size: var(--fees-note-size, 14px); font-weight: 400; line-height: 1.6; text-align: center; word-break: keep-all; overflow-wrap: anywhere;}

@media screen and (max-width: 600px){
.medical-fees{--fees-margin: 32px auto; --fees-gutter: 16px; --fees-title-size: 22px; --fees-title-spacing: -0.6px; --fees-font-size: 14px; --fees-line-height: 22px; --fees-cell-padding: 10px; --fees-section-size: 16px; --fees-section-padding: 10px; --fees-item-column: auto; --fees-price-column: 112px; --fees-note-size: 13px; --fees-note-padding: 12px 10px;}
}
@media screen and (max-width: 380px){
.medical-fees{--fees-margin: 24px auto; --fees-gutter: 12px; --fees-title-size: 20px; --fees-title-spacing: -0.5px; --fees-font-size: 13px; --fees-line-height: 21px; --fees-cell-padding: 10px 8px; --fees-price-column: 104px;}
}