
/*
ROG Breedable Elementor Bridge v6
Elementor controla o front. O plugin entrega CPT/ACF/shortcodes limpos.
*/

:root {
  --rog-dark:#0A0E17;
  --rog-black:#030407;
  --rog-gold:#D4AF37;
  --rog-gold-light:#FFE08A;
  --rog-text:#B3B3B3;
  --rog-white:#FFFFFF;
  --rog-vh:1vh;
  --rog-sidebar:230px;
  --rog-gap:10px;
  --rog-font-body:"Montserrat","Calibri Light",Calibri,Arial,sans-serif;
  --rog-font-title:"Cinzel",Georgia,serif;
}

body.rog-elementor-page {
  background:var(--rog-dark)!important;
  overflow-x:hidden!important;
}

/* Use no container principal do Elementor */
.rog-el-fullscreen {
  width:100vw!important;
  max-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  height:calc(var(--rog-vh,1vh)*100)!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow:hidden!important;
  position:relative!important;
  background:var(--rog-dark);
}

.rog-clean-page,
.rog-clean-page .elementor-widget-container {
  margin:0!important;
  padding:0!important;
}

/* Header sem blur pesado */
.rog-el-header {
  width:100%;
  position:fixed;
  inset:0 0 auto 0;
  z-index:9999;
  min-height:76px;
  display:flex;
  align-items:center;
  background:linear-gradient(180deg,rgba(3,4,7,.58),rgba(3,4,7,.02));
  border-bottom:1px solid transparent;
  transition:background .28s ease,border-color .28s ease;
}

body.rog-header-scrolled .rog-el-header {
  background:rgba(10,14,23,.94);
  border-bottom-color:var(--rog-gold);
}

.rog-el-header-inner {
  width:min(1320px,calc(100% - 32px));
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.rog-el-header-logo {
  width:min(220px,32vw);
  height:auto;
  filter:drop-shadow(0 0 14px rgba(212,175,55,.22));
}

.rog-el-menu {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

.rog-el-menu a {
  color:#fff!important;
  text-decoration:none!important;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:800;
  font-size:11px;
  font-family:var(--rog-font-body);
  text-shadow:0 1px 12px rgba(0,0,0,.85);
}

.rog-el-menu a:hover { color:var(--rog-gold-light)!important; }

/* Hero carousel 16:9 full head */
.rog-hero-carousel {
  width:100vw;
  min-height:min(100dvh,56.25vw);
  aspect-ratio:16/9;
  max-height:100dvh;
  position:relative;
  overflow:hidden;
  background:#000;
  margin-left:calc(50% - 50vw);
}

.rog-hero-slide {
  position:absolute;
  inset:0;
  background-image:var(--bg);
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.025);
  animation:rogHero 18s infinite;
}

.rog-hero-slide:nth-child(1){animation-delay:0s}
.rog-hero-slide:nth-child(2){animation-delay:6s}
.rog-hero-slide:nth-child(3){animation-delay:12s}

.rog-hero-slide::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.14),rgba(0,0,0,.56));
}

.rog-hero-content {
  position:absolute;
  z-index:2;
  left:clamp(24px,6vw,110px);
  bottom:clamp(40px,8vw,120px);
  width:min(720px,calc(100% - 48px));
  color:#fff;
}

.rog-hero-kicker {
  color:var(--rog-gold-light);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
  font-size:13px;
}

.rog-hero-title {
  font-family:var(--rog-font-title);
  font-size:clamp(38px,6vw,86px);
  letter-spacing:.07em;
  line-height:.98;
  margin:10px 0 16px;
  text-shadow:0 0 35px rgba(212,175,55,.35);
}

.rog-hero-text {
  font-size:clamp(16px,1.6vw,22px);
  color:rgba(255,255,255,.82);
  max-width:680px;
}

@keyframes rogHero {
  0%{opacity:0;transform:scale(1.04)}
  6%{opacity:1;transform:scale(1.025)}
  28%{opacity:1;transform:scale(1)}
  34%{opacity:0;transform:scale(1)}
  100%{opacity:0;transform:scale(1.04)}
}

/* Shell com sidebar + conteúdo principal */
.rog-app-shell {
  display:grid;
  grid-template-columns:var(--rog-sidebar) minmax(0,1fr);
  gap:18px;
  width:min(1440px,calc(100% - 28px));
  margin:0 auto;
  padding:110px 0 70px;
}

.rog-quick-sidebar {
  position:sticky;
  top:96px;
  align-self:start;
  background:rgba(3,4,7,.70);
  border:1px solid rgba(212,175,55,.35);
  border-radius:20px;
  padding:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.3);
}

.rog-quick-sidebar a {
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff!important;
  text-decoration:none!important;
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:800;
}

.rog-quick-sidebar a:hover {
  background:rgba(212,175,55,.16);
  color:var(--rog-gold-light)!important;
}

.rog-main-content {
  min-width:0;
}

/* Flip Gallery: 4 cards somente */
.rog-flip-gallery {
  display:grid;
  grid-template-columns:repeat(4, 5.5cm);
  gap:10px;
  align-items:start;
  justify-content:start;
}

.rog-flip-card {
  width:5.5cm;
  height:7.5cm;
  perspective:1000px;
}

.rog-flip-inner {
  position:relative;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  transition:transform .65s cubic-bezier(.2,.8,.2,1);
}

.rog-flip-card:hover .rog-flip-inner {
  transform:rotateY(180deg);
}

