/* Market Page Styles */

/* Market Search Bar */
.market-search {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.market-search input {
    padding: 12px 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 400px;
    font-size: 16px;
}

.market-search button {
    padding: 12px 30px;
    background: var(--primary-color);
    color: var(--white);
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    font-weight: 500;
}

.market-search button:hover {
    background: #0f2a4a;
}

/* Product Grid */
.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.product-card {
    background: var(--white);
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.product-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.product-img {
    height: 280px;
    background: #f1f3f5;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.product-card:hover .product-img img {
    transform: scale(1.05);
}

.product-info {
    padding: 20px;
}

.product-category {
    font-size: 12px;
    color: var(--accent-color);
    font-weight: 600;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.product-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--text-dark);
    line-height: 1.4;
}

.product-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
}

.product-seller {
    margin-top: 10px;
    font-size: 13px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Exhibition Hall Styles */
.exhibition-intro {
    background: var(--white);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    margin-bottom: 50px;
    display: flex;
}

.exhibition-thumb {
    flex: 1;
    background: #e9ecef;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.exhibition-details {
    flex: 1;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.exhibition-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--primary-color);
}

.exhibition-desc {
    font-size: 16px;
    color: #666;
    margin-bottom: 30px;
    line-height: 1.7;
}

.info-list li {
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.info-list i {
    color: var(--accent-color);
    margin-top: 5px;
}

.booth-map {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 30px;
    text-align: center;
    margin-top: 30px;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (max-width: 900px) {
    .exhibition-intro {
        flex-direction: column;
    }

    .exhibition-thumb {
        min-height: 300px;
    }
}

/* Exhibition open market */
.openmarket-shell {
    display: grid;
    gap: 32px;
}

.openmarket-hero-card,
.openmarket-info-panel,
.openmarket-note-panel,
.openmarket-poster-wrap,
.openmarket-check-panel,
.openmarket-result-card {
    background: #fff;
    border: 1px solid #e4edf6;
    border-radius: 28px;
    box-shadow: 0 20px 45px rgba(22, 57, 92, 0.08);
}

.openmarket-hero-card {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 24px;
    padding: 34px;
    background:
        radial-gradient(circle at top left, rgba(255, 214, 153, 0.38), transparent 34%),
        linear-gradient(135deg, #eff6ff 0%, #ffffff 52%, #eef8ff 100%);
}

.openmarket-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(22, 95, 181, 0.12);
    color: #1654a3;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 16px;
}

.openmarket-hero-copy h2 {
    margin-bottom: 16px;
}

.openmarket-hero-copy p {
    color: #607386;
    line-height: 1.8;
    font-size: 16px;
}

.openmarket-cta-group,
.openmarket-action-band,
.openmarket-check-header {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.openmarket-action-band,
.openmarket-check-header {
    justify-content: center;
}

.openmarket-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 170px;
    padding: 14px 20px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.2s ease;
}

.openmarket-btn:hover {
    transform: translateY(-2px);
}

.openmarket-btn.primary {
    background: linear-gradient(135deg, #2466ff 0%, #1098d7 100%);
    color: #fff;
}

.openmarket-btn.secondary {
    background: #ecf4ff;
    color: #1b5aa5;
}

.openmarket-btn.ghost {
    background: #fff;
    color: #23486f;
    border: 1px solid #d8e5f1;
}

.openmarket-hero-summary,
.openmarket-info-list,
.openmarket-steps,
.openmarket-result-list {
    display: grid;
    gap: 14px;
}

.openmarket-summary-box,
.openmarket-info-item,
.openmarket-step {
    padding: 16px 18px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e0ebf5;
}

.openmarket-summary-box strong,
.openmarket-info-item strong {
    display: block;
    margin-bottom: 7px;
    color: #2b5f92;
    font-size: 13px;
}

.openmarket-summary-box span,
.openmarket-info-item span {
    color: #193654;
    line-height: 1.7;
    white-space: pre-line;
}

.openmarket-grid-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.openmarket-info-panel {
    padding: 28px;
}

.openmarket-info-panel.accent {
    background: linear-gradient(135deg, #fff9ea 0%, #ffffff 65%);
}

.openmarket-step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    color: #1c3d60;
    line-height: 1.7;
}

.openmarket-step span {
    display: inline-flex;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 800;
    flex: 0 0 auto;
}

.openmarket-note-panel {
    padding: 28px;
}

.openmarket-editor-content {
    line-height: 1.8;
    color: #2a4362;
}

.openmarket-poster-wrap {
    padding: 30px;
    background: linear-gradient(180deg, #8fd0ff 0%, #eaf7ff 100%);
}

.openmarket-poster-header {
    text-align: center;
    margin-bottom: 22px;
}

.openmarket-poster-header span {
    display: inline-block;
    margin-bottom: 10px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    color: #24548d;
    font-weight: 700;
    font-size: 13px;
}

.openmarket-poster-card {
    background: #fff;
    border-radius: 28px;
    padding: 24px;
    border: 4px solid #2d4a68;
    box-shadow: 0 18px 42px rgba(17, 56, 88, 0.12);
}

.openmarket-poster-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px dashed #d7e4f2;
}

.openmarket-poster-row:last-child {
    border-bottom: 0;
}

.openmarket-poster-row .label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6cb7ff 0%, #4b8ce5 100%);
    color: #fff;
    font-weight: 800;
    min-height: 54px;
}

.openmarket-poster-row .value {
    color: #1a3550;
    line-height: 1.8;
    white-space: pre-line;
    padding: 6px 0;
}

.openmarket-poster-note {
    margin-top: 18px;
    text-align: center;
    color: #21456d;
    font-weight: 600;
    line-height: 1.7;
}

.openmarket-check-panel {
    padding: 28px;
}

.openmarket-check-panel h2 {
    margin-top: 0;
    margin-bottom: 18px;
}

.openmarket-search-form {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 120px minmax(0, 1fr) 120px minmax(0, 1fr) 130px 340px auto;
    gap: 0;
    border: 1px solid #dce8f3;
    background: #fff;
}

.openmarket-search-form .search-label,
.openmarket-search-form .search-input,
.openmarket-search-form .search-phone {
    border-right: 1px solid #dce8f3;
    border-bottom: 1px solid #dce8f3;
    min-height: 58px;
    display: flex;
    align-items: center;
}

.openmarket-search-form .search-label {
    background: #f8fbff;
    justify-content: center;
    font-weight: 700;
    color: #284e76;
}

.openmarket-search-form .search-input input,
.openmarket-search-form .search-phone input {
    width: 100%;
    border: 0;
    padding: 16px;
    font-size: 15px;
    outline: none;
}

.openmarket-search-form .search-phone {
    gap: 6px;
    padding: 0 10px;
}

.openmarket-search-form .search-phone span {
    color: #91a2b5;
    font-weight: 700;
}

.openmarket-search-form button {
    border: 0;
    min-height: 58px;
    border-radius: 0;
}

.openmarket-result-card {
    padding: 22px 24px;
}

.openmarket-result-card .topline {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
}

.openmarket-result-card .topline strong {
    display: block;
    color: #173657;
    font-size: 20px;
}

.openmarket-result-card .topline span {
    color: #70829a;
}

.openmarket-result-card .meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.openmarket-result-card .meta div {
    padding: 14px 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid #e2ebf4;
}

.openmarket-result-card .meta strong {
    display: block;
    margin-bottom: 6px;
    color: #2b5f92;
    font-size: 13px;
}

.openmarket-result-card .meta span {
    color: #193654;
    line-height: 1.6;
}

.openmarket-status-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.openmarket-empty {
    padding: 34px 22px;
    text-align: center;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #e3ebf6;
    color: #667a91;
}

@media (max-width: 1180px) {
    .openmarket-search-form {
        grid-template-columns: 1fr;
    }

    .openmarket-search-form .search-label,
    .openmarket-search-form .search-input,
    .openmarket-search-form .search-phone {
        border-right: 0;
    }

    .openmarket-search-form button {
        border-radius: 0 0 20px 20px;
    }
}

@media (max-width: 900px) {
    .openmarket-hero-card,
    .openmarket-grid-panels,
    .openmarket-result-card .meta {
        grid-template-columns: 1fr;
    }

    .openmarket-poster-row {
        grid-template-columns: 1fr;
    }
}

/* Exhibition open market redesign */
.openmarket-stage {
    position: relative;
    gap: 24px;
    padding: 34px;
    border-radius: 38px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(255, 205, 138, 0.18), transparent 28%),
        radial-gradient(circle at left 12%, rgba(69, 137, 255, 0.16), transparent 24%),
        linear-gradient(180deg, #fffdf8 0%, #f5f8ff 46%, #ffffff 100%);
    box-shadow: 0 28px 70px rgba(17, 40, 78, 0.08);
}

.sub-content.openmarket-stage-wide {
    width: min(1520px, calc(100vw - 48px));
    max-width: none;
    padding-left: 24px;
    padding-right: 24px;
}

.openmarket-stage::before,
.openmarket-stage::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    filter: blur(10px);
    pointer-events: none;
}

.openmarket-stage::before {
    top: -68px;
    right: -18px;
    width: 190px;
    height: 190px;
    background: radial-gradient(circle, rgba(255, 193, 112, 0.24) 0%, rgba(255, 193, 112, 0) 72%);
}

.openmarket-stage::after {
    bottom: -78px;
    left: -30px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(90, 146, 255, 0.2) 0%, rgba(90, 146, 255, 0) 74%);
}

