@import url("/css/guipo-tokens.css");

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;    

}

body{

    background-color: #E3E3E3;
    overflow-x: hidden;

}

html {
    background-color: #210303;
}
.interface{
    max-width: 1280px;
    margin: 0 auto;

}

/* Aplica cor ao h1 e h5 */
.txt-hero h1 {
    color: #9e7d43; /* Branco */
}

.txt-hero h5 {
    color: #ffffff; /* Branco */
}

/* Estilo do hero (introdução) */
section.hero-site{
    --hero-viewport-share: 90svh;
    height: calc(var(--hero-viewport-share) - var(--gs-header-h, 76px));
    min-height: calc(var(--hero-viewport-share) - var(--gs-header-h, 76px));
    max-height: calc(var(--hero-viewport-share) - var(--gs-header-h, 76px));
    background-color: #210303;
    display: flex;
    align-items: stretch;
    justify-content: center;
    text-align: center;
    padding: clamp(0.35rem, 1.5vh, 1rem) 1.25rem clamp(0.5rem, 1.2vh, 0.85rem);
    box-sizing: border-box;
    overflow: hidden;
}

@supports (height: 1dvh) {
    section.hero-site {
        --hero-viewport-share: 90dvh;
    }
}

.hero-site__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.5rem, 2vh, 1.35rem);
    width: 100%;
    height: 100%;
    min-height: 0;
    padding-top: 0;
    transform: translateY(clamp(-0.5rem, -2vh, -1.25rem));
}

.hero-site__mark {
    display: block;
    width: clamp(290px, 50vw, 640px);
    height: auto;
    max-width: min(640px, 96vw);
    max-height: min(56svh, 520px);
    aspect-ratio: 1 / 1;
    object-fit: contain;
    flex-shrink: 1;
}

@supports (height: 1dvh) {
    .hero-site__mark {
        max-height: min(56dvh, 520px);
    }
}

.hero-site  .txt-hero h1{

    font-size: clamp(0.9rem, 1.25vw, 1.35rem);
    line-height: 1.26;
    font-weight: 400;

    
}
.hero-site  .txt-hero h5{

    font-size: clamp(0.74rem, 0.9vw, 0.86rem);
    line-height: 1.35;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: clamp(0.25rem, 0.9vh, 0.45rem);

}

.hero-site .txt-hero {
    margin-top: 0;
    max-width: min(30rem, 94vw);
    width: 100%;
    flex-shrink: 0;
}

/* Estilo das vantagens */

section.vantagens{
    padding: clamp(0.75rem, 1.5vh, 1.25rem) 0 0;
    background-color: #E3E3E3;
}

.vantagens .itens-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
    gap: 4%;
    padding: 0 5%;
    max-width: 1280px;
    margin-inline: auto;
}

.vantagens .itens-container .txt-itens {
    flex: 0 1 38%;
    min-width: 0;
}

.vantagens .itens-container .img-itens {
    flex: 0 1 58%;
    min-width: 0;
}

.vantagens .itens-container .img-itens img{
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    border-radius: 14px;
}

.vantagens .itens-container .txt-itens h3{
    font-size: clamp(1.55rem, 3.6vw, 2.15rem);
    line-height: 1.18;
    color: var(--gs-ink);
    font-weight: 600;
}

.itens-container .txt-itens h3 span{
    color: var(--gs-gold);
    font-weight: 600;
}

.vantagens .itens-container .txt-itens p {
    color: var(--gs-ink-soft);
    font-size: clamp(0.86rem, 1vw, 0.96rem);
    line-height: 1.55;
    margin-top: 0.65rem;
}

.vantagens .itens-container .txt-itens h3,
.vantagens .itens-container .txt-itens p {
    margin: 0;
    width: 100%;
    padding: 0 5%;
}

.vantagens .itens-container:last-child {
    margin-bottom: 0;
}

.vantagens__cta {
    display: flex;
    justify-content: center;
    padding: 32px 5%;
    margin-top: 0;
}

@media screen and (min-width: 769px) {
    .vantagens__cta {
        padding: 44px 5%;
    }

    .vantagens__cta .gs-btn {
        font-size: 1.05rem;
        padding: 0.78rem 2rem;
    }
}

