html{
  scroll-behavior: smooth;
}

/* ===== FONTES ===== */

@font-face {
  font-family: 'Cinzel';
  src: url('../fonts/cinzel/CinzelDecorative-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'CG-Light';
  src: url('../fonts/Cormorant_Garamond,EB_Garamond/Cormorant_Garamond/static/CormorantGaramond-Light.ttf') format('opentype');
  font-weight: 150;
  font-style: normal;
}

:root{
  --gold:#c9a23f;
  --red:#c01818;
  --text:#d0d0d0;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family: serif;
  background:radial-gradient(circle at top,#1a1a1a 0%,#000 70%);
  color:var(--text);
  line-height:1.7;
}

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

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

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:rgba(0,0,0,.85);
  border-bottom:1px solid rgba(201,162,63,.3);
}

.nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 60px;
  font-family:'Cinzel', serif;
  position:relative;
}

.logo{
  color: var(--gold);
  font-size: 20px;
  letter-spacing: 2px;
  display:flex;
  align-items:center;
  gap:12px;
}

/* ===== MENU DESKTOP ===== */

.menu{
  display:flex;
  flex-wrap: wrap; /* permite quebrar para outra linha */
}

.menu a{
  white-space: nowrap; /* impede quebrar o texto interno */
  position: relative;
  margin-left:24px;
  font-size:16px;
  letter-spacing:1px;
  color:#aaa;
  transition: color .3s ease;
}

.menu a:hover,
.menu a.active-menu{
  color: var(--gold);
}

/* ===== TOGGLE ===== */

.menu-toggle{
  display:none;
  font-size:24px;
  color:var(--gold);
  cursor:pointer;
}

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

@media(max-width:768px){

  .nav{
    justify-content:center;
    padding:14px 24px;
  }

  /* 🔥 ESCONDE TEXTO */
  .logo-text{
    display:none;
  }

  /* 🔥 CENTRALIZA LOGO */
  .logo{
    margin:0 auto;
  }

  /* 🔥 MOSTRA HAMBURGER */
  .menu-toggle{
    display:block;
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
  }

  

  /* 🔥 MENU MOBILE */
  .menu{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#000;
    border-top:1px solid rgba(201,162,63,.3);
    display:none;
    flex-direction:column;
    text-align:center;
    z-index:1500; 
  }

  .menu a{
    padding:14px 0;
    margin:0;
    border-bottom:1px solid rgba(255,255,255,.05);
  }

  .menu.active{
    display:flex;
  }
}

/* ===== BARRA ELEGANTE DO MENU ===== */

.menu a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(201,162,63,0.9),
    transparent
  );
  transform: translateX(-50%);
  transition: width .35s ease;
}

/* Hover e item ativo */
.menu a:hover::after,
.menu a.active-menu::after{
  width:100%;
}

/* Cor no hover e ativo */
.menu a:hover,
.menu a.active-menu{
  color:var(--gold);
}

/* ===== BARRA ELEGANTE NOS SUBTÍTULOS (KIMBANDA / MAGIA GOETIA) ===== */

.about-text h3{
  position: relative;
  text-align: left; /* alinhado à esquerda */
  margin: 50px 0 25px;
  font-family:'Cinzel', serif;
  letter-spacing: 3px;
}

.about-text h3::after{
  content:"";
  display:block;
  width:120px;
  height:1px;
  margin:14px 0 0 0; /* alinhado à esquerda */
  background: linear-gradient(
    90deg,
    rgba(201,162,63,0.8),
    rgba(201,162,63,0.4),
    transparent
  );
}

/* ===== SEPARADOR FINAL NO TEXTO ABOUT ===== */

.final-divider{
  position: relative;
  margin-top: 60px; /* espaço antes da linha */
  padding-top: 30px; /* espaço entre linha e texto */
}

.final-divider::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:120px;
  height:1px;
  background: linear-gradient(
    90deg,
    rgba(201,162,63,0.8),
    rgba(201,162,63,0.4),
    transparent
  );
}
/* ===== SECTIONS ===== */

section{
  padding:120px 24px;
  background:#1a1a1a;
}

.container{
  max-width:1200px;
  margin:auto;
}

/* ===== HERO ===== */

#inicio{
  position:relative;
  min-height:45vh;
  max-height:800px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--text);
  overflow:visible;
}

#bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:2.39/1;
}

#inicio::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.75),
    rgba(0,0,0,0.55)
  );
  z-index:1;
}

#inicio .container{
  position:relative;
  z-index:5;
}