.openmarket-stage > * {
    position: relative;
    z-index: 1;
}

.openmarket-stage-guide {
    background:
        radial-gradient(circle at top right, rgba(253, 202, 128, 0.18), transparent 30%),
        radial-gradient(circle at left 18%, rgba(87, 163, 255, 0.18), transparent 24%),
        linear-gradient(180deg, #fffdfa 0%, #f3f8ff 42%, #ffffff 100%);
}

.openmarket-stage-recruit {
    background:
        radial-gradient(circle at top left, rgba(117, 199, 255, 0.24), transparent 22%),
        radial-gradient(circle at bottom right, rgba(255, 204, 157, 0.18), transparent 30%),
        linear-gradient(180deg, #f8fcff 0%, #fffdf8 100%);
}

.openmarket-stage-check {
    background:
        radial-gradient(circle at top right, rgba(74, 144, 226, 0.16), transparent 26%),
        radial-gradient(circle at bottom left, rgba(255, 197, 133, 0.14), transparent 28%),
        linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.openmarket-stage-guidewide .omx-hero {
    grid-template-columns: minmax(0, 1.38fr) minmax(380px, 0.92fr);
}

.openmarket-stage-guidewide .omx-info-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
}

.openmarket-stage-guidewide .omx-feature-grid {
    grid-template-columns: 1.1fr 1fr 1fr;
}

.openmarket-stage-guidewide .omx-story-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
}

.omx-guide-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.omx-guide-strip-card {
    padding: 24px 22px;
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96)),
        #fff;
    border: 1px solid rgba(214, 225, 238, 0.92);
    box-shadow: 0 22px 48px rgba(13, 36, 72, 0.07);
}

.omx-guide-strip-card span {
    display: block;
    margin-bottom: 10px;
    color: #7890a5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.omx-guide-strip-card strong {
    display: block;
    margin-bottom: 10px;
    color: #123254;
    font-size: 20px;
    line-height: 1.45;
    letter-spacing: -0.03em;
}

.omx-guide-strip-card p {
    margin: 0;
    color: #557089;
    line-height: 1.75;
}

