/* ==========================================================
   FALE CONOSCO
   Portal I Love Praia Grande
========================================================== */

/*======================================================
    HERO PÁGINAS INTERNAS
======================================================*/

.hero-interno{

    position:relative;

    overflow:hidden;

    background:#0D4A82;

    color:#FFF;

    text-align:center;

    padding:140px 0 120px;

}

/* Fundo */

.hero-interno::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("../images/bg-orla.jpg") center center no-repeat;

    background-size:cover;

    opacity:.08;

    transform:scale(1.05);

}

/* Overlay */

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        180deg,
        rgba(10,35,66,.92),
        rgba(13,74,130,.95)
    );

}

.hero-interno .container{

    position:relative;

    z-index:2;

}

/*====================================================*/

.hero-tag{

    display:inline-block;

    margin-bottom:20px;

    color:#9FD0FF;

    font-size:.85rem;

    font-weight:600;

    letter-spacing:4px;

    text-transform:uppercase;

}

/*====================================================*/

.hero-interno h1{

    font-size:4rem;

    font-weight:700;

    color:#FFF;

    margin-bottom:20px;

}

/*====================================================*/

.hero-line{

    width:90px;

    height:4px;

    background:#EF3A33;

    border-radius:20px;

    margin:0 auto 35px;

}

/*====================================================*/

.hero-interno p{

    width:760px;

    max-width:95%;

    margin:auto;

    color:rgba(255,255,255,.95);

    font-size:1.25rem;

    line-height:1.9;

}

/*====================================================*/

@media(max-width:768px){

.hero-interno{

    padding:90px 0;

}

.hero-interno h1{

    font-size:2.4rem;

}

.hero-interno p{

    font-size:1rem;

    line-height:1.7;

}

.hero-line{

    width:70px;

    margin-bottom:25px;

}

}

/* ========================================================= */

.contato{

    background:#f8fafc;

    padding:70px 0;

}

.contato-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:40px;

    align-items:start;

}

/* ========================================================= */

.contato-formulario{

    background:#fff;

    border-radius:18px;

    padding:40px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.contato-formulario h2{

    margin-bottom:30px;

    color:#1f2937;

}

/* ========================================================= */

.campo{

    margin-bottom:24px;

}

.campo label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#374151;

}

.campo input,
.campo select,
.campo textarea{

    width:100%;

    padding:14px 16px;

    border:1px solid #dbe4ec;

    border-radius:10px;

    font-size:15px;

    transition:.25s;

    background:#fff;

    font-family:'Poppins',sans-serif;

}

.campo textarea{

    resize:vertical;

    min-height:180px;

}

.campo input:focus,
.campo select:focus,
.campo textarea:focus{

    outline:none;

    border-color:#e53935;

    box-shadow:0 0 0 4px rgba(229,57,53,.12);

}

/* ========================================================= */

small{

    display:block;

    margin-top:8px;

    color:#6b7280;

}

/* ========================================================= */

button[type=submit]{

    width:100%;

    border:none;

    background:#e53935;

    color:#fff;

    font-size:16px;

    font-weight:600;

    padding:16px;

    border-radius:10px;

    cursor:pointer;

    transition:.25s;

}

button[type=submit]:hover{

    background:#c62828;

    transform:translateY(-2px);

    box-shadow:0 10px 20px rgba(229,57,53,.25);

}

/* ========================================================= */

.contato-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.info-card{

    background:#fff;

    padding:30px;

    border-radius:18px;

    box-shadow:0 8px 25px rgba(0,0,0,.07);

}

.info-card h3{

    color:#e53935;

    margin-bottom:16px;

}

.info-card p{

    color:#555;

    line-height:1.8;

}

/* ========================================================= */

#retorno{

    margin-top:25px;

}

/* ========================================================= */

.honeypot{

    display:none;

}

/* ========================================================= */

@media(max-width:992px){

.contato-grid{

    grid-template-columns:1fr;

}

.hero-contato{

    padding:60px 20px;

}

.hero-contato h1{

    font-size:2.2rem;

}

.contato-formulario{

    padding:30px;

}

}

/* ========================================================= */

@media(max-width:600px){

.hero-contato{

    padding:50px 20px;

}

.hero-contato h1{

    font-size:1.9rem;

}

.hero-contato p{

    font-size:1rem;

}

.contato{

    padding:40px 0;

}

.contato-formulario{

    padding:25px;

}

.info-card{

    padding:22px;

}

button[type=submit]{

    font-size:15px;

}

}

.msg-sucesso{

    margin-top:25px;

    background:#ecfdf5;

    color:#065f46;

    border:1px solid #10b981;

    border-radius:10px;

    padding:16px;

}

.msg-erro{

    margin-top:25px;

    background:#fef2f2;

    color:#991b1b;

    border:1px solid #ef4444;

    border-radius:10px;

    padding:16px;

}