/* Alternância */

#mausoleu{background:#000;}
#fotos{background:#0c0c0c;}
#trabalhos{background:#000;}
#ebook{background:#0c0c0c;}
#contato{background:#000;}

#inicio h1{
  font-family:'Cinzel', serif;
  color:var(--gold);
  font-size:70px;
  letter-spacing:4px;
  font-weight:500;
}

#inicio h2{
  font-family:'Cinzel', serif;
  font-size:28px;
  letter-spacing:3px;
  font-weight:300;
  margin-bottom:25px;
}

#inicio p{
  max-width:720px;
  margin:0 auto 40px;
  color:#bbb;
}

#inicio p.hero-text{
  font-family:'CG-Light', serif;
  font-size:20px;
  color:#d6d6d6;
  max-width:720px;
  margin:0 auto 40px;
  line-height:1.8;
  letter-spacing:.5px;
}

@media (max-width:768px){
  #inicio{
    min-height:100svh;
    background-position:center top;
    background-size:cover;
  }
}

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

.btn{
  display:inline-block;
  padding:14px 30px;
  font-family:'Cinzel', serif;
  letter-spacing:2px;
  font-size:14px;
  margin:0 10px;
  transition:.3s;
}

.btn.red{
  background:var(--red);
  color:#fff;
  border:1px solid var(--red);
}

.btn.red:hover{
  background:transparent;
  color:var(--gold);
  border-color:var(--gold);
  box-shadow:
    0 0 12px rgba(192,24,24,.35),
    0 0 25px rgba(192,24,24,.2);
}

.btn.gold{
  color:var(--gold);
  border:1px solid var(--gold);
  background:transparent;
}

.btn.gold:hover{
  background:rgba(201,162,63,.12);
  color:#fff;
  box-shadow:
    0 0 15px rgba(201,162,63,.35),
    0 0 30px rgba(201,162,63,.15);
}


    /* ===== TÍTULOS ===== */
    .section-title{
      text-align:center;
      margin-bottom:70px;
    }

    .section-title h2{
      font-family:'Cinzel', serif;
      color:var(--gold);
      font-size:38px;
      letter-spacing:3px;
      font-weight:400;
    }

       /* ===== FOTOS ===== */

    .fotos-grid{
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 30px;
    }

    /* Caixa quadrada com mesmos efeitos dos trabalhos */
    .foto-card{
      position: relative;
      aspect-ratio: 1 / 1; /* força quadrado */
      overflow: hidden;
      border: 1px solid rgba(201,162,63,.35); /* mantém padrão visual dos cards */
      transition: 
        transform .4s ease, 
        box-shadow .4s ease, 
        border-color .4s ease;
    }

    /* Hover igual aos Trabalhos */
    .foto-card:hover{
      transform: scale(1.05);
      border-color: var(--gold);
      box-shadow:
        0 0 0 1px rgba(192,24,24,.35),
        0 0 25px rgba(192,24,24,.55),
        0 0 50px rgba(192,24,24,.35);
    }

    /* Imagem se adapta ao quadrado sem distorcer */
    .foto-card img{
      width: 100%;
      height: 100%;
      object-fit: cover; /* mantém proporção, corta excesso */
      display: block;
    }

    /* ===== MARCA D'ÁGUA NAS FOTOS ===== */

    .foto-card::after{
      content: "";
      position: absolute;
      inset: 0;
      background: 
        url("../img/MAUSOLÉU_DAS_ALMAS.webp") 
        center center / 60% no-repeat;
      opacity: 0.5; /* transparência da marca */
      pointer-events: none; /* não interfere no hover */
      z-index: 3;
      transition: opacity .3s ease;
    }

    /* Foto fica abaixo da marca */
    .foto-card img{
      position: relative;
      z-index: 1;
    }

    /* No hover a marca fica ainda mais sutil */
    .foto-card:hover::after{
      opacity: 0.1;
    }



    /* ===== TRABALHOS ===== */
    .grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
      gap:30px;
    }

    #trabalhos .grid{
      margin-top:100px;
    }

    .card{
      font-family: 'CG-Light', serif; /* BG-Light */
      font-weight: normal;             /* sem bold */
      font-size: 16px;                 /* ajustável conforme o design */
      position:relative;
      border:1px solid rgba(201,162,63,.35);
      padding:30px;
      transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
    }

    .card:hover{
      transform:scale(1.05);
      border-color:var(--gold);
      box-shadow:
        0 0 0 1px rgba(192,24,24,.35),
        0 0 25px rgba(192,24,24,.55),
        0 0 50px rgba(192,24,24,.35);
    }

    .card h3{
      font-family:'Cinzel', serif;
      color:var(--gold);
      letter-spacing:2px;
    }

   .card i{
      font-size:32px;
      color:var(--gold);
      margin-bottom:18px;
      display:block;
      transition:color .25s ease;
    }

    .card:hover i{
      color:var(--red);
    }

    /* ===== CONSULTAS ===== */

    /* Grid das consultas */
    .consultas {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 30px;
    }

    /* Borda e padding das caixas */
    .box {
      border: 1px solid var(--gold);
      padding: 25px;
      background: #0c0c0c;
      border-radius: 8px;
    }

    /* Cabeçalhos das caixas */
    .box h3 {
      font-family: 'Cinzel', serif;
      color: var(--gold);
      margin-bottom: 20px;
      text-align: left;
      font-size: 22px;
    }

    /* ===== COMO FUNCIONA - números do lado esquerdo ===== */
    .steps .step {
      display: flex;
      align-items: flex-start;
      margin-bottom: 15px;
    }

    .steps .num {
      color: var(--red);
      font-weight: bold;      
      font-size: 22px;
      width: 40px;            
      flex-shrink: 0;
    }

    .steps .step p {
      color: #fff;
      margin: 0;
      font-size: 18px;
      line-height: 1.6;
      font-family: 'CG-Light', serif;
      font-weight: normal;
    }

    /* ===== IMPORTANTE - símbolos dourados ===== */
    .important-list {
      list-style: none;  /* remove as bolinhas */
      padding-left: 0;
      margin: 0;
    }

    .important-list li {
      position: relative;
      padding-left: 28px;
      margin-bottom: 12px;
      color: #fff;
      font-size: 18px;
      line-height: 1.6;
      font-family: 'CG-Light', serif;
      font-weight: normal;
    }

    .important-list li::before {
      content: "✦";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--gold);
      font-size: 20px;
    }


