/* =========================================================
   Revel footer — layout Kresna adaptado à marca Revel
   Laranja #ff6a00 · preto · off-white · Inter + Libre Bodoni
   ========================================================= */

.footer.footer--revel{
  position:relative;
  padding:clamp(40px,5vw,64px) 0 0!important;
  color:#15110e!important;
  background:#f7f4ef!important;
  overflow:hidden!important;
}
/* Neutraliza o footer escuro antigo de styles.css */
.footer.footer--revel .footer__grid,
.footer.footer--revel .footer__brand,
.footer.footer--revel .footer__nav,
.footer.footer--revel .footer__bottom{
  display:none!important;
}

.footer-section{
  width:min(100% - 2rem,1150px);
  margin:0 auto;
  padding:0 0 clamp(28px,4vw,40px);
}

.footer-wrapper{
  display:grid;
  grid-template-columns:minmax(280px,350px) 1fr;
  gap:16px;
  align-items:stretch;
  position:relative;
  z-index:1;
}

/* ---- Left card ---- */
.footer-left{
  position:relative;
  min-height:340px;
  border-radius:28px;
  padding:32px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    linear-gradient(160deg,#1a120c 0%,#2a1810 42%,#ff6a00 160%);
  box-shadow:
    0 12px 40px rgba(255,106,0,.22),
    0 4px 14px rgba(17,17,17,.12);
}
.footer-left-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:#14110f;
}
.footer-left-banner{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
/* Leitura do texto em cima do banner */
.footer-left-bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(10,8,6,.42) 0%,rgba(10,8,6,.18) 38%,rgba(10,8,6,.55) 100%);
  pointer-events:none;
}

.footer-logo{
  display:block;
  position:relative;
  z-index:1;
  width:fit-content;
  max-width:min(220px,72%);
  text-decoration:none;
}
.footer-logo-img{
  display:block;
  width:100%;
  height:auto;
  /* preserva proporção do SVG oficial — sem crop, blur ou filtro */
  object-fit:contain;
  image-rendering:auto;
}

.footer-tagline-container{
  margin-top:auto;
  margin-bottom:28px;
  position:relative;
  z-index:1;
}
.footer-tagline{
  margin:0;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-size:1.15rem;
  font-weight:400;
  color:#fff;
  line-height:1.45;
  letter-spacing:-.02em;
  max-width:16ch;
}
.footer-tagline span{
  color:rgba(255,255,255,.65);
}

.footer-social-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  position:relative;
  z-index:1;
}
.footer-social-label{
  font-family:var(--editorial,"Libre Bodoni",Georgia,serif);
  font-size:1.05rem;
  font-weight:500;
  font-style:italic;
  color:rgba(255,255,255,.9);
  letter-spacing:.02em;
}
.footer-social-icons{
  display:flex;
  flex-direction:row;
  gap:7px;
}
.social-icon{
  width:36px;
  height:36px;
  border-radius:9px;
  background:#0e1014;
  display:grid;
  place-items:center;
  color:#fff;
  text-decoration:none;
  box-shadow:
    0 6px 18px rgba(0,0,0,.35),
    0 2px 6px rgba(0,0,0,.2);
  transition:background .2s ease,transform .15s ease,box-shadow .2s ease;
}
.social-icon svg{
  width:15px;
  height:15px;
  display:block;
  fill:currentColor;
}
@media (hover:hover) and (pointer:fine){
  .social-icon:hover{
    background:#000;
    transform:translateY(-2px);
    box-shadow:
      0 10px 24px rgba(0,0,0,.4),
      0 4px 10px rgba(0,0,0,.25);
  }
}

/* ---- Right card ---- */
.footer-right{
  position:relative;
  background:#f0eee8;
  border-radius:28px;
  padding:40px;
  overflow:visible;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 4px 20px rgba(40,28,18,.05);
  border:1px solid rgba(17,17,17,.05);
}

