/* =========================================================
   CAMPOSANTO VIRTUAL
   REGISTRO PREMIUM
========================================================= */

:root{
    --navy:#091426;
    --navy2:#101a31;
    --gold:#c99736;
    --gold2:#dda947;
    --cream:#fbf7f0;
    --ink:#111827;
    --muted:#697180;
    --line:#e8dfd3;
}

*{
    box-sizing:border-box;
}

html{
    min-height:100%;
}

body{
    margin:0;
    min-height:100vh;
    font-family:Inter,Arial,sans-serif;
    color:#fff;
    background:
        radial-gradient(circle at 78% 18%,rgba(215,169,75,.12),transparent 25%),
        radial-gradient(circle at 18% 82%,rgba(215,169,75,.06),transparent 25%),
        linear-gradient(135deg,#071225,#111b32);
}

a{
    text-decoration:none;
    color:inherit;
}

.registro_wrap{
    width:min(1180px,calc(100% - 48px));
    margin:auto;
}


/* =========================================================
   HEADER
========================================================= */

.registro_header{
    padding:22px 0;
}

.registro_nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.registro_logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.registro_logo_icon{
    width:48px;
    height:58px;
    border:1px solid var(--gold);
    border-radius:22px 22px 4px 4px;
    display:grid;
    place-items:center;
    color:var(--gold);
    font-size:26px;
}

.registro_logo_text b{
    display:block;
    font:600 24px/1 "Cormorant Garamond",serif;
    letter-spacing:.16em;
}

.registro_logo_text small{
    display:block;
    text-align:center;
    color:var(--gold);
    letter-spacing:.38em;
    font-size:10px;
    margin-top:7px;
    font-weight:700;
}

.registro_back{
    font-size:12px;
    color:#d5dce7;
    transition:.2s;
}

.registro_back:hover{
    color:var(--gold2);
}


/* =========================================================
   MAIN
========================================================= */

.registro_main{
    padding:38px 0 85px;
}

.registro_grid{
    display:grid;
    grid-template-columns:.92fr .78fr;
    max-width:1020px;
    margin:auto;
    gap:90px;
    align-items:center;
    min-height:650px;
}


/* =========================================================
   IZQUIERDA
========================================================= */

.registro_info{
    padding:20px 0;
}

.registro_eyebrow{
    display:inline-block;
    color:var(--gold2);
    font-size:10px;
    font-weight:800;
    letter-spacing:.21em;
}

.registro_info h1{
    max-width:520px;
    margin:17px 0 0;
    font:600 54px/.99 "Cormorant Garamond",serif;
}

.registro_line{
    width:43px;
    height:2px;
    background:var(--gold);
    margin:26px 0 22px;
}

.registro_info>p{
    max-width:500px;
    color:#d4dbe5;
    font-size:13px;
    line-height:1.8;
}


/* =========================================================
   PASOS
========================================================= */

.registro_steps{
    margin-top:34px;
    display:grid;
    gap:14px;
}

.registro_step{
    display:flex;
    align-items:center;
    gap:15px;
    padding:12px 15px;
    border-radius:12px;
    color:#aab3c0;
}

.registro_step.active{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    color:#fff;
}

.registro_step>span{
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#a9b1bd;
    font-size:9px;
    font-weight:800;
}

.registro_step.active>span{
    border-color:var(--gold);
    color:var(--gold2);
}

.registro_step b{
    display:block;
    font-size:12px;
    margin-bottom:3px;
}

.registro_step small{
    display:block;
    font-size:9px;
    color:#8993a2;
}

.registro_privacy{
    display:flex;
    gap:13px;
    align-items:flex-start;
    margin-top:28px;
    padding-top:23px;
    border-top:1px solid rgba(255,255,255,.1);
}

.registro_privacy>span{
    color:var(--gold2);
    font-size:18px;
}

.registro_privacy b{
    display:block;
    font-size:11px;
}

.registro_privacy small{
    display:block;
    color:#8f99a8;
    font-size:9px;
    line-height:1.55;
    margin-top:5px;
}


/* =========================================================
   TARJETA
========================================================= */

.registro_card{
    position:relative;
    background:
        linear-gradient(180deg,#fffefd,#f9f4ec);
    color:var(--ink);
    border-radius:23px;
    padding:43px 42px 38px;
    box-shadow:0 35px 90px rgba(0,0,0,.3);
    border:1px solid rgba(255,255,255,.7);
    overflow:hidden;
}

.registro_card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg,#b47b27,#dda947);
}

.registro_card_head>span{
    color:#ad7c2e;
    font-size:9px;
    letter-spacing:.2em;
    font-weight:800;
}

.registro_card_head h2{
    font:600 38px/1 "Cormorant Garamond",serif;
    margin:12px 0 10px;
}

.registro_card_head p{
    color:#6b7280;
    font-size:11px;
    line-height:1.6;
    margin:0;
}


/* =========================================================
   ERROR
========================================================= */

.registro_error{
    margin-top:20px;
    padding:12px 14px;
    border:1px solid #efc7c7;
    border-radius:10px;
    background:#fff0f0;
    color:#8e3030;
    font-size:10px;
    line-height:1.5;
}


/* =========================================================
   FORM
========================================================= */

.registro_form{
    display:grid;
    gap:19px;
    margin-top:28px;
}

.registro_form label{
    display:block;
    font-size:10px;
    font-weight:800;
    color:#333a46;
}

.registro_form input{
    width:100%;
    margin-top:8px;
    border:1px solid #d9dce1;
    background:#fff;
    border-radius:11px;
    padding:13px 14px;
    outline:none;
    font-family:Inter,Arial,sans-serif;
    font-size:11px;
    color:#1a1f29;
    transition:.2s;
}

.registro_form input:focus{
    border-color:#c5943d;
    box-shadow:0 0 0 3px rgba(197,148,61,.12);
}

.registro_form input::placeholder{
    color:#a0a6af;
}

.registro_password{
    position:relative;
}

.registro_password input{
    padding-right:48px;
}

.registro_eye{
    position:absolute;
    right:10px;
    top:15px;
    width:30px;
    height:30px;
    border:0;
    background:transparent;
    cursor:pointer;
    color:#747b86;
}

.registro_terms{
    color:#8a9099;
    font-size:8px;
    line-height:1.55;
}

.registro_submit{
    width:100%;
    height:50px;
    border:0;
    border-radius:11px;
    cursor:pointer;
    background:linear-gradient(135deg,#d9aa4e,#b77e27);
    color:#fff;
    font-weight:800;
    font-size:11px;
    letter-spacing:.04em;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    box-shadow:0 12px 25px rgba(184,127,40,.2);
    transition:.2s;
}

.registro_submit:hover{
    filter:brightness(1.05);
    transform:translateY(-1px);
}

.registro_submit span{
    font-size:17px;
    font-weight:400;
}

.registro_login_link{
    text-align:center;
    color:#858c97;
    font-size:9px;
}

.registro_login_link a{
    color:#a87325;
    font-weight:800;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:900px){

    .registro_grid{
        grid-template-columns:1fr;
        gap:40px;
        max-width:620px;
    }

    .registro_info{
        text-align:center;
    }

    .registro_info h1,
    .registro_info>p{
        margin-left:auto;
        margin-right:auto;
    }

    .registro_line{
        margin-left:auto;
        margin-right:auto;
    }

    .registro_steps{
        text-align:left;
    }

    .registro_privacy{
        text-align:left;
    }
}

@media(max-width:560px){

    .registro_wrap{
        width:min(100% - 28px,1180px);
    }

    .registro_header{
        padding:16px 0;
    }

    .registro_logo_text b{
        font-size:17px;
    }

    .registro_logo_icon{
        width:39px;
        height:48px;
        font-size:20px;
    }

    .registro_back{
        font-size:9px;
    }

    .registro_main{
        padding:20px 0 55px;
    }

    .registro_info h1{
        font-size:40px;
    }

    .registro_card{
        padding:34px 24px 30px;
    }

    .registro_card_head h2{
        font-size:34px;
    }
}