/* ===== CONSULTAS DENTRO DE TRABALHOS ===== */

#trabalhos .consultas{
  margin-top:100px; /* espaço entre grid e caixas */
}

#trabalhos .box{
  border: 1px solid rgba(201,162,63,.35); /* mantém padrão visual dos cards */
  background:#0c0c0c;
  padding: 30px;
  border-radius: 0; /* mantém padrão do resto do site se não usar radius nos cards */
  transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}

#trabalhos .box:hover{
  border-color:var(--gold);
  box-shadow:
    0 0 0 1px rgba(192,24,24,.35),
    0 0 25px rgba(192,24,24,.55),
    0 0 50px rgba(192,24,24,.35);
  transform:scale(1.02);
}


    /* ===== CONTATO ===== */
    .contact-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:50px;
    }

      .contact-info h3 {
      font-family: 'Cinzel', serif; /* título dourado */
      color: var(--gold);
      margin-bottom: 20px;
      font-size: 22px;
    }

    .contact-info p {
      font-family: 'Cinzel', serif; /* mantém Cinzel */
      color: #fff;
      font-size: 18px;
      line-height: 1.6;
      margin-bottom: 12px;
      text-transform: lowercase !important; /* força minúsculas */
    }



    .contact-info p i {
      margin-right: 10px;
      color: var(--gold); /* ícones dourados */
    }

    /* ===== BANDEIRA BRASIL NO CONTATO ===== */
    .flag-br{
      width:22px;       /* controla o tamanho */
      height:auto;      
      vertical-align:middle;
      margin:0 6px;     /* espaço entre +55 e número */
      pointer-events:none; /* mantém sua proteção */
    }

    form input,
    form textarea{
      width:100%;
      padding:12px;
      margin-bottom:15px;
      background:#0f0f0f;
      border:1px solid rgba(255,255,255,.1);
      color:#fff;
    }

    form button{
      width:100%;
      padding:14px;
      background:var(--red);
      border:1px solid transparent;
      color:#fff;
      font-family:'Cinzel', serif;
      letter-spacing:2px;
      cursor:pointer;
      transition:
        background .3s ease,
        border-color .3s ease,
        color .3s ease,
        box-shadow .3s ease;
    }

    form button:hover{
      background:#8e1010; /* vermelho mais profundo */
      border-color:var(--gold);
      color:var(--gold);
      box-shadow:
        0 0 15px rgba(201,162,63,.35),
        0 0 30px rgba(201,162,63,.15);
    }


    footer{
      padding:40px;
      text-align:center;
      color:#666;
      font-size:14px;
      background:#000;
    }

    @media(max-width:900px){
      .about,.consultas,.contact-grid{grid-template-columns:1fr}
      #inicio h1{font-size:40px}
    }


    /* ===== DESTAQUE DO NOME ===== */
    .highlight-gold {
      color: var(--gold);
      font-weight: 600;       /* destaque sutil sem ser exagerado */
      font-family: 'Cinzel', serif;
    }

    /* ===== DIVISOR DOURADO ANTES DO FOOTER ===== */
    .footer-divider{
      width: 100%;
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(201,162,63,0.8),
        transparent
      );
    }

    /* ===== FOOTER ===== */
    footer{
      color: var(--gold); /* texto dourado */
      background: #000;
      letter-spacing: 1px;
    }

    /* ===== LINK TERMOS NO FOOTER ===== */
