
/* BOTÕES */
.btn{
  display:inline-block;
  padding:14px 22px;
  border-radius:10px;
  font-weight:bold;
  transition:.3s;
}

.btn.green{
  background:#1fae42;
  color:#fff;
}

.btn.red {
    background: linear-gradient(135deg, #ff8c00, #ffcc00);
    color: #ffffff;
    font-weight: bold;
    border: none;
    box-shadow: 0 4px 14px rgba(0,0,0,0.25);
}

.btn.red:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

.btn:hover{
  transform:scale(1.05);
}

/* CARD PADRÃO */
.card-box{
  background:#fff;
  max-width:600px;
  margin:0 auto;
  padding:30px;
  border-radius:20px;
  box-shadow:0 15px 40px rgba(0,0,0,.2);
}

/* INPUTS PADRÃO */
.input{
  width:100%;
  padding:14px;
  margin-bottom:12px;
  border-radius:10px;
  border:1px solid #ddd;
}

/* ========================================
   PARCEIROS PREMIUM
======================================== */

.parceiros-premium{

    position: relative;

    padding: 120px 0;

    background:
    radial-gradient(circle at top,
    rgba(255,174,0,.08),
    transparent 30%),

    linear-gradient(
    to bottom,
    #130000,
    #220000);

    overflow: hidden;
}

/* GRID */

.parceiros-grid{

    display: grid;

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

    gap: 22px;

    margin-top: 60px;

    width: 100%;
}

/* CARD */

.parceiro-card{

    position: relative;

    height: 190px;

    border-radius: 22px;

    overflow: hidden;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 8px;

    background: #ffffff;

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

    box-shadow:
    0 10px 25px rgba(0,0,0,.25);

    transition: .35s;
}

/* HOVER */

.parceiro-card:hover{

    transform:
    translateY(-8px)
    scale(1.03);

    border-color: #ffae00;

    box-shadow:
    0 20px 40px rgba(0,0,0,.45),
    0 0 25px rgba(255,174,0,.25);
}

/* LOGOS */
.parceiro-card img{

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;

    display: block;

    transition: .35s;
    padding: 10px;
}


.parceiro-card:hover img{
    transform: scale(1.05);
}

/* DESTAQUES */

.parceiro-card.ouro{
    border:
    1px solid rgba(255,196,0,.45);
}

.parceiro-card.prata{
    border:
    1px solid rgba(255,255,255,.25);
}

.parceiro-card.rubi{
    border:
    1px solid rgba(255,0,0,.35);
}

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

@media(max-width:1400px){

    .parceiros-grid{
        grid-template-columns: repeat(5,1fr);
    }

}

@media(max-width:1100px){

    .parceiros-grid{
        grid-template-columns: repeat(4,1fr);
    }

}

@media(max-width:768px){

    .parceiros-premium{
        padding: 90px 0;
    }

    .parceiros-grid{

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

        gap: 16px;
    }

    .parceiro-card{

        height: 120px;

        padding: 14px;
    }

    .parceiro-card img{
        height: 65px;
    }

}

@media(max-width:520px){

    .parceiros-grid{
        grid-template-columns: repeat(2,1fr);
    }

}

/* ========================================
   LOCALIZAÇÃO PREMIUM
======================================== */

.localizacao-premium{

    padding:120px 0;

    background:
    linear-gradient(
    to bottom,
    #140404,
    #220606);

    position:relative;

    overflow:hidden;
}

.localizacao-grid{

    display:grid;

    grid-template-columns:
    1.2fr .8fr;

    gap:40px;

    margin-top:60px;

    align-items:stretch;
}

/* MAPA */

.mapa-box{

    position:relative;

    overflow:hidden;

    border-radius:30px;

    min-height:520px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.35);

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

.mapa-box iframe{

    width:100%;

    height:100%;

    border:none;

    filter:
    grayscale(.1)
    contrast(1.05)
    brightness(.95);
}

/* INFO */

.info-localizacao{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.local-card{

    display:flex;

    gap:18px;

    align-items:flex-start;

    padding:24px;

    border-radius:24px;

    background:
    linear-gradient(
    145deg,
    rgba(255,255,255,.08),
    rgba(255,255,255,.03));

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

    backdrop-filter:blur(12px);

    transition:.3s;
}

.local-card:hover{

    transform:
    translateY(-5px);

    box-shadow:
    0 15px 35px rgba(0,0,0,.25);
}

.local-card span{

    font-size:30px;
}

.local-card h3{

    color:#fff;

    font-size:22px;

    margin-bottom:6px;

    font-weight:800;
}

.local-card p{

    color:
    rgba(255,255,255,.75);

    line-height:1.6;
}

/* BOTÃO */

.btn-localizacao{

    margin-top:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    height:68px;

    border-radius:20px;

    background:
    linear-gradient(
    135deg,
    #facc15,
    #ffae00);

    color:#4a0404;

    font-weight:900;

    font-size:16px;

    text-decoration:none;

    transition:.3s;

    box-shadow:
    0 15px 30px rgba(255,174,0,.25);
}

.btn-localizacao:hover{

    transform:
    translateY(-4px)
    scale(1.02);
}

/* RESPONSIVO */

@media(max-width:980px){

.localizacao-grid{

    grid-template-columns:1fr;
}

.mapa-box{

    min-height:400px;
}

}

/* ========================================
   ANIMAÇÕES CINEMATOGRÁFICAS
======================================== */

/* ESTADO INICIAL */

.reveal{

    opacity: 0;

    transform:
    translateY(70px)
    scale(.96);

    filter: blur(8px);

    transition:
    opacity 1s ease,
    transform 1s ease,
    filter 1s ease;
}

/* QUANDO APARECE */

.reveal.active{

    opacity: 1;

    transform:
    translateY(0)
    scale(1);

    filter: blur(0);
}

/* DELAYS */

.delay-1{
    transition-delay: .1s;
}

.delay-2{
    transition-delay: .2s;
}

.delay-3{
    transition-delay: .3s;
}

.delay-4{
    transition-delay: .4s;
}

.delay-5{
    transition-delay: .5s;
}

/* HOVER PREMIUM GLOBAL */

.hover-glow{

    transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.hover-glow:hover{

    transform:
    translateY(-8px)
    scale(1.02);

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

/* ========================================
   FLOATING PREMIUM
======================================== */

.float{

    animation:
    floating 5s ease-in-out infinite;
}

@keyframes floating{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-10px);
    }

    100%{
        transform:translateY(0px);
    }
}

/* ========================================
   GLOW PREMIUM
======================================== */

.glow-premium{

    position:relative;

    overflow:hidden;
}

.glow-premium::before{

    content:"";

    position:absolute;

    width:300px;
    height:300px;

    background:
    radial-gradient(
    circle,
    rgba(255,174,0,.22),
    transparent 70%);

    top:-120px;
    right:-120px;

    animation:
    glowMove 7s linear infinite;

    pointer-events:none;
}

@keyframes glowMove{

    0%{
        transform:rotate(0deg);
    }

    100%{
        transform:rotate(360deg);
    }
}

/* ========================================
   3D HOVER
======================================== */

.hover-3d{

    transform-style:
    preserve-3d;

    perspective:1000px;

    transition:.35s;
}

.hover-3d:hover{

    transform:
    rotateX(4deg)
    rotateY(-4deg)
    translateY(-8px)
    scale(1.02);
}

/* ========================================
   LIGHTBOX PREMIUM
======================================== */

.lightbox-premium{

    position:fixed;

    inset:0;

    background:
    rgba(0,0,0,.92);

    backdrop-filter:
    blur(12px);

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:99999;
}

/* ATIVO */

.lightbox-premium.active{

    opacity:1;

    visibility:visible;
}

/* IMAGEM */

.lightbox-premium img{

    max-width:92%;

    max-height:90vh;

    border-radius:24px;

    box-shadow:
    0 25px 80px rgba(0,0,0,.5);

    transform:
    scale(.85);

    transition:.35s;
}

.lightbox-premium.active img{

    transform:
    scale(1);
}

/* FECHAR */

.lightbox-close{

    position:absolute;

    top:30px;
    right:40px;

    width:54px;
    height:54px;

    border-radius:50%;

    background:
    rgba(255,255,255,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:26px;

    cursor:pointer;

    transition:.3s;
}

.lightbox-close:hover{

    transform:rotate(90deg);

    background:
    rgba(255,255,255,.2);
}

/* ========================================
   SCROLL PROGRESS
======================================== */

.scroll-progress{

    position:fixed;

    top:0;
    left:0;

    width:0%;

    height:4px;

    background:
    linear-gradient(
    90deg,
    #ffcc00,
    #ff7b00);

    z-index:999999;

    box-shadow:
    0 0 15px rgba(255,174,0,.6);
}