.openmarket-btn {
    min-width: auto;
    padding: 14px 22px;
    border-radius: 18px;
    border: 1px solid transparent;
    box-shadow: 0 12px 28px rgba(13, 38, 76, 0.08);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.openmarket-btn.primary {
    background: linear-gradient(135deg, #173d74 0%, #1a6fa2 55%, #27a3cf 100%);
}

.openmarket-btn.secondary {
    background: rgba(255, 255, 255, 0.82);
    color: #174573;
    border-color: rgba(23, 69, 115, 0.1);
}

.openmarket-btn.ghost {
    background: rgba(248, 250, 255, 0.92);
    color: #1b446a;
    border-color: #dbe6f1;
}

.omx-hero,
.omx-story-card,
.omx-editor-panel,
.omx-action-card,
.omx-search-hero,
.omx-search-board,
.process-card {
    border: 1px solid rgba(213, 225, 238, 0.92);
    border-radius: 32px;
    box-shadow: 0 24px 55px rgba(16, 36, 71, 0.08);
}

.omx-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) 320px;
    gap: 22px;
    padding: 34px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.95)),
        linear-gradient(135deg, #f9fbff 0%, #fffaf0 100%);
}

.omx-hero-guide {
    background:
        radial-gradient(circle at top left, rgba(244, 193, 118, 0.18), transparent 24%),
        linear-gradient(145deg, #ffffff 0%, #f9fbff 56%, #fef7ef 100%);
}

.omx-hero-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.omx-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(24, 70, 115, 0.08);
    color: #1d527f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.omx-hero-main h2,
.omx-poster-intro h2,
.omx-search-hero h2 {
    margin: 16px 0 14px;
    color: #112f51;
    font-size: clamp(31px, 4vw, 46px);
    line-height: 1.14;
    letter-spacing: -0.04em;
}

.omx-hero-main p,
.omx-poster-intro p,
.omx-search-hero p {
    margin: 0;
    color: #48627d;
    font-size: 16px;
    line-height: 1.9;
}

.omx-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.omx-chip-row span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(218, 228, 239, 0.92);
    color: #224b74;
    font-size: 14px;
    font-weight: 700;
    backdrop-filter: blur(12px);
}

.omx-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.omx-info-rail {
    display: grid;
    gap: 14px;
}

.omx-rail-card {
    padding: 20px 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(221, 230, 239, 0.92);
    backdrop-filter: blur(12px);
}

.omx-rail-card span {
    display: block;
    margin-bottom: 8px;
    color: #6d8094;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.omx-rail-card strong {
    display: block;
    color: #183758;
    font-size: 17px;
    line-height: 1.5;
    white-space: normal;
    word-break: keep-all;
}

.omx-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.omx-feature-card {
    position: relative;
    padding: 28px 24px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(217, 228, 239, 0.92);
    box-shadow: 0 20px 42px rgba(14, 34, 66, 0.07);
    overflow: hidden;
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.omx-feature-card::after {
    content: "";
    position: absolute;
    inset: auto -40px -54px auto;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(31, 161, 210, 0.15) 0%, rgba(31, 161, 210, 0) 72%);
}

.omx-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(14, 34, 66, 0.1);
    border-color: rgba(86, 151, 236, 0.28);
}

.omx-feature-card .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-bottom: 18px;
    border-radius: 20px;
    background: linear-gradient(145deg, #163f73 0%, #2f99c5 100%);
    color: #fff;
    font-size: 22px;
    box-shadow: 0 16px 28px rgba(27, 86, 153, 0.18);
}

.omx-feature-card h3,
.omx-story-head h3,
.omx-action-card h3 {
    margin: 0 0 12px;
    color: #112f51;
    font-size: 22px;
    line-height: 1.35;
    letter-spacing: -0.03em;
}

.omx-feature-card p,
.omx-story-list p,
.omx-action-card p,
.process-card p {
    margin: 0;
    color: #50677f;
    line-height: 1.85;
}

.omx-story-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.omx-story-card,
.omx-editor-panel {
    padding: 30px;
    background: rgba(255, 255, 255, 0.94);
}

.omx-story-card.primary {
    background:
        linear-gradient(150deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 240, 0.94)),
        #fff;
}

.omx-story-card.secondary {
    background:
        linear-gradient(150deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.96)),
        #fff;
}

.omx-story-head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
}

.omx-story-head span,
.omx-action-card .eyebrow {
    color: #7990a6;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.omx-story-list,
.omx-process-list,
.omx-check-list {
    display: grid;
    gap: 14px;
}

.omx-story-list .item,
.omx-process-list .step,
.omx-check-list div {
    padding: 18px 20px;
    border-radius: 22px;
    background: #f9fbfe;
    border: 1px solid #e2ebf4;
}

.omx-story-list strong {
    display: block;
    margin-bottom: 8px;
    color: #204a73;
    font-size: 14px;
    font-weight: 800;
}

.omx-process-list .step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.omx-process-list .step em,
.process-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: linear-gradient(145deg, #153d71 0%, #2f98c2 100%);
    color: #fff;
    font-style: normal;
    font-size: 14px;
    font-weight: 800;
    flex: 0 0 auto;
    box-shadow: 0 12px 24px rgba(19, 71, 126, 0.2);
}

.omx-process-list .step span {
    display: block;
    color: #294661;
    line-height: 1.7;
    padding-top: 6px;
}

.omx-editor-panel .openmarket-editor-content {
    color: #425a74;
    line-height: 1.95;
    font-size: 15px;
}

.omx-editor-panel .openmarket-editor-content p:first-child {
    margin-top: 0;
}

.omx-recruit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) 360px;
    gap: 22px;
    align-items: start;
}

.openmarket-stage-recruitwide {
    gap: 28px;
}

.sub-content.openmarket-stage-recruitwide {
    width: min(1440px, calc(100vw - 72px));
}

.omx-recruit-hero {
    display: block;
}

.openmarket-stage-recruitwide .omx-recruit-hero .omx-poster-shell-wide {
    width: min(100%, 1340px);
    margin-left: auto;
    margin-right: auto;
}