.terms-link{
  position: relative;
  color: var(--gold);
  transition: color .3s ease;
}

/* Barra elegante igual ao menu */
.terms-link::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(201,162,63,0.9),
    transparent
  );
  transform: translateX(-50%);
  transition: width .35s ease;
}

/* Hover */
.terms-link:hover::after{
  width:100%;
}

    /* ===== BARRA ELEGANTE NOS TITULOS =====*/
    /* barra elegante abaixo dos títulos */
    .section-title h2{
      position: relative;
    }

    .section-title h2::after{
      content:"";
      display:block;
      width:120px;
      height:1px;
      margin:14px auto 0;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(201,162,63,0.8),
        transparent
      );
    }

    /* ===== EFEITO FUMAÇA NO HERO ===== */
    #inicio .container >  *{
      opacity: 0;
      transform: translateY(30px);
      filter: blur(8px);
      transition:
        opacity 1.8s ease,
        transform 1.8s ease,
        filter 2.2s ease;
    }

    /* estado visível */
    #inicio.reveal .container > *{
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }

    /* delays sutis para efeito ritual */
    #inicio.reveal h1{ transition-delay: .5s; }
    #inicio.reveal h2{ transition-delay: .9s; }
    #inicio.reveal p{ transition-delay: 2.1s; }
    #inicio.reveal .btn{ transition-delay: 2.5s; }

/* ===================================================== */
/* ===== PROTEÇÃO DE IMAGENS - MAUSOLÉU DAS ALMAS ===== */
/* ===================================================== */

/* PROTEÇÃO GLOBAL DO SITE */
body, html {
  user-select: none;        /* bloqueia seleção de texto */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* Bloqueia arraste de todas as imagens */
img {
  -webkit-user-drag: none;  
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  pointer-events: none; /* opcional se não quiser clicar */
}

/* Mantém hover nos cards de fotos mesmo com pointer-events none global */
.foto-card:hover {
  pointer-events: auto;
}


/* ===== MODAL ===== */
.modal {
  display: none; /* invisível por padrão */
  position: fixed;
  z-index: 2000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.85);
  backdrop-filter: blur(4px);
}

.modal-content {
  background: #0c0c0c url("../img/MAUSOLÉU_DAS_ALMAS.webp") center center no-repeat;
  background-size: 60%; /* ajusta tamanho do medalhão */
  background-blend-mode: overlay; /* mistura com o fundo escuro */
  opacity: 0.95; /* leve transparência para efeito visual */
  margin: 10% auto;
  padding: 30px;
  border: 1px solid var(--gold);
  width: 90%;
  max-width: 700px;
  color: #d0d0d0;
  font-family: 'CG-Light', serif;
  line-height: 1.7;
  position: relative;
  box-shadow: 0 0 50px rgba(201,162,63,0.5);
  text-align: justify; /* texto justificado */
}

.modal h2 {
  font-family: 'Cinzel', serif;
  color: var(--gold);
  text-align: center; /* título centralizado */
  margin-bottom: 20px;
  font-size: 28px;
}

.modal p {
  margin-bottom: 15px;
  text-align: justify; /* parágrafos justificados */
}

.modal .close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  color: var(--gold);
  cursor: pointer;
  background: none;
  border: none;
}

.modal .close:hover {
  color: var(--red);
}

/* Botão dentro do modal */
.modal button.close {
  display: block;
  margin: 20px auto 0;
  text-align: center;
}

/* ===== EBOOK DISCLAIMER ===== */
.img-disclaimer{
  font-size:18px;
  color:rgba(201, 162, 63, 0.749); /* dourado sutil */
  margin-top:15px;
  text-align:center;
  font-family:'CG-Light', serif;
  letter-spacing:1px;
  font-style:italic;
}

