/* Rekry-sivun oma tyylitiedosto. Kaikki säännöt on scopetettu .rekry-elementin alle,
   jotta style_rekry.css pysyy koskemattomana muille sitä käyttäville sivuille
   (tietoa-meista, yhteystiedot, tietosuoja, kayttoehdot, hieronta-helsinki, hieronta-espoo). */

.rekry {
    --rekry-peach: #ffc8a3;
    --rekry-measure: 620px;
    /* Ei automaattista tavutusta: suomen yhdyssanat katkesivat rumasti kesken sanan.
       overflow-wrap varmistaa, ettei poikkeuksellisen pitkä sana silti karkaa laatikosta. */
    hyphens: manual;
    overflow-wrap: break-word;
}

/* style_rekry.css muuttaa .simple-contentin isoilla näytöillä kaksisarakkeiseksi
   gridiksi, jossa on kiinteät sijainnit vanhoille id:ille. Palautetaan pystysuora
   virta, jotta uusi rakenne asettuu järjestyksessä. */
.rekry .simple-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* --- Otsikko --- */

/* Otsikkopalkki reunasta reunaan kuten muillakin sivuilla: width:100% + .simple-contentin
   sivupehmuste työnsi sen aiemmin yli näytön, joten leveys tulee venytyksestä ja
   pehmuste kumotaan negatiivisilla marginaaleilla. */
.rekry .simple-title {
    box-sizing: border-box;
    width: auto;
    align-self: stretch;
    margin-left: -25px;
    margin-right: -25px;
    padding-bottom: 80px;
}

.rekry-eyebrow {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--rekry-peach) !important;
    margin-bottom: 14px;
}

.rekry .simple-title h1 {
    text-align: center;
    max-width: 700px;
}

.rekry .simple-title > p:last-child {
    max-width: 420px;
}

/* --- Valokuva --- */

.rekry-split {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rekry-split-media {
    width: 100%;
    max-width: 860px;
    /* .simple-title on position:relative (style_rekry.css, 427px ylöspäin), joten se
       maalautuisi staattisen kuvan päälle ja peittäisi yläkulmien pyöristyksen.
       Oma pinoamiskonteksti pitää kuvan aina päällimmäisenä. */
    position: relative;
    z-index: 1;
}

.rekry-split-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rekry-photo {
    width: 100%;
    margin: 0;
}

    /* Pyöristys ja varjo suoraan kuvaan: figuren overflow:hidden -leikkaus jätti
       kulmia leikkaamatta ja hajosi selaimen zoomatessa (esim. 110 %). */
    .rekry-photo img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 26px;
        box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
    }

/* --- Hakutilanne --- */

.rekry-status {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: 40px;
}

    .rekry-status .larger {
        margin-bottom: 10px !important;
    }

/* style.css:n yleinen linkkiväri voittaa .new-buttonin mustan tekstin. */
.rekry .new-button {
    color: #000;
}

.rekry-deadline {
    color: rgba(255, 255, 255, .75) !important;
    margin-bottom: 24px;
}

    .rekry-deadline span {
        font-weight: 700;
        color: #fff;
    }

/* Kevyet pillerit samalla kaavalla kuin tietoa-meista-sivun sijaintilinkeissä. */
.rekry-pills {
    list-style: none;
    margin: 30px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 860px;
}

    .rekry-pills li {
        font-family: 'Comfortaa';
        font-weight: 300;
        font-size: 15px;
        line-height: 1;
        color: #fff;
        border: 1px solid rgba(255, 255, 255, .16);
        background: rgba(255, 255, 255, .06);
        border-radius: 999px;
        padding: 12px 18px;
    }

/* --- Tekstiosiot --- */

.rekry-text {
    width: 100%;
    max-width: var(--rekry-measure);
    margin: 56px auto 0;
    text-align: center;
}

    .rekry-text h2 {
        margin-bottom: 20px;
    }

    .rekry-text p {
        margin-bottom: 20px;
    }

        .rekry-text p:last-child {
            margin-bottom: 0;
        }

    .rekry-text a {
        color: var(--rekry-peach);
    }

.rekry-subtitle {
    font-family: 'Comfortaa';
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    text-align: center;
    margin-top: 36px;
    margin-bottom: 20px;
}

.rekry .eho-smile {
    margin-top: 56px;
    margin-bottom: 0;
}

/* --- Toivelista --- */

.rekry-check-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 520px;
    text-align: left;
}

    .rekry-check-list li {
        position: relative;
        font-family: 'Comfortaa';
        font-weight: 300;
        font-size: 17px;
        line-height: 26px;
        color: #fff;
        padding-left: 32px;
        margin-bottom: 14px;
    }

        .rekry-check-list li:last-child {
            margin-bottom: 0;
        }

        .rekry-check-list li:before {
            content: '';
            position: absolute;
            left: 0;
            top: 8px;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--rekry-peach);
        }