.omx-poster-shell-wide {
    padding: 38px 42px;
}

.omx-poster-topline {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 auto 20px;
}

.omx-poster-topline .item {
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(190, 219, 241, 0.95);
    text-align: center;
    backdrop-filter: blur(12px);
}

.omx-poster-topline .item span {
    display: block;
    margin-bottom: 8px;
    color: #67839c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.omx-poster-topline .item strong {
    display: block;
    color: #163857;
    font-size: 19px;
    line-height: 1.45;
    letter-spacing: -0.03em;
}

.openmarket-stage-recruitwide .omx-poster-intro {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.openmarket-stage-recruitwide .omx-poster-board .row {
    grid-template-columns: 182px minmax(0, 1fr);
}

.omx-recruit-support {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) 420px;
    gap: 20px;
}

.omx-poster-shell {
    position: relative;
    padding: 30px;
    border-radius: 34px;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #8ed0ff 0%, #d5eeff 44%, #f7fbff 100%);
    border: 1px solid rgba(168, 215, 247, 0.9);
    box-shadow: 0 28px 60px rgba(34, 88, 138, 0.12);
    overflow: hidden;
}

.omx-poster-shell::after {
    content: "";
    position: absolute;
    top: -46px;
    right: -46px;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.52) 0%, rgba(255, 255, 255, 0) 74%);
}

.omx-poster-intro {
    position: relative;
    z-index: 1;
    text-align: center;
    margin-bottom: 22px;
}

.omx-poster-intro span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #255384;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.omx-poster-intro h2 {
    margin-bottom: 10px;
}

.omx-poster-board {
    position: relative;
    z-index: 1;
    padding: 24px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.96);
    border: 4px solid #2b4f71;
    box-shadow: 0 22px 44px rgba(26, 69, 112, 0.12);
}

.omx-poster-board .row {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px dashed #d8e4ef;
}

.omx-poster-board .row:last-child {
    border-bottom: 0;
}

.omx-poster-board .label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 10px 14px;
    border-radius: 999px;
    background: linear-gradient(145deg, #60b4ff 0%, #4d84da 100%);
    color: #fff;
    font-weight: 800;
    font-size: 17px;
    letter-spacing: -0.02em;
    box-shadow: 0 14px 26px rgba(75, 132, 218, 0.2);
}

.omx-poster-board .value {
    padding: 8px 0;
    color: #1d3954;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.58;
    white-space: normal;
    word-break: keep-all;
}

.omx-poster-foot {
    position: relative;
    z-index: 1;
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.68);
    color: #23486f;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
    backdrop-filter: blur(12px);
}

.omx-action-stack {
    display: grid;
    gap: 18px;
}

.omx-action-card {
    padding: 28px;
    background: rgba(255, 255, 255, 0.95);
}

.omx-action-card.highlight {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 28%),
        linear-gradient(145deg, #173d74 0%, #14557d 52%, #1aa1b7 100%);
    color: #fff;
    border-color: rgba(35, 95, 149, 0.28);
}

.omx-action-card.highlight .eyebrow,
.omx-action-card.highlight h3,
.omx-action-card.highlight p {
    color: #fff;
}

.stack-actions {
    display: grid;
    gap: 18px;
    margin-top: 20px;
}

.stack-actions-primary {
    display: grid;
    gap: 12px;
}

.stack-actions-secondary {
    margin-top: 28px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(10, 31, 56, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.stack-actions-secondary .openmarket-btn {
    margin: 0;
}

.omx-quick-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.omx-quick-step {
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(10, 31, 56, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.omx-quick-step span {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.92);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.omx-quick-step strong {
    display: block;
    margin-top: 12px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
}

.omx-quick-step p {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.7;
    font-size: 14px;
}

.omx-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.omx-quick-actions.single {
    grid-template-columns: minmax(0, 1fr);
}

.omx-quick-action-link {
    width: 100%;
    min-height: 110px;
    margin: 0;
    padding: 18px 20px;
    border-radius: 22px;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 8px;
}

.omx-quick-action-link i {
    font-size: 20px;
}

.omx-quick-action-link span {
    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;
    text-align: left;
}

.omx-quick-action-link small {
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
    opacity: 0.88;
}

.omx-action-card.highlight .openmarket-btn.primary {
    background: #fff;
    color: #173d74;
}

.omx-action-card.highlight .openmarket-btn.secondary,
.omx-action-card.highlight .openmarket-btn.ghost {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.26);
    color: #fff;
}

.omx-check-list div {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #2f4b67;
    line-height: 1.7;
}

.omx-check-list i {
    color: #2499c1;
    font-size: 16px;
    margin-top: 3px;
}

.omx-process-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.process-card {
    padding: 26px 24px;
    background: rgba(255, 255, 255, 0.94);
    transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.process-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 46px rgba(14, 34, 66, 0.1);
}

.process-card span {
    margin-bottom: 18px;
}

.process-card strong {
    display: block;
    margin-bottom: 10px;
    color: #173452;
    font-size: 20px;
    letter-spacing: -0.03em;
}

.omx-search-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 30px 32px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.96)),
        #fff;
}

.omx-search-board {
    padding: 22px;
    background: rgba(255, 255, 255, 0.96);
}

.omx-search-grid {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) minmax(0, 1fr) minmax(270px, 1.1fr) 168px;
    gap: 14px;
    align-items: stretch;
}

.omx-search-cell {
    padding: 16px 18px;
    border-radius: 24px;
    background: #f8fbff;
    border: 1px solid #dfe8f3;
}

.omx-search-cell.small {
    max-width: 180px;
}

.omx-search-cell label {
    display: block;
    margin-bottom: 10px;
    color: #6f8397;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.omx-search-cell input {
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    color: #183758;
    font-size: 16px;
    font-weight: 700;
    outline: none;
}

.omx-search-cell input::placeholder {
    color: #9badbf;
    font-weight: 500;
}

