
:root{
    --jh-bg:#f4efe8;
    --jh-card:#ffffff;
    --jh-dark:#171717;
    --jh-text:#2d2d2d;
    --jh-muted:#6f6b66;
    --jh-orange:#d88922;
    --jh-orange-2:#efb354;
    --jh-line:rgba(40,32,24,.10);
}

body.jh-opret-adgang-page{
    background:var(--jh-bg);
}

body.jh-opret-adgang-page .entry-header,
body.jh-opret-adgang-page .page-header{
    display:none !important;
}

body.jh-opret-adgang-page .entry-content,
body.jh-opret-adgang-page .site-main,
body.jh-opret-adgang-page #content{
    max-width:none !important;
}

.jh-access-kicker{
    display:inline-block;
    font-size:12px;
    font-weight:800;
    letter-spacing:.14em;
    color:var(--jh-orange);
}

.jh-access-hero,
.jh-access-intro,
.jh-access-form-shell,
.jh-access-reassurance,
.jh-access-final{
    width:min(1180px,calc(100% - 28px));
    margin:34px auto;
    box-sizing:border-box;
}

.jh-access-hero{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    padding:clamp(30px,5vw,62px);
    border-radius:30px;
    background:
        radial-gradient(circle at 84% 15%,rgba(216,137,34,.18),transparent 28%),
        linear-gradient(135deg,#f9f4ee,#eadfd3);
}

.jh-access-hero h1{
    margin:12px 0 18px;
    max-width:760px;
    font-size:clamp(44px,6.5vw,82px);
    line-height:.96;
    letter-spacing:-.055em;
    color:var(--jh-dark);
}

.jh-access-hero p{
    max-width:760px;
    color:#55514c;
    font-size:18px;
    line-height:1.75;
}

.jh-access-lead{
    font-size:21px !important;
    color:#35312d !important;
}

.jh-access-trust-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:28px;
}

.jh-access-trust-row>div{
    padding:16px;
    border-radius:16px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.8);
}

.jh-access-trust-row strong,
.jh-access-trust-row span{
    display:block;
}

.jh-access-trust-row strong{
    color:var(--jh-dark);
}

.jh-access-trust-row span{
    margin-top:4px;
    font-size:13px;
    color:var(--jh-muted);
}

.jh-access-hero-card{
    padding:28px;
    border-radius:24px;
    background:var(--jh-dark);
    color:#fff;
    align-self:stretch;
}

.jh-access-card-label{
    color:var(--jh-orange-2);
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
}

.jh-access-hero-card h2{
    margin:10px 0 14px;
    color:#fff;
    font-size:36px;
    line-height:1.02;
    letter-spacing:-.04em;
}

.jh-access-hero-card>p{
    color:rgba(255,255,255,.70);
    font-size:16px;
}

.jh-access-card-note{
    display:flex;
    gap:12px;
    align-items:center;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.09);
}

.jh-access-card-note:first-of-type{
    margin-top:24px;
}

.jh-access-card-note span{
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    background:linear-gradient(145deg,var(--jh-orange),var(--jh-orange-2));
    color:#fff;
    font-weight:800;
}

.jh-access-card-note p{
    margin:0;
    color:#fff;
    font-size:15px;
}

.jh-access-intro{
    padding:clamp(30px,5vw,56px);
    border-radius:28px;
    background:#fff;
    border:1px solid var(--jh-line);
}

.jh-access-intro-copy{
    max-width:900px;
}

.jh-access-intro h2,
.jh-access-form-heading h2,
.jh-access-reassurance h2,
.jh-access-final h2{
    margin:10px 0 16px;
    font-size:clamp(38px,5vw,62px);
    line-height:1;
    letter-spacing:-.05em;
    color:var(--jh-dark);
}

.jh-access-intro p,
.jh-access-form-heading p,
.jh-access-reassurance p,
.jh-access-final p{
    font-size:18px;
    line-height:1.8;
    color:var(--jh-muted);
}

.jh-access-intro-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:28px;
}

.jh-access-intro-grid article{
    min-height:250px;
    padding:24px;
    border-radius:22px;
    background:#f8f5f1;
}

.jh-access-intro-grid article.is-warm{
    background:linear-gradient(145deg,#fff7ed,#f3d7ae);
}

.jh-access-intro-grid article.is-dark{
    background:var(--jh-dark);
    color:#fff;
}

.jh-access-intro-grid article>span{
    color:var(--jh-orange);
    font-weight:800;
    letter-spacing:.12em;
    font-size:12px;
}

.jh-access-intro-grid h3{
    margin:48px 0 12px;
    font-size:28px;
    line-height:1.05;
    letter-spacing:-.035em;
}

.jh-access-intro-grid p{
    font-size:16px;
    line-height:1.65;
}

.jh-access-intro-grid .is-dark p{
    color:rgba(255,255,255,.68);
}

.jh-access-form-shell{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:18px;
    align-items:start;
}

.jh-access-form-heading{
    padding:34px;
    border-radius:26px;
    background:linear-gradient(145deg,#f7eadc,#eed4b7);
    position:sticky;
    top:110px;
}

.jh-access-form-card{
    padding:clamp(24px,4vw,42px);
    border-radius:26px;
    background:#fff;
    border:1px solid var(--jh-line);
    box-shadow:0 18px 50px rgba(37,28,20,.06);
}

/* Generic form beautification without changing plugin functionality */
.jh-access-form-card form{
    display:grid;
    gap:16px;
}

.jh-access-form-card label{
    display:block;
    margin-bottom:6px;
    color:var(--jh-dark);
    font-weight:700;
}

.jh-access-form-card input[type="text"],
.jh-access-form-card input[type="email"],
.jh-access-form-card input[type="password"],
.jh-access-form-card input[type="tel"],
.jh-access-form-card select,
.jh-access-form-card textarea{
    width:100%;
    min-height:54px;
    padding:12px 14px;
    border:1px solid #ddd4cb;
    border-radius:14px;
    background:#fffdfa;
    box-sizing:border-box;
    font:inherit;
}

.jh-access-form-card textarea{
    min-height:120px;
}

.jh-access-form-card button,
.jh-access-form-card input[type="submit"],
.jh-access-form-card .button,
.jh-access-form-card .btn{
    min-height:54px;
    border:0;
    border-radius:14px;
    padding:12px 20px;
    background:linear-gradient(90deg,var(--jh-orange),var(--jh-orange-2));
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.jh-access-reassurance{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    padding:clamp(30px,5vw,60px);
    border-radius:30px;
    background:var(--jh-dark);
    color:#fff;
}

.jh-access-reassurance h2{
    color:#fff;
}

.jh-access-reassurance-copy p{
    color:rgba(255,255,255,.7);
}

.jh-access-final{
    padding:clamp(34px,5vw,64px);
    border-radius:30px;
    background:linear-gradient(135deg,#f8f1ea,#ead8c4);
    text-align:center;
}

.jh-access-final>div{
    max-width:860px;
    margin:0 auto;
}

@media(max-width:900px){
    .jh-access-hero,
    .jh-access-form-shell,
    .jh-access-reassurance{
        grid-template-columns:1fr;
    }

    .jh-access-form-heading{
        position:static;
    }
}

@media(max-width:760px){
    .jh-access-trust-row,
    .jh-access-intro-grid{
        grid-template-columns:1fr;
    }

    .jh-access-hero h1{
        font-size:46px;
    }

    .jh-access-intro h2,
    .jh-access-form-heading h2,
    .jh-access-reassurance h2,
    .jh-access-final h2{
        font-size:38px;
    }
}
