@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root{

    --blue-night:#17263B;
    --gold:#D7B77A;
    --ivory:#F7F3EA;
    --text:#556173;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:27px;

    background:var(--ivory);

    font-family:"Inter",sans-serif;

    color:var(--text);

}

/* ERROR */

.error-msg{

    position:fixed;

    top:22.5px;

    left:50%;

    transform:translateX(-50%);

    width:min(378px,90%);

    padding:12.6px 16.2px;

    text-align:center;

    border-radius:10.8px;

    background:#faf0ee;

    color:#9c3d3d;

    border:0.9px solid rgba(156,61,61,.2);

}

/* CARD */

.login-card{

    width:min(405px,100%);

    background:#fff;

    padding:43.2px 40.5px;

    border-radius:19.8px;

    border:0.9px solid rgba(215,183,122,.32);

    box-shadow:
        0 18px 45px rgba(23,38,59,.10);

}

/* HEADER */

.title-divider{

    display:flex;

    align-items:center;

    gap:14.4px;

    margin-bottom:25.2px;

}

.title-divider span{

    flex:1;

    height:0.9px;

    background:rgba(215,183,122,.55);

}

.ornament{

    color:var(--gold);

    font-size:0.855rem;

}

h1{

    text-align:center;

    font-family:"Cormorant Garamond",serif;

    font-size:2.88rem;

    font-weight:600;

    line-height:1;

    color:var(--blue-night);

}

h2{

    text-align:center;

    margin-top:25.2px;

    margin-bottom:34.2px;

    font-family:"Cormorant Garamond",serif;

    font-size:1.485rem;

    font-weight:500;

    color:var(--gold);

}

/* FORM */

form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

input{

    width:100%;

    padding:14.4px 16.2px;

    border-radius:10.8px;

    border:0.9px solid rgba(23,38,59,.15);

    font-size:0.9rem;

    font-family:"Inter",sans-serif;

}

input:focus{

    outline:none;

    border-color:var(--gold);

    box-shadow:0 0 0 3.6px rgba(215,183,122,.15);

}

/* BUTTON */

button{

    margin-top:13.5px;

    width:100%;

    padding:15.3px;

    border:none;

    border-radius:899.1px;

    background:var(--blue-night);

    color:white;

    font-size:0.882rem;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

button:hover{

    background:var(--gold);

    color:var(--blue-night);

    transform:translateY(-1.8px);

}

/* FORGOT LINK */

.forgot-link{

    display:block;

    margin-top:27px;

    text-align:center;

    font-size:0.81rem;

    color:var(--text);

    text-decoration:none;

    transition:.3s;

}

.forgot-link:hover{

    color:var(--gold);

}

/* RESPONSIVE */

@media(max-width:540px){

    body{

        padding:18px;

    }

    .login-card{

        padding:34.2px 22.5px;

    }

    h1{

        font-size:2.25rem;

    }

}