.phone-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.phone-fields span {
    color: #90a1b2;
    text-align: center;
    font-weight: 800;
}

.omx-search-action {
    display: flex;
    align-items: stretch;
}

.omx-search-action .openmarket-btn {
    width: 100%;
    min-height: 100%;
    border-radius: 24px;
}

.omx-results-wrap {
    gap: 18px;
}

.omx-result-card {
    padding: 24px 24px 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96)),
        #fff;
    border-radius: 28px;
}

.omx-result-card .topline {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e4edf5;
}

.omx-result-card .topline strong {
    font-size: 24px;
    letter-spacing: -0.03em;
}

.omx-result-card .topline span {
    font-size: 14px;
    line-height: 1.6;
}

.omx-result-card .meta {
    gap: 14px;
}

.omx-result-card .meta div {
    border-radius: 22px;
    background: #fbfdff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.omx-result-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e4edf5;
}

.omx-result-actions p {
    margin: 0;
    color: #5f7388;
    line-height: 1.7;
    font-size: 14px;
}

.openmarket-status-chip {
    justify-content: center;
    min-width: 104px;
    border: 1px solid transparent;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.24);
}

.openmarket-status-chip.is-received {
    background: rgba(32, 103, 214, 0.1);
    color: #1f5cb9;
    border-color: rgba(32, 103, 214, 0.18);
}

.openmarket-status-chip.is-reviewing {
    background: rgba(18, 112, 189, 0.1);
    color: #1666a5;
    border-color: rgba(18, 112, 189, 0.18);
}

.openmarket-status-chip.is-warning {
    background: rgba(245, 158, 11, 0.16);
    color: #b96a05;
    border-color: rgba(245, 158, 11, 0.24);
}

.openmarket-status-chip.is-resubmitted {
    background: rgba(79, 70, 229, 0.1);
    color: #4b45b3;
    border-color: rgba(79, 70, 229, 0.18);
}

.openmarket-status-chip.is-approved {
    background: rgba(20, 184, 115, 0.12);
    color: #118157;
    border-color: rgba(20, 184, 115, 0.18);
}

.openmarket-status-chip.is-waitlisted {
    background: rgba(234, 88, 12, 0.12);
    color: #c45b16;
    border-color: rgba(234, 88, 12, 0.18);
}

.openmarket-status-chip.is-rejected {
    background: rgba(239, 68, 68, 0.1);
    color: #bf3030;
    border-color: rgba(239, 68, 68, 0.18);
}

.openmarket-empty {
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 255, 0.96)),
        #fff;
    box-shadow: 0 20px 44px rgba(16, 36, 71, 0.07);
    color: #5d748a;
}

.omx-hero,
.omx-feature-card,
.omx-story-card,
.omx-editor-panel,
.omx-poster-shell,
.omx-action-card,
.process-card,
.omx-search-hero,
.omx-search-board,
.omx-result-card {
    animation: omxFadeUp 0.6s ease both;
}

.omx-feature-card:nth-child(2),
.omx-story-card.secondary,
.omx-action-card:last-child,
.process-card:nth-child(2),
.process-card:nth-child(4),
.omx-result-card:nth-child(even) {
    animation-delay: 0.08s;
}

.omx-feature-card:nth-child(3),
.process-card:nth-child(3) {
    animation-delay: 0.14s;
}

