/*
Theme Name: Festival da Costela — Rancho do Comanche
Theme URI: https://ranchodocomanche.com.br
Author: Notoriety Ads
Author URI: https://instagram.com/notorietyads
Description: Tema de página única para venda de ingressos do Festival da Costela. Fundo em vídeo de fogo, formulário que envia o pedido direto pro WhatsApp e evento de Lead da Meta no clique do botão. Tudo editável em Aparência > Personalizar > Festival da Costela.
Version: 1.1.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: festival-da-costela
Tags: one-page, landing-page, custom-colors, full-width-template
*/

/* ============================================================
   FESTIVAL DA COSTELA — LANDING DIRETA (só formulário)
   Config de número/preço/data: bloco CONFIG no <script>
   ============================================================ */
:root{
  --preto:#080503;
  --brasa:#ff5b13;
  --fogo:#ff8a1f;
  --dourado:#f5b544;
  --creme:#f6e7cf;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  background:#080503;
  color:var(--creme);
  font-family:'Oswald',sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100svh;
  display:flex;flex-direction:column;
  overflow-x:hidden;
}

/* ---------- FUNDO DE FOGO (vídeo) ---------- */
#videoFogo{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);
  min-width:100%;min-height:62vh;width:auto;height:auto;
  max-width:none;object-fit:cover;object-position:bottom center;
  z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.5) 28%,#000 62%);
          mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.5) 28%,#000 62%);
  opacity:.92;
}
@media(min-aspect-ratio:16/9){#videoFogo{width:100%;height:auto}}
@media(max-aspect-ratio:16/9){#videoFogo{width:auto;height:72vh}}
@media(max-width:640px){#videoFogo{height:52vh}}

/* brasas por cima do vídeo */
#fogo{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:1;pointer-events:none;
}
.veu{
  position:fixed;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 55% at 50% 112%,rgba(255,91,19,.22),transparent 60%),
    linear-gradient(180deg,rgba(8,5,3,.90) 0%,rgba(8,5,3,.62) 40%,rgba(8,5,3,.58) 100%);
}
.grao{
  position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- PALCO ---------- */
main{
  position:relative;z-index:5;flex:1;
  width:min(620px,92vw);margin:0 auto;
  padding:clamp(28px,6vh,60px) 0 clamp(40px,7vh,70px);
  display:flex;flex-direction:column;justify-content:center;
}

/* ---------- LOGO ---------- */
.logo-area{text-align:center;margin-bottom:clamp(20px,3.4vh,34px)}
.logo{
  width:min(430px,84%);margin:0 auto;
  filter:drop-shadow(0 10px 40px rgba(255,91,19,.55));
  animation:acende 4s ease-in-out infinite, entra 1.1s cubic-bezier(.16,1,.3,1) both;
}
@keyframes acende{
  0%,100%{filter:drop-shadow(0 10px 34px rgba(255,91,19,.42))}
  45%{filter:drop-shadow(0 14px 54px rgba(255,150,40,.78))}
}
@keyframes entra{from{opacity:0;transform:translateY(26px) scale(.94)}to{opacity:1;transform:none}}

.infos{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px;
  animation:sobe .9s .2s cubic-bezier(.16,1,.3,1) both;
}
.chip{
  border:1px solid rgba(245,181,68,.28);background:rgba(15,9,5,.62);
  backdrop-filter:blur(6px);border-radius:100px;padding:9px 17px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e2d0b6;white-space:nowrap;
}
.chip b{color:var(--dourado);font-weight:600}
@keyframes sobe{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- CARTÃO DO FORMULÁRIO ---------- */
.card{
  border:1px solid rgba(245,181,68,.24);border-radius:20px;
  padding:clamp(24px,4.6vw,40px);
  background:linear-gradient(165deg,rgba(32,20,11,.93),rgba(10,6,4,.96));
  box-shadow:0 30px 90px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(10px);
  position:relative;overflow:hidden;
  animation:sobe 1s .35s cubic-bezier(.16,1,.3,1) both;
}
.card::before{
  content:'';position:absolute;left:-20%;bottom:-70%;width:140%;height:140%;
  background:radial-gradient(circle at 50% 100%,rgba(255,91,19,.16),transparent 62%);
  pointer-events:none;
}
.card > *{position:relative}

.titulo-form{
  font-family:'Special Elite',monospace;font-size:12px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--brasa);text-align:center;margin-bottom:8px;
}
.sub-form{
  text-align:center;font-weight:300;font-size:clamp(15px,2vw,17.5px);color:#c2ae94;
  line-height:1.55;margin-bottom:26px;
}
.sub-form b{color:var(--creme);font-weight:600}

.linha{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.campo{display:flex;flex-direction:column}
.campo.full{grid-column:1/-1}
label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#a8937a;margin-bottom:8px}
input,select,textarea{
  width:100%;background:rgba(0,0,0,.5);border:1px solid rgba(246,231,207,.14);
  border-radius:10px;padding:14px 15px;color:var(--creme);
  font-family:'Oswald',sans-serif;font-size:16px;font-weight:300;
  transition:border-color .25s,box-shadow .25s,background .25s;
}
textarea{resize:vertical;min-height:72px}
select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='%23f5b544'%3E%3Cpath d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center}
select option{background:#140d08;color:var(--creme)}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--dourado);background:rgba(0,0,0,.66);
  box-shadow:0 0 0 3px rgba(245,181,68,.14),0 0 24px rgba(255,138,31,.16);
}
input::placeholder,textarea::placeholder{color:#6b5b48}
.erro{border-color:#ff4d4d!important;box-shadow:0 0 0 3px rgba(255,77,77,.15)!important}

/* stepper */
.stepper{display:flex;border:1px solid rgba(246,231,207,.14);border-radius:10px;
  overflow:hidden;background:rgba(0,0,0,.5)}
.stepper button{
  width:48px;flex:none;border:none;background:rgba(245,181,68,.08);color:var(--dourado);
  font-size:21px;font-family:'Oswald',sans-serif;cursor:pointer;
  transition:background .2s,color .2s;line-height:1;
}
.stepper button:hover{background:var(--brasa);color:#2b1200}
.stepper button:active{transform:scale(.94)}
.stepper input{border:none;border-radius:0;background:transparent;text-align:center;
  font-size:18px;font-weight:600;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{box-shadow:none}

/* resumo */
.resumo{margin:22px 0 4px;border-top:1px dashed rgba(245,181,68,.3);padding-top:18px}
.resumo[hidden]{display:none}
.resumo:not([hidden]){animation:sobe .45s cubic-bezier(.16,1,.3,1)}
.resumo .item[hidden]{display:none}
.resumo .item{display:flex;justify-content:space-between;font-weight:300;font-size:14.5px;
  color:#b8a48b;padding:6px 0}
.resumo .total{display:flex;justify-content:space-between;align-items:baseline;
  margin-top:12px;padding-top:14px;border-top:1px solid rgba(246,231,207,.12)}
.resumo .total span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#a8937a}
.resumo .total strong{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(28px,6vw,38px);line-height:1;
  background:linear-gradient(180deg,#fff3dc,#f5b544 55%,#ff7a12);
  -webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;
}
.resumo .total strong.pulou{animation:pulo .42s cubic-bezier(.2,1.6,.4,1)}
@keyframes pulo{0%{transform:scale(1)}45%{transform:scale(1.13)}100%{transform:scale(1)}}

/* botão */
.btn{
  position:relative;display:flex;align-items:center;justify-content:center;gap:11px;
  width:100%;margin-top:20px;padding:20px;border:none;border-radius:12px;cursor:pointer;
  font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(15px,2.2vw,18px);
  letter-spacing:.12em;text-transform:uppercase;color:#03200f;overflow:hidden;
  background:linear-gradient(135deg,#4ee07a,#25d366 55%,#128c4a);
  box-shadow:0 12px 40px rgba(37,211,102,.32),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s;
}
.btn::after{
  content:'';position:absolute;top:0;left:-120%;width:55%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);animation:brilho 3.6s ease-in-out infinite;
}
@keyframes brilho{0%{left:-120%}45%,100%{left:170%}}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 55px rgba(37,211,102,.48),inset 0 1px 0 rgba(255,255,255,.45)}
.btn:active{transform:translateY(0) scale(.99)}

.aviso{font-size:12.5px;font-weight:300;color:#8d7862;text-align:center;margin-top:14px;line-height:1.55}
.rodape{
  text-align:center;margin-top:24px;font-size:12px;font-weight:300;color:#6f5f4d;line-height:1.7;
  letter-spacing:.05em;
}
.rodape a{color:var(--dourado);text-decoration:none}

@media(max-width:560px){
  .linha{grid-template-columns:1fr;gap:12px}
  main{padding-top:22px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
}