/*
================================================
MAP
================================================
*/

#loppisar-map{
    width:100%;
    height:100vh;
}

#loppisar-add{

    position:absolute;

    left:50%;

    bottom:30px;

    transform:translateX(-50%);

    padding:15px 28px;

    border:none;

    border-radius:50px;

    background:#ffffff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    box-shadow:0 12px 35px rgba(0,0,0,.18);

    z-index:900;

    transition:.25s;

}

#loppisar-add:hover{

    transform:translateX(-50%) translateY(-2px);

    box-shadow:0 18px 45px rgba(0,0,0,.22);

}

/*
================================================
MODAL
================================================
*/

.loppisar-modal{

    position:fixed;

    inset:0;

    display:none;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.55);

    backdrop-filter:blur(5px);

    z-index:9999;

}

.loppisar-modal.show{

    display:flex;

}

.loppisar-modal-box{

    width:min(720px,95vw);

    height:82vh;

    background:#ffffff;

    border-radius:24px;

    display:flex;

    flex-direction:column;

    overflow:hidden;

    position:relative;

    box-shadow:0 30px 70px rgba(0,0,0,.25);

}

/*
================================================
CLOSE
================================================
*/

#loppisar-close{

    position:absolute;

    right:18px;

    top:18px;

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:#f3f3f3;

    cursor:pointer;

    font-size:22px;

    transition:.2s;

}

#loppisar-close:hover{

    background:#e8e8e8;

}

/*
================================================
HEADER
================================================
*/

.wizard-header{

    padding:30px;

    border-bottom:1px solid #ececec;

}

.wizard-header h2{

    margin:0 0 22px;

    font-size:28px;

}

/*
================================================
PROGRESS
================================================
*/

.wizard-progress{

    display:flex;

    align-items:center;

}

.wizard-dot{

    width:16px;

    height:16px;

    border-radius:50%;

    background:#d6d6d6;

    transition:.25s;

}

.wizard-dot.active{

    background:#1e1e1e;

}

.wizard-line{

    flex:1;

    height:3px;

    background:#e2e2e2;

}

/*
================================================
BODY
================================================
*/

.wizard-body{

    flex:1;

    overflow:auto;

    padding:40px;

}

.wizard-page{

    display:none;

    animation:fade .25s ease;

}

.wizard-page.active{

    display:block;

}

@keyframes fade{

    from{

        opacity:0;

        transform:translateY(12px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

.wizard-icon{

    font-size:74px;

    text-align:center;

    margin-bottom:20px;

}

.wizard-page h3{

    text-align:center;

    margin:0;

    font-size:28px;

}

.wizard-page p{

    text-align:center;

    color:#666;

}

/*
================================================
UPLOAD
================================================
*/

.upload-box{

    margin-top:35px;

    border:2px dashed #cfcfcf;

    border-radius:18px;

    min-height:300px;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    position:relative;

    cursor:pointer;

    transition:.25s;

}

.upload-box:hover{

    border-color:#888;

}

.upload-box input{

    position:absolute;

    inset:0;

    opacity:0;

    cursor:pointer;

}

#upload-empty{

    text-align:center;

    font-size:18px;

}

#upload-preview{

    width:100%;

    text-align:center;

}

#preview-image{

    max-width:100%;

    max-height:260px;

    border-radius:16px;

    box-shadow:0 15px 40px rgba(0,0,0,.18);

}

.upload-success{

    margin-top:20px;

    color:#179b42;

    font-weight:700;

}

#change-photo{

    margin-top:15px;

    border:none;

    background:#efefef;

    border-radius:10px;

    padding:12px 24px;

    cursor:pointer;

}

/*
================================================
GPS
================================================
*/

#gps-position{

    width:100%;

    margin-top:20px;

    padding:15px;

    border-radius:12px;

    border:1px solid #d7d7d7;

    font-size:16px;

    box-sizing:border-box;

}

#gps-status{

    margin-bottom:18px;

    text-align:center;

}

/*
================================================
DATE
================================================
*/

.date-wrapper{

    margin-top:30px;

}

.time-wrapper{

    display:flex;

    gap:20px;

    margin-top:20px;

}

.time-wrapper label{

    flex:1;

}

label{

    display:block;

    font-weight:600;

    text-align:left;

}

input[type="date"],
input[type="time"],
textarea{

    width:100%;

    margin-top:8px;

    padding:15px;

    border:1px solid #d8d8d8;

    border-radius:12px;

    font-size:16px;

    box-sizing:border-box;

}

textarea{

    resize:vertical;

    min-height:180px;

}

/*
================================================
PREVIEW
================================================
*/

.preview-card{

    border:1px solid #ececec;

    border-radius:18px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 12px 25px rgba(0,0,0,.08);

}

#preview-final-image{

    width:100%;

    display:block;

}

.preview-card h4{

    margin:20px;

    font-size:22px;

}

.preview-card p{

    margin:0 20px 18px;

    text-align:left;

}

/*
================================================
FOOTER
================================================
*/

.wizard-footer{

    padding:28px 30px;

    display:flex;

    justify-content:space-between;

    border-top:1px solid #ececec;

}

#wizard-prev,
#wizard-next{

    border:none;

    border-radius:12px;

    padding:14px 26px;

    cursor:pointer;

    font-size:15px;

    font-weight:600;

    transition:.2s;

}

#wizard-prev{

    background:#ececec;

}

#wizard-prev:hover{

    background:#dddddd;

}

#wizard-next{

    background:#1d1d1d;

    color:#fff;

}

#wizard-next:hover{

    background:#000;

}
/* -------------------------
   Tooltip under steg
--------------------------*/

.wizard-tip{

    display:none;

    margin-top:10px;

    text-align:center;

    font-size:11px;

    color:#999;

    opacity:0;

    transition:.25s;

}

.wizard-tip.show{

    display:block;

    opacity:1;

}

/* -------------------------
   Klickbara steg
--------------------------*/

.wizard-dot{

    cursor:pointer;

    transition:.18s;

}

.wizard-dot:hover{

    transform:scale(1.15);

}