@keyframes omxFadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1280px) {
    .sub-content.openmarket-stage-wide {
        width: min(1380px, calc(100vw - 32px));
        padding-left: 18px;
        padding-right: 18px;
    }

    .omx-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .omx-search-cell.small {
        max-width: none;
    }

    .omx-search-action {
        grid-column: 1 / -1;
    }

    .omx-guide-strip,
    .omx-recruit-support {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .openmarket-stage {
        padding: 26px;
        border-radius: 32px;
    }

    .omx-hero,
    .omx-recruit-grid,
    .omx-story-grid,
    .omx-process-band {
        grid-template-columns: 1fr;
    }

    .omx-info-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .openmarket-stage-guidewide .omx-hero {
        grid-template-columns: 1fr;
    }

    .omx-guide-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .sub-content.openmarket-stage-wide {
        width: calc(100vw - 20px);
        padding-left: 10px;
        padding-right: 10px;
    }

    .openmarket-stage {
        padding: 20px;
        gap: 18px;
        border-radius: 28px;
    }

    .omx-hero,
    .omx-story-card,
    .omx-editor-panel,
    .omx-search-hero,
    .omx-search-board,
    .omx-action-card,
    .process-card {
        padding: 22px;
        border-radius: 26px;
    }

    .omx-feature-grid,
    .omx-result-card .meta,
    .omx-info-rail,
    .omx-guide-strip,
    .omx-recruit-support {
        grid-template-columns: 1fr;
    }

    .omx-poster-shell {
        padding: 22px;
        border-radius: 28px;
    }

    .omx-poster-topline {
        grid-template-columns: 1fr;
    }

    .omx-poster-board {
        padding: 20px;
        border-radius: 24px;
    }

    .omx-poster-board .row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .omx-search-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .omx-search-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .omx-hero-main h2,
    .omx-poster-intro h2,
    .omx-search-hero h2 {
        font-size: 29px;
    }

    .omx-hero-actions,
    .stack-actions {
        display: grid;
    }

    .omx-quick-guide,
    .omx-quick-actions {
        grid-template-columns: 1fr;
    }

    .omx-hero-actions .openmarket-btn,
    .stack-actions .openmarket-btn,
    .omx-search-action .openmarket-btn {
        width: 100%;
    }

    .phone-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .phone-fields span {
        display: none;
    }

    .omx-result-card .topline {
        flex-direction: column;
        align-items: flex-start;
    }

    .omx-result-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* =========================================
   오픈마켓 모집안내 리디자인 (omr-*)
   ========================================= */

.omr-wrap {
    display: grid;
    gap: 28px;
    max-width: 1140px;
    margin: 0 auto;
    padding: 30px 20px 60px;
}

/* ① Hero Banner */
.omr-hero-banner {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(135deg, #0d2d55 0%, #1a5f82 55%, #1b93b0 100%);
    box-shadow: 0 18px 44px rgba(13, 45, 85, 0.24);
    padding: 36px 44px;
}

.omr-hero-banner::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.omr-hero-banner::after {
    content: "";
    position: absolute;
    bottom: -60px;
    left: -60px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(27,147,176,0.22) 0%, transparent 70%);
    pointer-events: none;
}

.omr-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.omr-hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.28);
    color: rgba(255,255,255,0.92);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.omr-hero-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.omr-hero-desc {
    margin: 0;
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    line-height: 1.85;
}

.omr-cta-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-top: 10px;
    padding: 20px 32px;
    border-radius: 18px;
    background: #ffffff;
    color: #0d2d55;
    text-decoration: none;
    box-shadow: 0 16px 38px rgba(0,0,0,0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.omr-cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 44px rgba(0,0,0,0.28);
    color: #0d2d55;
}

.omr-cta-btn i {
    font-size: 20px;
    margin-bottom: 2px;
    color: #1a6fa2;
}

.omr-cta-main {
    font-size: 19px;
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.omr-cta-sub {
    font-size: 13px;
    font-weight: 600;
    color: #4a7aa0;
}

/* ② Key Info Cards */
.omr-keyinfo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.omr-keyinfo-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 26px 28px;
    border-radius: 22px;
    border: 1px solid transparent;
    box-shadow: 0 16px 38px rgba(0,0,0,0.07);
    transition: transform 0.2s ease;
}

.omr-keyinfo-card:hover {
    transform: translateY(-3px);
}

.omr-keyinfo-card.kc-blue {
    background: linear-gradient(135deg, #eef5ff 0%, #dfeeff 100%);
    border-color: rgba(66, 133, 244, 0.18);
}

.omr-keyinfo-card.kc-gold {
    background: linear-gradient(135deg, #fff8ee 0%, #ffecd6 100%);
    border-color: rgba(245, 158, 11, 0.2);
}

.omr-keyinfo-card.kc-green {
    background: linear-gradient(135deg, #edfff5 0%, #d4f5e4 100%);
    border-color: rgba(16, 185, 100, 0.18);
}

.omr-keyinfo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 10px 22px rgba(0,0,0,0.1);
}

.kc-blue .omr-keyinfo-icon {
    background: linear-gradient(135deg, #1a5fcf 0%, #3b9ee5 100%);
    color: #fff;
}

.kc-gold .omr-keyinfo-icon {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%);
    color: #fff;
}

.kc-green .omr-keyinfo-icon {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    color: #fff;
}

.omr-keyinfo-body span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.kc-blue .omr-keyinfo-body span  { color: #1a5fcf; }
.kc-gold .omr-keyinfo-body span  { color: #b45309; }
.kc-green .omr-keyinfo-body span { color: #059669; }

/* =========================================
   오픈마켓 제출확인 리디자인 (omck-*)
   ========================================= */

.omck-wrap {
    display: grid;
    gap: 24px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 30px 20px 60px;
}

/* ① Hero */
.omck-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 40px 48px;
    border-radius: 24px;
    background: linear-gradient(135deg, #0d2d55 0%, #1a5f82 55%, #1b93b0 100%);
    box-shadow: 0 18px 44px rgba(13, 45, 85, 0.24);
    position: relative;
    overflow: hidden;
}

.omck-hero::before {
    content: "";
    position: absolute;
    top: -70px; right: -70px;
    width: 280px; height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.07) 0%, transparent 70%);
    pointer-events: none;
}

.omck-eyebrow {
    display: inline-flex;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.24);
    color: rgba(255,255,255,0.88);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.omck-hero-left h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.omck-hero-left p {
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.8;
}

.omck-apply-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 18px 28px;
    border-radius: 16px;
    background: #fff;
    color: #0d2d55;
    text-decoration: none;
    flex-shrink: 0;
    box-shadow: 0 14px 32px rgba(0,0,0,0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.omck-apply-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 38px rgba(0,0,0,0.22);
    color: #0d2d55;
}

.omck-apply-btn i {
    font-size: 18px;
    color: #1a6fa2;
    margin-bottom: 2px;
}

.omck-apply-main {
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.omck-apply-sub {
    font-size: 12px;
    font-weight: 600;
    color: #4a7aa0;
}

/* ② 검색 폼 */
.omck-search-card {
    background: #fff;
    border-radius: 22px;
    border: 1px solid #dde8f4;
    box-shadow: 0 14px 36px rgba(14, 36, 68, 0.07);
    padding: 32px 36px;
}

.omck-search-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 2px solid #eef2f8;
}

.omck-search-title i {
    font-size: 18px;
    color: #1a5fcf;
}

.omck-search-title strong {
    font-size: 17px;
    font-weight: 800;
    color: #112f51;
}

.omck-search-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.omck-fields {
    display: grid;
    grid-template-columns: 130px 1fr 1fr 1.4fr;
    gap: 14px;
    align-items: end;
}

.omck-fields-5col {
    grid-template-columns: 110px 1fr 1fr 1.3fr 1.3fr;
}

.omck-field-year input {
    width: 100%;
}

.omck-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.omck-field label {
    font-size: 12px;
    font-weight: 800;
    color: #6a839c;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.omck-field input {
    padding: 13px 16px;
    border: 1.5px solid #dde8f4;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
    color: #183758;
    background: #f8fbff;
    outline: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    font-family: inherit;
    width: 100%;
}

.omck-field input:focus {
    border-color: #4a90d9;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.14);
}

.omck-field input::placeholder {
    color: #a8bcd0;
    font-weight: 400;
}

.omck-phone-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.omck-phone-row input {
    flex: 1;
    text-align: center;
}

.omck-phone-sep {
    color: #8eaac4;
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
}

.omck-search-btn {
    align-self: flex-end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 40px;
    border-radius: 16px;
    border: none;
    background: linear-gradient(135deg, #0d2d55 0%, #1a6490 55%, #1b9ab5 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(13, 45, 85, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    font-family: inherit;
    width: fit-content;
}

.omck-search-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(13, 45, 85, 0.28);
}

/* ③ 결과 영역 */
.omck-results {
    display: grid;
    gap: 16px;
}

.omck-results-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    border-radius: 16px;
    background: #f0f7ff;
    border: 1px solid #d0e4f6;
}

.omck-results-head i {
    font-size: 18px;
    color: #1a5fcf;
}

.omck-results-head strong {
    font-size: 15px;
    font-weight: 700;
    color: #1d3d60;
}

.omck-results-head em {
    font-style: normal;
    color: #1a5fcf;
    font-weight: 900;
}

.omck-result-list {
    display: grid;
    gap: 16px;
}

/* 결과 카드 */
.omck-result-card {
    background: #fff;
    border-radius: 20px;
    border: 1px solid #dde8f4;
    box-shadow: 0 12px 32px rgba(14, 36, 68, 0.07);
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.omck-result-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(14, 36, 68, 0.11);
}

.omck-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 28px 18px;
    border-bottom: 1px solid #edf2f8;
}

.omck-card-names strong {
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: #0f2a47;
    letter-spacing: -0.03em;
}

.omck-card-names span {
    display: block;
    margin-top: 3px;
    font-size: 14px;
    color: #6a839c;
    font-weight: 500;
}

/* 상태 뱃지 */
.omck-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid transparent;
    flex-shrink: 0;
}

.omck-status-chip.is-received    { background: rgba(32,103,214,0.1);  color: #1f5cb9; border-color: rgba(32,103,214,0.2); }
.omck-status-chip.is-reviewing   { background: rgba(18,112,189,0.1);  color: #1666a5; border-color: rgba(18,112,189,0.2); }
.omck-status-chip.is-warning     { background: rgba(245,158,11,0.14); color: #b96a05; border-color: rgba(245,158,11,0.25); }
.omck-status-chip.is-resubmitted { background: rgba(79,70,229,0.1);   color: #4b45b3; border-color: rgba(79,70,229,0.2); }
.omck-status-chip.is-approved    { background: rgba(20,184,115,0.12); color: #118157; border-color: rgba(20,184,115,0.22); }
.omck-status-chip.is-waitlisted  { background: rgba(234,88,12,0.1);   color: #c45b16; border-color: rgba(234,88,12,0.2); }
.omck-status-chip.is-rejected    { background: rgba(239,68,68,0.1);   color: #bf3030; border-color: rgba(239,68,68,0.2); }

/* 메타 정보 그리드 */
.omck-card-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 4px 20px 8px;
}

.omck-meta-item {
    padding: 14px 10px;
    border-bottom: 1px solid #f0f4f9;
}

.omck-meta-item:nth-child(n+4) {
    border-bottom: none;
}

.omck-meta-item span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #8eaac4;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.omck-meta-item span i {
    font-size: 11px;
}

.omck-meta-item strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #183758;
    line-height: 1.4;
}

/* 수정 액션 영역 */
.omck-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 28px;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f2ff 100%);
    border-top: 1px solid #dbe9f6;
}

.omck-card-actions p {
    margin: 0;
    font-size: 13px;
    color: #3a6080;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.omck-card-actions p i {
    color: #1a5fcf;
    margin-top: 2px;
    flex-shrink: 0;
}

.omck-edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 22px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0d2d55 0%, #1a6490 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(13, 45, 85, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.omck-edit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(13, 45, 85, 0.28);
    color: #fff;
}

/* 빈 결과 */
.omck-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 60px 30px;
    background: #fff;
    border-radius: 22px;
    border: 1px solid #dde8f4;
    text-align: center;
}

.omck-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #eef5ff;
    color: #6a9fd8;
    font-size: 28px;
}

