
:root{
    --lv-cocoa:#3d2924;
    --lv-gold:#d79b2b;
    --lv-gold-soft:#ffe29b;
    --lv-bg:#f4f4f3;
    --lv-card:#ffffff;
    --lv-line:#dedede;
    --lv-muted:#6f6f6f;
    --lv-chip:#ffffff;
}

.laso-vacancy-page{
    color:var(--lv-cocoa);
    background:#fff;
}

.laso-vacancy-shell{
    width:min(calc(100% - 56px),1320px);
    margin:0 auto;
}

.laso-vacancy-kicker{
    margin-bottom:20px;
    color:var(--lv-gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.laso-vacancy-hero{
    padding:150px 0 72px;
    background:#f7f1e9;
}

.laso-vacancy-hero h1{
    max-width:980px;
    margin:0;
    font-size:clamp(54px,7vw,94px);
    line-height:.94;
    letter-spacing:-.055em;
}

.laso-vacancy-board{
    padding:56px 0 100px;
    background:var(--lv-bg);
}

.laso-vacancy-layout{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:18px;
    align-items:start;
}

.laso-vacancy-sidebar{
    position:sticky;
    top:110px;
    padding:30px 22px;
    background:var(--lv-card);
    border-radius:18px;
}

.laso-vacancy-filter-group + .laso-vacancy-filter-group{
    margin-top:30px;
}

.laso-vacancy-filter-group h2{
    margin:0 0 16px;
    font-size:16px!important;
    line-height:1.25;
    letter-spacing:0;
}

.laso-vacancy-select-wrap{
    position:relative;
}

.laso-vacancy-select-wrap select{
    width:100%;
    height:52px;
    padding:0 46px 0 15px;
    appearance:none;
    border:1px solid #9e9e9e;
    border-radius:5px;
    background:#fff;
    color:#252525;
    font:inherit;
    cursor:pointer;
}

.laso-vacancy-select-caret{
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-54%);
    pointer-events:none;
    font-size:20px;
    color:#555;
}

.laso-vacancy-chips{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.laso-vacancy-chips--cities{
    margin-top:10px;
}

.laso-vacancy-chips a{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 12px;
    border:1px solid #d5d5d5;
    border-radius:5px;
    background:var(--lv-chip);
    color:#333;
    font-size:13px;
    line-height:1.2;
    text-decoration:none;
    transition:.2s ease;
}

.laso-vacancy-chips a:hover,
.laso-vacancy-chips a.is-active{
    border-color:var(--lv-gold);
    background:#fff8e7;
    color:#2f211d;
}

.laso-vacancy-chip-placeholder{
    color:#9a9a9a;
    font-size:13px;
}

.laso-vacancy-clear{
    display:inline-flex;
    margin-top:30px;
    color:var(--lv-cocoa);
    font-size:13px;
    font-weight:700;
    text-decoration:underline;
}

.laso-vacancy-results{
    min-width:0;
}

.laso-vacancy-results-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:16px;
    padding:0 4px;
}

.laso-vacancy-results-head strong{
    font-size:17px;
}

.laso-vacancy-results-head span{
    display:inline-flex;
    min-width:34px;
    height:34px;
    padding:0 10px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--lv-cocoa);
    color:#fff;
    font-size:13px;
    font-weight:800;
}

.laso-vacancy-cards{
    display:grid;
    gap:16px;
}

.laso-vacancy-ref-card{
    position:relative;
    background:var(--lv-card);
    border-radius:16px;
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
}

.laso-vacancy-ref-card:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 24px rgba(44,35,31,.06);
}

.laso-vacancy-ref-card__body{
    display:block;
    padding:24px 66px 24px 24px;
    color:inherit;
    text-decoration:none;
}

.laso-vacancy-ref-card h2{
    max-width:820px;
    margin:0 0 17px;
    font-size:clamp(24px,2.35vw,34px)!important;
    line-height:1.02;
    letter-spacing:.025em;
    color:#111;
}

.laso-vacancy-company{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    margin-bottom:18px;
    padding:4px 10px;
    border-radius:4px;
    background:#f3f3f3;
    color:#454545;
    font-size:13px;
    line-height:1.1;
}

.laso-vacancy-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:16px 28px;
    align-items:center;
}

