
/* =========================================================
   GWANGJU HOSPITAL GUIDE DETAIL V5
========================================================= */

.v5-special {
    overflow:hidden;
    border:1px solid #dfeaf2;
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 50px rgba(20,62,98,.045);
}

.v5-section-title {
    padding:29px 32px 26px;
    border-bottom:1px solid #e4edf4;
    background:
        radial-gradient(circle at 93% 10%,rgba(20,151,231,.11),transparent 28%),
        linear-gradient(120deg,#f9fcff,#edf7fd);
}

.v5-section-title small {
    display:block;
    margin-bottom:6px;
    color:#0782df;
    font-size:9px;
    font-weight:900;
    letter-spacing:.17em;
}

.v5-section-title h3 {
    margin:0;
    color:#123654;
    font-size:25px;
    letter-spacing:-.045em;
}

.v5-section-title p {
    margin:7px 0 0;
    color:#7b8fa1;
    font-size:11px;
    line-height:1.65;
}


/* =========================================================
   SEARCH
========================================================= */

.v5-search,
.v5-phone-search {
    display:flex;
    align-items:center;
    gap:11px;
    margin:25px 30px 14px;
    padding:0 16px;
    min-height:53px;
    border:1px solid #d8e6f0;
    border-radius:14px;
    background:#f9fcfe;
}

.v5-search > span,
.v5-phone-search > span {
    color:#1684e8;
    font-size:22px;
    font-weight:700;
}

.v5-search input,
.v5-phone-search input {
    min-width:0;
    flex:1;
    border:0;
    outline:0;
    background:transparent;
    color:#173b5a;
    font:inherit;
    font-size:12px;
}

.v5-search em {
    color:#7c91a4;
    font-size:10px;
    font-style:normal;
    white-space:nowrap;
}

.v5-info-note {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 30px 18px;
    padding:13px 15px;
    border:1px solid #cce7f9;
    border-radius:11px;
    background:#eef9ff;
}

.v5-info-note span {
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:50%;
    background:#1684e8;
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.v5-info-note p {
    margin:1px 0 0;
    color:#3176a7;
    font-size:10px;
    line-height:1.6;
}


/* =========================================================
   NON BENEFIT
========================================================= */

.v5-fee-list {
    max-height:720px;
    overflow:auto;
    margin:0 30px 30px;
    border:1px solid #e0e9f0;
    border-radius:15px;
}

.v5-fee-row {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    min-height:64px;
    padding:12px 15px;
    border-bottom:1px solid #e8eef3;
    background:#fff;
}

.v5-fee-row:last-child {
    border-bottom:0;
}

.v5-fee-row:hover {
    background:#f7fbfe;
}

.v5-fee-no {
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#e7f5ff;
    color:#0a80d8;
    font-size:8px;
    font-weight:900;
}

.v5-fee-copy p {
    margin:0;
    color:#4f6579;
    font-size:11px;
    line-height:1.65;
    word-break:keep-all;
}

.v5-fee-price {
    padding:7px 10px;
    border-radius:8px;
    background:#f1f7fb;
    color:#075fa9;
    font-size:10px;
    white-space:nowrap;
}

.v5-empty-search {
    margin:0 30px 30px;
    padding:35px;
    border-radius:14px;
    background:#f7fafc;
    color:#8294a5;
    text-align:center;
    font-size:12px;
}


/* =========================================================
   FLOOR
========================================================= */

.v5-floor-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    padding:28px 30px 32px;
}

.v5-floor-card {
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    min-height:115px;
    overflow:hidden;
    border:1px solid #dfeaf2;
    border-radius:15px;
    background:#fff;
    transition:.18s;
}

.v5-floor-card:hover {
    transform:translateY(-2px);
    border-color:#b9daf0;
    box-shadow:0 10px 25px rgba(30,84,124,.07);
}

.v5-floor-number {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:linear-gradient(145deg,#083f73,#0b92df);
    color:#fff;
}

.v5-floor-number strong {
    color:#fff;
    font-size:23px;
}

.v5-floor-number span {
    margin-top:3px;
    color:#a8dcff;
    font-size:9px;
}

.v5-floor-copy {
    display:flex;
    align-content:center;
    flex-wrap:wrap;
    gap:6px;
    padding:17px;
}

.v5-floor-copy span {
    padding:6px 8px;
    border-radius:7px;
    background:#f1f7fb;
    color:#526a7f;
    font-size:9px;
    line-height:1.35;
}


/* =========================================================
   PHONE
========================================================= */

.v5-contact-hero {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:28px 30px 10px;
    padding:24px 26px;
    border-radius:17px;
    background:
        radial-gradient(circle at 75% 0,rgba(56,174,242,.25),transparent 40%),
        linear-gradient(120deg,#07325c,#075c9d);
    color:#fff;
}

.v5-contact-hero small {
    display:block;
    margin-bottom:6px;
    color:#82cfff;
    font-size:8px;
    font-weight:900;
    letter-spacing:.14em;
}

.v5-contact-hero span {
    display:block;
    color:#d7edfb;
    font-size:10px;
}

.v5-contact-hero strong {
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:25px;
}

.v5-contact-hero a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:43px;
    padding:0 17px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:10px;
    background:rgba(255,255,255,.1);
    color:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}

.v5-phone-directory {
    max-height:670px;
    overflow:auto;
    margin:0 30px 30px;
    border:1px solid #e0e9f0;
    border-radius:15px;
}

.v5-phone-row {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:13px 15px;
    border-bottom:1px solid #e8eef3;
}

.v5-phone-row:last-child {
    border-bottom:0;
}

.v5-phone-row:hover {
    background:#f8fcff;
}

.v5-phone-index {
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#e5f4ff;
    color:#087bd5;
    font-size:8px;
    font-weight:900;
}

.v5-phone-row p {
    margin:0;
    color:#526a7f;
    font-size:10px;
    line-height:1.65;
}

.v5-phone-row strong {
    color:#0769b5;
    font-size:10px;
    white-space:nowrap;
}


/* =========================================================
   LOCATION
========================================================= */

.v5-location-summary {
    display:grid;
    grid-template-columns:1.45fr .8fr .8fr;
    gap:12px;
    padding:28px 30px 15px;
}

.v5-location-summary article {
    position:relative;
    min-height:135px;
    padding:21px;
    border:1px solid #dfeaf2;
    border-radius:16px;
    background:#f9fcfe;
}

.v5-round-icon {
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    margin-bottom:13px;
    border-radius:10px;
    background:#e3f4ff;
    color:#087bd5;
    font-size:13px;
    font-weight:900;
}

.v5-location-summary small {
    color:#1684e8;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
}

.v5-location-summary h4 {
    margin:4px 0 6px;
    color:#173b5b;
    font-size:15px;
}

.v5-location-summary p,
.v5-location-summary a {
    margin:0;
    color:#657b8e;
    font-size:10px;
    line-height:1.6;
    text-decoration:none;
}

.v5-location-summary a {
    color:#0769b5;
    font-weight:900;
}

.v5-map {
    height:390px;
    margin:0 30px;
    overflow:hidden;
    border:1px solid #d9e7f0;
    border-radius:18px;
    background:#edf4f8;
}

.v5-map iframe {
    width:100%;
    height:100%;
    border:0;
}

.v5-map-actions {
    display:flex;
    gap:9px;
    margin:12px 30px 25px;
}

.v5-map-actions a {
    min-height:43px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border:1px solid #d9e6ef;
    border-radius:10px;
    background:#fff;
    color:#176ba8;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}

.v5-map-actions a:first-child {
    border-color:#1684e8;
    background:#1684e8;
    color:#fff;
}

.v5-transport {
    margin:0 30px 30px;
    overflow:hidden;
    border:1px solid #dfe9f1;
    border-radius:16px;
}

.v5-transport header {
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px 20px;
    background:#f3f9fd;
}

.v5-transport header > span {
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#087bd5;
    color:#fff;
    font-size:9px;
    font-weight:900;
}

.v5-transport small {
    color:#1684e8;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
}

.v5-transport h4 {
    margin:3px 0 0;
    color:#173b5b;
    font-size:16px;
}

.v5-transport-list {
    max-height:320px;
    overflow:auto;
    padding:18px 20px;
}

.v5-transport-list p {
    position:relative;
    margin:0;
    padding:9px 0 9px 15px;
    border-bottom:1px solid #edf1f4;
    color:#5f7487;
    font-size:10px;
    line-height:1.65;
}

.v5-transport-list p::before {
    content:"";
    position:absolute;
    left:0;
    top:16px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#1684e8;
}


/* =========================================================
   PARKING
========================================================= */

.v5-parking-summary {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    padding:28px 30px 18px;
}

.v5-parking-summary article {
    min-height:160px;
    padding:22px;
    border:1px solid #dfe9f1;
    border-radius:16px;
    background:#f9fcfe;
}

.v5-parking-summary article.primary {
    border-color:#1789db;
    background:linear-gradient(145deg,#087bd5,#0c95df);
    color:#fff;
}

.v5-parking-summary small {
    display:block;
    margin-bottom:8px;
    color:#1684e8;
    font-size:8px;
    font-weight:900;
    letter-spacing:.13em;
}

.v5-parking-summary .primary small {
    color:#b7e3ff;
}

.v5-parking-summary strong {
    display:block;
    margin-bottom:5px;
    color:#087bd5;
    font-size:26px;
}

.v5-parking-summary .primary strong,
.v5-parking-summary .primary h4 {
    color:#fff;
}

.v5-parking-summary h4 {
    margin:0 0 7px;
    color:#173b5b;
    font-size:14px;
}

.v5-parking-summary p {
    margin:0;
    color:#718598;
    font-size:10px;
    line-height:1.6;
}

.v5-parking-summary .primary p {
    color:#d8effd;
}

.v5-parking-layout {
    display:grid;
    grid-template-columns:1.4fr .6fr;
    gap:12px;
    padding:0 30px 20px;
}

.v5-parking-rules,
.v5-parking-warning {
    padding:22px;
    border:1px solid #dfe9f1;
    border-radius:16px;
}

.v5-parking-rules h4,
.v5-parking-warning h4 {
    margin:0 0 15px;
    color:#173b5b;
    font-size:16px;
}

.v5-rule {
    display:grid;
    grid-template-columns:31px 1fr;
    gap:11px;
    align-items:start;
    padding:11px 0;
    border-bottom:1px solid #edf1f4;
}

.v5-rule:last-child {
    border-bottom:0;
}

.v5-rule span {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#e5f4ff;
    color:#087bd5;
    font-size:8px;
    font-weight:900;
}

.v5-rule p {
    margin:3px 0 0;
    color:#5d7387;
    font-size:10px;
    line-height:1.65;
}

.v5-parking-warning {
    display:flex;
    gap:13px;
    background:#fff9f2;
    border-color:#f2dfc7;
}

.v5-parking-warning > span {
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:50%;
    background:#fff0d9;
    color:#c47a18;
    font-weight:900;
}

.v5-parking-warning small {
    color:#bd7b27;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
}

.v5-parking-warning p {
    margin:0;
    color:#806d56;
    font-size:10px;
    line-height:1.7;
}

.v5-original-details {
    margin:0 30px 30px;
    border:1px solid #dfe8ef;
    border-radius:12px;
    background:#fafcfd;
}

.v5-original-details summary {
    padding:15px 17px;
    color:#526a7f;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}

.v5-original-details > div {
    padding:0 17px 16px;
}

.v5-original-details p {
    margin:6px 0;
    color:#718496;
    font-size:9px;
    line-height:1.65;
}


/* =========================================================
   GENERIC
========================================================= */

.v5-readable-text {
    padding:28px 31px 32px;
}

.v5-readable-text h4 {
    position:relative;
    margin:31px 0 13px;
    padding-left:13px;
    color:#173b5b;
    font-size:17px;
}

.v5-readable-text h4:first-child {
    margin-top:0;
}

.v5-readable-text h4::before {
    content:"";
    position:absolute;
    left:0;
    top:3px;
    width:4px;
    height:17px;
    border-radius:10px;
    background:#1684e8;
}

.v5-readable-text p {
    margin:0;
    padding:11px 0;
    border-bottom:1px solid #edf1f4;
    color:#5d7387;
    font-size:11px;
    line-height:1.8;
    word-break:keep-all;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:800px) {

    .v5-floor-grid {
        grid-template-columns:1fr;
    }

    .v5-location-summary {
        grid-template-columns:1fr;
    }

    .v5-parking-summary {
        grid-template-columns:1fr;
    }

    .v5-parking-layout {
        grid-template-columns:1fr;
    }

    .v5-map {
        height:320px;
    }

}


@media(max-width:600px) {

    .v5-section-title {
        padding:23px 20px;
    }

    .v5-section-title h3 {
        font-size:22px;
    }

    .v5-search,
    .v5-phone-search,
    .v5-info-note,
    .v5-fee-list,
    .v5-phone-directory,
    .v5-map,
    .v5-map-actions,
    .v5-transport,
    .v5-original-details {
        margin-left:18px;
        margin-right:18px;
    }

    .v5-floor-grid,
    .v5-location-summary,
    .v5-parking-summary,
    .v5-parking-layout {
        padding-left:18px;
        padding-right:18px;
    }

    .v5-contact-hero {
        margin-left:18px;
        margin-right:18px;
    }

    .v5-fee-row {
        grid-template-columns:32px minmax(0,1fr);
    }

    .v5-fee-price {
        grid-column:2;
        justify-self:start;
    }

    .v5-phone-row {
        grid-template-columns:31px minmax(0,1fr);
    }

    .v5-phone-row strong {
        grid-column:2;
    }

    .v5-floor-card {
        grid-template-columns:64px minmax(0,1fr);
    }

    .v5-map {
        height:285px;
    }

    .v5-map-actions {
        display:grid;
        grid-template-columns:1fr;
    }

    .v5-contact-hero {
        display:block;
    }

    .v5-contact-hero a {
        margin-top:15px;
    }

}


/* =========================================================
   GJH GUIDE DETAIL V5.1 READABILITY FIX
========================================================= */

/* ---------- 공통 본문 ---------- */

.v51-document{
    padding:28px 30px 32px;
}

.v51-lead{
    margin:0 0 22px;
    padding:17px 19px;
    border:1px solid #d8eaf6;
    border-radius:13px;
    background:#f2f9fe;
    color:#42677f;
    font-size:11px;
    line-height:1.85;
    word-break:keep-all;
}

.v51-section{
    margin-top:25px;
}

.v51-section:first-child{
    margin-top:0;
}

.v51-section-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 13px;
    color:#143a59;
    font-size:16px;
    font-weight:900;
    letter-spacing:-.035em;
}

.v51-section-title::before{
    content:"";
    width:4px;
    height:18px;
    flex:none;
    border-radius:10px;
    background:#1684e8;
}

.v51-paragraph{
    margin:0;
    color:#5c7184;
    font-size:11px;
    line-height:1.9;
    word-break:keep-all;
}

.v51-paragraph + .v51-paragraph{
    margin-top:11px;
}

.v51-list{
    display:grid;
    gap:8px;
    margin:13px 0 0;
    padding:0;
    list-style:none;
}

.v51-list li{
    position:relative;
    padding:12px 14px 12px 36px;
    border:1px solid #e2ebf2;
    border-radius:11px;
    background:#fbfdff;
    color:#536b7f;
    font-size:10.5px;
    line-height:1.75;
    word-break:keep-all;
}

.v51-list li::before{
    content:"";
    position:absolute;
    left:17px;
    top:19px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#1684e8;
}


/* ---------- 번호형 ---------- */

.v51-number-list{
    display:grid;
    gap:10px;
}

.v51-number-item{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:16px;
    border:1px solid #e0eaf2;
    border-radius:13px;
    background:#fff;
}

.v51-number{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#e6f4ff;
    color:#087bd5;
    font-size:10px;
    font-weight:900;
}

.v51-number-item h5{
    margin:0 0 5px;
    color:#173b59;
    font-size:12px;
}

.v51-number-item p{
    margin:0;
    color:#5e7386;
    font-size:10.5px;
    line-height:1.8;
    word-break:keep-all;
}


/* =========================================================
   NON BENEFIT V5.1
========================================================= */

.v51-fee-source{
    margin:0 30px 30px;
}

.v51-fee-source-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:11px;
}

.v51-fee-source-head h4{
    margin:0;
    color:#183d5c;
    font-size:14px;
}

.v51-fee-source-head span{
    color:#8193a3;
    font-size:9px;
}

.v51-fee-text{
    max-height:600px;
    overflow:auto;
    padding:20px;
    border:1px solid #e0e9f0;
    border-radius:14px;
    background:#fbfdff;
}

.v51-fee-text p{
    margin:0;
    color:#596f82;
    font-size:10.5px;
    line-height:1.9;
    word-break:keep-all;
}

.v51-fee-text p + p{
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid #edf2f5;
}

.v51-fee-highlight{
    color:#0875c8;
    font-weight:800;
}


/* V5에서 잘못 분리된 리스트는 숨김 */
.v5-nonbenefit .v5-fee-list,
.v5-nonbenefit .v5-empty-search{
    display:none !important;
}


/* =========================================================
   RIGHTS
========================================================= */

.v51-rights-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:18px;
}

.v51-right-card{
    padding:20px;
    border:1px solid #dfe9f1;
    border-radius:15px;
    background:#fff;
}

.v51-right-card header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:11px;
}

.v51-right-card header span{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:10px;
    background:linear-gradient(145deg,#087bd5,#14a2ea);
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.v51-right-card h4{
    margin:0;
    color:#173b59;
    font-size:14px;
}

.v51-right-card p{
    margin:0;
    color:#5d7386;
    font-size:10.5px;
    line-height:1.85;
    word-break:keep-all;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    .v51-document{
        padding:22px 18px 25px;
    }

    .v51-fee-source{
        margin-left:18px;
        margin-right:18px;
    }

    .v51-number-item{
        grid-template-columns:34px minmax(0,1fr);
        gap:10px;
        padding:13px;
    }

    .v51-number{
        width:32px;
        height:32px;
    }

}



/* =========================================================
   GJH GUIDE DETAIL V5.2
   NON-BENEFIT PREMIUM TABLE
========================================================= */

.v52-nonbenefit{
    padding:18px 30px 34px;
}


/* SEARCH */

.v52-toolbar{
    margin-bottom:16px;
}

.v52-search-wrap{
    min-height:54px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 16px;
    border:1px solid #d8e7f2;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 30px rgba(13,71,113,.045);
}

.v52-search-icon{
    flex:none;
    color:#0784e3;
    font-size:22px;
    font-weight:800;
    line-height:1;
}

.v52-search-wrap input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#163c5a;
    font-family:inherit;
    font-size:12px;
    font-weight:600;
}

.v52-search-wrap input::placeholder{
    color:#91a3b2;
    font-weight:500;
}

.v52-result-count{
    flex:none;
    padding-left:12px;
    border-left:1px solid #e4edf3;
    color:#71889a;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
}


/* QUICK FILTER */

.v52-quick{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:11px;
}

.v52-quick button{
    min-width:52px;
    height:31px;
    padding:0 13px;
    border:1px solid #d9e8f2;
    border-radius:100px;
    background:#fff;
    color:#61798c;
    font-family:inherit;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
    transition:.18s ease;
}

.v52-quick button:hover{
    border-color:#1494e5;
    color:#0784d9;
}

.v52-quick button.on{
    border-color:#0b8ee6;
    background:#0b8ee6;
    color:#fff;
    box-shadow:0 6px 16px rgba(11,142,230,.18);
}


/* NOTICE */

.v52-notice{
    display:flex;
    gap:13px;
    align-items:flex-start;
    margin:18px 0;
    padding:16px 17px;
    border:1px solid #cce6f7;
    border-radius:14px;
    background:linear-gradient(
        135deg,
        #f1f9ff,
        #f8fcff
    );
}

.v52-notice-icon{
    width:28px;
    height:28px;
    flex:none;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#118fe5;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.v52-notice strong{
    display:block;
    margin:1px 0 4px;
    color:#17415f;
    font-size:11px;
}

.v52-notice p{
    margin:0;
    color:#678095;
    font-size:10px;
    line-height:1.7;
    word-break:keep-all;
}


/* LEGAL INFO */

.v52-legal{
    display:none;
    margin:0 0 18px;
    padding:18px 19px;
    border-radius:14px;
    background:#f7f9fb;
    border:1px solid #e4ebf0;
}

.v52-legal.show{
    display:block;
}

.v52-legal::before{
    content:"안내사항";
    display:block;
    margin-bottom:9px;
    color:#177fc5;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.v52-legal p{
    margin:0;
    color:#63798a;
    font-size:10px;
    line-height:1.8;
    word-break:keep-all;
}

.v52-legal p + p{
    margin-top:7px;
}


/* TABLE */

.v52-table-wrap{
    overflow:hidden;
    border:1px solid #dce8f0;
    border-radius:16px;
    background:#fff;
}

.v52-table-head{
    display:grid;
    grid-template-columns:68px minmax(0,1fr) 145px;
    align-items:center;
    min-height:45px;
    padding:0 18px;
    background:#f1f8fd;
    border-bottom:1px solid #dce8f0;
}

.v52-table-head div{
    color:#477087;
    font-size:9px;
    font-weight:900;
    letter-spacing:.04em;
}

.v52-table-head div:last-child{
    text-align:right;
}


/* ROW */

.v52-fee-row{
    display:grid;
    grid-template-columns:68px minmax(0,1fr) 145px;
    align-items:center;
    min-height:65px;
    padding:10px 18px;
    border-bottom:1px solid #edf2f5;
    transition:.15s ease;
}

.v52-fee-row:last-child{
    border-bottom:0;
}

.v52-fee-row:hover{
    background:#fafdff;
}

.v52-no{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#edf7fe;
    color:#1487d8;
    font-size:9px;
    font-weight:900;
}

.v52-name{
    min-width:0;
    padding-right:25px;
}

.v52-name strong{
    display:block;
    color:#25465f;
    font-size:11px;
    font-weight:750;
    line-height:1.6;
    word-break:keep-all;
}

.v52-name small{
    display:block;
    margin-top:3px;
    color:#93a3af;
    font-size:9px;
    line-height:1.5;
    word-break:break-all;
}

.v52-price{
    text-align:right;
}

.v52-price strong{
    color:#057acb;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}

.v52-price small{
    display:block;
    margin-top:2px;
    color:#9baab5;
    font-size:8px;
}


/* MORE */

.v52-more-wrap{
    display:flex;
    justify-content:center;
    padding-top:18px;
}

.v52-more{
    min-width:190px;
    height:45px;
    padding:0 21px;
    border:1px solid #d4e6f2;
    border-radius:12px;
    background:#fff;
    color:#187bbd;
    font-family:inherit;
    font-size:10.5px;
    font-weight:900;
    cursor:pointer;
    transition:.18s ease;
}

.v52-more:hover{
    border-color:#118ee2;
    background:#f2f9fe;
}

.v52-more span{
    margin-left:7px;
}


/* EMPTY */

.v52-empty{
    padding:50px 20px;
    text-align:center;
    border:1px solid #e0eaf1;
    border-radius:15px;
    background:#fafcfd;
}

.v52-empty b{
    display:block;
    color:#385b72;
    font-size:13px;
}

.v52-empty span{
    display:block;
    margin-top:6px;
    color:#91a2ae;
    font-size:10px;
}


/* ORIGINAL SOURCE */

.v52-source{
    display:none !important;
}


/* V5.1 OLD OUTPUT */

.v51-fee-source{
    display:none !important;
}


/* LOADING */

.v52-loading{
    padding:50px 20px;
    text-align:center;
    color:#8ba0af;
    font-size:11px;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

    .v52-nonbenefit{
        padding:15px 17px 27px;
    }

    .v52-search-wrap{
        min-height:51px;
        padding:0 13px;
    }

    .v52-result-count{
        display:none;
    }

    .v52-quick{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:3px;
        scrollbar-width:none;
    }

    .v52-quick::-webkit-scrollbar{
        display:none;
    }

    .v52-quick button{
        flex:none;
    }

    .v52-table-head{
        display:none;
    }

    .v52-table-wrap{
        border:0;
        border-radius:0;
        background:transparent;
        overflow:visible;
    }

    .v52-fee-list{
        display:grid;
        gap:9px;
    }

    .v52-fee-row{
        position:relative;
        display:block;
        min-height:0;
        padding:15px 15px 14px 55px;
        border:1px solid #dfeaf1;
        border-radius:13px;
        background:#fff;
    }

    .v52-no{
        position:absolute;
        left:14px;
        top:15px;
    }

    .v52-name{
        padding:0;
    }

    .v52-name strong{
        padding-right:0;
        font-size:11px;
    }

    .v52-name small{
        margin-top:4px;
    }

    .v52-price{
        margin-top:10px;
        padding-top:10px;
        border-top:1px solid #edf2f5;
        text-align:left;
    }

    .v52-price strong{
        font-size:14px;
    }

}


/* V5.2: 기존 V5/V5.1 검색 UI 중복 방지 */

.v5-nonbenefit .v5-fee-search,
.v5-nonbenefit .v5-fee-search-wrap,
.v5-nonbenefit .v5-fee-tools,
.v5-nonbenefit #v5NonBenefitSearch,
.v5-nonbenefit .v5-nonbenefit-info{
    display:none !important;
}



/* =========================================================
   GJH GUIDE DETAIL V5.3
   INPATIENT / CERTIFICATE / FUNERAL
========================================================= */

.v53-guide{
    padding:30px;
    color:#183d59;
}

.v53-head{
    margin-bottom:28px;
}

.v53-head > span,
.v53-section-label > span,
.v53-funeral-hero > div > span{
    display:block;
    margin-bottom:7px;
    color:#0a8ee6;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
}

.v53-head h3{
    margin:0;
    color:#103a5a;
    font-size:25px;
    line-height:1.25;
    letter-spacing:-.04em;
}

.v53-head p{
    max-width:650px;
    margin:9px 0 0;
    color:#7a91a2;
    font-size:11px;
    line-height:1.8;
}


/* PROCESS */

.v53-process{
    display:grid;
    grid-template-columns:
        minmax(0,1fr) 25px
        minmax(0,1fr) 25px
        minmax(0,1fr) 25px
        minmax(0,1fr);
    align-items:center;
    margin-bottom:34px;
}

.v53-process > i{
    color:#a7c8de;
    text-align:center;
    font-size:16px;
    font-style:normal;
}

.v53-process-item{
    min-height:132px;
    padding:18px;
    border:1px solid #dceaf3;
    border-radius:16px;
    background:linear-gradient(
        145deg,
        #fff,
        #f6fbff
    );
}

.v53-process-item b{
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    border-radius:9px;
    background:#0b91e6;
    color:#fff;
    font-size:9px;
}

.v53-process-item strong{
    display:block;
    color:#173e5b;
    font-size:12px;
}

.v53-process-item span{
    display:block;
    margin-top:6px;
    color:#8195a4;
    font-size:9px;
    line-height:1.6;
}


/* SECTION */

.v53-section-label{
    margin:31px 0 14px;
}

.v53-section-label h4{
    margin:0;
    color:#153e5d;
    font-size:18px;
    letter-spacing:-.03em;
}


/* SOURCE CONTENT */

.v53-info-list{
    overflow:hidden;
    border:1px solid #dce8f0;
    border-radius:17px;
    background:#fff;
}

.v53-info-row{
    position:relative;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    align-items:flex-start;
    padding:17px 19px;
    border-bottom:1px solid #edf2f5;
}

.v53-info-row:last-child{
    border-bottom:0;
}

.v53-info-row:hover{
    background:#f9fcff;
}

.v53-info-num{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eaf6fe;
    color:#0788df;
    font-size:9px;
    font-weight:900;
}

.v53-info-row p{
    margin:3px 0 0;
    color:#536e81;
    font-size:10.5px;
    line-height:1.9;
    word-break:keep-all;
}


/* CERTIFICATE */

.v53-feature-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
}

.v53-feature-grid article{
    display:flex;
    gap:14px;
    min-height:105px;
    padding:18px;
    border:1px solid #dce9f2;
    border-radius:15px;
    background:#fff;
}

.v53-feature-grid article > span{
    width:38px;
    height:38px;
    flex:none;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#0b8fe5;
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.v53-feature-grid small{
    display:block;
    margin-bottom:3px;
    color:#1190e4;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.v53-feature-grid strong{
    display:block;
    color:#173e5b;
    font-size:12px;
}

.v53-feature-grid p{
    margin:5px 0 0;
    color:#8295a3;
    font-size:9px;
    line-height:1.65;
}


/* FUNERAL */

.v53-funeral-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 245px;
    gap:25px;
    align-items:center;
    padding:30px;
    border-radius:20px;
    background:
        radial-gradient(
            circle at 88% 20%,
            rgba(41,168,239,.32),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #082f52,
            #075f9d
        );
}

.v53-funeral-hero > div > span{
    color:#70c8ff;
}

.v53-funeral-hero h3{
    margin:0;
    color:#fff;
    font-size:27px;
    line-height:1.28;
    letter-spacing:-.045em;
}

.v53-funeral-hero p{
    margin:10px 0 0;
    color:#c2d9e8;
    font-size:10px;
    line-height:1.8;
}

.v53-funeral-phone{
    display:block;
    padding:21px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:16px;
    background:rgba(255,255,255,.1);
    color:#fff;
    text-decoration:none;
    backdrop-filter:blur(8px);
}

.v53-funeral-phone small{
    display:block;
    color:#a9d9f6;
    font-size:9px;
}

.v53-funeral-phone strong{
    display:block;
    margin:5px 0 13px;
    color:#fff;
    font-size:20px;
    letter-spacing:-.02em;
}

.v53-funeral-phone span{
    display:inline-flex;
    align-items:center;
    height:29px;
    padding:0 11px;
    border-radius:8px;
    background:#fff;
    color:#087bc4;
    font-size:9px;
    font-weight:900;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

    .v53-guide{
        padding:22px 17px;
    }

    .v53-head h3{
        font-size:22px;
    }

    .v53-process{
        grid-template-columns:1fr;
        gap:8px;
    }

    .v53-process > i{
        transform:rotate(90deg);
        height:17px;
        line-height:17px;
    }

    .v53-process-item{
        min-height:0;
    }

    .v53-feature-grid{
        grid-template-columns:1fr;
    }

    .v53-info-row{
        grid-template-columns:38px minmax(0,1fr);
        gap:10px;
        padding:15px 13px;
    }

    .v53-info-row p{
        font-size:10px;
        line-height:1.8;
    }

    .v53-funeral-hero{
        grid-template-columns:1fr;
        padding:24px 20px;
    }

    .v53-funeral-hero h3{
        font-size:24px;
    }

    .v53-funeral-phone{
        padding:17px;
    }

}



/* =========================================================
   GJH GUIDE DETAIL - MOBILE FINAL
   2026-09-26
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------
       전체 레이아웃
       ----------------------------------------- */

    .gd-wrap,
    .gd-body,
    .gd-container {
        width:100% !important;
        max-width:none !important;
    }

    .gd-layout {
        display:block !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
    }


    /* -----------------------------------------
       기존 좌측 사이드바 -> 모바일 상단 탭
       ----------------------------------------- */

    .gd-sidebar {
        position:relative !important;
        top:auto !important;

        width:100% !important;
        max-width:none !important;

        margin:0 !important;
        padding:0 !important;

        background:#fff !important;
        z-index:5;
    }

    .gd-side-menu {
        width:100% !important;
        margin:0 !important;

        overflow:visible !important;

        border:0 !important;
        border-radius:0 !important;

        background:#fff !important;
        box-shadow:none !important;
    }


    /* 큰 파란 HOSPITAL GUIDE 박스 제거 */
    .gd-side-title {
        display:none !important;
    }


    /* 메뉴를 가로 스크롤 탭으로 */
    .gd-side-menu nav {
        display:flex !important;
        align-items:stretch !important;

        width:100% !important;

        overflow-x:auto !important;
        overflow-y:hidden !important;

        padding:0 16px !important;

        border-top:1px solid #e7eef5 !important;
        border-bottom:1px solid #dfe8f0 !important;

        background:#fff !important;

        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .gd-side-menu nav::-webkit-scrollbar {
        display:none;
    }

    .gd-side-menu nav a {
        flex:0 0 auto !important;

        width:auto !important;
        min-width:auto !important;
        min-height:54px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        margin:0 !important;
        padding:0 18px !important;

        border:0 !important;
        border-right:1px solid #edf1f5 !important;
        border-radius:0 !important;

        background:#fff !important;

        color:#435b70 !important;

        font-size:13px !important;
        font-weight:800 !important;
        line-height:1 !important;

        white-space:nowrap !important;

        box-shadow:none !important;

        transform:none !important;
    }

    .gd-side-menu nav a:first-child {
        border-left:1px solid #edf1f5 !important;
    }

    .gd-side-menu nav a:hover {
        padding-left:18px !important;
        background:#f7fbfe !important;
    }

    .gd-side-menu nav a.active {
        position:relative !important;

        color:#087bd5 !important;
        background:#f2f9ff !important;
    }

    .gd-side-menu nav a.active::after {
        content:"" !important;

        position:absolute !important;
        left:16px !important;
        right:16px !important;
        bottom:0 !important;

        height:3px !important;

        border-radius:3px 3px 0 0 !important;
        background:#1684e8 !important;
    }

    /* PC용 화살표 제거 */
    .gd-side-menu nav a b {
        display:none !important;
    }


    /* 좌측 대표전화 박스 제거
       본문/푸터에서 전화 확인 가능 */
    .gd-phone-card {
        display:none !important;
    }


    /* -----------------------------------------
       본문
       ----------------------------------------- */

    .gd-content,
    .gd-main,
    .gd-detail,
    .gd-article {
        width:100% !important;
        max-width:none !important;

        margin:0 !important;

        padding-left:16px !important;
        padding-right:16px !important;

        box-sizing:border-box !important;
    }


    /* 본문 상단 여백 정리 */
    .gd-content {
        padding-top:48px !important;
        padding-bottom:90px !important;
    }


    /* -----------------------------------------
       본문 타이틀
       ----------------------------------------- */

    .gd-content > small,
    .gd-content header small {
        font-size:9px !important;
        letter-spacing:.18em !important;
    }

    .gd-content h1,
    .gd-content h2 {
        word-break:keep-all !important;
    }


    /* -----------------------------------------
       V5 공통 카드
       ----------------------------------------- */

    .v5-special {
        width:100% !important;

        margin-left:0 !important;
        margin-right:0 !important;

        border-radius:18px !important;

        box-sizing:border-box !important;
    }

    .v5-section-title {
        padding:23px 20px 21px !important;
    }

    .v5-section-title h3 {
        font-size:21px !important;
        line-height:1.3 !important;
    }


    /* -----------------------------------------
       검색
       ----------------------------------------- */

    .v5-search,
    .v5-phone-search {
        margin:18px 16px 12px !important;
        padding:0 13px !important;

        min-height:50px !important;
    }

    .v5-info-note {
        margin:0 16px 16px !important;
    }


    /* -----------------------------------------
       비급여
       ----------------------------------------- */

    .v5-fee-list {
        margin:0 16px 20px !important;
        border-radius:13px !important;
    }

    .v5-fee-row {
        grid-template-columns:30px minmax(0,1fr) !important;

        gap:10px !important;

        padding:12px !important;
    }

    .v5-fee-price {
        grid-column:2 !important;

        justify-self:start !important;

        margin-top:4px !important;
    }


    /* -----------------------------------------
       층별 안내
       ----------------------------------------- */

    .v5-floor-grid {
        grid-template-columns:1fr !important;

        gap:10px !important;

        padding:18px 16px 22px !important;
    }

    .v5-floor-card {
        grid-template-columns:66px minmax(0,1fr) !important;

        min-height:100px !important;
    }


    /* -----------------------------------------
       전화번호
       ----------------------------------------- */

    .v5-contact-hero {
        display:block !important;

        margin:18px 16px 10px !important;
        padding:20px !important;
    }

    .v5-contact-hero strong {
        font-size:22px !important;
    }

    .v5-contact-hero a {
        margin-top:14px !important;
    }

    .v5-phone-directory {
        margin:0 16px 22px !important;
    }

    .v5-phone-row {
        grid-template-columns:30px minmax(0,1fr) !important;
    }

    .v5-phone-row strong {
        grid-column:2 !important;
        justify-self:start !important;
    }


    /* -----------------------------------------
       오시는 길
       ----------------------------------------- */

    .v5-location-summary {
        grid-template-columns:1fr !important;

        gap:10px !important;

        padding:18px 16px !important;
    }

    .v5-location-summary article {
        min-height:0 !important;
    }


    /* -----------------------------------------
       모바일 하단 고정 메뉴와 겹침 방지
       ----------------------------------------- */

    main {
        padding-bottom:82px !important;
    }

}


/* 아주 작은 모바일 */
@media (max-width: 420px) {

    .gd-side-menu nav {
        padding:0 12px !important;
    }

    .gd-side-menu nav a {
        min-height:50px !important;
        padding:0 15px !important;

        font-size:12px !important;
    }

    .gd-side-menu nav a:hover {
        padding-left:15px !important;
    }

    .gd-content,
    .gd-main,
    .gd-detail,
    .gd-article {
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .gd-content {
        padding-top:38px !important;
    }

}


/* =========================================================
   GJH GUIDE DETAIL
   MOBILE GUIDE MENU GRID FINAL
   ========================================================= */

@media (max-width:767px){

    /* 메뉴 영역 */
    .gd-sidebar{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        position:relative !important;
        top:auto !important;
        overflow:visible !important;
        background:#fff !important;
    }

    .gd-side-menu{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    .gd-side-title{
        display:none !important;
    }


    /*
     * 핵심
     * 가로 스크롤 방식 제거
     * 10개 메뉴를 모바일 2열 그리드로 표시
     */
    .gd-side-menu nav{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;

        width:100% !important;
        max-width:none !important;

        margin:0 !important;
        padding:12px 16px 18px !important;

        gap:8px !important;

        overflow:visible !important;

        border:0 !important;
        background:#fff !important;

        box-sizing:border-box !important;
    }


    .gd-side-menu nav a{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        width:100% !important;
        min-width:0 !important;
        height:48px !important;
        min-height:48px !important;

        margin:0 !important;
        padding:0 14px !important;

        border:1px solid #e0eaf2 !important;
        border-radius:12px !important;

        background:#f8fbfd !important;

        color:#29445b !important;

        font-size:12px !important;
        font-weight:800 !important;
        line-height:1.25 !important;

        white-space:nowrap !important;

        box-sizing:border-box !important;
        box-shadow:none !important;

        transform:none !important;
    }


    /* 오른쪽 방향 표시 */
    .gd-side-menu nav a::before{
        content:"→" !important;

        order:2 !important;

        margin-left:8px !important;

        color:#8aa4b8 !important;

        font-size:13px !important;
        font-weight:700 !important;
    }


    /* 기존 active underline 제거 */
    .gd-side-menu nav a::after{
        display:none !important;
        content:none !important;
    }


    /* 현재 메뉴 */
    .gd-side-menu nav a.active{
        color:#087bd5 !important;
        border-color:#b8dcf7 !important;
        background:#eaf7ff !important;
    }

    .gd-side-menu nav a.active::before{
        color:#087bd5 !important;
    }


    /* PC용 b 화살표 제거 */
    .gd-side-menu nav a b{
        display:none !important;
    }


    .gd-side-menu nav a:hover{
        padding-left:14px !important;
        color:#087bd5 !important;
        background:#f1f9ff !important;
    }


    /*
     * 메뉴와 본문 사이 간격
     */
    .gd-content{
        padding-top:34px !important;
    }


    /*
     * 가로 overflow 완전 차단
     */
    html,
    body{
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    .gd-layout,
    .gd-sidebar,
    .gd-side-menu,
    .gd-side-menu nav,
    .gd-content{
        max-width:100% !important;
        box-sizing:border-box !important;
    }

}


/* 작은 휴대폰 */
@media (max-width:380px){

    .gd-side-menu nav{
        padding-left:12px !important;
        padding-right:12px !important;
        gap:6px !important;
    }

    .gd-side-menu nav a{
        height:46px !important;
        min-height:46px !important;

        padding-left:11px !important;
        padding-right:10px !important;

        font-size:11px !important;
    }

}

/* =========================================================
   GUIDE DETAIL MOBILE HERO PADDING FIX
   ========================================================= */
@media (max-width:767px){

    /* 히어로 안쪽 컨텐츠 */
    .gd-hero .inner,
    .gd-hero-inner,
    .gd-hero > div {
        box-sizing:border-box !important;
        width:100% !important;
        max-width:100% !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    /* breadcrumb */
    .gd-hero .breadcrumb,
    .gd-breadcrumb {
        margin-left:0 !important;
        padding-left:0 !important;
    }

    /* 영문 라벨 */
    .gd-hero small,
    .gd-hero .eyebrow {
        margin-left:0 !important;
    }

    /* 제목 */
    .gd-hero h1 {
        margin-left:0 !important;
        padding-left:0 !important;
    }

    /* 설명 */
    .gd-hero p {
        margin-left:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
}

@media (max-width:380px){
    .gd-hero .inner,
    .gd-hero-inner,
    .gd-hero > div {
        padding-left:16px !important;
        padding-right:16px !important;
    }
}


/* =========================================================
   GWANGJU HOSPITAL
   OUTPATIENT DETAIL V6
   외래 페이지 전용
   ========================================================= */


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-content{
    min-width:0;
}

.gd-outpatient-v6 .gd-content-head{
    position:relative;
    overflow:hidden;

    margin-bottom:28px;
    padding:34px 36px;

    border:1px solid #dce9f3;
    border-radius:24px;

    background:
        radial-gradient(
            circle at 92% 12%,
            rgba(18,153,231,.12),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #fafdff 0%,
            #eef8ff 100%
        );

    box-shadow:
        0 18px 50px rgba(21,74,112,.055);
}

.gd-outpatient-v6 .gd-content-head:after{
    content:"";
    position:absolute;
    right:-45px;
    bottom:-70px;

    width:190px;
    height:190px;

    border:28px solid rgba(20,148,229,.055);
    border-radius:50%;

    pointer-events:none;
}

.gd-outpatient-v6 .gd-content-head > *{
    position:relative;
    z-index:1;
}

.gd-outpatient-v6 .gd-content-head > span{
    display:block;

    margin-bottom:8px;

    color:#0787df;

    font-size:10px;
    font-weight:900;
    letter-spacing:.17em;
}

.gd-outpatient-v6 .gd-content-head h2{
    margin:0;

    color:#103652;

    font-size:30px;
    line-height:1.2;
    letter-spacing:-.045em;
}

.gd-outpatient-v6 .gd-content-head p{
    margin:10px 0 0;

    color:#71879a;

    font-size:13px;
    line-height:1.7;
}


/* ---------------------------------------------------------
   5 STEP FLOW
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-flow{
    display:grid;

    grid-template-columns:
        repeat(5,minmax(0,1fr));

    gap:12px;

    margin:0 0 28px;
}

.gd-outpatient-v6 .gd-flow article{
    position:relative;

    display:flex;
    flex-direction:column;

    min-width:0;
    min-height:188px;

    padding:24px 20px 21px;

    border:1px solid #dce8f1;
    border-radius:20px;

    background:#fff;

    box-shadow:
        0 13px 34px rgba(17,67,105,.045);

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.gd-outpatient-v6 .gd-flow article:hover{
    transform:translateY(-3px);

    border-color:#b9dff7;

    box-shadow:
        0 18px 42px rgba(13,100,164,.09);
}

.gd-outpatient-v6 .gd-flow-icon{
    display:grid;
    place-items:center;

    width:42px;
    height:42px;

    margin-bottom:20px;

    border-radius:13px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #075a99,
            #0b9aeb
        );

    box-shadow:
        0 8px 20px rgba(7,130,216,.18);

    font-size:12px;
    font-weight:900;
}

.gd-outpatient-v6 .gd-flow article small{
    display:block;

    margin-bottom:6px;

    color:#168bdc;

    font-size:8px;
    font-weight:900;
    letter-spacing:.13em;
}

.gd-outpatient-v6 .gd-flow article h3{
    margin:0 0 7px;

    color:#163b58;

    font-size:17px;
    line-height:1.3;
    letter-spacing:-.035em;
}

.gd-outpatient-v6 .gd-flow article p{
    margin:0;

    color:#778b9d;

    font-size:11px;
    line-height:1.65;

    word-break:keep-all;
}

.gd-outpatient-v6 .gd-flow article > b{
    position:absolute;

    right:-10px;
    top:50%;

    z-index:3;

    display:grid;
    place-items:center;

    width:20px;
    height:20px;

    margin-top:-10px;

    border:1px solid #d7e9f5;
    border-radius:50%;

    color:#1592e6;
    background:#fff;

    font-size:10px;
    font-weight:900;
}

.gd-outpatient-v6 .gd-flow article:last-child > b{
    display:none;
}


/* ---------------------------------------------------------
   INFORMATION CARDS
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-info-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:16px;

    margin-top:0;
}

.gd-outpatient-v6 .gd-card{
    overflow:hidden;

    margin:0;

    padding:27px 28px;

    border:1px solid #dce8f1;
    border-radius:21px;

    background:#fff;

    box-shadow:
        0 14px 38px rgba(20,65,98,.04);
}

.gd-outpatient-v6 .gd-card-title{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:22px;
}

.gd-outpatient-v6 .gd-card-title > span{
    display:grid;
    place-items:center;

    flex:0 0 40px;

    width:40px;
    height:40px;

    border-radius:12px;

    color:#087fd4;

    background:#eaf7ff;

    font-size:17px;
}

.gd-outpatient-v6 .gd-card-title h3{
    margin:0;

    color:#163a56;

    font-size:18px;
    letter-spacing:-.035em;
}


/* ---------------------------------------------------------
   TIME TABLE
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-time-table{
    display:grid;
    gap:0;

    overflow:hidden;

    border:
        1px solid
        #e2ebf2;

    border-radius:15px;
}

.gd-outpatient-v6 .gd-time-table > div{
    display:grid;

    grid-template-columns:
        90px minmax(0,1fr);

    align-items:center;

    min-height:55px;

    padding:0 17px;

    border-bottom:
        1px solid
        #e7eef4;

    background:#fbfdff;
}

.gd-outpatient-v6 .gd-time-table > div:last-child{
    border-bottom:0;
}

.gd-outpatient-v6 .gd-time-table strong{
    color:#31526c;

    font-size:12px;
}

.gd-outpatient-v6 .gd-time-table span,
.gd-outpatient-v6 .gd-time-table p{
    margin:0;

    color:#657d91;

    font-size:12px;
    line-height:1.6;
}


/* ---------------------------------------------------------
   REMOVE ACCIDENTAL STANDALONE ZERO
   markup 안전망.
   실제 시간/전화번호 숫자는 해당 selector와 무관.
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-original-block:empty,
.gd-outpatient-v6 .gd-source-line:empty{
    display:none !important;
}


/* ---------------------------------------------------------
   SOURCE / ORIGINAL CONTENT
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-original,
.gd-outpatient-v6 .gd-original-content,
.gd-outpatient-v6 .gd-source-content{
    margin-top:28px;

    border:1px solid #e0eaf2;
    border-radius:22px;

    background:#fff;

    box-shadow:
        0 14px 40px rgba(18,65,100,.035);
}

.gd-outpatient-v6 .gd-original p,
.gd-outpatient-v6 .gd-original-content p,
.gd-outpatient-v6 .gd-source-content p{
    color:#61788c;

    font-size:12px;
    line-height:1.8;
}


/* ---------------------------------------------------------
   SIDEBAR
   --------------------------------------------------------- */

.gd-outpatient-v6 .gd-side-menu{
    border-radius:20px;

    box-shadow:
        0 18px 46px rgba(17,69,107,.055);
}

.gd-outpatient-v6 .gd-phone-card{
    border:
        1px solid
        #e2ecf3;

    background:
        linear-gradient(
            135deg,
            #f8fcff,
            #eef7fd
        );
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1100px){

    .gd-outpatient-v6 .gd-flow{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .gd-outpatient-v6 .gd-flow article > b{
        display:none;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:820px){

    .gd-outpatient-v6 .gd-body{
        padding-top:24px;
    }

    .gd-outpatient-v6 .gd-layout{
        display:block;

        width:100%;
    }

    .gd-outpatient-v6 .gd-content{
        width:auto;

        margin:0 16px;
    }

    .gd-outpatient-v6 .gd-content-head{
        margin-bottom:18px;

        padding:25px 22px;

        border-radius:19px;
    }

    .gd-outpatient-v6 .gd-content-head h2{
        font-size:25px;
    }


    /* FLOW */

    .gd-outpatient-v6 .gd-flow{
        display:flex;
        flex-direction:column;

        gap:10px;

        margin-bottom:18px;
    }

    .gd-outpatient-v6 .gd-flow article{
        display:grid;

        grid-template-columns:
            48px minmax(0,1fr);

        column-gap:15px;

        min-height:0;

        padding:18px;

        border-radius:17px;
    }

    .gd-outpatient-v6 .gd-flow-icon{
        grid-row:1 / span 3;

        width:46px;
        height:46px;

        margin:0;

        border-radius:13px;
    }

    .gd-outpatient-v6 .gd-flow article > div:nth-child(2){
        min-width:0;
    }

    .gd-outpatient-v6 .gd-flow article small{
        margin-top:1px;
    }

    .gd-outpatient-v6 .gd-flow article h3{
        font-size:16px;
    }

    .gd-outpatient-v6 .gd-flow article p{
        font-size:12px;
    }

    .gd-outpatient-v6 .gd-flow article > b{
        display:none;
    }


    /* INFO */

    .gd-outpatient-v6 .gd-info-grid{
        grid-template-columns:1fr;

        gap:12px;
    }

    .gd-outpatient-v6 .gd-card{
        padding:22px 19px;

        border-radius:18px;
    }

    .gd-outpatient-v6 .gd-time-table > div{
        grid-template-columns:
            72px minmax(0,1fr);

        padding:0 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:480px){

    .gd-outpatient-v6 .gd-content{
        margin-left:14px;
        margin-right:14px;
    }

    .gd-outpatient-v6 .gd-content-head{
        padding:23px 19px;
    }

    .gd-outpatient-v6 .gd-content-head h2{
        font-size:23px;
    }

    .gd-outpatient-v6 .gd-card{
        padding:20px 17px;
    }

}



/* =========================================================
   GJH OUTPATIENT V6.1
   Hide duplicated original source presentation on outpatient
   ========================================================= */

/*
 * 외래 페이지는 위쪽 V6 UI에서
 * 진료시간 / 외래절차 / 문의 기능을 이미 구조화하여 제공하므로
 * 하단 ORIGINAL MEDICAL GUIDE 중복 표현은 숨긴다.
 *
 * 다른 이용안내 상세 페이지에는 적용되지 않는다.
 */

.gd-outpatient-v6 .v5-special{
    display:none !important;
}


/*
 * 혹시 기존 버전에서 original wrapper class로 출력되는 경우도
 * 외래에서만 안전하게 제거
 */

.gd-outpatient-v6 .gd-original,
.gd-outpatient-v6 .gd-original-content,
.gd-outpatient-v6 .gd-source-content{
    display:none !important;
}


/* =========================================================
   상단 V6 정보 영역 마감
   ========================================================= */

.gd-outpatient-v6 .gd-info-grid{
    margin-bottom:28px;
}


/* 진료시간 카드 */

.gd-outpatient-v6 .gd-hours{
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fbfdff 100%
        );
}


/* FAQ / AI 카드 */

.gd-outpatient-v6 .gd-info-grid > section:nth-child(2){
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(21,151,232,.07),
            transparent 32%
        ),
        #fff;
}


/* =========================================================
   중요 안내 스트립
   ========================================================= */

.gd-outpatient-v6 .gd-info-grid:after{
    content:
        "진료과 및 의료진 사정에 따라 접수가 조기 마감될 수 있습니다. 응급의료센터는 24시간 운영됩니다.";

    grid-column:1 / -1;

    display:flex;
    align-items:center;

    min-height:54px;

    padding:13px 18px;

    box-sizing:border-box;

    border:
        1px solid
        #d9eaf6;

    border-radius:14px;

    color:#55738a;

    background:#f3faff;

    font-size:11px;
    font-weight:600;
    line-height:1.65;

    word-break:keep-all;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:820px){

    .gd-outpatient-v6 .gd-info-grid{
        margin-bottom:20px;
    }

    .gd-outpatient-v6 .gd-info-grid:after{
        min-height:0;

        padding:14px 15px;

        border-radius:13px;

        font-size:11px;
        line-height:1.65;
    }

}



/* =========================================================
   OUTPATIENT V6.2 - TITLE CARD ALIGNMENT FIX
   ========================================================= */

.gd-outpatient-v6 .gd-content-head{
    box-sizing:border-box !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;

    min-height:100px !important;

    padding:24px 36px 22px !important;

    overflow:hidden !important;
}

.gd-outpatient-v6 .gd-content-head > span{
    display:block !important;

    margin:0 0 7px !important;

    line-height:1.2 !important;
}

.gd-outpatient-v6 .gd-content-head h2{
    display:block !important;

    margin:0 !important;
    padding:0 0 2px !important;

    font-size:30px !important;
    line-height:1.25 !important;

    overflow:visible !important;
}

.gd-outpatient-v6 .gd-content-head p{
    margin:8px 0 0 !important;
    line-height:1.6 !important;
}


/* 현재 외래 화면에서는 설명문을 타이틀 카드에서 숨겨
   제목 영역을 더 깔끔하게 유지 */
.gd-outpatient-v6 .gd-content-head p{
    display:none !important;
}


@media(max-width:820px){

    .gd-outpatient-v6 .gd-content-head{
        min-height:88px !important;

        padding:
            20px
            22px
            19px !important;
    }

    .gd-outpatient-v6 .gd-content-head h2{
        font-size:25px !important;
        line-height:1.25 !important;
    }

}

