/* =======================================================
   FSAC - Theme institutionnel (candidatures Masters)
   Palette sobre : marine / gris / blanc, accent or discret
   ======================================================= */

:root{
    --fsac-navy:       #16304D;
    --fsac-navy-dark:  #0E2135;
    --fsac-slate:      #4B5A68;
    --fsac-gold:       #A9852D;
    --fsac-bg:         #F4F6F8;
    --fsac-surface:    #FFFFFF;
    --fsac-border:     #D9DEE3;
    --fsac-text:       #2A333C;
    --fsac-text-muted: #5B6673;
    --fsac-success:    #2E7D46;
    --fsac-danger:     #B3261E;
}

/* ---------- PAGE ---------- */

body{
    background:var(--fsac-bg);
    font-family:"Segoe UI",Arial,Tahoma,sans-serif;
    color:var(--fsac-text);
    margin:0;
    padding:20px;
}

/* ---------- MAIN FORM ---------- */

.form-all{
    width:94% !important;
    max-width:1100px !important;
    margin:auto !important;

    background:var(--fsac-surface) !important;
    border:1px solid var(--fsac-border) !important;
    border-radius:6px;
    padding:32px !important;

    box-shadow:0 1px 4px rgba(22,48,77,.08);
}

/* ---------- HEADER ---------- */

.form-header-group{
    background:var(--fsac-navy) !important;
    border:none !important;
    border-bottom:3px solid var(--fsac-gold) !important;

    border-radius:4px;
    padding:20px 24px !important;
    margin-bottom:28px !important;
}

.form-header{
    color:#fff !important;
    font-size:22px !important;
    font-weight:600 !important;
    letter-spacing:.2px;
}

.form-subHeader{
    color:#D6DEE6 !important;
    font-size:14px !important;
}

/* ---------- TITLES ---------- */

.form-section{
    margin-top:28px;
}

.form-section h3{
    color:var(--fsac-navy);
    border-bottom:1px solid var(--fsac-border);
    padding-bottom:8px;
}

/* ---------- LABELS ---------- */

.form-label-top,
.form-label-left{
    font-weight:600 !important;
    color:var(--fsac-text);
}

.form-required{
    color:var(--fsac-danger) !important;
}

/* ---------- INPUTS ---------- */

.form-textbox,
.form-dropdown,
.form-textarea,
input[type=text],
input[type=email],
input[type=number],
select,
textarea{

    width:100% !important;

    border:1px solid var(--fsac-border) !important;
    border-radius:4px !important;

    padding:9px 12px !important;

    box-sizing:border-box;
    color:var(--fsac-text);

    transition:border-color .15s, box-shadow .15s;
}

.form-textbox:focus,
.form-dropdown:focus,
.form-textarea:focus,
input:focus,
select:focus,
textarea:focus{

    border-color:var(--fsac-navy) !important;

    box-shadow:0 0 0 3px rgba(22,48,77,.15);

    outline:none;
}

.form-textbox:hover,
.form-dropdown:hover,
.form-textarea:hover{
    border-color:#AEB9C4 !important;
}

/* ---------- RADIO / CHECKBOX ---------- */

input[type=radio]{
    transform:scale(1.1);
    margin-right:6px;
    accent-color:var(--fsac-navy);
}

input[type=checkbox]{
    transform:scale(1.1);
    accent-color:var(--fsac-navy);
}

/* ---------- TABLES ---------- */

table{
    width:100% !important;
    border-collapse:collapse !important;
}

table td,
table th{
    border:1px solid var(--fsac-border);
    padding:8px;
}

table th{
    background:#EEF1F4;
    color:var(--fsac-navy);
}

.form-matrix-table{
    width:100% !important;
}

.form-matrix-table tr:first-child{
    background:#EEF1F4;
}

/* ---------- PAGE BREAKS ---------- */

.form-pagebreak{
    margin-top:32px !important;
    display:flex !important;
    justify-content:space-between !important;
}

/* ---------- BUTTONS ---------- */

.form-submit-button,
.form-submit-button-simple_green,
.form-submit-button-simple_green_apple,
.form-submit-button-simple_orange,
.form-submit-button-simple_blue,
.form-pagebreak-next,
.form-pagebreak-back{

    background-image:none !important;
    border:1px solid transparent !important;

    border-radius:4px !important;

    padding:11px 22px !important;

    font-size:14px !important;
    font-weight:600 !important;

    cursor:pointer;

    transition:background-color .15s;
}

/* Next / avancer */

.form-pagebreak-next{
    background:var(--fsac-navy) !important;
    color:#fff !important;
}

.form-pagebreak-next:hover{
    background:var(--fsac-navy-dark) !important;
}

/* Previous / retour */

.form-pagebreak-back{
    background:var(--fsac-surface) !important;
    color:var(--fsac-slate) !important;
    border:1px solid var(--fsac-border) !important;
}

.form-pagebreak-back:hover{
    background:#EEF1F4 !important;
}

/* Submit / soumission finale */

.form-submit-button,
.form-submit-button-simple_green,
.form-submit-button-simple_green_apple{
    background:var(--fsac-success) !important;
    color:#fff !important;
}

.form-submit-button:hover,
.form-submit-button-simple_green:hover,
.form-submit-button-simple_green_apple:hover{
    opacity:.9;
}

.form-submit-button-simple_orange,
.form-submit-button-simple_blue{
    background:var(--fsac-navy) !important;
    color:#fff !important;
}

.form-submit-button-simple_orange:hover,
.form-submit-button-simple_blue:hover{
    background:var(--fsac-navy-dark) !important;
}

/* ---------- LIST ITEMS ---------- */

.form-line{
    margin-bottom:14px;
}

.form-line:hover{
    background:#FAFBFC;
    border-radius:4px;
}

/* ---------- RESPONSIVE ---------- */

@media (min-width:992px){

    .form-line-column{
        width:48% !important;
        display:inline-block;
        vertical-align:top;
    }
}

@media (max-width:768px){

    body{
        padding:10px;
    }

    .form-all{
        padding:16px !important;
    }

    .form-header{
        font-size:19px !important;
    }

    table{
        display:block;
        overflow-x:auto;
    }
}

/* ---------- ALERTS ---------- */

.form-error-message{
    border-radius:4px;
    border-color:var(--fsac-danger) !important;
}

.form-validation-error{
    border-color:var(--fsac-danger) !important;
}

/* ---------- FILE UPLOAD ---------- */

input[type=file]{
    padding:8px;
}

/* ---------- LOGO ---------- */

table img{
    max-width:110px;
    height:auto;
}