.laso-vacancy-card-meta > div{
    display:inline-flex;
    align-items:center;
    gap:9px;
}

.laso-vacancy-card-meta strong{
    color:#242424;
    font-size:14px;
    line-height:1.25;
}

.laso-vacancy-meta-icon{
    display:inline-flex;
    width:32px;
    height:32px;
    flex:0 0 32px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--lv-gold-soft);
}

.laso-vacancy-meta-icon svg{
    width:18px;
    height:18px;
    fill:#2e2e2e;
}

.laso-vacancy-share{
    position:absolute;
    top:18px;
    right:18px;
    display:flex;
    width:36px;
    height:36px;
    padding:0;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:transparent;
    cursor:pointer;
}

.laso-vacancy-share:hover{
    background:#f3f3f3;
}

.laso-vacancy-share svg{
    width:19px;
    height:19px;
    fill:#111;
}

.laso-vacancy-share.is-copied:after{
    content:"Скопійовано";
    position:absolute;
    top:42px;
    right:0;
    padding:5px 8px;
    border-radius:5px;
    background:#222;
    color:#fff;
    font-size:11px;
    white-space:nowrap;
}

.laso-vacancy-empty{
    padding:40px 28px;
    border-radius:16px;
    background:#fff;
    color:var(--lv-muted);
}

