@charset "UTF-8";

/**
 * 보험정보 5개 서비스 공용 모바일 상단 셸.
 * 공용 헤더는 /css/mobile_primary_header.css가 소유하며 여기서는 변경하지 않는다.
 * 표시 순서: 서비스 메뉴 > 검색/조건 > 결과.
 */
@media (max-width: 768px) {
    body.insurance-service-minimal.insu-info-dashboard-page {
        --insu-info-mobile-ink: #171717;
        --insu-info-mobile-muted: #6b7280;
        --insu-info-mobile-line: #d9dde3;
        --insu-info-mobile-soft: #f4f5f6;
        --insu-info-mobile-yellow: #ffdd2d;
        background: #fff !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page main.main-content {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page main.main-content > .main-wrapper,
    body.insurance-service-minimal.insu-info-dashboard-page.disease-search-page main.main-content > .main-wrapper,
    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page main.main-content > .main-wrapper,
    body.insurance-service-minimal.insu-info-dashboard-page.hospital-search-page main.main-content > .main-wrapper,
    body.insurance-service-minimal.insu-info-dashboard-page.hospital-info-page main.main-content > .main-wrapper {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: calc(var(--mobile-primary-header-height, 110px) + 12px) 0 48px !important;
        background: #fff !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .container,
    body.insurance-service-minimal.insu-info-dashboard-page .insurance-calc-container,
    body.insurance-service-minimal.insu-info-dashboard-page .surgery-container,
    body.insurance-service-minimal.insu-info-dashboard-page .insurance-content,
    body.insurance-service-minimal.insu-info-dashboard-page .surgery-content {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* PC 홍보형 히어로는 공간에서 제거하되 유일한 h1은 접근 가능한 상태로 유지한다. */
    body.surgery-search-page .hero-section,
    body.hospital-search-page .hero-section,
    body.hospital-info-page .hero-section {
        position: absolute !important;
        display: block !important;
        width: 1px !important;
        height: 1px !important;
        min-height: 0 !important;
        max-height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        border: 0 !important;
        white-space: nowrap !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .pc-search-interface {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto 1fr !important;
        gap: 0 !important;
        width: 100% !important;
        height: auto !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-results-area {
        display: contents !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-results-area > * {
        order: 3;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile-wrap {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 12px !important;
        background: #fff !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard.insu-info-dashboard-mobile {
        position: relative !important;
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: calc(100% + 24px) !important;
        min-height: 45px !important;
        margin: -12px -12px 12px !important;
        padding: 0 8px !important;
        overflow: hidden !important;
        border: 0 !important;
        border-bottom: 1px solid var(--insu-info-mobile-line) !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile .insu-info-dashboard-btn {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 20% !important;
        width: 20% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 0 3px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #3f4651 !important;
        font-size: 12px !important;
        font-weight: 560 !important;
        line-height: 1 !important;
        letter-spacing: -0.035em !important;
        box-shadow: none !important;
        transform: none !important;
        white-space: nowrap !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile .insu-info-dashboard-btn.active {
        background: transparent !important;
        color: var(--insu-info-mobile-ink) !important;
        font-weight: 720 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile .insu-info-dashboard-btn.active::after {
        position: absolute;
        right: 5px;
        bottom: -1px;
        left: 5px;
        height: 2px;
        background: #245fd1;
        content: "";
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile .insu-info-dashboard-btn i,
    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile .insu-info-dashboard-label-pc {
        display: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-dashboard-mobile .insu-info-dashboard-label-mobile {
        display: inline !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar > .insu-info-dashboard:not(.insu-info-dashboard-mobile),
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-sidebar-header {
        display: none !important;
    }

    /* 구형 뒤로가기·FC홈 타이틀바는 시각적으로 제거하고 h1만 문서 제목으로 유지한다. */
    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-mobile-title-bar {
        position: absolute !important;
        display: block !important;
        width: 1px !important;
        height: 1px !important;
        min-height: 0 !important;
        max-height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        border: 0 !important;
        white-space: nowrap !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-mobile-title-bar a,
    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-mobile-title-bar p,
    body.insurance-service-minimal.insu-info-dashboard-page .insu-info-mobile-title-bar h3 {
        display: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar {
        order: 2 !important;
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 12px 16px !important;
        overflow: visible !important;
        border: 0 !important;
        border-bottom: 1px solid var(--insu-info-mobile-line) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-form-container,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-form {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .form-group {
        margin: 0 0 10px !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar label {
        margin: 0 0 5px !important;
        color: var(--insu-info-mobile-ink) !important;
        font-size: 12px !important;
        font-weight: 620 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar input,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar select,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .form-control {
        width: 100% !important;
        min-height: 44px !important;
        padding: 0 12px !important;
        border: 1px solid var(--insu-info-mobile-line) !important;
        border-radius: 8px !important;
        outline: 0 !important;
        background: #fff !important;
        color: var(--insu-info-mobile-ink) !important;
        font-size: 14px !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar input:focus,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar select:focus,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .form-control:focus {
        border-color: var(--insu-info-mobile-line) !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar button[type="submit"],
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-btn-primary,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-btn-simple {
        width: 100% !important;
        min-height: 44px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: var(--insu-info-mobile-yellow) !important;
        color: var(--insu-info-mobile-ink) !important;
        font-size: 14px !important;
        font-weight: 680 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar button[type="submit"] i,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-btn-primary i,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .search-btn-simple i {
        color: currentColor !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .info-section,
    body.insurance-service-minimal.insu-info-dashboard-page .search-sidebar .info-section-simple {
        margin: 12px 0 0 !important;
        padding: 12px 0 0 !important;
        border: 0 !important;
        border-top: 1px solid var(--insu-info-mobile-line) !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page .search-results-area > :not(.insu-info-dashboard-mobile-wrap):not(.insu-info-mobile-title-bar) {
        width: 100% !important;
        margin: 0 !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /*
     * 검색 결과는 별도 전체화면을 만들지 않는다.
     * 공용 헤더와 앱 중앙 메뉴, 이 서비스군의 5개 탭은 그대로 두고
     * 검색 입력 세션만 결과 세션으로 교체한다.
     */
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .search-sidebar {
        display: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-dashboard-mobile-wrap {
        display: block !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page.insu-info-mobile-results-active .insu-info-calc-results-wrap,
    body.insurance-service-minimal.insu-info-dashboard-page.disease-search-page.insu-info-mobile-results-active .insu-info-disease-results-wrap,
    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page.insu-info-mobile-results-active .insu-info-surgery-results-wrap,
    body.insurance-service-minimal.insu-info-dashboard-page.hospital-search-page.insu-info-mobile-results-active .insu-info-hospital-search-results-wrap,
    body.insurance-service-minimal.insu-info-dashboard-page.hospital-info-page.insu-info-mobile-results-active .insu-info-hospital-info-results-wrap {
        position: relative !important;
        inset: auto !important;
        z-index: auto !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 12px 28px !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .search-placeholder,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .initial-state {
        display: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .results-header {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 6px 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-bottom: 1px solid var(--insu-info-mobile-line) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .results-title-section {
        display: flex !important;
        align-items: baseline !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        gap: 7px !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .results-title-section h3 {
        flex: 0 0 auto !important;
        margin: 0 !important;
        color: var(--insu-info-mobile-ink) !important;
        font-size: 16px !important;
        font-weight: 680 !important;
        line-height: 1.25 !important;
        letter-spacing: -0.025em !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .results-summary,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .result-count,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .search-info,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .source-badge {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--insu-info-mobile-muted) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .results-summary i {
        display: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-mobile-back-btn,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-disease-results-back,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-calc-results-back,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-results-refresh {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 40px !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        color: #343a43 !important;
        font-size: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-mobile-back-btn i,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-disease-results-back i,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-calc-results-back i,
    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .insu-info-results-refresh i {
        font-size: 15px !important;
    }

    /* 실손계산은 뒤로가기 버튼이 결과 헤더의 바로 앞 형제다. */
    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page.insu-info-mobile-results-active .insu-info-calc-results-back {
        position: absolute !important;
        top: 4px !important;
        left: 12px !important;
        z-index: 1 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page.insu-info-mobile-results-active .results-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        grid-template-areas:
            "calc-title calc-refresh"
            "calc-summary calc-summary" !important;
        align-items: center !important;
        gap: 2px 8px !important;
        min-height: 64px !important;
        padding: 6px 0 6px 44px !important;
        overflow: visible !important;
        border-bottom: 0 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page.insu-info-mobile-results-active .results-header .results-title-section {
        grid-area: calc-title !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page.insu-info-mobile-results-active .results-header .results-summary {
        grid-area: calc-summary !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insurance-calc-page.insu-info-mobile-results-active .results-header .insu-info-results-refresh {
        grid-area: calc-refresh !important;
    }

    /* 종수술비의 구형 중첩 타이틀바를 같은 결과 헤더 한 줄로 평탄화한다. */
    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page.insu-info-mobile-results-active .surgery-results-mobile-header {
        position: static !important;
        inset: auto !important;
        z-index: auto !important;
        display: block !important;
        width: 100% !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page.insu-info-mobile-results-active .surgery-results-mobile-header .insu-link-mobile-header-inner {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page.insu-info-mobile-results-active .surgery-results-mobile-header .results-header {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        border-bottom: 0 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page.insu-info-mobile-results-active .surgery-results-mobile-header .insu-link-mobile-fchome {
        display: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.insu-info-mobile-results-active .results-content {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 14px 0 0 !important;
        overflow: visible !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.disease-search-page.insu-info-mobile-results-active .insu-info-disease-results-wrap > .results-header {
        border-bottom: 0 !important;
    }

    body.insurance-service-minimal.insu-info-dashboard-page.disease-search-page.insu-info-mobile-results-active .insu-info-disease-results-wrap > .results-content,
    body.insurance-service-minimal.insu-info-dashboard-page.surgery-search-page.insu-info-mobile-results-active .insu-info-surgery-results-wrap #searchResultsContainer > .results-content {
        border-top: 1px solid var(--insu-info-mobile-line) !important;
    }
}
