/* ===================================
   12. FORM
=================================== */

.form-section{

    width:90%;
    max-width:1000px;

    margin:70px auto;

}

form{

    background:#fff;

    border-radius:18px;

    padding:40px;

    box-shadow:var(--shadow);

    animation:fadeUp .7s ease;

    position:relative;

}

form::before{

    content:"";

    position:absolute;

    top:0;
    right:0;

    width:100%;
    height:6px;

    background:var(--secondary);

    border-radius:18px 18px 0 0;

}

form h2{

    text-align:center;

    color:var(--primary);

    font-size:38px;

    margin-bottom:15px;

}

form p{

    text-align:center;

    color:#666;

    margin-bottom:35px;

    font-size:18px;

}

/* ==========================
      Fieldset
========================== */

fieldset{

    border:1px solid #ddd;

    border-radius:15px;

    padding:25px;

    margin-bottom:30px;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

legend{

    padding:0 10px;

    color:var(--secondary);

    font-weight:bold;

    font-size:20px;

}

/* ==========================
      Input Group
========================== */

.input-group{

    display:flex;

    flex-direction:column;

}

.full{

    grid-column:1 / 3;

}

label{

    margin-bottom:8px;

    font-weight:bold;

    color:#444;

}

/* ==========================
      Inputs
========================== */

input,
select,
textarea{

    width:100%;

    padding:15px;

    border:2px solid #e5e5e5;

    border-radius:10px;

    background:#fafafa;

    font-family:inherit;

    font-size:16px;

    transition:.3s;

}

input:hover,
select:hover,
textarea:hover{

    border-color:var(--secondary);

}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    background:#fff;

    border-color:var(--secondary);

    box-shadow:0 0 15px rgba(255,176,0,.25);

}

textarea{

    min-height:140px;

    resize:vertical;

}

/* ==========================
      Button
========================== */

button{

    width:100%;

    padding:18px;

    border:none;

    border-radius:10px;

    background:var(--secondary);

    color:#111;

    font-size:20px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

button:hover{

    background:#ff9800;

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(0,0,0,.18);

}

/* ==========================
      Success Message
========================== */

#successMessage{

    display:none;

    background:#d4edda;

    color:#155724;

    padding:20px;

    border-radius:10px;

    margin-bottom:25px;

    text-align:center;

    font-size:18px;

}

/* ==========================
      Alert Box
========================== */

.alert-box{

    background:#fff5f5;

    border:2px solid #ff4d4f;

    border-radius:12px;

    padding:20px;

    margin:25px 0;

}

.alert-label{

    display:flex;

    align-items:center;

    gap:10px;

    cursor:pointer;

    color:#b30000;

    font-weight:bold;

}

.alert-label input{

    width:22px;

    height:22px;

}

.submit-box{

    margin-top:30px;

}