/* single vacancy stays compatible with v1.1 */
.laso-vacancy-detail{
    color:var(--lv-cocoa);
    background:#fff;
}
.laso-vacancy-detail__hero{
    padding:132px 0 76px;
    background:#f7f1e9;
}
.laso-vacancy-back{
    display:inline-block;
    margin-bottom:54px;
    color:var(--lv-cocoa);
    text-decoration:none;
    font-weight:700;
}
.laso-vacancy-detail__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);
    gap:9vw;
    align-items:end;
}
.laso-vacancy-detail__hero h1{
    max-width:980px;
    margin:0;
    font-size:clamp(54px,7vw,98px);
    line-height:.93;
    letter-spacing:-.055em;
}
.laso-vacancy-detail__employment{margin-top:26px;font-size:18px;font-weight:700}
.laso-vacancy-detail__side{display:grid;gap:26px;padding-top:16px;border-top:1px solid rgba(59,43,39,.16)}
.laso-vacancy-detail__side span{display:block;margin-bottom:5px;color:rgba(59,43,39,.67);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.laso-vacancy-detail__side strong{display:block;font-size:15px;line-height:1.35}
.laso-vacancy-detail__body{padding:86px 0 120px}
.laso-vacancy-detail__body-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:8vw;align-items:start}
.laso-vacancy-detail__lead{max-width:850px;margin-bottom:52px;color:rgba(59,43,39,.67);font-size:20px;line-height:1.7}
.laso-vacancy-detail__section{padding:42px 0;border-top:1px solid rgba(59,43,39,.16)}
.laso-vacancy-detail__section h2{margin:0 0 26px;font-size:clamp(32px,3vw,48px)!important;line-height:1.05;letter-spacing:-.04em}
.laso-vacancy-detail__section p{line-height:1.75}
.laso-vacancy-detail__bullets{display:grid;gap:13px;margin:0;padding:0;list-style:none}
.laso-vacancy-detail__bullets li{position:relative;padding-left:24px;color:rgba(59,43,39,.67);font-size:17px;line-height:1.62}
.laso-vacancy-detail__bullets li:before{content:"";position:absolute;top:.72em;left:0;width:7px;height:7px;border-radius:50%;background:var(--lv-gold)}
.laso-vacancy-detail__apply{position:sticky;top:110px}
.laso-vacancy-detail__apply-card{padding:32px;background:var(--lv-cocoa);color:#fff}
.laso-vacancy-detail__apply-card > span{color:#e3b55e;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.laso-vacancy-detail__apply-card h3{margin:12px 0 14px;color:#fff!important;font-size:34px!important;line-height:1.05}
.laso-vacancy-detail__apply-card p{margin:0 0 24px;color:rgba(255,255,255,.72);line-height:1.55}
.laso-vacancy-detail__apply-card a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;background:#fff;color:var(--lv-cocoa);text-decoration:none;font-weight:700}
.laso-vacancy-detail__apply-card small{display:block;margin-top:15px;color:rgba(255,255,255,.62)}

@media(max-width:980px){
    .laso-vacancy-layout{
        grid-template-columns:1fr;
    }
    .laso-vacancy-sidebar{
        position:static;
    }
    .laso-vacancy-detail__hero-grid,
    .laso-vacancy-detail__body-grid{
        grid-template-columns:1fr;
        gap:48px;
    }
    .laso-vacancy-detail__apply{
        position:static;
    }
}

@media(max-width:680px){
    .laso-vacancy-shell{
        width:calc(100% - 28px);
    }
    .laso-vacancy-hero{
        padding:122px 0 52px;
    }
    .laso-vacancy-hero h1,
    .laso-vacancy-detail__hero h1{
        font-size:52px;
    }
    .laso-vacancy-board{
        padding:34px 0 70px;
    }
    .laso-vacancy-sidebar{
        padding:24px 18px;
        border-radius:14px;
    }
    .laso-vacancy-ref-card{
        border-radius:14px;
    }
    .laso-vacancy-ref-card__body{
        padding:22px 54px 22px 18px;
    }
    .laso-vacancy-ref-card h2{
        font-size:25px!important;
    }
    .laso-vacancy-card-meta{
        display:grid;
        gap:12px;
    }
    .laso-vacancy-share{
        top:14px;
        right:12px;
    }
    .laso-vacancy-detail__hero{
        padding:116px 0 56px;
    }
    .laso-vacancy-detail__body{
        padding:58px 0 84px;
    }
}

/* LASO — vacancy sidebar actions */
.laso-vacancy-sidebar-actions{
    margin-top:32px;
    display:grid;
    gap:18px;
}

.laso-vacancy-sidebar-action{
    padding:26px 24px;
    background:#3B2B27;
    color:#fff;
    border-radius:18px;
}

.laso-vacancy-sidebar-action__eyebrow{
    margin-bottom:10px;
    color:#D99E36;
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.laso-vacancy-sidebar-action h3{
    margin:0 0 10px;
    color:#fff;
    font-size:24px;
    line-height:1.05;
    font-weight:700;
}

.laso-vacancy-sidebar-action p{
    margin:0 0 20px;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.55;
}

.laso-vacancy-sidebar-action__button{
    display:flex;
    width:100%;
    min-height:50px;
    padding:0 18px;
    align-items:center;
    justify-content:center;
    border:1px solid #fff;
    background:#fff;
    color:#3B2B27;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.laso-vacancy-sidebar-action__button:hover,
.laso-vacancy-sidebar-action__button:focus-visible{
    background:#D99E36;
    border-color:#D99E36;
    color:#3B2B27;
    transform:translateY(-2px);
}

.laso-vacancy-sidebar-action__button--outline{
    background:transparent;
    color:#fff;
}

.laso-vacancy-sidebar-action__button--outline:hover,
.laso-vacancy-sidebar-action__button--outline:focus-visible{
    background:#fff;
    border-color:#fff;
    color:#3B2B27;
}

@media(max-width:900px){
    .laso-vacancy-sidebar-actions{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .laso-vacancy-sidebar-actions{
        grid-template-columns:1fr;
    }

    .laso-vacancy-sidebar-action{
        padding:24px 20px;
    }
}

/* LASO — sidebar actions size/overflow fix */
.laso-vacancy-sidebar-actions,
.laso-vacancy-sidebar-actions *,
.laso-vacancy-sidebar-action,
.laso-vacancy-sidebar-action *{
    box-sizing:border-box;
}

.laso-vacancy-sidebar-actions{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
}

.laso-vacancy-sidebar-action{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    padding:24px;
}

.laso-vacancy-sidebar-action h3{
    margin:0 0 12px !important;
    font-size:26px !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
    overflow-wrap:anywhere;
}

.laso-vacancy-sidebar-action__eyebrow{
    font-size:11px !important;
}

.laso-vacancy-sidebar-action p{
    max-width:100%;
    font-size:14px !important;
    line-height:1.5 !important;
    overflow-wrap:anywhere;
}

.laso-vacancy-sidebar-action__button{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:0 14px;
    box-sizing:border-box;
}

@media(max-width:640px){
    .laso-vacancy-sidebar-action h3{
        font-size:24px !important;
    }
}
