/* Rebiclas — ajustes por cima do CSS exportado do Elementor.
   Substitui o que antes era feito pelo JavaScript do Elementor / WordPress. */

:root{
  --rb-purple:#8373cb;
  --rb-ink:#35244c;
  --rb-orange:#e97d00;
}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body:has(dialog[open]){overflow:hidden}

/* ---------- vídeo de fundo (secção "A Origem") ---------- */
.elementor-background-video-hosted{
  position:absolute;top:50%;left:50%;
  width:100%;height:100%;min-width:100%;min-height:100%;
  object-fit:cover;transform:translate(-50%,-50%);
}

/* ---------- título com marcador em zigzag ---------- */
.rb-hl{position:relative;display:inline-block}
.rb-hl__svg{
  position:absolute;left:50%;top:50%;
  width:calc(100% + 20px);height:calc(100% + 20px);
  transform:translate(-50%,-50%);overflow:visible;pointer-events:none;
}
.rb-hl__svg path{
  fill:none;stroke:var(--rb-purple);stroke-width:3;
  stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;
  stroke-dasharray:2000;stroke-dashoffset:2000;
}
.e-animated .rb-hl__svg path,.rb-hl.e-animated .rb-hl__svg path{
  stroke-dashoffset:0;transition:stroke-dashoffset 2.5s ease-in-out .3s;
}
@media (prefers-reduced-motion:reduce){.rb-hl__svg path{stroke-dashoffset:0;transition:none}}

/* ---------- galeria (justificada; o JS afina as alturas das linhas) ---------- */
.rb-gallery{--row-h:319px;display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:1024px){.rb-gallery{--row-h:150px}}
.rb-gallery__item{
  position:relative;display:block;overflow:hidden;background:#1d1229;
  aspect-ratio:var(--ar);
  flex-grow:calc(var(--ar) * 100);
  flex-basis:calc(var(--ar) * var(--row-h));
  cursor:zoom-in;
}
.rb-gallery__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rb-gallery__item::after{
  content:"";position:absolute;inset:0;background:rgba(43,26,58,.45);
  opacity:0;transition:opacity .3s ease;
}
.rb-gallery__item:hover::after,.rb-gallery__item:focus-visible::after{opacity:1}
.rb-gallery__item:focus-visible{outline:3px solid var(--rb-purple);outline-offset:2px}

/* ---------- janela de marcações ---------- */
.rb-modal{
  border:0;padding:0;width:min(920px,calc(100vw - 24px));max-height:calc(100dvh - 24px);
  border-radius:8px;overflow:hidden;background:#fff;
}
.rb-modal::backdrop,.rb-lightbox::backdrop{background:rgba(43,26,58,.8)}
.rb-modal iframe{display:block;width:100%;height:min(640px,calc(100dvh - 90px));border:0}
.rb-modal__alt{margin:0;padding:8px 16px;text-align:center;font:400 13px/1.4 "Poppins",sans-serif;background:#f4f0fa}
.rb-modal__alt a{color:var(--rb-ink);text-decoration:underline}
.rb-modal__close,.rb-lightbox__close{
  position:absolute;top:8px;right:8px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;
  background:var(--rb-ink);color:#fff;font:400 26px/1 Arial,sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0;
}
.rb-modal__close:hover,.rb-lightbox__close:hover,.rb-lightbox__nav:hover{background:var(--rb-orange)}

/* ---------- lightbox ---------- */
.rb-lightbox{
  border:0;padding:0;background:transparent;color:#fff;
  width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;
}
.rb-lightbox[open]{display:flex;align-items:center;justify-content:center}
.rb-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:92vw}
.rb-lightbox img{display:block;max-width:92vw;max-height:80dvh;width:auto;height:auto;object-fit:contain;border-radius:4px}
.rb-lightbox figcaption{max-width:640px;text-align:center;font:400 14px/1.5 "Poppins",sans-serif}
.rb-lightbox__close{position:fixed;top:14px;right:14px;background:rgba(53,36,76,.85)}
.rb-lightbox__nav{
  position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;
  background:rgba(53,36,76,.85);color:#fff;font:400 32px/1 Arial,sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0 0 4px;
}
.rb-lightbox__prev{left:12px}.rb-lightbox__next{right:12px}

/* ---------- contactos (substitui o formulário) ---------- */
.rb-contact{display:flex;flex-direction:column;gap:12px;width:100%}
.rb-contact a.rb-btn{
  display:flex;align-items:center;justify-content:center;gap:.7em;padding:14px 20px;
  border:2px solid var(--rb-ink);border-radius:4px;background:transparent;color:var(--rb-ink);
  font:600 16px/1.25 "Poppins",sans-serif;text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.rb-contact a.rb-btn:hover,.rb-contact a.rb-btn:focus-visible{background:var(--rb-ink);color:#fff}
.rb-contact a.rb-btn--primary{background:var(--rb-orange);border-color:var(--rb-orange);color:#fff}
.rb-contact a.rb-btn--primary:hover,.rb-contact a.rb-btn--primary:focus-visible{background:#c96b00;border-color:#c96b00}
.rb-contact .rb-btn small{display:block;font-weight:400;font-size:13px;opacity:.92}
.rb-contact .rb-btn svg{flex:none}
.rb-contact__social{display:flex;gap:12px}
.rb-contact__social .rb-btn--half{flex:1}

/* ---------- menu (burger em mobile) ---------- */
.elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown{transform:scaleY(1);max-height:100vh}
.elementor-nav-menu--dropdown[aria-hidden="true"]{pointer-events:none}
.elementor-nav-menu--dropdown[aria-hidden="false"]{pointer-events:auto}
