/*
 * Candidate-only detail-page styling. The page uses the common GCK2026
 * header and existing theme typography; these rules add spacing, grouping,
 * responsive dates, and the approved banner ratio without changing copy.
 */
.robot-detail-page {
    padding-top: 150px;
    padding-bottom: 48px;
    font-size: 18px;
    line-height: 1.7;
}

.robot-detail-page h1.headline {
    margin: 0 auto 24px;
    padding: 24px 30px;
    color: #fff;
    background: #333;
    border-top: 6px solid #cd4275;
    font-size: 28px;
    line-height: 1.5;
    text-align: center;
}

.robot-detail-page .robot-detail-section {
    padding-top: 0;
    margin: 0 auto 40px;
}

.robot-detail-page .robot-detail-section .container {
    width: calc(100% - 48px);
    max-width: 1200px;
    padding-top: 24px;
    color: #333;
    font-family: tbudgothic-std, sans-serif;
    font-style: normal;
}

.robot-detail-page .robot-detail-hero .container {
    padding: 26px 30px;
    background: #fffdf1;
    box-shadow: 6px 6px #1e467f;
}

.robot-detail-page .robot-detail-banner {
    width: min(100%, 1000px);
    margin: 0 auto 28px;
    padding: 0;
    overflow: hidden;
    background: #f2f2ed;
    box-shadow: 6px 6px #1e467f;
}

.robot-detail-page .robot-detail-banner img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1729 / 910;
    object-fit: contain;
}

.robot-detail-page .content-txt {
    max-width: 1000px;
    margin: 0 auto 18px;
    padding: 0;
    font-size: 18px;
    line-height: 1.7;
    text-align: left;
}

.robot-detail-page .headline02 {
    max-width: 1000px;
    margin: 24px auto 12px;
    padding: 0;
    text-align: left;
}

.robot-detail-page h2.headline {
    min-width: 0;
}

.robot-detail-page h2.headline span {
    padding: 18px 24px 18px 90px;
    background-size: 64px;
    font-size: 24px;
}

.robot-detail-page h3.headline02 span {
    padding: 8px 16px;
    border-width: 3px;
    font-size: 24px;
    line-height: 1.5;
}

.robot-detail-page .robot-detail-section:not(.robot-detail-hero) .container {
    padding: 26px 30px;
    background: #fffdf1;
    border-top: 6px solid #cd4275;
    box-shadow: 6px 6px #1e467f;
}

.robot-detail-page .robot-detail-dates {
    display: grid;
    grid-template-columns: minmax(11em, 0.35fr) minmax(0, 1fr);
    gap: 8px 20px;
    max-width: 1000px;
    margin: 18px auto 22px;
    padding: 18px 20px;
    color: #333;
    background: #f2f2ed;
    line-height: 1.6;
}

.robot-detail-page .robot-detail-dates dt {
    margin: 0;
    font-weight: 700;
}

.robot-detail-page .robot-detail-dates dd {
    margin: 0;
}

.robot-detail-page a:not(.btn) {
    color: #1e467f;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.robot-detail-page .content-footer-btn {
    padding-top: 20px;
    text-align: center;
}

.robot-detail-page .content-footer-btn .btn {
    max-width: calc(100% - 24px);
    font-size: 18px;
}

.robot-detail-page .content-footer-btn .btn span {
    width: auto;
    min-width: 240px;
    padding: 14px 24px;
    white-space: normal;
}

@media screen and (max-width: 909px) {
    .robot-detail-page {
        padding-top: 64px;
        padding-bottom: 8vw;
        font-size: 16px;
    }

    .robot-detail-page h1.headline {
        padding: 5vw 12vw 5vw 5vw;
        font-size: 22px;
        text-align: left;
    }

    .robot-detail-page .robot-detail-section {
        margin-bottom: 8vw;
    }

    .robot-detail-page .robot-detail-section .container,
    .robot-detail-page .robot-detail-section:not(.robot-detail-hero) .container {
        width: calc(100% - 24px);
        padding: 5vw;
    }

    .robot-detail-page .robot-detail-banner {
        margin-bottom: 5vw;
        box-shadow: 1.6vw 1.6vw #1e467f;
    }

    .robot-detail-page .content-txt {
        margin-bottom: 4vw;
        font-size: 16px;
    }

    .robot-detail-page .headline02 {
        margin: 6vw auto 2vw;
    }

    .robot-detail-page h2.headline span {
        padding: 14px 48px 14px 64px;
        background-size: 48px;
        font-size: 20px;
    }

    .robot-detail-page h3.headline02 span {
        padding: 8px 12px;
        font-size: 20px;
    }

    .robot-detail-page .robot-detail-dates {
        grid-template-columns: 1fr;
        gap: 1vw;
        margin: 4vw auto;
        padding: 4vw;
    }

    .robot-detail-page .robot-detail-dates dd {
        margin-bottom: 2vw;
    }

    .robot-detail-page .content-footer-btn .btn {
        font-size: 16px;
    }

    .robot-detail-page .content-footer-btn .btn span {
        min-width: 0;
        padding: 12px 16px;
    }
}