/* ===================================== */
/* ===== BOTÃO RITUAL DE COMPRA ===== */
/* ===================================== */

.btn-ritual{
  font-weight: bold;
  letter-spacing: 2px;
  background: rgba(192,24,24,0.18); /* vermelho interno sutil */
  border: 1px solid var(--gold);

  box-shadow:
    0 0 10px rgba(201,162,63,.6),      /* glow dourado externo */
    inset 0 0 18px rgba(192,24,24,.35); /* brilho vermelho interno */

  animation: ritualPulse 4s infinite ease-in-out;
  transition: all .35s ease;
}

/* pulsação lenta */
@keyframes ritualPulse{
  0%{
    box-shadow:
      0 0 8px rgba(201,162,63,.5),
      inset 0 0 14px rgba(192,24,24,.3);
  }
  50%{
    box-shadow:
      0 0 18px rgba(201,162,63,.9),
      inset 0 0 25px rgba(192,24,24,.5);
  }
  100%{
    box-shadow:
      0 0 8px rgba(201,162,63,.5),
      inset 0 0 14px rgba(192,24,24,.3);
  }
}

/* Hover mais intenso */
.btn-ritual:hover{
  transform: scale(1.07);
  color:#fff;

  box-shadow:
    0 0 25px rgba(201,162,63,1),
    0 0 45px rgba(201,162,63,.6),
    inset 0 0 30px rgba(192,24,24,.6);
}

/* ===== TEXTO JUSTIFICADO CONTROLADO ===== */
.align-text {
  text-align: justify;
  text-justify: inter-word;
}

/* Evita distorção em textos muito curtos */
.align-text p {
  margin-bottom: 1rem;
}

/* Se houver quebra de linha manual, evita espaçamento estranho */
.align-text br {
  display: none;
}

/*Efeito link Contatos*/
.contact-link {
  font-family: 'CG-Light', serif;
  font-size: 25px;
  position: relative;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* barra dourada embaixo */
.contact-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;  /* ligeiramente abaixo do texto */
  width: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(201,162,63,0.9),
    transparent
  );
  transform: translateX(-50%);
  transition: width 0.35s ease;
}

/* hover: barra se expande e texto muda de cor */
.contact-link:hover {
  color: var(--gold);
}

.contact-link:hover::after {
  width: 100%;
}

/* MODAL PAGAMENTO E-BOOK*/
.modal-content img {
  box-shadow:
    0 0 15px rgba(201,162,63,.6),
    inset 0 0 20px rgba(192,24,24,.3);
}

/* ===== FORM PIX MODAL ===== */

.pix-form{
  margin-top:20px;
}

.pix-form input[type="text"],
.pix-form input[type="email"],
.pix-form input[type="file"]{
  width:100%;
  padding:12px;
  margin-bottom:15px;
  background:#0f0f0f;
  border:1px solid rgba(201,162,63,.3);
  color:#fff;
  font-family:'CG-Light', serif;
  transition:.3s;
}

.pix-form input:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 10px rgba(201,162,63,.4);
}

.pix-form button{
  font-family:'Cinzel', serif;
  letter-spacing:2px;
}

/* ===== PIX COPY AREA ===== */

.pix-copy-area{
  margin-top:25px;
}

.pix-copy-box{
  display:flex;
  gap:10px;
}

.pix-copy-box input{
  flex:1;
  padding:10px;
  background:#0f0f0f;
  border:1px solid rgba(201,162,63,.3);
  color:#fff;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pix-copy-msg{
  display:block;
  margin-top:8px;
  color:var(--gold);
  font-size:14px;
}

/* RESPONSIVO MOBILE */
@media (max-width: 600px){

  .pix-copy-box{
     flex-direction: column; /* joga um embaixo do outro */
     width:100%;
  }

  .pix-copy-box input,
  .pix-copy-box textarea{
     width:100%;
  }

  .pix-copy-box button{
     width:100%;
     margin-top:10px;
  }

}

.preco-cartao{
  display:flex;
  align-items:baseline;
  justify-content:center; /* centraliza horizontalmente */
  gap:8px;
  margin-top:10px;
  text-align:center;
}

.preco-cartao .parcelas{
  font-family:'CG-Light', serif;
  font-size:16px;
  color:#ccc;
}

.preco-cartao .valor{
  font-family:'Cinzel', serif;
  font-size:26px;
  color:var(--gold);
  font-weight:600;
}