:root{

--primary:#7C4DFF;

--primary-hover:#6D3FEA;

--accent:#3B82F6;

--bg:#0B1020;

--surface:#171C3B;

--card:#1E2551;

--text:#F8FAFC;

--muted:#A5B4FC;

--border:rgba(255,255,255,.10);

--success:#22C55E;

--danger:#EF4444;

--radius:20px;

--shadow:
0 15px 40px rgba(0,0,0,.45);

}


*{

margin:0;

padding:0;

box-sizing:border-box;

}


body{

font-family:'Inter',sans-serif;

background:
radial-gradient(circle at top,#1E2551,#0B1020 60%);

color:var(--text);

min-height:100vh;

}


a{

color:inherit;

text-decoration:none;

}


.container{

width:100%;

max-width:1100px;

margin:40px auto;

padding:20px;

}


.card{

background:
linear-gradient(145deg,#1E2551,#151B38);

border:1px solid var(--border);

border-radius:var(--radius);

box-shadow:var(--shadow);

padding:30px;

}


h1,
h2,
h3{

color:#fff;

}


p{

color:var(--muted);

line-height:1.6;

}
/* =========================================
   FORMULÁRIOS LUXEPASS
========================================= */


label{

display:block;

color:#E0E7FF;

font-size:14px;

font-weight:600;

margin-bottom:8px;

}


input,
select,
textarea{

width:100%;

background:#111827;

color:#FFFFFF;

border:1px solid rgba(124,77,255,.35);

border-radius:14px;

padding:15px 16px;

font-size:15px;

outline:none;

transition:.25s;

margin-bottom:18px;

}


input::placeholder,
textarea::placeholder{

color:#64748B;

}


input:focus,
select:focus,
textarea:focus{

border-color:#3B82F6;

box-shadow:
0 0 0 4px rgba(59,130,246,.20);

}


textarea{

min-height:120px;

resize:vertical;

}


select{

cursor:pointer;

}


.form-group{

margin-bottom:20px;

}


.form-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}


.form-title{

margin-bottom:30px;

}


.form-title h1{

font-size:32px;

margin-bottom:10px;

}


.form-title p{

color:var(--muted);

}


/* =========================================
   BOTÕES
========================================= */


button,
.btn,
.button{

background:
linear-gradient(
135deg,
#7C4DFF,
#3B82F6
);

color:#fff;

border:none;

border-radius:14px;

padding:15px 28px;

font-weight:700;

font-size:15px;

cursor:pointer;

transition:.3s;

}


button:hover,
.btn:hover,
.button:hover{

transform:translateY(-2px);

box-shadow:
0 12px 30px rgba(124,77,255,.35);

}


/* botão secundário */

.btn-secondary{

background:#263548;

color:#E0E7FF;

}


.btn-danger{

background:#EF4444;

}
/* =========================================
   ETAPAS DO CADASTRO
========================================= */


.steps,
.progress-steps{

display:flex;

align-items:center;

justify-content:space-between;

gap:15px;

margin:30px 0;

}


.step-item{

flex:1;

background:#171C3B;

border:1px solid rgba(255,255,255,.08);

border-radius:18px;

padding:20px;

text-align:center;

transition:.3s;

}


.step-item:hover{

transform:translateY(-4px);

border-color:#7C4DFF;

}


.step-item.active{

background:
linear-gradient(
145deg,
#1E2551,
#243B72
);

border-color:#7C4DFF;

}


.step-number{

width:42px;

height:42px;

margin:0 auto 12px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#263548;

color:#fff;

font-weight:800;

}


.step-item.active .step-number{

background:
linear-gradient(
135deg,
#7C4DFF,
#3B82F6
);

}



/* =========================================
   UPLOAD DOCUMENTOS
========================================= */


.upload-box{

border:2px dashed rgba(124,77,255,.45);

background:#111827;

border-radius:20px;

padding:35px;

text-align:center;

cursor:pointer;

transition:.3s;

}


.upload-box:hover{

background:#171C3B;

border-color:#3B82F6;

}


.upload-box i{

font-size:40px;

color:#7C4DFF;

margin-bottom:15px;

}



/* =========================================
   ALERTAS
========================================= */


.alert{

padding:18px;

border-radius:16px;

margin-bottom:20px;

}


.alert-success{

background:#064E3B;

color:#A7F3D0;

}


.alert-error{

background:#7F1D1D;

color:#FECACA;

}



/* =========================================
   RESPONSIVO
========================================= */


@media(max-width:900px){

.form-grid{

grid-template-columns:1fr;

}


.steps,
.progress-steps{

flex-direction:column;

}


.container{

margin:20px auto;

padding:15px;

}


.card{

padding:22px;

}


.form-title h1{

font-size:26px;

}

}
/* =========================================
   LUXEPASS CADASTRO PREMIUM - AJUSTES
========================================= */


/* topo da página */

body{

    display:block;

}


.logo,
.brand{

    font-size:26px;

    font-weight:800;

    background:linear-gradient(
        90deg,
        #7C4DFF,
        #3B82F6,
        #06B6D4
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    margin-bottom:20px;

}



/* card principal do cadastro */

.container > form,
.container > .card,
.wizard-card{

    max-width:900px;

    margin:30px auto;

}


/* títulos das etapas */

.container h1{

    font-size:34px;

    margin-bottom:8px;

}


.container h2{

    font-size:24px;

    margin-bottom:20px;

}


/* descrição */

.container p{

    font-size:15px;

    color:#A5B4FC;

}



/* =========================================
   CAMPOS EM GRID
========================================= */


.form-row,
.row,
.fields{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}


.form-row .full,
.row .full{

    grid-column:1/-1;

}



/* =========================================
   CHECKBOX EM CARDS
========================================= */


input[type="checkbox"]{

    width:auto;

    accent-color:#7C4DFF;

}


.checkbox-group{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}


.checkbox-group label{

    background:#111827;

    border:1px solid rgba(124,77,255,.30);

    border-radius:16px;

    padding:18px;

    cursor:pointer;

    transition:.3s;

}


.checkbox-group label:hover{

    border-color:#3B82F6;

    transform:translateY(-3px);

}



/* =========================================
   CONTRATO PREMIUM
========================================= */


.contract-card{

    background:
    linear-gradient(
        145deg,
        #1E2551,
        #111827
    );

    border-radius:24px;

    padding:35px;

    border:1px solid rgba(124,77,255,.35);

    box-shadow:
    0 20px 50px rgba(0,0,0,.45);

}


.contract-header{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:25px;

}


.contract-icon{

    width:60px;

    height:60px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #7C4DFF,
        #3B82F6
    );

    font-size:25px;

}


.contract-info{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}


.contract-item{

    background:#111827;

    padding:18px;

    border-radius:15px;

}


.contract-item span{

    color:#A5B4FC;

    display:block;

    font-size:13px;

    margin-bottom:5px;

}


.contract-item strong{

    color:white;

}



/* =========================================
   MOBILE
========================================= */


@media(max-width:800px){

.form-row,
.row,
.fields,
.checkbox-group,
.contract-info{

grid-template-columns:1fr;

}

}

.steps-top{

display:flex;

align-items:center;

justify-content:center;

margin:25px 0;

}


.step-box{

text-align:center;

font-size:12px;

color:#94A3B8;

}


.step-box .circle{

width:36px;

height:36px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

margin:auto;

background:#1E293B;

font-weight:800;

}


.step-box.done .circle{

background:#22C55E;

color:#fff;

}


.step-box.active{

color:#fff;

font-weight:700;

}


.step-box.active .circle{

background:linear-gradient(135deg,#7C4DFF,#3B82F6);

}


.line{

height:2px;

width:60px;

background:#334155;

margin:0 10px;

}




@media(max-width:900px){

.steps-top,
.steps-cards,
.progress-line{

flex-direction:row !important;

}

}


.steps-top{

display:flex !important;

flex-direction:row !important;

align-items:center !important;

justify-content:center !important;

gap:0;

margin:20px auto 30px;

}


.step-box{

width:90px;

height:65px;

background:#111827;

border:1px solid rgba(255,255,255,.1);

border-radius:14px;

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

color:#94A3B8;

font-size:18px;

}


.step-box small{

font-size:11px;

margin-top:5px;

}


.step-box.done{

border-color:#22C55E;

color:#22C55E;

}


.step-box.active{

background:linear-gradient(135deg,#7C4DFF,#3B82F6);

color:white;

}


.step-line{

width:35px;

height:2px;

background:#334155;

}



/* AJUSTE TELA FINANCEIRO */

.card .grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:18px;

}


.card .field.full{

grid-column:1 / -1;

}


.financeiro-box{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}


@media(max-width:900px){

.card .grid{

grid-template-columns:1fr;

}

}


.actions{

display:flex;

justify-content:space-between;

margin-top:25px;

}




/* FINANCEIRO - GRID EXCLUSIVO */

.content .card .grid{

display:grid !important;

grid-template-columns:repeat(3, minmax(0,1fr)) !important;

gap:20px !important;

}


.content .card .field.full{

grid-column:1 / -1 !important;

}


@media(max-width:900px){

.content .card .grid{

grid-template-columns:1fr !important;

}

}




/* AJUSTE ESTRUTURA FITNESS */

.content .card .grid{

display:grid !important;

grid-template-columns:repeat(2,minmax(0,1fr));

gap:20px;

}


.content .card .field.full{

grid-column:1 / -1;

}


.checks{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:12px;

padding:15px;

background:#111827;

border-radius:14px;

}


.checks label{

background:#1E2551;

padding:10px;

border-radius:10px;

font-size:13px;

}


textarea{

min-height:120px !important;

}


@media(max-width:900px){

.content .card .grid{

grid-template-columns:1fr !important;

}


.checks{

grid-template-columns:repeat(2,1fr);

}

}




/* DOCUMENTOS - CARDS DE ANEXOS */

.upload-grid,
.documents-grid,
.document-grid,
.uploads{

display:grid !important;

grid-template-columns:repeat(3,1fr) !important;

gap:20px !important;

}


.upload-card,
.document-card,
.file-card,
.upload-box{

background:#111827 !important;

border:1px solid rgba(255,255,255,.10) !important;

border-radius:18px !important;

padding:20px !important;

min-height:150px;

}


.upload-card:hover,
.document-card:hover,
.file-card:hover,
.upload-box:hover{

border-color:#7C4DFF !important;

}


@media(max-width:900px){

.upload-grid,
.documents-grid,
.document-grid,
.uploads{

grid-template-columns:1fr !important;

}

}



/* CONTRATO DIGITAL PREMIUM */

.heroCard{

max-width:1100px !important;

margin:auto;

border-radius:24px !important;

padding:35px !important;

}


.heroInfo{

display:grid !important;

grid-template-columns:repeat(4,1fr);

gap:18px;

}


.infoCard{

background:#111827 !important;

border:1px solid rgba(255,255,255,.10);

border-radius:16px;

padding:18px;

}


.wrapper{

max-width:1100px !important;

margin:30px auto;

display:grid;

grid-template-columns:260px 1fr;

gap:25px;

}


.timeline{

background:#111827;

padding:20px;

border-radius:20px;

border:1px solid rgba(255,255,255,.10);

}


.step{

padding:12px 0;

}


.partnerCard{

background:#111827;

border-radius:20px;

padding:20px;

border:1px solid rgba(255,255,255,.10);

}


.contract-card,
.contract,
.contractBox,
.document-content{

background:#fff !important;

color:#1F2937 !important;

border-radius:20px !important;

padding:35px !important;

box-shadow:0 15px 40px rgba(0,0,0,.20);

line-height:1.8;

}


.contract-card h2,
.contract h2,
.contractBox h2{

color:#111827 !important;

margin-bottom:20px;

}


@media(max-width:900px){

.heroInfo{

grid-template-columns:1fr;

}


.wrapper{

grid-template-columns:1fr;

}

}



/* CONTRATO DIGITAL PREMIUM */

.heroCard{

max-width:1100px !important;

margin:auto;

border-radius:24px !important;

padding:35px !important;

}


.heroInfo{

display:grid !important;

grid-template-columns:repeat(4,1fr);

gap:18px;

}


.infoCard{

background:#111827 !important;

border:1px solid rgba(255,255,255,.10);

border-radius:16px;

padding:18px;

}


.wrapper{

max-width:1100px !important;

margin:30px auto;

display:grid;

grid-template-columns:260px 1fr;

gap:25px;

}


.timeline{

background:#111827;

padding:20px;

border-radius:20px;

border:1px solid rgba(255,255,255,.10);

}


.step{

padding:12px 0;

}


.partnerCard{

background:#111827;

border-radius:20px;

padding:20px;

border:1px solid rgba(255,255,255,.10);

}


.contract-card,
.contract,
.contractBox,
.document-content{

background:#fff !important;

color:#1F2937 !important;

border-radius:20px !important;

padding:35px !important;

box-shadow:0 15px 40px rgba(0,0,0,.20);

line-height:1.8;

}


.contract-card h2,
.contract h2,
.contractBox h2{

color:#111827 !important;

margin-bottom:20px;

}


@media(max-width:900px){

.heroInfo{

grid-template-columns:1fr;

}


.wrapper{

grid-template-columns:1fr;

}

}



/* ESPACAMENTO INTERNO CONTRATO */

.contract-card,
.contract,
.contractBox,
.document-content{

padding:50px !important;

}


.contract-card p,
.contract p,
.contractBox p,
.document-content p{

margin-bottom:18px;

}


.contract-card h1,
.contract-card h2,
.contract h1,
.contract h2,
.contractBox h1,
.contractBox h2{

margin-top:25px;

margin-bottom:25px;

}


.contract-card ul,
.contract ul,
.contractBox ul,
.document-content ul{

margin:20px 0;

padding-left:25px;

}




/* AJUSTE CONTRATO DESKTOP E TABLET */

.heroCard{

width:100% !important;

max-width:1050px !important;

margin:30px auto !important;

}


.wrapper{

width:100% !important;

max-width:1050px !important;

margin:30px auto !important;

align-items:start !important;

}


.contract-card,
.contract,
.contractBox,
.document-content{

max-width:850px !important;

margin:0 auto !important;

padding:45px !important;

}


.contract-card p,
.contract p,
.contractBox p,
.document-content p{

font-size:15px;

line-height:1.8;

text-align:justify;

}


.partnerCard{

height:max-content;

}


@media (min-width:901px) and (max-width:1200px){

.wrapper{

grid-template-columns:220px 1fr !important;

gap:20px !important;

}


.contract-card,
.contract,
.contractBox,
.document-content{

padding:35px !important;

}

}




/* CONTRATO - ORGANIZACAO FINAL PREMIUM */


.heroInfo{

display:grid !important;

grid-template-columns:repeat(4,1fr) !important;

gap:16px !important;

}


.infoCard{

min-height:100px;

display:flex;

flex-direction:column;

justify-content:center;

}


.partnerCard{

display:grid !important;

grid-template-columns:repeat(2,1fr);

gap:15px;

}


.partnerItem{

background:#111827;

padding:15px;

border-radius:14px;

}


.contract-card,
.contract,
.contractBox,
.document-content{

margin-top:25px !important;

}


.assinatura,
.signature,
.accept-box,
.terms-box{

background:#111827 !important;

border-radius:18px !important;

padding:25px !important;

margin-top:30px !important;

display:flex !important;

align-items:center !important;

justify-content:space-between !important;

gap:20px !important;

}


.assinatura label,
.signature label,
.accept-box label,
.terms-box label{

display:flex !important;

align-items:center !important;

gap:12px !important;

line-height:1.5;

}


.assinatura button,
.signature button,
.accept-box button,
.terms-box button{

min-width:220px;

}


@media(max-width:900px){

.heroInfo{

grid-template-columns:1fr !important;

}


.partnerCard{

grid-template-columns:1fr !important;

}

}

/* STEPS DESKTOP CLEAN */

.steps-top{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    margin:25px auto 35px !important;
    gap:0 !important;
}


.steps-top .step-box{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:120px !important;
    flex:none !important;
    text-align:center !important;
}


.steps-top .step-line{
    display:block !important;
    width:50px !important;
    height:2px !important;
    background:#334155 !important;
    flex:none !important;
}


.steps-top .circle{
    display:flex !important;
    width:36px !important;
    height:36px !important;
    border-radius:50% !important;
    align-items:center !important;
    justify-content:center !important;
}


.steps-top small{
    margin-top:8px !important;
    white-space:nowrap !important;
    font-size:12px !important;
}




/* AJUSTE DESKTOP PORTAL PARCEIRO */

@media (min-width:901px){

.container{
    max-width:950px !important;
    margin:25px auto !important;
    padding:15px !important;
}


.card{
    padding:24px !important;
    border-radius:18px !important;
}


.container h1{
    font-size:28px !important;
}


.container h2{
    font-size:22px !important;
}


.steps-top{
    margin:15px auto 25px !important;
}


.steps-top .step-box{
    width:110px !important;
}


.steps-top .step-line{
    width:40px !important;
}


input,
select,
textarea{
    padding:12px 14px !important;
    font-size:14px !important;
}


button{
    min-height:42px !important;
}

}



/* AJUSTE RESPONSAVEL DESKTOP */

@media (min-width:901px){

.steps-top{
    gap:8px !important;
}


.steps-top .step-box{
    width:130px !important;
    min-height:70px !important;
    padding:8px !important;
}


.steps-top .step-box small{
    font-size:12px !important;
}


.steps-top .step-line{
    width:35px !important;
}


.container{
    max-width:1000px !important;
}


.card{
    padding:28px !important;
}


.container h1{
    font-size:32px !important;
}


label{
    font-size:13px !important;
}


input,
select,
textarea{
    height:44px !important;
    padding:10px 14px !important;
}


}



/* ================================
   DOCUMENTOS - GRID DESKTOP
================================ */

@media (min-width:901px){

/* card principal de documentos */
.content .card{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:18px !important;
}


/* texto inicial ocupa tudo */
.content .card h1,
.content .card h2,
.content .card p{
    grid-column:1 / -1 !important;
}


/* cada documento */
.content .upload{

    min-height:140px !important;

    background:#111827 !important;

    border:1px solid rgba(255,255,255,.12) !important;

    border-radius:16px !important;

    padding:18px !important;

    display:flex !important;

    flex-direction:column !important;

    justify-content:center !important;

}


/* botão continuar */
.content .actions{

    grid-column:1 / -1 !important;

}


}





/* ==========================================
   CONTRATO PREMIUM ISOLADO
========================================== */

@media(min-width:901px){

.contrato-page{

    max-width:1150px !important;
    margin:40px auto !important;

}


/* esconder lateral */

.contrato-page > aside{

    display:none !important;

}


.contrato-page > main{

    width:100% !important;

}


/* bloco principal */

.contrato-page .card{

    background:#171C3B !important;

    padding:35px !important;

    margin-bottom:30px !important;

    border-radius:22px !important;

}


/* topo */

.contrato-page .heroCard{

    padding:30px !important;

    border-radius:22px !important;

}


/* cards superiores */

.contrato-page .heroInfo{

    display:grid !important;

    grid-template-columns:repeat(4,1fr) !important;

    gap:18px !important;

}


.contrato-page .infoCard{

    background:#111827 !important;

    padding:18px !important;

    border-radius:16px !important;

}


/* caixas internas */

.contrato-page .grid{

    display:grid !important;

    grid-template-columns:repeat(2,1fr) !important;

    gap:18px !important;

}


.contrato-page .infoBox{

    background:#0F172A !important;

    padding:20px !important;

    border-radius:16px !important;

}


/* texto do contrato */

.contrato-page .contractSection{

    background:#0F172A !important;

    padding:25px !important;

    margin:20px 0 !important;

    border-radius:18px !important;

}


.contrato-page .contractSection p{

    color:#E5E7EB !important;

    font-size:15px !important;

    line-height:1.8 !important;

}


/* assinatura */

.contrato-page #assinatura{

    padding:30px !important;

    border-radius:22px !important;

}


}



/* ==========================================
   CONTRATO - CORREÇÃO DE LARGURA INTERNA
========================================== */

@media(min-width:901px){

.contrato-page{

    display:grid !important;

    grid-template-columns:1fr !important;

    width:100% !important;

    max-width:1150px !important;

    margin:30px auto !important;

}


.contrato-page > main{

    width:100% !important;

    max-width:1150px !important;

}


/* todos os cards internos */

.contrato-page > main > .card{

    width:100% !important;

}


/* grids do contrato */

.contrato-page .grid{

    display:grid !important;

    grid-template-columns:repeat(2,minmax(0,1fr)) !important;

    gap:20px !important;

}


/* textos */

.contrato-page .contractSection{

    width:100% !important;

}


}



/* ======================================
   AJUSTE NOTEBOOK - PORTAL PARCEIRO
====================================== */

@media (min-width:901px) and (max-width:1400px){

.container{

    max-width:950px !important;

    margin:25px auto !important;

    padding:15px !important;

}


.card{

    padding:24px !important;

    border-radius:18px !important;

}


.container h1{

    font-size:28px !important;

}


.container h2{

    font-size:21px !important;

}


/* etapas */

.steps-top{

    margin:15px auto 25px !important;

}


.step-box{

    width:110px !important;

}


.step-line{

    width:35px !important;

}


/* campos */

input,
select,
textarea{

    padding:12px 14px !important;

    font-size:14px !important;

}


button{

    min-height:42px !important;

}


}




/* ======================================
   ESTRUTURA - AJUSTE LAYOUT PREMIUM
====================================== */

@media (min-width:901px){


.content .card{

    max-width:950px !important;

    margin:30px auto !important;

    padding:28px !important;

}


/* campos principais */

.content .grid{

    display:grid !important;

    grid-template-columns:repeat(2,minmax(0,1fr)) !important;

    gap:20px !important;

}


/* descrição ocupa linha inteira */

.content .field.full{

    grid-column:1 / -1 !important;

}


/* modalidades */

.content .checks{

    display:grid !important;

    grid-template-columns:repeat(4,1fr) !important;

    gap:12px !important;

    margin-top:10px !important;

}


.content .checks label{

    min-height:80px !important;

    background:#1E2551 !important;

    border-radius:14px !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;

    justify-content:center !important;

    text-align:center !important;

    padding:10px !important;

}


/* botões */

.content .actions{

    margin-top:30px !important;

    display:flex !important;

    justify-content:space-between !important;

}



}




/* ======================================
   ESTRUTURA FITNESS - LAYOUT ISOLADO
====================================== */

@media(min-width:901px){

.estrutura-card{

    max-width:1000px !important;
    margin:30px auto !important;
    padding:35px !important;

}


.estrutura-card .grid{

    display:grid !important;

    grid-template-columns:1fr 1fr !important;

    gap:25px !important;

}


.estrutura-card .field.full{

    grid-column:1 / -1 !important;

}


.estrutura-card .checks{

    display:grid !important;

    grid-template-columns:repeat(4,1fr) !important;

    gap:15px !important;

    width:100% !important;

}


.estrutura-card .checks label{

    min-height:90px !important;

    border-radius:16px !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;

    justify-content:center !important;

    text-align:center !important;

}


.estrutura-card textarea{

    min-height:130px !important;

}


}



/* ======================================
   ESTRUTURA - AJUSTE FINAL MODALIDADES
====================================== */

@media(min-width:901px){


.estrutura-card{

    width:100% !important;

}


.estrutura-card .grid{

    width:100% !important;

}


.estrutura-card .checks{

    display:grid !important;

    grid-template-columns:repeat(4, minmax(120px,1fr)) !important;

    gap:15px !important;

    width:100% !important;

    background:transparent !important;

}


.estrutura-card .checks label{

    height:90px !important;

    width:100% !important;

    margin:0 !important;

    padding:12px !important;

    background:#1E2551 !important;

    border:1px solid rgba(255,255,255,.08) !important;

    border-radius:16px !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;

    justify-content:center !important;

    gap:10px !important;

    text-align:center !important;

}


.estrutura-card .checks input{

    width:auto !important;

    margin:0 !important;

}


.estrutura-card .field.full{

    width:100% !important;

}


}




/* ======================================
   ESTRUTURA - DESCRIÇÃO MAIOR
====================================== */

@media(min-width:901px){

.estrutura-card textarea{

    width:100% !important;

    min-height:180px !important;

    height:180px !important;

    resize:vertical !important;

    padding:16px !important;

    font-size:15px !important;

}

}



/* DESCRICAO ESTRUTURA - LARGURA */

@media(min-width:901px){

.estrutura-card .field.full{

    width:100% !important;

}


.estrutura-card textarea{

    width:100% !important;

    height:120px !important;

}


}



/* ======================================
   RESPONSAVEL LEGAL - LAYOUT DESKTOP
====================================== */

@media(min-width:901px){

.content .card{

    max-width:1000px !important;

}


.content .card .grid{

    display:grid !important;

    grid-template-columns:repeat(3,1fr) !important;

    gap:25px !important;

    width:100% !important;

}


.content .card .field{

    width:100% !important;

}


.content .card input,
.content .card select{

    width:100% !important;

}


.content .card .field.full{

    grid-column:1 / -1 !important;

}


}



/* RESPONSAVEL - CAMPOS MAIORES */

@media(min-width:901px){

.content .card{

    max-width:1200px !important;

    padding:40px !important;

}


.content .card .grid{

    grid-template-columns:repeat(3, minmax(220px,1fr)) !important;

    gap:30px !important;

}


.content .card input,
.content .card select{

    height:52px !important;

    font-size:16px !important;

    padding:14px 16px !important;

}


.content .card .field label{

    font-size:15px !important;

    margin-bottom:10px !important;

}


.content .card .field.full{

    grid-column:1 / -1 !important;

}


}



/* ======================================
   CONTRATO - AJUSTE PROPORÇÃO NOTEBOOK
====================================== */

@media(min-width:901px){


.contrato-page{

    max-width:1000px !important;

    margin:25px auto !important;

}


/* cards principais */

.contrato-page .card{

    padding:28px !important;

    border-radius:20px !important;

    margin-bottom:25px !important;

}


/* topo */

.contrato-page .heroCard{

    padding:25px !important;

}


.contrato-page .heroCard h1{

    font-size:28px !important;

}


/* cards de informação */

.contrato-page .heroInfo{

    gap:15px !important;

}


.contrato-page .infoCard{

    padding:16px !important;

    min-height:85px !important;

}


/* texto contrato */

.contrato-page .contractSection{

    padding:22px !important;

    margin:20px 0 !important;

}


.contrato-page .contractSection p{

    font-size:14px !important;

    line-height:1.7 !important;

}


/* caixas de dados */

.contrato-page .infoBox{

    padding:16px !important;

}


.contrato-page .grid{

    gap:15px !important;

}


}



/* ======================================
   CONTRATO - ACEITE E ASSINATURA FINAL
====================================== */

@media(min-width:901px){


/* aceite */

.contrato-page label{

    display:flex !important;

    align-items:flex-start !important;

    justify-content:center !important;

    gap:12px !important;

    max-width:850px !important;

    margin:25px auto !important;

    line-height:1.6 !important;

    font-size:14px !important;

}


.contrato-page label input{

    width:18px !important;

    height:18px !important;

    margin-top:3px !important;

    flex:none !important;

}


/* texto da assinatura */

.contrato-page #assinatura{

    padding:28px !important;

    text-align:center !important;

}


.contrato-page #assinatura h3{

    margin-bottom:12px !important;

}


.contrato-page #assinatura p{

    max-width:750px !important;

    margin:0 auto 25px auto !important;

    line-height:1.6 !important;

    font-size:14px !important;

}


/* botão */

.contrato-page #assinatura button{

    margin:0 auto !important;

    display:block !important;

    min-width:240px !important;

}


}