.omck-empty strong {
    font-size: 18px;
    font-weight: 800;
    color: #1d3d60;
}

.omck-empty p {
    margin: 0;
    font-size: 14px;
    color: #6a839c;
    line-height: 1.8;
}

/* 반응형 */
@media (max-width: 900px) {
    .omck-hero {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 28px;
    }

    .omck-apply-btn {
        width: 100%;
    }

    .omck-fields,
    .omck-fields-5col {
        grid-template-columns: 1fr 1fr;
    }

    .omck-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .omck-meta-item:nth-child(n+4) {
        border-bottom: 1px solid #f0f4f9;
    }

    .omck-meta-item:nth-child(n+5) {
        border-bottom: none;
    }
}

@media (max-width: 600px) {
    .omck-fields {
        grid-template-columns: 1fr;
    }

    .omck-search-card {
        padding: 22px 20px;
    }

    .omck-card-top {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px 20px 14px;
    }

    .omck-card-meta {
        grid-template-columns: 1fr;
        padding: 4px 14px 8px;
    }

    .omck-meta-item {
        border-bottom: 1px solid #f0f4f9;
    }

    .omck-meta-item:last-child {
        border-bottom: none;
    }

    .omck-card-actions {
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px;
    }

    .omck-edit-btn {
        justify-content: center;
    }
}

.omr-keyinfo-body strong {
    display: block;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
    color: #172f4d;
}

/* ③ 세부 안내 테이블 */
.omr-details {
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid #e2eaf4;
    box-shadow: 0 18px 44px rgba(14, 36, 68, 0.07);
    padding: 36px 40px;
}

.omr-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    padding-bottom: 20px;
    border-bottom: 2px solid #eef2f8;
}

.omr-section-head i {
    font-size: 22px;
    color: #1a5fcf;
}

.omr-section-head h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: #112f51;
    letter-spacing: -0.03em;
}

.omr-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.omr-detail-item {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 0;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #dde8f4;
    background: #f8fbff;
}