.rog-flip-face {
  position:absolute;
  inset:0;
  border-radius:16px;
  overflow:hidden;
  backface-visibility:hidden;
  border:1px solid rgba(212,175,55,.48);
  background:
    radial-gradient(circle at 50% 0%,rgba(212,175,55,.14),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),
    rgba(3,4,7,.92);
  box-shadow:0 16px 34px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.045);
}

.rog-flip-front {
  display:flex;
  flex-direction:column;
}

.rog-flip-back {
  transform:rotateY(180deg);
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.rog-flip-img {
  width:100%;
  height:58%;
  object-fit:cover;
  background:rgba(0,0,0,.32);
}

.rog-flip-item {
  padding:11px;
  min-height:42%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.rog-flip-title {
  font-family:var(--rog-font-title);
  color:var(--rog-gold-light);
  font-size:17px;
  line-height:1.08;
  letter-spacing:.045em;
  margin:0;
}

.rog-flip-meta {
  font-size:11px;
  color:rgba(255,255,255,.72);
  margin:8px 0 0;
}

.rog-flip-price {
  color:#fff;
  font-weight:900;
  font-size:18px;
  margin:8px 0 0;
}

.rog-btn-mini {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,224,138,.65);
  background:linear-gradient(135deg,#FFE08A,#D4AF37 54%,#9B6D07);
  color:#120d03!important;
  border-radius:10px;
  padding:9px 12px;
  font-weight:900;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none!important;
  cursor:pointer;
}

.rog-section-title {
  font-family:var(--rog-font-title);
  font-size:clamp(34px,5vw,64px);
  color:#fff;
  letter-spacing:.06em;
  margin:0 0 20px;
}

.rog-section-lead {
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.55;
  margin:0 0 28px;
  max-width:860px;
}

/* Ranch canvas */
.rog-ranch-canvas {
  width:100vw;
  height:100vh;
  height:calc(var(--rog-vh,1vh)*100);
  max-width:100vw;
  position:relative;
  overflow:hidden;
  background-image:var(--rog-ranch-bg);
  background-size:cover;
  background-position:center;
  isolation:isolate;
}

.rog-ranch-slots {
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

.rog-ranch-slot {
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  width:clamp(12px,1.2vmin,20px);
  height:clamp(12px,1.2vmin,20px);
  border-radius:999px;
  border:1px solid rgba(255,224,138,.74);
  background:radial-gradient(circle,rgba(255,238,170,.95) 0%,rgba(212,175,55,.48) 42%,rgba(0,0,0,.18) 72%);
  box-shadow:0 0 9px rgba(255,224,138,.55),0 0 20px rgba(212,175,55,.28),inset 0 0 6px rgba(255,255,255,.45);
  cursor:pointer;
  pointer-events:auto;
}

.rog-ranch-slot.locked::before {
  content:"🔒";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:clamp(6px,.7vmin,9px);
}

.rog-ranch-mini-hud {
  position:absolute;
  z-index:5;
  right:clamp(16px,3vw,42px);
  top:clamp(96px,13vh,150px);
  width:min(310px,calc(100vw - 32px));
  background:rgba(3,4,7,.76);
  border:1px solid rgba(212,175,55,.38);
  border-radius:18px;
  padding:16px;
  color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.46);
  font-family:var(--rog-font-body);
}

.rog-env-buttons{display:flex;gap:7px;margin:12px 0}
.rog-env-buttons button{flex:1;border:1px solid rgba(255,224,138,.58);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:8px 6px;font-weight:800;font-size:12px;cursor:pointer}
.rog-hud-meter{margin-top:11px}
.rog-hud-meter label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px;color:rgba(255,255,255,.82)}
.rog-hud-meter .bar{height:7px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}
.rog-hud-meter .bar span{display:block;height:100%;width:var(--value);background:linear-gradient(90deg,var(--rog-gold),var(--rog-gold-light))}

@media (max-width:1120px){
  .rog-app-shell{grid-template-columns:1fr;padding-top:92px}
  .rog-quick-sidebar{position:relative;top:auto;display:flex;overflow:auto;gap:8px}
  .rog-quick-sidebar a{white-space:nowrap}
  .rog-flip-gallery{grid-template-columns:repeat(2, 5.5cm)}
}

@media (max-width:640px){
  .rog-el-menu{display:none}
  .rog-el-header{min-height:64px}
  .rog-el-header-logo{width:180px}
  .rog-flip-gallery{grid-template-columns:1fr;justify-items:center}
  .rog-ranch-mini-hud{right:12px;left:12px;top:auto;bottom:14px;width:auto}
}


/* v7 hotfix: hide common native headers/page titles on ROG pages when using plugin-controlled pages */
body.rog-elementor-page .site-header,
body.rog-elementor-page header.site-header,
body.rog-elementor-page #site-header,
body.rog-elementor-page .page-header,
body.rog-elementor-page .entry-header,
body.rog-elementor-page h1.entry-title,
body.rog-elementor-page .site-footer,
body.rog-elementor-page footer.site-footer {
  display:none !important;
}

body.rog-elementor-page .site,
body.rog-elementor-page .site-main,
body.rog-elementor-page .content-area,
body.rog-elementor-page .entry-content,
body.rog-elementor-page article,
body.rog-elementor-page main {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

body.rog-elementor-page .entry-content > * {
  max-width:none !important;
}

.rog-el-card {
  min-height:7.5cm;
}
