:root{
  --roxo:#1b0b28;
  --roxo2:#241033;
  --roxo3:#12071d;
  --dourado:#c9a75d;
  --dourado2:#e0c176;
  --creme:#fff4dc;
  --texto:#e6d4a6;
  --muted:#cbb98a;
  --borda:rgba(201,167,93,.18);
  --vidro:rgba(255,244,220,.055);
  --verde:#25D366;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:
    radial-gradient(circle at 50% -10%, rgba(201,167,93,.22), transparent 32rem),
    radial-gradient(circle at 100% 30%, rgba(120,63,151,.18), transparent 30rem),
    radial-gradient(circle at 0% 95%, rgba(201,167,93,.12), transparent 35rem),
    var(--roxo);
  color:var(--creme);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.container{width:min(1180px, calc(100% - 36px));margin:auto}
.glass{border:1px solid var(--borda);background:var(--vidro);backdrop-filter:blur(14px)}
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  border-bottom:1px solid var(--borda);
  background:rgba(27,11,40,.88);
  backdrop-filter:blur(18px);
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:14px}
.logo-mark{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  border:2px solid var(--dourado);color:var(--dourado);
  font-family:Georgia,serif;font-size:34px;font-weight:900;
  box-shadow:0 0 28px rgba(201,167,93,.22);
}
.logo-title{font-family:Georgia,serif;font-size:32px;font-weight:900;letter-spacing:.14em;color:var(--dourado);line-height:.85}
.logo-sub{margin-top:8px;font-size:10px;font-weight:700;letter-spacing:.36em;color:var(--dourado2)}
.menu{display:flex;gap:26px;align-items:center}
.menu a{font-size:14px;font-weight:700;color:var(--muted)}
.menu a:hover{color:var(--dourado2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;cursor:pointer;border-radius:999px;padding:14px 22px;font-weight:900;font-size:14px;transition:.25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,#fff0c2,var(--dourado2),#9b7834);color:var(--roxo)}
.btn-outline{border:1px solid rgba(201,167,93,.28);background:rgba(255,244,220,.055);color:var(--creme)}
.mobile-btn{display:none;background:transparent;border:1px solid var(--borda);color:var(--creme);border-radius:14px;padding:10px 12px;font-size:22px}
.mobile-menu{display:none;padding:0 0 18px}
.mobile-menu-box{display:grid;gap:8px;padding:12px;border-radius:22px}
.hero{min-height:100vh;padding:150px 0 80px;display:grid;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,167,93,.28);background:rgba(201,167,93,.10);color:#f0dfb3;padding:10px 15px;border-radius:999px;font-size:14px;margin-bottom:28px}
.hero-logo{margin-bottom:26px}
.hero-logo-mark{width:68px;height:68px;font-size:45px}
.hero-logo-title{font-size:56px}
.hero h1{margin:26px 0 0;font-size:clamp(46px, 7vw, 86px);line-height:.92;letter-spacing:-.06em;color:var(--creme)}
.lead{color:var(--texto);font-size:20px;line-height:1.75;max-width:680px;margin:28px 0 0}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-art{position:relative;min-height:560px}
.float-card{position:absolute;border-radius:42px;overflow:hidden;border:1px solid var(--borda);background:var(--roxo2);padding:14px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.float-card.one{left:0;top:34px;width:74%;height:455px;animation:float1 6s ease-in-out infinite}
.float-card.two{right:0;bottom:24px;width:62%;height:360px;animation:float2 7s ease-in-out infinite}
.photo{height:100%;border-radius:32px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:22px;position:relative;overflow:hidden}
.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(27,11,40,.12),rgba(18,7,29,.72))}
.photo div{position:relative;background:rgba(18,7,29,.45);padding:18px;border-radius:24px;backdrop-filter:blur(10px)}
.photo small{display:block;color:var(--dourado2);font-weight:900;letter-spacing:.24em;text-transform:uppercase;margin-bottom:8px}
.photo strong{font-size:27px;line-height:1.1}
@keyframes float1{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(-1deg)}}
@keyframes float2{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(18px) rotate(2deg)}}
section{padding:95px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:42px}
.section-head.center{justify-content:center;text-align:center}
.section-head h2{margin:0;max-width:760px;font-size:clamp(34px,5vw,62px);line-height:.96;letter-spacing:-.045em}
.section-head p{max-width:430px;color:var(--texto);line-height:1.65;margin:0}
.catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{border:1px solid var(--borda);background:var(--vidro);border-radius:32px;padding:18px;transition:.25s ease}
.card:hover{transform:translateY(-8px);background:rgba(255,244,220,.085)}
.card-img{height:165px;border-radius:24px;background-size:cover;background-position:center;margin-bottom:18px}
.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(201,167,93,.15);color:#f0dfb3;font-size:12px;font-weight:900;margin-bottom:16px}
.card h3{margin:0;font-size:24px}
.card p{color:var(--texto);line-height:1.6;font-size:14px}
.event-box{border-radius:48px;padding:42px;border:1px solid var(--borda);background:linear-gradient(135deg,rgba(255,244,220,.09),rgba(255,244,220,.03))}
.event-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.event-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.event-item{padding:18px;border-radius:24px;border:1px solid var(--borda);background:rgba(18,7,29,.38);font-weight:800;color:var(--creme)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{position:relative;overflow:hidden;border-radius:32px;border:1px solid var(--borda);background:var(--vidro);padding:28px}
.step .num{position:absolute;right:-5px;top:-24px;font-size:90px;font-weight:900;color:rgba(244,221,176,.06)}
.step-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--dourado);color:var(--roxo);font-weight:900;margin-bottom:24px}
.step h3{font-size:24px;margin:0}
.step p{color:var(--texto);line-height:1.6}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.insta-card{overflow:hidden;border-radius:30px;border:1px solid var(--borda);background:var(--vidro);transition:.25s}
.insta-card:hover{transform:translateY(-8px)}
.insta-img{height:280px;background-size:cover;background-position:center}
.insta-card p{padding:18px;color:var(--texto);font-size:14px;line-height:1.55;margin:0}
.embed-note{margin-top:20px;border:1px solid var(--borda);background:rgba(18,7,29,.36);padding:16px;border-radius:24px;color:var(--muted);font-size:14px;line-height:1.6}
.contact-wrap{border-radius:48px;padding:1px;background:linear-gradient(135deg,#fff0c2,var(--dourado),#6f4d1e);box-shadow:0 35px 80px rgba(201,167,93,.18)}
.contact-inner{border-radius:47px;background:rgba(27,11,40,.94);padding:48px;display:grid;grid-template-columns:1fr .9fr;gap:44px}
.form{border:1px solid var(--borda);background:var(--vidro);border-radius:32px;padding:22px}
.form-title{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.form-title .step-icon{margin:0}
.form-title div div{font-size:12px;color:var(--muted)}
.form-grid{display:grid;gap:14px}
input,textarea,select{width:100%;border:1px solid rgba(201,167,93,.22);background:rgba(18,7,29,.38);color:var(--creme);border-radius:18px;padding:15px 17px;outline:none;font:inherit}
input::placeholder,textarea::placeholder{color:#8f7a54}
input:focus,textarea:focus,select:focus{border-color:var(--dourado)}
textarea{min-height:125px;resize:vertical}
.success,.error{display:none;padding:13px 15px;border-radius:18px;font-weight:800}
.success{border:1px solid rgba(110,231,183,.25);background:rgba(110,231,183,.10);color:#b7f7d4}
.error{border:1px solid rgba(252,165,165,.25);background:rgba(239,68,68,.10);color:#fecaca}
.whatsapp-float{position:fixed;left:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:12px;border:1px solid rgba(201,167,93,.35);background:rgba(27,11,40,.92);backdrop-filter:blur(12px);padding:12px 18px 12px 12px;border-radius:999px;box-shadow:0 0 38px rgba(201,167,93,.25);transition:.25s ease}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}
.zap-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:#06160c;font-weight:900;font-size:22px}
.zap-text small{display:block;color:var(--muted);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.zap-text strong{color:var(--creme);font-size:14px}
footer{border-top:1px solid var(--borda);padding:28px;text-align:center;color:var(--muted)}
@media (max-width:900px){
  .menu,.nav .btn{display:none}
  .mobile-btn{display:block}
  .hero-grid,.event-grid,.contact-inner{grid-template-columns:1fr}
  .hero-art{min-height:870px}
  .catalog,.steps,.insta-grid{grid-template-columns:1fr 1fr}
  .section-head{display:block}
  .section-head p{margin-top:16px}
}
@media (max-width:560px){
  .catalog,.steps,.event-list,.insta-grid{grid-template-columns:1fr}
  .logo-title{font-size:26px}
  .logo-sub{font-size:8px}
  .hero{padding-top:125px}
  .hero-art{display:none}
  .contact-inner{padding:26px}
  .zap-text{display:none}
  .whatsapp-float{left:14px;bottom:14px;padding:10px}
}


/* ===== Luxo, luz interativa, WhatsApp fixo e responsivo refinado ===== */
.luxury-cursor-light{
  position:fixed;
  left:0;
  top:0;
  width:520px;
  height:520px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:.24;
  transform:translate(-50%, -50%);
  background:radial-gradient(circle, rgba(224,193,118,.25), rgba(109,61,138,.11) 35%, transparent 68%);
  filter:blur(8px);
  transition:opacity .25s ease;
}

body > *:not(.luxury-cursor-light){
  position:relative;
}

.small-lead{
  font-size:16px;
  margin:0 0 18px;
}

.full-btn{
  width:100%;
  margin-top:12px;
}

.conversion-mini-card{
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Botão WhatsApp fixo, simples e sem bug de chat */
.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  left:auto;
  z-index:90;
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid rgba(201,167,93,.36);
  background:rgba(27,11,40,.94);
  color:var(--creme);
  backdrop-filter:blur(14px);
  padding:13px 20px 13px 13px;
  border-radius:999px;
  box-shadow:0 0 42px rgba(201,167,93,.25), 0 18px 60px rgba(0,0,0,.35);
  transition:.25s ease;
}

.whatsapp-float:hover{
  transform:translateY(-4px) scale(1.035);
  background:rgba(36,16,51,.96);
}

.whatsapp-float::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:999px;
  border:1px solid rgba(37,211,102,.23);
  animation:zapPulse 1.9s ease-in-out infinite;
}

.zap-icon{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#25D366;
  color:#06160c;
  box-shadow:0 0 24px rgba(37,211,102,.28);
}

.zap-text small{
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.zap-text strong{
  color:var(--creme);
  font-size:16px;
}

@keyframes zapPulse{
  0%{transform:scale(.96);opacity:.8}
  70%{transform:scale(1.12);opacity:0}
  100%{transform:scale(1.12);opacity:0}
}

/* Página de orçamento */
.orcamento-page .topbar{
  background:rgba(27,11,40,.9);
}

.quote-hero{
  min-height:100vh;
  padding:145px 0 70px;
  display:grid;
  align-items:center;
}

.quote-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:42px;
  align-items:center;
}

.quote-grid h1{
  margin:0;
  font-size:clamp(44px, 6vw, 78px);
  line-height:.94;
  letter-spacing:-.055em;
}

.quote-benefits{
  display:grid;
  gap:12px;
  margin-top:32px;
}

.quote-benefits div{
  border:1px solid var(--borda);
  background:rgba(255,244,220,.055);
  border-radius:22px;
  padding:16px;
}

.quote-benefits strong{
  display:block;
  color:var(--dourado2);
}

.quote-benefits span{
  display:block;
  margin-top:5px;
  color:var(--texto);
}

.quote-form{
  padding:28px;
  border-radius:36px;
  box-shadow:0 30px 90px rgba(0,0,0,.38), 0 0 80px rgba(201,167,93,.12);
}

.two-cols{
  grid-template-columns:1fr 1fr;
}

.full-field{
  grid-column:1 / -1;
}

.big-submit{
  min-height:58px;
  font-size:16px;
}

.quote-trust{
  padding-top:0;
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.trust-card{
  border:1px solid var(--borda);
  background:rgba(255,244,220,.055);
  border-radius:28px;
  padding:24px;
  text-align:center;
}

.trust-card strong{
  display:block;
  color:var(--dourado2);
  font-size:38px;
}

.trust-card span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:900;
}

/* Responsivo refinado */
@media(max-width:1100px){
  .nav{
    gap:14px;
  }

  .menu{
    gap:16px;
  }

  .menu a{
    font-size:13px;
  }

  .hero-grid,
  .quote-grid{
    gap:34px;
  }
}

@media(max-width:900px){
  .luxury-cursor-light{
    display:none;
  }

  .quote-grid{
    grid-template-columns:1fr;
  }

  .trust-grid{
    grid-template-columns:1fr 1fr;
  }

  .quote-hero{
    padding-top:125px;
  }

  .quote-grid h1{
    font-size:clamp(40px, 9vw, 64px);
  }

  .two-cols{
    grid-template-columns:1fr;
  }

  .full-field{
    grid-column:auto;
  }
}

@media(max-width:680px){
  body{
    padding-bottom:84px;
  }

  .container{
    width:min(100% - 28px, 1180px);
  }

  .nav{
    height:72px;
  }

  .logo-mark{
    width:44px;
    height:44px;
    font-size:28px;
  }

  .logo-title{
    font-size:24px;
  }

  .logo-sub{
    letter-spacing:.22em;
    font-size:8px;
  }

  .hero{
    padding-top:118px;
    padding-bottom:54px;
    min-height:auto;
  }

  .hero h1,
  .quote-grid h1{
    font-size:clamp(38px, 12vw, 56px);
    line-height:.95;
  }

  .lead{
    font-size:17px;
    line-height:1.65;
  }

  section{
    padding:68px 0;
  }

  .section-head{
    margin-bottom:28px;
  }

  .event-box,
  .contact-inner{
    border-radius:32px;
    padding:24px;
  }

  .contact-wrap{
    border-radius:34px;
  }

  .form,
  .quote-form{
    padding:20px;
    border-radius:28px;
  }

  .whatsapp-float{
    right:14px;
    bottom:14px;
    padding:11px;
    gap:0;
  }

  .zap-icon{
    width:58px;
    height:58px;
    min-width:58px;
  }

  .zap-text{
    display:none;
  }

  .whatsapp-float::after{
    inset:-6px;
  }
}

@media(max-width:420px){
  .hero-logo-title{
    font-size:42px;
  }

  .hero-logo-mark{
    width:58px;
    height:58px;
    font-size:38px;
  }

  .actions{
    display:grid;
  }

  .actions .btn,
  .btn{
    width:100%;
  }

  .trust-grid{
    grid-template-columns:1fr;
  }
}


/* ===== FIX FINAL: WhatsApp flutuante no canto inferior direito ===== */
body .whatsapp-float.js-whatsapp,
body a.whatsapp-float.js-whatsapp {
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  max-width: 230px !important;
  height: auto !important;
  min-height: 68px !important;
  z-index: 9999 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 10px 18px 10px 10px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(201,167,93,.36) !important;
  background: rgba(27,11,40,.96) !important;
  color: var(--creme) !important;
  box-shadow: 0 0 38px rgba(201,167,93,.25), 0 18px 55px rgba(0,0,0,.35) !important;
  backdrop-filter: blur(14px) !important;
  transform: none;
}

body a.whatsapp-float.js-whatsapp:hover {
  transform: translateY(-4px) scale(1.035) !important;
}

body a.whatsapp-float.js-whatsapp .zap-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: #25D366 !important;
  color: #06160c !important;
  box-shadow: 0 0 24px rgba(37,211,102,.28) !important;
}

body a.whatsapp-float.js-whatsapp .zap-text {
  display: block !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

body a.whatsapp-float.js-whatsapp .zap-text small {
  display: block !important;
  color: var(--muted) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

body a.whatsapp-float.js-whatsapp .zap-text strong {
  display: block !important;
  color: var(--creme) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body a.whatsapp-float.js-whatsapp::after {
  content: "" !important;
  position: absolute !important;
  inset: -6px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(37,211,102,.23) !important;
  animation: zapPulse 1.9s ease-in-out infinite !important;
  pointer-events: none !important;
}

@media (max-width: 680px) {
  body {
    padding-bottom: 92px !important;
  }

  body .whatsapp-float.js-whatsapp,
  body a.whatsapp-float.js-whatsapp {
    right: 14px !important;
    bottom: 14px !important;
    width: 66px !important;
    height: 66px !important;
    min-height: 66px !important;
    max-width: 66px !important;
    padding: 7px !important;
    border-radius: 999px !important;
  }

  body a.whatsapp-float.js-whatsapp .zap-icon {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }

  body a.whatsapp-float.js-whatsapp .zap-text {
    display: none !important;
  }
}


/* ===== BOTÃO WHATSAPP NOVO - CLASSE EXCLUSIVA SEM CONFLITO ===== */
.rafa-zap-fixed,
a.rafa-zap-fixed,
body a.rafa-zap-fixed.js-whatsapp {
  all: unset;
  box-sizing: border-box !important;
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  left: auto !important;
  top: auto !important;
  z-index: 2147483000 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 240px !important;
  height: 74px !important;
  min-height: 74px !important;
  padding: 10px 20px 10px 10px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(201,167,93,.42) !important;
  background: rgba(27,11,40,.96) !important;
  color: #fff4dc !important;
  font-family: Inter, Segoe UI, Arial, sans-serif !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 0 38px rgba(201,167,93,.26), 0 18px 55px rgba(0,0,0,.38) !important;
  backdrop-filter: blur(14px) !important;
  overflow: visible !important;
  transform: none !important;
}

.rafa-zap-fixed:hover,
body a.rafa-zap-fixed.js-whatsapp:hover {
  transform: translateY(-4px) scale(1.035) !important;
}

.rafa-zap-fixed::after {
  content: "" !important;
  position: absolute !important;
  inset: -7px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(37,211,102,.25) !important;
  animation: rafaZapPulse 1.9s ease-in-out infinite !important;
  pointer-events: none !important;
}

.rafa-zap-icon {
  box-sizing: border-box !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: #25D366 !important;
  color: #06160c !important;
  box-shadow: 0 0 24px rgba(37,211,102,.32) !important;
}

.rafa-zap-icon svg {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
}

.rafa-zap-text {
  display: block !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.rafa-zap-text small {
  display: block !important;
  color: #cbb98a !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

.rafa-zap-text strong {
  display: block !important;
  color: #fff4dc !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

@keyframes rafaZapPulse {
  0% { transform: scale(.96); opacity: .8; }
  70% { transform: scale(1.12); opacity: 0; }
  100% { transform: scale(1.12); opacity: 0; }
}

@media (max-width: 680px) {
  body {
    padding-bottom: 92px !important;
  }

  .rafa-zap-fixed,
  a.rafa-zap-fixed,
  body a.rafa-zap-fixed.js-whatsapp {
    right: 16px !important;
    bottom: 16px !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    padding: 7px !important;
    gap: 0 !important;
    border-radius: 999px !important;
  }

  .rafa-zap-icon {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
  }

  .rafa-zap-text {
    display: none !important;
  }
}


/* ===== Ajuste de espaço entre menu e primeira seção ===== */
.hero {
  min-height: auto !important;
  padding-top: 118px !important;
  padding-bottom: 90px !important;
  align-items: start !important;
}

.hero-grid {
  align-items: center !important;
}

.hero .tag {
  margin-bottom: 22px !important;
}

.hero-logo {
  margin-bottom: 18px !important;
}

.hero h1 {
  margin-top: 18px !important;
}

.hero-art {
  min-height: 520px !important;
}

.float-card.one {
    top: 0;
  left: 0;
}

.float-card.two {
     right: -250px;
  bottom: -20px;

}

@media (max-width: 900px) {
  .hero {
    padding-top: 108px !important;
    padding-bottom: 64px !important;
  }

  .hero-art {
    min-height: 430px !important;
  }
}

@media (max-width: 560px) {
  .hero {
    padding-top: 96px !important;
    padding-bottom: 44px !important;
  }

  .hero .tag {
    margin-bottom: 18px !important;
  }

  .hero-logo {
    margin-bottom: 14px !important;
  }

  .hero h1 {
    margin-top: 14px !important;
  }
}


/* ===== Logo removida do hero e adicionada ao rodapé ===== */
.hero h1 {
  margin-top: 8px !important;
}

.site-footer {
  border-top: 1px solid var(--borda);
  padding: 42px 0 24px;
  color: var(--muted);
  background:
    radial-gradient(circle at 50% 0%, rgba(201,167,93,.12), transparent 28rem),
    rgba(18,7,29,.28);
}

.footer-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: center;
}

.footer-logo .logo-mark {
  width: 58px;
  height: 58px;
  font-size: 38px;
}

.footer-logo .logo-title {
  font-size: 34px;
}

.footer-copy {
  display: grid;
  gap: 8px;
}

.footer-copy strong {
  color: var(--creme);
  font-size: 18px;
}

.footer-copy span {
  color: var(--texto);
  line-height: 1.5;
}

.footer-links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-links a {
  border: 1px solid var(--borda);
  background: rgba(255,244,220,.055);
  color: var(--creme);
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.footer-links a:hover {
  background: rgba(201,167,93,.12);
}

.footer-bottom {
  width: min(1180px, calc(100% - 36px));
  margin: 26px auto 0;
  padding-top: 18px;
  border-top: 1px solid var(--borda);
  text-align: center;
  font-size: 14px;
  color: var(--muted);
}

@media(max-width: 900px) {
  .footer-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-logo {
    justify-content: center;
  }

  .footer-links {
    justify-content: center;
  }
}

@media(max-width: 560px) {
  .site-footer {
    padding-bottom: 100px;
  }

  .footer-logo .logo-title {
    font-size: 30px;
  }
}


/* ===== Ajuste de espaço superior na página de orçamento ===== */
.quote-hero {
  min-height: auto !important;
  padding-top: 118px !important;
  padding-bottom: 72px !important;
  align-items: start !important;
}

.quote-grid {
  align-items: center !important;
}

.quote-grid .tag {
  margin-bottom: 22px !important;
}

.quote-grid h1 {
  margin-top: 0 !important;
}

.quote-benefits {
  margin-top: 24px !important;
}

.quote-form {
  margin-top: 0 !important;
}

.quote-trust {
  padding-top: 24px !important;
  padding-bottom: 72px !important;
}

@media (max-width: 900px) {
  .quote-hero {
    padding-top: 106px !important;
    padding-bottom: 54px !important;
  }

  .quote-grid {
    gap: 28px !important;
  }

  .quote-benefits {
    margin-top: 22px !important;
  }
}

@media (max-width: 560px) {
  .quote-hero {
    padding-top: 92px !important;
    padding-bottom: 42px !important;
  }

  .quote-grid .tag {
    margin-bottom: 16px !important;
  }

  .quote-grid {
    gap: 22px !important;
  }

  .quote-form {
    padding: 18px !important;
  }

  .quote-trust {
    padding-top: 10px !important;
    padding-bottom: 54px !important;
  }
}


/* ===== Seções SEO local ===== */
.seo-local-section {
  padding: 90px 0;
}

.seo-local-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items: center;
  border: 1px solid var(--borda);
  background: linear-gradient(135deg, rgba(255,244,220,.075), rgba(255,244,220,.025));
  border-radius: 42px;
  padding: 38px;
}

.seo-local-grid h2 {
  margin: 0;
  font-size: clamp(32px, 4vw, 54px);
  line-height: .98;
  letter-spacing: -.04em;
}

.seo-local-grid p {
  color: var(--texto);
  line-height: 1.75;
  font-size: 17px;
}

.seo-keywords-card {
  border: 1px solid var(--borda);
  background: rgba(18,7,29,.34);
  border-radius: 30px;
  padding: 28px;
}

.seo-keywords-card h3 {
  margin-top: 0;
  color: var(--dourado2);
  font-size: 24px;
}

.seo-keywords-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--texto);
  line-height: 1.9;
}

.faq-section {
  padding: 90px 0;
}

.faq-grid {
  display: grid;
  gap: 14px;
}

.faq-grid details {
  border: 1px solid var(--borda);
  background: rgba(255,244,220,.055);
  border-radius: 24px;
  padding: 18px 20px;
}

.faq-grid summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--creme);
  font-size: 18px;
}

.faq-grid p {
  color: var(--texto);
  line-height: 1.65;
  margin-bottom: 0;
}

@media(max-width: 900px) {
  .seo-local-grid {
    grid-template-columns: 1fr;
    padding: 26px;
  }
}


/* ===== Refinamento premium das seções SEO + menu flutuante ===== */

/* Menu flutuante */
.rafa-floating-menu {
  position: fixed;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 75;
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(201,167,93,.24);
  background: rgba(27,11,40,.72);
  backdrop-filter: blur(18px);
  border-radius: 999px;
  box-shadow: 0 18px 55px rgba(0,0,0,.28);
}

.rafa-floating-menu a {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(201,167,93,.18);
  background: rgba(255,244,220,.045);
  color: var(--creme);
  position: relative;
  transition: .22s ease;
}

.rafa-floating-menu a span {
  color: var(--dourado2);
  font-size: 18px;
}

.rafa-floating-menu a strong {
  position: absolute;
  left: 62px;
  top: 50%;
  transform: translateY(-50%) translateX(-8px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  border: 1px solid rgba(201,167,93,.22);
  background: rgba(18,7,29,.94);
  color: var(--creme);
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 12px;
  box-shadow: 0 14px 38px rgba(0,0,0,.28);
  transition: .22s ease;
}

.rafa-floating-menu a:hover {
  transform: translateX(4px);
  background: rgba(201,167,93,.16);
  border-color: rgba(201,167,93,.38);
}

.rafa-floating-menu a:hover strong {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* SEO visual premium */
.seo-showcase-section {
  padding: 96px 0;
}

.seo-showcase-shell {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: center;
  border: 1px solid rgba(201,167,93,.22);
  background:
    radial-gradient(circle at 8% 8%, rgba(201,167,93,.18), transparent 22rem),
    radial-gradient(circle at 90% 80%, rgba(109,61,138,.20), transparent 26rem),
    linear-gradient(135deg, rgba(255,244,220,.075), rgba(255,244,220,.025));
  border-radius: 46px;
  padding: 42px;
  box-shadow: 0 30px 95px rgba(0,0,0,.30);
}

.seo-showcase-shell::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(201,167,93,.10);
  border-radius: 34px;
  pointer-events: none;
}

.seo-showcase-copy {
  position: relative;
  z-index: 1;
}

.seo-showcase-copy h2 {
  margin: 0;
  max-width: 780px;
  font-size: clamp(34px, 4.8vw, 64px);
  line-height: .94;
  letter-spacing: -.052em;
}

.seo-showcase-copy p {
  max-width: 720px;
  color: var(--texto);
  line-height: 1.75;
  font-size: 17px;
}

.seo-showcase-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 26px;
}

.seo-luxury-panel {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(201,167,93,.22);
  background: rgba(18,7,29,.42);
  border-radius: 34px;
  padding: 24px;
  box-shadow: inset 0 0 60px rgba(201,167,93,.045);
}

.seo-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.seo-panel-head span {
  font-family: Georgia, serif;
  color: var(--dourado);
  letter-spacing: .18em;
  font-size: 28px;
  font-weight: 900;
}

.seo-panel-head strong {
  color: var(--muted);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.seo-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.seo-feature-card {
  min-height: 150px;
  border: 1px solid rgba(201,167,93,.18);
  background: rgba(255,244,220,.055);
  border-radius: 26px;
  padding: 18px;
  transition: .22s ease;
}

.seo-feature-card:hover {
  transform: translateY(-4px);
  background: rgba(201,167,93,.10);
}

.seo-feature-card span {
  display: block;
  color: rgba(224,193,118,.55);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .14em;
}

.seo-feature-card strong {
  display: block;
  margin-top: 18px;
  color: var(--creme);
  font-size: 22px;
}

.seo-feature-card small {
  display: block;
  margin-top: 8px;
  color: var(--texto);
  line-height: 1.45;
}

.seo-location-pill {
  margin-top: 14px;
  border: 1px solid rgba(201,167,93,.24);
  background: rgba(201,167,93,.12);
  color: var(--dourado2);
  border-radius: 999px;
  padding: 13px 16px;
  text-align: center;
  font-weight: 900;
}

/* FAQ premium */
.faq-luxury-section {
  padding: 96px 0;
}

.faq-luxury-head {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 28px;
  align-items: end;
  margin-bottom: 34px;
}

.faq-luxury-head h2 {
  margin: 0;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: .95;
  letter-spacing: -.05em;
}

.faq-luxury-head p {
  color: var(--texto);
  line-height: 1.7;
  margin: 0;
}

.faq-luxury-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.faq-luxury-grid details {
  border: 1px solid rgba(201,167,93,.18);
  background: rgba(255,244,220,.055);
  border-radius: 28px;
  padding: 0;
  overflow: hidden;
  transition: .22s ease;
}

.faq-luxury-grid details[open] {
  background: rgba(201,167,93,.085);
  border-color: rgba(201,167,93,.32);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.faq-luxury-grid summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--creme);
  font-weight: 900;
  font-size: 18px;
  padding: 20px;
}

.faq-luxury-grid summary::-webkit-details-marker {
  display: none;
}

.faq-luxury-grid summary span {
  width: 38px;
  height: 38px;
  min-width: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--dourado);
  color: var(--roxo);
  font-size: 12px;
}

.faq-luxury-grid p {
  margin: 0;
  padding: 0 20px 22px 70px;
  color: var(--texto);
  line-height: 1.65;
}

/* Esconde estilos antigos se algum bloco antigo sobrar */
.seo-local-section,
.faq-section {
  display: none !important;
}

@media(max-width: 1080px) {
  .rafa-floating-menu {
    display: none;
  }

  .seo-showcase-shell {
    grid-template-columns: 1fr;
  }

  .faq-luxury-head {
    grid-template-columns: 1fr;
  }
}

@media(max-width: 780px) {
  .rafa-floating-menu {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 14px;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    padding: 8px;
    border-radius: 999px;
    max-width: calc(100vw - 104px);
    overflow-x: auto;
    z-index: 89;
  }

  .rafa-floating-menu a {
    width: 46px;
    height: 46px;
    min-width: 46px;
  }

  .rafa-floating-menu a strong {
    display: none;
  }

  .seo-showcase-section,
  .faq-luxury-section {
    padding: 68px 0;
  }

  .seo-showcase-shell {
    padding: 26px;
    border-radius: 34px;
  }

  .seo-feature-grid,
  .faq-luxury-grid {
    grid-template-columns: 1fr;
  }

  .seo-showcase-actions {
    display: grid;
  }

  .seo-showcase-actions .btn {
    width: 100%;
  }

  .faq-luxury-grid p {
    padding-left: 20px;
  }
}

@media(max-width: 480px) {
  .rafa-floating-menu {
    max-width: calc(100vw - 96px);
    bottom: 12px;
  }

  .rafa-floating-menu a {
    width: 42px;
    height: 42px;
    min-width: 42px;
  }

  .seo-showcase-shell {
    padding: 22px;
  }

  .seo-feature-card {
    min-height: auto;
  }
}


/* ===== FIX: menu principal realmente flutuante durante a rolagem ===== */
html {
  scroll-padding-top: 96px;
}

body .topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9990 !important;
  background: rgba(27,11,40,.78) !important;
  border-bottom: 1px solid rgba(201,167,93,.18) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  transition: box-shadow .25s ease, background .25s ease, transform .25s ease, border-color .25s ease;
}

body .topbar.is-scrolled {
  background: rgba(27,11,40,.94) !important;
  border-color: rgba(201,167,93,.28) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.30), 0 0 40px rgba(201,167,93,.08) !important;
}

body .topbar.is-scrolled .nav {
  height: 72px !important;
}

body .topbar .nav {
  transition: height .25s ease;
}

/* garante que o menu lateral também fique fixo durante a rolagem */
body .rafa-floating-menu {
  position: fixed !important;
  z-index: 9980 !important;
}

/* compensa o header fixo sem criar buraco gigante */
body .hero {
  padding-top: 128px !important;
}

body .quote-hero {
  padding-top: 128px !important;
}

@media (max-width: 900px) {
  body .hero {
    padding-top: 112px !important;
  }

  body .quote-hero {
    padding-top: 112px !important;
  }

  html {
    scroll-padding-top: 86px;
  }
}

@media (max-width: 560px) {
  body .hero {
    padding-top: 98px !important;
  }

  body .quote-hero {
    padding-top: 98px !important;
  }

  body .topbar.is-scrolled .nav {
    height: 66px !important;
  }

  html {
    scroll-padding-top: 78px;
  }
}


/* ===== Selects dourados e página de confirmação ===== */
select,
.gold-select {
  appearance: none;
  -webkit-appearance: none;
  background:
    linear-gradient(135deg, rgba(201,167,93,.16), rgba(255,244,220,.045)),
    url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23e0c176' d='M5.2 7.2 10 12l4.8-4.8 1.2 1.2-6 6-6-6z'/%3E%3C/svg%3E") no-repeat right 16px center !important;
  border: 1px solid rgba(201,167,93,.34) !important;
  color: var(--creme) !important;
  box-shadow: inset 0 0 28px rgba(201,167,93,.055) !important;
  padding-right: 48px !important;
}

select:hover,
.gold-select:hover {
  border-color: rgba(224,193,118,.58) !important;
  background-color: rgba(201,167,93,.08) !important;
}

select:focus,
.gold-select:focus {
  border-color: var(--dourado2) !important;
  box-shadow: 0 0 0 3px rgba(201,167,93,.13), inset 0 0 28px rgba(201,167,93,.075) !important;
}

select option,
.gold-select option {
  background: #1b0b28;
  color: #fff4dc;
}

/* Confirmação */
.confirmacao-page {
  min-height: 100vh;
}

.confirmation-hero {
  min-height: 100vh;
  padding: 145px 0 90px;
  display: grid;
  align-items: center;
}

.confirmation-shell {
  position: relative;
  overflow: hidden;
  max-width: 980px;
  text-align: center;
  border: 1px solid rgba(201,167,93,.24);
  background:
    radial-gradient(circle at 50% 0%, rgba(201,167,93,.18), transparent 26rem),
    radial-gradient(circle at 20% 90%, rgba(109,61,138,.16), transparent 28rem),
    linear-gradient(135deg, rgba(255,244,220,.075), rgba(255,244,220,.025));
  border-radius: 48px;
  padding: 54px 42px;
  box-shadow: 0 34px 95px rgba(0,0,0,.34);
}

.confirmation-shell::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(201,167,93,.10);
  border-radius: 34px;
  pointer-events: none;
}

.confirmation-shell > * {
  position: relative;
  z-index: 1;
}

.confirmation-animation {
  position: relative;
  width: 132px;
  height: 132px;
  margin: 0 auto 28px;
  display: grid;
  place-items: center;
}

.success-check {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff0c2, var(--dourado2), #9b7834);
  color: var(--roxo);
  font-size: 52px;
  font-weight: 900;
  box-shadow: 0 0 45px rgba(201,167,93,.32);
  animation: checkPop .8s cubic-bezier(.2, 1.4, .3, 1) both;
}

.success-orbit {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(201,167,93,.32);
  animation: orbitPulse 2.4s ease-in-out infinite;
}

.orbit-two {
  inset: 14px;
  animation-delay: .45s;
  border-color: rgba(255,244,220,.22);
}

.confirmation-shell h1 {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(42px, 6vw, 72px);
  line-height: .94;
  letter-spacing: -.055em;
}

.confirmation-shell .lead {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.confirmation-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 34px 0;
}

.confirmation-steps div {
  border: 1px solid rgba(201,167,93,.20);
  background: rgba(18,7,29,.35);
  border-radius: 26px;
  padding: 20px;
  text-align: left;
}

.confirmation-steps span {
  display: block;
  color: rgba(224,193,118,.62);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.confirmation-steps strong {
  display: block;
  margin-top: 14px;
  color: var(--creme);
  font-size: 18px;
}

.confirmation-steps small {
  display: block;
  margin-top: 8px;
  color: var(--texto);
  line-height: 1.5;
}

.confirmation-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

@keyframes checkPop {
  0% { transform: scale(.45) rotate(-18deg); opacity: 0; }
  70% { transform: scale(1.08) rotate(3deg); opacity: 1; }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}

@keyframes orbitPulse {
  0% { transform: scale(.86); opacity: .95; }
  70% { transform: scale(1.18); opacity: .08; }
  100% { transform: scale(1.18); opacity: 0; }
}

@media(max-width: 900px) {
  .confirmation-hero {
    padding-top: 112px;
  }

  .confirmation-steps {
    grid-template-columns: 1fr;
  }
}

@media(max-width: 560px) {
  .confirmation-hero {
    padding-top: 96px;
    padding-bottom: 58px;
  }

  .confirmation-shell {
    padding: 34px 20px;
    border-radius: 34px;
  }

  .confirmation-animation {
    width: 112px;
    height: 112px;
  }

  .success-check {
    width: 78px;
    height: 78px;
    font-size: 44px;
  }

  .confirmation-actions {
    display: grid;
  }

  .confirmation-actions .btn {
    width: 100%;
  }
}

/* =========================================================
   FOOTER PREMIUM ORGANIZADO - CORREÇÃO FINAL
   Seguro: mexe somente no footer premium.
   Não altera catálogo, eventos, Instagram, imagens ou cards.
========================================================= */

.site-footer.global-site-footer.premium-organized-footer {
  padding: 48px 0 0 !important;
  border-top: 1px solid rgba(201,167,93,.18) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(201,167,93,.13), transparent 30rem),
    radial-gradient(circle at 100% 70%, rgba(109,61,138,.13), transparent 28rem),
    rgba(18,7,29,.62) !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-inner {
  width: min(100% - 36px, 1180px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1.25fr 1.45fr !important;
  gap: 30px !important;
  align-items: center !important;
  padding-bottom: 34px !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-brand {
  display: flex !important;
  align-items: center !important;
  align-self: stretch !important;
}

.site-footer.global-site-footer.premium-organized-footer .footer-logo {
  display: flex !important;
  align-items: center !important;
}

.site-footer.global-site-footer.premium-organized-footer .footer-logo .logo-mark {
  width: 58px !important;
  height: 58px !important;
  font-size: 38px !important;
  flex: 0 0 auto !important;
}

.site-footer.global-site-footer.premium-organized-footer .footer-logo .logo-title {
  font-size: 34px !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-block {
  border: 1px solid rgba(201,167,93,.16) !important;
  background: rgba(255,244,220,.035) !important;
  border-radius: 28px !important;
  padding: 18px !important;
  min-height: 118px !important;
  display: grid !important;
  align-content: start !important;
  justify-items: start !important;
  text-align: left !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-title {
  display: block !important;
  width: 100% !important;
  margin-bottom: 12px !important;
  color: var(--dourado2) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  justify-self: start !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-pills span,
.site-footer.global-site-footer.premium-organized-footer .premium-footer-pills a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  border: 1px solid rgba(201,167,93,.22) !important;
  background: rgba(255,244,220,.055) !important;
  color: var(--texto) !important;
  border-radius: 999px !important;
  padding: 8px 13px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: .25s ease !important;
  white-space: nowrap !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-pills a:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(201,167,93,.48) !important;
  color: var(--dourado2) !important;
  background: rgba(201,167,93,.10) !important;
}

/* Ícones das redes sociais */
.site-footer.global-site-footer.premium-organized-footer .instagram-link::before,
.site-footer.global-site-footer.premium-organized-footer [data-site-link="instagram"]::before {
  content: "◉" !important;
  color: var(--dourado2) !important;
  margin-right: 6px !important;
}

.site-footer.global-site-footer.premium-organized-footer .facebook-link::before,
.site-footer.global-site-footer.premium-organized-footer [data-site-link="facebook"]::before {
  content: "f" !important;
  color: var(--dourado2) !important;
  font-weight: 900 !important;
  margin-right: 6px !important;
}

.site-footer.global-site-footer.premium-organized-footer .tiktok-link::before,
.site-footer.global-site-footer.premium-organized-footer [data-site-link="tiktok"]::before {
  content: "♪" !important;
  color: var(--dourado2) !important;
  margin-right: 6px !important;
}

/* Ícone correto do WhatsApp */
.site-footer.global-site-footer.premium-organized-footer .whatsapp-link::before,
.site-footer.global-site-footer.premium-organized-footer [data-site-link="whatsapp"]::before {
  content: "" !important;
  width: 15px !important;
  height: 15px !important;
  display: inline-block !important;
  margin-right: 6px !important;
  background-color: var(--dourado2) !important;
  vertical-align: -2px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.04 3.2A12.72 12.72 0 0 0 5.2 22.6L3.6 28.8l6.36-1.52A12.75 12.75 0 1 0 16.04 3.2Zm0 23.2c-2.06 0-3.98-.6-5.6-1.64l-.4-.24-3.76.9 1-3.64-.26-.42a10.4 10.4 0 1 1 9.02 5.04Zm5.72-7.78c-.32-.16-1.88-.92-2.18-1.04-.3-.1-.52-.16-.74.16-.22.32-.84 1.04-1.04 1.26-.2.22-.38.24-.7.08-.32-.16-1.34-.5-2.56-1.58-.94-.84-1.58-1.88-1.76-2.2-.18-.32-.02-.5.14-.66.14-.14.32-.38.48-.56.16-.18.22-.32.32-.54.1-.22.06-.4-.02-.56-.08-.16-.74-1.78-1.02-2.44-.26-.64-.54-.56-.74-.56h-.64c-.22 0-.56.08-.86.4-.3.32-1.14 1.12-1.14 2.72 0 1.6 1.18 3.16 1.34 3.38.16.22 2.32 3.54 5.62 4.96.78.34 1.4.54 1.88.7.8.26 1.52.22 2.1.14.64-.1 1.88-.76 2.14-1.5.26-.74.26-1.36.18-1.5-.08-.14-.3-.22-.62-.38Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.04 3.2A12.72 12.72 0 0 0 5.2 22.6L3.6 28.8l6.36-1.52A12.75 12.75 0 1 0 16.04 3.2Zm0 23.2c-2.06 0-3.98-.6-5.6-1.64l-.4-.24-3.76.9 1-3.64-.26-.42a10.4 10.4 0 1 1 9.02 5.04Zm5.72-7.78c-.32-.16-1.88-.92-2.18-1.04-.3-.1-.52-.16-.74.16-.22.32-.84 1.04-1.04 1.26-.2.22-.38.24-.7.08-.32-.16-1.34-.5-2.56-1.58-.94-.84-1.58-1.88-1.76-2.2-.18-.32-.02-.5.14-.66.14-.14.32-.38.48-.56.16-.18.22-.32.32-.54.1-.22.06-.4-.02-.56-.08-.16-.74-1.78-1.02-2.44-.26-.64-.54-.56-.74-.56h-.64c-.22 0-.56.08-.86.4-.3.32-1.14 1.12-1.14 2.72 0 1.6 1.18 3.16 1.34 3.38.16.22 2.32 3.54 5.62 4.96.78.34 1.4.54 1.88.7.8.26 1.52.22 2.1.14.64-.1 1.88-.76 2.14-1.5.26-.74.26-1.36.18-1.5-.08-.14-.3-.22-.62-.38Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}

.site-footer.global-site-footer.premium-organized-footer .footer-bottom {
  width: min(1180px, calc(100% - 36px)) !important;
  margin: 26px auto 0 !important;
  border-top: 1px solid rgba(201,167,93,.16) !important;
  padding: 18px 16px !important;
  text-align: center !important;
  color: var(--muted) !important;
  font-size: 13px !important;
}

/* Responsivo */
@media(max-width: 1080px) {
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-inner {
    grid-template-columns: 1fr 1fr !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-brand {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
  }
}

@media(max-width: 720px) {
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-brand {
    justify-content: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-block,
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-title {
    text-align: center !important;
    justify-items: center !important;
    justify-self: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-pills {
    justify-content: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-block {
    border-radius: 24px !important;
  }
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-inner {
  align-items: center !important;
}

.site-footer.global-site-footer.premium-organized-footer .premium-footer-brand {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-self: center !important;
  min-height: 100% !important;
}

.site-footer.global-site-footer.premium-organized-footer .footer-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 100% !important;
}

@media (max-width: 1080px) {
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-brand {
    justify-content: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .footer-logo {
    justify-content: center !important;
  }
}

@media (max-width: 720px) {
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-brand {
    justify-content: center !important;
    align-self: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .footer-logo {
    justify-content: center !important;
  }
}

/* Catálogo - imagens em proporção 4:5 */
.catalog .card-img,
#catalogoGrid .card-img {
  aspect-ratio: 4 / 5;
  height: auto !important;
  min-height: unset !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Garante que o card acompanhe bem a imagem vertical */
.catalog .card,
#catalogoGrid .card {
  display: flex;
  flex-direction: column;
}

/* Opcional: deixa a imagem um pouco mais elegante */
.catalog .card-img,
#catalogoGrid .card-img {
  border-radius: 22px;
  overflow: hidden;
}



/* Lightbox das imagens do catálogo */
.card-img {
  cursor: zoom-in;
}

.rafa-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(10, 2, 18, 0.88);
  backdrop-filter: blur(10px);
}

.rafa-lightbox.open {
  display: flex;
}

.rafa-lightbox-content {
  position: relative;
  width: min(92vw, 900px);
  max-height: 90vh;
  border: 1px solid rgba(201,167,93,.35);
  border-radius: 28px;
  overflow: hidden;
  background: #1b0b28;
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}

.rafa-lightbox-content img {
  display: block;
  width: 100%;
  max-height: 90vh;
  object-fit: contain;
  background: #12071d;
}

.rafa-lightbox-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(201,167,93,.35);
  border-radius: 999px;
  background: rgba(18,7,29,.82);
  color: var(--dourado2);
  font-size: 24px;
  font-weight: 800;
  cursor: pointer;
  z-index: 2;
}

.rafa-lightbox-close:hover {
  background: rgba(201,167,93,.18);
}


/* ===== Eventos premium refinado ===== */
.eventos-premium {
  padding: 72px 0;
}

.eventos-premium-wrap {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 42px;
  padding: 42px;
  border: 1px solid rgba(201,167,93,.16);
  border-radius: 36px;
  background:
    radial-gradient(circle at 10% 0%, rgba(201,167,93,.12), transparent 26rem),
    rgba(255,244,220,.03);
  box-shadow: 0 20px 70px rgba(0,0,0,.14);
}

.eventos-premium-left,
.eventos-premium-right {
  min-width: 0;
}

.eventos-premium h2 {
  margin: 18px 0 18px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.04em;
  color: var(--creme);
  max-width: 620px;
}

.eventos-premium .lead {
  max-width: 620px;
  margin: 0;
  color: var(--texto);
  font-size: 17px;
  line-height: 1.8;
  opacity: .92;
}

.eventos-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}

.eventos-feature-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(201,167,93,.16);
  border-radius: 22px;
  background: rgba(255,244,220,.035);
  transition: .25s ease;
}

.eventos-feature-card:hover {
  transform: translateY(-2px);
  border-color: rgba(201,167,93,.34);
  background: rgba(201,167,93,.06);
}

.eventos-feature-icon {
  width: 50px;
  height: 50px;
  min-width: 50px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #f4e2a2, #c9a75d);
  color: #2b133b;
  font-size: 22px;
  box-shadow: 0 10px 28px rgba(201,167,93,.18);
}

.eventos-feature-card strong {
  display: block;
  color: var(--creme);
  font-size: 17px;
  line-height: 1.2;
}

.eventos-feature-card span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.eventos-premium-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.eventos-side-title {
  margin-bottom: 18px;
  color: var(--dourado2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.eventos-chip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.eventos-chip {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid rgba(201,167,93,.16);
  border-radius: 999px;
  background: rgba(255,244,220,.025);
  color: var(--creme);
  font-weight: 700;
  font-size: 16px;
  transition: .25s ease;
}

.eventos-chip:hover {
  border-color: rgba(201,167,93,.34);
  background: rgba(201,167,93,.06);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .eventos-premium-wrap {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 30px;
  }

  .eventos-chip-grid,
  .eventos-feature-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .eventos-premium {
    padding: 54px 0;
  }

  .eventos-premium-wrap {
    width: min(100% - 24px, 1200px);
    padding: 22px;
    border-radius: 28px;
  }

  .eventos-premium h2 {
    font-size: 34px;
  }

  .eventos-premium .lead {
    font-size: 16px;
    line-height: 1.7;
  }

  .eventos-feature-grid,
  .eventos-chip-grid {
    grid-template-columns: 1fr;
  }

  .eventos-chip {
    min-height: 54px;
    font-size: 15px;
  }
}

/* Aumentar imagens da primeira seção */
.hero-art {
  min-height: 620px;
}

.float-card.one {
  width: 430px;
  height: 560px;
}

.float-card.two {
  width: 390px;
  height: 430px;
}

.float-card .photo {
  height: 100%;
  min-height: 100%;
  background-size: cover;
  background-position: center;
}




/* ===== Footer mobile: forçar botões/pílulas ===== */
@media (max-width: 720px) {
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-pills a,
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-pills span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;
    padding: 10px 15px !important;

    border: 1px solid rgba(201,167,93,.28) !important;
    border-radius: 999px !important;
    background: rgba(255,244,220,.065) !important;

    color: var(--texto) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-contact .premium-footer-pills {
    flex-direction: column !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-contact .premium-footer-pills a,
  .site-footer.global-site-footer.premium-organized-footer .premium-footer-contact .premium-footer-pills span {
    width: 100% !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-social .premium-footer-pills a {
    min-width: 132px !important;
  }

  .site-footer.global-site-footer.premium-organized-footer .premium-footer-block {
    display: grid !important;
    justify-items: center !important;
  }
}