.omr-detail-wide {
    grid-column: 1 / -1;
}

.omr-detail-fee {
    background: linear-gradient(135deg, #fff9ee 0%, #fff3d6 100%);
    border-color: rgba(245, 158, 11, 0.25);
}

.omr-detail-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 18px 14px;
    background: linear-gradient(145deg, #1a4f82 0%, #2a85bf 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.01em;
    text-align: center;
    min-height: 62px;
}

.omr-detail-fee .omr-detail-label {
    background: linear-gradient(145deg, #b45309 0%, #f59e0b 100%);
}

.omr-detail-label i {
    font-size: 14px;
    opacity: 0.9;
}

.omr-detail-value {
    padding: 16px 20px;
    color: #1d3954;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.65;
    word-break: keep-all;
    display: flex;
    align-items: center;
}

.omr-detail-fee .omr-detail-value {
    color: #92400e;
    font-size: 18px;
    font-weight: 800;
}

.omr-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 22px;
    padding: 18px 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
    border: 1px solid rgba(66, 133, 244, 0.2);
    color: #1a4a7a;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.75;
}

.omr-note i {
    font-size: 18px;
    color: #2a7dd4;
    margin-top: 2px;
    flex-shrink: 0;
}

/* ④ 신청 방법 + 체크리스트 */
.omr-action-section {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) 380px;
    gap: 20px;
    align-items: start;
}

.omr-action-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.omr-step-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px 26px;
    border-radius: 22px;
    background: #f8fbff;
    border: 1px solid #dde8f4;
    box-shadow: 0 14px 32px rgba(14, 36, 68, 0.07);
    transition: transform 0.2s ease;
}

.omr-step-card:hover {
    transform: translateY(-3px);
}

.omr-step-card.omr-step-primary {
    background: linear-gradient(145deg, #0d2d55 0%, #1a6490 55%, #1b9ab5 100%);
    border-color: transparent;
    box-shadow: 0 20px 44px rgba(13, 45, 85, 0.25);
}

.omr-step-num {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    width: fit-content;
    background: rgba(26, 95, 181, 0.1);
    color: #1a5fcf;
}

.omr-step-primary .omr-step-num {
    background: rgba(255,255,255,0.18);
    color: #fff;
}

.omr-step-icon {
    font-size: 28px;
    color: #2a7dd4;
    margin: 4px 0;
}

.omr-step-primary .omr-step-icon {
    color: rgba(255,255,255,0.9);
}

.omr-step-card strong {
    font-size: 18px;
    font-weight: 800;
    color: #112f51;
    letter-spacing: -0.02em;
}

.omr-step-primary strong {
    color: #ffffff;
}

.omr-step-card p {
    margin: 0;
    font-size: 14px;
    color: #4e6a86;
    line-height: 1.7;
    flex: 1;
}

.omr-step-primary p {
    color: rgba(255,255,255,0.78);
}

.omr-step-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 6px;
    padding: 13px 20px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    background: rgba(26, 95, 181, 0.1);
    color: #1a5fcf;
    border: 1px solid rgba(26, 95, 181, 0.18);
    transition: all 0.2s ease;
}

.omr-step-btn:hover {
    background: rgba(26, 95, 181, 0.16);
    color: #1a5fcf;
}

.omr-step-btn-primary {
    background: #ffffff;
    color: #0d2d55;
    border-color: transparent;
    box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}

.omr-step-btn-primary:hover {
    background: #f0f6ff;
    color: #0d2d55;
}

.omr-checklist-card {
    padding: 28px 30px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid #e0eaf4;
    box-shadow: 0 16px 38px rgba(14, 36, 68, 0.07);
    height: 100%;
}

.omr-checklist-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 2px solid #eef2f8;
}

.omr-checklist-head i {
    font-size: 20px;
    color: #1a5fcf;
}

.omr-checklist-head h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #112f51;
}

.omr-checklist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.omr-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f5f9ff;
    border: 1px solid #dde8f4;
    font-size: 15px;
    font-weight: 600;
    color: #1d3954;
    line-height: 1.5;
}

.omr-checklist li i {
    color: #10b981;
    font-size: 16px;
    margin-top: 1px;
    flex-shrink: 0;
}

/* ⑤ 프로세스 밴드 */
.omr-process-band {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #ffffff;
    border-radius: 22px;
    border: 1px solid #dde8f4;
    box-shadow: 0 16px 38px rgba(14, 36, 68, 0.07);
    overflow: hidden;
}

.omr-process-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 32px 24px;
    background: #fff;
    transition: background 0.2s ease;
}

.omr-process-card:hover {
    background: #f3f8ff;
}

.omr-process-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(145deg, #0d2d55 0%, #2a85bf 100%);
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(13, 45, 85, 0.22);
}

.omr-process-card strong {
    font-size: 17px;
    font-weight: 800;
    color: #112f51;
    letter-spacing: -0.02em;
}

.omr-process-card p {
    margin: 0;
    font-size: 13px;
    color: #5a7490;
    line-height: 1.7;
}

.omr-process-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    color: #b0c4d8;
    font-size: 18px;
    background: #fff;
    border-left: 1px dashed #dde8f4;
    border-right: 1px dashed #dde8f4;
}

/* 반응형 */
@media (max-width: 1024px) {
    .omr-action-section {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .omr-keyinfo {
        grid-template-columns: 1fr;
    }

    .omr-detail-grid {
        grid-template-columns: 1fr;
    }

    .omr-detail-wide {
        grid-column: 1;
    }

    .omr-hero-banner {
        padding: 40px 28px;
    }

    .omr-process-band {
        flex-direction: column;
    }

    .omr-process-arrow {
        padding: 8px 0;
        border: none;
        border-top: 1px dashed #dde8f4;
        border-bottom: 1px dashed #dde8f4;
        transform: rotate(90deg);
        width: 40px;
        align-self: center;
        height: 36px;
    }

    .omr-details {
        padding: 24px 20px;
    }
}