/* “Quer conversar?” → WhatsApp (box + seta + símbolo oficial) */
.footer-lucky-graphic{
  position:absolute;
  top:-36px;
  right:40px;
  z-index:10;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  pointer-events:auto;
}
.footer-lucky-graphic:focus-visible{
  outline:2px solid #ff6a00;
  outline-offset:4px;
  border-radius:12px;
}
.lucky-cube{
  width:96px;
  height:96px;
  border-radius:22px;
  display:grid;
  place-items:center;
  transform:rotate(-10deg);
  background:linear-gradient(135deg,#ff9a4a 0%,#ff6a00 55%,#d45500 100%);
  box-shadow:
    inset 3px 3px 8px rgba(255,255,255,.35),
    inset -3px -3px 12px rgba(0,0,0,.18),
    8px 14px 28px rgba(255,106,0,.35);
  transition:transform .2s ease,box-shadow .2s ease;
}
@media (hover:hover) and (pointer:fine){
  .footer-lucky-graphic:hover .lucky-cube{
    transform:rotate(-10deg) translateY(-3px);
    box-shadow:
      inset 3px 3px 8px rgba(255,255,255,.4),
      inset -3px -3px 12px rgba(0,0,0,.18),
      10px 18px 32px rgba(255,106,0,.42);
  }
  .footer-lucky-graphic:hover .lucky-text{
    color:#6b645c;
  }
}
/* Símbolo oficial branco: só re-rotaciona o container visual, não deforma o asset */
.lucky-cube-symbol{
  display:block;
  width:44px;
  height:44px;
  object-fit:contain;
  transform:rotate(10deg);
}
.lucky-text-row{
  display:flex;
  flex-direction:row;
  gap:6px;
  align-items:center;
  transform:rotate(-4deg);
  margin-top:4px;
}
.lucky-arrow{
  width:22px;
  height:22px;
  color:#9a9288;
  flex-shrink:0;
}
.lucky-arrow path{
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lucky-text{
  font-family:var(--editorial,"Libre Bodoni",Georgia,serif);
  font-size:1.15rem;
  font-weight:500;
  font-style:italic;
  color:#9a9288;
  white-space:nowrap;
}

.footer-right-top{
  padding-top:8px;
}
.footer-nav-cols{
  display:flex;
  flex-direction:row;
  gap:72px;
}
.footer-col{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.footer-col-title{
  margin:0 0 18px;
  font-family:var(--editorial,"Libre Bodoni",Georgia,serif);
  font-size:1.35rem;
  font-weight:500;
  font-style:italic;
  color:#9a9288;
  line-height:1;
}
.footer-col a{
  display:block;
  margin:0 0 14px;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-size:.875rem;
  font-weight:600;
  color:#15110e;
  text-decoration:none;
  letter-spacing:-.01em;
  transition:color .2s ease;
}
.footer-col a:last-child{margin-bottom:0}
@media (hover:hover) and (pointer:fine){
  .footer-col a:hover{color:#ff6a00}
}

.footer-bottom{
  display:flex;
  flex-direction:row;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-top:48px;
}
.footer-copyright{
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-size:.78rem;
  font-weight:500;
  color:#9a9288;
  line-height:1.4;
}
.footer-cta-mini{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-end;
  text-align:right;
  max-width:340px;
}
.footer-cta-mini h4{
  margin:0;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-size:.94rem;
  font-weight:400;
  color:#6b645c;
  line-height:1.45;
  letter-spacing:-.01em;
}
.footer-cta-mini h4 strong{
  display:block;
  margin-top:.15rem;
  font-size:1.15rem;
  font-weight:700;
  color:#15110e;
  letter-spacing:-.02em;
}
.footer-subscribe-row{
  display:flex;
  flex-direction:row;
  width:min(100%,310px);
  background:#fff;
  border:1px solid rgba(17,17,17,.1);
  border-radius:12px;
  padding:5px;
  box-shadow:0 2px 10px rgba(40,28,18,.04);
}
.footer-subscribe-row input{
  flex:1 1 auto;
  min-width:0;
  padding:11px 14px;
  border:0;
  background:transparent;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-size:.84rem;
  color:#15110e;
  outline:none;
}
.footer-subscribe-row input::placeholder{color:#9a9288}
.footer-subscribe-row input:invalid:not(:placeholder-shown){
  color:#b42318;
}
.footer-subscribe-btn{
  flex:0 0 auto;
  padding:11px 18px;
  border:0;
  border-radius:8px;
  background:#15110e;
  color:#fff;
  font-family:var(--display,"Public Sans",Inter,system-ui,sans-serif);
  font-size:.84rem;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:
    0 6px 20px rgba(0,0,0,.22),
    0 2px 8px rgba(0,0,0,.12);
  transition:background .2s ease,box-shadow .2s ease,transform .15s ease,opacity .2s ease;
}
.footer-subscribe-btn:disabled{
  opacity:.65;
  cursor:wait;
  transform:none!important;
}
@media (hover:hover) and (pointer:fine){
  .footer-subscribe-btn:hover:not(:disabled){
    background:#000;
    transform:translateY(-1px);
    box-shadow:
      0 10px 26px rgba(0,0,0,.28),
      0 4px 10px rgba(0,0,0,.16);
  }
}
.footer-subscribe-status{
  margin:0;
  width:min(100%,310px);
  font-size:.78rem;
  line-height:1.4;
  font-weight:500;
  color:#5f574e;
  text-align:right;
}
.footer-subscribe-status.is-ok{color:#1f7a3f}
.footer-subscribe-status.is-err{color:#b42318}

/* ---- Responsive ---- */
@media (max-width:860px){
  .footer-wrapper{
    grid-template-columns:1fr;
  }
  .footer-left{
    min-height:auto;
    gap:40px;
  }
  .footer-lucky-graphic{
    right:24px;
  }
}

@media (max-width:560px){
  .footer.footer--revel{
    padding-top:clamp(32px,8vw,48px)!important;
  }
  .footer-section{
    width:min(100% - 1.5rem,1150px);
  }
  .footer-left{
    padding:24px;
    border-radius:22px;
  }
  .footer-logo{
    max-width:min(180px,70%);
  }
  .footer-right{
    padding:28px 24px 24px;
    border-radius:22px;
  }
  .footer-nav-cols{
    gap:40px;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
    margin-top:32px;
  }
  .footer-cta-mini{
    align-items:flex-start;
    text-align:left;
    width:100%;
    max-width:none;
  }
  .footer-subscribe-row{
    width:100%;
  }
  .footer-subscribe-status{
    text-align:left;
    width:100%;
  }
  .footer-lucky-graphic{
    right:12px;
    top:-28px;
  }
  .lucky-cube{
    width:72px;
    height:72px;
    border-radius:18px;
  }
  .lucky-cube-symbol{
    width:34px;
    height:34px;
  }
  .lucky-text{font-size:1rem}
}
