@charset "utf-8";

/* 내용관리 */
#ctt {margin:10px 0;padding:20px;background:transparent}
.ctt_admin {text-align:right;max-width:1000px;margin:10px auto;padding:0 24px}
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ctt_con {padding:10px 0;line-height:1.6em}
#ctt_con img {
    min-width: 100%;
    height: auto;
}

/* 오시는길(oraclea050/location): 이미지 최소폭 축소 */
.ctt_oraclea050 #ctt_con img,
.ctt_location #ctt_con img {
    min-width: 15%;
    height: auto;
}
.ctt_img {text-align:center}

/* Policy & Terms Layout Override */
.ctt_privacy > header,
.ctt_provision > header,
.ctt_price > header,
.ctt_price_sample > header {
    display: none;
}

.ctt_privacy,
.ctt_provision {
    margin: 0 !important;
    padding: 80px 0 100px !important;
    background: #f8fbfa !important;
    min-height: 80vh;
}

.ctt_privacy .oracle-policy-content,
.ctt_provision .oracle-policy-content {
    margin-bottom: 0 !important;
}

.ctt_price,
.ctt_price_sample {
    margin: 0 !important;
    padding: 80px 0 0 !important;
    background: #f8fbfa !important;
}

.ctt_privacy #ctt_con,
.ctt_provision #ctt_con,
.ctt_price #ctt_con,
.ctt_price_sample #ctt_con {
    padding: 0;
}

/* Policy Content Box */
.oracle-policy-content {
    max-width: 1000px;
    margin: 50px auto 100px;
    padding: 50px 60px;
    background: #fff;
    border: 1px solid #e1e9e5;
    border-radius: 12px;
    color: #4a5652;
    font-size: 16px;
    line-height: 1.8;
    box-shadow: 0 10px 30px rgba(29, 45, 41, 0.03);
}

@media (max-width: 768px) {
    .ctt_privacy,
    .ctt_provision {
        padding: 50px 0 60px !important;
    }
    .oracle-policy-content {
        margin: 30px 16px 60px;
        padding: 30px 20px;
    }
}

/* Typography styles inside Policy Content */
.oracle-policy-content h2,
.oracle-policy-content h3 {
    margin: 40px 0 16px;
    font-size: 20px;
    font-weight: 800;
    color: #1f3d37;
    border-bottom: 2px solid #eef3f1;
    padding-bottom: 12px;
}
.oracle-policy-content h2:first-child,
.oracle-policy-content h3:first-child {
    margin-top: 0;
    border-bottom: none;
    padding-bottom: 0;
}
.oracle-policy-content h4 {
    margin: 24px 0 10px;
    font-size: 16px;
    font-weight: 700;
    color: #2e4d46;
}
.oracle-policy-content p {
    margin: 0 0 16px;
    text-align: justify;
    word-break: keep-all;
}
.oracle-policy-content ol,
.oracle-policy-content ul {
    margin: 0 0 20px;
    padding-left: 20px;
}
/* 비급여수가표 등 이미지형 정책 콘텐츠: 좁은 화면에서 넘치지 않도록.
   (본문 태그필터가 인라인 style 의 max-width 를 제거하므로 CSS 로 보장) */
.oracle-policy-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.oracle-policy-content li {
    margin-bottom: 8px;
    color: #4a5652;
}
.oracle-policy-content a {
    color: #21695c;
    text-decoration: underline;
    font-weight: 600;
}
.oracle-policy-content a:hover {
    color: #15463e;
}

/* Specific inner structures from database content */
.oracle-policy-content .box-3 {
    margin-bottom: 30px;
    padding: 24px;
    background: #f8fbf9;
    border: 1px solid #d8e3de;
    border-radius: 8px;
}
.oracle-policy-content .box-3 p {
    margin: 0;
}

/* Price Table Styles */
.oracle-policy-content table {
    width: 100% !important;
    margin: 30px 0;
    border-collapse: collapse;
    font-size: 15px;
    border: 1px solid #dfe6e2;
    border-top: 2px solid #244d43;
}
.oracle-policy-content th {
    background: #f5f8f6;
    color: #1f3d37;
    font-weight: 700;
    padding: 14px 16px;
    border-bottom: 1px solid #cfd9d4;
    text-align: left;
}
.oracle-policy-content td {
    padding: 14px 16px;
    border-bottom: 1px solid #eef3f1;
    color: #4f5d58;
}
.oracle-policy-content tr:nth-child(even) {
    background: #fcfdfe;
}
.oracle-policy-content tr:hover {
    background: #f8fbf9;
}

/* Price (비급여수가표) page background should be white, without a wrapped white card */
.ctt_price,
.ctt_price_sample {
    background: #fff !important;
}

.ctt_price .oracle-policy-content,
.ctt_price_sample .oracle-policy-content {
    max-width: 1000px;
    margin: 40px auto 100px;
    padding: 0 24px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

@media (max-width: 768px) {
    .ctt_price .oracle-policy-content,
    .ctt_price_sample .oracle-policy-content {
        margin: 20px auto 60px;
        padding: 0 16px;
    }
}

/* Equipment, Hours, and Location pages should be full width, without a wrapped white card */
.ctt_equipment .oracle-policy-content,
.ctt_hours .oracle-policy-content,
.ctt_location .oracle-policy-content {
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.oracle-hours-summary a {
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 850 !important;
}

.oracle-hours-summary a:hover {
    color: #fff !important;
    text-decoration: none !important;
}

.oracle-hours-summary .oracle-hours-summary__kakao,
.oracle-hours-summary .oracle-hours-summary__kakao:hover {
    color: #191919 !important;
}