/* Media Queries para responsividade */
@media screen and (max-width: 1024px) {
    .vantagens .itens-container {
        flex-direction: column;
        gap: 20px;
    }

    /* Mobile/tablet: sempre título → texto → foto */
    .vantagens .itens-container .txt-itens {
        order: 1;
        width: 100%;
        flex: 1 1 100%;
    }

    .vantagens .itens-container .img-itens {
        order: 2;
        width: 100%;
        flex: 1 1 100%;
    }
    
    .vantagens .itens-container .img-itens img {
        max-width: 100%;
        width: 100%;
        border-radius: 12px;
    }
}

/* Estilo da seção Sobre nós */
.sobre-nos__intro {
    max-width: 58ch;
}

.sobre-nos__intro p {
    margin-bottom: 1rem;
    color: var(--gs-ink-soft);
    font-size: 1rem;
    line-height: 1.65;
}

.sobre-nos__intro p:last-child {
    margin-bottom: 0;
}

.nossos-valores {
    margin-top: 3.5rem;
}

.nossos-valores .gs-card h3 {
    color: var(--gs-gold);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.nossos-valores .gs-card p {
    color: var(--gs-ink-soft);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
}

/* Estilo da seção de contato */
section.contato {
    padding: 80px 0;
    background-color: #210303;
}

.contato .flex {
    display: flex;
    gap: 60px;
}

.contato .txt-contato {
    flex: 1;
}

.contato .txt-contato h2 {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 30px;
    color: #fff;
}

.contato .txt-contato h2 span {
    color: #9e7d43;
}

.contato .txt-contato p {
    color: #fff;
    margin-bottom: 40px;
    font-size: 1.1rem;
    line-height: 1.6;
}

.info-contato {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.info-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.info-box i {
    color: #9e7d43;
    font-size: 1.5rem;
}

.info-box p {
    color: #fff;
    margin: 0;
}

.form-contato {
    flex: 1;
}

.form-contato form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-contato input,
.form-contato textarea {
    width: 100%;
    padding: 15px;
    border: none;
    border-radius: 10px;
    background-color: #fff;
    font-size: 1rem;
    outline: none;
}

.form-contato textarea {
    height: 150px;
    resize: none;
}

.btn-enviar {
    text-align: center;
}

.btn-enviar input {
    background-color: #9e7d43;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: .3s;
    width: 200px;
}

.btn-enviar input:hover {
    background-color: #8a6d3b;
}

/* Estilo do footer */
footer {
    padding: 40px 0;
    background-color: #210303;
}

.line-footer {
    padding: 20px 0;
}

.line-footer.borda {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.logo-footer img {
    max-width: 100px;
}

.contato-footer {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.redes-sociais-footer {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

.redes-sociais-footer h3 {
    color: #fff;
    font-size: 1.2rem;
    margin: 0;
}

.botoes-redes {
    display: flex;
    gap: 15px;
}

.btn-whatsapp-footer,
.btn-instagram-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    color: #fff;
}

.btn-whatsapp-footer {
    background-color: #25D366;
}

.btn-instagram-footer {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.btn-whatsapp-footer:hover,
.btn-instagram-footer:hover {
    transform: translateY(-3px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}

.btn-whatsapp-footer i,
.btn-instagram-footer i {
    font-size: 1.2rem;
}

.info-contato-footer {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.info-contato-footer p {
    color: #fff;
    margin: 0;
}

.info-contato-footer a {
    color: #9e7d43;
    text-decoration: none;
    transition: color 0.3s ease;
}

.info-contato-footer a:hover {
    color: #fff;
}

.line-footer p {
    color: #fff;
    text-align: center;
    margin: 0;
}

/* Media Queries para responsividade */
@media screen and (max-width: 1024px) {
    .contato .flex {
        flex-direction: column;
    }
    
    .form-contato {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .contato .txt-contato h2 {
        font-size: 2rem;
    }
    
    .info-box {
        flex-direction: column;
        text-align: center;
    }
    
    .line-footer .flex {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }
    
    .contato-footer {
        align-items: center;
        text-align: center;
    }
    
    .redes-sociais-footer {
        align-items: center;
    }
    
    .botoes-redes {
        flex-direction: column;
    }
}

/* Estilos para os botões de redes sociais */
.conecte-se--center {
    margin-top: 3rem;
    text-align: center;
}

.conecte-se--center .redes-sociais {
    justify-content: center;
}

.conecte-se h3 {
    color: var(--gs-ink);
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.gs-contact-lead {
    color: var(--gs-ink-soft);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    max-width: 42ch;
}

.redes-sociais {
    display: flex;
    gap: 20px;
}

.btn-whatsapp,
.btn-instagram {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 25px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-whatsapp {
    background-color: #25D366;
    color: #fff;
}

.btn-instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff;
}

.btn-whatsapp:hover,
.btn-instagram:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.btn-whatsapp i,
.btn-instagram i {
    font-size: 1.2rem;
}

/* Media Queries para responsividade */
@media screen and (max-width: 768px) {
    .redes-sociais {
        flex-direction: column;
    }
    
    .btn-whatsapp,
    .btn-instagram {
        justify-content: center;
    }
}

.area-cliente {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #4CAF50;
    color: white !important;
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.area-cliente:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}

.area-cliente i {
    font-size: 16px;
}

.login-area {
    padding: 120px 0;
    background-color: #f5f5f5;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-container {
    max-width: 400px;
    width: 90%;
    margin: 0 auto;
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.login-container h2 {
    text-align: center;
    margin-bottom: 30px;
    color: #210303;
    font-size: 2rem;
}

.input-group {
    position: relative;
    margin-bottom: 25px;
}

.input-group i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #9e7d43;
    font-size: 18px;
}

.input-group input {
    width: 100%;
    padding: 15px 45px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: #f8f8f8;
}

.input-group input:focus {
    border-color: #9e7d43;
    outline: none;
    background-color: #fff;
}

.btn-login {
    width: 100%;
    padding: 15px;
    background-color: #9e7d43;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-login:hover {
    background-color: #8a6d3b;
    transform: translateY(-2px);
}

.links-login {
    margin-top: 25px;
    text-align: center;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
}

.links-login a {
    color: #666;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
    font-weight: 500;
}

.links-login a:hover {
    color: #9e7d43;
}

/* Estilos para a navbar da área do cliente */
.cliente-nav {
    background-color: #210303;
    padding: 15px 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
}

.cliente-nav .interface {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cliente-nav .logo img {
    max-width: 100px;
}

.cliente-nav .menu-cliente {
    display: flex;
    gap: 30px;
}

.cliente-nav .menu-cliente a {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.3s ease;
}

.cliente-nav .menu-cliente a:hover {
    color: #9e7d43;
}

.cliente-nav .btn-sair {
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
    padding: 8px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cliente-nav .btn-sair:hover {
    background-color: #fff;
    color: #210303;
}

/* —— Menu mobile (legado — removido; header usa site-header.css) —— */

body.nav-lock {
    overflow: hidden;
}

@media screen and (max-width: 900px) {
    section.hero-site {
        padding-inline: 1rem;
    }

    .hero-site__inner {
        gap: clamp(0.4rem, 1.8vh, 0.85rem);
        transform: translateY(clamp(-0.25rem, -1.2vh, -0.75rem));
    }

    .hero-site__mark {
        width: clamp(240px, 66vw, 440px);
        max-height: min(48svh, 380px);
    }

    @supports (height: 1dvh) {
        .hero-site__mark {
            max-height: min(48dvh, 380px);
        }
    }

    .hero-site .txt-hero {
        max-width: min(19rem, 96vw);
    }

    .hero-site .txt-hero h1,
    .hero-site .txt-hero .hero-line--title {
        font-size: clamp(0.8rem, 3.2vw, 0.95rem);
        line-height: 1.28;
        font-weight: 500;
        color: #b89750;
        margin: 0;
    }

    .hero-site .txt-hero h5,
    .hero-site .txt-hero .hero-line--sub {
        font-size: clamp(0.7rem, 2.8vw, 0.82rem);
        line-height: 1.32;
        font-weight: 400;
        color: rgba(255, 255, 255, 0.9);
        margin: 0.3rem 0 0;
    }

    section.vantagens {
        padding-top: clamp(0.65rem, 1.2vh, 1rem);
    }

    .vantagens .itens-container {
        padding: 0 16px;
        margin-bottom: 36px;
        gap: 16px;
    }

    .vantagens__cta {
        padding: 28px 16px;
    }

    .vantagens .itens-container .txt-itens {
        order: 1;
        text-align: center;
    }

    .vantagens .itens-container .img-itens {
        order: 2;
    }

    .vantagens .itens-container .txt-itens h3,
    .vantagens .itens-container .txt-itens p {
        padding: 0;
    }

    .vantagens .itens-container .txt-itens h3 {
        font-size: clamp(1.2rem, 4.2vw, 1.55rem);
        margin-bottom: 6px;
    }

    .vantagens .itens-container .txt-itens p {
        font-size: 0.86rem;
        line-height: 1.55;
        margin-top: 0.35rem;
    }

    .vantagens .itens-container .img-itens img {
        max-width: 100%;
        width: 100%;
        border-radius: 12px;
    }

    section.sobre-nos .conecte-se--center {
        margin-top: 2.5rem;
    }

    section.sobre-nos .conecte-se--center h3 {
        font-size: 1.15rem;
        margin-bottom: 1rem;
    }

    section.sobre-nos .conecte-se--center .redes-sociais {
        justify-content: center;
        flex-wrap: wrap;
    }

    .nossos-valores {
        margin-top: 2.5rem;
    }

    /* Contato: título → form → infos (menos scroll até o formulário) */
    section.contato {
        padding: 36px 16px;
    }

    .contato .flex {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .contato .txt-contato {
        display: contents;
    }

    .contato .txt-contato h2 {
        order: 1;
        font-size: clamp(1.45rem, 5vw, 1.85rem);
        margin-bottom: 0;
        text-align: center;
    }

    .contato .txt-contato p {
        order: 2;
        font-size: 0.92rem;
        margin-bottom: 0;
        text-align: center;
        line-height: 1.55;
    }

    .contato .form-contato {
        order: 3;
        width: 100%;
    }

    .contato .info-contato {
        order: 4;
        gap: 14px;
        margin-top: 4px;
    }

    .contato .info-box {
        flex-direction: row;
        text-align: left;
        gap: 12px;
    }

    .contato .info-box i {
        font-size: 1.2rem;
        flex-shrink: 0;
    }

    .contato .info-box p {
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .form-contato input,
    .form-contato textarea {
        font-size: 16px;
        padding: 12px 14px;
    }

    .form-contato textarea {
        height: 120px;
    }

    .btn-enviar input {
        width: 100%;
        max-width: none;
    }

    footer {
        padding: 28px 16px 24px;
    }

    .line-footer {
        padding: 12px 0;
    }

    .line-footer .flex {
        text-align: center;
        gap: 20px;
    }

    /* Logo solta no footer — oculta no mobile */
    .logo-footer {
        display: none;
    }

    .redes-sociais-footer {
        width: 100%;
    }

    .redes-sociais-footer h3 {
        font-size: 1.05rem;
    }

    .contato-footer {
        width: 100%;
    }

    .info-contato-footer p {
        font-size: 0.9rem;
    }

    .line-footer.borda {
        padding-top: 16px;
        margin-top: 8px;
    }

    .line-footer.borda p {
        font-size: 0.82rem;
    }
}

@media screen and (max-width: 480px) {
    .hero-site__mark {
        width: clamp(220px, 70vw, 330px);
        max-height: min(44svh, 310px);
    }

    @supports (height: 1dvh) {
        .hero-site__mark {
            max-height: min(44dvh, 310px);
        }
    }

    .hero-site .txt-hero {
        max-width: min(17rem, 96vw);
    }

    .botoes-redes {
        width: 100%;
    }

    .btn-whatsapp-footer,
    .btn-instagram-footer {
        justify-content: center;
        width: 100%;
    }
}