/* ======================================================
GSE V3 — LAYOUT SYSTEM
Author: Just A Mowment

Purpose
------------------------------------------------------
• Step structure
• Container system
• Spacing + rhythm
• Mobile-first layout

RULE:
No colours, no component styling here
====================================================== */


/* ======================================================
CALCULATOR SHELL
====================================================== */

.gse-calculator-v3{

    max-width:1100px;
width: 100%;
    margin:30px auto;

    padding:20px;

    background:#a4cfb4;

    border-radius:var(--gse-radius-lg);

    border:1px solid var(--gse-border);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 8px 20px rgba(22,163,74,0.18);

}


/* ======================================================
FORM
====================================================== */

#gse-v3-form{
    display:block;
}


/* ======================================================
STEP CARD
====================================================== */

/* ======================================================
STEP CARD (SURFACE)
====================================================== */

.gse-step{

    display:block;

    margin-bottom:16px;

    padding:16px;

    border-radius:var(--gse-radius-md);

    background:var(--gse-bg-soft);

    border:1px solid var(--gse-border);

    box-shadow:var(--gse-shadow-soft);

}


/* ======================================================
STEP HEADER
====================================================== */

.gse-step__header{

    margin-bottom:10px;

}

.gse-step__header h3{

    margin:0;

    font-size:0.8rem;
    font-weight:700;

    text-transform:uppercase;
    letter-spacing:.05em;

    color:#334155;

}

.gse-step__body{
    margin-top:8px;
}


/* ======================================================
STEP BODY
====================================================== */

.gse-step__body{
    display:block;
}


/* ======================================================
CHOICE GROUP
====================================================== */

.gse-choice-group{

    display:flex;
    flex-wrap:wrap;

    gap:12px;

}


/* ======================================================
BUTTON SIZING
====================================================== */

.gse-choice-group .gse-btn{

    flex:1 1 calc(50% - 12px);

}


/* ======================================================
FULL WIDTH OPTION (e.g. MAP BUTTON)
====================================================== */

.gse-btn--inline{
    flex:1 1 100%;
}


/* ======================================================
HIDDEN STATE
====================================================== */

.gse-step.is-hidden{
    display:none;
}

/* ======================================================
RESULT BLOCK
====================================================== */

.gse-result{

    margin-top:20px;

    padding:20px;

    border-radius:14px;

    text-align:center;

}


/* ======================================================
MOBILE
====================================================== */

@media (max-width:640px){

    .gse-choice-group .gse-btn{
        flex:1 1 100%;
    }

    .gse-calculator-v3{
        padding:12px;
    }

}

/* ======================================================
ACTIVE STEP
====================================================== */

.gse-step.is-active{

    box-shadow:
        0 12px 32px rgba(15,23,42,0.14),
        inset 0 1px 0 rgba(255,255,255,0.6);

    transform:translateY(-1px);

    transition:all .2s ease;

}

/* ======================================================
MODAL SYSTEM
====================================================== */

.gse-modal{
    position:fixed;
    inset:0;

    display:none;

    z-index:9999;
}

.gse-modal.is-active{
    display:block;
}


/* ======================================================
OVERLAY
====================================================== */

.gse-modal__overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.5);
}


/* ======================================================
PANEL
====================================================== */

.gse-modal__panel{

    position:relative;

    max-width:420px;
    width:90%;

    margin:10vh auto;

    background:#ffffff;

    padding:20px;

    border-radius:12px;

    box-shadow:0 20px 50px rgba(0,0,0,0.25);

}


/* ======================================================
CLOSE BUTTON
====================================================== */

.gse-modal__close{

    position:absolute;
    top:10px;
    right:12px;

    font-size:20px;
    background:none;
    border:none;
    cursor:pointer;

}


/* ======================================================
FORM
====================================================== */

#gse-contact-form{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:10px;
}

#gse-contact-form input{
    padding:10px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:14px;
}

/* ======================================================
MODAL TRUST
====================================================== */

.gse-modal__trust{
    margin-top:12px;

    font-size:13px;
    line-height:1.5;

    color:#166534;
    text-align:center;
}