/* --- Vihreä laatikko (alkuperäinen #offering-komponentti) --- */

.rekry #offering {
    margin: 56px 0 0;
    width: 100%;
    max-width: 860px;
}

    .rekry #offering h2 {
        margin-bottom: 10px;
    }

    .rekry #offering li {
        height: auto;
        margin-top: 20px;
        margin-bottom: 20px;
    }

/* style_rekry.css asettaa #offering ul:lle flex/grid-asettelun ikonilistaa varten.
   Kumotaan se laatikon sisällä olevalta tekstilistalta. */
.rekry #offering .rekry-check-list {
    display: block;
    margin: 10px auto 0;
    padding: 0;
    grid-template-columns: none;
}

    .rekry #offering .rekry-check-list li {
        display: list-item;
        align-items: initial;
        text-align: left;
        max-width: none;
        height: auto;
        margin-top: 0;
        margin-bottom: 14px;
    }

        .rekry #offering .rekry-check-list li:last-child {
            margin-bottom: 0;
        }

/* Pyöreä persikkapalkki: alkuperäinen 500px säde vääristyy pidemmällä tekstillä. */
.rekry .max-rounded {
    border-radius: 30px;
    max-width: 620px;
    margin-top: 40px;
    margin-bottom: 0;
}

/* --- Lomake --- */

.rekry #user-details {
    width: 100%;
    max-width: 560px;
    margin: 30px auto 0;
    /* .green-boxin 21px sivupehmuste leveni yli näytön ilman border-boxia. */
    box-sizing: border-box;
}

.rekry-fieldset {
    border: 0;
    padding: 0;
    margin: 0 0 24px;
}

    .rekry-fieldset legend {
        padding: 0;
        margin-bottom: 12px;
    }

.rekry-choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rekry-choice input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

/* Kumotaan style_rekry.css:n globaali checkbox-laatikko näiden pillereiden osalta. */
.rekry-choice input[type=checkbox] + label:before,
.rekry-choice input[type=radio] + label:before {
    content: none;
    display: none;
}

.rekry-choice label {
    display: inline-block;
    font-family: 'Comfortaa';
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    padding: 12px 18px;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

    .rekry-choice label:hover {
        border-color: var(--rekry-peach);
    }

.rekry-choice input:checked + label {
    background: linear-gradient(108deg, #FFC99F, #F6CAA8);
    border-color: #FFECDD;
    color: #000;
}

.rekry-choice input:focus-visible + label {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.rekry-cv-note {
    font-size: 15px !important;
    line-height: 23px !important;
    color: rgba(255, 255, 255, .75) !important;
    text-align: center;
    margin-top: 4px;
    margin-bottom: 0 !important;
}

    .rekry-cv-note a {
        color: var(--rekry-peach);
    }

.rekry-signoff {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

    .rekry-signoff p {
        margin-bottom: 12px;
    }

@media screen and (min-width: 768px) {
    .rekry .simple-title {
        margin-left: -50px;
        margin-right: -50px;
    }

    .rekry-split-media {
        margin-top: -30px;
    }

    .rekry-text {
        margin-top: 72px;
    }

    .rekry #offering,
    .rekry .eho-smile {
        margin-top: 72px;
    }

    .rekry #offering li {
        max-width: 300px;
    }
}

/* --- Työpöytä: kuva kiinnittyy vasempaan palstaan, sisältö vierii oikealla --- */

@media screen and (min-width: 1100px) {
    .rekry .simple-content {
        padding-left: 60px;
        padding-right: 60px;
        align-items: stretch;
    }

    .rekry .simple-title {
        margin-left: -60px;
        margin-right: -60px;
    }

    .rekry-split {
        display: grid;
        grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
        gap: 56px;
        align-items: start;
        max-width: 1400px;
        margin: 0 auto;
    }

    .rekry-split-media {
        position: sticky;
        top: 120px;
        height: calc(100vh - 160px);
        max-width: none;
        /* Ei negatiivista siirtoa: kuva menisi otsikon ingressin päälle. */
        margin-top: 0;
    }

    .rekry-photo,
    .rekry-photo picture {
        display: block;
        height: 100%;
    }

        .rekry-photo img {
            height: 100%;
            object-fit: cover;
            object-position: center 45%;
        }

    .rekry-split-body > *:first-child {
        margin-top: 0;
    }

    /* Palstassa ei ole tilaa 860px:n laatikoille. */
    .rekry #offering,
    .rekry .rekry-photo {
        max-width: none;
    }
}
